@charset "utf-8";


body {
	/*スマホで勝手に文字が大きくなる対策*/
	-webkit-text-size-adjust: 100%;
}

#contents{
	width: 100%;
	padding: 0;
}
.l-main *{
	font-family: 'Noto Sans JP';
	font-size: 20px;
	line-height: 1.5;
	color: #3B4043;
}
.l-main{
	width: 100%;
	padding: 0;
	background: #fff;
	overflow: hidden;
}

/*共通*/
[class*="section__wrap"]{
	padding: 80px 0;
}
[class*="section__inner"]{
	width: 1140px;
	margin: 0 auto;
	position: relative;
}
[class*="section__ttl"]{
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	color: #000000;
	margin-bottom: 40px;
}

/*メイン画像*/
.section__wrap--mv{
	padding: 0;
}
.mv__ttl{
	width: 100%;
	height: 500px;
}
.mv__ttl img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*owner*/
.section__wrap--owner{
	padding: 0;
}
.section__wrap--owner .section__inner{
	height: 600px;
	padding: 79px 0 78px;
	box-sizing: content-box;
}
.section__wrap--owner .section__inner::before{
	content: '';
	display: block;
	width: 1274px;
	height: 508px;
	background: url(../images/owner_bg.png) no-repeat left bottom;
	position: absolute;
	bottom: 0;
	right: 256px;
}
.section__wrap--owner .section__inner::after{
	content: '';
	display: block;
	width: 52px;
	height: 47px;
	background: url(../images/owner_sakura01.png) no-repeat top left;
	position: absolute;
	bottom: 44px;
	left: 1384px;
}
.owner__cont{
	padding-top: 73px;
	width: 595px;
	position: relative;
}
.owner__cont::before{
	content: '';
	display: block;
	width: 895px;
	height: 600px;
	background: url(../images/owner_img.png) no-repeat top left;
	position: absolute;
	top: 0;
	left: 634px;
}
.owner__cont::after{
	content: '';
	display: block;
	width: 36px;
	height: 36px;
	background: url(../images/owner_sakura02.png) no-repeat top left;
	position: absolute;
	bottom: -148px;
	left: 1010px;
}
.owner__ttl{
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 37px;
}
.owner__ttl span{
	font-size: inherit;
	color: #E37673;
}
.owner__txt{
	line-height: 1.8;
	color: #444444;
}
.owner__txt:not(:last-child){
	margin-bottom: 13px;
}

/*service*/
.section__wrap--service{
	background: url(../images/service_bg.png) no-repeat top 80px center;
	padding-bottom: 76px;
}
.service__top{
	display: flex;
	gap: 40px;
	margin-bottom: 40px;
}
.service__img{
	min-width: 530px;
}
.service__top--right{
	padding-top: 76px;
}
.service__top--ttl{
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-bottom: 27px;
}
.service__top--txt{
	line-height: 1.8;
	color: #444444;
}
.service__bottom{
	position: relative;
}
.service__bottom--section{
	width: 734px;
}
.service__bottom--section:first-child{
	padding-bottom: 36px;
	margin-bottom: 40px;
	border-bottom: 1px solid #EBEBEB;
}
.service__bottom--ttl{
	font-weight: 700;
	color: #E37673;
	margin-bottom: 17px;
}
.service__bottom--txt{
	line-height: 1.74;
	text-indent: -19px;
	padding-left: 19px;
	color: #444444;
}
.service__bottom--txt:not(:last-of-type){
	margin-bottom: 14px;
}
.service__bottom--catch{
	position: absolute;
	bottom: 5px;
	left: 759px;
	width: 439px;
}

/*お問い合わせ*/
.section__wrap--contact{
	background: #FAF6F6;
	padding-top: 78px;
}
.contact__box{
	height: 200px;
	background: #fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	display: flex;
	padding: 35px 60px;
	border-radius: 10px;
}
.contact__box--left{
	display: flex;
	flex-flow: column;
	justify-content: center;
	padding-right: 46px;
	border-right: 1px solid rgba(112, 112, 112, 0.15);
	margin-right: 50px;
}
.contact__tel{
	font-size: 46px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: #444444;
}
.contact__tel::before{
	content: url(../images/icn_tel.png);
	display: inline-block;
	margin-right: 10px;
	vertical-align: -3px;
}
.contact__info{
	display: flex;
	flex-wrap: wrap;
    gap: 0 20px;
}
.contact__info p{
	font-size: 16px;
	font-weight: 500;
	color: #444444;
}
.contact__box--right{
	display: flex;
	align-items: center;
}
.contact__list{
	display: flex;
	gap: 21px;
}
[class*="contact__btn"]{
	width: 266px;
	height: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	font-size: 24px;
	letter-spacing: 0.1em;
	color: #fff;
	background: url(../images/contact_btn_arrow.png) no-repeat center right 20px;
	position: relative;
	overflow: hidden;
}
[class*="contact__btn"]::before{
	content: '';
	display: block;
	width: 36px;
	height: 36px;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 46px;
	margin: auto;
}
.contact__btn--mail{
	background-color: #E37673;
	padding-left: 8px;
}
.contact__btn--reservation{
	background-color: #57A879;
	padding-left: 35px;
}
.contact__btn--mail::before{
	background-image: url(../images/icn_mail.png);
}
.contact__btn--reservation::before{
	background-image: url(../images/icn_reservation.png);
}
[class^="contact__btn"]::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    z-index: 0;
}
[class^="contact__btn"]:hover{
    opacity: 1;
}
[class^="contact__btn"]:hover::after{
    width: 300px;
    height: 300px;
    opacity: 0;
    transition: width 0.6s ease, height 0.6s ease, opacity 1s ease;
}
