@charset "UTF-8";
/*!
 * self made
 */

h2 {
  position: relative;
  padding: 0.25em 0;
}
h2:after {
  content: "";
  display: block;
  height: 4px;
  background: -webkit-linear-gradient(to right, rgb(215, 234, 227), transparent);
  background: linear-gradient(to right, rgb(215, 234, 227), transparent);
}

img {
  width: 100vmin;
}

html {
	font-size: 62.5%;
	line-height: 2;
	text-align: center;
}

html .inner-fontb{
	font-size: 1.8rem;
}

body, figure {
	margin: 0;
}

*, *::before, ::after {
	box-sizing: border-box;
}

/* フォトキャプション */
.caption {
	position: absolute;
	z-index: 1;
	right: 1em;
	bottom: 1em;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	font-family: "Dosis", sans-serif;
	letter-spacing: .05em;
	text-align: right;
}
.caption a {
	color: inherit;
	text-decoration: inherit;
}
.caption a:hover {
	text-decoration: underline;
}

/* スクリーントーンカバー */
.cover::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(0,0,0,.3) radial-gradient(rgba(215, 234, 227,.3) 50%, transparent 0) center / 5px 5px;
}

/* サイトタイトルをヘッダーに中央配置 */
header h1 {
	position: absolute;
	z-index: 1;
	top: 50%;
	width: 100%;
	margin: 0;
	padding: 0 .5em;
	color: #fff;
	font-size: 5rem;
	line-height: 1.4;
	font-family: "Dosis", sans-serif;
	letter-spacing: .1em;
	transform: translateY(-50%);
}
@media all and (max-width: 480px) {
	header h1 {
		font-size: 4rem;
	}
}

/* ページコンテンツのスタイル指定 */
main {
	padding: 0em 16px;
	font-size: 1.6rem;
	text-align: left;
}

main h1 {
	max-width: 768px;
	margin: 0em auto;
}

main .lead,
main section {
	max-width: 768px;
	margin: 1em auto;
}
main h1,
main h2,
main h3 {
	line-height: 1.4;
}
main h2,
main h3 {
	font-family: "Dosis", sans-serif;
	letter-spacing: .05em;
}
main h1 {
	font-size: 3rem;
}
main h1 .inner-font{
	font-size: 2rem;
}
main h2 {
	font-size: 3rem;
}
main h3 {
	font-size: 2.4rem;
}

footer {
	padding: 40px 16px;
}
footer .copyright small {
	font-size: 1.4rem;
	letter-spacing: .05em;
}

/*画像の横に文字を表示する*/
.flex {
//  display: flex; /*横並び*/
}
.flex .image {
  width: 300px; /*画像サイズ指定*/
  margin: 0;
  padding: 0;
}
.flex .image img {
  width: 300px;
  height: auto;
}
.flex .text {
  margin: 0 0 0 20px;
  padding: 0;
}

body {
  margin: 20px;
  padding: 0;
}