@charset "Shift_JIS";
/* CSS Document */

/* ========================================
	共通スタイル 初期化
======================================== */

.contents-wrap,
.contents-wrap div, .contents-wrap dl, .contents-wrap dt, .contents-wrap dd,
.contents-wrap ul, .contents-wrap ol, .contents-wrap li,
.contents-wrap h1, .contents-wrap h2, .contents-wrap h3, .contents-wrap h4, .contents-wrap h5, .contents-wrap h6,
.contents-wrap textarea, .contents-wrap p, .contents-wrap a, .contents-wrap span {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.contents-wrap {
	width: 100%;
	color: #333333;
	font-size: 14px;
	font-family: "Noto Sans JP", "Meiryo", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	line-height: 1.5;
	padding-top: calc(48 / 780 * 100vw);
	padding-bottom: calc(176 / 780 * 100vw);
}

.contents {
	background: #ffffff;
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
}

.contents-wrap table {
	border-collapse: collapse;
	border-spacing: 0;
}

.contents-wrap img {
	border: 0;
}

.contents-wrap a:hover img,
.contents-wrap a:active img,
.contents-wrap a:visited img {
	border: 0;
	/* -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	filter: blur(0);
	-webkit-filter: blur(0); */
}

.contents-wrap em,
.contents-wrap strong,
.contents-wrap th {
	font-style: normal;
	font-weight: normal;
}

.contents-wrap li {
	list-style: none;
}

.contents-wrap th {
	text-align: left;
}

.contents-wrap h1,
.contents-wrap h2,
.contents-wrap h3,
.contents-wrap h4,
.contents-wrap h5,
.contents-wrap h6 {
	font-size: 100%;
	font-weight: normal;
}

.contents-wrap a {
	text-decoration: none;
}


.contents-wrap strong {
	font-weight: bold;
}

/*ページトップへ戻る*/
#page-top a {
	background: url(../img/btn_pagetop_sp.png) left top;
	width: 60px;
	height: 60px;
	display: block;
	-webkit-transition: .4s;
	transition: .4s;
}

#page-top a:hover {
	opacity: 0.9;
}


/* ========================================
	parts
======================================== */
h1.contents-title {
	font-size: calc(32 / 780 * 100vw);
	font-weight: 700;
	line-height: 1.625;
	border-bottom: solid 2px #ededed;
	padding-bottom: calc(50 / 780 * 100vw);
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
}
p.contents-text {
	font-size: calc(24 / 780 * 100vw);
	line-height: 2.167;
	padding-top: 29px;
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
}
p.contents-text:first-of-type {
	padding-top: calc(64 / 780 * 100vw);
}
p.contents-text a {
	position: relative;
	border-bottom: solid 1px #333333;
}
div.contents-image + p.contents-text {
	padding-top: calc(42 / 780 * 100vw);
}
div.contents-image {
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
	padding-top: calc(41 / 780 * 100vw);
	text-align: center;
}
div.contents-image img {
	max-width: 100%;
	height: auto;
	text-align: center;
}
span.marker {
	background: linear-gradient(transparent 50%, #fff799 50%);
}
span.red-text {
	color: #e60012;
}
span.blue-text {
	color: #448aca;
}

div.btn {
	width: calc(540 / 780 * 100vw);
	height: calc(80 / 780 * 100vw);
	margin: calc(60 / 780 * 100vw) auto 0;
	display: block;
	padding: 0;
}
div.btn a {
	font-size: calc(24 / 780 * 100vw);
	line-height: 1;
	color: #ffffff;
	background-color: #333333;
	border-radius: calc(40 / 780 * 100vw);
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
div.btn a::after {
	position: absolute;
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-right: solid 1px #ffffff;
	border-bottom: solid 1px #ffffff;
	right: calc(62 / 780* 100vw);
	top: calc(50% - 2px);
	transform: rotate(-45deg);
}

/* ========================================
	auther
======================================== */
section.author {
	width: 100%;
	padding-top: calc(130 / 780 * 100vw);
	position: relative;
}
div.author-info-wrapper {
	position: relative;
	background-color: #f6f6f6;
	padding-bottom: calc(40 / 780 * 100vw);
    padding-top: calc(28 / 780 * 100vw);
    margin-top: calc(40 / 780 * 100vw);
}
h2.author-title {
	font-size: calc(24 / 780 * 100vw);
	font-weight: 600;
	line-height: 2.167;
	position: absolute;
    left: calc(50% - calc(52 / 780* 100vw));
    top: calc(97 / 780* 100vw);
}
h2.author-title span {
	position: relative;
}
h2.author-title span::before {
	position: absolute;
	content: "";
	width: calc(38 / 780* 100vw);
	height: 1px;
	background-color: #333333;
	top: calc(50% - 1px);
	left: calc(-66 / 780* 100vw);
}
div.author-info {
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
div.author-image {
	width: calc(200 / 780 * 100vw);
	margin-top: calc(-90 / 780 * 100vw);
}
div.author-image img {
	width: 100%;
	height: auto;
	border-radius: 50%;
}
p.author-text {
	font-size: calc(22 / 780 * 100vw);
	line-height: 1.818;
	width: calc(480 / 780 * 100vw);
	padding-top: 0;
}

/* ========================================
	relation
======================================== */
section.relation {
	padding-top: calc(176 / 780 * 100vw);
}
h2.relation-title {
	font-size: calc(32 / 780 * 100vw);
	font-weight: 700;
	line-height: 1.625;
	text-align: center;
}
ul.relation-list {
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	row-gap: calc(40 / 780 * 100vw);
	padding-top: calc(50 / 780 * 100vw);
}
li.relatiion-list-item {
	width: calc(720 / 780 * 100vw);
}
li.relatiion-list-item a {
	width: calc(720 / 780 * 100vw);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	column-gap: calc(40 / 780 * 100vw);
}
div.relation-list-image {
	width: calc(200 / 780 * 100vw);
}
div.relation-list-image img {
	width: 100%;
	height: auto;
}
div.relation-list-title {
	width: calc(480 / 780 * 100vw);
	margin-top: -3px;
	font-size: calc(24 / 780 * 100vw);
	line-height: 2;
}


/* ========================================
	staffblog
======================================== */
section.staffblog {
	width: calc(720 / 780 * 100vw);
	margin: 0 auto;
}
h1.staffblog-title {
	font-size: calc(40 / 780 * 100vw);
	font-weight: 700;
	text-align: center;
}
ul.staffblog-list {
	padding-top: calc(42 / 780 * 100vw);
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	row-gap: calc(55 / 780 * 100vw);
	column-gap: calc(20 / 780 * 100vw);
}
li.staffblog-list-item {
	width: calc((100% - (calc(20 / 780 * 100vw) * 1)) / 2);
}
div.staffblog-list-image img {
	width: 100%;
	height: auto;
}
div.staffblog-list-title {
	font-size: calc(24 / 780 * 100vw);
	line-height: 1.667;
	padding-top: calc(20 / 780 * 100vw);
	/* display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden; */
}