@charset "utf-8";
/* CSS Document */

#mainv div{
	background-image: url("/wp-content/themes/shirayuri/img/feature/mainv.png");
	background-position: center bottom -160px;
}

@media (max-width: 768px) {
	#mainv div{
		background-position: center bottom;
	}
}

#sec01{
	margin: 120px auto 0;
}

#sec01 div.inner{
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 0 100px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#sec01 div.inner h3{
	font-size: 24px;
	color: #585a36;
	margin-bottom: 20px;
}

#sec01 div.inner ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#sec01 div.inner ul li{
	background:#f3edd1; 
	display:flex; 
	justify-content:center; 
	align-items:center; 
	flex-direction:column;
	width: 140px;
	height: 140px;
	border-radius:50%;
	border: solid 1px #585a36;
	margin-right: 20px;
}

#sec01 div.inner ul li:last-child{
	background: #dbd9cb;
	margin-right: 0;
}

#sec01 div.inner ul li span{
	 color: #585a36;
}

@media (max-width: 1100px) {
	#sec01 .inner{
		width: 90%;
	}
}

@media (max-width: 768px) {
	#sec01 {
		margin: 100px auto 0;
	}
	#sec01 div.inner{
		display: block;
	}
	#sec01 div.inner .ti{
		display: block;
		margin-bottom: 30px;
	}
	#sec01 div.inner h3{
		font-size: 20px;
		flex-wrap: wrap;
		justify-content: center;
		text-align: center;
	}
	#sec01 div.inner ul{
		margin-top: 60px;
	}
	#sec01 div.inner ul li{
		margin-right: 10px;
		width: 110px;
    	height: 110px;
		font-size: 14px;
	}
	sec01 div.inner ul li span{
		font-size: 14px;
	}
}

#sec02{
	background:#dcdacc; 
}

#sec02 div.inner{
	max-width: 1100px;
	margin: 0 auto;
	padding: 100px 0;
}

#sec02 div.inner .box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 60px;
}

#sec02 div.inner .box:last-child{
	margin-bottom: 0;
}

#sec02 div.inner .box div{
	max-width: 500px;
}

#sec02 div.inner .box div h4{
	font-size: 20px;
	margin-bottom: 20px;
}

#sec02 div.inner .box div h4 span{
	font-family: "Marcellus", serif;
	font-size: 42px;
	margin-right: 15px;
}

#sec02 div.inner .box div p{
	margin-bottom: 20px;
}

#sec02 div.inner .box div p:last-child{
	margin-bottom: 0;
}

@media (max-width: 1100px) {
	#sec02  .inner{
		width: 90%;
		margin: 0 auto;
	}
	#sec02 div.inner .box div{
		margin-right: 30px;
	}
}

@media (max-width: 768px) {
	#sec02 div.inner .box{
		display: block;
	}
	#sec02 div.inner .box div{
		margin-bottom: 30px;
		margin-right: 0;
		max-width:100%;
	}
	#sec02 div.inner .box img{
		width: 100%;
		max-width: 570px;
	}
}

#sec03 h3{
	font-size: 36px;
	text-align: center;
	margin-bottom: 60px;
}

#sec03 h3 span{
	font-size: 18px;
	display: block;
}

#sec03 div.inner{
	max-width: 1100px;
	margin: 0 auto;
	padding: 100px 0;
}

#sec03 div.inner .box{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 60px;
}

#sec03 div.inner .box:last-child{
	margin-bottom: 0;
}

#sec03 div.inner .box div{
	max-width: 715px;
}

#sec03 div.inner .box div h4{
	font-size: 20px;
	margin-bottom: 20px;
}

#sec03 div.inner .box div p{
	margin-bottom: 20px;
}

#sec03 div.inner .box div p:last-child{
	margin-bottom: 0;
}

#sec03 div.inner div p.office a,
#sec04 div.inner div p.office a,
#sec05 div.inner div p.office a{
	position: relative;
}

#sec03 div.inner div p.office a::after,
#sec04 div.inner div p.office a::after,
#sec05 div.inner div p.office a::after{
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 100%;
  height: 1px;
  background-color: #3b3c3c;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#sec03 div.inner div p.office a:hover::after,
#sec04 div.inner div p.office a:hover::after,
#sec05 div.inner div p.office a:hover::after{
  width: 0;
}

#sec03 div.inner .box div dt{
	display: flex;
	align-items: center;
}

#sec03 div.inner .box div dt,
#sec03 div.inner .box div dd{
	padding-bottom: 10px;
}

#sec03 div.inner .box div dl{
	margin-bottom: 30px;
}

#sec03 div.inner .box div dt span{
	color: #e35827;
	font-size: 8px;
	display: flex;
	align-items: center;
	margin-right: 10px;
}

#sec03 div.inner .box div p span{
	padding: 5px 10px;
	border: solid 1px #3c3c3c;
	border-radius: 20px;
	margin-right: 15px;
}

#sec03 div.inner .box div ul{
	margin-bottom: 20px;
}

#sec03 div.inner .box div h5{
	position: relative;
	margin-bottom: 20px;
}

#sec03 div.inner .box div h5:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #dcdacc;
}

#sec03 div.inner .box div h5 span {
  position: relative;
  padding: 0 1em 0 0;
  background: #fff;
}

#sec03 div.inner .box02{
	background: #f3edd1;
	padding: 20px;
	border-radius: 20px;
	margin-bottom: 20px;
}

#sec03 div.inner .box02:last-child{
	margin-bottom: 0;
}

#sec03 div.inner .box02 h4{
	font-size: 16px;
	color: #e35827;
}

#sec03 div.inner .box02 div{
	display: flex;
	align-items: center;
}

#sec03 div.inner .box02 div span{
	color: #e35827;
	font-size: 7px;
	margin-right: 7px;
}

#sec03 div.inner a.pattern{
	color: #e35827;
	position: relative;
}

#sec03 div.inner a.pattern::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 100%;
  height: 1px;
  background-color: #e35827;
  transition: .3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

#sec03 div.inner a.pattern:hover::after {
  width: 0;
}

@media (max-width: 1100px) {
	#sec03  .inner{
		width: 90%;
		margin: 0 auto;
	}
	#sec03 div.inner .box div{
		margin-left: 30px;
	}
}

@media (max-width: 768px) {
	
	#sec03 div.inner .box div p.office span{
		display: block;
		max-width: 120px;
		text-align: center;
	}
	#sec03 h3{
		    font-size: 28px;
	}
}

@media (max-width: 767px) {
	#sec03 div.inner .box{
		display: block;
	}
	#sec03 div.inner .box div{
		margin-bottom: 30px;
		margin-left: 0;
	}
	#sec03 div.inner .box img{
		width: 100%;
		max-width: 333px;
		display: block;
        margin: 0 auto 30px;
	}
	#sec03 div.inner .box div h4{
		text-align: center;
	}
	#sec03 div.inner .box02 div{
		display: block;
	}
	#sec03 div.inner div p.office a::after,
	#sec04 div.inner div p.office a::after,
	#sec05 div.inner div p.office a::after{
		display: none;
	}
	#sec03 div.inner div p.office a,
	#sec04 div.inner div p.office a,
	#sec05 div.inner div p.office a{
		text-decoration: underline;
		text-underline-offset: 5px;
	}
}

#sec04{
	background: #dcdacc;
	padding: 100px 0;
}

#sec05{
	padding: 100px 0 0;
}

#sec05 h3{
	font-size: 36px;
	text-align: center;
	margin-bottom: 60px;
}

#sec05 h3 span{
	font-size: 18px;
}

#sec04 .inner,
#sec05 .inner{
	max-width: 1100px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

#sec04 .inner div,
#sec05 .inner div{
	max-width: 600px;
}

#sec05 .inner{
	flex-direction: row-reverse;
}

#sec04 .inner h4,
#sec05 .inner h4{
	font-size: 24px;
	margin-bottom: 30px;
}

#sec04 .inner p,
#sec05 .inner p{
	margin-bottom: 20px;
}

#sec04 .inner h5,
#sec05 .inner h5{
	display: flex;
	align-items: center;
}

#sec04 .inner h5 span,
#sec05 .inner h5 span{
	font-size: 7px;
	margin-right: 7px;
	color: #e35827;
}

#sec04 .inner p.office,
#sec05 .inner p.office{
	display: flex;
	align-items: center;
	margin-bottom: 0;
}

#sec04 .inner p.office span,
#sec05 .inner p.office span{
	padding: 5px 10px;
    border: solid 1px #3c3c3c;
    border-radius: 20px;
    margin-right: 15px;
}


@media (max-width: 1100px) {
	#sec04 .inner,
	#sec05 .inner{
		width: 90%;
		margin: 0 auto;
	}
	#sec04 .inner div{
		margin-right: 30px;
	}
	
	#sec05 .inner div{
		margin-left: 30px;
	}
}

@media (max-width: 768px) {
	#sec04 .inner,
	#sec05 .inner{
		display: block;
	}
	#sec04 .inner h4, #sec05 .inner h4{
		text-align: center;
	}
	#sec04 .inner div,
	#sec05 .inner div{
		margin-left: 0;
		margin-right: 0;
	}
	#sec04 .inner  div p.office span,
	#sec05 .inner  div p.office span{
		display: block;
		max-width: 120px;
		text-align: center;
	}
	#sec04 .inner img,
	#sec05 .inner img{
		display: block;
		margin: 60px auto 0;
		max-width: 435px;
		width: 100%;
	}
	#sec04 .inner p.office, #sec05 .inner p.office{
		display: block;
	}
}

