@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* bodyのbox-sizingを修正 (0は無効な値) */
body {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-size: 14px;
	font-family: "Noto Sans JP", sans-serif;
}
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}

.pc {
	display: block;
}
.sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

a {
	text-decoration: none;
	color: #000;
}

/* header */
header {
	position: fixed;
	/* max-width: 1600px; */
	width: 100%;
	margin: 0 auto;
	z-index: 100;
}

header .header1 {
	width: 100%;
	height: 45px;
	background-color: #fff;
}

header .header1 .header1__wrapper {
	display: flex;
	height: 100%;
	justify-content: space-between;
}

header .header1 .header1__wrapper .header1__logo {
	margin: 0 0 0 10.7%;
}

header .header1 .header1__wrapper .header1__logo a {
	display: inline-block;
	margin: 10px 0 0 0;
}

header .header1 .header1__wrapper .header1__logo a img {
	height: 27px;
	aspect-ratio: 190/58;
}

header .header1 .header1__wrapper .header1__nav {
	margin: 0 20px 0 auto;
}

header .header1 .header1__wrapper .header1__nav ul {
	margin: 0;
	display: flex;
	justify-content: space-between;
	height: 100%;
}

header .header1 .header1__wrapper .header1__nav ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 400;
	height: 100%;
	padding: 0 16.4px;
}

header .header1 .header1__wrapper .header1__nav ul li a {
	display: flex;
	align-items: center;
	color: #000;
}

header .header1 .header1__wrapper .header1__nav ul li a .icon {
	display: flex;
	align-items: center;
	margin: 0 8px -1.5px 0;
}

header .header1 .header1__wrapper .header1__nav ul li a .icon img {
	/* width: 21px; */
	width: auto;
	height: 21px;
}

header .header1 .header1__wrapper .header1__nav ul li:hover {
	background-color: #9b9b9b;
}

header .header2 {
	width: 100%;
	height: 60px;
	background-color: #f2f2f2;
}

header .header2 .header2__wrapper {
	display: flex;
	height: 100%;
	justify-content: space-between;
}

header .header2 .header2__wrapper .header2__logo {
	margin: 0 0 0 10.65%;
}

header .header2 .header2__wrapper .header2__logo a {
	display: inline-block;
	margin: 5px 0 0 0;
}

header .header2 .header2__wrapper .header2__logo a img {
	height: 21.7px;
	aspect-ratio: 1932/276;
	opacity: 1;
	transition: all 0.3s;
}

header .header2 .header2__wrapper .header2__logo a:hover {
	opacity: 0.5;
}

header .header2 .header2__wrapper .header2__nav {
	margin: 0 20px 0 auto;
}

header .header2 .header2__wrapper .header2__nav ul {
	margin: 0;
	display: flex;
	justify-content: space-between;
	height: 100%;
}

header .header2 .header2__wrapper .header2__nav ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 400;
	height: 100%;
	font-size: 14px;
}

header .header2 .header2__wrapper .header2__nav ul li a {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 0 16.2px;
	color: #000;
}

header .header2 .header2__wrapper .header2__nav ul li a:hover {
	color: #fff;
	background-color: #b1000e;
}

/* spクラスはメディアクエリ内で定義 */
header .sp {
	display: none;
}
.to-top {
	position: fixed;
	bottom: 5%;
	right: 2.5%;
	z-index: 100;
}

#FV {
	padding-top: 105px;
}

/* contact */
#contact {
	margin: 106px 0;
	width: 100%;
}

#contact .contact__wrapper {
	width: 80%;
	padding: 73px 0 16px 0;
	margin: 0 auto;
	text-align: center;
	background-color: #f1f1f1;
}
#contact .contact__wrapper h2 {
	font-size: 34.5px;
	margin: 0 0 0 -8px;
	letter-spacing: -2.5px;
}

#contact .contact__wrapper p {
	font-size: 18px;
	margin: 41px 0 0 0;
	letter-spacing: 0px;
}

#contact .contact__wrapper a {
	background-color: #b1000e;
	color: #fff;
	font-size: 18.5px;
	width: 248px;
	aspect-ratio: 561/125;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
	transition: all 0.3s;
	margin: 59px auto;
}
#contact .contact__wrapper a span {
	display: inline-block;
	margin: 0 auto 0 68px;
}
#contact .contact__wrapper a img {
	margin: 0 9.7% 0 auto;
	width: 6px;
	transition: all 0.3s;
}

#contact .contact__wrapper a:hover {
	background-color: #7e000a;
}
#contact .contact__wrapper a:hover img {
	margin: 0 7.7% 0 auto;
}

#Footer1Menu a {
	font-size:10px;
}

.footer-top {
    font-family: "Meiryo", "Hiragino Kaku Gothic Pro", "Noto Sans JP", sans-serif;
}

/* 1080px以下 */
@media screen and (max-width: 768px) {
	/* spクラスの表示 */
	header .pc {
		display: none;
	}
	header .sp {
		display: flex;
	}
	header {
		width: 100%;
		margin: 0 auto;
	}

	header .header1 {
		width: 100%;
		height: 45px;
		background-color: #fff;
	}
	header .header1 .header1__wrapper {
		display: flex;
		height: 100%;
		justify-content: space-between;
	}

	header .header1 .header1__wrapper .header1__logo {
		margin: 0 0 0 3.5%;
	}
	header .header1 .header1__wrapper .header1__logo a {
		display: inline-block;
		margin: 8% 0 0 0;
	}
	header .header1 .header1__wrapper .header1__logo a img {
		/* width: 80%; */
		margin-bottom:0px;
		width: 95px;
		height: 29px;
	}

	header .header1 .header1__wrapper .sp li a .icon {
		width:45px;
		height:45px;
	}

	header .header1 .header1__wrapper .sp li #hamburger-btn {
		width: 45px;
		height: 45px;
	}

	header .header2 {
		width: 100%;
		height: fit-content;
		background-color: #f2f2f2;
	}
	header .header2 .header2__wrapper {
		display: flex;
		height:60px;
		justify-content: space-between;
	}

	header .header2 .header2__wrapper .header2__logo {
		margin: 0 0 0 3%;
	}
	header .header2 .header2__wrapper .header2__logo a {
		display: flex;
		margin: 20px 0 0 0;
		
	}

	header .header2 .header2__wrapper .header2__logo a:hover {
		opacity: 0.5;
	}

	/* contact */
	#contact {
		margin: 9vw 0 10.5vw;
		width: 100%;
	}
	#contact .contact__wrapper {
		width: 91%;
		padding: 8vw 0 3vw;
		margin: 0 auto;
		text-align: center;
		background-color: #f1f1f1;
	}

	#contact .contact__wrapper h2 {
		font-size: 4.7vw;
		margin: 0 0 0 -2%;
		letter-spacing: -0.35vw;
	}
	#contact .contact__wrapper p {
		font-size: 2.8vw;
		margin: 2.7vw 0 0 0;
		letter-spacing: 0px;
		padding: 0 13vw;
		line-height: 5.5vw;
	}
	#contact .contact__wrapper a {
		background-color: #b1000e;
		color: #fff;
		font-size: 3.3vw;
		width: 35.6vw;
		aspect-ratio: 561 / 136;
		margin: 0 auto;
		display: flex;
		justify-content: space-around;
		align-items: center;
		transition: all 0.3s;
		margin: 4vw auto;
	}

	#contact .contact__wrapper a span {
		display: inline-block;
		margin: 0 auto 0 7.8vw;
	}
	#contact .contact__wrapper a img {
		margin: 0 9.7% 0 auto;
		width: 1.1vw;
		transition: all 0.3s;
	}
	#contact .contact__wrapper a:hover {
		background-color: #7e000a;
	}
	#contact .contact__wrapper a:hover img {
		margin: 0 7.7% 0 auto;
	}

	
}