@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP&display=swap');

html{font-size:16px;}
body {
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif;
}
#wrap{
	margin: 0 auto;
	overflow: hidden;
}

/*--- ヘッター ------------------------------------*/
header{z-index: 999;}
header::before{width: 100%;height: 105%;top: 0;left: 0;background-image: url("../img/header_bg.png");background-position: left bottom;background-repeat: repeat-x;opacity: 0;z-index: -1;transition: 0.3s}
header.scrollhead{padding: 15px 20px;}
header.scrollhead #logo img{width: 80%}
header.scrollhead::before{opacity: 0.9}
header #pc_nav li:hover{transform: translateY(-3px)}
header #pc_nav ul:first-of-type li:first-of-type:hover, header #pc_nav ul:last-of-type li:last-of-type:hover{transform: translateY(0px)}
header #pc_nav li:last-of-type:hover img{transform: translateY(-7px)}
header .inner{box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);}

.menu_stick {
    z-index: 102;
    width: 40px;
    height: 40px;
    padding-top: 8px;
    margin-right: 20px;
    box-sizing: border-box;
}
.menu_stick span{margin-bottom: 9px}
.menu_stick.stick_trans span{
	transform: rotate(225deg);
	margin: 0;
}
.menu_stick.stick_trans{
	padding-top: 19px;
}
.menu_stick.stick_trans span:first-child{
	opacity: 0;
}
.menu_stick.stick_trans span:last-child{
	transform: rotate(-225deg);
	margin-top: -2px
}
#sp_nav{
	z-index: 100;
}
#sp_nav .nav_bg{background-color: rgba(255,255,255,0.5)}
#sp_nav nav{
	overflow-y: scroll;
	box-sizing: border-box;
	top: 0;
	right: -401px;
	/*width: 300px;*/
	width: 400px;
	height: 100%;
}
#sp_nav nav.stick_trans{right: 0}
#sp_nav .nav_bg{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#sp_nav a.active{color: #fff;border-bottom: 1px solid #fff;margin-bottom: 10px;}
#sp_nav a.active::before{
	width: 20px;
	height: 1px;
	background-color: #d6dd03;
	left: 0;
	top: 20px;
}
#sp_nav li{transform: translateX(20px);opacity: 0;transition: 0.3s}
#sp_nav li.scrollin{transform: translateX(0);opacity: 1}



#logo a{
	max-width: 175px;
}
#pc_nav ul{
	line-height: 40px;
    height: 90px;
	transition: height .5s;
}
#pc_nav ul:first-of-type{
	border-radius: 10px 0 0 10px;
}
#pc_nav ul:last-of-type{
	border-radius: 0 10px 10px 0;
}
#pc_nav ul .contact_bt{
	border-left: 2px solid #fff;
    padding-left: 20px;
}
#pc_nav ul .contact_bt img{
	transform: translateY(-4px);
}
#header.head_fix #pc_nav ul {
    height: 70px;
} 
#sp_nav nav.stick_trans {
    background-image: url(../img/top_about_img1.jpg);
    background-repeat: no-repeat;
    background-position: left -113px top;
    background-size: cover;
}
#sp_nav nav.stick_trans::before{
	display: inline-block;
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(11,51,251,0.05);
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

/*--- フッター ------------------------------------*/
#logo2{
	max-width: 250px;
	margin: auto;
}
#copyright{
}
/*top_return*/
#page-top {
    position: fixed;
    bottom: 10px;
    right: 20px;
	z-index: 999;
}
#page-top a img{
	height: 60px;
	width: 60px;
}

/*--- more_button ------------------------------------*/
.more_button a {
    transition: .4s;
	z-index: 1;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1)
}
.more_button a:before {
    content: '';
    display: block;
    width: 100%;
    height: 150%;
    position: absolute;
    top: -48px;
    left: -70%;
    z-index: -2;
    background-color: #0f894d;
    transition: .5s;
    transform: rotate(-45deg);
}
.more_button a:hover {
    color: #fff;
}
.more_button a:hover:before {
	left: 100%;
	background-color: rgba(255,255,255,0.4);
}
#staff .more_button a:before {
    background-color: #fff;
}
#staff .more_button a:hover {
    color: #0f894d;
}
#staff .more_button a:hover:before {
	left: 100%;
	background-color: rgba(214,221,3,0.4);
}

/* ---------- 1140px ---------- */
@media screen and (max-width: 1140px){
#header .inner{
	width: 95%;
}
#pc_nav ul:first-of-type li:first-of-type{
    padding-right: 20px;
	padding-left: 0;
	max-width: 150px;
}
#pc_nav ul li{
    padding-left: 17px;
	font-size: 13px;
}
}
/* ---------- 998px ---------- */
@media screen and (max-width: 998px){
#pc_nav ul:first-of-type{
    padding-left: 14px;
}
}

/*IE*/
@media all and (-ms-high-contrast: none){
#pc_nav ul .contact_bt img{
	transform: translateY(-5px);
}
header #pc_nav li:last-of-type:hover img{transform: translateY(-9px)}
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#wrap{min-width: 100%;}
#header.head_fix #pc_nav ul {height: 90px;} 
#header .inner{border-radius: 0;}
.menu_stick {margin-right: 26px;}
.menu_stick::before{
	display: inline-block;
    content: "";
    width: 97px;
    height: 100%;
    background: #0f894d;
    position: absolute;
    bottom: 0;
    right: 0;
	z-index: -1;
}
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
html{font-size:14px;}
#header.head_fix #pc_nav ul {height: 65px;} 
#pc_nav ul {height: 65px;}
#sp_nav nav {width: 250px;}
#logo{max-width: 125px;}
.menu_stick {margin-right: 17px; width: 33px;padding-top: 10px;}
.menu_stick::before {width: 70px;}
.menu_stick span {margin-bottom: 8px;}
.menu_stick.stick_trans {padding-top: 17px;}

/*top_return*/
#page-top {
    position: fixed;
    bottom: 10px;
    right: 15px;
    z-index: 999;
}
#page-top a img {
    height: 40px;
    width: 40px;
}
}
