@charset "utf-8";

/* .index
-------------------------------------------------------------------------------*/
.index #catNavi{
	width: 100%;
	border-bottom: solid thin #DDD;
}
.index #catNavi ul{
	padding: 0;
	border-left: solid thin #DDD;
	border-right: solid thin #DDD;
}
.index #catNavi li{
	float: left;
	width: calc(20% - 2px);
	padding: 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	border-right: solid thin #DDD;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: table;
	margin-top: 0px;
	margin-bottom: 0;
	line-height: 22px;
}
.index #catNavi li:last-child{
	border-right: none;
}

.index #catNavi li.navi1{
	width: 20%;
}
.index #catNavi li a{
	padding: 0.8em 0.5em;
	/** color: #31313F; **/
	color: #555555;
	display: table-cell;
	vertical-align: middle;
}
.page-id-17452 #catNavi li.navi1 a,
.category-seminar #catNavi li.navi2 a,
.category-calendar #catNavi li.navi3 a,
.category-notice #catNavi li.navi4 a,
.category-other #catNavi li.navi5 a{
	/** color: #EF563D; **/
	color: #0f4c81;
	/** background: url(../img/common/icon_midashi1.gif) no-repeat center bottom; **/
	background: url(../img/common/icon_midashi1_ht6px.png) no-repeat center bottom;
}
.index #catNavi li a span{
	display: inline-block;
}
.index #newsList{
	margin-top: 40px;
	margin-bottom: 20px;
}
.index #newsList li{
	border-bottom: solid thin #DDD;
	/** padding: 1em; **/
	clear: left;
	background: url(../img/common/icon_arrow_gray.gif) no-repeat 98% center;
	padding: 0.7em 1em;
}
.index #newsList li p{
	display: inline-block;
	vertical-align: top;
}
.index #newsList li .date{
	font-family: 'Montserrat', sans-serif;
	width: 110px;
	color: #888;
}
.index #newsList li .cate{ width: 115px; }
.index #newsList li .title a{
	color: #444;
	font-weight: bold;
	padding-right: 1.5em;
}
@media screen and (max-width: 768px){
	.index #catNavi li.navi1,
	.index #catNavi li{
		width: 50%;
		border-bottom: solid thin #DDD;
	}
	/** .index #catNavi li.navi3{ border-bottom: none; } **/
	.index #catNavi li a{ padding: 0.7em 0.5em; }
	.index #newsList{ margin-top: 0; }
	.index #newsList li{
		/** padding: 1em 0.5em; **/
		background-image: none;
		padding: 0.6em 0.5em;
	}
	.index #newsList li .date{ width: 100px; }
	.index #newsList li .title a{ padding-right: 0; }
	.index #catNavi li.navi5{
		width: 100%;
		box-sizing: border-box;
	}
}

/* .detail
-------------------------------------------------------------------------------*/
.detail #article{ padding-top: 50px; }
.detail #article p.date,
.detail #article p.cate{
	display: inline-block;
	vertical-align: top;
	padding-right: 1em;
}
.detail #article p.cate img{ padding-right: 5px; }
.detail #article p.date{
	font-family: 'Montserrat', sans-serif;
	color: #888;
}
/************
.detail #article h3.title{
	color: #41536A;
	font-size: 2.2em;
	background: url(../img/common/icon_midashi4_ht8px.png) no-repeat left bottom;
	padding-bottom: 10px;
	margin-bottom: 1em;
}
**************************************/
.detail #article h3.title {
    color: #41536A;
    font-size: 2.2em;
    position: relative; /* 疑似要素を配置するために必須 */
    display: inline-block; /* タイトルの幅を要素の内容に合わせる */
    padding-bottom: 10px; /* タイトル下の余白 */
    margin-bottom: 1em;
	padding-right: 10px;
}
@media screen and (max-width: 768px){
	.detail #article h3.title {
		padding-right: 0;
	}
}

.detail #article h3.title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; /* タイトル幅に応じて下線の幅を調整 */
    height: 7px; /* 下線の高さ */
    background-color: #0f4c81; /* 下線の色 */
    transform: skew(-20deg); /* 平行四辺形に変形 */
    transform-origin: left; /* 左側を基準に傾ける */
    z-index: -1; /* タイトルテキストの後ろに配置 */
}
/*****************
.detail #btn{
	background-color: #F3F8FB;
	text-align: center;
	margin-top: 50px;
}
.detail #btn .btn a{
	width: 200px;
	display: block;
	margin: 30px auto;
	background: url(../img/common/icon_arrow_red.gif) no-repeat 20px center;
	background-color: #FFF;
	color: #EF563D;
	font-weight: bold;
	font-size: 1.1em;
	padding: 15px 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border-radius: 30px;
}
*********************/
.detail #btn {
	background-color: #F3F8FB;
	text-align: center;
	margin-top: 50px;
}

.detail #btn .btn a {
	width: 200px;
	display: block;
	margin: 30px auto;
	background-color: #FFF; /* 背景画像を削除し、背景色を白に設定 */
	color: #0f4c81; /* 文字色を変更 */
	font-weight: bold;
	font-size: 1.1em;
	padding: 15px 30px;
	border: 2px solid #0f4c81; /* 単一の枠線を追加 */
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #0f4c81; /* 二重の枠を追加 */
}

/* メールフォーム */
.detail .entry form{
	width: 80%;
	padding: 3% 5%;
	margin: 20px auto;
}
.detail .entry form dl{ margin-bottom: 30px; }
.detail .entry form dt{ font-size: 1.1em; }
.detail .entry form dd{
	padding-left: 0;
	margin-top: 0.3em;
	margin-bottom: 1em;
}
.detail .entry form input[type="text"],
.detail .entry form input[type="email"],
.detail .entry form textarea,
.detail .entry form input[type="date"],
.detail .entry form select{
	background-color: #F9F9F9;
	width: 100%;
	border: solid thin #CCC;
	padding: 5px 10px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.detail .entry form input[type="date"],
.detail .entry form select{
	max-width: 12em;
	margin: 5px;
}
.detail .entry form input[type="submit"],
.detail .entry form input[type="reset"]{ padding: 5px 20px; }
@media screen and (max-width: 768px){
	.detail #article{ padding-top: 30px; }
	.detail #article h3.title{ font-size: 1.7em; }
	.detail #btn{ margin-top: 20px; }
	.detail #btn .btn a{
		padding: 10px 20px;
		margin: 10px auto;
	}
	.detail .entry form{
		width: 95%;
		padding: 3% 2%;
		margin: 10px auto;
	}
	.detail .entry form input[type="text"],
	.detail .entry form input[type="email"],
	.detail .entry form textarea{ padding: 5px; }
	.detail .entry form input[type="submit"],
	.detail .entry form input[type="reset"]{ padding: 5px 10px; }
}
