@charset "utf-8";
/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/

html {
color: #000;
background: #fff
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0
}
table {
border-collapse: collapse;
border-spacing: 0
}
fieldset, img {
border: 0
}
address, caption, cite, code, dfn, em, strong, th, var {
font-style: normal;
font-weight: normal
}
ol, ul {
list-style: none
}
caption, th {
text-align: left
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal
}
q:before, q:after {
content: ''
}
abbr, acronym {
border: 0;
font-variant: normal
}
sup {
vertical-align: text-top
}
sub {
vertical-align: text-bottom
}
input, textarea, select {
font-family: inherit;
font-size: inherit;
font-weight: inherit;
*font-size:100%
}
legend {
color: #000
}
#yui3-css-stamp.cssreset {
display: none
}
/* ----------------------------------------------------------------------------------------------------- */

body {
font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "sans-serif";
background: #e9e8e8;
font-size: 1em;
line-height: 1.7em;
color: #231815;
}

@media screen and (max-width: 768px) {
body {
font-size: 0.9em;
line-height: 1.6em;
}
}

@media screen and (max-width: 640px) {
body {
font-size: 0.8em;
line-height: 1.5em;
}
}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
img, input[type="image"] {
max-width: 100%;
height: auto;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
ol, ul {
list-style: none;
}
figure {
margin: 0;
}
button {
border: 0 none;
background: none;
cursor: pointer;
}
a {
text-decoration: none;
color: #00a0e9;
}
a:hover, a img:hover, button:hover {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
}

@media screen and (max-width: 768px) {
input[type="submit"], input[type="text"], input[type="tel"], input[type="email"], textarea, select {
-webkit-appearance: none;
border-radius: 0;
}
}
/* ----------------------------------------------------------------------------------------------------- */
.txt-l {
text-align: left;
}
.txt-r {
text-align: right;
}
.txt-c {
text-align: center;
}
.f_l {
font-size: 1.2em;
}
.f_m {
font-size: 1em;
}
.f_s {
font-size: 0.8em;
}
.pc {
display: block!important;
}
.sp {
display: none!important;
}

@media (max-width: 375px) {
.pc {
display: none!important;
}
.sp {
display: block!important;
}
}
.inner {
width: 1080px;
margin: auto;
}

@media (max-width: 1079px) {
.inner {
width: 90%;
}
}
/* ----------------------------------------------------------------------------------------------------- */

.is-animation {
background: rgba(255,255,255,0.80)!important;
}
.page #header {
background: #fff;
}
#header {
width: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 2;
transition: .3s;
}
#header #gNav {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
justify-content: space-between;
}
#header #gNav #logo {
width: auto;
max-width: 230px;
}
#header #gNav ul {
width: 78%;
text-align: center;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
justify-content: space-between;
font-size: 0.8em;
}
#header #gNav ul li {
width: 14.5%;
}
#header #gNav ul li a, #header #gNav ul li p {
margin: auto;
padding: 20px 0;
display: block;
color: #000!important;
}
#header #gNav ul li a:hover, #header #gNav ul li p:hover {
background: rgba(25,120,210,0.70);
color: #fff;
}
#header #gNav ul li#btnArea {
width: 30%;
padding: 15px 0;
}
#header #gNav ul li#btnArea button {
padding: 5px 10px;
margin: 0;
color: #fff;
font-size: 1em;
    width: 50%;
}
#header #gNav ul li#btnArea button:first-of-type {
background: #000;
}
#header #gNav ul li#btnArea button:last-of-type {
background: #e00b29;
}
#header #gNav ul li p {
padding: 20px 0;
cursor: pointer;
color: #00a0e9;
}
#header #gNav ul li .subNav {
width: 100%;
display: none;
position: absolute;
top: 67px;
left: 0;
background: rgba(25,120,210,0.70);
}
#header #gNav ul li .subNav ul.inner {
width: 1080px;
padding: 0;
text-align: center;
font-size: 0.8em;
justify-content: center;
}
#header #gNav ul li .subNav ul.inner li {
float: left;
}
#header #gNav ul li .subNav ul.inner li:last-child {
padding: 0;
}
#header #gNav ul li .subNav ul.inner li a {
width: 100%;
padding: 10px 0;
display: block;
color: #fff!important;
}
#header #spGnav {
display: none;
}

@media (max-width: 1079px) {
#header #gNav.inner {
width: 100%!important;
}
#header #gNav ul li {
font-size: 0.8em;
}
#header #gNav ul li .subNav ul.inner {
width: 100%!important;
justify-content: center;
}
}

@media screen and (max-width: 768px) {
#header {
background: #fff;
}
#header #gNav #logo {
width: 50%;
margin: 8px 0 0 5px;
}
#header #gNav ul {
display: none;
}
#header #spGnav {
display: block;
}
}
#header #spGnav ul {
height: 100vh;
background: #212121;
}
#header #spGnav ul li {
border-bottom: 1px solid #555;
}
#header #spGnav ul li a {
color: #fff;
}
#header #spGnav ul li ul {
height: auto;
margin-bottom: 10px;
}
#header #spGnav ul li ul li {
border-bottom: 0 none;
}
#header #spGnav ul li ul li a {
line-height: 1.8em!important;
}
#footer {
width: 100%;
padding-top: 50px;
background: #fff;
}
#footer a#topBtn {
padding: 18px 22px 0 22px;
position: fixed;
text-align: center;
display: block;
bottom: 20px;
right: 20px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
background: #555;
font-size: 0;
}
#footer a#topBtn:before {
content: "";
width: 0;
height: 0;
margin: auto;
display: block;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 15px solid #fff;
}
#footer #footerCont {
padding: 30px 0 50px 0;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#footer #fContL {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
width: 40%;
}
#footer #fContL address {
margin-bottom: 20px;
}
#footer #fContL address p span {
display: block;
font-size: 1.2em;
font-weight: 600;
}
#footer #fContL ul {
font-size: 0.9em;
line-height: 1.6em;
}
#footer #fContL ul li:before {
content: "";
width: 0;
height: 0;
margin: 7px 5px 0 0;
display: block;
float: left;
border-left: 7px solid #918b8a;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
#footer #fContL ul li a {
color: #918b8a;
}
#footer #fContL #fSnsLinks a {
display: inline-block;
width: 40px;
margin: 10px;
}
#footer #fContL #fSnsLinks_sp {
display: none;
}
#footer #fContR {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#footer #fContR ul {
padding: 0 25px;
font-size: 0.9em;
line-height: 1.6em;
}
#footer #fContR ul li a,
#footer #fContR ul li span {
color: #000;
font-weight: 600;
}
#footer #fContR ul li ul {
width: 100%;
margin-top: 5px;
padding: 0;
}
#footer #fContR ul li ul li a {
color: #918b8a;
font-weight: normal;
}
#footer p#copy {
width: 100%;
padding: 30px 0;
text-align: center;
background: #e9e8e8;
color: #918b8a;
font-size: 11px;
font-weight: 600;
line-height: 0;
}

@media screen and (max-width: 768px) {
#footer {
padding-top: 10px;
}
#footer #footerCont {
padding: 30px 0;
}
#footer #fContL {
width: 100%;
margin-bottom: 30px;
}
#footer #fContR {
width: 100%;
}
}

@media screen and (max-width: 640px) {
#footer a#topBtn {
padding: 18px 18px 0 18px;
}
#footer a#topBtn:before {
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 10px solid #fff;
}
#footer #fContL {
margin-bottom: 0;
}
#footer #fContL address {
display: none;
}
#footer #fContL ul li {
margin-right: 10px;
display: inline-block;
}
#footer #fContL ul li:before {
margin: 2px 5px 0 0;
}
#footer #fContR {
display: none;
}   
#footer #fContL #fSnsLinks {
display: none;
}     
#footer #fContL #fSnsLinks_sp {
display: block;
margin: 0 auto;
} 
#footer #fContL #fSnsLinks_sp img {
width: 75px;
padding: 10px;
padding-bottom: 20px;
}
}
/* ----------------------------------------------------------------------------------------------------- */

#mainVisual {
}
#mainVisual ul li {
}
#mainVisual ul li img {
width: 100%;
}
#mainVisual ul li a:hover, #mainVisual ul li a img:hover {
opacity: 1;
filter: alpha(opacity=100);
-ms-filter: "alpha(opacity=100)";
}
/* Slider */
.slick-dotted.slick-slider {
}
.slick-dots {
width: 100%;
margin: 0;
padding: 0;
position: absolute;
bottom: 20px;
display: block;
text-align: center;
list-style: none;
}
.slick-dots li {
width: 20px;
height: 20px;
margin: 0 5px;
padding: 0;
position: relative;
display: inline-block;
cursor: pointer;
}
.slick-dots li button {
width: 20px;
height: 20px;
padding: 5px;
display: block;
outline: none;
cursor: pointer;
background: transparent;
border: 0;
color: #fff;
font-size: 0;
line-height: 0;
}
.slick-dots li button:hover, .slick-dots li button:focus {
outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
opacity: 1;
}
.slick-dots li button:before {
content: '•';
width: 20px;
height: 20px;
position: absolute;
top: 0;
left: 0;
text-align: center;
opacity: .65;
color: #fff;
font-size: 40px;
line-height: 20px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
opacity: .75;
color: #00a0e9;
}
.slider {
display: none;
}
.slider.slick-initialized {
display: block;
}
.index section:first-of-type {
width: 100%;
clear: both;
overflow: hidden;
background: url(images/sec1_back.jpg) center no-repeat;
background-size: cover;
}
.index section:first-of-type #mainText {
width: 50%;
padding: 100px 0;
float: right;
}
.index section:first-of-type #mainText h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
line-height: 1.5em;
}
.index section:first-of-type #mainText p {
margin-bottom: 20px;
}
.index section:first-of-type #mainText button {
width: 50%;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.index section:first-of-type #mainText button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}

@media screen and (max-width: 768px) {
.index section:first-of-type #mainText {
width: 70%;
padding: 50px 0;
}
.index section:first-of-type #mainText button {
margin: auto;
}
}

@media screen and (max-width: 640px) {
.index section:first-of-type {
background: url(images/sec1_back.jpg) left center no-repeat;
background-size: cover;
}
.index section:first-of-type #mainText {
width: 90%;
float: none;
}
.index section:first-of-type #mainText h2 {
font-size: 1.8em;
}
.index section:first-of-type #mainText button {
width: 90%;
}
.index section:first-of-type #mainText button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}
.index section:nth-of-type(2) {
width: 100%;
padding: 100px 0;
text-align: center;
}
.index section:nth-of-type(2) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
}
.index section:nth-of-type(2) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.index section:nth-of-type(2) #solution {
padding: 30px 20px;
background: #fff;
}
.index section:nth-of-type(2) ul {
margin-top: 10px;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index section:nth-of-type(2) ul li {
width: 23%;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.index section:nth-of-type(2) ul li a {
width: 100%;
min-height: 180px;
padding: 25px 0 5px 0;
display: block;
color: #fff;
background: #00a0e9;
font-size: 1.1em;
font-weight: 600;
line-height: 2.5em;
}
.index section:nth-of-type(2) ul li a img {
margin: auto;
display: block;
}

@media screen and (max-width: 1079px) {
.index section:nth-of-type(2) ul li {
font-size: 0.9em;
}
}

@media screen and (max-width: 768px) {
.index section:nth-of-type(2) {
padding: 50px 0;
}
.index section:nth-of-type(2) ul li {
font-size: 0.8em;
}
}

@media screen and (max-width: 640px) {
.index section:nth-of-type(2) ul li {
width: 48%;
margin-bottom: 10px;
}
.index section:nth-of-type(2) ul li a {
min-height: 110px;
padding: 10px 0 5px 0;
}
.index section:nth-of-type(2) ul li a img {
width: 50%;
}
}

@media screen and (max-width: 480px) {
.index section:nth-of-type(2) h2 {
font-size: 1.8em;
}
}
.index section:nth-of-type(3) {
padding: 100px 0;
background: #fff;
}
.index section:nth-of-type(3) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.index section:nth-of-type(3) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.index section:nth-of-type(3) dl {
margin-bottom: 50px;
padding: 20px 0;
border-top: 1px solid #000;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index section:nth-of-type(3) dl dt {
width: 15%;
padding-bottom: 5px;
 color: #555;
}
.index section:nth-of-type(3) dl dd span {
width: 90px;
margin-right: 10px;
padding: 10px;
display: block;
text-align: center;
line-height: 0;
float: left;
}
.index section:nth-of-type(3) dl dd span.i_news, .index section:nth-of-type(3) dl dd span.i_event {
background: #00a0e9;
border: 1px solid #00a0e9;
color: #fff;
}
.index section:nth-of-type(3) dl dd span.i_info, .index section:nth-of-type(3) dl dd span.i_press {
background: #fff;
border: 1px solid #00a0e9;
color: #00a0e9;
}
.index section:nth-of-type(3) dl dd {
width: 85%;
padding-bottom: 5px;
}
.index section:nth-of-type(3) dl dd a {
color: #000;
}
.index section:nth-of-type(3) dl dd a:hover {
text-decoration: underline;
}
.index section:nth-of-type(3) button {
width: 50%;
margin: auto;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.index section:nth-of-type(3) button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}

@media screen and (max-width: 768px) {
.index section:nth-of-type(3) {
padding: 50px 0;
}
.index section:nth-of-type(3) dl dt {
width: 30%;
}
.index section:nth-of-type(3) dl dd span {
margin: 0 0 5px 0;
float: none;
}
.index section:nth-of-type(3) dl dd {
width: 70%;
}
.index section:nth-of-type(3) button {
width: 70%;
}
}

@media screen and (max-width: 640px) {
.index section:nth-of-type(3) h2 {
font-size: 1.6em;
}
.index section:nth-of-type(3) dl {
margin-bottom: 10px;
}
.index section:nth-of-type(3) dl dt {
width: 100%;
}
.index section:nth-of-type(3) dl dd {
width: 100%;
margin-bottom: 15px;
}
.index section:nth-of-type(3) button {
width: 90%;
font-size: 1.1em;
}
.index section:nth-of-type(3) button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}
.index section:last-of-type {
padding: 100px 0;
text-align: center;
}
.index section:last-of-type ul {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

@media screen and (max-width: 1079px) {
.index section:last-of-type ul li {
width: 23%;
}
}

@media screen and (max-width: 768px) {
.index section:last-of-type {
padding: 50px 0;
}
.index section:last-of-type ul {
justify-content: flex-start;
}
.index section:last-of-type ul li {
width: 31.7%;
margin: auto 5px;
}
}

@media screen and (max-width: 640px) {
.index section:last-of-type ul li {
width: 31.2%;
}
}

@media screen and (max-width: 480px) {
.index section:last-of-type ul {
justify-content: space-between;
}
.index section:last-of-type ul li {
width: 48%;
margin: auto;
}
}
/* ----------------------------------------------------------------------------------------------------- */

#pageHeader {
margin: auto;
text-align: center;
}
#pageHeader img {
width: 100%;
}
.page #pageHeader {padding-top: 68px;}
@media screen and (min-width: 1080px) {
#pageHeader img {
height: 400px;
object-fit: cover;
}
}

@media screen and (max-width: 768px) {
.page #pageHeader {padding-top: 60px;}
#pageHeader {
padding-top: 60px;
}
}
ul.breadcrumb {
}
ul.breadcrumb li {
display: inline-block;
}
ul.breadcrumb li a {
display: inline-block;
text-decoration: underline;
}
ul.breadcrumb li:after {
content: ">";
margin: auto 10px;
}
ul.breadcrumb li:last-child {
font-weight: 600;
}
ul.breadcrumb li:last-child:after {
content: "";
margin: 0;
}
/* ----------------------------------------------------------------------------------------------------- */

.td section:first-of-type {
padding: 50px 0 30px 0;
}
.td section:first-of-type h1 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.td section:first-of-type p {
padding: 0 50px;
}

@media screen and (max-width: 640px) {
.td section:first-of-type h1 {
font-size: 1.8em;
}
.td section:first-of-type p {
padding: 0;
}
}
.td section:nth-of-type(2) {
padding-top: 70px;
}
.td section:nth-of-type(2) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.td section:nth-of-type(2) p {
margin: auto;
padding: 5px 20px;
display: table;
text-align: center;
background: #fff;
}
.td section:nth-of-type(2) figure img {
margin: auto;
display: block;
text-align: center;
}

@media screen and (max-width: 640px) {
.td section:nth-of-type(2) h2 {
font-size: 1.6em;
}
}
.td section:nth-of-type(3) {
padding: 30px 0;
}
.td section:nth-of-type(3) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
line-height: 1.3em;
}
.td section:nth-of-type(3) #solution {
padding: 30px 20px;
background: #fff;
text-align: center;
}
.td section:nth-of-type(3) ul {
margin-top: 10px;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.td section:nth-of-type(3) ul li {
width: 23%;
}
.td section:nth-of-type(3) ul li a {
width: 100%;
min-height: 180px;
padding: 25px 0 5px 0;
display: block;
color: #fff;
background: #00a0e9;
font-size: 1.1em;
font-weight: 600;
line-height: 2.5em;
}
.td section:nth-of-type(3) ul li a img {
margin: auto;
display: block;
}

@media screen and (max-width: 1079px) {
.td section:nth-of-type(3) ul li {
font-size: 0.9em;
}
}

@media screen and (max-width: 768px) {
.td section:nth-of-type(3) ul li {
font-size: 0.8em;
}
}

@media screen and (max-width: 640px) {
.td section:nth-of-type(3) ul li {
width: 48%;
margin-bottom: 10px;
}
@media screen and (max-width: 480px) {
.td section:nth-of-type(3) h2 {
font-size: 1.5em;
}
}
.td section:nth-of-type(3) ul li a {
min-height: 110px;
padding: 10px 0 5px 0;
}
.td section:nth-of-type(3) ul li a img {
width: 50%;
}
}
.td section:last-of-type {
padding: 30px 0 70px 0;
}
.td section:last-of-type h2 {
margin-bottom: 30px;
padding: 30px 0 20px 0;
text-align: center;
background: #00a0e9;
color: #fff;
font-size: 2.3em;
font-weight: 600;
}
.td section:last-of-type h2 small {
margin-top: 10px;
display: block;
font-size: 0.5em;
font-weight: normal;
}
.td section:last-of-type .technologyBox {
margin-bottom: 30px;
padding: 40px 20px;
background: #fff;
}
.td section:last-of-type .technologyBox h3 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.td section:last-of-type .technologyBox h3 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.td section:last-of-type .technologyBox dl {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.td section:last-of-type .technologyBox dl dt {
width: 30%;
margin-bottom: 5px;
padding: 20px;
background: #00a0e9;
color: #fff;
font-size: 1.1em;
font-weight: 600;
}
.td section:last-of-type .technologyBox dl dd {
width: 70%;
margin-bottom: 5px;
padding: 20px;
background: #e5f5fd;
}
.td section:last-of-type button {
width: 50%;
margin: auto;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.td section:last-of-type button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}

@media screen and (max-width: 768px) {
.td section:last-of-type h2 {
font-size: 1.6em;
}
.td section:last-of-type .technologyBox h3 {
font-size: 1.5em;
}
.td section:last-of-type .technologyBox dl dt {
width: 100%;
margin-bottom: 0;
}
.td section:last-of-type .technologyBox dl dd {
width: 100%;
margin-bottom: 20px;
}
}

@media screen and (max-width: 640px) {
.td section:last-of-type {
padding: 30px 0 50px 0;
}
.td section:last-of-type button {
width: 90%;
font-size: 1.1em;
}
.td section:last-of-type button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}
/* ----------------------------------------------------------------------------------------------------- */

.solution section:first-of-type {
padding: 50px 0 30px 0;
text-align: center;
}
.solution section:first-of-type h1 {
font-size: 2.3em;
font-weight: 600;
}
.solution section:first-of-type h1 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.4em;
font-weight: normal;
}

@media screen and (max-width: 768px) {
.solution section:first-of-type {
padding: 40px 0 30px 0;
}
.solution section:first-of-type h1 {
font-size: 1.8em;
}
}
.solution section:nth-of-type(2) {
margin-bottom: 50px;
padding: 40px 30px;
background: #fff;
}
.solution section:nth-of-type(2) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.solution section:nth-of-type(2) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.solution section:nth-of-type(2) ul {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.solution section:nth-of-type(2) ul li {
width: 49%;
}
.solution section:nth-of-type(2) ul li:last-child {
text-align: center;
}
.solution section:nth-of-type(2) button {
width: 50%;
margin: 10px auto;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.solution section:nth-of-type(2) button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}
.solution section:nth-of-type(2) ul#bnrArea {
margin-top: 20px;
}
.solution section:nth-of-type(2) ul#bnrArea li img {
width: 100%;
}
.solution section:nth-of-type(2) ul#bnrArea li:last-child {
width: 100%;
margin-top: 10px;
}

@media screen and (max-width: 768px) {
.solution section:nth-of-type(2) h2 {
font-size: 1.6em;
}
.solution section:nth-of-type(2) ul#bnrArea li:last-child {
margin-top: 0;
}
}

@media screen and (max-width: 640px) {
.solution section:nth-of-type(2) ul li {
width: 100%;
margin-bottom: 15px;
}
.solution section:nth-of-type(2) button {
width: 90%;
font-size: 1.1em;
}
.solution section:nth-of-type(2) button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}
.solution section:nth-of-type(3) {
margin-bottom: 50px;
padding: 40px 30px 20px 30px;
background: #fff;
}
.solution section:nth-of-type(3) h2 {
margin-bottom: 20px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.solution section:nth-of-type(3) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.solution section:nth-of-type(3) h3 {
margin: 20px 0;
padding: 15px 10px 10px 10px;
background: #00a0e9;
color: #fff;
font-size: 1.6em;
font-weight: 600;
}
.solution section:nth-of-type(3) h4 {
margin-bottom: 15px;
font-size: 1.4em;
font-weight: 600;
}
.solution section:nth-of-type(3) h5 {
margin-bottom: 5px;
color: #00a0e9;
font-size: 1.3em;
font-weight: 600;
}
.solution section:nth-of-type(3) p {
margin-bottom: 20px;
}
.solution section:nth-of-type(3) em {
display: block;
text-decoration: underline;
font-weight: 600;
}
.solution section:nth-of-type(3) a {
text-decoration: underline;
}
.solution section:nth-of-type(3) span {
display: block;
color: #e00b29;
font-size: 0.8em;
}
.solution section:nth-of-type(3) ul {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.solution section:nth-of-type(3) ul li:first-child {
width: 65%;
}
.solution section:nth-of-type(3) ul li:last-child {
text-align: center;
}

@media screen and (max-width: 768px) {
.solution section:nth-of-type(3) {
margin-bottom: 30px;
padding: 30px 10px 20px 10px;
}
.solution section:nth-of-type(3) h2 {
font-size: 1.6em;
}
.solution section:nth-of-type(3) h3 {
font-size: 1.5em;
}
.solution section:nth-of-type(3) h4 {
font-size: 1.3em;
}
.solution section:nth-of-type(3) h5 {
font-size: 1.1em;
}
.solution section:nth-of-type(3) ul li:first-child {
width: 100%;
margin-bottom: 15px;
}
.solution section:nth-of-type(3) ul li:last-child {
width: 100%;
}
}
.solution section:last-of-type {
margin-bottom: 50px;
text-align: center;
}
.solution section:last-of-type button {
width: 40%;
margin: 10px auto;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.solution section:last-of-type button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}

@media screen and (max-width: 640px) {
.solution section:last-of-type button {
width: 80%;
font-size: 1.1em;
}
.solution section:last-of-type button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}
.solution section#businessCont {
margin-bottom: 50px;
padding: 0;
background: none;
text-align: center;
}
.solution section#businessCont ul {
width: 80%;
margin: 30px auto;
justify-content: center;
}
.solution section#businessCont ul li {
width: 25%;
}
.solution section#businessCont ul li img {
width: 100%;
}

@media screen and (max-width: 640px) {
.solution section#businessCont ul {
width: 100%;
}
.solution section#businessCont ul li {
width: 48%;
}
}
/* ----------------------------------------------------------------------------------------------------- */

.company section:first-of-type {
padding: 50px 0 30px 0;
text-align: center;
}
.company section:first-of-type h1 {
font-size: 2.3em;
font-weight: 600;
}
.company section:first-of-type h1 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.4em;
font-weight: normal;
}

@media screen and (max-width: 768px) {
.company section:first-of-type {
padding: 40px 0 30px 0;
}
.company section:first-of-type h1 {
font-size: 1.8em;
}
}
.company section#cIndex {
margin-bottom: 50px;
padding: 50px 50px 30px 50px;
background: #fff;
text-align: center;
}
.company section#cIndex ul {
margin-top: 10px;
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.company section#cIndex ul li {
width: 23%;
margin-bottom: 25px;
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.company section#cIndex ul li a {
width: 100%;
padding: 160px 0 20px 0;
display: block;
color: #fff;
font-size: 1.1em;
font-weight: 600;
line-height: 1.3em;
}
.company section#cIndex ul li:first-child {
background: url(images/company/menu1.png);
}
.company section#cIndex ul li:nth-child(2) {
background: url(images/company/menu2.png);
}
.company section#cIndex ul li:nth-child(3) {
background: url(images/company/menu3.png);
}
.company section#cIndex ul li:nth-child(4) {
background: url(images/company/menu4.png);
}
.company section#cIndex ul li:nth-child(5) {
background: url(images/company/menu5.png);
}
.company section#cIndex ul li:nth-child(6) {
background: url(images/company/menu6.png);
}
.company section#cIndex ul li:nth-child(7) {
background: url(images/company/menu7.png);
}
.company section#cIndex ul li:nth-child(8) {
background: url(images/company/menu8.png);
}
.company section#cIndex ul li:last-child {
background: url(images/company/menu9.png);
}

@media screen and (max-width: 768px) {
.company section#cIndex {
padding: 20px;
}
.company section#cIndex ul li {
width: 31%;
background-size: 90%!important;
}
.company section#cIndex ul li a {
padding: 120px 0 20px 0;
}
}

@media screen and (max-width: 640px) {
.company section#cIndex ul li {
width: 48%;
margin-bottom: 10px;
font-size: 0.9em;
}
.company section#cIndex ul li a {
padding: 90px 0 20px 0;
}
}
.company section:nth-of-type(2) {
margin-bottom: 50px;
padding: 50px 50px 30px 50px;
background: #fff;
}
.company section:nth-of-type(2) h2 {
margin-bottom: 40px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.company section:nth-of-type(2) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.company section:nth-of-type(2) h3 {
margin: 30px auto;
color: #00a0e9;
font-size: 1.5em;
font-weight: 600;
text-align: center;
}
.company section:nth-of-type(2) h4 {
margin: 20px 0;
padding: 15px 10px 10px 10px;
background: #00a0e9;
color: #fff;
font-size: 1.6em;
font-weight: 600;
}
.company section:nth-of-type(2) h5 {
margin-bottom: 5px;
color: #00a0e9;
font-size: 1.3em;
font-weight: 600;
}
.company section:nth-of-type(2) ul {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.company section:nth-of-type(2) ul li {
width: 50%;
}
.company section#greetings ul li:first-child {
width: 30%;
}
.company section#greetings ul li:last-child {
width: 68%;
}
.company section:nth-of-type(2) ul li p {
margin-bottom: 20px;
}
.company section:nth-of-type(2) dl {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -moz-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: -moz-flex;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.company section:nth-of-type(2) dl dt {
width: 30%;
margin-bottom: 5px;
padding: 20px;
background: #00a0e9;
color: #fff;
font-size: 1.1em;
font-weight: 600;
}
.company section:nth-of-type(2) dl dd {
width: 70%;
margin-bottom: 5px;
padding: 20px;
background: #e5f5fd;
}

@media screen and (max-width: 1024px) {
.company section:nth-of-type(2) ul li {
width: 48%;
}
}

@media screen and (max-width: 768px) {
.company section:nth-of-type(2) {
margin-bottom: 30px;
padding: 30px 10px 20px 10px;
}
.company section:nth-of-type(2) h2 {
margin-bottom: 20px;
font-size: 1.6em;
}
.company section:nth-of-type(2) dl dt {
width: 100%;
margin-bottom: 0;
}
.company section:nth-of-type(2) dl dd {
width: 100%;
margin-bottom: 20px;
}
}

@media screen and (max-width: 640px) {
.company section:nth-of-type(2) ul li {
width: 100%;
}
.company section#greetings ul li:first-child {
width: 85%;
margin: 0 auto 22px;
}
.company section#greetings ul li:last-child {
width: 100%;
}
}
.company section:nth-of-type(3), .company section:nth-of-type(4), .company section:nth-of-type(5) {
margin-bottom: 50px;
padding: 50px 50px 30px 50px;
background: #fff;
}
.company section:nth-of-type(3) h2, .company section:nth-of-type(4) h2, .company section:nth-of-type(5) h2 {
margin-bottom: 40px;
font-size: 2.3em;
font-weight: 600;
text-align: center;
}
.company section:nth-of-type(3) h2 small {
margin-top: 10px;
display: block;
color: #00a0e9;
font-size: 0.5em;
font-weight: normal;
}
.company section:nth-of-type(3) h4, .company section:nth-of-type(4) h4, .company section:nth-of-type(5) h4 {
margin: 20px 0;
padding: 15px 10px 10px 10px;
background: #00a0e9;
color: #fff;
font-size: 1.6em;
font-weight: 600;
}
.company section:nth-of-type(3) h5, .company section:nth-of-type(4) h5, .company section:nth-of-type(5) h5 {
margin: 10px 0 5px 0;
color: #00a0e9;
font-size: 1.3em;
font-weight: 600;
}
.company section:nth-of-type(3) ol {
padding: 0 20px;
list-style: decimal;
}

@media screen and (max-width: 768px) {
.company section:nth-of-type(3), .company section:nth-of-type(4), .company section:nth-of-type(5) {
margin-bottom: 30px;
padding: 30px 10px 20px 10px;
}
.company section:nth-of-type(3) h2, .company section:nth-of-type(4) h2, .company section:nth-of-type(5) h2 {
margin-bottom: 20px;
font-size: 1.6em;
}
.company section:nth-of-type(3) h4, .company section:nth-of-type(4) h4, .company section:nth-of-type(5) h4 {
font-size: 1.3em;
}
.company section:nth-of-type(3) h5, .company section:nth-of-type(4) h5, .company section:nth-of-type(5) h5 {
font-size: 1.1em;
}
}

@media screen and (max-width: 640px) {
.company section:nth-of-type(3) ol {
padding: 0 10px 0 30px;
}
}
#philosophy {
margin-bottom: 70px;
}
#philosophy h2 {
margin-bottom: 20px;
padding: 0 50px;
font-size: 2em;
}
#philosophy p {
padding: 0 50px;
}

@media screen and (max-width: 768px) {
#philosophy h2 {
font-size: 1.6em;
}
}

@media screen and (max-width: 640px) {
#philosophy {
margin-bottom: 30px;
}
#philosophy h2 {
padding: 0;
}
#philosophy p {
padding: 0;
}
}
dl#historyAC {
margin-bottom: 20px;
}
dl#historyAC dt {
width: 100%;
padding: 10px 20px;
cursor: pointer;
}
dl#historyAC dt:before {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: left;
border-left: 10px solid #fff;
border-top: 7px solid transparent;
border-bottom: 7px solid transparent;
}
dl#historyAC dt.active:before {
content: "";
width: 0;
height: 0;
margin: 10px;
display: block;
float: left;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid #fff;
}
dl#historyAC dd {
width: 100%;
margin-bottom: 20px;
padding: 10px 30px 50px 30px;
background: #fff;
}
dl#historyAC dd ul {
margin-bottom: 30px;
}
dl#historyAC dd ul li:nth-child(odd) {
width: 25%;
padding: 10px 15px;
border-bottom: 3px solid #00a0e9;
font-weight: 600;
}
dl#historyAC dd ul li:nth-child(even) {
width: 75%;
padding: 10px 15px;
border-bottom: 3px solid #e5f5fd;
}

@media screen and (max-width: 640px) {
dl#historyAC {
margin-bottom: 0;
padding: 10px;
}
dl#historyAC dt {
margin-bottom: 5px;
padding: 10px;
}
dl#historyAC dd {
padding: 10px 10px 50px 10px;
}
dl#historyAC dd ul li:nth-child(odd) {
width: 35%;
padding: 10px 5px;
}
dl#historyAC dd ul li:nth-child(even) {
width: 65%;
padding: 10px 5px;
}
}
.company button {
width: 30%;
margin: 10px auto 80px auto;
padding: 10px 0;
display: block;
background: #e00b29;
color: #fff;
font-size: 1.3em;
font-weight: 600;
}
.company button:after {
content: "";
width: 0;
height: 0;
margin: 5px 10px;
display: block;
float: right;
border-left: 10px solid #fff;
border-top: 10px solid transparent;
border-bottom: 10px solid transparent;
}

@media screen and (max-width: 640px) {
.company button {
width: 80%;
margin: 0 auto 50px auto;
font-size: 1.1em;
}
.company button:after {
border-left: 5px solid #fff;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
}
}

/* ----------------------------------------------------------------------------------------------------- */
