* {
    box-sizing: border-box; /* 全要素にbox-sizingを適用（重要） */
}
/*共通*/
h2 {
	font-size: 28px;
	margin-bottom: 20px;
}
h3 {
	margin-bottom: 5px;
}
p {
	text-align: left;
}
header p {
	/*text-indent: 1em;*/
	margin-bottom: 20px;
}
header h2 {
	color: #ea5514;
}
.red {
	color :#00a59f;
}
header .inner {
	margin-bottom: 10px;
}


main {
	overflow: hidden;
}
main>h2 {
    text-align: center;
    margin-bottom: 20px;
}

/*contents_main*/
.main_read .f_left {
	margin: 0 20px 0 0;	
}
.main_read figcaption {
	padding-top: 10px;
}
.f_right {
	margin-right: 25px;
}
.f_left {
	margin-left: 25px;
}
.t_photo {
	width: 200px;
    height:auto;
    object-fit: cover;
	padding: 7px 0 0 0;/*上揃えるために無駄に入れてる*/
}
.box , .w_box {
	padding: 25px;
	background: #FFF;
	margin-bottom: 40px;
}
.t_yokonaga {
	width: 340px;
}
.t_tate {
	width: 180px;
}
.t_read {
    text-align: left;
}
.t_read .t_title {
	font-size: 24px;
}
.gray {
	color: #565656;
}
figcaption , figcaption p {
	text-align: center;
	padding: 2px 0 5px 0;
	margin: 0;
}

.read_more {
    width: 350px;
    margin: 0 0 0 auto;
	padding: 5px 20px;
}

.post p,.footer_red p {
	text-align: center;
}

.sub_title {
	font-size: 20px;
}

/* レスポンシブ対応（1列表示） */
@media screen and (max-width: 768px) {
    /* スライドの幅はJavaScriptで制御するため、ここでのflex定義は不要になる */
    /* .carousel-slide { flex: 0 0 calc(100% - 20px); } は不要 */
	h2 {
		font-size: 22px;
		margin-bottom: 10px;
	}
	main>h2 {
		margin-bottom: 0;
	}
	.main_logo {
		width: 40%;
	}
	main .flex , .main_read .flex {
		display: block;
	}
	figcaption p {
		padding: 7px 0 0 0;
	}
	main .sp_flex {
		display: flex;
	}
	.t_photo {
		width: 100%;
		height: 275px;
		object-position: center -20px;
		padding: 0;
	}
	.main_read .f_left {
		margin: 0;	
	}
	.main_read figcaption {
		padding-top: 0;
	}
	.t_yokonaga {
		object-position: center;
	}
	.f_left .t_photo {
		margin-top: 15px;
	}
	.f_right.t_photo {
		margin-bottom: 15px;
	}
	.t_read .t_title {
		font-size: 21px;
	}

	.f_right,.f_left {
		padding: 0;
		margin: 0;
	}
	.read_more {
		margin: 20px auto 0;
	}
	/*.figcaption, figcaption p {
		text-align: left;
	}*/
	.read_more {
		width: auto;
	}
	.box {
		padding: 30px 15px;
	}
}