@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
デフォルト設定
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ----------------------- デフォルトcss ------------------------- */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Zona Pro */
@font-face {
  font-family: "Zona Pro";
  src: url("./font/ZonaPro-ExtraLight.ttf") format("truetype");
  font-weight: 200;
}

@font-face {
  font-family: "Zona Pro";
  src: url("./font/ZonaPro-Bold.ttf") format("truetype");
  font-weight: 700;
}

html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

p {
  margin: 0px;
}

body {
  min-width: 1440px;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.01em;
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  color: #696969;
  background: #fff;
  margin: 0;
}

a:link {
  color: #0200AB;
}

a:visited {
  color: #0200AB;
}

a:active {
  color: #0200AB;
  text-decoration: none;
}

img {
  display: block;
  max-width: 100%;
}

ul {
  padding: 0px;
  list-style: none;
  margin: 0;
}

h1,
h2,
h3 {
  margin: 0;
}

.oh {
  overflow: hidden;
}

.L {
  float: left;
}

.R {
  float: right;
}

.sp {
  display: none;
}

.pr {
  position: relative;
}

.pa {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}

.pa_img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

.flex {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
}

.flex_sb {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -moz-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

html,
button,
input,
select,
textarea {
  font-family: "Zen Kaku Gothic New", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.wrap {
  width: 1140px;
  margin: 0 auto;
}

.wrap.mid {
  width: 1240px;
}

.wrap.lr {
  width: 1340px;
}

/* ----------------------- サイト共通パーツ ------------------------- */
/* 下層FV */
.common_fv {
  padding: 45px 0 0;
  margin-top: 140px;
}

.common_fv .head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  margin-top: -30px;
}

.common_fv .title .ja {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #18150d;
  padding-left: 50px;
}

.common_fv .title .ja::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 30px;
  height: 10px;
  background-image: url("./image/section-block-decoration.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.common_fv .title .en {
  font-family: "Caveat", serif;
  font-size: 124px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: rgba(27, 26, 179, 0.1);
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
  margin-left: -15px;
}

/* パンくず */
.breadcrumb {
  font-size: 12px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #18150d;
  margin-top: 71.2px;
}

.breadcrumb .box {
  margin-left: -5px;
  text-align: left;
}

.breadcrumb a {
  color: #696969;
}

.breadcrumb span {
  padding-inline: 3px;
}

.common_fv .fv_image {
  position: relative;
  margin-top: 20px;
}

.common_fv .image {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}

.common_fv .image::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #18150d;
  opacity: 0.2;
  z-index: 1;
}

.common_fv .image::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/top-fv-dot.svg");
  background-position: center;
  background-size: cover;
  z-index: 2;
}

.common_fv .image img {
  width: 100%;
  aspect-ratio: 1340/330;
  -o-object-fit: cover;
  object-fit: cover;
}

/* 各種ご相談はこちら */
.common_contact {
  padding: 0 0 130px;
}

.common_contact .body {
  position: relative;
  border-radius: 20px;
  padding: 93px 50px 90px;
  background-image: url("./image/contact-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.common_contact .catch {
  position: absolute;
  top: -5px;
  left: -5px;
}

.common_contact .c_section_block {
  text-align: center;
}

.common_contact .c_section_block .en {
  color: #fff;
}

.common_contact .c_section_block .ja {
  letter-spacing: 0.01em;
  color: #fff;
}

.common_contact .c_section_block .ja::before,
.common_contact .c_section_block .ja::after {
  display: none;
}

.common_contact .column02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 630px;
  margin-inline: auto;
  margin-top: 50px;
}

.common_contact .column03 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
  margin-top: 35px;
}

.common_contact .box {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 15px;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 14px 10px 13px;
}

.common_contact .tel_texts {
  color: #fff;
}

.common_contact .tel_text {
  font-family: "Zona Pro", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.common_contact .hours_text {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  margin-top: 7px;
}

.common_contact .btn {
  width: 300px;
}

/* ----------------------- 共通パーツ ------------------------- */
/* ボタン */
.c_btn {
  max-width: 400px;
}

.c_btn a {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  background: #0200AB;
  border: 1px solid #0200AB;
  border-radius: 40px;
  padding: 21.5px 30px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c_btn a .icon_link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 15px;
}

.c_btn a .link_text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c_btn a .icon_link .icon {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c_btn a .arrow {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 25px;
  height: 25px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c_btn a .arrow .default,
.c_btn a .arrow .hover {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  z-index: 1;
}

.c_btn a .arrow .default {
  opacity: 1;
  visibility: visible;
}

.c_btn a .arrow .hover {
  opacity: 0;
  visibility: hidden;
}

.c_btn--inversion a {
  background: #fff;
  border: 1px solid #fff;
}

.c_btn--inversion .icon img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.c_btn--inversion a .link_text {
  color: #0200AB;
}

.c_btn--red a {
  background: #c90601;
  border: 1px solid #c90601;
}

.c_btn--red a .link_text {
  color: #fff;
}

.c_btn--inversion_red a .link_text {
  color: #c90601;
}

.c_btn--green a {
  background: #06c755;
  border: 1px solid #06c755;
}

.c_btn--green a .link_text {
  color: #fff;
}

.c_btn--inversion_green a .link_text {
  color: #06c755;
}

.c_btn--green a .icon img {
  -webkit-filter: none;
  filter: none;
}

.c_btn--red .icon img,
.c_btn--green .icon img {
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

/* セクションタイトル */
.c_section_block {
  text-align: center;
}

.c_section_block .en {
  font-family: "Zona Pro", serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #0200AB;
}

.c_section_block .en--fz {
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}

.c_section_block .ja {
  position: relative;
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #18150d;
  padding-inline: 50px;
  margin-top: 10px;
}

.c_section_block .ja::before,
.c_section_block .ja::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 30px;
  height: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.c_section_block .ja::before {
  left: 0;
  background-image: url("./image/section-block-decoration.svg");
}

.c_section_block .ja::after {
  right: 0;
  background-image: url("./image/section-block-decoration03.svg");
}

.c_section_block .words {
  margin-top: 36px;
}

/* 下層FV下テキスト */
.c_texts {
  padding: 60px 0 80px;
}

.c_texts--accent {
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
}

.c_texts .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

.c_texts .title::first-letter {
  color: #0200AB;
}

.c_texts .text {
  margin-top: 30px;
  text-align: center;
}

/* 画像＋テキスト */
.c_media {
  padding: 100px 0;
}

.c_media--accent {
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
}

.c_media .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

.c_media .section_title::first-letter {
  color: #0200AB;
}

.c_media .media {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 50px;
  margin-top: 60px;
}

.c_media .contents {
  width: calc(50% - 25px);
}

.c_media .title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.01em;
  color: #18150d;
}

.c_media .text {
  line-height: 1.6;
}

.c_media .image {
  width: calc(50% - 25px);
}

.c_media .image img {
  width: 100%;
  border-radius: 20px;
}

.c_media .image img {
  width: 100%;
  aspect-ratio: 550/322;
  -o-object-fit: cover;
  object-fit: cover;
}

.c_media .btn {
  width: 320px;
  margin-top: 30px;
}

/* お悩み */
.c_worries {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 130px 0 0;
}

.c_worries::before {
  content: "";
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: -100px;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

.c_worries .wrap {
  position: relative;
}

.c_worries .wrap::before {
  content: "";
  width: 338px;
  height: 315px;
  position: absolute;
  top: 0;
  left: -100px;
  background-image: url("./image/top-news-bg01.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c_worries .wrap::after {
  content: "";
  width: 517px;
  height: 451px;
  position: absolute;
  bottom: 0;
  right: -100px;
  background-image: url("./image/top-news-bg02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c_worries .head {
  position: relative;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 23px;
  z-index: 1;
}

.c_worries .sub_title {
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.01em;
  color: #0200AB;
}

.c_worries .title {
  position: relative;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #18150d;
  margin-top: 10px;
  text-align: center;
  z-index: 2;
}

.c_worries .title span {
  color: #0200AB;
  border-bottom: 2px solid #0200AB;
}

.c_worries .body {
  position: relative;
  background: #fff;
  border-radius: 20px;
  padding: 93px 50px 70px;
  margin-top: -30px;
  z-index: 1;
}

.c_worries .items {
  position: relative;
}

.c_worries .items {
  position: relative;
}

.c_worries .items::before {
  content: "";
  width: 182px;
  height: 184px;
  position: absolute;
  top: -70px;
  left: 0;
  background-image: url("./image/service-worries-item-before.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}

.c_worries .items::after {
  content: "";
  width: 88px;
  height: 183px;
  position: absolute;
  top: -65px;
  right: 10px;
  background-image: url("./image/service-worries-item-after.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}

.c_worries .item:nth-of-type(2) {
  margin-top: 55px;
}

.c_worries .item_title {
  width: 560px;
  margin-inline: auto;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #fff;
  background: #0200AB;
  border-radius: 40px;
  padding: 14px;
  text-align: center;
}

.c_worries .item_lists {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px 13px;
  margin-top: 45px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c_worries .item_list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  border: 1px solid #e9e9f4;
  padding: 60px 20px 20px;
}

.c_worries .item_icon {
  position: absolute;
  display: inline-block;
  top: -22px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}

.c_worries .item_list_text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

.c_worries .catch {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
  margin-top: 80px;
}

.c_worries .catch span {
  position: relative;
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #0200AB;
}

.c_worries .catch span::before {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: -7px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #0200AB;
  border-radius: 50%;
}

/* 強み */
.c_commitment {
  position: relative;
  padding: 250px 0 61px;
}

.c_commitment::before {
  content: "";
  width: 470px;
  height: 589px;
  position: absolute;
  top: 220px;
  left: 0;
  background-image: url("./image/top-staff-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}

.c_commitment .c_section_block {
  text-align: center;
}

.c_commitment .items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 54px;
  margin-top: 35px;
}

.c_commitment .item {
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.c_commitment .image {
  position: relative;
  background: #f7f7ff;
  border-radius: 10px;
  padding: 10px;
}

.c_commitment .image img {
  width: 100%;
  aspect-ratio: 340/190;
  -o-object-fit: cover;
  object-fit: cover;
}

.c_commitment .sub_title {
  position: absolute;
  min-width: 100px;
  bottom: -50px;
  left: -20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 15px 10px 5px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

.c_commitment .item:nth-of-type(even) .sub_title {
  color: #0200AB;
}

.c_commitment .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

.c_commitment .item:nth-of-type(2n) .sub_title::before {
  background-image: url("./image/balloon-white.svg");
}

.c_commitment .sub_title span {
  display: inline-block;
  width: 100%;
}

.c_commitment .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.c_commitment .title {
  width: 100%;
  max-width: 73%;
  margin-left: auto;
  margin-right: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #18150d;
  margin-top: 20px;
}

.c_commitment .text {
  line-height: 1.5;
  margin-top: 10px;
}

/* 施工事例 */
.c_cases .body {
  position: relative;
  background: #0200AB;
  border-radius: 20px;
  padding: 5px 50px 60px;
  z-index: 2;
}

.c_cases .c_section_block {
  text-align: center;
}

.c_cases .c_section_block .en {
  font-family: "Caveat", serif;
  font-size: 184px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #1b1ab3;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

.c_cases .c_section_block .head {
  position: relative;
  margin-top: -80px;
}

.c_cases .c_section_block .ja {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #fff;
  margin-top: -80px;
}

.c_cases .ja::before {
  left: 0;
  background-image: url("./image/section-block-decoration02.svg");
}

.c_cases .ja::after {
  right: 0;
  background-image: url("./image/section-block-decoration04.svg");
}

.c_cases .items {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 35px;
}

.c_cases .item img {
  width: 100%;
  border-radius: 10px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
}

.c_cases .btn {
  width: 340px;
  margin-inline: auto;
  margin-top: 35px;
}

.c_cases .video_box {
  position: relative;
  width: 100%;
  height: auto;
  padding-bottom: 50%;
  margin-top: 35px;
}

.c_cases video {
  position: absolute;
  width: 100%;
  height: auto;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 20px;
  -o-object-fit: cover;
  object-fit: cover;
}

/* よくある質問 */
.c_faq {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 100px 0 100px;
}

.c_faq::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: 170px;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
}

.c_faq::after {
  content: "";
  position: absolute;
  bottom: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(180deg);
  transform: translateX(-50%) rotate(180deg);
  width: 100%;
  height: 170px;
  background: -webkit-gradient(linear, right top, left top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(right, #f7f7ff, #e5e5f8);
  background: linear-gradient(to left, #f7f7ff, #e5e5f8);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  z-index: -1;
}

.c_faq .wrap {
  position: relative;
}

.c_faq .wrap::before {
  content: "";
  width: 745px;
  height: 811px;
  position: absolute;
  top: -110px;
  right: -150px;
  background-image: url(./image/top-services-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.c_faq .body {
  position: relative;
  z-index: 1;
}

.c_faq .c_section_block {
  text-align: center;
}

.c_faq .list {
  margin-top: 35px;
}

.c_faq .list dl {
  background: #fff;
  border-radius: 10px;
}

.c_faq .list dl+dl {
  margin-top: 20px;
}

.c_faq .list dl dt,
.c_faq .list dl dd {
  display: flex;
  align-items: center;
  gap: 0 11px;
  padding: 34px 50px 34px;
}

.c_faq .list dl dt .en {
  font-family: "Zona Pro", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.01em;
  color: #0200AB;
  flex-shrink: 0;
}

.c_faq .list dl dt .text {
  width: 100%;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #18150d;
}

.c_faq .list dl dt .mark {
  width: 24px;
  aspect-ratio: 1;
  background: #0200AB;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  position: relative;
}

.c_faq .list dl dt .mark::before,
.c_faq .list dl dt .mark::after {
  content: "";
  width: 2px;
  height: 50%;
  background: #fff;
  border-radius: 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  transition: .4s;
}

.c_faq .list dl dt .mark::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
}

.c_faq .list dl dt.nowOpen .mark::before {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
  transform: translate(-50%, -50%) rotate(90deg);
}

.c_faq .list dl dd {
  align-items: flex-start;
  border-top: 1px solid #e0dfef;
  margin: 0 50px;
  padding: 30px 0 50px;
}

.c_faq .list dl dd .text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.71;
  letter-spacing: 0.03em;
}

.c_faq .list dl dd .en {
  flex-shrink: 0;
  font-family: "Zona Pro", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.01em;
  color: #c90601;
}

.c_faq .list dl dd .closeBtnHat {
  display: none;
}

/* ----------------------- PCヘッダー ------------------------- */
.pc_header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 30;
}

.pc_header .body {
  position: relative;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 35px 0 25px;
}

.pc_header .head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}

.pc_header .logo a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc_header .logo img {
  width: 80px;
  aspect-ratio: 1/1;
}

.pc_header .text {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0em;
  color: #18150d;
}

.pc_header .contents {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
}

.pc_header .links {
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 30px;
}

.pc_header .link a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 14.5px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc_header .link_text {
  font-size: 13px;
  font-weight: 700;
  line-height: 2.46;
  letter-spacing: 0em;
  color: #18150d;
}

.pc_header .link_text--fz {
  font-size: 15px;
  font-weight: 700;
  line-height: 2.13;
  letter-spacing: 0em;
  color: #18150d;
}

.pc_header .nav {
  width: 100%;
}

.pc_header .menus {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 46px;
}

.pc_header .menu {
  position: relative;
}

.pc_header .menu::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  top: 50%;
  right: -26px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #e5e5e5;
  border-radius: 50%;
}

.pc_header .menu:last-of-type::before {
  display: none;
}

.pc_header .menu a {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 5px;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0em;
  color: #18150d;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc_header .accordion_open a {
  position: relative;
  display: block;
  padding-right: 15px;
}

.pc_header .accordion_open a::before,
.pc_header .accordion_open a::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #18150d;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc_header .accordion_open a::before {
  width: 2px;
  height: 10px;
  right: 4px;
  -webkit-transform: translateY(-50%) rotate(0deg);
  transform: translateY(-50%) rotate(0deg);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.pc_header .accordion_open a::after {
  width: 10px;
  height: 2px;
  right: 0;
}

.pc_header .accordion_open.active a::before {
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}

.pc_header .accordion {
  position: absolute;
  width: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #fff;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
  z-index: 10;
}

.pc_header .accordion .body {
  width: 1340px;
  margin: 0 auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 100px;
  padding: 0;
}

.pc_header .accordion.active {
  opacity: 1;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
}

.pc_header .accordion .image {
  width: 36%;
  margin-left: -137px;
}

.pc_header .accordion .image img {
  border-radius: 0 20px 20px 0;
}

.pc_header .sub_menus {
  width: 50%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 20px;
  margin-right: 50px;
  margin-bottom: 20px;
}

.pc_header .sub_menu a {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  padding: 16px 0;
  border-bottom: 2px solid #E9E9F4;
}

.pc_header .sub_menu_text {
  color: #18150d;
  font-weight: 700;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.pc_header .sub_menu_arrow {
  display: inline-block;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* ----------------------- TOPページ ------------------------- */
/* アニメーション */
@-webkit-keyframes slide-animation {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@keyframes slide-animation {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes rotate-infinite {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate-infinite {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/* FV */
#top_fv {
  position: relative;
  margin-top: 140px;
  z-index: 1;
}

#top_fv .body {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
}

#top_fv .body::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(24, 21, 13, 0.27);
  z-index: 1;
}

#top_fv .body::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/top-fv-dot.svg");
  background-position: center;
  background-size: cover;
  z-index: 2;
}

#top_fv video {
  position: absolute;
  width: 100%;
  height: auto;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
}

#top_fv .title {
  position: relative;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 260px 0 75px 80px;
  z-index: 3;
}

#top_fv .scroll {
  position: relative;
  margin-top: -50px;
  z-index: 3;
}

#top_fv .scroll a {
  display: inline-block;
  padding-left: 50px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_fv .scroll img {
  width: 80px;
  height: 80px;
}

/* お知らせ */
#top_news {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 230px 0 160px;
  margin-top: -270px;
}

#top_news .wrap.mid {
  position: relative;
}

#top_news .wrap.mid::before {
  content: "";
  width: 338px;
  height: 315px;
  position: absolute;
  top: -104px;
  left: -50px;
  background-image: url("./image/top-news-bg01.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top_news .wrap.mid::after {
  content: "";
  width: 517px;
  height: 451px;
  position: absolute;
  bottom: -102px;
  right: -81px;
  background-image: url("./image/top-news-bg02.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top_news .body {
  position: relative;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 80px;
  background: #fff;
  border-radius: 20px;
  padding: 80px 50px;
  margin-top: 180px;
  z-index: 1;
}

#top_news .contents {
  width: calc(28% - 40px);
  margin-top: 10px;
}

#top_news .c_section_block {
  text-align: left;
}

#top_news .c_section_block .ja {
  letter-spacing: 0.01em;
  padding-inline: 0;
}

#top_news .c_section_block .ja::before,
#top_news .c_section_block .ja::after {
  display: none;
}

#top_news .c_section_block .decoration {
  display: block;
  margin-top: 20px;
}

#top_news .btn {
  width: 280px;
  margin-top: 50px;
}

#top_news .items {
  width: calc(72% - 40px);
}

#top_news .item:not(:first-of-type) {
  margin-top: 10px;
}

#top_news .item a {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 25px;
  border: 1px solid #E9E9F4;
  border-radius: 10px;
  padding: 22px 30px 28px;
}

#top_news .head {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}

#top_news .circle {
  width: 10px;
  height: 10px;
  background: #0200AB;
  border-radius: 50%;
}

#top_news .date {
  font-family: "Zona Pro", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.29;
  letter-spacing: 0.01em;
  color: #0200AB;
}

#top_news .title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #18150d;
  margin-top: 4px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_news .item_arrow {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

#top_news .item_arrow img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* 高橋塗装工業のこだわり */
#top_commitment {
  position: relative;
  color: #fff;
  background-image: url("./image/top-commitment-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0 20px 20px 0;
  padding: 50px 0 140px;
  margin-right: 3.47%;
}

#top_commitment::before {
  content: "";
  width: 100vw;
  min-width: 103.6%;
  height: 50%;
  position: absolute;
  top: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  z-index: -1;
}

#top_commitment .wrap {
  width: calc(1140px + 3.47%);
  padding-left: 3.47%;
}

#top_commitment .en_title {
  font-family: "Caveat", serif;
  font-size: 184px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #1b1ab3;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
  margin-left: -95px;
}

#top_commitment .body {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 80px;
  margin-top: -35px;
}

#top_commitment .contents {
  width: calc(56.2% - 40px);
}

#top_commitment .image {
  position: relative;
  width: calc(43.8% - 40px);
  background: #2321be;
  border-radius: 10px;
  padding: 20px;
  margin-top: -10px;
}

#top_commitment .image img {
  width: 100%;
  aspect-ratio: 440/640;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_commitment .image::before {
  content: "";
  width: 150px;
  height: 150px;
  position: absolute;
  bottom: -63px;
  right: -50px;
  background-image: url("./image/top-commitment-image-before.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-animation: rotate-infinite 25s linear infinite;
  animation: rotate-infinite 25s linear infinite;
}

#top_commitment .head {
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
}

#top_commitment .title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

#top_commitment .sub_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-top: 35px;
}

#top_commitment .text {
  margin-top: 26px;
}

#top_commitment .btn {
  width: 320px;
  margin-top: 50px;
}

/* 事業内容 */
#top_services {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  border-radius: 20px 0 0 20px;
  padding: 104px 0 100px;
  margin-left: 3.47%;
  margin-top: 160px;
  overflow: hidden;
  z-index: 1;
}

#top_services::before {
  content: "";
  width: 745px;
  height: 811px;
  position: absolute;
  top: 80px;
  right: 0;
  background-image: url("./image/top-services-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}

#top_services .wrap {
  width: calc(1140px + 3.47%);
  padding-right: 3.47%;
}

#top_services .c_section_block {
  text-align: center;
}

#top_services .items {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 60px;
  margin-top: 27px;
  z-index: 1;
}

#top_services .item:nth-of-type(3n + 2) {
  margin-top: 30px;
}

#top_services .item:nth-of-type(3n) {
  margin-top: 60px;
}

#top_services .item:first-of-type {
  margin-top: 0;
}

#top_services .item:nth-of-type(n + 4):nth-of-type(3n + 1) {
  margin-top: -30px;
}

#top_services .item:nth-of-type(n + 4):nth-of-type(3n + 2) {
  margin-top: 0px;
}

#top_services .item:nth-of-type(n + 4):nth-of-type(3n) {
  margin-top: 30px;
}

#top_services .item_head {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#top_services .sub_title {
  position: relative;
  min-width: 100px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 29px 26.4px 21px 24.4px;
  margin-left: -20px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

#top_services .item:nth-of-type(even) .sub_title {
  color: #0200AB;
}

#top_services .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

#top_services .item:nth-of-type(2n) .sub_title::before {
  background-image: url("./image/balloon-white.svg");
}

#top_services .sub_title span {
  display: inline-block;
  width: 100%;
}

#top_services .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#top_services .box {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}

#top_services .circle {
  width: 10px;
  height: 10px;
  background: #0200AB;
  border-radius: 50%;
}

#top_services .title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.01em;
  color: #18150d;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_services .item a {
  display: block;
  background: #F7F7FF;
  border-radius: 10px;
  padding: 20px;
  margin-top: -40px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_services .image {
  overflow: hidden;
}

#top_services .image img {
  width: 100%;
  aspect-ratio: 320/405;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_services .text {
  line-height: 1.6;
  margin-top: 20px;
  margin-bottom: 50px;
}

#top_services .slide_text {
  position: absolute;
  bottom: 275px;
  left: 0;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

#top_services .slide_text .sub,
#top_services .slide_text .main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  font-family: "Lexend Tera", serif;
  color: #dedef5;
}

#top_services .slide_text .sub {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}

#top_services .slide_text .main {
  font-size: 136px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.05em;
  margin-top: 20px;
}

#top_services .slide_text .sub span,
#top_services .slide_text .main span {
  white-space: nowrap;
}

#top_services .slide_text .sub span {
  -webkit-animation: slide-animation 30s linear infinite;
  animation: slide-animation 30s linear infinite;
}

#top_services .slide_text .main span {
  -webkit-animation: slide-animation 37s linear infinite;
  animation: slide-animation 37s linear infinite;
}

/* スタッフ紹介 */
#top_staff {
  position: relative;
  padding: 130px 0 220px;
}

#top_staff::before {
  content: "";
  width: 470px;
  height: 589px;
  position: absolute;
  top: 30px;
  left: 0;
  background-image: url("./image/top-staff-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}

#top_staff .body {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 80px;
}

#top_staff .contents {
  width: calc(33.3% - 40px);
}

#top_staff .c_section_block {
  text-align: left;
}

#top_staff .c_section_block .ja {
  letter-spacing: 0.01em;
  padding-inline: 0;
}

#top_staff .c_section_block .ja::before,
#top_staff .c_section_block .ja::after {
  display: none;
}

#top_staff .c_section_block .decoration {
  display: block;
  margin-top: 20px;
}

#top_staff .btn {
  width: 320px;
  margin-top: 30px;
}

#top_staff .items {
  width: calc(66.7% - 40px);
}

#top_staff .item {
  position: relative;
}

#top_staff .item:not(:first-of-type) {
  margin-top: 50px;
}

#top_staff .sub_title {
  position: absolute;
  min-width: 100px;
  top: -30px;
  left: -20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 29px 26.4px 21px 24.4px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

#top_staff .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

#top_staff .sub_title span {
  display: inline-block;
  width: 100%;
}

#top_staff .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#top_staff .image {
  width: 50%;
  overflow: hidden;
  border-radius: 10px 0 0 10px;
}

#top_staff .image img {
  width: 100%;
  aspect-ratio: 360/250;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#top_staff .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 50%;
  border-radius: 0 10px 10px 0;
  padding: 20px 20px 20px 50px;
  background: #f7f7ff;
}

#top_staff .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
}

#top_staff .title span {
  color: #0200AB;
}

#top_staff .text {
  position: relative;
  font-family: "Caveat", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0em;
  color: #0200AB;
  padding-left: 100px;
  margin-top: 14px;
}

#top_staff .text::before {
  content: "";
  width: 80px;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #e0dfef;
}

#top_staff .item_btn {
  margin-top: 40px;
}

#top_staff .item_btn img {
  margin-left: auto;
  margin-right: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* 施工事例 */
#top_cases {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 130px 0 0;
}

#top_cases::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100%;
  height: 170px;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
}

#top_cases .bg {
  position: relative;
}

#top_cases .bg::before {
  content: "";
  width: 412px;
  height: 537px;
  position: absolute;
  top: -20px;
  right: 0;
  background-image: url("./image/top-cases-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}

/* ご依頼の流れ */
#top_flow {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 150px 0 80px;
  z-index: 1;
}

#top_flow::before {
  content: "";
  width: 653px;
  height: 891px;
  position: absolute;
  top: -225px;
  left: 0;
  background-image: url(./image/top-flow-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top_flow::after {
  content: "";
  position: absolute;
  bottom: -110px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(180deg);
  transform: translateX(-50%) rotate(180deg);
  width: 100%;
  height: 170px;
  background: -webkit-gradient(linear, right top, left top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(right, #f7f7ff, #e5e5f8);
  background: linear-gradient(to left, #f7f7ff, #e5e5f8);
  border-top-left-radius: 50%;
  border-top-right-radius: 50%;
  z-index: -1;
}

#top_flow .c_section_block {
  text-align: left;
}

#top_flow .c_section_block .ja {
  letter-spacing: 0.01em;
  padding-inline: 40px;
}

#top_flow .c_section_block .ja::after {
  display: none;
}

#top_flow .btn {
  width: 320px;
  margin-left: auto;
  margin-right: 0;
  margin-top: -70px;
}

#top_flow .items {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 35px;
  margin-top: 35px;
  z-index: 1;
}

#top_flow .item {
  position: relative;
}

#top_flow .sub_title {
  position: absolute;
  min-width: 80px;
  top: -10px;
  left: -20px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 17px 25.4px 13px 19.4px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

#top_flow .item:nth-child(even) .sub_title {
  color: #0200AB;
}

#top_flow .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

#top_flow .item:nth-child(even) .sub_title::before {
  background-image: url("./image/balloon-white.svg");
}

#top_flow .sub_title span {
  display: inline-block;
  width: 100%;
}

#top_flow .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#top_flow .image {
  position: relative;
}

#top_flow .image::before {
  content: "";
  width: 36px;
  height: 5px;
  position: absolute;
  top: 50%;
  right: -36px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url("./image/top-flow-dotted.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}

#top_flow .item:last-of-type .image::before {
  display: none;
}

#top_flow .image img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 10px;
}

#top_flow .texts {
  margin-top: 20px;
}

#top_flow .title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.01em;
  color: #18150d;
}

#top_flow .text {
  font-family: "Zona Pro", serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #0200AB;
  margin-top: 10px;
}

/* 各種ご相談はこちら */
#top_contact .common_contact {
  padding: 264px 0 0;
}

#top_contact .body {
  border-radius: 20px 20px 0 0;
}

/* 採用情報＆協力業者様の募集 */
#top_2column {
  padding: 30px 0 0;
}

#top_2column .c_section_block .ja {
  letter-spacing: 0.01em;
}

#top_2column .c_section_block .ja::before,
#top_2column .c_section_block .ja::after {
  display: none;
}

#top_2column .items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

#top_2column .item {
  position: relative;
  border-top: 5px solid #0200AB;
  padding: 62px 50px 60px;
  background-image: url("./image/top-2column-item-bg.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top_2column .item:nth-of-type(2) {
  background-image: url("./image/top-2column-item-bg02.svg");
}

#top_2column .c_section_block {
  text-align: center;
}

#top_2column .image {
  background: #e9e9f4;
  border-radius: 10px;
  padding: 20px;
  margin-top: 35px;
}

#top_2column .image img {
  width: 100%;
  aspect-ratio: 485/292;
  -o-object-fit: cover;
  object-fit: cover;
}

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

#top_2column .btn {
  width: 320px;
  margin-inline: auto;
  margin-top: 20px;
}

/* 会社概要 */
#top_company {
  padding: 160px 0 100px;
}

#top_company .wrap {
  position: relative;
}

#top_company .wrap::before {
  content: "";
  width: 508px;
  height: 598px;
  position: absolute;
  top: -110px;
  left: -150px;
  background-image: url("./image/top-company-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#top_company .body {
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 80px;
}

#top_company .image {
  width: calc(44.6% - 40px);
  background: #f7f7ff;
  border-radius: 10px;
  padding: 20px;
}

#top_company .image img {
  width: 100%;
  aspect-ratio: 450/440;
  -o-object-fit: cover;
  object-fit: cover;
}

#top_company .contents {
  width: calc(55.4% - 40px);
}

#top_company .title {
  position: relative;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  z-index: 1;
}

#top_company .title::first-letter {
  color: #0200AB;
}

#top_company .title span {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}

#top_company .sub_title {
  font-family: "Caveat", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #e9e9f4;
  -webkit-transform: rotate(-3deg);
  transform: rotate(-3deg);
  margin-top: 25px;
  margin-left: -80px;
}

#top_company .text {
  line-height: 1.6;
  border-left: 5px solid #0200AB;
  padding-left: 20px;
  margin-top: 25px;
}

#top_company .btn {
  width: 320px;
  margin-left: 0;
  margin-top: 50px;
}

/* ----------------------- 下層ページ ------------------------- */
/* PC 高橋塗装工業の強みページ */
#page_commitment .fv_image::before {
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  z-index: -1;
}

#commitment_container {
  padding: 100px 0 140px;
}

#commitment_container .item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 50px;
}

#commitment_container .item:not(:first-of-type) {
  margin-top: 100px;
}

#commitment_container .item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

#commitment_container .contents {
  width: calc(50% - 25px);
}

#commitment_container .image {
  width: calc(50% - 25px);
  background: #F7F7FF;
  border-radius: 10px;
  padding: 20px;
}

#commitment_container .image img {
  width: 100%;
  aspect-ratio: 510/299;
  -o-object-fit: cover;
  object-fit: cover;
}

#commitment_container .item:nth-of-type(1) .image img,
#commitment_container .item:nth-of-type(2) .image img,
#commitment_container .item:nth-of-type(3) .image img,
#commitment_container .item:nth-of-type(4) .image img {
  aspect-ratio: 510 / 427;
}

#commitment_container .head {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 30px;
}

#commitment_container .sub_title {
  position: relative;
  min-width: 100px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 29px 26.4px 21px 24.4px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

#commitment_container .item:nth-of-type(even) .sub_title {
  color: #0200AB;
}

#commitment_container .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

#commitment_container .item:nth-of-type(2n) .sub_title::before {
  background-image: url("./image/balloon-white.svg");
}

#commitment_container .sub_title span {
  display: inline-block;
  width: 100%;
}

#commitment_container .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#commitment_container .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #18150d;
  padding-bottom: 5px;
}

#commitment_container .text {
  line-height: 1.6;
  margin-top: 20px;
}

/* PC 事業内容ページ */
#page_service01 .fv_image::before,
#page_service02 .fv_image::before,
#page_service03 .fv_image::before,
#page_service04 .fv_image::before,
#page_service05 .fv_image::before {
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  z-index: -1;
}

#service01_cases,
#service02_cases,
#service03_cases,
#service04_cases,
#service05_cases {
  position: relative;
  padding: 75px 0 300px;
}

#service01_cases::before,
#service02_cases::before,
#service03_cases::before,
#service04_cases::before,
#service05_cases::before {
  content: "";
  width: 588px;
  height: 692px;
  position: absolute;
  top: -40px;
  right: 0;
  background-image: url("./image/service_cases-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#service01_cases .items,
#service02_cases .items,
#service03_cases .items,
#service04_cases .items,
#service05_cases .items {
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
}

#service_contact {
  padding: 240px 0 0;
}

/* PC 採用情報ページ */
#recruit_container {
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  padding: 100px 0;
}

#recruit_container .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

#recruit_container .body {
  background: #fff;
  border-radius: 20px;
  padding: 60px 40px;
  margin-top: 60px;
}

#recruit_container .sub_title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
}

#recruit_container .row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 20px;
}

#recruit_container .image img {
  width: 100%;
  aspect-ratio: 515/301;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 20px;
}

#recruit_container .block01 {
  margin-top: 30px;
}

#recruit_container .block02 {
  margin-top: 20px;
}

#recruit_container .dl {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid #e0dfef;
  padding: 20px;
}

#recruit_container .dt {
  width: 25%;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #18150d;
}

#recruit_container .dd {
  width: 75%;
}

#recruit_container .dd .lists {
  list-style-position: inside;
}

#recruit_container .dd .list {
  line-height: 1.5;
  text-indent: -1em;
  padding-left: 1em;
}

#recruit_container .dd .list:not(:first-of-type) {
  margin-top: 5px;
}

#recruit_container .media {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 50px;
  margin-top: 50px;
}

#recruit_container .media_image {
  width: calc(50% - 25px);
}

#recruit_container .media_image img {
  width: 100%;
  aspect-ratio: 510/320;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 20px;
}

#recruit_container .media_contents {
  width: calc(50% - 25px);
}

#recruit_container .media_title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33;
  letter-spacing: 0.01em;
  color: #18150d;
}

#recruit_container .media_text {
  line-height: 1.6;
  margin-top: 10px;
}

#recruit_container .box {
  margin-top: 80px;
}

#recruit_container .box_title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

#page_recruit_contact {
  padding: 100px 0 0;
}

#page_recruit_contact .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  padding-left: 20px;
  text-align: center;
}

#page_recruit_contact .progressbar {
  margin-top: 80px;
}

#recruit_contact {
  padding: 140px 0 0;
}

/* PC スタッフ紹介ページ */
#staff_container {
  padding: 100px 0 120px;
}

#staff_container .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

#staff_container .section_title::first-letter {
  color: #0200AB;
}

#staff_container .items {
  max-width: 800px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 50px;
  margin-top: 40px;
}

#staff_container .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

#staff_container .image img {
  width: 90%;
  margin-inline: auto;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 50%;
}

#staff_container .box {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  position: relative;
  width: 100%;
  background: #fff;
  border: 2px solid #18150d;
  -webkit-box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.5);
  box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.5);
  padding: 30px 16px;
  margin-top: 40px;
}

#staff_container .name {
  position: absolute;
  top: -12px;
  left: 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #18150d;
  font-weight: 700;
  background: #fff;
  padding-inline: 10px;
}

#staff_container .dl {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

#staff_container .dl:not(:first-of-type) {
  margin-top: 10px;
}

#staff_container .dt {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1.5;
  color: #18150d;
}

#staff_container .dd {
  line-height: 1.5;
}

#staff_contact {
  padding: 140px 0 0;
}

/* PC ご依頼の流れページ */
#page_flow .c_texts {
  padding: 100px 0 120px;
}

#page_flow .c_texts .title {
  font-size: 36px;
}

#page_flow .fv_image::before {
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left top, right top, from(#f7f7ff), to(#e5e5f8));
  background: -webkit-linear-gradient(left, #f7f7ff, #e5e5f8);
  background: linear-gradient(to right, #f7f7ff, #e5e5f8);
  z-index: -1;
}

#flow_container {
  padding: 140px 0 140px;
}

#flow_container .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #18150d;
  text-align: center;
}

#flow_container .items {
  position: relative;
  margin-top: 50px;
}

#flow_container .items::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 100%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-image: url(./image/top-flow-dotted-sp.svg);
  z-index: -1;
}

#flow_container .item {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 40px;
  background: #fff;
  border-radius: 20px;
  border: 2px solid #18150d;
  padding: 40px;
}

#flow_container .item:not(:first-of-type) {
  margin-top: 60px;
}

#flow_container .item--reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  background: #f7f7ff;
}

#flow_container .item--point {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  gap: 0;
  background: #0200AB;
}

#flow_container .item--point .title {
  color: #fff;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}

#flow_container .item--point .text {
  color: #fff;
  margin-top: 10px;
}

#flow_container .item--point .lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 20px;
}

#flow_container .item--point .list img {
  width: 100%;
  aspect-ratio: 339/226;
  object-fit: cover;
  border: 1px solid #fff;
}

/* モーダル */
#flow_modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

#flow_modal .content {
  position: relative;
  max-width: 50vw;
  max-height: 50vh;
}

#flow_modal img {
  width: 100%;
  aspect-ratio: 339/226;
  object-fit: cover;
  border: 1px solid #fff;
}

#flow_modal .close {
  position: absolute;
  top: -80px;
  right: -50px;
  font-size: 30px;
  color: #fff;
  cursor: pointer;
}

#flow_container .contents {
  width: calc(50% - 20px);
}

#flow_container .image {
  width: calc(50% - 20px);
}

#flow_container .image img {
  width: 100%;
  aspect-ratio: 508/338;
  -o-object-fit: cover;
  object-fit: cover;
  border-radius: 20px;
}

#flow_container .head {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 30px;
}

#flow_container .sub_title {
  position: relative;
  min-width: 100px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Caveat", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #fff;
  padding: 29px 26.4px 21px 24.4px;
  text-align: center;
  aspect-ratio: 1/1;
  z-index: 1;
}

#flow_container .item--reverse .sub_title {
  color: #0200AB;
}

#flow_container .sub_title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("./image/balloon-accent.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: -1;
}

#flow_container .item--reverse .sub_title::before {
  background-image: url("./image/balloon-white.svg");
}

#flow_container .sub_title span {
  display: inline-block;
  width: 100%;
}

#flow_container .sub_title .big {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#flow_container .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0em;
  color: #18150d;
  padding-bottom: 5px;
}

#flow_container .text {
  margin-top: 20px;
}

#flow_container .group {
  width: calc(50% - 20px);
}

#flow_container .box {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 15px;
  border-top: 2px solid #18150d;
  border-bottom: 2px solid #18150d;
  padding: 14px 10px 13px;
}

#flow_container .tel_texts {
  color: #18150d;
}

#flow_container .tel_text {
  font-family: "Zona Pro", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

#flow_container .hours_text {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  margin-top: 7px;
}

#flow_container .btns {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

#flow_container .btn {
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

#flow_container .btn a {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#flow_container .btn .icon {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#flow_container .btn a .icon_link .icon {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

/* PC よくある質問ページ */
#faq_contact {
  padding-top: 140px;
}

/* PC固定ページ お問い合わせ */
.page_contact {
  padding: 100px 0 90px;
}

.page_contact .section_title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: #18150d;
  text-align: center;
}

.page_contact .section_text {
  margin-top: 10px;
  text-align: center;
}

.page_contact .contact_tel {
  max-width: 60%;
  margin-inline: auto;
  border: 3px solid #0200AB;
  border-radius: 10px;
  padding: 20px 20px 15px;
}

.page_contact .tel_title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #18150d;
  text-align: center;
}

.page_contact .box {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 10px;
  margin-top: 20px;
}

.page_contact .tel_icon img {
  width: 30px;
  height: 30px;
  margin-top: 2px;
}

.page_contact .tel_text {
  font-family: "Zona Pro", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
  color: #18150d;
}

.page_contact .hours_text {
  color: #18150d;
  text-align: left;
}

.page_contact table {
  width: 74%;
  border-collapse: collapse;
  margin: 0 auto 50px;
}

.page_contact table th,
.page_contact table td {
  padding: 20px 16px;
  font-size: 14px;
  border: solid 1px #DFDFDF;
  vertical-align: middle;
}

.page_contact table th {
  width: 25%;
  background: #F7F7F7;
  white-space: nowrap;
  letter-spacing: .05em;
}

.page_contact table th .hissu,
.page_contact table th .ninni {
  background: #c90601;
  margin-right: 15px;
  color: #fff;
  padding: 5px 15px;
  font-size: 10px;
  letter-spacing: .08em;
  border-radius: 30px;
}

.page_contact table th .ninni {
  background: #18150d;
}

.page_contact table td {
  width: 75%;
}

.page_contact input[type="text"],
.page_contact input[type="email"],
.page_contact #zip {
  width: 85%;
  height: 44px;
  border: 1px solid #a4a4a4;
  border-radius: 4px;
  padding: 1em;
}

.page_contact input.tel {
  padding: 1em;
  width: 18.8%;
  border: 1px solid #a4a4a4;
}

.page_contact .select_box {
  position: relative;
  width: 50%;
}

.page_contact .select_box::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 47%;
  right: 1em;
  transform: translateY(-50%) rotate(45deg);
  width: .5em;
  height: .5em;
  border: 1px solid currentColor;
  border-top: none;
  border-left: none;
}

.mw_wp_form_preview .select_box::before {
  display: none !important;
}

.page_contact select {
  outline: none;
  background: transparent;
  padding: 1em 2.2em 1em 1em;
  width: 100%;
  border: 1px solid #a4a4a4;
  -webkit-appearance: none;
  appearance: none;
}

.page_contact textarea {
  width: 85%;
  padding: 1em;
  height: 200px;
  border: 1px solid #a4a4a4;
}

.page_contact .attention {
  font-size: 12px;
}

.page_contact #btn_wrap {
  justify-content: center;
  text-align: right;
  width: 74%;
  margin: auto;
}

.page_contact #btn_wrap button {
  background-color: #0200AB;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: #fff;
  display: block;
  width: 300px;
  line-height: 50px;
  border-radius: 5px;
  font-weight: 600;
  transition: .3s;
  text-align: center;
  letter-spacing: .08em;
  margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
  background: #18150d;
  margin-top: 20px;
}

.contact_form_disc {
  width: 74%;
  font-size: 15px;
  margin: 0 auto 50px;
  letter-spacing: .02em;
}

.contact_form_disc .caution {
  font-size: 14px;
  color: #373636;
}

.contact_form_disc .text {
  margin-bottom: 10px;
}

.contact_form_disc .text_marker {
  margin-top: 10px;
}

.contact_form_disc .text_marker span {
  font-weight: 700;
  color: #18150d;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #e9e9f4));
  background: -webkit-linear-gradient(transparent 75%, #e9e9f4 75%);
  background: linear-gradient(transparent 75%, #e9e9f4 75%);
}

.privacy_term_outer .privacy_term_inner {
  height: 138px;
  margin: auto;
  overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
  font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
  font-size: 13px;
  margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
  font-size: 13px;
  border-left: solid 3px #ccc;
  padding-left: 1em;
  margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
  font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
  margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
  width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
  background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
  background-color: #333;
  border-radius: 10px;
}

.privacy_term_outer {
  border-top: solid 1px #e3e3e3;
  padding: 30px 0;
  border-bottom: solid 1px #e3e3e3;
  width: 60%;
  margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
  padding-right: 0;
}

.privacy_check_list .error {
  font-size: 12px;
}

.privacy_term_detail {
  text-align: center;
  font-size: 13px;
  margin: 20px 0;
  position: relative;
  font-weight: 600;
}

.privacy_term_detail::after {
  content: "";
  margin: 5px auto 0;
  border: solid #333;
  border-width: 2px 2px 0 0;
  width: 10px;
  aspect-ratio: 1 / 1;
  min-width: 0;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
  display: none;
}

/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
  display: none;
}

.radio_btns label {
  display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item+span {
  padding-left: 2em;
  display: inline-block;
  position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item+span::after,
.radio_btns .radio_btns__item+span::before {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid #AAAAAA;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
  border: 1.2px solid #a4a4a4;
  bottom: 0;
  margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item+span::after {
  width: 12px;
  height: 12px;
  top: 0px;
  left: 4px;
  border: none;
  background: #0200AB;
  -webkit-transform: scale(0);
  /*--ここを0にすることで下線は非表示となる--*/
  -ms-transform: scale(0);
  /*--ここを0にすることで下線は非表示となる--*/
  transform: scale(0);
  transition: all .3s;
  /*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked+span {
  font-weight: 600;
}

.radio_btns .radio_btns__item:checked+span::after {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type="checkbox"] {
  /* デフォルトcheckボックス非表示*/
  display: none;
}

.mwform-checkbox-field-text {
  display: inline-block;
  position: relative;
  padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  display: block;
}

.mwform-checkbox-field-text::before {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 2px;
  width: 20px;
  aspect-ratio: 1/1;
  min-width: 0;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
  border-width: 3px;
  border-color: transparent transparent #0200AB #0200AB;
  border-style: solid;
  width: 20px;
  aspect-ratio: 2/1;
  min-width: 0;
  margin-top: -0.2em;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
  opacity: 1;
}

.mw_wp_form .horizontal-item {
  margin-right: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 0;
}

/* サンクスページ */
.page_contact .thanks_textArea .name {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
  margin: 0 auto 50px;
  width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
  background-color: #0200AB;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: #fff;
  display: block;
  width: 300px;
  line-height: 50px;
  border-radius: 4px;
  font-size: 16px;
  transition: .3s;
  margin: 0 auto;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: center;
}

.page_contact .thanks_textArea .contact_text .space {
  display: block;
}

.page_contact .thanks_textArea .contact_text .space {
  display: block;
  margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
  margin: 60px 0;
  justify-content: center;
}

.page_contact .progressbar .item {
  position: relative;
  width: 18%;
  text-align: center;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 43px 0 13px;
  line-height: 1.5;
  letter-spacing: .05em;
}

.page_contact .progressbar .item .en {
  display: block;
  color: #7b7b7b;
  font-size: 14px;
}

.page_contact .progressbar .item::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 30px;
  aspect-ratio: 1/1;
  min-width: 0;
  border: solid 1px #a5a5a5;
  border-radius: 50%;
  margin: auto;
}

.page_contact .progressbar .item.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 8px;
  width: 15px;
  aspect-ratio: 1/1;
  min-width: 0;
  border-radius: 50%;
  background: #0200AB;
  margin: auto;
}

.page_contact .progressbar #step_2 .en {
  position: relative;
}

.page_contact .progressbar #step_2 .en::before,
.page_contact .progressbar #step_2 .en::after {
  content: "";
  height: 1px;
  width: 100px;
  background: #a5a5a5;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -47px;
}

.page_contact .progressbar #step_2 .en::after {
  left: auto;
  right: -47px;
}

.privacy_check_list {
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
}

.privacy_check_list .hissu {
  background: #c70200;
  color: #fff;
  padding: 2px 15px;
  font-size: 10px;
  letter-spacing: .08em;
  border-radius: 30px;
  font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
  margin: 0;
}

.mw_wp_form .error {
  color: #c90601;
}

/* PC固定ページ 個人情報保護方針 */
.page_privacy .common_page_wrap {
  padding: 100px 0 140px;
}

.page_privacy .main_text {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 3em;
}

.page_privacy dl {
  margin-bottom: 50px;
}

.page_privacy dl:last-child {
  margin-bottom: 0;
}

.page_privacy dl dt {
  font-weight: 600;
  font-size: 16px;
  color: #18150d;
  margin-bottom: 0.5em;
  border-left: 3px solid #0200AB;
  padding-left: 1em;
}

.page_privacy dl dd {
  font-size: 14px;
  line-height: 2;
}

/* PC固定ページ 404ページ */
#page_404 {
  text-align: center;
}

#page_404 .num {
  font-size: 100px;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
  margin-bottom: 1em;
  font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page .common_page_wrap {
  padding: 100px 0 150px;
}

.archive_page .archive_page_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.archive_page_list>article {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid #E9E9F4;
  border-radius: 10px;
  padding: 20px 30px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.archive_page_list>article .arrow {
  flex-shrink: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.archive_page_list>article .container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.archive_page_list>article .date {
  position: relative;
  width: 100px;
  font-family: "Zona Pro", serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.29;
  letter-spacing: 0.01em;
  color: #0200AB;
  padding-left: 20px;
}

.archive_page_list>article .date::before {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #0200AB;
  border-radius: 50%;
}

.archive_page_list>article .content_area .ttl {
  font-size: 16px;
  font-weight: bold;
  color: #18150d;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.archive_page_list>article .content_area {
  margin-top: 5px;
}

.archive_page_list>article .content_area .content {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 5px;
}

.archive_page_list>article .content_area .content p {
  font-size: 14px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: #999;
  background-color: #FFF;
  border: solid 1px #e0e0d2;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

.wp-pagenavi .current {
  color: #FFF;
  background-color: #0200AB;
  border-color: #0200AB;
  font-weight: bold;
}

/* PC投稿ページ シングルページ */
.single_page {
  margin-top: 140px;
}

.single_page .common_page_wrap {
  padding-top: 80px;
}

.single_page .single_flame {
  border: solid 1px #ccc;
  padding: 70px;
}

.single_main_img {
  width: 300px;
  height: 300px;
  margin: 0 auto 40px;
}


.singleContent .title_area {
  border-bottom: solid 1px #ccc;
  padding-bottom: 30px;
  margin-bottom: 40px;
  position: relative;
}

.singleContent .title_area .en::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #333;
}

.singleContent .title_area .en {
  font-size: 12px;
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: .08em;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.singleContent .title_area .single_title {
  font-size: 30px;
  line-height: 1.4;
  font-weight: 600;
}

.single_main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.singleContent .single_title time {
  font-size: 12px;
  font-weight: 600;
}

.singleContent .single_title time i {
  margin-right: .5em;
}

.singleContent .category_list ul {
  gap: 10px;
}

.singleContent .category_list ul li {
  background-color: #333;
  color: #fff;
  font-size: 12px;
  padding: 2px 20px;
  letter-spacing: .08em;
  border-radius: 3px;
}

.singleContent article h2 {
  font-size: 20px;
  border: solid 1px #333;
  padding: 15px;
  margin: 1.5em 0 1em;
  position: relative;
  line-height: 1.4;
}

.site_single_latest {
  border-left: solid 1px #333;
  border-bottom: solid 3px #333;
  padding: 0 0 35px 0;
  margin-bottom: 80px;
}

.site_single_latest .en {
  font-size: 13px;
  letter-spacing: .08em;
  text-align: center;
}

.singleContent article h2::before {
  top: 0px;
}

.singleContent article h2::after {
  bottom: 0;
}

.singleContent article h3 {
  position: relative;
  padding: 0.7rem 1rem;
  font-size: 18px;
  margin: 1.5em 0 1.5em;
  background-color: #ccc;
}

.singleContent article h4 {
  padding: 2px 10px;
  margin: 1.5em 0 1em;
  color: #333;
  border-left: 5px solid #5b5959;
  font-size: 17px;
  position: relative;
}

.singleContent article h5:before {
  content: '■';
  padding-right: 10px;
}

.singleContent article h5 {
  font-size: 18px;
  /* padding-left: 1em; */
  margin: 1.5em 0;
}

.singleContent h6 {
  font-size: 17px;
  border-bottom: 1px solid;
  padding-bottom: 3px;
  margin: 1.5em 0 1em;
}

.singleContent p {
  font-size: 16px;
  line-height: 1.7;
}

.singleContent .addtoany_content {
  margin: 40px auto 0;
}

.single_page .singleContent .ichiran_link {
  display: block;
  width: 300px;
  line-height: 50px;
  text-align: center;
  color: #333;
  border: solid 1px #333;
  margin: 50px auto 0 auto;
  font-size: 16px;
  transition: .3s;
  border-radius: 6px;
}

.single_page aside#info_side {
  background-color: #fff;
  padding: 20px;
}

.single_page aside#info_side p#news-not_found {
  text-align: center;
}

.single_page aside#info_side ul li+li {
  margin-top: 12px;
}

.single_page aside#info_side ul li a {
  color: initial;
  align-items: center;
  font-size: 14px;
  transition: .3s;
}

.single_page aside#info_side ul li a time {
  font-size: 12px;
  font-weight: 600;
}

.single_page aside#info_side ul li a time i {
  margin-right: .5em;
}

.single_page aside#info_side ul li a h3 {
  font-size: 14px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.singleContent .day_cat {
  align-items: center;
  margin-bottom: 40px;
}

#toc_container a {
  color: #333;
}

.singleContent .day_cat .day {
  color: #6c6c6c;
  font-size: 13px;
  padding-right: 20px;
  border-right: solid 1px #ccc;
  margin-right: 20px;
}

.site_single_latest .topic {
  text-align: center;
  font-size: 14px;
  letter-spacing: .08em;
  font-weight: 600;
}

.site_single_latest .img {
  width: 85px;
  margin: 20px auto;
}

.site_single_latest .disc {
  text-align: center;
  font-size: 14px;
}

.aside_article_type .ttl {
  font-size: 15px;
  margin-bottom: 20px;
  border-bottom: solid 2px;
  padding-bottom: 5px;
}

.aside_article_type li .img {
  height: 70px;
  width: 100px;
  position: relative;
}

.aside_article_type .inner_ttl {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.aside_article_type li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aside_article_type .cat_wrap {
  gap: 5px;
}

.aside_article_type .cat_wrap .label {
  background: #333;
  padding: 0px 10px;
  color: #fff;
  font-size: 10px;
}

.aside_article_type .cat_wrap ul {
  display: flex;
  column-gap: 5px;
  row-gap: 5px;
  padding-left: 0;
}

.aside_article_type ul {
  padding-left: 20px;
  position: relative;
}

.aside_article_type .cat_wrap ul::before {
  display: none;
}

.aside_article_type ul::before {
  content: "∟";
  position: absolute;
  left: 2px;
  font-size: 14px;
  color: #333;
}

.latest_post_area {
  width: 100%;
  margin: 50px auto 0;
}

.latest_post_area ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 30px;
}

.latest_post_area .ttl {
  font-size: 18px;
  letter-spacing: .08em;
  border-bottom: solid #ccc 1px;
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-weight: 600;
}

.latest_post_area .ttl .en {
  font-weight: 400;
  letter-spacing: .08em;
  font-size: 14px;
  display: block;
}

.latest_post_area a {
  color: #000;
}

.latest_post_area .inner_ttl {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 10px;
}

.latest_post_area .day_cat .day {
  font-size: 12px;
  color: #6c6c6c;
  padding-right: 10px;
  border-right: solid 1px #ccc;
  margin-right: 10px;
}

.latest_post_area .day_cat {
  margin: auto 0 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.latest_post_area .category_list .cat_wrap {
  padding: 0;
  gap: 5px;
}


.latest_post_area .category_list .cat {
  font-size: 12px;
  text-align: center;
  background: #333;
  color: #fff;
  padding: 0 10px;
  border-radius: 3px;
}

.latest_post_area .category_list {
  width: 100%;
}

.latest_post_area .img {
  position: relative;
  height: 145px;
  margin-bottom: 12px;
  overflow: hidden;
}

.latest_post_area .img img {
  transition: .3s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aside_article_type+.aside_article_type {
  margin-top: 35px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style {
  top: 280px !important;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::before {
  content: "";
  width: 1px;
  height: 100px;
  background: #ccc;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -103px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::after {
  content: "SHARE ON";
  position: absolute;
  top: -169px;
  font-size: 11px;
  writing-mode: vertical-lr;
  text-align: center;
  left: 8px;
  right: 0;
  margin: auto;
}

.singleContent_links {
  margin-top: 100px;
  align-items: center;
  position: relative;
  justify-content: center;
  gap: 100px;
}

.singleContent_links ul {
  width: 260px;
}

.singleContent_links ul.prev .btn {
  padding-left: 30px;
}

.singleContent_links ul.next .btn {
  padding-right: 30px;
}

.singleContent_links .btn {
  margin-bottom: 23px;
  border-bottom: solid 1px #ccc;
  font-size: 15px;
  position: relative;
}

.singleContent_links::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 1px;
  background: #ccc;
  height: 100%;
  margin: auto;
}

.singleContent_links a {
  color: #333;
  font-size: 14px;
}

.singleContent_links a .ttl {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.singleContent_links .img {
  margin-bottom: 15px;
  position: relative;
  height: 140px;
  overflow: hidden;
}

.singleContent_links .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .3s;
}

.singleContent_links ul.next .btn {
  text-align: right;
}

.singleContent_links ul.next .img {
  margin-left: auto;
}

.breadcrumb.single {
  margin-top: 70px;
  margin-bottom: 50px;
  text-align: right;
}

.aside_article_type .text_box {
  width: calc(100% - 100px);
  padding-left: 10px;
}

#toc_container li {
  position: relative;
  padding-left: 20px;
}

#toc_container li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  background: url(/wp-content/themes/child/image/article_arrow.png) center no-repeat;
  background-size: contain;
  width: 13px;
  height: 14px;
  bottom: auto;
}

.singleContent article h2::before,
.singleContent article h3::before {
  content: "";
  position: absolute;
  right: -35px;
  top: 0px;
  bottom: 0px;
  height: 1px;
  width: 50px;
  background: rgb(0, 0, 0);
  margin: auto;
}

.singleContent ol {
  border: solid 1px #333;
  padding: 20px 10px;
  counter-reset: count 0;
  position: relative;
  background-image: url(/wp-content/themes/child/image/grid.gif);
}

.singleContent ol li {
  position: relative;
}

.singleContent ol li::before {
  content: "";
  content: counter(count) ". ";
  counter-increment: count 1;
}

.singleContent ol li+li {
  margin-top: 7px;
}

.singleContent ol::before {
  content: "";
  position: absolute;
  right: -2px;
  top: -2px;
  border-width: 0 30px 30px 0;
  border-style: solid;
  border-color: #333 #fff #333;
}

.singleContent ol::after {
  content: "";
}

.singleContent #toc_container {
  margin-bottom: 50px;
}

.singleContent_links ul li.btn::before {
  content: "";
  position: absolute;
  background: url(/wp-content/themes/child/image/icon/arrow.svg) center no-repeat;
  background-size: contain;
  background-position: center;
  width: 20px;
  height: 20px;
  right: 0;
  top: 5px;
}

.singleContent_links ul.prev li.btn::before {
  transform: scale(-1, 1);
  right: auto;
  left: 0;
}

#toc_container.no_bullets li,
#toc_container.no_bullets ul,
#toc_container.no_bullets ul li,
.toc_widget_list.no_bullets,
.toc_widget_list.no_bullets li {
  border: none;
}

.singleContent .category_list ul li::before {
  display: none;
}

.singleContent .category_list ul {
  border: none;
  padding: 0;
}

/* サイトマップ */
div:has(#page_sitemap) {
  padding: 85px 0 140px;
}

#page_sitemap #sitemap_list li.home-item {
  border-bottom: solid 2px #18150d;
}

#page_sitemap #sitemap_list li.home-item a {
  border: none;
  color: #18150d;
}

#page_sitemap #sitemap_list li a {
  color: #18150d;
  border: solid 1px #18150d;
}

/* ----------------------- フッター ------------------------- */
.site_footer .body {
  color: #fff;
  background: #0200AB;
  border-radius: 20px 20px 0 0;
  padding: 80px 0 50px;
}

.site_footer .wrap.lr {
  width: 93%;
}

.site_footer .area {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #18150d;
  background: #fff;
  border-radius: 20px;
  padding: 43px 20px 48px;
}

.site_footer .area .head {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 26.5%;
  text-align: center;
}

.site_footer .area .title {
  font-family: "Zona Pro", serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #0200AB;
}

.site_footer .area .sub_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.71;
  letter-spacing: 0.01em;
  margin-top: 7px;
  margin-left: -55px;
}

.site_footer .area .box {
  position: relative;
  width: 73.5%;
  padding-left: 100px;
}

.site_footer .area .box::before {
  content: "";
  width: 1px;
  height: 150px;
  position: absolute;
  top: 0;
  left: 0;
  background: #e9e9f4;
}

.site_footer .area .dl:nth-of-type(n + 2) {
  margin-top: 16px;
}

.site_footer .area .dt {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 10px;
}

.site_footer .area .circle {
  display: inline-block;
  width: 10px;
  height: 10px;
  background: #0200AB;
  border-radius: 50%;
}

.site_footer .area .dt_title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

.site_footer .area .dd {
  margin-top: 5px;
  padding-left: 20px;
}

.site_footer .area .dd_lists {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 25px;
}

.site_footer .area .dd_list {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.83;
  letter-spacing: 0.01em;
}

.site_footer .area .dd_list::before {
  content: "";
  width: 5px;
  height: 1px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: -15px;
  background: #e9e9f4;
}

.site_footer .area .dd_list:last-child::before {
  display: none;
}

.site_footer .company {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 134px;
  border-bottom: 1px solid #fff;
  padding-bottom: 55px;
  margin-top: 90px;
}

.site_footer .company .logo {
  width: 302px;
}

.site_footer .company .logo a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.site_footer .company .address {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0em;
}

.site_footer .company .items {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 68px;
  margin-top: 20px;
}

.site_footer .company .item {
  gap: 12px;
}

.site_footer .company .tel_texts {
  color: #fff;
}

.site_footer .company .tel_text {
  font-family: "Zona Pro", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0em;
}

.site_footer .company .hours_text {
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  margin-top: 10px;
}

.site_footer .container {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-top: 80px;
}

.site_footer .contents .btns {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
  width: 230px;
  margin-left: 0;
}

.site_footer .contents .btn a {
  padding: 11.5px 30px;
}

.site_footer .btn .icon_link {
  gap: 15px;
}

.site_footer .btn .icon {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 24px;
  max-width: 24px;
  max-height: 24px;
}

.site_footer .btn .link_text {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
}

.site_footer .instagram {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 60px;
  margin-top: 30px;
}

.site_footer .instagram .title {
  font-family: "Zona Pro", serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}

.site_footer .instagram a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.site_footer .nav {
  gap: 80px;
}

.site_footer .menus_wrap {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 40px;
}

.site_footer .menu:not(:first-of-type) {
  margin-top: 16px;
}

.site_footer .menu a {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.01em;
  color: #fff;
}

.site_footer .second_menu a {
  font-size: 12px;
  font-weight: 400;
  line-height: 2.13;
  letter-spacing: 0.01em;
  color: #fff;
}

.site_footer .menu a,
.site_footer .second_menu a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.site_footer .copylight {
  display: block;
  font-size: 10px;
  font-weight: 400;
  line-height: 3.2;
  letter-spacing: 0.01em;
  margin-top: 100px;
  text-align: center;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
hover〜style
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
a:hover {
  color: #0200AB;
  text-decoration: none;
}

.pc_header .logo a:hover {
  opacity: 0.8;
}

.pc_header .link a:hover {
  opacity: 0.8;
}

.pc_header .menu a:hover {
  color: #0200AB;
}

.pc_header .accordion_open a:hover::before,
.pc_header .accordion_open a:hover::after {
  background: #0200AB;
}

.pc_header .sub_menu a:hover .sub_menu_text {
  color: #0200AB;
}

.pc_header .sub_menu a:hover .sub_menu_arrow {
  margin-right: -3px;
}

.c_btn a:hover {
  background: #fff;
}

.c_btn a:hover .link_text {
  color: #0200AB;
}

.c_btn a:hover .arrow {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}

.c_btn a:hover .arrow .default {
  opacity: 0;
  visibility: hidden;
}

.c_btn a:hover .arrow .hover {
  opacity: 1;
  visibility: visible;
}

.c_btn--inversion a:hover {
  background: #0200AB;
}

.c_btn--inversion a:hover .icon img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.c_btn--inversion a:hover .link_text {
  color: #fff;
}

.c_btn--red a:hover {
  background: #fff;
}

.c_btn--red a:hover .link_text {
  color: #c90601;
}

.c_btn--inversion_red a:hover {
  background: #c90601;
}

.c_btn--green a:hover {
  background: #fff;
}

.c_btn--green a:hover .link_text {
  color: #06c755;
}

.c_btn--inversion_green a:hover {
  background: #06c755;
}

.c_btn--inversion_green a:hover .icon img {
  -webkit-filter: none;
  filter: none;
}

#top_fv .scroll a:hover {
  opacity: 0.8;
}

#top_news .item a:hover .title {
  color: #0200AB;
}

#top_news .item a:hover .item_arrow img {
  -webkit-transform: translateX(5px);
  transform: translateX(5px);
}

#top_services .item:hover .item_head .title {
  color: #0200AB;
}

#top_services .item a:hover {
  background: #dedef5;
}

#top_services .item a:hover .image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#top_staff .item a:hover .image img {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

#top_staff .item a:hover .box {
  background: #e9e9f4;
}

#top_staff .item a:hover .item_btn img {
  -webkit-transform: translateX(10px);
  transform: translateX(10px);
}

#flow_container .btn a:hover .icon_link .icon {
  -webkit-filter: none;
  filter: none;
}

.page_contact #btn_wrap button:hover {
  opacity: .8;
}

.page_contact .thanks_textArea .ichiran_link:hover {
  opacity: .8;
}

.archive_page_list>article:hover {
  background: #F7F7FF;
}

.archive_page_list>article:hover .arrow {
  transform: translateX(5px);
}

.wp-pagenavi a:hover {
  color: #FFF;
  background-color: #0200AB;
  border-color: #0200AB;
}

.single_page .singleContent .ichiran_link:hover {
  opacity: .7;
}

.single_page aside#info_side ul li a:hover {
  opacity: .7;
}

.latest_post_area a:hover .img img {
  transform: scale(1.1);
}

.singleContent_links a:hover .img img {
  transform: scale(1.1);
}

.fix_btn .btn a:hover {
  background: #0200AB;
}

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

.fix_btn .c_btn--green a:hover {
  background: #06c755;
}

.site_footer .company .logo a:hover {
  opacity: 0.8;
}

.site_footer .instagram a:hover {
  opacity: 0.8;
}

.site_footer .menu a:hover,
.site_footer .second_menu a:hover {
  opacity: 0.7;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
750px〜style
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
@media screen and (max-width: 750px) {

  /* ----------------------- デフォルトcss ------------------------- */
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  body {
    min-width: 100%;
    font-size: 3.59vw;
    line-height: 1.5;
  }

  .wrap.mid,
  .wrap.lr,
  .wrap {
    width: 94.87%;
  }

  /* ----------------------- サイト共通パーツ ------------------------- */
  /* 下層FV */
  .common_fv {
    padding: 0;
    margin-top: var(--sp-header-height);
  }

  .common_fv .title .en {
    font-size: 25.64vw;
    font-size: 20.51vw;
    margin-left: 0;
  }

  .common_fv .head {
    gap: 5.13vw;
    margin-top: -5.13vw;
    margin-left: 2.56vw;
  }

  .common_fv .title .ja {
    font-size: 5.13vw;
  }

  .common_fv .title .ja {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
    color: #18150d;
    padding-left: 50px;
    padding-left: 10.77vw;
  }

  .common_fv .title .ja::before {
    width: 5.64vw;
    height: 2.05vw;
  }

  /* パンくず */
  .breadcrumb {
    font-size: 3.08vw;
    margin-top: 10.26vw;
  }

  .breadcrumb .box {
    margin-left: 0;
  }

  .common_fv .fv_image {
    margin-top: 2.56vw;
  }

  .common_fv .image {
    border-radius: 2.56vw;
  }

  .common_fv .image img {
    aspect-ratio: 370/200;
  }

  /* 各種ご相談はこちら */
  .common_contact {
    padding: 0 0 15.38vw;
  }

  .common_contact .wrap {
    width: 90%;
  }

  .common_contact .body {
    border-radius: 2.56vw;
    padding: 23.08vw 6.41vw 15.38vw;
    background-image: url(./image/contact-bg-sp.png);
  }

  .common_contact .catch {
    position: absolute;
    width: 63.08vw;
    top: -1.41vw;
    left: -2.31vw;
  }

  .common_contact .c_section_block .ja::before,
  .common_contact .c_section_block .ja::after {
    display: none;
  }

  .common_contact .column02 {
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 5.13vw;
    margin-top: 6.41vw;
  }

  .common_contact .column03 {
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 2.56vw;
    margin-top: 2.56vw;
  }

  .common_contact .box {
    gap: 2.56vw;
    padding: 15.4px 10px 13px;
    padding: 3.59vw;
  }

  .common_contact .tel_icon img {
    width: 5.13vw;
    height: 5.38vw;
    margin-top: 0.51vw;
  }

  .common_contact .tel_text {
    font-size: 6.15vw;
  }

  .common_contact .hours_text {
    font-size: 3.08vw;
    margin-top: 1.79vw;
  }

  .common_contact .btn {
    width: 76.92vw;
  }

  .common_contact .c_btn a {
    padding: 5.13vw 7.69vw;
  }

  .common_contact .c_btn a .icon_link .icon {
    width: 7.44vw;
    height: 7.44vw;
  }

  /* ----------------------- 共通パーツ ------------------------- */
  /* ボタン */
  .c_btn {
    max-width: 100%;
  }

  .c_btn a {
    gap: 2.56vw;
    border-radius: 10.26vw;
    padding: 5.51vw 7.69vw;
  }

  .c_btn a .icon_link {
    gap: 3.85vw;
  }

  .c_btn a .link_text {
    font-size: 4.1vw;
  }

  .c_btn a .icon_link .icon {
    width: 6.41vw;
    height: 6.41vw;
  }

  .c_btn a .arrow {
    width: 6.41vw;
    height: 6.41vw;
  }

  .c_btn a:hover .arrow {
    -webkit-transform: translateX(1.28vw);
    transform: translateX(1.28vw);
  }

  .c_btn a:hover {
    background: #0200AB;
  }

  .c_btn--inversion a:hover {
    background: #fff;
  }

  .c_btn--red a:hover {
    background: #c90601;
  }

  .c_btn--green a:hover {
    background: #06c755;
  }

  .c_btn--inversion_red a:hover {
    background: #fff;
  }

  .c_btn--inversion a:hover .icon img {
    filter: none;
  }

  .c_btn a:hover .link_text {
    color: #fff;
  }

  .c_btn--inversion a:hover .link_text {
    color: #0200AB;
  }

  .c_btn--inversion_red a:hover .link_text {
    color: #c90601;
  }

  .c_btn--inversion_green a:hover .link_text {
    color: #06c755;
  }

  .c_btn a:hover .arrow .default {
    opacity: 1;
    visibility: visible;
  }

  .c_btn a:hover .arrow .hover {
    opacity: 0;
    visibility: hidden;
  }

  /* セクションタイトル */
  .c_section_block {
    text-align: center;
  }

  .c_section_block .en {
    font-size: 10.26vw;
  }

  .c_section_block .en--fz {
    font-size: 8.21vw;
  }

  .c_section_block .head {
    margin-top: 1.54vw;
  }

  .c_section_block .ja {
    font-size: 4.1vw;
    padding-inline: 8.21vw;
    margin-top: 1.54vw;
  }

  .c_section_block .ja::before,
  .c_section_block .ja::after {
    width: 5.64vw;
    height: 2.05vw;
  }

  .c_section_block .decoration {
    display: none;
  }

  .c_section_block .words {
    line-height: 1.6;
    margin-top: 3.59vw;
  }

  /* 下層FV下テキスト */
  .c_texts {
    padding: 10.26vw 0 15.38vw;
  }

  .c_texts .wrap {
    width: 90%;
  }

  .c_texts .title {
    font-size: 6.15vw;
  }

  .c_texts .text {
    margin-top: 5.13vw;
    text-align: left;
  }

  /* 画像＋テキスト */
  .c_media {
    padding: 15.38vw 0;
  }

  .c_media .wrap {
    width: 90%;
  }

  .c_media .section_title {
    font-size: 6.15vw;
  }

  .c_media .media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.13vw;
    margin-top: 5.13vw;
  }

  .c_media .title {
    font-size: 5.13vw;
  }

  .c_media .image {
    width: 100%;
  }

  .c_media .image img {
    border-radius: 2.56vw;
  }

  .c_media .contents {
    width: 100%;
  }

  .c_media .btn {
    width: 82.05vw;
    margin-inline: auto;
    margin-top: 6.41vw;
  }

  .c_worries {
    padding: 15.38vw 0 5.13vw;
  }

  .c_worries .bg {
    overflow: hidden;
  }

  .c_worries::before {
    height: 10.26vw;
    bottom: -10vw;
  }

  .c_worries .wrap::before {
    width: 32.05vw;
    height: 29.74vw;
    top: 33.33vw;
    left: -2.56vw;
  }

  .c_worries .wrap::after {
    width: 84.62vw;
    height: 85.9vw;
    bottom: -5.13vw;
    right: -8.97vw;
  }

  .c_worries .head {
    gap: 3.33vw;
  }

  .c_worries .sub_title {
    font-size: 4.1vw;
  }

  .c_worries .decoration img {
    width: 5.64vw;
    height: 2.05vw;
  }

  .c_worries .title {
    font-size: 7.69vw;
    line-height: 1.4;
    padding-left: 3.08vw;
    margin-top: 2.56vw;
  }

  .c_worries .body {
    padding: 7.69vw 5.13vw;
    margin-top: 5.13vw;
  }

  .c_worries .item:nth-of-type(2) {
    margin-top: 7.69vw;
  }

  .c_worries .items::before {
    width: 21.03vw;
    height: 20.51vw;
    top: -28.21vw;
    left: -6.41vw;
  }

  .c_worries .items::after {
    width: 9.74vw;
    height: 21.28vw;
    top: -28.97vw;
    right: -2.56vw;
  }

  .c_worries .item_title {
    width: 100%;
    font-size: 5.13vw;
    border-radius: 10.26vw;
    padding: 2.56vw 0;
  }

  .c_worries .item_lists {
    grid-template-columns: repeat(auto-fit, minmax(33.59vw, 1fr));
    gap: 7.69vw 2.56vw;
    margin-top: 10.26vw;
  }

  .c_worries .item_list {
    padding: 10.26vw 2.05vw 5.13vw;
  }

  .c_worries .item_icon {
    width: 11.54vw;
    height: 11.54vw;
    top: -5.13vw;
  }

  .c_worries .item_list_text {
    font-size: 3.59vw;
  }

  .c_worries .catch {
    font-size: 8.21vw;
    margin-top: 10.26vw;
  }

  .c_worries .catch span {
    font-size: 9.23vw;
    line-height: 1.6;
    color: #0200ab;
  }

  .c_worries .catch span::before {
    width: 2.05vw;
    height: 2.05vw;
    top: -1.28vw;
  }

  /* 強み */
  .c_commitment {
    padding: 30.77vw 0 0;
  }

  .c_commitment::before {
    width: 59.74vw;
    height: 74.87vw;
    top: 17.95vw;
    left: 0;
  }

  .c_commitment .wrap {
    width: 90%;
  }

  .c_commitment .items {
    grid-template-columns: 1fr;
    gap: 5.13vw;
    margin-top: 7.69vw;
  }

  .c_commitment .image {
    padding: 2.56vw;
  }

  .c_commitment .sub_title {
    min-width: 20.51vw;
    font-size: 3.59vw;
    padding: 3.85vw 2.56vw 0.51vw;
    bottom: -10.26vw;
    left: 0;
  }

  .c_commitment .sub_title .big {
    font-size: 7.18vw;
  }

  .c_commitment .title {
    font-size: 5.13vw;
    margin-top: 2.56vw;
  }

  .c_commitment .text {
    margin-top: 5.13vw;
  }

  /* 施工事例 */
  .c_cases .body {
    border-radius: 2.56vw;
    padding: 7.69vw 2.56vw 12.82vw;
  }

  .c_cases .c_section_block .en {
    font-size: 20.51vw;
  }

  .c_cases .c_section_block .ja {
    font-size: 4.1vw;
  }

  .c_cases .c_section_block .head {
    margin-top: -8.97vw;
  }

  .c_cases .items {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.28vw;
    margin-top: 7.69vw;
  }

  .c_cases .item:nth-of-type(n + 10) {
    display: none;
  }

  .c_cases .btn {
    width: 82.05vw;
    margin-top: 6.41vw;
  }

  .c_cases .video_box {
    margin-top: 7.69vw;
  }

  .c_cases video {
    border-radius: 2.56vw;
  }

  /* よくある質問 */
  .c_faq {
    padding: 5.13vw 0 0;
    margin-top: -25.64vw;
  }

  .c_faq::before {
    width: 100%;
    top: -23.08vw;
    height: 25.64vw;
  }

  .c_faq::after {
    width: 100%;
    bottom: -23.08vw;
    height: 25.64vw;
  }

  .c_faq .bg {
    overflow: hidden;
  }

  .c_faq .wrap {
    width: 90%;
  }

  .c_faq .wrap::before {
    width: 96.92vw;
    height: 105.38vw;
    top: -2.56vw;
    right: -25.64vw;
  }

  .c_faq .list dl+dl {
    margin-top: 3.08vw;
  }

  .c_faq .list dl dt {
    gap: 0 2.82vw;
    padding: 5.13vw 4.1vw;
  }

  .c_faq .list dl dt .en {
    font-size: 6.15vw;
  }

  .c_faq .list dl dt .text {
    font-size: 4.1vw;
    line-height: 1.2;
  }

  .c_faq .list dl dt .mark {
    width: 6.15vw;
    max-width: 40px;
  }

  .c_faq .list dl dd {
    gap: 0 2.82vw;
    padding: 5.13vw 0;
    margin: 0 4.1vw;
  }

  .c_faq .list dl dd .en {
    font-size: 6.15vw;
  }

  .c_faq .list dl dd .text {
    font-size: 3.59vw;
  }

  /* ----------------------- TOPページ ------------------------- */
  #sp_header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 30;
  }

  /* ----------------------- TOPページ ------------------------- */
  /* FV */
  #top_fv {
    margin-top: var(--sp-header-height);
  }

  #top_fv .body {
    border-radius: 2.56vw;
  }

  #top_fv .title {
    font-size: 6.15vw;
    line-height: 1.67;
    padding: 71.79vw 5.13vw 12.82vw 5.13vw;
  }

  #top_fv .scroll {
    margin-top: -6.41vw;
  }

  #top_fv .scroll a {
    padding-left: 2.56vw;
  }

  #top_fv .scroll img {
    width: 12.82vw;
    height: 12.82vw;
  }

  /* お知らせ */
  #top_news {
    padding: 62vw 0 15.38vw;
    margin-top: -65vw;
    overflow: hidden;
  }

  #top_news .wrap.mid::before {
    width: 32.05vw;
    height: 29.74vw;
    top: -10.26vw;
    left: -2.56vw;
  }

  #top_news .wrap.mid::after {
    width: 84.62vw;
    height: 85.9vw;
    bottom: -39.74vw;
    right: -8.97vw;
  }

  #top_news .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    padding: 12.82vw 2.56vw;
    margin-top: 10.26vw;
  }

  #top_news .contents {
    width: 100%;
    margin-top: 0;
  }

  #top_news .c_section_block {
    text-align: center;
  }

  #top_news .c_section_block .ja {
    padding-inline: 8.21vw;
  }

  #top_news .c_section_block .ja::before,
  #top_news .c_section_block .ja::after {
    display: block;
  }

  #top_news .c_section_block .decoration {
    display: none;
  }

  #top_news .items {
    width: 100%;
    margin-top: 6.41vw;
  }

  #top_news .item:not(:first-of-type) {
    margin-top: 2.56vw;
  }

  #top_news .item a {
    gap: 3.85vw;
    padding: 5.13vw;
  }

  #top_news .head {
    gap: 2.56vw;
  }

  #top_news .circle {
    width: 1.54vw;
    height: 1.54vw;
  }

  #top_news .date {
    font-size: 3.59vw;
    line-height: 1;
  }

  #top_news .title {
    font-size: 3.59vw;
    line-height: 1.71;
    margin-top: 1.28vw;
    -webkit-line-clamp: 2;
  }

  #top_news .item_arrow img {
    width: 6.41vw;
    height: 6.41vw;
  }

  #top_news .item a:hover .item_arrow img {
    -webkit-transform: translateX(1.28vw);
    transform: translateX(1.28vw);
  }

  #top_news .btn {
    width: 71.79vw;
    margin-top: 6.41vw;
  }

  /* 高橋塗装工業のこだわり */
  .top_commitment_wrapper {
    overflow: hidden;
  }

  #top_commitment {
    padding: 15.38vw 2.56vw;
    margin-right: 2.56vw;
  }

  #top_commitment .wrap {
    width: 100%;
    padding-left: 0;
  }

  #top_commitment .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 7.69vw;
    margin-top: 0;
  }

  #top_commitment .contents {
    width: 100%;
    padding: 0 2.56vw;
  }

  #top_commitment .image {
    width: 97.4%;
    margin-left: auto;
    padding: 2.56vw;
    margin-top: 0;
  }

  #top_commitment .image img {
    aspect-ratio: 330/260;
  }

  #top_commitment .image::before {
    width: 25.64vw;
    height: 25.64vw;
    bottom: -10.26vw;
    right: -7.69vw;
  }

  #top_commitment .en_title {
    font-size: 20.51vw;
    margin-left: -5.13vw;
  }

  #top_commitment .title {
    font-size: 5.13vw;
  }

  #top_commitment .head {
    gap: 5.13vw;
    margin-top: -10.26vw;
  }

  #top_commitment .decoration img {
    width: 7.69vw;
    height: 2.56vw;
  }

  #top_commitment .sub_title {
    font-size: 6.15vw;
    margin-top: 6.41vw;
  }

  #top_commitment .text {
    line-height: 1.6;
    margin-top: 5.13vw;
  }

  #top_commitment .btn {
    width: 82.05vw;
    margin-top: 6.41vw;
  }

  /* 事業内容 */
  #top_services {
    padding: 15.9vw 5.13vw 32.44vw 2.56vw;
    margin-top: 15.38vw;
    margin-left: 2.56vw;
  }

  #top_services::before {
    width: 96.92vw;
    height: 105.38vw;
    top: 25.64vw;
    right: -17.95vw;
  }

  #top_services .wrap {
    width: 100%;
    padding-right: 0;
  }

  #top_services .items {
    grid-template-columns: 1fr;
    gap: 7.69vw 0;
    margin-top: 10.26vw;
  }

  #top_services .item:nth-of-type(3n + 2),
  #top_services .item:nth-of-type(3n),
  #top_services .item:nth-of-type(n + 4):nth-of-type(3n + 1),
  #top_services .item:nth-of-type(n + 4):nth-of-type(3n + 2),
  #top_services .item:nth-of-type(n + 4):nth-of-type(3n) {
    margin-top: 0;
  }

  #top_services .item a {
    background: #f7f7ff;
    padding: 2.56vw;
    margin-top: -6.41vw;
  }

  #top_services .sub_title {
    min-width: 20.51vw;
    max-width: 20.51vw;
    font-size: 4.1vw;
    padding: 4.36vw 6.51vw 3.33vw 4.97vw;
    margin-left: 0;
  }

  #top_services .sub_title .big {
    font-size: 8.21vw;
  }

  #top_services .box {
    gap: 2.56vw;
    margin-top: 5.13vw;
  }

  #top_services .circle {
    width: 1.54vw;
    height: 1.54vw;
  }

  #top_services .title {
    font-size: 5.13vw;
  }

  #top_services .image img {
    aspect-ratio: 310/170;
  }

  #top_services .text {
    font-size: 4.1vw;
    margin-top: 3.85vw;
  }

  #top_services .slide_text {
    bottom: 9.49vw;
  }

  #top_services .slide_text .sub {
    font-size: 6.15vw;
  }

  #top_services .slide_text .main {
    font-size: 20.51vw;
    margin-top: 3.85vw;
  }

  /* スタッフ紹介 */
  #top_staff {
    padding: 17.18vw 0;
    z-index: 1;
  }

  #top_staff::before {
    width: 59.74vw;
    height: 74.87vw;
    top: 2.56vw;
    left: 0;
  }

  #top_staff .wrap {
    width: 90%;
  }

  #top_staff .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }

  #top_staff .contents {
    width: 100%;
  }

  #top_staff .c_section_block {
    text-align: center;
  }

  #top_staff .c_section_block .ja {
    letter-spacing: 0.1em;
    padding-inline: 8.21vw;
  }

  #top_staff .c_section_block .ja::before,
  #top_staff .c_section_block .ja::after {
    display: block;
  }

  #top_staff .c_section_block .decoration {
    display: none;
  }

  #top_staff .items {
    width: 100%;
    margin-top: 11.54vw;
  }

  #top_staff .item:not(:first-of-type) {
    margin-top: 10.26vw;
  }

  #top_staff .item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #top_staff .sub_title {
    min-width: 20.51vw;
    max-width: 20.51vw;
    font-size: 4.1vw;
    padding: 4.36vw 6.51vw 3.33vw 4.97vw;
    top: -5.13vw;
    left: -2.56vw;
  }

  #top_staff .sub_title .big {
    font-size: 8.21vw;
  }

  #top_staff .image {
    width: 100%;
    border-radius: 10px 10px 0 0;
  }

  #top_staff .image img {
    aspect-ratio: 350/150;
  }

  #top_staff .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    border-radius: 0 0 10px 10px;
    padding: 6.41vw 5.13vw 5.13vw;
  }

  #top_staff .title {
    font-size: 6.15vw;
  }

  #top_staff .text {
    font-size: 4.1vw;
    padding-left: 23.08vw;
    margin-top: 3.85vw;
  }

  #top_staff .text::before {
    width: 20.51vw;
  }

  #top_staff .item_btn {
    margin-left: auto;
    margin-top: 0;
  }

  #top_staff .item_btn img {
    width: 6.41vw;
    height: 6.41vw;
  }

  #top_staff .item a:hover .item_btn img {
    -webkit-transform: translateX(1.28vw);
    transform: translateX(1.28vw);
  }

  #top_staff .btn {
    width: 82.05vw;
    margin-top: 6.41vw;
  }

  /* 施工事例 */
  #top_cases {
    padding: 0;
  }

  #top_cases::before {
    width: 100%;
    top: -23.08vw;
    height: 25.64vw;
  }

  #top_cases .bg::before {
    display: none;
  }

  #top_cases .wrap {
    width: 90%;
  }

  /* ご依頼の流れ */
  #top_flow {
    padding: 15.38vw 0 6.41vw;
  }

  #top_flow .wrap {
    width: 90%;
  }

  #top_flow::before {
    width: 94.87vw;
    height: 129.49vw;
    top: -30.77vw;
    left: 0;
  }

  #top_flow::after {
    width: 100%;
    bottom: -23.08vw;
    height: 25.64vw;
  }

  #top_flow .c_section_block {
    text-align: center;
  }

  #top_flow .c_section_block .ja {
    padding-inline: 7.68vw;
  }

  #top_flow .c_section_block .ja::after {
    display: block;
  }

  #top_flow .items {
    grid-template-columns: 1fr;
    gap: 7.69vw;
    margin-top: 8.97vw;
  }

  #top_flow .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #top_flow .sub_title {
    min-width: 20.51vw;
    font-size: 4.1vw;
    padding: 4.36vw 6.51vw 3.33vw 4.97vw;
    top: -5.13vw;
    left: -2.56vw;
  }

  #top_flow .sub_title .big {
    font-size: 8.21vw;
  }

  #top_flow .image {
    width: 46%;
  }

  #top_flow .image::before {
    width: 5px;
    height: 9.23vw;
    top: auto;
    bottom: -9.23vw;
    right: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-image: url(./image/top-flow-dotted-sp.svg);
  }

  #top_flow .texts {
    width: 54%;
    padding-inline: 7.69vw;
    margin-top: 0;
  }

  #top_flow .title {
    font-size: 5.13vw;
  }

  #top_flow .text {
    font-size: 3.08vw;
    margin-top: 2.56vw;
  }

  #top_flow .btn {
    width: 82.05vw;
    margin-inline: auto;
    margin-top: 6.41vw;
  }

  /* 各種ご相談はこちら */
  #top_contact .common_contact {
    padding: 41.03vw 0 0;
  }

  #top_contact .body {
    border-radius: 2.56vw 2.56vw 0 0;
  }

  /* 採用情報＆協力業者様の募集 */
  #top_2column {
    padding: 2.56vw 0 0;
  }

  #top_2column .wrap {
    width: 90%;
  }

  #top_2column .c_section_block .ja {
    margin-top: 2.56vw;
  }

  #top_2column .c_section_block .ja::before,
  #top_2column .c_section_block .ja::after {
    display: none;
  }

  #top_2column .items {
    grid-template-columns: 1fr;
    gap: 2.56vw;
  }

  #top_2column .item {
    border-top: 1.28vw solid #0200ab;
    padding: 11.79vw 2.56vw 12.82vw;
    background-image: url(./image/top-2column-item-bg-sp.png);
  }

  #top_2column .item:nth-of-type(2) {
    background-image: url("./image/top-2column-item-bg02-sp.svg");
  }

  #top_2column .image {
    width: 94.87%;
    margin-inline: auto;
    padding: 2.56vw;
    margin-top: 6.41vw;
  }

  #top_2column .image img {
    aspect-ratio: 290/180;
  }

  #top_2column .text {
    width: 93%;
    margin-inline: auto;
    margin-top: 3.85vw;
    text-align: left;
  }

  #top_2column .btn {
    width: 82.05vw;
    margin-top: 6.41vw;
  }

  /* 会社概要 */
  #top_company {
    padding: 15.38vw 0;
  }

  #top_company .wrap {
    width: 90%;
  }

  #top_company .wrap::before {
    width: 57.69vw;
    height: 68.21vw;
    top: -15.38vw;
    left: -5.13vw;
  }

  #top_company .body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6.41vw;
  }

  #top_company .image {
    width: 100%;
    padding: 2.56vw;
  }

  #top_company .image img {
    aspect-ratio: 330/230;
  }

  #top_company .contents {
    width: 100%;
  }

  #top_company .head {
    margin-top: 2.56vw;
  }

  #top_company .title {
    font-size: 8.21vw;
  }

  #top_company .title span {
    font-size: 6.15vw;
  }

  #top_company .sub_title {
    font-size: 8.21vw;
    margin-left: auto;
    margin-right: 2.5vw;
    margin-top: -3.85vw;
  }

  #top_company .text {
    border-left: 1.28vw solid #0200ab;
    padding-left: 3.85vw;
    margin-top: 2.56vw;
  }

  #top_company .btn {
    width: 82.05vw;
    margin-top: 6.41vw;
  }

  /* ----------------------- 下層ページ ------------------------- */
  /* SP 高橋塗装工業の強みページ */
  #commitment_container {
    padding: 15.38vw 0;
  }

  #commitment_container .wrap {
    width: 90%;
  }

  #commitment_container .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 40px;
  }

  #commitment_container .item:nth-of-type(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }

  #commitment_container .item:not(:first-of-type) {
    margin-top: 20.48vw;
  }

  #commitment_container .contents {
    width: 100%;
    margin-top: -15.36vw;
  }

  #commitment_container .image {
    width: 100%;
    padding: 2.56vw;
    margin-top: -4.1vw;
  }

  #commitment_container .item:nth-of-type(1) .image img,
  #commitment_container .item:nth-of-type(2) .image img,
  #commitment_container .item:nth-of-type(3) .image img,
  #commitment_container .item:nth-of-type(4) .image img {
    aspect-ratio: 510/299;
  }

  #commitment_container .head {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2.56vw;
    margin-left: -2.56vw;
  }

  #commitment_container .sub_title {
    min-width: 20.51vw;
    max-width: 20.51vw;
    font-size: 4.1vw;
    padding: 4.36vw 6.51vw 3.33vw 4.97vw;
    margin-left: 0;
  }

  #commitment_container .sub_title .big {
    font-size: 8.21vw;
  }

  #commitment_container .title {
    font-size: 5.13vw;
    padding-bottom: 0;
  }

  #commitment_container .text {
    margin-top: 4.5vw;
  }

  /* SP 事業内容ページ */
  #service05_commitment .c_section_block .words {
    text-align: left;
  }

  #service01_cases,
  #service02_cases,
  #service03_cases,
  #service04_cases,
  #service05_cases {
    padding: 20.51vw 0 38.46vw;
    overflow: hidden;
  }

  #service01_cases .wrap,
  #service02_cases .wrap,
  #service03_cases .wrap,
  #service04_cases .wrap,
  #service05_cases .wrap {
    width: 90%;
  }

  #service01_cases::before,
  #service02_cases::before,
  #service03_cases::before,
  #service04_cases::before,
  #service05_cases::before {
    width: 73.08vw;
    height: 83.59vw;
    top: -1.28vw;
    right: -15.38vw;
  }

  #service01_cases .body,
  #service02_cases .body,
  #service03_cases .body,
  #service04_cases .body,
  #service05_cases .body {
    padding: 2.56vw 5.13vw 7.69vw;
  }

  #service01_cases .items,
  #service02_cases .items,
  #service03_cases .items,
  #service04_cases .items,
  #service05_cases .items {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.56vw;
  }

  #service_contact {
    padding: 38.46vw 0 0;
  }

  /* SP 採用情報ページ */
  #recruit_container {
    padding: 15.38vw 0;
  }

  #recruit_container .wrap {
    width: 90%;
  }

  #recruit_container .section_title {
    font-size: 6.15vw;
  }

  #recruit_container .body {
    border-radius: 2.56vw;
    padding: 10.26vw 5.13vw;
    margin-top: 7.69vw;
  }

  #recruit_container .sub_title {
    font-size: 5.13vw;
  }

  #recruit_container .row {
    gap: 2.56vw;
    margin-top: 4.1vw;
  }

  #recruit_container .image img {
    border-radius: 2.56vw;
  }

  #recruit_container .block01 {
    margin-top: 5.13vw;
  }

  #recruit_container .dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 5.13vw 0;
  }

  #recruit_container .dt {
    width: 100%;
    font-size: 4.1vw;
  }

  #recruit_container .dd {
    width: 100%;
    margin-top: 2.56vw;
  }

  #recruit_container .dd .lists {
    padding-right: 2vw;
  }

  #recruit_container .dd .list {
    font-size: 3.58vw;
  }

  #recruit_container .dd .list:not(:first-of-type) {
    margin-top: 1.28vw;
  }

  #recruit_container .media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.13vw;
    margin-top: 12.82vw;
  }

  #recruit_container .media_image {
    width: 100%;
  }

  #recruit_container .media_contents {
    width: 100%;
  }

  #recruit_container .media_title {
    font-size: 5.13vw;
  }

  #recruit_container .media_text {
    margin-top: 2.56vw;
  }

  #recruit_container .box {
    margin-top: 15.38vw;
  }

  #recruit_container .box_title {
    font-size: 5.13vw;
  }

  #page_recruit_contact {
    padding: 15.38vw 0 0;
  }

  #page_recruit_contact .section_title {
    font-size: 6.15vw;
    padding-left: 2.56vw;
  }

  #page_recruit_contact .progressbar {
    margin-top: 10.24vw;
  }

  #recruit_contact {
    padding: 15.38vw 0 0;
  }

  /* SP スタッフ紹介ページ */
  #staff_container {
    padding: 15.38vw 0 20.51vw;
  }

  #staff_container .wrap {
    width: 90%;
  }

  #staff_container .section_title {
    font-size: 6.15vw;
  }

  #staff_container .items {
    grid-template-columns: 1fr;
    gap: 15.38vw;
    margin-top: 7.69vw;
  }

  #staff_container .dl:not(:first-of-type) {
    margin-top: 2.56vw;
  }

  #staff_container .image img {
    width: 70%;
  }

  #staff_container .box {
    padding: 7.69vw 2.56vw;
    margin-top: 5.13vw;
  }

  #staff_container .name {
    top: -3.08vw;
    left: 2.56vw;
    font-size: 4.5vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.01em;
    padding-inline: 2.56vw;
  }

  #staff_contact {
    padding: 15.38vw 0 0;
  }

  /* SP ご依頼の流れページ */
  #page_flow .c_texts {
    padding: 10.26vw 0 15.38vw;
  }

  #page_flow .c_texts .title {
    font-size: 6.3vw;
  }

  #flow_container {
    padding: 15.38vw 0;
  }

  #flow_container .wrap {
    width: 90%;
  }

  #flow_container .section_title {
    font-size: 6.15vw;
  }

  #flow_container .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 11.54vw 3.85vw 5.13vw;
    margin-top: 25.64vw;
  }

  #flow_container .item:first-of-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 5.13vw;
  }

  #flow_container .item:first-of-type .text {
    padding-inline: 2.56vw;
  }

  #flow_container .item--reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  #flow_container .item:not(:first-of-type) {
    margin-top: 25.64vw;
  }

  #flow_container .items .item--point {
    padding: 5.13vw 3.85vw;
    margin-top: 10vw;
  }

  #flow_container .item--point .title {
    padding-bottom: 2.56vw;
  }

  #flow_container .item--point .text {
    margin-top: 2.56vw;
  }

  #flow_container .item--point .lists {
    grid-template-columns: 1fr;
    gap: 4.1vw;
    margin-top: 5.12vw;
  }

  #flow_modal .content {
    max-width: 90vw;
  }

  #flow_modal .close {
    top: -15vw;
    right: 0;
    font-size: 7.69vw;
  }

  #flow_container .contents {
    width: 100%;
    margin-top: -28.21vw;
  }

  #flow_container .image {
    width: 100%;
  }

  #flow_container .head {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2.56vw;
    margin-left: -2.56vw;
  }

  #flow_container .group {
    width: 100%;
  }

  #flow_container .box {
    gap: 2.56vw;
    padding: 15.4px 10px 13px;
    padding: 3.59vw;
  }

  #flow_container .tel_icon img {
    width: 5.13vw;
    height: 5.38vw;
    margin-top: 0.51vw;
  }

  #flow_container .tel_text {
    font-size: 6.15vw;
  }

  #flow_container .hours_text {
    font-size: 3.08vw;
    margin-top: 1.79vw;
  }

  #flow_container .btns {
    gap: 2.56vw;
    margin-top: 5.13vw;
  }

  #flow_container .btn a .icon_link .icon {
    width: 6.15vw;
    height: 6.15vw;
  }

  #flow_container .btn a:hover .icon_link .icon {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
  }

  #flow_container .sub_title {
    min-width: 20.51vw;
    max-width: 20.51vw;
    font-size: 4.1vw;
    padding: 4.36vw 6.51vw 3.33vw 4.97vw;
    top: -1.28vw;
    left: -2.56vw;
    margin-left: 0;
  }

  #flow_container .sub_title .big {
    font-size: 8.21vw;
  }

  #flow_container .title {
    font-size: 5.13vw;
    padding-bottom: 0;
  }

  #flow_container .text {
    margin-top: 2.56vw;
  }

  /* SP よくある質問ページ */
  #faq_contact {
    padding-top: 15.38vw;
  }

  #page_faq .wrap {
    width: 90%;
  }

  /* SP固定ページ お問い合わせ */
  .page_contact {
    padding: 15.38vw 0 7.68vw;
  }

  .page_contact .section_title {
    font-size: 6.15vw;
  }

  .page_contact .section_text {
    margin-top: 2.56vw;
  }

  .page_contact .contact_tel {
    max-width: 100%;
    padding: 5.13vw 2.56vw 4.5vw;
  }

  .page_contact .tel_title {
    font-size: 3.59vw;
  }

  .page_contact .box {
    gap: 2vw;
    margin-top: 4.1vw;
  }

  .page_contact .tel_icon img {
    width: 6.5vw;
    height: 6.5vw;
    margin-top: 0;
  }

  .page_contact .tel_text {
    font-size: 6.15vw;
    font-size: 6.67vw;
  }

  .page_contact .hours_text {
    margin-top: 0.7vw;
  }

  .page_contact .wrap {
    width: 90%;
  }

  .page_contact table {
    margin-bottom: 10vw;
    width: 100%;
  }

  .page_contact table th,
  .page_contact table td {
    font-size: 4vw;
    display: block;
    border-bottom: none;
    padding: 5vw 4vw;
  }

  .page_contact table th {
    width: 100%;
    text-align: left;
    padding: 3vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .page_contact table td {
    width: 100%;
  }

  .page_contact input[type="text"],
  .page_contact input[type="email"],
  .page_contact #zip {
    width: 100%;
    height: 12vw;
  }

  .page_contact input.tel {
    width: 29%;
  }

  .page_contact .select_box {
    width: 100%;
  }

  .page_contact textarea {
    width: 100%;
    height: 60vw;
  }

  .page_contact #btn_wrap button {
    width: 80%;
    line-height: 12vw;
    border-radius: 4px;
    font-size: 4vw;
  }

  .page_contact #btn_wrap button[name="submitBack"] {
    margin-top: 4vw;
  }

  .mwform-checkbox-field.horizontal-item {
    display: block;
  }

  .mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0;
    margin-top: 2vw;
  }

  .page_contact .attention {
    font-size: 3vw;
  }

  .contact_form_disc {
    width: 100%;
    font-size: 3.5vw;
    letter-spacing: .02em;
    margin: 0 auto 10vw;
  }

  .contact_form_disc .caution {
    font-size: 3.4vw;
  }

  .contact_form_disc .text {
    margin-bottom: 3vw;
  }

  .contact_form_disc .text_marker {
    margin-top: 2.56vw;
  }

  .page_contact table th .hissu,
  .page_contact table th .ninni {
    display: block;
    width: 13vw;
    padding: 0.2vw 0;
    text-align: center;
    font-size: 3vw;
    margin-right: 0;
    order: 1;
  }

  .page_contact table {
    border-bottom: solid 1px #dfdfdf;
  }

  .page_contact #btn_wrap {
    width: 100%;
    text-align: center;
  }

  .privacy_check_list .mwform-checkbox-field-text {
    font-size: 3.8vw;
    padding-left: 11vw;
  }

  .mw_wp_form .privacy_check_list .horizontal-item {
    margin-right: 4vw;
  }

  .privacy_check_list .hissu {
    padding: 0.3vw 4vw;
  }

  .privacy_check_list {
    margin-bottom: 6vw;
  }

  .privacy_term_detail {
    font-size: 3.4vw;
    margin: 5vw 0;
  }

  .privacy_term_outer {
    width: 96%;
    padding: 5vw 0;
    margin: 0 auto 7.68vw;
  }

  .privacy_term_outer .privacy_term_inner .main_text {
    font-size: 3.4vw;
    line-height: 1.6;
    margin-bottom: 5vw;
  }

  .privacy_term_outer .privacy_term_inner dl dt {
    font-size: 3.5vw;
    margin-bottom: 1.5vw;
  }

  .privacy_term_outer .privacy_term_inner dl dd {
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 7vw;
  }

  .privacy_term_detail::after {
    width: 2.5vw;
    margin: 1.5vw auto 0;
  }

  /* サンクスページ */
  .page_contact .thanks_textArea p {
    font-size: 4vw;
  }

  .page_contact .thanks_textArea .contact_text {
    margin-bottom: 2em;
    width: 100%;
  }

  .page_contact .thanks_textArea .ichiran_link {
    width: 80%;
    line-height: 12vw;
    font-size: 4vw;
  }

  /* ステップバー デザイン */
  .page_contact .progressbar {
    margin: 10vw 0 7vw;
  }

  .page_contact .progressbar .item {
    font-size: 4vw;
    line-height: 1.4;
    padding: 13vw 0px 2vw;
    width: 31%;
  }

  .page_contact .progressbar .item .en {
    font-size: 3.5vw;
    margin-bottom: 1vw;
  }

  .page_contact .progressbar .item::before {
    width: 8vw;
  }

  .page_contact .progressbar .item.active::after {
    top: 2vw;
    width: 4vw;
  }

  .page_contact .progressbar #step_2 .en {
    position: relative;
  }

  .page_contact .progressbar #step_2 .en::before,
  .page_contact .progressbar #step_2 .en::after {
    content: "";
    position: absolute;
    left: -47px;
    height: 1px;
    width: 100px;
    background: #a4a5a4;
  }

  .page_contact .progressbar #step_2 .en::after {
    left: auto;
    right: -4vw;
  }

  .page_contact .progressbar #step_2 .en::before,
  .page_contact .progressbar #step_2 .en::after {
    width: 8vw;
  }

  .page_contact .progressbar #step_2 .en::before {
    left: -4vw;
  }

  /* SP固定ページ 個人情報保護方針 */
  .page_privacy .common_page_wrap {
    padding: 0 0 15.38vw;
    margin-top: 5.12vw;
  }

  .page_privacy .wrap {
    width: 90%;
  }

  .page_privacy .main_text {
    font-size: 3.5vw;
  }

  .page_privacy dl {
    margin-bottom: 10vw;
  }

  .page_privacy dl dt {
    font-size: 4vw;
  }

  .page_privacy dl dd {
    font-size: 3.5vw;
    margin-left: 5vw;
  }

  /* SP固定ページ 404ページ */
  #page_404 .num {
    font-size: 20vw;
    line-height: 1.5;
  }

  #page_404 .text {
    font-size: 3.5vw;
  }

  /* SP投稿ページ アーカイブページ */
  .archive_page .common_page_wrap {
    padding: 7.68vw 0 20.51vw;
  }

  .archive_page .wrap {
    width: 90%;
  }

  .archive_page .archive_page_list {
    grid-template-columns: 1fr;
    gap: 5.12vw;
  }

  .archive_page_list>article {
    gap: 2.56vw;
    padding: 5.12vw;
  }

  .archive_page_list>article .date {
    width: 80px;
  }

  .archive_page_list>article .date {
    font-size: 3.59vw;
    padding-left: 3.5vw;
  }

  .archive_page_list>article .date::before {
    width: 1.54vw;
    height: 1.54vw;
  }

  .archive_page_list>article .content_area {
    margin-top: 0;
  }

  .archive_page_list>article .content_area .ttl {
    font-size: 4.1vw;
  }

  .archive_page_list>article .content_area .content {
    margin-top: 1.28vw;
  }

  .archive_page_list>article .content_area .content p {
    font-size: 3.59vw;
  }

  .archive_page_list>article:hover .arrow {
    transform: translateX(1.28vw);
  }

  .archive_page_list>article .arrow img {
    width: 6.41vw;
    height: 6.41vw;
  }

  /* SP投稿ページ シングルページ */
  .single_page {
    margin-top: var(--sp-header-height);
  }

  .single_page .common_page_wrap {
    padding-top: 7.68vw;
  }

  .single_page .wrap {
    width: 90%;
  }

  .single_page .single_flame {
    padding: 0;
    border: none;
  }

  .singleContent .single_title::before {
    width: 3vw;
    height: 3vw;
    top: 7vw;
  }

  .singleContent .title_area .en {
    font-size: 3vw;
    margin-bottom: 5vw;
    gap: 2.5vw;
  }

  .singleContent .title_area .en::after {
    width: 2.5vw;
    height: 2.5vw;
  }

  .single_main_img {
    width: 47vw;
    height: 47vw;
    margin: 0 auto 7vw;
  }

  .singleContent .day_cat {
    flex-wrap: nowrap;
    margin-bottom: 10vw;
  }

  .singleContent .day_cat .day {
    font-size: 3.2vw;
    margin-right: 3vw;
    padding-right: 3vw;
    flex-shrink: 0;
  }

  .singleContent .day_cat ul {
    gap: 2vw;
  }

  .singleContent .day_cat .category_list {
    width: 100%;
  }

  .singleContent .title_area {
    margin-bottom: 10vw;
    padding-bottom: 5vw;
  }

  .singleContent .title_area .single_title {
    font-size: 4.5vw;
    letter-spacing: .05em;
  }

  .singleContent .single_title time {
    font-size: 3vw;
  }

  .singleContent .category_list ul li {
    font-size: 2.5vw;
    padding: 1vw 3vw;
  }

  .singleContent article h2 {
    font-size: 4.2vw;
    padding: 2vw;
  }

  .singleContent article h3 {
    font-size: 4vw;
    padding: 2vw;
    margin: 1.5em 0 1em;
  }

  .singleContent article h4 {
    font-size: 4vw;
    padding: 2vw;
    margin: 1.5em 0 1em;
  }

  .singleContent article h5 {
    font-size: 4vw;
  }

  .singleContent h6 {
    font-size: 3.8vw;
  }

  .singleContent p {
    font-size: 3.5vw;
    line-height: 1.8;
  }

  .single_page .singleContent .ichiran_link {
    width: 80%;
    line-height: 11vw;
    margin: 10vw auto 0 auto;
    font-size: 3.8vw;
  }

  .single_page .singleContent .ichiran_link:hover {
    opacity: 1;
  }

  .single_page .singleSidebar {
    display: none;
  }

  .singleContent_links {
    margin-top: 20vw;
    gap: 0;
    justify-content: space-between;
  }

  .singleContent_links .btn {
    margin-bottom: 4vw;
    font-size: 3.4vw;
  }

  .singleContent_links a .ttl {
    font-size: 3.2vw;
  }

  .singleContent_links ul {
    width: 40%;
  }

  .latest_post_area {
    width: 100%;
    margin: 15vw 0 0;
  }

  .latest_post_area .ttl {
    font-size: 4.2vw;
    letter-spacing: .05em;
    padding-bottom: 2vw;
    margin-bottom: 5vw;
  }

  .latest_post_area .ttl .en {
    font-size: 3vw;
  }

  .latest_post_area .img {
    height: 25vw;
  }

  .latest_post_area ul {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3vw;
    row-gap: 5vw;
  }

  .latest_post_area .day_cat {
    display: block;
  }

  .latest_post_area .category_list .cat {
    font-size: 2vw;
    padding: 0 2vw;
  }

  .article_flame_wrap .text_box {
    height: auto;
    position: relative;
    padding-top: 4vw;
  }

  .latest_post_area .day_cat .day {
    font-size: 2.8vw;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    position: absolute;
    left: 0;
    top: 0;
  }

  .latest_post_area .inner_ttl {
    font-size: 3vw;
    margin-top: 1vw;
    -webkit-line-clamp: 1;
    height: 4.8vw;
  }

  .breadcrumb.single {
    margin-bottom: 7.68vw;
    text-align: left;
  }

  .singleContent_links .img {
    margin-bottom: 3vw;
    height: 25vw;
  }

  #toc_container li::before {
    width: 3vw;
    height: 3vw;
    top: 1vw;
  }

  #toc_container li {
    padding-left: 4vw;
  }

  .singleContent .singleContent_links ul li {
    padding: 0;
  }

  .singleContent_links ul li+li {
    margin-top: 3vw;
  }

  .singleContent_links ul li {
    padding-left: 6vw;
  }

  .singleContent article ul {
    padding: 4vw 3vw;
  }

  .singleContent_links ul::before {
    width: 4vw;
    height: 4vw;
  }

  .singleContent ol::before {
    border-width: 0 18px 18px 0;
  }

  .singleContent ol {
    padding: 6vw 3vw;
  }

  .singleContent #toc_container {
    margin-bottom: 8vw;
  }

  .singleContent .addtoany_content {
    margin: 10vw auto 0;
  }

  /* SP固定ページ サイトマップ */
  div:has(#page_sitemap) {
    padding: 7.68vw 0 15.38vw;
  }

  #page_sitemap .wrap {
    width: 90%;
  }

  ul#sitemap_list li {
    margin: 0;
  }

  body #sitemap_list li a {
    font-size: 4vw;
    padding: 1vw 2vw;
    line-height: 9vw;
    margin-bottom: 1vw;
  }

  body #sitemap_list li.home-item {
    margin-bottom: 4vw;
  }

  body #sitemap_list {
    padding: 0;
  }

  /* ----------------------- 追従フッター ------------------------- */
  .fix_btn {
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 20;
  }

  .fix_btn::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #0200AB;
    opacity: 0.05;
    z-index: -1;
  }

  .fix_btn .btns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.03vw;
    padding: 1.28vw;
  }

  .fix_btn .btn a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    border-radius: 3px;
    padding: 1.54vw 1.79vw 1.03vw;
  }

  .fix_btn .btn a .icon_link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.03vw;
  }

  .fix_btn .btn a .icon_link .icon {
    width: 6.15vw;
    height: 6.15vw;
    gap: 1.03vw;
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }

  .fix_btn .btn a .link_text {
    font-size: 3.08vw;
    line-height: 2;
  }

  .fix_btn .c_btn--green a .icon_link .icon {
    -webkit-filter: none;
    filter: none;
  }

  /* ----------------------- SP フッター ------------------------- */
  .site_footer .body {
    border-radius: 2.56vw 2.56vw 0 0;
    padding: 5.13vw 0 20.51vw;
  }

  .site_footer .wrap.lr {
    width: 94.87%;
  }

  .site_footer .area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    border-radius: 2.56vw;
    padding: 8.21vw 5.13vw 7.69vw;
  }

  .site_footer .area .head {
    width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 4.1vw;
  }

  .site_footer .area .box {
    width: 100%;
    padding-left: 0;
    padding-top: 5.13vw;
    margin-top: 2.05vw;
    border-top: 1px solid #e9e9f4;
  }

  .site_footer .area .box::before {
    display: none;
  }

  .site_footer .area .title {
    font-size: 6.15vw;
  }

  .site_footer .area .sub_title {
    font-size: 3.59vw;
    margin-top: 0.51vw;
    margin-left: 0;
  }

  .site_footer .area .dl:nth-of-type(n + 2) {
    margin-top: 3.08vw;
  }

  .site_footer .area .dt {
    gap: 2.56vw;
  }

  .site_footer .area .circle {
    width: 1.54vw;
    height: 1.54vw;
  }

  .site_footer .area .dt_title {
    font-size: 3.59vw;
  }

  .site_footer .area .dd {
    padding-left: 4.1vw;
    margin-top: 1.28vw;
  }

  .site_footer .area .dd_lists {
    gap: 0 6.41vw;
  }

  .site_footer .area .dd_list {
    font-size: 3.08vw;
  }

  .site_footer .area .dd_list::before {
    width: 1.28vw;
    right: -3.85vw;
  }

  .site_footer .area .dd_list:nth-child(5n)::before {
    display: none;
  }

  .site_footer .company {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 6.41vw;
    padding-bottom: 8.46vw;
    margin-top: 8.97vw;
  }

  .site_footer .company .logo {
    width: 52.56vw;
  }

  .site_footer .company .logo img {
    width: 100%;
    margin-inline: auto;
  }

  .site_footer .company .address {
    font-size: 3.08vw;
    text-align: center;
  }

  .site_footer .company .items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.56vw;
    margin-top: 5.13vw;
  }

  .site_footer .company .item {
    width: 100%;
    gap: 3.08vw;
  }

  .site_footer .company .item:nth-child(2) {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 1.28vw;
  }

  .site_footer .company .tel_icon img {
    width: 5.13vw;
    height: 5.13vw;
  }

  .site_footer .company .tel_text {
    font-size: 6.15vw;
  }

  .site_footer .company .hours_text {
    font-size: 3.08vw;
    margin-top: 2.56vw;
  }

  .site_footer .container {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 7.69vw;
  }

  .site_footer .contents .btns {
    gap: 2.56vw;
    width: 58.97vw;
  }

  .site_footer .contents .btn a {
    padding: 2.95vw 7.69vw;
  }

  .site_footer .btn .icon_link {
    gap: 3.85vw;
  }

  .site_footer .btn .icon {
    width: 6.15vw;
    max-width: 100%;
    max-height: 100%;
  }

  .site_footer .btn .link_text {
    font-size: 3.59vw;
  }

  .site_footer .instagram {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.59vw;
    margin-top: 6.41vw;
  }

  .site_footer .instagram .title {
    font-size: 4.1vw;
  }

  .site_footer .instagram img {
    width: 7.44vw;
    height: 7.44vw;
  }

  .site_footer .nav {
    gap: 0;
    margin-top: 12.82vw;
  }

  .site_footer .second_menus {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 7.69vw;
  }

  .site_footer .second_menu a {
    font-size: 3.08vw;
  }

  .site_footer .copylight {
    font-size: 2.56vw;
    margin-top: 2.56vw;
  }
}