@charset "UTF-8";
/* メディアクエリ*/
.inner {
  padding-inline: 20px; /* 左右の余白＝padding */
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 1360px; /* pcの最大幅 */
    margin-inline: auto; /* 左右中央寄せ */
    padding-inline: 40px; /* 左右の余白＝padding */
  }
}

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

.pc-hidden {
  display: block;
}
@media screen and (min-width: 768px) {
  .pc-hidden {
    display: none;
  }
}

body {
  font-size: 16px; /* カスタム要素 */
  font-weight: 400; /* カスタム要素 */
  line-height: 1.7; /* カスタム要素 */
}

body {
  cursor: url("http://exceed-ojima-development.com/camera/wp-content/uploads/2024/07/greeen.png") 16 16, auto;
}

/* クリック可能な要素（リンク、ボタンなど）に対するカーソルスタイル */
a, button {
  cursor: url("http://exceed-ojima-development.com/camera/wp-content/uploads/2024/07/kuro3.png") 16 16, auto;
}

a:hover, button:hover {
  cursor: url("http://exceed-ojima-development.com/camera/wp-content/uploads/2024/07/kuro3.png") 16 16, auto;
}

.img {
  width: 100%;
  display: block;
}

.smb-section__title:after {
  background-color: #00947a !important;
}

header a {
  transition: opacity 0.3s ease; /* 透明度が変化するまでの時間を設定 */
}

header a:hover {
  opacity: 0.7; /* hover時の透明度を設定 */
}

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

.heading__title {
  position: relative;
  text-align: center;
}

.heading__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px; /* Adjust the value to control the distance between the text and the underline */
  transform: translateX(-50%);
  width: 60px; /* Adjust the value to control the width of the underline */
  height: 0.5px; /* Adjust the value to control the thickness of the underline */
  background-color: #00947a; /* The desired underline color */
}

/*================================================================
Chrome/Firefox/Edgeなど、各ブラウザはそれぞれデフォルトで効くCSSを持っています。
何もしないと見え方が微妙に変わるので、デフォルトのCSSをリセットして
ブラウザごとの表示の差異をなくすために書くのが「リセットCSS」です。
================================================================*/
*, ::before, ::after {
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

header, footer, nav, section, article, main, aside, figure, figcaption {
  display: block;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

body {
  font-size: 16px; /* カスタム要素 */
  background: #fff; /* カスタム要素 */
  color: #111; /* カスタム要素 */
  line-height: 170%; /* カスタム要素 */
}

button {
  margin: 0;
  padding: 0;
  border: none;
  box-shadow: none;
  background: transparent;
  cursor: pointer;
  font: inherit;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

.container {
  position: absolute;
  top: 1.7%;
  left: 15%; /* 中央より左寄りに配置 */
  z-index: 1;
}
@media screen and (min-width: 260px) {
  .container {
/*     top: 1.7%; */
	  top:1.2%;
  }

@media screen and (min-width: 768px) {
  .container {
    top: 2%;
  }
}
@media screen and (min-width: 900px) {
  .container {
    top: 4%;
  }
}

.title {
/*   font-size: 2rem; */
	  font-size: 1.5rem;
	line-height:1.5;
/*   margin-bottom: 15px; */
  color: #ffffff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  .title {
	  font-size: 5rem;
	  line-height:normal;
    margin-bottom: 25px;
  }
}

.text {
/*   font-size: 1rem; */
	font-size: 0.9rem;
  color: #ffffff;
/*   margin-bottom: 10px; */
	line-height:1.5;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}
@media screen and (min-width: 768px) {
  .text {
	   font-size: 1.5rem;
	    line-height:normal;
    margin-bottom: 20px;
  }
}

.btn {
  background-color: #b33e5c;
  color: #ffffff;
  border: none;
/*   padding: 1rem 2rem; */
	  padding: 0.4rem 1rem;

  cursor: pointer;
  font-size: 1rem;
  margin-top: 5px;
  text-decoration: none;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .btn {
margin-top: 20px;
	    padding: 1rem 2rem;
  }
}

.btn:hover {
  background-color: #a0144b;
}

.smb-spider-slider__figure-wrapper {
  position: relative;
}

.btn_common {
  margin-top: 50px !important;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
	@media screen and (min-width: 768px) {
		 margin-top: 100px !important;
		
	}
}

a.btn_01 {
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 120px;
  margin: auto;
  padding: 1rem 4rem;
  font-weight: bold;
  border: 2px solid #b33e5c;
  color: #b33e5c;
  transition: 0.5s;
}

a.btn_01:hover {
  color: #fff;
  background: #b33e5c;
}

a.btn_02 {
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 120px;
  margin: auto;
  padding: 1rem 4rem;
  font-weight: bold;
  border: 2px solid #b33e5c;
  color: #b33e5c;
  transition: 0.5s;
  background: #fff;
}

a.btn_02:hover {
  color: #fff;
  background: #b33e5c;
}

.smb-items__banner__figure__mask {
  transform: scale(1.2);
  transition: transform 0.3s;
}
.smb-items__banner__figure__mask img {
  transform: scale(1.2);
  transition: transform 0.3s;
}

.wp-block-snow-monkey-blocks-items-banner:hover {
  overflow: hidden;
  opacity: 1;
}
.wp-block-snow-monkey-blocks-items-banner:hover img {
  transform: scale(1.1);
  transition: transform 0.5s ease-in-out;
}

body.page-id-71 .smb-spider-slider__figure-wrapper {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
}
body.page-id-71 .smb-spider-slider__figure-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3); /* semi-transparent black for the mask */
  z-index: 1; /* Ensures it is above the image */
}
@media screen and (min-width: 768px) {
  body.page-id-71 .smb-spider-slider__figure-wrapper {
    height: 70vh; /* 画面の高さの70% */
    max-height: 100%;
  }
}

.smb-spider-slider__figure-wrapper > .child-element {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.smf-action .smf-button-control__control {
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  padding: 1rem 3rem;
  font-weight: bold;
  border: 2px solid #b33e5c;
  color: #b33e5c;
  transition: 0.5s;
  background: #fff;
  border-radius: 0 !important;
	
  @media screen and (min-width: 768px) {
	    width: 240px;
  padding: 1rem 4rem;


  }	

	
	
}
.smf-action .smf-button-control__control:hover {
  color: #fff;
  background: #b33e5c;
}

.page-id-33 .smb-section:first-child {
  padding-top: 10px;
}

.page-id-27 .smb-spider-slider__figure-wrapper {
  height: auto;
}

.page-id-29 .smb-spider-slider__figure-wrapper {
  height: auto;
}

.c-entry__title {
  display: none;
}

.page-id-29 .c-entry__title {
  display: none;
}

.page-id-29 .smb-section:first-child {
  padding-top: 10px;
}

.smb-information__item {
  border-bottom: 1px solid #00947a;
}
.spider__arrow {
  background: #b33e5c;
}

/* カバーブロックの幅を全幅に設定 */
.page-id-27 .wp-block-cover.alignfull.is-light {
  width: 100vw;
  margin: 0; /* 不要な余白を取り除く */
  padding: 0; /* 不要なパディングを取り除く */
}

/* カバーブロックの画像の幅を全幅に設定 */
.page-id-27 .wp-block-cover {
  width: 100vw; /* ビューポートの幅に設定 */
  position: relative; /* 位置を相対的に設定 */
  left: 50%; /* 左に50%ずらす */
  transform: translateX(-50%); /* 中央に配置 */
}

.page-id-27 .smb-section:first-child {
  padding-top: 10px;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity {
  margin-top: 50px !important;
}

@media (min-width: 1024px) {
  .scroll-infinity {
    margin-top: 70px !important;
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  margin: 0 calc(50% - 50vw) !important;
  width: 100vw !important;
}

.scroll-infinity__list {
  align-items: center;
  display: flex;
  list-style: none;
  padding: 0;
  padding-left: 30px;
  -moz-column-gap: 30px;
       column-gap: 30px;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 40s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 100vw;
}

@media (min-width: 640px) {
  .scroll-infinity__item {
    width: 50vw;
  }
}
@media (min-width: 1024px) {
  .scroll-infinity__item {
    width: 33.3333333333vw;
  }
}
.scroll-infinity__item img {
  width: 100%;
  height: 100%;
}

/* コンテナー */
.gallery_swiper {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

/* スライダーのwrapper */
.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

/* スライド */
.infinite-slider .swiper-slide {
  height: 450px; /* 高さを指定 */
  width: auto;
  padding: 15px;
}

/* スライド内の画像 */
.infinite-slider .swiper-slide img {
  width: auto;
  height: 100%;
}

.slider div {
  width: 200px;
}

/*ローディング　ここから */
#loading-block {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  font-weight: bold;
  color: #000;
  z-index: 9999;
  background-color: #fff;
  width: 100vw;
  height: 100vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.loading-none {
  display: none !important;
}

.loading-text-kizuna, .loading-text-under {
  opacity: 0;
  animation: fadeIn 2s forwards;
}

.loading-text-kizuna {
  font-size: 14rem;
  color: #00947a;
  font-family: "MS Mincho", "Hiragino Mincho Pro", "Serif";
  margin-bottom: 112px;
  /* 	font-weight:bold; */
}

.loading-text-under {
  font-size: 1.8rem;
  font-family: "MS Mincho", "Hiragino Mincho Pro", "Serif";
  color: #b33e5c;
}

.l-container {
  display: none !important;
}

.l-container.loading {
  display: none;
}

.l-container.appear {
  display: block !important;
  opacity: 0;
  animation: fadeIn 1s forwards;
}

/* アニメーションの定義 */
@keyframes fadeIn {
  to {
    opacity: 1;
  }
}
/*ローディング 　ここまで*/
.smb-section__title:after {
  margin-top: 5px;
  background-color: #00947a !important;
}

.l-footer {
  background: #b33e5c;
}

.contact-box {
  color: #fff; /* 文字色は白 */
  text-align: left;
  border-radius: 5px;
  margin: auto;
}

.contact-box a {
  color: #fff;
  text-decoration: none;
}

.contact-box a:hover {
  text-decoration: underline;
}

.contact-box .tel {
  font-size: 1.2em;
  margin: 10px 0;
}

.contact-box .mail {
  font-size: 0.9em;
}

#block-8 {
  color: #fff;
}

.l-footer-widget-area__item .menu {
  display: flex;
  align-items: end;
  justify-content: center;
  color: #fff;
  gap: 10px;
  white-space: nowrap;
}

.c-widget__title {
  color: #fff;
}
.c-widget__title::before, .c-widget__title::after {
  background-color: transparent !important;
}/*# sourceMappingURL=style.css.map */

.smb-information__item__body { 
    padding: 0px 30px 15px !important;
	@media screen and (min-width: 768px) {
   padding: var(--smb-information--column-padding) !important;
  }
}

.smf-form--business .smf-item__col--label {
	display: flex;
    align-items: baseline;
    gap: 10px;
}

body.page-id-71 .smb-spider-slider .spider__figure{
/* 	height:500px; */
	height:280px;
	object-fit:cover;
		@media screen and (min-width: 600px) {
		  height:auto;
  }
	
}

/* body.page-id-71 .smb-spider-slider .spider__figure{
	height:280px;
	object-fit:cover;
		@media screen and (min-width: 600px) {
		  height:auto;
  }
	
} */



.smb-information__item__label{
	padding: 10px 30px !important;
			@media screen and (min-width: 767px) {
		padding: calc(var(--smb-information--column-padding)* .5) var(--smb-information--column-padding) !important;
  }
	
}

.company__name{
	white-space:nowrap;
}
