@charset "utf-8";

html {
	color: #3c3c3c;
	background-image: url(bg.png);
	border-top: 15px solid #D25546;
	border-bottom: 15px solid #D25546;
	font-family: vdl-v7gothic, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 16px;
	scroll-behavior: smooth;
}

body {
	margin: 0;
}

#top {
	text-align: center;
	margin: 0 5px;
}
#top-img {
	max-width: 1200px;
	width: 100%;
	margin-top: 70px;
}

a {
	color: #D25546;
}

.sp-img-1 {
	width: 100%;
}
.sp-img-2 {
	margin-top: 30px;
	width: 85%;
}

section {
	margin: 100px 0;
}

.akeome {
	margin: 20px 0;
}

.akeome span {
	color: #D25546;
	font-size: 1.4em;
}

.akeome, h2 {
	font-family: a-otf-midashi-mi-ma31-pr6n, serif;
	font-weight: 600;
	font-style: normal;
	font-size: 35px;
}

h2:before {
	content: "● ";
	color: #D25546;
	font-size: 35px;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	margin: 50px 0;
}

.flex a {
	color: #fff;
	box-sizing: border-box;
	background: #312f2d;
	text-align: center;
	border-radius: 10px;
	padding: 20px;
	margin: 10px;
	width: calc(25% - 20px);
	text-decoration: none;
	transition: all .1s;
}

.flex a:hover {
	background: #D25546;
}

.line-head {
  margin: 60px 0 10px;
	padding-top: 20px;
	font-size: 1.5em;
  display: flex;
  align-items: center;
  text-align: center;
}

.line-head::before,
.line-head::after {
  content: "";
  flex-grow: 1;
  border-bottom: 1px solid #333;
}

.line-head::before {
  margin-right: 20px;
  padding-left: 15px;
}

/* 右側の線 */
.line-head::after {
  margin-left: 20px;
  padding-right: 15px;
}

.message {
	overflow: hidden;
}
.photo {
	width: 300px;
}
.photo img {
	border-radius: 20px 20px 0 0;
	width: 100%;
}
.photo p {
	text-align: center;
	color: #fff;
	background: #D25546;
	margin-top: -5px;
	padding: 10px;
	border-radius: 0 0 20px 20px;
}

.text {
	background: rgba(255, 255, 255, .5);
	border-radius: 20px;
	padding: 25px;
	box-sizing: border-box;
	img {
		max-width: 100%;
		margin-bottom: 20px;
		border-radius: 10px;
	}
}

footer {
	text-align: center;
}

@media screen and (min-width:1000px){
	.width {
		width: 940px;
		margin: 0 auto 70px;
	}
	.photo {
		float: left;
	}
	.text {
		float: right;
		width: 600px;
	}
}

@media screen and (max-width:999px){
	h2 {
		font-size: 30px;
	}
	.width {
		margin: 0 25px 70px;
	}
	.photo {
		margin: 0 auto 30px auto;	
		max-width: 100%;
	}
	.photo img {
		max-width: 100%;
	}
}

@media screen and (max-width:725px) {
	html {
		font-size: 15px;
	}
	.akeome {
		font-size: 5vw;
	}
	.flex a {
		margin: 5px;
		width: calc(50% - 10px);
		text-decoration: none;
	}
}