@charset "utf-8";
/* CSS Document */

img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 640px) {
	#contents{
		padding: 0 0 35px !important;
	}
	.osouji_cp .main_visual {
		width: calc(100% + 60px);
		margin: 0 0 52.5px -30px;
	}
}

.osouji_cp .content_box{
	position: relative;
	margin: -74px 0 0;
	padding: 0 45px;
	background: #fff;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box{
		position: relative;
		margin: -22vw 0 0;
		padding: 0;
	}
}

.osouji_cp .content_box .box01{
	padding: 15px 36px;
	margin: 0 0 65px;
	border: 6px solid #be0022;
	border-radius: 12px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01{
		padding: 15px 8px;
		border: 4px solid #be0022;
	}
}

.osouji_cp .content_box .box01 h2{
	font-size: 42px !important;
	font-weight: bold;
	color: #a97e4b;
	text-align: center;
	padding: 0 !important;
	line-height: 1.25;
	margin: 0 0 15px !important;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 h2{
		font-size: 24px !important;
	}
}

.osouji_cp .content_box .box01 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.osouji_cp .content_box .box01 ul li{
	width: calc(50% - 8px);
	padding: 12px;
	margin: 0 0 12px;
	background: #de0025;
	border-radius: 8px;
	box-sizing: border-box;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li{
		width: calc(50% - 4px);
		padding: 8px;
		margin: 0 0 8px;
	}
}

.osouji_cp .content_box .box01 ul li:last-child{
	display: flex;
	justify-content: center;
	align-items: center;
	background: none;
	border-radius: 0;
}

.osouji_cp .content_box .box01 ul li .title_box{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px;
	margin: 0 0 8px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li .title_box {
		min-height: 12vw;
	}
}

.osouji_cp .content_box .box01 ul li .title_box::before,
.osouji_cp .content_box .box01 ul li .title_box::after{
	position: absolute;
	content: "";
	background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li .title_box::before,
	.osouji_cp .content_box .box01 ul li .title_box::after{
		background-size: cover;
	}
}

.osouji_cp .content_box .box01 ul li .title_box::before{
	width: 30px;
	height: 35px;
	top: 0;
	left: 0;
	background-image: url(../img/item01.png);
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li .title_box::before{
		width: 20px;
		height: 23px;
	}
}

.osouji_cp .content_box .box01 ul li .title_box::after{
	width: 31px;
	height: 37px;
	right: 0;
	bottom: 0;
	background-image: url(../img/item02.png);
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li .title_box::after{
		width: 20px;
		height: 24px;
	}
}

.osouji_cp .content_box .box01 ul li .title_box h3{
	font-size: 20px !important;
	font-weight: bold;
	color: #fff;
	text-align: center;
	padding: 0 !important;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box01 ul li .title_box h3{
		font-size: 3.2vw !important;
	}
}

.osouji_cp .content_box .box01 ul li figure{
	margin: 0;
}
.osouji_cp .content_box .box01 ul li figure img{
	display: block;
	width: 100%;
	margin: 0 auto;
}

.osouji_cp .content_box .box01 ul li:last-child figure img{
	display: block;
	width: auto;
	margin: 0 auto;
}

.osouji_cp .content_box .box02{
	padding: 30px 34px;
	border: 6px solid #c69c6c;
	border-radius: 12px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02{
		padding: 20px 12px;
		border: 4px solid #c69c6c;
	}
}

.osouji_cp .content_box .box02 .title_box{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 549px;
	height: 118px;
	margin: -68px auto 24px;
	background-image: url(../img/osouji_title_bg.png);
	background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .title_box{
		width: 73vw;
		height: 15.65vw;
		margin: -12vw auto 3vw;
		background-image: url(../img/osouji_title_bg.png);
		background-repeat: no-repeat;
		background-size: cover;
	}
}

.osouji_cp .content_box .box02 .title_box h2{
	font-size: 38px !important;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	margin: 0 !important;
	padding: 0 !important;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .title_box h2{
		font-size: 5vw !important;
	}
}

.osouji_cp .content_box .box02 .title_box h2 span{
	font-size: 50px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .title_box h2 span{
		font-size: 7vw !important;
	}
}

.osouji_cp .content_box .box02 .title_box h2 small{
	font-size: 30px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .title_box h2 small{
		font-size: 4vw !important;
	}
}

.osouji_cp .content_box .box02 .txt_box{
	padding: 0 16px;
	margin: 0 0 20px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .txt_box{
		padding: 0 8px;
	}
}

.osouji_cp .content_box .box02 .txt_box h3{
	display: block;
	font-size: 28px !important;
	font-weight: bold;
	text-align: center;
	padding: 0 0 5px !important;
	margin: 0 0 20px;
	border-bottom: 3px solid #c69c6c;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .txt_box h3{
		font-size: 20px !important;
		margin: 0 0 16px;
	}
}

.osouji_cp .content_box .box02 .txt_box h4.dotted{
	position: relative;
	font-size: 18px !important;
	font-weight: 500;
	color: #000 !important;
	padding: 0 0 0 18px !important;
	margin: 0 0 8px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .txt_box h4.dotted{
		font-size: 16px !important;
		padding: 0 0 0 16px !important;
	}
}

.osouji_cp .content_box .box02 .txt_box p.dotted{
	position: relative;
	padding: 0 0 0 16px !important;
	margin: 0 0 6px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .txt_box p.dotted{
		padding: 0 0 0 14px !important;
	}
}

.osouji_cp .content_box .box02 .txt_box h4.dotted::before,
	.osouji_cp .content_box .box02 .txt_box p.dotted::before{
	position: absolute;
	content: "・";
	left: 0;
}

.osouji_cp .content_box .box02 h5{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 0 0 8px;
	padding: 0 !important;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 h5{
		font-size: 16px;
	}
}

.osouji_cp .content_box .box02 .contact_box{
	text-align: center;
	padding: 10px 5px;
	background: #e6e6e6;
	border-radius: 8px;
}

.osouji_cp .content_box .box02 .contact_box p{
	font-size: 20px;
	font-weight: bold;
	letter-spacing: -1px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .contact_box p{
		font-size: 4vw;
	}
}

.osouji_cp .content_box .box02 .contact_box p span{
	font-size: 28px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .contact_box p span{
		font-size: 5vw;
	}
}

.osouji_cp .content_box .box02 .contact_box p span b{
	font-size: 36px;
	color: #de0122;
	letter-spacing: -2.25px;
}
@media screen and (max-width: 640px) {
	.osouji_cp .content_box .box02 .contact_box p span b{
		font-size: 6vw;
		letter-spacing: normal;
	}
}