@charset "utf-8";

/*

Theme Name: 有限会社杉田兄弟発條

Author:  Kotaro Saito, Mina Yoshinaga, Masayoshi Ueda

Description:  有限会社杉田兄弟発條のテーマ

version: 1.0.0

*/

/*variables

-----------------------------------------------------------------------------------------*/

:root {
	--color-black: rgb(0, 0, 0);

	--color-white: rgb(255, 255, 255);

	--color-blue: rgb(0, 76, 168);

	--color-purple: rgb(118, 105, 149);

	--color-navy: rgb(0, 60, 139);

	--color-gray: rgb(200, 190, 190);

	--color-orange: rgb(241, 142, 42);

	--font-notosans: 'Noto Sans JP', sans-serif;

	--font-sawarabi: 'Sawarabi Mincho', serif;

	--font-black: rgb(0, 0, 0);

	--font-link: var(--font-black);

	--header-height: 85px;

	--content-width: 1200px;

	--body-bg-color: var(--color-white);

	--footer-bg-color: rgba(72, 71, 73, 1);
}

/*common

-----------------------------------------------------------------------------------------*/

html {
	font-size: 16px;
}

html,
body {
	width: 100%;

	margin: 0 auto;

	padding: 0;

	color: var(--font-black);

	background: var(--body-bg-color);

	font-family: 'Noto Sans JP', sans-serif;
}

figure {
	position: relative;

	margin: 0;
}

.none {
	display: none;
}

@media screen and (min-width: 1024px) {
	.tab {
		display: none;
	}

	.pc-only {
		display: block;
	}
}

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

	.pc-only {
		display: none;
	}

	.tab-only {
		display: block;
	}

	html {
		font-size: 0.9rem;
	}
}

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

	.tab-only {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 14px;
	}
}

/* header

-----------------------------------------------------------------------------------------*/

#header {
	position: fixed;

	top: 0;

	left: 0;

	width: 100%;

	z-index: 100;

	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);

	height: var(--header-height);

	background: var(--color-white);
}

div.header-inner {
	position: relative;

	z-index: 3;

	height: 100%;
}

div.header-logo {
	width: 207px;
}

div.header-logo img {
	height: calc(var(--header-height) - 10px);
}

div.header-logo h1,
div.header-logo span {
	padding: 5px 0;
}

nav.header-nav,
ul.header-nav-ul {
	height: 100%;
}

li.header-nav-li {
	font-weight: 400;

	font-size: min(1.5vw, 18px);

	display: flex;

	align-items: center;
}

li.header-nav-li > a {
	position: relative;

	display: block;
}

li.header-nav-li span,
a.drawer-menu-item span {
	display: block;

	font-size: 0.9rem;
}

li.header-nav-li {
	margin-right: 54px;
}

li.header-nav-li:last-of-type {
	margin-right: 0;
}

li.header-nav-li > a::after {
	content: '';

	position: absolute;

	bottom: -8px;

	background: var(--color-purple);
}

li.header-nav-li > a::after {
	display: block;

	height: 2px;

	width: 0%;

	position: absolute;

	left: 0;

	transition: 0.3s;
}

li.header-nav-li > a:hover::after {
	width: 100%;
}

div.sp-navigation {
	display: none;
}

body.drawer--right.drawer-open .drawer-hamburger {
	right: 2%;
}

span.drawer-hamburger-icon,
span.drawer-hamburger-icon:after,
span.drawer-hamburger-icon:before {
	/* background-color: white; */
}

button.drawer-toggle.drawer-hamburger {
	position: absolute;

	top: 50%;

	right: 2%;

	transform: translateY(-50%);
}

nav.drawer-nav {
	background: var(--color-orange);

	margin-top: var(--header-height);
}

ul.drawer-menu > li {
	padding: 15px 0 0;
}

ul.drawer-menu li:last-of-type .drawer-menu-item {
	background: var(--color-white);

	color: var(--color-orange);
}

a.drawer-menu-item {
	color: var(--color-white);

	font-size: 1.5rem;

	display: block;
}

a.drawer-menu-item:hover {
	text-decoration: none;

	color: inherit;
}

@media screen and (max-width: 1023px) {
	header#header .header-inner {
		width: 100%;
	}

	div.header-logo {
		margin-left: calc(2% + 0.75rem);
	}

	div.header-nav-wrapper {
		display: none;
	}

	div.sp-navigation {
		display: block;
	}
}

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

/* footer

-----------------------------------------------------------------------------------------*/

footer#footer {
	background: var(--footer-bg-color);

	padding: 50px 0 20px;

	margin-top: 50px;

	color: var(--color-white);
}

footer#footer a {
	color: var(--color-white);
}

div.footer-title {
	font-size: 2rem;

	margin-bottom: 20px;
}

div.footer-body {
	justify-content: center;

	align-items: flex-start;

	gap: 120px;

	font-size: 1.1rem;

	margin-bottom: 25px;
}

div.access {
	margin-bottom: 15px;
}

div.googlemap a {
	border: 2px solid var(--color-white);

	padding: 3px 48px;

	display: block;
}

div.footer-nav-wrapper {
	position: relative;
}

li.footer-nav-li a {
	font-size: 1rem;
}

li.footer-nav-li:hover {
	opacity: 0.6;
}

li.footer-nav-li:not(.footer-nav-li:first-of-type) {
	padding-left: 20px;
}

li.footer-nav-li:not(.footer-nav-li:last-of-type) {
	padding-right: 20px;

	border-right: 1px solid var(--color-white);
}

div.copy-right {
	margin-top: 25px;
}

@media screen and (max-width: 767px) {
	/** footer **/

	footer#footer {
		padding: 30px 0;

		margin-top: 30px;
	}

	div.footer-nav-wrapper {
		display: none;
	}

	div.footer-title {
		font-size: 1.4rem;
	}

	div.footer-body {
		font-size: 1rem;

		gap: 15px;
	}

	div.access {
		margin-bottom: 10px;
	}

	div.copy-right {
		margin-top: 0;
	}
}
