.tbBox th,
.tbBox td{
	border:1px solid #ccc;
	font-weight:400;
	padding:.4em;
}
.top_banner_txt{
	height:1.4em;
	z-index:1;
	top:50%;
	left:0;
    transform:translateY(-50%);
}
.top_topic_date,
.top_topic_link{
	width:100%;
}
.title_h2{
	font-size:1.2em;
	font-weight:700;
	padding:0 0 4px;
	margin:0 0 1.2em;
	border-bottom:2px solid #1a64a5;
}
.title_h2 > span{
	padding:0 .2em .2em;
	border-bottom:2px solid #2d912e;
}
#main-content #cat_topics-1 h2,
#main-content #cat_topics-2 h2,
#main-content #cat_topics-3 h2,
#main-content #cat_topics-4 h2{
	border:none;
}
.title_h3{
	font-size:1.1em;
	font-weight:500;
	padding:0 .3em .4em;
	border-bottom:1px solid #2d912e;
}

.title_h2.engTitle{
    padding-top: .6em;
    position: relative;
}
.title_h2.engTitle::before {
	content: attr(data-en);
    position: absolute;
	display:block;
    top: -.4em;
	left: 0;
    transform:rotate(-6deg) translateX(0);
    font-size: .9em;
    z-index: -1;
	opacity:.4
}
.title_h2.fh-center.engTitle::before {
	left: 50%;
	transform: rotate(-4deg) translateX(-50%);
}
.title_h2.fh-end.engTitle::before {
	left: 100%;
	transform: rotate(4deg) translateX(-100%);
}


#wrapper p{margin:.8em .4em}
#breadcrumbList{font-size:0}
#breadcrumbList li{
	min-width:80px
}
#breadcrumbList a{
	border-right:1px solid #fff;
	font-size:0.9rem;
	padding:.6em .4em;
	margin:0
}
#breadcrumbList li:last-child a{
	border:none;
	cursor:default
}
#breadcrumbList li:last-child a:hover{background:none}
.wpcf7Btn,
.mLink a{
	padding:.6em 1em;
	line-height:1
}
.mLink a::after{
	content:"\f0da";
	padding-left:.3em
}
.topic-title{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.topic-exc{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin:.4em .4em 0
}
#home-topics-4 .topic-exc.img_aspect-16_9,
#home-topics-4 .topic-exc.img_aspect-2_1{
	-webkit-line-clamp: 1;
}
#home-topics-4 .topic-exc.img_aspect-4_3,
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 2;
}
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 3;
}
.content_slider .slick-prev,
.content_slider .slick-next{
	color:#fff;
	background:rgba(0,0,0,.8)!important;
	text-shadow:1px 1px 0 #111,-1px 1px 0 #111,1px -1px 0 #111,-1px -1px 0 #111;
}
.content_slider .slick-prev{
	border-radius:0 2px 2px 0;
}
.content_slider .slick-next{
	border-radius:2px 0 0 2px;
}
.gallery_alt_text.pos-abs{
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
	color:#fff;
	background:rgba(0,0,0,.8)!important;
}
.rounded-circle .gallery_alt_text.pos-abs{
	bottom:calc(50% - 1.1em);
}
/* ==============================
   Contact Form 基本
============================== */
form.wpcf7-form .contactForm {

  dt,
  dd {
    margin: .2em 0 !important;
  }

  dt {
    border-radius: .25em;
  }

  input,
  textarea {
    padding: .8em !important;
    border-radius: .25em;
  }

  input:focus,
  textarea:focus {
    border: 1px solid #444;
    outline: none;
  }

}


/* ==============================
   date input
============================== */
input[type="date"] {
  padding: 12px 14px;
  font-size: 16px; /* iOS拡大防止 */
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  cursor: pointer;
}

input[type="date"]:focus {
  border-color: #333;
  outline: none;
}

/* ==============================
   Radio（CF7）
============================== */
.wpcf7-radio {
  display: flex;
  gap: 12px;
}

.wpcf7-radio .wpcf7-list-item {
  margin: 0;
}

.wpcf7-radio .wpcf7-list-item label {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: .4em;
  font-size: 16px;
  cursor: pointer;
}

/* 元のradioを隠す */
.wpcf7-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
}

/* ラベル */
.wpcf7-radio .wpcf7-list-item-label {
  position: relative;
  padding-left: 2em;
  display: inline-block;
}

/* 外枠（○） */
.wpcf7-radio .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.6em;
  height: 1.6em;
  border: 1px solid #999;
  border-radius: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
}

/* 中の● */
.wpcf7-radio .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: .3em;
  top: 50%;
  width: 1em;
  height: 1em;
  background: #333;
  border-radius: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform .2s ease;
}

/* checked */
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::after {
  transform: translateY(-50%) scale(1);
}

.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color: #333;
}
/* ==============================
   Checkbox（CF7）
============================== */

/* 元のcheckboxを隠す */
.wpcf7-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
}
.wpcf7-checkbox .wpcf7-list-item-label {
  position: relative;
  padding-left: 2em;
}

.wpcf7-checkbox .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.4em;
  height: 1.4em;
  border: 1px solid #999;
  transform: translateY(-50%);
}

.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  content: "✓";
  position: absolute;
  left: .2em;
  top: 50%;
  transform: translateY(-60%);
  font-size: 1.2em;
  color: #333;
}
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item * {
	cursor: pointer;
}

/* ==============================
   Select
============================== */
.wpcf7-select {
  padding: 12px 40px 12px 14px;
  font-size: 16px; /* iOSズーム防止 */
  border-radius: .25em;
  border: 1px solid #ddd;
  background-color: #fff;
  color: #777;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* フォーカス時 */
.wpcf7-select:focus {
  outline: none;
  border: 1px solid #333;
}
.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-form-control-wrap:has(select)::after {
  content: "\f0d7" !important;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 16px;
  color: #666;
}

@media all and (min-width:576px),print{
	#breadcrumb{
		margin:0.1em 0;
		border-bottom:1px solid #ccc
	}
	#breadcrumbList li{min-width:0;flex:0 0 auto;position:relative}
	#breadcrumbList li:last-child{flex:0 1 auto}
	#breadcrumbList a{
		border:none;
		padding:.2em 0;
		position:relative;
	}
	#breadcrumbList span{
		position:relative;
		padding:0 .3em
	}
	#breadcrumbList li,
	#breadcrumbList a,
	#breadcrumbList span {
	}
	#breadcrumbList li a::after{content:">"}
	#breadcrumbList li:last-child a::after{content:"";padding:0}
	#breadcrumbList li span::before,
	#breadcrumbList li span::after{
		padding:0;
		position:absolute;
		bottom:.1em;
		content:"";
		display:inline-block;
		width:0;
		height:1px;
		background:#888;
		-webkit-transition:.6s;
		transition:.6s;
		opacity:0
	}
	#breadcrumbList li:last-child span::before,
	#breadcrumbList li:last-child span::after{
		display:none;
	}
	#breadcrumbList li span::before{left:50%}
	#breadcrumbList li span::after{right:50%}
	#breadcrumbList li span:hover::before,
	#breadcrumbList li span:hover::after{width:50%;opacity:1}
	#home-topics-4 .topic-exc.img_aspect-16_9,
	#home-topics-4 .topic-exc.img_aspect-2_1{
		-webkit-line-clamp: 1;
	}
	.wpcf7Btn,
	.mLink a{
		padding:.4em .8em;
		line-height:1
	}
	#home-topics-4 .topic-exc.img_aspect-4_3{
		-webkit-line-clamp: 3;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 4;
	}
}
@media all and (min-width:768px),print{
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 5;
	}
}
@media all and (min-width:992px),print{

	.title_h2{
		font-size:1.3em;
		padding:0 0 5px;
	}
	.title_h3{
		font-size:1.2em;
	}

	.top_topic_date{
		width:7.4em;
	}
	.top_topic_link{
		width:calc(100% -7.4em);
	}
	.pointer-none{color:inherit;text-decoration:none}
	.topic-exc{
		-webkit-line-clamp: 2;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 6;
	}
	.gallery_alt_text.pos-abs{
		z-index:1;
		bottom:-3em;
		left:0;
		opacity:0;
	}
	.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:0;
		opacity:1;
	}
	.rounded-circle .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:0;
	}
	.rounded-circle.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:1;
	}
	.over_large img{
		-webkit-transform:translate(0, 0) scale(1);
		transform:translate(0, 0) scale(1);
		-webkit-transition:all .4s;
		transition:all .4s;
	}
	.over_large:hover img{
		-webkit-transform:translate(0, 0) scale(1.1);
		transform:translate(0, 0) scale(1.1);
	}
}