@charset "UTF-8";

/*Reset*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
}

html {
    line-height: 1;
    font-size:62.5%;
}

ol,ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,th,td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,blockquote {
    quotes: none;
}

q:before,q:after,blockquote:before,blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary {
    display: block;
}

body {
    font-family: "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1.3rem;
    color: #333;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    width: 100%;
}

a {
    transition: all 0.2s ease 0s;
    -webkit-transition: -webkit-transform 0.2s ease 0s;
}

.btn,.btn_mini {
    text-decoration: none;
    color: #fff;
    transition: all 0.2s ease 0s;
    -webkit-transition: -webkit-transform 0.2s ease 0s;
}

.btn:hover,.btn:focus,.btn_mini:hover,.btn_mini:focus{
    text-decoration: none;
    color: #fff !important;
}

p {
    margin-bottom: 1.5em;
}

.clear {
    overflow: hidden;
    *zoom: 1;
    clear: both;
}

a img {
    cursor: pointer;
}

.tac {
    text-align: center;
}

.tar {
    text-align: right;
}

.ta {
    text-align: left !important;
}

small,.small {
    font-size: 10rem;
}

.hide-all {
    display: none;
}

strong,.bold {
    font-weight: 700;
}

.circle {
    border-radius: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

img {
    vertical-align: bottom;
}

.red{
	color:red;
}

.copyright_size{
	font-size:150%;
	vertical-align: top;
	position: relative;
	top: -0.25em;
}

body > .main_content {
    clear: both;
    overflow: hidden;
    *zoom: 1;
}

#sortable li {
    cursor: move;
}

.required:after{
	content:"＊";
	color:#e73357;
}

.over:hover{
	opacity: 0.6;
	transition: all 0.3s;
}

/* clearfix */
.cFix:after{
	height:0;
	visibility:hidden;
	content:".";
	display:block;
	clear:both;
}
.cFix{
	_height:1px;
	min-height:1px;
	/*￥*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/* Common
====================================================== */
p{
    font-size: 1.4rem;
    color:#5a5a5a;
    line-height: 2.5rem;
    margin:1.5rem 0 0.5rem 0;
}

section{
    padding-bottom:20px;
}

/* Form
====================================================== */
select#form_lang{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    border: 0;
    font-weight: bold;
    margin: 0;
    padding: 0;
    background: none transparent;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    box-sizing: content-box;
    color:#5b5b5b;
	position: absolute;
    top:38px;
	right:0px;
}

select#form_lang::-ms-expand {
    display: none;
}

/* Nav Bar
====================================================== */
#nav_home{
    height:712px;
    /*background: url("../img/bg_main_01.jpg");*/
    background-position:center top;
    background-size: cover;
}

.navbar{
	width:100%;
	z-index: 9999;
    border-radius: 0;
    height: 92px;
    position: fixed;
    border-top:solid 2px #00a0e9;
    border-bottom:solid 1px #e5e5e5;
    background: #fff;
    transition: all 0.5s ease;
}

.navbar .container{
	width:100%;
	margin: 0 auto;
	padding:0;
	position: relative;
}

.navbar .container .section_logo a{
    position: absolute;
    left:10px;
    top:8px;
    width:214px;
    height:70px;
    background: url(../img/logo.png);
    font-size:0;
}

.navbar .nav_unit{
	width:100%;;
	margin: 0;
}

.navbar .nav_unit{
	font-size:1.4rem;
	width: 770px;
	position: absolute;
	top:0;
    left:260px;
	text-align: left;
}

@media print, screen and (max-width: 1280px) {
    .navbar .nav_unit{
        font-size:14px;
        min-width:500px;
        width: 770px;
        position: absolute;
        top:0;
        left:260px;
        text-align: left
    } 
}

.navbar .nav_unit .nav{
    position: absolute;
	top:55px;
    width:calc(100vw - 650px);
    max-width: 720px;
    min-width:550px;
    display: flex;
    justify-content: space-between;
}

.nav:before, .nav:after{
    content:none !important;
}

.navbar .text_copy{
    height: 50px;
    margin:6px 0 0 0;
    position: absolute;
    top:-5px;
    left:275px;
    font-size: 2rem;
    display: flex;
    align-items: center;
    line-height: 2.5rem;
}

.navbar .text_copy span{
    width:calc(100vw - 450px);
}

.navbar .nav_unit .navbar-nav > li{
    display: inline-block;
	float: none;
	padding:0;
    font-size: 1.4rem;
}

.navbar .nav_unit .navbar-nav > li > a{
	padding:0;
	text-decoration: none;
	color:#313131;
	font-weight: bold;
}

.nav_sub{
    position: absolute;
    right: 0;
    top:0;
    color:#000;
    width:144px;
    height:90px;
}

@media print, screen and (max-width: 1044px) {
    .nav_sub{
        position: absolute;
        left:880px;
        top:0;
    }
}

.nav_sub li a{
    display: block;
    color:#fff;
    font-size: 1.3rem;
}

.nav_sub li a:hover{
    text-decoration: none;
}

.nav_sub li.lang a{
    width:144px;
    height:36px;
    background: #707070;
    line-height: 36px;
    padding-left:40px;
}

.nav_sub li.japanese a{
    background-image: url(../img/bg_header_sub_japanese.png);
    background-repeat: no-repeat;
    background-position: left 40%;
}

.nav_sub li.entry a{
    background:#00a0e9;
    background-image:url("../img/bg_header_sub_mail.png");
    background-repeat: no-repeat;
    background-position: left 10px center;
    width:144px;
    height: 54px;
    line-height: 1.4rem;
    padding:5px 0 0 40px;
}

.nav_sub li.entry a strong{
    position: relative;
    top:3px;
    font-size: 1.5rem;
}

/*-------------Dropdown----------------*/
.dropdown-menu{
	min-width: 150px !important;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
}

.nestL2 {
    position: relative;
}

.nestL2>.dropdown-menu {
    top: 0;
    left: 100%;
}

.nestL2:hover>.dropdown-menu {
    display: block;
}

nestL2>a{
	position: relative;
}

.nestL2>a:after {
    display: block;
    content: " ";
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #337ab7;
    margin-top: 5px;
    margin-right: -3px;
    position: absolute;
    top:30%;
    right:20px;
}

.dropdown-menu>li>a{
	padding:12px 10px;
	color:#5b5b5b;
}

.dropdown-menu>li>a:hover{
	background: #00ace9;
	color:#fff;
	transition: background 0.5s;
}

/* nav_home
====================================================== */
#nav_home .navbar{
    border-top:solid 2px transparent;
    border-bottom:solid 1px transparent;
    background: none;
}

#nav_home .scroll.navbar{
    height:92px;
    border-top:solid 2px #00a0e9;
    border-bottom:solid 1px #e5e5e5;
    background: #fff !important;
    transition: all 0.5s ease;
}

#nav_home .navbar .container .section_logo a{
    position: absolute;
    left:10px;
    top:8px;
    width:214px;
    height:70px;
    background: url(../img/logo_home.png);
    font-size:0;
}

#nav_home .scroll.navbar .container .section_logo a{
    background: url(../img/logo.png);
    font-size:0;
    position: absolute;
    top:8px;
}

#nav_home .navbar .nav_unit .navbar-nav > li > a{
	color:#fff;
}

#nav_home .scroll.navbar .nav_unit .navbar-nav > li > a{
	color:#313131;
}

#nav_home .navbar .text_copy{
    color:#fff;
}

#nav_home .scroll.navbar .text_copy{
    color:#00a0e9;
}


/* section_contact
====================================================== */
.section_contact{
    width:330px;
    height: 90px;
    background: #163581;
    color:#fff;
    position: absolute;
    right: 0;
    top:90px;
    padding:5px 0 0 20px;
}

.section_contact span{
    display: block;
}

.section_contact span.time{
    font-size: 1.4rem;
    position: relative;
    left:65px;
}

.section_contact span.text{
    font-size: 1.8rem;
    position: relative;
    top:-2px;
}

.section_contact span.tel{
    font-size: 3rem;
    position: relative;
    top:-5px;
}


/* section_mvText{
====================================================== */
.section_mvText .text_mv{
	color:#fff;
	position: relative;
	top:230px;
	text-align: center;
    display: block;
    width:980px;
    margin: auto;
}

.section_mvText .text_mv .text_mv01{
	font-size: 4.5rem;
    font-weight: bold;
    text-shadow:0px 0px 8px #000,0px 0px 8px #000,0px 0px 8px #000;
    margin-bottom:20px;
}

.section_mvText .text_mv .text_mv02{
    font-size: 2rem;
}
.section_mvText .text_mv .text_mv01,
.section_mvText .text_mv .text_mv02{
    color:#fff;
    text-shadow:
        0 2px 1px #002868,
        2px 0 1px #002868,
        0 -2px 1px #002868,
        -2px 0 1px #002868,
        -2px -2px 1px #002868,
        2px -2px 1px #002868,
        -2px 2px 1px #002868,
        2px 2px 1px #002868,
        0 1px 13px rgba(0, 115, 170, 0.7),
        1px 0 13px rgba(0, 115, 170, 0.7),
        0 -1px 13px rgba(0, 115, 170, 0.7),
        -1px 0 13px rgba(0, 115, 170, 0.7),
        -1px -1px 13px rgba(0, 115, 170, 0.7),
        1px -1px 13px rgba(0, 115, 170, 0.7),
        -1px 1px 13px rgba(0, 115, 170, 0.7),
        1px 1px 13px rgba(0, 115, 170, 0.7); 
}

/* wrapper
====================================================== */
.wrapper{
    padding-top:90px;
    width:100%;
}

#home.wrapper{
    padding:0;
}


/* contents
====================================================== */
.contents{
	box-sizing: border-box;
	width:100%;
	background: #fff;
	z-index: 10;
}

.contents .section_default{
    width:100%;
}

.contents .body{
    width:1000px;
    margin: auto;
    font-size: 1.4rem;
	line-height: 1.8em;
    position: relative;
}

.contents .body.w{
    width:100%;   
}

.contents .header{
	height: 381px;
	width: 100%;
	padding-top:102px;
	background: url("../img/head_business_bg.jpg");
	background-position-x: 50%;
	background-size: cover;
	box-sizing:content-box; 
}

.contents .header .body h1{
	font-size:3.3rem;
	padding-top:20px;
	font-weight: bold;
	color:#fff;
	text-shadow:#000 0px 0px 4px, #000 0px 0px 4px, #000 0px 0px 4px;
}

.contents .body h2{
	font-size:3.5rem;
    font-weight: bold;
    color:#fff;
    width:980px;
    height: 80px;
    background: url("../img/bg_title_01.png");
    line-height: 11rem;
    padding-left:28px;
    margin: 0 auto;
}

.contents .body h3{
    font-size: 2.5rem;
	font-weight: bold;
    color:#00a0e9;
    line-height: 3.5rem;
    padding:25px 0;
}

.contents > .body > span.strong{
	display: block;
	font-size:4.5rem;
	color:#0097e0;
	font-weight: bold;
	line-height: 1.3em;
	padding:15px 0 20px 0;
}

/* pankuzu
====================================================== */
.pankuzu{
    width: 100%;
    height: 40px;
    background: #eee;
    border-bottom:solid 1px #fff;
    position: relative;
}

.pankuzu .body{
    width: 1000px;
    margin: auto;
    line-height: 40px;
}

/* title
====================================================== */
.contents > .title{
    width:100%;
    height: 270px;
}

.contents > .title h2{
    font-weight: bold;
    font-size:3.5rem;
    color:#fff;
    line-height: 100px;
    margin: 0;
    width: 1000px;
    margin: auto;
}


/* section_mvLink
====================================================== */
.section_mvLink{
    width:100%;
    height:250px;
    position: absolute;
    top:780px;
}
.section_mvLink ul{
    display: flex;
    justify-content: space-around;
    width:980px;
    margin: 0 auto;
}

.section_mvLink ul li{
    position: relative;
}

/* section_home_education
====================================================== */
.section_home_education{
    width:100%;
    height:622px;
    background: url(../img/bg_home_education.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.section_home_education .body{
    width:980px;
    margin: 0 auto;
    position: relative;
}

.section_home_education .body .section_text{
    background: url(../img/bg_home_sub_head.png);
    width:530px;
    height:416px;
    position: absolute;
    top:0;
    left:calc(50% - 600px);
    padding:0 0 0 105px;
}

.section_home_education .body h2{
    font-size:2.8rem;
    font-weight: bold;
    color:#fff;
}

.section_home_education .body h3{
    font-size:2.8rem;
    font-weight: normal;
    color:#fff;
}

.section_home_education .body p{
    font-size:1.6rem;
    color:#fff;
    line-height: 3rem;
}

.section_home_education .body .btn{
    width: 160px;
    height: 45px;
    line-height: 45px;
    background: #f8b500;
    padding:0;
    border-radius: 0;
    position: relative;
    left:150px;
}

.section_home_education .body .btn a{
    color:#fff;
}

.section_home_education .body .btn a:hover{
    text-decoration: none;
}

.section_home_education .body .btn:hover{
    opacity: 0.8;
    transition: all 0.5s;
}

.section_home_education .body .btn a::after{
    content:"▶︎";
    font-size:1.2rem;
    position: relative;
    top:-1px;
    left:2px;
    color:#e75405;
}

/* section_home_feature
====================================================== */
.section_home_feature_link{
    width: 100%;
    height:375px;
    background: url(../img/bg_home_feature.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.section_home_feature{
    width: 100%;
    height:624px;
    background: url(../img/bg_home_feature.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.section_home_feature .body{
    width:980px;
    margin: auto;
    padding:0;
}

.section_home_feature .body ol{
    padding:40px 0 0 0;
}

.section_home_feature .body ol li{
    font-size: 3.5rem;
    font-weight: bold;
    line-height: 6.5rem;
    padding-left:50px;
}

.section_home_feature .body ol li::before{
    content:"";
    display: inline-block;
    width:46px;
    height: 37px;
    position: relative;
    top:5px;
    left:-25px;
}

.section_home_feature .body ol li:nth-child(1)::before{
    background-image: url("../img/num_home_feature_01.png");
}

.section_home_feature .body ol li:nth-child(2)::before{
    background-image: url("../img/num_home_feature_02.png");
}

.section_home_feature .body ol li:nth-child(3)::before{
    background-image: url("../img/num_home_feature_03.png");
}

.section_home_feature .body ol li:nth-child(4)::before{
    background-image: url("../img/num_home_feature_04.png");
}

.section_home_feature .body ol li:nth-child(5)::before{
    background-image: url("../img/num_home_feature_05.png");
}

.section_home_feature .body ol li:nth-child(6)::before{
    background-image: url("../img/num_home_feature_06.png");
}

.section_home_feature .body span.strong{
    color:#fff;
    font-size: 4.5rem;
    text-shadow:
        0 2px 1px #002868,
        2px 0 1px #002868,
        0 -2px 1px #002868,
        -2px 0 1px #002868,
        -2px -2px 1px #002868,
        2px -2px 1px #002868,
        -2px 2px 1px #002868,
        2px 2px 1px #002868,
        0 1px 13px rgba(0, 162, 255, 0.7),
        1px 0 13px rgba(0, 162, 255, 0.7),
        0 -1px 13px rgba(0, 162, 255, 0.7),
        -1px 0 13px rgba(0, 162, 255, 0.7),
        -1px -1px 13px rgba(0, 162, 255, 0.7),
        1px -1px 13px rgba(0, 162, 255, 0.7),
        -1px 1px 13px rgba(0, 162, 255, 0.7),
        1px 1px 13px rgba(0, 162, 255, 0.7); 
    position: absolute;
    top:550px;
    left:20px;
    font-weight: bold;
}

/* section_home_news
====================================================== */
.section_info_home{
    width: 100%;
    margin:0 0 50px 0;
}

.section_info_home .body{
    width:980px;
    margin: auto;
}

.section_info_home .body h2{
    font-size: 3.5rem;
    color:#fff;
    font-weight: bold;
    padding:0 0 0 28px;
    margin: 0;
}

.section_info_home .body .section_head span a{
    position: absolute;
    right: 28px;
    top:40px;
    font-size:1.5rem;
    color:#fff;
    font-weight: bold;
}

.section_info_home .body .section_head span a::before{
    content:"";
    display: inline-block;
    width:33px;
    height:20px;
    background-image: url("../img/arrow_news_home.jpg");
    position: relative;
    left:-10px;
    top:4px;
}

.section_info_home .body .section_head span a:hover{
    text-decoration: none;
}

.section_info_home .body h3{
    font-size: 2.5rem;
    color:#e75405;
    padding:20px 0 20px 40px;
}

.section_info_home ul.list_news li{
    width:100%;
    height:90px;
	border-bottom:solid 1px #bcbcbc; 
	display: table;
    color:#1a1a1a;
}

.section_info_home ul.list_news li div{
	display: table-cell;
	vertical-align: middle;
}

.section_info_home ul.list_news li div.date{
	width:245px;
	color:#00a0e9;
    padding:0 0 0 33px;
}

.section_info_home ul.list_news li div.title{
	line-height: 1.8em;
	position: relative;
}

.section_info_home ul.list_news li div.date::after{
	content: "▶︎";
	position: absolute;
	color:#26a7eb;
    left : 220px;
}

.section_info_home ul.list_news li div.title a{
	text-decoration: none;
    color:#1a1a1a;
}

.section_info_home ul.list_news li div.title a:hover{
    text-decoration: underline;
}

.section_info_home ul.list_news li div.thumbnail_image{
	width:280px;
    text-align: right;
    float: right;
}
/* section_careers
====================================================== */
.section_careers{
    width:100%;
    height:255px;
    background: url(../img/bg_home_entry.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.section_careers .body{
    width:980px;
    margin: auto;
    color:#fff;
    position: relative;
}

.section_careers .body > div{
    background: url("../img/bg_title_02.png");
    width:100%;
    height: 80px;
}

.section_careers .body h2{
    font-size:2.8rem;
    font-weight: bold;
    text-shadow:0px 0px 8px #000,0px 0px 8px #000,0px 0px 8px #000;
    margin: 0;
    background:none;
}

.section_careers .body p{
    font-size:2rem;
    text-align: right;
    position: absolute;
    top:45px;
    right:30px;
    margin: 0;
    line-height: 3rem;
    color:#fff;
}
    
.section_careers .btn a{
    display: block;
    width:240px;
    height:50px;
    line-height: 47px;
    margin: auto;
    border:solid 2px #fff;
    color:#fff;
    border-radius: 0;
    padding:0;
    position: absolute;
    top:100px;
    left:calc(50% - 120px);
    transition: all 0.3s;
    background: url("../img/bg_title_02.png");
}

.section_careers .btn a:hover{
    text-decoration: none;
    background: #fff;
    color:#000;
    opacity: 0.8;
}

/* company
====================================================== */
.contents.about .title{
    background: url(../img/bg_title_about.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.contents.artifacts .title{
    background: url(../img/bg_title_ihin.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50%;
}

.contents.about section .body .main{
    width:980px;
    height: 712px;
    margin: auto;
    background: url("../img/img_company_main.jpg");
    position: relative;
}

.contents.about section .body .main p{
    width: 100%;
    margin: 0;
    color: #fff;
    font-size: 4.5rem;
    font-weight: bold;
    text-align: center;
    position: absolute;
    bottom: 30px;
    text-shadow:
    0 2px 1px #002868,
    2px 0 1px #002868,
    0 -2px 1px #002868,
    -2px 0 1px #002868,
    -2px -2px 1px #002868,
    2px -2px 1px #002868,
    -2px 2px 1px #002868,
    2px 2px 1px #002868,
    0 1px 13px rgba(0, 115, 170, 0.7),
    1px 0 13px rgba(0, 115, 170, 0.7),
    0 -1px 13px rgba(0, 115, 170, 0.7),
    -1px 0 13px rgba(0, 115, 170, 0.7),
    -1px -1px 13px rgba(0, 115, 170, 0.7),
    1px -1px 13px rgba(0, 115, 170, 0.7),
    -1px 1px 13px rgba(0, 115, 170, 0.7),
    1px 1px 13px rgba(0, 115, 170, 0.7); 
}

.company_detail .body .main .text_area {
    width: 100%;
	height: 247px;
    margin:1.5em 0 2em 0.7em;
	padding-right: 1.5em;
	padding-bottom: 1.5em;
}

.company_detail .body .body .text_area2 {
    width: 100%;
	height: auto;
    margin:1.5em 0 2em 0.7em;
	padding-right: 1.5em;
	padding-bottom: 1.5em;
}

.company_detail .body .main .text_area2 {
    width: 100%;
	height: auto;
    margin:1.5em 0 2em 0.7em;
	padding-right: 1.5em;
	padding-bottom: 1.5em;
}

.company_detail .body .main .text_area2 .text_bg {
    width: 100%;
	height: auto;
    margin:1.5em 0 1em 0;
	padding: 1.5em;
	background-color: #bbeaff;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5em;
}

.company_detail .text_area .img_R {
    float: right;
	margin: 0 0 1.5em 0.5em;
	padding-bottom: 1.5em;
}

.company_detail .text_area2 .img_R {
    float: right;
	margin: 0 0 1.5em 0.5em;
	padding-bottom: 1.5em;
}

.contents.about section .body .main h2{
    background: url("../img/bg_title_03.png")
}

.contents.about section .body table{
    width:980px;
    margin: auto;
    margin-bottom: 40px;
}

.contents.about section .body table th,
.contents.about section .body table td{
    border-bottom:1px solid #bcbcbc;
    padding:20px 0 20px 18px;
}

.contents.about section .body table .td_R{
    border-bottom:1px solid #bcbcbc;
	border-left:1px solid #bcbcbc;
    padding:20px 0 20px 18px;
}

.contents.about section .body table th{
    background: #eee;
    vertical-align: middle;
    width:200px;
    font-size: 1.4rem;
    font-weight: bold;
    color:#313131;
}

.contents.about section .body table td{
    color:#1a1a1a;
}

.contents.about section .body table .td_R{
    color:#1a1a1a;
}

.contents.about section.section_access .body{
    width:980px; 
    margin:0 auto 40px auto;
}

.contents.about section.section_access .body p{
    margin:1.5em 0 0.5em 0;   
}

.contents.about section.section_access .body div iframe{
    width: 70%;
    height: 424px;
}

/* Footer
====================================================== */
footer{
	width:100%;
	height:244px;
	background: #313131;
	font-size:1.4rem;
	color:#fff;
    border-top:2px solid #00a0e9;
}

footer .body{
	width:980px;
	margin: auto;
	position: relative;
    padding:0 20px;
}

footer .body #footer_nav{
	width:calc(100% - 130px);
	display: table;	
	position: absolute;
	top:5px;
    margin:0 0 0 130px;
}

footer .body #footer_nav li{
	display: table-cell;
	text-align: center;
	font-size:1.6rem;
}

footer .body #footer_nav li a{
	display: inline-block;
	width:100%;
	padding: 10px 0;
	color: #fff;
	text-decoration: none;
}

footer .body .section_company{
    width: 100%;
	text-align: left;
	position: absolute;
	top:140px;
	margin: 0;
	font-size:1.5rem;
}

footer .body .section_company > span{
    display: block;
}

footer .body .section_company .name{
	font-size:2rem;
    font-weight: bold;
}

footer .body .section_sns{
    position: absolute;
    top:85px;
    right:0;
	margin: 0;
    text-align: right;
}

footer .body .section_sns span{
    font-size:1.4rem;
    font-weight: bold;
    display: block;
    color:#fff;
}

footer .body .section_sns ul{
    display: inherit;
    text-align: right;
    position: relative;
    top:10px;
}

footer .body .section_sns ul li a{
    margin-left: 11px;
}

footer .body .text_privacy{
	width: 100%;
	text-align: right;
	position: absolute;
	top:180px;
	margin: 0;
}

footer .body .text_privacy a{
  color :#fff;
}

footer .body .text_copyright{
	height: 25px;
	width: 100%;
	text-align: right;
	position: absolute;
	top:216px;
	margin: 0;
    font-size: 1.3rem;
    color:#fff;
}

@media print, screen and (min-width: 769px) {
    
	/* Common
	====================================================== */
	.sp{
		display: none !important;
	}
	
	/* Pagenation
	====================================================== */
	.pager{
		text-align: right;
		font-size: 2.1rem;
		letter-spacing:-3px;
		margin-top:10px !important;
	}
	
	.pager li>a, .pager li>span{
		border:none;
		padding:0 5px;
		border-radius: inherit;
		background: #fff;
		margin: 0;
	}
	
	.pager li>a:hover,
	.pager li>a:focus{
		background: no-repeat;
		color:#00abeb;
	}
	
	.pager li a{
		color:#7a7a7a;
	}
	
	.pager li.active a{
		color:#00abeb;
	}

}

@media (max-width: 768px) {
	
	/* Common
	====================================================== */
	.pc{
		display: none !important;
	}
	
	.sp_center{
		text-align: center;
	}
    
    .wrapper {
        padding-top:70px;
    }
    
    p{
        font-size: 1.1rem;
        color:#313131;
        line-height: 2rem;
    }
		
	/* Header
	====================================================== */	
	header .header_unit{
		display: none;
	}
	
	/* Global Nav
	====================================================== */
	button{
		width:35px;
		height:50px;
		border:solid 2px #00abeb;
		background: #fff;
		position: absolute;
		top:5px;
		right:10px;
		padding: 0;
	}
	
	button .bar{
		width: 37px;
		height: 7px;
		display: block;
		padding: 0;
		margin: 0;
		position: relative;
		left:6px;
		top:0px;
	}
	button .bar{
		background-color:#00abeb;
	}
	button .bar+.bar{
		margin-top: 5px;
	}

	
	/* Nav Bar
	====================================================== */
    #nav_home{
        height:612px !important;
        /*background: url("../img/bg_main_01.jpg");*/
        background-position:center top;
        background-size: cover;
        margin:0;
    }
    
	.navbar{
		width:100%;
		background:#fff;
		box-shadow:none;
		height: 72px;
		position: fixed;
		z-index: 9999;
		margin-bottom:0px;
		border:none;
        border-top:solid 1px #00a0e9;
        border-bottom:solid 1px #e5e5e5;
	}
	
	.navbar .container{
		width:100% !important;
		margin: 0 auto;
		padding:0;
		position: relative;
	}
	
	.navbar > .container > a > img{
		height: 78px;
		position: relative;
		left: 10px;
	}
	
	.navbar-header{
		width:100%;
		position: absolute;
		top:0px;
	}
	
	.container>.navbar-header,
	.container-fluid>.navbar-header,
	.container>.navbar-collapse,
	.container-fluid>.navbar-collapse{
		margin: 0;
	}
		
	.collapsing {
		-webkit-transition: height 0s ease;
		transition: height 0s ease;
	}
	
	.navbar-toggle{
		border-radius: 0;
		padding: 0;
		margin: 0;
	}
	
	.navbar-default .navbar-toggle:hover,
    .navbar-default .navbar-toggle:focus{
		background: url("../img/text_sp_menu_scroll.png");
        background-repeat: no-repeat;
        background-size: 27px 8px;
        background-position: 2px 40px;
	}
	
	.navbar-default .navbar-toggle{
		border:none;
        background: url("../img/text_sp_menu_scroll.png");
        background-repeat: no-repeat;
        background-size: 27px 8px;
        background-position: 2px 40px;
	}
	
	.navbar-default .navbar-toggle .icon-bar{
		background: #000;
		width:22px;
		height:2px;
		position: relative;
		left:5px;
	}
	
	.navbar .nav_unit{
		width:calc(100vw - 70px);
		min-width:calc(100vw - 70px);
		position:inherit;
        top:0px;
        left:70px;
        padding-top:70px;
	}
	
    .navbar .text_copy{
        width:150px;
        height: 30px;
        margin:6px 0 0 0;
        position: absolute;
        top:5px;
        left:150px;
	}
    
	.navbar .nav_unit .navbar-nav{
		text-align: left;
		height:110vh;
		font-size:1.4rem;
		width: auto;
		position: inherit;
		top:-70px;
		left:0;
		overflow-y: scroll;
		margin: 0 -15px;
		display: block;
        background: none;
        padding-top:75px;
	}
    
    .navbar .nav_unit .navbar-nav.t{
        background: #fff;
    }
	
	.navbar .nav_unit .navbar-nav > li{
		text-align: left;
		display:block;
		width: 100%;
		padding:0;
	}
	
	.navbar .nav_unit .navbar-nav > li,
	.navbar .nav_unit .navbar-nav > li:last-child{
		border:none;	
	}
	
	.navbar .nav_unit .navbar-nav > li > a{
		padding:20px 0 20px 40px;
		text-decoration: none;
		color:#000;
		background: #fff;
		border-bottom:solid 1px #bcbcbc;
		line-height: 20px;
		font-weight: bold;
	}
    
    .navbar .nav_unit .navbar-nav > li:first-child > a{
        border-top:solid 1px #bcbcbc;
    }
	
	.navbar .nav_unit .navbar-nav > li > a:hover{
		background: #00ace9;
		color:#fff;
		transition: background 0.5s;
	}
	
	.navbar .nav_unit .navbar-nav > li.nest a{
        background: url(../img/arrow_menu_sp.png);
        background-repeat: no-repeat;
        background-position:  center right 40px;
        background-size: 8px 14px;
	}
    
    .container>.navbar-collapse{
        border-top:none;
    }
    
    .navbar .nav_unit .navbar-nav li a:hover {
        background: #00a0e9;
        color:#fff !important;
    }
	
	
	/*------------- Toggle Animation ----------------*/
	body.fixed{
		position: fixed;
	}
	
	.icon-bar {
		transition: all 0.2s;
		-webkit-transition: -webkit-transform 0.2s;
	}
	
	.top-bar,
	.bottom-bar{
		transform: rotate(0);
		transform-origin: 85% 140%;
	}
	
	.navbar.open .top-bar{
		transform: rotate(-45deg);
	}
	
	.navbar.open .middle-bar{
		opacity: 0;
	}
	
	.navbar.open .bottom-bar{
		transform: rotate(45deg);
		transform-origin: 85% -50%;
	}
	
	.navbar-default .navbar-nav.top>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav.top>.open>a:focus{
		background: rgba(0,172,233,0.5);
	
	}
    
    /* nav logo
    ====================================================== */
    .navbar .container .section_logo a{
        position: absolute;
        left:15px;
        top:12px;
        width:145px;
        height: 47.4px;
        background: url(../img/logo.png);
        background-size: contain;
        font-size:0;
    }
    
    /* nav action
    ====================================================== */
    #nav_home .navbar .nav_unit .navbar-nav > li > a{
        color:#000;
    }
    
    #nav_home .navbar{
        border-top:solid 1px #00a0e9;
        border-bottom:solid 1px transparent;
        height:72px;
    }
    
    #nav_home .scroll.navbar{
        border-top:solid 1px #00a0e9;
        border-bottom:solid 1px #a0a0a0;
        height:72px;
    }
    
    #nav_home .navbar .container .section_logo a{
        position: absolute;
        left:15px;
        top:12px;
        width:145px;
        height: 47.4px;
        background: url(../img/logo_home.png);
        background-size: contain;
        font-size:0;
    }
    
    #nav_home .scroll.navbar .container .section_logo a{
        position: absolute;
        left:15px;
        top:12px;
        width:145px;
        height: 47.4px;
        background: url(../img/logo.png);
        background-size: contain;
        font-size:0;
    }
    
    #nav_home .navbar-default .navbar-toggle{
		border:none;
        background: url("../img/text_sp_menu.png");
        background-repeat: no-repeat;
        background-size: 27px 8px;
        background-position: 2px 40px;
	}
    
    #nav_home .scroll.navbar-default .navbar-toggle{
        background: url("../img/text_sp_menu_scroll.png");
        background-repeat: no-repeat;
        background-size: 27px 8px;
        background-position: 2px 40px;
	}
    
    #nav_home .navbar-default .navbar-toggle .icon-bar{
		background: #fff;
	}
    
    #nav_home .scroll.navbar-default .navbar-toggle .icon-bar{
		background: #000;
	}
    
     /* nav open
    ====================================================== */
    .navbar-default .navbar-toggle.open .icon-bar,
    #nav_home .navbar-default .navbar-toggle.open .icon-bar{
		background: #000;
    }
    
    .navbar-default .navbar-toggle.open,
    #nav_home .navbar-default .navbar-toggle.open{
        background-image: url("../img/text_sp_menu_open.png");
        background-repeat: no-repeat;
        background-size: 30px 8px;
        background-position: 1px 40px;
	}
    
    .navbar-default .navbar-toggle.open:hover,
    .navbar-default .navbar-toggle.open:focus{
        background-image: url("../img/text_sp_menu_open.png");
        background-repeat: no-repeat;
        background-size: 30px 8px;
        background-position: 1px 40px;
	}
    
    /* section_mvText{
    ====================================================== */
    .section_mvText .text_mv{
        color:#fff;
        position: absolute;
        top:130px;
        left:0;
        text-align: center;
        display: block;
        width:100%;
    }

    .section_mvText .text_mv .text_mv01{
        font-size: 2.3rem;
        font-weight: bold;
    }
    
    .section_mvText .text_mv .text_mv02{
        font-size: 1.3rem;
    }
	
	
	/* Contents
	====================================================== */
    #home .contents{
        top:0px;
	}
	
	.contents .header{
		height:100px;
	}
	
	.contents .header .body{
		width:100%;
		margin: 0;
		padding: 0;
	}
	
	.contents .header .body h1{
		font-size:2rem;
		padding:20px 0 0 10px;
		font-weight: bold;
	}
	
	.contents .body{
		width:calc(100% - 40px);
        margin: auto;
    }
	
	.contents .body h2{
		line-height: 5rem;
		padding-left:3px;
        font-size: 1.7rem;
        color:#fff;
        font-weight: bold;
        padding:0 0 0 15px;
        position: relative;
        height: 40px;
        background: url("../img/bg_title_01.png");
        width:100%;
	}
    
    .contents .body h3{
        font-size: 1.8rem;
        font-weight: bold;
        color:#ed6d00;
        margin: 0;
        line-height: 2.4rem;
        padding:10px 0;
    }
	
	.contents > .body > span.strong{
		font-size:2.4rem;
		line-height: 1.4em;
		padding:10px 0 20px 0;
	}
    
    /* pankuzu
    ====================================================== */
    .pankuzu{
        width: 100%;
        height: 36px;
        background: #eee;
        border-bottom:solid 1px #fff;
        position: relative;
        overflow: hidden;
    }

    .pankuzu .body{
        width: calc(100% - 120px);
        margin: auto;
        line-height: 36px;
        position: absolute;
        left:20px;
    }

    /* title
    ====================================================== */
    .contents > .title{
        width:100%;
        height: 140px;
        text-align: center;
    }

    .contents > .title h2{
        font-weight: bold;
        font-size:1.8rem;
        color:#fff;
        line-height: 140px;
        margin: 0;
        width: 100%;
        margin: auto;
    }
    
    /* section_mvLink
    ====================================================== */
    .section_mvLink{
        width:200px;
        height:470px;
        background:none;
        position: relative;
        top:290px;
        margin: auto;
    }
    .section_mvLink ul{
        display :inherit;
        width:100%;
        margin: 0;
        text-align: center;
    }

    .section_mvLink ul li{
        position: relative;
    }

    .section_mvLink ul li:nth-child(2){
        top:20px;
    }

    .section_mvLink ul li a img{
        transition: transform 0.2s ease-out;
    }

    .section_mvLink ul li a:hover img{
        transform: scale(1.03);   
    }
    
    
    /* section_home_feature
    ====================================================== */
    .section_home_feature{
        width: 100%;
        height:320px;
        background: url(../img/bg_home_feature.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50%;
    }

    .section_home_feature .body{
        width:calc(100% - 40px);
        margin: auto;
        padding:0;
    }

    .section_home_feature .body ol{
        padding:20px 0 10px 0;
    }

    .section_home_feature .body ol li{
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 3.2rem;
        padding-left:8px;
    }
    
    .section_home_feature .body ol li::before{
        content:"";
        display: inline-block;
        width: 23px;
        height: 18.5px;
        content:"";
        background-size: contain;
        position: relative;
        top:3px;
        left:-5px;
    }
    
    .section_home_feature .body span.strong{
        font-size: 2.5rem;
        top:270px;
        left:0;
        position: absolute;
    }
	
	
    /* section_home_news
    ====================================================== */
    .section_info_home{
        width: 100%;
        margin:0 0 30px 0;
    }

    .section_info_home .body{
        width:calc(100% - 40px);
        margin: auto;
    }

    .section_info_home .body .section_head{
        width:100%;
        height:40px;
        padding:0;
    }

    .section_info_home .body .section_head span a{
        position: absolute;
        right: 10px;
        top:15px;
        font-size:1.2rem;
        color:#fff;
        font-weight: bold;
    }

    .section_info_home .body .section_head span a::before{
        content:"";
        display: inline-block;
        width:25px;
        height:15px;
        background-image: url("../img/arrow_news_home.jpg");
        background-size: contain;
        position: relative;
        left:-10px;
        top:4px;
    }

    .section_info_home .body .section_head span a:hover{
        text-decoration: none;
    }

    .section_info_home .body h3{
        font-size: 2.5rem;
        color:#e75405;
        padding:20px 0 20px 40px;
    }

    .section_info_home ul.list_news li{
		padding:10px 0;
		display: block;
		width: 100%;
        height: auto;
	}

	.section_info_home ul.list_news li div{
		display: block;
		/*vertical-align: top;*/
	}
	
	.section_info_home ul.list_news li div.date{
		width:100%;
        padding:0;
	}
	
	.section_info_home ul.list_news li div.title{
		width:calc(100% - 20px) ;
		line-height: 1.8em;
		position: relative;
		margin-left:20px;
	}
	
	.section_info_home ul.list_news li div.title span:before{
		content: "▶︎";
		position: absolute;
		left:-20px;
        top:0;
		color:#26a7eb;
	}
    
    .section_info_home ul.list_news li div.date::after{
        content: "";
    }
    
    /* section_home_education
    ====================================================== */
    .section_home_education{
        width:100%;
        height:375px;
        background: url(../img/bg_home_education.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50%;
    }
    .section_home_education .body{
        width:100%;
        margin: 0 auto;
        position: relative;
    }
    .section_home_education .body .section_text{
        background: url(../img/bg_home_sub_head.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 100% -20px;
        width:350px;
        height:170px;
        position: absolute;
        top:0;
        left:calc(50% - 600px);
        padding:0 0 0 105px;
    }

    .section_home_education .body h2{
        font-size:2.8rem;
        font-weight: bold;
        color:#fff;
    }

    .section_home_education .body h3{
        font-size:2.8rem;
        font-weight: normal;
        color:#fff;
    }

    .section_home_education .body p{
        font-size:1.6rem;
        color:#fff;
        line-height: 3rem;
    }

    .section_home_education .body .btn{
        width: 160px;
        height: 45px;
        line-height: 45px;
        background: #f8b500;
        padding:0;
        border-radius: 0;
        position: relative;
        left:150px;
    }

    .section_home_education .body .btn a{
        color:#fff;
    }

    .section_home_education .body .btn a:hover{
        text-decoration: none;
    }

    .section_home_education .body .btn:hover{
        opacity: 0.8;
        transition: all 0.5s;
    }

    .section_home_education .body .btn a::after{
        content:"▶︎";
        font-size:1.2rem;
        position: relative;
        top:-1px;
        left:2px;
        color:#e75405;
    }
  
    /* section_careers
    ====================================================== */
    .section_careers{
        width:100%;
        height:130px;
        background: url(../img/bg_home_entry.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50%;
    }
    
    .section_careers .body{
        width:100%;
        margin: auto;
        color:#fff;
        position: relative;
    }
    
    .section_careers .body > div{
        height:40px;
        background: url("../img/bg_title_02.png");
        width:calc(100% - 20px);
        margin: auto;
    }

    .section_careers .body h2{
        text-shadow:none;
        margin: 0;
        width: 100%;
        line-height: 25px;
        background: none;
    }
    
    .section_careers .body p{
        font-size:1.2rem;
        text-align: right;
        position: absolute;
        top:20px;
        right:20px;
        margin: 0;
        line-height: 2rem;
    }

    .section_careers .btn a{
        display: block;
        width:150px;
        height:30px;
        line-height: 27px;
        margin: auto;
        border:solid 1px #fff;
        color:#fff;
        border-radius: 0;
        padding:0;
        position: absolute;
        top:50px;
        left:calc(50% - 75px);
        transition: all 0.3s;
        font-size:0.8rem;
    }

    .section_careers .btn a:hover{
        text-decoration: none;
        background: #fff;
        color:#000;
        opacity: 0.8;
    }
    
    
    /* company
    ====================================================== */
    .contents.about section .body .main{
        width:calc(100% + 40px);
        height: 305px;
        margin: auto;
        background: url("../img/img_company_main.jpg");
        background-size: cover;
        background-position: 50%  top;
        position: relative;
        left:-20px;
        padding:0 20px;
    }
    
    .contents.about section .body .main p{
        width: calc(100% - 40px);
        margin: auto;
        font-size: 2rem;
        position: absolute;
        bottom: 20px;
    }

    .contents.about section .body table{
        width:100%;
        margin-bottom: 20px;
    }

    .contents.about section .body table th,
    .contents.about section .body table td{
        border-bottom:1px solid #bcbcbc;
        padding:14px 0 14px 6px;
    }

    .contents.about section .body table th{
        background: #eee;
        vertical-align: middle;
        width:75px;
        font-size: 1.2rem;
        font-weight: bold;
        color:#313131;
    }

    .contents.about section .body table td{
        color:#1a1a1a;
        font-size: 1.1rem;
        line-height: 2rem;
    }
    
    .contents.about section.section_access{
        width:calc(100% - 40px);
        margin: 0 auto 0 auto;
    }
    
    .contents.about section.section_access .body{
        width:100%;
        margin:0 auto 20px auto;
    }

    .contents.about section.section_access .body p{
        margin:1.5em 0 0.5em 0; 
        font-size: 1.2rem;
    }
    
    .contents.about section.section_access .body div iframe{
        width: 100%;
        height: 542px;
    }

	/* Footer
	====================================================== */
	footer{
		height:150px;
        overflow: hidden;
	}
	
	footer .body{
		width: calc(100% - 40px);
		margin: auto;
		padding:0 10px;
	}
	
	footer .body #footer_nav{
		display: none;
	}
	
	footer .body .company_name{
        width:100vw;
		text-align: center;
		font-size: 1.4rem;
		top:0;
		margin: 15px 0 0 0;
        position: relative;
	}
    
    footer .body .section_sns{
        display: inherit;
        text-align: center;
        position: relative;
        top:0;
        margin: 5px 0 20px 0;
    }
    
    footer .body .section_sns > span{
        display: inline-block;
        position: relative;
        top:8px;
        font-size:1.4rem;
    }
	
    footer .body .section_sns ul{
        display: flex;
        justify-content:center;
        position: relative;
        top:15px;
        text-align: center;
    }
    
    footer .body .section_sns ul li img{
        width:70%;
        height: auto;
    }
    
    footer .body .section_sns ul li a{
        margin-left: 3px;
    }
    
    footer .body .text_privacy{
        width: 100%;
        text-align: center;
        position: relative;
        top:5px;
        margin: 0;
    }
    
	footer .body .text_copyright{
        position: relative;
		text-align: center;
		font-size: 1.4rem;
		top:0px;
		margin: 10px 0 5px 0;
	}
	
}

@media all and (min-width: 500px) and (max-width: 768px) {
    .navbar .nav_unit .navbar-nav > li > a{
        padding:15px 0 10px 40px;
    }
}
