@charset "utf-8";
/* -----------------------------------------------------------
    about
-------------------------------------------------------------- */

.no-wrap{
    white-space: nowrap;
}

#wrapper {
    overflow: clip;
}

/* -----------------------------
	com-pagetitle-area
-------------------------------- */
.com-pagetitle-area .catch-l{
	margin: 30px 0 0;
}
.com-pagetitle-area .geometry-img.geometry04{
	left: -100px;
}
@media screen and (max-width: 768px){
	.com-pagetitle-area .catch-l{
		margin: 0;
	}
	.ft-fixed{
		display: none!important;
	}
	.com-pagetitle-area img.mv {
        object-fit: cover;
        object-position: center -10px;
    }
}

/* -----------------------------
	greeting-area
-------------------------------- */
.greeting-area{
	margin: 150px 0 0;
}
.greeting-area .txt-area{
}
.greeting-area .bottom-wrap{
	display: flex;
	margin: 50px 0 0;
	justify-content: space-between;
}
.greeting-area .bottom-wrap > div{
	margin: 0 0 0 50px;
}
.greeting-area .bottom-wrap img{
	width: 250px;
	height: max-content;
}
.greeting-area .basic-txt{
	margin: 0 0 0;

}
.greeting-area .name{
	text-align: right;
	margin: 20px 0 0;

}
@media screen and (max-width: 768px){
	.greeting-area{
		margin: 50px 0 0;
	}
	.greeting-area .txt-area{
	}
	.greeting-area .bottom-wrap{
		display: block;
		margin: 20px 0 0;
	}
	.greeting-area .bottom-wrap > div{
		margin: 20px 0 0;
	}
	.greeting-area .bottom-wrap img{
		width: calc(100% - 120px);
		height: 260px;
		object-fit: cover;
		object-position: center;
		margin: 0 auto;
        display: block;
	}
	.greeting-area .basic-txt{

	}
	.greeting-area .name{

	}
}

/* -----------------------------
	reason-area
-------------------------------- */
.reason-area{
	margin: 120px 0 0;
}
.reason-area .inner1400{
	border-top: solid 1px var(--line-black);
	padding: 100px 0 0;
}
.reason-area .txt-area .catch-m{
	margin: 30px 0 0;
}
.reason-area .txt-area .basic-txt{
	margin: 30px 0 0;
}
.reason-area ul{
	display: flex;
	flex-wrap: wrap;
	gap: 70px;
	justify-content: center;
	margin: 50px 0 0;
}
.reason-area ul li{
	width: calc((100% / 3) - 60px);
}
.reason-area ul li .num{
	font-family: var(--en);
	color: var(--orange);
	font-size: 2.3rem;
	line-height: 1;
}
.reason-area ul li img{
	width: 100%;
	height: 300px;
	object-fit: cover;
}
.reason-area ul li .catch-s{
	text-align: center;
	padding: 20px 0 0;
	font-weight: 400;
}
.reason-area ul li .basic-txt{
	padding: 20px 0 0;
}

@media screen and (max-width: 768px){
	.reason-area{
		margin: 40px 0 0;
	}
	.reason-area .inner1400{
		padding: 40px 20px;
	}
	.reason-area .txt-area .basic-txt{
		margin: 20px 0 0;
	}
	.reason-area ul{
		margin: 20px 0 0;
		flex-direction: column;
		gap: 20px;
	}
	.reason-area ul li{
		width: 100%;
	}
	.reason-area ul li .num{
		font-size: 1.6rem;
	}
	.reason-area ul li img{
	}
	.reason-area ul li .catch-s{
		text-align: left;
        font-size: 2rem;
        font-weight: 500;
	}
	.reason-area ul li .basic-txt{
	}

}

/* -----------------------------
	-area
-------------------------------- */
.com-service-area .geometry01{
	bottom: -800px;
}
.com-service-area .geometry03{
    left: 50px;
    bottom: -1200px;	
}
@media screen and (max-width: 768px){
	.com-service-area{
		margin: 20px 0 0;
	}
	.com-service-area .service-block > div:nth-child(3) .catch-s{
		padding: 20px 0 20px 100px;
	}
}

/* -----------------------------
	benefits-area
-------------------------------- */
.benefits-area{
	margin: 150px 0 0;
}
.benefits-area .fukidashi{
	margin: 30px 0 0;
}
.benefits-area .catch-m{
	margin: 30px 0 0;
}
.benefits-area .txt-area{
	margin: 0 0 80px;
}

.benefits-block{
	display: flex;
	margin: 50px 0 0;
	position: relative;
}
.benefits-block::before{
position: absolute;
    width: 100%;
    border-top: 1px dashed var(--gray);
    content: '';
	bottom: -25px;
}
.benefits-block .benefits-title{
	width: 300px;
	margin: 0 0 0 0;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}
.benefits-block .benefits-title img{
	position: absolute;
	top: 50px;
	left: 0;
}

.benefits-block ul{
	display: flex;
	gap: 10px;
	flex: 1;
}
.benefits-block ul li{
	width: calc(100% / 5);
}
.benefits-block ul li .subtitle{
	font-size: 1.6rem;
	font-weight: bold;
	background: var(--light-gray);
	padding: 10px;
	line-height: 1.3;
	height: 60px;
}
.benefits-block ul li .basic-txt{
	margin: 5px 0 0;
}

@media screen and (max-width: 1600px){

	
}

@media screen and (max-width: 768px){
.benefits-area{
	margin: 40px 0 0;
}
.benefits-area .fukidashi{
	margin: 20px 0 0;
}
.benefits-area .catch-m{
	margin: 20px 0 0;
}
.benefits-area .txt-area{
	margin: 0 0 20px;
}

.benefits-block{
	display: block;
	margin: 30px 0 0;
}
	.benefits-block:nth-child(n + 3){
		margin: 50px 0 0;
	}
.benefits-block::before{
}
.benefits-block .benefits-title{
	width: 100%;
}
.benefits-block .benefits-title img{
	position: absolute;
    top: 0;
    left: auto;
    right: 0;
    width: 50px;
}

.benefits-block ul{
	display: block;
}
.benefits-block ul li{
	width: 100%;
}
.benefits-block ul li .subtitle{
	height: auto;
	margin: 10px 0 0;
}
.benefits-block ul li .basic-txt{
}
}


/* -----------------------------
	flow-area
-------------------------------- */
.flow-area{
	margin: 150px 0 0;
}
@media screen and (max-width: 768px){
	.flow-area{
		margin: 70px 0 0;
	}
}


/* -----------------------------
	requirements-area
-------------------------------- */
.requirements-area{
	margin: 100px 0 0;
}
.requirements-area table{
	margin: 30px 0 0;
	width: 100%;
}
.requirements-area table tr{
	border-bottom: solid 1px var(--line-black);
	display: flex;
}

.requirements-area table th,
.requirements-area table td {
  padding: 15px 0;
  border: none;
	line-height: 1.8;
}

.requirements-area table th {
  width: 30%;
}


@media screen and (max-width: 768px){
	.requirements-area{
		margin: 40px 0 0;
	}
	.requirements-area table{
		margin: 10px 0 0;
	}
	.requirements-area table th, .requirements-area table td{
		padding: 10px 0 ;
	}
	.requirements-area table th{
		width: 32%;
		text-align: left;
	}
	.requirements-area table td{
		flex: 1;
	}
	.requirements-area table a{
		margin: 0;
	}
}

/* -----------------------------
	contact-area
-------------------------------- */
.contact-area{
	margin: 100px 0 ;
}
.contact-area > div{
    padding: 30px;

	background: var(--light-gray);

}
.contact-area > div .block{
	    display: flex;
    align-items: center;
	gap: 50px;
}
.contact-area .contact-img{
	width: 400px;
	height: 300px;
	object-fit: cover;
}


/*ボタン*/
.contact-area .btn-area{
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
}
.contact-area .btn-area li{
	width: 400px;
	box-shadow: 0px 10px 30px rgb(0 0 0 / 16%);
	transition: all .5s;
}
.contact-area .btn-area li a{
	position: relative;
	display: flex;
	align-items: center;
	padding: 15px 20px;
	min-height: 120px;
	/* box-shadow: 3px 3px 10px rgba(0,0,0,.2); */
	transition: all .5s;
	padding: 15px 20px 15px 75px;
	gap: 20px;
}

.contact-area .btn-area li:hover{
	box-shadow: none;
	transition: all .5s;
}
.contact-area .btn-area li a:hover::after{
	right: 10px;
}
.contact-area .btn-area .icon{
	/* width: 50px; */
	text-align: center;
}
.contact-area .btn-area .icon img{
	width: 40px;
}
.contact-area .btn-area .txt-area{
	width: calc(100% - 80px);
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.3;
}
.contact-area .btn-area .txt-area span{
	font-size: 1.5rem;
	display: block;
}
.contact-area .btn-area li .txt-area span{
	color: #06C755;
	
}
.contact-area .btn-area li.rese .txt-area span{
	color: #3A85E6;
	
}

/*ボタン：web予約*/
.contact-area .btn-area li.rese a{
	background: #fff;
	padding: 15px 20px 15px 60px;
	border: solid 1px var(--line-black);
}
.contact-area .btn-area li.rese .icon img{
	width: 40px;
}

@media screen and (max-width: 768px){
	.contact-area{
		margin: 40px 0 0;
	}
	.contact-area > div{
		padding: 30px;

		background: var(--light-gray);

	}
	.contact-area > div .block{
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
	.contact-area > div .block > div{
		width: 100%;
	}
	.contact-area .contact-img{
		width: 100%;
		height: 200px;
		object-fit: cover;
		object-position: center -10px;
	}
	/*SNS*/
	.contact-area .btn-area .icon img{
		width: 39px;
		margin: 0 0 0 0;
	}
	.contact-area .btn-area li.rese .icon img{
		width: 39px;
	}

	.contact-area .btn-area{
		display: block;
	}
	.contact-area .btn-area li{
		width: 100%;
		margin: 0 0 20px 0 !important;
	}
	.contact-area .btn-area .txt-area{
		font-size: 2.2rem;
	}
	.contact-area .btn-area li a,
	.contact-area .btn-area li.rese a{
		min-height: 80px;
		padding: 20px 0px 20px 40px;
		justify-content: flex-start;
	}
}

