
.sub_page_main { margin-bottom: 60px;}

.main_sec {
  width: 90%;
  margin: 0 auto;
}

.anc_blc {
	padding-top: 60px;
	margin-top: -60px;
}

@media screen and (min-width: 1025px) {
	.main_sec {
		max-width: 1200px;
	}
  .main_sec.company {
    max-width: 950px !important;
  }
	.sub_page_main { margin-bottom: 120px;}
	.anc_blc {
		padding-top: 0px;
		margin-top: 0px;
	}
}


.mb_10 { margin-bottom: 10px !important; }
.mb_20 { margin-bottom: 20px !important; }
.mb_30 { margin-bottom: 30px !important; }
.mb_40 { margin-bottom: 40px !important; }
.mb_50 { margin-bottom: 50px !important; }
.mb_60 { margin-bottom: 60px !important; }
.mb_70 { margin-bottom: 70px !important; }
.mb_80 { margin-bottom: 80px !important; }
.mb_90 { margin-bottom: 90px !important; }
.mb_100 { margin-bottom: 100px !important; }

.mb_t { margin-bottom: 20px !important; }
.mb_s { margin-bottom: 30px !important; }
.mb_m { margin-bottom: 50px !important; }
.mb_l { margin-bottom: 70px !important; }

.txt-l { text-align: left !important; }
.txt-c { text-align: center !important; }
.txt-r { text-align: right !important; }

.pc_area { display: none; }
.sp_area { display: block;}

@media screen and (min-width: 1025px) {
  .mb_t { margin-bottom: 30px !important; }
  .mb_s { margin-bottom: 50px !important; }
  .mb_m { margin-bottom: 80px !important; }
  .mb_l { margin-bottom: 100px !important; }
  
  .pc_area { display: block; }
	.sp_area { display: none;}
}

.common_btn {
    width: 100%;
}
.common_btn a {
    display: block;
    width: 100%;
    background: #0e6119;
    border-radius: 60px;
    line-height: 60px;
    height: 60px;
    color: #fff;
    text-decoration: none;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 600;
    position: relative;
    transition:0.3s;
    padding: 0 30px;
    box-sizing: border-box;
}
.common_btn a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 8px solid #fff;
    border-right: 0;
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) ;
}
.common_btn.light_g a { background: #31843c;}
.top_common_btn a:hover { opacity: 0.8;}


.btn_list {
    display: flex;
    flex-direction: column;
}
.btn_list p:first-child { margin-bottom: 10px;}


/* パンくず　*/
.topicpath { margin-bottom: 30px; }
.topicpath ul {
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 0;
}
.topicpath li {
	display: inline;
	line-height: 1.4;
	font-size: 14px;
}
.topicpath li a { color: #31843c;}
.topicpath li::before { content: ' > '; }
.topicpath li:first-child::before { content: ''; }

@media screen and (min-width: 1025px) {
.btn_list {
	width: 780px;
	margin: 0 auto;
    display: flex;
    column-gap:40px;
	flex-direction: row;
}
	
  .topicpath { margin-bottom: 70px; }
}


/* ======================================================

   table

========================================================= */

.tbl_pt01 {
  width: 100%;
  border-right: #bcbcbc solid 1px;
  border-top: #bcbcbc solid 1px;
  
  table-layout: fixed;
}
.tbl_pt01 th,.tbl_pt01 td {
  padding: 14px 15px;
  border-left: #bcbcbc solid 1px;
  border-bottom: #bcbcbc solid 1px;
}
.tbl_pt01 tr,.tbl_pt01 th,.tbl_pt01 td {
  display: block;
  box-sizing: border-box;
}
.tbl_pt01 th{
  background: #f2f8f4;
    color: #0e6119;
    font-weight: bold;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
}


@media screen and (min-width: 600px) {
  .tbl_pt01 th,.tbl_pt01 td {
    padding: 25px 40px;
  }
  .tbl_pt01 tr {
    display: table-row;
  }
  .tbl_pt01 th {
    width: 25%;
  }
  .tbl_pt01 th,.tbl_pt01 td {
    display: table-cell;
  }
  .wp15 {
    width:15% !important;
  }
  .wp20 {
    width:20% !important;
  }
  .wp25 {
    width:25% !important;
  }
  .wp30 {
    width:30% !important;
  }
  .scroll {
    overflow: hidden;
  }
}

/* ======================================================

   title

========================================================= */
.page_title {
    background: url("../images/sub/sub_bg.jpg") no-repeat center top;
    background-size: cover;
}
.page_title h2 {
    width: 90%;
    margin: 0 auto;
    color: #FFF;
    text-align: center;
    font-size: 26px;
    padding: 40px 0;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 700;
}
.page_title h2 span {
    display: block;
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    font-size: 15px;
}



.ttl_pt01 {
    font-size: 25px;
    text-align: center;
    line-height:1.2;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 700;
}
.ttl_pt01::after {
  content:'';
  display: block;
  width: 40px;
  height: 3px;
  margin: 15px auto 40px;
background: #075011;
background: linear-gradient(90deg,rgba(7, 80, 17, 1) 0%, rgba(76, 147, 57, 1) 100%);
}


@media screen and (min-width: 1025px) {
.page_title {
}
.page_title h2 {
    max-width: 1200px;
    color: #FFF;
    text-align: left;
    font-size: 48px;
    padding: 120px 0;
}
.page_title h2 span {
    font-size: 20px;
}
.ttl_pt01 {
    font-size: 32px;
    line-height:1.6;
}
.ttl_pt01::after {
  content:'';
  display: block;
  width: 60px;
  height: 4px;
  margin: 15px auto 70px;
background: linear-gradient(90deg,rgba(7, 80, 17, 1) 0%, rgba(76, 147, 57, 1) 100%);
} 
    
    
}
/* ======================================================

   company

========================================================= */
.company_text { text-align: center; margin-bottom: 40px;}
.company_text span {
    display: block;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 10px;
}

.about_text p {
	text-align: center;
	line-height: 2;
}

@media screen and (min-width: 1025px) {
.company_text span {
	display: inline-block;
	margin-right: 30px;
}
	
	.about_text p { font-size: 18px;}
	
    
}



/* ======================================================

   privacy

========================================================= */
.privacy h4 {
    color: #0e6119;
    font-size: 20px;
    line-height: 1.4;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 700;
    margin-bottom: 15px;
}
.privacy .list-box {
	width: 92%;
	margin: 0 auto 30px;
}
.privacy .list-box h5 {
	color: #31843c;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 700;
	margin-bottom: 6px;
}
.privacy .list-box h5 span {
	color: #000;
    font-size: 17px;
}
.privacy p {
    color: #000;
    line-height: 1.7;
    margin-bottom: 30px;
}


@media screen and (min-width: 1025px) {
.privacy h4 {
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 20px;
}
.privacy .list-box {
	width: 95%;
	margin: 0 auto 30px;
}
.privacy .list-box h5 {
    font-size: 20px;
    line-height: 1.4;
}
.privacy .list-box h5 span {
    font-size: 20px;
}
.privacy p {
    line-height: 1.8;
    margin-bottom: 35px;
}
    
}

/* ======================================================

   column

========================================================= */
/* カテゴリーボタン */
.cate_name {
	text-align: center;
	font-weight: bold;
	font-family: "Zen Old Mincho", serif;
	margin-bottom: 10px;
	color: #0e6119;
	font-size: 24px;
}
.category_list {
	display: flex;
	flex-direction: column;
}
.category_list li {
	width: 100%;
	margin-bottom: 10px;
}
.category_list li a {
	display: block;
	width: 100%;
	text-decoration: none;
	color: #050505;
	border: 1px solid #ccc;
	line-height: 50px;
	border-radius: 25px;
	text-align: center;
	font-weight: 700;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	transition: all 0.3s ease;
}

/* コラム一覧 */
.column_list_content {
}
.column_list_content .column_block {
	width: 100%;
	background: #f7f7f7;
	box-sizing: border-box;
	padding: 20px;
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
	position: relative;
	transition: all 0.3s ease;
}

.column_list_content .column_block a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.column_list_content .column_block .thum_img {
	width: 100%;
	margin: 0 auto 15px;
	background: #fff;
}
.column_list_content .column_block .thum_img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}
.column_list_content .column_block .column_text_block {
	width: 100%;
}
.column_list_content .column_block .column_text_block > ul {
	display: flex;
	margin-bottom: 5px;
}
.column_list_content .column_block .column_text_block > ul > li {
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	color: #898989;
	font-size: 12px;
}
.column_list_content .column_block .column_text_block .cate { padding-left: 10px;}
.column_list_content .column_block .column_text_block .date { padding-right: 10px; position: relative;}
.column_list_content .column_block .column_text_block .date:after {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: #ccc;
}


.column_list_content .column_block .column_text_block .c_title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	color: #0e6119;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
}

/*　コラム詳細　*/
.column_article p span { line-height: 1.8;}
.column_article p + p {
  margin-top: 1.2em;
}

.column_article > .column_title {
	font-size: 24px;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	position: relative;
	margin-bottom: 30px;
	line-height: 1.3;
	padding: 0 0 20px;
	font-weight: bold;
}
.column_article > .column_title > span {
	display: block;
	font-size: 14px;
	color: #0e6119;
	margin-bottom: 10px;
}


.column_article > .column_title:before,
.column_article > .column_title:after {
	content: "";
	display: block;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.column_article > .column_title:before {
	width: 100%;
	background: #efefef;
}

.column_article > .column_title:after {
	width: 60px;
	background: #075011;
	background: linear-gradient(90deg,rgba(7, 80, 17, 1) 0%, rgba(76, 147, 57, 1) 100%);
}


.column_main_img,
.column_article > .image_center {
	margin: 0 auto 30px;
}

.column_article h4 {
	font-size: 20px;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	background: #efefef;
	padding: 8px 12px 8px;
	box-sizing: border-box;
	border-left: 6px solid #0e6119;
	margin-top: 40px;
	margin-bottom: 20px;
}

.column_article h4 span,
.column_article h5 span,
.column_article h6 span {
	font-weight: bold !important;
	line-height: 1.4;
}

.column_article h5 {
	font-size: 18px;
	margin-top: 30px;
	margin-bottom: 15px;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	color: #31843c;
}

.column_article h6 {
	margin-bottom: 15px;
}
.column_article ul.column_list {
	margin: 20px 0;
}
.column_article ul.column_list li {
	position: relative;
	padding-left: 1.2em;
	margin-bottom: 1.2em;
}
.column_article ul.column_list li:before {
	content: "";
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #31843c;
	position: absolute;
	top: 7px;
	left: 0;
}
.column_article ul.column_list li:last-child { margin-bottom: 0;}

.column_article a {
	color: #31843c;
	text-decoration: underline;
}


.column_page_set .common_btn {
	width: 300px;
	margin: 0 auto;
}

.column_article .inner_block {
	overflow: hidden;
}


.column_article .f_image_r,
.column_article .f_image_l {
	width: 100%;
	margin: 0 auto 30px;
}

.column_article .image_list {
	width: 100%;
	margin: 30px auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.column_article .image_list li {
	width: 48%;
	margin:0 1% 10px;
}



/* ナビゲーション全体のレイアウト */
.post-navigation {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 40px 0;
    width: 100%;
}

/* 左右のリンクブロック共通設定 */
.nav-previous, 
.nav-next {
    flex: 1; /* 左右を均等な幅にする */
    min-width: 0; /* テキストの省略・はみ出し防止 */
}

/* リンク自体の装飾（ボタン風デザイン） */
.nav-previous a, 
.nav-next a {
    display: flex;
    flex-direction: column;
    padding: 15px 20px;
    border: 1px solid #e0e0e0;
    color: #232323;
    text-decoration: none;
    transition: all 0.3s ease;
    height: 100%;
    box-sizing: border-box;
	border-radius: 80px;
}

/* 右側のブロックはテキストを右寄せにする */
.nav-previous a {
    text-align: right;
    align-items: flex-end;
}


.post-navigation .nav-next { text-align: left !important;}


/* ホバー時の演出 */
.nav-previous a:hover, 
.nav-next a:hover {
    background-color: #31843c;
    color: #ffffff;
}

.nav-previous a:hover .nav-title,
.nav-next a:hover .nav-title { color: #fff;}



/* 記事タイトルの装飾 */
.nav-title {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;      /* はみ出たテキストを...で省略する設定 */
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

/* スマートフォン向けのレスポンシブ対応（画面幅560px以下） */
@media (max-width: 560px) {
    .post-navigation {
        flex-direction: column; /* 縦並びに変更 */
        gap: 10px;
    }
    .nav-next a {
        text-align: left; /* スマホ時は左寄せに戻す */
        align-items: flex-start;
    }
}



@media screen and (min-width: 1025px) {
	.cate_name {
	margin-bottom: 20px;
	font-size: 30px;
	}
	.category_list {
		flex-direction:row;
		align-items: center;
		justify-content:center;
		flex-wrap: wrap;
	}
	.category_list li {
		width: auto;
		display: inline-block;
		margin: 0 5px;
		padding: 0 10px;
	}
	.category_list li a {
		padding: 0 10px;
	}
	.category_list li a:hover {
		background: #0e6119;
		color: #fff;
	}

	.column_list_content .column_block {
		padding: 40px 50px;
		flex-direction:row;
		justify-content: space-between;
		margin-bottom: 20px;
	}
	.column_list_content .column_block:hover {
		opacity: 0.8;
	}
	.column_list_content .column_block .thum_img {
		width: 26%;
		margin:0;
		overflow: hidden;
	}
	.column_list_content .column_block .thum_img img {
		height: 200px;
		transition: transform .5s ease;
	}
	.column_list_content .column_block:hover .thum_img img { transform: scale(1.1);}

	.column_list_content .column_block .column_text_block {
		width: 68%;
	}
	.column_list_content .column_block .column_text_block > ul { margin-bottom: 10px;}
	.column_list_content .column_block .column_text_block > ul > li {
		font-size: 14px;
	}
	.column_list_content .column_block .column_text_block .c_title {
		font-size: 22px;
		margin-bottom: 20px;
	}
	
	
	.column_article > .column_title {
		font-size: 32px;
		margin-bottom: 50px;
		padding: 0 0 20px;
	}
	.column_article > .column_title > span {
		font-size: 16px;
		margin-bottom: 10px;
	 }

	

	.column_article h4 {
		font-size: 28px;
		padding: 8px 12px 8px;
		border-left: 8px solid #0e6119;
		margin-top: 60px; 
		margin-bottom: 30px;
	}


	.column_article h5 {
		font-size: 24px;
		margin-top: 30px;
		margin-bottom: 20px;
	}

	.column_article h6 {
		font-size: 20px;
		margin-bottom: 15px;
	}
	
	.column_article ul.column_list {
		margin: 30px 0;
	}
	
.column_main_img,
.column_article > .image_center {
	height: 650px;
	margin: 0 auto 30px;
	position: relative;
}
.column_main_img > img,
.column_article > .image_center > img {
	max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
}
	
	
	.column_article .f_image_r,
	.column_article .f_image_l {
		width: 350px;
		margin: 0;
	}
	.column_article .f_image_r {
		float: right;
		margin: 0 0 20px 80px;
	}
	
	.column_article .image_list li {
		width: 23%;
		margin:0 1%;
	}
	
	
	
}
.pagination {
  display: flex;
  justify-content: center;
}
.nav-links{
   display:flex;
}
.page-numbers{
   display:inline-block;
   margin-right:10px;
   padding:12px 18px;
   color:#050505;
   border-radius:3px;
   background:#ffffff;
  border: 1px solid #ccc;
	font-weight: bold;
	line-height: 1;
}
.page-numbers.current{
   padding:12px 18px;
   background:#499037;
   color:#ffffff;
}
.page-numbers.prev,
.page-numbers.next{
   background:transparent;
   box-shadow:none;
     border:none;
   color:#050505; 
}
.page-numbers.dots{
   background:transparent;
   box-shadow:none;
     border:none;
   color:#050505; 
}


/* レスポンシブデザインのためのメディアクエリ */
@media (max-width: 600px) {
.page-numbers,
.page-numbers.current    {
     padding:5px 10px; /* パディングを小さく */
  }
}


/* ======================================================

   terms

========================================================= */
.main_sec.terms { max-width: 1000px;}
.terms h4 {
    color: #0e6119;
    font-size: 20px;
    line-height: 1.2;
	font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
    font-weight: 700;
    margin-bottom: 15px;
    background: #ececec;
    padding: 10px 10px;
    border-left: 5px solid #0e6119;
    margin-top: 40px;
}
.terms ul { margin: 20px 0;}
.terms ul > li {
    padding-left: 1em;
    margin-bottom: 10px;
    line-height: 1.4;
    position: relative;
}
.terms ul > li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #0e6119;
    border-radius: 50%;
    position: absolute;
    top: 9px;
    left: 0;
}

.terms ul > li:last-child { margin-bottom: 0;}

.terms p {
    color: #000;
    line-height: 1.7;
}


@media screen and (min-width: 1025px) {
.terms h4 {
    font-size: 24px;
    margin-bottom: 20px;
    margin-top: 60px;
    padding: 12px 15px;
}
.terms p {
    line-height: 1.8;
}

	
}


/* ======================================================

   faq

========================================================= */

.faq_contents > li > dl > dt {
	font-weight: bold;
    font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
	position: relative;
	padding: 15px 25px 15px 20px;
	cursor: pointer;
}
.faq_contents > li > dl > dt:before,
.faq_contents > li > dl > dt:after {
	content: "";
	display: block;
	position: absolute;
	background: #075011;
}
.faq_contents > li > dl > dt:before {
	width: 13px;
	height: 1px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.faq_contents > li > dl > dt:after {
	width: 1px;
	height: 13px;
	top: 50%;
	right: 6px;
	transform: translateY(-50%);
}

.faq_contents > li > dl > dt.is_active::after { display: none;}


.faq_contents > li {
	border-bottom: 1px solid #bcbcbc;
}





.faq_contents > li > dl > dt > span {
	position: relative;
	font-size: 18px;
}
.faq_contents > li > dl > dt > span:before {
	content: "Q";
	color: #075011;
	position: absolute;
	top: 0;
	left: -20px;
}


.faq_contents > li > dl > dd {
	display: none;
	padding: 0 0 15px 20px;
}

@media screen and (min-width: 1025px) {
.faq_contents > li > dl > dt {
	padding: 20px 25px 20px 20px;
}
.faq_contents > li > dl > dd {
	padding: 0 0 20px 20px;
}
	
	.faq_contents > li > dl > dt > span {
		font-size: 20px;
	}
	
	
}







