@charset "euc-jp";
@import url('https://fonts.googleapis.com/earlyaccess/hannari.css');
/* CSS Document */
p,a {
	font-family: 'Noto Serif JP', serif;	
}

.text_h {
	font-family: 'Hannari','Noto Serif JP', serif!important;
}

.visual {
	background-image: url(../img/visual.jpg);
	padding: 110px 0 70px;
}


a:hover {
	display: inline!important;
}

section h3 {
	font-size: 55px;
	font-weight: 200;
	letter-spacing: 15px;
	position: relative;
	text-align: center;
	padding-left: 16px;
	padding-bottom: 10px;
	margin-top: -90px;
}

/* section h3::before {
	content: '';
	display: block;
	width: 15.5%;
	position: absolute;
	height: 2px;
	background:#c55555;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -2;
}

section h3::after {
	content: '';
	display: block;
	width: 28px;
	height: 28px;
	border-style: solid;
	border-width: 0 0 2px 2px;
	border-color:#c55555;
	background-color:#fff;
	position: absolute;
	z-index: -1;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 50%) rotate(-45deg);
	-ms-transform: translate(-50%, 50%) rotate(-45deg);
	transform: translate(-50%, 50%) rotate(-45deg);
} */

h4 {
	text-align: center;
}

.listpattern1 ul {
	width: 90%;
	max-width: 1170px;
	/* min-width: 1140px; */
	margin: 50px auto 50px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.itemlist .outside {
	width: 1000px;
	margin: 120px auto 0;
	border: 2px solid #000;
}
.itemlist .inside {
	width: 978px;
	margin: 11px auto;
	border: 2px solid #000;
}

.itemlist ul li {
	float: left;
	width: 49%;
	margin-right: 2%;
	margin-bottom: 28px;
	position: relative;
}

.itemlist ul li:nth-child(2n) {
	margin-right: 0;
}

.itemlist ul li:last-child {
	margin-right: 0;
}

.itemlist ul li a img {
	width: 100%;
}

.itemlist ul li b {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display:flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-color: #bd232d;
	color: #fff;
}

.itemlist ul li b span {
	margin-top: -10px;
	transform: scale(0.6, 1);
	font-size: 40px;
}

.listbox {
	width: 1140px;
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 50px auto 0;
}

.listpattern2 a {
	display: block;
	width: 520px;
	margin-right: 98px;
	position: relative;
}

.listpattern2 a::after {
	content: "";
	position: absolute;
	display: block;
	top: -35%;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: -1;
	width: 90%;
	height: 76px;
	background-color: #fbe8e9;
}

.listpattern2 a:nth-child(2n) {
	margin-right: 0;
}

.listpattern2 ul li:nth-child(2) {
	margin-right: 0;
}

.listpattern2 a ul li {
	display: flex;
	flex-direction: column;
	margin-bottom: 80px;
}


.listpattern2 ul li span {
	text-align: center;
	font-size: 25px;
	color: #000;
}

.listpattern2 ul b {
	position: absolute;
	top: -35%;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display:flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background-color: #bd232d;
	color: #fff;
}

.itemlist ul b span {
	margin-top: -10px;
	transform: scale(0.6, 1);
	font-size: 40px;
}

.itemlist ul:nth-child(3) b span {
	margin-top: -19px;
}

.itemlist p {
	font-size: 40px;
	text-align: center;
	margin-bottom: 42px;
}

.itemlist p em {
	color: #bd232d;
	font-size: 40px;
}

.itemlist p span {
	font-size: 40px;
	background: linear-gradient(transparent 66%, #fff799 50%);
}

.itemlist p strong {
	font-size: 52px;
	font-weight: normal;
}

.item_textarea {
	/* background-image: url(../img/textbg.png);
	background-repeat: no-repeat;
	background-position: center bottom; */
	padding: 20px 0;
	/* margin-top: 100px; */
	/* margin-bottom: 30px; */
}

.bnr {
	width: 862px;
	margin: 50px auto 80px;
	display: block;
}

.bnr:hover {
	display: block!important;
}

.itemlist .btn {
	width: 690px;
	color: #fff;
	margin: 90px auto 90px;
	padding: 10px 0 15px;
	background-color: #bd232d;
	font-size: 40px;
	text-align: center;
	position: relative;
	border-radius: 5px;
}

.itemlist .btn::after {
	position: absolute;
	content: url(../img/arrow_right.png);
	width: 22px;
	right: 34px;
	bottom: 20px;
}

.itemlist .btn:hover {
	display: block!important;
}

.spbnr {
	display: none;
}


@media only screen and (max-width: 1024px)  {
	/* .item_textarea {
		margin-bottom: 18%;
	} */
	
	.itemlist p {
		margin-bottom: 0px;
	}

	section h3::before {
		width: 22%;
	}
	
	.itemlist .outside {
		width: 94%;
		margin: 120px auto 0;
	}
	.itemlist .inside {
		width: 98%;
		margin: 1% auto;
	}

	/* .itemlist h3 {
		margin-top: 10%;
	} */
	
	.listpattern1 ul {
		width: 90%;
		min-width: inherit;
		margin-bottom: 10%;
	}
	
	.itemlist ul li {
		margin-bottom: 2%;
	}
	
	.listpattern ul li:nth-child(2n) {
		margin-right: 0;
	}
	
	.listbox {
		width: 100%;
		justify-content: center;
	}
	
	.listpattern2 a {
		margin-right: 0;
	}
	
	.bnr {
		width: 90%;
		margin: 6% auto;
	}
	
	.spbnr {
		display: none;
	}
	
	.itemlist .btn::after {
		bottom: 38%;
		right: 4%;
	}

}
@media only screen and (max-width: 599px) {
	
	section h3 {
		font-size: 8vw;
	}
	
	section h3::before {
		width: 74%;
	}
	
	section h3::after {
		width: 20px;
		height: 20px;
		bottom: 1%;
	}
	
	.item_textarea {
		margin-bottom: 10%;
	}
	
	.itemlist {
		margin-bottom: 28%;
	}

	.itemlist .outside {
		width: 94%;
		margin: 60px auto 0;
	}
	.itemlist .inside {
		width: 98%;
		margin: 1% auto;
	}
	
	.itemlist h3 {
		width: 80%;
		margin: -50px auto 0;
	}
	
	.itemlist h4 {
		width: 44%;
		margin: 0 auto;
	}	
	
	.itemlist .h4size {
		width: 60%;
		margin: 0 auto;
	}	
	
	.itemlist .btn {
		width: 90%;
		margin: 10% auto;
	}
	
	.listpattern1 ul {
		width: 90%;
	}
	
	.itemlist ul li {
		width: 49%;
		margin-right: 2%;
		margin-bottom: 2%;
	}
	
	.listpattern1 ul {
		margin-top: 7%;
	}
	
	.listpattern2 a {
		width: 100%;
	}
	
	.listbox ul {
		display: flex;
		justify-content: center;
	}
	
	.listbox ul li {
		width: 33%;
		margin-right: 14%;
	}
	
	.listpattern2 a::after {
		width: 50%;
		height: 56px;
		top: -41%;
	}
	
	.itemlist ul li b {
		width: 20%;
		height: 20%;
	}
	
	.itemlist ul li b span {
		margin-top: -20%;
		font-size: 6vw;
	}
	
	.itemlist p {
		font-size: 5vw;
		margin-bottom: 4%;
	}
	
	.itemlist p em {
		font-size: 5vw;
	}
	
	.itemlist p em strong {
		font-size: 7.5vw;
	}
	
	.itemlist p span {
		font-size: 5vw;
	}
	
	.item_textarea {
		background-size: 80%;
		/* margin-top: 10%; */
		/* padding-bottom: 6%; */
	}
	
	.itemlist a {
		font-size: 6.5vw;
	}
	
	.listpattern2 ul b {
		width: 7vw;
		height: 7vw;
		top: -41%;
	}
	
	.itemlist ul b span {
		margin-top: -20%;
		font-size: 6vw;
	}
	
	.listpattern2 ul li span {
		font-size: 4vw;
		color: #000;
	}
	
	.itemlist ul:nth-child(3) b span {
		margin-top: -45%;
	}
	
	.pcbnr {
		display: none;
	}
	
	.spbnr {
		display: block;
		width: 90%;
		margin: 6% auto;
	}
	
	.itemlist a {
		margin: 6% auto;
	}
	
	.itemlist .btn {
		font-size: 5vw;
	}
	
	.itemlist .btn::after {
		content: "";
		background-image: url(../img/arrow_right.png);
		background-size: cover;
		background-repeat: no-repeat;
		width: 2.4vw;
		height: 2vh;
		right: 4%;
	}
}

@media only screen and (max-width: 414px) {
	.itemlist ul li b span {
		margin-top: -2vw;
	}
}

@media only screen and (max-width: 375px) {
	.main {
		height: 43.2vh;
	}
}


@media only screen and (max-width: 360px) {
	.main {
		width: 97.5vw;
		height: 43vh;
	}
	
	.main::after {
		width: 42vw;
		height: 9vh;
	}
	
	.time span span {
		font-size: 3.6vw;
	}
}
