@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	text-decoration: none;
	box-sizing: border-box;
}

html{
	/*デフォルトのフォントサイズ16pxの0.625をかけて10にした値。そのため、1rem=10pxとなる。*/
	/*font-size: .625vw;*/
	font-size: 62.5%;
}

p{
	line-height: 1.667;
}

a{
	color: #333;
}

h1,h2,h3,h4{
	letter-spacing: 0.05em;
	font-weight: 600;
}

body{
	font-family: dnp-shuei-ymincho-std, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 1.8em;
	color: #333;
}

.en{
	font-family: ltc-bodoni-175, serif;
}

.underbar:hover{
	text-decoration: underline;
}

.header{
	width: 100%;
	height: 8.5rem;
	padding: 1.5rem 5rem;
	position: fixed;
	left: 0rem;
	top: 0;
	z-index: 1000;
	transition: .6s;
}

.header .header_area{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header .logo{
	line-height: 0;
	position: relative;
}

.header .logo img{
	max-width: 9.6rem;
	transition: .6s;
}

.header .logo span{
	position: absolute;
	top: 2rem;
	right: -12rem;
	font-size: 1.6rem;
}

.header .nav_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header .dropdown_nav{
	position: relative;
}

.header .dropdown_menu{
	width: 22rem;
	background: #f8f2e6;
	padding: 3rem 0 3rem 3rem;
	position: absolute;
	top: 5rem;
	left: -7rem;
	right: 0;
	box-shadow: 0px 15px 17px 3px rgba(51, 51, 51, 0.4);
	border-radius: 5px;
}

.header .dropdown_menu li{
	margin-bottom: 2rem;
}

.header .dropdown_menu a{
	font-size: 1.6rem;
}

.header .nav_list > li{
	padding-right: 5rem;
}

.header .nav_list > li:nth-last-of-type(1){
	padding-right: 0;
}

.header nav a{
	letter-spacing: 0.05em;
	transition: .6s;
	position: relative;
	cursor: pointer;
}

.header nav a::before{
	content: '';
	display: block;
	background: #9d0b1d;
	width: 0;
	height: .1rem;
	position: absolute;
	right: 0;
	bottom: 0;
	transition: .4s;
}

.header nav a:hover::before{
	width: 100%;
	left: 0;
	right: auto;
}

.header .login_btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15rem;
	height: 5.5rem;
	font-size: 1.6rem;
	color: #fbfbf9;
	transition: .6s;
	position: relative;
}

.header .login_btn::before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg,#c30d23, #9d0b1d);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.header .login_btn::after{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #9d0b1d,#c30d23);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}

.header .login_btn:hover::before{
	opacity: 0;
}

.header_on{
	height: 7.5rem;
	background: #fbfbf9;
	box-shadow: 0px 5px 4.5px 0.5px rgba(51, 51, 51, 0.4);
}

.header_on nav a{
	font-size: 1.6rem;
}

.header_on .login_btn{
	font-size: 1.4rem;
	height: 4.5rem;
}



.footer{
	background: url('../images/footer_bg.jpg') no-repeat;
}

.footer p,
.footer a,
.footer address{
	color: #fbfbf9;
}

.footer .contact_text{
	padding: 12rem 0 4rem;
	text-align: center;
}

.footer .logo{
	position: relative;
	top: -1rem;
	margin-right: 8rem;
}

.footer .logo img{
	max-width: 9.6rem;
}

.footer .footer_nav{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 7rem;
}

.footer .nav_list{
	display: flex;
}

.footer .nav_list > li{
	margin-right: 5rem;
}

.footer .nav_list .nav_t{
	margin-right: 0;
}

.footer .nav_t{
		color: #f8f2e6;
}

.footer .nav_t ul{
	margin-top: 2rem;
}

.footer .nav_t li{
	margin-bottom: 2rem;
}

.footer .nav_t li a{
	font-size: 1.6rem;
}

.footer address{
	text-align: center;
}

.footer nav a:hover{
	text-decoration: underline;
}

.base_bg{
	background: url('../images/base_bg.jpg') repeat;
}

.under_hd{
	font-size: 7.2rem;
	position: relative;
	margin: 20rem 0 12rem;
}

.under_hd::before{
	content: url('../images/hd_bg.png');
	position: absolute;
	top: 3rem;
	left: 0;
	z-index: -1;
}

.common_wrapper{
	width: 82%;
	padding: 0 2rem;
	margin: 0 auto;
}

.btn{
	width: 50rem;
	height: 8rem;
	border: 1px solid #333;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .6s;
	position: relative;
	z-index: 0;
	cursor: pointer;
}

.btn::before{
	content: '';
	display: block;
	width: 100%;
	height: 0;
	background: #333;
	position: absolute;
	bottom: 0;
	transition: .4s;
	z-index: -1;
}

.footer .btn{
	border: 1px solid #fbfbf9;
	margin: 0 auto 12rem;
}

.footer .btn::before{
	background: #fbfbf9;
}

.btn:hover{
	color: #fbfbf9;
}

.footer .btn:hover{
	color: #333;
}

.btn:hover::before{
	height: 100%;
	top: 0;
}

.none{
	display: none;
}
