@charset "utf-8";
/* CSS Document */
/*==================================================
Navi
==================================================*/
nav{width:100%; clear:both;
/* 20201021 byshimazu
background: #ef8fb9;
*/
background: #fdeabe;
}

.title-spmenu{display: none;}

/*==================================================
ナビゲーションメニュー
================================================== */
.inner {
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}

/* header */
#top-head {
    top: -100px;
    position: absolute;
    width: 100%;
    height: 129px;
    margin: 100px auto 0;
    padding: 0;
    line-height: 1;
    z-index: 999;
	/*background:#fbc84d;*/
    background-color: rgba(255,255,255,0.88);
}
#top-head h1{
  width: 560px;
  margin: 0 auto;
  vertical-align: middle;
  /*height: 60px;*/
  /*padding-top: 14px;*/
  height: 54px;
  padding-top: 14px;
  padding-bottom: 8px;
  box-sizing: content-box;
  filter: drop-shadow(2px 2px 0px #ccc);
}

#top-head h1 img {
	width: 560px;
	height: 53px;
}

.header-box{
  width: 100%;
  /*height: 78px;*/
  height: 86px;
  margin: 0 auto;
  background-image: url("../data/new/header_dotline.png");
  background-repeat: repeat-x;
	background-position-y: bottom;
}

.header-logo{width: 1000px;margin: 0 auto;position:relative;}

.header-mini-menu{width: 520px; display: inline-block; text-align: right;}
.header-mini-menu li{display: inline-block;}
.header-mini-menu li a{display: block; border-radius: 14px; line-height: 24px; height: 24px; background-color: transparent; padding: 1px 5px; font-size: 13px; padding-right: 5px;}
.header-mini-menu li a:hover{background-color: #ebebeb;}
.header-mini-menu li a i{padding-right: 3px;}
#top-head a,
#top-head {
    color: #000;
    text-decoration: none;
}

#global-nav{width: 100%; height:26px; padding: 10px 0;}
#global-nav ul{width: 1200px; margin: 0 auto; list-style: none; position: relative;}
#global-nav ul li {display: inline-block; }
#global-nav ul li:last-child {}
/* 20201021 byshimazu
#global-nav ul li a{display: block; border-radius: 14px; line-height: 24px; height: 24px; color: #fff !important; background-color: transparent; padding: 1px 16px; font-size: 13px;}
*/
#global-nav ul li a{display: block; border-radius: 14px; line-height: 24px; height: 24px; color: #000 !important; background-color: transparent; padding: 1px 16px; font-size: 13px;}
#global-nav ul li a span:before{content: "▶︎"; padding-right: 5px; font-size: 10px;}
#global-nav ul li a:hover {background:#fff462; color: inherit !important;}
#global-nav ul li.header-btn{position: absolute; top: -20px; right: 0;}
#global-nav ul li.header-btn a{background: #00a0e9; padding: 0 35px; margin-left: 10px; border-radius: 0; height: 64px; line-height: 64px; font-size: 14px; }
#global-nav ul li.header-btn a:hover{background-color: #fbc84d; color: inherit !important;}
#global-nav ul li.header-btn a i{padding-right: 5px;}
#global-nav ul li.btn-header-en a{background: #00aebb; padding: 0 22px; }
#global-nav ul li.btn-header-en a:hover{background-color: #fbc84d; color: inherit !important;}
#global-nav ul li.header-btn-ad a{background: #e72410; padding: 0 22px;}
#global-nav ul li.header-btn-ad a:hover{background-color: #fbc84d; color: inherit !important;}

/* Fixed global navi */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    transition: top 300ms ease-in;
    -webkit-transition: top 300ms ease-in;
    -moz-transition: top 300ms ease-in;
    height: 144px;
}
#top-head.fixed.fixed-hide {
	top: -145px;
  transition: top 150ms ease-in;
  -webkit-transition: top 150ms ease-in;
  -moz-transition: top 150ms ease-in;
}
#top-head.fixed.fixed-first {
  transition: top 0ms!important;
}

/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 15px;
    top: 22px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
	color: #fff;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 1px;
    width: 100%;
    background: #231815; /*ハンバーガーメニュー三本線カラー*/
    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: -4px;
}
#nav-toggle span:nth-child(2) {
    top: 7px;
}
#nav-toggle span:nth-child(3) {
    top: 18px;
}

#dropmenu{
  list-style-type: none;
  height: 3px;
  margin: 14px auto;
  padding: 0;
  text-align:center;
  width:1002px;
}
#dropmenu li {
	position: relative;
	float: left;
	text-align: center;
	width: 198px;
	height: 30px;
	border-left: 2px solid #e8473f;
  margin-top: 10px;
  box-sizing: content-box;
}
#dropmenu li:last-child {
  border-right: 2px solid #e8473f;
}
#dropmenu li:hover svg.menutext-upper{
  border-bottom: 2px dotted #e8473f;
}
#dropmenu li:hover svg.menutext-upper path{
  fill: #e8473f;
}


#dropmenu li a{
  display: block;
  font-weight: normal;
  line-height:40px;
  vertical-align:middle;
  text-decoration: none;
}
#dropmenu li ul {
	list-style: none;
	position: absolute;
	top: 45px;
	left: 0;
	width: 146px;
	margin: 0 22px;
	padding: 0;
}

#dropmenu li:last-child ul{
}

#dropmenu li ul li{
  overflow: hidden;
  width:152px;
  font-size:90%;
  height: 0;
  -moz-transition: .15s;
  -webkit-transition: .15s;
  -o-transition: .15s;
  -ms-transition: .15s;
  transition: .15s;
  z-index:1000;

  background-color: #fff;
  border-right: 3px solid #e8473f;
  border-left: 3px solid #e8473f;
  margin-top: 0px;

}
#dropmenu li ul li:last-child{
  border-right: 3px solid #e8473f;
  border-radius: 0 0 10px 10px;
}


#dropmenu li ul li a{
  height:37px;
  vertical-align:middle;
  border-radius: 0;
  border-top: 1px solid #e8473f;
  width: 136px;
  margin: 0 auto;
}
#dropmenu li ul li:first-child a{
  border-top: 0;
}

#dropmenu li ul li:first-child a::before {
	content: '';
	position: absolute;
	left: 68px;
	top: -20px;
	display: block;
	width: 0;
	height: 5px;
	border-right: 8px solid transparent;
	border-bottom: 15px solid #ea4740;
	border-left: 8px solid transparent;
}


#dropmenu li ul li a:hover path{
  fill: #e8473f;
}

#dropmenu li ul li a:before{content:none;}
#dropmenu li ul li:last-child a:after{content:none;}
#dropmenu li:hover > a{

}
#dropmenu > li:hover > a{

}

#dropmenu li:hover ul li{
  overflow: visible;
  height: 36px;
}

#dropmenu li:hover ul li:first-child{
  border-top: 3px solid #e8473f;

}
#dropmenu li:hover ul li:last-child{
  border-bottom: 3px solid #e8473f;
}
#dropmenu li:hover ul li:last-child a{
  border-radius: 0 0 3px 3px;
}

#navi li.link-en{color:#fff; margin-left: 15px !important;}
#navi li.link-en a{height: 28px; line-height: 28px; border:1px solid #fff; border-radius: 2px; margin-top: 1px; }
#navi li.link-en a:visited{background: #00aeba !important; color: #fff;}
#navi li.link-en a:hover{background: #fff !important; color: #00aeba;}

a.btn-en-link{display: inline-block; height: 28px; line-height: 28px; border:1px solid #fff; border-radius: 2px;  margin:0 15px 0 0; padding: 0 8px; color: #fff; text-decoration: none; font-size: 14px;}
a.btn-en-link:visited{background: #00aeba !important; color: #fff;}
a.btn-en-link:hover{background: #fff !important; color: #00aeba;}

.header-btn:hover path{
  fill: #e8473f;
}

.accessbtn{
  position: absolute;
  right: 85px;
  top: 22px;
}
.contactbtn{
  position: absolute;
  right: 0px;
  top: 22px;
}


/* --------------- MENU--------------- */
@media (max-width: 999px) {
/*@media (max-width: 767px) {*/
/*#nav-toggle:after{content: "MENU"; font-size: 140%; padding-left: 43px; padding-top: 2px; font-weight: bold; vertical-align: middle; color: #fff; font-family: 'Khula', sans-serif;}*/
#nav-toggle p{position: absolute; top:26px; font-size: 11px; font-weight: bold; color: #231815; font-family: 'Khula', sans-serif;}
#top-head,
    .inner {
        width: 100%;
        padding: 0;
		box-sizing: border-box;
    }
/*
    #top-head {
        top: 0;
        height: 85px;
        position: fixed;
        margin-top: 0;
        background-color: rgba(255,255,255,0.88);
    }
*/
    /* Fixed reset */
    #top-head.fixed {
        height: 144px;
        padding-top: 0;
    }

.header-box{width: 100%;}
.header-logo{width: 100%;margin: 0 auto;}

.header-mini-menu{display: none;}
#top-head h1{
  width: 500px;
}
#top-head h1 img{
  width: 500px;
  height: 100%;
  margin:0 auto;
}

#top-head.fixed h1 span{display: none;}
#top-head.fixed #global-nav{padding: 70px 0 20px;}
    #mobile-head {
        width: 100%;
        z-index: 999;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -600px;
		left: 0;
		background-color:rgba(253,234,190,0.92) !important ;
        width: 100%;
		height: auto;
		box-sizing: border-box;
        text-align: left;
        padding: 80px 0 20px;
		float: none;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
		height: auto;
		border:none;
		width: 95%;
		margin: 0 auto 0;
    }
    #global-nav ul li {
        float: left;
        position: static;
		display: block;
		width: 47%;
		box-sizing: border-box;
		margin: 0 5px 12px;
    }
	#global-nav ul li.full-w {
        float: none;
		clear: left;
		width: 97%;
		box-sizing: border-box;
		margin: 0 auto 12px;
    }

    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
		border:1px solid #000;
		text-align: center;
		height: 36px;
		line-height: 36px;
		border-radius: 19px;
		font-size: 13px;
		margin: 0 auto;
		padding: 0;
		box-sizing: border-box;
    }

	.title-spmenu{display: block; text-align: center; margin: 10px auto 20px; font-size: 15px; color: #fff;}


#global-nav ul{list-style: none; height: auto; line-height: inherit;}
#global-nav ul li {display: block; box-sizing: border-box;}
#global-nav ul li:last-child {}
#global-nav ul li a span:before{content: "▶︎"; padding-right: 3px; font-size: 10px;}
#global-nav ul li a:hover {background:none; color: #fff;}
#global-nav ul li.header-btn{padding-top: 20px; position: relative; top:inherit; right: inherit;}
#global-nav ul li.header-btn a{color: #fff !important; padding: 0;
		height: 48px !important;
		line-height: 48px !important; border-radius: 0 !important; margin:  15px auto 0; font-size: 14px !important;}


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

    .accessbtn{
      right: 57px;
      top: 22px;
    }
    .contactbtn{
      right: 0px;
      top: 22px;
    }

}

/* Fixed reset */
@media (max-width: 767px) {
  #top-head {
    height: 85px;
  }
  #top-head.fixed {
    height: 85px;
    padding-top: 0;
  }
}

/*
ハンバーガー
*/
.hamburger-btn{
  position: absolute;
  top: 40px;
  right: 40px;
  display: flex;
  width: 50px;
  justify-content: center;
  align-items: center;
  z-index: 90;
}
.hamburger-btn.spmenu-close {
  top: 30px!important;
  right: 20px!important;
}
.hamburger-btn.spmenu-close img {
  width: 50px;
  top: -5px;
  right: 20px;
}

.hamburger-btn img{
  display: block;
  height: 26px;
  position: absolute;
  transition: transform 0.1s;
}
.hamburger-btn img:hover {
  transform: scale(1.1);
  cursor: pointer;

}

/* spメニュー */
#spmenu{
  position: fixed;
  left: 0;
  top: -120%;
  width: 100vw;
  height: 100vh;
  background: #ed848b;
  z-index: 2147483647;
  overflow-y: hidden;
  transition: top 0.5s;
}

#spmenu.open{
  top: 0;
  display: block;
}

.spmenu-inner{
  margin: 0px;
}
.spmenu-header{
  padding-left: 29px;
  padding-top: 15px;
}
.spmenu-header img{
  width: 500px;
}
.spmenu-body{
  margin-left: 29px;
  margin-top: 30px;
}
.spmenu-link {
  position: relative;
  padding: 30px 15px;
}
.spmenu-link svg{
  height: 5vw;
}
.spmenu-link-sub svg{
  height: 30px;
}

.spmenu-link a{
  position: absolute;
  top:0px;
  left:0px;
  height:100%;
  width:100%;
}
.spmenu-link-sub{
  display: flex;
  margin-left:10px;
}
.spmenu-link-sub a{
  position: relative;
  display: block;
  width: inherit;
  text-decoration: none;
  padding-right: 45px;
  padding-left: 20px;
}

.spmenu-link-sub a::before {
  position: absolute;
  top: 5px;
  left: 0px;
  font-size: 18px;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  color: #fff;
  vertical-align: top;
  padding-right: 0px;
}

.spmenu-footer svg,
.spmenu-link-main svg,
.spmenu-link-sub a {
  transition: transform 0.1s;
}

.spmenu-footer svg:hover,
.spmenu-link-main:hover svg,
.spmenu-link-sub a:hover {
  transform: scale(1.1);
  cursor: pointer;
}



.spmenu-footer{
  text-align:center;
}
.spmenu-icon svg{
  height: 90px;
  margin: 40px;
}
.spmenu-sns svg{
  height: 11vw;
  margin: 4vw;
}

@media (max-width: 1001px) {
  .header-logo {
      width: 768px;
  }
  #dropmenu{
      width: 768px;
  }
  #dropmenu li {
    width: 150px;
  }

  #dropmenu li ul{
    margin: 0;
  }
}

@media (max-width: 767px) {
  .header-box {
    background-image:none;
  }
  .header-logo {
    width: 75vw;
    margin:0;
  }
  #top-head h1{
    width: 100%;
    padding-left:5%;
  }
  #top-head h1 img{
    max-width: 100%;
    margin: 0;
  }
}

/*
@media (max-width: 320px) {
#top-head h1 img{height: 39%; margin: 14px 0 0 7px;}
#global-nav ul li {
	width: 46%;
	box-sizing: border-box;
	margin: 0 4px 10px;
}

#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
	height: 30px;
	line-height: 30px;
	border-radius: 15px;
	font-size: 11px;
}
*/
}
