@charset "utf-8";
/* CSS Document */

body {
	width: 100%;
	background-color: #FFF;
	color: #000;
	font-family:'Lucida Grande',
 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	line-height: 2;
}

img { vertical-align: bottom; }

p { line-height: 1.6; }

/*-----------------------------
text_style, box_style
-----------------------------*/

#contents {
  text-align: left;
}

#contents .ta_center_sp,
#contents .ta_center_pc {
  text-align: center;
}

/*スマホ向けレイアウトの指定*/

.mincho {
	font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.fs_12_sp { font-size: 12px; }
.fs_14_sp { font-size: 14px; }
.fs_16_sp { font-size: 16px; }
.fs_18_sp { font-size: 18px; }
.fs_20_sp { font-size: 20px; }
.fs_24_sp { font-size: 24px; }
.fs_30_sp { font-size: 30px; }
.fs_40_sp { font-size: 40px; }
.fs_50_sp { font-size: 50px; }
.fs_80_sp { font-size: 80px; }

.fs_150_sp {font-size: 150%; }
.fs_200_sp { font-size: 200%; }
.fs_250_sp { font-size: 250%; }
.fs_120_sp { font-size: 120%; }

.ta_center_sp { text-align: center; }
.ta_left_sp { text-align: left; }
.ta_right_sp { text-align: right; }

.fw_bold { font-weight: bold; }

.fc_white { color: #fff; }
.fc_black { color: #000; }
.fc_rd { color: #990000; }
.fc_bl { color: #0080FF; }
.fc_base { color: #001752; }

.space2 { letter-spacing: 2px; }
.space5 { letter-spacing: 5px; }

.only_sp { display: block; }
.only_tb { display: none; }
.only_pc { display: none; }

.lh_10 { line-height: 1; }
.lh_12 { line-height: 1.2; }
.lh_15 { line-height: 1.5; }
.lh_17 { line-height: 1.7; }

.bg_rd { background-color: #990000; }

.mb10 { margin-bottom: 10px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb60 { margin-bottom: 60px; }
.mb100 { margin-bottom: 100px;}
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt60 { margin-top: 60px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml60 { margin-left: 60px; }

.img_responsive {
	max-width: 100%;
	height: auto;
}

.link_01 {
    vertical-align:baseline;
    background:transparent;
	text-decoration: none;
}

.link_02 {
    vertical-align:baseline;
	text-decoration: underline;
	color: #000;
}

.list_01 {
	list-style: none;
	text-indent: -1em;
	padding-left: 1em;
}


.list_02 {
	list-style: none;
}


.word_wrap {
	word-wrap: break-word;
}

.color_filter_base {
    background-color: #000; /* カラーフィルタ効果の色を指定 */
    /*display: inline-block;*/
}
.color_filter_image {
    opacity: 0.7;    /* カラーフィルタ効果の度合いを指定(※) */
    display: block;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.fs_12_tb { font-size: 12px; }
	.fs_16_tb { font-size: 16px; }
	.fs_18_tb { font-size: 18px; }
	.fs_20_tb { font-size: 20px; }
	.fs_24_tb { font-size: 24px; }
	.fs_30_tb { font-size: 30px; }
	.fs_40_tb { font-size: 40px; }
	.fs_50_tb { font-size: 50px; }
	.fs_80_tb { font-size: 80px; }

	.fs_150_tb {font-size: 150%; }
	.fs_200_tb { font-size: 200%; }
	.fs_250_tb { font-size: 250%; }
	.fs_120_tb { font-size: 120%; }

	.ta_center_tb { text-align: center; }
	.ta_left_tb { text-align: left; }
	.ta_right_tb { text-align: right; }

	.only_sp { display: none; }
	.only_tb { display: block; }
	.only_pc { display: none; }
	}

		/*PC向けおよび大型PCの指定*/
		@media only screen and (min-width:1080px){
		body { min-width: 1080px; }

		.fs_12_pc { font-size: 12px; }
		.fs_14_pc { font-size: 14px; }
		.fs_16_pc { font-size: 16px; }
		.fs_18_pc { font-size: 18px; }
		.fs_20_pc { font-size: 20px; }
		.fs_24_pc { font-size: 24px; }
		.fs_30_pc { font-size: 30px; }
		.fs_40_pc { font-size: 40px; }
		.fs_50_pc { font-size: 50px; }
		.fs_80_pc { font-size: 80px; }
		.fs_150_pc {font-size: 150%; }
		.fs_200_pc { font-size: 200%; }
		.fs_250_pc { font-size: 250%; }
		.fs_120_pc { font-size: 120%; }

		.ta_center_pc { text-align: center; }
		.ta_left_pc { text-align: left; }
		.ta_right_pc { text-align: right; }

		.only_sp { display: none; }
		.only_tb { display: none; }
		.only_pc { display: block; }
		}

/*-----------------------------
responsive_grid
-----------------------------*/

/*スマホ向けレイアウトの指定*/
.inner01 {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner02 {
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.inner03 {
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	max-width: 1920px;
	position: relative;
}

.inner_column_single {
	width: 94%;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.flex_box_sp {
	display: flex;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.flex_box_tb {
		display: flex;
	}


		/*事例紹介個別ページ写真*/
	.flex_box_02_tb {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-start;
	}

		/*事例紹介個別ページ写真二枚の場合左寄せ*/
	.flex_box_02_tb:after {
		content:"";
    	display:block;
    	width: 31%;
    	height:0;
	}

	.col_01_tb {
		width: 64%;
	}

	.col_02_tb {
		width: 32%;
	}

	.col_03_tb {
		width: 49%;
	}

	.col_04_tb {
		width: 19%;
	}
	}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1080px){
		.inner01 {
			width: 1080px;
		}

		.inner02 {
			width: 1080px;
		}

		.inner03 {
			width: 1200px;
		}
			
		.inner_column_single {
			width: 800px;
		}

		.flex_box_pc {
			display: flex;
		}

		.col_01_pc {
			width: 64%;
		}

		.col_02_pc {
			width: 32%;
		}

		.col_03_pc {
			width: 49%;
		}

		.col_04_pc {
			width: 24%;
		}
		}

/*-----------------------------
header(常時ウィンドウ上部に固定)
-----------------------------*/
.site-header {
	position: fixed;
	z-index: 130;
	background: #fff;
	box-sizing: border-box;
	padding: 10px;
	width: 100%;
}

/*開閉ボタン*/
#nav_toggle{
	display: block;
	width: 30px;
	height: 30px;
	position: fixed;
	top: 50px;
	right: 20px;
	z-index: 140;
}

#nav_toggle div {
	position: relative;
}

#nav_toggle span{
	display: block;
	height: 3px;
	background: #003;
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}

#nav_toggle span:nth-child(1){
	top:0px;
}

#nav_toggle span:nth-child(2){
	top:12px;
}

#nav_toggle span:nth-child(3){
	top:24px;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 12px;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}

.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}

.open #nav_toggle span:nth-child(3) {
	top: 12px;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

h1 {
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: 100;
}

.site-logo {
	/*margin-top: 20px;*/
	width: 90%;
	font-weiht: 100;
}

.site-logo a:hover {
	opacity: 1.0;
}

.gnav {
	display: none;
	margin-top: 20px;
	background-color:#001752;
}

.gnav_menu li {
	position: relative;
}

.gnav_menu_item a {
	display: block;
	width: 100%;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	text-decoration: none;
	border-bottom: solid 1px #fff;
}

.gnav_menu_item ul.child {
	display: none;
	background-color: #fff;
	border: solid 1px #001752;
}

.gnav_menu_item ul.child li {
	display: none;
}

.gnav_menu_item ul.child li a {
	border-bottom: dotted 1px #001752;
	color: #001752;
}

	/*スマホ横持レイアウトの指定*/
	@media only screen and (min-width:500px){
	#nav_toggle{
		display: none;
	}

	.site-header {
		z-index: 999;
	}

	.wrap_logo {
		/*float: left;*/
		padding-left: 10px;
	}

	.site-logo {
		width: auto;
	}

	.gnav {
		/*float: right;*/
		display: block;
		background-color: #ffffff;
	}

	.gnav_menu {
    	display: flex;
		justify-content: center;
	}

	.gnav_menu_item {
		/*width: auto;*/
		border-right: dotted 1px #001752;
		font-size: 14px;
		width: 20%;
	}

	.gnav_menu_item:last-child {
		border-right: none;
	}

	.gnav_menu_item a {
    	color: #000;
    	border-bottom: none;
		transition-duration: 1s;
		transition-property: background-color;
	}

	.gnav_menu_item a:hover {
		background-color: #001752;
		color: #fff;
	}
	}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:768px){
	.header_inner {
		width: 100%;
	}

	.wrap_logo {
      flex-flow: row-reverse;
      justify-content: flex-end;
      align-items: center;
	}

      .gnav_menu{
      }

	.gnav_menu_item {
		/*width: 100%;*/
    	padding: 0;
		border-right: dotted 1px #001752;
		font-size: 16px;
		width: 120px;
	}

	.gnav_menu li ul.child {
		top: 40px;
  		left: 0;
  		position: absolute;
		background-color: #fff;
		border: solid 1px #001752;
	}

	.gnav_menu li ul.child li {
		display: block;
		width: 240px;
		border-bottom: dotted 1px #001752;
		}

	.gnav_menu li ul.child li a:hover {
		color: #ffffff;
		}
	}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1080px) {

		.header_inner {
			width: 100%;;
			max-width: 1400px;
			margin-left: auto;
			margin-right: auto;
            margin-top: 10px;
          justify-content: space-between;
		}

          .gnav{
            margin-top: 6px;
            /*width: 60%;*/

          }

		.gnav_menu_item {
			/*width: auto;*/
		}

		.gnav_menu li ul.child li {
			width: 280px;
		}
        }

/*-----------------------------
メイン画像（下のコンテンツがカーテンのようにスクロール）
-----------------------------*/

#container {
	width: 100%;
	text-align: center;
}

/* fullSlideShow
--------------------------- */
.fullSlideShow {
	width: 100%;
	text-align: left;
	position: relative;
	overflow: hidden;
	z-index: -1;
}
.fullSlideShow ul {
	top: 60%;
	left: 50%;
	width: 100%;
	position: fixed; /* absolute or fixed */
	overflow: hidden;
}
.fullSlideShow ul li {
	top: 0;
	left: 0;
	width: 100%;
	display: none;
	position: absolute;
}
.fullSlideShow ul li img {
	width: 100%;
}


/* PagiNation
--------------------------- */
.pagiNation {
	bottom: 30px;
	left: 0;
	width: 100%;
	height: 15px;
	text-align: center;
	position: fixed;
	z-index: 90;
 	visibility: hidden;
}

.pagiNation a {
	margin: 0 5px;
	width: 20px;
	height: 20px;
	display: inline-block;
	overflow: hidden;
	background: #000;
}
.pagiNation a.pnActive {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}

/* Wrapper
--------------------------- */
#wrapper {
	width: 100%;
	text-align: left;
	background: #fff;
	position: relative;
	z-index: 120;
}

/* ClearFixElements
--------------------------- */
.fullSlideShow ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
.fullSlideShow ul {
	display: inline-block;
	overflow: hidden;
}

/*-----------------------------
top_contents
-----------------------------*/
.txt_top_main {
	padding-top: 60px;
	font-size: 30px;
	color: #001752;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
}

.txt_top_sub {
	font-size: 18px;
	color: #001752;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.txt_top_keieisankaku {
	font-size: 30px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	color: #001752;
	text-align: center;
}

.box_top_quality {
	background-color: #e5e5e5;
	padding: 60px 0;
}

.facebook {
	width: 100%;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

.btn_detail {
	padding: 10px 30px;
	background-color: #001752;
	color: #fff;
}

.ttl_top_01 {
	color: #990000;
	font-size: 24px;
	text-align: center;
}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1080px){
		.txt_top_main {
			text-align: center;
		}

		.txt_top_sub {
			font-size: 24px;
			text-align: center;
		}

		.facebook {
			width: 500px;
		}
		}

/*-----------------------------
footer
-----------------------------*/
footer {
	background-color: #fff;
	padding: 60px 0 30px 0;
}

.footer_nav {
	background-color: #001752;
	padding: 10px 0;
}

.footer_nav ul li {
	list-style: none;
}

.footer_nav ul li a {
	color: #fff;
	text-decoration: none;
}

	/*タブレット向け指定*/
	@media only screen and (min-width:768px){
	.btn_footer {
		display: inline;
		padding: 0 10px;
	}

      .footer_flex{
        align-items:flex-end;
        justify-content: center;
      }

      .footer_flex img{
        margin-right: 10px;
      }

	}

		/*PC向けおよび大型PCレイアウトの指定*/
		@media only screen and (min-width:1080px){
		.footer_nav  ul li {
			display: inline;
		}
		.footer_nav ul li a {
			padding: 30px;
		}
		}

/*-----------
totopボタン
-------------*/

#totop {
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	height: auto;
	opacity: 0.7;
	z-index: 999;
}

/*-----------------------------
common
-----------------------------*/
#contents {
	min-height: 300px;
}

.ttl_level2 {
	background: url(../images/bg_ttl2.jpg) no-repeat bottom center;
	background-size: cover;
	margin-bottom: 40px;
	color: #ffffff;
	padding-top: 150px; /*headerを固定している分多めに設定*/
	padding-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
	font-size: 18px;
	text-align: center;
}

.ttl_level3 {
	margin-bottom: 60px;
	padding: 0 20px;
	border: solid 1px #D5D5D5;
	border-bottom: solid 2px #001752;
	color: #001752;
	text-align: left;
}

.ttl_level4 {
	/*border-bottom: solid 1px #001752;*/
	padding-left: 5px;
	margin-bottom: 30px;
}


.ttl_level5 {
	border-left: 5px solid #001752;
	padding-left: 10px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.2;
	color: #001752;
	text-align: left;
}

.txt_head {
	color: #001752;
	font-size: 20px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	line-height: 1.5;
	font-weight: bold;
}

.box_cmn_grey {
	background-color: #EAEAEA;
	padding: 30px;
}

.box_cmn_grey_work {
	background-color: #EAEAEA;
	padding: 15px;
}

.flow_01 {
	padding: 20px;
	background-color: #EAEAEA;
	border: solid 2px #001752;
	list-style: none;
}

	/*スマホ横持レイアウトの指定*/
	@media only screen and (min-width:500px){
	.ttl_level2 {
		font-size: 24px;
		letter-spacing: 5px;
		text-align: center;
		padding-top: 170px; /*headerを固定している分多めに設定*/
		padding-bottom: 20px;
		margin-bottom: 60px;
	}	
	}

	/*タブレット向け指定*/
	@media only screen and (min-width:768px){

	.txt_head {
		font-size: 24px;
	}

	.flow_01 {
	width: 55%;
	margin-left: auto;
	margin-right: auto;
	}
	}

		/*PC向けおよび大型PCの指定*/
		@media only screen and (min-width:1080px){
		.ttl_level2 {
			padding-top: 150px;
			padding-bottom: 60px;
			margin-bottom: 80px;
		}
			
		.txt_width850 {
			width: 850px;
			margin-left: auto;
			margin-right: auto;
		}
		}

/*-----------------------------
エムイーテクノロジーについて
-----------------------------*/
.txt_about01 {
	max-width: 305px;
	margin-left: auto;
	margin-right: auto;
	background-color: #001752;
	color: #fff;
	text-align: center;
	border-radius: 5px 5px;
}

.ttl_about01 {
	border-bottom: solid 2px #990000;
	text-align: center;
	margin-bottom: 20px;
}

.box_about_policy {
	background-color: #EAEAEA;
	padding: 20px;
}


.table_company01 {
	width: 100%;
	border-collapse:collapse;
    border-spacing:0;
}

.table_company01 tr th {
	background-color: #EAEAEA;
}

.table_company01 tr th, .table_company01 tr td {
	display: block;
	padding: 10px;
	vertical-align: top;
	text-align: left;
}

.table_company01 tr td {
	/*border-bottom: solid 1px;*/
	text-align: left;
}

.map {
	position: relative;
	padding-bottom: 50%;
	height: 0;
	overflow: hidden;
}

.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height:100% !important;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:769px){

	.table_company01 tr th, .table_company01 tr td{
		display: table-cell;
		padding: 10px;
	}

	.table_company01 tr th {
		width: 150px;
		border: solid 1px;
	}

	.table_company01 tr td {
		width: auto;
		border: solid 1px;
	}
	}

		/*PC向けおよび大型PCの指定*/
		@media only screen and (min-width:1080px){
		.table_company01 {
			width: 80%;
			margin-left: auto;
			margin-right: auto;
		}
		}

/*-----------------------------
採用情報
-----------------------------*/
.box_appli_01 {
	padding: 10px;
	border: solid 1px #ABABAB;
}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:769px){
	.box_appli_01 {
		padding: 60px 0 60px 40px;
		background: url(../images/bg_application01.png) no-repeat center right;
	}
	}

/*-----------------------------
sdgs
-----------------------------*/
.inner_sdgs {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}


		@media only screen and (min-width:1080px){
		.inner_sdgs {
			width: 800px;
		}
		}



/*-----------------------------
お問い合わせ
-----------------------------*/
.form_title {
	padding: 5px 10px;
	background-color: #001752;
	margin-top: 20px;
	border-radius: 5px;
	text-align: center;
	color: #ffffff;
}

.form_input {
	padding: 5px 10px;
	border: 1px solid;
	border-radius: 5px;
	margin-top: 20px;
}

input, textarea, select{
 	outline: none;
	font-size: 16px;
	overflow: hidden;
	border: none;
}

input[type="text"], textarea {
	width: 100%;
	box-sizing: border-box;
}

input.birth[type="text"] {
	width: 5em;
	box-sizign: content-box;
}

.outline {
	border: solid 1px #818181;
}

input.post[type="text"] {
	width: 10em;
	box-sizign: content-box;
}

.form_submit {
	text-align: center;
}

.form_submit input {
	background-color: #001752;
	padding: 10px 100px;
	border-radius: 5px;
	font-size: 19px;
	color: #fff;
	letter-spacing: 5px;
}

.form_submit input:hover {
	opacity: 0.7;
}

.error { color: #C1000F;}

	/*タブレットレイアウトの指定*/
	@media only screen and (min-width:769px){
	.form_title {
		float: left;
		width: 30%;
		text-align: left;
	}

	.form_input {
		float: right;
		width: 63%;
	}
	}

		/*PC向けおよび大型PCの指定*/
		@media only screen and (min-width:1080px){
		.form_contact01 {
			width: 90%;
			margin-left: auto;
			margin-right: auto;
		}
		}



/* =============================
   Pagination (list + single)
============================= */
.pagination ul.page-numbers{
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.pagination ul.page-numbers > li{
  margin: 0;
  padding: 0;
}

.pagination .page-numbers a,
.pagination .page-numbers span{
  display: inline-block;
  min-width: 40px;
  padding: 8px 12px;
  border: 1px solid #001752;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  color: #001752;
  background: #fff;
}

.pagination .page-numbers a:hover{
  opacity: 0.7;
}

.pagination .page-numbers .current{
  background: #001752;
  color: #fff;
}

.pagination .page-numbers .prev a,
.pagination .page-numbers .next a{
  min-width: auto;
  padding: 8px 14px;
}

/* singleは前後が片方しか無い時があるので、寄せ方を調整 */
.post-nav ul.page-numbers{
  justify-content: space-between;
}

@media only screen and (max-width: 768px){
  .post-nav ul.page-numbers{
    flex-direction: column;
  }
  .post-nav .page-numbers a{
    width: 100%;
  }
}

/* =============================
   Single post navigation (Prev / Back / Next)
============================= */
.post-nav--triple{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

/* 3分割（中央を安定して真ん中に） */
.post-nav--triple .post-nav__item{
  flex: 1 1 0;
}

/* 左・中央・右の寄せ */
.post-nav--triple .post-nav__prev{ text-align: left; }
.post-nav--triple .post-nav__back{ text-align: center; }
.post-nav--triple .post-nav__next{ text-align: right; }

/* ボタン共通見た目（prev/next は WP が a を吐くのでまとめて当てる） */
.post-nav--triple a{
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid #001752;
  border-radius: 5px;
  text-decoration: none;
  color: #001752;
  background: #fff;
  line-height: 1.2;
}

.post-nav--triple a:hover{
  opacity: 0.7;
}

/* スマホは縦並び */
@media only screen and (max-width: 768px){
  .post-nav--triple{
    flex-direction: column;
    align-items: stretch;
  }
  .post-nav--triple .post-nav__prev,
  .post-nav--triple .post-nav__back,
  .post-nav--triple .post-nav__next{
    text-align: center;
  }
  .post-nav--triple a{
    width: 100%;
  }

  /* 縦並び＋幅100%（既に入っててもOK） */
  .post-nav--triple{
    flex-direction: column;
    align-items: stretch;
  }

  /* 各ボタンを画面幅いっぱいに */
  .post-nav--triple a{
    width: 100%;
    box-sizing: border-box;
    text-align: center;

    /* 長い文言でも折り返す */
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  /* prev/next が空の時の余白を抑えたい場合（任意） */
  .post-nav--triple .post-nav__item:empty{
    display: none;
  }
}

/* =============================
   Pagination responsive (SP)
============================= */
@media only screen and (max-width: 500px){

  /* 折り返しを許可してはみ出し防止 */
  .pagination ul.page-numbers{
    flex-wrap: wrap;
    justify-content: center;
  }

  /* ボタンを少し小さくする */
  .pagination .page-numbers a,
  .pagination .page-numbers span{
    min-width: 32px;      /* 40 → 32 */
    padding: 7px 10px;    /* 少し詰める */
    font-size: 14px;
  }

  /* prev/next も小さく */
  .pagination .page-numbers .prev a,
  .pagination .page-numbers .next a{
    padding: 7px 12px;
  }

  /* 「…」があると幅を食うのでSPでは消す（必要なら） */
  .pagination .page-numbers .dots{
    display: none;
  }
}


/* =============================
   Top: Latest Column Cards
============================= */
.home-column-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.home-column-card{
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.home-column-card__thumb{
  display: block;
}

.home-column-card__thumb img{
  width: 100%;
  height: auto;
  display: block;
}

/* no image fallback */
.home-column-card__noimg{
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #eaeaea;
}

.home-column-card__body{
  padding: 14px 14px 16px;
}

.home-column-card__btn{
  margin-top: 10px;
	text-align: center;
}

.home-column-card__more,
.home-column-listbtn{
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid #001752;
  border-radius: 5px;
  text-decoration: none;
  color: #001752;
  background: #fff;
}

.home-column-card__more:hover,
.home-column-listbtn:hover{
  opacity: 0.7;
}

/* SP: 1列 */
@media only screen and (max-width: 768px){
  .home-column-cards{
    grid-template-columns: 1fr;
  }
  .home-column-card__more,
  .home-column-listbtn{
    width: 100%;
    box-sizing: border-box;
    text-align: center;
  }
}

/* サムネを常に4:3枠にして cover 表示 */
.home-column-card__thumb{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.home-column-card__thumb img.home-column-card__img{
  width: 100%;
  height: 100%;
  object-fit: cover;      /* はみ出す分はトリミング */
  object-position: center;
  display: block;
}

.column_title {
	border-bottom: solid 1px #001752;
    width: 100%;
}

/* リキャプチャロゴ非表示 */
.grecaptcha-badge {
    visibility: hidden;
}