@charset "utf-8";
/* nav.css */

/* -----------------------------------------------------------
	header
------------------------------------------------------------*/
#header {
    position: relative;
    background-color: #fff;
}
#header:before {
	content:"";
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 5px;
	background:#E95519;
}
.top-logo img {
	vertical-align: middle;
}

@media screen and (min-width: 1000px) {
	#header,
	.header-wrap,
	#logo-area,
	.top-shop,
	.sp-top-nav{
		height:85px;
	}
	.header-wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width:100%;
	}
	#logo-area {
		max-width:240px;
		width:14%;
	}
	#header-menu {
		width:85%;
		margin:0 0 0 auto;
	}
	#header.scrolled {
	  position: fixed;
	  top:0;
	  left:0;
	  width:100%;
	  box-shadow: 0px 0 10px rgba(0,0,0,0.15);
	  z-index: 4;
	}
	/* animation */
	.scrolled#header {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		margin: auto;
		z-index: 2;
		width: 100%;
		height: auto;
	}
	.scrolled#header{
		animation: scrolledAnime .5s forwards;
	  }
	  @keyframes scrolledAnime {
		0% {
		  opacity: 0;
		  transform: translateY(-100px);
		}
		to {
		  opacity: 1;
		  transform: translateY(0)
		}
	  }
	#logo-area {
		display: flex;
		flex-wrap:wrap;
		align-items: center;
		align-content: center;
		line-height: 1;
		margin:0;
		position: relative;
	}
	.top-logo {
		margin:0 2rem 0 0;
	}
	.header-wrap {
		padding:0;
		max-width:1500px;
		width: 95%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		line-height: 1;
		position: relative;
		z-index: 2;
	}
	#menu {
		display: flex!important;
		align-items: center;
		text-align: center;
		width: 100%;
		max-width:940px;
		margin-top: 53px;
		padding-right:1em;
        justify-content: flex-end;
	}
	#menu a {
		/* font-size: 1.4rem; */
	}
	#menu a:hover {
		color:#E95519;
		opacity: 1;
	}
	#menu * {
		font-weight: bold;
		color:#555;
		letter-spacing: 0.06em;
	}
	/* #menu li:nth-child(1) a,
	#menu li:nth-child(2) a {
		font-size: 1.36rem;
	} */
	.sp-top-nav {
		width:100%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		align-content: center;
		line-height: 1;
	}
	.nav {
	  position: relative;
	}
	.menu .nav:hover {
		opacity: 1;
	}
	.parent {
		position: relative;
		height: 68px;
	}
	.parent > a {
		position: relative;
	}
	li.parent:before {
		content:"/";
		position: absolute;
		top:-4px;
		right:-1.65em;
		width:1em;
		height: 1em;
		color:#ccc;
		font-size: 1.5em;
		font-weight: 200;
	}
	li.gnavi_list:after {
		content:"/";
		position: absolute;
		top:-4px;
		left:-1.7em;
		width:1em;
		height: 1em;
		color:#ccc;
		font-size: 1.5em;
		font-weight: 200;
	}
	.gnavi_wrap {
		margin:0;
	}
	.parent:last-of-type > a:before {
		content:none;
		background: none;
	}
	.top-contact {
		margin:0;
		width:18%;
		max-width:180px;
		height:100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	/* dropdown
	------------------------------------------------------------*/
	.dropdown_lists {
	  display: none;
	  width: 100%;
	  position: absolute;
	  left: 0;
	  border-radius: 5px;
	  background-color: #303030;
	}
	.gnavi_list:hover .dropdown_lists {
	  display: block;
	}
	.gnavi_list i {
		font-style:normal;
		margin:0 0 0 6px;
	}
	.gnavi_list i img {
		vertical-align: 1px;
	}
	.dropdown_list {
	  height: 44px;
	  transition: all .3s;
	  display: flex;
	  position: relative;
	  border-radius: 5px;
	}
	.dropdown_list:not(:first-child)::before{
	  content: "";
	  width: 100%;
	  height: 1px;
	  background-color: rgba(255,255,255,0.2);
	  position: absolute;
	  top: 0;
	  left: 0;
	}
	.dropdown_list:hover {
	  background-color: #222;
	  opacity: 1;
	}
	.dropdown_list a {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		color: #fff!important;
		text-decoration: none;
		position: relative;
		text-align: left;
		padding-left:1.5rem;
		font-size: 1.4rem;
		line-height: 1.3;
		width:100%;
	}
	.dropdown_lists {
		transform: scaleY(0);
		transform-origin: center top;
		transition: all .3s;
		width: 100vw;
		max-width:270px;
		position: absolute;
		top:40px;
		left: 0;
		z-index: 1;
		box-shadow:0 0 10px rgba(0,0,0,0.05);
	}
	.gnavi_list:hover .dropdown_lists {
	  transform: scaleY(1);
	}
	.gnavi_list {
	  position: relative;
	}
	.nav .icn {
		display:block;
		width:100%;
		margin:0 auto;
		text-align: center;
	}
	.parent,
	.parent .nav {
		line-height: 1.2;
		margin:0 3%;
	}
	.gnavi_list > a:after {
		content:"";
		position: absolute;
		bottom:-1em;
		left:0;
		right:0;
		margin:auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-color: #ccc transparent transparent transparent;
		border-width: 6px 5px 0px 5px;
	}

	@media screen and (min-width: 1441px) {

	}
	@media screen and (max-width: 1400px) {
		#footer a, #footer * {
			font-size: 1.1vw;
		}
		.footer-logo img {
			max-height:calc(82/1500*100vw);
		}
		.footer-contact img {
			max-height:calc(70/1500*100vw);
		}
		#footer .footer-copy p {
			font-size: 1.2rem;
		}
	}
	@media screen and (max-width: 1280px) {
		#footer a, #footer * {
			font-size: 1.1vw;
		}

	}
	@media screen and (max-width: 1200px) {
		#logo-area {
			width:15%;
		}

	}
}


/*--- end PCメニュー */

/* sp header
------------------------------------------------------------*/
@media screen and (max-width:999px) {
	#header {
		border-width:3px;
		width:100%;
		position: fixed;
		top:0;
		left:0;
		z-index: 2;
	}
	#header:before {
        height: 3px;
    }
	.header-wrap {
		position: relative;
	}
	.header-wrap,
	#header,
	.top-logo a {
	  height:60px;
	}
	#logo-area {
		line-height:1;
		margin:0;
		font-size:0;
		width: calc(100% - 75px);
		padding-left: 15px;
	}
	#logo-area img {
		max-height:35px;
	}
	.top-logo a {
		display: flex;
		align-items: center;
	}
	.top-contact {
		display: none;
	}
	.sp-top-nav {
		position: fixed;
	}
	.open .sp-top-nav {
	  z-index: 10;
	  visibility: visible;
	  top:0;
	  width:100%;
	  height: 100%;
	}
	#toggle {
	  display: block;
	  position: fixed;
	  right: 6px;
	  top: 10px;
	  width: 40px;
	  height: 40px;
	  cursor: pointer;
	  padding: 0px;
	  z-index: 1002;
	  -webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	#toggle div {
	  position: relative;
	  top:11px;
	  right:0;
	  width: 60%;
      margin: 0 auto;
	}
	#toggle span {
	  display: block;
	  position: absolute;
	  height: 2px;
	  width: 100%;
	  background: #E95519;
	  left: 0;
	  zoom: 1;
	  -webkit-transition: .35s ease-in-out;
	  transition: .35s ease-in-out;
	}
	#toggle span:nth-child(1) {
	  top: 0;
	}
	#toggle span:nth-child(2) {
		top:8px;
	}
	#toggle span:nth-child(3) {
		top:16px;
	}
	.open #toggle span:nth-child(1) {
	  top: 7px;
	  -webkit-transform: rotate(-135deg);
	  transform: rotate(-135deg);
	  zoom: 1;
	}
	.open #toggle span:nth-child(2) {
	  width: 0;
	  left: 50%;
	}
	.open #toggle span:nth-child(3) {
		top: 7px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		zoom: 1;
	}
	#menu {
		display: none;
		top:60px;
		position:absolute;
		padding: 0;
		width: 100%;
		margin: 0;
		z-index:101;
		overflow:hidden;
		/* height:100vh; */
		background-color: #fff;
		padding:3em 0 30px;
	}
	.open #menu {
		display: block;
		height: 100%;
        overflow: scroll;
		padding-bottom:5rem;
	}
	#menu li {
		margin:0;
		border-bottom: 1px solid #ddd;
	}
	#menu li:first-of-type {
		border-top: 1px solid #ddd;
	}
	#menu li a {
		font-size:1.5rem;
		position: relative;
		width:100%;
		font-weight: bold;
		padding:0 10px 0 2em;
		height: 50px;
		display: flex;
		letter-spacing: 0.1em;
		align-items: center;
		color:#222;
	}
	#menu li .sp-menu a {
		font-size: 1.3rem;
		color:#999;
		height:30px;
	}
	#menu li .sp-menu {
		padding: 1em 0.5em;
	}
	#menu li a:before {
		content:"";
		position: absolute;
		right:1em;
		top:0.5em;
		bottom:0;
		margin:auto;
		background: url(/theme/img/ar.svg)no-repeat 0 0;
		background-size: 10px auto;
		width:1em;
		height: 1em;
	}
	#menu li .sp-menu a:before {
		content:none;
		background: none;
	}
	#menu li.dropdown_list a {
		padding-left:3em;
	}
	#menu li.gnavi_list > a:before {
		background: none;
	}
	#menu li.dropdown_list a:after {
		content:"";
		position: absolute;
		left:2.1em;
		top:0;
		bottom:0;
		margin:auto;
		background: #555;
		width:5px;
		height: 1px;
	}
	#menu li.dropdown_list:last-of-type {
		border-bottom:0;
	}
}

@media screen and (max-width:767px) {
	.header-wrap,
	#header,
	.top-logo a {
	  height:50px;
	}
	#menu {
		top:50px;
	}
	#toggle {
		top:8px;
	}
}

@media screen and (max-width:480px) {
}

/* -----------------------------------------------------------
	footer
------------------------------------------------------------*/
#footer {
	width:100%;
	padding:9rem 0 0;
	background-color: #2F393E;
	position: relative;
}
#footer:before {
	content:"";
	position: absolute;
	right:0;
	bottom:0;
	width:100%;
	max-width: 673px;
    height: 100%;
    background: url(/theme/img/footer-mark.png) no-repeat right bottom;
    background-size: cover;
	opacity: 0.5;
}
.footer-wrap,
.footer-bottom-inner {
	max-width:1500px;
	width:90%;
	margin:0 auto;
}
.footer-wrap {
	position: relative;
}
#footer * {
	color:#fff;
}
.footer-wrap * {
	font-weight: 400;
	font-size: 1.4rem;	
}
.footer-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 1.5rem;
}
.footer-top .footer-logo {
	display: flex;
	align-items:center;
	flex-wrap:wrap;
}
.footer-logo-txt {
	font-size: 1.8rem;
	margin:2.5em 0 0 1.5em;
}
.f-logo {
	max-width:253px;
}
.footer-contact {
	width: 27%;
	text-align: center;
	margin:0;
}
.footer-contact img {
	max-width:281px;
}
.footer-contact a {
	box-shadow: 0 3px 6px rgba(0,0,0,0.05);
}
.footer-company dl {
	margin:0 0 2rem;
}
.footer-company dt {
	font-weight: bold;
	margin-bottom:5px;
}
.footer-company dd {
	font-weight: 400;
	line-height:1.4;
}
.footer-bnr-box {
	background-color: #fff;
	display: block;
	padding:0.8rem 1.5rem;
	max-width:234px;
	width:45%;
}
.footer-bnr-txt {
	font-size: 1.4rem;
	margin:0.5rem 0 0 1rem;
}
.f-menu li {
	font-weight: bold;
	letter-spacing: 0.06em;
	margin-bottom:1rem;
}
.f-menu li.mb {
	margin-bottom:2em;
}
.f-menu-child {
	margin-bottom:1em;
	margin-top: 1rem;
}
.f-menu-child a {
	font-weight: normal;
	padding-left:1rem;
	position: relative;
}
.f-menu-child a:before {
	content:"-";
	position: absolute;
	top:0;
	left:0;
	width:1em;
	height:1em;
}
.f-menu-child.mb {
	margin-bottom:4rem;
}
.footer-bottom {
	position: relative;
	height: 50px;
	display: flex;
	border-top:1px solid#596165;
}
.footer-bottom * {
	color:#999;
	font-size:1.2rem;
}
.f-menu-bottom li {
	margin:0 1em 0 0;
}
.footer-copy {
	position: relative;
}
.footer-copy p {
	font-size:12px;
	letter-spacing: 0.1em;
	color:#909698!important;
	margin:0;
	padding-top: 1.5rem;
}
.f-menu02 li {
	margin-bottom:2em;
}


/* pc footer
------------------------------------------------------------*/
@media screen and (min-width: 1000px) {
	.footer-flex {
		display: flex;
		justify-content: space-between;
		width:100%;
		gap:0 4%;
	}
	.footer-wrap {
		padding-bottom:4rem;
	}
	.footer-company {
		width:40%;
	}
	.footer-menu {
		width:60%;
		display: flex;
		justify-content: flex-end;
		margin-top:3.5rem;
	}
	.f-menu01 {
		width:45%;
		margin-left:5%;
	}
	.f-menu02 {
		width:35%;
		margin-left:5%;
	}
	.footer-bottom {
		width:100%;
	}
	.footer-bottom-inner {
		display: flex;
		justify-content: space-between;
	}
	.f-menu-bottom {
		order:2;
	}
	.footer-copy {
		order:2;
	}
	.footer-bnr {
		margin:3rem 0 0;
	}
	
}

@media screen and(min-width:900) and (max-width:1400px) {
	.footer-wrap, .footer-bottom-inner {
		width:95%;
	}
	.footer-company {
		padding-left:0;
	}
	.footer-logo {
		width:69%;
	}
	.footer-menu .f-menu.f0 {
		width:18%;
		padding-left:0;
	}
	#footer {
		padding-top:calc(90/1400*100vw);
	}
}

/* sp footer
------------------------------------------------------------*/
@media screen and (max-width:999px) {
	#footer {
		padding:5rem 0 0;
		overflow-x: hidden;
	}
	.footer-menu,
	.footer-contact {
		display: none;
	}
	.footer-company {
        padding-left: 0;
        display: flex;
        flex-wrap: wrap;
    }
	.footer-company dl {
		margin-right:3%;
	}
	.footer-logo img {
		max-width:165px;
	}
	.footer-logo-txt {
        font-size: 1.3rem;
        margin: 2em 0 0 1em;
	}
	.f-logo {
		max-width: 100%;
	}
	.footer-wrap *,
	.footer-company dd,
	.footer-bnr-txt {
		font-size: 1.3rem;
	}
	#footer:before {
		opacity: 0.3;
	}
	.footer-flex {
		margin-bottom:3rem;
	}
}

@media screen and (max-width:767px) {
	#logo-area img {
		max-height: 33px;
	}
}

