<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

/*----------------------------------------
	- base
-----------------------------------------*/



/*=======================================
	base
=======================================*/

a {
	text-decoration: none;
	opacity: 1;
	transition: all 0.3s ease;
}
@media (hover: hover) {
	a:hover {
		text-decoration: none;
	}
}

/* wide */
.w1000 {
	max-width: 1000px;
	width: 90%;
	margin: auto;
}
.w1200 {
	max-width: 1200px;
	width: 90%;
	margin: auto;
}

/* body header{
	transition: all 0.3s ease;
} */
body header{
	background: transparent;
}

/*-----------------------------------------
	header
-----------------------------------------*/
header {
	margin: 0;
	width: 100%;
	z-index: 50;
	position: fixed;
	top: 0;
	background:transparent;
	display: flex;
	align-items: flex-start;
}
header .logo{
	/* width: 436px;
	width: 436px; */
	padding: 0 0 0 15px;
	margin: 15px 0 0 25px;
	height: 60px;
	background: #fff;
	box-shadow: 0px 0px 15px -5px #777777;
}
header .logo a{
	display: flex;
	align-items: center;
	font-size: min(2.85vw,15px);
	gap: 0 10px;
	text-decoration: none;
	font-weight: 500;
	color: #fff;
	height: 100%;
	justify-content: space-between;
}
header .logo a span{
	display: flex;
	align-items: center;
	background: #4c4949;
	height: 100%;
	padding: 0 20px;
		font-size: clamp(14px, calc(14/1400*100vw), 16px); 
}
header .head_nav{
	display: flex;
	align-items: center;
	gap: 2%;
}
header .head_nav li{
	/* height: 50px; */
	display: flex;
	align-items: center;
	padding: 0px 10px;
}
header .head_nav li a{
	font-size: 15px;
}
header .head_nav .request a{
	padding: 25px 0;
}
header .head_nav .raijyo a{
	padding: 25px 0px;
}
header .head_nav .request{
	background-color: #7e282a;
}

.gnavi{
	text-align: center;
	z-index: 100;
	background: #4c4949;
	width: 100%;
}

.gnavi ul{
	max-width: 1000px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  position: relative;
  display: flex;
  font-size: 11.5px;
  letter-spacing: -0.4em;
  justify-content: center;
}
.gnavi ul li {
	width: auto;
	text-align: center;
	display: block;
	font-size: 13px;
	transition: all 0.3s ease-in-out 0s;
	position: relative;
	padding: 0;
	text-decoration: none;
	letter-spacing: normal;
	font-family: "Times New Roman", Times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "Sawarabi Mincho", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	vertical-align: middle;
	background: url(../img/common/nav_border.png) left center no-repeat;
	box-sizing: border-box;
	margin: 0;
}
.gnavi ul li:nth-of-type(6) {
	box-sizing: border-box;
	background: url(../img/common/nav_border.png) left center no-repeat, url(../img/common/nav_border.png) right center no-repeat;
}
.gnavi ul li.sub {
	background: none;
}
.gnavi ul li a {
	line-height: 50px;
	text-align: center;
	display: block;
	font-size: 13px;
	padding: 0;
	text-decoration: none;
	color: #000;
	font-weight: 500;
	position: relative;
}
.gnavi ul li.sub a {
	font-size: 12px;
	padding: 0 0 0 24px;
	text-decoration: none;
	font-weight: 500;
	position: relative;
}
.gnavi ul li a{
	line-height:50px;
	text-align:center;
	display:block;
	font-size:15px;
	padding: 0 22px;
	text-decoration: none;
	color:#FFF;
	font-weight: 500;
	position: relative;
	border-right: none;
}
/* .gnavi ul li:nth-child(6) a{
	opacity: 0.3;
	pointer-events: none;
} */
.gnavi ul li:nth-child(7) a{
	opacity: 1;
	pointer-events: auto;
}
.menu-btn,.sp_req {
	height: 50px;
}
/* .gnavi ul li:nth-of-type(4) a::after{
	content: "NEW";
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	color: #d30023;
	text-shadow: none;
	padding: 0 5px;
	font-size: 10px;
	font-weight: bold;
	line-height: 1.0;
	top: 3.0px;
} */
.gnavi ul li:nth-of-type(5) a::after{
display: none;
}
@media screen and (max-width: 820px) {
	header .logo a span{
		padding: 0 20px 0 25px;
		font-size: 13px;
	}
}
@media screen and (max-width: 768px) {
	body header {
		margin: 0;
		width: 100%;
		z-index: 50;
		position:sticky;
		top: 0;
		background:#FFF;
		display: flex;
		flex-wrap: wrap;
	}
	body header .logo{
		width:82%;
		padding: 0 0 0 5px;
		margin: 0;
		height: 50px;
		display: flex!important;
		align-items: center;
		box-shadow: none;
	}

	header .logo a{
		gap: 0 6px;
		font-weight: 500;
	}
	header .logo a span{
		padding: 0 5px;
		background: #fff;
		color: #000;
		font-size: min(2.5vw,15px);
	}
	header .logo a img{
		width: 100px;
	}
	header .head_nav li{
		padding: 1px 10px;
	}
header .head_nav li a{
	font-size: 10px;
}
header .head_nav .request a{
	padding: 10px 0 13px;
}
header .head_nav .raijyo a{
	padding: 10px 0 13px;
}

}
@media screen and (max-width: 374px) {
	header .logo a img{
		width: 80px;
	}
	header .logo a span{
		font-size: 9px;
	}
}

/*-----------------------------------------
	mv
-----------------------------------------*/
.mv {
	position: relative;
}
.mv .inner{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12.7%;
	text-align: center;
	margin: 0 auto;
	max-width: 800px;
	padding: 0;
	width: 90%;
}
.mv .mv_catch {
	max-width: 762px;
	margin: 0 auto 15px;
}
.mv .request{
	width: 100%;
  background: url(../img/top/mv_border.png) repeat-x top center,url(../img/top/mv_border.png) repeat-x bottom center;
  display: block;
  padding: 3% 0;
  color: #FFF;
  font-size: 28px;
  letter-spacing: 0.2em;
  position: relative;
}
.mv .request::before{
	content: "";
	position: absolute;
	right: 0;
	background: url(../img/top/mv_arrow.png) no-repeat;
	width: 46px;
	height: 46px;
	background-size: contain;
	top: 53%;
	transform: translateY(-50%);
}
.mv .request::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.10);
	width: 0%;
	height: 100%;
	background-size: contain;
	z-index: 1;
	transition: all .20s;
}
.mv .request:hover::after {
	width: 100%;
}
.mv img {
  width: 100%;
}

.slide1 .txt1{
	position: absolute;
	width: 2.5%;
	top: 17%;
	/* left: 4.5%; */
	right: 12%;
}
.slide1 .txt2 {
	position: absolute;
	width: 2.6%;
	top: 28.5%;
	/* left: 2.4%; */
	right: 17%;
}
.slide2 .txt1 {
	position: absolute;
	width: 2.4%;
	top: 17%;
	right: 12%;
}
.slide2 .txt2 {
	position: absolute;
	width: 2.6%;
	top: 53%;
	right: 17%;
}
.slide3 .txt1 {
	position: absolute;
	width: 2.5%;
	top: 18%;
	right: 11.5%;
}
.slide3 .txt2 {
	position: absolute;
	width: 2.6%;
	top: 27%;
	right: 17%;
}
.mv .img_cap {
	position: absolute;
	left: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 11px;
}
.obi_gold {
  width: 100%;
	height: 15px;
	background: url(../img/top/obi_gold.jpg) no-repeat;
	background-position: bottom right;
	background-size: cover;
}
.mv .wappen {
	position: absolute;
	left: 2%;
	bottom: 5%;
	width: 30%;
	max-width: 350px;
	z-index: 2;
}

.swiper-slide .flex {
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.swiper-slide .flex img {
	object-fit: cover;
}
.swiper-slide .flex .img {
	width: calc(100% - 31.9620253164557%);
	height: 100%;
}
.swiper-slide .flex .txt {
	width: 31.9620253164557%;
	min-width: 220px;
	height: 100%;
}

@media screen and (max-width: 1080px) {
	.slide1 .txt1{
		top: 21%;
	}
	.slide1 .txt2 {
		top: 32.5%;
	}
	.slide2 .txt1 {
		top: 21%;
	}
	.slide2 .txt2 {
		top: 36%;
	}
	.slide3 .txt1 {
		top: 21%;
	}
	.slide3 .txt2 {
		top: 26%;
	}
}
@media screen and (max-width: 768px) {
	.slide1 .txt1 {
			position: absolute;
			width: 46%;
			top: 84%;
			left: 27.5%;
		}

		.slide1 .txt2 {
			position: absolute;
			width: 76%;
			top: 91.5%;
			left: 12.4%;
		}

		.slide2 .txt1 {
			position: absolute;
			width: 61%;
			top: 84.5%;
			left: 20.5%;
		}

		.slide2 .txt2 {
			position: absolute;
			width: 41%;
			top: 92%;
			left: 28.7%;
		}

		.slide3 .txt1 {
			position: absolute;
			width: 35%;
			top: 84%;
			left: 33%;
		}

		.slide3 .txt2 {
			position: absolute;
			width: 72%;
			top: 91.5%;
			left: 14%;
		}
		.mv .img_cap {
			bottom: 20%;
		}
		.obi_gold {
			height: 10px;
		}
		.swiper-slide .flex {
			display: block;
		}
		.swiper-slide .flex .img {
			width: inherit;
			height: inherit;
		}
		.swiper-slide .flex .txt {
			display: none;
		}
	}

/* 表示されているスライドのテキスト */
.swiper-slide-active .txt1{
	animation-delay: 1s;
	animation-duration: 2s;
	animation-fill-mode: both;
	animation-name: fadeIn;
}
.swiper-slide-active .txt2 {
	animation-delay: 1.3s;
	animation-duration: 2s;
	animation-fill-mode: both;
	animation-name: fadeIn;
}

/* アニメーション */
@keyframes fadeIn {
	from {
		opacity: 0;
		-ms-filter: blur(12px);
		filter: blur(12px);
		transform: translateX(20px);
	}

	to {
		opacity: 1;
		-ms-filter: blur(0px);
		filter: blur(0px);
		transform: translateX(0);
	}
}

@media screen and (max-width: 768px) {
	.mv .inner{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 19%;
		text-align: center;
		margin: 0 auto;
		max-width: 800px;
	}
	.mv .mv_catch {
		max-width: 762px;
		margin: 0 auto 15px;
	}
	.mv .request{
		width: 100%;
	  background: url(../img/top/mv_border.png) repeat-x top center,url(../img/top/mv_border.png) repeat-x bottom center;
	  display: block;
	  padding: 1% 0;
	  color: #FFF;
	  font-size: 22px;
	  letter-spacing: 0.2em;
	  position: relative;
		background: #2b2929;
		text-align: center;
	}
	.mv .request span{
	border-top: 1px solid #807f7f;
	border-bottom: 1px solid #807f7f;
	display: block;
	padding: 8px 0px;
	}
	.mv .request::before{
		content: "";
		position: absolute;
		right: 5px;
		background: url(../img/top/mv_arrow.png) no-repeat;
		width: 32px;
		height: 32px;
		background-size: contain;
		top: 56%;
		transform: translateY(-50%);
	}
	.mv .request::after {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		background: rgba(255, 255, 255, 0.10);
		width: 0%;
		height: 100%;
		background-size: contain;
		z-index: 1;
		transition: all .20s;
	}
	.mv .request:hover::after {
		width: 100%;
	}
  .mv .slick-dots li button:before {
    font-size: 28px;
    top: 0px;
  }
	.mv .wappen {
		width: 37%;
		top: 5px;
	}
}


/*============================
obi
============================*/
.obi{
	background: #1a1a1a;
	color: #FFF;
	text-align: center;
}
.obi a {
	color: #FFF;
	display: block;
	padding: 2px 0 2px 0;
}
.obi a span {
	padding: 20px 0 20px 0;
	display: block;
	font-size: 35px;
	letter-spacing: 0.1em;
}
.obi a span.small {
	display: inline;
	font-size: 30px;
	border: none;
	letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
	.obi a span {
			padding: 16px 0 16px 0;
			display: block;
			font-size: 27px;
			letter-spacing: 0.1em;
		}
		.obi a span.small {
			font-size: 18px;
		}
}

/*============================
point
============================*/

.point{
	padding: 90px 0;
	text-align: center;
	margin: 0 auto;
	max-width: 1200px;
	width: 90%;
}
@media screen and (max-width: 768px) {
	.point{
		padding: 34px 0;
		text-align: center;
		margin: 0 auto;
		max-width: 1200px;
		width: 90%;
	}
}


/*============================
top_intro
============================*/
.top_intro{
	background: #f6f6f6;
	padding:118px 0 120px;
	position: relative;
	z-index: 0;
}
.top_intro h3{
	text-align: center;
	font-size: 34px;
	margin: 0 0 29px 0;
	line-height: 1.7;
}
.top_intro .read{
	max-width: 1000px;
	width: 90%;
	line-height: 2.0;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.top_intro{
		background: #f6f6f6;
		padding:38px 0 150px;
		position: relative;
		z-index: 0;
	}
	.top_intro h3{
		text-align: center;
		font-size: 21px;
		margin: 0 0 30px 0;
	}
	.top_intro .read{
		max-width: 1000px;
		width: 90%;
		line-height: 1.8;
		margin: 0 auto;
		font-size: 13px;
	}
}


/*============================
top_infini
============================*/
.top_infini {
	margin-top: -50px;
	z-index: 2;
}
.top_infini ul {
	position: relative;
}
.top_infini ul li{
	max-width: 217px;
	margin: 0 10px 0 0;
}
.top_infini .cap{
	max-width: 1390px;
	margin: 0 auto;
	padding: 5px 0 0 0;
	text-align: right;
	font-size: 10px;
	width: 90%;
	font-family: "Yu Gothic", "YuGothic", sans-serif;
	color: #4c4949;
}
@media screen and (max-width: 768px) {
	.top_infini {
		margin-top: -120px;
		z-index: 3;
	}
	.top_infini ul {
		position: relative;
	}
	.top_infini ul li{
		max-width:120px;
		margin: 0 10px 0 0;
	}
	.top_infini .cap{
		max-width: 1390px;
		margin: 0 auto;
		padding: 5px 0 0 0;
		text-align: right;
		font-size: 10px;
		width: 90%;
		position: relative;
	}
}

/*-----------------------------------------
top_concept
-----------------------------------------*/

.top_concept {
	padding: 100px 0 40px;
	background: url(../img/top/concept_bg.png) no-repeat bottom left;
	background-size: 50% auto;
}
.top_concept .w1200{
	display: flex;

}
.top_concept .top_st {
	width: 16%;
	font-size: 18px;
	font-family: "EB Garamond", serif;
	padding: 8px 0 0 0;
}
.top_concept .top_st::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #4c4949;
	top: -5px;
	position: relative;
	margin: 0 5px 0 0;
}
.top_concept .catch_area {
	width: 45%;
}
.top_concept .catch_area h3 {
	font-size: 28px;
	/*! letter-spacing: 0.05em; */
	line-height: 1.8;
}
.top_concept .catch_area h3 strong {
	font-weight: normal;
	font-style: italic;
	font-size: 80px;
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	line-height: 1;
	letter-spacing: 0.05em;
}
.top_concept .txt_area {width: 55%;}
.top_concept .txt_area p {
	line-height: 2.2;
	margin-bottom: 30px;
}
.top_concept .txt_area .btn{
	background: #4c4949;
	box-shadow: 4px 4px 10px 1px rgba(0, 0, 0, 0.3);
	transition: all .6s;
}
.top_concept .txt_area .btn:hover{
	background: #000000;
	box-shadow: none;
}
.top_concept .txt_area .btn a {
	padding: 5px;
	/*! border: 1px solid #E6E6E6; */
	display: block;
	color: #FFF;
	text-align: center;
	font-size: 24px;
	letter-spacing: 0.08em;
}
.top_concept .txt_area .btn a span {
	border: 1px solid #7d7d7d;
	display: block;
	padding: 14px 0;
}
.top_concept .img_area {
	margin: 130px auto 0;
	max-width: 880px;
	box-shadow: 0px 5px 18px 0px rgba(0, 0, 0, 0.45);
}
.top_concept .toho {
	display: flex;
	justify-content: center;
	align-items: baseline;
	margin-top: -159px;
	gap: 1%;
	color: #4c4949;
}
.top_concept .toho .t1 {border: 1px solid #ACACAC;padding: 5px 15px;}
.top_concept .toho .t2 {font-size: 34px;}
.top_concept .toho .t2 strong {
	font-size: 194px;
	font-family: "EB Garamond", serif;
	font-weight: normal;
	font-style: italic;
	/* -webkit-text-stroke-width: 1px; */
	/* -webkit-text-stroke-color: #d3d3d3; */
	color: #b59150;
}

@media screen and (max-width: 1200px) {
	.top_concept .catch_area h3 {
		font-size: clamp(20px, calc(28/1200*100vw), 28px);
		/*! letter-spacing: 0.05em; */
	}
	.top_concept .catch_area h3 strong {
		font-weight: normal;
		font-style: italic;
		font-size: clamp(40px, calc(60/1200*100vw), 60px);
		font-family: "EB Garamond", serif;
		font-optical-sizing: auto;
		line-height: 1;
		letter-spacing: 0.05em;
	}
	
}
@media screen and (max-width: 820px) {
}

@media screen and (max-width: 768px) {
	.top_concept {
		padding: 50px 0 0px;
		background: url(../img/top/concept_bg.png) no-repeat bottom left;
		background-size: 50% auto;
	}
	.top_concept .w1200{
		display: block;

	}
	.top_concept .top_st {
		width: auto;
		font-size: 15px;
		font-family: "EB Garamond", serif;
		margin: 0 0 13px 0;
	}
	.top_concept .top_st::before {
		content: "";
		display: inline-block;
		width: 15px;
		height: 1px;
		background: #4c4949;
		top: -5px;
		position: relative;
		margin: 0 5px 0 0;
	}
	.top_concept .catch_area {
		width: auto;
		margin: 0 0 20px 0;
	}
	.top_concept .catch_area h3 {
		font-size: 20px;
		/*! letter-spacing: 0.05em; */
	}
	.top_concept .catch_area h3 strong {
		font-size: 50px;
		letter-spacing: 0.05em;
	}
	.top_concept .txt_area {
		width: auto;
	}
	.top_concept .txt_area p {
		line-height: 1.8;
		margin-bottom: 30px;
		font-size: 13px;
	}
	.top_concept .txt_area .btn{
		background: #4c4949;
		box-shadow: 4px 4px 10px 1px rgba(0, 0, 0, 0.3);
		transition: all .6s;
	}
	.top_concept .txt_area .btn:hover{
		background: #000000;
		box-shadow: none;
	}
	.top_concept .txt_area .btn a {
		padding: 5px;
		font-size: 17px;
		letter-spacing: 0.08em;
	}
	.top_concept .txt_area .btn a span {
		padding: 10px 0;
	}
	.top_concept .img_area {
		margin: 60px auto 0;
	}
	.top_concept .toho {
		display: flex;
		justify-content: center;
		align-items: baseline;
		margin-top: -62px;
		gap: 1%;
		color: #4c4949;
		background: #413b4b;
		color: #FFF;
		padding: 0 0 10px 0;
	}
	.top_concept .toho .t1 {border: 1px solid #ACACAC;padding: 5px 7px;font-size: 10px;}
	.top_concept .toho .t2 {font-size: 17px;}
	.top_concept .toho .t2 strong {
		font-size: 77px;
		-webkit-text-stroke-width: 0;
		-webkit-text-stroke-color: #fff;
	}
}




/*-----------------------------------------
top_access
-----------------------------------------*/

.top_access {
	background: #f6f6f6;
}
.top_access .w1200 {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.top_access .txt_area {
	display: flex;
	align-items: start;
	width: 45%;
}
.top_access .top_st {
	width: 25%;
	font-size: 18px;
	font-family: "EB Garamond", serif;
	padding: 14px 0 0 0;
	/*! font-weight: bold; */
}
.top_access .top_st::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #4c4949;
	top: -5px;
	position: relative;
	margin: 0 5px 0 0;
}
.top_access .catch_area {}
.top_access .catch_area h3 {
	font-size: 30px;
	line-height: 1.8;
	margin: 0 0 40px 0;
	font-weight: lighter;
}

.top_access .catch_area .more {
	font-family: "Yu Gothic", "YuGothic", sans-serif;
	font-size: 12px;
	font-weight: bold;
}
.top_access .catch_area .more:hover {
	opacity: 0.4;
}
.top_access .catch_area .more::after {
	content: "";
	display: inline-block;
	background: url(../img/common/circle_bl.png) no-repeat;
	background-size: contain;
	width:24px;
	height:24px;
	position: relative;
	top: 10px;
	margin: 0 0 0 9px;
}
.top_access .img_area {
	flex: 1;
    margin-right: calc(50% - 50vw);
    margin-left: 4%;
	position: relative;
	overflow: hidden;
}
.top_access .img_area img {
	transition: all .6s;
}

.top_access .img_area:hover img {
	transform: scale(1.06);
}
.top_access .img_area .cap {
	position: absolute;
	right: 10px;
	bottom: 10px;
	color: #FFF;
	text-align: right;
  text-shadow: 0px 0px 6px rgb(0, 0, 0);
}

@media screen and (max-width: 820px) {
.top_access .catch_area h3 {
	font-size: 20px;
	line-height: 1.7;
	margin: 0 0 30px 0;
	font-weight: lighter;
}
}

@media screen and (max-width: 768px) {
	.top_access {
		background: #f6f6f6;
	}
	.top_access .w1200 {
		display: block;
		width: 100%;
	}
	.top_access .txt_area {
		display: block;
		width: 90%;
		margin: 0 auto 40px;
	}
	.top_access .top_st {
		width: auto;
		font-size: 18px;
		font-family: "EB Garamond", serif;
		padding: 34px 0 0 0;
		/*! font-weight: bold; */
		margin: 0 0 10px 0;
	}
	.top_access .top_st::before {
		content: "";
		display: inline-block;
		width: 15px;
		height: 1px;
		background: #4c4949;
		top: -5px;
		position: relative;
		margin: 0 5px 0 0;
	}
	.top_access .catch_area {}
	.top_access .catch_area h3 {
		font-size: 21px;
		line-height: 1.6;
		margin: 0 0 6px 0;
		font-weight: lighter;
	}

	.top_access .catch_area .more {
		font-family: "Yu Gothic", "YuGothic", sans-serif;
		font-size: 12px;
		font-weight: bold;
	}
	.top_access .catch_area .more:hover {
		opacity: 0.4;
	}
	.top_access .catch_area .more::after {
		content: "";
		display: inline-block;
		background: url(../img/common/circle_bl.png) no-repeat;
		background-size: contain;
		width:24px;
		height:24px;
		position: relative;
		top: 10px;
		margin: 0 0 0 9px;
	}
	.top_access .img_area {
		flex: 1;
		margin-right: 0;
		margin-left: 0;
		position: relative;
		overflow: hidden;
	}
	.top_access .img_area img {
		transition: all .6s;
	}

	.top_access .img_area:hover img {
		transform: scale(1.06);
	}
	.top_access .img_area .cap {
		position: absolute;
		right: 10px;
		bottom: 10px;
		color: #FFF;
		text-align: right;
	}
}



/*-----------------------------------------
fnavi
-----------------------------------------*/

.fnavi .img img {
	transition: all .6s;
	height: auto;
}
.fnavi .comingsoon::after {
	top: 45%;
}
@media screen and (max-width: 768px) {
	.fnavi .img img {
		transition: all .6s;
		object-fit: cover;
		height: 94px;
	}
	.fnavi .comingsoon::after {
		top: 37%;
	}
}



/*-----------------------------------------
f_request
-----------------------------------------*/

.f_request{
	position: relative;
	background: url(../img/common/f_request_bg.jpg) no-repeat;
	padding: 110px 0 87px;
	background-size: cover;
}
.f_request .inner{
	max-width: 900px;
	margin: 0 auto;
}
.f_request .catch{
	max-width: 523px;
	margin: 0 auto;
}
.f_request p{
	text-align: center;
	font-family: "Yu Gothic", "YuGothic", sans-serif;
	font-size: 12px;
	font-weight: bold;
	color: #FFF;
	padding: 40px 0 34px 0;
	letter-spacing: 0.1em;
}
.f_request .request {
	width: 100%;
	background: url(../img/top/mv_border.png) repeat-x top center, url(../img/top/mv_border.png) repeat-x bottom center;
	display: block;
	padding: 3% 0;
	color: #FFF;
	font-size: 28px;
	letter-spacing: 0.2em;
	position: relative;
	text-align: center;
}
.f_request .request:hover {
	opacity: 1;
}
.f_request .request::before {
	content: "";
	position: absolute;
	right: 0;
	background: url(../img/top/mv_arrow.png) no-repeat;
	width: 46px;
	height: 46px;
	background-size: contain;
	top: 53%;
	transform: translateY(-50%);
}
.f_request .request::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.10);
	width: 0%;
	height: 100%;
	background-size: contain;
	z-index: 1;
	transition: all .20s;
}
.f_request .request:hover::after {
	width: 100%;
}

.f_request .img_cap {
	position: absolute;
	padding: 0;
	right: 10px;
	bottom: 10px;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
}
@media screen and (max-width: 768px) {
	.f_request{
	background: url(../img/common/f_request_bg.jpg) no-repeat;
	padding: 70px 0 74px;
	background-size: cover;
}
.f_request .inner{
	max-width: 800px;
	margin: 0 auto;
}
.f_request .catch{
	max-width: 523px;
	margin: 0 auto;
	padding: 0 8%;
}
.f_request p{
	text-align: center;
	font-family: "Yu Gothic", "YuGothic", sans-serif;
	font-size: 12px;
	font-weight: bold;
	color: #FFF;
	padding: 12px 0 24px 0;
	letter-spacing: 0.1em;
}
.f_request .request {
	width: 100%;
	background: url(../img/top/mv_border.png) repeat-x top center, url(../img/top/mv_border.png) repeat-x bottom center;
	display: block;
	padding: 3% 0;
	color: #FFF;
	font-size: 22px;
	letter-spacing: 0.2em;
	position: relative;
	text-align: center;
}
.f_request .request:hover {
	opacity: 1;
}
.f_request .request::before {
	content: "";
	position: absolute;
	right: 0;
	background: url(../img/top/mv_arrow.png) no-repeat;
	width: 32px;
	height: 32px;
	background-size: contain;
	top: 56%;
	transform: translateY(-50%);
}
.f_request .request::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.10);
	width: 0%;
	height: 100%;
	background-size: contain;
	z-index: 1;
	transition: all .20s;
}
.f_request .request:hover::after {
	width: 100%;
}
.f_request {
		background: url(../img/common/f_request_bg_sp.jpg) no-repeat center top;
		padding: 80px 0 57px;
		background-size: cover;
	}

	.f_request .inner {
		max-width: 800px;
		margin: 0 auto;
	}

	.f_request .catch {
		max-width: 523px;
		margin: 0 auto;
	}

	.f_request p {
		text-align: center;
		font-family: "Yu Gothic", "YuGothic", sans-serif;
		font-size: 12px;
		font-weight: bold;
		color: #FFF;
		padding: 40px 0 34px 0;
		letter-spacing: 0.1em;
	}

	.f_request .request:hover {
		opacity: 1;
	}
	.f_request .request:hover::after {
		width: 100%;
	}
	.f_request .img_cap {
		padding: 0;
	}
}

/*-----------------------------------------
entry
-----------------------------------------*/
.entry{
	padding: 0;
	}
.entry &gt; div {
	box-shadow: 4px 4px 10px 1px rgba(0, 0, 0, 0.3);
}

.btn_request a{
	padding: 15px 0;
}

.btn_raijyo a{
padding: 15px 0;
}

.f_entry {
	display: flex;
	justify-content: space-between;
	gap: 15px 5%;
}

@media screen and (max-width: 768px) {
	.f_entry {
		flex-wrap: wrap;
	}
}

/*-----------------------------------------
bnr_float
-----------------------------------------*/
.bnr_float {
	position: fixed;
	left: 2%;
	bottom: 5%;
	width: 30%;
	max-width: 400px;
	z-index: 2;
	transition: all 0.3s ease;
}
.bnr_float:hover {
	opacity: 0.7;
}
.bnr_float .float_wrap {
	position: relative;
}
.bnr_float .float_wrap .btn_close {
	width: 24px;
	position: absolute;
	right: 5px;
	top: 5px;
	cursor: pointer;
}
@media screen and (max-width: 768px) {
	.bnr_float {
		width: 60%;
		left: inherit;
		right: 10px;
		bottom: 100px;
	}
	.bnr_float:hover {
		opacity: 0.7;
	}
	.bnr_float .float_wrap {
		position: relative;
	}
	.bnr_float .float_wrap .btn_close {
		top: 3px;
		width: 20px;
	}
}</pre></body></html>