@charset "UTF-8";
@import "base.css";
h1,h2,h3,h4,h5,h6,input,button,textarea,select,p,blockquote,th,td,pre,address,li,dt,dd {
	font-size: 14px;
}
header, section, footer, aside, nav, main, article, figure {
    display: block;
}
img {
	vertical-align: bottom;
}	

a { color:#f58220; }
a:hover,
a:active { color: #f58220; text-decoration: none; }
a:visited {
}

a img:hover{opacity:0.8;}
a img.no-hover:hover{opacity:1;}

table {
	width:100%
}

p { margin: 0 0 1.5em; }

.section { padding:  0 0 30px; }
.section .section { padding: 0 0 10px; }

p, dd, td, th, li {
	line-height: 1.8em;
}
#totop {
    position: fixed;
    bottom: 60px;
	right: 50px;
    z-index: 1000;
	margin-bottom:0;
}
.bold {font-weight:bold;}
.fl {float:left;}
.fr {float:right;}

* {
	box-sizing: border-box;
}
body {
	color: #666666;
	font-family: 'Arial', sans-serif;
}
/*==========================================================================*/
/*                            Container                                     */
/*==========================================================================*/
#wrapper{
	min-width: 1170px;
	overflow: hidden;
	padding-top: 96px;
}
.container{
	width: 1170px;
	margin: 0 auto;
	position: relative;
}
img{
	max-width: 100%;
}
#header {
    padding: 15px 0;
    position: fixed;
    background: rgba(255,255,255,0.9);
    width: 100%;
    top: 0;
    left: 0;
	z-index: 99;
}
#header .container {
    display: flex;
    justify-content: space-between;
	align-items: center;
}
.h-right {
    display: flex;
	align-items: center;
}
#gnavi {
    display: flex;
}
#gnavi > li {
	padding: 0 20px;
	position: relative;
}
#gnavi > li > a, #gnavi > li > span {
	text-decoration: none;
	text-transform: uppercase;
	font-weight: bold;
	color: #f58220;
	font-size: 13px;
	cursor: pointer;
	display: block;
}
#gnavi > li:hover > a, #gnavi > li:hover > span, #gnavi > li.active > a, #gnavi > li.active > span {
	color: #ec1f26;
}
.submenu {
	position: absolute;
	min-width: 200px;
	margin-top: 5px;
	display: none;
}
.submenu a {
	text-decoration: none;
	color: #fff;
	padding: 10px 20px;
	display: block;
	border-bottom: 1px solid rgba(255,255,255,0.4);
	background: #f58220;
}
.submenu a:hover {
	opacity: 0.8;
}
.h-search > i {
    background: #f36b6f;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
	cursor: pointer;
}
.h-search {
	position: relative;
	margin-left: 20px;
}
.search-cont {
    position: absolute;
    right: 0;
    background: rgba(255,255,255,0.9);
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #f1f1f1;
    margin-top: 5px;
	display: none;
}
.search-cont input {
    border: none;
    background: rgba(0,0,0,0.1);
    font-size: 12px;
    font-style: italic;
    padding: 7px 15px;
    border-radius: 5px;
    min-width: 200px;
	outline: none;
}
.search-cont button {
    border: none;
    background: none;
    position: absolute;
    right: 20px;
    top: 15px;
    color: #fff;
	outline: none;
	cursor: pointer;
}
.box01 {
	padding: 60px 0;
}
#index h3 {
	color: #f58220;
	font-weight: bold;
	font-size: 36px;
	text-align: center;
	margin: 0 0 15px;
}
.box01 .container > p, .box03 .container > p, .box04 .container > p {
	font-size: 16px;
	text-align: center;
	margin: 0 0 30px;
}
.b01-list {
    display: flex;
    justify-content: space-between;
}
.b01-list li {
	width: 25%;
	text-align: center;
}
.b01-list li a {
	display: block;
	text-decoration: none;
	position: relative;
	z-index: 0;
	padding: 15px;
}
.b01-list li a:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: rgba(245,130,32,0.05);
	transform: scale(0.5, 0.5);
	opacity: 0;
	z-index: -2;
	transition: all 0.3s ease;
}
.b01-list li:nth-child(2) a:after {
	background: rgba(10,165,233,0.05);
}
.b01-list li:nth-child(3) a:after {
	background: rgba(236,31,38,0.05);
}
.b01-list li:nth-child(4) a:after {
	background: rgba(0,81,116,0.05);
}
.b01-list li a:hover:after {
	transform: scale(1,1);
	opacity: 1;
}
.chart figcaption:after {
    width: 144px;
    height: 144px;
    content: '';
    position: absolute;
    border: 15px solid #f58220;
    left: 3px;
    top: 3px;
    z-index: -1;
    border-radius: 50%;
    box-sizing: border-box;
}
.b01-list li:nth-child(2) .chart figcaption:after {
	border-color: #0aa5e9;
}
.b01-list li:nth-child(3) .chart figcaption:after {
	border-color: #ec1f26;
}
.b01-list li:nth-child(4) .chart figcaption:after {
	border-color: #005174;
}
.chart {
  position: relative;
  display: inline-block;
  color: #999;
  font-size: 20px;
  text-align: center;
}

.chart figcaption {
  padding: 50px 25px;
  width: 150px;
  height: 150px;
	color: #fff;
  border-radius: 100px;
  line-height: 50px;
	text-indent: -50000px;
	position: relative;
}

.chart img {
  position: absolute;
  max-width: 100px;
  max-height: 100px;
  background: white;
}
.html {
    top: calc(50% - 35px);
    left: calc(50% - 33px);
}

.html + svg .outer {
  stroke: #dbdbdb;
}

.css {
  top: 55px;
  left: 48px;
}

.css + svg .outer {
  stroke: #0d84ce;
}

.javascript {
  max-width: 90px;
  max-height: 90px;
  top: 45px;
  left: 45px;
}

.javascript + svg .outer {
  stroke: #f0e040;
}

.node {
  width: 200px;
  height: 200px;
  top: 45px;
  left: 45px;
}

.node + svg .outer {
  stroke: #83cd29;
}

.chart svg {
  position: absolute;
  top: 0;
  left: 0;
}

.outer {
  fill: transparent;
  stroke: #333;
  stroke-width: 17;
  stroke-dasharray: 534;
  transition: stroke-dashoffset 1s;
  -webkit-animation-play-state: running;
  -moz-transform: rotate(-89deg) translateX(-190px);
}

.b01-list a:hover .outer {
  stroke-dashoffset: 534 !important;
  -webkit-animation-play-state: paused;
}
.chart[data-percent='100'] .outer {
  stroke-dashoffset: 0;
  -webkit-animation: show100 2s;
  animation: show100 2s;
}

.chart[data-percent='75'] .outer {
  stroke-dashoffset: 133;
  -webkit-animation: show75 2s;
  animation: show75 2s;
}

.chart[data-percent='50'] .outer {
  stroke-dashoffset: 267;
  -webkit-animation: show50 2s;
  animation: show50 2s;
}

.chart[data-percent='25'] .outer {
  stroke-dashoffset: 401;
  -webkit-animation: show25 2s;
  animation: show25 2s;
}
@-webkit-keyframes show100 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes show100 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 0;
  }
}

@-webkit-keyframes show75 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 134;
  }
}

@keyframes show75 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 124;
  }
}

@-webkit-keyframes show50 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 267;
  }
}

@keyframes show50 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 267;
  }
}

@-webkit-keyframes show25 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 401;
  }
}

@keyframes show25 {
  from {
    stroke-dashoffset: 537;
  }
  
  to {
    stroke-dashoffset: 401;
  }
}
.b01-ttl {
    font-size: 16px;
    text-transform: uppercase;
    position: relative;
	padding: 0 0 10px;
}
.b01-ttl:after {
	content: '';
	position: absolute;
	width: 112px;
	height: 1px;
	background: #f58220;
	bottom: 0;
	left: calc(50% - 56px);
}
.b01-list li:nth-child(1) .b01-ttl {
	color: #f58220;
}
.b01-list li:nth-child(2) .b01-ttl {
	color: #0aa5e9;
}
.b01-list li:nth-child(3) .b01-ttl {
	color: #ec1f26;
}
.b01-list li:nth-child(4) .b01-ttl {
	color: #005174;
}
.b01-list li:nth-child(2) .b01-ttl:after {
	background: #0aa5e9;
}
.b01-list li:nth-child(3) .b01-ttl:after {
	background: #ec1f26;
}
.b01-list li:nth-child(4) .b01-ttl:after {
	background: #005174;
}
.b01-txt {
    margin: 0;
    line-height: 2em;
    color: #666666;
}
.box02 {
    min-height: 235px;
    background: transparent;
	color: #fff;
	text-align: center;
	padding: 40px 0;
}
.box02 p {
	font-family: 'Roboto', sans-serif;
	font-size: 30px;
	margin: 0;
}
.box02 p span {
	display: block;
	text-transform: uppercase;
	font-size: 36px;
}
.idx-tel a {
    color: #fff;
    display: inline-block;
    text-decoration: none;
    background: #006a98;
    font-size: 24px;
    font-weight: 700;
    line-height: 1em;
    padding: 10px;
    position: relative;
    z-index: 0;
}
.idx-tel a:after {
	content: '';
	position: absolute;
	z-index: -1;
	background: #003247;
	width: 2px;
	height: 100%;
	right: -2px;
	top: 2px;
}
.idx-tel a:before {
	content: '';
	position: absolute;
	background: #004867;
	width: 100%;
	height: 2px;
	bottom: -2px;
	left: 2px;
}
.box03 {
	padding: 60px 0;
}
.b03-list {
    display: flex;
    flex-wrap: wrap;
}
.b03-list li {
	width: calc(100%/3 - 20px);
	margin: 0 30px 40px 0;
	text-align: center;
}
.b03-list li:nth-child(3n) {
	margin-right: 0;
}
.b03-list li a {
	text-decoration: none;
}
.b03-ttl {
    font-size: 16px;
    text-transform: uppercase;
    margin: 0 0 10px;
}
.b03-txt {
    font-size: 14px;
    color: #666666;
    margin: 0;
    line-height: 2em;
}
.b03-img {
	position: relative;
	background: #f58220;
}
.b03-img:after {
	content: '+';
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	color: #fff;
	font-size: 20px;
	opacity: 0;
	transition: all 0.3s ease;
}
.b03-img img {
	transition: all 0.5s ease;
	max-width: none;
	width: 100%;
}
.b03-list li a:hover .b03-img img {
	opacity: 0.4;
}
.b03-list li a:hover .b03-img:after {
	opacity: 1;
	font-size: 40px;
}
.box04 {
	background: url(../images/b04_bg.png) no-repeat top center #f5f5f5;
	padding: 60px 0 30px;
}
.b04-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.b04-list li {
    display: flex;
    align-items: center;
	width: 48%;
	margin-bottom: 30px;
}
.b04-img {
    margin: 0 10px 0 0;
    width: 75px;
}
.b04-main {
    width: calc(100% - 85px);
}
.b04-ttl {
    font-size: 20px;
    font-weight: bold;
    color: #3b3b3b;
    margin: 0;
}
.b04-txt {
    margin: 0;
}
#footer {
	padding: 60px 0;
}
.f-list {
    display: flex;
    justify-content: space-between;
	margin: 0 0 30px;
}
.f-item {
	text-align: center;
	width: 30%;
}
.f-ttl {
    font-size: 20px;
    color: #3b3b3b;
    font-weight: bold;
    margin: 0;
}
#footer h3 {
	margin: 0 0 30px;
}
.f-social {
    text-align: center;
    display: flex;
    justify-content: center;
	margin: 0 0 10px;
}
.f-social a {
    color: #aeaeae;
    text-decoration: none;
    font-size: 33px;
    width: 63px;
    height: 63px;
    display: flex;
    border: 1px solid #aeaeae;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
	margin: 0 10px;
}
.f-social a:nth-child(1):hover {
	color: #3B5998;
	border-color: #3B5998;
}
.f-social a:nth-child(2):hover {
	color: #55ACEE;
	border-color: #55ACEE;
}
.f-social a:nth-child(3):hover {
	color: #dd4b39;
	border-color: #dd4b39;
}
.copyright {
	text-align: center;
	font-size: 16px;
	margin: 0;
}
.copyright a {
	color: #777777;
	text-decoration: none;
}









/*----------------------------------------------------------------------*/
.navsp, .sp {
	display: none;
}
.pc {
	display: block;
}
@media (max-width:768px) {
.sp {
	display: block;
}
.pc {
	display: none;
}
#wrapper {
	min-width: 100%;
	padding-top: 50px;
}
.container {
    width: 100%;
    padding: 0 3%;
}
#header {
	padding: 0;
}
.logo {
    width: 180px;
    position: relative;
    left: 0;
    transform: none;
	float: left;
	margin: 10px 0 0;
}
.h-search > i {
    width: 40px;
    height: 50px;
    border-radius: 0;
    font-size: 16px;
}
/* MENU-ICON */
.menu-icon {
    width: 40px;
    height: 50px;
    box-sizing: border-box;
    text-align: center;
    text-transform: uppercase;
    line-height: 1em;
    cursor: pointer;
    color: #fff;
    font-size: 13px;
    z-index: 999;
    background: #f58220;
    padding: 7px;
}
.menu-icon span {
	display: block;
	margin: 0;
	width: 25px;
	height: 2px;
	background-color: #fff;
	-webkit-transition-duration: 0;
	-moz-transition-duration: 0;
	-ms-transition-duration: 0;
	-o-transition-duration: 0;
	transition-duration: 0;
	-webkit-transition-delay: 0.2s;
	-moz-transition-delay: 0.2s;
	-ms-transition-delay: 0.2s;
	-o-transition-delay: 0.2s;
	transition-delay: 0.2s;
	top: 17px;
	left: 0;
	position: relative;
}
.menu-icon span::after, .menu-icon span::before {
	display: block;
	content: '';
	position: absolute;
	width: 25px;
	height: 2px;
	background-color: #fff;
	-webkit-transition-property: margin, -webkit-transform;
	-webkit-transition-duration: 0.2s;
	-moz-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	transition-duration: 0.2s;
	-webkit-transition-delay: 0.2s, 0;
	-moz-transition-delay: 0.2s, 0;
	-ms-transition-delay: 0.2s, 0;
	-o-transition-delay: 0.2s, 0;
	transition-delay: 0.2s, 0;
}
.menu-icon span::before {
	margin-top: -8px;
}
.menu-icon span::after {
	margin-top: 8px;
}
.menu-icon.active span {
	background-color: transparent;
}
.menu-icon.active span::before, .menu-icon.active span::after {
	margin-top: 0px;
	-webkit-transition-delay: 0, 0.2s;
	-moz-transition-delay: 0, 0.2s;
	-ms-transition-delay: 0, 0.2s;
	-o-transition-delay: 0, 0.2s;
	transition-delay: 0, 0.2s;
}
.menu-icon.active span::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}
.menu-icon.active span::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#gnavi {
    display: none;
    position: fixed;
    width: 100%;
    left: 0;
    top: 50px;
    background: rgba(245,130,32,0.9);
    height: calc(100% - 50px);
}
#gnavi li a, #gnavi li span {
    padding: 14px 20px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	border-radius: 0;
	color: #fff;
}
#gnavi > li.over > span:after {
    position: relative;
    left: 0;
    margin-left: 10px;
    border-color: #fff;
    bottom: 4px;
}
#gnavi li {
    float: none;
    width: 100%;
	height: auto;
	padding: 0;
}
#gnavi li.active a, #gnavi li:hover a {
    background: none;
}
.submenu {
    position: relative;
    top: 0;
	background: #ec1f26;
	display: none;
	margin: 0;
}
#gnavi .submenu a {
	padding-left: 40px;
	position: relative;
}
#gnavi .submenu a:before {
    position: absolute;
    content: '';
    display: inline-block;
    border: solid #fff;
    border-width: 0 1px 1px 0;
    padding: 3px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 23px;
    left: 20px;
}
h1 {
    width: 50px;
}
.search-cont {
    margin: 0;
}
.b01-list {
    flex-wrap: wrap;
}
.b01-list li {
    width: 50%;
}
.box02 p:not(:last-child) {
    font-size: 20px;
    margin: 0 0 20px;
}
.box02 p span {
    font-size: 26px;
}
.box01, .box03, #footer {
    padding: 40px 0;
}
#index h3 {
    font-size: 24px;
}
.box01 .container > p, .box03 .container > p, .box04 .container > p {
    font-size: 14px;
    text-align: center;
    margin: 0 0 20px;
}
.box04 {
    padding: 40px 0 10px;
}
.b04-ttl {
    font-size: 16px;
}
.f-txt {
    margin: 0;
}
.f-item {
    width: 32%;
}
.f-social a {
    font-size: 24px;
    width: 50px;
    height: 50px;
    margin: 0 5px;
}
.copyright {
    font-size: 14px;
}
.f-ttl {
    font-size: 16px;
}
#footer h3 {
    margin: 0 0 20px;
}
}
@media (max-width:640px) {
.b03-list li {
    width: calc(50% - 15px);
}
.b03-list li:nth-child(3n) {
	margin-right: 30px;
}
.b03-list li:nth-child(2n) {
	margin-right: 0;
}
.b04-list li {
    width: 100%;
}
}
@media (max-width:480px) {
.b01-list li {
    width: 100%;
}
.b03-list li {
    width: 100%;
    margin-right: 0;
}
.b03-list li:nth-child(3n) {
	margin-right: 0;
}
.f-item {
    width: 100%;
	margin-bottom: 20px;
}
.f-list {
    display: block;
    margin: 0;
}
}
@media (max-width:425px) {

}















