@charset "UTF-8";

/* ===== 共通 ===== */

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
.clearfix{
	clear:both;
	display: inline-table; 
}
.arrow_down{
  position: relative;
  display: inline-block;
  padding-left: 20px;
}
.arrow_down::before{
  content: '';
  width: 30px;
  height: 30px;
  border: 0px;
  border-bottom: solid 2px #b2961e;
  border-right: solid 2px #b2961e;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: 20px;
}
	/* ナビ 上 */
.inner {
    width: 100%;
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
	/* header */
#top-head {
    top: -125px;
    position: absolute;
    width: 100%;
	padding: 15px 0 5px;
    z-index: 999;
	background: #9c5d20;
}
#top-head a,
#top-head {
    color: #fff;
    text-decoration: none;
	margin-top: 180px;
}
#top-head .inner {
    position: relative;
}
#top-head .logo {
    float: left;
	margin:0 5% 0 2%;
}
#top-head .logo img{
	width:80%;
}
@media screen and (max-width: 736px) {
#top-head .logo {
	width:110%;
}
#top-head .logo img{
	width:35%;
}
}
#global-nav ul {
    list-style: none;
    position: absolute;
    right: 0;
	/*margin: 0.5%;*/
}
#global-nav ul li {
    float: left;
}
#global-nav ul li a {
    padding: 0 20px;
}
#global-nav ul li a:hover {
    opacity:0.6;
}
#global-nav ul li.active {
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	background:#dfbc24;
}
@media screen and (max-width: 736px) {
#global-nav ul li.active {
	background:none;
}
}

	/* Fixed */
#top-head.fixed {
    margin-top: 0;
    top: 0;
    position: fixed;
    background: #9c5d20;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {
}
#top-head.fixed #global-nav ul li a {
    color: #FFF;
}
 #top-head.fixed #global-nav ul li a:hover {
    opacity:0.6;
}
 	/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 14px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#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: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}
@media screen and (min-width: 737px) and (max-width:1260px){

#top-head .logo img{
	width:60%;
}
#global-nav ul {
   	font-size:90%;
}
#global-nav ul li a {
    padding: 0 10px;
}
header li.btn_price{
	height:auto;
	padding-top:0;
	margin:0;
}
header li.btn_price span{
	/* display:none; */
}
}
@media screen and (max-width: 736px) {
    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 55px;
    }
	/* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    background: #9c5d20;
    }
    #top-head.fixed .logo,
    #top-head .logo {
        position: absolute;
        left: 13px;
        top: 8px;
        color: #333;
        font-size: 26px;
    }
    #global-nav {
        position: absolute;
		 /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #333;
        width: 100%;
        text-align: left;
        padding: 10px 0;
        -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;
    }
    #global-nav ul li {
        float: none;
        position: static;
		padding-bottom: 3%;
		margin: 3%;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        /*display: block;*/
        color: #fff;
        padding: 18px 0;
    }
    #nav-toggle {
        display: block;
    }
	/* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -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: 11px;
        -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(556px);
        -webkit-transform: translateY(556px);
        transform: translateY(556px);
    }
}
	/* ナビ 下 */
footer{
	background:#9c5d20;
	height:0;
	margin: 0;
	background-size: cover;
	padding-bottom: 20%;
	position: relative;
}
footer nav.nav-footer{
	padding:3% 0 0% 2%;
	width: 100%;
}
footer ul li{
	list-style:none;
	margin:2% 0;
}
footer ul li a{
	color:#FFF;
	text-decoration:none;
}
footer ul li a:hover {
    opacity:0.6;
}
footer div.title{
	background:#242424;
	color:#FFF;
	padding:1.5%;
	text-align:center;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}
footer div.col_logo{
	float:left;
	width: 20%;
	margin-right: 2%;
}
footer div.col_logo img{
	width:70%;
}
footer div.col_1{
	float:left;
	margin-right: 2%;
}
footer div.col_2{
	float:left;
	margin-right: 2%;
}
footer div.col_3{
	float:left;
	margin-right: 2%;
	text-align:center;
}
footer ul.sns{
	margin:5% auto;
	display: flex;
	justify-content: center;
}
footer ul.sns li{
	list-style:none;
	margin-right:5%;
}
footer p.copy{
	font-size:70%;
	opacity:0.8;
	color:#FFF;
	text-align:center;
	margin:1% auto 5%;
	width:100%;
}
footer p.copy a{
	color:#FFF;
}
@media only screen and (max-width: 736px){
footer{
	height:100%;
	width:100%;
	margin:1% auto;
	display:block;
	clear:both;
	padding-bottom: 10%;
}
footer nav.nav-footer{
	clear:both;
	display:block;
	width:90%;
	height:100%;
	margin:1% auto;
}
footer div.col_logo{
	text-align:center;
}
footer div.col_logo img{
	width: 150%;
}
footer div.title{
	width: 95%;
	margin:1% auto;
	display:block;
	clear;both;
}
footer div.col_1{
	width: 100%;
}
footer div.col_2{
	width: 100%;
}
footer div.col_3{
	width: 100%;
}
footer ul{
	margin:0 auto;
}
}
	/* 前のページに戻るリンク */
#page-back{
	display:block;
	clear:both;
	width:50%;
	margin:5% auto;
	padding-top:5%;
	text-align:center;
}
	/* トップに戻るリンク */
#page-top{
	width:50%;
	margin:5% auto 0;
	display:block;
	clear:both;
	text-align:center;
}
#page-top span{
	display:block;
	clear:both;
	text-align:center;
	line-height:400%;
    margin-left: -35px;
}
.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 16px;
	color: #855f11;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	content: "";
	vertical-align: middle;
}
.arrow_up::before{
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border-top: 2px solid #855f11;
	border-left: 2px solid #855f11;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* メガソフトグローバルナビ */
#header {
  width: 100%;
  min-height: 40px;
  color: #aaa;
  background: #222;
  position: relative;
  z-index: 10005;
}
#header .inner {
  position: static;
}

#logo {
  float: left;
  width: 125px;
  margin: 7px 0 0 20px;
}
@media only screen and (max-width: 767px) {
  #logo {
    width: 100px;
    margin: 10px 0 0 10px;
  }
}
#logo a {
  display: block;
  height: 0;
  padding: 40px 0 0;
  overflow: hidden;
  background: url(3d-header/logo.png) no-repeat left center;
  background-size: 100% auto;
}

#hNav {
  float: right;
}
#hNav ul{
	list-style:none;
}
#hNav > ul {
  border-right: 1px solid #333;
  height: 25px;
}
#hNav > ul > li {
  float: left;
	height: 40px;
}
#hNav > ul > li > a {
  color: #fff;
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 0 20px;
	font-size: 90%;
}
#hNav > ul > li > a:hover {
}
#hNav > ul > li > a:before {
  font-family: FontAwesome;
  font-weight: normal !important;
  margin-right: 10px;
  position: relative;
  top: 1px;
}
@media only screen and (max-width: 767px) {
  #hNav > ul > li > a {
    font-size: 7px;
    font-size: 0.7rem;
    padding: 0;
    width: 60px;
    text-align: center;
    line-height: 20px;
	margin-top: -10px;
  }
  #hNav > ul > li > a:before {
    margin: 3px 0 -3px;
    display: block;
    position: relative;
  }
}
@media screen and (max-width: 320px) {
  #hNav > ul > li > a {
    width: 50px;
  }
}
#hNav > ul > li.product > a:before {
  content: "\f0c9";
  font-size: 17px;
}
#hNav > ul > li.learning a:before {
  content: "\f108";
  font-size: 15px;
}
#hNav > ul > li.onlineshop a:before {
  content: "\f07a";
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  #hNav > ul > li.onlineshop a span {
    display: none;
  }
}

#product_menu {
  position: absolute;
  left: 0;
  top: 50px;
  width: 100%;
  background: #000;
  color: #fff;
  border-bottom: 1px solid #333;
  line-height: 1;
  box-shadow: 0 6px 6px 0 rgba(0, 0, 0, 0.7);
  display: none;
}
#product_menu a {
  color: #fff;
  text-decoration: none;
}
#product_menu ul {
  width: 90%;
  overflow: hidden;
	margin:0 auto;
}
#product_menu ul li {
  float: left;
  display: table;
}
#product_menu ul li a {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  -webkit-transition-property: all;
  -moz-transition-property: all;
  -ms-transition-property: all;
  -o-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease;
  -moz-transition-timing-function: ease;
  -ms-transition-timing-function: ease;
  -o-transition-timing-function: ease;
  transition-timing-function: ease;
}
#product_menu ul li a:hover {
  background-color: #111;
}
#product_menu .item {
  border-top: 1px solid #333;
  /*border-right: 1px solid #333;*/
  border-bottom: 1px solid #333;
}
@media only screen and (max-width: 767px) {
  #product_menu .item {
    border-bottom-style: none;
  }
}
#product_menu .item > li {
  width: 19%;
  height: 225px;
}
@media only screen and (max-width: 767px) {
  #product_menu .item > li {
    width: 100%;
    height: auto;
  }
}
#product_menu .item a {
  font-size: 100%;
  background-repeat: no-repeat;
  background-position: center 75px;
  background-size: 45px auto;
}
@media only screen and (max-width: 767px) {
  #product_menu .item a {
    padding: 10px 0 10px 40px;
    background-position: 15px center;
    background-size: 30px;
    border-left-style: none;
    border-top: 1px solid #333;
    vertical-align: middle;
    line-height: 20px;
  }
}
#product_menu .item a:hover {
  background-position: center 80px;
}
@media only screen and (max-width: 767px) {
  #product_menu .item a:hover {
    background-position: 17px center;
  }
}
#product_menu .item a.archipro {
  background-image: url(3d-header/ico_archipro.png);
}
#product_menu .item a.proex {
  background-image: url(3d-header/ico_mdex.png);
}
#product_menu .item a.pro {
  background-image: url(3d-header/ico_md.png);
}
#product_menu .item a.neo {
  background-image: url(3d-header/ico_id.png);
}
#product_menu .item a.rd {
  background-image: url(3d-header/ico_rd.png);
}
#product_menu .item a .lead {
  display: block;
  padding-bottom: 90px;
  font-size:85%;
  line-height: 150%;
}
@media only screen and (max-width: 767px) {
  #product_menu .item a .lead {
    padding-bottom: 0;
    margin-bottom: 5px;
  }
}
#product_menu .item a strong {
  display: block;
	font-size:100%;
  font-weight: 400;
  margin-top: 10px;
}
@media only screen and (max-width: 767px) {
  #product_menu .item a strong {
    vertical-align: text-bottom;
    display: inline-block;
    *display: inline;
    *zoom: 1;
	font-size: 80%;
    margin: 0;
  }
}
#product_menu .search,
#product_menu .pages {
  /*border-right: 1px solid #333;*/
}
#product_menu .search > li{
  width: 100%;
  height: 90px;
}
#product_menu .pages > li {
  width: 33.333333%;
  height: 90px;
}
@media only screen and (max-width: 767px) {
  #product_menu .search > li,
  #product_menu .pages > li {
    width: 100%;
    height: auto;
  }
}
#product_menu .search a,
#product_menu .pages a {
	font-size:110%;
}
@media only screen and (max-width: 767px) {
  #product_menu .search a,
  #product_menu .pages a {
    padding: 15px 0;
    border-left-style: none;
  }
}
#product_menu .search a::before,
#product_menu .pages a::before {
  font-family: FontAwesome;
  font-weight: normal !important;
  margin-right: 15px;
}
#product_menu .search a.compare::before,
#product_menu .pages a.compare::before {
  content: "\f0c5";
}
#product_menu .search a.function::before,
#product_menu .pages a.function::before {
  content: "\f002";
}
#product_menu .search a.perspective::before,
#product_menu .pages a.perspective::before {
  content: "\f002";
}
#product_menu .search a.school::before,
#product_menu .pages a.school::before {
  content: "\f19d";
}
#product_menu .search a.guide::before,
#product_menu .pages a.guide::before {
  content: "\f0f6";
}
#product_menu .pages {
  border-top: 1px solid #333;
}
#product_menu .pages > li {
}

/* footer */
div.footer{
	width:98%;
	background:#5e5e5e;
	padding:1%;
	margin:0;
	color:#fff;
}
div.footer a{
	color:#fff;
}
div.footer_common {
	width:90%;
	max-width:1350px;
	margin:1% auto;
	text-align:center;
	font-size:1.5rem;
}
div.footer_common ul{
	width:90%;
	height:50px;
	margin:1% auto;
}
div.footer_common ul li{
	float:left;
	list-style:none;
	display: block;
	padding:1%;
}
div.copyright {
	width:90%;
	max-width:1350px;
	margin:1% auto;
	text-align:center;
	font-size:1.2rem;
	color:#bcbcbc;
}
@media only screen and (max-width: 767px) {
div.footer_common {
	width:100%;
	font-size:1.3rem;
}
}
