@charset "UTF-8";



/*----------------------------------------------------------------------
 header PC
----------------------------------------------------------------------*/
#header{
	width: 100%;
	height: 60px;
	z-index: 100;
	background-color: white;
	position: relative;
	box-shadow: 0px 3px 3px gray;
}
#header_inner{
	height: 100px;
}

.header_tel{
	height: 60%;
	float: right;
	margin-top: 10px;
}
.header_entrybox{
	height: 100%;
	width: 120px;
	margin-right: 20px;
	float: right;
}
.header_entrybox p{
	font-size: 14px;
	font-weight: bold;
	line-height: 1.2;
	width: 90%;
	margin-bottom: 6px;
	margin-top: 12px;
}
.header_entrybox div{
	width: 90%;
	height: 38px;
}
.header_entrybox div a {
	font-size: 18px;
	color: #104390;
	display: block;
	width: 100%;
	height: 100%;
	padding: 4px 0;
	border: solid 4px #104390;
	border-radius: 18px;
}
.header_entrybox div a:hover {
	background: #104390;
	color: white;
}
.logo{
	float: left;
	margin-left: 1%;
}
.logo a{
	position: absolute;
	z-index: 150;
}
.logo img{
	width: 250px;
  margin-top: 5px;
}



/*----------------------------------------------------------------------
グローバルメニュー
----------------------------------------------------------------------*/
.g_menu {
	width: 100%;
	height: 100%;
	font-size: 17px;
	background: #28B472;
}
.text_back{
	height: 40px;
	width: 70px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 125;
	transform: translate(-50%, -50%);
	display: inline-block;
}
.g_menu a:hover + .text_back{
	background: linear-gradient(135deg, #FFEB3B, #4CAF50);
	-moz-border-radius: 40px / 20px;	/* 高さ÷2 */
	-webkit-border-radius: 40px / 20px;
	border-radius: 40px / 20px;
	-webkit-filter: blur(8px);
	-moz-filter: blur(8px);
	-o-filter: blur(8px);
	-ms-filter: blur(8px);
	filter: blur(8px);
	opacity: 0.8;
}
.g_menu > li {
	width: 19%;
	height: 100%;
	display: inline-block; /* 横並びに配置する */
	position: relative;
}
.g_menu li a {
	line-height: 50px;
	text-align: center;
	font-weight: bold;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	z-index: 150;
	width: max-content;
	opacity: 1;
	cursor: pointer;
	color: #ffffff;
}
.arrow_down{
	width: 8px;
	height: 8px;
	border: 1px solid;
	border-color:  transparent transparent #ffffff #ffffff;
	transform: rotate(-45deg);
}
.business_arrow{
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translateX(60px) rotate(-45deg);
}
.entry_arrow{
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translateX(45px) rotate(-45deg);
}
.submenu_box{
	background: #28B472;
	box-shadow: 0px 3px 3px gray;
	text-align: center;
	width: 100%;
	position: absolute;
	top: 60px;
	z-index: 120;
	border-radius: 0 0 10px 10px;
}
.submenu_box li{
	position: relative;
	width: 100%;
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: 0.15s;
}
.drop:hover > .submenu_box > li{
	height: 60px;
	overflow: visible;
	opacity: 1;
	display: list-item;
	transition: 0.35s;
}
.sticky_fix{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 120;
	width: 100%;
	background: rgba(40 180 114 / 1);
	height: 60px;
	box-shadow: 0px 3px 3px gray;
}
.sticky_fix .submenu_box{
	top:60px;
}


/*-----------------------------------------
sp header menu
-----------------------------------------*/
@media only screen and (max-width:768px){
.wrapperBox{
	width:100%;
}
.sp-header input{
	display: none;
}
.sp-header a{
	font-weight: normal;
}
.sp-header a:hover{
	opacity: 1;
}
.sp-scroll_fixed{
	position: fixed;
	width: 100%;
	height: 100%;
}
.sp-logo {
/* 	position: fixed;  */
	z-index: 100;
    background: white;	/*ヘッダー背景色*/
    height: 125px;
	width: 100%;
}
.sp-logo a img{
	width: 220px;
  margin-top: 40px;
}
.sp-menu{
	position:fixed;
	top:5px;
	right:10px;
	display:inline-block;
	z-index:100;
}
.sp-menu_box{
	position: fixed;
	top: 0;
	right: -100vw;
	width: 400px;
	max-width: 95%;
	height: 96%;
	min-height: 400px;
	margin-top: 2vh;
	border-radius: 30px 0 0 30px;
	background: #28B472;	/*メニュー背景色*/
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	z-index:100;
}
.sp-menu_content{
	width: 80%;
	height: 100%;
	margin: 0 auto;
	position: relative;

}
.sp-upper_box{
	width: 100%;
	height: 55%;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	background: #8ae3ca;
}
.sp-upper_box label{
	height: 50%;
	width: 50%;
	position: absolute;
	top: 50%;
	z-index: 150;
	background: #ffffff;
}
.sp-upper_box label p{
	color:#28B472;
	font-size: 18px;
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sp-logo_box{
	width: 100%;
	height: 50%;
	position: relative;
	z-index: 105;
	background: #28B472;
	opacity: 1;
}
.sp-menu_logo{
	position: absolute;
	top: 30%;
	transform: translate(-50%, -50%);
}
.sp-menu_logo img{
	width: 250px;
}
.sp-business_box{
	left: 0;
	border-right: solid 1px #28B472;
}
.sp-entry_box{
	right: 0;
	border-left: solid 1px #28B472;
}
.sp-menu_arrow{
	border-color:  transparent transparent #28B472 #28B472;
	position: absolute;
	top: 75%;
	left: 50%;
	transform: translateX(-50%) rotate(-45deg);
}
.sp-child_box{
	width: 100%;
	height: 60%;
	opacity: 0;
	position: absolute;
	top: 40%;
	z-index: 80;
	transition: 0.35s;
	background: #8ae3ca;
}
.sp-child_box p{
	font-weight: bold;
}
.sp-child_box > div{
	width: 100%;
	height: 100%;
	opacity: 0;
	position: absolute;
	top: 0;
	z-index: 90;
	transition: 0.4s;
}
.sp-child_box > div ul{
	width: 100%;
	height: 100%;
	position: relative;
}
.sp-child_box > div li{
	width: 50%;
	height: 50%;
	position: absolute;
	background: white;
}
.sp-child_box > div .no-item{
	background: #c0c0c0 !important;
}
.sp-child_box > div li:nth-child(1){
	top: 0;
	left: 0;
	background: #a6f5ff;
}
.sp-child_box > div li:nth-child(2){
	top: 0;
	left: 50%;
}
.sp-child_box > div li:nth-child(3){
	top: 50%;
	left: 0;
}
.sp-child_box > div li:nth-child(4){
	top: 50%;
	left: 50%;
	background: #a6f5ff;
}
input[type="radio"] ~ label{
	transform: translateY(0);
	transition: 0.4s;
}
input[type="radio"]:checked ~ label{
	transform: translateY(-124%);
	transition: 0.4s;
	height: 40%;
}
input[type="radio"]:checked ~ .sp-child_box{
	z-index: 110;
	opacity: 1;
	transition: 0.4s;
}
#mode_business:checked ~ .sp-business_box{
	background: white;
}
#mode_business:checked ~ .sp-business_box > p{
	color: #00a1d6;
	font-weight: 600;
    font-size: 20px;
}
#mode_business:checked ~ .sp-business_box > .sp-menu_arrow{
	border-color: transparent transparent #00a1d6 #00a1d6;
}
#mode_business:checked ~ .sp-child_box > .business_child{
	z-index: 120;
	opacity: 1;
	overflow: visible;
	transition: 0.35s;
}
#mode_entry:checked ~ .sp-entry_box{
	background: white;
}
#mode_entry:checked ~ .sp-entry_box > p{
	color: #00a1d6;
	font-weight: 600;
    font-size: 20px;
}
#mode_entry:checked ~ .sp-entry_box > .sp-menu_arrow{
	border-color: transparent transparent #00a1d6 #00a1d6;
}
#mode_entry:checked ~ .sp-child_box > .entry_child{
	z-index: 120;
	opacity: 1;
	overflow: visible;
	transition: 0.35s;
}
.sp-lower_box{
	width: 100%;
	height: 25%;
	position: absolute;
	top: calc(60px + 55%);
}
.sp-lower_box > div{
	width: 100%;
	height: 50%;
	background: #ffffff;
	border-top: solid 2px #28B472;
}
.sp-lower_box > div > a, .sp-child_box a{
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
.sp-menu_content div a > p{
	width: max-content;
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 18px;
}
.sp-lower_box > div > a > p{
	color: #28B472;
	font-size: 18px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sp-lower_box div a > p:before{
	content: '';
	width: 19px;
	height: 19px;
	background: #28B472;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translateY(-50%);
}
.sp-lower_box div a > p:after {
	content: '';
	width: 7px;
	height: 7px;
	border: 0;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	position: absolute;
	top: 50%;
	left: -19px;
	transform: translateY(-50%) rotate(45deg);
}
.sp-child_box li > a:before{
	content: '';
	width: 19px;
	height: 19px;
	background: #a6f5ff;
	border-radius: 50%;
	position: absolute;
	top: 70%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sp-child_box li > a:after{
	content: '';
	width: 7px;
	height: 7px;
	border: 0;
	border-top: solid 2px white;
	border-right: solid 2px white;
	position: absolute;
	top: 70%;
	left: 50%;
	transform: translate(-65%, -50%) rotate(45deg);
}
.sp-child_box li:nth-child(3n+1) > a:before{
	background: white;
}
.sp-child_box li:nth-child(3n+1) > a:after{
	border-top: solid 2px #a6f5ff;
	border-right: solid 2px #a6f5ff;
}

.sp-lower_box > div > a:before{
	border-left-color: #FFFFFF;
}
/* menu toggle */
.sp-menu #panel-btn:checked ~ .sp-menu_box{
	-webkit-transform: translateX(-100vw);
	transform: translateX(-100vw);
}
.sp-menu #panel-btn + label{
	width: 50px;
	height: 50px;
	display: block;
	position: fixed;
	top: 8px;
	right: 8px;
	z-index: 105;
	cursor:pointer;
	-webkit-transition:0.5s transform;
	transition:0.5s transform;
	-webkit-transition-timing-function:cubic-bezier(.61,-0.38,.37,1.27);
	transition-timing-function:cubic-bezier(.61,-0.38,.37,1.27);
	text-align:center;
}
#panel-btn-icon{
	display: block;
    position: absolute;
    width: 40px;
    height: 6px;
    top: 50%;
    right: 50%;
    margin: -3px -20px 0 0;
    border-radius: 30px;
	background:#303358;	/*トグルボタン色*/
}
#panel-btn-icon:before, #panel-btn-icon:after{
	display: block;
    position: absolute;
    content: "";
    width: 40px;
    height: 6px;
    top: 50%;
    right: 0;
    border-radius: 30px;
	background: #303358;	/*トグルボタン色*/
	transition: .2s;
}
#panel-btn-icon:before{
	margin-top: -15px;
}
#panel-btn-icon:after{
	margin-top: 9px;
}
#panel-btn:checked + label #panel-btn-icon{
	background: transparent;
}
#panel-btn:checked + label #panel-btn-icon:before, #panel-btn:checked + label #panel-btn-icon:after{
	margin-top: -3px;
	width: 30px;
}
#panel-btn:checked + label #panel-btn-icon:before{
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	background: white;		/*×ボタン色*/
}
#panel-btn:checked + label #panel-btn-icon:after{
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	background: white;		/*×ボタン色*/
}

}
