.wrapper {
  max-width: 1260px;
  width: 91.2vw;
  margin: 0 auto;
  padding: 2.1vw 0 9.6vw;
}

.row-box {
  background: #fff;
  padding: 2.7vw 5.3vw 18vw;
}
.row-box .txt1 {
  line-height: 1.4;
  margin-bottom: 8vw;
}
.row-box .row-txt dl + dl {
  margin-top: 5.6vw;
}
@media screen and (max-width: 767px){
	header{
		background: transparent;
	}
	header:before{
		content: '';
		background-image: url('../img/shared/pattern01.jpg');
		background-size: 100vw;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: -1;
		opacity: 0;
		transition: 0.3s all ease;
	}
	.has-nav header:before{
		opacity: 1;
	}
	.row-ttl h2{
		max-width: 255px;
		background: #094F72;
		color: #fff;
		line-height: 20px;
		font-weight: 500;
		padding: 4px;
		text-align: center;
		margin: 0 auto 13px;
	}
}
@media screen and (min-width: 768px) {
	.pattern01 section:before{
		background: url("../img/shared/pattern02.jpg") no-repeat center;
		background-size: cover;
	}
  section {
		padding: 146px 0 28px;
  }
  .wrapper {
    width: 86%;
    padding: 0;
    margin-bottom: 0;
    position: relative;
    z-index: 0;
		background: rgba(255, 255, 255, 0.9);
  }
  .row-box {
    background: transparent;
    padding: 44px 50px;
  }
  .row-box .inner {
    max-width: 965px;
    width: 100%;
    margin: 0 auto;
  }
  .row-box .row-ttl {
    margin: 0 -100px 50px 0px;
    display: flex;
    align-items: center;
  }
  .row-box .row-ttl h2 {
		width: 299px;
    margin: 0;
  }
	.row-box .row-ttl h2 img{
		width: 100%;
		height: auto;
	}
  .row-box .row-ttl .txt1 {
    width: calc(100% - 299px);
    font-size: 20px;
    margin: 0;
    padding-left: 59px;
  }
  .row-box .row-txt dl + dl {
    margin-top: 28px;
  }
  .deco {
    position: absolute;
    top: 100px;
  }
	.deco img {
    width: 100%;
    height: auto;
  }
  .deco.left {
		width: 139px;
    left: 21px;
  }
  .deco.right {
		width: 151px;
    right: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1480px) {
	.deco.left{
		width: 7%;
		left: 0;
	}
	.deco.right{
		width: 8%;
		right: 0;
	}
}
@media screen and (min-width: 768px) and (max-width: 1350px) {
	.row-box .row-ttl{
		margin-right: -50px;
	}
	.row-box .row-ttl .txt1{
		padding-left: 30px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1280px){
	section{
		padding-top: 12vw;
	}
	.deco{
		top: 8.5vw;
	}
	.row-box .row-ttl .txt1{
		font-size: 17px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1180px){
	.row-box .row-ttl h2{
		width: 240px;
	}
	.row-box .row-ttl .txt1{
		width: calc(100% - 240px);
		padding-left: 25px;
		font-size: 16px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1080px){
	.row-box{
		padding: 44px 30px;
	}
	.row-box .row-ttl{
		margin-right: -20px;
	}
	.row-box .row-ttl h2{
		width: 200px;
	}
	.row-box .row-ttl .txt1{
		width: calc(100% - 200px);
		font-size: 15px;
		padding-left: 20px;
	}
}
@media screen and (min-width: 768px) and (max-width: 980px) {
  .row-box {
    padding: 30px;
  }
  .row-box .row-ttl {
    flex-direction: column;
    align-items: center;
		margin-right: 0;
  }
	.row-box .row-ttl h2{
		width: 299px;
	}
  .row-box .row-ttl .txt1 {
    width: 100%;
    padding: 0;
    margin-top: 30px;
		font-size: 17px;
  }
}