@charset "utf-8";
@media screen and (max-width: 1200px) {
nav#pc{
	display: none;
}
nav#sp{
	display: block;
	height: 80px;
}
.header_inner{
	height: 80px;
	align-items: center;
}
  
/* ================= ハンバーガーメニュー ================= */
.hamburger {
	position: fixed;
	right: 0;
	top: 0;
	display: inline-block;
	vertical-align: middle;
	width: 80px;
	height: 80px;
	background: 0 0;
	border-radius: 85px 0 0;
	margin: 0 auto 5px;
}
.hamburger .hamburger-button {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 120;
	cursor: pointer
}
.hamburger_span{
	position: fixed;
	right: 0;
	top: 0;
	display: inline-block;
	vertical-align: middle;
	z-index: 120;
	width: 80px;
	height: 80px;
	background: var(--main_color);
	margin: 0 auto 5px;
	transform: scale(1);
	transition: 0.3s;
}
.hamburger-active .hamburger_span{
	transform: scale(0);
}
.hamburger_span_close{
	position: fixed;
	right: 0;
	top: 0;
	display: inline-block;
	vertical-align: middle;
	z-index: 120;
	width: 80px;
	height: 80px;
	background: var(--sub_color_light);
	margin: 0 auto 5px;
	transform: scale(0);
	transition: 0.4s;
	transition-delay: 0s;
}
.hamburger-active .hamburger_span_close{
	transform: scale(1);
	transition-delay: 0.4s;
}
.hamburger_span::before{
	content: 'menu';
	width: fit-content;
	text-align: center;
	position: absolute;
	bottom: 11px;
	right: 0;
	left: 0;
	margin: auto;
	font-size: 75%;
	color: var(--sub_color_light);
	font-weight: bold;
	transition: 0.4s;
}
.hamburger_span_close::before{
	content: 'close';
	width: fit-content;
	text-align: center;
	position: absolute;
	bottom: 11px;
	right: 0;
	left: 0;
	margin: auto;
	font-size: 75%;
	color: var(--back_color);
	font-weight: bold;
	transition: 0.4s;
}
.hamburger .hamburger-button span {
	position: absolute;
	width: 50%;
	height: .2em;
	right: 0px;
	left: 0;
	top: -7px;
	bottom: 0;
	margin: auto;
	background-color: var(--back_color);
	border-radius: .1em;
	transition: all .5s ease 0s;
	transform: rotate(0deg)
}
.hamburger .hamburger-button span.top {
	transform: translateY(-.5em)
}
.hamburger .hamburger-button span.bottom {
	transform: translateY(.5em)
}
.hamburger-active .hamburger-button span.middle {
	background: 0 0
}
.hamburger-active .hamburger-button span.top {
	transform: rotate(-45deg) translateY(0);
	background: var(--back_color);
}
.hamburger-active .hamburger-button span.bottom {
	transform: rotate(45deg) translateY(0);
	background: var(--back_color);
}
.hamburger .hamburger-menu {
	display:flex;
	align-items:center;
	justify-content: center;
	flex-direction: column;
	position:fixed;
	top:0;
	right:0;
	bottom:0;
    width:24rem;
	max-width:90%;
	transform:translateX(100%);
	transition:transform .5s ease;
	overflow-y:auto;
	min-height:100dvh;
	background:#0068b7f5;
}
.hamburger-active .hamburger-menu {
	transform:translateX(0);
}
.hamburger .hamburger-menu .hamburger-submenu {
	transition:
		opacity .3s ease,
		transform .3s ease;
}
.hamburger-active .hamburger-menu .hamburger-submenu {
	opacity:1;
	transform:none;
}
.hamburger-active .hamburger-menu .hamburger-submenu:nth-child(1) {
	transition: transform .5s ease .5s
}
.hamburger-active .hamburger-menu .hamburger-submenu:nth-child(2) {
	transition: transform .5s ease .8s
}
.hamburger-active .hamburger-menu .hamburger-submenu:nth-child(3) {
	transition: transform .5s ease 1.1s
}
/*.hamburger .hamburger-menu>a {
	display: block;
	text-decoration: none;
	color: #535353;
	height: 35px;
	letter-spacing: 1px
}*/
.hamburger-active .hamburger-button span {
	background: var(--back_color);
}
.hamburger_menulist{
	width: 100%;
}
.hamburger_menulist li.hamburger-menu_text{
	font-size: 120%;
	padding: 10px 0;
	margin: 0 0 5px;
	text-align: center;
}
.hamburger_menulist li a {
	display: block;
	width: 100%;
	color: var(--back_color);
	letter-spacing: 1px;
}
.hamburger_menulist li a:hover{
	opacity: 0.7;
}
.hamburger-menu_button{
	display: block;
	cursor: pointer;
	width: 60%;
	height: 60px;
	color: var(--main_color);
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s;
	padding: 0 10px;
	white-space: nowrap;
	text-align: center;
	margin: 0 auto;
	letter-spacing: 1px;
	font-size: 120%;
}
.hamburger-menu_button:hover{
	border: 2px solid #fff;
	background-color: var(--main_color);
	color: #fff;
}
.hamburger-menu_contact:before{
	content: '';
	background: url(../img/mail_icon2.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: relative;
}
.hamburger-menu_catalog:before{
	content: '';
	background: url(../img/cata_icon.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: relative;
}
.hamburger-menu_contact:hover:before{
	content: '';
	background: url(../img/mail_icon.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: relative;
}
.hamburger-menu_catalog:hover:before{
	content: '';
	background: url(../img/cata_icon2.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin-right: 10px;
	position: relative;
}
  /*　電話番号　*/
.hamburger_contact{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 30px 0;
}
.hamburger_contact p.hamburger_tel{
	width: 250px;
	font-size: 26px;
	font-weight: bold;
	letter-spacing: 1px;
	color: #fff;
	padding: 0 0 3px;
	text-align: center;
}
.hamburger_contact p.hamburger_tel a{
	color: #fff;
}
.hamburger_contact p.hamburger_tel:before{
	content: '';
	background: url(../img/tel_icon3.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 26px;
	height: 26px;
	margin-right: 3px;
	position: relative;
	top: -3px;
}
.hamburger_contact p.hamburger_tel_small{
	background:  var(--sub_color_light);
	color: #fff;
	font-size: 80%;
	padding: 1px 15px;
	letter-spacing: 1.8px;
}
.nav_en{
	color: #fff;
	text-align: center;
	cursor: pointer;
	margin: 0 auto;
	display: block;
}
  
/* ================= ハンバーガーメニュー end ================= */

/* ================= nav_contact ================= */
nav#sp .nav_contact{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 60px 0 0;
}
nav#sp .nav_contact .nav_tel{
	width: 250px;
	font-size: 189%;
	font-weight: bold;
	color: var(--sub_color_light);
	padding: 0 0 3px;
}
nav#sp .nav_contact .nav_tel:before{
	content: '';
	background: url(../img/tel_icon.png) no-repeat;
	background-size: contain;
	background-position: left top;
	display: inline-block;
	vertical-align: middle;
	width: 26px;
	height: 26px;
	margin-right: 3px;
	position: relative;
	top: -3px;
	z-index: -1;
}
nav#sp .nav_contact p.nav_tel_small{
	background:  var(--sub_color_light);
	color: #fff;
	font-size: 80%;
	padding: 1px 15px;
	letter-spacing: 1.8px;
}
  
/* ================= footer ================= */
footer .footer_contents{
	width: 85%;
	padding: 60px 0;
}
.footer_nav ul.footer_nav01{
	padding-right: 40px;
}
.footer_contents{
    align-items:flex-start;
    gap:40px;
}
.text_contents{
    width:45%;
    min-width:0;
}

} 
  
@media screen and (max-width: 750px) {
.header_inner{
	width: 100%;
	padding: 0 80px 0 3%;
}
header .logo a p{
	letter-spacing: 0px;
}
nav#sp .nav_contact{
	display: none;
}

/* ================= footer ================= */
footer .footer_contents{
	flex-direction: column;
	 padding: 120px 0 0;
}
footer .footer_contents .text_contents{
	width: 100%;
	text-align: center;
}
.text_contents .footer_logo{
	margin: 0 auto;
}
.text_contents p{
	padding: 0;
}
.footer_contents .footer_nav{
	padding: 70px 0 30px;
}
.footer_map{
	padding: 0px;
}
.footer_nav ul.footer_nav01{
	padding-right: 80px;
}

}
