

.so-contents{
	z-index:30;
	color:white;
	position: relative;
	padding:10% 0 10% 0;
}
.so-ttl{
	text-align: center;
	padding-bottom:5%;
}
.so-ttl h2{
	display: inline-block;
	font-size:1.8rem;
	border-top:1px solid #3a2c00;
	border-bottom:1px solid #3a2c00;
	letter-spacing:0.2em;
	padding:15px 15px;
}
.so-ttl p {
	padding-top:2.5%;
	letter-spacing: 0.1em;
	line-height: 2em;
}

.special{
	width:90%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin:0 auto;
	gap:20px;
}
.special_box{
	width:22.5%;
	padding:2%;
	background-image: url("../img/so-bg.png");
	background-repeat: repeat-y;
	background-position:center;
	background-size:cover;
}
.hako02{
	height:100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
}
.hako03{
	height:100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
.gazou{
	width: 100%;
}
.gazou img{
	width:100%;
}
.hako04{
	border-bottom: 1px dashed #fff;
	padding:5% 0;
}
.moji01{
	font-size: 1em;
}
.moji02{
	font-size: 0.8em;
}
.moji03{
	font-size: 0.8em;
	padding:1% 2.5% 5% 2.5%;
	line-height: 2em;
	text-align:left;
	letter-spacing: 0.1em;
}
.nedan{
	font-size: 0.9em;
	text-align: right;
}
.so-text01{
	font-size: 1.1em;
	line-height: 1.8em;
	text-align: center;
	padding:2.5%;
}
.so-text02{
	text-align:start;
	margin:0 auto;
	color:#fff;
	display: flex;
	justify-content: center;
}
.so-text02 p{
	border:1px solid #fff;display: inline;
	padding:20px 10%;
	font-size: 1em;
	line-height: 2em;
}
  .break-keep {
    word-break: keep-all;
  }
@media screen and (max-width: 1028px) {
.so-ttl p {
	padding-top:5%;
}
.special{
	flex-direction: column;
}
.special_box{
	width:100%;
	padding:5%;
}
.so-text01{
	padding:5%;
}
.so-text02{
	width:90%;
}
}
	
	