@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@media (min-width: 960px) {
}



@media (min-width: 600px) {
}

/* ----------------------------------------------------------------
全体設定
---------------------------------------------------------------- */

/* コンテンツの上下余白 */

.top #content,
 .l-content {
  margin-bottom: 0;
  padding-top: 0;
  padding-bottom: 0;
}

/* スマホ表示時の左右の余白 */

@media screen and (max-width: 768px) {
  .l-content,
  .swell-block-fullWide__inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* 行間 */
.post_content p {
  line-height: 2;
}

/* 固定ページのh1タイトル設定 */
h1.c-pageTitle {
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.8em;
  font-weight: 700;
  font-family: "Shippori Mincho", serif;
}

.l-topTitleArea::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0,0,0,0.2);
  z-index: 1;
}

/* 固定ページのh1タイトル設定（プライバシーポリシー・フォーム等） */
.l-mainContent__inner .c-pageTitle {
  padding-top: 1.5em;
}

/* h2設定 */
.post_content h2 {
  position: relative;       /* 擬似要素の基準にする */
  margin-left: 0;
  padding-left: 40px;       /* アイコン分だけ右に余白 */
  font-size: 1.6em;
  font-family: "Shippori Mincho", serif;
}

.post_content h2::before {
	position: absolute;
  left: 0;                  /* 見出しの左端に配置 */
  top: 50%;
  transform: translateY(-50%); /* 縦位置を中央揃え */
	content: "";
  display: inline-block;
  width: 24px;   /* アイコンの横幅 */
  height: 24px;  /* アイコンの高さ */
  background: url("https://www.morishin-uekiya.co.jp/wpmr/wp-content/uploads/2025/09/icon-leaf.png") no-repeat center/contain;
  margin-right: 8px;  /* アイコンと文字の間隔 */
  vertical-align: middle; /* 文字とアイコンの縦位置を揃える */
}

/* h3設定 */

/*
.post_content h3 {
  position: relative;
  color: #fff;
  background-color: #86bc47;
  padding: 4px 12px 8px;
}

.post_content h3::before {
  display: none;
}

.post_content h3::after {
  position: absolute;
	content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  top: -4px;
  left: -4px;
  border: 1px solid #b7d781;
}
*/

/* h4設定 */
.post_content h4 {
  font-size: 1em;
}


/* マウスホバー時に画像拡大 */
/* SWELLの画像ブロックにクラスを付ける例: .hover-zoom */
.hover-zoom img {
  transition: transform 0.4s ease;  /* アニメーション */
}

.hover-zoom img:hover {
  transform: scale(1.1);            /* 1.1倍に拡大 */
}

/* マウスホバー時に画像拡大（サイズ固定） */
.hover-zoom-fixed {
  overflow: hidden;       /* 枠からはみ出さないようにする */
}

.hover-zoom-fixed img {
  display: block;         /* 余計な余白を防ぐ */
  transition: transform 0.5s ease;  /* スムーズに拡大 */
}

.hover-zoom-fixed:hover img {
  transform: scale(1.1);  /* 画像だけ拡大（枠はそのまま） */
}

/* 写真の角丸 */
.rounded-img img {
  border-radius: 16px;
}

/* 写真を葉の形にする */
.leaf-img img {
  border-radius: 30% 0 30% 0;
}

/* 表示時に画像ズームアウト */
.zoom-out {
  overflow: hidden;   /* 枠からはみ出す部分を隠す */
  display: block;
}

.zoom-out img {
  display: block;
  width: 100%;                     /* 枠にフィット */
  transform: scale(1.1);           /* 内部で拡大した状態からスタート */
  opacity: 0;                      /* 初期は透明 */
  transition: transform 1.2s ease, opacity 1.2s ease;
  will-change: transform, opacity;
}

.zoom-out img.appear {
  transform: scale(1);             /* 枠サイズはそのまま、画像だけ縮む */
  opacity: 1;
}

/* タブコンテンツの画像の比率指定 */
.swell-block-tab img {
  width: 100%;
  aspect-ratio: 4 / 3; /* 画像の比率に合わせて調整 */
  object-fit: cover; /* はみ出し防止 */
}

/* セクションリードの枠 */
/* 一部だけ線の色を変える */
.section-lead {
   margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
   padding: 1.5em; /* 内側余白 */
   border: 3px solid #eee; /* 線の太さ（3px）、種類（実線）、色（#eee） */
   position: relative; /* 配置（基準となる位置） */
   z-index: 0; /* 他の要素との重なり順（0は通常の順番） */
}

.section-lead:before {
   border-top: 3px solid #86bc47; /* 上辺の線の色 */
   border-left: 3px solid #86bc47; /* 左辺の線の色 */
   content: ''; /* 擬似要素にコンテンツなし */
   display: block; /* 擬似要素をブロック表示 */
   position: absolute; /* 配置（親要素から絶対的に位置を指定） */
   top: -3px; /* 上から-3pxずらす */
   left: -3px; /* 左から-3pxずらす */
   width: 20px; /* 幅20px */
   height: 20px; /* 高さ20px */
   z-index: 1; /* 重なり順（前面に表示） */
}

/* pタグの余白 */
.section-lead p { margin:0; }


/* ヘッダーの採用情報ボタン */

.recruit-button a {
  padding: 8px 32px;
//  transition: transform 0.9s ease
}

/* スマホでは非表示に */
@media screen and (max-width: 599px) {
  .follow-banner {
    display: none;
  }
}

/* PCで非表示 */
@media screen and (min-width: 960px) {
  .is-sp-tab {
    display: none;
  }
}

/* ----------------------------------------------------------------
トップページ設定
---------------------------------------------------------------- */

.p-mainVisual__slideTitle,
.p-mainVisual__slideText {
	letter-spacing: 0.05em;
  text-shadow: 0px 0px 24px rgba(0, 0, 0, 0.8);
}

.p-mainVisual__textLayer>.p-blogParts {
	display: inline-block;
	white-space: nowrap;
	position: absolute;
	bottom: 12%;
	right: 50%;
	transform: translatex(50%);
}

.mv-btn-copy {
  text-shadow: 0px 0px 24px rgba(0, 0, 0, 0.8);
}

.mv-btn {
	a {
		z-index: 99;
		padding: 16px 32px;
	}
}

/* トップページ事例紹介のcaret設定 */
.top-works-caret {
  font-size: 2em;
}

@media (min-width: 600px) {
  .top-works-caret {
    transform: rotate(-90deg);
  }
}

/* 人材育成とキャリアのPC幅・中央揃え */
@media (min-width: 960px) {
  .top-career {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* ----------------------------------------------------------------
会社概要
---------------------------------------------------------------- */
@media (max-width: 959px) {
  .reverse-column {
    order: -1; /* スマホ時に上に移動 */
  }
}


/* ----------------------------------------------------------------
採用情報
---------------------------------------------------------------- */

/* ブロックの端に画像を配置 */
.bg-right-sides1,
.bg-right-sides2 {
  position: relative;
}

.bg-right-sides1::after,
.bg-right-sides2::after,
.bg-right-sides3::after,
.bg-right-sides4::after,
.bg-right-sides5::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 200px;
  transform: translateX(50%);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom center;
  z-index: 0;
}

.bg-right-sides1::after {
  background-image: url("https://www.morishin-uekiya.co.jp/wpmr/wp-content/uploads/2025/09/plants-1w.png");
  width: 90px;
}

@media (max-width: 959px) {
  .bg-right-sides1::after {
   right: 0;
   transform: translateX(0);  }
}

.bg-right-sides2::after {
  background-image: url("https://www.morishin-uekiya.co.jp/wpmr/wp-content/uploads/2025/09/plants-2w.png");
  width: 140px;
}

@media (max-width: 959px) {
  .bg-right-sides2::after {
   right: 0;
   transform: translateX(20%);
  }
}

.bg-right-sides3::after {
  background-image: url("https://www.morishin-uekiya.co.jp/wpmr/wp-content/uploads/2025/10/plants-3w-2.png");
  width: 180px;
}

@media (max-width: 959px) {
  .bg-right-sides3::after {
   right: 0;
   transform: translateX(30%);
  }
}

.bg-right-sides4::after {
  background-image: url("https://www.morishin-uekiya.co.jp/wpmr/wp-content/uploads/2025/10/plants-4w-2.png");
  width: 350px;
}

@media (max-width: 959px) {
  .bg-right-sides4::after {
   right: 0;
   transform: translateX(40%);
  }
}


/* 1日の流れ */

.schedule-list .schedule-time {
  padding: 4px 8px;
  background-color: #86bc47;
  color: #fff;
  border: 1px solid #86bc47;
  text-align: center;
  border-radius: 4px 4px 0 0;
}

.schedule-list .schedule-content {
  padding: 4px 8px;
  border-bottom: 1px solid #86bc47;
}

.schedule-list .schedule-desc {
  margin-top: -8px;
  padding-left: 8px;
}

.schedule-list .schedule-desc p {
  line-height: 1.4;
}
/*
@media (max-width: 599px) {
  .schedule-list {
    font-size: 14px;
  }
}
*/

/*
@media (min-width: 600px) {
  .schedule-list {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}
*/

@media (min-width: 600px) {
  .recruit-table>table tr>:first-child:not(.-no1)  {
    width: 8em;
  }
}


/* ----------------------------------------------------------------
フォームの設定
---------------------------------------------------------------- */

@media (min-width: 600px) {
  .wpcf7 {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
}

.form-row + .form-row {
  margin-top: 24px;
}

.is-required {
  display: inline-block;
  background-color: #86bc47;
  color: #fff;
  border-radius: 3px;
  padding: 1px 16px;
  margin-left: 10px;
  margin-bottom: 8px;
  font-size: 0.8em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
}

input[type="submit"],
input[type="button"] {
	-webkit-appearance: none;
	background-color: #fff;
	background-image: none;
	border: 1px solid #86bc47;
	border-radius: 6px;
	color: #86bc47;
	cursor: pointer;
	display: inline-block;
	font-size: 1.2em;
	margin: 0;
	padding: 0.4em 2.4em;
	text-decoration: none;
	transition: all 0.3s ease 0s;
	width: auto;
  margin-top: 24px;
}

input[type="submit"]:hover,
input[type="button"]:hover {
	background-color: #86bc47;
	color: #fff;
}

.wpcf7-list-item {
  margin-right: 16px;
}

/*
.wpcf7-list-item {
  display: block;
  margin-top: 8px;
}
*/
