@charset "UTF-8";
/*===
  #common
  ===*/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none;
  }
}

body {
  color: #333;
  background-color: #f4f3f0;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1.5;
  font-size: 16px;
  text-align: justify;
}

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

a {
  text-decoration: none;
  transition: all 0.5s 0s ease;
}

a:hover {
  opacity: 0.6;
}

.container {
  width: 1480px;
  max-width: 100%;
  padding: 0 40px;
  margin: 0 auto;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .container {
    padding: 0 15px;
  }
}

.main {
  padding-top: 160px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .main {
    padding-top: 80px;
    overflow: hidden;
  }
}

/* ===============================================
# 共通
=============================================== */
.published {
  font-size: 14px;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  color: #939393;
}

@media screen and (max-width: 767px) {
  .published {
    font-size: 12px;
  }
}

.cat {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  padding: 5px 20px;
}

@media screen and (max-width: 767px) {
  .cat {
    font-size: 12px;
    padding: 3px 15px;
  }
}

.btn_simple a {
  display: inline-block;
  padding: 20px 100px;
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  color: #fff;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .btn_simple a {
    padding: 10px 50px;
    font-size: 20px;
  }
}

.btn_simple a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow.png) center center/cover no-repeat;
  width: 26px;
  height: 21px;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .btn_simple a::after {
    width: 20px;
    height: 14px;
    right: 15px;
  }
}

.sidebar .up {
  position: relative;
}

.sidebar .up .sec_ttl {
  position: absolute;
  top: clamp(-40px, -2.86458vw, -55px);
  top: -55px;
  right: 0;
  text-align: center;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .sidebar .up .sec_ttl {
    top: -40px;
  }
}

.sidebar .up .sec_ttl .en_ttl {
  font-size: clamp(45px, 3.125vw, 60px);
  font-size: 60px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: -0.04em;
  color: #3875a1;
}

@media screen and (max-width: 767px) {
  .sidebar .up .sec_ttl .en_ttl {
    font-size: 45px;
  }
}

.sidebar .up .sec_ttl .ja_ttl {
  font-size: clamp(20px, 1.25vw, 24px);
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .sidebar .up .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.sidebar .up .image_chara {
  position: absolute;
  left: 0;
  top: -30px;
}

.sidebar .up .image_chara img {
  width: 90px;
}

.sidebar .list {
  background-color: #3875a1;
  border-radius: 10px;
  padding: 70px 20px 20px;
}

.sidebar .list li {
  margin-top: 14px;
}

.sidebar .list li:first-child {
  margin-top: 0;
}

.sidebar .list li a {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  font-size: clamp(18px, 1.04167vw, 20px);
  font-weight: 700;
  color: #39a1c8;
  padding: 35px 20px 35px 40px;
  padding: clamp(20px, 1.82292vw, 35px) 20px clamp(20px, 1.82292vw, 35px) clamp(20px, 2.08333vw, 40px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .sidebar .list li a {
    padding: 20px 20px 20px 30px;
    font-size: 18px;
  }
}

.sidebar .list li a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow5.webp) center center/cover no-repeat;
  width: 22px;
  height: 17px;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}

.sidebar .list li a span {
  font-family: "Oleo Script", system-ui;
  color: #cccccc;
  margin-left: 20px;
}

.sidebar .bnr_list {
  margin-top: 25px;
}

.sidebar .bnr_list li {
  margin-top: 20px;
}

.sidebar .bnr_list li:first-child {
  margin-top: 0;
}

.sec_contact_btn a {
  display: inline-block;
  border-radius: 20px;
  font-size: clamp(26px, 1.666vw, 32px);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  text-align: left;
  padding: 30px clamp(160px, 12.5vw, 240px) 40px 80px;
  border-bottom: 10px solid #d3d0cd;
  position: relative;
}

@media screen and (max-width: 767px) {
  .sec_contact_btn a {
    font-size: 22px;
    padding: 18px 45px 25px 33px;
  }
}

.sec_contact_btn a::after {
  position: absolute;
  content: "";
  background: url(../img/chara4.webp) center center/cover no-repeat;
  width: clamp(120px, 8.333vw, 160px);
  height: clamp(127px, 9.1666vw, 176px);
  right: 40px;
  bottom: -10px;
}

@media screen and (max-width: 767px) {
  .sec_contact_btn a::after {
    width: 87px;
    height: 93px;
    right: -25px;
  }
}

.sec_contact_btn a span {
  display: inline-block;
  font-size: 22px;
  font-family: "Oleo Script", system-ui;
}

/* ===============================================
# ヘッダー
=============================================== */
#header {
  z-index: 50;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  background: transparent;
}

@media screen and (max-width: 767px) {
  #header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 80px;
  }
}

#header.change-color {
  background-color: #fff;
  transition: 0.3s;
}

#header > .inner {
  padding: 24px 40px;
  display: flex;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  #header > .inner {
    display: block;
    padding-bottom: 8px;
    padding-top: 5px;
  }
}

.header-left {
  margin-right: auto;
}

.header-logo {
  line-height: 1;
  position: absolute;
  left: 20px;
  top: 20px;
}

@media screen and (max-width: 767px) {
  .header-logo {
    margin-top: 3px;
  }
}

.header-logo a {
  transition: all 0.3s ease 0s;
}

.header-logo a img {
  width: clamp(100px, 9.375vw, 180px);
}

@media screen and (max-width: 767px) {
  .header-logo a img {
    width: 220px;
  }
}

.header-logo a:hover {
  opacity: 0.6;
}

.header-sub {
  color: #aaaaaa;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.71429;
  position: fixed;
  right: 5px;
  top: 0;
}

@media screen and (max-width: 767px) {
  .header-sub {
    font-size: 10px;
    text-align: left;
    margin-left: 0;
  }
}

.header-sub span {
  font-size: 18px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .header-sub span {
    font-size: 14px;
  }
}

.header-right {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .header-nav {
    display: none;
  }
}

.header-nav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.0833vw, 40px);
}

.header-nav li:last-child {
  margin-right: 0;
}

.header-nav li > a {
  color: #292929;
  display: block;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease 0s;
  opacity: 1;
  text-align: center;
  font-size: clamp(14px, 0.9375vw, 18px);
}

.header-nav li > a span {
  font-size: 12px;
  color: #015986;
}

.upper-row {
  height: 30px;
  line-height: 30px;
  position: relative;
}

.upper-row::before {
  position: absolute;
  content: "";
  background: url(../img/icon-h-nav.png) center center/cover no-repeat;
  width: 36px;
  height: 32px;
  left: -10px;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}

.menu-tel-number a img {
  width: clamp(190px, 13.333vw, 256px);
}

.header-nav li > a:hover {
  opacity: 0.6;
}

/* 以下、ドロップダウン */
li.menu-item-has-children {
  position: relative;
}

li.menu-item-has-children ul {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: clamp(10px, 1.0416vw, 20px);
  background-color: #fff;
  z-index: 5;
  padding: clamp(20px, 2.083vw, 40px);
  height: auto;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

li.menu-item-has-children:hover ul {
  visibility: visible;
  opacity: 1;
  top: 40px;
}

/* 下矢印 */
li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0 3px 8px;
  border-right: 4px solid #015986;
  border-bottom: 4px solid #015986;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* 以下、リンク色 */
.menu-item-has-children li {
  margin: 0 !important;
}

.menu-item li a {
  font-size: 13px;
  width: 100%;
  text-align: center;
  line-height: 1.2;
}

.header-list li ul li a img {
  width: clamp(120px, 8.333vw, 160px);
  margin-bottom: 10px;
}

.menu-item li:hover > a {
  background: #fff;
}

/* ===============================================
# ドロワー
=============================================== */
.drawer {
  display: none;
}

@media screen and (max-width: 767px) {
  .drawer {
    display: block;
  }
}

.drawer-icon {
  position: fixed;
  top: 20px;
  right: 10px;
  z-index: 41;
  width: 44px;
  height: 44px;
  background-color: #015986;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff;
  font-size: 20px;
}

.drawer-icon .drawer-open {
  display: block;
}

.drawer-icon .drawer-close {
  display: none;
}

.drawer-icon.is-open .drawer-open {
  display: none;
}

.drawer-icon.is-open .drawer-close {
  display: block;
}

.drawer-content {
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  height: calc(100vh - 80px);
  background: url(../img/bg-drawer.webp) center center/cover no-repeat;
  z-index: 40;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding-bottom: 80px;
  padding-top: 20px;
}

.drawer-content.is-open {
  opacity: 1;
  visibility: visible;
}

.drawer-nav .drawer-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.drawer-menu-item {
  border-bottom: 1px solid #015986;
}

.drawer-menu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 20px;
  font-size: 16px;
  font-weight: 700;
  color: #015986;
  text-decoration: none;
}

.drawer-menu-item.has-child .drawer-menu-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 20px;
  font-size: 16px;
  font-weight: 700;
  color: #015986;
  cursor: pointer;
  user-select: none;
}

.drawer-menu-item.has-child .drawer-menu-head .drawer-arrow {
  font-size: 14px;
  color: #015986;
  transition: transform 0.3s ease;
}

.drawer-menu-item.has-child.is-open .drawer-arrow {
  transform: rotate(180deg);
}

.drawer-menu-item.has-child .drawer-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  list-style: none;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
}

.drawer-menu-item.has-child .drawer-child li a {
  display: block;
  text-align: center;
  padding: 12px 8px;
  background-color: rgba(1, 89, 134, 0.5);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  border-radius: 4px;
  text-decoration: none;
}

.drawer-menu-item.has-child.is-open .drawer-child {
  max-height: 300px;
  padding: 0 10px 20px;
}

/* ===============================================
# fv
=============================================== */
.fv {
  position: relative;
  background: url(../img/fv.webp) top center/90% no-repeat;
}

@media screen and (max-width: 767px) {
  .fv {
    background: url(../img/fv.webp) top center/cover no-repeat;
  }
}

.fv_up-txt-box {
  padding-top: clamp(40px, 3.125vw, 60px);
  padding-bottom: clamp(80px, 6.25vw, 120px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .fv_up-txt-box {
    padding-bottom: 250px;
  }
}

.fv_header {
  font-weight: 600;
  position: relative;
}

@media screen and (max-width: 767px) {
  .fv_header {
    background-color: rgba(255, 255, 255, 0.56);
    text-align: center;
    padding: 30px 10px 50px;
    border-radius: 10px;
    position: relative;
  }
}

.fv_header .up {
  margin-left: clamp(40px, 4.1666vw, 80px);
  display: inline-block;
  background-color: #fff;
  font-size: clamp(20px, 1.4583vw, 28px);
  letter-spacing: 0.03em;
  padding: 25px 40px;
  border-radius: 10px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .fv_header .up {
    margin-left: 0;
    font-size: 14px;
    padding: 0;
    background-color: transparent;
    position: relative;
  }
  .fv_header .up::before {
    position: absolute;
    content: "";
    background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
    width: 18px;
    height: 25px;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
  .fv_header .up::after {
    position: absolute;
    content: "";
    background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
    width: 18px;
    height: 25px;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

.fv_header .up span {
  font-size: clamp(26px, 1.92708vw, 37px);
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .fv_header .up span {
    font-size: 18px;
  }
}

.fv_header .down {
  margin-top: 15px;
  display: inline-block;
  background-color: #fff;
  font-size: clamp(30px, 2.60416vw, 50px);
  letter-spacing: 0.03em;
  padding: 25px 40px;
  border-radius: 10px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .fv_header .down {
    font-size: 24px;
    background-color: transparent;
    padding: 0;
    line-height: 1.2;
  }
}

.fv_header .down .f-big {
  font-size: clamp(40px, 3.125vw, 60px);
  color: #ff7607;
}

@media screen and (max-width: 767px) {
  .fv_header .down .f-big {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .fv_header .down .sp {
    position: absolute;
    top: -37px;
    left: -15px;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background-color: #ff7607;
    width: 65px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    rotate: -10deg;
  }
}

.fv_header .fv_chara {
  position: absolute;
  right: 0;
  top: 85px;
}

@media screen and (max-width: 767px) {
  .fv_header .fv_chara {
    right: -12px;
    top: -46px;
  }
}

.fv_header .fv_chara img {
  width: clamp(100px, 12.81249vw, 246px);
}

@media screen and (max-width: 767px) {
  .fv_header .fv_chara img {
    width: 65px;
  }
}

.fv_read {
  text-align: center;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .fv_read {
    margin-top: 20px;
  }
}

.fv_read span {
  display: inline-block;
  font-size: clamp(28px, 1.97916vw, 38px);
  letter-spacing: 0.03em;
  color: #ffee93;
  font-weight: 700;
  border-bottom: 2px dotted #fff;
}

@media screen and (max-width: 767px) {
  .fv_read span {
    font-size: 15px;
    letter-spacing: 0;
    color: #fff;
    background-color: #edb702;
    padding: 10px 5px;
    border-radius: 5px;
    border-bottom: none;
  }
}

.fv_catch {
  font-size: 9.89583vw;
  font-family: "roboto", sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .fv_catch {
    font-size: 12vw;
  }
}

.fv_icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  margin-right: 80px;
}

@media screen and (max-width: 767px) {
  .fv_icon-box {
    gap: 0px;
    margin-right: 0;
    margin-top: -38px;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .fv_icon-box .fv_icon {
    margin-left: -20px;
  }
  .fv_icon-box .fv_icon:first-child {
    margin-left: 0;
  }
}

.fv_icon-box .fv_icon img {
  width: clamp(165px, 11.4583vw, 220px);
}

@media screen and (max-width: 767px) {
  .fv_icon-box .fv_icon img {
    width: 150px;
  }
}

.fv_human {
  position: absolute;
  left: 10px;
  bottom: 8%;
}

@media screen and (max-width: 767px) {
  .fv_human {
    left: 0px;
    bottom: 22%;
  }
}

.fv_human img {
  width: clamp(150px, 14.53125vw, 279px);
}

@media screen and (max-width: 767px) {
  .fv_human img {
    width: 60px;
  }
}

.fv_work_achive {
  position: absolute;
  right: 0;
  top: -5%;
  display: flex;
  gap: 15px;
  align-items: center;
  background-color: #fff;
  border-radius: 100px 0 0 100px;
  max-width: clamp(320px, 21.875vw, 420px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .fv_work_achive {
    top: unset;
    bottom: 85px;
    gap: 5px;
    max-width: 320px;
  }
}

.fv_work_achive .left a img {
  width: clamp(120px, 9.375vw, 180px);
}

@media screen and (max-width: 767px) {
  .fv_work_achive .left a img {
    width: 140px;
  }
}

.fv_work_achive .right {
  text-align: center;
  padding-right: 15px;
}

.fv_work_achive .right .header {
  font-size: clamp(17px, 1.0416vw, 20px);
  font-family: "zen-kaku-gothic-antique", sans-serif;
  font-weight: 700;
  color: #14274b;
  border-bottom: 2px dotted #264370;
}

@media screen and (max-width: 767px) {
  .fv_work_achive .right .header {
    font-size: 17px;
  }
}

.fv_work_achive .right .number {
  font-size: clamp(36px, 2.60417vw, 50px);
  font-weight: 700;
  font-family: "roboto", sans-serif;
  color: #14274b;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .fv_work_achive .right .number {
    font-size: 36px;
  }
}

.fv_work_achive .right .number span {
  font-size: 20px;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  font-weight: 700;
  margin-left: 5px;
  vertical-align: middle;
}

.fv_work_achive .right .read_area {
  font-size: 14px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #2f2f2f;
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .fv_work_achive .right .read_area {
    font-size: 12px;
  }
}

/* ===============================================
# TOPお問い合わせ
=============================================== */
.t_form {
  padding-top: clamp(80px, 8.3333vw, 160px);
  padding-bottom: clamp(100px, 11.97916vw, 230px);
  background: url(../img/t-form-back.webp) center center/cover no-repeat;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_form {
    padding-top: 60px;
    padding-bottom: 40px;
  }
}

.t_form::before {
  position: absolute;
  content: "";
  background: url(../img/t-form-back-up.webp) center center/cover no-repeat;
  width: 100%;
  height: 132px;
  height: 6.875vw;
  top: -131px;
  top: -6.6vw;
  left: 0;
  right: 0;
}

.t_form::after {
  position: absolute;
  content: "";
  background: url(../img/t-form-back-down.webp) center center/cover no-repeat;
  width: 100%;
  height: 3.64583333vw;
  bottom: -3.3vw;
  left: 0;
  right: 0;
  z-index: -1;
}

.t_form .wrapper {
  display: flex;
  align-items: flex-end;
  gap: clamp(0px, 5.2083vw, 100px);
}

@media screen and (max-width: 767px) {
  .t_form .wrapper {
    flex-direction: column-reverse;
    gap: 30px;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .left {
    text-align: center;
  }
}

.t_form .wrapper .left img {
  width: clamp(350px, 31.25vw, 600px);
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .left img {
    width: 300px;
  }
}

.t_form .wrapper .right .head .time {
  display: flex;
  align-items: flex-end;
  gap: 7px;
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .time {
    align-items: center;
  }
}

.t_form .wrapper .right .head .time .icon img {
  width: clamp(50px, 3.38542vw, 65px);
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .time .icon img {
    width: 30px;
  }
}

.t_form .wrapper .right .head .time .read {
  background-color: #015986;
  border-radius: 999px;
  font-size: clamp(20px, 1.30208vw, 25px);
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 10px 30px;
  line-height: 1;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .time .read {
    font-size: 18px;
  }
}

.t_form .wrapper .right .head .time .read span {
  font-size: clamp(30px, 2.08333vw, 40px);
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .time .read span {
    font-size: 24px;
  }
}

.t_form .wrapper .right .head .ttl {
  font-size: clamp(28px, 2.8125vw, 54px);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #1590be;
  text-align: center;
  border-bottom: 2px dotted #264370;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .ttl {
    font-size: 26px;
  }
}

.t_form .wrapper .right .head .en_read {
  font-size: 24px;
  font-family: "rubik", sans-serif;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #edc645;
  text-align: center;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .t_form .wrapper .right .head .en_read {
    font-size: 18px;
    margin-top: 5px;
  }
}

.t_contact-box .contact-contents__items {
  margin: 40px auto 0;
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__items {
    margin-top: 15px;
  }
}

.t_contact-box .t_form-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .t_contact-box .t_form-flex {
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
  }
}

.t_contact-box .t_form-flex .contact-contents__item--required {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .t_contact-box .t_form-flex .contact-contents__item--required {
    width: 100%;
  }
}

.t_contact-box .contact-contents__item--required {
  display: flex;
  align-items: center;
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__item--required {
    flex-direction: column;
    margin-top: 10px;
  }
}

.t_contact-box .contact-contents__item--required:first-child {
  margin-top: 0;
}

.t_contact-box .contact-contents__item--required:nth-child(2) {
  margin-top: 0;
}

.t_contact-box .contact-contents__item-title {
  width: 70px;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__item-title {
    display: inline;
    width: auto;
    height: 30px;
    line-height: 30px;
    font-size: 16px;
    margin-bottom: 5px;
    width: 100%;
  }
}

.t_contact-box .contact-contents__item-input--text {
  width: calc(100% - 70px);
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__item-input--text {
    width: 100%;
    margin-top: 0;
  }
}

.t_contact-box .wpcf7-form-control-wrap {
  display: flex;
}

@media screen and (max-width: 767px) {
  .t_contact-box .wpcf7-form-control-wrap {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__item-textarea {
    width: 100%;
    margin-top: 20px;
  }
}

.t_contact-box .contact-btn-wrap {
  text-align: center;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-btn-wrap {
    margin-top: 30px;
  }
}

.t_contact-box .contact-contents__submit {
  display: inline-block;
  position: relative;
}

.t_contact-box .contact-contents__submit::after {
  position: absolute;
  content: "";
  background: url(../img/icon-t-form-btn.webp) center center/cover no-repeat;
  width: 30px;
  height: 40px;
  right: calc(50% - 120px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__submit::after {
    right: 5%;
  }
}

.t_contact-box .contact-contents__submit .wpcf7-spinner {
  display: none;
}

.t_contact-box .contact-contents__btn {
  width: clamp(400px, 28.64583vw, 550px);
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border: 3px solid #ead45d;
  border-radius: 15px;
  background-color: #ef9338;
  color: #fff;
  text-align: center;
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 700;
  letter-spacing: 0.06rem;
  cursor: pointer;
}

.t_contact-box .contact-contents__btn:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .t_contact-box .contact-contents__btn {
    width: 225px;
    font-size: 18px;
    height: 50px !important;
    display: flex;
    justify-content: center;
  }
}

.t_contact-box input[type="text"], .t_contact-box input[type="email"], .t_contact-box input[type="tel"] {
  width: 100%;
  border: 3px solid #e3e3e3;
  border-radius: 5px;
  height: 50px;
  background: #fff;
  padding-left: 10px;
}

@media screen and (max-width: 767px) {
  .t_contact-box input[type="text"], .t_contact-box input[type="email"], .t_contact-box input[type="tel"] {
    height: 42px;
  }
}

.t_contact-box textarea {
  width: 100%;
  min-height: 180px;
  resize: vertical;
  border: none;
  background: #ffffff;
  padding: 10px;
}

@media screen and (max-width: 767px) {
  .t_contact-box textarea {
    min-height: 200px;
  }
}

.t_contact-box .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
}

.t_contact-box input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.t_contact-box .wpcf7-list-item.first {
  margin-left: 0;
}

.t_contact-box .wpcf7-list-item {
  display: block;
  font-size: 16px;
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  .t_contact-box .wpcf7-list-item {
    font-size: 16px;
    width: 50%;
    margin-left: 0;
  }
  .t_contact-box .wpcf7-list-item:nth-child(n + 3) {
    margin-top: 10px;
  }
}

.t_contact-box span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-weight: 700;
  color: #3e3e3e;
}

.t_contact-box span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 5px;
  border: 3px solid #e3e3e3;
  background-color: #ffffff;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.t_contact-box span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  border-radius: 50%;
  width: 12px;
  height: 12px;
  left: 4px;
  top: 50%;
  transform: translateY(-50%);
  display: none;
}

.t_contact-box input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}

/* ===============================================
# ヒカセンバナー
=============================================== */
.bnr_hikasen .wrapper {
  text-align: center;
}

.bnr_hikasen .wrapper a {
  display: inline-block;
  background-color: #015986;
  padding: clamp(15px, 1.82292vw, 35px);
  border-radius: 12px;
}

@media screen and (max-width: 767px) {
  .bnr_hikasen .wrapper a {
    padding: 10px;
  }
}

.bnr_hikasen .wrapper a img {
  max-width: 1038px;
  width: 100%;
}

/* ===============================================
# TOP選ばれる理由
=============================================== */
.t_reason {
  padding-top: 170px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_reason {
    padding-top: 90px;
  }
}

.t_reason::after {
  position: absolute;
  content: "";
  background-color: #efebd5;
  width: 95%;
  height: 85%;
  border-radius: 999px 0 0 999px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -2;
}

.t_reason .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px 0;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper {
    gap: 10px 0;
  }
}

.t_reason .wrapper .head_item {
  background-color: #e8f5ff;
  text-align: center;
  position: relative;
}

.t_reason .wrapper .head_item .number {
  position: absolute;
  font-size: clamp(40px, 3.125vw, 60px);
  font-family: "rubik", sans-serif;
  font-weight: 700;
  letter-spacing: 0.09em;
  top: clamp(-38px, -3.64583vw, -70px);
  left: 50%;
  transform: translateX(-50%);
  color: #015986;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .number {
    top: -38px;
    font-size: 40px;
  }
}

.t_reason .wrapper .head_item .number span {
  font-size: clamp(60px, 5.98958vw, 115px);
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .number span {
    font-size: 60px;
  }
}

.t_reason .wrapper .head_item .chara {
  margin-top: clamp(20px, 4.16666vw, 80px);
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .chara {
    margin-top: 20px;
  }
}

.t_reason .wrapper .head_item .chara img {
  width: 118px;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .chara img {
    width: 80px;
  }
}

.t_reason .wrapper .head_item .ttl {
  margin-top: 25px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .ttl {
    margin-top: 0;
  }
}

.t_reason .wrapper .head_item .ttl .bg-blue {
  display: inline-block;
  background-color: #1590be;
  color: #fff;
  font-size: clmap(16px, 1.04167vw, 20px);
  padding: 5px clamp(5px, 2.08333vw, 40px);
  border-radius: 18px;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .ttl .bg-blue {
    padding: 5px;
    font-size: 16px;
  }
}

.t_reason .wrapper .head_item .ttl .down {
  font-size: clamp(18px, 1.875vw, 36px);
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .ttl .down {
    font-size: 18px;
  }
}

.t_reason .wrapper .head_item .ttl .f-big {
  font-size: clamp(30px, 2.70833vw, 52px);
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .head_item .ttl .f-big {
    font-size: 30px;
  }
}

.t_reason .wrapper .card_item {
  width: 23.57%;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .card_item {
    width: 48%;
  }
}

.t_reason .wrapper .item {
  position: relative;
}

.t_reason .wrapper .item .item_num {
  position: absolute;
  bottom: 25px;
  left: 30px;
  color: #fff;
  font-family: "Oleo Script", system-ui;
  font-size: 26px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .item .item_num {
    bottom: 8px;
    left: 10px;
  }
}

.t_reason .wrapper .item .item_num span {
  font-size: clamp(45px, 3.59375vw, 69px);
  margin-left: 15px;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .item .item_num span {
    font-size: 45px;
  }
}

.t_reason .wrapper .item .ttl {
  position: absolute;
  right: 0;
  top: 0;
  background-color: #fff;
  padding: clamp(10px, 1.82292vw, 35px) clamp(10px, 1.04167vw, 20px) clamp(20px, 2.34375vw, 45px);
  border-radius: 0 10px 0 60px;
  min-height: clamp(250px, 15.625vw, 300px);
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .item .ttl {
    min-height: auto;
    padding: 10px 10px 20px;
  }
}

.t_reason .wrapper .item .ttl h3 {
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: #ef9338;
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .t_reason .wrapper .item .ttl h3 {
    font-size: 15px;
    margin-right: 10px;
  }
}

.t_reason .t_reason-btn {
  display: flex;
  justify-content: center;
  margin-top: 65px;
}

@media screen and (max-width: 767px) {
  .t_reason .t_reason-btn {
    margin-top: 20px;
  }
}

.t_reason .t_reason-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #015986;
  color: #fff;
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  text-align: center;
  width: clamp(180px, 12.5vw, 240px);
  height: clamp(180px, 12.5vw, 240px);
  border-radius: 50%;
  line-height: 1.15;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_reason .t_reason-btn a {
    font-size: 18px;
    width: 140px;
    height: 140px;
  }
}

.t_reason .t_reason-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow.png) center center/cover no-repeat;
  width: 26px;
  height: 21px;
  bottom: 50px;
  bottom: clamp(30px, 2.60417vw, 50px);
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .t_reason .t_reason-btn a::after {
    bottom: 16px;
  }
}

.t_reason .t_reason-en-chatch {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  font-size: 13vw;
  font-family: "roboto", sans-serif;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1;
  z-index: -1;
}

/* ===============================================
# TOP実績
=============================================== */
.t_example {
  padding-top: 150px;
}

@media screen and (max-width: 767px) {
  .t_example {
    padding-top: 70px;
  }
}

.t_example-back {
  padding-top: 90px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_example-back {
    padding-top: 40px;
  }
}

.t_example-back::after {
  position: absolute;
  content: "";
  background-color: #a5ca3c;
  width: 95%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 80px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .t_example-back::after {
    border-radius: 40px;
  }
}

.t_example-top {
  text-align: center;
}

.t_example-top div {
  display: inline-block;
  position: relative;
}

.t_example-top .example-top-txt {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #a5ca3c;
  background-color: #fff;
  padding: 5px 20px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_example-top .example-top-txt {
    font-size: 14px;
  }
}

.t_example-top .example-top-txt::after {
  position: absolute;
  content: "";
  background: url(../img/t-works-ttl.png) center center/cover no-repeat;
  width: 20px;
  height: 32px;
  bottom: -25px;
  left: 30px;
}

.t_example-top .t_example-sub-ttl {
  font-size: clamp(60px, 3.64583vw, 70px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  color: #fff;
  margin-left: 100px;
  line-height: 1;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .t_example-top .t_example-sub-ttl {
    margin-left: 0;
    font-size: 32px;
  }
}

.t_example-top .t_example-ttl {
  margin-left: clamp(400px, 26.0416vw, 500px);
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .t_example-top .t_example-ttl {
    font-size: 20px;
    margin-left: 0;
  }
}

.t_example-top .illust {
  position: absolute;
  left: -200px;
  top: 35%;
  transform: translateY(-50%);
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .t_example-top .illust {
    left: -5px;
    top: unset;
    bottom: -101px;
  }
}

.t_example-top .illust img {
  width: clamp(200px, 17.96vw, 345px);
}

@media screen and (max-width: 767px) {
  .t_example-top .illust img {
    width: 90px;
  }
}

.t_example-wrapper {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .t_example-wrapper {
    margin-top: 40px;
  }
}

.t_example-wrap li {
  width: clamp(320px, 23.9583vw, 460px);
  margin: 0 10px;
  border-radius: 10px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li {
    width: 230px;
    margin: 0 5px;
  }
}

.t_example-wrap li .t_example-link .t_example-img img {
  aspect-ratio: 460 / 310;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.t_example-wrap li .t_example-link .t_example-box {
  padding: 25px 20px 20px;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li .t_example-link .t_example-box {
    padding: 15px 10px 10px;
  }
}

.t_example-wrap li .t_example-link .t_example-box .t_example-txt {
  font-size: clamp(16px, 1.04167vw, 20px);
  font-weight: 700;
  color: #484848;
  line-height: 1.25;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li .t_example-link .t_example-box .t_example-txt {
    font-size: 14px;
  }
}

.t_example-wrap li .t_example-link .t_example-box .t_example-meta {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  border-bottom: 1px dotted #b7b7b7;
  padding-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li .t_example-link .t_example-box .t_example-meta {
    font-size: 14px;
    gap: 5px;
    padding-bottom: 10px;
  }
}

.t_example-wrap li .t_example-link .t_example-box .t_example-meta .t_example-cat {
  background-color: #38a4a8;
}

.t_example-wrap li .t_example-link .t_example-box .t_example-meta .t_example-city {
  background-color: #8ba838;
}

.t_example-wrap li .t_example-link .t_example-box .t_example-meta .t_example-color {
  background-color: #949e9f;
}

.t_example-wrap li .t_example-link .t_example-box .t_example-meta .t_example-meta-collumn {
  color: #fff;
  padding: 5px 20px;
  border-radius: 999px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li .t_example-link .t_example-box .t_example-meta .t_example-meta-collumn {
    padding: 3px 10px;
  }
}

.t_example-wrap li .t_example-link .t_example-box .t_example-date {
  font-size: 14px;
  font-weight: 700;
  color: #484848;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .t_example-wrap li .t_example-link .t_example-box .t_example-date {
    margin-top: 10px;
  }
}

.t_example_btn {
  margin-top: 50px;
  text-align: center;
}

.t_example_btn .t_example_btn-link {
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  padding: 18px 80px;
  color: #fff;
  background-color: #d0a000;
  border-radius: 999px;
}

@media screen and (max-width: 767px) {
  .t_example_btn .t_example_btn-link {
    font-size: 18px;
  }
}

/* ===============================================
# 希望事例
=============================================== */
.t_example-cat_wrapper {
  padding-top: 180px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_wrapper {
    padding-top: 80px;
  }
}

.t_example-cat-ttl {
  text-align: center;
  position: relative;
}

.t_example-cat-ttl h3 {
  display: inline-block;
  font-size: clamp(26px, 1.875vw, 36px);
  font-weight: 700;
  color: #4894bc;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_example-cat-ttl h3 {
    font-size: 24px;
  }
}

.t_example-cat-ttl h3::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.t_example-cat-ttl h3::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.t_example-cat-ttl .en_ttl {
  position: absolute;
  font-size: clamp(90px, 6.77083vw, 130px);
  font-family: "rubik", sans-serif;
  font-weight: 700;
  letter-spacing: 0.09em;
  color: rgba(1, 89, 134, 0.06);
  line-height: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .t_example-cat-ttl .en_ttl {
    font-size: 60px;
  }
}

.t_example-cat_wrap {
  margin-top: 50px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_example-cat_wrap {
    margin-top: 10px;
  }
}

.t_example-cat_wrap .image_chara {
  position: absolute;
  top: -120px;
  left: clamp(50px, 10.41666vw, 200px);
}

@media screen and (max-width: 767px) {
  .t_example-cat_wrap .image_chara {
    top: -72px;
    left: -15px;
  }
}

.t_example-cat_wrap .image_chara img {
  width: 125px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_wrap .image_chara img {
    width: 70px;
  }
}

.t_example-cat_item {
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 35px;
  padding: 30px 40px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item {
    flex-direction: column;
    padding: 15px;
    gap: 0;
  }
}

.t_example-cat_item + .t_example-cat_item {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item + .t_example-cat_item {
    margin-top: 5px;
  }
}

.t_example-cat_item .left {
  width: 160px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .left {
    width: 100%;
    position: relative;
    cursor: pointer;
    user-select: none;
  }
}

.t_example-cat_item .left .t_example-cat_item-ttl {
  font-size: 22px;
  font-weight: 700;
  color: #484848;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .left .t_example-cat_item-ttl {
    font-size: 20px;
  }
}

.t_example-cat_item .left .t_example-cat_subttl {
  font-family: "Oleo Script", system-ui;
  font-weight: 700;
  color: #4894bc;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .left .t_example-cat_subttl {
    text-align: left;
  }
}

.t_example-cat_item .left .cat-icon {
  display: none;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .left .cat-icon {
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    transition: transform 0.3s ease;
    background-color: #015986;
    border: 1px dotted #015986;
    border-radius: 50%;
  }
  .t_example-cat_item .left .cat-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

.t_example-cat_item .right {
  width: calc(100% - 160px);
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .right {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
  }
}

.t_example-cat_item .right ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .right ul {
    gap: 10px;
    padding-top: 10px;
  }
}

.t_example-cat_item .right ul li a {
  display: block;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  color: #484848;
  background-color: #f6f4ed;
  border-radius: 999px;
  padding: 15px 80px 15px 35px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .right ul li a {
    font-size: 14px;
    padding: 6px 50px 5px 15px;
  }
}

.t_example-cat_item .right ul li a::after {
  position: absolute;
  content: "";
  background: url(../img/t-works-serch-arrow.png) center center/cover no-repeat;
  width: 40px;
  height: 20px;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_example-cat_item .right ul li a::after {
    width: 30px;
    height: 15px;
    right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .t_example-cat_item.is-open .left .cat-icon {
    transform: translateY(-50%) rotate(180deg);
  }
}

@media screen and (max-width: 767px) {
  .t_example-cat_item.is-open .right {
    max-height: 1000px;
    margin-top: 10px;
  }
}

/* ===============================================
# TOPメニュー
=============================================== */
.t_menu {
  padding-top: 150px;
}

@media screen and (max-width: 767px) {
  .t_menu {
    padding-top: 70px;
  }
}

.t_menu .top {
  text-align: center;
}

.t_menu .top .read {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #414141;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_menu .top .read {
    font-size: 16px;
  }
}

.t_menu .top .read::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.t_menu .top .read::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.t_menu .top .en_ttl {
  font-size: clamp(55px, 5.20833vw, 100px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  color: #005f83;
  line-height: 1;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .t_menu .top .en_ttl {
    font-size: 24px;
  }
}

.t_menu .top .ja_ttl {
  display: inline-block;
  font-size: clamp(24px, 1.77083vw, 34px);
  font-weight: 700;
  background-color: #005f83;
  color: #fff;
  padding: 5px 30px;
  margin-top: 20px;
  border-radius: 999px;
}

@media screen and (max-width: 767px) {
  .t_menu .top .ja_ttl {
    font-size: 20px;
    line-height: 1.2;
    padding: 5px 55px;
  }
}

.t_menu .wrapper {
  background-color: #1590be;
  margin-top: 64px;
  position: relative;
}

.t_menu .wrapper::before {
  position: absolute;
  content: "";
  background: url(../img/t-menu-top.webp) center center/cover no-repeat;
  width: 100%;
  height: 8.95833vw;
  top: -8.95833vw;
  left: 0;
  right: 0;
  z-index: -1;
}

.t_menu .wrapper::after {
  position: absolute;
  content: "";
  background: url(../img/t-menu-down.webp) center center/cover no-repeat;
  width: 100%;
  height: 9.21875vw;
  bottom: -9.21875vw;
  left: 0;
  right: 0;
  z-index: -1;
}

.t_menu .wrapper .t_menu-wall {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .t_menu-wall {
    flex-direction: column;
  }
}

.t_menu .wrapper .t_menu-roof {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .t_menu-roof {
    flex-direction: column;
    margin-top: 10px;
  }
}

.t_menu .wrapper .item {
  width: 48.57%;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px clamp(15px, 2.08333vw, 40px) 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item {
    width: 100%;
    padding: 30px 15px 30px;
    margin-top: 10px;
  }
  .t_menu .wrapper .item:first-child {
    margin-top: 0;
  }
}

.t_menu .wrapper .item .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .meta {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}

.t_menu .wrapper .item .meta .place {
  font-size: 26px;
  font-family: "Oleo Script", system-ui;
  color: #015986;
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .meta .place {
    font-size: 22px;
    margin-right: 5px;
  }
}

.t_menu .wrapper .item .meta .cat {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  color: #fff;
  background-color: #015986;
  padding: 7px 20px;
  border-radius: 5px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .meta .cat {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .meta .maker {
    width: 30%;
  }
}

.t_menu .wrapper .item .meta .maker img {
  width: 55px;
}

.t_menu .wrapper .item .meta .paint_name {
  font-weight: 700;
  color: #363636;
}

.t_menu .wrapper .item .item_ttl {
  font-size: clamp(24px, 1.666vw, 32px);
  font-weight: 700;
  color: #4b4b4b;
  text-align: center;
  padding: 15px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .item_ttl {
    font-size: 20px;
  }
}

.t_menu .wrapper .item .item_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/menu-ttl-line.webp) center center/cover repeat;
  width: 100%;
  height: clamp(10px, 0.8333vw, 16px);
  top: 0;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .item_ttl::before {
    height: 10px;
  }
}

.t_menu .wrapper .item .item_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/menu-ttl-line.webp) center center/cover repeat;
  width: 100%;
  height: clamp(10px, 0.8333vw, 16px);
  bottom: 0;
  left: 0;
  right: 0;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .item_ttl::after {
    height: 10px;
  }
}

.t_menu .wrapper .item .content {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content {
    flex-direction: column;
  }
}

.t_menu .wrapper .item .content .left {
  width: 160px;
}

.t_menu .wrapper .item .content .left img {
  display: block;
  width: 140px;
  margin: 0 auto;
}

.t_menu .wrapper .item .content .right {
  width: calc(100% - 160px);
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right {
    width: 100%;
    padding-right: 0;
    margin-top: 20px;
  }
}

.t_menu .wrapper .item .content .right .flex {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  justify-content: space-between;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right .flex {
    flex-direction: column;
    gap: 5px;
    margin-top: 5px;
  }
}

.t_menu .wrapper .item .content .right .right-parts {
  border-radius: 10px;
  overflow: hidden;
}

.t_menu .wrapper .item .content .right .right-parts .head {
  background-color: #1590be;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 15px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right .right-parts .head {
    width: 130px;
    font-size: 16px;
  }
}

.t_menu .wrapper .item .content .right .right-parts .txt {
  font-size: 15px;
  font-weight: 700;
  background-color: #d4e7f2;
  color: #2e2e2e;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right .right-parts .txt {
    width: calc(100% - 130px);
  }
}

.t_menu .wrapper .item .content .right .recommend .head {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right .recommend .head {
    width: 100%;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .content .right .recommend .txt {
    width: 100%;
  }
}

.t_menu .wrapper .item .content .right .durability {
  display: flex;
}

.t_menu .wrapper .item .content .right .guarantee {
  display: flex;
}

.t_menu .wrapper .item .bottom {
  margin-top: auto;
  display: flex;
  align-items: center;
  background-color: #015986;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .bottom {
    flex-wrap: wrap;
    margin: 15px 0 0;
    padding-bottom: 5px;
    gap: 10px;
  }
}

.t_menu .wrapper .item .bottom .space {
  background-color: #313e73;
  color: #ffffff;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 15px;
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .bottom .space {
    font-size: 16px;
  }
}

.t_menu .wrapper .item .bottom .space::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(45deg);
  right: 1.5px;
  top: 4.5px;
}

.t_menu .wrapper .item .bottom .space::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(-135deg);
  left: 1.5px;
  bottom: 4.5px;
}

.t_menu .wrapper .item .bottom .txt {
  background-color: #fff;
  color: #015986;
  font-size: clamp(14px, 0.88542vw, 17px);
  font-weight: 700;
  padding: 4px 13px;
  border-radius: 15px;
  margin: 0 clamp(0px, 1.04167vw, 20px);
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .bottom .txt {
    font-size: 15px;
  }
}

.t_menu .wrapper .item .bottom .price {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .bottom .price {
    margin: 0 auto;
    line-height: 1;
    font-size: 16px;
  }
}

.t_menu .wrapper .item .bottom .price .price-excl {
  color: #eee000;
  font-size: clamp(28px, 2.2916vw, 44px);
  font-weight: 700;
  font-family: "roboto", sans-serif;
  vertical-align: sub;
  margin: 0 5px;
}

@media screen and (max-width: 767px) {
  .t_menu .wrapper .item .bottom .price .price-excl {
    font-size: 32px;
  }
}

.t_menu .wrapper .item .bottom .price .price-incl-wrap {
  font-size: 16px;
}

.t_menu .t_menu-btn {
  text-align: center;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .t_menu .t_menu-btn {
    margin-top: 50px;
  }
}

.t_menu .t_menu-btn a {
  display: inline-block;
  font-size: clamp(22px, 1.6666vw, 32px);
  font-weight: 700;
  background-color: #496a91;
  color: #fff;
  padding: 30px 130px 30px 180px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_menu .t_menu-btn a {
    font-size: 20px;
    padding: 15px 80px 15px 50px;
  }
}

.t_menu .t_menu-btn a::before {
  position: absolute;
  content: "";
  background: url(../img/chara2.webp) center center/cover no-repeat;
  width: 101px;
  height: 109px;
  left: 50px;
  bottom: 14px;
}

@media screen and (max-width: 767px) {
  .t_menu .t_menu-btn a::before {
    width: 67px;
    height: 71px;
    left: -25px;
    bottom: 7px;
  }
}

.t_menu .t_menu-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow1.webp) center center/cover no-repeat;
  width: 33px;
  height: 26px;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_menu .t_menu-btn a::after {
    width: 20px;
    height: 16px;
    right: 43px;
  }
}

/* ===============================================
# TOPバナー群
=============================================== */
.t_bnr {
  padding: clamp(110px, 7.8125vw, 150px) 0 100px;
}

@media screen and (max-width: 767px) {
  .t_bnr {
    padding: 60px 0 80px;
  }
}

.t_bnr .wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 0;
}

@media screen and (max-width: 767px) {
  .t_bnr .wrapper {
    gap: 10px 0;
  }
}

.t_bnr .wrapper li {
  width: 48.57%;
}

@media screen and (max-width: 767px) {
  .t_bnr .wrapper li {
    width: 100%;
  }
}

/* ===============================================
# TOPお客様の声
=============================================== */
.t_voice .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 70px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_voice .top {
    flex-direction: column;
    gap: 20px;
    padding-bottom: 50px;
  }
}

.t_voice .top .t_voice-ttl .read {
  display: inline-block;
  font-size: clamp(18px, 1.04167vw, 20px);
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #959595;
  padding: 0 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_voice .top .t_voice-ttl .read {
    font-size: 16px;
    padding: 0 20px;
  }
}

.t_voice .top .t_voice-ttl .read::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-orange-left.png) center center/cover no-repeat;
  width: 16px;
  height: 22px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.t_voice .top .t_voice-ttl .read::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-orange-right.png) center center/cover no-repeat;
  width: 16px;
  height: 22px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.t_voice .top .t_voice-ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #dd8622;
}

@media screen and (max-width: 767px) {
  .t_voice .top .t_voice-ttl .en_ttl {
    font-size: 36px;
    margin-left: 40px;
    margin-top: 10px;
  }
}

.t_voice .top .t_voice-ttl .en_ttl span {
  margin-left: 50px;
}

@media screen and (max-width: 767px) {
  .t_voice .top .t_voice-ttl .en_ttl span {
    margin-left: 30px;
  }
}

.t_voice .top .t_voice-ttl .ja_ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #dd8622;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .t_voice .top .t_voice-ttl .ja_ttl {
    font-size: 20px;
  }
}

.t_voice .top .g_voice .up_box {
  border: 10px solid #d7f1fc;
  border-radius: 10px 10px 0 0;
}

.t_voice .top .g_voice .up_box .header {
  background-color: #005dab;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding: 20px 50px 20px 30px;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .header {
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    padding: 15px;
  }
}

.t_voice .top .g_voice .up_box .header .icon img {
  width: clamp(120px, 7.29167vw, 140px);
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .header .icon img {
    width: 100px;
  }
}

.t_voice .top .g_voice .up_box .header .right {
  font-weight: 700;
}

.t_voice .top .g_voice .up_box .header .right .company {
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .header .right .company {
    text-align: center;
  }
}

.t_voice .top .g_voice .up_box .header .right .wrap {
  display: flex;
  flex-wrap: wrap;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .header .right .wrap {
    flex-wrap: wrap;
    font-size: 18px;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
  }
}

.t_voice .top .g_voice .up_box .header .right .wrap .evaluation {
  margin-right: 15px;
}

.t_voice .top .g_voice .up_box .header .right .wrap .star {
  color: #e7dd1c;
  margin-right: 35px;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .header .right .wrap .star {
    margin-right: 0;
  }
}

.t_voice .top .g_voice .up_box .content {
  height: 300px;
  background-color: #fff;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .up_box .content {
    padding: 0 30px;
  }
}

.t_voice .top .g_voice .bottom {
  background-color: #419ebd;
  border-radius: 0 0 20px 20px;
  border-bottom: 8px solid #d9d9d9;
}

.t_voice .top .g_voice .bottom .g_voice-btn {
  text-align: center;
  padding: 15px 10px;
}

.t_voice .top .g_voice .bottom .g_voice-btn a {
  font-size: 20px;
  font-weight: 700;
  background-color: #337c95;
  color: #fff;
  padding: 10px 90px 10px 50px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .bottom .g_voice-btn a {
    font-size: 18px;
    padding: 10px 50px 10px 25px;
  }
}

.t_voice .top .g_voice .bottom .g_voice-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow3.png) center center/cover no-repeat;
  width: 22.6px;
  height: 21.7px;
  right: 50px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_voice .top .g_voice .bottom .g_voice-btn a::after {
    right: 15px;
  }
}

.t_voice .top .t_voice-human {
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(260px, 17.39583vw, 334px);
}

@media screen and (max-width: 767px) {
  .t_voice .top .t_voice-human {
    width: 114px;
    top: 80px;
    left: -10px;
    bottom: unset;
  }
}

.t_voice .wrapper ul {
  display: flex;
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul {
    display: block;
  }
}

.t_voice .wrapper ul li {
  display: block;
  width: calc((100% - 4.166vw) / 3);
  margin-right: 4.166vw;
}

.t_voice .wrapper ul li:nth-child(3n) {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul li {
    width: auto;
    margin-right: 0;
    padding: 0 10px 45px;
  }
}

.t_voice .wrapper ul li a {
  display: block;
  background-color: #ffd95a;
  border-radius: 10px;
  position: relative;
}

.t_voice .wrapper ul li a .img_wrapper {
  position: relative;
}

.t_voice .wrapper ul li a .img_wrapper .work_img img {
  width: 100%;
  display: block;
  aspect-ratio: 440 / 280;
  object-fit: cover;
  border-radius: 10px;
}

.t_voice .wrapper ul li a .img_wrapper .paper {
  position: absolute;
  right: 20px;
  bottom: -38px;
  width: 120px;
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul li a .img_wrapper .paper {
    right: 16px;
    bottom: -32px;
    width: 90px;
  }
}

.t_voice .wrapper ul li a .img_wrapper .paper img {
  width: 100%;
  display: block;
  aspect-ratio: 120 / 160;
  object-fit: cover;
}

.t_voice .wrapper ul li a .content {
  padding: 20px clamp(20px, 1.82292vw, 35px);
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul li a .content {
    padding: 18px 15px;
  }
}

.t_voice .wrapper ul li a .content .city {
  font-size: 20px;
  font-weight: 700;
  color: #1c1c1c;
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul li a .content .city {
    font-size: 16px;
  }
}

.t_voice .wrapper ul li a .content .txt {
  margin-top: 7px;
  padding-left: 10px;
  font-weight: 700;
  color: #555555;
  line-height: 1.375;
}

@media screen and (max-width: 767px) {
  .t_voice .wrapper ul li a .content .txt {
    font-size: 14px;
  }
}

.t_voice .wrapper ul li a .arrow_icon {
  position: absolute;
  bottom: -40px;
  right: 0;
  padding: 20px 16px 9px 16px;
  background-color: #e8c653;
  border-radius: 0 0 10px 10px;
  z-index: -1;
}

.t_voice .wrapper ul li a .arrow_icon img {
  width: 26px;
}

.t_voice .wrapper .slick-list {
  overflow: visible;
}

.t_voice .wrapper .slick-track {
  display: flex;
}

.t_voice .wrapper .slick-slide {
  height: auto;
}

.t_voice .wrapper .slick-slide > div {
  height: 100%;
}

.t_voice .wrapper .slick-dots {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.t_voice .wrapper .slick-dots li {
  width: auto;
  margin: 0;
  padding: 0;
}

.t_voice .wrapper .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #ddd;
  font-size: 0;
  cursor: pointer;
}

.t_voice .wrapper .slick-dots li.slick-active button {
  background-color: #ffd95a;
}

.t_voice .t_voice-btn {
  text-align: center;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .t_voice .t_voice-btn {
    margin-top: 45px;
  }
}

.t_voice .t_voice-btn a {
  display: inline-block;
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #fff;
  background-color: #d0a000;
  padding: 15px 90px 15px 40px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_voice .t_voice-btn a {
    font-size: 20px;
  }
}

.t_voice .t_voice-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow1.webp) center center/cover no-repeat;
  width: 33px;
  height: 26px;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_voice .t_voice-btn a::after {
    width: 24px;
    height: 19px;
    right: 50px;
  }
}

.t_voice-back {
  position: relative;
}

.t_voice-back::after {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 95%;
  height: 92%;
  right: 0;
  bottom: 35px;
  border-radius: 450px 0 0 450px;
  z-index: -2;
}

/* ===============================================
# TOP QA
=============================================== */
.t_qa {
  padding: clamp(90px, 6.77083vw, 130px) 0 80px;
}

@media screen and (max-width: 767px) {
  .t_qa {
    padding: 80px 0 60px;
  }
}

.t_qa .wrapper {
  text-align: center;
}

.t_qa .wrapper img {
  max-width: clamp(500px, 34.7916vw, 668px);
  width: 100%;
}

/* ===============================================
# TOP ブログ
=============================================== */
.t_blog .top {
  text-align: center;
  position: relative;
}

.t_blog .top .image_chara {
  position: absolute;
  left: 100px;
  bottom: -30px;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .t_blog .top .image_chara {
    left: -8px;
    bottom: -30px;
  }
}

.t_blog .top .image_chara img {
  width: clamp(110px, 8.17708vw, 157px);
}

@media screen and (max-width: 767px) {
  .t_blog .top .image_chara img {
    width: 90px;
  }
}

.t_blog .top .t_blog-ttl {
  display: inline-block;
  position: relative;
}

.t_blog .top .t_blog-ttl .read {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #5fa2d1;
  padding: 0 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_blog .top .t_blog-ttl .read {
    font-size: 16px;
  }
}

.t_blog .top .t_blog-ttl .read::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.t_blog .top .t_blog-ttl .read::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.t_blog .top .t_blog-ttl .en_ttl {
  display: block;
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #015986;
}

@media screen and (max-width: 767px) {
  .t_blog .top .t_blog-ttl .en_ttl {
    font-size: 36px;
  }
}

.t_blog .top .t_blog-ttl .en_ttl span {
  display: block;
  text-align: right;
  margin-left: 250px;
}

@media screen and (max-width: 767px) {
  .t_blog .top .t_blog-ttl .en_ttl span {
    margin-left: 0;
  }
}

.t_blog .top .t_blog-ttl .ja_ttl {
  position: absolute;
  left: clamp(60px, 2.083vw, 40px);
  bottom: 20px;
  font-size: clamp(20px, 1.35416vw, 26px);
  font-weight: 700;
  color: #015986;
}

@media screen and (max-width: 767px) {
  .t_blog .top .t_blog-ttl .ja_ttl {
    font-size: 20px;
    left: 45px;
    bottom: 5px;
  }
}

.t_blog .t_blog-btn {
  position: absolute;
  right: -200px;
  bottom: -30px;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .t_blog .t_blog-btn {
    right: unset;
    left: 50%;
    transform: translateX(-50%);
  }
}

.t_blog .t_blog-btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: #1d729d;
  border: 10px solid #015986;
  border-radius: 50%;
  width: 170px;
  height: 170px;
  padding-bottom: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_blog .t_blog-btn a {
    width: 120px;
    height: 120px;
    padding-bottom: 2px;
    line-height: 1;
    text-align: center;
    margin: 0 auto;
  }
}

.t_blog .t_blog-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow.png) center center/cover no-repeat;
  width: 26px;
  height: 21px;
  bottom: 45px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .t_blog .t_blog-btn a::after {
    width: 20px;
    height: 15px;
    bottom: 14px;
  }
}

.t_blog .wrapper {
  position: relative;
  display: flex;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .t_blog .wrapper {
    display: block;
  }
}

.t_blog .wrapper li {
  width: calc((100% - 0.78125vw * 4) / 5);
  margin-right: 0.78125vw;
}

.t_blog .wrapper li:nth-child(5n) {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .t_blog .wrapper li {
    width: auto;
    margin-right: 0;
    padding: 0 8px;
  }
}

.t_blog .wrapper li a {
  display: block;
}

.t_blog .wrapper li a .img {
  position: relative;
}

.t_blog .wrapper li a .img img {
  width: 100%;
  display: block;
  aspect-ratio: 240 / 160;
  object-fit: cover;
  border-radius: 10px;
}

.t_blog .wrapper li a .img .cat {
  position: absolute;
  bottom: -15px;
  left: 10px;
  background-color: #015986;
  color: #fff;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.t_blog .wrapper li a .content {
  padding: 20px 10px 0;
}

.t_blog .wrapper li a .content .published {
  font-size: 14px;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  color: #939393;
}

.t_blog .wrapper li a .content .ttl {
  margin-top: 4px;
  font-size: clamp(16px, 1.0416vw, 20px);
  font-weight: 700;
  color: #1c1c1c;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .t_blog .wrapper li a .content .ttl {
    font-size: 18px;
  }
}

.t_blog .wrapper.slick-initialized {
  display: block;
}

.t_blog .wrapper .slick-list {
  overflow: visible;
}

.t_blog .wrapper .slick-track {
  display: flex;
}

.t_blog .wrapper .slick-slide {
  height: auto;
}

.t_blog .wrapper .slick-slide > div {
  height: 100%;
}

.t_blog .wrapper .slick-dots {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.t_blog .wrapper .slick-dots li {
  width: auto;
  margin: 0;
  padding: 0;
}

.t_blog .wrapper .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #ddd;
  font-size: 0;
  cursor: pointer;
}

.t_blog .wrapper .slick-dots li.slick-active button {
  background-color: #015986;
}

.t_blog-back {
  padding: clamp(100px, 7.8125vw, 150px) 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_blog-back {
    padding: 80px 0 120px;
  }
}

.t_blog-back::after {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 95%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 0 450px 450px 0;
  z-index: -1;
}

/* ===============================================
# TOP news
=============================================== */
.t_news {
  padding: clamp(100px, 7.8125vw, 150px) 0;
}

@media screen and (max-width: 767px) {
  .t_news {
    padding: 80px 0;
  }
}

.t_news .wrapper {
  display: flex;
  gap: clamp(50px, 7.2916vw, 140px);
}

@media screen and (max-width: 767px) {
  .t_news .wrapper {
    flex-direction: column;
    gap: 30px;
  }
}

.t_news .wrapper .left {
  width: clamp(200px, 13.02083vw, 250px);
}

.t_news .wrapper .left .t_news-ttl .en_ttl {
  font-size: clamp(50px, 3.64583vw, 70px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #505050;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .left .t_news-ttl .en_ttl {
    font-size: 36px;
  }
}

.t_news .wrapper .left .t_news-ttl .ja_ttl {
  font-size: clamp(20px, 1.35416vw, 26px);
  font-weight: 700;
  color: #505050;
  margin-top: 8px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .left .t_news-ttl .ja_ttl {
    font-size: 20px;
  }
}

.t_news .wrapper .left .t_news-btn {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .left .t_news-btn {
    margin-top: 20px;
  }
}

.t_news .wrapper .left .t_news-btn a {
  display: block;
  white-space: nowrap;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  color: #fff;
  background-color: #015986;
  padding: 8px clamp(50px, 5.10416vw, 98px) 8px clamp(25px, 3.02083vw, 58px);
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .left .t_news-btn a {
    padding: 8px 78px 8px 40px;
  }
}

.t_news .wrapper .left .t_news-btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow2.webp) center center/cover no-repeat;
  width: clamp(50px, 3.64583vw, 70px);
  height: clamp(50px, 3.64583vw, 70px);
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .left .t_news-btn a::after {
    width: 50px;
    height: 50px;
  }
}

.t_news .wrapper .right {
  width: calc(100% - clamp(200px, 13.02083vw, 250px));
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right {
    width: 100%;
  }
}

.t_news .wrapper .right ul {
  border-top: 1px solid #707070;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul {
    border-top: none;
  }
}

.t_news .wrapper .right ul li {
  border-bottom: 1px solid #707070;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li {
    border-bottom: none;
    padding: 0 10px 10px;
  }
}

.t_news .wrapper .right ul li a {
  display: flex;
  align-items: center;
  gap: clamp(20px, 3.64583vw, 70px);
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a {
    display: flex;
    flex-direction: column-reverse;
    gap: 0;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
  }
}

.t_news .wrapper .right ul li a .content {
  width: calc(100% - 230px);
  padding-left: 40px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content {
    width: 100%;
    padding: 18px 15px 20px;
  }
}

.t_news .wrapper .right ul li a .content .meta {
  display: flex;
  align-items: center;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content .meta {
    gap: 10px;
  }
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content .meta .published {
    font-size: 13px;
  }
}

.t_news .wrapper .right ul li a .content .meta .cat {
  background-color: #fabe00;
  color: #1c1c1c;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content .meta .cat {
    padding: 4px 10px;
    font-size: 12px;
    border-radius: 999px;
  }
}

.t_news .wrapper .right ul li a .content .ttl {
  font-size: clamp(18px, 1.0416vw, 20px);
  font-weight: 700;
  color: #1c1c1c;
  margin-top: 15px;
  padding-left: 25px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content .ttl {
    font-size: 18px;
    margin-top: 10px;
    padding-left: 0;
    line-height: 1.2;
  }
}

.t_news .wrapper .right ul li a .content .txt {
  font-weight: 700;
  color: #9f9f9f;
  margin-top: 8px;
  padding-left: 25px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content .txt {
    margin-top: 5px;
    padding-left: 0;
    font-size: 14px;
    line-height: 1.6;
  }
}

.t_news .wrapper .right ul li a .content_img {
  width: 230px;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content_img {
    width: 100%;
  }
}

.t_news .wrapper .right ul li a .content_img img {
  width: 100%;
  display: block;
  aspect-ratio: 230 / 170;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .t_news .wrapper .right ul li a .content_img img {
    aspect-ratio: 335 / 220;
  }
}

.t_news .wrapper .right .news-slider.slick-initialized {
  display: block;
}

.t_news .wrapper .right .news-slider .slick-list {
  overflow: visible;
}

.t_news .wrapper .right .news-slider .slick-track {
  display: flex;
}

.t_news .wrapper .right .news-slider .slick-slide {
  height: auto;
}

.t_news .wrapper .right .news-slider .slick-slide > div {
  height: 100%;
}

.t_news .wrapper .right .news-slider .slick-dots {
  margin-top: 20px;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.t_news .wrapper .right .news-slider .slick-dots li {
  width: auto;
  margin: 0;
  padding: 0;
  border-bottom: none;
}

.t_news .wrapper .right .news-slider .slick-dots li button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #ddd;
  font-size: 0;
  cursor: pointer;
}

.t_news .wrapper .right .news-slider .slick-dots li.slick-active button {
  background-color: #015986;
}

/* ===============================================
# TOP　代表挨拶
=============================================== */
.t_message {
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .t_message {
    padding-bottom: 50px;
  }
}

.t_message .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper {
    flex-direction: column;
  }
}

.t_message .wrapper .left {
  text-align: center;
}

.t_message .wrapper .left .president_img img {
  width: clamp(220px, 14.58333vw, 280px);
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .left .president_img img {
    width: 220px;
  }
}

.t_message .wrapper .left .name {
  color: #fff;
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .left .name {
    font-size: 20px;
    margin-top: 10px;
  }
}

.t_message .wrapper .left .name span {
  font-size: clamp(18px, 1.0416vw, 20px);
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .left .name span {
    font-size: 16px;
  }
}

.t_message .wrapper .center {
  color: #fff;
  max-width: 620px;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center {
    margin-top: 30px;
  }
}

.t_message .wrapper .center .t_messege-ttl {
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center .t_messege-ttl {
    width: 330px;
  }
}

.t_message .wrapper .center .t_messege-ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center .t_messege-ttl .en_ttl {
    font-size: 32px;
  }
}

.t_message .wrapper .center .t_messege-ttl .en_ttl span {
  display: block;
  text-align: right;
}

.t_message .wrapper .center .t_messege-ttl .ja_ttl {
  position: absolute;
  top: 20px;
  right: clamp(20px, 2.60416vw, 50px);
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center .t_messege-ttl .ja_ttl {
    top: 35px;
    right: unset;
    left: 0;
    font-size: 18px;
  }
}

.t_message .wrapper .center .sub_ttl {
  font-size: clamp(26px, 1.6666vw, 32px);
  font-weight: 700;
  line-height: 1.43;
  margin-top: clamp(20px, 2.08333vw, 40px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center .sub_ttl {
    font-size: 22px;
    margin-top: 25px;
  }
}

.t_message .wrapper .center .txt {
  font-weight: 700;
  line-height: 2;
  text-align: center;
  margin-top: clamp(15px, 1.30208vw, 25px);
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .center .txt {
    margin-top: 10px;
    text-align: justify;
  }
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .right {
    margin-top: 20px;
  }
}

.t_message .wrapper .right img {
  width: clamp(180px, 11.4583vw, 220px);
}

@media screen and (max-width: 767px) {
  .t_message .wrapper .right img {
    width: 180px;
  }
}

.t_message .bnr_wrapper {
  position: absolute;
  bottom: -100px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 20px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .t_message .bnr_wrapper {
    margin-top: 30px;
    position: static;
    transform: none;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .t_message .bnr_wrapper li {
    text-align: center;
    width: 47%;
  }
}

.t_message .bnr_wrapper li a {
  display: block;
}

.t_message .bnr_wrapper li a img {
  max-width: 380px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .t_message .bnr_wrapper li a img {
    width: 100%;
  }
}

.t_message-back {
  background-color: #1590be;
  border-radius: 80px;
  width: 95%;
  margin: 0 auto;
  padding: clamp(100px, 8.85416vw, 170px) 0 clamp(130px, 9.375vw, 180px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .t_message-back {
    border-radius: 40px;
    padding: 40px 0;
    width: 100%;
  }
}

.t_message-back .back_illust {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.t_message-back .back_illust img {
  max-width: clamp(700px, 49.47916vw, 950px);
  width: 100%;
}

/* ===============================================
# 共通サービス一覧
=============================================== */
.service_common {
  padding-top: clamp(100px, 7.8125vw, 150px);
  margin: 0 clamp(20px, 3.125vw, 60px);
}

@media screen and (max-width: 767px) {
  .service_common {
    padding-top: 70px;
    margin: 0;
  }
}

.service_common .bg {
  background-color: #1590be;
  border-radius: 80px;
  padding: clamp(80px, 6.25vw, 120px) 40px clamp(60px, 8.333vw, 160px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .service_common .bg {
    border-radius: 40px;
    padding: 60px 15px 60px;
  }
}

.service_common .bg .bg_illust {
  position: absolute;
  max-width: clamp(600px, 49.47917vw, 950px);
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.service_common .service_common-ttl {
  text-align: center;
  position: relative;
}

.service_common .service_common-ttl .en_ttl {
  display: inline-block;
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1.1;
  color: #fff;
  margin-right: 100px;
  white-space: nowrap;
}

@media screen and (max-width: 767px) {
  .service_common .service_common-ttl .en_ttl {
    margin-right: 0;
    font-size: 32px;
  }
}

.service_common .service_common-ttl .en_ttl span {
  display: block;
  text-align: right;
  margin-left: clamp(300px, 26.04167vw, 500px);
}

@media screen and (max-width: 767px) {
  .service_common .service_common-ttl .en_ttl span {
    margin-left: 0;
  }
}

.service_common .service_common-ttl .ja_ttl {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .service_common .service_common-ttl .ja_ttl {
    font-size: 20px;
  }
}

.service_common .wrapper {
  display: flex;
  gap: clamp(10px, 1.5625vw, 30px);
  margin-top: 70px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .service_common .wrapper {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
  }
}

.service_common .wrapper .item {
  background-color: #206d9d;
  border-radius: 10px;
  width: stretch;
}

@media screen and (max-width: 767px) {
  .service_common .wrapper .item {
    width: 48%;
  }
}

.service_common .wrapper .item .bottom {
  padding: 18px 0;
}

@media screen and (max-width: 767px) {
  .service_common .wrapper .item .bottom {
    padding: 9px 0;
  }
}

.service_common .wrapper .item .bottom .ttl {
  font-size: clamp(16px, 1.35416vw, 26px);
  font-weight: 700;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .service_common .wrapper .item .bottom .ttl {
    font-size: 16px;
  }
}

.service_common .bnr_hikasen {
  margin-top: 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .service_common .bnr_hikasen {
    margin: 40px 15px 0;
  }
}

.service_common .bnr_hikasen a {
  display: block;
}

.service_common .bnr_hikasen a img {
  max-width: 1000px;
}

.service_common .bottom_brn-wrapper {
  padding-top: 80px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .service_common .bottom_brn-wrapper {
    padding-top: 60px;
    padding-bottom: 40px;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .service_common .bottom_brn-wrapper .item {
    text-align: center;
    width: 45%;
  }
}

.service_common .bottom_brn-wrapper .item img {
  max-width: 380px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .service_common .bottom_brn-wrapper .item img {
    width: 100%;
    margin: 0 auto;
  }
}

/* ===============================================
# エリアマップ
=============================================== */
.area_map {
  padding-top: clamp(150px, 10.41666vw, 200px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .area_map {
    padding-top: 80px;
  }
}

.area_map .area_map-ttl {
  font-size: clamp(160px, 13.95833vw, 268px);
  font-weight: 700;
  font-family: "roboto", sans-serif;
  color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .area_map .area_map-ttl {
    font-size: 75px;
  }
}

.area_map .wrapper {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .area_map .wrapper {
    flex-direction: column;
  }
}

.area_map .wrapper .left {
  max-width: 810px;
  width: 100%;
}

.area_map .wrapper .right {
  padding-bottom: 100px;
}

.area_map .wrapper .right .city {
  font-size: clamp(27px, 1.875vw, 36px);
  font-weight: 700;
  color: #145a74;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .area_map .wrapper .right .city {
    font-size: 20px;
  }
}

.area_map .wrapper .right .city span {
  border-bottom: 7px solid #145a74;
}

@media screen and (max-width: 767px) {
  .area_map .wrapper .right .city span {
    border-bottom: 4px solid #145a74;
  }
}

.area_map .wrapper .right .read {
  margin-top: 18px;
  font-size: 18px;
  font-weight: 700;
  color: #3e3e3e;
}

@media screen and (max-width: 767px) {
  .area_map .wrapper .right .read {
    margin-top: 10px;
    font-size: 16px;
  }
}

.area_map .wrapper .right .bottom {
  font-size: 18px;
  font-weight: 700;
  color: #436e40;
  background-color: #fff;
  line-height: 1;
  padding: 10px 15px;
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .area_map .wrapper .right .bottom {
    font-size: 16px;
    line-height: 1.2;
  }
}

/* ===============================================
# フッターコンタクト
=============================================== */
.footer_contact {
  background: url(../img/bg-footer-contact.webp) center center/cover no-repeat;
  padding-bottom: 85px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .footer_contact {
    padding-bottom: 70px;
  }
}

.footer_contact::after {
  position: absolute;
  content: "";
  background: url(../img/bg-footer-contact-top.webp) center center/cover no-repeat;
  width: 100%;
  height: 9.375vw;
  top: -9.375vw;
  left: 0;
  right: 0;
  z-index: -1;
}

.footer_contact .ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #396579;
  padding-left: 95px;
}

@media screen and (max-width: 767px) {
  .footer_contact .ttl {
    font-size: 42px;
    padding-left: 75px;
  }
}

.footer_contact .wrapper {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .footer_contact .wrapper {
    flex-direction: column;
    gap: 20px;
  }
}

.footer_contact .wrapper .left {
  padding-left: 150px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .footer_contact .wrapper .left {
    padding-left: 0;
  }
}

.footer_contact .wrapper .left .tel {
  display: block;
  max-width: 790px;
  width: 100%;
}

.footer_contact .wrapper .left .chara {
  position: absolute;
  left: 0;
  bottom: -60px;
}

@media screen and (max-width: 767px) {
  .footer_contact .wrapper .left .chara {
    bottom: -60px;
    top: -78px;
    left: 0;
  }
}

.footer_contact .wrapper .left .chara img {
  width: clamp(190px, 12.81249vw, 246px);
}

@media screen and (max-width: 767px) {
  .footer_contact .wrapper .left .chara img {
    width: 80px;
  }
}

.footer_contact .wrapper .right .contact {
  display: block;
  max-width: 430px;
  width: 100%;
}

.footer_contact .wrapper .right .estimate {
  display: block;
  max-width: 430px;
  width: 100%;
  margin-top: 20px;
}

.footer_contact .bnr_gaimani {
  max-width: 320px;
  margin: 60px auto 0;
}

@media screen and (max-width: 767px) {
  .footer_contact .bnr_gaimani {
    margin-top: 20px;
  }
}

/* ===============================================
# footer
=============================================== */
.footer {
  background: url(../img/bg-footer.webp) 8% center/cover no-repeat;
}

.footer .wrapper {
  max-width: 1470px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  padding: 140px 40px 65px;
}

@media screen and (max-width: 767px) {
  .footer .wrapper {
    flex-direction: column-reverse;
    padding: 60px 15px 33px;
  }
}

.footer .wrapper .left {
  max-width: 732px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .left {
    margin-top: 30px;
    padding-left: 20px;
  }
}

.footer .wrapper .left .ttl {
  font-size: clamp(50px, 5.2083vw, 90px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .left .ttl {
    font-size: 40px;
  }
}

.footer .wrapper .left .logo {
  margin-top: 160px;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .left .logo {
    margin-top: 40px;
  }
}

.footer .wrapper .left .logo img {
  max-width: 530px;
  width: 100%;
}

.footer .wrapper .right {
  font-weight: 700;
}

.footer .wrapper .right .nav_list .first {
  font-size: 19px;
  padding-left: 50px;
  position: relative;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .right .nav_list .first {
    font-size: 16px;
    padding-left: 40px;
    margin-top: 30px;
  }
}

.footer .wrapper .right .nav_list .first:first-child {
  margin-top: 0;
}

.footer .wrapper .right .nav_list .first::before {
  position: absolute;
  content: "";
  background: url(../img/icon-footer-nav.png) center center/cover no-repeat;
  width: 30px;
  height: 15px;
  left: 0;
  top: 7px;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .right .nav_list .first::before {
    width: 20px;
    height: 8px;
  }
}

.footer .wrapper .right .nav_list .first a {
  color: #fff;
}

.footer .wrapper .right .child-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 40px;
  margin-top: 10px;
}

.footer .wrapper .right .child-nav .second {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .footer .wrapper .right .child-nav .second {
    font-size: 14px;
  }
}

.footer .wrapper .right .child-nav .second a {
  color: #fff;
}

.footer .copy {
  text-align: right;
  padding-right: 40px;
}

.footer .copy p {
  display: inline-block;
  text-align: right;
  font-size: 18px;
  font-weight: 700;
  color: #236786;
  background-color: #fff;
  padding: 20px 80px;
  border-radius: 20px 20px 0 0;
}

@media screen and (max-width: 767px) {
  .footer .copy p {
    font-size: 15px;
    padding: 15px;
  }
}

/* ===============================================
# CTA お問い合わせメニュー
=============================================== */
.cta {
  position: fixed;
  right: 0;
  bottom: 0;
  max-width: 420px;
  width: 100%;
  background-color: #015986;
  border-radius: 20px 0 0 0;
  padding: 20px 20px 30px;
  z-index: 9999;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

@media screen and (max-width: 767px) {
  .cta.is-close {
    padding: 10px;
  }
}

.cta.is-close .wrapper .ttl::after {
  transform: translateY(-50%) rotate(180deg);
}

.cta.is-close .wrapper .nav {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  margin-top: 0;
  pointer-events: none;
}

.cta.is-footer-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.cta .wrapper .ttl {
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
  cursor: pointer;
  padding-right: 40px;
  margin: 0;
}

@media screen and (max-width: 767px) {
  .cta .wrapper .ttl {
    font-size: 18px;
    text-align: center;
  }
}

.cta .wrapper .ttl::after {
  position: absolute;
  content: "";
  background: url(../img/icon-arrow-white.webp) center center/cover no-repeat;
  width: 24px;
  height: 24px;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform 0.3s ease;
}

.cta .wrapper .nav {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  opacity: 1;
  visibility: visible;
  max-height: 500px;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease, margin-top 0.3s ease, visibility 0.3s ease;
}

.cta .wrapper .nav li {
  width: calc(50% - 5px);
}

.cta .wrapper .nav li a {
  display: block;
  text-align: center;
  background-color: #fff;
  color: #2f2f2f;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  padding: 12px 0;
  border-radius: 999px;
  font-size: clamp(14px, 0.83333vw, 16px);
}

@media screen and (max-width: 767px) {
  .cta .wrapper .nav li a {
    font-size: 14px;
  }
}

.cta .wrapper .nav li a span {
  padding-left: 15px;
  position: relative;
}

.cta .wrapper .nav li a span::before {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
}

.cta .wrapper .nav li a .estimate::before {
  background: url(../img/icon-mitumori.webp) center center/cover no-repeat;
  width: 17px;
  height: 22px;
  left: -10px;
}

.cta .wrapper .nav li a .contact::before {
  background: url(../img/icon-contact.webp) center center/cover no-repeat;
  width: 28px;
  height: 20px;
  left: -20px;
}

.cta .wrapper .nav li a .line::before {
  background: url(../img/icon-line.webp) center center/cover no-repeat;
  width: 20px;
  height: 20px;
  left: -15px;
}

.cta .wrapper .nav li a .tel::before {
  background: url(../img/icon-tel.webp) center center/cover no-repeat;
  width: 20px;
  height: 20px;
  left: -10px;
}

/* ===============================================
# 選ばれる理由
=============================================== */
.mv_reason {
  background: url(../img/mv-reason.webp) center center/83.333vw no-repeat;
}

.reason {
  margin-top: 180px;
  padding: 50px 0;
  background-color: #edece8;
  position: relative;
}

@media screen and (max-width: 767px) {
  .reason {
    margin-top: 40px;
  }
}

.reason::before {
  position: absolute;
  content: "";
  background: url(../img/bg-reason-top.webp) center center/cover no-repeat;
  width: 100%;
  height: 4.6875vw;
  top: -4.6875vw;
  left: 0;
  right: 0;
}

.reason::after {
  position: absolute;
  content: "";
  background: url(../img/bg-reason-bottom.webp) center center/cover no-repeat;
  width: 100%;
  height: 4.6875vw;
  bottom: -4.6875vw;
  left: 0;
  right: 0;
}

.reason .item {
  background-color: #fff;
  border-radius: 10px;
  margin-top: 30px;
}

.reason .item:first-child {
  margin-top: 0;
}

.reason .item:nth-child(even) .wrapper {
  flex-direction: row-reverse;
}

.reason .item .wrapper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper {
    flex-wrap: wrap;
  }
}

.reason .item .wrapper .content {
  padding: 0 clamp(20px, 4.1666vw, 80px) 20px;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content {
    padding: 0 15px;
  }
}

.reason .item .wrapper .content .head {
  display: flex;
  align-items: center;
  gap: 20px;
}

.reason .item .wrapper .content .head .num {
  display: inline-block;
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  color: #fff;
  border-radius: 0 0 10px 10px;
  padding: clamp(20px, 1.82292vw, 35px) 12px 15px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .head .num {
    padding: 10px 12px 8px;
  }
}

.reason .item .wrapper .content .head .num span {
  font-size: clamp(42px, 2.8125vw, 54px);
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .head .num span {
    font-size: 30px;
  }
}

.reason .item .wrapper .content .head .green {
  background-color: #a5ca3c;
}

.reason .item .wrapper .content .head .blue {
  background-color: #1590be;
}

.reason .item .wrapper .content .head .navy {
  background-color: #015986;
}

.reason .item .wrapper .content .head .ttl {
  font-size: clamp(20px, 1.4583vw, 28px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #292929;
  padding-top: 30px;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .head .ttl {
    font-size: 18px;
    letter-spacing: 0;
    padding-top: 15px;
  }
}

.reason .item .wrapper .content .bottom {
  margin-top: clamp(15px, 1.30208vw, 25px);
  padding-left: 15px;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .bottom {
    margin-top: 15px;
    padding-left: 0;
  }
}

.reason .item .wrapper .content .bottom .sub_ttl {
  font-size: clamp(18px, 1.35416vw, 26px);
  font-weight: 700;
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .bottom .sub_ttl {
    font-size: 18px;
  }
}

.reason .item .wrapper .content .bottom .txt {
  font-weight: 700;
  line-height: 2.25;
  margin-top: 10px;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .bottom .txt {
    line-height: 1.8;
  }
}

.reason .item .wrapper .content .bottom .txt .f-green {
  color: #408b00;
}

.reason .item .wrapper .content .bottom .txt .f-yellow {
  color: #b1a603;
}

.reason .item .wrapper .content .bottom .link_wrapper {
  margin-top: clamp(10px, 1.30208vw, 25px);
  margin-left: 20px;
}

.reason .item .wrapper .content .bottom .link_wrapper .link {
  padding-left: 35px;
}

.reason .item .wrapper .content .bottom .link_wrapper .link:last-child {
  margin-top: 20px;
}

.reason .item .wrapper .content .bottom .link_wrapper .link a {
  display: inline-block;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  color: #292929;
  border-bottom: 2px dotted #264370;
  padding-bottom: 3px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .content .bottom .link_wrapper .link a {
    font-size: 16px;
  }
}

.reason .item .wrapper .content .bottom .link_wrapper .link a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow4.png) center center/cover no-repeat;
  width: 26px;
  height: 21px;
  top: 0;
  left: -30px;
}

.reason .item .wrapper .item_img {
  padding: 15px;
}

.reason .item .wrapper .item_img img {
  width: clamp(400px, 31.25vw, 600px);
  object-fit: cover;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .reason .item .wrapper .item_img img {
    width: 100%;
  }
}

/* ===============================================
# よくあるご質問
=============================================== */
.mv_qa {
  background: url(../img/mv-qa.webp) center center/cover no-repeat;
}

.qa {
  padding-top: 80px;
}

@media screen and (max-width: 767px) {
  .qa {
    padding-top: 10px;
  }
}

.qa .nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}

@media screen and (max-width: 767px) {
  .qa .nav ul {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15px 0;
  }
}

@media screen and (max-width: 767px) {
  .qa .nav ul li {
    width: 48%;
  }
}

.qa .nav ul li a {
  display: block;
  width: 265px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #292929;
  border-bottom: 2px dotted #cecdc6;
  padding-left: 20px;
  padding-bottom: 5px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .qa .nav ul li a {
    font-size: 16px;
    width: 100%;
  }
}

.qa .nav ul li a::after {
  position: absolute;
  content: "";
  background: url(../img/arrow-under.webp) center center/cover no-repeat;
  width: 40px;
  height: 20.7px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.qa .box {
  margin-top: 50px;
}

.qa .box .item {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .qa .box .item {
    margin-top: 50px;
  }
}

.qa .box .item:first-child {
  margin-top: 0;
}

.qa .box .item .head {
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  padding: 33px 10px 33px 150px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .qa .box .item .head {
    padding: 15px 10px 15px 120px;
  }
}

.qa .box .item .head .label {
  position: absolute;
  top: 0;
  left: 30px;
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  color: #fff;
  border-radius: 0 0 10px 10px;
  padding: 30px 16px;
}

@media screen and (max-width: 767px) {
  .qa .box .item .head .label {
    left: 15px;
    padding: 10px 16px;
    font-size: 16px;
  }
}

.qa .box .item .head .green {
  background-color: #a5ca3c;
}

.qa .box .item .head .blue {
  background-color: #1590be;
}

.qa .box .item .head .navy {
  background-color: #015986;
}

.qa .box .item .head .gray {
  background-color: #7a8286;
}

.qa .box .item .head .ttl {
  font-size: clamp(24px, 1.45833vw, 28px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #292929;
}

@media screen and (max-width: 767px) {
  .qa .box .item .head .ttl {
    font-size: 20px;
  }
}

.qa .box .item .content {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .qa .box .item .content {
    margin-top: 25px;
  }
}

.qa .box .item .content dl {
  font-weight: 700;
  color: #292929;
  line-height: 2.25;
  padding: 0 30px 50px;
  border-bottom: 2px dotted #cecdc6;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .qa .box .item .content dl {
    padding: 0 0 30px;
    margin-top: 30px;
  }
}

.qa .box .item .content dl:first-child {
  margin-top: 0;
}

.qa .box .item .content dl dt {
  padding-left: 68px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .qa .box .item .content dl dt {
    padding-left: 50px;
    line-height: 1.8;
  }
}

.qa .box .item .content dl dt::before {
  position: absolute;
  content: "";
  background: url(../img/icon-Q.webp) center center/cover no-repeat;
  width: 40px;
  height: 40px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .qa .box .item .content dl dt::before {
    top: 0;
    transform: none;
  }
}

.qa .box .item .content dl dd {
  padding-left: 68px;
  margin-top: 35px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .qa .box .item .content dl dd {
    padding-left: 50px;
    line-height: 1.8;
    margin-top: 20px;
  }
}

.qa .box .item .content dl dd::before {
  position: absolute;
  content: "";
  background: url(../img/icon-A.webp) center center/cover no-repeat;
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
}

/* ===============================================
# 施工の流れ
=============================================== */
.mv_flow {
  background: url(../img/mv-flow.webp);
}

.flow {
  padding-top: 50px;
}

.flow .wrapper .item {
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: clamp(30px, 4.1666vw, 80px);
  padding: clamp(20px, 2.08333vw, 40px) clamp(40px, 5.20833vw, 100px) clamp(20px, 2.08333vw, 40px) 150px;
  border-radius: 10px;
  margin-top: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item {
    flex-direction: column;
    padding: 20px 15px 30px;
    gap: 5px;
  }
}

.flow .wrapper .item:first-child {
  margin-top: 0;
}

.flow .wrapper .item .step {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #1590be;
  border-radius: 0 10px 10px 0;
  padding: 20px 40px 20px 50px;
  color: #fff;
  font-family: "Oleo Script", system-ui;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item .step {
    padding: 10px 40px 5px 46px;
    top: 87px;
    transform: none;
  }
}

.flow .wrapper .item .step span {
  font-size: 40px;
  vertical-align: middle;
  margin-left: 5px;
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item .step span {
    font-size: 32px;
  }
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item .icon {
    margin-left: auto;
  }
}

.flow .wrapper .item .icon img {
  width: 200px;
}

.flow .wrapper .item .content .ttl {
  font-size: clamp(22px, 1.45833vw, 28px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #015986;
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item .content .ttl {
    font-size: 20px;
  }
}

.flow .wrapper .item .content .txt {
  font-weight: 700;
  color: #292929;
  line-height: 2;
  margin-top: clamp(15px, 1.30208vw, 25px);
  padding-left: 40px;
}

@media screen and (max-width: 767px) {
  .flow .wrapper .item .content .txt {
    line-height: 1.8;
    margin-top: 15px;
    padding-left: 10px;
  }
}

/* ===============================================
# 会社概要
=============================================== */
.mv_company {
  background: url(../img/mv-company.webp);
}

.p_company {
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .p_company {
    padding-top: 30px;
  }
}

.p_company .message {
  max-width: 1100px;
  margin: 0 auto;
}

.p_company .message .message_ttl {
  text-align: center;
}

.p_company .message .message_ttl .en_ttl {
  font-size: clamp(56px, 3.4375vw, 66px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  color: #005f83;
}

@media screen and (max-width: 767px) {
  .p_company .message .message_ttl .en_ttl {
    font-size: 36px;
  }
}

.p_company .message .message_ttl .ja_ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #241b19;
}

@media screen and (max-width: 767px) {
  .p_company .message .message_ttl .ja_ttl {
    font-size: 20px;
  }
}

.p_company .message .wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper {
    margin-top: 30px;
    flex-direction: column-reverse;
  }
}

.p_company .message .wrapper .content {
  width: 53.18%;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .content {
    width: 100%;
    margin-top: 30px;
  }
}

.p_company .message .wrapper .content .ttl {
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.333;
  color: #00938b;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .content .ttl {
    font-size: 20px;
  }
}

.p_company .message .wrapper .content .txt {
  font-weight: 700;
  line-height: 1.875;
  color: #292929;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .content .txt {
    margin-top: 15px;
    padding-right: 0;
  }
}

.p_company .message .wrapper .image {
  position: relative;
}

.p_company .message .wrapper .image .chara {
  position: absolute;
  left: -40px;
  bottom: 18px;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .image .chara {
    bottom: unset;
    left: -10px;
    top: -50px;
  }
}

.p_company .message .wrapper .image .chara img {
  width: clamp(130px, 8.3333vw, 160px);
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .image .chara img {
    width: 100px;
  }
}

.p_company .message .wrapper .image img {
  width: 420px;
}

@media screen and (max-width: 767px) {
  .p_company .message .wrapper .image img {
    width: 100%;
  }
}

.p_company .philosophy {
  padding-top: 40px;
}

.p_company .philosophy .image {
  text-align: center;
}

.p_company .philosophy .image img {
  background-color: #015986;
  padding: 0 10px 10px;
  border-radius: 5px;
  max-width: 600px;
}

.p_company .brn_wrapper {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p_company .brn_wrapper {
    margin-top: 30px;
  }
}

.p_company .brn_wrapper ul {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  padding: clamp(20px, 2.60416vw, 50px);
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .p_company .brn_wrapper ul {
    padding: 30px 15px;
    flex-wrap: wrap;
    gap: 15px 0;
  }
}

.p_company .brn_wrapper ul li {
  width: 23.85%;
}

@media screen and (max-width: 767px) {
  .p_company .brn_wrapper ul li {
    width: 48%;
  }
}

.p_company .profile {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .p_company .profile {
    margin-top: 60px;
  }
}

.p_company .profile .bg {
  padding-bottom: clamp(100px, 10.416vw, 200px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_company .profile .bg {
    padding-bottom: 30px;
  }
}

.p_company .profile .bg::after {
  position: absolute;
  content: "";
  background-color: #efebd5;
  width: 95%;
  height: 100%;
  right: 0;
  top: 45px;
  z-index: -1;
  border-radius: 27.864583vw 0 0 27.864583vw;
}

.p_company .profile .profile_ttl {
  display: inline-block;
  color: #dd8622;
}

.p_company .profile .profile_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1.19;
}

@media screen and (max-width: 767px) {
  .p_company .profile .profile_ttl .en_ttl {
    font-size: 36px;
  }
}

.p_company .profile .profile_ttl .en_ttl span {
  display: block;
  text-align: right;
  margin-left: 150px;
}

.p_company .profile .profile_ttl .ja_ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .p_company .profile .profile_ttl .ja_ttl {
    font-size: 20px;
  }
}

.p_company .profile .wrapper {
  max-width: 1100px;
  margin: 90px auto 0;
}

@media screen and (max-width: 767px) {
  .p_company .profile .wrapper {
    margin-top: 35px;
  }
}

.p_company .profile .wrapper dl {
  display: flex;
  font-size: 18px;
  font-weight: 700;
  color: #292929;
  margin-top: 40px;
  border-bottom: 1px dotted #141414;
  padding-bottom: 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_company .profile .wrapper dl {
    flex-direction: column;
    padding-bottom: 20px;
    margin-top: 20px;
  }
}

.p_company .profile .wrapper dl::before {
  position: absolute;
  content: "";
  border-bottom: 1px solid #dd8622;
  width: 300px;
  bottom: -1px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .p_company .profile .wrapper dl::before {
    width: 100px;
  }
}

.p_company .profile .wrapper dl:first-child {
  margin-top: 0;
}

.p_company .profile .wrapper dl dt {
  width: 300px;
  padding-left: 100px;
}

@media screen and (max-width: 767px) {
  .p_company .profile .wrapper dl dt {
    width: 100%;
    padding-left: 0;
  }
}

.p_company .profile .wrapper dl dd {
  width: calc(100% - 300px);
  padding-left: 70px;
  line-height: 1.66;
}

@media screen and (max-width: 767px) {
  .p_company .profile .wrapper dl dd {
    width: 100%;
    padding-left: 15px;
    margin-top: 15px;
    font-size: 16px;
  }
}

.p_company .profile .wrapper dl dd a {
  color: #292929;
}

.p_company .license .bg {
  padding: 150px 0 200px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_company .license .bg {
    padding: 128px 0 84px 0;
  }
}

.p_company .license .bg::after {
  position: absolute;
  content: "";
  background-color: #fff;
  border-radius: 0 23.4375vw 23.4375vw 0;
  width: 95%;
  height: 100%;
  left: 0;
  top: -50px;
  z-index: -2;
}

.p_company .license .wrapper {
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
  position: relative;
}

.p_company .license .wrapper:first-child {
  margin-top: 0;
}

.p_company .license .wrapper .ttl {
  position: absolute;
  top: -30px;
  left: 16px;
  font-size: clamp(22px, 1.4583vw, 28px);
  font-weight: 700;
  color: #fff;
  background-color: #8ba838;
  padding: 14px 35px;
  border-radius: 15px;
}

@media screen and (max-width: 767px) {
  .p_company .license .wrapper .ttl {
    padding: 5px 20px;
    font-size: 20px;
    left: 5px;
  }
}

.p_company .license .wrapper .ttl span {
  font-size: 18px;
  font-family: "Oleo Script", system-ui;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .p_company .license .wrapper .ttl span {
    font-size: 16px;
  }
}

.p_company .license .wrapper .blue {
  background-color: #38a4a8;
}

.p_company .license .wrapper .item {
  width: 48%;
}

.p_company .license .wrapper .item img {
  aspect-ratio: 370/250;
  object-fit: cover;
}

.p_company .license .wrapper .award img {
  aspect-ratio: unset;
  height: auto;
}

.map .box {
  background-color: #a5ca3c;
  border-radius: 10px;
}

.map .box .map {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .map .box .map {
    padding: 10px;
  }
}

.map .box .map iframe {
  aspect-ratio: 1360/620;
}

.map .box .bottom {
  display: flex;
  align-items: center;
  gap: 50px;
  padding: 40px clamp(180px, 13.02083vw, 250px) 40px clamp(40px, 7.8125vw, 150px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .map .box .bottom {
    flex-direction: column;
    padding: 15px 15px 30px;
    gap: 0;
  }
}

.map .box .bottom .code {
  font-size: 20px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .map .box .bottom .code {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .map .box .bottom .map_btn {
    margin-top: 15px;
  }
}

.map .box .bottom .map_btn a {
  display: block;
  background-color: #fff;
  padding: 12px 40px 12px 118px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #2f2f2f;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .map .box .bottom .map_btn a {
    padding: 12px 40px 12px 65px;
    font-size: 14px;
  }
}

.map .box .bottom .map_btn a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-map.webp) center center/cover no-repeat;
  width: 94px;
  height: 94px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .map .box .bottom .map_btn a::after {
    width: 60px;
    height: 60px;
  }
}

.map .box .bottom .chara {
  position: absolute;
  bottom: 10px;
  right: clamp(25px, 7.8125vw, 150px);
}

@media screen and (max-width: 767px) {
  .map .box .bottom .chara {
    bottom: -70px;
    right: -15px;
  }
}

.map .box .bottom .chara img {
  width: clamp(150px, 10.9375vw, 210px);
}

@media screen and (max-width: 767px) {
  .map .box .bottom .chara img {
    width: 100px;
  }
}

/* ===============================================
# 採用情報
=============================================== */
.mv_recruit {
  background: url(../img/mv-recruit.webp);
}

.recruit .environment {
  max-width: 1100px;
  margin: 0 auto;
}

.recruit .environment .ttl {
  text-align: center;
}

.recruit .environment .ttl .en_ttl {
  font-size: clamp(56px, 3.4375vw, 66px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  color: #005f83;
}

@media screen and (max-width: 767px) {
  .recruit .environment .ttl .en_ttl {
    font-size: 36px;
  }
}

.recruit .environment .ttl .ja_ttl {
  font-size: 26px;
  font-weight: 700;
  color: #241b19;
}

@media screen and (max-width: 767px) {
  .recruit .environment .ttl .ja_ttl {
    font-size: 20px;
  }
}

.recruit .environment .wrapper {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .recruit .environment .wrapper {
    flex-direction: column;
    margin-top: 30px;
  }
}

.recruit .environment .wrapper .cotent {
  width: 51.82%;
  font-weight: 700;
  color: #292929;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .recruit .environment .wrapper .cotent {
    width: 100%;
  }
}

.recruit .environment .wrapper .image {
  width: 420px;
}

@media screen and (max-width: 767px) {
  .recruit .environment .wrapper .image {
    width: 100%;
    margin-top: 20px;
  }
}

.recruit .require {
  margin-top: 130px;
}

@media screen and (max-width: 767px) {
  .recruit .require {
    margin-top: 60px;
  }
}

.recruit .require .bg {
  padding-bottom: 200px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .recruit .require .bg {
    padding-bottom: 80px;
  }
}

.recruit .require .bg::after {
  position: absolute;
  content: "";
  background-color: #efebd5;
  width: 95%;
  height: 100%;
  right: 0;
  top: 45px;
  z-index: -1;
  border-radius: 27.864583vw 0 0 27.864583vw;
}

.recruit .require .require_ttl {
  display: inline-block;
  color: #dd8622;
}

.recruit .require .require_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1.19;
}

@media screen and (max-width: 767px) {
  .recruit .require .require_ttl .en_ttl {
    font-size: 36px;
  }
}

.recruit .require .require_ttl .en_ttl span {
  display: block;
  text-align: right;
  margin-left: 150px;
}

@media screen and (max-width: 767px) {
  .recruit .require .require_ttl .en_ttl span {
    margin-left: 30px;
  }
}

.recruit .require .require_ttl .ja_ttl {
  font-size: 26px;
  font-weight: 700;
  text-align: right;
}

.recruit .require .tab_wrapper {
  margin-top: 60px;
}

.recruit .require .tab_wrapper ul {
  display: flex;
  justify-content: center;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .recruit .require .tab_wrapper ul {
    gap: 0px;
    justify-content: space-between;
  }
}

.recruit .require .tab_wrapper ul li a {
  font-size: 20px;
  font-weight: 700;
  color: #dd8622;
  background-color: #fff;
  padding: 25px 90px;
  border-radius: 999px;
  border: 1px solid #dd8622;
}

@media screen and (max-width: 767px) {
  .recruit .require .tab_wrapper ul li a {
    font-size: 16px;
    padding: 10px 45px;
  }
}

.recruit .require .tab_wrapper ul li a.is-active {
  background-color: #dd8622;
  color: #fff;
}

.recruit .require .wrapper {
  max-width: 1100px;
  margin: 90px auto 0;
}

@media screen and (max-width: 767px) {
  .recruit .require .wrapper {
    margin-top: 50px;
  }
}

.recruit .require .wrapper .req-area {
  display: none;
}

.recruit .require .wrapper .req-area.is-show {
  display: block;
}

.recruit .require .wrapper dl {
  display: flex;
  font-size: 18px;
  font-weight: 700;
  color: #292929;
  margin-top: 40px;
  border-bottom: 1px dotted #141414;
  padding-bottom: 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .recruit .require .wrapper dl {
    flex-direction: column;
    padding-bottom: 20px;
    margin-top: 20px;
  }
}

.recruit .require .wrapper dl::before {
  position: absolute;
  content: "";
  border-bottom: 1px solid #dd8622;
  width: 300px;
  bottom: -1px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .recruit .require .wrapper dl::before {
    width: 100px;
  }
}

.recruit .require .wrapper dl:first-child {
  margin-top: 0;
}

.recruit .require .wrapper dl dt {
  width: 300px;
  padding-left: 100px;
}

@media screen and (max-width: 767px) {
  .recruit .require .wrapper dl dt {
    width: 100%;
    padding-left: 0;
  }
}

.recruit .require .wrapper dl dd {
  width: calc(100% - 300px);
  padding-left: 70px;
  line-height: 1.66;
}

@media screen and (max-width: 767px) {
  .recruit .require .wrapper dl dd {
    width: 100%;
    padding-left: 15px;
    margin-top: 15px;
    font-size: 16px;
  }
}

.recruit .require .wrapper dl dd a {
  color: #292929;
}

/* ===============================================
# 防水塗装
=============================================== */
.mv_waterfroof {
  background: url(../img/mv-waterproof.webp);
}

.waterproof {
  padding-top: 70px;
}

@media screen and (max-width: 767px) {
  .waterproof {
    padding-top: 40px;
  }
}

.waterproof .case {
  margin-top: 130px;
}

@media screen and (max-width: 767px) {
  .waterproof .case {
    margin-top: 60px;
  }
}

.waterproof .case .bg {
  padding: 90px 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .case .bg {
    padding: 30px 5px 40px;
  }
}

.waterproof .case .bg::after {
  position: absolute;
  content: "";
  background-color: #d3dadd;
  width: 95%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 80px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .waterproof .case .bg::after {
    border-radius: 40px;
  }
}

.waterproof .case .ttl {
  text-align: center;
}

.waterproof .case .ttl .ja_ttl {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #1590be;
  background-color: #fff;
  padding: 10px 25px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .case .ttl .ja_ttl {
    font-size: 16px;
  }
}

.waterproof .case .ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/t-works-ttl.png) center center/cover no-repeat;
  width: 20px;
  height: 32px;
  bottom: -25px;
  left: 30px;
}

.waterproof .case .ttl .en_ttl {
  padding-left: 50px;
  font-size: 70px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  color: #fff;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .case .ttl .en_ttl {
    font-size: 36px;
    padding-left: 0;
    margin-top: 10px;
  }
}

.waterproof .case .ttl .en_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/chara5.webp) center center/cover no-repeat;
  width: 128px;
  height: 166px;
  right: 20%;
  right: calc(50% - 400px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .waterproof .case .ttl .en_ttl::after {
    width: 71px;
    height: 92px;
    right: -5%;
  }
}

.waterproof .case .wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}

@media screen and (max-width: 767px) {
  .waterproof .case .wrapper {
    margin-top: 15px;
  }
}

.waterproof .case .wrapper .item {
  width: 32.5%;
  background-color: #fff;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .waterproof .case .wrapper .item {
    width: 48%;
  }
}

.waterproof .case .wrapper .item .item_ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #1590be;
  padding: clamp(20px, 1.35416vw, 26px);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .waterproof .case .wrapper .item .item_ttl {
    font-size: 16px;
    padding: 5px;
  }
}

.waterproof .kind {
  padding-top: 168px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind {
    padding-top: 120px;
  }
}

.waterproof .kind .ttl {
  text-align: center;
  position: relative;
}

.waterproof .kind .ttl .en_ttl {
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  font-size: clamp(80px, 6.77083vw, 130px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: rgba(125, 140, 147, 0.06);
}

@media screen and (max-width: 767px) {
  .waterproof .kind .ttl .en_ttl {
    font-size: 60px;
  }
}

.waterproof .kind .ttl .ja_ttl {
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
  color: #1590be;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .ttl .ja_ttl {
    font-size: 22px;
  }
}

.waterproof .kind .ttl .ja_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.waterproof .kind .ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.waterproof .kind .wrapper {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper {
    margin-top: 40px;
  }
}

.waterproof .kind .wrapper .item {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  background-color: #fff;
  border-radius: 10px;
  margin-top: 20px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item {
    flex-direction: column;
    gap: 0;
  }
}

.waterproof .kind .wrapper .item:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content {
    padding: 0 15px;
  }
}

.waterproof .kind .wrapper .item .content .up {
  padding-left: 220px;
  padding-top: 50px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .up {
    padding-left: 80px;
    padding-top: 15px;
  }
}

.waterproof .kind .wrapper .item .content .up .num {
  position: absolute;
  top: 0;
  left: 90px;
  border-radius: 0 0 10px 10px;
  color: #fff;
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  text-align: center;
  padding: 40px 10px 15px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .up .num {
    padding: 20px 10px 10px;
    left: 20px;
  }
}

.waterproof .kind .wrapper .item .content .up .num span {
  font-size: 54px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .up .num span {
    font-size: 40px;
  }
}

.waterproof .kind .wrapper .item .content .up .item_ttl {
  font-size: clamp(28px, 1.6666vw, 32px);
  font-weight: 700;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .up .item_ttl {
    font-size: 22px;
  }
}

.waterproof .kind .wrapper .item .content .up .read_ttl {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .up .read_ttl {
    font-size: 18px;
  }
}

.waterproof .kind .wrapper .item .content .bottom {
  margin-top: 30px;
  padding-left: 110px;
  font-weight: 700;
  line-height: 2.25;
  color: #292929;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .content .bottom {
    margin-top: 20px;
    padding-left: 0;
    line-height: 1.8;
  }
}

.waterproof .kind .wrapper .item .image {
  padding: 15px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .image {
    text-align: center;
  }
}

.waterproof .kind .wrapper .item .image img {
  width: 250px;
}

@media screen and (max-width: 767px) {
  .waterproof .kind .wrapper .item .image img {
    aspect-ratio: 250/180;
    object-fit: cover;
    border-radius: 10px;
  }
}

.waterproof .kind .wrapper .green .num {
  background-color: #a5ca3c;
}

.waterproof .kind .wrapper .green .item_ttl {
  color: #a5ca3c;
}

.waterproof .kind .wrapper .blue .num {
  background-color: #1590be;
}

.waterproof .kind .wrapper .blue .item_ttl {
  color: #1590be;
}

.waterproof .kind .wrapper .navy .num {
  background-color: #015986;
}

.waterproof .kind .wrapper .navy .item_ttl {
  color: #015986;
}

.waterproof .work_case {
  margin-top: 140px;
}

@media screen and (max-width: 767px) {
  .waterproof .work_case {
    margin-top: 60px;
  }
}

.waterproof .proof_flow {
  margin-top: 110px;
}

@media screen and (max-width: 767px) {
  .waterproof .proof_flow {
    margin-top: 80px;
  }
}

.waterproof .proof_flow .contact_common {
  margin-top: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .waterproof .proof_flow .contact_common {
    margin-top: 30px;
  }
}

.waterproof .proof_flow .contact_common .read {
  line-height: 1.54;
  color: #292929;
  font-weight: 700;
}

.waterproof .proof_flow .contact_common .read span {
  color: #ef9338;
}

.waterproof .proof_flow .contact_common .contact_btn {
  margin-top: 40px;
}

.waterproof .proof_flow .contact_common .contact_btn a {
  background-color: #e88b30;
}

/* ===============================================
# 火災保険
=============================================== */
.mv_insurance {
  background: url(../img/mv-insurance.webp);
}

.insurance .case {
  margin-top: 130px;
}

@media screen and (max-width: 767px) {
  .insurance .case {
    margin-top: 60px;
  }
}

.insurance .case .bg {
  padding: 90px 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .case .bg {
    padding: 30px 0px;
  }
}

.insurance .case .bg::after {
  position: absolute;
  content: "";
  background-color: #d3dadd;
  width: 95%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 80px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .insurance .case .bg::after {
    border-radius: 30px;
  }
}

.insurance .case .ttl {
  text-align: center;
}

.insurance .case .ttl .ja_ttl {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #1590be;
  background-color: #fff;
  padding: 10px 25px;
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .case .ttl .ja_ttl {
    font-size: 18px;
  }
}

.insurance .case .ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/t-works-ttl.png) center center/cover no-repeat;
  width: 20px;
  height: 32px;
  bottom: -25px;
  left: 30px;
}

.insurance .case .ttl .en_ttl {
  padding-left: 50px;
  font-size: 70px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  color: #fff;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .case .ttl .en_ttl {
    font-size: 36px;
  }
}

.insurance .case .ttl .en_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/chara5.webp) center center/cover no-repeat;
  width: 128px;
  height: 166px;
  right: calc(50% - 370px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .insurance .case .ttl .en_ttl::after {
    width: 84px;
    height: 103px;
    right: unset;
    left: 0;
    top: unset;
    transform: none;
    bottom: -70px;
  }
}

.insurance .case .wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px 0;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper {
    margin: 40px 20px 0;
  }
}

.insurance .case .wrapper .item {
  background-color: #fff;
  width: 49.29%;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item {
    width: 100%;
  }
}

.insurance .case .wrapper .item .up {
  display: flex;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item .up {
    flex-direction: column;
  }
}

.insurance .case .wrapper .item .up .imege {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item .up .imege {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item .up .imege img {
    border-radius: 10px 10px 0 0;
  }
}

.insurance .case .wrapper .item .up .txt {
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  font-weight: 700;
  color: #292929;
  line-height: 2.25;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item .up .txt {
    width: 100%;
    padding: 10px;
    line-height: 1.5;
  }
}

.insurance .case .wrapper .item .item_ttl {
  color: #fff;
  background-color: #5482a3;
  border-radius: 0 0 10px 10px;
  padding: clamp(15px, 1.35416vw, 26px);
  text-align: center;
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .insurance .case .wrapper .item .item_ttl {
    font-size: 18px;
    padding: 10px;
  }
}

.insurance .insurance_flow {
  padding-top: 130px;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow {
    padding-top: 80px;
  }
}

.insurance .insurance_flow .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 20px 0;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper {
    flex-direction: column;
  }
}

.insurance .insurance_flow .wrapper .item {
  width: 49.29%;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 25px;
  padding: 40px 40px 40px clamp(100px, 6.77083vw, 130px);
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item {
    flex-direction: column;
    width: 100%;
    padding: 40px 15px 40px 15px;
    gap: 10px;
  }
}

.insurance .insurance_flow .wrapper .item .step {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #f7ad18;
  border-radius: 0 10px 10px 0;
  padding: 20px 40px 20px 40px;
  color: #fff;
  font-family: "Oleo Script", system-ui;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item .step {
    top: 110px;
    transform: none;
    padding: 10px 25px 10px 35px;
  }
}

.insurance .insurance_flow .wrapper .item .step span {
  font-size: 40px;
  vertical-align: middle;
  margin-left: 5px;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item .step span {
    font-size: 36px;
  }
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item .icon {
    margin-left: auto;
  }
}

.insurance .insurance_flow .wrapper .item .icon img {
  width: 200px;
}

.insurance .insurance_flow .wrapper .item .content .ttl {
  font-size: clamp(24px, 1.4583vw, 28px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #e88b30;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item .content .ttl {
    font-size: 20px;
  }
}

.insurance .insurance_flow .wrapper .item .content .txt {
  font-weight: 700;
  color: #292929;
  line-height: 2;
  margin-top: 25px;
  padding-left: 40px;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item .content .txt {
    margin-top: 10px;
    padding-left: 10px;
  }
}

.insurance .insurance_flow .wrapper .item_ttl-box {
  background-color: transparent;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item_ttl-box {
    padding: 0;
  }
}

.insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl {
  padding-left: clamp(50px, 7.8125vw, 150px);
  color: #dd8622;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl {
    padding-left: 50px;
  }
}

.insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl .en_ttl {
    font-size: 36px;
  }
}

.insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl .ja_ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item_ttl-box .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.insurance .insurance_flow .wrapper .item_ttl-box .chara {
  position: absolute;
  left: 0;
  bottom: -30px;
  z-index: 1;
}

.insurance .insurance_flow .wrapper .item_ttl-box .chara img {
  width: clamp(200px, 14.0625vw, 270px);
}

@media screen and (max-width: 767px) {
  .insurance .insurance_flow .wrapper .item_ttl-box .chara img {
    width: 90px;
  }
}

.insurance .caution {
  padding-top: 110px;
}

@media screen and (max-width: 767px) {
  .insurance .caution {
    padding-top: 60px;
  }
}

.insurance .caution .ttl_image {
  text-align: center;
}

.insurance .caution .ttl_image img {
  max-width: 1200px;
}

.insurance .caution .wrapper {
  margin-top: 60px;
  display: flex;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper {
    margin-top: 30px;
    flex-direction: column;
  }
}

.insurance .caution .wrapper .item {
  text-align: center;
  padding: 15px 40px;
  border-right: 1px dotted #707070;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper .item {
    padding: 30px 0;
    border-right: none;
    border-top: 1px dotted #707070;
  }
}

.insurance .caution .wrapper .item:first-child {
  border-left: 1px dotted #707070;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper .item:first-child {
    border-left: none;
    border-top: none;
  }
}

.insurance .caution .wrapper .item .icon img {
  width: 130px;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper .item .icon img {
    width: 100px;
  }
}

.insurance .caution .wrapper .item .ttl {
  margin-top: 20px;
  font-size: 23px;
  font-weight: 700;
  color: #ee402f;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper .item .ttl {
    font-size: 20px;
  }
}

.insurance .caution .wrapper .item .txt {
  margin-top: 20px;
  font-weight: 700;
  color: #333333;
}

@media screen and (max-width: 767px) {
  .insurance .caution .wrapper .item .txt {
    margin-top: 15px;
  }
}

.insurance .safe {
  padding-top: 150px;
}

@media screen and (max-width: 767px) {
  .insurance .safe {
    padding-top: 60px;
  }
}

.insurance .safe .bg {
  padding: 120px 0 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .safe .bg {
    padding: 60px 0 0;
  }
}

.insurance .safe .bg::after {
  position: absolute;
  content: "";
  background-color: #fff;
  width: 95%;
  height: 93%;
  left: 0;
  top: 0;
  border-radius: 0 999px 999px 0;
  z-index: -1;
}

.insurance .safe .up {
  text-align: center;
}

.insurance .safe .up .up_read {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #5fa2d1;
  position: relative;
}

@media screen and (max-width: 767px) {
  .insurance .safe .up .up_read {
    font-size: 18px;
  }
}

.insurance .safe .up .up_read::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.insurance .safe .up .up_read::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.insurance .safe .up .sec_ttl {
  color: #015986;
  font-weight: 700;
}

.insurance .safe .up .sec_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .insurance .safe .up .sec_ttl .en_ttl {
    font-size: 36px;
    margin-top: 10px;
  }
}

.insurance .safe .up .sec_ttl .en_ttl span {
  margin-left: 200px;
}

@media screen and (max-width: 767px) {
  .insurance .safe .up .sec_ttl .en_ttl span {
    margin-left: 0px;
  }
}

.insurance .safe .up .sec_ttl .ja_ttl {
  font-size: 23px;
  font-family: "zen-kaku-gothic-antique", sans-serif;
}

@media screen and (max-width: 767px) {
  .insurance .safe .up .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.insurance .safe .wrapper {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .insurance .safe .wrapper {
    margin-top: 30px;
    flex-wrap: wrap;
    gap: 15px 0;
  }
}

.insurance .safe .wrapper .item {
  width: 23.57%;
  background-color: #419ebd;
  border-radius: 20px;
  text-align: center;
  padding: 60px 0 50px;
}

@media screen and (max-width: 767px) {
  .insurance .safe .wrapper .item {
    width: 100%;
    padding: 30px 0 20px;
  }
}

.insurance .safe .wrapper .item .ttl {
  font-size: clamp(18px, 1.19792vw, 23px);
  font-weight: 700;
  color: #fff;
  padding-bottom: 20px;
  border-bottom: 1px dotted #fff;
}

@media screen and (max-width: 767px) {
  .insurance .safe .wrapper .item .ttl {
    font-size: 18px;
    padding-bottom: 10px;
  }
}

.insurance .safe .wrapper .item .ttl span {
  font-size: clamp(20px, 1.25vw, 24px);
  color: #f8ff3e;
}

@media screen and (max-width: 767px) {
  .insurance .safe .wrapper .item .ttl span {
    font-size: 20px;
  }
}

.insurance .safe .wrapper .item .txt {
  font-weight: 700;
  line-height: 2;
  color: #fff;
  padding: 20px 30px 0;
}

@media screen and (max-width: 767px) {
  .insurance .safe .wrapper .item .txt {
    padding: 10px 15px 0;
    line-height: 1.8;
  }
}

.insurance .safe .read {
  margin-top: 60px;
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  color: #292929;
  line-height: 1.61;
}

@media screen and (max-width: 767px) {
  .insurance .safe .read {
    font-size: 16px;
    margin-top: 30px;
    text-align: justify;
  }
}

.insurance .safe .contact_btn {
  margin-top: 100px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .insurance .safe .contact_btn {
    margin-top: 60px;
  }
}

.insurance .safe .contact_btn a {
  background-color: #a5ca3c;
}

/* ===============================================
# 屋根工事
=============================================== */
.mv_cover {
  background: url(../img/mv-cover.webp);
}

.roof {
  margin-top: -100px;
}

@media screen and (max-width: 767px) {
  .roof {
    margin-top: 0;
  }
}

.roof .about .up {
  padding-left: 240px;
  padding-bottom: 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .about .up {
    padding-left: 0;
  }
}

.roof .about .up .imege_human {
  position: absolute;
  left: 20px;
  bottom: -20px;
}

@media screen and (max-width: 767px) {
  .roof .about .up .imege_human {
    display: none;
  }
}

.roof .about .up .imege_human img {
  width: clamp(120px, 8.59375vw, 165px);
}

.roof .about .up .image_cover-be-af img {
  max-width: clamp(450px, 35.2083vw, 676px);
  width: 100%;
}

.roof .about .bottom {
  background-color: #1d5c86;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 35px 0;
}

@media screen and (max-width: 767px) {
  .roof .about .bottom {
    flex-direction: column;
  }
}

.roof .about .bottom .ttl {
  display: flex;
  justify-content: center;
  font-size: clamp(24px, 1.45833vw, 28px);
  font-weight: 700;
  line-height: 1.14;
  color: #98f2f2;
  width: 720px;
  width: 51.43%;
  text-align: left;
  border-right: 1px dotted #ffffff;
  padding: 10px 10px;
}

@media screen and (max-width: 767px) {
  .roof .about .bottom .ttl {
    font-size: 18px;
    width: 100%;
    border-right: none;
    border-bottom: 1px dotted #ffffff;
    padding: 15px;
    line-height: 1.5;
  }
}

.roof .about .bottom .ttl span {
  position: relative;
}

.roof .about .bottom .ttl span::after {
  position: absolute;
  content: "Check!!";
  font-size: 16px;
  font-family: "Oleo Script", system-ui;
  color: #ffffff;
  left: -46px;
  top: -12px;
  rotate: -21deg;
}

@media screen and (max-width: 767px) {
  .roof .about .bottom .ttl span::after {
    left: -13px;
    top: -25px;
  }
}

.roof .about .bottom .txt {
  font-weight: 700;
  line-height: 2;
  color: #fbfbfb;
  width: calc(100% - 720px);
  width: 48.57%;
  padding: 0 80px 0 36px;
}

@media screen and (max-width: 767px) {
  .roof .about .bottom .txt {
    width: 100%;
    padding: 10px 15px 0;
    line-height: 1.8;
  }
}

.roof .cover_about {
  margin-top: 130px;
}

@media screen and (max-width: 767px) {
  .roof .cover_about {
    margin-top: 60px;
  }
}

.roof .cover_about .box {
  padding: 100px 100px 50px;
  background-color: #fff;
  border-radius: 80px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box {
    padding: 40px 15px 30px;
    border-radius: 30px;
  }
}

.roof .cover_about .box .up {
  position: relative;
}

.roof .cover_about .box .up .sec_ttl {
  font-size: clamp(50px, 3.125vw, 60px);
  font-weight: 700;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .up .sec_ttl {
    font-size: 20px;
  }
}

.roof .cover_about .box .up .sec_ttl span {
  font-size: clamp(60px, 3.90625vw, 75px);
  color: #044493;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .up .sec_ttl span {
    font-size: 24px;
  }
}

.roof .cover_about .box .up .read {
  font-size: 30px;
  font-weight: 700;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .up .read {
    font-size: 18px;
  }
}

.roof .cover_about .box .up .read span {
  font-size: 42px;
  color: #095baa;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .up .read span {
    font-size: 20px;
  }
}

.roof .cover_about .box .up .txt {
  margin-top: 40px;
  font-size: 18px;
  font-weight: 700;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .up .txt {
    margin-top: 20px;
    font-size: 16px;
  }
}

.roof .cover_about .box .image_about {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .image_about {
    bottom: unset;
    top: 300px;
  }
}

.roof .cover_about .box .image_about img {
  display: block;
  max-width: 1180px;
  margin: 0 auto;
}

.roof .cover_about .box .bottom {
  position: relative;
  margin-top: 345px;
  background-color: #fef9e4;
  border-radius: 40px;
  text-align: center;
  padding: 30px 40px;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom {
    margin-top: 93%;
    padding: 30px 15px;
  }
}

.roof .cover_about .box .bottom .ttl {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #015986;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom .ttl {
    font-size: 18px;
  }
}

.roof .cover_about .box .bottom .ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.roof .cover_about .box .bottom .ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.roof .cover_about .box .bottom .wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom .wrapper {
    flex-direction: column;
    gap: 15px;
  }
}

.roof .cover_about .box .bottom .wrapper .item {
  background-color: #fff;
  width: 32.14%;
  border-radius: 20px;
  padding: 30px;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom .wrapper .item {
    width: 100%;
    padding: 30px 15px;
  }
}

.roof .cover_about .box .bottom .wrapper .item .item_ttl {
  font-size: 17px;
  font-weight: 700;
  color: #131815;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom .wrapper .item .item_ttl {
    font-size: 16px;
  }
}

.roof .cover_about .box .bottom .wrapper .item .item_ttl span {
  font-size: 20px;
  color: #076c66;
}

@media screen and (max-width: 767px) {
  .roof .cover_about .box .bottom .wrapper .item .item_ttl span {
    font-size: 18px;
  }
}

.roof .cover_about .box .bottom .wrapper .item .txt {
  font-size: 15px;
  font-weight: 700;
  color: #292929;
  line-height: 1.46;
  text-align: left;
  margin-top: 10px;
}

.roof .roof_not {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .roof .roof_not {
    margin-top: 60px;
  }
}

.roof .roof_not .box {
  background-color: #bbc8d5;
  padding: 30px;
  max-width: 1200px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .roof .roof_not .box {
    padding: 10px;
  }
}

.roof .roof_not .box .wrapper {
  background-color: #fff;
  display: flex;
  align-items: center;
  padding-right: 70px;
}

@media screen and (max-width: 767px) {
  .roof .roof_not .box .wrapper {
    flex-direction: column;
    padding-right: 0;
    padding: 30px 15px;
    gap: 15px;
  }
}

.roof .roof_not .box .wrapper .image_icon {
  width: 220px;
  text-align: center;
}

.roof .roof_not .box .wrapper .image_icon img {
  width: 130px;
}

.roof .roof_not .box .wrapper .content {
  width: calc(100% - 220px);
}

@media screen and (max-width: 767px) {
  .roof .roof_not .box .wrapper .content {
    width: 100%;
  }
}

.roof .roof_not .box .wrapper .content .ttl {
  font-size: 26px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #5a8baa;
}

@media screen and (max-width: 767px) {
  .roof .roof_not .box .wrapper .content .ttl {
    font-size: 18px;
    text-align: center;
  }
}

.roof .roof_not .box .wrapper .content .txt {
  margin-top: 10px;
  font-weight: 700;
  line-height: 1.375;
  color: #292929;
}

@media screen and (max-width: 767px) {
  .roof .roof_not .box .wrapper .content .txt {
    text-align: justify;
  }
}

.roof .roof_menu {
  margin-top: 150px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu {
    margin-top: 60px;
  }
}

.roof .roof_menu .sec_ttl {
  text-align: center;
  position: relative;
}

.roof .roof_menu .sec_ttl .ja_ttl {
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
  color: #1590be;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .sec_ttl .ja_ttl {
    font-size: 22px;
  }
}

.roof .roof_menu .sec_ttl .ja_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.roof .roof_menu .sec_ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.roof .roof_menu .sec_ttl .en_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 131px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  line-height: 1;
  letter-spacing: 0.09em;
  color: rgba(125, 140, 147, 0.06);
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .sec_ttl .en_ttl {
    font-size: 80px;
  }
}

.roof .roof_menu .wrapper {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper {
    margin-top: 30px;
  }
}

.roof .roof_menu .wrapper .item {
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item {
    flex-direction: column;
    padding-bottom: 15px;
  }
}

.roof .roof_menu .wrapper .item:first-child {
  margin-top: 0;
}

.roof .roof_menu .wrapper .item .left {
  padding: 0 clamp(50px, 4.6875vw, 90px) 50px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left {
    padding: 0 15px 20px;
  }
}

.roof .roof_menu .wrapper .item .left .up {
  display: flex;
  gap: clamp(20px, 2.60417vw, 50px);
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up {
    gap: 15px;
  }
}

.roof .roof_menu .wrapper .item .left .up .num {
  display: inline-block;
  background-color: #a5ca3c;
  color: #fff;
  font-size: 54px;
  font-family: "Oleo Script", system-ui;
  text-align: center;
  border-radius: 0 0 10px 10px;
  line-height: 1;
  height: fit-content;
  padding: 30px 10px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .num {
    height: fit-content;
    padding: 20px 10px 20px;
    font-size: 32px;
  }
}

.roof .roof_menu .wrapper .item .left .up .num span {
  font-size: 20px;
}

.roof .roof_menu .wrapper .item .left .up .up_right {
  margin-top: 35px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right {
    margin-top: 15px;
  }
}

.roof .roof_menu .wrapper .item .left .up .up_right .item_ttl {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #a5ca3c;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right .item_ttl {
    font-size: 20px;
  }
}

.roof .roof_menu .wrapper .item .left .up .up_right .meta {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right .meta {
    flex-direction: column;
    margin-top: 10px;
    gap: 5px;
  }
}

.roof .roof_menu .wrapper .item .left .up .up_right .meta dl {
  display: flex;
  align-items: center;
  color: #292929;
  background-color: #efefef;
  border-radius: 10px;
  font-weight: 700;
  padding: 10px 20px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right .meta dl {
    padding: 5px 10px;
    justify-content: space-between;
    flex-direction: column;
  }
}

.roof .roof_menu .wrapper .item .left .up .up_right .meta dl dt {
  margin-right: 8px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right .meta dl dt {
    font-size: 14px;
    font-weight: 900;
  }
}

.roof .roof_menu .wrapper .item .left .up .up_right .meta dl dd {
  font-size: clamp(18px, 1.09375vw, 21px);
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .up .up_right .meta dl dd {
    font-size: 14px;
  }
}

.roof .roof_menu .wrapper .item .left .center {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .center {
    margin-top: 15px;
  }
}

.roof .roof_menu .wrapper .item .left .center .read {
  font-weight: 700;
  line-height: 2.25;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .center .read {
    line-height: 1.8;
    text-align: justify;
  }
}

.roof .roof_menu .wrapper .item .left .bottom {
  margin-top: 25px;
  text-align: center;
}

.roof .roof_menu .wrapper .item .left .bottom .bottom_wrapper {
  display: inline-flex;
  align-items: center;
  background-color: #eaeaea;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .bottom .bottom_wrapper {
    flex-wrap: wrap;
    padding-bottom: 10px;
    gap: 10px;
  }
}

.roof .roof_menu .wrapper .item .left .bottom .space {
  background-color: #808080;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 15px;
  border-radius: 10px;
  height: stretch;
  position: relative;
}

.roof .roof_menu .wrapper .item .left .bottom .space::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(45deg);
  right: 1.5px;
  top: 4.5px;
}

.roof .roof_menu .wrapper .item .left .bottom .space::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(-135deg);
  left: 1.5px;
  bottom: 4.5px;
}

.roof .roof_menu .wrapper .item .left .bottom .txt {
  background-color: #fff;
  color: #808080;
  font-size: 17px;
  font-weight: 700;
  padding: 4px 13px;
  border-radius: 15px;
  margin: 0 20px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .bottom .txt {
    font-size: 15px;
  }
}

.roof .roof_menu .wrapper .item .left .bottom .price {
  font-size: 17px;
  font-weight: 700;
  color: #3b3b3b;
  padding-right: 45px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .bottom .price {
    margin: 0 auto;
    padding-right: 0;
    line-height: 1;
    font-size: 15px;
  }
}

.roof .roof_menu .wrapper .item .left .bottom .price span {
  color: #eea500;
  font-size: 50px;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  vertical-align: sub;
  margin: 0 5px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .left .bottom .price span {
    font-size: 30px;
  }
}

.roof .roof_menu .wrapper .item .right {
  display: flex;
  align-items: center;
  padding-right: 30px;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .right {
    padding-right: 0;
  }
}

.roof .roof_menu .wrapper .item .right img {
  aspect-ratio: 400 / 400;
  width: 400px;
  border-radius: 10px;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .roof .roof_menu .wrapper .item .right img {
    width: 250px;
    margin: 0 auto;
  }
}

.roof .roof_menu .wrapper .blue .num {
  background-color: #1590be !important;
}

.roof .roof_menu .wrapper .blue .item_ttl {
  color: #1590be !important;
}

.roof .roof_menu .wrapper .navy .num {
  background-color: #015986 !important;
}

.roof .roof_menu .wrapper .navy .item_ttl {
  color: #015986 !important;
}

.roof .work_case {
  margin-top: 140px;
}

@media screen and (max-width: 767px) {
  .roof .work_case {
    margin-top: 60px;
  }
}

.roof .roof_flow {
  margin-top: 100px;
}

.roof .roof_qa {
  margin-top: 180px;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa {
    margin-top: 60px;
  }
}

.roof .roof_qa .bg {
  padding: 130px 0 180px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg {
    padding: 60px 0;
  }
}

.roof .roof_qa .bg::after {
  position: absolute;
  content: "";
  background-color: #efebd5;
  width: 95%;
  height: 100%;
  right: 0;
  top: 0;
  z-index: -1;
  border-radius: 27.864583vw 0 0 27.864583vw;
}

.roof .roof_qa .bg .up {
  text-align: center;
  position: relative;
}

.roof .roof_qa .bg .up .image {
  position: absolute;
  bottom: 0;
  left: 10%;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .up .image {
    left: 0;
  }
}

.roof .roof_qa .bg .up .image img {
  width: clamp(250px, 18.75vw, 360px);
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .up .image img {
    width: 120px;
  }
}

.roof .roof_qa .bg .up .sec_ttl {
  display: inline-block;
  font-weight: 700;
  color: #dd8622;
}

.roof .roof_qa .bg .up .sec_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .up .sec_ttl .en_ttl {
    font-size: 36px;
  }
}

.roof .roof_qa .bg .up .sec_ttl .ja_ttl {
  font-size: 26px;
  text-align: right;
  padding-left: 100px;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .up .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.roof .roof_qa .bg .wrapper {
  margin: 50px auto 0;
  max-width: 1010px;
}

.roof .roof_qa .bg .wrapper dl {
  font-weight: 700;
  line-height: 2.25;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .wrapper dl {
    line-height: 1.8;
    margin-top: 40px;
  }
}

.roof .roof_qa .bg .wrapper dl:first-child {
  margin-top: 0;
}

.roof .roof_qa .bg .wrapper dl dt {
  padding-left: 70px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .wrapper dl dt {
    padding-left: 50px;
  }
}

.roof .roof_qa .bg .wrapper dl dt::after {
  position: absolute;
  content: "";
  background: url(../img/icon-Q.webp) center center/cover no-repeat;
  width: 40px;
  height: 40px;
  top: 0;
  left: 0;
}

.roof .roof_qa .bg .wrapper dl dd {
  padding-left: 70px;
  margin-top: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .roof .roof_qa .bg .wrapper dl dd {
    padding-left: 50px;
    margin-top: 20px;
  }
}

.roof .roof_qa .bg .wrapper dl dd::after {
  position: absolute;
  content: "";
  background: url(../img/icon-A.webp) center center/cover no-repeat;
  width: 40px;
  height: 40px;
  left: 0;
  top: 0;
}

/* ===============================================
# ドローン調査
=============================================== */
.mv_drone {
  background: url(../img/mv-drone.webp);
}

.drone .about {
  margin-top: 220px;
}

@media screen and (max-width: 767px) {
  .drone .about {
    margin-top: 100px;
  }
}

.drone .about .box {
  background-color: #fff;
  border-radius: 80px;
  padding-bottom: 60px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .drone .about .box {
    border-radius: 40px;
    padding-bottom: 30px;
  }
}

.drone .about .box .icon_wrapper {
  position: absolute;
  top: clamp(-150px, -9.375vw, -180px);
  left: clamp(30px, 5.72916vw, 110px);
  display: flex;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .drone .about .box .icon_wrapper {
    gap: 5px;
    left: 0;
    top: -80px;
  }
}

.drone .about .box .icon_wrapper .icon img {
  width: clamp(180px, 11.97916vw, 230px);
}

@media screen and (max-width: 767px) {
  .drone .about .box .icon_wrapper .icon img {
    width: 100px;
  }
}

.drone .about .box .up {
  display: flex;
}

.drone .about .box .up .sec_ttl {
  padding: 70px 20px 0 100px;
  max-width: 730px;
  margin-right: auto;
  font-size: clamp(38px, 3.80208vw, 73px);
  font-weight: 700;
  color: #0c3365;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .drone .about .box .up .sec_ttl {
    font-size: 22px;
    padding: 50px 15px 0 30px;
  }
}

.drone .about .box .up .sec_ttl .f-big {
  font-size: clamp(60px, 6.14583vw, 118px);
  color: #076fd1;
}

@media screen and (max-width: 767px) {
  .drone .about .box .up .sec_ttl .f-big {
    font-size: 22px;
  }
}

.drone .about .box .up .sec_ttl .under_line {
  position: relative;
  z-index: 1;
}

.drone .about .box .up .sec_ttl .under_line::after {
  position: absolute;
  content: "";
  background-color: #feea84;
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .drone .about .box .up .sec_ttl .under_line::after {
    height: 10px;
  }
}

.drone .about .box .up .image_illust {
  position: absolute;
  right: 70px;
  top: -80px;
}

@media screen and (max-width: 767px) {
  .drone .about .box .up .image_illust {
    right: -15px;
  }
}

.drone .about .box .up .image_illust img {
  width: clamp(500px, 29.6875vw, 570px);
}

@media screen and (max-width: 767px) {
  .drone .about .box .up .image_illust img {
    width: 170px;
  }
}

.drone .about .box .bottom {
  display: flex;
  margin: 50px 70px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom {
    margin: 20px 15px 0;
    gap: 5px;
  }
}

.drone .about .box .bottom::before {
  position: absolute;
  content: "";
  background-color: #1657a7;
  width: 100%;
  height: 120px;
  border-radius: 15px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom::before {
    height: 100px;
  }
}

.drone .about .box .bottom .imege_shindan {
  padding-left: clamp(40px, 4.1666vw, 80px);
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom .imege_shindan {
    position: absolute;
    padding-left: 10px;
    padding-top: 10px;
  }
}

.drone .about .box .bottom .imege_shindan img {
  width: 230px;
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom .imege_shindan img {
    width: 50px;
  }
}

.drone .about .box .bottom .right_content {
  max-width: 790px;
  margin-left: auto;
}

.drone .about .box .bottom .right_content .ttl {
  font-size: clamp(22px, 1.5625vw, 30px);
  font-weight: 700;
  line-height: 1.4;
  padding: 20px 0 20px 75px;
  color: #fff;
  position: relative;
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom .right_content .ttl {
    padding: 15px 15px 15px 75px;
    font-size: 16px;
    text-align: justify;
  }
}

.drone .about .box .bottom .right_content .ttl::before {
  position: absolute;
  content: "";
  background: url(../img/icon-check.png) center center/cover no-repeat;
  width: 50px;
  height: 50px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom .right_content .ttl::before {
    display: none;
  }
}

.drone .about .box .bottom .right_content .ttl span {
  color: #fcf812;
}

.drone .about .box .bottom .right_content .txt {
  margin-top: 34px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.77;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .drone .about .box .bottom .right_content .txt {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.5;
  }
}

.drone .merit {
  margin-top: 170px;
}

@media screen and (max-width: 767px) {
  .drone .merit {
    margin-top: 80px;
  }
}

.drone .merit .sec_ttl {
  text-align: center;
  position: relative;
}

.drone .merit .sec_ttl .en_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 130px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  color: rgba(125, 140, 147, 0.06);
}

@media screen and (max-width: 767px) {
  .drone .merit .sec_ttl .en_ttl {
    font-size: 60px;
  }
}

.drone .merit .sec_ttl .ja_ttl {
  display: inline-block;
  font-size: 36px;
  font-weight: 700;
  color: #1590be;
  position: relative;
}

@media screen and (max-width: 767px) {
  .drone .merit .sec_ttl .ja_ttl {
    font-size: 22px;
  }
}

.drone .merit .sec_ttl .ja_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.drone .merit .sec_ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.drone .merit .wrapper {
  margin-top: 70px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper {
    flex-direction: column;
    gap: 10px;
    margin-top: 40px;
  }
}

.drone .merit .wrapper .item {
  width: 31.43%;
  background-color: #fff;
  border-radius: 10px;
  padding: 0 clamp(15px, 2.0833vw, 40px) 40px;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item {
    width: 100%;
    padding: 0 15px 20px;
  }
}

.drone .merit .wrapper .item .up {
  display: flex;
  align-items: center;
  gap: clamp(15px, 2.0833vw, 40px);
  padding-left: clamp(0px, 1.04166vw, 20px);
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .up {
    gap: 20px;
  }
}

.drone .merit .wrapper .item .up .num {
  color: #fff;
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  text-align: center;
  line-height: 1;
  padding: 40px 10px 20px;
  border-radius: 0 0 10px 10px;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .up .num {
    padding: 25px 10px 15px;
  }
}

.drone .merit .wrapper .item .up .num span {
  font-size: clamp(36px, 2.8125vw, 54px);
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .up .num span {
    font-size: 32px;
  }
}

.drone .merit .wrapper .item .up .item_ttl {
  font-size: clamp(26px, 1.666vw, 32px);
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .up .item_ttl {
    font-size: 18px;
  }
}

.drone .merit .wrapper .item .image {
  margin-top: -30px;
  position: relative;
  z-index: 0;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .image {
    margin-top: -10px;
  }
}

.drone .merit .wrapper .item .image img {
  aspect-ratio: 360/310;
  object-fit: cover;
  border-radius: 10px;
}

.drone .merit .wrapper .item .txt {
  margin-top: 25px;
  font-weight: 700;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .drone .merit .wrapper .item .txt {
    margin-top: 15px;
    line-height: 1.8;
  }
}

.drone .merit .wrapper .green .num {
  background-color: #a5ca3c;
}

.drone .merit .wrapper .green .item_ttl {
  color: #a5ca3c;
}

.drone .merit .wrapper .blue .num {
  background-color: #1590be;
}

.drone .merit .wrapper .blue .item_ttl {
  color: #1590be;
}

.drone .merit .wrapper .navy .num {
  background-color: #015986;
}

.drone .merit .wrapper .navy .item_ttl {
  color: #015986;
}

.drone .drone_flow {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  .drone .drone_flow {
    margin-top: 80px;
  }
}

/* ===============================================
# アパート・マンション向け工事
=============================================== */
.mv_apart {
  background: url(../img/mv-apart.webp);
}

@media screen and (max-width: 767px) {
  .mv_apart .mv_ttl .en_ttl {
    font-size: 34px !important;
  }
}

@media screen and (max-width: 767px) {
  .mv_apart .mv_ttl .ja_ttl {
    font-size: 16px !important;
  }
}

.apart .about {
  margin-top: 40px;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .apart .about {
    padding-left: 0;
  }
}

.apart .about .wrapper {
  display: flex;
  gap: clamp(30px, 3.64583vw, 70px);
}

@media screen and (max-width: 767px) {
  .apart .about .wrapper .image_human {
    display: none;
  }
}

.apart .about .wrapper .image_human img {
  width: clamp(120px, 8.75vw, 168px);
}

.apart .about .wrapper .right_content .sec_ttl {
  display: inline-block;
  font-size: clamp(30px, 2.1875vw, 42px);
  font-weight: 700;
  color: #095baa;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .about .wrapper .right_content .sec_ttl {
    text-align: center;
    font-size: 20px;
  }
}

.apart .about .wrapper .right_content .sec_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/menu-ttl-line.webp) center center/contain repeat;
  width: 100%;
  height: clamp(10px, 0.8333vw, 16px);
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .apart .about .wrapper .right_content .sec_ttl::after {
    height: 8px;
    bottom: -10px;
  }
}

.apart .about .wrapper .right_content .item_ttl {
  margin-top: 35px;
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .apart .about .wrapper .right_content .item_ttl {
    margin-top: 25px;
    font-size: 18px;
  }
}

.apart .about .wrapper .right_content .txt {
  margin-top: 10px;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  line-height: 1.7;
  color: #242424;
}

@media screen and (max-width: 767px) {
  .apart .about .wrapper .right_content .txt {
    font-size: 16px;
    margin-top: 5px;
  }
}

.apart .recommend {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .apart .recommend {
    margin-top: 40px;
  }
}

.apart .recommend .box {
  background-color: #fff;
  border-radius: 999px;
  padding: 40px 40px 40px 0;
}

@media screen and (max-width: 767px) {
  .apart .recommend .box {
    padding: 15px;
  }
}

.apart .recommend .box .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper {
    flex-direction: column-reverse;
  }
}

.apart .recommend .box .wrapper .left .sec_ttl {
  display: inline-block;
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #fff;
  background-color: #015986;
  padding: 15px clamp(45px, 5.20833vw, 100px);
  border-radius: 999px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .sec_ttl {
    font-size: 16px;
    padding: 10px 25px;
  }
}

.apart .recommend .box .wrapper .left .sec_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-white-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: clamp(20px, 3.125vw, 60px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .sec_ttl::before {
    left: 0;
  }
}

.apart .recommend .box .wrapper .left .sec_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-white-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: clamp(20px, 3.125vw, 60px);
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .sec_ttl::after {
    right: 0;
  }
}

.apart .recommend .box .wrapper .left .left_wrapper {
  margin-top: 50px;
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.60417vw, 50px);
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .left_wrapper {
    flex-direction: column-reverse;
    margin-top: 20px;
    gap: 30px;
  }
}

.apart .recommend .box .wrapper .left .left_wrapper .image_chara img {
  width: 120px;
}

.apart .recommend .box .wrapper .left .left_wrapper .list li {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  color: #242424;
  margin-top: 30px;
  padding-left: 50px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .left_wrapper .list li {
    font-size: 16px;
    padding-left: 35px;
    margin-top: 20px;
  }
}

.apart .recommend .box .wrapper .left .left_wrapper .list li::after {
  position: absolute;
  content: "";
  background: url(../img/icon-check-orange.png) center center/cover no-repeat;
  width: 30px;
  height: 30px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .left .left_wrapper .list li::after {
    width: 20px;
    height: 20px;
  }
}

.apart .recommend .box .wrapper .left .left_wrapper .list li:first-child {
  margin-top: 0;
}

.apart .recommend .box .wrapper .left .left_wrapper .list li span {
  border-bottom: 2px dotted #fac759;
}

.apart .recommend .box .wrapper .right img {
  width: clamp(400px, 26.04167vw, 500px);
}

@media screen and (max-width: 767px) {
  .apart .recommend .box .wrapper .right img {
    width: 100%;
  }
}

.apart .step {
  margin-top: clamp(120px, 7.8125vw, 150px);
}

@media screen and (max-width: 767px) {
  .apart .step {
    margin-top: 80px;
  }
}

.apart .step .up .sec_ttl {
  text-align: center;
  position: relative;
}

.apart .step .up .sec_ttl .en_ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(100px, 6.77083vw, 130px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  color: rgba(1, 89, 134, 0.06);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .apart .step .up .sec_ttl .en_ttl {
    font-size: 50px;
  }
}

.apart .step .up .sec_ttl .ja_ttl {
  display: inline-block;
  font-size: clamp(28px, 1.875vw, 36px);
  font-weight: 700;
  color: #4894bc;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .step .up .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.apart .step .up .sec_ttl .ja_ttl::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.apart .step .up .sec_ttl .ja_ttl::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.apart .step .up .read {
  margin-top: 25px;
  font-size: clamp(18px, 1.04167vw, 20px);
  font-weight: 700;
  line-height: 1.75;
  color: #292929;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .apart .step .up .read {
    margin-top: 15px;
    font-size: 16px;
  }
}

.apart .step .bottom {
  margin-top: 100px;
  background-color: #fef9e4;
  border-radius: 40px;
  position: relative;
}

.apart .step .bottom .bottom_ttl {
  position: absolute;
  left: 50%;
  top: -25px;
  transform: translateX(-50%);
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  letter-spacing: 0.03em;
  color: #fff;
  background-color: #6ba7a3;
  border-radius: 10px;
  padding: 8px 40px;
  width: max-content;
}

@media screen and (max-width: 767px) {
  .apart .step .bottom .bottom_ttl {
    width: 100%;
    font-size: 18px;
    padding: 8px 20px;
  }
}

.apart .step .bottom .wrapper {
  display: flex;
  justify-content: space-between;
  padding: 60px 50px 40px;
}

@media screen and (max-width: 767px) {
  .apart .step .bottom .wrapper {
    flex-direction: column;
    padding: 60px 15px 40px;
    gap: 15px;
  }
}

.apart .step .bottom .wrapper .item {
  width: 32.31%;
  background-color: #fff;
  border-radius: 20px;
  padding: 40px 30px 35px;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .apart .step .bottom .wrapper .item {
    width: 100%;
    padding: 40px 15px 35px;
  }
}

.apart .step .bottom .wrapper .item .item_ttl {
  font-size: 18px;
  font-weight: 700;
  color: #076c66;
}

@media screen and (max-width: 767px) {
  .apart .step .bottom .wrapper .item .item_ttl {
    font-size: 16px;
  }
}

.apart .step .bottom .wrapper .item .item_ttl span {
  font-size: 17px;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  color: #fff;
  margin-right: 20px;
  position: relative;
}

.apart .step .bottom .wrapper .item .item_ttl span::before {
  position: absolute;
  content: "";
  background-color: #076c66;
  width: 30px;
  height: 30px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  z-index: -1;
}

.apart .step .bottom .wrapper .item .txt {
  margin-top: 20px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.46;
  color: #292929;
}

@media screen and (max-width: 767px) {
  .apart .step .bottom .wrapper .item .txt {
    margin-top: 10px;
  }
}

.apart .check {
  max-width: 1200px;
  margin: 80px auto 0;
}

.apart .check .up {
  background-color: #3774b2;
  padding: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .check .up {
    padding: 10px;
  }
}

.apart .check .up .up_box {
  background-color: #fff;
}

.apart .check .up .up_box .wrapper {
  display: flex;
}

.apart .check .up .up_box .wrapper .image_chara {
  position: absolute;
  left: 50px;
  top: -20px;
}

@media screen and (max-width: 767px) {
  .apart .check .up .up_box .wrapper .image_chara {
    left: 10px;
    top: -70px;
  }
}

.apart .check .up .up_box .wrapper .image_chara img {
  width: clamp(150px, 9.63542vw, 185px);
}

@media screen and (max-width: 767px) {
  .apart .check .up .up_box .wrapper .image_chara img {
    width: 80px;
  }
}

.apart .check .up .up_box .wrapper .right_content {
  padding: 30px 100px 30px clamp(210px, 13.02083vw, 250px);
}

@media screen and (max-width: 767px) {
  .apart .check .up .up_box .wrapper .right_content {
    padding: 30px 15px 30px 15px;
  }
}

.apart .check .up .up_box .wrapper .right_content .ttl {
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #3774b2;
}

@media screen and (max-width: 767px) {
  .apart .check .up .up_box .wrapper .right_content .ttl {
    font-size: 18px;
  }
}

.apart .check .up .up_box .wrapper .right_content .txt {
  margin-top: 15px;
  font-weight: 700;
  color: #292929;
  line-height: 1.375;
}

.apart .check .bottom {
  background-color: #ebf8ff;
  padding: 60px 100px 60px 60px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom {
    padding: 30px 15px 200px;
  }
}

.apart .check .bottom .wrapper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper {
    flex-direction: column;
    gap: 15px;
  }
}

.apart .check .bottom .wrapper .left_content .sec_ttl .en_ttl {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #0d4781;
}

.apart .check .bottom .wrapper .left_content .sec_ttl .ja_ttl {
  margin-top: 10px;
  font-size: clamp(26px, 1.82292vw, 35px);
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  color: #3774b2;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper .left_content .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.apart .check .bottom .wrapper .left_content .sec_ttl .ja_ttl span {
  padding-left: 30px;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper .left_content .sec_ttl .ja_ttl span {
    padding-left: 0;
  }
}

.apart .check .bottom .wrapper .left_content .image_illust {
  position: absolute;
  bottom: 0;
  left: 0;
}

.apart .check .bottom .wrapper .left_content .image_illust img {
  width: 432px;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper .left_content .image_illust img {
    width: 100%;
  }
}

.apart .check .bottom .wrapper .right_content .list li {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  color: #242424;
  margin-top: 30px;
  padding-left: 50px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper .right_content .list li {
    font-size: 16px;
    margin-top: 15px;
    padding-left: 30px;
  }
}

.apart .check .bottom .wrapper .right_content .list li::after {
  position: absolute;
  content: "";
  background: url(../img/icon-check-blue.png) center center/cover no-repeat;
  width: 30px;
  height: 30px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .apart .check .bottom .wrapper .right_content .list li::after {
    width: 20px;
    height: 20px;
  }
}

.apart .check .bottom .wrapper .right_content .list li:first-child {
  margin-top: 0;
}

.apart .check .bottom .wrapper .right_content .list li span {
  border-bottom: 2px dotted #3774b2;
}

.apart .constraction {
  max-width: 1250px;
  margin: 140px auto 0;
}

@media screen and (max-width: 767px) {
  .apart .constraction {
    margin-top: 80px;
  }
}

.apart .constraction .wrapper {
  position: relative;
}

.apart .constraction .wrapper .content {
  max-width: 800px;
  margin-right: auto;
}

.apart .constraction .wrapper .content .sec_ttl {
  display: inline-block;
  font-size: clamp(22px, 1.5625vw, 30px);
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #fff;
  background-color: #328100;
  border-radius: 999px;
  padding: 20px 40px;
}

@media screen and (max-width: 767px) {
  .apart .constraction .wrapper .content .sec_ttl {
    display: block;
    font-size: 18px;
    padding: 10px 20px;
    text-align: center;
  }
}

.apart .constraction .wrapper .content .read {
  margin-top: 40px;
  padding-left: 20px;
  font-size: clamp(16px, 1.04167vw, 20px);
  font-weight: 700;
  line-height: 1.75;
  color: #292929;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .apart .constraction .wrapper .content .read {
    font-size: 16px;
    padding-left: 10px;
    margin-top: 20px;
  }
}

.apart .constraction .wrapper .image_human {
  position: absolute;
  right: 0;
  top: 50px;
}

@media screen and (max-width: 767px) {
  .apart .constraction .wrapper .image_human {
    display: none;
  }
}

.apart .constraction .wrapper .image_human img {
  width: clamp(200px, 18.22916vw, 350px);
}

.apart .apart_reason {
  margin-top: 140px;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason {
    margin-top: 60px;
  }
}

.apart .apart_reason .bg {
  position: relative;
}

.apart .apart_reason .bg::after {
  position: absolute;
  content: "";
  background-color: #efebd5;
  width: 95%;
  height: 80%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 999px 0 0 999px;
  z-index: -2;
}

.apart .apart_reason .sec_ttl .en_ttl {
  display: flex;
  justify-content: center;
  font-size: 12vw;
  font-weight: 700;
  font-family: "roboto", sans-serif;
  line-height: 1;
  text-align: center;
  width: 100%;
  color: #fff;
  white-space: nowrap;
}

.apart .apart_reason .sec_ttl .ja_ttl {
  font-size: clamp(36px, 2.1875vw, 42px);
  font-weight: 700;
  text-align: center;
  color: #777e40;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .sec_ttl .ja_ttl {
    font-size: 20px;
  }
}

.apart .apart_reason .sec_ttl .ja_ttl span {
  font-size: clamp(50px, 3.125vw, 60px);
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .sec_ttl .ja_ttl span {
    font-size: 24px;
  }
}

.apart .apart_reason .wrapper {
  margin-top: clamp(60px, 5.20833vw, 100px);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(0px, 4.1666vw, 80px) clamp(20px, 2.08333vw, 40px);
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper {
    margin-top: 40px;
    gap: 20px 10px;
  }
}

.apart .apart_reason .wrapper .item {
  width: 31.42%;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper .item {
    width: 48%;
  }
}

.apart .apart_reason .wrapper .item .image_wrap {
  position: relative;
}

.apart .apart_reason .wrapper .item .image_wrap .image img {
  aspect-ratio: 440/280;
  object-fit: cover;
  border-radius: 10px;
}

.apart .apart_reason .wrapper .item .image_wrap .num {
  position: absolute;
  left: 20px;
  bottom: -20px;
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  background-color: #ffb714;
  color: #fff;
  border-radius: 50%;
  line-height: 1;
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper .item .image_wrap .num {
    width: 60px;
    height: 60px;
    text-align: center;
    left: 5px;
  }
}

.apart .apart_reason .wrapper .item .image_wrap .num span {
  display: contents;
  font-size: 40px;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper .item .image_wrap .num span {
    font-size: 30px;
  }
}

.apart .apart_reason .wrapper .item .content {
  padding: clamp(20px, 2.08333vw, 40px);
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper .item .content {
    padding: 20px 5px;
  }
}

.apart .apart_reason .wrapper .item .content .item_ttl {
  font-size: 18px;
  font-weight: 700;
  color: #bc8710;
}

@media screen and (max-width: 767px) {
  .apart .apart_reason .wrapper .item .content .item_ttl {
    font-size: 16px;
  }
}

.apart .apart_reason .wrapper .item .content .txt {
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  color: #292929;
  line-height: 1.466;
}

.apart .meet {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .apart .meet {
    margin-top: 70px;
  }
}

.apart .meet .box {
  margin: 0 auto;
  max-width: 1200px;
  background-color: #7c9dbe;
  padding: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .meet .box {
    padding: 10px;
  }
}

.apart .meet .box .wrapper {
  background-color: #fff;
  display: flex;
}

.apart .meet .box .wrapper .left_content {
  padding: 30px 30px 30px 70px;
  max-width: 865px;
  margin-right: auto;
}

@media screen and (max-width: 767px) {
  .apart .meet .box .wrapper .left_content {
    padding: 30px 15px;
  }
}

.apart .meet .box .wrapper .left_content .sec_ttl {
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #5a8baa;
}

@media screen and (max-width: 767px) {
  .apart .meet .box .wrapper .left_content .sec_ttl {
    font-size: 18px;
  }
}

.apart .meet .box .wrapper .left_content .lead {
  margin-top: 10px;
  font-weight: 700;
  line-height: 1.375;
  color: #292929;
}

.apart .meet .box .wrapper .image {
  position: absolute;
  top: -50px;
  right: 70px;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .apart .meet .box .wrapper .image {
    top: -68px;
    right: 5px;
  }
}

.apart .meet .box .wrapper .image img {
  width: clamp(100px, 10.36458vw, 199px);
}

@media screen and (max-width: 767px) {
  .apart .meet .box .wrapper .image img {
    width: 80px;
  }
}

.apart .kind {
  margin-top: clamp(100px, 8.3333vw, 160px);
}

@media screen and (max-width: 767px) {
  .apart .kind {
    margin-top: 80px;
  }
}

.apart .kind .up {
  display: flex;
  gap: clamp(30px, 5.20833vw, 100px);
}

@media screen and (max-width: 767px) {
  .apart .kind .up {
    flex-direction: column-reverse;
    gap: 20px;
  }
}

.apart .kind .up .image_illust img {
  width: clamp(120px, 14.5833vw, 280px);
}

@media screen and (max-width: 767px) {
  .apart .kind .up .image_illust img {
    width: 100px;
  }
}

.apart .kind .up .up_content {
  width: 100%;
  padding-right: 100px;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content {
    padding-right: 0;
  }
}

.apart .kind .up .up_content .sec_ttl {
  display: inline-block;
  padding-left: 100px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .sec_ttl {
    padding-left: 0;
    display: block;
    text-align: center;
  }
}

.apart .kind .up .up_content .sec_ttl .read {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  font-family: "zen-kaku-gothic-antique", sans-serif;
  color: #484848;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .sec_ttl .read {
    font-size: 18px;
  }
}

.apart .kind .up .up_content .sec_ttl .read::before {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-yellow-left.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  left: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.apart .kind .up .up_content .sec_ttl .read::after {
  position: absolute;
  content: "";
  background: url(../img/ttl-icon-yellow-right.png) center center/cover no-repeat;
  width: 23px;
  height: 32px;
  right: -27px;
  top: 50%;
  transform: translateY(-50%);
}

.apart .kind .up .up_content .sec_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  color: #caaf3c;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .sec_ttl .en_ttl {
    font-size: 36px;
  }
}

.apart .kind .up .up_content .sec_ttl .en_ttl span {
  display: block;
  text-align: right;
  padding-left: clamp(80px, 6.25vw, 120px);
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .sec_ttl .en_ttl span {
    padding-left: 0;
    text-align: center;
  }
}

.apart .kind .up .up_content .sec_ttl .ja_ttl {
  position: absolute;
  bottom: 22px;
  left: 0;
  font-size: clamp(22px, 1.35416vw, 26px);
  font-weight: 700;
  color: #b79a20;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .sec_ttl .ja_ttl {
    position: static;
    font-size: 20px;
  }
}

.apart .kind .up .up_content .list {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: clamp(35px, 3.125vw, 60px) clamp(35px, 2.60417vw, 50px);
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .list {
    gap: 30px 20px;
  }
}

.apart .kind .up .up_content .list li {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  color: #242424;
  padding-left: clamp(45px, 3.125vw, 60px);
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .list li {
    font-size: 16px;
    padding-left: 34px;
  }
}

.apart .kind .up .up_content .list li::before {
  position: absolute;
  content: "";
  background: url(../img/icon-flag.png) center center/cover no-repeat;
  width: clamp(30px, 2.03125vw, 39px);
  height: clamp(40px, 2.60416vw, 50px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .apart .kind .up .up_content .list li::before {
    width: 26px;
    height: 30px;
  }
}

.apart .kind .bg {
  margin-top: clamp(-75px, -5.2083vw, -100px);
  padding: 115px 40px 95px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .apart .kind .bg {
    padding: 80px 15px 30px;
  }
}

.apart .kind .bg::after {
  position: absolute;
  content: "";
  background-color: #caaf3c;
  width: 95%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 80px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .apart .kind .bg::after {
    border-radius: 40px;
  }
}

.apart .kind .wrapper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper {
    flex-direction: column;
    gap: 60px;
  }
}

.apart .kind .wrapper .item {
  width: 32.5%;
  background-color: #fff;
  border-radius: 20px;
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper .item {
    width: 100%;
  }
}

.apart .kind .wrapper .item .image {
  margin-top: -44px;
  text-align: center;
}

.apart .kind .wrapper .item .image img {
  max-width: clamp(200px, 10.41666vw, 300px);
  aspect-ratio: 300/300;
  object-fit: cover;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper .item .image img {
    width: 150px;
  }
}

.apart .kind .wrapper .item .content {
  padding: clamp(20px, 2.0833vw, 40px) clamp(15px, 1.30208vw, 25px) clamp(30px, 3.64583vw, 70px);
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper .item .content {
    padding: 20px 15px;
  }
}

.apart .kind .wrapper .item .content .item_ttl {
  font-size: clamp(18px, 1.25vw, 24px);
  font-weight: 700;
  color: #a58c21;
  text-align: center;
  border-bottom: 1px solid #b7b7b7;
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper .item .content .item_ttl {
    font-size: 18px;
    padding-bottom: 10px;
  }
}

.apart .kind .wrapper .item .content .txt {
  font-weight: 700;
  line-height: 2;
  color: #484848;
  padding: 20px 15px 0;
}

@media screen and (max-width: 767px) {
  .apart .kind .wrapper .item .content .txt {
    padding: 10px 15px 0;
  }
}

.apart .apart_flow {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  .apart .apart_flow {
    margin-top: 70px;
  }
}

/* ===============================================
# お見積もり お問い合わせ
=============================================== */
.mv_contact {
  background: url(../img/mv-contact.webp);
}

.p_estimate .read_box {
  background-color: #1590be;
  border-radius: 10px;
}

.p_estimate .read_box .up {
  display: flex;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up {
    flex-direction: column;
  }
}

.p_estimate .read_box .up .image_human {
  position: absolute;
  left: 30px;
  bottom: 0;
  width: 47.86%;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .image_human {
    width: auto;
    left: 10px;
  }
}

.p_estimate .read_box .up .image_human img {
  max-width: clamp(500px, 28.125vw, 540px);
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .image_human img {
    width: 80px;
  }
}

.p_estimate .read_box .up .up_content {
  padding: 45px 20px 45px;
  margin-left: auto;
  width: 52.14%;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .up_content {
    padding: 30px 10px 45px;
    width: 100%;
    text-align: justify;
  }
}

.p_estimate .read_box .up .up_content .ttl {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #015986;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .up_content .ttl {
    font-size: 18px;
  }
}

.p_estimate .read_box .up .up_content .txt {
  font-weight: 700;
  line-height: 1.8;
  color: #292929;
  margin-top: 20px;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .up_content .txt {
    margin-top: 10px;
  }
}

.p_estimate .read_box .up .up_content .btn_up_content {
  text-align: center;
  margin-top: 20px;
  margin-right: 50px;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .up_content .btn_up_content {
    margin-right: 0;
    margin-left: 50px;
    text-align: right;
  }
}

.p_estimate .read_box .up .up_content .btn_up_content a {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #fff;
  background-color: #6ba7a3;
  border-radius: 10px;
  padding: 15px 60px;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .up .up_content .btn_up_content a {
    font-size: 18px;
    padding: 10px 20px;
  }
}

.p_estimate .read_box .bottom {
  padding: 25px 60px;
}

@media screen and (max-width: 767px) {
  .p_estimate .read_box .bottom {
    display: none;
    padding: 15px;
  }
}

.p_estimate .read_box .bottom .txt {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
  text-align: justify;
}

.p_contact .read_box {
  background-color: #1590be;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box {
    display: none;
  }
}

.p_contact .read_box .up {
  background-color: #fff;
  border-radius: 10px;
}

.p_contact .read_box .up .up_content {
  padding: 45px 60px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .up .up_content {
    padding: 30px 10px;
    text-align: justify;
  }
}

.p_contact .read_box .up .up_content .ttl {
  font-size: clamp(26px, 1.5625vw, 30px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #015986;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .up .up_content .ttl {
    font-size: 20px;
  }
}

.p_contact .read_box .up .up_content .txt {
  font-weight: 700;
  line-height: 1.8;
  color: #292929;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .up .up_content .txt {
    margin-top: 10px;
  }
}

.p_contact .read_box .up .up_content .btn_up_content {
  text-align: center;
  margin-top: 20px;
  margin-right: 50px;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .up .up_content .btn_up_content {
    text-align: left;
  }
}

.p_contact .read_box .up .up_content .btn_up_content a {
  display: inline-block;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #fff;
  background-color: #6ba7a3;
  border-radius: 10px;
  padding: 15px 60px;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .up .up_content .btn_up_content a {
    font-size: 18px;
    padding: 10px 21px;
  }
}

.p_contact .read_box .bottom {
  padding: 25px 150px 25px 60px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .bottom {
    padding: 30px 15px 20px;
  }
}

.p_contact .read_box .bottom .txt {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.7;
  color: #fff;
}

.p_contact .read_box .bottom .image_human {
  position: absolute;
  bottom: -80px;
  right: clamp(80px, 7.8125vw, 150px);
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .bottom .image_human {
    bottom: unset;
    right: 10px;
    top: -120px;
  }
}

.p_contact .read_box .bottom .image_human img {
  max-width: clamp(100px, 8.07292vw, 155px);
  transform: scaleX(-1);
}

@media screen and (max-width: 767px) {
  .p_contact .read_box .bottom .image_human img {
    max-width: 75px;
  }
}

.p_estimate,
.p_contact {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .p_estimate,
  .p_contact {
    margin-top: 30px;
  }
}

.p_estimate .contact-form,
.p_contact .contact-form {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form,
  .p_contact .contact-form {
    margin-top: 20px;
  }
}

.p_estimate .contact-form .flex_wrap,
.p_contact .contact-form .flex_wrap {
  display: flex;
  gap: 50px;
  padding: 30px 70px;
  border-bottom: 2px dotted #454545;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .flex_wrap,
  .p_contact .contact-form .flex_wrap {
    flex-direction: column;
    padding: 20px 15px;
    gap: 20px;
  }
}

.p_estimate .contact-form .flex_wrap .w50,
.p_contact .contact-form .flex_wrap .w50 {
  width: 50%;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .flex_wrap .w50,
  .p_contact .contact-form .flex_wrap .w50 {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__item--required,
  .p_contact .contact-form .contact-contents__item--required {
    display: block;
  }
}

.p_estimate .contact-form .required,
.p_contact .contact-form .required {
  position: relative;
}

.p_estimate .contact-form .required::after,
.p_contact .contact-form .required::after {
  position: absolute;
  content: "必須";
  font-size: 14px;
  color: #fff;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #c74332;
  padding: 8px 11px;
  line-height: 1;
  border-radius: 5px;
  margin-left: 5px;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .required::after,
  .p_contact .contact-form .required::after {
    font-size: 12px;
    padding: 5px 10px;
  }
}

.p_estimate .contact-form .any,
.p_contact .contact-form .any {
  position: relative;
}

.p_estimate .contact-form .any::after,
.p_contact .contact-form .any::after {
  position: absolute;
  content: "任意";
  font-size: 14px;
  color: #fff;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #c79332;
  padding: 8px 11px;
  line-height: 1;
  border-radius: 5px;
  margin-left: 5px;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .any::after,
  .p_contact .contact-form .any::after {
    font-size: 12px;
    padding: 5px 10px;
  }
}

.p_estimate .contact-form .contact-contents__item-title,
.p_contact .contact-form .contact-contents__item-title {
  display: inline-block;
  height: 60px;
  line-height: 60px;
  font-weight: 700;
  font-size: 22px;
  padding-right: 60px;
  color: #2c627e;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__item-title,
  .p_contact .contact-form .contact-contents__item-title {
    display: inline;
    font-size: 16px;
    margin-bottom: 5px;
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding-right: 50px;
  }
}

.p_estimate .contact-form .contact-contents__item-title p,
.p_contact .contact-form .contact-contents__item-title p {
  display: inline-block;
}

.p_estimate .contact-form .contact-know-item,
.p_contact .contact-form .contact-know-item {
  align-items: center;
  padding: 30px 70px 30px;
  border-bottom: 2px dotted #454545;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-know-item,
  .p_contact .contact-form .contact-know-item {
    padding: 20px 15px;
  }
}

.p_estimate .contact-form .contact-know-title,
.p_contact .contact-form .contact-know-title {
  height: auto;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__item-input--text,
  .p_contact .contact-form .contact-contents__item-input--text {
    width: 100%;
  }
}

.p_estimate .contact-form .item_textarea,
.p_contact .contact-form .item_textarea {
  padding: 30px 70px 0;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .item_textarea,
  .p_contact .contact-form .item_textarea {
    padding: 20px 15px;
  }
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__item-textarea,
  .p_contact .contact-form .contact-contents__item-textarea {
    width: 100%;
  }
}

.p_estimate .contact-form .form-privacy,
.p_contact .contact-form .form-privacy {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .form-privacy,
  .p_contact .contact-form .form-privacy {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .form-privacy .wpcf7-list-item,
  .p_contact .contact-form .form-privacy .wpcf7-list-item {
    width: 100%;
  }
}

.p_estimate .contact-form .form-privacy label,
.p_contact .contact-form .form-privacy label {
  width: 100%;
  max-width: 440px;
  margin: 0 auto;
  padding: 24px 12px;
  background: #d9e5e5;
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 20px;
  font-weight: 600;
  color: #6c6c6c;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .form-privacy label,
  .p_contact .contact-form .form-privacy label {
    max-width: 100%;
    min-height: 70px;
    padding: 12px 15px;
    font-size: 15px;
    border-radius: 18px;
  }
}

.p_estimate .contact-form .form-privacy input[type="checkbox"],
.p_contact .contact-form .form-privacy input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 25px;
  height: 25px;
  background: #fff;
  border-radius: 5px;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .form-privacy input[type="checkbox"],
  .p_contact .contact-form .form-privacy input[type="checkbox"] {
    width: 24px;
    height: 24px;
  }
}

.p_estimate .contact-form .form-privacy input[type="checkbox"]:checked,
.p_contact .contact-form .form-privacy input[type="checkbox"]:checked {
  background: #f7ad18;
}

.p_estimate .contact-form .form-privacy input[type="checkbox"]:checked::after,
.p_contact .contact-form .form-privacy input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 2px;
  width: 8px;
  height: 16px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .form-privacy input[type="checkbox"]:checked::after,
  .p_contact .contact-form .form-privacy input[type="checkbox"]:checked::after {
    left: 8px;
    top: 4px;
    width: 6px;
    height: 12px;
  }
}

.p_estimate .contact-form .form-privacy a,
.p_contact .contact-form .form-privacy a {
  color: inherit;
  text-decoration: none;
  margin-left: 15px;
}

.p_estimate .contact-form .form-privacy a:hover,
.p_contact .contact-form .form-privacy a:hover {
  text-decoration: underline;
}

.p_estimate .contact-form .contact-form-auto-txt,
.p_contact .contact-form .contact-form-auto-txt {
  margin-top: 40px;
  font-weight: 700;
  color: #292929;
  text-align: center;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-form-auto-txt,
  .p_contact .contact-form .contact-form-auto-txt {
    margin-top: 15px;
    font-size: 14px;
  }
}

.p_estimate .contact-form .contact-contents__submit,
.p_contact .contact-form .contact-contents__submit {
  text-align: center;
  margin-top: 47px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__submit,
  .p_contact .contact-form .contact-contents__submit {
    margin-top: 25px;
  }
}

.p_estimate .contact-form .contact-contents__submit::after,
.p_contact .contact-form .contact-contents__submit::after {
  position: absolute;
  content: "";
  background: url(../img/chara4.webp) center center/cover no-repeat;
  width: 131px;
  height: 144px;
  top: 50%;
  right: calc(50% - 165px);
  transform: translateY(-50%);
  z-index: 1;
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__submit::after,
  .p_contact .contact-form .contact-contents__submit::after {
    right: calc(50% - 90px);
    width: 73px;
    height: 77px;
  }
}

.p_estimate .contact-form .contact-contents__btn,
.p_contact .contact-form .contact-contents__btn {
  cursor: pointer;
  padding: 35px 180px 35px 80px;
  background: #ef9338;
  color: #fff;
  border-radius: 15px;
  border: none;
  border-bottom: 10px solid #d3d0cd;
  font-size: 32px;
  font-weight: bold;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  line-height: 1;
  transition: all 0.5s 0s ease;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .contact-contents__btn,
  .p_contact .contact-form .contact-contents__btn {
    padding: 20px 74px 20px 35px;
    font-size: 20px;
  }
}

.p_estimate .contact-form .contact-contents__btn:hover,
.p_contact .contact-form .contact-contents__btn:hover {
  opacity: 0.6;
}

.p_estimate .contact-form input[type="text"], .p_estimate .contact-form input[type="email"], .p_estimate .contact-form input[type="tel"],
.p_contact .contact-form input[type="text"],
.p_contact .contact-form input[type="email"],
.p_contact .contact-form input[type="tel"] {
  width: 100%;
  border: none;
  border-radius: 10px;
  height: 60px;
  background: #fff;
  padding-left: 10px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form input[type="text"], .p_estimate .contact-form input[type="email"], .p_estimate .contact-form input[type="tel"],
  .p_contact .contact-form input[type="text"],
  .p_contact .contact-form input[type="email"],
  .p_contact .contact-form input[type="tel"] {
    height: 40px;
  }
}

.p_estimate .contact-form textarea,
.p_contact .contact-form textarea {
  width: 100%;
  min-height: 330px;
  border-radius: 10px;
  resize: vertical;
  border: none;
  background: #fff;
  padding: 10px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form textarea,
  .p_contact .contact-form textarea {
    min-height: 220px;
  }
}

.p_estimate .contact-form input[type="radio"],
.p_contact .contact-form input[type="radio"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.p_estimate .contact-form .wpcf7-form-control-wrap,
.p_contact .contact-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 20px;
}

.p_estimate .contact-form .wpcf7-form-control,
.p_contact .contact-form .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 20px clamp(30px, 2.60416vw, 50px);
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .wpcf7-form-control,
  .p_contact .contact-form .wpcf7-form-control {
    margin-top: 20px;
    gap: 10px 0;
  }
}

.p_estimate .contact-form .wpcf7-list-item.first,
.p_contact .contact-form .wpcf7-list-item.first {
  margin-left: 0;
}

.p_estimate .contact-form .wpcf7-list-item,
.p_contact .contact-form .wpcf7-list-item {
  display: block;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form .wpcf7-list-item,
  .p_contact .contact-form .wpcf7-list-item {
    width: 50%;
    margin-left: 0;
  }
}

.p_estimate .contact-form span.wpcf7-list-item-label,
.p_contact .contact-form span.wpcf7-list-item-label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 20px;
  font-weight: 700;
  color: #6c6c6c;
}

@media screen and (max-width: 767px) {
  .p_estimate .contact-form span.wpcf7-list-item-label,
  .p_contact .contact-form span.wpcf7-list-item-label {
    font-size: 13px;
  }
}

.p_estimate .contact-form span.wpcf7-list-item-label::before,
.p_contact .contact-form span.wpcf7-list-item-label::before {
  display: block;
  content: "";
  border-radius: 10px;
  width: 16px;
  height: 16px;
  margin-right: 10px;
  background-color: #ffffff;
  width: 28px;
  height: 28px;
}

.p_estimate .contact-form span.wpcf7-list-item-label::after,
.p_contact .contact-form span.wpcf7-list-item-label::after {
  display: block;
  position: absolute;
  content: "";
  left: 8px;
  top: 2px;
  width: 8px;
  height: 16px;
  border: solid #f7ad18;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  display: none;
}

.p_estimate .contact-form input[type="radio"]:checked + span.wpcf7-list-item-label::after,
.p_contact .contact-form input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
  display: none;
}

.p_estimate .contact-form .wpcf7-spinner,
.p_contact .contact-form .wpcf7-spinner {
  display: none;
}

/* ===============================================
# 塗装メニュー一覧
=============================================== */
.mv_menu {
  background: url(../img/mv-menu.webp);
}

.paint_menu {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .paint_menu {
    padding-top: 30px;
  }
}

.paint_menu .up {
  position: relative;
}

.paint_menu .up .image_human {
  position: absolute;
  left: 0;
  top: clamp(-130px, -4.42708vw, -85px);
}

@media screen and (max-width: 767px) {
  .paint_menu .up .image_human {
    top: -28px;
  }
}

.paint_menu .up .image_human img {
  width: clamp(100px, 6.77083vw, 130px);
}

@media screen and (max-width: 767px) {
  .paint_menu .up .image_human img {
    width: 60px;
  }
}

.paint_menu .up .ttl {
  display: inline-block;
  font-size: clamp(28px, 1.875vw, 36px);
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #6b7072;
  margin-left: clamp(100px, 8.07292vw, 155px);
  padding: 0 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .paint_menu .up .ttl {
    margin-left: 60px;
    font-size: 18px;
    text-align: justify;
  }
}

.paint_menu .up .ttl::after {
  position: absolute;
  content: "";
  background: url(../img/menu-ttl-line.webp) center center/contain repeat;
  width: 100%;
  height: 15px;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .paint_menu .up .ttl::after {
    height: 6px;
    bottom: -7px;
  }
}

.paint_menu .up .ttl span {
  font-size: clamp(36px, 2.70833vw, 52px);
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .paint_menu .up .ttl span {
    font-size: 20px;
  }
}

.paint_menu .up .level_imege {
  margin-top: 75px;
}

@media screen and (max-width: 767px) {
  .paint_menu .up .level_imege {
    margin-top: 34px;
  }
}

.paint_menu .tab_wrapper {
  margin-top: 70px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .paint_menu .tab_wrapper {
    margin-top: 40px;
  }
}

.paint_menu .tab_wrapper ul {
  display: inline-flex;
  justify-content: center;
  gap: 20px;
  background-color: #3875a1;
  border-radius: 10px;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .paint_menu .tab_wrapper ul {
    flex-direction: column;
    gap: 10px;
  }
}

.paint_menu .tab_wrapper ul li a {
  display: block;
  background-color: #fff;
  color: #1590be;
  font-size: clamp(20px, 1.35417vw, 26px);
  font-weight: 700;
  padding: 30px 150px 30px 40px;
  padding: clamp(20px, 1.5625vw, 30px) clamp(60px, 7.8125vw, 150px) clamp(20px, 1.5625vw, 30px) clamp(20px, 2.08333vw, 40px);
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .paint_menu .tab_wrapper ul li a {
    padding: 15px 75px 15px 20px;
    font-size: 18px;
  }
}

.paint_menu .tab_wrapper ul li a::after {
  position: absolute;
  content: "";
  background: url(../img/btn-arrow5.webp) center center/cover no-repeat;
  width: 22px;
  height: 17px;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
}

.paint_menu .tab_wrapper ul li a span {
  font-size: 19px;
  font-family: "Oleo Script", system-ui;
  color: #cccccc;
  margin-left: 24px;
}

@media screen and (max-width: 767px) {
  .paint_menu .tab_wrapper ul li a span {
    font-size: 16px;
  }
}

.paint_menu .menu_wrapper {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper {
    margin-top: 40px;
  }
}

.paint_menu .menu_wrapper ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 0;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul {
    flex-direction: column;
    gap: 10px;
  }
}

.paint_menu .menu_wrapper ul li {
  width: 48.57%;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li {
    width: 100%;
  }
}

.paint_menu .menu_wrapper ul li .item {
  display: block;
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 0 40px;
  height: stretch;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item {
    width: 100%;
    padding: 30px 0;
    margin-top: 10px;
    height: auto;
  }
  .paint_menu .menu_wrapper ul li .item:first-child {
    margin-top: 0;
  }
}

.paint_menu .menu_wrapper ul li .item .meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .meta {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding: 0 15px;
  }
}

.paint_menu .menu_wrapper ul li .item .meta .place {
  font-size: 26px;
  font-family: "Oleo Script", system-ui;
  color: #015986;
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .meta .place {
    font-size: 22px;
    margin-right: 5px;
  }
}

.paint_menu .menu_wrapper ul li .item .meta .cat {
  font-size: clamp(18px, 1.14583vw, 22px);
  font-weight: 700;
  color: #fff;
  background-color: #015986;
  padding: 7px 20px;
  border-radius: 5px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .meta .cat {
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .meta .maker {
    width: 30%;
  }
}

.paint_menu .menu_wrapper ul li .item .meta .maker img {
  width: 55px;
}

.paint_menu .menu_wrapper ul li .item .meta .paint_name {
  font-weight: 700;
  color: #363636;
}

.paint_menu .menu_wrapper ul li .item .ttl_wrap {
  position: relative;
}

.paint_menu .menu_wrapper ul li .item .ttl_wrap .label {
  position: absolute;
  background-color: #f2be4f;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 100%;
  padding: 0 clamp(20px, 1.30208vw, 25px);
  font-size: clamp(16px, 1.14583vw, 22px);
  font-weight: 700;
  border-radius: 0 999px 999px 0;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .ttl_wrap .label {
    font-size: 15px;
    line-height: 1.2;
    padding: 0 10px;
  }
}

.paint_menu .menu_wrapper ul li .item .ttl_wrap .item_ttl {
  font-size: clamp(20px, 1.6666vw, 32px);
  font-weight: 700;
  color: #fff;
  background-color: #64a9cb;
  text-align: center;
  padding: clamp(20px, 1.30208vw, 25px) 0;
  padding-left: 20px;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .ttl_wrap .item_ttl {
    font-size: 20px;
    padding: 15px 0;
    line-height: 1.2;
    margin-top: 15px;
  }
}

.paint_menu .menu_wrapper ul li .item .content {
  display: flex;
  align-items: center;
  margin-top: 20px;
  padding: 0 40px;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content {
    flex-direction: column;
    gap: 20px;
    padding: 0 15px;
  }
}

.paint_menu .menu_wrapper ul li .item .content .left {
  width: 160px;
}

.paint_menu .menu_wrapper ul li .item .content .left img {
  display: block;
  width: stretch;
  margin: 0 auto;
}

.paint_menu .menu_wrapper ul li .item .content .right {
  width: calc(100% - 160px);
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right {
    width: 100%;
    padding-right: 0;
  }
}

.paint_menu .menu_wrapper ul li .item .content .right .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 10px;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right .flex {
    flex-direction: column;
    gap: 5px;
    margin-top: 5px;
  }
}

.paint_menu .menu_wrapper ul li .item .content .right .right-parts {
  border-radius: 10px;
  overflow: hidden;
}

.paint_menu .menu_wrapper ul li .item .content .right .right-parts .head {
  background-color: #1590be;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 15px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right .right-parts .head {
    width: 130px;
    font-size: 16px;
  }
}

.paint_menu .menu_wrapper ul li .item .content .right .right-parts .txt {
  font-size: 15px;
  font-weight: 700;
  background-color: #d4e7f2;
  color: #2e2e2e;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 15px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right .right-parts .txt {
    width: calc(100% - 130px);
  }
}

.paint_menu .menu_wrapper ul li .item .content .right .recommend .head {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right .recommend .head {
    width: 100%;
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .content .right .recommend .txt {
    width: 100%;
  }
}

.paint_menu .menu_wrapper ul li .item .content .right .guarantee,
.paint_menu .menu_wrapper ul li .item .content .right .durability {
  display: flex;
  margin-top: 10px;
}

.paint_menu .menu_wrapper ul li .item .content .right .guarantee .head,
.paint_menu .menu_wrapper ul li .item .content .right .durability .head {
  width: 130px;
}

.paint_menu .menu_wrapper ul li .item .content .right .guarantee .txt,
.paint_menu .menu_wrapper ul li .item .content .right .durability .txt {
  width: calc(100% - 130px);
}

.paint_menu .menu_wrapper ul li .item .bottom {
  display: flex;
  align-items: center;
  background-color: #015986;
  border-radius: 10px;
  margin: 25px clamp(10px, 2.60417vw, 50px) 0;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .bottom {
    flex-wrap: wrap;
    margin: 15px 20px 0;
    padding-bottom: 5px;
    gap: 10px;
  }
}

.paint_menu .menu_wrapper ul li .item .bottom .space {
  background-color: #313e73;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 15px;
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .bottom .space {
    font-size: 16px;
  }
}

.paint_menu .menu_wrapper ul li .item .bottom .space::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(45deg);
  right: 1.5px;
  top: 4.5px;
}

.paint_menu .menu_wrapper ul li .item .bottom .space::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(-135deg);
  left: 1.5px;
  bottom: 4.5px;
}

.paint_menu .menu_wrapper ul li .item .bottom .txt {
  background-color: #fff;
  color: #015986;
  font-size: clamp(14px, 0.88542vw, 17px);
  font-weight: 700;
  padding: 4px 13px;
  border-radius: 15px;
  margin: 0 clamp(0px, 1.04167vw, 20px);
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .bottom .txt {
    font-size: 15px;
  }
}

.paint_menu .menu_wrapper ul li .item .bottom .price {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .bottom .price {
    margin: 0 auto;
    line-height: 1;
    font-size: 16px;
  }
}

.paint_menu .menu_wrapper ul li .item .bottom .price .price-excl {
  color: #eee000;
  font-size: clamp(28px, 2.0833vw, 40px);
  font-weight: 700;
  font-family: "roboto", sans-serif;
  vertical-align: sub;
  margin: 0 5px;
}

@media screen and (max-width: 767px) {
  .paint_menu .menu_wrapper ul li .item .bottom .price .price-excl {
    font-size: 32px;
  }
}

/* ===============================================
# メニュー詳細
=============================================== */
@media screen and (max-width: 767px) {
  .single_menu .single_common-ttl {
    text-align: center;
  }
}

.single_menu .outer_wrapper {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  gap: clamp(30px, 3.64583vw, 70px);
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper {
    margin-top: 30px;
    flex-direction: column;
    gap: 100px;
  }
}

.single_menu .outer_wrapper .left {
  max-width: 970px;
}

.single_menu .outer_wrapper .left .up {
  display: flex;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up {
    flex-direction: column;
    gap: 20px;
  }
}

.single_menu .outer_wrapper .left .up .imege_wrap {
  position: relative;
}

.single_menu .outer_wrapper .left .up .imege_wrap .cat {
  position: absolute;
  left: 0;
  top: 30px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background-color: #64a9cb;
  padding: 13px 25px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .imege_wrap .cat {
    font-size: 16px;
    top: 15px;
    padding: 9px 15px;
  }
}

.single_menu .outer_wrapper .left .up .imege_wrap .imege {
  max-width: 540px;
}

.single_menu .outer_wrapper .left .up .imege_wrap .imege img {
  aspect-ratio: 540/545;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .imege_wrap .imege img {
    aspect-ratio: 540/450;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap {
  max-width: 400px;
}

.single_menu .outer_wrapper .left .up .meta_wrap .recommend {
  border-radius: 10px;
  overflow: hidden;
}

.single_menu .outer_wrapper .left .up .meta_wrap .recommend .head {
  font-size: clamp(20px, 1.14583vw, 22px);
  font-weight: 700;
  color: #fff;
  background-color: #1590be;
  text-align: center;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .recommend .head {
    font-size: 18px;
    padding: 5px 0;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .recommend .txt {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  text-align: center;
  color: #1590be;
  background-color: #d4e7f2;
  min-height: 60px;
  padding: 10px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .recommend .txt {
    font-size: 16px;
    min-height: 50px;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content {
  margin-top: 10px;
  border-radius: 10px;
  overflow: hidden;
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .head {
  font-size: clamp(20px, 1.14583vw, 22px);
  font-weight: 700;
  color: #fff;
  background-color: #a5ca3c;
  text-align: center;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .work_content .head {
    font-size: 18px;
    padding: 5px 0;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content {
  background-color: #f1fcd3;
  padding: 20px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .work_content .content {
    padding: 15px;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .work_content .content ul {
    gap: 5px;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content ul li {
  width: 47.75%;
  background-color: #fff;
  color: #849f37;
  font-size: clamp(16px, 0.9375vw, 18px);
  font-weight: 700;
  text-align: center;
  padding: 8px 0;
  border-radius: 999px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .up .meta_wrap .work_content .content ul li {
    font-size: 14px;
  }
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content .option {
  margin-top: 20px;
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content .option .ttl {
  font-weight: 700;
  color: #61722d;
}

.single_menu .outer_wrapper .left .up .meta_wrap .work_content .content .option .txt {
  font-size: 15px;
  font-weight: 700;
  color: #818181;
}

.single_menu .outer_wrapper .left .introduce {
  margin-top: 30px;
  background-color: #edf8f7;
  border-radius: 10px;
}

.single_menu .outer_wrapper .left .introduce .up {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up {
    flex-direction: column-reverse;
  }
}

.single_menu .outer_wrapper .left .introduce .up .imege {
  width: 280px;
}

.single_menu .outer_wrapper .left .introduce .up .imege img {
  display: block;
  width: 180px;
  text-align: center;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .imege img {
    width: 110px;
  }
}

.single_menu .outer_wrapper .left .introduce .up .content {
  width: calc(100% - 180px);
  padding: 65px 50px 0 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .content {
    width: 100%;
    padding: 50px 15px 0;
  }
}

.single_menu .outer_wrapper .left .introduce .up .content .paint_ttl {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #04767c;
  color: #fff;
  font-size: clamp(20px, 1.14583vw, 22px);
  font-weight: 700;
  padding: 14px;
  text-align: center;
  width: 100%;
  border-radius: 0 10px 0 10px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .content .paint_ttl {
    font-size: 18px;
    padding: 10px;
  }
}

.single_menu .outer_wrapper .left .introduce .up .content .read {
  font-weight: 700;
  line-height: 2;
  color: #292929;
  padding-left: 10px;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .content .read {
    padding-left: 0;
    line-height: 1.8;
  }
}

.single_menu .outer_wrapper .left .introduce .up .content .meta {
  margin-top: 20px;
}

.single_menu .outer_wrapper .left .introduce .up .content .meta dl {
  font-weight: 700;
  color: #fff;
  display: flex;
  border-radius: 25px;
  background-color: #a3c1c3;
  overflow: hidden;
  margin-top: 10px;
}

.single_menu .outer_wrapper .left .introduce .up .content .meta dl:first-child {
  margin-top: 0;
}

.single_menu .outer_wrapper .left .introduce .up .content .meta dl dt {
  background-color: #04767c;
  width: 180px;
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 25px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .content .meta dl dt {
    width: 150px;
  }
}

.single_menu .outer_wrapper .left .introduce .up .content .meta dl dd {
  width: calc(100% - 180px);
  display: flex;
  align-items: center;
  padding: 15px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .up .content .meta dl dd {
    width: calc(100% - 150px);
  }
}

.single_menu .outer_wrapper .left .introduce .star_wrapper {
  margin-top: 30px;
  padding: 0 40px 40px;
  display: flex;
  gap: 10px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .star_wrapper {
    flex-direction: column;
    padding: 0 15px 20px;
  }
}

.single_menu .outer_wrapper .left .introduce .star_wrapper .item {
  background-color: #fff;
  width: 100%;
  text-align: center;
  padding: 22px;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .star_wrapper .item {
    padding: 15px;
  }
}

.single_menu .outer_wrapper .left .introduce .star_wrapper .item .head {
  color: #5d5d5d;
  font-weight: 700;
}

.single_menu .outer_wrapper .left .introduce .star_wrapper .item .star {
  color: #f5ca3a;
  font-size: 28px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .introduce .star_wrapper .item .star {
    font-size: 20px;
  }
}

.single_menu .outer_wrapper .left .read {
  margin-top: 20px;
  font-weight: 700;
  color: #4b4b4b;
  line-height: 2;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .read {
    margin-top: 10px;
    font-size: 14px;
  }
}

.single_menu .outer_wrapper .left .bottom {
  width: fit-content;
  display: flex;
  align-items: center;
  background-color: #015986;
  border-radius: 10px;
  margin: 25px auto 0;
  padding-right: 50px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom {
    flex-wrap: wrap;
    margin: 15px 20px 0;
    padding-bottom: 5px;
    padding-right: 0;
    gap: 10px;
  }
}

.single_menu .outer_wrapper .left .bottom .space {
  background-color: #313e73;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 10px 15px;
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom .space {
    font-size: 16px;
  }
}

.single_menu .outer_wrapper .left .bottom .space::before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(45deg);
  right: 1.5px;
  top: 4.5px;
}

.single_menu .outer_wrapper .left .bottom .space::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8.5px solid transparent;
  border-left: 8.5px solid transparent;
  border-bottom: 8.5px solid #ffffff;
  border-top: 0;
  transform: rotate(-135deg);
  left: 1.5px;
  bottom: 4.5px;
}

.single_menu .outer_wrapper .left .bottom .txt {
  background-color: #fff;
  color: #015986;
  font-size: clamp(14px, 0.88542vw, 17px);
  font-weight: 700;
  padding: 4px 13px;
  border-radius: 15px;
  margin: 0 clamp(0px, 1.04167vw, 20px);
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom .txt {
    font-size: 15px;
    margin-left: 30px;
  }
}

.single_menu .outer_wrapper .left .bottom .price {
  font-size: 17px;
  font-weight: 700;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom .price {
    margin: 0 auto;
    line-height: 1;
    font-size: 16px;
  }
}

.single_menu .outer_wrapper .left .bottom .price .price-excl {
  color: #eee000;
  font-size: clamp(28px, 2.60417vw, 50px);
  font-weight: 700;
  font-family: "roboto", sans-serif;
  vertical-align: sub;
  margin: 0 5px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom .price .price-excl {
    font-size: 32px;
  }
}

.single_menu .outer_wrapper .left .bottom_content {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom_content {
    margin-top: 30px;
  }
}

.single_menu .outer_wrapper .left .bottom_content h2 {
  font-size: 22px;
  font-weight: 700;
  color: #015986;
  border-bottom: 2px dotted #98968b;
  padding: 0 0 20px 20px;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom_content h2 {
    font-size: 18px;
    padding: 0 0 10px 10px;
  }
}

.single_menu .outer_wrapper .left .bottom_content p {
  margin-top: 20px;
  font-weight: 700;
  color: #4b4b4b;
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .bottom_content p {
    margin-top: 10px;
  }
}

.single_menu .outer_wrapper .left .menu_btn {
  margin-top: 70px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .single_menu .outer_wrapper .left .menu_btn {
    margin-top: 30px;
  }
}

.single_menu .outer_wrapper .left .menu_btn a {
  background-color: #64a9cb;
}

.single_menu .outer_wrapper .right {
  max-width: 360px;
  width: 100%;
}

/* ===============================================
# 施工一覧
=============================================== */
.mv_work {
  background: url(../img/mv-work-case.webp);
}

.archive_work .t_example-cat_wrapper {
  padding-top: 100px;
}

@media screen and (max-width: 767px) {
  .archive_work .t_example-cat_wrapper {
    padding-top: 40px;
  }
}

.archive_work .archive_work-wrapper {
  margin-top: 70px;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper {
    margin-top: 30px;
  }
}

.archive_work .archive_work-wrapper .wrapper {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper {
    flex-direction: column;
    gap: 15px;
  }
}

.archive_work .archive_work-wrapper .wrapper .item {
  background-color: #fff;
  width: calc((100% - 36px) / 3);
  margin-right: 18px;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item {
    width: 100%;
    margin-right: 0;
  }
}

.archive_work .archive_work-wrapper .wrapper .item:nth-child(3n) {
  margin-right: 0;
}

.archive_work .archive_work-wrapper .wrapper .item:nth-child(n + 4) {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item:nth-child(n + 4) {
    margin-top: 0;
  }
}

.archive_work .archive_work-wrapper .wrapper .item .image img {
  aspect-ratio: 455/310;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.archive_work .archive_work-wrapper .wrapper .item .content {
  padding: clamp(15px, 1.5625vw, 30px) clamp(15px, 1.30208vw, 25px) 20px;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item .content {
    padding: 20px 15px 15px;
  }
}

.archive_work .archive_work-wrapper .wrapper .item .content .meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.archive_work .archive_work-wrapper .wrapper .item .content .meta .cat {
  color: #fff;
  border-radius: 15px;
  font-weight: 700;
}

.archive_work .archive_work-wrapper .wrapper .item .content .meta .city {
  background-color: #8ba838;
}

.archive_work .archive_work-wrapper .wrapper .item .content .meta .kind {
  background-color: #38a4a8;
}

.archive_work .archive_work-wrapper .wrapper .item .content .meta .color {
  background-color: #949e9f;
}

.archive_work .archive_work-wrapper .wrapper .item .content .name {
  margin-top: 10px;
  font-size: clamp(16px, 0.98958vw, 19px);
  font-weight: 700;
  color: #484848;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item .content .name {
    font-size: 16px;
  }
}

.archive_work .archive_work-wrapper .wrapper .item .content .ttl {
  margin-top: 5px;
  font-size: clamp(16px, 0.98958vw, 19px);
  font-weight: 700;
  color: #484848;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item .content .ttl {
    font-size: 16px;
  }
}

.archive_work .archive_work-wrapper .wrapper .item .content .bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #b7b7b7;
  padding-top: 10px;
  margin-top: 10px;
}

.archive_work .archive_work-wrapper .wrapper .item .content .bottom .more {
  color: #484848;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .archive_work .archive_work-wrapper .wrapper .item .content .bottom .more {
    font-size: 12px;
  }
}

/* ===============================================
# 施工事例詳細
=============================================== */
.single_work .s_works-img-wrap {
  display: flex;
  align-items: center;
  gap: 80px;
  margin-top: 50px;
  max-width: 1225px;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap {
    flex-direction: column;
  }
}

.single_work .s_works-img-wrap .left {
  background-color: #fff;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap .left {
    display: flex;
    flex-direction: column-reverse;
  }
}

.single_work .s_works-img-wrap .left .s_works-img-before {
  position: relative;
}

.single_work .s_works-img-wrap .left .s_works-img-before::after {
  position: absolute;
  content: "";
  background: url(../img/arrow-three.png) center center/cover no-repeat;
  width: 44px;
  height: 25px;
  right: -64px;
  top: 50%;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap .left .s_works-img-before::after {
    right: unset;
    top: unset;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}

.single_work .s_works-img-wrap .left .s_works-img-before .image {
  border: 10px solid #4383a2;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap .left .s_works-img-before .image {
    border: 5px solid #4383a2;
  }
}

.single_work .s_works-img-wrap .left .s_works-img-before .image img {
  display: block;
  max-width: clamp(320px, 19.79166vw, 380px);
  min-width: 250px;
  aspect-ratio: 380/260;
  object-fit: cover;
  width: auto;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap .left .s_works-img-before .image img {
    aspect-ratio: 380/200;
    width: 100%;
    max-width: 400px;
  }
}

.single_work .s_works-img-wrap .left .s_works-img-before .before {
  position: absolute;
  top: -25px;
  left: 20px;
  font-size: 20px;
  font-weight: 700;
  padding: 10px 60px;
  border-radius: 10px;
  background-color: #64a9cb;
  color: #fff;
  z-index: 1;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap .left .s_works-img-before .before {
    top: -20px;
    left: 15px;
    font-size: 16px;
    padding: 8px 30px;
  }
}

.single_work .s_works-img-wrap .left .date {
  padding: 25px 25px 30px;
  overflow: hidden;
}

.single_work .s_works-img-wrap .left .date .date_ttl {
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #4383a2;
}

.single_work .s_works-img-wrap .left .date .meta_wrap {
  margin-top: 15px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 40px;
  font-weight: 700;
  color: #292929;
}

.single_work .s_works-img-wrap .left .date .meta_wrap .city {
  padding-left: 30px;
  position: relative;
}

.single_work .s_works-img-wrap .left .date .meta_wrap .city::after {
  position: absolute;
  content: "";
  background: url(../img/icon-map.png) center center/cover no-repeat;
  width: 19px;
  height: 25px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.single_work .s_works-img-wrap .left .date .meta_wrap .name {
  padding-left: 30px;
  position: relative;
}

.single_work .s_works-img-wrap .left .date .meta_wrap .name::after {
  position: absolute;
  content: "";
  background: url(../img/icon-human.png) center center/cover no-repeat;
  width: 22px;
  height: 25px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.single_work .s_works-img-wrap {
  display: flex;
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap {
    display: block;
  }
}

.single_work .s_works-img-wrap {
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-wrap {
    display: block;
  }
}

.single_work .s_works-img-after {
  position: relative;
  height: auto;
  min-width: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-after {
    margin-top: 80px;
  }
}

.single_work .s_works-img-after .slider4-wrap {
  width: 100%;
  max-width: 740px;
  min-width: 0;
  aspect-ratio: 740 / 430;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-after .slider4-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

.single_work .s_works-img-after .slider4-wrap .after {
  position: absolute;
  top: -25px;
  left: 30px;
  font-size: 20px;
  font-weight: 700;
  padding: 10px 60px;
  border-radius: 10px;
  background-color: #e88b30;
  color: #fff;
  z-index: 5;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-after .slider4-wrap .after {
    top: -20px;
    left: 15px;
    font-size: 16px;
    padding: 8px 30px;
  }
}

.single_work .s_works-img-after .slider-4 {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single_work .s_works-img-after .slider-4 li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single_work .s_works-img-after .slider-4 .slick-list {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.single_work .s_works-img-after .slider-4 .slick-track {
  height: 100%;
}

.single_work .s_works-img-after .slider-4 .slick-slide {
  height: 100%;
  overflow: hidden;
}

.single_work .s_works-img-after .slider-4 .slick-slide > div {
  height: 100%;
}

.single_work .s_works-img-after .slider-4 .slick-slide img {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 740 / 430;
  object-fit: cover;
  border: 10px solid #f7ad18;
  border-radius: 20px;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .single_work .s_works-img-after .slider-4 .slick-slide img {
    border-width: 6px;
    border-radius: 14px;
  }
}

.single_work .s_works-img-after .dots-4 {
  margin-top: 20px;
  text-align: center;
}

.single_work .s_works-img-after .dots-4 .slick-dots {
  position: static;
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.single_work .s_works-img-after .dots-4 .slick-dots li {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.single_work .s_works-img-after .dots-4 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 0;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bababa;
  border-radius: 50%;
}

.single_work .s_works-img-after .dots-4 .slick-dots .slick-active button {
  background: #e88b30;
}

.single_work .explan {
  margin-top: 60px;
  font-weight: 700;
  line-height: 2;
  color: #4b4b4b;
  padding: 0 50px;
}

@media screen and (max-width: 767px) {
  .single_work .explan {
    margin-top: 30px;
    padding: 0;
  }
}

.single_work .contents {
  margin-top: 30px;
}

.single_work .contents h2 {
  margin-top: 20px;
  background-color: #12506f;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  padding: 12px 40px;
  margin-left: 24px;
  border-radius: 0 10px 10px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_work .contents h2 {
    padding: 10px 20px;
    font-size: 18px;
  }
}

.single_work .contents h2::after {
  position: absolute;
  content: "";
  background: url(../img/icon-h2.png) center center/cover no-repeat;
  width: 19px;
  height: 55px;
  left: -24px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .single_work .contents h2::after {
    width: 15px;
    height: 44px;
  }
}

.single_work .contents img {
  margin-top: 30px;
  border-radius: 10px;
}

.single_work .contents p {
  margin-top: 20px;
  font-weight: 700;
  color: #4b4b4b;
}

.single_work .work_case {
  margin-top: 120px;
}

@media screen and (max-width: 767px) {
  .single_work .work_case {
    margin-top: 40px;
  }
}

/* ===============================================
# お客様の声
=============================================== */
.mv_voice {
  background: url(../img/mv-voice.webp);
}

.archive_voice {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .archive_voice {
    margin-top: 40px;
  }
}

.archive_voice .wrapper {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper {
    flex-direction: column;
    gap: 45px;
  }
}

.archive_voice .wrapper .item {
  background-color: #ffd95a;
  width: calc((100% - clamp(40px, 4.166666vw, 80px)) / 3);
  margin-right: clamp(20px, 2.08333vw, 40px);
  border-radius: 10px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item {
    width: 100%;
    margin-right: 0;
  }
}

.archive_voice .wrapper .item:nth-child(3n) {
  margin-right: 0;
}

.archive_voice .wrapper .item:nth-child(n + 4) {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item:nth-child(n + 4) {
    margin-top: 0;
  }
}

.archive_voice .wrapper .item .image_wrapper {
  position: relative;
}

.archive_voice .wrapper .item .image_wrapper .image_work img {
  aspect-ratio: 440/280;
  object-fit: cover;
  border-radius: 10px;
}

.archive_voice .wrapper .item .image_wrapper .image_sheet {
  position: absolute;
  right: 20px;
  bottom: -30px;
}

.archive_voice .wrapper .item .image_wrapper .image_sheet img {
  max-width: 120px;
  aspect-ratio: 120/160;
  object-fit: cover;
}

.archive_voice .wrapper .item .content {
  padding: 25px clamp(20px, 2.08333vw, 40px) 30px;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item .content {
    padding: 25px 20px 30px;
  }
}

.archive_voice .wrapper .item .content .name {
  font-size: clamp(18px, 1.04167vw, 20px);
  font-weight: 700;
  color: #1c1c1c;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item .content .name {
    font-size: 18px;
  }
}

.archive_voice .wrapper .item .content .ttl {
  font-weight: 700;
  color: #555555;
}

.archive_voice .wrapper .item .image_arrow {
  position: absolute;
  right: 0;
  bottom: -40px;
  background-color: #e8c653;
  padding: 30px 15px 10px;
  border-radius: 0 0 10px 10px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item .image_arrow {
    bottom: -26px;
    padding: 14px 13px 7px;
  }
}

.archive_voice .wrapper .item .image_arrow img {
  display: block;
  width: 26px;
}

@media screen and (max-width: 767px) {
  .archive_voice .wrapper .item .image_arrow img {
    width: 18px;
  }
}

/* ===============================================
# お客様の声詳細
=============================================== */
.single_voice .image_wrapper {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

@media screen and (max-width: 767px) {
  .single_voice .image_wrapper {
    flex-direction: column;
  }
}

.single_voice .image_wrapper .image_work {
  position: relative;
}

.single_voice .image_wrapper .image_work img {
  aspect-ratio: 960/480;
  max-width: 960px;
  object-fit: cover;
  border: 10px solid #f7ad18;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .image_wrapper .image_work img {
    aspect-ratio: 960/580;
    border: 5px solid #f7ad18;
  }
}

.single_voice .image_wrapper .image_work .ttl {
  position: absolute;
  top: -20px;
  left: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background-color: #e88b30;
  padding: 10px 55px;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .image_wrapper .image_work .ttl {
    top: -10px;
    left: 10px;
    font-size: 15px;
    padding: 5px 20px;
  }
}

.single_voice .image_wrapper .image_sheet {
  position: relative;
}

.single_voice .image_wrapper .image_sheet img {
  aspect-ratio: 400/480;
  max-width: 400px;
  object-fit: cover;
  border: 10px solid #4383a2;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .image_wrapper .image_sheet img {
    border: 5px solid #4383a2;
  }
}

.single_voice .image_wrapper .image_sheet .ttl {
  position: absolute;
  top: -20px;
  left: 20px;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  background-color: #64a9cb;
  padding: 10px 55px;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .image_wrapper .image_sheet .ttl {
    top: -10px;
    left: 10px;
    font-size: 15px;
    padding: 5px 20px;
  }
}

.single_voice .evaluation {
  margin-top: 40px;
}

.single_voice .evaluation .box {
  background-color: #fff;
  border-radius: 10px;
  padding: 40px 40px 75px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box {
    padding: 20px 15px 40px;
  }
}

.single_voice .evaluation .box .image_icon {
  margin-right: 30px;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .image_icon {
    margin-right: 0;
    width: 30%;
    text-align: center;
  }
}

.single_voice .evaluation .box .image_icon img {
  width: 85px;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .image_icon img {
    width: 70px;
  }
}

.single_voice .evaluation .box .ttl {
  font-size: 26px;
  font-weight: 700;
  color: #938d6d;
  margin-right: 8px;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .ttl {
    width: 70%;
    font-size: 24px;
    margin-right: 0;
    text-align: center;
  }
}

.single_voice .evaluation .box .star_content {
  text-align: center;
  margin-right: 60px;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .star_content {
    margin-right: 0;
    width: 100%;
  }
}

.single_voice .evaluation .box .star_content .percent {
  padding: 0 20px;
  font-size: 26px;
  font-weight: 700;
  color: #ff9900;
  border-bottom: 1px dotted #707070;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .star_content .percent {
    font-size: 22px;
  }
}

.single_voice .evaluation .box .star_content .percent span {
  font-size: 36px;
  color: #ff7600;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .star_content .percent span {
    font-size: 30px;
  }
}

.single_voice .evaluation .box .star_content .star {
  background: linear-gradient(to bottom right, #ff7d00, #ffeb00);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-size: 36px;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .star_content .star {
    font-size: 30px;
  }
}

.single_voice .evaluation .box .txt {
  width: calc(100% - 600px);
  font-weight: 700;
  line-height: 2;
  color: #4b4b4b;
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .txt {
    width: 100%;
    line-height: 1.8;
  }
}

.single_voice .evaluation .box .btn_simple {
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .single_voice .evaluation .box .btn_simple {
    width: 100%;
  }
}

.single_voice .evaluation .box .btn_simple a {
  background-color: #d0a000;
}

.single_voice .comment {
  margin-top: 100px;
}

.single_voice .comment .ttl {
  margin-top: 20px;
  background-color: #12506f;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  padding: 12px 40px;
  margin-left: 24px;
  border-radius: 0 10px 10px 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_voice .comment .ttl {
    padding: 10px 20px;
    font-size: 18px;
  }
}

.single_voice .comment .ttl::after {
  position: absolute;
  content: "";
  background: url(../img/icon-h2.png) center center/cover no-repeat;
  width: 19px;
  height: 55px;
  left: -24px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .single_voice .comment .ttl::after {
    width: 16px;
    height: 45px;
    left: -22px;
  }
}

.single_voice .comment .wrapper {
  margin-top: 40px;
  display: flex;
  gap: 50px;
}

@media screen and (max-width: 767px) {
  .single_voice .comment .wrapper {
    margin-top: 20px;
    flex-direction: column;
    gap: 20px;
  }
}

@media screen and (max-width: 767px) {
  .single_voice .comment .wrapper .image {
    text-align: center;
  }
}

.single_voice .comment .wrapper .image img {
  aspect-ratio: 250/260;
  max-width: 250px;
  object-fit: cover;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .comment .wrapper .image img {
    aspect-ratio: 250/200;
  }
}

.single_voice .comment .wrapper .txt {
  font-weight: 700;
  line-height: 2;
  color: #4b4b4b;
  width: calc(100% - 250px);
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .single_voice .comment .wrapper .txt {
    width: 100%;
    line-height: 1.8;
  }
}

.single_voice .btn_simple {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .single_voice .btn_simple {
    margin-top: 30px;
  }
}

.single_voice .btn_simple a {
  background-color: #d0a000;
}

/* ===============================================
# ブログ一覧、新着情報一覧
=============================================== */
.mv_blog {
  background: url(../img/mv-blog.webp);
}

.mv_news {
  background: url(../img/mv-news.webp);
}

.archive_common {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .archive_common {
    margin-top: 40px;
  }
}

.archive_common .wrapper {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper {
    flex-direction: column;
    gap: 100px;
  }
}

.archive_common .wrapper .left {
  max-width: 990px;
  width: 100%;
}

.archive_common .wrapper .left .item {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  gap: clamp(20px, 2.60416vw, 50px);
  position: relative;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item {
    flex-direction: column;
    gap: 20px;
  }
}

.archive_common .wrapper .left .item:first-child {
  margin-top: 0;
}

.archive_common .wrapper .left .item .cat {
  position: absolute;
  top: 0;
  left: 30px;
  background-color: #fada09;
  color: #1590be;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 12px 40px;
  border-radius: 0 0 10px 10px;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .cat {
    padding: 5px 30px;
  }
}

.archive_common .wrapper .left .item .image img {
  aspect-ratio: 250/240;
  max-width: clamp(200px, 13.02083vw, 250px);
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .image img {
    max-width: 220px;
  }
}

.archive_common .wrapper .left .item .content {
  width: calc(100% - clamp(220px, 15.625vw, 300px));
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .content {
    width: 100%;
  }
}

.archive_common .wrapper .left .item .content .ttl {
  font-size: clamp(20px, 1.25vw, 24px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3e3e3e;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .content .ttl {
    font-size: 20px;
  }
}

.archive_common .wrapper .left .item .content .txt {
  margin-top: 15px;
  font-weight: 700;
  line-height: 1.8;
  color: #292929;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .content .txt {
    margin-top: 10px;
  }
}

.archive_common .wrapper .left .item .content .bottom_wrapper {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .archive_common .wrapper .left .item .content .bottom_wrapper {
    margin-top: 15px;
  }
}

.archive_common .wrapper .left .item .content .bottom_wrapper .btn_more {
  font-weight: 700;
  color: #969696;
}

.archive_common .wrapper .right {
  max-width: 360px;
  width: 100%;
}

/* ===============================================
# ブログ、新着情報詳細
=============================================== */
.single_common .wrapper {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper {
    margin-top: 40px;
    flex-direction: column;
    gap: 100px;
  }
}

.single_common .wrapper .left {
  max-width: 990px;
}

.single_common .wrapper .left .box {
  background-color: #fff;
  border-radius: 10px;
  padding: 20px 20px 100px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box {
    padding: 20px 10px 30px;
  }
}

.single_common .wrapper .left .box .cat {
  position: absolute;
  top: 0;
  left: 30px;
  background-color: #fada09;
  color: #1590be;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 12px 40px;
  border-radius: 0 0 10px 10px;
}

.single_common .wrapper .left .box .published {
  text-align: right;
  display: block;
}

.single_common .wrapper .left .box .image_chatch {
  margin-top: 10px;
}

.single_common .wrapper .left .box .image_chatch img {
  border-radius: 10px;
}

.single_common .wrapper .left .box .content {
  padding: 35px 40px 0;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content {
    padding: 0;
  }
}

.single_common .wrapper .left .box .content h2,
.single_common .wrapper .left .box .content h3,
.single_common .wrapper .left .box .content h4,
.single_common .wrapper .left .box .content h5 {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content h2,
  .single_common .wrapper .left .box .content h3,
  .single_common .wrapper .left .box .content h4,
  .single_common .wrapper .left .box .content h5 {
    margin-top: 15px;
  }
}

.single_common .wrapper .left .box .content h2 {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3e3e3e;
  padding-left: 15px;
  border-bottom: 4px solid #e2e2e2;
  position: relative;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content h2 {
    font-size: 18px;
  }
}

.single_common .wrapper .left .box .content h2::before {
  position: absolute;
  content: "";
  background-color: #3875a1;
  width: 140px;
  height: 4px;
  bottom: -4px;
  left: 0;
}

.single_common .wrapper .left .box .content h3 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  background-color: #3875a1;
  padding: 12px 20px;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content h3 {
    font-size: 16px;
  }
}

.single_common .wrapper .left .box .content h4 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3b3b3b;
  padding: 12px 20px;
  border: 2px solid #37729d;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content h4 {
    font-size: 16px;
  }
}

.single_common .wrapper .left .box .content h5 {
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #3b3b3b;
  border-bottom: 2px dotted #3875a1;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content h5 {
    font-size: 16px;
  }
}

.single_common .wrapper .left .box .content p {
  font-weight: 700;
  line-height: 1.875;
  color: #292929;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .box .content p {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 10px;
  }
}

.single_common .wrapper .left .box .content img {
  border-radius: 10px;
  margin-top: 10px;
}

.single_common .wrapper .left .btn_simple {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .single_common .wrapper .left .btn_simple {
    margin-top: 30px;
  }
}

.single_common .wrapper .left .btn_simple a {
  background-color: #d0a000;
}

.single_common .wrapper .right {
  max-width: 360px;
}

.article_common {
  margin-top: 120px;
}

.article_common .sec_ttl {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 15px;
  line-height: 1;
}

.article_common .sec_ttl .en_ttl {
  font-size: 70px;
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.01em;
  line-height: 1;
  color: #8ba838;
}

.article_common .sec_ttl .ja_ttl {
  font-size: 26px;
  font-weight: 700;
  color: #505050;
}

.article_common .wrapper {
  display: flex;
  margin-top: 60px;
}

.article_common .wrapper .item {
  background-color: #fff;
  width: calc((100% - 40px) / 3);
  margin-right: 20px;
  border-radius: 10px;
}

.article_common .wrapper .item:nth-child(3) {
  margin-right: 0;
}

.article_common .wrapper .item .image {
  position: relative;
}

.article_common .wrapper .item .image img {
  aspect-ratio: 455/310;
  width: 100%;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}

.article_common .wrapper .item .image .cat {
  position: absolute;
  left: 20px;
  bottom: -15px;
  display: inline-block;
  font-weight: 700;
  color: #fff;
  background-color: #8ba838;
  padding: 5px 12px;
  border-radius: 999px;
}

.article_common .wrapper .item .content {
  padding: 35px 25px 20px;
}

.article_common .wrapper .item .content .item_ttl {
  font-size: 22px;
  font-weight: 700;
  color: #3b3b3b;
}

.article_common .wrapper .item .content .txt {
  margin-top: 10px;
  font-weight: 700;
  line-height: 1.875;
  color: #484848;
  padding: 0 15px 10px;
  border-bottom: 1px solid #b7b7b7;
  margin-bottom: 10px;
}

.article_common .wrapper .item .content .bottom_wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.article_common .wrapper .item .content .bottom_wrapper .btn_more {
  color: #939393;
  font-weight: 700;
}

/* ===============================================
# 下層共通
=============================================== */
.mv {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 83.333vw auto;
  aspect-ratio: 100 / 40.10416;
  position: relative;
}

@media screen and (max-width: 767px) {
  .mv {
    background-size: 100% auto;
    height: auto;
    aspect-ratio: 100 / 48.125;
    margin-bottom: 50px;
  }
}

.mv .mv_ttl {
  position: absolute;
  left: 10%;
  bottom: 0;
}

@media screen and (max-width: 767px) {
  .mv .mv_ttl {
    left: 5%;
    bottom: -40px;
  }
}

.mv .mv_ttl .en_ttl {
  font-size: clamp(60px, 5.2083vw, 100px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .mv .mv_ttl .en_ttl {
    font-size: 42px;
  }
}

.mv .mv_ttl .ja_ttl {
  display: inline-block;
  font-size: clamp(24px, 1.92708vw, 37px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #1590be;
  background-color: #fff;
  padding: clamp(10px, 1.04166vw, 20px) 34px;
  border-radius: 10px;
  margin-left: 100px;
}

@media screen and (max-width: 767px) {
  .mv .mv_ttl .ja_ttl {
    font-size: 20px;
    margin-left: 0;
    padding: 10px 20px;
  }
}

.mv_p2 {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 78.90625vw auto;
  height: calc(78.90625vw * 540 / 1515);
  position: relative;
}

@media screen and (max-width: 767px) {
  .mv_p2 {
    background-size: 100% auto;
    height: auto;
    aspect-ratio: 1515 / 540;
    margin-bottom: 60px;
  }
}

.mv_p2 .mv_ttl {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

@media screen and (max-width: 767px) {
  .mv_p2 .mv_ttl {
    bottom: -50px;
  }
}

.mv_p2 .mv_ttl .en_ttl {
  font-size: clamp(60px, 5.2083vw, 100px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .mv_p2 .mv_ttl .en_ttl {
    font-size: 42px;
  }
}

.mv_p2 .mv_ttl .ja_ttl {
  display: inline-block;
  font-size: clamp(24px, 1.5625vw, 30px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #1590be;
  background-color: #fff;
  padding: 15px 80px;
  border-radius: 10px;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .mv_p2 .mv_ttl .ja_ttl {
    font-size: 20px;
    padding: 5px 20px;
    margin-top: 5px;
  }
}

.mv_p3 {
  padding-top: 180px;
}

@media screen and (max-width: 767px) {
  .mv_p3 {
    padding-top: 100px;
  }
}

.mv_p3 .mv_ttl {
  text-align: center;
}

.mv_p3 .mv_ttl .en_ttl {
  font-size: clamp(80px, 5.20833vw, 100px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .mv_p3 .mv_ttl .en_ttl {
    font-size: 42px;
  }
}

.mv_p3 .mv_ttl .ja_ttl {
  display: inline-block;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #5f5f5f;
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .mv_p3 .mv_ttl .ja_ttl {
    font-size: 20px;
  }
}

.breadcrumb {
  font-size: 16px;
  padding: 13px 23px;
  border-radius: 20px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    font-size: 12px;
    padding: 13px 15px;
  }
}

.breadcrumb .container {
  display: flex;
  align-items: center;
  justify-content: right;
  text-align: right;
  flex-wrap: wrap;
  padding: 0;
}

.breadcrumb .home::before {
  content: "\f015";
  font-family: "Font Awesome 5 Free", sans-serif;
  font-weight: 900;
  margin-right: 10px;
  color: #005dab;
}

.breadcrumb a {
  text-decoration: none;
  transition: all 0.3s ease 0s;
  color: #505050;
  font-weight: 700;
}

.breadcrumb a:hover {
  opacity: 0.6;
}

.breadcrumb .icon {
  margin-left: 10px;
  margin-right: 10px;
  display: flex;
  align-items: center;
}

.breadcrumb .icon img {
  width: 14px;
}

.pagination {
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 30px;
  }
}

.pagination__list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.pagination__link {
  display: grid;
  place-items: center;
  width: 50px;
  height: 50px;
  background-color: #dedede;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .pagination__link {
    width: 30px;
    height: 30px;
    font-size: 15px;
  }
}

.pagination__link.is-current {
  background-color: #015986;
}

.pagination__dots {
  display: grid;
  place-items: center;
  width: 48px;
  height: 72px;
  color: #333;
  font-size: 28px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .pagination__dots {
    width: 25px;
    height: 30px;
    font-size: 18px;
  }
}

.flow_common .sec_ttl {
  color: #dd8622;
  text-align: center;
}

.flow_common .sec_ttl .en_ttl {
  font-size: clamp(56px, 4.375vw, 84px);
  font-weight: 700;
  font-family: "rubik", sans-serif;
  letter-spacing: 0.09em;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .flow_common .sec_ttl .en_ttl {
    font-size: 36px;
  }
}

.flow_common .sec_ttl .ja_ttl {
  font-size: clamp(20px, 1.35416vw, 26px);
  font-weight: 700;
  margin-left: 200px;
}

@media screen and (max-width: 767px) {
  .flow_common .sec_ttl .ja_ttl {
    font-size: 20px;
    margin-left: 0;
  }
}

.flow_common .wrapper {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper {
    margin-top: 30px;
  }
}

.flow_common .wrapper .item {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  padding: 35px 0;
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item {
    flex-direction: column;
  }
}

.flow_common .wrapper .item:first-child {
  margin-top: 0;
}

.flow_common .wrapper .item .left {
  width: clamp(490px, 31.25vw, 600px);
  display: flex;
  align-items: center;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item .left {
    width: 100%;
  }
}

.flow_common .wrapper .item .left .num {
  font-size: 20px;
  font-family: "Oleo Script", system-ui;
  color: #fff;
  background-color: #f7ad18;
  padding: clamp(15px, 1.25vw, 24px) clamp(30px, 2.08333vw, 40px) clamp(15px, 1.25vw, 24px) clamp(40px, 2.60416vw, 50px);
  border-radius: 0 10px 10px 0;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item .left .num {
    padding: 8px 20px 8px 15px;
  }
}

.flow_common .wrapper .item .left .num span {
  font-size: 40px;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item .left .num span {
    font-size: 28px;
  }
}

.flow_common .wrapper .item .left .ttl {
  font-size: clamp(22px, 1.4583vw, 28px);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #e88b30;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item .left .ttl {
    font-size: 20px;
  }
}

.flow_common .wrapper .item .txt {
  width: calc(100% - clamp(490px, 31.25vw, 600px));
  font-weight: 700;
  line-height: 2;
  color: #292929;
  padding-right: clamp(40px, 5.20833vw, 100px);
  text-align: justify;
}

@media screen and (max-width: 767px) {
  .flow_common .wrapper .item .txt {
    width: 100%;
    padding-right: 0;
    padding: 15px 15px 0;
  }
}

.waterproof .about .up,
.insurance .about .up {
  padding-left: 240px;
  padding-bottom: 40px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up,
  .insurance .about .up {
    padding-left: 0;
    padding-bottom: 30px;
  }
}

.waterproof .about .up .imege_human,
.insurance .about .up .imege_human {
  position: absolute;
  left: 20px;
  bottom: -20px;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up .imege_human,
  .insurance .about .up .imege_human {
    display: none;
    left: 0px;
    bottom: -30px;
  }
}

.waterproof .about .up .imege_human img,
.insurance .about .up .imege_human img {
  width: 140px;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up .imege_human img,
  .insurance .about .up .imege_human img {
    width: 65px;
  }
}

.waterproof .about .up .ttl,
.insurance .about .up .ttl {
  font-size: clamp(28px, 1.666vw, 32px);
  font-weight: 700;
  line-height: 1.56;
  color: #6b7072;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up .ttl,
  .insurance .about .up .ttl {
    font-size: 18px;
  }
}

.waterproof .about .up .ttl span,
.insurance .about .up .ttl span {
  font-size: clamp(38px, 2.1875vw, 42px);
  color: #1590be;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up .ttl span,
  .insurance .about .up .ttl span {
    font-size: 20px;
  }
}

.waterproof .about .up .txt,
.insurance .about .up .txt {
  padding-left: 20px;
  margin-top: 20px;
  font-weight: 700;
  color: #292929;
  line-height: 1.875;
}

@media screen and (max-width: 767px) {
  .waterproof .about .up .txt,
  .insurance .about .up .txt {
    padding-left: 0;
    margin-top: 15px;
  }
}

.waterproof .about .bottom,
.insurance .about .bottom {
  background-color: #1d5c86;
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 35px 0;
}

@media screen and (max-width: 767px) {
  .waterproof .about .bottom,
  .insurance .about .bottom {
    flex-direction: column;
  }
}

.waterproof .about .bottom .ttl,
.insurance .about .bottom .ttl {
  display: flex;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.14;
  color: #98f2f2;
  width: 420px;
  text-align: left;
  border-right: 1px dotted #ffffff;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .waterproof .about .bottom .ttl,
  .insurance .about .bottom .ttl {
    font-size: 20px;
    width: auto;
    border-right: none;
  }
}

.waterproof .about .bottom .ttl span,
.insurance .about .bottom .ttl span {
  position: relative;
}

.waterproof .about .bottom .ttl span::after,
.insurance .about .bottom .ttl span::after {
  position: absolute;
  content: "Check!!";
  font-size: 16px;
  font-family: "Oleo Script", system-ui;
  color: #ffffff;
  left: -46px;
  top: -12px;
  rotate: -21deg;
}

.waterproof .about .bottom .txt,
.insurance .about .bottom .txt {
  font-weight: 700;
  line-height: 2;
  color: #fbfbfb;
  width: calc(100% - 420px);
  padding: 0 80px 0 36px;
}

@media screen and (max-width: 767px) {
  .waterproof .about .bottom .txt,
  .insurance .about .bottom .txt {
    width: 100%;
    padding: 0 15px;
  }
}

.single_voice .info,
.single_work .info {
  margin-top: 60px;
  background-color: #efebd5;
  border-radius: 10px;
  padding: 40px clamp(40px, 5.20833vw, 100px);
}

@media screen and (max-width: 767px) {
  .single_voice .info,
  .single_work .info {
    margin-top: 30px;
    padding: 20px 15px;
  }
}

.single_voice .info .box,
.single_work .info .box {
  display: flex;
  gap: 15px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box,
  .single_work .info .box {
    flex-direction: column;
  }
}

.single_voice .info .box .item,
.single_work .info .box .item {
  background-color: #fff;
  border-radius: 10px;
  padding: 15px 30px;
  display: flex;
  align-items: center;
  gap: 15px;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .item,
  .single_work .info .box .item {
    padding: 10px 20px;
    gap: 5px;
  }
}

.single_voice .info .box .item .right .right_ttl,
.single_work .info .box .item .right .right_ttl {
  font-weight: 700;
  color: #5d5d5d;
}

.single_voice .info .box .item .right .txt,
.single_work .info .box .item .right .txt {
  font-size: 22px;
  font-weight: 700;
  color: #938d6d;
  padding: 5px 0 0 10px;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .item .right .txt,
  .single_work .info .box .item .right .txt {
    font-size: 16px;
  }
}

.single_voice .info .box .content,
.single_work .info .box .content {
  width: 29.06%;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .content,
  .single_work .info .box .content {
    width: 100%;
  }
}

.single_voice .info .box .content .image_icon img,
.single_work .info .box .content .image_icon img {
  width: 60px;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .content .image_icon img,
  .single_work .info .box .content .image_icon img {
    width: 40px;
  }
}

.single_voice .info .box .menu,
.single_work .info .box .menu {
  width: 43.59%;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .menu,
  .single_work .info .box .menu {
    width: 100%;
  }
}

.single_voice .info .box .menu .image_icon img,
.single_work .info .box .menu .image_icon img {
  width: 44px;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .menu .image_icon img,
  .single_work .info .box .menu .image_icon img {
    width: 33px;
  }
}

.single_voice .info .box .period,
.single_work .info .box .period {
  width: 24.79%;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .period,
  .single_work .info .box .period {
    width: 100%;
  }
}

.single_voice .info .box .period .image_icon img,
.single_work .info .box .period .image_icon img {
  width: 56px;
}

@media screen and (max-width: 767px) {
  .single_voice .info .box .period .image_icon img,
  .single_work .info .box .period .image_icon img {
    width: 36px;
  }
}

.contact_common {
  margin-top: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .contact_common {
    margin-top: 30px;
  }
}

.contact_common .read {
  line-height: 1.54;
  color: #292929;
  font-weight: 700;
}

.contact_common .read span {
  color: #ef9338;
}

.contact_common .contact_btn {
  margin-top: 40px;
}

.contact_common .contact_btn a {
  background-color: #e88b30;
}

.single_common-ttl {
  font-size: clamp(22px, 1.5625vw, 30px);
  font-weight: 700;
  letter-spacing: 0.03em;
  color: #fff;
  background-color: #12506f;
  text-align: center;
  padding: 15px 0;
}

@media screen and (max-width: 767px) {
  .single_common-ttl {
    font-size: 18px;
    padding: 10px;
    text-align: justify;
  }
}

/* ============================================
   プライバシーポリシー
   ============================================ */
.p_policy {
  padding: 60px 0 80px;
  font-weight: 700;
}

.p_policy .policy_wrapper {
  max-width: 800px;
  margin: 0 auto;
}

.p_policy .policy_lead {
  line-height: 1.9;
  margin-bottom: 48px;
  color: #333;
}

.p_policy .policy_section {
  margin-bottom: 40px;
}

.p_policy .policy_heading {
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background-color: #64a9cb;
  padding: 10px 16px;
  margin-bottom: 16px;
  border-radius: 4px;
}

.p_policy .policy_section p {
  line-height: 1.9;
  color: #333;
}

.p_policy .policy_list {
  margin: 12px 0 0 1em;
  padding: 0;
  list-style: disc;
}

.p_policy .policy_list li {
  line-height: 1.9;
  color: #333;
  margin-bottom: 4px;
}

.p_policy .policy_contact {
  background: #f5f5f5;
  border-left: 4px solid #64a9cb;
  padding: 20px 24px;
  margin-top: 12px;
  border-radius: 0 4px 4px 0;
  line-height: 1.9;
}

.p_policy .policy_contact a {
  color: #64a9cb;
  text-decoration: none;
}

.p_policy .policy_contact a:hover {
  text-decoration: underline;
}

/* ===============================================
# TOPページ簡易フォーム ラジオボタン チェックマーク修正
   contact/estimateページと同じ黄色チェックマークスタイルに統一
=============================================== */
.t_contact-box span.wpcf7-list-item-label::after {
  border-radius: 0;
  width: 6px;
  height: 13px;
  border: solid #f7ad18;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  left: 9px;
  top: 3px;
  background-color: transparent;
}

.t_contact-box input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block;
}

/* ===============================================
# ヘッダーロゴ z-index修正
=============================================== */
.header-logo {
  z-index: 51 !important;
}

/* ===============================================
# お問い合わせ・お見積もりフォーム CF7修正
=============================================== */
.p_estimate .contact-form input[type="radio"]:checked + span.wpcf7-list-item-label::after,
.p_contact .contact-form input[type="radio"]:checked + span.wpcf7-list-item-label::after {
  display: block !important;
}

.p_estimate .contact-form .wpcf7-list-item label,
.p_contact .contact-form .wpcf7-list-item label {
  position: relative;
  display: block;
  cursor: pointer;
}

.p_estimate .contact-form .wpcf7-acceptance span.wpcf7-list-item-label::before,
.p_contact .contact-form .wpcf7-acceptance span.wpcf7-list-item-label::before {
  display: none !important;
}

.p_estimate .contact-form .wpcf7-acceptance,
.p_contact .contact-form .wpcf7-acceptance {
  display: block !important;
}

.p_estimate .contact-form .form-privacy label,
.p_contact .contact-form .form-privacy label {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
}

.p_estimate .contact-form .form-privacy .wpcf7-acceptance--condition,
.p_estimate .contact-form .form-privacy .wpcf7-list-item-label,
.p_contact .contact-form .form-privacy .wpcf7-acceptance--condition,
.p_contact .contact-form .form-privacy .wpcf7-list-item-label {
  display: inline !important;
}

.p_estimate .contact-form .contact-contents__submit,
.p_contact .contact-form .contact-contents__submit {
  display: flex !important;
  justify-content: center !important;
}

.p_estimate .contact-form .contact-contents__btn,
.p_contact .contact-form .contact-contents__btn {
  display: inline-block !important;
}

/* ===============================================
# t_reason 縦書きテキスト iOS overflow修正
=============================================== */
@media screen and (max-width: 767px) {
  .t_reason .wrapper .item .ttl {
    top: 0;
    bottom: 0;
    right: 0;
    overflow: hidden;
  }
}

/* ===============================================
# CTAバー パルスアニメーション（SP・閉じている時のみ）
=============================================== */
@keyframes cta-pulse {
  0%, 100% {
    box-shadow: 0 -3px 0 0 rgba(255, 153, 0, 0);
  }
  50% {
    box-shadow: 0 -6px 18px 2px rgba(255, 153, 0, 0.55);
  }
}

@media (max-width: 767px) {
  .cta.is-close {
    animation: cta-pulse 2.2s ease-in-out infinite;
  }
}
