
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

.inner:after {
   content: "";
   clear: both;
   display: block;
}
 
#top-head {
   position: absolute;
   width: 100%;
   top: -100px;
   margin: 100px auto 0;
   line-height: 1;
   z-index: 999;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,.2);
}

#top-head .inner #title-head h1 {
	padding-left: 10px;
}

#top-head .inner #title-head h1 img {
	width: 300px;
	height: auto;
}
 
#top-head.fixed {
   margin-top: 0;
   top: 0;
   position: fixed;
   background: #fff;
   transition: top 0.65s ease-in;
   -webkit-transition: top 0.65s ease-in;
   -moz-transition: top 0.65s ease-in;
}
#nav-toggle {
   display: none;
   position: absolute;
   right: 0;
   top: 0;
   width: 100px;
   height: 90px;
   cursor: pointer;
   z-index: 101;
	background: #113863;
	padding: 0 32px;
	box-sizing: border-box;
}
#nav-toggle div {
    position: relative;
	background: #113863;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #fff;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 34px;
}
#nav-toggle span:nth-child(2) {
    top: 42px;
}
#nav-toggle span:nth-child(3) {
    top: 50px;
}

@media only screen and (min-width: 1201px) {
 
#top-head {
	height: 70px;
}

body{
	padding-top: 70px;
}
 
#top-head .inner {
	display: table;
	width: 100%;
}

#top-head .inner #title-head {
	display: table-cell;
	vertical-align: middle;
	width: 2000px;
	height: 70px;
}

#top-head .inner #global-nav {
	display: table-cell;
	vertical-align: middle;
}

#global-nav {
	display: table;
	width: 100%;
	text-align: right;
	float: right;
}

#global-nav ul {
	display: table-cell;
	vertical-align: middle;
	padding-right: 15px;
}

#global-nav li {
  position: relative;
  margin: 0;
  padding: 0;
  text-align: center;
}

#global-nav li a {
  display: block;
  margin: 0;
  font-weight: bold;
  line-height: 1;
  text-decoration: none;
}

#global-nav li a.nolink {
	cursor: text;
}

#global-nav li ul {
  list-style: none;
  position: absolute;
  top: 100%;
  left: 0;
  margin: 2px 0 0 -40px;
  padding: 0;
}

#global-nav li ul li {
  overflow: hidden;
  float: left;
  width: 100%;
  height: 0;
  color: #fff;
	margin-top: -2px;
  transition: .2s;
}

#global-nav li ul li a {
  padding: 10px 40px;
	width: 295px;
  text-align: left;
  font-weight: normal;
	line-height: normal;
  height: 42px;
	box-sizing: border-box;
	font-size: 1rem;
	border-top: 1px solid #d8e4ed;
	font-size: .9rem;
}

#global-nav ul li ul li a:before,
#global-nav ul li ul li a:after {
  background: none;
}
	
#global-nav li ul li:first-child a{
	border-top: none;
}
#global-nav li:hover ul li{
  overflow: visible;
  height: 42px;
}

div.entry {
	display: table-cell;
	overflow: hidden;
}

div.entry a {
	transition: 0.4s;
	background-size: 200% auto;
	background-image: -webkit-linear-gradient(left, #21c7c9 0%, #21acc9 51%, #21c7c9 100%);
	background-image: -o-linear-gradient(left, #21c7c9 0%, #21acc9 51%, #21c7c9 100%);
	background-image: linear-gradient(to right, #21c7c9 0%, #21acc9 51%, #21c7c9 100%);
		display: block;
		padding: 0;
	box-sizing: border-box;
	overflow: hidden;
	height: 70px;
}
	
div.entry a:hover {
	background-position: right center;
}

div.entry a img{
	width: 90px;
	height: auto;
}

#global-nav ul li {
	white-space: nowrap;
	display: table-cell;
}

#global-nav ul li a {
  position: relative;
  z-index: 2;
  background: #fff;
	padding: 0 2px;
	margin: 0 15px;
	font-weight: bold;
	line-height: 70px;
  overflow: hidden;
  display: inline-block;
  -webkit-transition: all .3s;
  transition: all .3s;
	font-size: .9rem;
}
#global-nav ul li a:hover {
  color: #f98f10;
}

#global-nav ul li a:before,
#global-nav ul li a:after{
  position: absolute;
  bottom: 1.3em;
  content: "";
  display: inline-block;
  width: 0;
  height: 3px; 
  background: #f98f10;
  transition: .2s;
}

#global-nav ul li a:before{
  left: 50%;
}

#global-nav ul li a:after{
  right: 50%;
}

#global-nav ul li a:hover:before,
#global-nav ul li a:hover:after{
  width: 50%;
}

#global-nav .sp_link {
	display: none;
}
	
}

@media only screen and (max-width: 1200px) {

body{
	padding-top: 90px;
}

div.entry {
	display: none;
}

#top-head {
   top: 0;
   position: fixed;
   margin-top: 0;
	height: 90px;
}

#top-head .inner #title-head h1 img {
	width: 300px;
	height: auto;
}

#global-nav {
	overflow-y: scroll;
}
	
#global-nav ul li.sp {
	display: inherit;
}

#top-head.fixed {
	padding-top: 0;
	background: transparent;
}

#title-head {
   background: #fff;
   width: 100%;
   height: 90px;
   z-index: 999;
   position: relative;
	display: table;
}

#top-head.fixed .logo,
#top-head .logo {
    position: absolute;
    left: 0;
    top: 18px;
}

#global-nav {
    position: absolute;
    top: -1000px;
	background: rgba(255,255,255,.95);
    width: 100%;
	height: 100vh;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

#global-nav .sp_inner {
	overflow-y: scroll;
	overflow-x: hidden;
	height: 100vh;
	box-sizing: border-box;
	padding-bottom: 20px;
}
	
#global-nav ul {
	list-style: none;
   position: static;
   right: 0;
   bottom: 0;
	padding-bottom: 20px;
}

#global-nav ul li {
   float: none;
   position: static;
	width: 90%;
	margin: 0 auto;
}

#top-head #global-nav ul li a,
ul.menulist > li > p span {
   width: 100%;
   display: block;
   color: #333;
   padding: 2rem 2%;
	font-size: 1rem;
	border-bottom: 1px solid #bbb;
	font-weight: bold;
	box-sizing: border-box;
}

#global-nav .sp_link {
	width: 90%;
	margin: 0 auto;
	padding-bottom: 180px;
	display: block;
}

#global-nav .sp_link a{
	padding: 12px 0;
	width: 48%;
	margin: 10px auto;
	display: block;
	box-sizing: border-box;
	font-size: .8rem;
	text-align: center;
	border: 1px solid #333;
	transition: .3s;
	line-height: 130%;
}

#nav-toggle {
        display: block;
}
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 43px;
        -webkit-transform: rotate(135deg);
        -moz-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 43px;
        -webkit-transform: rotate(-135deg);
        -moz-transform: rotate(-135deg);
        transform: rotate(-135deg);
    }
    /* #global-nav スライドアニメーション */
    .open #global-nav {
        /* #global-nav top + #mobile-head height */
        -moz-transform: translateY(1090px);
        -webkit-transform: translateY(1090px);
        transform: translateY(1090px);
    }
	
}

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

#top-head.fixed .logo,
#top-head .logo {
    top: 12px;
}

#top-head .inner #title-head h1 img {
	width: 200px;
}

body{
	padding-top: 60px;
}

#top-head {
	height: 60px;
}

#title-head {
	height: 60px;
}
#nav-toggle {
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 101;
	background: #113863;
	padding:0 15px;
}
#nav-toggle span {
    height: 3px;
}
#nav-toggle span:nth-child(1) {
    top: 22px;
}
#nav-toggle span:nth-child(2) {
    top: 28px;
}
#nav-toggle span:nth-child(3) {
    top: 34px;
}
.open #nav-toggle span:nth-child(1) {
        top: 28px;
}
.open #nav-toggle span:nth-child(3) {
        top: 28px;
}
.open #global-nav {
        -moz-transform: translateY(1060px);
        -webkit-transform: translateY(1060px);
        transform: translateY(1060px);
}

#top-head #global-nav ul li a,
ul.menulist > li > p span {
   width: 100%;
   display: block;
   color: #333;
   padding: 1.2rem 1.5rem;
	font-size: .8rem;
	border-bottom: 1px solid #bbb;
	font-weight: bold;
}

#top-head #global-nav ul li a.bt_entry{
	padding: 15px 20px;
	margin-top: 20px;
}
#top-head #global-nav ul li a.bt_entry img {
	max-width: 140px;
}
#top-head #global-nav ul li a.bt_contact{
	padding: 15px 20px;
	margin-top: 10px;
}
#top-head #global-nav ul li a.bt_contact img {
	max-width: 100px;
}

}


@media only screen and (max-width: 480px) {

#top-head.fixed .logo,
#top-head .logo {
    top: 10px;
}

#top-head .inner #title-head h1 img {
	width: 175px;
}

body{
	padding-top: 50px;
}

#top-head {
	height: 50px;
}

#title-head {
	height: 50px;
}

#nav-toggle {
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 101;
	background: #113863;
	padding:0 15px;
}
#nav-toggle span {
    height: 2px;
}
#nav-toggle span:nth-child(1) {
    top: 19px;
}
#nav-toggle span:nth-child(2) {
    top: 24px;
}
#nav-toggle span:nth-child(3) {
    top: 29px;
}
.open #nav-toggle span:nth-child(1) {
        top: 25px;
}
.open #nav-toggle span:nth-child(3) {
        top: 25px;
}
.open #global-nav {
        -moz-transform: translateY(1050px);
        -webkit-transform: translateY(1050px);
        transform: translateY(1050px);
}
}

