@charset "UTF-8";

body {
	animation: fadein 1s forwards;
}

@keyframes fadein {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

html,
body {
	scroll-padding-top: 56px;
} /*header height*/

@media (min-width: 1024px) {
	html,
	body {
		scroll-padding-top: 88px;
	} /*header height*/
}

/*========================
	color and text
========================*/

/*text-size*/

.bj_display-1 {
	font-size: calc(1.725rem + 5.7vw);
}
.bj_display-2 {
	font-size: calc(1.675rem + 5.1vw);
}
.bj_display-3 {
	font-size: calc(1.575rem + 3.9vw);
}
.bj_display-4 {
	font-size: calc(1.475rem + 2.7vw);
}

.bj_display-5 {
	font-size: calc(1.375rem + 1.5vw);
}
.bj_display-6 {
	font-size: calc(1.325rem + 1.1vw);
}
.bj_display-7 {
	font-size: calc(1.325rem + 0.9vw);
}
.bj_display-8 {
	font-size: calc(1.3rem + 0.6vw);
}
.bj_display-9 {
	font-size: calc(1.275rem + 0.3vw);
}
.bj_display-10 {
	font-size: calc(1.1rem + 0.25vw);
}

@media (min-width: 1024px) {
	.bj_display-1 {
		font-size: calc(1.675rem + 5.1vw);
	}
	.bj_display-2 {
		font-size: calc(1.575rem + 3.9vw);
	}
	.bj_display-3 {
		font-size: calc(1.475rem + 2.7vw);
	}
	.bj_display-4 {
		font-size: calc(1.375rem + 1.5vw);
	}
}

/*========================
	other
========================*/

/*疑似blockquote*/

div.bq {
	position: relative;
	border: 1px solid #a5b4fc; /*indigo-300*/
	border-radius: 0.5rem;
	padding: 1rem;
	background-color: #e0e7ff; /*indigo-100*/
	/*margin-top: 2.5rem;*/
	padding: 2rem 1rem;
}
div.bq:before {
	position: absolute;
	font-family: serif;
	content: "“";
	color: #a5b4fc;
	top: 10px;
	left: 16px;
	font-size: 2rem;
	font-weight: 900;
}
div.bq:after {
	position: absolute;
	font-family: serif;
	content: "„";
	color: #a5b4fc;
	right: 16px;
	bottom: 10px;
	font-size: 2rem;
	font-weight: 900;
}
div.bq p {
	margin: 0;
	font-style: oblique;
	font-weight: 500;
}

/*READ MORE btn*/

.blog_card div.more {
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: 0.875rem;
	font-weight: 700;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	border-top: 1px solid #44403c; /*stone-700*/
	border-left: 1px solid #44403c; /*stone-700*/
	background: #f3f5f5; /*paper_dark*/
}

.blog_card:hover div.more {
	border-color: transparent;
	background: transparent;
}

.blog_card div.more p {
	margin-left: 2rem;
	margin-right: -2rem;
	z-index: 1;
	transition: all 0.2s ease;
}

.blog_card div.more p::after {
	display: inline-block;
	width: 2rem;
	text-align: center;
	content: "\025b6";
}

.blog_card:hover div.more p {
	margin-right: -1rem;
	opacity: 0.5;
}

.blog_card:hover div.more p::after {
	opacity: 0;
}

.blog_card div.more span {
	display: block;
	width: 44px;
	height: 44px;
	background: #f3f5f5; /*paper_dark*/
	position: relative;
	overflow: hidden;
	border-radius: 2px;
}

.blog_card div.more span::before {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	content: "";
	width: 0px;
	height: 0px;
	border: 0px solid #44403c; /*stone-700*/
	border-top-color: #a8a29e;
	border-left-color: #a8a29e;
	background-color: transparent;
	transition: all 0.2s ease;
	overflow: hidden;
	transform-origin: right bottom;
}

.blog_card:hover div.more span::before {
	border-width: 22px;
	content: "";
	/*filter: drop-shadow(-1px 0px 0px rgba(0,0,0,0.6));*/
}

.blog_card p.title span.title_l {
	font-feature-settings: "palt"; /*『』を詰める*/
	letter-spacing: 0.05rem; /*『』以外の間隔を調整*/
}

/*table*/

.column-table {
	width: 100%;
	text-align: center;
	border-collapse: collapse;
	border-spacing: 0;
	border: solid 1px #d83765;
}
.column-table tr {
	border-top: dashed 1px #d83765;
}
.column-table .table-header {
	padding: 10px;
	color: #fff;
	background: #d83765;
}
.column-table td {
	padding: 10px;
	border-right: solid 1px #d83765;
}
.column-table .table-header td {
	border-right: solid 1px #fff;
}
.column-table td:last-child {
	border-right: none;
}
