html,
body,
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background-color: #f0faff;
  font-family: "Zen Maru Gothic", serif;
  color: #351800;
  letter-spacing: 1px;
  width: auto;
}

.l-contents__inner:last-child {
  padding-bottom: 0;
}

/* 基本設定 */
p,
a,
li {
  font-weight: 500;
}

.pt_0 {
  padding-top: 0 !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pb_0 {
  padding-bottom: 0 !important;
}

.pb_10 {
  padding-bottom: 10px !important;
}

.mt_0 {
  margin-top: 0 !important;
}

.mb_0 {
  margin-bottom: 0 !important;
}

.mr_0 {
  margin-right: 0 !important;
}

.ml_0 {
  margin-left: 0 !important;
}

.mt_10 {
  margin-top: 10px !important;
}

.mb_10 {
  margin-bottom: 10px !important;
}

.z_0 {
  z-index: 0;
}

.z_1 {
  z-index: 1;
}

.p_ab {
  position: absolute;
}

.p_rel {
  position: relative;
}

.d_flex {
  display: flex;
}

.d_flex.f_wrap {
  flex-wrap: wrap;
}

.inline_b {
  display: inline-block;
}

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

.js_fs {
  justify-content: flex-start;
}

.of_hd {
  overflow: hidden;
}

.border_pink {
  border-bottom: 2px solid #ed7780 !important;
}

.mincho {
  font-family: "Zen Antique Soft", serif;
}

.maru {
  font-family: "Zen Maru Gothic", serif;
}

.smb-panels__item__action > a:focus:after {
  outline: none;
  outline-offset: 0px;
}

.tate {
  writing-mode: vertical-rl;
}

/* 基本設定 終わり*/
/* アイコン */
svg.svg-inline--fa {
  margin-right: 7px;
}

.p-global-nav--hover-extend-underline .c-navbar__item.cta:hover > a:after {
  width: 0;
}

/* アイコン 終わり*/
/* ボタン */
a.smb-btn,
.cta a span {
  background-color: var(--wp--preset--color--sm-accent);
  position: relative;
  transition: 0.25s;
  color: #fff;
  border-radius: 120px;
  font-size: 1.1rem;
  border: 2px solid transparent;
}

.cta a span {
  margin-left: 10px;
  padding: 0.5rem 1.8rem !important;
  max-height: 3rem;
}

.w_line a.smb-btn {
  border: 1px solid;
}

/* a.smb-btn::before,
.cta a span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
}
a.smb-btn::after,    
.cta a span::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
} */
a.smb-btn:hover,
.cta a:hover span {
  color: var(--wp--preset--color--sm-accent);
  box-shadow: none;
  background-color: #fff;
  transition: 0.5s;
  filter: brightness(100%);
  border: 2px solid #58a3d4;
  cursor: pointer;
}

/* a.smb-btn:hover::before,
.cta a:hover span::before {
    width: 100%;
    height: 100%;
    border-top-color: var(--wp--preset--color--sm-accent);
    border-right-color: var(--wp--preset--color--sm-accent);
    transition: width .25s ease-out, height .25s ease-out .25s;
}
a.smb-btn:hover::after,
.cta a:hover span::after {
    width: 100%;
    height: 100%;
    border-bottom-color: var(--wp--preset--color--sm-accent);
    border-left-color: var(--wp--preset--color--sm-accent);
    transition: border-color 0s ease-out .5s, width .25s ease-out .5s, height .25s ease-out .75s;
} */

/*======================= ヘッダー =======================*/
/* グローバルナビゲーション */
.l-header {
  position: fixed;
  background-color: transparent;
  box-shadow: none;
}

.l-header .c-navbar__item > a {
  align-items: center !important;
}

.l-header .c-row__col.c-row__col--fit.u-invisible-md-down {
  border-radius: 100px;
  box-shadow: 0 6px 16px 0 rgb(228 228 228 / 26%);
  background-color: #ffffff;
  color: #301a00;
  margin-left: auto;
}

/* グローバルナビ */
/* .l-1row-header .c-fluid-container {
    padding-right: 0;
} */
/* [data-scrolled=false] .l-header--sticky-overlay-colored-lg .p-global-nav .c-navbar__item>a {
    color: #fff;
}  */
.p-global-nav .c-navbar__item {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-global-nav .c-navbar__item.header_cta > a {
  background-color: var(--wp--preset--color--sm-accent);
  color: #fff;
  border-radius: 200px;
  padding: 15px 20px;
  border: 2px solid transparent;
}

/* .p-global-nav .c-navbar__item.tel>a {
    font-size: 1rem;
} */
.p-global-nav .c-navbar__item.contact > a {
  padding-right: 20px;
}

ul#menu-g_nav {
  min-height: 70px;
  display: flex;
  justify-content: flex-start;
  gap: 7px;
}

/* .p-global-nav .c-navbar__item[aria-haspopup=true]:before{
	display : none;
} */

li.g_nav_sab {
  border-bottom: 1px solid #ffffff80;
}

.p-global-nav .c-navbar__item.header_cta > a:hover {
  color: var(--wp--preset--color--sm-accent);
  box-shadow: none;
  background-color: rgb(255, 255, 255);
  filter: brightness(100%);
  cursor: pointer;
  transition: 0.5s;
  border: 2px solid var(--wp--preset--color--sm-accent);
}

@media (max-width: 1280px) {
  [data-scrolled="false"]
    .l-header--sticky-overlay-colored-lg
    .p-global-nav
    .c-navbar__item
    > a {
    color: #fff;
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media (min-width: 1024px) and (max-width: 1280px) {
  .l-1row-header__branding {
    max-width: 250px;
  }
}

@media (max-width: 1024px) {
  ul#menu-sp_nav {
    display: flex;
    flex-wrap: wrap;
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
  }

  ul#menu-sp_nav li {
    width: 100%;
    font-size: 1rem;
  }

  ul#menu-sp_nav li.w_100 {
    width: 100%;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    position: relative;
  }

  ul#menu-sp_nav li.w_100::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  ul#menu-sp_nav li.sp_menu_cta {
    text-align: center;
    background-color: #fff;
    color: var(--wp--preset--color--sm-accent);
  }

  ul#menu-sp_nav li.sp_menu_cta.tel {
    font-family: "EB Garamond";
    font-size: 1.4rem;
  }

  ul#menu-sp_nav li.sp_menu_cta.con {
    font-family: "Zen Antique Soft";
    font-size: 1.2rem;
  }

  ul#menu-sp_nav li.sp_menu_cta {
    text-align: center;
    background-color: #fff;
    color: var(--wp--preset--color--sm-accent);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px 10px;
    line-height: 1;
  }

  ul#menu-sp_nav li.sp_menu_cta a svg {
    display: block;
    margin-right: 0;
    width: 100%;
    font-size: 1.1rem;
    margin-bottom: 7px;
  }
}

/* グローバルナビ終わり */
/* 下層ページヘッダー */
.c-page-header {
  background-color: #ddd;
}

.c-page-header[data-has-image="true"] {
  height: unset;
}

.c-page-header[data-has-image="true"] .c-page-header__content {
  color: unset;
}

.c-page-header__bgimage > img,
.c-page-header__bgimage > picture > img {
  display: none;
}

/*--- お問い合わせフォーム ---*/
/* SP版の確認画面ボタンボタン余白 */
.smf-action .smf-button-control__control {
  margin-bottom: 20px;
}

/* カスタムスタイル（上書き用） */
.pd0 {
  padding: 0 !important;
}

.smb-section__title:after {
  display: none;
}

.btn_wt a {
  background-color: #fff;
  color: var(--wp--preset--color--sm-accent) !important;
}

.btn_wt a:hover {
  background-color: var(--wp--preset--color--sm-accent);
  color: #fff !important;
  border: 2px solid #fff;
}

/* .ta_lt {
    text-align: left!important;
} */

a {
  font-weight: bold !important;
}

/* ---トップページ--- */
h2 {
  color: #58a3d4;
}

.h2_wt {
  color: #fff;
  font-size: 4rem;
}

/* FV */
#fv {
  background: url(http://kenshin-reform.co.jp/wp-content/uploads/2025/02/fv_img-scaled-e1741530770386.jpg);
  background-size: contain;
  background-repeat: no-repeat;
  height: 790px;
  background-position: top right;
  min-height: unset;
  position: relative;
  max-width: 1440px;
}

.fv_txt-group {
  position: absolute;
  bottom: 60px;
  left: 3%;
  width: 50vw;
  height: 100%;
  z-index: 10;
}

.dog_fv_img {
  position: absolute;
  top: -30px;
  right: 0;
  z-index: 10;
}

.fv_txt-group h2 {
  font-size: 3rem;
  white-space: nowrap;
}

.fv_txt-group h2 span {
  font-size: 4.5rem;
  padding-right: 10px;
}

/* 見出し */
.smb-section__header {
  position: relative;
}

.smb-section__subtitle {
  z-index: -1;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  color: #fff;
  font-family: "Grape Nuts", serif;
  font-size: 200px;
  display: inline-block;
}

.text_vertical {
  writing-mode: vertical-rl;
}

/* 事業内容 */
.grid_items {
  display: flex;
  position: relative;
  gap: 30px;
  margin-top: 15px !important;
}

.grid_item {
  overflow: hidden;
  border-radius: 50px;
  box-shadow: none;
  position: relative;
}

.grid_item img {
  transition: transform 0.5s ease-in-out;
  border-radius: 50px;
  width: 100%;
  height: 100%;
}

.grid_item:hover img {
  transform: scale(1.1);
  transform-origin: center center;
}

.grid_item p {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 3rem;
  margin: 0;
  max-width: 80%;
  text-align: center;
  white-space: nowrap;
}

.grid_item .grid_small {
  font-size: 1.8rem;
}

.grid_item .grid_description {
  top: 67%;
  font-size: 1.2rem;
}

/* .sub_reasons::before {
    position: absolute;
    top: -13px;
    z-index: -1;
    width: 40px;
    height: 40px;
    border-radius: 68% 32% 59% 41% / 58% 39% 61% 42%;    
    background-color: var(--wp--preset--color--sub-accent-color);
    opacity: 0.5;
    content: "";
} */

/* 施工実績 */
.title_works {
  position: relative;
}

.title_works_img {
  width: 80%;
  position: absolute;
  top: -10%;
  left: -14%;
  z-index: -1;
}

.works_thumbnail img {
  border-radius: 30px;
}

.works_thumbnail img:hover {
  filter: brightness(0.8);
  transition: 0.5s;
}

/* 選ばれる理由 */
.reasons_title {
  position: relative;
  padding: 0;
}

.title_num {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
}

.wp-image-242,
.wp-image-243,
.wp-image-244 {
  border-radius: 50px;
}

.reasons_box_01,
.reasons_box_02,
.reasons_box_03 {
  position: relative;
}

.dog_reasons_img_01 {
  position: absolute;
  top: 57%;
  right: 40%;
  z-index: 10;
}

.dog_reasons_img_02 {
  position: absolute;
  top: 57%;
  z-index: 10;
}

.dog_reasons_img_03 {
  position: absolute;
  top: 57%;
  left: 80%;
  z-index: 10;
}

/* 対応地域 */
.h3_area {
  font-size: 2.5rem;
  white-space: nowrap;
  padding-bottom: 15px;
}

.h3_area span {
  font-size: 3rem;
  white-space: nowrap;
}

.area_tag {
  background-color: #ffffff;
  color: #351800;
  padding: 10px 20px;
  border-radius: 100px;
  border: 2px solid var(--wp--preset--color--sub-accent-color);
  white-space: nowrap;
}

.h3_area,
.h3_area span,
.area_tag {
  z-index: 1;
}

/* 代表挨拶 */
.wp-image-491 {
  border-radius: 57% 43% 59% 41% / 51% 39% 61% 49%;
}

.greeting_contents {
  position: relative;
}

.greeting_character {
  position: absolute;
  top: 50px;
  left: 245px;
}

/* 協力会社募集 */
.btn_gn a {
  background-color: var(--wp--preset--color--sub-accent-color);
}

.btn_gn a:hover {
  /* background-color: #fff; */
  color: var(--wp--preset--color--sub-accent-color);
  border: 2px solid var(--wp--preset--color--sub-accent-color);
}

.bp_contents {
  background-color: #ffffffa7;
  padding: 30px;
  margin: 30px 0;
  border-radius: 30px;
  max-width: 1200px;
  position: relative;
}

.bp_title img {
  position: absolute;
  top: -100px;
  left: -60px;
  opacity: 0.5;
  transform: rotate(-15deg);
}

.bp_dog {
  position: absolute;
  top: -40px;
  right: 120px;
}

.bp_h2 {
  font-size: 4rem;
}

.bp_h2,
.bp_contents p {
  position: relative;
  z-index: 1;
}

/* お問い合わせCTA */
.contact .smb-section__subtitle {
  color: #f0faff;
  top: 0%;
  z-index: 0;
}

.contact h2,
.contact_group {
  position: relative;
  /* z-index反映のため */
  z-index: 1;
}

.marker_gn {
  background-image: repeating-linear-gradient(
    -45deg,
    #c7dc68b0 0,
    #c7dc68b0 3px,
    transparent 3px,
    transparent 6px
  );
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 50%;
  font-size: 1.6rem;
  white-space: nowrap;
}

.contact_group {
  position: relative;
  z-index: 1;
  max-width: 1400px;
}

.contact_img_rt {
  position: absolute;
  top: 30%;
  right: 0%;
}

.contact_img_lt {
  position: absolute;
  top: 30%;
  left: 0%;
}

.contact_btn a {
  width: 400px;
  height: 80px;
  border-radius: 100px;
  font-size: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta_call {
  font-size: 2.6rem;
  white-space: nowrap;
}

/* 背景 */
.service::before {
  position: absolute;
  top: 10px;
  left: -20px;
  z-index: -1;
  width: 1500px;
  max-width: 1500px;
  aspect-ratio: 1 / 1;
  border-radius: 53% 47% 57% 43% / 48% 42% 58% 52%;
  background: -moz- linear-gradient(to bottom, #57a3d4, #f0faff);
  background: -webkit- linear-gradient(to bottom, #57a3d4, #f0faff);
  background: linear-gradient(to bottom, #57a3d4, #f0faff);
  opacity: 0.15;
  content: "";
}

.reasons::before {
  position: absolute;
  top: 10px;
  left: -20px;
  z-index: -1;
  width: 2000px;
  max-width: 2000px;
  aspect-ratio: 1 / 1;
  border-radius: 55% 45% 61% 39% / 43% 52% 48% 57%;
  background: -moz- linear-gradient(to bottom, #c7dc68, #f0faff);
  background: -webkit-l linear-gradient(to bottom, #c7dc68, #f0faff);
  background: linear-gradient(to bottom, #c7dc68, #f0faff);
  opacity: 0.1;
  content: "";
}

.greeting::before {
  position: absolute;
  top: 100px;
  right: -120px;
  z-index: -1;
  width: 1700px;
  max-width: 1700px;
  aspect-ratio: 1 / 1;
  border-radius: 69% 41% 71% 35% / 64% 55% 54% 47%;
  background: -moz- linear-gradient(to bottom, #57a3d4, #c7dc68);
  background: -webkit-llinear-gradient(to bottom, #57a3d4, #c7dc68);
  background: linear-gradient(to bottom, #57a3d4, #c7dc68);
  opacity: 0.06;
  content: "";
}
/*======================= アニメーション =======================*/
.fluffy {
  animation: fluffy 3s infinite;
}

@keyframes fluffy {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-40px);
  }
}

.yurayura {
  animation: yurayura 3s linear infinite;
  transform-origin: center bottom;
}

@keyframes yurayura {
  0%,
  100% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
}

/*======================= フッター =======================*/
.l-footer,
.l-footer__body {
  border: none !important;
}

.l-footer,
.l-footer__footer,
.c-copyright--inverse {
  background-color: var(--wp--preset--color--sm-accent) !important;
}

.c-copyright--inverse {
  padding-top: 0;
}

.l-footer__header {
  padding-top: 60px !important;
}

.footer_nav a,
.c-copyright {
  color: #fff;
  text-decoration: none !important;
}

.footer_nav {
  padding-top: 100px;
}

/* ---事業内容--- */
.service_menu img {
  border-radius: 40px;
}

.service_menu_icon img {
  border-radius: 0;
}

#menu1,
#menu2,
#menu3,
#menu4,
#menu5 {
  position: relative;
}

#menu1 .dog_service_img,
#menu3 .dog_service_img,
#menu5 .dog_service_img {
  position: absolute;
  top: 24%;
  right: -3%;
}

#menu2 .dog_service_img,
#menu4 .dog_service_img {
  position: absolute;
  top: 24%;
  left: -3%;
}

.service_description {
  margin-top: 30px !important;
}

/* 画像ループ */
.scroll-infinity__wrap {
  display: flex;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(100vw / 2);
}
.scroll-infinity__item > img {
  width: 100%;
}

.op_3 {
  opacity: 0.3;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* ---会社概要--- */
/* ABOUT */
.company_about {
  position: relative;
}

.company_logo {
  position: absolute;
  top: -130px;
  right: -10%;
  opacity: 0.15;
  z-index: -1;
}

/* 画像ループ */
.company_gallery {
  display: flex;
  gap: 20px;
  padding-right: 20px;
  animation: infinity-scroll-left 40s infinite linear 0s both;
}

.company_gallery img {
  border-radius: 20px;
}

.company_gallery .scroll-infinity__item {
  width: calc(100vw / 5);
}

/* 会社概要 */
.company_table td,
.company_table th {
  padding: 20px !important;
  border: none !important;
  border-bottom: solid 1px #ded7c8 !important;
}

.company_table tr > *:first-child {
  width: 25% !important;
  font-weight: 500;
}

.profile_contents {
  background-color: #fff;
  border-radius: 20px;
  max-width: 800px;
  min-height: 330px;
  position: relative;
  padding: 50px;
  box-shadow: 36px 38px 0px 0px #57a3d57f;
}

.profile_contents .c-container {
  padding: 0;
}

.profile_contents svg {
  width: 15px;
  transform: translate(-50%, -50%);
  margin-right: 10px;
  color: #57a3d4;
}

.profile_title {
  writing-mode: vertical-rl;
  white-space: nowrap;
  padding-right: 30px;
}

.profile_description {
  border-bottom: dotted;
  padding-bottom: 20px;
}

.profile_tag {
  color: #fff;
  background-color: #351800;
  padding: 4px 12px;
  border-radius: 100px;
  margin-right: 20px;
}

.profile_img {
  position: absolute;
  top: -100px;
  right: -60px;
}

.profile_en img {
  position: absolute;
  top: -340px;
  left: -65px;
  opacity: 0.2;
  transform: rotate(-15deg);
}

/*　---お問い合わせ---　*/

/* placeholder */
.smf-text-control__control::placeholder {
  color: #cccccc !important;
}

/* 電話 */
.contact_tel a {
  width: 400px;
  height: 80px;
  border-radius: 100px;
  font-size: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 必須の文字 */
.smf-item__description {
  width: 50px !important;
  height: fit-content;
  margin-top: 0 !important;
  margin-left: 15px;
  padding: 0.1em 0.8em;
  border-radius: 100px;
  background-color: var(--wp--preset--color--sub-accent-color);
  color: #ffffff !important;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
}

.smf-form--simple-table .smf-item {
  padding: 1.7rem 0;
  border-bottom: solid 1px #efefef;
}

.smf-item__col.smf-item__col--label {
  display: flex;
}

.smf-form .smf-text-control__control,
.smf-form .smf-textarea-control__control {
  border: none !important;
  background-color: #f2f2f2;
}

.smf-item__label__text {
  font-size: 1.1rem;
  font-weight: 500;
}

.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
  padding: 50px !important;
}

.wp-block-snow-monkey-blocks-box.smb-box.contact-form_box .smb-box__background {
  border-radius: 30px;
}

/* 項目の幅 */
.snow-monkey-form
  .smf-form.smf-form--simple-table
  .smf-item
  .smf-item__col--label {
  flex: 0 0 18em !important;
  max-width: 18em !important;
}

.snow-monkey-form
  .smf-form.smf-form--simple-table
  .smf-item
  .smf-item__col--controls {
  flex: 1 1 calc(100% - 18em) !important;
  max-width: calc(100% - 18em) !important;
}

/* 確認ボタン */
.smf-action .smf-button-control__control {
  position: relative;
  width: 100%;
  max-width: 400px;
  margin-top: 20px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border: none;
  border: solid 2px var(--wp--preset--color--sm-accent) !important;
  border-radius: 100px;
  background: var(--wp--preset--color--sm-accent);
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 3px;
}

.smf-action .smf-button-control__control:hover {
  border: solid 2px var(--wp--preset--color--sm-accent) !important;
  background: #ffffff;
  color: var(--wp--preset--color--sm-accent);
  transition: 0.5s;
}

.smf-action .smf-button-control + .smf-button-control {
  margin-left: 0 !important;
}

.smf-action .smf-button-control__control {
  margin-bottom: 20px;
}

#autozip {
  display: none !important;
}

/* プライバシーポリシー */
#privacy h3 {
  margin-bottom: 10px !important;
  padding-left: 10px;
  border-left: solid 3px var(--wp--preset--color--sm-accent);
  font-weight: 700;
}

.custom-error-message {
  position: relative;
  top: 12px;
}

/*　---施工実績---　*/
.sp_works {
  display: none;
}

.archive .c-entry-summary__figure img {
  border-radius: 30px;
}

.archive .l-contents__container.c-fluid-container {
  margin-bottom: 30px;
}

.c-entry-summary__figure {
  background-color: transparent;
}

/* .archive .l-contents__inner {
  margin-top: 20px !important;
} */

.archive .c-entries-carousel .spider__dots {
  margin-top: 10px;
}

.spider__dots:not([data-thumbnails="true"]) .spider__dot[aria-current="true"] {
  background-color: #cfcfcf;
}

.c-entry-summary__meta {
  justify-content: flex-start;
}

/* 施工実績情報 */
#works_page figure.wp-block-table tr td:first-child,
#works_page figure.wp-block-table tr td:first-child {
  width: 30%;
  background-color: var(--wp--preset--color--sm-accent);
  color: #ffffff;
  font-size: 1.1rem;
  font-weight: 400;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
}

#works_page figure.wp-block-table tr td:last-child,
#works_page figure.wp-block-table tr td:last-child {
  background-color: #ffffff;
}

@media (max-width: 435px) {
  #works_page figure.wp-block-table tr td:first-child,
  #works_page figure.wp-block-table tr td:first-child {
    width: 32%;
    font-size: 1rem !important;
  }
}

.c-entries {
  padding-bottom: 20px;
}

/*　---お知らせ---　*/
.c-meta {
  color: #999999;
}
.c-meta__item--author {
  display: none;
}

.c-entry__content .p-entry-content p {
  padding-top: 20px;
  line-height: 1.8rem;
}

/*=======================下層ページヘッダー =======================*/

.l-contents__inner {
  margin-top: 0 !important;
}

.c-page-header {
  padding: 150px 0 60px;
  background-color: #fdfff683;
  color: #351800;
}

/* .c-page-header[data-has-image=true] {
    height: unset;
}

.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
 } */

/* .c-page-header__bgimage>img,
.c-page-header__bgimage>picture>img {
  display: none;
}
 */

/* .tel a {
    line-height: 1.1 !important;
}


.tel-num {
    font-size: 1.5rem !important;
}


.tel-num svg {
    font-size: 1.3rem;
}


.l-header span.time {
    padding-top: 10px !important;
    font-size: 14px !important;
    font-weight: 400;
}
  */

/*=======================トップへ戻るボタン =======================*/
#page-top a svg {
  display: none;
}

#page-top {
  background: url(http://kenshin-reform.co.jp/wp-content/uploads/2025/03/page-top.png)
    no-repeat center center;
  background-color: transparent;
  background-size: contain;
}
.c-page-top {
  width: 100px;
  height: 100px;
}

/*==================================================================================*/
/*=================================== レスポンシブ ===================================*/
/*==================================================================================*/
/*　---ヘッダー--- */
@media (max-width: 1081px) {
  .head_ja {
    display: none;
  }

  .header_cta svg.svg-inline--fa {
    margin: 0;
  }
  ul#menu-g_nav {
    gap: 15px;
  }
}
@media (max-width: 1023px) {
  .l-header__content .c-fluid-container {
    padding: 5px 7px;
  }
}

/* ---ハンバーガーメニュー--- */
.c-hamburger-btn__bars {
  height: 20px;
  width: 25px;
}

.l-header .c-hamburger-btn__bar {
  background-color: #351800;
  height: 2px;
  border-radius: 30px;
}

.c-hamburger-btn__label {
  display: none;
}

.c-drawer {
  opacity: 0.95;
  background-color: var(--wp--preset--color--sm-accent);
}

.c-drawer__menu {
  padding-top: 50px !important;
}

.ham_btn {
  border: solid 2px;
  padding: 15px;
  border-radius: 100px;
}

.c-drawer__inner {
  padding-left: 25px;
  padding-right: 25px;
}

.c-drawer a {
  font-weight: 600;
}

.c-drawer__item {
  padding-bottom: 20px;
  font-size: 1rem;
  text-align: center;
}

/* ---ハンバーガーメニュー終わり--- */
/* ---フッター--- */
@media (max-width: 1023px) {
  .footer_nav {
    padding: 0;
  }
}

@media (max-width: 539px) {
  .footer_cta_btn a {
    width: 100%;
  }
}

@media (max-width: 639px) {
  .l-footer-widget-area {
    padding: 0 !important;
  }
}

#menu-footer3 {
  display: flex;
  flex-flow: column;
  gap: 10px;
}

/* ---TOP--- */
/* fv */
@media (max-width: 768px) {
  #fv {
    background: url(http://kenshin-reform.co.jp/wp-content/uploads/2025/03/fv_img_tb.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    height: 100vh;
    background-position: top right;
    min-height: unset;
    position: relative;
  }
}

@media (max-width: 425px) {
  #fv {
    background: url(http://kenshin-reform.co.jp/wp-content/uploads/2025/03/fv_img_sp.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media (max-width: 1399px) {
  .fv_txt-group {
    width: 60vw;
  }
}

@media (max-width: 1166px) {
  .fv_txt-group h2 {
    font-size: 2.5rem;
  }

  .fv_txt-group h2 span {
    font-size: 4rem;
  }
  .dog_fv_img {
    width: 300px;
    top: -80px;
  }
}

@media (max-width: 985px) {
  .fv_txt-group h2 {
    font-size: 2.2rem;
  }

  .fv_txt-group h2 span {
    font-size: 3.8rem;
  }
}

@media (max-width: 879px) {
  .fv_txt-group {
    bottom: 240px;
  }
  .dog_fv_img {
    top: -200px;
    width: 240px;
  }
}

@media (max-width: 768px) {
  .fv_txt-group {
    width: 70vw;
    bottom: 100px;
  }

  .dog_fv_img {
    animation: unset;
    width: 200px;
    right: unset;
    left: 0;
    top: -300px;
  }
}

@media (max-width: 659px) {
  .fv_txt-group h2 {
    font-size: 1.5rem;
  }

  .fv_txt-group h2 span {
    font-size: 2rem;
    padding-right: 5px;
  }
}

@media (max-width: 500px) {
  .dog_fv_img {
    width: 150px;
    top: -260px;
  }
}

@media (max-width: 480px) {
  .fv_txt-group {
    width: 80vw;
  }
}

@media (max-width: 441px) {
  .fv_txt-group h2 {
    font-size: 1.2rem;
  }

  .fv_txt-group h2 span {
    font-size: 1.6rem;
  }
}

@media (max-width: 358px) {
  .fv_txt-group h2 {
    font-size: 1.1rem;
    margin: 10px;
  }

  .fv_txt-group h2 span {
    font-size: 1.4rem;
    padding-right: 3px;
  }
}

/* 事業内容 */
@media (max-width: 1023px) {
  .smb-section__subtitle {
    font-size: 150px;
  }
}

@media (max-width: 768px) {
  .smb-section__subtitle {
    font-size: 100px;
  }
}

@media (max-width: 470px) {
  .smb-section__subtitle {
    font-size: 70px;
  }
}

@media (max-width: 358px) {
  .smb-section__subtitle {
    font-size: 50px;
  }
}

@media (max-width: 1140px) {
  .grid_item,
  .grid_item img {
    border-radius: 30px;
  }
  .grid_item p {
    font-size: 2.4rem;
  }

  .grid_items {
    gap: 20px;
  }

  .grid_item .grid_small {
    font-size: 1.4rem;
  }

  .grid_item .grid_description {
    font-size: 0.9rem;
  }
}

@media (max-width: 850px) {
  .grid_items {
    display: flex;
    flex-flow: column;
  }
  .grid_item .grid_small {
    font-size: 2.4rem;
  }

  .grid_item .grid_description {
    font-size: 1.4rem;
  }
}

@media (max-width: 500px) {
  .grid_item p,
  .grid_item .grid_small {
    font-size: 2rem;
  }
  .grid_item .grid_description {
    font-size: 1rem;
  }

  .grid_items {
    gap: 10px;
  }
}

@media (max-width: 375px) {
  .grid_item p,
  .grid_item .grid_small {
    font-size: 1.6rem;
  }
  .grid_item .grid_description {
    font-size: 0.8rem;
  }
  .grid_items {
    margin-top: 10px;
  }
}

/* 施工実績 */
@media (max-width: 781px) {
  .text_vertical {
    writing-mode: horizontal-tb;
  }
  .title_works_img {
    width: 80px;
    position: absolute;
    top: -144px;
    left: 43%;
    z-index: -1;
    transform: rotate(-90deg);
  }
}

@media (max-width: 500px) {
  .title_works_img {
    width: 80px;
    top: -150px;
  }
}

@media (max-width: 470px) {
  .smb-section__subtitle {
    top: 10px;
  }
}

@media (max-width: 400px) {
  .title_works_img {
    width: 64px;
    top: -110px;
  }
}

@media (max-width: 358px) {
  .title_works_img {
    width: 64px;
    top: -110px;
  }
}

/* 選ばれる理由 */
@media (max-width: 1023px) {
  .dog_reasons_img_01 {
    top: 80%;
    right: 0;
  }
  .dog_reasons_img_02 {
    top: 80%;
    left: 0;
  }
  .dog_reasons_img_03 {
    top: 80%;
    left: unset;
    right: 0;
  }
}
@media (max-width: 768px) {
  .wp-image-242,
  .wp-image-243,
  .wp-image-244 {
    border-radius: 30px;
  }
}

@media (max-width: 500px) {
  .dog_reasons_img_01 img,
  .dog_reasons_img_02 img,
  .dog_reasons_img_03 img {
    width: 180px !important;
  }
}

@media (max-width: 400px) {
  .dog_reasons_img_01 img,
  .dog_reasons_img_02 img,
  .dog_reasons_img_03 img {
    width: 120px !important;
    top: 85%;
  }
}

@media (max-width: 400px) {
  .dog_reasons_img_01,
  .dog_reasons_img_02,
  .dog_reasons_img_03 {
    top: 85%;
  }
}

/* 対応地域 */
@media (max-width: 933px) {
  .h3_area {
    font-size: 1.6rem;
  }

  .h3_area span {
    font-size: 2rem;
  }

  .area_tag {
    padding: 10px 15px;
  }
}

@media (max-width: 639px) {
  .area_contents img {
    width: 80%;
    display: block;
    margin: 0 auto;
  }
}

@media (max-width: 614px) {
  .area_tags {
    gap: 10px;
  }
}

@media (max-width: 450px) {
  .h3_area {
    font-size: 1.2rem;
  }

  .h3_area span {
    font-size: 1.6rem;
  }

  .area_tag {
    font-size: 0.9rem;
    padding: 8px 12px;
  }
}

/* 代表挨拶 */
@media (max-width: 1023px) {
  .wp-image-491 {
    width: 70% !important;
    display: block;
    margin: 0 auto;
  }

  .greeting_contents h3 {
    font-size: 1.6rem;
  }

  .greeting_character {
    bottom: 340px;
    right: 175px;
    top: unset;
    left: unset;
  }
}

@media (max-width: 768px) {
  .greeting_character {
    right: 105px;
  }
}

@media (max-width: 660px) {
  .greeting_character {
    bottom: 365px;
  }
}

@media (max-width: 560px) {
  .greeting_character {
    bottom: 448px;
    right: 0px;
    width: 100px !important;
  }
}

@media (max-width: 460px) {
  .greeting_character {
    bottom: 530px;
  }
}

@media (max-width: 375px) {
  .greeting_character {
    bottom: 580px;
    width: 80px !important;
  }
}

@media (max-width: 328px) {
  .greeting_character {
    bottom: 620px;
  }
}

/* 協力会社募集 */
@media (max-width: 1150px) {
  .bp_dog {
    right: 30px;
  }
}

@media (max-width: 970px) {
  .bp_dog {
    width: 180px;
  }
}

@media (max-width: 900px) {
  .bp_dog {
    top: 180px;
    right: 80px;
  }
}

@media (max-width: 850px) {
  .bp_h2 {
    font-size: 3rem;
  }
}

@media (max-width: 800px) {
  .bp_dog {
    display: none;
  }
}

@media (max-width: 685px) {
  .bp_h2 {
    font-size: 2.5rem;
  }
}

@media (max-width: 525px) {
  .bp_h2 {
    font-size: 2rem;
    white-space: nowrap;
  }
}
@media (max-width: 330px) {
  .bp_h2 {
    font-size: 1.8rem;
  }
}

/* お問い合わせCTA */
@media (max-width: 740px) {
  .cta_call {
    font-size: 2.2rem;
  }
}

@media (max-width: 635px) {
  .cta_call {
    font-size: 2rem;
  }
}

@media (max-width: 600px) {
  .contact_btn a {
    width: 330px;
    height: 70px;
    font-size: 1.3rem;
  }
}

@media (max-width: 500px) {
  .cta_call {
    font-size: 1.8rem;
  }
}

@media (max-width: 420px) {
  .cta_call {
    font-size: 1.6rem;
  }
  .contact_btn a {
    width: 300px;
    height: 60px;
    font-size: 1.2rem;
  }
}

@media (max-width: 380px) {
  .cta_call {
    font-size: 1.4rem;
  }
  .contact_btn a {
    width: 270px;
    height: 50px;
    font-size: 1.1rem;
  }
}

@media (max-width: 335px) {
  .cta_call {
    font-size: 1.2rem;
  }
}

@media (max-width: 410px) {
  .marker_gn {
    font-size: 1.3rem;
  }
}

@media (max-width: 1000px) {
  .contact_img_rt,
  .contact_img_lt {
    display: none;
  }
}

@media (max-width: 886px) {
  .contact_img_rt,
  .contact_img_lt {
    display: block;
    top: 60%;
  }
}

@media (max-width: 780px) {
  .contact_img_rt,
  .contact_img_lt {
    display: none;
  }
}

@media (min-width: 1300px) {
  .contact_img_rt img,
  .contact_img_lt img {
    width: 200px !important;
  }
}

/* 背景 */
@media (max-width: 800px) {
  .service::before,
  .reasons::before {
    left: -300px;
  }
  .greeting::before {
    top: 80px;
    right: -380px;
    width: 1200px;
  }
}

@media (max-width: 500px) {
  .service::before,
  .reasons::before {
    left: -500px;
  }
  .greeting::before {
    top: 100px;
  }
}

/* ---事業内容--- */
/* 画像ループ */
@media (max-width: 768px) {
  .scroll-infinity__item {
    width: calc(100vw / 1);
  }
}

@media (max-width: 800px) {
  .dog_service_img {
    width: 200px !important;
  }

  #menu1 .dog_service_img,
  #menu2 .dog_service_img,
  #menu3 .dog_service_img,
  #menu4 .dog_service_img,
  #menu5 .dog_service_img {
    top: 50%;
  }
}

@media (max-width: 639px) {
  #menu1 .dog_service_img,
  #menu2 .dog_service_img,
  #menu3 .dog_service_img,
  #menu4 .dog_service_img,
  #menu5 .dog_service_img {
    top: 70%;
  }
}

@media (max-width: 425px) {
  .dog_service_img {
    width: 120px !important;
  }

  #menu1 .dog_service_img,
  #menu2 .dog_service_img,
  #menu3 .dog_service_img,
  #menu4 .dog_service_img,
  #menu5 .dog_service_img {
    top: 80%;
  }
}

/* ---施工実績--- */

/* ---会社概要--- */
@media (max-width: 1023px) {
  .company_gallery .scroll-infinity__item {
    width: calc(100vw / 4);
  }

  .profile_title {
    writing-mode: horizontal-tb;
  }
  .profile_contents {
    padding: 25px;
  }
}

@media (max-width: 900px) {
  .profile_contents {
    width: 700px;
    padding: 25px;
    box-shadow: 20px 20px 0px 0px #57a3d57f;
  }
}

@media (max-width: 768px) {
  .company_gallery .scroll-infinity__item {
    width: calc(100vw / 2);
  }

  .profile_flex {
    display: flex;
    flex-direction: column;
    width: 450px;
  }

  .profile_contents {
    width: 450px;
    box-shadow: 40px 40px 0px 0px #57a3d57f;
    padding: 10px;
  }

  .profile_title {
    padding: 15px 0 4px 0;
  }

  .profile_en img {
    top: -734px;
    left: -50px;
  }
}

@media (max-width: 550px) {
  .profile_contents {
    width: 350px;
  }

  .profile_en img {
    top: -656px;
    left: -55px;
  }
}

@media (max-width: 450px) {
  .profile_contents {
    width: 300px;
    box-shadow: 20px 20px 0px 0px #57a3d57f;
  }

  .profile_en img {
    top: -596px;
    left: -35px;
  }
}

@media (max-width: 360px) {
  .profile_contents {
    width: 270px;
    padding: 20px;
  }
}

@media (max-width: 500px) {
  .company_gallery img {
    border-radius: 10px;
  }
}

@media (max-width: 640px) {
  .company_logo {
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110%;
  }
}

@media (max-width: 600px) {
  .company_table tr > *:first-child {
    width: 33% !important;
  }

  .company_table.wp-block-table td,
  .company_table .wp-block-table th {
    padding: 15px !important;
    padding-right: 5px !important;
    padding-left: 5px !important;
  }
}

@media (max-width: 435px) {
  .company_table figure.wp-block-table tr td:first-child,
  .company_table figure.wp-block-table tr td:first-child {
    width: 32%;
    font-size: 1rem !important;
  }
}

/* ---お知らせ--- */
@media (max-width: 639px) {
  .c-entries--simple .c-entry-summary__content {
    display: block;
  }

  .c-entries--simple .c-entry-summary__figure {
    float: inherit;
    width: 100%;
    margin-bottom: 20px;
  }
}

/* ---お問い合わせ--- */
@media screen and (max-width: 781px) {
  .snow-monkey-form
    .smf-form.smf-form--simple-table
    .smf-item
    .smf-item__col--controls {
    flex: 1 1 calc(100% - 13em) !important;
    max-width: calc(100% - 13em) !important;
  }
  .snow-monkey-form
    .smf-form.smf-form--simple-table
    .smf-item
    .smf-item__col--label {
    flex: 0 0 13em !important;
    max-width: 13em !important;
    flex-direction: column;
  }

  .smf-item__description {
    margin-top: 10px !important;
    margin-left: 0;
  }
}

@media screen and (max-width: 639px) {
  .snow-monkey-form
    .smf-form.smf-form--simple-table
    .smf-item
    .smf-item__col--controls {
    max-width: 100% !important;
  }

  .contact_tel {
    display: flex;
    justify-content: center;
  }

  .contact_tel a {
    width: 300px;
    height: 60px;
    font-size: 1.2rem;
  }
}

@media (max-width: 450px) {
  .contact_tel a {
    width: 250px;
    height: 50px;
  }
  /* .pb_20 .c-container {
    padding: 0;
  } */

  .wp-block-snow-monkey-blocks-box.smb-box.contact-form_box {
    padding: 25px !important;
  }
}

@media (max-width: 356px) {
  .contact_tel a {
    width: 230px;
    height: 40px;
    font-size: 1.1rem;
  }
  .cta2-ttl {
    font-size: 1rem;
  }

  .inline_b {
    font-size: 0.8rem;
  }
}
/* 下層ページヘッダー */
@media (max-width: 1023px) {
  .c-page-header {
    padding: 100px 0 40px;
  }
}

@media (max-width: 450px) {
  .c-page-header {
    padding: 60px 0 25px;
  }

  .c-page-header__title {
    font-size: 1.5rem;
  }
}
