/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 10 2025 | 04:27:18 */
/* スマホ開閉メニュー */

/* スマホメニュー　小メニューを開閉する */
#sp_menu .sub-menu {
  display: none;
  padding-left: 1em;
  transition: all 0.3s ease;
}
#sp_menu .sub-menu.is-open {
  display: block;
}
/* 親メニューリンクに矢印追加 */
#sp_menu .menu-item-has-children > a::after {
	content: '＋'; 
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translatey(-50%) rotate(0deg);
	transition: transform 0.3s ease;
}
/* 開いているときに回転 */
#sp_menu .menu-item-has-children > a.is-open::after {
  transform: translatey(-50%) rotate(45deg); 
}

#sp_menu {
	width: 100vw;
}

#sp_menu .p-spMenu__inner {
	width: 100vw;
	padding-top: 0!important;
}

#sp_menu .p-spMenu__inner::before {
	width: 100vw;
	background-image: linear-gradient(70deg, rgba(67, 134, 236, .9), rgba(60, 211, 251, .9));
	background-color: transparent;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;	
}

[data-spmenu="closed"] .p-spMenu {
	opacity: 0;
	transition: .2s 0s;
	transition-timing-function: ease-in;
}

[data-spmenu="opened"] .p-spMenu {
	opacity: 1;
	transition: .2s 0s;
	transition-timing-function: ease-out;
}

[data-spmenu="opened"] .c-iconBtn__icon {
	color: #fff;
}

[data-spmenu="opened"] .icon-menu-thin:before {
    content: "\e920";
}

[data-spmenu="closed"] #sp_menu.-right .p-spMenu__inner,
[data-spmenu="opened"] #sp_menu.-right .p-spMenu__inner {
	transform: none;
}

[data-spmenu="opened"] .c-gnav > .menu-item:last-of-type a {
	border-color: #fff;
}

#sp_menu .c-widget__title.-spmenu {
	display: none;
}

#sp_menu .p-spMenu__body {
	margin: 0 auto;
	padding-top: 60px;
	padding-bottom: 80px;
}

#sp_menu .p-spMenu__body .p-spMenu__nav {
	width: 80%;
	margin: 0 auto;
}

#sp_menu .c-spnav {
	text-align: center;
}

#sp_menu .c-spnav .menu-item:not(:first-of-type) {
	margin-top: 10px;
}

#sp_menu .c-spnav a {
	border-bottom: 0;
	display: block;
	color: #fff;
	font-size: 16px;
	padding: 10px;
}

.p-spMenu__nav {
	position: relative;
	z-index: 2;
}

#sp_menu .c-spnav .sub-menu {
	margin-top: 10px; 
}
#sp_menu .c-spnav .sub-menu a {
	background-color: rgba(255, 255, 255, .1);
}

.drawer-contact-nav {
	width: 80%;
	margin: 0 auto;
}

.drawer-contact-nav li + li {
	margin-top: 20px;
}

.drawer-contact-nav li a {
	border-radius: 30px;
	background-color: #000;
	color: #fff;
	padding: 15px;
	display: block;
	width: 90%;
	margin: 0 auto;
	text-align: center;
	font-size: 18px;
}