@charset "utf-8";
/*
 *ヘッダーへのCSSのみ
*/
.allwrapper {
	padding-top: 15vw;
}
.home .allwrapper {
	padding-top: 0 !important;
}
h2,
h3,
p,
ul,
li,
a {
	color: #333333;
}
/*====================
Start SP
====================*/
/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ヘッダー
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
#upper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 15vw;
	padding: 3.282vw 7.5vw;
	background: #fff;
	box-shadow: 5.43527px 6.52232px 34.7857px rgba(51, 51, 51, 0.08);
	z-index: 9100;
}
#upper .inner {
	width: 100%;
	height: 100%;
	padding: 3.1vw 7.5vw;
	z-index: 9100;
}
#upper .site_logo {
	margin: 0;
}
#upper .site_logo img {
	width: auto;
	height: 8.438vw;
	vertical-align: top;
}

/*ハンバーガー
====================*/
.menu-trigger {
	display: block;
	position: absolute;
	top: 4.8vw;
	right: 6.25vw;
	width: 7.5vw;
	height: 7.5vw;
	padding: 0;
	text-align: center;
	z-index: 10000;
}
.trigger_wrap {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	margin: 0;
}

.trigger_wrap span {
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	transition: all 0.4s;
	background-color: #333333;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 2.5vw;
}
.menu-trigger span:nth-of-type(3) {
	top: 5vw;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(0.9rem) rotate(-315deg);
	transform: translateY(0.9rem) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-0.7rem) rotate(315deg);
	transform: translateY(-0.7rem) rotate(315deg);
}

/*ナビ
====================*/
.g_nav {
	display: none;
	position: fixed;
	top: 15vw;
	left: 0;
	width: 100vw;
	height: calc(100dvh - 15vw);
	overflow: auto;
	min-width: 100%;
	padding: 0 10vw;
	font-size: 0;
	border-top: 0.3125vw solid #dddddd;
	background: rgba(255, 255, 255, 1);
	z-index: 2000;
	-webkit-overflow-scrolling: touch;
}
.g_nav .g_nav_menu {
	padding: 0 0 12.5vw;
}

.g_nav > .g_nav_menu > li {
	position: relative;
}
.g_nav > .g_nav_menu > li:last-child {
	margin: 0;
}

.g_nav > .g_nav_menu > li > a {
	position: relative;
	display: block;
	font-family: "Helvetica Neue condensed Bold", Helvetica, sans-serif;
	font-size: 1.5rem;
	letter-spacing: 1px;
	line-height: 1;
	padding: 3.75vw 0;
	text-align: left;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	border-bottom: 0.3125vw solid #dddddd;
}
/*子のul*/
.g_nav .g_nav_menu > li > .sub-menu {
	display: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
	padding: 2.1875vw 0 1.5625vw 5vw;
}
/*子のli*/
.g_nav .g_nav_menu > li > .sub-menu > li {
	position: relative;
	border-bottom: 0.3125vw solid #dddddd;
}
/*子のa設定*/
.g_nav .g_nav_menu > li > .sub-menu > li > a {
	position: relative;
	display: block;
	font-size: 1.2rem;
	letter-spacing: 1px;
	line-height: 1;
	padding: 3.125vw 0;
	text-align: left;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
/*孫のul設定*/
.g_nav .g_nav_menu > li > .sub-menu > li > .sub-menu {
	display: none;
	width: 100%;
	height: 100%;
	padding: 2.1875vw 0 1.5625vw 26.875vw;
	z-index: 1500;
}
.g_nav .g_nav_menu > li > .sub-menu > li > .sub-menu > li {
	overflow: hidden;
}
/*孫のa設定*/
.g_nav .g_nav_menu > li > .sub-menu > li > .sub-menu > li > a {
	position: relative;
	display: block;
	font-size: 1.1rem;
	letter-spacing: 1px;
	line-height: 1;
	padding: 3.125vw 0;
	text-align: left;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
/*OPENボタン*/
.g_nav .g_nav_menu .has-child > .btn-icon,
.g_nav .g_nav_menu .has-grand > .btn-icon {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 13.4375vw;
	height: 13.4375vw;
}
.g_nav .g_nav_menu .has-child > .btn-icon::before,
.g_nav .g_nav_menu .has-grand > .btn-icon::before {
	content: "\f123";
	cursor: pointer;
	color: #222222;
	font-family: ionicons;
	font-size: 1.6rem;
}
.g_nav .g_nav_menu .has-child.active > .btn-icon::before,
.g_nav .g_nav_menu .has-grand.active > .btn-icon::before {
	content: "\f126";
}
.g_nav .head_cont {
	margin: 0 0 10vw;
}
.g_nav .h-sns {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin-top: 5vw;
	gap: 3.75vw;
	justify-content: left;
}
.g_nav .h-sns li {
	width: 7.18vw;
	height: 7.18vw;
	aspect-ratio: 1 / 1;
}
.g_nav .h-sns a {
	display: block;
	width: 100%;
	height: 100%;
}

/*検索
====================*/
.head_search_box {
	width: 100%;
	margin: 14.0625vw auto 7.5vw;
}
#head_searchForm {
	position: relative;
	width: 100%;
	height: 100%;
}
#head_searchBtn {
	cursor: pointer;
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 10vw;
	height: 10vw;
	color: #333333;
	font-family: ionicons;
	font-size: 1.8rem;
	font-weight: 100;
}
#head_keywords {
	font-size: 1.1rem;
	width: 100%;
	height: 10vw;
	border-radius: 0;
	line-height: 1;
	padding: 0 10vw 0 1.25vw;
	background: none;
	-webkit-appearance: none;
	-moz-apperance: none;
	appearance: none;
	vertical-align: middle;
	background: #dedede;
}
#keywords-head:placeholder-shown,
#keywords-head::-webkit-input-placeholder {
	color: #666666;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
/*====================
Start Tablet
====================*/
@media only screen and (min-width: 641px) {
	/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
	ヘッダー
	◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
	.allwrapper {
		padding-top: 8.75vw;
	}
	#upper {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 8.75vw;
		background: #ffffff;
		padding: 3vw 5vw;
		box-shadow: 0px 0.625vw 2.3vw 0.2vw rgba(51, 51, 51, 0.08);
	}
	#upper .inner_head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#upper .site_logo {
		position: relative;
		display: block;
		margin: 0;
		z-index: 9000;
		height: 3.75vw;
	}

	#upper .site_logo a {
		display: block;
		width: 100%;
		height: 100%;
	}
	#upper h1 img,
	#upper .site_logo img {
		width: 100%;
		height: 100%;
	}
	/*ハンバーガー
	====================*/
	.menu-trigger {
		display: none;
	}

	/*グローバルメニュー
	====================*/
	.g_nav {
		display: block;
		position: relative;
		top: 0;
		left: 0;
		width: 80%;
		min-width: initial;
		height: auto;
		overflow: visible;
		padding: 0;
		border: none;
		background: none;
	}
	.g_nav .g_nav_menu {
		padding: 0;
		text-align: right;
	}
	.g_nav > .g_nav_menu > li {
		display: inline-block;
		padding: 0;
		margin: 0 4.609375vw 0 0;
	}
	.g_nav > .g_nav_menu > li > a {
		font-size: 1.875vw;
		padding: 0 0 11px;
		text-align: center;
		border-bottom: 0;
	}
	.g_nav .g_nav_menu .has-child > .btn-icon {
		display: none;
	}
	/*ホバー処理*/
	.g_nav > .g_nav_menu > li > a::after {
		content: "";
		width: 0;
		height: 4px;
		position: absolute;
		right: 0;
		bottom: 0;
		left: inherit;
		-webkit-transition: 0.3s ease-in-out;
		transition: 0.3s ease-in-out;
		background-image: -moz-linear-gradient(180deg, rgb(225, 84, 84) 0%, rgb(212, 226, 149) 18%, rgb(96, 189, 227) 49%, rgb(168, 64, 157) 100%, rgb(28, 255, 252) 100%, rgb(183, 136, 198) 100%);
		background-image: -webkit-linear-gradient(180deg, rgb(225, 84, 84) 0%, rgb(212, 226, 149) 18%, rgb(96, 189, 227) 49%, rgb(168, 64, 157) 100%, rgb(28, 255, 252) 100%, rgb(183, 136, 198) 100%);
		background-image: -ms-linear-gradient(180deg, rgb(225, 84, 84) 0%, rgb(212, 226, 149) 18%, rgb(96, 189, 227) 49%, rgb(168, 64, 157) 100%, rgb(28, 255, 252) 100%, rgb(183, 136, 198) 100%);
	}
	.g_nav > .g_nav_menu > li > a:hover::after {
		width: 100%;
		left: 0;
	}
	.g_nav .g_nav_menu > li > .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		display: block;
		width: 12.734375vw;
		height: auto;
		max-height: 0;
		overflow: hidden;
		padding: 0 0 0 1.484375vw;
		-webkit-transition: 0.3s linear;
		transition: 0.3s linear;
		background: rgba(255, 255, 255, 0.9);
		opacity: 0;
	}
	.g_nav .g_nav_menu > li:hover .sub-menu {
		max-height: 9999px;
		padding: 0.625vw 0 0 1.484375vw;
		opacity: 1;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li {
		border-bottom: none;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li::before {
		content: "";
		position: absolute;
		bottom: 0;
		display: block;
		width: 8.4375vw;
		height: 1px;
		background: #d8be61;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li > a {
		font-size: 1vw;
		padding: 1.125vw 0;
	}
	.contact-bg-img.sp {
		display: none;
	}
	.g_nav .head_cont {
		display: none;
	}

	/*検索
    ====================*/
	.head_search_box {
		display: none;
	}
}

/*====================
End Tablet
====================*/

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
/*====================
Start PC
====================*/
@media only screen and (min-width: 1280px) {
	/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
	ヘッダー
	◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
	.allwrapper {
		padding-top: 112px;
	}
	#upper {
		height: 112px;
		padding: 40px 0 24px;
	}
	#upper .inner_head {
		padding: 0 calc((100% - 1280px) / 2) 0 40px;
	}
	#upper .site_logo {
		height: 48px;
	}
	#upper .site_logo img {
		height: 48px;
	}
	/*グローバルメニュー
    ====================*/
	.g_nav {
		padding: 12px 0 0;
	}
	.g_nav .g_nav_menu > li > .sub-menu {
		width: 163px;
		padding: 0 0 0 19px;
	}
	.g_nav .g_nav_menu > li:hover .sub-menu {
		padding: 8px 0 0 19px;
	}
	.g_nav > .g_nav_menu > li {
		display: inline-block;
		padding: 0;
		margin: 0 59px 0 0;
	}
	.g_nav > .g_nav_menu > li:last-child {
		margin: 0;
	}
	.g_nav .g_nav_menu .has-child > .btn-icon {
		display: none;
	}

	.g_nav > .g_nav_menu > li > a {
		font-size: 24px;
		padding: 0 0 11px;
		text-align: center;
		border-bottom: 0;
	}

	/*ホバー処理*/
	.g_nav > .g_nav_menu > li > a::after {
		height: 4px;
	}
	.g_nav > .g_nav_menu > li > a:hover::after {
		width: 100%;
		left: 0;
	}
	.g_nav > .g_nav_menu > li > .current::after,
	.g_nav > .g_nav_menu > li.current > a::after {
		width: 100%;
	}
	.g_nav .g_nav_menu > li:hover .sub-menu {
		max-height: 9999px;
		padding: 8px 0 0 19px;
		opacity: 1;
	}

	/*子のul*/
	.g_nav .g_nav_menu > li > .sub-menu {
		position: absolute;
		top: 100%;
		left: 0;
		display: block;
		width: 163px;
		height: auto;
		max-height: 0;
		overflow: hidden;
		padding: 0 0 0 19px;
		-webkit-transition: 0.3s linear;
		transition: 0.3s linear;
		background: rgba(255, 255, 255, 0.9);
		opacity: 0;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li {
		position: relative;
		text-align: left;
		border: none;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li::before {
		content: "";
		position: absolute;
		bottom: 0;
		display: block;
		width: 108px;
		height: 1px;
		background: #d8be61;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li:last-child:before {
		background: none;
	}
	.g_nav .g_nav_menu > li > .sub-menu > li > a {
		display: block;
		font-size: 1.4rem;
		padding: 9px 0 13px;
	}
	.g_nav .g_nav_menu > li.sp_menu {
		display: none;
	}
}
