@charset "UTF-8";
/* CSS Document */

.wow {
	opacity: 0;
}

/*セクション間余白----------------------------------------------------------- */
section {
	padding: 160px 0;
}

/*リンク色----------------------------------------------------------- */
a:link,a:visited {color: inherit;}

/*Page Top----------------------------------------------------------- */
.pagetop a {
	background-color: #c56155;
	filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.3));
}

/*MV----------------------------------------------------------- */
.eyecatch {
	position: relative;
	aspect-ratio: 1920 / 800;
	margin: 0 auto;
}
.eyecatch .title {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.eyecatch .title img {
	width: calc((746 / 1920) * 100%);
}
.eyecatch .slider {
	position: absolute;
	width: 50%;
}
.eyecatch .slider .text {
	position: absolute;
}
.eyecatch .slider_lt {
	left: 0;
	top: 0;
}
.eyecatch .slider_lt .text {
	left: 10px;
	top: 10px;
}
.eyecatch .slider_lb {
	left: 0;
	bottom: 0;
}
.eyecatch .slider_lb .text {
	left: 10px;
	bottom: 10px;
}
.eyecatch .slider_rt {
	right: 0;
	top: 0;
}
.eyecatch .slider_rt .text {
	right: 10px;
	top: 10px;
}
.eyecatch .slider_rb {
	right: 0;
	bottom: 0;
}
.eyecatch .slider_rb .text {
	right: 10px;
	bottom: 10px;
}
.eyecatch .slide .picture img {
	transition: transform 3.0s;
}
.eyecatch .slide.animation .picture img {
	transform: scale(1.05);
}
.eyecatch .slide01 .text {
	width: min(calc((188 / 480) * 100%), 188px);
}
.eyecatch .slide02 .text {
	width: min(calc((338 / 480) * 100%), 338px);
}
.eyecatch .slide03 .text {
	width: min(calc((352 / 480) * 100%), 352px);
}
.eyecatch .slide04 .text {
	width: min(calc((232 / 480) * 100%), 232px);
}
.eyecatch .slide05 .text {
	width: min(calc((386 / 480) * 100%), 386px);
}
.eyecatch .slick-slide {
	margin: 0;
}

/*CTA----------------------------------------------------------- */
.cta h2 img {
	width: 752px;
}
.cta .items {
	display: flex;
	justify-content: center;
	gap: 40px;
}
.cta .item {
	position: relative;
}
.cta .item .button {
	position: absolute;
	left: 0;
	right: 0;
	bottom: calc((30 / 550) * 100%);
	width: calc((360 / 550) * 100%);
	margin: auto;
}

/*sec01----------------------------------------------------------- */

/*sec02----------------------------------------------------------- */
.sec02 {
	background: #e9d4c3;
}
.sec02 .container {
	width: 1630px;
	max-width: 100%;
	padding: 0;
}
.sec02 h2 img {
	width: calc((918 / 1630) * 100%);
}
.sec02 .item {
	margin-bottom: calc((80 / 1630) * 100%);
}
.sec02 .item .image {
	position: relative;
	padding: calc((67 / 1630) * 100%) 0;
	margin-top: calc((-100 / 1630) * 100%);
}
.sec02 .item:nth-child(2n+2) .image {
	padding-right: calc((60 / 1630) * 100%);
}
.sec02 .item .image::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #fff;
}
.sec02 .item:nth-child(2n+1) .image::after {
	left: calc((150 / 1630) * 100%);
	right: calc((100vw - 100%) / -2);
}
.sec02 .item:nth-child(2n+2) .image::after {
	right: calc((150 / 1630) * 100%);
	left: calc((100vw - 100%) / -2);
}
.sec02 .item .image img.img {
	position: relative;
	z-index: 10;
	width: calc((1320 / 1630) * 100%);
}
.sec02 .item .image a {
	position: absolute;
	z-index: 10;
	width: calc((220 / 1630) * 100%);
	bottom: calc((34 / 800) * 100%);
	left: calc((200 / 1630) * 100%);
}
.sec02 .item:nth-child(2n+4) .image a {
	left: calc((150 / 1630) * 100%);
}
.sec02 .button h3 {
	margin-bottom: calc((20 / 1630) * 100%);
}
.sec02 .button h3 img {
	width: calc((496 / 1630) * 100%);
}
.sec02 .button p img {
	width: calc((928 / 1630) * 100%);
}

/*sec03----------------------------------------------------------- */
.sec03 {
	background: #f8f4ea;
}
.sec03 h2 img {
	width: 604px;
}
.sec03 .item:not(:last-child) {
	margin-bottom: 60px;
}

/*sec04----------------------------------------------------------- */
.sec04 .container {
	width: 1470px;
	max-width: 100%;
}
.sec04 h2 img {
	width: 391px;
}

/*sec05----------------------------------------------------------- */
.sec05 {
	background: #f7f7f7;
}

/*sec06----------------------------------------------------------- */
.sec06 h2 {
	margin-top: -20px;
}

/*sec07----------------------------------------------------------- */
.sec07 {
	background: #f8f4ea;
}
.sec07 .container {
	width: 1300px;
	max-width: 100%;
}
.sec07 .image01 img {
	width: 974px;
}
.sec07 .image02 img {
	width: 960px;
}

/*sec08----------------------------------------------------------- */
.sec08 {
	background: #f5ebe3;
}

/*sec10----------------------------------------------------------- */
.sec10 {
	background: #e9d4c3;
}
.sec10 h2 {
	margin-top: -130px;
}
.sec10 h2 img {
	width: 694px;
}

/*sec11----------------------------------------------------------- */
.sec11 {
	background: #f8f4ea;
}
.sec11 h2 img {
	width: 790px;
}

/*sec12----------------------------------------------------------- */
.sec12 h2 img {
	width: 783px;
}
.sec12 .white_box {
	border: 1px solid #be352f;
	position: relative;
}
.sec12 .white_box:before {
	border: 1px solid #be352f;
	position: absolute;
	content: "";
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	top: 10px;
	left: 10px;
	pointer-events: none;
}

/*sec13----------------------------------------------------------- */
.sec13 {
	background: #f5ebe3;
}
.sec13 h2 img {
	width: 838px;
}

/*sec15----------------------------------------------------------- */
.sec15 h2 {
	position: relative;
	background: #e9d4c3;
}
.sec15 h2::after { 
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -60px;
	width: 1px;
	height: 90px;
	margin: auto;
	background: #000;
}
.sec15 h2 img {
	width: 456px;
}

/*sec91----------------------------------------------------------- */
.sec91 {
	position: relative;
	background: #f9f4ea;
	border-bottom: 5px solid #913832;
}
.sec91::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5px;
	height: 2px;
	background: #913832;
}

/*Footer----------------------------------------------------------- */
footer {
	background: #e9d4c3;
	padding: 120px 0;
}

.l-footer small {
	font-size: 0.8rem;
}

.l-footer {
	padding: 3rem 1rem 6rem;
    border-top: 3px solid #c56155;
	text-align: center;
}
.l-footer__item a {
	font-size: 1.1rem;
	color: #333;
}
/*==========================================================================*/
/*                             floating banner                              */
/*==========================================================================*/
.float_btn{position: fixed;bottom: -200px;background: rgba(255, 255, 255, 0.6);left: 0;width: 100%;padding: 10px 20px;display: flex;gap:20px;align-items: center;justify-content: center;text-align: center;transition: all ease 0.3s;z-index: 99;}
.float_btn a{display: inline-block;}
.float_btn.active{bottom: 0;}
.float_btn img{ width: 360px; max-width: 100%;}