@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------
#A88D00
-----------------------------------------------*/

/*-----------------------------------------------
  fonts
-----------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
/* font-family: "Noto Sans JP", sans-serif; */
@import url("https://fonts.googleapis.com/css2?family=Alumni+Sans:wght@400;700&display=swap");
/* font-family: "Alumni Sans", sans-serif; */

/*-----------------------------------------------
  text
-----------------------------------------------*/
html {
overflow-y: scroll;
}
body {
min-width: 1080px;
font-family: "Noto Sans JP", sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.6;
color: #000;
}
a {
color: inherit;
text-decoration: none;
}
img {
max-width: 100%;
height: auto;
}
@media screen and (max-width: 800px) {
	body {
	min-width: 0;
	}
}


/*-----------------------------------------------
  header
-----------------------------------------------*/
header {
position: sticky;
top: 0;
z-index: 1000;
background: #FFF;
}
header .header_inner {
display: flex;
justify-content: space-between;
align-items: center;
height: 80px;
}
header .logo {
display: flex;
justify-content: center;
align-items: center;
width: 300px;
height: 100%;
padding: 0 25px;
background: #A88D00;
}
header .favorite {
display: none;
}
@media screen and (max-width: 800px) {
	header {
	display: block;
	height: auto;
	}
	header .header_inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60px;
	padding: 0 4%;
	}
	header .logo {
	width: 180px;
	padding: 0;
	background: none;
	}
	header .favorite {
	display: block;
	width: 6.5em;
	margin: 0 10px 0 auto;
	padding: 0.25em;
	font-size: 0.625rem;
	text-align: center;
	color: #FFF;
	background: #A88D00;
	border-radius: 5px;
	}
	header .favorite span {
	display: block;
	padding-top: 2.5em;
	background-image: url("../img/common/ico_favorite.svg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: 3em;
	}
}

/* navi_menu */
header .navi_menu {
position: relative;
display: none;
width: 50px;
height: 50px;
background: #A88D00;
border-radius: 100%;
cursor: pointer;
}
header .navi_menu:before,
header .navi_menu:after {
content: "";
position: absolute;
left: 10px;
width: 30px;
height: 1px;
background: #FFF;
transition: 0.2s;
}
header .navi_menu:before {
top: 15px;
}
header .navi_menu:after {
bottom: 15px;
}
header .navi_menu span {
display: block;
width: 30px;
height: 1px;
position: absolute;
top: 50%;
left: 10px;
background: #FFF;
}
header .navi_menu.open span {
display: none;
}
header .navi_menu.open:before {
top: 50%;
transform: rotate(-135deg);
}
header .navi_menu.open:after {
top: 50%;
transform: rotate(135deg);
}
@media screen and (max-width: 800px) {
	header .navi_menu {
	display: block;
	}
}

/*-----------------------------------------------
  footer
-----------------------------------------------*/
footer {
margin-top: 100px;
color: #FFF;
background: #3D3D3D;
}
@media screen and (max-width: 800px) {
	footer {
	margin-top: 8%;
	}
}

/* pagetop */
.footer_pagetop {
position: fixed;
right: 40px;
bottom: 40px;
width: 60px;
height: 60px;
}
.footer_pagetop a {
display: block;
width: 60px;
height: 60px;
margin-left: auto;
text-indent: -9999px;
background-image: url("../img/common/arw_top.svg");
background-position: center;
background-repeat: no-repeat;
background-size: 60%;
border: 1px solid #A88D00;
border-radius: 100%;
transition: 0.2s;
}
.footer_pagetop a:hover {
background: #A88D00;
background-image: url("../img/common/arw_top_w.svg");
background-position: center;
background-repeat: no-repeat;
background-size: 60%;
}
@media screen and (max-width: 800px) {
	.footer_pagetop {
	position: static;
	width: auto;
	height: auto;
	padding: 4%;
	background: #FFF;
	}
	.footer_pagetop a {
	width: 56px;
	height: 56px;
	}
}

/* contact */
.footer_contact {
padding: 60px 4%;
background: #B9A84D;
}
.footer_contact_inner {
max-width: 1000px;
margin: auto;
}
.footer_contact_grid {
display: flex;
justify-content: space-between;
align-items: center;
}
.footer_contact_message dt {
font-size: 1.5rem;
}
.footer_contact_tel span {
padding: 0 0 0.2em 0.75em;
font-family: "Alumni Sans", sans-serif;
font-size: 4rem;
font-weight: 700;
line-height: 1;
background-image: url("../img/common/ico_tel.svg");
background-position: left top 0.3em;
background-repeat: no-repeat;
background-size: 0.65em;
}
.footer_contact_form {
width: 240px;
background: #FFF;
}
.footer_contact_form a {
display: block;
padding: 0.5em 2em;
font-size: 1.125rem;
text-align: center;
color: #B9A84D;
border: 1px solid #A88D00;
transition: 0.2s;
}
.footer_contact_form a:hover {
opacity: 0.5;
}
.footer_contact_form span {
padding: 0 0 0.2em 1.5em;
background-image: url("../img/common/ico_mail.svg");
background-position: left center;
background-repeat: no-repeat;
background-size: 1.2em;
}
@media screen and (max-width: 800px) {
	.footer_contact {
	padding: 6%;
	text-align: center;
	}
	.footer_contact_grid {
	display: block;
	}
	.footer_contact_message dt {
	font-size: 1.5rem;
	}
	.footer_contact_tel span {
	font-size: 3.75rem;
	}
	.footer_contact_form {
	width: 100%;
	max-width: 320px;
	margin: auto;
	margin-top: 5px;
	}
}

/* sitemap */
.footer_sitemap {
padding: 40px 4% 60px 4%;
}
.footer_sitemap_inner {
max-width: 1200px;
margin: auto;
}
.footer_sitemap_grid {
display: flex;
justify-content: space-between;
}
.footer_sitemap_head {
width: 240px;
}
.footer_sitemap_list {
display: flex;
justify-content: space-between;
width: calc(100% - 280px);
max-width: 800px;
}
.footer_sitemap_list li {
max-width: 16em;
margin-left: 20px;
}
.footer_sitemap_list dl:not(:first-child){
margin-top: 1.5em;
}
.footer_sitemap_list dt {
font-family: "Alumni Sans", sans-serif;
font-size: 2em;
font-weight: 700;
line-height: 1;
}
.footer_sitemap_list dd {
position: relative;
margin-top: 0.25em;
padding-left: 2em;
}
.footer_sitemap_list dd::before {
content: "";
position: absolute;
top: 0.75em;
left: 0;
width: 1.5em;
height: 1px;
background: #FFF;
}
.footer_sitemap_side {
position: fixed;
top: calc(50% - 10rem);
right: 0;
z-index: 200;
}
.footer_sitemap_side a {
display: block;
padding: 2rem 0.75rem;
font-size: 1.5em;
text-align: center;
writing-mode: vertical-rl;
color: #FFF;
background: #A88D00;
border-radius: 8px 0 0 8px;
transition: 0.2s;
}
.footer_sitemap_side a:hover {
background: #D3C67F;
}
@media screen and (max-width: 800px) {
	.footer_sitemap {
	padding: 8% 4%;
	}
	.footer_sitemap_inner {
	max-width: 480px;
	}
	.footer_sitemap_grid {
	display: block;
	}
	.footer_sitemap_head {
	width: 280px;
	margin: auto;
	padding-top: 6rem;
	background-image: url("../img/common/logo_mark.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 5rem;
	}
	.footer_sitemap_list {
	display: block;
	width: 100%;
	margin-top: 6%;
	}
	.footer_sitemap_list li {
	max-width: 100%;
	margin-left: 0;
	border-top: 1px solid #FFF;
	}
	.footer_sitemap_list li:last-child {
	border-bottom: 1px solid #FFF;
	}
	.footer_sitemap_list dl {
	display: flex;
	align-items: center;
	padding: 0.75em 0;
	}
	.footer_sitemap_list dl:not(:first-child) {
	margin-top: 0;
	}
	.footer_sitemap_list dt {
	padding-left: 0.5rem;
	}
	.footer_sitemap_list dd {
	margin-top: 0;
	padding-left: 1em;
	}
	.footer_sitemap_list dd::before {
	display: none;
	}
	.footer_sitemap_side {
	display: none;
	}
}

/* copyright */
footer .copyright {
max-width: 1200px;
margin: auto;
padding: 30px 4% 40px 4%;
font-size: 0.75rem;
text-align: center;
color: #FFF;
background: #3D3D3D;
border-top: 1px solid #FFF;
}
@media screen and (max-width: 800px) {
	footer .copyright {
	padding: 0 4% 12% 4%;
	border: 0;
	}
}

