@charset "UTF-8";
/*--------------------------
リセット
---------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
  overflow-y: scroll;
  font-size: 16px; /* 1rem = 16px */
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

a img {
  border: none;
}

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

img {
  height: auto;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  color: #333;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  position:relative;
}

/*--------------------------
基本：基本タグ
---------------------------- */
.pcOFF {
  /* ここで必要な基本設定があれば記述 */
}
@media screen and (min-width: 768px) {
  .pcOFF {
    display: none !important;
  }
}

.spOFF {
  /* ここで必要な基本設定があれば記述 */
}
@media screen and (max-width: 767px) {
  .spOFF {
    display: none !important;
  }
}


/* フェードインさせる要素 */
.fade, .fadeDelay {
    opacity: 0; /* 最初は非表示にしておく */
	transform: translateY(30px) translateZ(0);
	transition: opacity 1.2s ease-out, transform 1.2s ease-out;
	will-change: transform, opacity;
}
/* フェードイン用のクラス */
.fadeIn {
    opacity: 1;
	transform: translateY(0);
}



/*--------------------------
基本：フォント
---------------------------- */
/* Google Fonts - Noto Sans JP */
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* Google Fonts - Jost */
.jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* Google Fonts - Noto Serif JP */
.noto-serif-jp {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
}

/* Google Fonts - Zen Old Mincho */
.zen-old-mincho {
  font-family: "Zen Old Mincho", serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.sawarabi-mincho-regular {
  font-family: "Sawarabi Mincho", serif;
  font-style: normal;
}

/* Adobe Fonts - Adobe Caslon Pro */
.adobe-caslon-pro {
  font-family: "adobe-caslon-pro", serif;
  font-optical-sizing: auto;
}

.adobe-arabic {
	font-family: "adobe-arabic", sans-serif;
}

/* スタイルバリエーション */
.fs-normal { font-style: normal; }
.fs-italic { font-style: italic; }

/* 汎用的なフォントスタイルユーティリティクラス */
.fw-thin { font-weight: 100; }
.fw-extralight { font-weight: 200; }
.fw-light { font-weight: 300; }
.fw-regular { font-weight: 400; }
.fw-medium { font-weight: 500; }
.fw-semibold { font-weight: 600; }
.fw-bold { font-weight: 700; }
.fw-extrabold { font-weight: 800; }
.fw-black { font-weight: 900; }



/*--------------------------

---------------------------- */
.titBox{
	margin-bottom: clamp(30px, 9.2379vw + -40.8545px, 70px); /* Vary between 767px and 1200px */
}
.tit01{
	font-size: clamp(23px, 3.9261vw + -7.1132px, 40px); /* Vary between 767px and 1200px */
	text-align:center;
	position:relative;
	font-family: "Noto Serif JP", serif;
}
.tit01:after {
	content: "";
	width: 90px;
	height: 4px;
	background: #507F56;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.tit02{
	font-size: clamp(18px, 1.4199vw + 7.1095px, 25px); /* Vary between 767px and 1260px */
	margin-bottom: clamp(15px, 3.0426vw + -8.3367px, 30px); /* Vary between 767px and 1260px */
	font-family: "Noto Serif JP", serif;
}
.titLead{
	margin-top:35px;
	text-align:center;
	font-size: clamp(14px, 0.4619vw + 10.4573px, 16px); /* Vary between 767px and 1200px */
}
/*--------------------------
.sectionTitleArea{
---------------------------- */

.sectionTitleArea{
	margin-bottom: 25px;
	text-align:left;
}
.section-title {
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
	font-family: "Noto Serif JP", serif;
	margin-bottom:18px;
	text-align:left;
}
.section-heading {
	font-size: clamp(30px, 2.4331vw + 11.3382px, 60px); /* Vary between 767px and 2000px */
	font-family: "adobe-caslon-pro", serif;
	line-height:1;
}
@media screen and (max-width: 767px) {
	.section-heading {
		font-size: 30px;
	}
}
/*--------------------------
.pageSectionTitleArea{
---------------------------- */
.pageSectionTitleArea{
	margin-bottom: clamp(100px, 9.4787vw + 27.2986px, 160px); /* Vary between 767px and 1400px */
}
.pageSectionTitleArea .section-title {
	font-size: clamp(25px, 3.9494vw + -5.2923px, 50px); /* Vary between 767px and 1400px */
	font-family: "Noto Serif JP", serif;
	margin-bottom:18px;
	text-align:center;
}
.pageSectionTitleArea .section-heading {
	font-size: clamp(18px, 2.6856vw + -2.5987px, 35px); /* Vary between 767px and 1400px */
	font-family: "Noto Serif JP", serif;
	line-height:1.4;
	text-align:center;
}
@media screen and (max-width: 767px) {
}

/*--------------------------
.more-btn {
---------------------------- */
.more-btn {
}

.more-btn a {
	display: inline-block;
	background-color: #fff;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeT0iOS40NTAyIiB3aWR0aD0iNi43MDQ2IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKC00NSAwIDkuNDUwMikiIGZpbGw9IiMwMDY2MzMiLz48cmVjdCB3aWR0aD0iNi43MjcwOSIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAtMC43MDcxMDcgMCAxLjQxNDA2KSIgZmlsbD0iIzAwNjYzMyIvPjwvc3ZnPg==");
	background-repeat: no-repeat;
	background-position: right 10px center;
	color: #006633;
	text-decoration: none;
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
	width: 200px;
	text-align: center;
	padding: 15px 0;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.more-btn a:hover {
	background-color: #006633; /* ホバー時の背景色を少し濃くする */
	color: #fff; /* ホバー時の文字色を少し濃くする */
}


@media screen and (max-width: 600px) {
	.more-btn a {
		width: 240px;
		font-size: 14px;
		padding: 10px 20px;
	}
}


/*----------------------------------------------------
SP-nav
------------------------------------------------------ */
/* .sp-header.css に記載 */ 




/*--------------------------
#wrapper
---------------------------- */
#wrapper{
}

/*--------------------------
Main Container
---------------------------- */
.container {
  max-width: 1400px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 1150px) {
  .container {
    padding: 0 20px;
  }
}






/*--------------------------
Header
---------------------------- */
.pcHeader {
    /*background:rgba( 0, 0 , 0 , 0.3);*/
    transition: background-color 0.3s ease;
    padding: 15px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
}

.pcHeader.active {
    background-color: #fff;
}

.pcHeader .visually-hidden {
    position: absolute;          /* 要素を通常の流れから切り離す */
    width: 1px;                  /* 要素の幅を最小限にする */
    height: 1px;                 /* 要素の高さを最小限にする */
    padding: 0;                  /* パディングをゼロにする */
    margin: -1px;                /* マージンを調整する (一部ブラウザ対応のため) */
    overflow: hidden;            /* 要素の領域からはみ出たコンテンツを隠す */
    clip: rect(0, 0, 0, 0);      /* 古いブラウザ/支援技術向け */
    clip-path: inset(50%);       /* 最新の標準的な手法 */
    white-space: nowrap;         /* テキストが折り返さないようにする */
    border: 0;                   /* ボーダーをゼロにする */
}

/*--------------------------
Navigation Area
---------------------------- */
.headerNnavArea {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 20px;
}

.headerNnavArea ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 40px;
}

.headerNnavArea ul li {
    position: relative;
}

.headerNnavArea ul li a {
    text-decoration: none;
    font-size: 17px;
    font-weight: bold;
    color: #fff;
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
}

.headerNnavArea ul li a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: width 0.3s ease;
}

.headerNnavArea ul li a:hover::before {
    width: 100%;
}

/*--------------------------
Contact Button
---------------------------- */
.headerContact {
    width: 170px;
}

.headerContact a {
    display: block;
    background: rgba(255, 255, 255, 0.3);
    border: solid 1px #fff;
    padding: 6px 0;
    text-align: center;
}

.headerContact a span {
    display: inline-block;
    background-image: url(../img/headerContact_icon.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 22px auto; /* Corrected typo: background-sizse to background-size */
    padding-left: 32px;
    color: #fff;
}

/*--------------------------
Dropdown Submenu
---------------------------- */
.has-submenu .submenu {
    position: absolute;
    top: 100%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.8);
    width: 200px;
    padding: 10px 0;
    margin-top: 5px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    z-index: 1000;
    display: block;
    flex-wrap: nowrap;
}

.headerNnavArea ul li:hover .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.has-submenu .submenu li {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

.has-submenu .submenu li a {
    display: block;
    padding: 8px 10px;
    font-size: 14px !important;
    text-align: left;
    transition: background-color 0.3s ease;
    width: 100%;
    color: #fff;
}

.has-submenu .submenu li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.has-submenu .submenu li a::before {
    display: none !important;
}

/*--------------------------
Submenu Content Wrapper (Large Submenu)
---------------------------- */
.submenu-content {
    display: none; /* Initially hidden, controlled by JS */
    position: absolute;
    left: 0;
    top: 70px; /* Adjust based on header height */
    width: 100%;
    background: #fff;
    z-index: 1000;
}

.submenu-content .inner {
    padding: 30px 0;
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    position: relative;
}

.submenu-content .submenu-title {
    margin-bottom: 15px;
    border-bottom: dashed 1px #000;
    padding-bottom: 15px;
}

.submenu-content .submenu-title a {
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    color: #000;
}

.submenu-content .submenu {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 20px;
}

.submenu-content .submenu li {
    width: calc((100% - 40px) / 3);
}

.submenu-content .submenu li a {
    display: block;
    text-decoration: none;
    color: #000;
    position: relative;
    padding-left: 15px;
}

.submenu-content .submenu li a:after {
    content: "〉";
    position: absolute;
    left: 0;
    top: 3px;
    font-size: 13px;
}

/* クローズボタン */
.submenu-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    z-index: 1001;
}

/* オーバーレイ */
#overlay {
    display: none; /* Initially hidden, controlled by JS */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 900;
}
#overlay-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100px;  /* ヘッダー高さに合わせて調整 */
    background: #fff;
    z-index: 10000; /* overlay より手前に */
    display: none;
}


/*--------------------------
Media Queries
---------------------------- */
@media screen and (max-width: 1150px) {
    .submenu-content .inner {
        max-width: calc(100% - 30px);
    }
}

@media screen and (max-width: 767px) {
    .pcHeader {
        display: none;
    }
}




/*--------------------------
Mobile Menu
---------------------------- */
.mobile-menu-btn {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 20px;
  cursor: pointer;
}
@media screen and (max-width: 992px) {
  .mobile-menu-btn {
    display: flex;
  }
}

.mobile-menu-btn span {
  display: block;
  height: 2px;
  width: 100%;
  background-color: #333;
}

.mobile-menu {
  display: none;
  position: fixed;
  top: 80px;
  left: 0;
  width: 100%;
  height: calc(100vh - 80px);
  background-color: white;
  z-index: 99;
  padding: 20px;
  overflow-y: auto;
}

.mobile-menu.active {
  display: block;
}

.mobile-menu ul {
  list-style: none;
}

.mobile-menu ul li {
  margin-bottom: 20px;
}

.mobile-menu ul li a {
  text-decoration: none;
  color: #333;
  font-size: 18px;
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

/*--------------------------
Hero Section：メインビジュアル
---------------------------- */
.hero{
	position:relative;
}
.hero .hero-txt{
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index:20;
	color:#fff;
	font-family: "Zen Old Mincho", serif;
	font-size: clamp(25px, 7.9275vw + -35.8041px, 95px); /* Vary between 767px and 1650px */
	padding-left:1em;
	line-height:1.2;
}
.hero .hero-txt b{
	font-size: clamp(30px, 10.7588vw + -52.5198px, 125px); /* Vary between 767px and 1650px */
}
/* ----- */
.hero-visual{
	height:100vh;
	position:relative;
	display:flex;
	flex-wrap:wrap; 
	gap:0;
}
.hero .hero-left{
	position:relative;
	background:url(../img/hero/hero-left.png) no-repeat center center;
	background-size:cover;
	clip-path: polygon(0 0, 75% 0, 100% 100%, 0% 100%);
	height:100vh;
	width: 60%;
	overflow:hidden;
	z-index:10;
}
.hero .hero-right{
	position:absolute;
	right:0;
	top:-1px;
	z-index:1;
	width:55%;
	height:calc( 100vh - 100px);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 23% 100%);
	overflow:hidden;
}
/* ----- */
.hero .hero-right ul {
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	height:calc( 100vh - 100px);
	overflow:hidden;
}
.hero .hero-right ul li{
	width: 100%;
	height:calc( 100vh - 100px);
}
/* ----- */
.hero .hero-left img{
}
.hero .hero-right img{
	width:auto;
	height:calc( 100vh - 100px);
	object-fit: cover;
}





/* スライダーの基本スタイル */
.hero .hero-right ul.hero-right-slick {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: calc(100vh - 100px);
  overflow: hidden;
}

/* スライドの基本スタイル */
.hero .hero-right ul.hero-right-slick li.slide {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
  /* 位置はJavaScriptで設定 */
}

/* アクティブスライド（現在表示中） */
.hero .hero-right ul.hero-right-slick li.slide.active {
  z-index: 2;
}

/* 次のスライド（右側に待機中） */
.hero .hero-right ul.hero-right-slick li.slide.next {
  z-index: 1;
}

/* スライド画像のスタイル */
.hero .hero-right ul.hero-right-slick li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/*------------------------------------
  テキストアニメーション用の修正css
-------------------------------------*/
.text-line {
  position: relative;
  display: inline-block;
}

/* 不要なマスク要素のスタイルを削除/コメントアウト */
/*.mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: white;
  z-index: 1;
}*/

.text-content {
  position: relative;
  z-index: 2;
  /* opacity: 0; を削除 - 個々の文字に適用するため */
}

/* 個々の文字のアニメーション用スタイル */
.char {
  display: inline-block;
  /* JavaScriptで制御するので初期状態は不要 */
  /* opacity: 0; */
}

@media screen and (max-width: 767px) {
	.hero .hero-left{
		width: 71%;
		clip-path: polygon(0 0, 65% 0, 100% 100%, 0% 100%);
	}
	.hero .hero-right{
		clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
	}
	.hero .hero-txt{
		width:100%;
		padding:0 15px;
		z-index:20;
		color:#fff;
		text-align:center;
		font-size: 50px;
	}
	.hero .hero-txt b{
		font-size:60px;
	}
}
@media screen and (max-width: 450px) {
	.hero .hero-txt{
		font-size: 35px;
	}
	.hero .hero-txt b{
		font-size:45px;
	}
}

/*--------------------------
TOP:News Section
---------------------------- */
.news {
	position: relative;
	z-index: 20;
	padding: 80px 0;
	padding-top: clamp(40px, 8.5714vw + -11.4286px, 100px); /* Vary between 600px and 1300px */
	padding-bottom: clamp(60px, 14.2857vw + -25.7143px, 160px); /* Vary between 600px and 1300px */
}

.news-container {
	position:relative;
	z-index:25;
}
.news-container-main {
	position: relative;
	z-index: 10;
	width: 100%;
	max-width: 1150px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
}

.news-container-main .sectionTitleArea {
	width: 270px;
}


.news-container .more-btn {
	text-align:center;
}


/* ----- Layout ----- */
.news-listBox {
	width: calc(100% - (270px + 10px));
}

.news-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 40px;
}

.news-item {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 10px;
}

.news-date {
	width: 100px;
	padding-top: 4px;
	font-family: "Jost", sans-serif;
	font-size: 16px;
	font-weight: bold;
}

.news-tag {
	display: block;
	width: 100px;
	padding: 5px 5px;
	background: #DDDDDD;
	font-size: clamp(12px, 0.4619vw + 8.4573px, 14px); /* Vary between 767px and 1200px */
	font-weight: bold;
	text-align: center;
}

.news-headline {
	width: calc(100% - (100px + 100px + (10px * 2)));
	padding-top: 2px;
	font-size: 16px;
}

.news-headline a {
	color: #111;
	text-decoration: none;
	transition: color 0.3s ease; /* ホバーアニメーション用 */
}

.news-headline a:hover {
	color: #006633; /* ホバー時の文字色 */
}

/* ----- More Button ----- */
.news-container .more-btn {
	padding-left: 80px;
}

.news-container .more-btn a {
	background-color: #006633;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.news-container .more-btn a:hover {
	background-color: #333; /* ホバー時の背景色 */
	color: #fff; /* ホバー時の文字色 (変更なし) */
}

/* ----- Responsive Design ----- */
@media screen and (max-width: 1150px) {
	.news-container-main {
		max-width: calc(100% - 30px);
	}
}

@media screen and (max-width: 768px) {
	.news-container-main {
		flex-direction: column;
	}
	
	.news-container-main .sectionTitleArea {
		width: 100%;
	}
	
	.news-listBox {
		width: 100%;
	}
	
	.news-list {
		gap: 15px 10px;
	}
	
	.news-date {
		width: 100px;
	}
	
	.news-tag {
		width: 120px;
	}
	
	.news-headline {
		width: 100%;
		padding-top: 2px;
		font-size: clamp(14px, 0.9238vw + 6.9145px, 18px); /* Vary between 767px and 1200px */
	}
	
	.news-container .more-btn {
		padding-left: 0px;
		text-align:center;
	}
	
	.news-container .more-btn a {
		width: 240px;
		font-size: 14px;
		padding: 10px 20px;
		margin:0 auto;
	}
}


/*--------------------------
TOP:Mission Section
---------------------------- */



	.mission {
		position: relative;
		z-index: 2;
		height: 100vh; /* ビューポートの高さに設定 */
        overflow: hidden; /* pin時に内部要素がはみ出さないように */
	}

	.mission .mission-background {
	    position: absolute;
	    left: 0;
	    top: 0;
	    width: 100%;
        /* pinされる要素の高さをカバーするように調整、vhではなく%を使う方が一般的 */
	    height: 100%;
	    z-index: 0;
	    background-repeat: no-repeat;
	    background-position: center center;
	    background-size: cover;
		background-image: url('/modules/img/mission_bk.png');
	}

	.mission-inner {
		position: relative;
		z-index: 1;
		/* overflow: hidden; コンテンツ全体をpinするので不要かも */
		padding: 50px 20px; /* 左右にもパディングを追加 */
		height: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
        box-sizing: border-box; /* paddingを含めて高さを計算 */
        text-align: center; /* コンテンツを中央揃え */
	}

	.mission-content {
	    position: relative;
	    z-index: 2;
	    /* opacity: 1; ここでopacity:1にすると初期状態が見えてしまう */
		width: 100%; /* 中央揃えのために幅を指定 */
		max-width: 900px; /* コンテンツの最大幅を設定 */
		margin: 0 auto; /* 中央揃え */
	}

	/* アニメーション用の初期スタイル設定 */
	.mission-content .sectionTitleArea,
	.mission-content .mission-text,
	.mission-content .mission-desc .desc-1,
	.mission .more-btn {
	  opacity: 0;
	  transform: translateY(30px); /* 少し大きめにずらす */
      /* transition を CSS で設定すると GSAP と競合する場合があるので削除推奨 */
	}

	.mission-content .sectionTitleArea {
		text-align: center;
		margin-bottom: clamp(20px, 4vw, 44px); /* vw単位やclampで見直す */
	}

	.mission-content .sectionTitleArea .section-title {
		text-align: center;
        font-size: clamp(18px, 2vw, 24px); /* サイズ調整 */
        margin-bottom: 0.5em;
	}

	.mission-content .sectionTitleArea .section-heading {
		text-align: center;
		font-family: "Sawarabi Mincho", serif;
        font-size: clamp(30px, 5vw, 50px); /* サイズ調整 */
        margin: 0;
	}

	.mission-content .mission-text {
		margin-bottom: clamp(30px, 5vh, 60px); /* vh単位やclampで見直す */
		font-family: "Sawarabi Mincho", serif;
		font-size: clamp(28px, 5vw, 50px); /* サイズ調整 */
		font-style: normal;
		line-height: 1.4; /* 行間調整 */
		text-align: center;
        font-weight: bold;
	}

	.mission-content .mission-desc {
		font-family: "Sawarabi Mincho", serif;
		margin-bottom: clamp(40px, 6vh, 50px); /* vh単位やclampで見直す */
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		gap: 1.5em; /* 行間の調整 */
	}

	.mission-content .mission-desc .desc-1 {
		width: 100%;
		font-size: clamp(16px, 2.2vw, 22px); /* サイズ調整 */
		font-weight: normal; /* 必要ならbold */
        line-height: 1.7; /* 行間調整 */
        margin: 0; /* デフォルトマージンリセット */


		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap:1em;

	}

	.mission .more-btn {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
		z-index: 3;
        margin-top: clamp(30px, 5vh, 50px); /* 上部の要素とのマージン */
	}

	.mission .more-btn a {
		position: relative;
		z-index: 10;
		display: inline-block;
		background-color: #fff;
		background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeT0iOS40NTAyIiB3aWR0aD0iNi43MDQ2IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKC00NSAwIDkuNDUwMikiIGZpbGw9IiMwMDY2MzMiLz48cmVjdCB3aWR0aD0iNi43MjcwOSIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAtMC43MDcxMDcgMCAxLjQxNDA2KSIgZmlsbD0iIzAwNjYzMyIvPjwvc3ZnPg==");
		background-position: right 10px center;
		background-repeat: no-repeat;
		color: #006633;
		font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
		text-align: center;
		text-decoration: none;
		padding: 15px 0;
		width: 200px;
		transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
	}

	.mission .more-btn a:hover {
		background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
		background-color: #006633;
		color: #fff;
	}

	/* レスポンシブ調整 (SP) */
	.spOFF { display: block; } /* 初期表示 */
	.pcOFF { display: none; }

	@media screen and (max-width: 768px) {
		.spOFF { display: none; } /* SPでは非表示 */
		.pcOFF { display: block; } /* SPで表示 */

		.mission .mission-background {
			/* background-attachment: fixed; を使うとpinと干渉することがあるので注意 */
            /* height: 100%; のままで良い場合が多い */
		}

        .mission-inner {
            padding: 30px 15px; /* SP用パディング */
        }

		.mission .more-btn a {
			min-width: 180px; /* SP用ボタン幅 */
			padding: 12px 35px 12px 20px;
            font-size: 14px;
		}
	}

	/* 次のコンテンツセクションのスタイル */
	.next-content {
	  min-height: 100vh;
	  background-color: #f5f5f5;
	  padding: 80px 20px;
	  box-sizing: border-box;
	}

	.next-content .container {
	  max-width: 1200px;
	  margin: 0 auto;
	}

	.next-content h2 {
	  font-size: clamp(28px, 5vw, 36px);
	  margin-bottom: 30px;
	  text-align: center;
	  font-family: "Sawarabi Mincho", serif;
	}

	.next-content p {
	  font-size: clamp(16px, 2.5vw, 18px);
	  line-height: 1.6;
	  margin-bottom: 40px;
	  text-align: center;
	  max-width: 800px; /* 中央揃えテキストの読みやすさ向上 */
	  margin-left: auto;
	  margin-right: auto;
	}

	.next-content .content-blocks {
	  display: flex;
	  justify-content: center; /* 中央揃えに変更 */
	  flex-wrap: wrap;
	  gap: 20px;
	}

	.next-content .block {
      /* flex: 1 1 300px; だと数が少ない場合に伸びてしまう */
      width: clamp(280px, 30%, 350px); /* 幅を固定または範囲指定 */
	  min-height: 200px;
	  background-color: #fff;
	  border-radius: 8px;
	  padding: 30px;
	  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  font-size: 18px;
	  font-weight: bold;
	  transition: transform 0.3s ease, box-shadow 0.3s ease;
      text-align: center;
	}

	.next-content .block:hover {
	  transform: translateY(-5px);
      box-shadow: 0 8px 15px rgba(0,0,0,0.15);
	}

    /* ダミーセクション */
    .dummy-section {
      height: 100vh;
      background-color: #e9e9e9;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2rem;
      color: #555;
    }


/*--------------------------
service
---------------------------- */
.services {
	position: relative;
	z-index: 10;
	padding: 80px 0 30px;
}
.services-container {
	max-width: 1150px;
	margin: 0 auto;
	position: relative;
	z-index: 10;
}
.service-intro {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 1.6;
}
/* ▼ アニメーション用スタイルここから */
/* 初期状態では要素を非表示にする */
.services .sectionTitleArea,
.services .service-intro,
.services .service-item {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1), 
              transform 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
.services .service-item:hover {
	cursor: pointer;
}
/* 斜めグリッドでの要素は変形の組み合わせが必要 */
.services .service-item {
	transform: translateY(30px) skewX(0deg);
}
/* アニメーション表示クラス */
.services .sectionTitleArea.visible,
.services .service-intro.visible {
	opacity: 1;
	transform: translateY(0);
}
/* 斜めグリッドでの表示クラス */
.services .service-item.visible {
	opacity: 1;
	transform: translateY(0) skewX(0deg);
}
/* ▲ アニメーション用スタイルここまで */
@media screen and (max-width: 1150px) {
	.services-container {
		padding: 0 20px;
	}
}
/* ▼ ここから斜めレイアウト用のCSS */
.service-grid {
	display: flex;
	width: 100%;
	max-width: 1125px;
	margin: 0 auto;
	transform: skewX(20deg); /* メインの斜め角度 */
	position: relative;
	overflow: hidden;
}
.service-item {
  flex: 1;
  position: relative;
  overflow: hidden;
  height: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  background: #7A9689; /* 非アクティブ時の色 */
  transition: background-color 0.5s cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: center;
}
.service-item--active {
  background: #195539; /* アクティブ時の色 */
  position: relative;
  z-index: 2;
  box-shadow: 0 0 15px rgba(25, 85, 57, 0.5);
}
/* Add a subtle hover state */
.service-item:hover {
  cursor: pointer;
  background: #698779; /* わずかに濃い色 */
}
.service-item--active:hover {
  background: #195539; /* アクティブ時はホバー色も同じ */
}
/* 最後だけボーダーを消す */
.service-item:last-child {
	border-right: none;
}
.service-title {
	/* 親要素の斜め効果を打ち消すために逆方向に */
	transform: skewX(-20deg);
	color: white;
	font-size: clamp(16px, 0.5102vw + 14.0867px, 18px); /* Vary between 375px and 767px */
	text-align: center;
	line-height: 1.5;
	font-weight: 500;
	padding: 0 10px;
	transition: transform 0.3s ease-out, opacity 0.3s ease-out;
}
.service-item--active .service-title {
  transform: skewX(-20deg) scale(1.05);
  opacity: 1;
  font-weight: 600;
}
/* Style for the clicking effect */
.service-item--clicking {
  transform: translateY(0) skewX(0deg) scale(0.98);
  opacity: 0.9;
  transition: all 0.2s ease-out;
}
/* Style for the fading effect during transition */
.service-item--fading {
  transition: background-color 0.25s ease-out, opacity 0.25s ease-out;
  opacity: 0.85;
}
/* Optimize slick transitions */
.service-detail-lst .slick-slide {
  transition: opacity 0.8s cubic-bezier(0.25, 1, 0.5, 1);
}
/* Stagger the animation of service items */
.services .service-item:nth-child(1) { transition-delay: 0.1s; }
.services .service-item:nth-child(2) { transition-delay: 0.15s; }
.services .service-item:nth-child(3) { transition-delay: 0.2s; }
.services .service-item:nth-child(4) { transition-delay: 0.25s; }
.services .service-item:nth-child(5) { transition-delay: 0.3s; }
.services .service-item:nth-child(6) { transition-delay: 0.35s; }
/* レスポンシブ対応 */
@media (max-width: 1125px) {
	.service-grid {
		max-width: calc(100% - 40px);
	}
}

@media (max-width: 767px) {
	.service-grid {
		flex-wrap: wrap;
		/* PC時の斜め角度(skewX(20deg))をスマホで少し小さく */
		transform: skewX(13deg);
	}
	
	.service-title {
		transform: skewX(-13deg);
		transition: transform 0.3s ease-out, opacity 0.3s ease-out;
	}
	
	.service-item--active .service-title {
		transform: skewX(-13deg) scale(1.05);
	}
	
	/* クリック時とアクティブ時のスタイルも角度に合わせて調整 */
	.service-item--clicking {
		transform: translateY(0) skewX(0deg) scale(0.98);
	}
	
	.service-item {
		width: 50%; /* 2列表示 */
		flex: none;
		border-right: 1px solid rgba(255, 255, 255, 0.2);
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	}
	
	.service-item:nth-child(even) {
		border-right: none;
	}
	
	.service-item:nth-child(5),
	.service-item:nth-child(6) {
		border-bottom: none;
	}
	
	/* スマホ時のアニメーション調整 */
	.services .service-item.visible {
		opacity: 1;
		transform: translateY(0) skewX(0deg);
	}
	
	/* After要素のアニメーションも調整 */
	.service-item--active::after {
		transform: scaleX(1);
	}
}

@media (max-width: 500px) {
	.service-grid {
		margin-bottom:0;
	}
	.service-title {
		font-size: 14px;
	}
	.service-item {
		height: 65px;
	}
}
@media screen and (max-width: 767px) {
	.services {
		padding: 50px 0;
	}
}
/* ▲ ここまで斜めレイアウト用のCSS */

/*--------------------------
TOP:Service Detail Section
---------------------------- */

.service-detail {
	position: relative;
	z-index: 20;
	padding: 0px 0;
	overflow: hidden;
}

.service-detail-container {
	margin: 0 auto;
}

.service-detail-lst {
}

/* アニメーション用スタイル - マスク効果 */
/* マスク要素のスタイル */
.mask-overlay {
	position: absolute;
	top: 0;
	left: -20%; /* 画面外から少し内側 */
	width: 120%; /* 少し広めに取る */
	height: 100%;
	background: rgba(0, 0, 0, 0.4); /* 暗い半透明マスク */
	pointer-events: none; /* クリックイベントを下層に通す */
	z-index: 5;
	transform: skewX(-15deg); /* 少し傾ける */
}

/* スライディングマスク効果 */
.sliding-mask {
	position: absolute;
	top: 0;
	left: -100%; /* 画面外から始める */
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4); /* 透明度0.4の黒 */
	pointer-events: none; /* クリックイベントが下の要素に通るようにする */
	z-index: 2; /* コンテンツの上に表示 */
}

@keyframes slide-mask {
	0% { 
		left: -100%; 
	}
	100% { 
		left: 100%; 
	}
}

.mask-animation {
	animation: slide-mask 1.2s ease-out forwards;
}

/* slickのアクティブ要素とその前後の要素に対する特別な処理 */
.service-detail-lst .slick-slide {
	overflow: hidden; /* マスクがはみ出ないようにする */
}

.service-detail-lst .item {
	position: relative;
	overflow: hidden; /* エフェクトがはみ出ないようにする */

	padding-top: clamp(15px, 1.2165vw + 5.6691px, 30px); /* Vary between 767px and 2000px */
	padding-bottom: clamp(15px, 1.2165vw + 5.6691px, 30px); /* Vary between 767px and 2000px */

	padding-right: clamp(15px, 6.3776vw + -8.9158px, 40px); /* Vary between 375px and 767px */
	padding-left: clamp(15px, 6.3776vw + -8.9158px, 40px); /* Vary between 375px and 767px */

	background-image: url("../img/service-detail-lst_pic01.png");
	background-position: center;
	background-size: cover;
	transition: opacity 0.3s ease; /* ホバーアニメーション用 */
}

.service-detail-lst .item:before {
	content: "";
	display: block;
	background-image: linear-gradient(90deg, #26925c, #006633);
	mix-blend-mode: multiply;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

/* 既存のグラデーション背景を非表示にする */
.service-detail-lst .item.masked:before {
	opacity: 0 !important; /* !importantで確実に上書き */
	transition: opacity 0.3s ease;
}

.service-detail-lst .item:hover {
	opacity: 0.9; /* ホバー時の透明度 */
}

/* 背景画像バリエーション */
.service-detail-lst .item.item.service-detail-bg_eitaikuyou {
	background-image: url(../img/service-detail-lst_eitaikuyou.png); /* 不動産活用支援 */
}

.service-detail-lst .item.service-detail-bg_estate {
	background-image: url(../img/service-detail-lst_estate.png); /* 永代供養募 */
}

.service-detail-lst .item.service-detail-bg_temple-members {
	background-image: url(../img/service-detail-lst_temple-members.png); /* 檀信徒管理アプリ */
}

.service-detail-lst .item.service-detail-bg_endlife-support {
	background-image: url(../img/service-detail-lst_endlife-support.png); /* 終活支援 */
}

.service-detail-lst .item.service-detail-jumoku {
	background-image: url(../img/service-detail-lst_jumoku.png); /* 樹木葬 */
}
.service-detail-lst .item.service-detail-hp {
	background-image: url(../img/service-detail-lst_hp.png); /* 寺院向けホームページ制作 */
}

.service-detail-lst .item .service-text {
	position: relative;
	z-index: 2; /* テキストを前面に */
}

.service-detail-lst .item .service-text .service-detail-title {
	min-height: clamp(100px, 4.0552vw + 68.8970px, 150px); /* Vary between 767px and 2000px */
	color: #fff;
	font-size: clamp(20px, 5.1020vw + 0.8673px, 40px); /* Vary between 375px and 767px */
	font-weight: bold;
}

.service-detail-lst .item .service-text .service-detail-desc {
	min-height: clamp(150px, 4.0552vw + 118.8970px, 200px); /* Vary between 767px and 2000px */
	margin-bottom: 60px;
}

.service-detail-lst .item .service-text .service-detail-desc p {
	color: #fff;
	font-size: clamp(16px, 0.3244vw + 13.5118px, 20px); /* Vary between 767px and 2000px */
}

.service-detail-lst .item .service-text .service-detail-more-btn {
	text-align: right;
}

.service-detail-lst .item .service-text .service-detail-more-btn a {
	display: inline-block;
	background-color: #fff;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeT0iOS40NTAyIiB3aWR0aD0iNi43MDQ2IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKC00NSAwIDkuNDUwMikiIGZpbGw9IiMwMDY2MzMiLz48cmVjdCB3aWR0aD0iNi43MjcwOSIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAtMC43MDcxMDcgMCAxLjQxNDA2KSIgZmlsbD0iIzAwNjYzMyIvPjwvc3ZnPg==");
	background-position: right 10px center;
	background-repeat: no-repeat;
	color: #006633;
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
	text-align: center;
	text-decoration: none;
	padding: 15px 0;
	width: 200px;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.service-detail-lst .item .service-text .service-detail-more-btn a:hover {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	background-color: #006633; /* ホバー時の背景色を少し濃くする */
	color: #fff; /* ホバー時の文字色を少し濃くする */
}

/* Slickスライダー関連のスタイル */
/* Slickが生成するスライド要素にマージンを付与する */
.service-detail-lst .slick-slide {
	margin: 0 15px; /* お好みで数値調整 */
	box-sizing: border-box;
}

/* スライド全体の横スクロール量とバランスを整えるために、
   slick-list にはマイナスのマージンを指定しておくのが定番 */
.service-detail-lst .slick-list {
	margin: 0 -15px; /* slick-slide のマージン量と合わせる */
	display: flex !important; /* 追加 */
	align-items: stretch !important; /* 追加 */
}

.service-detail-lst .slick-track {
	display: flex !important; /* 重要: slickが指定する display を上書き */
	align-items: stretch !important;
}

/* スライドの中身 (.item) が縦方向に伸びるようにする */
.service-detail-lst .item {
	display: flex; /* 親が stretch で伸びる */
	flex-direction: column; /* タイトルやテキストを縦並び */
	justify-content: space-between; /* ↑ もし上下に余白を取りつつ要素を下揃えにしたい場合など */
}

.service-detail .more-btn{
	text-align:center;
	margin-top:40px;
}
.service-detail .more-btn a {
	background-color: #006633;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.service-detail .more-btn a:hover {
	background-color: #333; /* ホバー時の背景色 */
	color: #fff; /* ホバー時の文字色 (変更なし) */
}


/* レスポンシブ対応 */
@media screen and (max-width: 1150px) {
	.service-detail-lst .item .service-text .service-detail-title {
		font-size: 37px;
	}
}

@media screen and (max-width: 1050px) {
	.service-detail-lst .item .service-text .service-detail-title {
		font-size: 28px;
	}

	.service-detail-lst .item .service-text .service-detail-desc p {
		font-size: 18px;
	}
}
@media screen and (max-width: 860px) {
	.service-detail-lst .item .service-text .service-detail-title {
		font-size: 24px;
		min-height: 120px;
	}
}

@media screen and (max-width: 767px) {
	.service-detail .more-btn{
		margin-top:20px;
	}
}

@media screen and (max-width: 600px) {
	.service-detail-lst .item .service-text .service-detail-title {
		font-size: 18px;
	}

	.service-detail-lst .item .service-text .service-detail-more-btn a {
		width: auto;
		font-size: 14px;
		padding: 5px 20px;
	}
}


/*--------------------------
TOP:About Section (アンカレッジについて)
---------------------------- */

/* アニメーション用スタイルここから */
/* アニメーション用マスク要素 */
.about .about-card-image .about-mask-overlay {
  position: absolute;
  top: 0;
  left: -20%; /* 画面外から少し内側 */
  width: 120%; /* 少し広めに取る */
  height: 100%;
  background: rgba(0, 0, 0, 0.4); /* 暗い半透明マスク */
  pointer-events: none; /* クリックイベントを下層に通す */
  z-index: 5;
  transform: skewX(-15deg); /* 少し傾ける */
}

/* 既存のグラデーション背景を非表示にするクラス */
.about .about-card-image.about-masked:before {
  opacity: 0 !important; /* !importantで確実に上書き */
  transition: opacity 0.3s ease;
}
/* アニメーション用スタイルここまで */

/*--------------------------
TOP:About Section
---------------------------- */
.about {
	position:relative;
	z-index:10;
	padding: 80px 0 80px;
}

.about-container {
	position:relative;
	z-index:5;
	max-width: 1150px;
	margin: 0 auto;
}
.recruit-about .titBox ,
.recruit-about .about-container {
	position:relative;
	z-index:20;
}

.about-cards {
	position:relative;
	z-index:10;
	display: flex;
	flex-wrap: wrap;
	gap: 150px 110px;
	margin-bottom: 100px;
}

.about-card {
	width: calc((100% - 110px) / 2);
	position: relative;
    transition: transform 0.3s ease; /* ホバーアニメーション用 */
}

.about-card-image {
	position: relative;
	z-index: 1;
	overflow: hidden; /* マスクがはみ出ないようにする */
}
/*
.about-card-image:before {
	content:"";
	display:block;
	background-image: linear-gradient(90deg, #26925c, #006633);
	mix-blend-mode: multiply;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:2;
}
*/
.about-card:hover {
    transform: scale(1.03); /* ホバー時に少し拡大 */
}

.about-card a {
	color: #111;
	text-decoration: none;
    display: block; /* タイトル領域全体をhover可能にするため追加 */
	position: relative;
	z-index: 3; /* :beforeのz-indexより大きい値 */
}

.about-card-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 11 / 8;
	object-fit: cover;
	vertical-align: bottom;
    transition: opacity 0.3s ease; /* 画像ホバーアニメーション用 */
	position: relative;
	z-index: 1; /* :beforeのz-index:2より小さい値 */
	display: block;
}

.about-card-image img:hover {
    opacity: 0.9; /* 画像ホバー時に少し透明にする */
}

/* about-card-title */
.about-card-title {
	width: calc(100% - 30px);
	background-color: #fff;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3QgeT0iOS40NTAyIiB3aWR0aD0iNi43MDQ2IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0icm90YXRlKC00NSAwIDkuNDUwMikiIGZpbGw9IiMwMDY2MzMiLz48cmVjdCB3aWR0aD0iNi43MjcwOSIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjcwNzEwNyAwLjcwNzEwNyAwLjcwNzEwNyAtMC43MDcxMDcgMCAxLjQxNDA2KSIgZmlsbD0iIzAwNjYzMyIvPjwvc3ZnPg==");
	background-size: 10px auto;
	background-repeat: no-repeat;
	background-position: right 15px center;
	padding: 15px 15px 15px 130px;
	box-shadow: 0px 0px 20px 2px rgba(0, 0, 0, 0.2);
	position: absolute;
	bottom: -40px;
	right: -20px;
	z-index: 10;
    transition: box-shadow 0.3s ease; /* ホバーアニメーション用 */
}

.about-card-title:hover {
    box-shadow: 0px 0px 30px 5px rgba(0, 0, 0, 0.3); /* ホバー時影を強く */
}

.about-card-title .ja {
	font-family: "Noto Serif JP", serif;
	display: block;
	font-size: 15px;
	margin-bottom: 10px;
}

.about-card-title .en {
	display: block;
	font-family: "adobe-caslon-pro", serif;
	font-size: clamp(20px, 2.5510vw + 10.4337px, 30px); /* Vary between 375px and 767px */
	line-height: 1;
}

/* レスポンシブ対応 */
@media screen and (max-width: 1150px) {
	.about-container {
		max-width: calc(100% - 40px);
	}

	.about-cards {
		gap: 100px 30px;
	}

	.about-card {
		width: calc((100% - 30px) / 2);
	}

	.about-card-title {
		width: calc(100% - 30px);
		bottom: -40px;
		right: -10px;
	}
}

@media screen and (max-width: 900px) {
	.about-card-title {
		padding-left: 30px;
	}
}

@media screen and (max-width: 767px) {
	.about {
		padding: 50px 0 40px;
	}
	.about-card-title .ja {
		font-size: 19px;
		margin-bottom: 0;
	}
}

@media screen and (max-width: 600px) {
	.about-cards {
		gap: 80px 10px;
		margin-bottom: 50px;
	}

	.about-card {
		width: calc((100% - 10px) / 2);
	}

	.about-card-title {
		bottom: -20px;
		padding: 8px 10px;
		padding-left: 10px;
		width: calc(100% - 15px);
		background-position: right 15px center;
		box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 0.2);
	}

	.about-card-title .ja {
		font-size: 17px;
	}
}

@media screen and (max-width: 500px) {
	.about-cards {
		gap: 60px 10px;
	}
	.about-card-title {
		bottom: -20px;
	}

	.about-card-title .ja {
		font-size: 14px;
	}
}

/*--------------------------
TOP:Recruit Section
---------------------------- */
.recruit {
	position: relative;
	z-index: 10;
	display: flex;
	padding: 50px 0;
	background: #507F56;
}

.recruit .inner {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8%;
	align-items: center;
}

/* ----- Layout ----- */
.recruit-image {
	position: relative;
	z-index: 5;
	width: calc(62.5% - 8%);
	clip-path: polygon(0% 0%, 77% 0, 100% 50%, 100% 100%, 0% 100%);
}

.recruit-text {
	position: relative;
	z-index: 10;
	width: calc(37.5% - 1.5%);
	padding-right: 70px;
	color: #fff;
}

/* ----- Image Styling ----- */
.recruit-image span {
	display: inline-block;
	overflow: hidden;
	position: relative;
}

.recruit-image span img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.recruit-image img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 25 / 16;
	object-fit: cover;
	vertical-align: bottom;
	position: relative;
	z-index: 1; /* :beforeのz-index:2より小さい値 */
}


.recruit-desc {
	margin-bottom: 30px;
}

/* ----- Responsive Design ----- */
@media screen and (max-width: 992px) {
	.recruit {
		padding: 30px 0;
	}

	.recruit-image {
		width: calc(100% - 1.5%);
		margin-right: 25px;
		margin-bottom: 15px;
		clip-path: polygon(88% 0, 100% 78%, 100% 100%, 0 100%, 0 0);
	}

	.recruit-text {
		width: calc(100% - 40px);
		margin: 0 auto;
		padding-top: 20px;
		padding-right:25px;
	}

	.recruit-text .sectionTitleArea {
		margin-bottom: 20px;
	}
}


/*--------------------------
TOP:Jurin Section
---------------------------- */
.jurin {
	position: relative;
	z-index: 10;
	padding: 100px 0;
}
.jurin-inner {
	position: relative;
	z-index: 10;
}
.jurin-container {
	width: 100%;
	max-width: 1470px;
	margin: 0 auto 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 4%;
}
.jurin-button {
	position: relative;
	z-index: 10;
	width: 100%;
	max-width: 1470px;
	margin: 0 auto;
}
.jurin-info {
	width: calc(22% - 2%);
}
.jurin-gallery {
	width: calc(78% - 2%);
	position: relative;
	overflow: hidden;
}
.jurin-title {}
.jurin-title img {
	width: 100%;
	max-width: 283px;
	height: auto;
}
.jurin-button.more-btn a {
	border: solid 1px #006633;
	width: calc(22% - 2%);
	text-decoration: none; /* デフォルトのスタイルを打ち消し */
	color: #298E59; /* デフォルトの文字色 */
	display: block;
	padding: 10px 0;
	text-align: center;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}
.jurin-button.more-btn a:hover {
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	background-color: #006633; /* ホバー時の背景色を少し濃くする */
	color: #fff; /* ホバー時の文字色を少し濃くする */
}



.jurin-card-title-sub {
	font-size: clamp(14px, 0.5102vw + 12.0867px, 16px); /* Vary between 375px and 767px */
}
.jurin-card-title {
	font-size: clamp(17px, 0.7653vw + 14.1301px, 20px); /* Vary between 375px and 767px */
	font-weight: bold;
}
/* スライド一覧を横並び */
.jurin-gallery-lst {
	display: flex;
	transition: transform 0.3s ease;
}
/* カード基本 */
.jurin-card {
	flex: 0 0 auto;
	margin-right: 16px;
}
/* 画像を枠いっぱいに */
.jurin-image {
	margin-bottom: 10px;
}
.jurin-image img {
	display: block;
	width: 100%;
	height: auto;
}
.jurin-card a {
	text-decoration: none;
	color: #111;
	display: block; /* aタグをブロック要素にする */
	transition: opacity 0.2s ease; /* ホバーアニメーション用 */
}
.jurin-card a:hover {
	opacity: 0.8; /* ホバー時の透明度 */
}
/* PC(768px以上)は3枚表示（幅いっぱい） */
@media screen and (min-width: 768px) {
	.jurin-card {
		width: calc((100% - 2 * 16px) / 3);
		/* 3枚並べるので (100% - (カード間マージン16px×2)) / 3 */
	}
}
/* スマホ(767px以下)は1枚表示 + 次が少し見える */
@media screen and (max-width: 767px) {
	.jurin-card {
		width: 80%; /* 80%にして残り20%分を次カードのチラ見せに */
	}
}
/* スライダー矢印ボタンをギャラリーの下部に配置 */
.slider-controls {
	margin-top: 20px;
	/* ギャラリーとの間に余白を設定 */
	text-align: right;
	/* 中央寄せ */
	pointer-events: auto;
	/* クリック可能に */
}
/* 個々の矢印はインラインブロックに */
.slider-arrow {
	display: inline-block;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.8);
	padding: 8px 12px;
	font-weight: bold;
	font-size: 18px;
	user-select: none;
	border-radius: 4px;
	margin: 0 8px;
	transition: background-color 0.2s ease, opacity 0.2s ease; /* ホバーアニメーション用 */
}
.slider-arrow:hover {
	background-color: rgba(255, 255, 255, 1); /* ホバー時の背景色 */
	opacity: 0.9;
}
.slider-arrow:nth-of-type(1) {
	/* 左矢印 */
	left: 8px;
}
.slider-arrow:nth-of-type(2) {
	/* 右矢印 */
	right: 8px;
}
@media screen and (max-width: 1470px) {
	.jurin-container,
	.jurin-button {
		max-width: calc(100% - 40px);
	}
	.jurin-button.more-btn a {
		width: 350px;
	}
}
@media screen and (max-width: 767px) {
	.jurin {
		padding: 50px 0;
	}
	.jurin-container {
		max-width: 100%;
		margin-bottom: 20px;
	}
	.jurin-container {
		gap: 40px 0%;
	}
	.jurin-button.more-btn a {
		width: 240px;
		font-size: 14px;
		padding: 10px 20px;
		margin:0 auto;
	}

	.jurin-info {
		width: 100%;
		max-width: calc(100% - 40px);
		margin: 0 auto;
	}
	.jurin-gallery {
		margin-left: 20px;
		width: 100%;
	}
	/* ---- */
	.jurin-title {
		text-align: center;
	}
	.jurin-title img {
		max-width: 200px;
	}
}

/* 樹木葬セクション アニメーション用スタイルここから */
/* 初期状態 */
.jurin-info {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}
.jurin-title {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.jurin-desc {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	transition-delay: 0.2s;
}
.jurin-gallery {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: 0.3s;
}
.jurin-card {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}
.slider-controls {
	opacity: 0;
	transition: opacity 0.5s ease;
	transition-delay: 0.8s;
}
.jurin-button {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	transition-delay: 0.9s;
}
/* アニメーション表示クラス */
.jurin-info.visible {
	opacity: 1;
	transform: translateY(0);
}
.jurin-info.visible .jurin-title,
.jurin-info.visible .jurin-desc {
	opacity: 1;
	transform: translateY(0);
}
.jurin-gallery.visible {
	opacity: 1;
	transform: translateY(0);
}
.jurin-gallery.visible .jurin-card {
	opacity: 1;
	transform: translateY(0);
}
.jurin-gallery.visible .slider-controls {
	opacity: 1;
}
.jurin-button.visible {
	opacity: 1;
	transform: translateY(0);
}
/* 各カードの遅延アニメーション（初期表示用） */
.jurin-gallery.visible .jurin-card:nth-child(1) {
	transition-delay: 0.4s;
}
.jurin-gallery.visible .jurin-card:nth-child(2) {
	transition-delay: 0.5s;
}
.jurin-gallery.visible .jurin-card:nth-child(3) {
	transition-delay: 0.6s;
}
.jurin-gallery.visible .jurin-card:nth-child(4) {
	transition-delay: 0.7s;
}
.jurin-gallery.visible .jurin-card:nth-child(5) {
	transition-delay: 0.8s;
}
/* 樹木葬セクション アニメーション用スタイルここまで */


/*--------------------------
Footer
---------------------------- */
footer {
	position:relative;
	z-index:10;
	padding: 60px 0;
	background-color: #F7F7F7;
}

.footer-container {
	width: 100%;
	max-width: 1350px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	gap: 20px 16%;
}

.footer-left {
	width: 240px;
}

.footer-nav {
	width: calc((100% - 16%) - 240px);
	margin: 0 auto;
	display: flex;
	flex-wrap:wrap;
	gap:15px;
}
.footer-nav.spOFF .footer-nav-col:nth-child(1){
	width:170px;
}
.footer-nav.spOFF .footer-nav-col:nth-child(2){
	width:calc( 100% - ( 320px + (30px) ));
}
.footer-nav.spOFF .footer-nav-col:nth-child(3){
	width:150px;
}


.footer-contact {
	display: flex;
	flex-direction: column;
	gap: 0px;
	flex-wrap: wrap; /* flex-flow: column flex-wrap; と同じ */
}

.footer-logo{
	text-align:center;
	margin-bottom:10px;
}
.footer-logo img{
	width:100%;
	max-width:240px;
	height:auto;
}

.footer-contact .footer-phone {
	text-align: center;
}

.footer-contact .footer-phone a {
	display: inline-block; /* background-position を調整するために追加 */
	text-decoration: none;
	color: #006633;
	font-family: "adobe-arabic", sans-serif;
	transition: opacity 0.3s ease; /* ホバーアニメーション用 */
}

.footer-contact .footer-phone a:hover {
	opacity: 0.7; /* ホバーアニメーション */
}
.footer-contact .footer-phone a img {
	width:100%;
	max-width:190px;
	height:auto;
}
.footer-contact .footer-phone a .tel-ruby{
}
.footer-contact .footer-phone a span{
}
.footer-contact .footer-phone a rt{
	font-size:13px;
	margin-bottom:-10px;
}
.footer-contact .footer-btn {
	background: #006633;
	color: #fff;
	font-size: 16px;
	display: block;
	text-align: center;
	padding: 10px 0;
	text-decoration: none;
	transition: background-color 0.3s ease; /* ホバーアニメーション用 */
}

.footer-contact .footer-btn:hover {
	background-color: #333; /* ホバーアニメーション */
}


.footer-nav a {
	text-decoration: none;
	color: #111;
	font-size: 15px;
	transition: color 0.3s ease; /* ホバーアニメーション用 */
}

.footer-nav a:hover {
	color: #006633; /* ホバーアニメーション */
}

.footer-nav_tit {
	font-weight: bold;
	margin-bottom: 10px;
}

.footer-nav_tit_lst {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	flex-wrap: wrap; /* flex-flow: column flex-wrap; と同じ */
}

.footer-nav_tit_lst li {
	font-weight: bold;
}

.footer-nav_lnk {
	display: flex;
	flex-direction: column;
	gap: 10px 0;
	flex-wrap: wrap; /* flex-flow: column flex-wrap; と同じ */
}

.footer-nav_lnk li {
}
.footer-nav_lnk_col2 {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	flex-direction: row;
	list-style:disc;
	padding-left:1.5em;
}
.footer-nav_lnk_col2 li{
	width:calc( (100% - 10px) / 2);
}

.footer-container02 {
	border-top: solid #D9D9D9 1px;
	padding-top: 30px;
	margin: 55px auto 0;
	width: 100%;
	max-width: 1350px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.footer-container02 .footer-social {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.footer-container02 .footer-social a {
	opacity: 0.8; /* 通常時の透過度を調整 */
	transition: opacity 0.3s ease; /* ホバーアニメーション用 */
}

.footer-container02 .footer-social a:hover {
	opacity: 1; /* ホバーアニメーション */
}
.footer-container02 .footer-social a img{
	width:30px;
	height:auto;
}


.footer-container02 .footer-bottom {
	text-align: right;
	font-size: 12px;
}

@media screen and (max-width: 1350px) {
	.footer-container {
		max-width: calc( 100% - 30px);
	}

	.footer-container {
		gap: 20px 50px;
	}

	.footer-left {
		width: 240px;
	}

	.footer-nav {
		width: calc((100% - 50px) - 240px);
	}
}
@media screen and (max-width: 1200px) {
	.footer-nav.spOFF .footer-nav-col:nth-child(1){
		width:130px;
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(2){
		width:calc( 100% - ( 280px + (30px) ));
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(3){
		width:150px;
	}

}
@media screen and (max-width: 1100px) {



	.footer-container {
		gap: 20px 5%;
	}

	.footer-left {
		width: 240px;
	}

	.footer-nav {
		width: calc((100% - 5%) - 240px);
	}

	.footer-nav_lnk_col2 {
	}
	.footer-nav_lnk_col2 li{
		width:100%;
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(1){
		width:180px;
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(2){
		width:calc( 100% - ( 330px + (30px) ));
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(3){
		width:150px;
	}

}
@media screen and (max-width: 920px) {
	.footer-nav.spOFF .footer-nav-col:nth-child(1){
		width:135px;
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(2){
		width:calc( 100% - ( 285px + (30px) ));
	}
	.footer-nav.spOFF .footer-nav-col:nth-child(3){
		width:150px;
	}

}

@media screen and (max-width: 767px) {
	.footer-container {
		flex-direction: column;
		gap: 20px;
		width:calc( 100% - 40px);
	}

	.footer-left {
		width: 100%;
	}
	.footer-logo{
		text-align:center;
	}

	.footer-contact .footer-btn {
		width: 240px;
		font-size: 14px;
		padding: 10px 20px;
		margin:0 auto;
	}
	.footer-nav {
		width: 100%;
		gap:15px 0;
	}


	.footer-nav .footer-nav-col {
		width:calc( (100% - 5px) / 2);
	}

	.footer-container02 {
		padding-left:20px;
		padding-right:20px;
	  flex-direction: column;
	}

	.footer-container02 .footer-social {
		width:100%;
	}

	.footer-container02 .footer-bottom {
		width:100%;
		text-align: right;
		font-size: 12px;
	}


}

@media screen and (max-width: 500px) {
	.footer-nav a {
		font-size: 13px;
	}
}

/*==============================
.pageTop
================================ */
.pageTop {
  position: fixed;       /* ここがないと浮かびません */
  top:      auto;
  right:    15px;        /* 初期は SP 用 */
  bottom:   15px;        /* 初期は SP 用 */
  left:     auto;
  z-index:  99999;
  margin:   auto;
  display:  none;        /* JS の fadeIn/fadeOut で制御 */
  transition: bottom 0.3s ease-in-out;  /* bottom 変化を滑らかに */
}
.pageTop img{
	width:58px;
	height:auto;
}

@media screen and (max-width: 767px) {
	/* PC 用の right/bottom 初期値 */
  .pageTop {
    right: 30px;
    bottom: 30px;
  }
	.pageTop img{
		width:30px;
		height:auto;
	}
}
/*==============================
.pagenation
================================ */
.pagenation{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.pagenation ul{
	text-align:center;
}
.pagenation ul li{
	display:inline-block;
	margin-right:10px;
}
.pagenation ul li:last-child{
	margin-right:0;
}
.pagenation ul li span,
.pagenation ul li a {
	border:solid 1px #ccc;
	border-radius:3px;
	display:block;
	padding:5px 12px;
	color:#000;
	text-decoration:none;
	min-width:15px;
	font-size:15px;
}
.pagenation ul li span{
	background:#E5F0EB;
}
@media screen and (max-width: 767px) { /* Smartphone */
	.pagenation ul li{
		margin-right:5px;
	}
}


/*--------------------------
.floating-banner 
---------------------------- */
.floating-banner {
  position: fixed;
  bottom: 30px;
  right: 20px;
  background-color: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  z-index: 99999999999;
  width: 100%;
  max-width: 510px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
    opacity: 0;
}



.floating-banner:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
.floating-banner a{
  text-decoration: none;
  color: #111;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 20px;
  background: url(../img/floating-arrow.png) no-repeat right 10px center;
  background-size: 11px;
  padding: 15px 20px;
  border-radius: 5px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}
.floating-banner a:hover {
}
.floating-banner a .floating-banner-title img {
  width: 100%;
  max-width: 150px;
  height: auto;
}
.floating-banner a .floating-banner-subtitle {
  font-size: 16px;
  line-height:1.3;
}
.floating-banner a .floating-banner-subtitle br{
	display:none;
}
.floating-banner-close {
  position: absolute;
  top: -15px;
  right: -15px;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.floating-banner-close:hover {
}
.floating-banner-close img{
	width:32px;
	height:auto;
}

@media screen and (max-width: 768px) {
  .floating-banner {
	width: 90%;
	bottom: 15px;
	padding: 0px 13px;
  }

	.floating-banner a {
	  padding: 6px 10px;
	}

  .floating-banner a .floating-banner-title img {
	width: 100%;
	max-width: 100px;
  }
}
@media screen and (max-width: 500px) {
  .floating-banner a{
	gap: 0 10px;
  }
  .floating-banner a .floating-banner-subtitle {
	font-size: 14px;
  }
}
@media screen and (max-width: 375px) {
  .floating-banner {
	padding: 0px 0px;
  }
	.floating-banner a{
	  padding: 6px 5px;
	  font-size:13px;
	}
	.floating-banner a .floating-banner-subtitle br{
		display:block;
	}
}

/*--------------------------
pageMainVisual
---------------------------- */
.pageMainVisual-text,
.pageMainVisual-image {
    opacity: 0;          /* ← autoAlpha の代わりに必須 */
    visibility: hidden;  /* ← autoAlpha の代わりに必須 */
}

.pageMainVisual {
	position: relative;
	/*height: 600px;*/
	height: 500px;
	display: flex;
	align-items: center;
	z-index:1;
	margin-top:70px;
}

.pageMainVisual-text {
	position: relative;
	width: 100%;
	height: 100%;
	padding-left: 5%;
	padding-right: 5%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 2;
	overflow: hidden;
}

.pageMainVisual-category {
	margin-bottom: 1rem;
	font-size: 26px;
	width: auto;
	font-family: "Noto Serif JP", serif;
}

.pageMainVisual-title {
	font-size: 80px;
	line-height: 1.2;
	letter-spacing:0.1em;
	width: auto;
	font-family: "adobe-caslon-pro", serif;
}

.pageMainVisual-image {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
	width: 66%;
	height: 100%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 23% 100%);
	overflow: hidden;
}

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

/* Decorative objects - ensure they don't interfere with masks */
.pageMainVisual .obj {
	position: absolute;
	top: 0;
	left: 0; /* Adjust positioning as needed relative to .pageMainVisual */
	width: 100%;
	height: 100%;
	pointer-events: none; /* Don't block interactions */
	z-index: 0; /* Keep below text and image */
}

.pageMainVisual .obj span {
	position: absolute;
}

.pageMainVisual .obj01 {
	top: 10%; /* Adjust position */
	left: 55%; /* Adjust position */
}

.pageMainVisual .obj02 {
	bottom: 15%; /* Adjust position */
	right: 5%; /* Adjust position */
}

/*
Mask overlay
---------------------------- */
.mask-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 140%;
	left: -30%;
	background: white; /* Or gradient as needed */
	transform: translateX(0);
	z-index: 10; /* Ensure it's above the content */
	pointer-events: none;
}


/*
Media Queries
---------------------------- */

@media (max-width: 767px) {
	.pageMainVisual {
		height: 400px;
		margin-top: 50px; /* Adjust as needed */
	}

	.pageMainVisual-category {
		font-size: 20px;
	}

	.pageMainVisual-title {
		font-size: 50px;
		line-height: 1.2; /* Ensure line height is appropriate */
	}
	.pageMainVisual-text {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.pageMainVisual-image {
		width: 75%;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%);
	}

	.pageMainVisual .obj01 {
		top: 5%; /* Adjust position */
		left: 50%; /* Adjust position */
		width: 50px; /* Example size adjustment */
	}
	.pageMainVisual .obj01 img {
		width: 100%;
		height: auto;
	} /* Make image responsive within span */

	.pageMainVisual .obj02 {
		bottom: 10%; /* Adjust position */
		right: 0%; /* Adjust position */
		width: 80px; /* Example size adjustment */
	}
	.pageMainVisual .obj02 img {
		width: 100%;
		height: auto;
	} /* Make image responsive within span */
}

@media (max-width: 400px) {
	.pageMainVisual-image {
		width: 65%;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 100%);
	}

	.pageMainVisual-category {
		font-size: 15px;
	}
	.pageMainVisual-title {
		font-size: 30px;
		max-width: 100%;
	}

	.pageMainVisual-text {
		width: 100%;
	}

	.pageMainVisual .obj01 {
		top: 10%;
		left: 40%;
		width: 40px;
	}

	.pageMainVisual .obj02 {
		bottom: 5%;
		right: 5%;
		width: 60px;
	}
}


/*--------------------------
.breadcrumb
---------------------------- */

.breadcrumb-wrapper {
	margin-top:25px;
	position: relative;
	width: 100%;
	height: 80px;
	overflow:hidden;

	overflow-x: auto;             /* 横スクロールを有効に */
	-webkit-overflow-scrolling: touch; /* タッチ時の慣性スクロール */
}

.breadcrumb-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 52%;
	height: 80px;
	background-color: rgba(200, 220, 215, 0.6);
	clip-path: polygon(0 0, 95% 0%, 100% 100%, 0% 100%);
	z-index: 1;
}

.breadcrumb-list {
	position: relative;
	display: flex;
	align-items: center;
	height: 100%;
	padding-left: 5%;
	list-style: none;
	z-index: 2;

	display: inline-flex;         /* 要素を一列に並べる */
	flex-wrap: nowrap;            /* 折り返し禁止 */
	white-space: nowrap;          /* テキストの折り返し禁止 */
}

.breadcrumb-item {
	display: flex;
	align-items: center;

	  flex: 0 0 auto;
}

.breadcrumb-item a {
	color: #0095d9;
	text-decoration: none;
}

.breadcrumb-item:not(:last-child)::after {
	content: ">";
	margin: 0 10px;
	color: #333;
}

@media (max-width: 767px) {
	.breadcrumb-wrapper {
		height: 60px;
	}
	
	.breadcrumb-list {
		padding-left: 1rem;
	}
	
	.breadcrumb-bg {
		clip-path: polygon(0 0, 87% 0%, 100% 100%, 0% 100%);
	}
}

@media (max-width: 400px) {
	.breadcrumb-bg {
		width: 60%;
		clip-path: polygon(0 0, 87% 0%, 100% 100%, 0% 100%);
	}
}

/*--------------------------
.sectionMission（企業理念ページ）
---------------------------- */
.sectionMission-missions{
	position:relative;
	background:#E5F0EB;
	padding:80px 0;
	z-index:10;
	overflow:hidden;
}
.sectionMission-container{
	position:relative;
	width:100%;
	max-width:1150px;
	margin:0 auto;
	padding:80px 25px;
	z-index:10;
}
.sectionMission-missions .sectionMission-container{
	background:#fff;
}
.sectionMission-missions .sectionMission-container:after{
	content:"";
	width:100%;
	height:100%;
	display:block;
	background:#fff;
	position:absolute;
	top:0;
	right:-100%;
}

@media (max-width: 1150px) {
	.sectionMission-container{
		max-width:calc( 100% - 30px);
		padding:30px 0px;
	}
}
/* .sectionMission-tit */
.sectionMission-tit{
	position: relative;
	z-index: 10;
	padding: 80px 0 0px;
	overflow:hidden;
}
.sectionMission-tit-container{
	position: relative;
	z-index: 10;
}

/* ------------- */
.missions-title{
	margin-bottom:55px;
}
.missions-title-en{
	text-align:center;
	font-family: "adobe-caslon-pro", serif;
	font-size:30px;
	margin-bottom:1em;
}
.missions-title-ja{
	text-align:center;
	font-family: "Noto Serif JP", serif;
	font-size:46px;
	line-height:1.2;
}
.missions-title-ja span{
	background:linear-gradient(transparent 60%, #F1F9DF 60%);
}
.missions-title-ja-sub{
	margin-top:30px;
	text-align:center;
	font-family: "Noto Serif JP", serif;
	font-size:30px;
	line-height:1.2;
}
@media (max-width: 767px) {
	.missions-title-en{
		font-size:16px;
		margin-bottom:0;
	}
	.missions-title-ja{
		font-size:23px;
	}
	.missions-title-ja-sub{
		font-size:18px;
	}
}
/* ------------- */
.sectionMission-missions-card-cnt{
	display:flex;
	flex-wrap:wrap;
	gap:3em;
	padding-bottom:50px;
	margin-bottom:50px;
	border-bottom:solid 1px #ccc;
}
.sectionMission-missions-card:last-child .sectionMission-missions-card-cnt{
	border:none;
	padding-bottom:0px;
	margin-bottom:0px;
}

.sectionMission-missions-card-cnt *{
	width:100%;
	line-height:2;
}
.sectionMission-missions-card-cnt p{
	font-size:18px;
	font-weight:500;
	text-align:center;
}
@media (max-width: 767px) {
	.sectionMission-missions-card-cnt{
		gap:1em;
	}
	.sectionMission-missions-card-cnt p{
		font-size:16px;
		font-weight:normal;
	}
}
/* ------------ */
.sectionMission-missions-card-value{
	width:100%;
	max-width:70%;
	margin:0 auto;
}
.sectionMission-missions-card-value li{
	position:relative;
	padding-left:80px;
	margin-bottom:30px;
}
.sectionMission-missions-card-value li:last-child{
	margin-bottom:0;
}
.sectionMission-missions-card-value li h4{
	font-size:30px;
	font-family: "Noto Serif JP", serif;
	font-weight:500;
}
.sectionMission-missions-card-value li h4 span{
	background:linear-gradient(transparent 60%, #fdff98 60%);
}

.sectionMission-missions-card-value li p{
	text-align:left;
	font-size:18px;
	font-weight:500;
}

.sectionMission-missions-card-value li:before{
	content:"1";
	display:block;
	font-family: "adobe-caslon-pro", serif;
	color:#507F56;
	line-height:1;

	font-size:96px;
	font-style:italic;
	position:absolute;
	left:0;
	top:0;
}

.sectionMission-missions-card-value li:nth-child(1){ margin-left:0; }
.sectionMission-missions-card-value li:nth-child(2){ margin-left:1.5em; }
.sectionMission-missions-card-value li:nth-child(3){ margin-left:2.5em; }

.sectionMission-missions-card-value li:nth-child(1):before{ content:"1"; }
.sectionMission-missions-card-value li:nth-child(2):before{ content:"2"; }
.sectionMission-missions-card-value li:nth-child(3):before{ content:"3"; }

@media (max-width: 1000px) {
	.sectionMission-missions-card-value{
		max-width:80%;
	}
}
@media (max-width: 900px) {
	.sectionMission-missions-card-value{
		max-width:85%;
	}
}
@media (max-width: 800px) {
	.sectionMission-missions-card-value{
		max-width:90%;
	}
}
@media (max-width: 767px) {
	.sectionMission-missions-card-value{
		max-width:95%;
	}
	.sectionMission-missions-card-value li{
		padding-left:40px;
		margin-bottom:20px;
	}
	.sectionMission-missions-card-value li:nth-child(1){ margin-left:0; }
	.sectionMission-missions-card-value li:nth-child(2){ margin-left:0em; }
	.sectionMission-missions-card-value li:nth-child(3){ margin-left:0em; }

	.sectionMission-missions-card-value li h4{
		font-size:20px;
	}
	.sectionMission-missions-card-value li p{
		font-size:16px;
	}
	.sectionMission-missions-card-value li:before{
		font-size:50px;
	}
}



/* --------------- */
.sectionMission-partner{
	position:relative;
}
.sectionMission-partner-main{
	margin-bottom:120px;
}
.sectionMission-partner-main .tit{
}
.sectionMission-partner-main .pic{
	text-align:center;
}
.sectionMission-partner-main .pic img{
	width:100%;
	height:auto;
	max-width:760px;
}

@media (max-width: 768px) {
	.sectionMission-partner-main{
		margin-bottom:50px;
	}
}
/* --------------- */
/* 親グリッドコンテナ */
.sectionMission-partner-sub-lst {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 30px 20px;
}

/* グリッドアイテム */
.sectionMission-partner-sub-lst .item {
	background: #eee;
	padding: clamp(15px, 3.4642vw + -11.5704px, 30px); /* Vary between 767px and 1200px */
	border-radius: 10px;

	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	row-gap: 10px;
}

.sectionMission-partner-sub-lst .item:nth-child(odd):last-child {
	grid-column: 1 / -1;
}
@media (max-width: 768px) {
  .sectionMission-partner-sub-lst {
    grid-template-columns: 1fr !important;
  }
}

/* --------------- */
/* 親グリッドコンテナ */
.sectionMission-partner-sub-lst {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 30px 20px;
}

/* グリッドアイテム */
.sectionMission-partner-sub-lst .item {
	background: #eee;
	padding: clamp(15px, 3.4642vw + -11.5704px, 30px); /* Vary between 767px and 1200px */
	border-radius: 10px;

	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	row-gap: 10px;
}

.sectionMission-partner-sub-lst .item:nth-child(odd):last-child {
	grid-column: 1 / -1;
}




.sectionMission-partner-sub-lst .item .tit{
	color:#006633;
	font-size: clamp(18px, 1.3857vw + 7.3718px, 24px); /* Vary between 767px and 1200px */
	font-family: "Noto Serif JP", serif;
}
.sectionMission-partner-sub-lst .item .subtit{
	font-size: clamp(22px, 1.8476vw + 7.8291px, 30px); /* Vary between 767px and 1200px */
	font-family: "Noto Serif JP", serif;
}
.sectionMission-partner-sub-lst .item .txt{
	font-size: clamp(14px, 0.4619vw + 10.4573px, 16px); /* Vary between 767px and 1200px */
}



/* --------------- */

.partnerlst{
	display:flex;
	flex-wrap:wrap;
	gap:70px 0;
}
.partnerlst .item{
	display:flex;
	flex-wrap:wrap;
	gap:20px 3.5%;
}
.partnerlst .item .pic{
	width:20%;
	clip-path: polygon(0% 0%, 90% 0, 100% 50%, 100% 100%, 0% 100%);
}
.partnerlst .item .pic img{
	width:100%;
	height:auto;
}
.partnerlst .item .cnt{
	width:73.5%;
}
.partnerlst .item .cnt .tit{
	font-size: clamp(20px, 0.9238vw + 12.9145px, 24px); /* Vary between 767px and 1200px */
	font-family: "Noto Serif JP", serif;
	margin-bottom:0.5em;
}
.partnerlst .item .cnt .lead{
	font-size: clamp(14px, 0.4619vw + 10.4573px, 16px); /* Vary between 767px and 1200px */
	margin-bottom:1.5em;
}
.partnerlst .item .cnt hr{
	border:none;
	border-bottom:solid 3px #006633;
	width:90px;
	margin-bottom:1em;
}
.partnerlst .item .cnt .txt{
	font-size: clamp(14px, 0.4619vw + 10.4573px, 16px); /* Vary between 767px and 1200px */
}


@media (max-width: 767px) {
	.partnerlst .item .pic{
		width:100%;
		text-align:center;
	}
	.partnerlst .item .pic img{
		width:50%;
	}
	.partnerlst .item .cnt{
		width:100%;
	}
}


@media (max-width: 500px) {
	.partnerlst .item .pic{
		width:100%;
	}
	.partnerlst .item .pic img{
		width:100%;
	}
	.partnerlst .item .cnt{
		width:100%;
	}
}



/*--------------------------
.会社概要
---------------------------- */
.sectionMission-companyInfo{
	width:100%;
	max-width:1150px;
	margin:0 auto;
	padding:80px 0;
}

@media (max-width: 1150px) {
	.sectionMission-companyInfo{
		max-width:calc( 100% - 30px);
	}
}

  table.company-info {
    width: 100%;
    border-collapse: collapse;
    font-family: sans-serif;
    margin-top: 2em;
  }

  table.company-info th {
    text-align: left;
    font-weight: bold;
    border-bottom: 2px solid #007042;
    padding: 30px 5px;
    width: 20%;
    vertical-align: top;
    white-space: nowrap;
	text-align:center;
	font-size: clamp(16px, 0.4619vw + 12.4573px, 18px); /* Vary between 767px and 1200px */
	vertical-align:middle;
  }

  table.company-info td {
    border-bottom: 1px solid #ccc;
    padding: 30px 20px;
	font-size: clamp(16px, 0.4619vw + 12.4573px, 18px); /* Vary between 767px and 1200px */
  }

  table.company-info td a {
    color: #007042;
    text-decoration: none;
  }
  table.company-info td a:hover {
	  text-decoration:underline;
	}

  table.company-info ul {
	  list-style:disc;
	  margin-left:1em;
  }

@media (max-width: 767px) {
  table.company-info th ,
  table.company-info td {
		padding: 15px 15px;
  }
	 
}


/* --------------- */
.sectionMission-companyAccess{
	position:relative;
	z-index:10;
}
.sectionMission-companyAccess .inner{
	width:100%;
	max-width:1150px;
	margin:0 auto;
	padding:80px 0;
	position:relative;
	z-index:10;
}

@media (max-width: 1150px) {
	.sectionMission-companyAccess{
		max-width:calc( 100% - 30px);
	}
}

.sectionMission-companyAccess .accessinfo{
}
.sectionMission-companyAccess .accessinfo p{
	font-size: clamp(14px, 0.9238vw + 6.9145px, 18px); /* Vary between 767px and 1200px */
	margin-bottom:35px;
}
.sectionMission-companyAccess .accessinfo iframe{
	display:block;
	width:100%;
	height:100%;
	aspect-ratio: 2 / 1;
}





/*--------------------------
経営者メッセージ
---------------------------- */

.temple-profile-wrapper {
  background-color: #eaf3f0; /* 背景色を全体に適用 */
  padding-bottom: 4rem;
  position:relative;
}

.intro-section {
  display: flex;
  justify-content: space-between;
  flex-wrap:wrap;
  max-width: 1150px;
  margin: 200px auto 0;
  padding: 4rem 2rem;
  position: relative;
  overflow: visible;
}

.intro-section .text-box {
  width: 55%;
  z-index: 2;
}

.intro-section .image-box {
  width: 45%;
  position: relative;
  right: -80px; /* 画像を右に飛び出すレイアウト */
  z-index: 1;
	clip-path: polygon(0% 0%, 90% 0, 100% 50%, 100% 100%, 0% 100%);
}

.intro-section .image-box img {
  width: 100%;
  height: auto;
  display: block;
}




.intro-section .position-title{
	font-size: clamp(18px, 0.4619vw + 14.4573px, 20px); /* Vary between 767px and 1200px */
}

.intro-section .name{
  font-family: "Noto Serif JP", serif;
	font-size: clamp(25px, 1.6166vw + 12.6005px, 32px); /* Vary between 767px and 1200px */
}
.intro-section .kana {
	font-size: clamp(21px, 1.6166vw + 8.6005px, 28px) !important; /* Vary between 767px and 1200px */
}
.intro-section hr{
	border:none;
	border-bottom:solid 3px #006633;
	width:90px;
	margin-top:1em;
	margin-bottom:1em;
}
.profile-description{
	.font-size: clamp(14px, 0.4619vw + 10.4573px, 16px); /* Vary between 767px and 1200px */
}

.vision-section {
  max-width: 1150px;
  margin: -80px auto 0;
  /*padding: 100px 90px 80px;*/
  padding: 70px 60px 60px;
  background:#fff;
}

.vision-section-tit {
	font-size: clamp(20px, 0.9238vw + 12.9145px, 24px); /* Vary between 767px and 1200px */
  margin-bottom: 1.5rem;
  font-weight:bold;
}
.vision-section p{
	line-height:2;
	font-size: clamp(16px, 0.3752vw + 13.1220px, 18px); /* Vary between 767px and 1300px */
}
.vision-section + .intro-section {
	margin-top:100px;
}

.vision-image-box{
  max-width: 1150px;
  margin: 100px auto 50px;
	clip-path: polygon(0% 0%, 90% 0, 100% 35%, 100% 100%, 0% 100%);
}
.vision-image-box img{
	width:100%;
	height:auto;
}

@media screen and (max-width: 1150px) {
	.intro-section {
	  max-width: calc(100% - 30px);
	}
	.vision-section {
	  max-width: calc(100% - 50px);
  }
	.vision-image-box{
	  max-width: calc(100% - 50px);
  }
}
@media screen and (max-width: 767px) {
	.intro-section {
	  padding: 4rem 0 15px;
	  margin:100px auto 30px;
	}
	.intro-section .text-box {
		width: 100%;
		order:2;
	}

	.intro-section .image-box {
		width: 100%;
		right:0;
		order:1;
		margin-bottom:15px;
	}
	.vision-section {
	  margin: 0px auto 0;
	  padding: 30px 15px 30px;
	}
}

/*--------------------------
サービス一覧
---------------------------- */
.sectionMission-serviceLst{
  position:relative;
}
.sectionMission-serviceLst .inner{
  width: 100%;
  max-width: 1150px;
  margin: 100px auto 0;
  position:relative;
  z-index:10;
}
.sectionMission-serviceLst + .sectionMission-serviceLst{
  margin-bottom:100px;
}
@media screen and (max-width: 1150px) {
  .sectionMission-serviceLst{
    max-width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .sectionMission-serviceLst{
    margin: 50px auto 0;
  }
  .sectionMission-serviceLst + .sectionMission-serviceLst{
    margin-bottom:50px;
  }
}

.serviceLst{
  display:flex;
  flex-wrap:wrap;
  gap:50px 9%;
}
.serviceLst li{
  width:calc( (100% - 9%) / 2);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  background:#fff;
  overflow: hidden;
  border-radius: 8px;
  transition: transform .4s cubic-bezier(.25,.8,.25,1),
              box-shadow .4s cubic-bezier(.25,.8,.25,1);
  will-change: transform, box-shadow;
  position: relative;
}
.serviceLst li a{
  text-decoration:none;
  color:#000;
  display: block;
}
.serviceLst li .pic img{
  width: 100%;
  height: 100%;
  aspect-ratio: 27 / 16;
  object-fit: cover;
  transition: transform .4s cubic-bezier(.25,.8,.25,1);
  will-change: transform;
}
.serviceLst li .cnt{
  padding:15px;
  transition: transform .4s;
}
.serviceLst li .cnt .tit{
  font-size: clamp(20px, 0.6319vw + 15.1532px, 24px);
  margin-bottom:1em;
  font-family: "Noto Serif JP", serif;
}
.serviceLst li .cnt .txt{
  font-size:16px;
}
@media screen and (max-width: 767px) {
  .serviceLst{
    gap:30px 3%;
  }
  .serviceLst li{
    width:calc( (100%) );
  }
}

/* ======================
   Hoverアニメーション（控えめ版）
   ====================== */
@media (hover:hover){
  .serviceLst li:hover{
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 8px 18px rgba(0,0,0,.12);
    transition: transform .6s ease, box-shadow .6s ease;
  }
  .serviceLst li:hover .pic img{
    transform: scale(1.03);
    transition: transform .6s ease;
  }
  .serviceLst li:hover .cnt{
    transform: translateY(-2px);
    transition: transform .6s ease;
  }
}

/* 遷移初期値も遅くする */
.serviceLst li,
.serviceLst li .pic img,
.serviceLst li .cnt {
  transition: transform .6s ease, box-shadow .6s ease;
}


/*--------------------------
採用情報：トップメッセージ
---------------------------- */
.recruitMessage{
	padding-top: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
	padding-bottom: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
}
.recruitMessage .pageSectionTitleArea{
	margin-bottom: clamp(50px, 9.3809vw + -21.9512px, 100px); /* Vary between 767px and 1300px */
}
.recruitMessage .inner{
	max-width: 1200px;
	margin: 0 auto;
	display:flex;
	flex-wrap:wrap;
	gap:2em;
}
.recruitMessage .inner p{
	width:100%;
	text-align:center;
	font-size: clamp(16px, 2.2vw, 22px); /* サイズ調整 */
	font-weight: normal; /* 必要ならbold */
	line-height: 1.7; /* 行間調整 */
	margin: 0; /* デフォルトマージンリセット */
}




.recruitMessage .more-btn{
	text-align:center;
	margin-top:40px;
}
.recruitMessage .more-btn a {
	background-color: #006633;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.recruitMessage .more-btn a:hover {
	background-color: #333; /* ホバー時の背景色 */
	color: #fff; /* ホバー時の文字色 (変更なし) */
}



@media screen and (max-width: 1200px) {
	.recruitMessage .inner{
		max-width: calc( 100% - 30px);
	}
}

/*--------------------------
もとめる人物像
---------------------------- */

.demand {
	position:relative;
	z-index:20;
	background:#F2F7F5;
	padding-top: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
	padding-bottom: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
}
/* Demand list styling */
.inner{
  list-style: none;
  max-width: 1200px;
  margin: 0 auto;
  counter-reset: item;
}
.demandLst {
	position:relative;
	z-index:10;
}
.demandLst li {
  display: flex;
  margin-bottom: 60px;
  position: relative;
  align-items: center;
}

/* Common styles for all list items */
.demandLst li .pic {
  width: 50%;
  flex-shrink: 0;
  position: relative;
}

.demandLst li .pic img {
  width: 100%;
  height: auto;
  display: block;
}

.demandLst li div.cnt {
  width: 50%;
  padding: 30px;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}

.demandLst li div.cnt p.tit {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  color: #4b7847;
}

.demandLst li div.cnt p.txt{
  font-size: 16px;
  line-height: 1.8;
}

/* Odd numbered items (1st, 3rd) - image on left, text on right */
.demandLst li:nth-child(odd) {
  flex-direction: row;
}

.demandLst li:nth-child(odd) .pic {
  order: 1;
}

.demandLst li:nth-child(odd) div.cnt{
  order: 2;
  margin-left: -20px;
}

.demandLst li:nth-child(odd) div.cnt:before {
  content: "0" counter(item);
  counter-increment: item;
  position: absolute;
  top: -20px;
  right: 10px;
  width: 60px;
  height: 60px;
  background-color: #4b7847;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  z-index: 2;
}

/* Even numbered items (2nd, 4th) - text on left, image on right */
.demandLst li:nth-child(even) {
  flex-direction: row-reverse;
}

.demandLst li:nth-child(even) .pic {
}

.demandLst li:nth-child(even) div.cnt {
  order: 1;
  margin-right: -20px;
}

.demandLst li:nth-child(even) div.cnt:before {
  content: "0" counter(item);
  counter-increment: item;
  position: absolute;
  top: -30px;
  left: 10px;
  width: 60px;
  height: 60px;
  background-color: #4b7847;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  z-index: 2;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .demandLst li,
  .demandLst li:nth-child(odd),
  .demandLst li:nth-child(even) {
    flex-direction: column;
  }
  
  .demandLst li .pic,
  .demandLst li div.cnt {
    width: 90%;
    margin: 0 auto;
  }
  
  .demandLst li div.cnt {
    margin-top: -20px;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  
  .demandLst li:nth-child(odd) div.cnt:before,
  .demandLst li:nth-child(even) div.cnt:before {
    top: -20px;
    right: 0;
    left: auto;
  }
	.demandLst li div.cnt p.tit {
	  font-size: 20px;
	}

	.demandLst li div.cnt p.txt{
	  font-size: 14px;
	}
}

/*--------------------------
数字で見るアンカレッジ
---------------------------- */
.lookNumAnchorage{
	background:#EFF6F3;
	padding-top: clamp(50px, 15.7978vw + -71.1690px, 150px); /* Vary between 767px and 1400px */
	padding-bottom: clamp(50px, 15.7978vw + -71.1690px, 150px); /* Vary between 767px and 1400px */
	position:relative;
	z-index:-1;
	overflow:hidden;
}
/* Base styles for the overall container */
.lookNum {
	position:relative;
	z-index:10;
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  max-width: 1150px;
  margin: 0 auto;
}

.lookNum .item {
	background:#fff;
  padding: 15px;
  display: flex;
  flex-direction: column;
}

/* Target specifically the .pic elements inside .lookNum */
.lookNum .pic {
	margin: 0;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
}

.lookNum .pic img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.lookNum .item:nth-chld(1) .pic img { max-width:346px;}
.lookNum .item:nth-chld(2) .pic img { max-width:338px;}
.lookNum .item:nth-chld(3) .pic img { max-width:258px;}
.lookNum .item:nth-chld(4) .pic img { max-width:310px;}
.lookNum .item:nth-chld(5) .pic img { max-width:285px;}
.lookNum .item:nth-chld(6) .pic img { max-width:489px;}
.lookNum .item:nth-chld(7) .pic img { max-width:506px;}
.lookNum .item:nth-chld(8) .pic img { max-width:1093px;}


.lookNum .tit {
	text-align:center;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 0.9479vw + 10.7299px, 24px); /* Vary between 767px and 1400px */
	line-height:1.2;

	font-weight: bold;
	margin-bottom:25px;
}
.lookNum .tit {
}
.lookNum .tit span{
	background:linear-gradient(transparent 60%, #F1F9DF 60%);
}

/* Mobile layout (default): all items in 1 column */

/* Tablet and desktop layout */
@media (min-width: 768px) {
  /* First row: 2 columns */
  .lookNum {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Last item spans full width */
  .lookNum .item:nth-child(8) {
    grid-column: 1 / -1;
  }
}

/* Desktop layout */
@media (min-width: 992px) {
  /* Create a layout with varying column counts */
  .lookNum {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 20px;
  }
  
  /* First row: 2 columns, each spanning 3 grid cells */
  .lookNum .item:nth-child(1),
  .lookNum .item:nth-child(2) {
    grid-column: span 3;
  }
  
  /* Second row: 3 columns, each spanning 2 grid cells */
  .lookNum .item:nth-child(3),
  .lookNum .item:nth-child(4),
  .lookNum .item:nth-child(5) {
    grid-column: span 2;
  }
  
  /* Third row: 2 columns, each spanning 3 grid cells */
  .lookNum .item:nth-child(6),
  .lookNum .item:nth-child(7) {
    grid-column: span 3;
  }
  
  /* Fourth row: 1 column spanning full width */
  .lookNum .item:nth-child(8) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1150px) {
	.lookNum {
	  max-width: calc(100% - 30px);
  }
}

@media (max-width: 768px) {
	.lookNum .item:nth-chld(8) .pic img { max-width:437px;}
}

/*--------------------------
社員の声
---------------------------- */
.staffVoice{
	position:relative;
}
.staffVoice .inner{
	width:100%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
}
@media (max-width: 1200px) {
	.staffVoice .inner{
		max-width:calc( 100% - 30px);
		margin:0 auto;
	}
}
/*--------------------------
社員の声：
---------------------------- */
.staffVoice{
	padding-top: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
	padding-bottom: clamp(50px, 9.3809vw + -21.9512px, 100px) /* Vary between 767px and 1300px */;
}
.staffVoice-inner{
	position:relative;
	z-index:10;
}
.staffVoice-tit{
	width:100%;
	text-align:center;
	font-family: "Noto Serif JP", serif;
	font-size:24px;
	line-height:1.2;

	padding-bottom: clamp(50px, 9.3809vw + -21.9512px, 100px); /* Vary between 767px and 1300px */
	padding-top: clamp(50px, 9.3809vw + -21.9512px, 100px); /* Vary between 767px and 1300px */
	margin-top: clamp(50px, 9.3809vw + -21.9512px, 100px); /* Vary between 767px and 1300px */
	border-top:solid 1px #ccc;
}
.staffVoice-tit span{
	background:linear-gradient(transparent 60%, #F1F9DF 60%);
}
.staffVoice-inner .staffVoice-tit.start{
	padding-top:0;
	margin-top:0;
	border-top:none;
}
@media (max-width: 767px) {
	.staffVoice-tit{
		font-size:20px;
	}
}
/*--------------------------
社員の声：仕事でやりがいを感じる瞬間は？
---------------------------- */
.staffVoice_felt{
	width:100%;
	height:100%;
	aspect-ratio: 1200 / 659; /* または aspect-ratio: 1.821; */
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}
.staffVoice_felt li:nth-child(1) img,
.staffVoice_felt li:nth-child(2) img,
.staffVoice_felt li:nth-child(3) img,
.staffVoice_felt li:nth-child(4) img,
.staffVoice_felt li:nth-child(5) img,
.staffVoice_felt li:nth-child(6) img,
.staffVoice_felt li:nth-child(7) img,
.staffVoice_felt li:nth-child(8) img,
.staffVoice_felt li:nth-child(9) img,
.staffVoice_felt li:nth-child(10) img{
	width:100%;
	height:auto;
}
.staffVoice_felt li:nth-child(1){
	width:25%;
	height:auto;
	position:absolute;
	top:4%;
	left:3%;
}
.staffVoice_felt li:nth-child(2){
	width:48%;
	height:auto;
	position:absolute;
	top:0%;
	right:0%;
}
.staffVoice_felt li:nth-child(3){
	width:40%;
	height:auto;
	position:absolute;
	top:14%;
	left:5%;
}
.staffVoice_felt li:nth-child(4){
	width:24%;
	height:auto;
	position:absolute;
	top:33%;
	left:60%;
}
.staffVoice_felt li:nth-child(5){
	width:30%;
	height:auto;
	position:absolute;
	top:36%;
	left:0%;
}
.staffVoice_felt li:nth-child(6){
	width:41%;
	height:auto;
	position:absolute;
	top:43%;
	left:45%;
}
.staffVoice_felt li:nth-child(7){
	width:19%;
	height:auto;
	position:absolute;
	top:43%;
	left:45%;
}
.staffVoice_felt li:nth-child(7){
	width:19%;
	height:auto;
	position:absolute;
	top:60%;
	left:14%;
}
.staffVoice_felt li:nth-child(8){
	width:41%;
	height:auto;
	position:absolute;
	top:58%;
	right:3%;
}
.staffVoice_felt li:nth-child(9){
	width:48%;
	height:auto;
	position:absolute;
	bottom:3%;
	left:0%;
}
.staffVoice_felt li:nth-child(10){
	width:30%;
	height:auto;
	position:absolute;
	bottom:3%;
	right:1%;
}
@media (max-width: 768px) {
	.staffVoice_felt{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_felt li:nth-child(1),
	.staffVoice_felt li:nth-child(2),
	.staffVoice_felt li:nth-child(3),
	.staffVoice_felt li:nth-child(4),
	.staffVoice_felt li:nth-child(5),
	.staffVoice_felt li:nth-child(6),
	.staffVoice_felt li:nth-child(7),
	.staffVoice_felt li:nth-child(8),
	.staffVoice_felt li:nth-child(9),
	.staffVoice_felt li:nth-child(10){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_felt li:nth-child(1) img{
		max-width:390px;
		margin-bottom:20px;
	}
	.staffVoice_felt li:nth-child(2) img{
		max-width:580px;
	}
	.staffVoice_felt li:nth-child(3) img{
		max-width:480px;
	}
	.staffVoice_felt li:nth-child(4) img{
		max-width:293px;
		margin-bottom:20px;
	}
	.staffVoice_felt li:nth-child(5) img{
		max-width:360px;
	}
	.staffVoice_felt li:nth-child(6) img{
		max-width:390px;
		margin-bottom:20px;
	}
	.staffVoice_felt li:nth-child(7) img{
		max-width:155px;
		margin-bottom:20px;
	}
	.staffVoice_felt li:nth-child(8) img{
		max-width:490px;
	}
	.staffVoice_felt li:nth-child(9) img{
		max-width:580px;
	}
	.staffVoice_felt li:nth-child(10) img{
		max-width:230px;
	}
}

/*--------------------------
社員の声：アンカレッジを選んだ理由は？
---------------------------- */
.staffVoice_reason{
	width:100%;
	height:100%;
	aspect-ratio: 1170 / 410; 
	max-width:1200px;
	margin:0 auto;
	position:relative;
}
.staffVoice_reason li:nth-child(1) img,
.staffVoice_reason li:nth-child(2) img,
.staffVoice_reason li:nth-child(3) img,
.staffVoice_reason li:nth-child(4) img,
.staffVoice_reason li:nth-child(5) img{
	width:100%;
	height:auto;
}
.staffVoice_reason li:nth-child(1){
	width:40%;
	height:auto;
	position:absolute;
	top:0%;
	left:0%;
}
.staffVoice_reason li:nth-child(2){
	width:25%;
	height:auto;
	position:absolute;
	top:32%;
	left:25%;
}
.staffVoice_reason li:nth-child(3){
	width:38%;
	height:auto;
	position:absolute;
	top:5%;
	right:0%;
}
.staffVoice_reason li:nth-child(4){
	width:23%;
	height:auto;
	position:absolute;
	top:50%;
	left:6%;
}
.staffVoice_reason li:nth-child(5){
	width:35%;
	height:auto;
	position:absolute;
	top:60%;
	left:60%;
}
@media (max-width: 768px) {
	.staffVoice_reason{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_reason li:nth-child(1),
	.staffVoice_reason li:nth-child(2),
	.staffVoice_reason li:nth-child(3),
	.staffVoice_reason li:nth-child(4),
	.staffVoice_reason li:nth-child(5){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_reason li:nth-child(1) img{
		max-width:480px;
	}
	.staffVoice_reason li:nth-child(2) img{
		max-width:190px;
		margin-bottom:20px;
	}
	.staffVoice_reason li:nth-child(3) img{
		max-width:450px;
	}
	.staffVoice_reason li:nth-child(4) img{
		max-width:280px;
	}
	.staffVoice_reason li:nth-child(5) img{
		max-width:410px;
	}
}
/*--------------------------
社員の声：どんな人と一緒に働きたい？
---------------------------- */
.staffVoice_wanth{
	width:100%;
	height:100%;
	aspect-ratio: 1200 / 437; /* または aspect-ratio: 2.745; */
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.staffVoice_wanth li:nth-child(1) img,
.staffVoice_wanth li:nth-child(2) img,
.staffVoice_wanth li:nth-child(3) img,
.staffVoice_wanth li:nth-child(4) img,
.staffVoice_wanth li:nth-child(5) img,
.staffVoice_wanth li:nth-child(6) img{
	width:100%;
	height:auto;
}

.staffVoice_wanth li:nth-child(1){
	width:28%;
	height:auto;
	position:absolute;
	top:0%;
	left:4%;
}
.staffVoice_wanth li:nth-child(2){
	width:20%;
	height:auto;
	position:absolute;
	top:27%;
	left:49%;
}
.staffVoice_wanth li:nth-child(3){
	width:12.5%;
	height:auto;
	position:absolute;
	top:20%;
	right:0%;
}
.staffVoice_wanth li:nth-child(4){
	width:30%;
	height:auto;
	position:absolute;
	top:40%;
	left:12%;
}
.staffVoice_wanth li:nth-child(5){
	width:43%;
	height:auto;
	position:absolute;
	top:63%;
	left:0%;
}
.staffVoice_wanth li:nth-child(6){
	width:32%;
	height:auto;
	position:absolute;
	top:65%;
	right:4%;
}
@media (max-width: 768px) {
	.staffVoice_wanth{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_wanth li:nth-child(1),
	.staffVoice_wanth li:nth-child(2),
	.staffVoice_wanth li:nth-child(3),
	.staffVoice_wanth li:nth-child(4),
	.staffVoice_wanth li:nth-child(5),
	.staffVoice_wanth li:nth-child(6){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_wanth li:nth-child(1) img{
		max-width:340px;
	}
	.staffVoice_wanth li:nth-child(2) img{
		max-width:220px;
		margin-bottom:20px;
	}
	.staffVoice_wanth li:nth-child(3) img{
		max-width:230px;
	}
	.staffVoice_wanth li:nth-child(4) img{
		max-width:260px;
		margin-bottom:20px;
	}
	.staffVoice_wanth li:nth-child(5) img{
		max-width:520px;
	}
	.staffVoice_wanth li:nth-child(6) img{
		max-width:420px;
	}
}

/*--------------------------
社員の声：アンカレッジの何処が好き
---------------------------- */
.staffVoice_like{
	width:100%;
	height:100%;
	aspect-ratio: 1200 / 515; /* または aspect-ratio: 2.33; */
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.staffVoice_like li:nth-child(1) img,
.staffVoice_like li:nth-child(2) img,
.staffVoice_like li:nth-child(3) img,
.staffVoice_like li:nth-child(4) img,
.staffVoice_like li:nth-child(5) img,
.staffVoice_like li:nth-child(6) img,
.staffVoice_like li:nth-child(7) img{
	width:100%;
	height:auto;
}

.staffVoice_like li:nth-child(1){
	width:36%;
	height:auto;
	position:absolute;
	top:6%;
	left:13%;
}
.staffVoice_like li:nth-child(2){
	width:15%;
	height:auto;
	position:absolute;
	top:5%;
	right:20%;
}
.staffVoice_like li:nth-child(3){
	width:36%;
	height:auto;
	position:absolute;
	top:21%;
	left:0%;
}
.staffVoice_like li:nth-child(4){
	width:42%;
	height:auto;
	position:absolute;
	top:33%;
	right:4%;
}
.staffVoice_like li:nth-child(5){
	width:31%;
	height:auto;
	position:absolute;
	top:50%;
	left:10%;
}
.staffVoice_like li:nth-child(6){
	width:34%;
	height:auto;
	position:absolute;
	bottom:0%;
	left:3%;
}
.staffVoice_like li:nth-child(7){
	width:51%;
	height:auto;
	position:absolute;
	bottom:0%;
	right:0%;
}
@media (max-width: 768px) {
	.staffVoice_like{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_like li:nth-child(1),
	.staffVoice_like li:nth-child(2),
	.staffVoice_like li:nth-child(3),
	.staffVoice_like li:nth-child(4),
	.staffVoice_like li:nth-child(5),
	.staffVoice_like li:nth-child(6),
	.staffVoice_like li:nth-child(7){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_like li:nth-child(1) img{
		max-width:270px;
		margin-bottom:20px;
	}
	.staffVoice_like li:nth-child(2) img{
		max-width:180px;
	}
	.staffVoice_like li:nth-child(3) img{
		max-width:440px;
	}
	.staffVoice_like li:nth-child(4) img{
		max-width:510px;
	}
	.staffVoice_like li:nth-child(5) img{
		max-width:413px;
		margin-bottom:20px;
	}
	.staffVoice_like li:nth-child(6) img{
		max-width:410px;
	}
	.staffVoice_like li:nth-child(7) img{
		max-width:620px;
	}
}


/*--------------------------
社員の声：前職は？
---------------------------- */
.staffVoice_before{
	width:100%;
	height:100%;
	aspect-ratio: 1100 / 320; /* または aspect-ratio: 3.4375; */
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.staffVoice_before li:nth-child(1) img,
.staffVoice_before li:nth-child(2) img,
.staffVoice_before li:nth-child(3) img,
.staffVoice_before li:nth-child(4) img,
.staffVoice_before li:nth-child(5) img{
	width:100%;
	height:auto;
}

.staffVoice_before li:nth-child(1){
	width:30%;
	height:auto;
	position:absolute;
	top:0%;
	left:5%;
}
.staffVoice_before li:nth-child(2){
	width:27%;
	height:auto;
	position:absolute;
	top:10%;
	left:57%;
}
.staffVoice_before li:nth-child(3){
	width:17%;
	height:auto;
	position:absolute;
	top:46%;
	left:0%;
}
.staffVoice_before li:nth-child(4){
	width:16%;
	height:auto;
	position:absolute;
	bottom:0%;
	left:15%;
}
.staffVoice_before li:nth-child(5){
	width:50%;
	height:auto;
	position:absolute;
	bottom:3%;
	right:5%;
}
@media (max-width: 768px) {
	.staffVoice_before{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_before li:nth-child(1),
	.staffVoice_before li:nth-child(2),
	.staffVoice_before li:nth-child(3),
	.staffVoice_before li:nth-child(4),
	.staffVoice_before li:nth-child(5){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_before li:nth-child(1) img{
		max-width:330px;
	}
	.staffVoice_before li:nth-child(2) img{
		max-width:270px;
		margin-bottom:20px;
	}
	.staffVoice_before li:nth-child(3) img{
		max-width:125px;
		margin-bottom:20px;
	}
	.staffVoice_before li:nth-child(4) img{
		max-width:180px;
	}
	.staffVoice_before li:nth-child(5) img{
		max-width:550px;
	}
}


/*--------------------------
社員の声：向いている人
---------------------------- */
.staffVoice_whois{
	width:100%;
	height:100%;
	aspect-ratio: 1200 / 540; /* または aspect-ratio: 2.222; */
	max-width:1200px;
	margin:0 auto;
	position:relative;
}

.staffVoice_whois li:nth-child(1) img,
.staffVoice_whois li:nth-child(2) img,
.staffVoice_whois li:nth-child(3) img,
.staffVoice_whois li:nth-child(4) img,
.staffVoice_whois li:nth-child(5) img{
	width:100%;
	height:auto;
}

.staffVoice_whois li:nth-child(1){
	width:25%;
	height:auto;
	position:absolute;
	top:3%;
	left:3%;
}
.staffVoice_whois li:nth-child(2){
	width:35%;
	height:auto;
	position:absolute;
	top:0%;
	left:57%;
}
.staffVoice_whois li:nth-child(3){
	width:22%;
	height:auto;
	position:absolute;
	top:46%;
	left:20%;
}
.staffVoice_whois li:nth-child(4){
	width:51%;
	height:auto;
	position:absolute;
	top:40%;
	right:0%;
}
.staffVoice_whois li:nth-child(5){
	width:50%;
	height:auto;
	position:absolute;
	bottom:0%;
	left:5%;
}
@media (max-width: 768px) {
	.staffVoice_whois{
		aspect-ratio: auto;
		width:100%;
		display:flex;
		flex-wrap:wrap;
		gap:10px;
	}
	.staffVoice_whois li:nth-child(1),
	.staffVoice_whois li:nth-child(2),
	.staffVoice_whois li:nth-child(3),
	.staffVoice_whois li:nth-child(4),
	.staffVoice_whois li:nth-child(5){
		position:static;
		width:100%;
		text-align:center;
	}
	.staffVoice_whois li:nth-child(1) img{
		max-width:300px;
	}
	.staffVoice_whois li:nth-child(2) img{
		max-width:420px;
	}
	.staffVoice_whois li:nth-child(3) img{
		max-width:195px;
		margin-bottom:20px;
	}
	.staffVoice_whois li:nth-child(4) img{
		max-width:620px;
	}
	.staffVoice_whois li:nth-child(5) img{
		max-width:610px;
	}
}

/*--------------------------
1日のスケジュール
---------------------------- */
.schedules {
	background:#F2F7F5;
	padding:100px 0;
	position:relative;
}
.schedules .schedule {
	width:100%;
	max-width:1100px;
	list-style: none;
	padding-left: 0;
	position: relative;
	margin:0 auto;
	overflow:hidden;
	position: relative;
	z-index:10;
}

.schedule:before {
	position:absolute;
	content:"";
	display:block;
	border-left: solid 2px #507f56;
	top:0;
	left:185px;
	width:1px;
	height:2000px;
}


.schedules .schedule li {
  padding-left: 1.5em;
  margin-bottom: 2em;

  display:flex;
  flex-wrap:wrap;
  gap:65px 10%;
}


.schedules .schedule time {
	width:110px;
  color: #1f5c2e;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  display: inline-block;
  text-align:right;
  position: relative;
}
.schedules .schedule time.small {
	font-size: 24px;
}
.schedules .schedule time.middle {
	font-size: 36px;
}
.schedules .schedule time.big {
	font-size: 40px;
}

.schedules .schedule .content {
	width:calc( (100% - 10%) - 110px );
  display: inline-block;
  vertical-align: top;
}

.schedules .schedule .content.detail-content {
	background:#fff;
	padding: clamp(15px, 2.8143vw + -6.5854px, 30px); /* Vary between 767px and 1300px */
	border-radius:10px;
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	position:relative;
}
.schedules .schedule .content.detail-content:before {
	content:"";
	display:block;
	width:30px;
	height:40px;
	background:url(../img/recruit/schedule-detail-content-arrow.png) no-repeat center center;
	position:absolute;
	left:-30px;
	top:15px;
}

.schedules .schedule .content.detail-content  .info{
	width:calc( (100% - 26%) - 10px);
}
.schedules .schedule .content.detail-content  .pic{
	width:26%;
}
.schedules .schedule .content.detail-content  .pic img{
	width:100%;
	height:auto;
}


.schedules .schedule time::before {
  content: "";
  position: absolute;
  left: 155px;
  top:11px ;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 2px solid #3a7043;
  transform: rotate(45deg);
}
.schedules .schedule time.middle::before {
	top:23px;
}
.schedules .schedule time.big::before {
	top:26px;
}
.schedules .schedule h4 {
  font-size: 24px;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  margin-bottom:10px;
}

.schedules .schedule p {
  font-size: 16px;
  line-height: 1.5;
}


@media (max-width: 1100px) {
	.schedules .schedule {
	}
	.schedule:before {
		left:125px;
	}
	.schedules .schedule time {
		width:80px;
	  font-size: 30px;
	}
	.schedules .schedule time::before {
	  left: 96px;
	}
	.schedules .schedule time.small {
		font-size: 20px;
	}
	.schedules .schedule time.middle {
		font-size: 25px;
	}
	.schedules .schedule time.big {
		font-size: 28px;
	}
}
@media (max-width: 850px) {
	.schedules .schedule {
	}
	.schedule:before {
		left:95px;
	}

	.schedules .schedule li {
	  gap:65px 35px;
	}


	.schedules .schedule .content.detail-content:before {
		content:none;
	}

	.schedules .schedule time {
		width:60px;
	  font-size: 30px;
	}
	.schedules .schedule .content {
		width:calc( (100% - 35px) - 75px );
	}
	.schedules .schedule time::before {
	  left: 65px;
	  width: 7px;
	  height: 7px;
	}


	.schedules .schedule time.small {
		font-size: 17px;
	}
	.schedules .schedule time.middle {
		font-size: 20px;
	}
	.schedules .schedule time.big {
		font-size: 22px;
	}
	.schedules .schedule h4 {
	  font-size: 19px;
	}

	.schedules .schedule p {
	  font-size: 15px;
	}
	.schedules .schedule time::before {
	  top:11px ;
	}
	.schedules .schedule time.middle::before {
		top:12px;
	}
	.schedules .schedule time.big::before {
		top:16px;
	}
}
@media (max-width: 850px) {
	.schedules .schedule .content.detail-content  .info{
		width:100%;
	}
	.schedules .schedule .content.detail-content  .pic{
		width:100%;
	}

}





.sectionMission-companyInfo .more-btn{
	text-align:center;
	margin-top:40px;
}
.sectionMission-companyInfo .more-btn a {
	background-color: #006633;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNiIgaGVpZ2h0PSIxMSIgdmlld0JveD0iMCAwIDYgMTEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+IDxyZWN0IHk9IjkuNDUwMiIgd2lkdGg9IjYuNzA0NiIgaGVpZ2h0PSIxIiByeD0iMC41IiB0cmFuc2Zvcm09InJvdGF0ZSgtNDUgMCA5LjQ1MDIpIiBmaWxsPSIjZmZmZmZmIi8+IDxyZWN0IHdpZHRoPSI2LjcyNzA5IiBoZWlnaHQ9IjEiIHJ4PSIwLjUiIHRyYW5zZm9ybT0ibWF0cml4KDAuNzA3MTA3IDAuNzA3MTA3IDAuNzA3MTA3IC0wLjcwNzEwNyAwIDEuNDE0MDYpIiBmaWxsPSIjZmZmZmZmIi8+PC9zdmc+");
	color: #fff;
	text-decoration: none;
	width: 240px;
	transition: background-color 0.3s ease, color 0.3s ease; /* ホバーアニメーション用 */
}

.sectionMission-companyInfo .more-btn a:hover {
	background-color: #333; /* ホバー時の背景色 */
	color: #fff; /* ホバー時の文字色 (変更なし) */
}


/*--------------------------
プライバシーポリシー
---------------------------- */
.sectionPolicy {
    padding: 80px 0;
	position:relative;
}
.sectionPolicy .inner{
	width:100%;
	max-width:1100px;
	margin:0 auto;
	position:relative;
	z-index:10;
}

.policyLead{
	margin-bottom:110px;
	font-size: clamp(16px, 0.3752vw + 13.1220px, 18px); /* Vary between 767px and 1300px */
	line-height:2;
}

.policyLst{
}
.policyLst dt{
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 1.5009vw + 6.4878px, 26px); /* Vary between 767px and 1300px */
	line-height:1.2;
	margin-bottom:20px;
}
.policyLst dt span{
	background:linear-gradient(transparent 60%, #F1F9DF 60%);
}

.policyLst dd{
	margin-bottom:65px;
	font-size: clamp(16px, 0.3752vw + 13.1220px, 18px); /* Vary between 767px and 1300px */
	line-height:2;
}
.policyLst dd a{
	color:#006633;
	text-decoration:none;
}
.policyLst dd a:hover{
	text-decoration:underline;
}

.policyLst dd p{
	margin-bottom:15px;
}
.policyLst dd ul{
	list-style:disc;
	margin-left:1.5em;
	margin-bottom:15px;
}

.policyLst dd ol {
  list-style: none;
  margin-left: 1.7em;
  margin-bottom: 15px;
}
.policyLst dd ol li {
  position: relative;      /* 疑似要素の絶対配置基準 */
  margin-bottom: 0.5em;
}
.policyLst dd ol li::before {
  position: absolute;
  left: -1.5em;
  font-weight: bold;
}
/* 丸数字リスト：1～12 */
.policyLst dd ol li:nth-child(1)::before  { content: "① "; }
.policyLst dd ol li:nth-child(2)::before  { content: "② "; }
.policyLst dd ol li:nth-child(3)::before  { content: "③ "; }
.policyLst dd ol li:nth-child(4)::before  { content: "④ "; }
.policyLst dd ol li:nth-child(5)::before  { content: "⑤ "; }
.policyLst dd ol li:nth-child(6)::before  { content: "⑥ "; }
.policyLst dd ol li:nth-child(7)::before  { content: "⑦ "; }
.policyLst dd ol li:nth-child(8)::before  { content: "⑧ "; }
.policyLst dd ol li:nth-child(9)::before  { content: "⑨ "; }
.policyLst dd ol li:nth-child(10)::before { content: "⑩ "; }
.policyLst dd ol li:nth-child(11)::before { content: "⑪ "; }
.policyLst dd ol li:nth-child(12)::before { content: "⑫ "; }


/* 漢数字リスト：一～十二 */
.policyLst .lst-kanji {
  list-style: none;
  margin-left: 1.7em;
  margin-bottom: 15px;
}

.policyLst .lst-kanji li {
  position: relative;    /* ::before の絶対配置基準 */
  margin-bottom: 0.5em;
}

.policyLst .lst-kanji li::before {
  position: absolute;
  left: -1.5em;
  font-weight: bold;
  font-weight:normal;
}

/* 項目ごとに漢数字を指定 */
.policyLst .lst-kanji li:nth-child(1)::before  { content: "一"; }
.policyLst .lst-kanji li:nth-child(2)::before  { content: "二"; }

@media screen and (max-width: 1100px) {
	.sectionPolicy .inner{
		max-width:calc(100% - 30px);
	}
}

@media screen and (max-width: 767px) {
}

/*--------------------------
sectionNews-List
---------------------------- */
.sectionNews-List{
	position:relative;
	padding:80px 0;
}
/* ----- Layout ----- */
.sectionNews-List .inner{
	position:relative;
	z-index:10;
	width:100%;
	max-width:1100px;
	margin:0 auto;
}

/* 全体コンテナ（UL） */
.news-mainList {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
  margin-bottom: 40px;
}

/* 各ニュース項目（LI） */
.news-mainLst-item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
}

/* 日付要素 */
.news-mainLst-news-date {
  width: 100px;
  padding-top: 4px;
  font-family: "Jost", sans-serif;
  font-size: 16px;
  font-weight: bold;
}

/* タグ要素 */
.news-mainLst-news-tag {
  display: block;
  width: 100px;
  padding: 5px;
  background: #dddddd;
  font-size: clamp(12px, 0.4619vw + 8.4573px, 14px);
  font-weight: bold;
  text-align: center;
}

/* 見出し部分 */
.news-mainLst-news-headline {
  /* 計算式は：日付(100px) + タグ(100px) + ギャップ (10px * 2) = 220px を引く */
  width: calc(100% - 220px);
  padding-top: 2px;
  font-size: 16px;
}

/* 見出し内のリンク */
.news-mainLst-news-headline a {
  color: #111;
  text-decoration: none;
  transition: color 0.3s ease;
}

/* リンクホバー時 */
.news-mainLst-news-headline a:hover {
  color: #006633;
}
@media screen and (max-width: 1100px) {
	.sectionNews-List .inner{
		max-width:calc(100% - 30px);
	}
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .news-listBox {
    width: 100%;
  }
  
  .news-mainList {
    gap: 30px 0px;
  }
	.news-mainLst-news-headline {
	  width: 100%;
  }
}


@media screen and (max-width: 1100px) {
	.sectionPolicy .inner{
		max-width:calc(100% - 30px);
	}
}

@media screen and (max-width: 767px) {
}

/*--------------------------
sectionContact
---------------------------- */
.sectionContact{
	position:relative;
	padding:80px 0;
}
/* ----- Layout ----- */
.sectionContact .inner{
	position:relative;
	z-index:10;
	width:100%;
	max-width:1100px;
	margin:0 auto;
}



@media screen and (max-width: 1100px) {
	.sectionContact .inner{
		max-width:calc(100% - 30px);
	}
}

@media screen and (max-width: 767px) {
}





/* ----- */
.blogLst{
	margin:40px 0px;
	display:flex;
	flex-wrap:wrap;
	gap:40px 2%;
}
.blogLst li{
	width:calc( (100% - 6%) / 3);
}
.blogLst li a{
	display:block;
	color:#333;
}
.blogLst li a:hover{
	text-decoration:none;
}
.blogLst li a .pic{
	overflow:hidden;
	margin-bottom:10px;
}
.blogLst li a .pic img{
	width:100%;
	height:100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	vertical-align: bottom;
	
}
.blogLst li a .catdate{
	display:flex;
	flex-wrap:wrap;
	justify-content:between;
	margin-bottom:10px;
}
.blogLst li a .catdate .cat{
	flex-basis:calc(100% - 110px);
}
.blogLst li a .catdate .cat span{
	display:inline-block;
	/*background:#4e7654;*/
	font-size:14px;
	text-align:center;
	padding:0px 1em;
	color:#fff;
	width:auto;
	border-radius:20px;
}

/* カテゴリーのカラー変更 ※カテゴリ・トップページ */
/*
li a .catdate .cat-event span{background: #4e7654 !important;}
li a .catdate .cat-message span{background: #81580c !important;}
li a .catdate .cat-seasons span{background: #113c99 !important;}
*/

.blogLst li a .catdate .date{
	flex-basis:100px;
	text-align:right;
}

.blogLst li a .tit{
	font-size:clamp(16px , 2.0vw , 18px);
	color: #4e7654;
	font-weight:bold;
	margin-bottom:8px;
}
.blogLst li a .txt{
	font-size:14px;
	line-height:1.8;
}

.blogLst li a:hover .tit{
	text-decoration:underline;
}

/* ----- */
.blogLstArea .lnkBtn{
}
.blogLstArea .lnkBtn a{
	max-width:240px;
}

.blogLstArea .lnkBtn a::after{
	content: url(../img/btn_arr.png);
	padding-right: 5px;
	float: right;
}

.blogLstArea .pagination{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.blogLstArea .pagination ul{
	text-align:center;
}
.blogLstArea .pagination ul li{
	display:inline-block;
	margin-right:10px;
}
.blogLstArea .pagination ul li:last-child{
	margin-right:0;
}
.blogLstArea .pagination ul li a{
	border:solid 1px #ccc;
	border-radius:6px;
	display:block;
	padding:5px 10px;
	color:#000;
	background: #fff;
	text-decoration:none;
	min-width:15px;
	font-size:13px;
}

.blogLstArea .pagination ul li a:hover{
	background:#4e7654;
	color: #fff;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.blogLstArea .pagination ul li{
		margin-right:5px;
	}
}



@media screen and (max-width:1000px) { /* Smartphone */
	.blogLstArea .inner{
		width:calc( 100% - 30px);
	}	
	.blogLst li a .catdate{
	}
	.blogLst li a .catdate .cat{
		flex-basis:100%;
	}
	.blogLst li a .catdate .date{
		flex-basis:100%;
	}
}

@media screen and (max-width: 900px) { /* Smartphone */

	.blogLst{
		margin-bottom:40px;
		gap:25px 2%;
	}
	.blogLst li{
		width:calc((100% - 2%) / 2);
	}
	.blogLst li a .catdate{
		margin-bottom:10px;
	}
}

@media screen and (max-width: 550px) { /* Smartphone */
	.blogLstArea{
		margin-bottom:50px;
		padding:40px 0;
	}
	.blogLst li{
		width:100%;
	}
	.blogLst li a .catdate .cat{
		flex-basis:calc(100% - 110px);
	}
	.blogLst li a .catdate .cat span{
		font-size:14px;
	}
	.blogLst li a .catdate .date{
		flex-basis:100px;
	}
	/* ----- */
	.blogLstArea .lnkBtn{
		text-align:centr;
	}
	.blogLstArea .lnkBtn a{
		max-width:100%;
	}
}
@media screen and (max-width: 350px) { /* Smartphone */
	.blogLst li a .catdate .cat{
		flex-basis:100%;
	}
	.blogLst li a .catdate .date{
		flex-basis:100%;
	}
}

/* ----- */
.blogLst{
	margin:40px 0px;
	display:flex;
	flex-wrap:wrap;
	gap:40px 2%;
}
.blogLst li{
	width:calc( (100% - 6%) / 3);
}
.blogLst li a{
	display:block;
	color:#333;
	text-decoration:none;
}
.blogLst li a:hover{
	text-decoration:none;
}
.blogLst li a .pic{
	overflow:hidden;
	margin-bottom:10px;
}
.blogLst li a .pic img{
	width:100%;
	height:100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	vertical-align: bottom;
	
}
.blogLst li a .catdate{
	display:flex;
	flex-wrap:wrap;
	justify-content:between;
	margin-bottom:10px;
}
.blogLst li a .catdate .cat{
	flex-basis:calc(100% - 110px);
}
.blogLst li a .catdate .cat span{
	display:inline-block;
	/*background:#4e7654;*/
	font-size:14px;
	text-align:center;
	padding:0px 1em;
	color:#fff;
	width:auto;
	border-radius:20px;
}

/* カテゴリーのカラー変更 ※カテゴリ・トップページ */
/*
li a .catdate .cat-event span{background: #4e7654 !important;}
li a .catdate .cat-message span{background: #81580c !important;}
li a .catdate .cat-seasons span{background: #113c99 !important;}
*/

.blogLst li a .catdate .date{
	flex-basis:100px;
	text-align:right;
}

.blogLst li a .tit{
	font-size:clamp(16px , 2.0vw , 18px);
	color: #4e7654;
	font-weight:bold;
	margin-bottom:8px;
}
.blogLst li a .txt{
	font-size:14px;
	line-height:1.8;
}

.blogLst li a:hover .tit{
	text-decoration:underline;
}

/* ----- */
.blogLstArea .lnkBtn{
}
.blogLstArea .lnkBtn a{
	max-width:240px;
}

.blogLstArea .lnkBtn a::after{
	content: url(../img/btn_arr.png);
	padding-right: 5px;
	float: right;
}

.blogLstArea .pagination{
	width:100%;
	max-width:1200px;
	margin:0 auto;
}
.blogLstArea .pagination ul{
	text-align:center;
}
.blogLstArea .pagination ul li{
	display:inline-block;
	margin-right:10px;
}
.blogLstArea .pagination ul li:last-child{
	margin-right:0;
}
.blogLstArea .pagination ul li a{
	border:solid 1px #ccc;
	border-radius:6px;
	display:block;
	padding:5px 10px;
	color:#000;
	background: #fff;
	text-decoration:none;
	min-width:15px;
	font-size:13px;
}

.blogLstArea .pagination ul li a:hover{
	background:#4e7654;
	color: #fff;
}

@media screen and (max-width: 767px) { /* Smartphone */
	.blogLstArea .pagination ul li{
		margin-right:5px;
	}
}



@media screen and (max-width:1000px) { /* Smartphone */
	.blogLstArea .inner{
		width:calc( 100% - 30px);
	}	
	.blogLst li a .catdate{
	}
	.blogLst li a .catdate .cat{
		flex-basis:100%;
	}
	.blogLst li a .catdate .date{
		flex-basis:100%;
	}
}

@media screen and (max-width: 900px) { /* Smartphone */

	.blogLst{
		margin-bottom:40px;
		gap:25px 2%;
	}
	.blogLst li{
		width:calc((100% - 2%) / 2);
	}
	.blogLst li a .catdate{
		margin-bottom:10px;
	}
}

@media screen and (max-width: 550px) { /* Smartphone */
	.blogLstArea{
		margin-bottom:50px;
		padding:40px 0;
	}
	.blogLst li{
		width:100%;
	}
	.blogLst li a .catdate .cat{
		flex-basis:calc(100% - 110px);
	}
	.blogLst li a .catdate .cat span{
		font-size:14px;
	}
	.blogLst li a .catdate .date{
		flex-basis:100px;
	}
	/* ----- */
	.blogLstArea .lnkBtn{
		text-align:centr;
	}
	.blogLstArea .lnkBtn a{
		max-width:100%;
	}
}
@media screen and (max-width: 350px) { /* Smartphone */
	.blogLst li a .catdate .cat{
		flex-basis:100%;
	}
	.blogLst li a .catdate .date{
		flex-basis:100%;
	}
}





.archiveSearch{
	display: flex;
	align-items: center;
	gap: 40px;
}

.archiveSearch .column{
	display: flex;
	align-items: center;
	gap: 10px;
}
.archiveSearch .item{
	position: relative;
}
.archiveSearch .item select{
	border-radius: 6px;
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 10px 50px 10px 10px;
  -webkit-appearance: auto; /* Safari, iOS向け */
  -moz-appearance: auto; /* Firefox向け */
  appearance: auto; /* 標準 */
}


.archiveSearch .item::before{
  position: absolute;
  top: 12px;/*矢印の上からの位置*/
  right: 12px;/*矢印の右からの位置*/
  content: '';
  width: 7px;/*矢印の横幅*/
  height: 7px;/*矢印の縦幅*/
  border-top: 2px solid #4e7654;/*矢印の線の太さと色*/
  border-left: 2px solid #4e7654;/*矢印の線の太さと色*/
  transform: rotate(-135deg);/*矢印を回転*/
  pointer-events: none;/*矢印部分をクリックできるようにする*/
}

.archiveSearch .item:last-child::before{
	content:none;
}
.archiveSearch .item:last-child span{
	display:inline-block;
	cursor: pointer;
	background: #fff;
	border: 1px solid #e5e5e5;
	padding:3px 10px;
	border-radius:5px;

}

@media screen and (max-width: 767px) { /* Smartphone */
	.blogLstArea .inner .archiveSearch{
		flex-wrap: wrap;
		gap: 10px;
		padding: 10px;
	}
}


