/*
 Theme Name:   Lightning Child
 Theme URI:    https://lightning.nagoya
 Description:  Lightning Child Theme
 Template:     lightning
 Version:      1.0.0
 Text Domain:  lightning-child
 */

.grecaptcha-badge {
  visibility: hidden;
}

/* @media (min-width: 1200px) {
  .siteHeadContainer {
    width: 90%;
    max-width: 1400px;
  }
} */
/*
 *	Display
 ========================================= */
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-flex {
    display: flex;
  }
}

@media (min-width: 769px) {
  .d-md-none {
    display: none !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-flex {
    display: flex;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-flex {
    display: flex;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-flex {
    display: flex;
  }
}

/*
 *	Margin
 ========================================= */

/* margin-top ----- */

.mt5 {
  margin-top: 5px !important;
}

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

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

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

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60p !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

/* margin-bottom ----- */

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

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

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.pb0 {
  padding-bottom: 0;
}

.pl-0,
.px-0 {
  padding-left: 0 !important;
}

.pr-0,
.px-0 {
  padding-right: 0 !important;
}

@media (min-width: 576px) {
  .pl-sm-0,
  .px-sm-0 {
    padding-left: 0;
  }

  .pr-sm-0,
  .px-sm-0 {
    padding-right: 0 !important;
  }
}

@media (min-width: 769px) {
  .pl-md-0,
  .px-md-0 {
    padding-left: 0;
  }

  .pr-md-0,
  .px-md-0 {
    padding-right: 0 !important;
  }
}

@media (min-width: 992px) {
  .pl-lg-0,
  .px-lg-0 {
    padding-left: 0;
  }

  .pr-lg-0,
  .px-lg-0 {
    padding-right: 0 !important;
  }
}

/*
 *	Grobal
 ========================================= */

@font-face {
  font-family: "Ryumin_bold";
  src: url("font/A-OTF-RyuminPro-Medium.otf") format("opentype");
  font-display: swap;
}

@font-face {
  font-family: "Ryumin_Light";
  src: url("font/A-OTF-RyuminPro-Light.otf") format("opentype");
  font-display: swap;
}

body {
  font-family: "Ryumin_bold", "Yu Mincho", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "MS P明朝", "MS PMincho",
    "MS 明朝", serif;
  color: #111;
  font-size: 16px;
}

img.wmaxImage {
  width: 100%;
}

.f_mincho {
  font-family: "Yu Mincho", "游明朝", YuMincho, "ヒラギノ明朝 ProN W6",
    "HiraMinProN-W6", "MS P明朝", "MS PMincho", "MS 明朝", serif;
}

.d-none {
  display: none;
}

@media (min-width: 768px) {
  .d-sm-block {
    display: block;
  }

  .d-sm-none {
    display: none;
  }
}

.d_style_none {
  border: none;
  padding: none;
  background: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
}

.d_style_none:after {
  content: none;
}

.sankaku-right-white {
  width: 0;
  height: 0;
  border-width: 6px 0 6px 7px;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  font-size: 0;
  margin-left: 3px;
}

/* Table --- */

table.default th {
  font-weight: bold;
  /*background: #d8d8d8;*/
  /*text-align: right;*/
}

/* Responsive Table --- */

@media (max-width: 767px) {
  table.responsive {
    border: solid 1px #e5e5e5;
    border-bottom: none;
  }

  table.responsive th,
  table.responsive td {
    /*text-align: left;*/
    display: block;
  }

  table.responsive th {
    background: #d8d8d8;
  }
}

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

.flex.flex-sb {
  justify-content: space-between;
}

.wp-caption-text {
  color: #000 !important;
}

/* Fade in */

.fadein {
  opacity: 0;
  transition: 0.8s ease-in-out;
}

.fadein.faded {
  opacity: 1 !important;
}

.pc_none {
  display: none;
}

.sp_none {
  display: block;
}

@media (max-width: 600px) {
  .container {
    padding-left: 10px;
    padding-right: 10px;
  }

  .pc_none {
    display: block;
  }

  .sp_none {
    display: none;
  }
}

/* Text */

h2.phase_size {
  border: none;
  background: none;
  padding: 0;
  margin-bottom: 1.2em;
}

h2.phase_size,
h2.phase_size span.small {
  color: #fff;
}

h2.phase_size span {
  display: inline-block;
}

h2.phase_size span.large {
  font-size: 1.6em;
}

h2.phase_size span.small {
  font-size: 0.8em;
  line-height: 1.5em;
}

h2.phase_size span.large + .small {
  margin-left: 10px;
}

.sy_line_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sy_line_title span {
  font-size: 1.2em;
  margin: 0 1em;
}

.sy_line_title::before,
.sy_line_title::after {
  content: "";
  display: block;
  height: 2px;
  flex: 2;
  background: #fff;
}

@media (max-width: 700px) {
  h2.phase_size span.large {
    font-size: 1.3em;
  }

  h2.phase_size span.small {
    display: block;
    font-size: 0.7em;
  }

  h2.phase_size span.large + .small {
    margin-left: 0;
    margin-top: 0.3em;
  }

  .sy_line_title span {
    font-size: 1.1em;
    margin: 0 0.7em;
  }

  .sy_line_title::before,
  .sy_line_title::after {
    height: 1px;
  }
}

h1.entry-title:first-letter,
.single h1.entry-title:first-letter {
  color: inherit;
}

/* content */

.siteContent {
  padding-bottom: 0;
}

/* 2layers */

.home .siteContent,
.layersPage .page-header,
.layersPage .breadSection,
.layersPage .siteContent {
  background-color: rgba(0, 0, 0, 0.55) !important;
}

.siteHeader {
  background-color: transparent !important;
  font-family: "Ryumin_bold", "Yu Mincho", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "MS P明朝", "MS PMincho",
    "MS 明朝", serif;
  letter-spacing: 1px;
}

.home .siteContent,
.layersPage .layersContent,
.layersPage .breadcrumb span,
.layersPage .postList .entry-title a,
.layersPage .gc_gallery-item a,
.layersPage .media .media-body .media-heading,
.layersPage .media .media-body .media-heading a,
.layersPage .media .media-body p,
.layersPage .widget_archive ul li a,
.layersPage .widget_link_list ul li a,
.layersPage ul.page-numbers li a,
.layersPage .post .entry-meta,
.layersPage .post .entry-title,
.layersPage .archive-header,
.layersPage .mainSection p,
.layersPage .post .entry-body a:not(.btn),
.layersPage .post .entry-body h2,
.layersPage .post .entry-body h3,
.layersPage .post .entry-body h4,
.layersPage .post .entry-body h5,
.layersPage .post .entry-body h6,
.layersPage .entry-body table a {
  color: #fff;
}

.layersPage .breadcrumb a span {
  color: #ddd;
}

.layersPage .btn-primary {
  background: #fff;
  border-color: #111;
  color: #111;
}

.layersPage .btn-primary:hover {
  background-color: #d8d8d8;
}

.layersPage h2,
.layersPage h3 {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.layersPage h3:after {
  border: none;
}

.layersPage .breadSection {
  border: none;
}

dt,
dd {
  line-height: 1.6em;
}

.veu_flowBox dl dt {
  padding-bottom: 0.5em;
  margin-bottom: 15px;
}

dl.veu_qaItem dd:before {
  color: #609fd6;
}

/* ===================================================
 * 白いグレーの背景 
==================================================== */
.whitePage,
.whitePage .page-header,
.whitePage .breadSection,
.whitePage .siteContent,
.whitePage .footer-section.contacts {
  background-color: #f5f5f5;
  color: #000;
}

.whitePage .breadSection {
  border-color: #e5e5e5;
}

.whitePage .footer-section.contacts * {
  color: #000;
}

.whitePage h2,
.whitePage h3 {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage h2::after,
.whitePage h3::after {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage .page-header.tit2 {
  border-bottom: none;
}

.whitePage .page-header.tit2 .page-header_pageTitle {
  text-align: center;
}

.whitePage .page-header .page-header_pageTitle span {
  display: block;
  color: inherit;
  font-size: 0.5em;
  margin-top: 5px;
}

.whitePage .media .media-body .media-heading a,
.whitePage .media .media-body a.media-body_excerpt {
  color: #000;
}

.whitePage .table tbody tr td,
.whitePage .table tbody tr th,
.whitePage .table td,
.whitePage .table th,
.whitePage .table thead tr td,
.whitePage .table thead tr th,
.whitePage table tbody tr td,
.whitePage table tbody tr th,
.whitePage table td,
.whitePage table th,
.whitePage table thead tr td,
.whitePage table thead tr th,
.whitePage .table,
.whitePage table {
  border-color: #ccc;
}

/* コラム */
.whitePage.single .entry-meta,
.whitePage.single .entry-title,
.whitePage.single .entry-meta,
.whitePage .entry-meta-dataList dd a,
.whitePage.single .entry-body h1,
.whitePage.single .entry-body h3,
.whitePage.single .entry-body h3 span,
.whitePage.single .entry-body h5,
.whitePage.single .entry-body h6,
.whitePage .clm_form_ct .mw_wp_form td,
.whitePage aside .popular-posts a,
.whitePage aside .popular-posts .wpp-excerpt,
.whitePage .related-tags .cell a,
.whitePage .footer-section.contacts *,
.whitePage .entry-body hr + p {
  color: #000 !important;
}

.whitePage.single .entry-body span a,
.whitePage .mw_wp_form .privacyform a {
  color: #0043ff !important;
}

.whitePage.single table td + td {
  border-left: 1px solid #ccc;
}

.whitePage h2,
.whitePage h3 {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage h2::after,
.whitePage h3::after {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage .clm_form_ct .mw_wp_form th {
  color: #fff !important;
}

.single-post .clm_form_ct p {
  line-height: normal;
}

.whitePage .author_c,
.whitePage .mainSection-title {
  background: #fff;
}

.whitePage .footer-section.contacts,
.whitePage .pagenation li .card {
  background-color: #f5f5f5;
}

.whitePage .entry-body ul:not([class]) li {
  color: #000 !important;
  font-weight: bold;
}

.whitePage .entry-body hr {
  border-color: #b3b3b3;
}

.whitePage .btn-cols-item input.btn-danger {
  color: #fff !important;
  background-color: #d9534f !important;
  border-color: #d43f3a !important;
}

.whitePage aside .popular-posts .widgettitle,
.whitePage .widget .subSection-title {
  background-color: #e8e8e8;
  /* color: #fff; */
}

/* コラム2 */
.whitePage2 .page-header {
  background: #fff;
  color: #000;
}

.whitePage2.single .entry-meta,
.whitePage2.single .entry-title,
.whitePage2.single .entry-meta,
.whitePage2 .entry-meta-dataList dd a,
.whitePage2.single .entry-body h1,
.whitePage2.single .entry-body h3,
.whitePage2.single .entry-body h3 span,
.whitePage2.single .entry-body h5,
.whitePage2.single .entry-body h6,
.whitePage2 .clm_form_ct .mw_wp_form td,
.whitePage2 aside .popular-posts a,
.whitePage2 aside .popular-posts .wpp-excerpt,
.whitePage2 .related-tags .cell a,
.whitePage2 .footer-section.contacts *,
.whitePage2 .entry-body hr + p {
  color: #000 !important;
}

.whitePage2.single .entry-body span a,
.whitePage2 .mw_wp_form .privacyform a {
  color: #0043ff !important;
}

.whitePage2 h2,
.whitePage2 h3 {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage2 h2::after,
.whitePage2 h3::after {
  background-color: transparent;
  border: none;
  box-shadow: none;
}

.whitePage2 .clm_form_ct .mw_wp_form th {
  color: #fff !important;
}

.single-post .clm_form_ct p {
  line-height: normal;
}

.whitePage2 .author_c,
.whitePage2 .mainSection-title {
  background: #f2f2f2;
}

.whitePage2 .footer-section.contacts,
.whitePage2 .pagenation li .card {
  background-color: #f5f5f5;
}

.whitePage2 .entry-body ul:not([class]) li {
  color: #000 !important;
  font-weight: bold;
}

.whitePage2 .entry-body hr {
  border-color: #b3b3b3;
}

.whitePage2 .btn-cols-item input.btn-danger {
  color: #fff !important;
  background-color: #d9534f !important;
  border-color: #d43f3a !important;
}

/* 事例末端ページ以外の事例の見せ方白背景
==================================== */
.whitePage:not(.columnPage) .case-list li {
  background: #fff;
  display: flex;
  flex-direction: column;
}

.whitePage:not(.columnPage) .ie-case .case-list li a:hover {
  text-decoration: none;
}

.whitePage:not(.columnPage) .case-list li a {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.whitePage:not(.columnPage) .case-thumb {
  position: relative;
  width: 100%;
}

.whitePage:not(.columnPage) .case-thumb:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.whitePage:not(.columnPage) .case-thumb img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}

.whitePage:not(.columnPage) .case-body {
  position: static;
  background: #fff;
  color: #000;
  padding: 15px;
}

.whitePage:not(.columnPage) .case-list li a:hover {
  text-decoration: none;
}

.whitePage:not(.columnPage) .case-list li:hover a:after {
  content: none;
}

.whitePage:not(.columnPage) .case-list li .button {
  width: calc(100% - 30px);
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
  margin-bottom: 1.2em;
}

.whitePage:not(.columnPage) .case-list li .button .a {
  line-height: 40px;
  background: #000;
  display: block;
  transition: all 0.5s;
  color: #fff;
  text-align: center;
}

.whitePage:not(.columnPage) .case-list li .button .a span {
  position: relative;
}

.whitePage:not(.columnPage) .case-list li .button .a span:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 4.5px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: -12.5px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s ease-in-out;
}

/* 家タイプ白背景
==================================== */
.whitePage .ietore_list li a {
  color: #000;
}

.whitePage h2.phase_size,
.whitePage h2.phase_size span.large + .small {
  color: #000;
}

.tit_bg {
  background-position: center;
  width: 100%;
  margin-top: 0 !important;
}

.top-section.event p.title span,
.page-id-32 .event_content h3 span,
#event-now .box .tit span {
  display: none;
}

/* BG Slider
=================================== */

html,
.bg-slider {
  margin-top: 0 !important;
}

.bg-slider .slide {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: -1;
}

.bg-slider .slide:not(:first-child) {
  display: none;
  box-shadow: none;
}

/*
 *	Pager
 ========================================= */
.pagenation ul {
  list-style: none;
  padding: 0;
}

.pagenation li .card {
  background: #fff;
  height: 100%;
}

.pagenation li .card .row {
  /* align-items: center; */
}

.pagenation li .card .col-xs-5 {
  height: 100%;
}

.pagenation .card-body {
  line-height: 1.4;
  font-size: 0.8em;
  /* padding: 1em 1.2em; */
}

.pagenation .card-body p {
  color: inherit;
  font-size: 12px;
  line-height: 1;
  margin-bottom: 1em;
}

.pagenation img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.pagenation .card-date {
  font-size: 11px;
  margin-top: 0.5em;
  color: #666;
}

.pagenation .row {
  display: flex;
  height: 100%;
}

.pagenation .img-overray {
  height: 100%;
}

.pagenation .next .img-overray {
  margin-left: -15px;
}

.pagenation .previous .img-overray {
  margin-right: -15px;
}

.pagenation .next .card-body {
  padding-right: 0;
}

.pagenation .previous .card-body {
  padding-left: 0;
}

.pagenation .next .postNextPrev_label {
  text-align: right;
}

@media (max-width: 768px) {
  .pagenation ul.row {
    display: block;
  }
}

/*
 *	Header
 ========================================= */

.siteHeader.navbar {
  position: fixed;
}

.siteHeader ul.gMenu a strong {
  font-weight: bold;
}

#menu-headermenu-1 {
  display: flex;
  align-items: center;
}

.siteHeader ul.gMenu .nav_img > a {
  /* background-image: url('images/nav_img.jpg'); */
  background: no-repeat url("images/nav_img.jpg");
  background-size: contain;
  background-position-y: center;
}

.siteHeader_logo {
  display: flex;
  align-items: end;
}

.siteHeader .okinawa_logo {
  padding: 6px 5px;
}

.siteHeader .okinawa_logo img {
  max-height: 19px !important;
  width: auto;
}

.scrolled .siteHeader .okinawa_logo img {
  max-height: 18px !important;
}

@media (max-width: 768px) {
  .siteHeader .okinawa_logo img {
    max-height: 14px !important;
  }

  .scrolled .siteHeader .okinawa_logo img {
    max-height: 14px !important;
  }

  .siteHeader .okinawa_logo {
    padding: 7px 5px;
  }
}

/* 資料請求 */

@media (min-width: 992px) {
  .siteHeader ul.gMenu .nav_img > a {
    margin-left: 5px;
  }

  .siteHeader ul.gMenu .nav_img > a > strong {
    opacity: 0;
    font-size: 1.35em;
  }
}

/* 資料請求 */

@media (min-width: 992px) {
  .navbar > .container .navbar-brand {
    width: 290px;
  }
}

.kazari_container {
  position: absolute !important;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}

.siteHeader .head-bell {
  position: absolute;
  /* top: 0;
  left: 0;
  height: 50%; */
  top: 5px;
  left: 8px;
  height: 100%;
}

.siteHeader .head-bell img {
  max-height: 100%;
}

@media (max-width: 991px) {
  .siteHeader .head-bell img {
    transform: scale(-1, 1);
  }

  .siteHeader .head-bell {
    /* left: auto;
    right: 0;
    height: 80%; */
    left: auto;
    right: 0;
    /* height: 80%; */
    height: 40px;
  }
}

@media (max-width: 767px) {
  .kazari_container {
    width: 100%;
  }

  .siteHeader .head-bell {
    height: 7vw;
    max-height: 40px;
  }
}

.vk-mobile-nav-menu-btn {
  border: none;
}

ul.gMenu {
  position: relative;
  /* padding-right: 17rem; */
}

.d-line {
  /* position: relative; */
  /* padding-top: 50px;
	 padding-right: 17rem; */
}

.scrolled .d-line {
  padding-top: 0;
}

.scrolled #menu-item-14027 {
  display: none;
}

.scrolled #menu-item-14811 {
  bottom: 15px;
}

#menu-item-14027 {
  margin-right: 0;
  position: absolute;
  top: 0;
  right: 0;
}

#menu-item-14811 {
  background: url(images/tel_hd.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left;
  position: absolute;
  right: 0;
  bottom: 17px;
}

nav {
  font-size: 15px;
}

header .head-link {
  text-align: right;
  display: flex;
  justify-content: flex-end;
}

header .head-link a {
  padding: 0 5px;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  margin-left: 5px;
}

header .head-link a:last-of-type {
  padding-right: 5px;
}

header .head-link .tel_link span {
  font-size: 17px;
}

header .head-link .tel_link span + span {
  padding-left: 10px;
  font-size: 16px;
}

header .head-link .shiryo_img {
  height: 22px;
}

header .head-link .tel {
  height: 18px;
}

header .head-link span {
  color: #fff;
  vertical-align: middle;
  padding-left: 4px;
  font-size: 14px;
}

header .head-link img {
  height: 20px;
}

#menu-item-14811 a {
  display: block;
  width: 100%;
  padding: 2rem 8rem;
}

#menu-item-14027 {
  padding: 3px 6px;
}

#menu-item-14027 a {
  display: block;
  width: 100%;
  color: #000;
  border-bottom: 0;
  padding: 3px 10px;
}

#menu-item-14027 a:after {
  text-decoration: none;
  border-bottom: none;
}

#menu-item-14027 a:hover .gMenu_description {
  color: #333;
}

@media (max-width: 1199px) {
  .d-line {
    padding-top: 0;
  }
}

@media (max-width: 991px) {
  header .head-link {
    display: none;
  }

  .head-link.mob {
    text-align: center;
  }

  .head-link.mob img {
    height: 35px;
  }

  .head-link.mob img.tel {
    height: 20px;
  }

  #menu-item-14811 {
    display: none;
  }

  #menu-item-14027 {
    position: static;
    border: none;
    padding: 3px 0;
  }

  #menu-item-14027 a {
    color: #333;
  }
}

@media (max-width: 480px) {
  .head-link.mob img.tel {
    height: auto;
    width: 100%;
    margin-bottom: 20px;
  }
}

/* Front Page */

body:not(.home) .siteHeader,
body.home.head_scrolled .siteHeader {
  background-color: rgba(0, 0, 0, 0.65) !important;
  /* box-shadow: none; */
}

.navbar-brand a {
  display: block;
  position: relative;
}

.navbar-brand a:hover {
  opacity: 0.7;
}

.siteHeader ul.gMenu a {
  background-color: transparent;
  color: #fff;
  padding: 10px 6px;
}

@media (min-width: 1280px) {
  .siteHeader ul.gMenu a {
    /* padding-right: 10px;
    padding-left: 10px; */
  }

  header .head-link a {
    padding-right: 18px;
    padding-left: 18px;
  }

  header .head-link a:last-of-type {
    padding-right: 10px;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .siteHeader ul.gMenu a {
    padding: 10px 4px;
  }

  nav {
    font-size: 13px;
  }
}

@media (min-width: 992px) {
  ul.gMenu > li > ul.sub-menu li {
    box-shadow: none;
  }

  ul.gMenu > li > ul.sub-menu li + li {
    border-top: solid 1px #ddd;
  }

  .siteHeader ul.sub-menu a {
    color: #000;
    background-color: rgba(255, 255, 255, 0.8);
  }
}

@media (min-width: 768px) {
  ul.gMenu > li > a:hover .gMenu_description {
    color: #fff;
  }

  ul.gMenu > li > a:hover:after,
  ul.gMenu > li.current-post-ancestor > a:after,
  ul.gMenu > li.current-menu-item > a:after,
  ul.gMenu > li.current-menu-parent > a:after,
  ul.gMenu > li.current-menu-ancestor > a:after,
  ul.gMenu > li.current_page_parent > a:after,
  ul.gMenu > li.current_page_ancestor > a:after {
    border-bottom-color: #fff;
  }
}

/* Page */

.page-header {
  border-bottom: dotted 1px #aaa;
}

.page-header_pageTitle,
h1.page-header_pageTitle:first-child {
  margin: 50px 0 45px;
}

@media (min-width: 992px) {
  .page-header {
    /*padding-top: 98px;*/
  }
}

@media (max-width: 991px) {
  .page-header {
    /*padding-top: 50px;*/
  }
}

@media (max-width: 650px) {
  .breadSection {
    display: none;
  }
}

/*
 *	Footer
 ========================================= */

/* 新デザイン */
html {
  position: relative;
}

.footer-mr {
  transition: 0.5s all ease-in-out;
}

.footer-mr.is_scroll {
  visibility: hidden;
  opacity: 0 !important;
}

.footer-mr.ab {
  position: absolute;
}

.footer_new {
  background: #fff;
}

.footer_new .footerBg {
  /* background-image: url(images/footerBg.png); */
  background: center / cover url(images/footerBg.png);
  padding: 40px 0;
}

.footer_new .footerBg * {
  color: #fff;
}

.footer_new .end_nav ul li {
  display: inline-block;
  border-right: 1px solid;
}

.footer_new .end_nav ul li:first-of-type {
  border-left: 1px solid;
}

.footer_new .end_nav ul li a {
  padding: 0 5px;
  line-height: 1;
  font-size: 13px;
}

.footer_new .end_nav ul li a:hover {
  background-color: transparent;
  text-decoration: underline;
}

.footer_new .end_nav ul li#menu-item-25876 {
  display: none;
}

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

.footer_new .sns_area {
  display: inline-block;
}

.footer_new .f_inr {
  display: flex;
  flex-direction: column;
}

.footer_new .end_nav {
  margin-top: auto;
}

.footer_new .follow_us {
  font-size: 18px;
}

.footer_new .follow_us::before,
.footer_new .follow_us::after {
  content: "|";
  display: inline-block;
  font-size: 1.2em;
  padding: 0 10px;
}

.footer_new .follow_us::before {
  transform: rotate(-20deg);
}

.footer_new .follow_us::after {
  transform: rotate(20deg);
}

.footer_new .sns_btn {
  display: flex;
  justify-content: space-evenly;
}

.footer_new .sns_btn a {
  font-size: 17px;
  background: #fff;
  width: 30px;
  height: 30px;
  display: block;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer_new .sns_btn a i {
  color: #000;
}

.footer_new .tel_icon {
  font-size: 26px;
  display: flex;
  align-items: center;
  background: url(images/footer/tel_icon.png) no-repeat center left / 9%;
  padding-left: 30px;
}
.footer_new .tel_time {
  text-align: left;
}
.footer_new .after_tel_text {
  margin-top: 10px;
}
.footer_new .after-contact {
  font-size: 13px;
  text-align: left;
}
.footer_new .after-contact p {
  font-size: 16px;
}
.footer_new .after-contact .tel_icon {
  font-size: 24px;
  background: url(images/footer/tel_icon.png) no-repeat center left / 9%;
  padding-left: 30px;
}
.f_shiryo_flex {
  justify-content: end;
}

.footer_new p.catch {
  font-size: 14px;
}

/*.footer_new .tel_icon img {
  width: 27px;
  object-fit: contain;
  padding-right: 5px;
}*/

.footer_new .shiryo_img {
  border: 1px solid;
  display: block;
  height: 35px;
  width: 100%;
  line-height: 35px;
  text-align: center;
  background: rgb(188 155 104 / 50%);
}

.footer_new .shiryo_img:hover {
  text-decoration: none;
  background: transparent;
}

.footer_new .cta_cnt > div {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer_new .cta_cnt > div:first-of-type {
  align-items: initial;
}

.footer_new .fMenu {
  display: flex;
  justify-content: space-evenly;
  width: 100%;
  margin: 0;
}

.footer_new .fMenu li a {
  font-size: 14px;
  color: #000;
}

.footer_new .fMenu > li {
  flex: 1;
}

.footer_new .fMenu > li::before,
.footer_new .fMenu > li:last-of-type::after {
  content: "";
  display: block;
  height: 15px;
  width: 0;
  border-right: 1px solid #333;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.footer_new .fMenu > li:last-of-type::after {
  right: 0;
  left: auto;
}

.footer_new .fMenu ul.sub-menu {
  margin-top: -10%;
}

.footer_new .fMenu ul.sub-menu > li:last-of-type {
  border-bottom: 1px solid #ddd;
}

.footer_new .fMenu > li > a {
  background-color: transparent;
  font-size: 14px;
  line-height: 1;
  color: #000;
  padding: 40px 0;
  border: none;
}

.footer_new .fMenu > li > a:last-of-type {
  border: none;
}

.footer_new .fMenu > li > a:hover::after {
  border-bottom: none;
}

.footer_new .fMenu > li > a::after {
  border: none;
}

.footer_new .fMenu li.menu-item-has-children > a {
  position: relative;
  pointer-events: none;
  display: flex;
  justify-content: center;
}

.footer_new .fMenu li.menu-item-has-children > a > span.arrow {
  display: inline-block;
  margin: -2px 0 0 1em;
  width: 10px;
  height: 10px;
  border: 1px solid;
  border-color: #000 #000 transparent transparent;
  transform: rotate(135deg);
}

.footer_new .fMenu li.menu-item-has-children li > a {
  justify-content: inherit;
  align-items: center;
}

footer.footer_new li {
  float: none;
}

.footer_new .copySection {
  padding: 10px 0;
}

@media (max-width: 991px) {
  .footer_new .fMenu > li > a {
    border-bottom: none;
    text-align: center;
  }

  .footer_new .fMenu > li.menu-item-has-children ul {
    display: none;
  }

  .footer_new .fMenu > li > a {
    padding: 30px 0;
  }

  .footer_new .fMenu li.active > a > span.arrow {
    transform: rotate(-45deg);
    margin-top: 4px;
  }

  .footer_new
    .fMenu
    li.menu-item-has-children
    li.menu-item-has-children
    > a
    > span.arrow {
    margin-top: -9px;
  }

  .footer_new
    .fMenu
    li.menu-item-has-children
    li.menu-item-has-children.active
    > a
    > span.arrow {
    margin-top: 5px;
  }

  .footer_new .fMenu ul li a {
    padding: 10px 1em;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  .footer_new .tel_icon {
    font-size: 20px;
  }

  /*.footer_new .tel_icon img {
    width: 20px;
  }*/

  .footer_new .fMenu li ul.ulActive {
    display: block;
  }

  .footer_new .fMenu > li ul {
    position: absolute;
    background: #f5f5f5;
    z-index: 99;
  }

  .footer_new .fMenu > li ul li {
    width: 100%;
    position: relative;
  }

  .footer_new .fMenu > li ul li ul {
    left: 100%;
  }

  .footer_new .fMenu > li ul li ul {
    top: 0;
    width: 100%;
    /* position: absolute; */
  }
}

@media (max-width: 767px) {
  .footer_new .fMenu {
    display: block;
  }

  .footer_new .fMenu > li {
    padding: 0;
  }

  .footer_new .fMenu > li a {
    padding: 20px 30px 20px 1em;
    font-size: initial;
    text-align: left;
    justify-content: space-between !important;
  }

  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li:last-of-type::after {
    border: none;
  }

  .footer_new .after_tel_text {
    text-align: center;
  }

  .footer_new .fMenu a {
    border-bottom: none;
  }

  .footer_new .fMenu > li.menu-item-has-children ul li {
    padding-left: 1em;
  }

  .footer_new .fMenu > li.menu-item-has-children ul li a {
    padding-right: 30px;
  }

  .footer_new .fMenu ul.sub-menu {
    margin-top: 0;
  }

  .footer_new p.catch {
    text-align: center;
    margin-bottom: 0;
  }

  .cta_cnt > div {
    margin-bottom: 6px;
  }

  .footer_new .cta_cnt,
  .footer_new .f_inr:last-of-type {
    margin-top: 3em;
  }

  .footer_new .tel_icon {
    width: 100%;
    justify-content: center;
  }
  .footer_new .tel_time {
    text-align: center;
  }
  .footer_new .after-contact {
    text-align: center;
  }

  .footer_new .shiryo_img {
    width: 250px;
    max-width: 100%;
    padding: 5px 1rem;
    height: auto;
  }

  /*.footer_new .tel_icon img {
    width: 30px;
  }*/

  .footer_new .tel_icon,
  .footer_new .after-contact .tel_icon {
    background-position: 20% center;
    font-size: 34px;
  }

  .footer_new .sns_btn a {
    font-size: 30px;
    width: 50px;
    height: 50px;
    margin: 4px 5px;
  }

  .footer_new .f_inr:last-of-type {
    text-align: center;
  }

  .footer_new .end_nav {
    margin-top: 3em;
  }
}

/* 新デザイン */

footer .textwidget,
footer .widget p,
footer .copySection p {
  color: #000;
}

footer .subSection-title {
  background-color: transparent !important;
}

@media (max-width: 991px) {
  .siteFooter .col-md-4 + .col-md-4 {
    margin-top: 2em;
  }
}

/* 固定 CTA */

.footer-cta {
  /* display: none; */
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  background-color: rgba(210, 210, 210, 0.95);
  padding: 8px;
  z-index: 99999;
}

.footer-cta .inner {
  display: flex;
}

.footer-cta .tel {
  width: 57px;
  display: block;
  border: solid 2px #071144;
  border-radius: 3px;
  background-color: #fff;
  text-align: center;
  color: #071144;
  font-size: 0.9rem;
  padding: 6px 6px 5px;
}

.footer-cta .tel strong {
  display: block;
  margin-top: 4px;
  font-size: 10px;
}

.footer-cta .contact {
  flex: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #071144;
  background-size: 9px auto;
  color: #fff;
  font-size: 0.75em;
  border-radius: 3px;
  margin-left: 8px;
}

.footer-cta .contact:hover {
  text-decoration: none;
  background-color: #131f5a;
  color: #fff;
}

.footer-cta .contact .free {
  /* width: 2.8em; */
  background-color: #000;
  color: #fff;
  border-radius: 15px;
  text-align: center;
  font-size: 10px;
  padding: 2px 10px 1px 10px;
  margin-right: 3px;
  font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro",
    "ヒラギノ角ゴ Pro W3", sans-serif;
}

.footer-cta .contact .free + span {
  flex: 2;
  margin-left: 8px;
}

footer.siteFooter {
  padding-bottom: 70px;
}

.footer-cta .yellow_bg {
  /* background-color: #071144 !important; */
  background-color: #fefd00 !important;
  color: #000 !important;
  font-weight: bold;
}

.footer-cta .yellow_bg span {
  font-weight: normal;
}

/* PC */
.footer-cta .pc_cta .inner {
  margin: 0 -8px;
  width: 100%;
}

.footer-cta .pc_cta a {
  margin: 0 5px;
  padding: 7px 0;
  font-size: 14px;
  background-size: 8px auto;
  background-image: none;
}

/* PC */

/* 電話番号クリック */
.tel_container {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #0000005e;
  z-index: 9999;
  /* display: flex; */
  justify-content: center;
  align-items: center;
}

.tel_modal {
  width: 90%;
  background: #fff;
  max-width: 680px;
  padding: 2em;
  text-align: center;
}

.tel_modal p {
  margin-bottom: 5px;
}

.tel_modal a {
  font-size: 2em;
  background: #b48c51;
  padding: 5px;
  display: block;
  color: #fff;
}

.tel_modal button {
  margin-top: 1em;
  background: #fff;
  padding: 5px 2em;
}

/* 電話番号クリック */

/* コラム */
.footer-cta .column_cta .tag_list {
  flex-grow: 1;
}

.footer-cta .column_cta .tag_list a {
  background-image: none;
  position: relative;
  font-size: 14px;
  padding: 6px;
  flex: auto;
}

.footer-cta .column_cta .tag_list a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f02b";
  font-weight: 700;
  margin-right: 5px;
  font-size: 0.8em;
}

.footer-cta .sp_column_cta a {
  font-size: inherit;
  color: #337ab7;
}

.footer-cta .sp_column_cta a span {
  color: initial;
}

/* コラム */

@media (max-width: 767px) {
  .footer-cta .column_cta .tag_list {
    margin-left: -8px;
    margin-bottom: -5px;
    flex-wrap: wrap;
  }

  .footer-cta .column_cta .tag_list a {
    white-space: nowrap;
    margin-bottom: 5px;
  }

  .footer-cta {
    /* display: block; */
  }
}

@media (max-width: 320px) {
  .footer-cta .contact {
    background-image: none;
  }
}

/*
 *	Front Page
========================================= */

/* 共通 */

.top-section {
  position: relative;
  padding-top: 3.5em;
  padding-bottom: 3.8em;
}

.top-section h2 {
  border: none;
  background: none;
  padding: 0;
  margin-bottom: 1.5em;
}

h2.phase_size {
  color: #fff;
}

.top-section h2 span {
  display: inline-block;
}

.top-section h2 span.en {
  font-size: 2em;
}

.top-section h2 span.ja {
  font-size: 0.9em;
}

.top-section h2 .en + .ja {
  margin-left: 20px;
}

.spacial_banner_area {
  /* margin-bottom: 3em; */
  margin-top: 3.5em;
}

@media (max-width: 700px) {
  .top-section {
    padding-top: 2.5em;
    padding-bottom: 2.8em;
  }

  .top-section h2 span.en {
    font-size: 1.6em;
  }

  .top-section h2 span.ja {
    display: block;
  }

  .top-section h2 .en + .ja {
    margin-left: 0;
  }
}

.technicalBnr .sc {
  display: block;
  margin-top: 40px;
}

.form_link {
  text-align: center;
  background: #b38d51;
  color: #fff;
  display: inline-block;
  width: 700px;
  max-width: 100%;
  font-size: 2.7rem;
  line-height: 100px;
  position: relative;
}

.form_link:after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #f5f5f5;
}

.form_link:hover {
  text-decoration: none;
  color: #fff;
  opacity: 0.7;
}

/* ファーストビュー */
.home .siteContent {
  padding-top: 0;
}

.home .top_view {
  /* height: 100vh;
    transition: all 2s 0s ease;
    background-image: url('images/top/topview.png');
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999; */
  position: absolute;
  z-index: 9999;
  transition: all 2s 0s ease;
  width: 100%;
  height: 100vh;
}

.home .top_view .a {
  margin: 0 calc(50% - 50vw);
  display: block;
}

.home .top_view .a > img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

.home .top_view .text {
  position: absolute;
  top: 50%;
  right: 5%;
  width: 40%;
  max-width: 470px;
  transform: translateY(-50%);
}

.home .top_view .text a {
  background: #2c3577;
  padding: 7px 5px;
  color: #fff;
  width: 12em;
  text-align: center;
  display: block;
  font-size: 13px;
}

.home .top_view .text a:hover {
  background-color: #fff;
  border: 1px solid #2c3577;
  color: #333;
}

.home .top_view .text .tb {
  width: 78%;
  justify-content: space-between;
  margin: -25px auto 0;
  align-items: center;
}

.home .top_view .text .tb img {
  width: calc(100% - 11em);
}

.home.scrolled .top_view,
.home.open_view .top_view {
  opacity: 0;
  z-index: 0;
}

@media (max-width: 991px) {
  .home .top_view img.pcnone {
    display: block;
  }

  .home .top_view img.spnone {
    display: none;
  }

  .home .top_view .container {
    position: unset;
  }

  .home .top_view {
    top: 0;
    height: 100vh;
  }

  .home .top_view .a > img {
    width: 100%;
    position: absolute;
    bottom: 0;
    object-position: bottom;
  }

  .home .top_view .text {
    right: 0;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: 6%;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
    max-width: none;
  }

  .home .top_view .text .tb {
    display: block;
  }

  .home .top_view .text a {
    width: 100%;
    font-size: inherit;
    margin-top: 8%;
  }
}

@media (max-width: 767px) {
  .home .top_view {
    top: 0;
    /* height: calc(100vh - 70px); */
  }

  .home .top_view .text img:first-of-type {
    width: 50%;
    margin-bottom: -5%;
  }
}

.home .first-view {
  /* opacity: 0; */
  height: 100vh;
  position: relative;
  width: 100%;
}

.home .container {
  position: relative;
}

.home .slick-slide p.ab {
  font-size: 10px;
}

.home .first-view .ab a {
  /* margin-top: 10vw; */
  display: block;
}

.home .first-view .ab .main_text {
  font-size: 45px;
}

.home .first-view .ab .text2,
.home .first-view .ab .sub_t {
  font-family: "Ryumin_Light", "Yu Mincho", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "MS P明朝", "MS PMincho",
    "MS 明朝", serif;
}

.home .first-view .ab .text1 {
  font-size: 150%;
  letter-spacing: 8px;
  margin: 0.5em 0px;
}

.home .first-view .ab .en {
  font-size: 143%;
}

.home .first-view .ab .kan {
  font-size: 115%;
}
.home .first-view .ab .r_mark {
  display: inline-block;
  margin-left: 6px;
}
.home .first-view .ab .r_mark svg {
  display: block;
  width: 22px;
  height: 22px;
}
.home .first-view .ab .sub_t {
  font-size: 24px;
  margin-top: 3em;
}

.home .first-view .ab .sub_t > * + * {
  margin-top: 1em;
}

.home .first-view .ab .under {
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}

.home .first-view .ab .btntextchange {
  position: relative;
  padding: 13px 20px;
  text-align: center;
  display: inline-block;
  text-decoration: none;
  outline: none;
  transition: all 0.2s;
  color: #fff;
  background-color: rgba(180, 140, 81, 0.4);
  background-color: rgba(255, 255, 255, 0.4);
}

.home .first-view .ab .btntextchange span {
  transition: all 0.5s;
  display: block;
  white-space: nowrap;
  /* text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 255, 255, 0.3);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none; */
}

.home .first-view .ab .btntextchange span:nth-child(2) {
  opacity: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.home .first-view .ab .btntextchange:hover span:nth-child(1) {
  opacity: 0;
}

.home .first-view .ab .btntextchange:hover span:nth-child(2) {
  opacity: 1;
}

@media (max-width: 991px) {
  .home .first-view .ab .main_text {
    font-size: 35px;
  }

  .home .first-view .ab .sub_t {
    font-size: 18px;
  }
  .home .first-view .ab .r_mark svg {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 580px) {
  .home .first-view .ab .main_text {
    font-size: 18px;
  }

  .home .first-view .ab .text1 {
    letter-spacing: 4px;
  }
  .home .first-view .ab .r_mark svg {
    width: 12px;
    height: 12px;
  }

  .home .first-view .ab .sub_t {
    font-size: inherit;
  }
}

/* S ファーストビュー動画 */
.home .first-view video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home .first-view .black_bg {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 1;
  transition: all 2s 0s ease;
}

.home .first-view .black_bg > .container {
  padding-top: 5%;
  height: 100%;
  display: flex;
  align-items: center;
}

.home .first-view .black_bg > .container img {
  max-width: 780px;
  width: 100%;
}

@keyframes fade {
  100% {
    opacity: 0;
  }
}

.home .first-view .black_bg.close {
  opacity: 0;
}

@keyframes scrollBar {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  45% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  46% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }

  91%,
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
  }
}

.home .first-view .mv_scroll {
  display: inline-block;
  width: 16rem;
  /* border-bottom: solid 1px #fff; */
  position: absolute;
  right: 15px;
  bottom: -5px;
  transform-origin: top right;
  transform: translateY(2rem) rotate(90deg);
  font-size: 2rem;
  font-family: century-gothic, sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  padding-bottom: 0.5rem;
  letter-spacing: 0.1em;
  overflow-y: hidden;
}

.home .first-view .mv_scroll::before {
  content: "";
  display: inline-block;
  background: #fff;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  border-radius: 0;
  -webkit-animation: scrollBar 3000ms both infinite
    cubic-bezier(0.165, 0.84, 0.44, 1);
  animation: scrollBar 3000ms both infinite cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* E ファーストビュー動画 */
.home .d-line {
  position: absolute;
  top: 50px;
  right: 11px;
  background: #fff;
  border-radius: 5px;
  padding: 10px;
  z-index: 99;
}

.home .first-view .d-line a {
  color: #000;
}

.presentation {
  /* padding-top: 10vw; */
}

img.pcnone {
  display: none;
}

@media (max-width: 768px) {
  img.spnone {
    display: none;
  }

  img.pcnone {
    display: block;
  }
}

/* アニメーショントップ */
.top_mr_bnr {
  position: fixed;
  right: 0;
  width: 25%;
  max-width: 300px;
  z-index: 1000;
  background: #fff;
  transition: all 0.5s 0s ease;
  bottom: -100%;
}

.popopen .top_mr_bnr,
.scrolled .top_mr_bnr {
  bottom: 2%;
}

.top_mr_bnr p {
  color: #000 !important;
  display: inline-block;
  text-align: left;
  margin-bottom: 10px;
}

.top_mr_bnr .text_box {
  padding: 10px;
  text-align: center;
}

.top_mr_bnr a {
  background: #2c3577;
  color: #fff;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.top_mr_bnr .close_btn {
  display: block;
  position: absolute;
  width: 25px;
  height: 25px;
  right: 5px;
  top: 5px;
  cursor: pointer;
}

.top_mr_bnr .close_btn::before,
.top_mr_bnr .close_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 25px;
  background-color: #000;
}

.top_mr_bnr .close_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.top_mr_bnr .close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media (max-width: 991px) {
  .overlay {
    display: none;
  }

  .popopen.overlay {
    display: block;
    z-index: 9999;
    background-color: #00000070;
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
  }

  .top_mr_bnr {
    width: 90vw;
    max-width: 380px;
    height: 415px;
    box-sizing: border-box;
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

/* S イベントスライド */
.event_slide a {
  color: #fff;
  justify-content: space-between;
  padding: 1em 0;
}

.event_slide a .flex {
  flex: 1;
}

.event_slide .new_btn {
  background: #960a0a;
  padding: 2px 5px;
  font-size: 0.8em;
  margin-right: 15px;
}

.event_slide .arrow {
  color: transparent;
  text-indent: -9999em;
  width: 18px;
  height: 14px;
  background: url(//cleverlyhome.tokyo/wp-content/themes/lightning-child/images/arrow_white.png)
    center center no-repeat;
  background-size: contain;
  margin-right: 5px;
}

@media (max-width: 767px) {
  .event_slide a > .flex {
    display: block;
  }
}

/* E イベントスライド */

/* イベント情報 */

/* NEW イベント */
.event_a_top {
  margin-bottom: 40px;
}

.event_a_top a {
  display: flex;
  margin-bottom: 15px;
}

.event_a_top a:hover {
  opacity: 0.7;
  text-decoration: none;
}

.event_a_top .flex {
  margin-bottom: 15px;
}

.event_a_top .thumb_box {
  width: 40%;
  padding-right: 15px;
  position: relative;
}

.event_a_top .text_box {
  width: 60%;
}

.event_a_top .thumb_box > div {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 100%;
}

.event_a_top .thumb_box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event_a_top .tag {
  font-size: 13px;
  background: #fff;
  display: inline-block;
  padding: 3px 7px;
}

.event_a_top .title {
  line-height: 1.4;
  margin: 10px 0;
}

.event_a_top .date {
  font-size: 0.8em;
  margin-bottom: 0;
}

.event_a_top .new .thumb_box::before {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #96140b transparent transparent transparent;
  z-index: 1;
}

.event_a_top .new .thumb_box::after {
  content: "NEW";
  position: absolute;
  font-weight: bold;
  top: 0px;
  left: 5px;
  line-height: 1;
  z-index: 1;
  color: #fff;
  transform: rotate(-45deg);
  transform-origin: right bottom;
  font-size: 10px;
}

.event_a_top .date {
  font-size: inherit;
  margin-bottom: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid;
  line-height: 1;
}

.event_a_top .tag {
  font-size: 14px;
  background: transparent;
  color: #fff;
  padding: 0 10px 0 0;
}

.event_a_top .tag i {
  margin-right: 5px;
}

.event_card_wrap:has(.event_card.ended) .thumb_box_inner {
  position: relative;
}
.event_card_wrap:has(.event_card.ended) .thumb_box_inner::before {
  content: "このイベントは終了しました";
  display: flex;
  position: absolute;
  top: 0;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 2;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
}

@media (min-width: 768px) {
  a.event_card {
    display: block;
  }

  .event_a_top .thumb_box {
    width: 100%;
    padding-right: 0;
    position: relative;
  }

  .event_a_top .text_box {
    width: 100%;
  }

  .event_a_top .new .thumb_box::before {
    border-width: 70px 70px 0 0;
  }

  .event_a_top .new .thumb_box::after {
    font-size: 1em;
  }

  .event_a_top .date {
    padding: 10px 0;
  }
}

/* NEW イベント */

@media (max-width: 991px) {
  .top-section.event_wrap {
    padding-top: 5em !important;
  }

  .event_a_top .thumb_box {
    width: ;
  }
}

@media (max-width: 548px) {
  .event_a_top .thumb_box {
    width: 50%;
  }

  .event_a_top .text_box {
    font-size: 14px;
  }
}

/* 実績、特徴 */

.top-section.achievement .flex {
  border-left: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  margin-bottom: 1.5em;
}

.top-section.achievement .item {
  display: flex;
  align-items: center;
  width: 50%;
  text-align: center;
  border-top: solid 1px #ccc;
  border-right: solid 1px #ccc;
  min-height: 128px;
}

.top-section.achievement .item .inner {
  width: 100%;
  padding: 1em;
}

.top-section.achievement h3 {
  color: #fff;
  font-size: 1em;
  margin-bottom: 0.8em;
}

.top-section.achievement p {
  font-size: 0.85em;
  padding-bottom: 0;
  margin: 0;
}

.top-section.achievement p span {
  display: inline-block;
  font-size: 1.9em;
  font-weight: bold;
  color: #fff;
  line-height: 1.2em;
  border-bottom: solid 2px #fff;
  padding-bottom: 0.1em;
  margin-bottom: 0.15em;
}

.top-section.achievement img {
  width: 100%;
}

@media (max-width: 700px) {
  .top-section.achievement .item {
    width: 100%;
  }
}

.top-section.event .sp {
  display: none;
}

@media (max-width: 991px) {
  .top-section.event .pc {
    display: none;
  }

  .top-section.event .sp {
    display: block;
  }

  .top-section.event .mb4em {
    margin-bottom: 4em;
  }
}

/* 重要なお知らせ */

.top-section.important-notices {
  background: #fff;
  margin-bottom: 2em;
}

.top-section.important-notices .container {
  max-width: 880px;
}

.top-section.important-notices p {
  font-size: 1.3em;
  color: #000;
}

.top-section.important-notices p.em {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
}

.top-section.important-notices p.em br,
.top-section.important-notices p.link br {
  display: none;
}

.top-section.important-notices p.small {
  text-align: center;
  font-size: 1em;
}

.top-section.important-notices p.link {
  text-align: center;
  margin: 2em 0 3em;
}

.top-section.important-notices p.link a {
  color: #ff4b37;
  text-decoration: underline;
}

.top-section.important-notices p.link a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.top-section.important-notices .contacts {
  display: flex;
  margin: 2em 0 0;
}

.top-section.important-notices .contacts p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}

.top-section.important-notices .contacts a:hover {
  opacity: 0.65;
}

@media (max-width: 767px) {
  .top-section.important-notices .contacts {
    display: block;
  }

  .top-section.important-notices .contacts p {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .top-section.important-notices p.em {
    font-size: 1.3em;
  }

  .top-section.important-notices p.em br,
  .top-section.important-notices p.link br {
    display: block;
  }

  .top-section.important-notices p,
  .top-section.important-notices li {
    font-size: 0.92em;
  }

  .top-section.important-notices p.small {
    font-size: 0.85em;
    text-align: left;
  }
}

/* 無料相談窓口バナー */

.top-section.support-banner a:hover img {
  opacity: 0.7;
}

/* ビッグイメージ */

.top-section.big_images {
  padding-left: 15px;
  padding-right: 15px;
}

@media (max-width: 991px) {
  .top-section.big_images .col-md-6 + .col-md-6 {
    margin-top: 30px;
  }
}

/* 横長バナー */
.support-banner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-banner:not(.modelroom) ul li + li {
  margin-top: 2em;
}

@media (min-width: 768px) {
  .support-banner.modelroom ul {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
  }

  .support-banner.modelroom ul li {
    padding: 0 15px;
    width: 50%;
  }

  /* .support-banner.modelroom ul li:first-child {
        margin: .8em 25%;
    } */
}

/*　S 対応エリアのご案内 */
.sekou_area {
  border: 1px solid #8e8d8d;
  background-color: rgb(0 0 0/50%);
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  padding: 2%;
}

.sekou_area .color_grn {
  color: #18b966;
}

.sekou_area h3 {
  font-weight: bold;
  font-size: 2em;
  margin-bottom: 0px;
}

.sekou_area > div {
  width: 33%;
}

.sekou_area ul {
  padding: 0;
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  margin-left: -10px;
}

.sekou_area .ttl_container {
  text-align: center;
}

.sekou_area .ttl_container > * {
  text-align: left;
  display: inline-block;
}

.sekou_area li {
  display: inline-block;
  font-size: 14px;
  padding: 0 4%;
  border-right: 1px solid #0c5a32;
  line-height: 1;
}

.sekou_area li:nth-of-type(4n),
.sekou_area li:last-of-type {
  border-right: none;
}

.sekou_area a {
  color: #fff;
  text-decoration: underline;
}

.area_container {
  position: relative;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid #0c5a32;
  padding: 2%;
}

.area_container:after,
.area_container:before {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  right: 100%;
  top: 15%;
}

.area_container:after {
  border-color: rgba(0, 0, 0, 0);
  border-top-width: 10px;
  border-bottom-width: 10px;
  border-left-width: 11px;
  border-right-width: 11px;
  margin-top: -10px;
  border-right-color: rgb(0 0 0 / 75%);
}

.area_container:before {
  border-color: rgba(12, 90, 50, 0);
  border-top-width: 11px;
  border-bottom-width: 11px;
  border-left-width: 12px;
  border-right-width: 12px;
  margin-top: -11px;
  margin-right: 1px;
  border-right-color: #0c5a32;
}

@media (max-width: 991px) and (min-width: 769px) {
  .sekou_area li {
    font-size: 10px;
  }

  .sekou_area h3 {
    font-size: 20px;
  }

  .sekou_area h5 {
    margin-bottom: 2%;
  }

  .sekou_area p {
    font-size: 12px;
  }
}

@media (max-width: 768px) {
  .sekou_area,
  .area_container {
    padding: 2em 4%;
  }

  .sekou_area > div {
    width: 100%;
    text-align: center;
  }

  .sekou_area > div:last-of-type {
    text-align: left;
    margin-top: -13%;
  }

  .sekou_area > div:last-of-type h5 {
    font-size: 1.5em;
    margin-bottom: 3%;
  }

  .sekou_area img {
    width: 75%;
  }

  .sekou_area ul {
    margin-left: -3%;
  }

  .sekou_area li {
    font-size: inherit;
    border-right: 1px solid #0c5a32;
  }

  .sekou_area li:nth-of-type(4n) {
    border-right: 1px solid #0c5a32;
  }

  .area_container:after,
  .area_container:before {
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    left: 75%;
  }

  .area_container:after {
    border-color: rgba(0, 0, 0, 0);
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 11px;
    border-right-width: 11px;
    margin-left: -11px;
    border-bottom-color: rgb(0 0 0 / 75%);
  }

  .area_container:before {
    border-color: rgba(12, 90, 50, 0);
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 12px;
    border-right-width: 12px;
    margin-left: -12px;
    margin-bottom: 1px;
    border-bottom-color: #0c5a32;
  }
}

/*　S 施工エリア固定ページ */
#post-12883 .sekou_area {
  color: #fff;
  background-color: rgb(0 0 0 / 70%);
}

/*　E 施工エリア固定ページ */

/*　E 対応エリアのご案内 */

/* まずは資料請求 */

.footer-section.contacts {
  background-color: rgba(0, 0, 0, 0.65);
  padding-top: 1em;
  padding-bottom: 3.5em;
}

.footer-section.cta ul {
  list-style: none;
  padding: 0;
}

.footer-section.contacts * {
  color: #fff;
}

.footer-section h2 {
  border: none;
  background: none;
  padding: 0;
  margin-bottom: 1.1em;
}

.footer-section h2 span.en {
  /* font-family: "Questrial", sans-serif; */
  font-size: 2em;
}

.footer-section h2 span.ja {
  display: inline-block;
  font-size: 0.9em;
  margin-left: 20px;
}

.top-section.contacts .flex,
.footer-section.contacts .flex {
  justify-content: space-between;
}

.top-section.contacts .flex .banner,
.footer-section.contacts .flex .banner {
  width: 48.7%;
  background-color: #fff;
  color: #000;
  margin-bottom: 20px;
}

.footer-section.contacts .flex .banner {
  width: 48%;
}

.footer-section.contacts .flex .banner:hover a,
.top-section.contacts .flex .banner:hover a {
  opacity: 0.7;
}

/*.footer-section.contacts .flex a:hover {
	color: #000;
	opacity: .7;
}*/

/*.footer-section.contacts a.other {
	color: #fff;
	font-size: 1.1em;
}*/

@media (max-width: 991px) {
  .top-section.contacts .flex .banner,
  .footer-section.contacts .flex .banner {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .footer-section.contacts {
    padding-bottom: 1.5em;
  }

  .footer-section h2 span.en {
    font-size: 1.6em;
  }

  .footer-section h2 span.ja {
    display: block;
    margin-left: 0;
  }
}

@media (max-width: 374px) {
  .top-section.contacts p.mb0,
  .footer-section.contacts p.mb0 {
    font-size: 0.9em;
  }
}

/* どのタイプの家を建てますか？ */

.top-section.ietype {
  padding-top: 5.5em;
  padding-bottom: 5.8em;
}

.top-section.ietype h2 {
  font-size: 2em;
}

.top-section.ietype .flex {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  border-left: solid 1px #fff;
  margin: 0;
  padding: 0;
}

.top-section.ietype .flex1 {
  border-top: solid 1px #fff;
}

.top-section.ietype .flex li {
  /* flex: 1; */
  margin: 0;
}
.top-section.ietype .flex1 li {
  width: 20%;
}
.top-section.ietype .flex2 li {
  width: 25%;
}
@media screen and (max-width: 1200px) {
  .top-section.ietype .flex1 li {
    width: 33.3%;
  }
  .top-section.ietype .flex1 li:nth-child(4),
  .top-section.ietype .flex1 li:nth-child(5) {
    width: 50%;
  }
  .top-section.ietype .flex2 li {
    width: 50%;
  }
}

.top-section.ietype .flex li a {
  display: block;
  text-align: center;
  border: solid 1px #fff;
  border-left: none;
  border-top: none;
  line-height: 70px;
  font-size: 1.2em;
  color: #fff;
}

.top-section.ietype .flex li a:hover {
  background-color: rgba(0, 0, 0, 0.3);
}

@media (max-width: 600px) {
  .top-section.ietype .flex2 li {
    width: 50%;
    flex: auto;
  }
}

@media (max-width: 470px) {
  .top-section.ietype .flex li a {
    font-size: 0.8em;
  }
}

/* 事例 */

.top-section.case h2 {
  color: #fff;
}

/* お客様の声 */

.top-section.voice .item {
  width: 23%;
  background-color: #f8f6f0;
  margin-bottom: 20px;
}

.top-section.voice .bn_slide .pd {
  padding: 1em;
}

.top-section.voice .bn_slide .slick-prev {
  left: -9px;
}

.top-section.voice .bn_slide .slick-next {
  right: -9px;
}

@media (max-width: 991px) {
  .top-section.voice .item {
    width: 48%;
  }
}

@media (max-width: 550px) {
  .top-section.voice .item {
    width: 100%;
  }
}

.top-section.voice .item a {
  color: #333;
  display: block;
}

.top-section.voice .item a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.top-section.voice .item img {
  width: 100%;
}

.top-section.voice .item h3 {
  font-size: 0.9em;
  line-height: 1.4em;
  padding: 1em;
}

.top-section.voice .btn_wrap {
  margin-top: 25px;
}

.top-section.news .title.sp {
  display: none;
}

@media (max-width: 991px) {
  .top-section.event .pc {
    display: none;
  }

  .top-section.event .sp {
    display: block;
  }
}

/* Special Presentation */

.top-section.presentation ul {
  padding: 0;
}

.top-section.presentation ul li {
  text-align: center;
}

.top-section.presentation ul li a {
  display: inline-block;
  position: relative;
}

.top-section.presentation ul li a span.new_flag {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #96140b;
  color: #fff;
  font-size: 0.8em;
  padding: 6px 8px 3px;
  line-height: 1;
}

.top-section .slick-next,
.top-section .slick-prev {
  opacity: 0;
}

.top-section .slick-next:before,
.top-section .slick-prev:before {
  color: #fff !important;
}

.top-section .slick-dots {
  position: relative;
  bottom: 0;
}

.top-section .slick-dots li button:before {
  color: #efefef;
}

.top-section.support-banner .bn_slide {
  padding: 0;
}

.top-section.presentation .slick-slide {
  margin: 0 20px;
}

.top-section.presentation .box-col-slider-btns {
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-section.presentation .slick-counter {
  margin: 0 45px;
}

.top-section.presentation .box-col-btn-next,
.top-section.presentation .box-col-btn-prev {
  text-indent: -9999em;
  width: 18px;
  height: 14px;
  background: url(images/arrow_white.png) center center no-repeat;
  background-size: contain;
  cursor: pointer;
}

.top-section.presentation .box-col-btn-prev {
  transform: scale(-1, 1);
}

.top-section.presentation .bottom_bnr {
  padding-top: 2em;
}

.top-section.presentation .bottom_bnr.new {
  position: relative;
  padding-top: 0;
  margin-top: 2em;
}

.top-section.presentation .bottom_bnr.new::before {
  content: "";
  top: 0;
  left: 0;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #96140b transparent transparent;
  z-index: 1;
}

.top-section.presentation .bottom_bnr.new::after {
  content: "NEW";
  position: absolute;
  font-weight: 700;
  top: 0;
  left: 5px;
  line-height: 1;
  z-index: 1;
  color: #fff;
  transform: rotate(-45deg);
  transform-origin: right bottom;
  font-size: 10px;
}

@media (min-width: 768px) {
  .top-section.presentation .bottom_bnr.new::before {
    border-width: 70px 70px 0 0;
  }

  .top-section.presentation .bottom_bnr.new::after {
    font-size: 1em;
  }
}

@media (max-width: 774px) {
  .top-section.presentation .slick-slide {
    margin: 0 5px;
  }

  .top-section.presentation .slick-slider,
  .top-section.support-banner .bn_slide {
    width: 95%;
    margin: 0 auto;
  }

  .top-section.presentation ul .slick-list {
    width: 95%;
    margin: 0 auto;
  }
}

@media (max-width: 600px) {
  .top-section .slick-next {
    right: -15px;
  }

  .top-section .slick-prev {
    left: -15px;
  }
}

/* スタッフブログ、イベント情報 */

.home .posts_wrap h2 {
  color: #fff;
  margin-bottom: 1em;
}

.home .posts_wrap h2 span.ja {
  font-size: 1.2em;
}

.home .posts_wrap .btn-primary {
  background: #fff;
  border: none;
  color: #000;
}

.home .posts_wrap .btn-primary:hover {
  background-color: #ddd;
}

.top-section.posts ul {
  list-style: none;
  max-height: 400px;
  overflow: auto;
  background-color: #fff;
  padding: 0;
  margin: 0 0 30px 0;
}

.top-section.posts li {
  border-bottom: dotted 1px #ccc;
  padding: 1em;
}

.top-section.posts li:last-child {
  border: none;
}

.top-section.posts li a {
  align-items: center;
}

.top-section.posts li .thumb img {
  width: 70px;
  height: 70px;
  object-fit: cover;
}

.top-section.posts li .text {
  flex: 1;
  padding-left: 1em;
}

.top-section.posts li p {
  font-size: 0.85em;
  color: #888;
  margin-bottom: 0.4em;
}

.top-section.posts li h3 {
  font-size: 1em;
  color: #333;
  margin: 0;
}

/* 1分で読める家づくりの知識 */

.top-section.wisdom h2 {
  margin-bottom: 0.5em;
}

.top-section.wisdom h2,
.top-section.wisdom h3 {
  color: #fff;
}

.top-section.wisdom h3 {
  margin-bottom: 1.5em;
}

.top-section.wisdom .btn-primary {
  background: #fff;
  border-color: #111;
  color: #111;
}

.top-section.wisdom .btn-primary:hover {
  background-color: #ddd;
}

.top-section.wisdom h3 {
  font-size: 1em;
}

.top-section.wisdom .item {
  margin-top: 20px;
  margin-bottom: 20px;
}

.top-section.wisdom .item .inner {
  border: solid 1px #ddd;
  background-color: #fff;
  border-radius: 5px;
}

.top-section.wisdom .item a {
  display: block;
  color: #333;
}

.top-section.wisdom .item a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.top-section.wisdom .item .rank {
  color: #000;
  padding: 1em 1em 0;
  margin: 0;
}

.top-section.wisdom .item .thumb {
  text-align: center;
  padding: 0.6em 1em 0;
}

.top-section.wisdom .item h4 {
  font-size: 1.1em;
  padding: 0.6em 1em 1em;
  margin: 0;
}

@media (max-width: 991px) {
  .top-section.wisdom .item h4 {
    text-align: center;
  }
}

@media (max-width: 600px) {
  .top-section.wisdom .item h4 {
    font-size: 1em;
  }
}

.top-section.wisdom .btn_wrap {
  margin-top: 30px;
}

/* イベント情報 */

@media (max-width: 991px) {
  .top-section.event {
    padding-top: 1em;
  }
}

/* テクニカルバナー */

.technicalBnr img {
  width: 100%;
}

/* インスタ */

.instagallery-items .ig-item.ighover a:hover:after {
  background-color: #000;
}

.instagallery-actions .igact-instalink {
  background: #fff;
  color: #000;
  border-radius: 5px;
  padding: 10px 20px;
}

.instagallery-actions .igact-instalink:hover {
  opacity: 0.7;
  background: #fff;
}

/* その他イベント情報 */

.top-section.other_event ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  margin-bottom: 0;
}

.top-section.other_event li {
  width: calc(100% / 3);
  display: flex;
  align-items: center;
  border: solid 1px #888;
  border-width: 0 1px 1px 0;
  padding: 10px 15px;
  margin-bottom: 0;
}

.top-section.other_event li .thumb {
  width: 70px;
}

.top-section.other_event li .thumb img {
  width: 100%;
  height: 70px;
  object-fit: cover;
}

.top-section.other_event li .text {
  flex: 2;
  margin-left: 1em;
}

.top-section.other_event li .text p {
  font-size: 0.85em;
  margin-bottom: 0.4em;
}

.top-section.other_event li .text h3 {
  font-size: 1em;
  font-weight: bold;
}

@media (min-width: 992px) {
  .top-section.other_event li:nth-child(3n) {
    border-right: none;
  }

  .top-section.other_event li:nth-child(n + 4) {
    border-bottom: none;
  }
}

@media (max-width: 991px) and (min-width: 601px) {
  .top-section.other_event li {
    width: 50%;
  }

  .top-section.other_event li:nth-child(2n) {
    border-right: none;
  }

  .top-section.other_event li:nth-child(n + 5) {
    border-bottom: none;
  }
}

@media (max-width: 600px) {
  .top-section.other_event ul {
    border-top: solid 1px #888;
  }

  .top-section.other_event li {
    width: 100%;
    border-right: none;
    padding: 12px 5px;
  }
}

/* 外部関連リンク */

.top-section.other-link ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-section.other-link li {
  width: 31%;
  max-width: 314px;
}

@media (max-width: 850px) {
  .top-section.other-link ul {
    justify-content: center;
  }

  .top-section.other-link li {
    width: 45%;
    max-width: 314px;
    margin: 0 2% 15px;
  }
}

@media (max-width: 500px) {
  .top-section.other-link li {
    width: 100%;
  }
}

/* CTA */
.top-section.cta {
  /* padding-top: 8.6em; */
}

.top-section.cta ul {
  margin-top: 4em;
  list-style: none;
  padding: 0;
}

.top-section.cta img {
  width: 100%;
}

.cta .row li {
  margin-bottom: 30px;
}

@media (max-width: 480px) {
  .top-section.cta {
    /* padding-top: 6.6em; */
  }

  .top-section.cta ul {
    margin-top: 2em;
  }

  .cta .row {
    margin: 0;
  }

  .cta .row li {
    padding: 5px;
    margin-bottom: 10px;
  }
}

/* コラム */

.top-section.column ul {
  list-style: none;
  border-top: dashed 1px rgba(255, 255, 255, 0.5);
  margin: 0;
  padding: 0;
  padding-bottom: 1.2em;
  margin-bottom: 2em;
}

.top-section.column li {
  border-bottom: dashed 1px rgba(255, 255, 255, 0.5);
  margin: 0;
}

.top-section.column li a {
  /* display: flex;
    flex-direction: column;
    align-items: center; */
  padding: 1em;
}

.top-section.column li a:hover {
  text-decoration: none;
  background-color: rgba(255, 255, 255, 0.15);
}

.top-section.column li .image {
  width: 80px;
}

.top-section.column li .image img {
  border: solid 1px rgba(255, 255, 255, 0.7);
}

.top-section.column li .body {
  flex: 2;
  margin-left: 1.2em;
}

.top-section.column li .date {
  font-size: 0.8em;
  color: #ddd;
  margin-bottom: 0.4em;
}

.top-section.column li .title {
  margin-bottom: 0;
}

.top-section.column .banner {
  background: #fff;
}

/* トップコラムのみ */
.top-section.column_sec li,
.top-section.column_sec ul {
  border: none;
}

.top-section.column_sec ul {
  margin-right: -15px;
  margin-left: -15px;
  display: flex;
}

.top-section.column_sec li .body {
  padding: 1em;
  margin-left: 0;
}

.top-section.column_sec li p.date,
.top-section.column_sec li p {
  color: #333;
}

.top-section.column_sec li a {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #f8f6f0;
  height: 100%;
}

.top-section.column_sec li a:hover {
  opacity: 0.6;
  background: #f8f6f0;
}

.top-section.column_sec li .image {
  width: 100%;
}

.top-section.column_sec li .image img {
  width: 100%;
  /* height: 180px; */
  object-fit: cover;
}

/* スマホ表示 */

.top-section.column.spblock ul {
  border-top: none;
  padding-bottom: 0;
  margin: 0;
  display: block;
}

.top-section.column.spblock ul li {
  border-bottom: none;
}

.top-section.column_sec.spblock li .image img {
  /* height: 300px; */
}

.top-section.column.spblock li .image img,
.top-section.column.spblock li .image {
  width: 100%;
}

.top-section.column.spblock .slick-prev {
  left: -9px;
}

.top-section.column.spblock .slick-next {
  right: -9px;
}

.top-section.column.spblock ul li .body {
  background: #f8f6f0;
  padding: 1em;
  margin: 0;
}

.top-section.column.spblock ul li .body * {
  color: #333;
}

@media (max-width: 480px) {
  .top-section.column.spblock ul li .body .title {
    font-size: 15px;
    line-height: 24px;
    height: 70px;
  }
}

/* スマホ表示 */
.top-section.column .banner a:hover {
  opacity: 0.65;
}

#important-notices .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#important-notices .item {
  width: 49.5%;
}

#important-notices h3 {
  margin: 0;
  color: #fff;
}

#important-notices a:hover {
  opacity: 0.7;
}

@media (max-width: 360px) {
  .top-section.column li a {
    padding: 0.8em 0.6em;
  }

  .top-section.column li .image {
    width: 70px;
  }
}

/* コラム一覧ページ */
.cat_column {
  display: flex;
  flex-wrap: wrap;
}

.cat_column .media {
  border: none;
  padding-right: 15px;
  padding-left: 15px;
}

.cat_column .media .postList_thumbnail {
  width: 100%;
  float: none;
  padding: 0;
}

.cat_column .media .postList_thumbnail a {
  height: 180px;
  position: relative;
  border: none;
}

.cat_column .media .postList_thumbnail a img {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border: none;
  height: 100%;
  object-fit: cover;
}

.top-section.news li a {
  display: flex;
}

.top-section.news li a .image {
  display: block;
}

@media (max-width: 767px) {
  .cat_column .media .postList_thumbnail a {
    height: 55vw;
  }
}

#toc_container li {
  font-weight: normal;
}

#toc_container .toc_list > li {
  font-weight: bold;
}

/*
 *	建築事例
 ========================================= */

/* 一覧 20211116 newver */
.casePage h3::after {
  border-bottom: none;
}

.casePage .p-works .searchList ul,
.casePage .entry-case .searchList ul {
  border: solid 1px #ababab;
  background: #f8f8f8;
  padding: 10px;
}

.casePage .p-works .works-searchHotKeyword a {
  color: #000;
}

/* .casePage input[type="submit"] {
    background: #bf9f60;
    border: none;
} */
.white {
  background: #fff;
  display: flex;
  flex-direction: column;
}

.white:hover a::after {
  display: none !important;
}

.white:hover a {
  opacity: 0.6;
}

.white .case-thumb {
  position: relative;
  width: 100%;
}

.white .case-thumb:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.white .case-thumb img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  object-fit: cover;
}

.white .case-body {
  position: static;
  background: #fff;
  color: #000;
  padding: 15px;
}

.white .button {
  width: calc(100% - 30px);
  margin-left: auto;
  margin-right: auto;
  margin-top: auto;
}

.white .button a {
  line-height: 40px;
  background: #000;
}

/* list */

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

.case-list li {
  position: relative;
}

@media (min-width: 992px) {
  .case-list li {
    width: 24%;
    margin-right: calc(4% / 3);
  }

  .case-list li:nth-child(4n) {
    margin-right: 0;
  }
}

@media (max-width: 991px) {
  .case-list li {
    width: 49%;
    margin-right: calc(2% / 1);
    margin-bottom: 8px;
  }

  .case-list li:nth-child(2n) {
    margin-right: 0;
  }
}

.case-list li a {
  display: block;
  transition: all 0.5s;
}

.case-list li:hover a:after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.65);
}

.case-list.func .case-thumb {
  position: relative;
  width: 100%;
}

.home .case-list.func .case-thumb {
  height: 300px;
}

.case-list.func .case-thumb::after {
  content: "";
  padding-top: 100%;
  display: block;
}

.case-list.func .case-thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.case-list li img {
  width: 100%;
  height: auto;
}

.case-body {
  /* display: none; */
  position: absolute;
  width: 100%;
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  font-size: 0.95em;
  color: #fff;
  padding: 5px;
  /* z-index: 2; */
  transition: all 0.5s;
}

.top-section .case-body {
  position: relative;
}

.case-list li:hover .case-body {
  display: block;
}

/* 記事ページ */

#case-gallery.cg {
  margin-top: 3em;
}

#case-gallery.cg .main_img {
  text-align: center;
}

#case-gallery.cg .main_img img {
  max-width: 100%;
  max-height: 50vw;
}

#case-gallery.cg ul {
  list-style: none;
  padding-left: 0;
}

#case-gallery.cg .thumbs {
  position: relative;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  margin: 1em 0 4em;
}

#case-gallery.cg .thumbs li {
  width: 16.66%;
  height: auto;
  padding: 0 2px;
  margin: 0 0 4px;
}

#case-gallery.cg .thumbs li a {
  display: inline-block;
}

#case-gallery.cg .thumbs li a:hover {
  background-color: #000;
}

#case-gallery.cg .thumbs li a:hover img {
  opacity: 0.75;
}

.yt_mv iframe {
  width: 100%;
}

.vbox-open {
  position: fixed;
  width: 100%;
}

/*.vk-mobile-nav-menu-btn {
	z-index: 1000;
}*/

.vbox-content img.figlio {
  max-height: 90vh;
}

/* vr */

.vr-images {
  margin-bottom: 50px;
}

.vr-images .section-title {
  margin-bottom: 15px;
}

.vr-images .section-title h3 {
  font-weight: bold;
  color: #fff;
  margin-bottom: 0;
}

.vr-images #panorama {
  width: 100%;
  height: 50vw;
  max-height: 550px;
}

.vr-images .pnlm-load-box {
  height: 80px;
}

.vr-images .panorama-navs {
  text-align: center;
  list-style: none;
  display: flex;
  justify-content: center;
  padding-left: 0;
  margin-left: -3px;
  margin-right: -3px;
}

.vr-images .panorama-navs li {
  width: calc(100% / 7);
  padding: 3px 5px;
}

.vr-images .panorama-navs a {
  display: inline-block;
  background-color: #fff;
}

.vr-images .panorama-navs a:hover img {
  opacity: 0.65;
  cursor: pointer;
}

@media (max-width: 1000px) {
  #case-gallery.cg .item {
    height: 56vw;
  }
}

@media (max-width: 850px) {
  #case-gallery.cg .thumbs li {
    width: calc(100% / 7);
  }
}

@media (max-width: 550px) {
  #case-gallery.cg .thumbs li {
    width: calc(100% / 7);
  }

  .vr-images .panorama-navs {
    margin-top: 1em;
  }

  .vr-images .panorama-navs li {
    width: calc(100% / 4);
  }
}

/*
*	イエトレ（ショートコード）
========================================= */

.ietore_list {
  margin: 3em 0 0;
}

.ietore_list ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: solid 1px #ddd;
}

.ietore_list li {
  border-bottom: solid 1px #ccc;
  margin-bottom: 0;
}

.ietore_list li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  color: #fff;
  padding: 1.5em 0;
}

.ietore_list li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.ietore_list .ietore-thumb {
  width: 25%;
  min-width: 200px;
}

.ietore_list .ietore-thumb img {
  width: 100%;
}

.ietore_list .ietore-body {
  flex: 2;
  margin-left: 30px;
}

.ietore_list .ietore-body h3 {
  margin-bottom: 0.6em;
  padding-bottom: 0;
}

@media (max-width: 600px) {
  .ietore_list .ietore-thumb,
  .ietore_list .ietore-body {
    width: 100%;
  }

  .ietore_list .ietore-body {
    margin: 1em 0 0;
  }
}

/* 建築事例
=================================== */

.p-works .works-searchType,
.p-works .works-searchKeyword,
.entry-case .works-searchType,
.entry-case .works-searchKeyword {
  margin-bottom: 30px;
}

.p-works .works-searchWidget h3,
.entry-case .works-searchWidget h3 {
  font-size: 1em;
  border: none;
  margin-bottom: 0;
}

.p-works .searchList ul,
.entry-case .searchList ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border: solid 1px #333;
  margin: 0 0 10px 0;
  padding: 0;
}

.p-works .searchList li,
.entry-case .searchList li {
  width: auto;
  margin-bottom: 0;
  padding: 3px 10px;
}

.p-works .works-searchHotKeyword a {
  color: #fff;
}

.p-works .works-searchHotKeyword i,
.entry-case .works-searchHotKeyword i {
  padding-right: 3px;
}

.p-works .case-list,
.entry-case .case-list {
  margin-bottom: 40px;
}

.p-works .pagination,
.entry-case .pagination {
  margin-top: 0;
}

.p-works .search_mg,
.entry-case .search_mg {
  margin-top: 40px;
}

.entry-case .works-searchWidget,
.entry-case .works-searchWidget a {
  color: #fff;
}

.description i {
  width: 1.5em;
}

.description_long h2 {
  font-size: 2em;
}

.description_long h3 {
  border-bottom: 1px solid #ccc;
}

.description_long h4 {
  color: #000;
}

@media (min-width: 768px) {
  .p-works #gallerySearchInput,
  .entry-case #gallerySearchInput {
    width: 300px;
  }
}

/*
 *	会社概要
 ========================================= */

.page-id-17 table.responsive th {
  white-space: nowrap;
}

.page-id-17 table.responsive td {
  line-height: 1.5em;
}

.page-id-17 .achievement {
  margin-top: 35px;
}

.page-id-17 table.responsive a {
  color: #fff;
}

/*
 *	店舗紹介
 ========================================= */

#store .ul-store {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

#store .ul-store li {
  width: 48%;
  margin-bottom: 30px;
  overflow: hidden;
}
#store .ul-store li.is_transfer .inner {
  position: relative;
  padding: 10px;
}
#store .ul-store li.is_transfer .inner::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 1;
}
#store .ul-store li.is_transfer .inner::after {
  content: "2025年3月1日\A移転OPEN予定";
  white-space: pre;
  font-size: 18px;
  display: block;
  color: #fff;
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
}
#store .ul-store .inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

#store .ul-store .left {
  width: 50%;
}

#store .store-name {
  font-size: 1.4em;
  margin-bottom: 1em;
}

#store address {
  min-height: 22px;
}

#store address .tel_free {
  display: flex;
  align-items: center;
  gap: 5px;
}

#store address .tel_free .tel {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: bold;
  color: rgb(0, 116, 178);
  font-size: 1.25em;
}

#store address .tel_free img {
  width: 3rem;
}

#store dl.store-meta {
  min-height: 172px;
}

#store dd,
#store dt {
  border: none;
  padding: 0;
}

#store .store-meta dt {
  display: none;
}

#store .ul-store .store-map {
  position: relative;
  width: 50%;
  overflow: hidden !important;
}

#store .ul-store .store-map:before {
  display: block;
  content: "";
  padding-top: 100%;
}

#store .ul-store .store-map iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 100% !important;
  width: 100%;
}

@media (max-width: 992px) {
  #store .ul-store li {
    width: 100%;
  }

  #store .ul-store .store-map {
    height: 240px;
  }
}

@media (max-width: 500px) {
  #store .ul-store,
  #store .ul-store .inner {
    display: block;
  }

  #store .ul-store li + li {
    margin-top: 3em;
  }

  #store .ul-store .left,
  #store .ul-store .store-map {
    width: 100%;
  }

  #store address,
  #store dl.store-meta {
    min-height: auto;
  }
}

/*
 *	スタッフ紹介
========================================= */

#staff .ul-staff {
  list-style: none;
  padding: 0;
}

#staff .ul-staff .job {
  display: block;
  font-size: 0.8em;
  margin-top: 0.7em;
}

#staff .ul-staff a + p {
  line-height: 1.2em;
  margin-top: 0.8em;
}

.page-id-19 #boxer {
  width: 90%;
  max-width: 550px;
}

.page-id-19 .staff-category {
  font-size: 1.3em;
  font-weight: bold;
  padding: 0 4px;
  margin-bottom: 1em;
}

.page-id-19 .staff-detail-description {
  margin-top: 1em;
}

.page-id-19 .staff-detail-table th {
  white-space: nowrap;
}

#boxer-overlay {
  z-index: 3000;
}

#boxer {
  z-index: 3100;
}

@media (min-width: 992px) {
  #staff .ul-staff li {
    width: 15%;
    margin-right: 2%;
  }

  #staff .ul-staff li:nth-child(6n) {
    margin-right: 0;
  }
}

@media (max-width: 991px) and (min-width: 561px) {
  #staff .ul-staff li {
    width: 23.5%;
    margin-right: 2%;
  }

  #staff .ul-staff li:nth-child(4n) {
    margin-right: 0;
  }
}

@media (max-width: 560px) and (min-width: 351px) {
  #staff .ul-staff li {
    width: 32%;
    margin-right: 2%;
  }

  #staff .ul-staff li img {
    width: 100%;
  }

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

  .page-id-19 #boxer {
    font-size: 12px;
  }

  #boxer.inline {
    padding: 10px;
  }

  .page-id-19 .staff-detail-table th,
  .page-id-19 .staff-detail-table td {
    padding: 0.5em;
  }
}

@media (max-width: 350px) {
  #staff .ul-staff li {
    width: 49%;
    margin-right: 2%;
  }

  #staff .ul-staff li img {
    width: 100%;
  }

  #staff .ul-staff li:nth-child(2n) {
    margin-right: 0;
  }
}

/*
 * ContactForm7 フォーム
========================================= */

.single .wpcf7 {
  margin-top: 30px;
}

.form-dl dl {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.form-dl dt,
.form-dl dd {
  border-left: none;
  border: solid 1px #aaa;
  padding: 15px;
  margin: 0;
}

.form-dl dt {
  color: #fff;
}

.form-dl dt {
  width: 220px;
  background: #000;
  border: solid 1px #aaa;
  border-width: 1px 0 0 1px;
}

.form-dl dd {
  flex: 2;
  border: solid 1px #aaa;
  border-width: 1px 1px 0 1px;
}

.form-dl dl.last {
  border-bottom: solid 1px #aaa;
}

.form-dl dd p:last-child {
  margin-bottom: 0;
}

.form-dl .form-control {
  color: #000;
}

.form-dl .req {
  display: inline-block;
  background: #dd1718;
  border-radius: 4px;
  color: #fff;
  font-size: 11px;
  height: 17px;
  line-height: 16px;
  padding: 0 5px;
  margin-left: 1em;
}

.form-dl span.wpcf7-list-item {
  display: block;
  margin: 0;
}

.form-dl .fieldset + .fieldset {
  margin-top: 1em;
}

.form-dl .zip input,
.form-dl .select-wrap {
  width: 150px;
}

.form-dl .btn-area {
  text-align: center;
  margin-top: 2em;
}

.form-dl .btn-area .btn {
  font-size: 1.2em;
  padding: 15px 30px;
}

@media (max-width: 599px) {
  .form-dl dt,
  .form-dl dd {
    width: 100%;
  }

  .form-dl dd {
    background: #f2f2f2;
  }

  .form-dl label,
  .form-dl .wpcf7-list-item-label,
  .form-dl dd p {
    color: #000 !important;
  }
}

form .txt {
  margin-top: 30px;
}

form .txt .sm {
  display: block;
}

form .txt .sm,
form ul {
  font-size: 0.8em;
}

.page-lp form .txt {
  width: 776px;
  text-align: left;
}

@media (max-width: 768px) {
  .page-lp form .txt {
    width: 100%;
  }
}

/*
 *	このサイトについて・プライバシーポリシー
========================================= */

.dl-blue {
  margin-top: 2em;
}

.dl-blue dt,
.dl-blue dd {
  border: none;
}

.dl-blue dt {
  padding: 0.4em;
  color: #000;
  text-align: center;
  font-size: 1.1em;
  margin-bottom: 1em;
  margin-top: 1em;

  border-top: 1px solid gray;
  border-bottom: 1px solid gray;
}

.dl-blue dd {
  line-height: 1.6em;
  margin-bottom: 2em;
}

/*
 * サイトマップ
========================================= */

.page-id-513 .entry-body .row {
  display: flex;
  flex-wrap: wrap;
  padding: 0 15px;
}

.dl-sitemap {
  margin: 40px 12% 0 0;
  padding: 0;
  width: 44%;
}

.dl-sitemap:nth-child(2n) {
  margin-right: 0;
}

.dl-sitemap dt,
.dl-sitemap dd {
  border: none;
}

.dl-sitemap dt {
  border-bottom: 1px solid #808080;
  border-top: 1px solid #808080;
  font-size: 16px;
  height: 39px;
  color: #000;
  line-height: 39px;
  margin: 0 0 35px;
  padding: 0 15px;
}

.dl-sitemap dd {
  margin: 0;
  padding: 0;
}

.dl-sitemap dd ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.dl-sitemap dd ul li {
  margin: 0 0 20px;
}

.dl-sitemap dd ul li::before {
  content: "-";
  padding: 0 15px 0 0;
}

@media (max-width: 500px) {
  .dl-sitemap {
    width: 100%;
    margin-right: 0;
  }
}

/*
 * 記事ページ
========================================= */

.single .entry-title,
.single .entry-meta,
.entry-meta-dataList dd a,
.single .entry-body h1,
.single .entry-body h2,
.single .entry-body h3,
.single .entry-body h5,
.single .entry-body h6 {
  color: #fff !important;
}

.single-post h2,
.single-post h3,
.single-post h4 {
  font-weight: bold;
}

.single .entry-body h2 {
  background: #101f6f;
}

.single-post .entry-body h3:not(.case_ttl) {
  border-bottom: 2px solid;
  border-top: 2px solid;
  padding: 0.5em 0;
}

.single .entry-body h4 {
  color: #000 !important;
  background-color: #e0e0e0;
}

.single-post .entry-body h5 {
  border-left: 5px solid;
  padding-left: 15px;
}

.single .entry-body li {
  color: #fff;
}

.single .entry-body span a {
  color: #afe8ff !important;
}

.layersPage .caption-style1 {
  background: none;
  font-size: 1.2em;
  border: solid 1px #888e7e;
  font-weight: bold;
  border-width: 0 0 2px 8px;
  padding: 0 0 2px 8px;
  margin: 0 0 1em;
}

/*
 * アーカイブページ
========================================= */

.archive .archive-header {
  border-bottom: none !important;
}

.archive .entry-meta {
  /* color: #fff; */
}

/*
 * サイドバー
========================================= */

.subSection-title {
  background-color: #f0f0f0;
  color: #000;
  box-shadow: none;
  border: none;
  text-align: center;
  font-size: 1.1em;
  padding: 0.3em 0.5em 0.2em;
}

.subSection-title:after {
  content: none;
}

.widget_archive ul li a,
.widget_categories ul li a,
.widget_link_list ul li a,
.widget_nav_menu ul li a,
.widget_pages ul li a,
.widget_recent_entries ul li a {
  box-shadow: none;
}

.subSection .side_blog .others {
  background-color: rgba(255, 255, 255, 0.7);
}

.subSection .side_blog .others li a {
  color: #000;
  padding-left: 1em;
  padding-right: 1em;
}

.subSection .side_blog .others li:last-child a {
  border: none;
}

/*
*	投稿記事一覧ショートコードウィジェット
========================================= */

#blog-list-widget .entry-meta_items_term {
  display: none;
}

/*
 *	リンクカード ショートコードウィジェット
========================================= */

#link_card {
  margin-bottom: 1.5em;
}

#link_card > a {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

#link_card > a:hover {
  text-decoration: none;
  opacity: 0.7;
}

#link_card .image {
  width: 150px;
  margin-right: 20px;
}

#link_card .body {
  flex: 2;
}

#link_card .title {
  font-size: 1.15em;
}

#link_card .content {
  margin-bottom: 0;
}

/*
 *	パスワード保護ページ
========================================= */

input[name="post_password"] {
  color: #000;
}

/*
 *	オンライン相談ページ
========================================= */

.page-online h2 {
  font-size: 1.8em;
  border: solid 3px #000;
  border-width: 2px 0;
  padding-bottom: 12px;
  margin-top: 2.5em;
}

.page-online .intro {
  display: inline-block;
  text-align: left;
  margin: 4.5em 0 3em;
}

.page-online .intro p {
  font-size: 1.25em;
}

.page-online .btn.btn-lg {
  font-size: 1.4em;
  padding: 0.8em 1em;
}

/* 流れ */

.page-online .list-flow {
  list-style: none;
  padding: 1em 0 0;
}

.page-online .list-flow li {
  display: flex;
  flex-flow: wrap;
  padding-bottom: 20px;
  margin-bottom: 0;
}

.page-online .list-flow .step {
  width: 6em;
  position: relative;
  margin-right: 25px;
}

.page-online .list-flow .step::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  top: 0;
  bottom: -20px;
  left: 4em;
  background: #000;
}

.page-online .list-flow li:first-child .step::before {
  top: 15px;
}

.page-online .list-flow li:last-child .step::before {
  bottom: inherit;
  height: 20px;
}

.page-online .list-flow .step span {
  position: relative;
  display: block;
  width: 100%;
  background: #ffd500;
  border-radius: 40px;
  color: #542e05;
  font-weight: bold;
  font-size: 1.15em;
  line-height: 40px;
  text-align: center;
  z-index: 2;
  margin-top: 15px;
}

.page-online .list-flow .text {
  position: relative;
  flex: 2;
  background: #fff;
  border-radius: 10px;
  padding: 18px 20px 20px;
}

.page-online .list-flow .text:after {
  right: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-right-color: #fff;
  border-width: 8px;
  top: 28px;
}

.page-online .list-flow .text * {
  color: #111;
}

.page-online .list-flow .text h3 {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0;
}

.page-online .list-flow .text p:last-child {
  margin-bottom: 0;
}

.page-online .list-flow .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border-top: solid 1px #ccc;
  font-size: 0.9em;
  margin-top: 2em;
  padding-top: 2em;
}

.page-online .list-flow .flex a:hover {
  opacity: 0.6;
}

.page-online .list-flow .flex .ss img {
  width: 100%;
  max-width: 180px;
}

.page-online .list-flow .flex .btns {
  max-width: 200px;
  margin-left: 40px;
}

.page-online .list-flow .flex .btns a {
  display: block;
}

.page-online .list-flow .flex .btns a + a {
  margin-top: 25px;
}

.page-online .list-flow li.arrow {
  text-align: center;
  line-height: 1;
  padding: 12px 5px 10px;
}

.page-online .about-privacy .title {
  background-color: #333;
  color: #fff;
  font-size: 20px;
  height: 40px;
  line-height: 40px;
  margin: 0 0 20px;
  padding: 0 20px;
}

.page-online .about-privacy p {
  margin: 0;
}

/* point */

.page-online .list-point {
  display: inline-block;
  font-size: 1.15em;
  margin-top: 0;
}

@media (max-width: 767px) {
  .page-online h2 {
    font-size: 1.6em;
    padding-left: 5px;
    padding-right: 5px;
    margin-top: 1.8em;
  }

  .page-online .intro {
    margin: 2.5em 0 2em;
  }

  .page-online .intro p {
    font-size: 1.1em;
  }

  /* 流れ */
  .page-online .list-flow .flex {
    justify-content: space-between;
  }

  .page-online .list-flow .flex > div {
    width: 40%;
    text-align: center;
  }

  .page-online .list-flow .step {
    width: 4.2em;
    margin-right: 14px;
  }

  .page-online .list-flow .step span {
    font-size: 0.9em;
    line-height: 30px;
  }

  .page-online .list-flow .flex .btns {
    width: 45%;
    margin-left: 0;
  }

  .page-online .list-flow .flex .btns img {
    width: 100%;
    max-width: 200px;
  }

  .page-online .list-flow .text {
    font-size: 0.9em;
    padding: 15px;
  }

  .page-online .list-flow .text:after {
    top: 22px;
  }

  /*.page-online .list-flow .text h3 {
  	font-size: 1.07em;
  }*/
}

.footer-mr {
  position: fixed;
  right: 0;
  bottom: 2%;
  width: 30%;
  max-width: 200px;
  pointer-events: none;
  z-index: 99;
  /* z-index: 9; */
}

.footer-mr .mr-link {
  display: block;
  pointer-events: all;
}

.footer-mr {
  opacity: 0;
  transition: all 0.5s 0s ease;
}

.scrolled .footer-mr {
  opacity: 1;
}

.grecaptcha-badge {
  bottom: 70px !important;
}

.footer-mr .mr-link {
  position: relative;
  transition: all 0.2s ease;
  right: 0;
  z-index: 9;
}

.footer-mr .mr-link .close_btn {
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #333;
  left: -15px;
  top: -15px;
  cursor: pointer;
  z-index: 10;
}

.footer-mr .mr-link .close_btn::before,
.footer-mr .mr-link .close_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px;
  height: 14px;
  background: #fff;
}

.footer-mr .mr-link .close_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.footer-mr .mr-link .close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.footer-mr .mr-link .close_btn .close_txt {
  display: none;
}

.footer-mr .mr-link.close_bnr .close_btn .close_txt {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.footer-mr .mr-link.close_bnr.bnr1 .close_btn {
  background: #2c3579;
}

.footer-mr .mr-link.close_bnr.bnr2 .close_btn {
  background: #b48c51;
}

.footer-mr .mr-link.close_bnr.bnr3 .close_btn {
  background: #000;
}

.footer-mr .mr-link.close_bnr.bnr4 .close_btn {
  background: #5eb1b5;
}

/* .footer-mr .mr-link.close_bnr.bnr3 .close_btn .close_txt {
    color: #000;
} */
.footer-mr .mr-link.close_bnr .close_btn::before,
.footer-mr .mr-link.close_bnr .close_btn::after {
  display: none;
}

.footer-mr .mr-link.close_bnr {
  right: -80%;
}

.footer-mr .mr-link.close_bnr .close_btn {
  position: absolute;
  width: 20%;
  height: 100%;
  z-index: 99;
  top: 0;
  left: 0;
  border-radius: 0;
}

@media (max-width: 767px) {
  .footer-mr {
    position: fixed;
    right: 0;
    bottom: 80px;
    max-width: 200px;
  }

  .grecaptcha-badge {
    bottom: 190px !important;
  }

  .footer-mr {
    width: 43%;
  }

  .footer-mr .mr-link.close_bnr .close_btn .close_txt {
    font-size: 12px;
  }

  .footer-mr .mr-link.close_bnr {
    right: -75%;
    height: 80px;
  }

  .footer-mr .mr-link.close_bnr .close_btn {
    width: 25%;
  }
}

.page-template-page-inquire .footer-mr,
.page-id-32 .footer-mr {
  display: none;
}

/* 当社が選ばれる理由 */

.head {
  margin-bottom: 28px;
}

.page-about ul {
  list-style: none;
  padding: 0;
}

@media (min-width: 480px) {
  .head {
    margin-bottom: calc(28px + 7 * (100vw - 480px) / 480);
  }
}

@media (min-width: 960px) {
  .head {
    margin-bottom: 35px;
  }
}

.head > * {
  display: block;
  text-align: center;
}

.head .en {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 0.4em;
  line-height: 1.2em;
  margin-bottom: 15px;
}

#concept .head .en .sp680 {
  display: none;
}

@media (min-width: 480px) {
  .head .en {
    font-size: calc(26px + 6 * (100vw - 480px) / 480);
  }

  #concept .head .en {
    margin-top: 50px;
  }
}

@media (min-width: 960px) {
  .head .en {
    font-size: 32px;
  }
}

@media (max-width: 680px) {
  #concept .head .en .sp680 {
    display: block;
  }
}

@media (min-width: 480px) {
  .head .en {
    margin-bottom: calc(15px + 5 * (100vw - 480px) / 480);
  }

  #concept .head .en {
    margin-top: calc(55px + 5 * (100vw - 480px) / 480);
  }
}

@media (min-width: 960px) {
  .head .en {
    margin-bottom: 20px;
  }

  #concept .head .en {
    margin-top: 100px;
  }
}

.page-about .mincho {
  font-family: "Noto Serif JP", serif;
}

#concept h2 {
  background: transparent;
  border: none;
}

#concept .inner-02 {
  position: relative;
  padding: 60px 0 80px;
}

#concept .head .en {
  letter-spacing: 0.2em;
  margin-top: 100px;
}

#concept .description {
  font-size: 14px;
  line-height: 2;
  margin-bottom: 50px;
  text-align: center;
}

#concept .description br {
  display: none;
}

#concept #concept-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  box-sizing: border-box;
  max-width: 900px;
  text-align: center;
  margin: 0 auto 45px;
}

.page-about #concept #concept-list {
  max-width: 750px;
  padding-top: 2em;
  margin-bottom: 0;
}

#concept #concept-list li {
  width: 28%;
  box-sizing: border-box;
}

#concept #concept-list li a {
  display: flex;
  flex-flow: column;
}

#concept #concept-list li .img {
  position: relative;
  display: block;
  width: 100%;
}

#concept #concept-list li .img:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 133%;
}

#concept #concept-list li .img img {
  position: absolute;
  width: 100%;
  height: auto;
  object-fit: cover;
  left: 0;
  top: 0;
}

#concept #concept-list li .img img.rotate {
  transform: rotate(-75deg);
}

#concept #concept-list li h3 {
  color: #fff;
  margin: 1em 0;
}

.page-about #concept #concept-list li p {
  margin-top: 1em;
}

@media (max-width: 850px) {
  #concept .description br {
    display: block;
  }

  #concept #concept-list {
    margin-bottom: 25px;
  }

  #concept #concept-list li {
    width: 31.5%;
    padding: 0 1.5%;
    margin-bottom: 2%;
  }
}

@media (max-width: 500px) {
  #concept #concept-list li br {
    display: none;
  }
}

@media (max-width: 480px) {
  #concept .inner-02 {
    padding-top: calc(60px + 20 * (100vw - 480px) / 480);
  }

  #concept .description {
    font-size: 12px;
    margin-bottom: 45px;
  }
}

/*--------point---------*/
#point .head .en {
  margin-top: 50px;
}

#point-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#point-list li {
  position: relative;
  display: inline-block;
  width: 23%;
  margin: 0 1%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #b48c52;
  color: #ffffff;
}

.point_c {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 55%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  font-size: 3rem;
  line-height: 1.2;
}
.point_num {
  position: absolute;
  top: 15%;
  display: inline-block;
  text-align: center;
  width: 100%;
  font-size: 2rem;
}

.point_strong {
  font-size: 5rem;
}
@media (max-width: 680px) {
  #point-list li {
    width: 46%;
    margin-bottom: 10px;
  }
  .point_num {
    font-size: 1.5rem;
  }
  .point_c {
    font-size: 2rem;
  }
  .point_strong {
    font-size: 3rem;
  }
}

/*-----accordion------*/
.accordion {
  margin-top: 50px;
}
.ac_inner {
  margin-bottom: 10px;
}
.accordion-content {
  display: none;
}

.accordion-header {
  border: 1px solid #b48c52;
  margin-bottom: -1px;
  cursor: pointer;
  position: relative;
}
.accordion-content {
  border: 1px solid #b48c52;
  padding: 20px;
  position: relative;
}
.ac_header_inner {
  display: flex;
}

.accordion-header::after {
  content: "＋";
  display: inline-block;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  color: #b48c52;
}
.accordion-header.active::after {
  content: "－";
}

.acc_point {
  padding: 20px;
  border-right: 1px solid #b48c52;
  display: inline-block;
  background-color: #b48c52;
  color: #ffffff;
}
.acc_title {
  padding: 20px;
  display: inline-block;
}

/*-----about------*/

.page-about .section > .inner {
  box-sizing: border-box;
  padding: 0 20px;
}

.about-content #local-head {
  margin-bottom: 2em;
}

.about-content .inner-02 {
  max-width: 1130px;
  padding: 5em 0 0;
  margin: 0 auto;
}

.about-content .item {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.about-content .item * {
  box-sizing: border-box;
}

.about-content .item .text {
  width: 50%;
  padding: 0 3em;
}

.about-content .item.img-right .text {
  order: -1;
}

.about-content .item .text h3 {
  font-size: 1.6em;
  margin-bottom: 20px;
}

.about-content .item > img {
  width: 50%;
}

.about-content #estate a {
  display: block;
  width: 100%;
  max-width: 420px;
  margin: 20px auto 0;
}

.about-content .contact {
  margin: 1.5em 0 3em;
}

@media (max-width: 850px) {
  .about-content .item .text {
    width: 100%;
    padding: 0;
  }

  .about-content .item.img-right .text {
    order: 2;
  }

  .about-content .item .text h3 {
    font-size: 1.35em;
    margin-bottom: 10px;
  }

  .about-content .item > img {
    width: 100%;
    max-height: 350px;
    object-fit: cover;
    margin-bottom: 15px;
  }
}

/* M-LINEについて コンセプト（NEW）
  -------------------------------------------------- */
.page-about * {
  box-sizing: border-box;
}

.page-about #local-head {
  margin-bottom: 2em;
}

.page-about .inner-02 {
  max-width: 1130px;
  padding: 5em 0 0;
  margin: 0 auto;
}

.page-about h3 {
  background-color: #122a52;
  color: #fff;
  font-size: 2.2em;
  text-align: center;
  line-height: 1.7em;
  padding: 1.5em 1em 1.6em;
  margin-bottom: 1.3em;
}

.page-about h3 small {
  font-size: 0.8em;
  color: #fff;
}

.page-about h3 {
  border-bottom: none;
  box-shadow: none;
}

.page-about h4 {
  font-weight: bold;
  text-align: center;
  font-size: 1.6em;
  margin-top: 2em;
  margin-bottom: 1.2em;
  color: #000;
  background-color: #e8e8e8;
}

.page-about h5 {
  text-align: center;
  background-color: #e8e8e8;
  font-size: 1.2em;
  font-weight: bold;
  padding: 0.5em;
  color: #000;
}

.page-about .message {
  text-align: center;
  font-size: 1.1em;
  margin-bottom: 2em;
}

.page-about .message strong {
  font-weight: bold;
}

.page-about .banners {
  display: flex;
  flex-wrap: wrap;
}

.page-about .banners li {
  width: 33.333%;
  text-align: center;
  margin-bottom: 20px;
  padding: 0 10px;
}

.page-about .banners.i4 li {
  width: 25%;
}

.page-about .banners img {
  width: 100%;
  max-width: 235px;
}

.page-about #a1 .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 2em;
}

.page-about #a1 .list-item {
  width: 31%;
  display: flex;
  flex-flow: column;
  border: solid 2px #e8e8e8;
}

.page-about #a1 .list-item ul,
.page-about #a2 .detail ul {
  list-style: disc;
  padding: 1em;
  margin-left: 1.3em;
}

.page-about #a1 .list-item ul {
  margin-bottom: 1em;
}

.page-about #a1 .list-item li,
.page-about #a2 .detail li {
  line-height: 2em;
}

.page-about #a1 .list-item img {
  padding: 0 1em 1em;
  margin-top: auto;
  height: 16rem;
  object-fit: cover;
}

.page-about #a2 .detail {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2em;
}

.page-about #a2 .detail .left,
.page-about #a2 .detail .right {
  width: 45%;
  border: solid 2px #eee;
}

.page-about #a2 .detail .arrow {
  width: 10%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-about #a2 .detail .right p {
  padding: 1em 1em 0;
}

.page-about #a3 {
  margin-bottom: 6.5em;
}

.page-about #a3 ul {
  margin-bottom: 1.5em;
}

.page-about .contact {
  margin: 1.5em 0 3em;
}

.page-about .button {
  border: 1px solid transparent;
  margin: 0 auto;
  width: 152px;
}

.button a {
  background-color: #bf9f60;
  color: #fff;
  display: block;
  height: 100%;
  line-height: 36px;
  font-size: 9.5px;
  text-align: center;
  transition: 0.2s ease-in-out;
  width: 100%;
}

.button a span {
  position: relative;
}

.button a span:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 4.5px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  right: -12.5px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s ease-in-out;
}

@media (min-width: 960px) {
  .page-about .button {
    width: 190px;
  }

  .button a {
    line-height: 45px;
    font-size: 12px;
  }
}

@media (min-width: 480px) {
  .page-about .button {
    width: calc(152px + 38 * (100vw - 480px) / 480);
  }

  .button a {
    line-height: calc(36px + 9 * (100vw - 480px) / 480);
    font-size: calc(9.5px + 2.5 * (100vw - 480px) / 480);
  }
}

@media (max-width: 1050px) {
  .page-about #a3 .banners li {
    width: 33.333%;
  }
}

@media (max-width: 991px) {
  .page-about #a1 .list-item {
    width: 100%;
    margin-bottom: 20px;
  }
}

@media (max-width: 767px) {
  .page-about .banners {
    margin-left: -5px;
    margin-right: -5px;
  }

  .page-about .banners li {
    box-sizing: border-box;
    width: 50% !important;
    padding: 0 5px;
    margin-bottom: 10px;
  }

  .page-about #a2 .detail .left,
  .page-about #a2 .detail .right,
  .page-about #a2 .detail .arrow {
    width: 100%;
  }

  .page-about #a2 .detail .arrow {
    padding: 1em 0;
  }

  .page-about #a2 .detail .arrow img {
    width: 24px;
    transform: rotate(90deg);
  }
}

@media (max-width: 500px) {
  .page-about h3 {
    font-size: 1.8em;
    padding: 1em 0.5em 1.1em;
  }

  .page-about #a1 .list-item img {
    height: 23rem;
  }

  .page-about .case-body {
    font-size: 0.75em;
  }
}

.mw_wp_form strong {
  font-weight: bold;
}

.mw_wp_form strong.red {
  color: #cc1f25;
}

.mw_wp_form .txt p {
  margin-bottom: 1em;
}

.veu_postList .postList_miniThumb .postList_thumbnail img {
  height: 80px;
  object-fit: cover;
}

aside .popular-posts .widgettitle {
  background-color: #f0f0f0;
  color: #000;
  box-shadow: none;
  border: none;
  text-align: center;
  font-size: 1.1em;
  padding: 0.3em 0.5em 0.2em;
  margin-top: 0;
  font-size: 18px;
  margin-bottom: 0;
}

aside .popular-posts ul {
  padding: 0;
  margin: 0;
}

aside .popular-posts li {
  display: block;
  clear: both;
  overflow: hidden;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px dotted #666;
  line-height: 1.4em;
}

aside .popular-posts a {
  color: #fff;
}

aside .popular-posts .wpp-excerpt {
  font-size: 80%;
  display: block;
  color: #fff;
}

/*
 *	関連記事
 ========================================= */
.related-tags .row {
  display: flex;
  flex-wrap: wrap;
}

.related-tags .cell {
  margin-bottom: 1em;
}

.related-tags .cell a {
  color: #fff;
}

.related-tags img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/*
 *	コラム検索
 ========================================= */

/* .tag-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background: rgba(0, 0, 0, 0.5);
    padding: 2em;
    border: 1px solid #333;
 }
 .tag-flex h3 {
    width: 3em;
    color: #fff;
    line-height: 1;
 } */
/* .tag-flex .tag-list {
    width: calc(100% - 5em);
    margin: 0;
 } */
.tag-sec h3 {
  /* color: #fff; */
  text-align: center;
}

.tag-search {
  list-style: none;
  padding: 0;
  text-align: center;
}

.tag-search li {
  display: inline-block;
  margin: 0 0.4em 1em;
  background: #fff;
  padding: 0em 0.5em;
}

.tag-search a {
  color: #000;
}

/* コラム下フォーム */
.clm_form_ct .other_img {
  display: block;
}

.clm_form_ct .mw_wp_form td {
  color: #fff;
}

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

.clm_form_ct .other_img {
  display: none;
}

/* コラム関係アーカイブ */
.page-template-page-columns h1 {
  margin-bottom: 20px;
}

.page-template-page-columns h3 {
  margin: 10px 0 0;
  padding: 0;
  font-size: 20px;
}

/* .page-template-page-columns.whitePage, 
.page-template-page-columns.whitePage .page-header, 
.page-template-page-columns.whitePage .breadSection, 
.page-template-page-columns.whitePage .siteContent {
    background: #fff;
} */
/* .page-template-page-columns .entry-body {
    padding-bottom: 0;
} */
.page-template-page-columns .media .postList_thumbnail {
  margin-bottom: 0;
}

.page-template-page-columns .page-header {
  border-bottom: none;
}

.archiveColumn .card {
  text-align: center;
  margin-bottom: 3em;
}

.archiveColumn .card .txt p {
  font-size: 18px;
}

.archiveColumn a:hover {
  text-decoration: none;
}

.archiveColumn .whitePage {
  margin: 0 calc(50% - 50vw);
  padding: 2em 0 2.5em;
}

.archiveColumn .media > div {
  background: #fff;
  height: 100%;
}

.archiveColumn .media .media-body {
  padding: 1em 1.5em;
}

.columns_ct .img {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 68%;
}

.columns_ct .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single-post p {
  line-height: 32px;
}

/*LP*/
.page-template-page-lp2 .animsition {
  opacity: 1;
}

.single-post p.form-table-required {
  line-height: 18px;
}

/*
*. イベント
*/
.bx-wrapper .bx-controls-direction a {
  z-index: auto !important;
}

/*
* イエトレ
*/
.single-item-ietore ul.gMenu > li.current_page_parent > a:after {
  border: none;
}

.columnList {
  padding: 75px 0;
}

/*
 *	Single イベント
 ========================================= */
.single-etc-event .ew_title {
  font-size: 1.25em;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.1em;
  background-color: #b48c52;
  padding: 1.5em 1em 1.25em;
  margin-bottom: 2em;
}

.bottom_bnr a.text_bnr {
  text-align: center;
  color: #2d2315;
  background: linear-gradient(135deg, #b48c52, #fff5c3, #b48c52);
  display: block;
  padding: 1em 15px;
  font-weight: bold;
  font-size: 1.8em;
  text-shadow: 1px 1px 1px #fff;
}

.bottom_bnr a.text_bnr:hover {
  text-decoration: none;
  opacity: 0.7;
}

@media (max-width: 767px) {
  .bottom_bnr a.text_bnr {
    font-size: 1em;
  }
}

.okinawa_link {
  padding: 1em 15px;
  font-weight: 700;
  font-size: 1.8em;
  display: block;
  text-align: center;
  color: #fff;
  background-image: linear-gradient(
    90deg,
    rgba(0, 172, 182, 1),
    rgba(139, 218, 223, 1)
  );
}

.okinawa_link:hover {
  text-decoration: none;
  opacity: 0.7;
  color: #fff;
}

.taika-category {
  border: 2px solid #e30000;
  width: fit-content;
  color: #e30000;
  padding: 0 5px;
  margin-left: auto;
  line-height: 1.6;
  margin-bottom: 0;
}
.home .taika-category {
  border: 1px solid #fff;
  z-index: 2;
  position: relative;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.5);
}
.overviewText .scroll {
  overflow-y: scroll;
  display: block;
  height: 200px;
  border: 1px solid #ccc;
  padding: 5px;
}

.campaignLp-text.mainText .campaignLp-text-p {
  font-size: 20px;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .campaignLp-text.mainText .campaignLp-text-p {
    font-size: 17px;
    font-weight: 700;
    text-align: left;
  }
}

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

.line_bnr {
  top: 150px !important;
  position: fixed;
  background: #06c755;
  color: #fff;
  height: fit-content;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 5px 0 0 5px;
  z-index: 1000 !important;
  pointer-events: auto !important;
}

.line_bnr a {
  color: #fff;
}

.line_bnr a:hover {
  text-decoration: none;
}

/*
 *	お問い合わせ全般調整
 ========================================= */

/* フッター追尾メニュー非表示 */
.page:has(.mw_wp_form) .footer-cta {
  display: none;
}
/* フッター追尾バナー非表示 */
.page:has(.mw_wp_form) .f_bnr {
  display: none;
}
/* フッター追尾メニュー用の隙間を0 */
.page:has(.mw_wp_form) footer.siteFooter {
  padding-bottom: 0px;
}
/* モバイルハンバーガー非表示 */
.page:has(.mw_wp_form) .vk-mobile-nav,
.page:has(.mw_wp_form) .vk-mobile-nav-menu-btn {
  display: none !important;
}
/* 個人情報の取り扱いをスクロール */
.page:has(.mw_wp_form) .about-privacy {
  height: 230px;
  overflow: scroll;
  border: 1px solid #ccc;
  padding: 10px;
}
/* 4つのお問い合わせバナー非表示 */
.page:has(.mw_wp_form) .footer-section.contacts.cta,
.page_event:has(.mw_wp_form) .footer-section.contacts.cta {
  display: none;
}
/* 白背景のフッターナビリンク非表示 */
.page:has(.mw_wp_form) .footerMenu,
.page-template-page-inquire_event:has(.mw_wp_form) .footerMenu {
  display: none;
}
/* フッター内電話番号、お問い合わせ非表示 */
.page:has(.mw_wp_form) .cta_cnt,
.page-template-page-inquire_event:has(.mw_wp_form) .cta_cnt {
  display: none;
}
/* フッター内SNS・内部リンク非表示 */
.page:has(.mw_wp_form) .footer_new .f_inr:last-of-type,
.page-template-page-inquire_event:has(.mw_wp_form)
  .footer_new
  .f_inr:last-of-type {
  display: none;
}
/* 確認ページ全般 */
.page:has(.mw_wp_form_confirm) .btn-cols,
.single:has(.mw_wp_form_confirm) .btn-cols {
  display: flex;
  flex-direction: column;
}
.page:has(.mw_wp_form_confirm) .btn-cols .btn-cols-item.backButton,
.single:has(.mw_wp_form_confirm) .btn-cols .btn-cols-item.backButton {
  order: 1;
  margin: 0;
}
.page:has(.mw_wp_form_confirm) .btn-cols .btn-cols-item.backButton input,
.single:has(.mw_wp_form_confirm) .btn-cols .btn-cols-item.backButton input {
  order: 1;
  font-size: 18px;
  background: initial;
  border: none;
  color: #999 !important;
  text-decoration: underline;
  padding: 0;
  height: auto;
  width: auto;
}
.page:has(.mw_wp_form_confirm) .btn-cols .faq_wrap,
.single:has(.mw_wp_form_confirm) .btn-cols .faq_wrap {
  order: 1;
}
.page-id-33558 .footer_catalog {
  display: none;
}
.mw_wp_form_confirm form::before {
  content: "以下の入力内容をご確認ください。";
  margin-bottom: 20px;
  display: block;
}
.mw_wp_form_confirm form .txt {
  display: none;
}
.page-id-33558 form .sekou_text {
  display: none;
}
.page-id-33558 form .defalt {
  display: none;
}
.page:has(.mw_wp_form_confirm) .section-body > .form-step-image {
  display: none;
}
@media (max-width: 767px) {
  /* 資料請求確認画面 */
  .page-id-33558 .catalog_tab {
    width: 33% !important;
    padding-right: 6px;
    padding-left: 6px;
  }
  .page-id-33558 .catalog_tab_row {
    margin-right: 0;
    margin-left: 0;
  }
}

/* 2025年新春バナー（トップのみ） */
#popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  justify-content: center;
  align-items: center;
  opacity: 1;
}
#popup-overlay.close {
  display: none;
}
#popup-content {
  position: relative;
  padding: 0px;
  text-align: center;
  max-width: 520px;
  width: 96%;
}

#popup-content img {
  max-width: 100%;
  height: auto;
  display: block;
}
#popup-content a img:hover {
  opacity: 0.5;
}

#popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #000;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  text-align: center;
  cursor: pointer;
  font-size: 16px;
  line-height: 30px;
  z-index: 10000;
}
.sns_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}
.col-sns {
  width: 10%;
  margin-left: 15px;
  margin-right: 15px;
}
@media (max-width: 767px) {
  .sns_icon {
    width: 100%;
  }
}

/*--------ヘッダ微調整：整理済み完成版------------*/

/* =========================
   PC / 共通ヘッダー
========================= */
.siteHeader {
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  transition: background .3s ease;
}

.siteHeadContainer {
  display: grid !important;
  grid-template-columns: auto 1fr;
  grid-template-areas:
    "links links"
    "logo  nav";
  align-items: start !important;
  column-gap: 24px;
}

.head-link {
  grid-area: links;
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
  margin: 0 0 8px 0;
}

.navbar-header {
  grid-area: logo;
  margin: 0;
  padding: 0;
  float: none !important;
  align-self: start !important;
  margin-top: -4px !important;
}

.siteHeader_logo {
  display: flex !important;
  align-items: flex-end !important;
  gap: 6px;
  margin: 0 !important;
  line-height: 1;
}

.siteHeader_logo > a,
.siteHeader_logo .okinawa_logo {
  display: flex;
  align-items: flex-end;
}

.siteHeader_logo > a:first-child img {
  height: 28px !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
}

.siteHeader_logo .okinawa_logo img {
  height: 12px !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  display: block !important;
  margin: 0 !important;
}

#gMenu_outer {
  grid-area: nav;
  margin-left: auto;
  float: none !important;
  display: block !important;
  align-self: end;
}

.gMenu {
  display: flex !important;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0;
}

.gMenu > li {
  margin: 0 0 0 18px;
  list-style: none;
  position: relative;
}

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

.gMenu > li > a {
  display: block;
  white-space: nowrap;
  padding-bottom: 6px !important; /* 下線あり/なしで位置ズレしないよう統一 */
}

.gMenu > li > a small,
.gMenu > li > a .description,
.gMenu > li > a span.small {
  display: block;
  font-size: 10px;
  line-height: 1.2;
  margin-top: 4px;
  opacity: 0.9;
}

/* =========================
   スクロール時の競合打ち消し
========================= */
body.head_scrolled .siteHeader,
body.head_scrolled .siteHeader::before,
body.head_scrolled .siteHeader::after,
body.head_scrolled .siteHeadContainer,
body.header_scrolled .siteHeader {
  background: rgba(0, 0, 0, 0.65) !important;
  background-color: rgba(0, 0, 0, 0.65) !important;
  box-shadow: none !important;
  border: none !important;
}

body.head_scrolled .siteHeader_logo img,
body.head_scrolled .siteHeader_logo > a:first-child img,
body.head_scrolled .siteHeader_logo .okinawa_logo img {
  transform: none !important;
  scale: 1 !important;
  height: auto;
}

body.head_scrolled #gMenu_outer,
body.head_scrolled .gMenu,
body.head_scrolled .gMenu > li,
body.head_scrolled .gMenu > li > a,
.header_scrolled #gMenu_outer,
.header_scrolled .gMenu,
.header_scrolled .gMenu > li,
.header_scrolled .gMenu > li > a {
  opacity: 1 !important;
  visibility: visible !important;
}

body.head_scrolled .gMenu {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
}

/* 親テーマの旧G2スクロール固定ナビを無効化 */
.header_scrolled .gMenu_outer {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  min-height: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  clear: none !important;
  z-index: auto !important;
}

.header_scrolled .gMenu_outer nav,
.header_scrolled #gMenu_outer nav {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* スクロール後の余白を本番寄せ */
.header_scrolled .siteHeader .container,
.header_scrolled .siteHeadContainer,
.header_scrolled .navbar-header,
.header_scrolled #gMenu_outer {
  padding-top: 5px !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  min-height: 0 !important;
}

/* スクロール後の白い境界線を消す */
.header_scrolled .gMenu > li,
.header_scrolled .gMenu > li > a,
.header_scrolled .gMenu > li > a::before,
.header_scrolled .gMenu > li > a::after,
.header_scrolled .gMenu > li::before,
.header_scrolled .gMenu > li::after {
  border: none !important;
  box-shadow: none !important;
  background-image: none !important;
}

.header_scrolled .gMenu > li + li {
  border-left: none !important;
}

/* =========================
   PCナビ下線
   通常時はラインナップ / 会社紹介のみ
   hover時は全親メニュー
========================= */

/* 既存の疑似要素を無効化 */
.siteHeader ul.gMenu > li > a::before,
.siteHeader ul.gMenu > li > a::after,
.siteHeader ul.gMenu > li::before,
.siteHeader ul.gMenu > li::after {
  content: none !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* いったん全親メニューの線を消す */
.siteHeader ul.gMenu > li > a,
.siteHeader ul.gMenu > li > a:hover,
.siteHeader ul.gMenu > li.current-menu-item > a,
.siteHeader ul.gMenu > li.current-menu-parent > a,
.siteHeader ul.gMenu > li.current-menu-ancestor > a,
.siteHeader ul.gMenu > li.current_page_parent > a,
.siteHeader ul.gMenu > li.current_page_ancestor > a {
  border-bottom: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* 通常時に線を出すのはこの2つだけ */
.siteHeader ul.gMenu > li#menu-item-22537 > a,
.siteHeader ul.gMenu > li#menu-item-22542 > a {
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.95) !important;
}

/* hover時は全親メニューに白線 */
.siteHeader ul.gMenu > li > a:hover,
.siteHeader ul.gMenu > li.current-menu-item > a,
.siteHeader ul.gMenu > li.current-menu-parent > a,
.siteHeader ul.gMenu > li.current-menu-ancestor > a,
.siteHeader ul.gMenu > li.current_page_parent > a,
.siteHeader ul.gMenu > li.current_page_ancestor > a {
  box-shadow: inset 0 -1px 0 rgba(255,255,255,0.95) !important;
}

/* =========================
   PC 子メニュー・孫メニュー
========================= */
@media (min-width: 992px) {

  .siteHeader ul.gMenu > li > ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    min-width: 210px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > a {
    display: block !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.88) !important;
    color: #000 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: break-word !important;
    border: none !important;
    box-shadow: none !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li + li > a {
    border-top: 1px solid rgba(0,0,0,0.08) !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > a:hover {
    background: rgba(255,255,255,0.96) !important;
    color: #000 !important;
  }

  /* 孫メニュー */
  .siteHeader ul.gMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 10000;
    min-width: 180px;
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li:hover > ul.sub-menu {
    display: block !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > ul.sub-menu > li {
    margin: 0;
    padding: 0;
    list-style: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block !important;
    padding: 12px 16px !important;
    background: rgba(255,255,255,0.88) !important;
    color: #000 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: break-word !important;
    border: none !important;
    box-shadow: none !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > ul.sub-menu > li + li > a {
    border-top: 1px solid rgba(0,0,0,0.08) !important;
  }

  .siteHeader ul.gMenu > li > ul.sub-menu > li > ul.sub-menu > li > a:hover {
    background: rgba(255,255,255,0.96) !important;
    color: #000 !important;
  }
}

/* =========================
   スマホ / タブレット
========================= */
@media (max-width: 991px) {

  /* PCナビは隠す */
  header.siteHeader #gMenu_outer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .header_scrolled #gMenu_outer,
  .head_scrolled #gMenu_outer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
  }

  /* ヘッダー余白とロゴ */
  .siteHeader {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .siteHeadContainer {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
  }

  .navbar-header {
    margin-top: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    align-self: auto !important;
    float: none !important;
  }

  .siteHeader_logo {
    display: flex !important;
    align-items: flex-end !important;
    gap: 6px !important;
  }

  .siteHeader_logo > a:first-child img {
    height: 34px !important;
    width: auto !important;
  }

  .siteHeader .okinawa_logo img {
    height: 14px !important;
    width: auto !important;
  }

  /* 上部ヘッダーの通常 head-link は消す */
  header .head-link:not(.mob) {
    display: none !important;
  }

  /* ハンバーガー内メニュー */
  .vk-mobile-nav,
  .mobile-nav,
  .mobile-menu,
  .global-nav--mobile,
  .navbar-collapse,
  .siteHeader .menu {
    writing-mode: horizontal-tb !important;
  }

  .vk-mobile-nav ul,
  .mobile-nav ul,
  .mobile-menu ul,
  .global-nav--mobile ul,
  .navbar-collapse ul,
  .siteHeader .menu ul {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .vk-mobile-nav li,
  .mobile-nav li,
  .mobile-menu li,
  .global-nav--mobile li,
  .navbar-collapse li,
  .siteHeader .menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    writing-mode: horizontal-tb !important;
    border-top: 1px solid rgba(0,0,0,0.15) !important;
  }

  .vk-mobile-nav li:last-child,
  .mobile-nav li:last-child,
  .mobile-menu li:last-child,
  .global-nav--mobile li:last-child,
  .navbar-collapse li:last-child,
  .siteHeader .menu li:last-child {
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
  }

  .vk-mobile-nav a,
  .mobile-nav a,
  .mobile-menu a,
  .global-nav--mobile a,
  .navbar-collapse a,
  .siteHeader .menu a {
    display: block !important;
    width: 100% !important;
    padding: 12px 16px !important;
    text-align: left !important;
    white-space: normal !important;
    line-height: 1.5 !important;
    writing-mode: horizontal-tb !important;
    box-shadow: none !important;
    border-bottom: none !important;
    color: #000 !important;
    background: transparent !important;
  }

  .vk-mobile-nav a .gMenu_description,
  .mobile-nav a .gMenu_description,
  .mobile-menu a .gMenu_description,
  .global-nav--mobile a .gMenu_description,
  .navbar-collapse a .gMenu_description,
  .siteHeader .menu a .gMenu_description,
  .vk-mobile-nav a small,
  .mobile-nav a small,
  .mobile-menu a small,
  .global-nav--mobile a small,
  .navbar-collapse a small,
  .siteHeader .menu a small {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
    margin-top: 4px !important;
    opacity: 0.85 !important;
    writing-mode: horizontal-tb !important;
  }

 

  /* =========================
   スマホ 子メニューをスライド表示
========================= */
.vk-mobile-nav ul.sub-menu,
.mobile-nav ul.sub-menu,
.mobile-menu ul.sub-menu,
.global-nav--mobile ul.sub-menu,
.navbar-collapse ul.sub-menu,
.siteHeader .menu ul.sub-menu {
  position: static !important;
  display: block !important;      /* noneにしない */
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: max-height 0.35s ease, opacity 0.25s ease !important;
}



  /* 開いた時 */
.vk-mobile-nav li.acc-parent-open > ul.sub-menu,
.mobile-nav li.acc-parent-open > ul.sub-menu,
.mobile-menu li.acc-parent-open > ul.sub-menu,
.global-nav--mobile li.acc-parent-open > ul.sub-menu,
.navbar-collapse li.acc-parent-open > ul.sub-menu,
.siteHeader .menu li.acc-parent-open > ul.sub-menu {
  max-height: 1000px !important;  /* 十分大きい値 */
  opacity: 1 !important;
  visibility: visible !important;
}

/* 閉じた時 */
.vk-mobile-nav li.acc-parent-close > ul.sub-menu,
.mobile-nav li.acc-parent-close > ul.sub-menu,
.mobile-menu li.acc-parent-close > ul.sub-menu,
.global-nav--mobile li.acc-parent-close > ul.sub-menu,
.navbar-collapse li.acc-parent-close > ul.sub-menu,
.siteHeader .menu li.acc-parent-close > ul.sub-menu {
  max-height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}


  .vk-mobile-nav ul.sub-menu li,
  .mobile-nav ul.sub-menu li,
  .mobile-menu ul.sub-menu li,
  .global-nav--mobile ul.sub-menu li,
  .navbar-collapse ul.sub-menu li,
  .siteHeader .menu ul.sub-menu li {
    border-top: 1px solid rgba(0,0,0,0.1) !important;
  }

  .vk-mobile-nav ul.sub-menu a,
  .mobile-nav ul.sub-menu a,
  .mobile-menu ul.sub-menu a,
  .global-nav--mobile ul.sub-menu a,
  .navbar-collapse ul.sub-menu a,
  .siteHeader .menu ul.sub-menu a {
    padding-left: 24px !important;
    color: #000 !important;
    background: transparent !important;
  }

  .vk-mobile-nav ul.sub-menu ul.sub-menu a,
  .mobile-nav ul.sub-menu ul.sub-menu a,
  .mobile-menu ul.sub-menu ul.sub-menu a,
  .global-nav--mobile ul.sub-menu ul.sub-menu a,
  .navbar-collapse ul.sub-menu ul.sub-menu a,
  .siteHeader .menu ul.sub-menu ul.sub-menu a {
    padding-left: 36px !important;
  }

  /* ハンバーガー内の電話・SNS */
  .head-link.mob {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    border-top: 1px solid rgba(0,0,0,0.15) !important;
    gap: 12px !important;
    text-align: center !important;
  }

  .head-link.mob > a[href^="tel:"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    order: 1 !important;
    padding: 0 !important;
  }

  .head-link.mob > a[href^="tel:"] img {
    display: block !important;
    height: 42px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  .head-link.mob > a[href*="instagram"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 2 !important;
    margin: 0 6px !important;
    padding: 0 !important;
  }

  .head-link.mob > a[href*="lin.ee"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 3 !important;
    margin: 0 6px !important;
    padding: 0 !important;
  }

  .head-link.mob > a[href*="instagram"] img,
  .head-link.mob > a[href*="lin.ee"] img {
    display: block !important;
    height: 40px !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  /* 縦書き解除 */
  .siteHeader,
  .siteHeader * {
    writing-mode: horizontal-tb !important;
  }
}

/* ======================================
   スマホ ハンバーガー内 電話・SNS 最終上書き
====================================== */
@media (max-width: 991px) {

  /* 全体 */
  .head-link.mob {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100% !important;
    margin-top: 16px !important;
    padding-top: 16px !important;
    /*border-top: 1px solid rgba(0,0,0,0.15) !important;*/
    border-top:none!important;
    text-align: center !important;
  }

  /* 電話は1行占有 */
  .head-link.mob > a[href^="tel:"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    order: 1 !important;
  }

  /* 電話画像のはみ出し防止 */
  .head-link.mob > a[href^="tel:"] img,
  .head-link.mob img.tel {
    display: block !important;
    width: auto !important;
    max-width: min(92vw, 320px) !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
  }

  /* 既存の width:100% を強制解除 */
  @media (max-width: 480px) {
    .head-link.mob img.tel {
      width: auto !important;
      max-width: min(92vw, 320px) !important;
      height: auto !important;
      margin-bottom: 0 !important;
    }
  }

  /* SNS 2つは横並び */
  .head-link.mob > a[href*="instagram"],
  .head-link.mob > a[href*="lin.ee"] {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 8px !important;
    padding: 0 !important;
  }

  .head-link.mob > a[href*="instagram"] {
    order: 2 !important;
  }

  .head-link.mob > a[href*="lin.ee"] {
    order: 3 !important;
  }

  .head-link.mob > a[href*="instagram"] img,
  .head-link.mob > a[href*="lin.ee"] img {
    display: block !important;
    width: auto !important;
    height: 40px !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  /* ロゴ上下余白を少し追加 */
  .siteHeader {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }

  .navbar-header {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
  }
}
.vk-mobile-nav #vkexunit_banner-2 a{
  padding: 0 !important;
}
.vk-mobile-nav #vkexunit_banner-3 a{
  padding: 0 !important;
}

/* ======================================
   PCヘッダー：子メニューが開く範囲を親ボタン幅に限定
====================================== */
@media (min-width: 992px) {

  /* 親liは相対配置のみ */
  .siteHeader ul.gMenu > li.menu-item-has-children {
    position: relative;
  }

  /* 子メニューはデフォルト非表示 */
  .siteHeader ul.gMenu > li.menu-item-has-children > ul.sub-menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
  }

  /* hoverした親liの直下だけ表示 */
  .siteHeader ul.gMenu > li.menu-item-has-children:hover > ul.sub-menu {
    display: block !important;
  }

  /* 親aの見た目をボタン幅に揃える */
  .siteHeader ul.gMenu > li.menu-item-has-children > a {
    display: inline-block !important;
    position: relative;
  }

  /* 余計な hover 判定を広げない */
  .siteHeader ul.gMenu > li.menu-item-has-children > ul.sub-menu,
  .siteHeader ul.gMenu > li.menu-item-has-children > ul.sub-menu > li,
  .siteHeader ul.gMenu > li.menu-item-has-children > ul.sub-menu > li > ul.sub-menu {
    min-width: 210px;
    width: auto;
  }
}


/* ======================================
   フッターメニュー 最終整理版（PC）
====================================== */
@media (min-width: 992px) {

  /* 親メニュー全体 */
  .footer_new .fMenu {
    display: flex !important;
    justify-content: space-evenly !important;
    align-items: center !important;
    width: 100% !important;
    margin: 24px 0 !important;
    padding: 0 !important;
  }

  /* 親メニュー項目 */
  .footer_new .fMenu > li {
    position: relative !important;
    flex: 1 1 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 18px !important;
  }

  /* 既存の区切り線はいったん全部消す */
  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li::after {
    content: none !important;
    border: none !important;
    background: none !important;
  }

  /* 区切り線は各liの右側だけ */
  .footer_new .fMenu > li:not(:last-child)::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 1px !important;
    height: 18px !important;
    background: rgba(0,0,0,0.35) !important;
  }

  /* 親リンク */
  .footer_new .fMenu > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border: none !important;
    color: #000 !important;
  }

  /* 子メニュー全体 */
  .footer_new .fMenu > li > ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    min-width: 240px !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.96) !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    z-index: 999 !important;
  }

  .footer_new .fMenu > li:hover > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu:hover {
    display: block !important;
  }

  /* 子メニュー項目 */
  .footer_new .fMenu > li > ul.sub-menu > li {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > a {
    display: block !important;
    min-width: 240px !important;
    max-width: 320px !important;
    padding: 12px 16px !important;
    color: #000 !important;
    background: transparent !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    line-height: 1.5 !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
    box-sizing: border-box !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li:last-child > a {
    border-bottom: none !important;
  }

  /* 孫メニュー */
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    min-width: 240px !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255,255,255,0.96) !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    z-index: 1000 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li:hover > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu:hover {
    display: block !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block !important;
    min-width: 240px !important;
    max-width: 320px !important;
    padding: 12px 16px !important;
    color: #000 !important;
    background: transparent !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    line-height: 1.5 !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
    box-sizing: border-box !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li:last-child > a {
    border-bottom: none !important;
  }

  /* hover */
  .footer_new .fMenu > li > ul.sub-menu > li > a:hover,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a:hover {
    background: rgba(245,245,245,1) !important;
    color: #000 !important;
  }
}

/* ======================================
   フッターメニュー 微修正
====================================== */
@media (min-width: 992px) {

  /* 1. 親メニューの上下余白を均等に */
  .footer_new .fMenu > li > a {
    min-height: 56px !important;
    padding: 16px 12px !important;
    line-height: 1.4 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* 親li自体も中央揃え */
  .footer_new .fMenu > li {
    align-items: stretch !important;
  }

  /* 2. 孫メニューのスクロールバー防止 */
  .footer_new .fMenu > li > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    overflow: visible !important;
    max-height: none !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li {
    overflow: visible !important;
  }

  /* 孫メニューを確実に右へ表示 */
  .footer_new .fMenu > li > ul.sub-menu > li {
    position: relative !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
    position: absolute !important;
    top: 0 !important;
    left: 100% !important;
    min-width: 240px !important;
    max-width: 320px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    max-height: none !important;
    z-index: 1000 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li:hover > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu:hover {
    display: block !important;
  }
}


/* ======================================
   フッターメニュー追補
====================================== */

/* --- PC：孫メニュー背景を白に固定 --- */
@media (min-width: 992px) {

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    background: rgba(255,255,255,0.96) !important;
    border: 1px solid rgba(0,0,0,0.12) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
    overflow: visible !important;
    max-height: none !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    background: transparent !important;
    color: #000 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a:hover {
    background: rgba(245,245,245,1) !important;
    color: #000 !important;
  }
}

/* --- スマホ：フッターメニューを本番風に縦並びへ --- */
@media (max-width: 767px) {

  .footer_new .fMenu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer_new .fMenu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    flex: none !important;
  }

  /* PC用の区切り線を消す */
  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li::after {
    content: none !important;
    display: none !important;
    border: none !important;
    background: none !important;
  }

  .footer_new .fMenu > li > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 20px 30px 20px 1em !important;
    margin: 0 !important;
    background: transparent !important;
    color: #000 !important;
    text-align: left !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
    writing-mode: horizontal-tb !important;
  }

  /* 子メニュー・孫メニュー初期は閉じる */
  .footer_new .fMenu > li > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* テーマ側の開閉クラスで開く */
  .footer_new .fMenu li.active > ul.sub-menu,
  .footer_new .fMenu li.ulActive > ul.sub-menu {
    display: block !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > a,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    padding: 12px 30px 12px 2em !important;
    margin: 0 !important;
    background: transparent !important;
    color: #000 !important;
    text-align: left !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
    box-sizing: border-box !important;
    writing-mode: horizontal-tb !important;
  }

  /* 孫メニューはさらに字下げ */
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    padding-left: 3em !important;
  }

  /* フッター内だけ縦書き崩れ防止 */
  .footer_new .fMenu,
  .footer_new .fMenu * {
    writing-mode: horizontal-tb !important;
  }
}

/* ======================================
   スマホ：フッターメニューを確実に縦並び表示
====================================== */
@media (max-width: 767px) {

  /* ul全体 */
  .footer_new .fMenu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* 直下の親liを全部表示 */
  .footer_new .fMenu > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  /* 親リンク */
  .footer_new .fMenu > li > a {
    display: flex !important;
    width: 100% !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 30px 20px 1em !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    line-height: 1.4 !important;
    background: transparent !important;
    color: #000 !important;
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
    white-space: normal !important;
  }

  /* PC用の疑似線は消す */
  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li::after {
    content: none !important;
    display: none !important;
  }

  /* 子メニュー・孫メニューは閉じた状態を基本に */
  .footer_new .fMenu > li > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  /* テーマ側の開閉クラスが付いた時だけ開く */
  .footer_new .fMenu li.active > ul.sub-menu,
  .footer_new .fMenu li.ulActive > ul.sub-menu {
    display: block !important;
  }

  /* 子メニュー項目 */
  .footer_new .fMenu > li > ul.sub-menu > li,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li {
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > a,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    padding: 12px 30px 12px 2em !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    line-height: 1.5 !important;
    color: #000 !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* 孫メニューはさらに字下げ */
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    padding-left: 3em !important;
  }
}

/* ======================================
   スマホ：フッターメニュー強制リセット
====================================== */
@media (max-width: 767px) {

  /* フッターメニュー全体を縦並びに強制 */
  .footer_new .fMenu,
  .footer_new ul.fMenu {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    overflow: visible !important;
  }

  /* 直下の親項目を全部表示 */
  .footer_new .fMenu > li,
  .footer_new ul.fMenu > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* 親リンク */
  .footer_new .fMenu > li > a,
  .footer_new ul.fMenu > li > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 20px 30px 20px 1em !important;
    box-sizing: border-box !important;
    text-align: left !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    background: transparent !important;
    color: #000 !important;
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
  }

  /* PC用の区切り線・疑似要素を全部消す */
  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li::after,
  .footer_new ul.fMenu > li::before,
  .footer_new ul.fMenu > li::after {
    content: none !important;
    display: none !important;
    border: none !important;
    background: none !important;
  }

  /* 子メニュー・孫メニューは閉じた状態を基本 */
  .footer_new .fMenu > li > ul.sub-menu,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu,
  .footer_new ul.fMenu > li > ul.sub-menu,
  .footer_new ul.fMenu > li > ul.sub-menu > li > ul.sub-menu {
    display: none !important;
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    max-height: none !important;
  }

  /* active が付いたら開く */
  .footer_new .fMenu li.active > ul.sub-menu,
  .footer_new ul.fMenu li.active > ul.sub-menu {
    display: block !important;
  }

  /* 子項目・孫項目 */
  .footer_new .fMenu > li > ul.sub-menu > li,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li,
  .footer_new ul.fMenu > li > ul.sub-menu > li,
  .footer_new ul.fMenu > li > ul.sub-menu > li > ul.sub-menu > li {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > a,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a,
  .footer_new ul.fMenu > li > ul.sub-menu > li > a,
  .footer_new ul.fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 12px 30px 12px 2em !important;
    box-sizing: border-box !important;
    text-align: left !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    background: transparent !important;
    color: #000 !important;
    border-bottom: 1px solid rgba(0,0,0,0.10) !important;
  }

  /* 孫メニューだけ少し深く字下げ */
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a,
  .footer_new ul.fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    padding-left: 3em !important;
  }
}

/* ======================================
   最終整理版：ヘッダー・フッター追加分のみ
   ※ 元の Header / Footer セクションは残す
====================================== */

/* =========================
   PCヘッダー：区切り線と下線だけ補正
========================= */
@media (min-width: 992px) {
  .siteHeader .gMenu > li {
    position: relative;
  }

  .siteHeader .gMenu > li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -9px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,0.35);
  }

  .siteHeader ul.gMenu > li > a {
    position: relative;
    box-shadow: none;
  }

  .siteHeader ul.gMenu > li > a:hover,
  .siteHeader ul.gMenu > li.current-menu-item > a,
  .siteHeader ul.gMenu > li.current-menu-parent > a,
  .siteHeader ul.gMenu > li.current-menu-ancestor > a,
  .siteHeader ul.gMenu > li.current_page_parent > a,
  .siteHeader ul.gMenu > li.current_page_ancestor > a {
    box-shadow: inset 0 -1px 0 rgba(255,255,255,0.95);
  }
}

/* =========================
   PCフッター：区切り線だけ補正
========================= */
@media (min-width: 768px) {
  .footer_new .fMenu > li {
    position: relative !important;
  }

  .footer_new .fMenu > li::before,
  .footer_new .fMenu > li::after {
    content: none !important;
    display: none !important;
    border: none !important;
    background: none !important;
  }

  .footer_new .fMenu > li:not(:first-child)::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 30% !important;
    transform: translateY(-50%) !important;
    width: 1px !important;
    height: 15px !important;
    background: #333 !important;
  }
}

/* =========================
   スマホフッター：見た目だけ整理
   ※ 開閉は元テーマのJS/active運用に任せる
========================= */
@media (max-width: 767px) {
  .footer_new .fMenu > li > a,
  .footer_new .fMenu > li > a span,
  .footer_new .fMenu > li > a strong {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #000 !important;
  }

  .footer_new .fMenu > li > ul.sub-menu > li > a,
  .footer_new .fMenu > li > ul.sub-menu > li > a span,
  .footer_new .fMenu > li > ul.sub-menu > li > a strong,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a span,
  .footer_new .fMenu > li > ul.sub-menu > li > ul.sub-menu > li > a strong {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #000 !important;
  }

  .footer_new .fMenu li.menu-item-has-children > a > span.arrow {
    margin-left: auto !important;
    margin-right: 0 !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    border: 1px solid #000 !important;
    border-color: #000 #000 transparent transparent !important;
    transform: rotate(135deg) !important;
    flex: 0 0 auto !important;
    position: relative !important;
    top: 0 !important;
  }

  .footer_new .fMenu li.active > a > span.arrow {
    transform: rotate(-45deg) !important;
  }

  /* 応急処置で足した疑似要素矢印は使わない */
  .footer_new .fMenu li.menu-item-has-children > a::after {
    content: none !important;
    display: none !important;
  }
}


/* ======================================
   ヘッダー：スクロール時の中央黒帯だけ除去
====================================== */

/* ヘッダー本体の背景は残す */
body.scrolled .siteHeader,
body.head_scrolled .siteHeader,
body.header_scrolled .siteHeader {
  background-color: rgba(0, 0, 0, 0.65) !important;
}

/* 中央の帯になっている内側要素だけ透明化 */
body.scrolled .siteHeader .siteHeadContainer,
body.head_scrolled .siteHeader .siteHeadContainer,
body.header_scrolled .siteHeader .siteHeadContainer,
body.scrolled .siteHeader .container,
body.head_scrolled .siteHeader .container,
body.header_scrolled .siteHeader .container {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* ======================================
   フッター微調整
====================================== */

/* 1) PC・スマホ共通：フッター内リンクの下線を消す */
.footer_new a,
.footer_new a:hover,
.footer_new a:focus,
.footer_new a:active {
  text-decoration: none !important;
}

.footer_new .end_nav a,
.footer_new .fMenu a,
.footer_new .sns_btn a,
.footer_new .shiryo_img {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.footer_new .end_nav a::after,
.footer_new .fMenu a::after,
.footer_new .sns_btn a::after,
.footer_new .shiryo_img::after {
  content: none !important;
}

/* 2) スマホ：SNSと下部リンクを中央寄せ */
@media (max-width: 767px) {

  .footer_new .f_inr:last-of-type,
  .footer_new .sns_area,
  .footer_new .end_nav {
    text-align: center !important;
  }

  .footer_new .sns_btn {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  .footer_new .end_nav ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .footer_new .end_nav ul li {
    float: none !important;
    display: inline-block !important;
    text-align: center !important;
  }

  .footer_new .end_nav ul li a {
    display: inline-block !important;
    text-align: center !important;
  }
}


/* ======================================
   aboutページ：選ばれる理由 7項目
====================================== */
#point-list li {
  text-align: center;
}

#point-list li .point_num {
  display: block;
  font-size: 18px !important;
  line-height: 1 !important;
  margin-bottom: 14px !important;
}

#point-list li .point_c {
  display: block;
  font-size: 30px !important;
  line-height: 1.2 !important;
}

#point-list li .point_strong {
  display: inline-block;
  font-size: 52px !important;
  line-height: 1 !important;
}

/* 2行になるものの間隔を少し詰める */
#point-list li .point_c br {
  line-height: 0.8 !important;
}

/* スマホは少し小さく */
@media (max-width: 767px) {
  #point-list li .point_num {
    font-size: 15px !important;
    margin-bottom: 10px !important;
  }

  #point-list li .point_c {
    font-size: 22px !important;
  }

  #point-list li .point_strong {
    font-size: 32px !important;
  }
}

/* 事例タイトル1行固定 */
.case-body {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* フッター「資料請求」ボタンの線を自然に見せる */
.footer_new .shiryo_img {
  border: 1px solid rgba(255,255,255,0.9) !important;
  box-shadow: none !important;
  padding: 0 40px !important;
  min-height: 35px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

.footer_new .shiryo_img::after {
  content: none !important;
  display: none !important;
}

/* ======================================
   フッター右側サブナビ微調整
====================================== */
.footer_new .end_nav ul {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer_new .end_nav ul li {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border-right: none !important;
  position: relative !important;
}

.footer_new .end_nav ul li:first-of-type {
  border-left: none !important;
}

/* 区切り線を疑似要素で作り直す */
.footer_new .end_nav ul li + li::before {
  content: "" !important;
  display: block !important;
  width: 1px !important;
  height: 0.95em !important;
  background: rgba(255,255,255,0.9) !important;
  margin: 0 8px !important;
}

/* リンクの余白を抑えて縦位置を揃える */
.footer_new .end_nav ul li a {
  display: inline-block !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

/* PCヘッダーメニュー高さ統一 */
/* PCヘッダー：子メニューなし項目だけ微調整 */
@media (min-width: 992px) {
  .siteHeader ul.gMenu > li:not(.menu-item-has-children) > a {
    position: relative !important;
    top: -3px !important;
  }
}


/* ------------------------------
   NEWS / コラム詳細
   メイン＋サイドバーの最上位だけ2カラム化
------------------------------ */
@media (min-width: 992px) {
  .single-post .siteContent > .row,
  .single-post .siteContent > .container > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 285px;
    column-gap: 40px;
    align-items: start;
  }

  .single-post .mainSection,
  .single-post .subSection.sideSection {
    float: none !important;
    min-width: 0;
  }

  .single-post .mainSection {
    width: auto !important;
    max-width: none !important;
  }

  .single-post .subSection.sideSection,
  .single-post .subSection.sideSection.col-md-3,
  .single-post .subSection.sideSection.col-md-offset-1 {
    width: 285px !important;
    max-width: 285px !important;
    min-width: 285px !important;
    margin-left: 0 !important;
  }
}

/* 本文内の row は通常レイアウトに戻す */
.single-post .mainSection .row,
.single-post .pagenation .row,
.single-post .pagenation ul.row {
  display: flex !important;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

/* 本文幅を自然に戻す */
.single-post .mainSection,
.single-post .mainSection > * {
  max-width: 100%;
}

.single-post .mainSection img {
  max-width: 100%;
  height: auto;
}



/* =========================================
   2) 最新記事（#vkexunit_post_list-2）
========================================= */
.single-post #vkexunit_post_list-2 .postList li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

.single-post #vkexunit_post_list-2 .postList li > a:first-child {
  flex: 0 0 90px !important;
  width: 90px !important;
  max-width: 90px !important;
  display: block !important;
}

.single-post #vkexunit_post_list-2 .postList li > a:first-child img {
  display: block !important;
  width: 90px !important;
  max-width: 90px !important;
  height: auto !important;
  margin: 0 !important;
}

.single-post #vkexunit_post_list-2 .postList li > a.wpp-post-title {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: block !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}


/* =========================================
   3) 人気記事ランキング（#vkexunit_post_list-02）
========================================= */

/* 両タブ共通 */
.single-post #vkexunit_post_list-02 .postList {
  counter-reset: rank;
}

.single-post #vkexunit_post_list-02 .postList li {
  counter-increment: rank;
  position: relative !important;
  min-height: 50px !important;
  padding-left: 102px !important;
  overflow: hidden !important;
}

/* 空の a.img は消す */
.single-post #vkexunit_post_list-02 .postList li > a.img {
  display: none !important;
}

/* 画像リンクは2番目のa */
.single-post #vkexunit_post_list-02 .postList li > a:nth-of-type(2) {
  position: absolute !important;
  top: 15px !important;
  left: 0 !important;
  width: 90px !important;
  display: block !important;
}

.single-post #vkexunit_post_list-02 .postList li > a:nth-of-type(2) img {
  display: block !important;
  width: 90px !important;
  max-width: 90px !important;
  height: auto !important;
  margin: 0 !important;
}

/* タイトルリンクは最後のa */
.single-post #vkexunit_post_list-02 .postList li > a:last-of-type {
  display: block !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
  min-width: 0 !important;
}

/* ランク表示を自前で出す */
.single-post #vkexunit_post_list-02 .postList li .rank {
  position: absolute !important;
  top: 15px !important;
  left: 0 !important;
  z-index: 10 !important;
  width: 18px !important;
  height: 18px !important;
}

.single-post #vkexunit_post_list-02 .postList li .rank::before {
  content: counter(rank);
  display: block;
  width: 18px;
  height: 18px;
  line-height: 18px;
  text-align: center;
  background: #b98d49;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

/* =========================================
   最終微調整
   1) 次の記事
   2) 人気記事ランキングの順位余白
========================================= */

/* 1) 次の記事のラベル位置 */
.single-post .pagenation li.next .postNextPrev_label {
  text-align: right;
  margin: 0 0 8px 0 !important;
  padding-right: 2px;
}

.single-post .pagenation li.next .card-body a {
  text-align: left;
}

/* 画像との高さバランス微調整 */
.single-post .pagenation li.next .col-xs-7 {
  padding-top: 2px !important;
}

.single-post #vkexunit_post_list-02 .postList li .rank::before {
  box-sizing: border-box;
  padding-top: 1px;
}


/* =========================================
   Voice 詳細
   メイン＋サイドバーを2カラム化
========================================= */
@media (min-width: 992px) {
  .single-voice .siteContent > .row,
  .single-voice .siteContent > .container > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 285px;
    column-gap: 40px;
    align-items: start;
  }

  .single-voice .mainSection,
  .single-voice .subSection.sideSection {
    float: none !important;
    min-width: 0;
  }

  .single-voice .mainSection {
    width: auto !important;
    max-width: none !important;
  }

  .single-voice .subSection.sideSection,
  .single-voice .subSection.sideSection.col-md-3,
  .single-voice .subSection.sideSection.col-md-offset-1 {
    width: 285px !important;
    max-width: 285px !important;
    min-width: 285px !important;
    margin-left: 0 !important;
  }
}

/* 本文内 row は通常レイアウトに戻す */
.single-voice .mainSection .row,
.single-voice .pagenation .row,
.single-voice .pagenation ul.row {
  display: flex !important;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

.single-voice .mainSection,
.single-voice .mainSection > * {
  max-width: 100%;
}

.single-voice .mainSection img {
  max-width: 100%;
  height: auto;
}


/* =========================================
   NEWS / VOICE 共通
   前の記事・次の記事
========================================= */
@media (min-width: 768px) {
  .single-post .pagenation ul.row,
  .single-voice .pagenation ul.row {
    display: flex !important;
    justify-content: space-between;
    margin-left: -15px;
    margin-right: -15px;
  }

  .single-post .pagenation ul.row > li,
  .single-voice .pagenation ul.row > li {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
    width: calc(50% - 15px);
  }
}

.single-post .pagenation .card,
.single-voice .pagenation .card {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  height: 100%;
  width: 100%;
}

.single-post .pagenation li > .card > .row,
.single-voice .pagenation li > .card > .row {
  display: grid !important;
  align-items: start !important;
  column-gap: 15px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 前の記事：画像左、テキスト右 */
.single-post .pagenation li.previous > .card > .row,
.single-voice .pagenation li.previous > .card > .row {
  grid-template-columns: 120px minmax(0, 1fr) !important;
}

/* 次の記事：テキスト左、画像右 */
.single-post .pagenation li.next > .card > .row,
.single-voice .pagenation li.next > .card > .row {
  grid-template-columns: minmax(0, 1fr) 120px !important;
}

.single-post .pagenation li > .card > .row > .col-xs-5,
.single-post .pagenation li > .card > .row > .col-xs-7,
.single-voice .pagenation li > .card > .row > .col-xs-5,
.single-voice .pagenation li > .card > .row > .col-xs-7 {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  min-width: 0 !important;
}

/* 次の記事の並び順を固定 */
.single-post .pagenation li.next .col-xs-7,
.single-voice .pagenation li.next .col-xs-7 {
  grid-column: 1 !important;
}

.single-post .pagenation li.next .col-xs-5,
.single-voice .pagenation li.next .col-xs-5 {
  grid-column: 2 !important;
}

/* テキスト余白 */
.single-post .pagenation li.previous .col-xs-7,
.single-voice .pagenation li.previous .col-xs-7 {
  padding-left: 15px !important;
}

.single-post .pagenation li.next .col-xs-7,
.single-voice .pagenation li.next .col-xs-7 {
  padding-right: 15px !important;
}

/* 画像 */
.single-post .pagenation .img-overray,
.single-post .pagenation .img-overray a,
.single-voice .pagenation .img-overray,
.single-voice .pagenation .img-overray a {
  display: block !important;
}

.single-post .pagenation .img-overray img,
.single-voice .pagenation .img-overray img {
  display: block !important;
  width: 120px !important;
  max-width: 120px !important;
  height: auto !important;
}

/* テキスト */
.single-post .pagenation .card-body,
.single-post .pagenation .card-body a,
.single-voice .pagenation .card-body,
.single-voice .pagenation .card-body a {
  display: block !important;
  overflow: visible !important;
}

.single-post .pagenation .card-body,
.single-voice .pagenation .card-body {
  padding: 0 !important;
}

.single-post .pagenation .card-body a,
.single-voice .pagenation .card-body a {
  line-height: 1.6 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}

.single-post .pagenation .postNextPrev_label,
.single-voice .pagenation .postNextPrev_label {
  display: block !important;
  margin: 0 0 8px 0 !important;
}

/* 前の記事で画像が無い場合 */
.single-post .pagenation li.previous .col-xs-5:empty,
.single-voice .pagenation li.previous .col-xs-5:empty {
  display: none !important;
}

.single-post .pagenation li.previous .col-xs-5:empty + .col-xs-7,
.single-voice .pagenation li.previous .col-xs-5:empty + .col-xs-7 {
  padding-left: 0 !important;
}

/* =========================================
   VOICE 詳細
   2カラム落ち対策
========================================= */
@media (min-width: 992px) {
  .single-voice .siteContent > .row,
  .single-voice .siteContent > .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }

  .single-voice .mainSection {
    flex: 1 1 0 !important;
    width: calc(100% - 325px) !important;
    max-width: calc(100% - 325px) !important;
    min-width: 0 !important;
  }

  .single-voice .subSection.sideSection,
  .single-voice .subSection.sideSection.col-md-3,
  .single-voice .subSection.sideSection.col-md-offset-1 {
    flex: 0 0 285px !important;
    width: 285px !important;
    max-width: 285px !important;
    min-width: 285px !important;
    margin-left: 40px !important;
  }

  .single-voice .mainSection img {
    max-width: 100%;
    height: auto;
  }
}

.side_voice .postList li .postList_terms ~ .postList_terms {
  display: none !important;
}

.side_voice .postList_date {
  color: #c83a2a !important;
}

.single-post .pagenation li.next .card-body,
.single-voice .pagenation li.next .card-body {
  padding-right: 15px !important;
}


/* NEWS一覧ページの2カラム復旧・幅固定 */
@media (min-width: 992px) {
  body.archive.category-news .siteContent > .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 40px;
  }

  body.archive.category-news .mainSection,
  body.archive.category-news .mainSection.col-md-8 {
    flex: 0 0 calc(100% - 325px) !important;
    width: calc(100% - 325px) !important;
    max-width: calc(100% - 325px) !important;
    min-width: 0 !important;
  }

  body.archive.category-news .subSection.sideSection,
  body.archive.category-news .subSection.sideSection.col-md-3,
  body.archive.category-news .subSection.sideSection.col-md-offset-1 {
    flex: 0 0 285px !important;
    width: 285px !important;
    max-width: 285px !important;
    min-width: 285px !important;
    margin-left: 0 !important;
  }

  body.archive.category-news .mainSection img {
    max-width: 100%;
    height: auto;
  }

  body.archive.category-news .mainSection > * {
    max-width: 100%;
  }
}

/* voices 一覧ページの2カラム復旧 */
@media (min-width: 992px) {
  body.page-template-page-voices .siteContent > .container > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 40px;
  }

  body.page-template-page-voices .mainSection,
  body.page-template-page-voices .mainSection.col-md-8 {
    flex: 0 0 calc(100% - 325px) !important;
    width: calc(100% - 325px) !important;
    max-width: calc(100% - 325px) !important;
    min-width: 0 !important;
  }

  body.page-template-page-voices .subSection,
  body.page-template-page-voices .subSection.col-md-3,
  body.page-template-page-voices .subSection.col-md-offset-1 {
    flex: 0 0 285px !important;
    width: 285px !important;
    max-width: 285px !important;
    min-width: 285px !important;
    margin-left: 0 !important;
  }

  body.page-template-page-voices .mainSection img {
    max-width: 100%;
    height: auto;
  }

  body.page-template-page-voices .mainSection > * {
    max-width: 100%;
  }
}

/*h2だけ余白を補正*/
.single .entry-body h2 {
  padding: 14px 15px 10px;
}

#toc_container a{
  color:#000;
}


