@charset "UTF-8";

body {
	padding-top: 96px;
	background-color: #fefefd;
	background-image: url(img/fancy_deboss.png);
}
body > main.my-maxwidth > * {
	margin-bottom: 3em;
}

.my-maxwidth {
	max-width: 60rem;
}

.hero-img {
	position: relative;
	margin: 0 auto;
	padding: 1em;
	max-width: 48rem;
	/*
	overflow: hidden;
	background-image: url(img/hero-img-bg.png);
	background-image: repeating-linear-gradient(-45deg,rgba(0,0,0,.1), rgba(0,0,0,.1) 2px,transparent 0, transparent 8px);
	background-image: repeating-linear-gradient(-45deg, transparent, transparent 20px, black 20px, black 40px);
	background-image: repeating-linear-gradient(-45deg, transparent 0 20px,black 20px 40px);
	*/
	background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.14) 0 1.4px, transparent 1.4px 7px);
}
.hero-img > div {
	position: absolute;
	top: 50%;
	width: calc(100% - 1em);
	text-align: center;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	text-shadow: 0 .07em .07em rgba(0,0,0,.2);
	transition: background-color .7s;
	font-feature-settings: "palt";
}
.hero-img > div:hover {
	background-color: rgba(0,0,0,.2);
	transition: background-color .7s;
}
figure {
	text-align: center;
}
.figure {
	display: block;
	margin: 2em auto;
	max-width: 30rem;
}
.figure img {
	box-shadow: 0 .5em .7em rgba(0, 0, 0, 0.35);
}

.lead-wrap {
	margin: 0 auto;
	max-width: 48rem;
}
.lead-wrap .lead {
	text-align: justify;
	text-justify: inter-character;
	text-justify: inter-ideograph;
	font-feature-settings: "palt";
}
.lead-wrap .revision {
	color: #666;
	text-align: right;
	font-size: .88em;
}

.navbar {
	font-feature-settings: "palt";
}

article h1 {
	margin-top: 2em;
	padding: .5em .25em .5em .5em;
	border-left: solid .125em #fff;
	background-image: repeating-linear-gradient(-45deg, rgba(255,255,255,1) 0 2px, transparent 2px 8px);
	color: rgba(0,0,0,.75);
	/*
	font-size: calc(1.375rem + 1.5vw);
	*/
	font-size: calc(1.6rem + .8vw);
	font-feature-settings: "palt";
}

article h2 {
	margin: 1.4em 0 .7em;
	border-bottom: dotted 1px rgba(0,0,0,.3);
	font-feature-settings: "palt";
}

article h3, article .h3 {
	margin: 1em 0 .5em;
	color: #665533;
	/* 上書き */
	font-size: calc(1.275rem + 0.3vw);
}
@media (min-width: 1200px) {
	article h3, article .h3 {
		/* 上書き */
		font-size: 1.5rem;
	}
}

article > p {
	margin-left: auto;
	margin-right: auto;
	max-width: 48rem;
	line-height: 1.75;
	text-indent: 1em;
	text-align: justify;
	text-justify: inter-character;
	text-justify: inter-ideograph;
	font-feature-settings: "palt";
}
article > p b {
	font-size: 110%;
}

.after-next-arrow {
	position: relative;
	margin: .25em auto;
	padding-bottom: 2em;
	line-height: 1;
	text-align: center;
}
.after-next-arrow::before {
	content: "";
	position: absolute;
	bottom: 1em;
	left: calc(50% - .8em);
	width: 1.6em;
	height: 1em;
	background: #6ddddd;
}
.after-next-arrow::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - 2em);
	width: 4em;
	height: 1em;
	border-top: 1em solid #6ddddd;
	border-left: 2em solid transparent;
	border-right: 2em solid transparent;
}
.before-next-arrow {
	position: relative;
	margin: .25em auto;
	padding-top: 2em;
	line-height: 1;
	text-align: center;
}
.before-next-arrow::before {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - .8em);
	width: 1.6em;
	height: 1em;
	background: #6ddddd;
}
.before-next-arrow::after {
	content: "";
	position: absolute;
	top: 1em;
	left: calc(50% - 2em);
	width: 4em;
	height: 1em;
	border-top: 1em solid #6ddddd;
	border-left: 2em solid transparent;
	border-right: 2em solid transparent;
}
.after-prev-arrow {
	position: relative;
	margin: .25em auto;
	padding-bottom: 2em;
	line-height: 1;
	text-align: center;
}
.after-prev-arrow::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: calc(50% - .8em);
	width: 1.6em;
	height: 1em;
	background: #6ddddd;
}
.after-prev-arrow::after {
	content: "";
	position: absolute;
	bottom: 1em;
	left: calc(50% - 2em);
	width: 4em;
	height: 1em;
	border-bottom: 1em solid #6ddddd;
	border-left: 2em solid transparent;
	border-right: 2em solid transparent;
}
.before-prev-arrow {
	position: relative;
	margin: .25em auto;
	padding-top: 2em;
	line-height: 1;
	text-align: center;
}
.before-prev-arrow::before {
	content: "";
	position: absolute;
	top: 1em;
	left: calc(50% - .8em);
	width: 1.6em;
	height: 1em;
	background: #6ddddd;
}
.before-prev-arrow::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - 2em);
	width: 4em;
	height: 1em;
	border-bottom: 1em solid #6ddddd;
	border-left: 2em solid transparent;
	border-right: 2em solid transparent;
}
/*
.modal-content {background-color:unset;}
*/

footer > aside {
	margin: 0 auto;
	padding: 2em 1em 1em;
	background-color: #666;
	background-image: repeating-linear-gradient(-45deg, rgba(0,0,0,.07) 0 1.4px, transparent 1.4px 7px);
}
footer > div {
	margin: 0 auto;
	padding: 1em 0;
	background-color: #333;
	background-image: linear-gradient(0, rgba(255,255,255,0), rgba(255,255,255,.2));
	text-align: center;
	color: #999;
}
footer > div > nobr {
	margin: 0 .5em;
	font-size: 88%;
}

.my-link-card {
	margin: 0 auto 2em;
	max-width: 40rem;
	overflow: hidden;
}

.my-link-card-icon {
	position: relative;
	background-color: #eee;
}

.my-link-card-icon > div {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 3em;
	transform: translate(-50%,-50%);
	line-height: 1;
	color: #999;
}

.my-link-card img {
	/*
	height: 100%;
	*/
	object-fit: cover;
}

.my-link-card h5 {
	margin: 0;
}
.my-link-card p {
	font-size: 88%;
}
.my-link-card .card-header {
	padding-bottom: 0;
	border: 0;
}
.my-link-card .card-footer {
	text-align: right;
	font-size: 75%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.my-link-card a {
	color: #999;
}

.my-pref-card {
	margin-bottom: 2em;
	margin-left: auto;
	margin-right: auto;
	padding: 2em 1.4em 1em;
	max-width: 48rem;
}
.my-pref-card li {
	margin-top: .5em;
}
