@charset "utf-8";

/**========reset==========**/

html, body, div, header, footer, nav, article, section, aside, hgroup, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, code, span, mark, a, em, strong, abbr, cite, del, dfn, ins, kbd, q, samp, small, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, details, summary, menu, output, ruby, time, img, figure, figcaption, audio, video, canvas, embed, object, iframe {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	font-weight: normal;
}
input, textarea {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-sizing: border-box;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th {
	text-align: left;
}
a:focus {
	outline: none;
}
input, textarea {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-sizing: border-box;
}
img{
	vertical-align: bottom;
}


html {
    font-size: 10px;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
}
body{
	    font-family: "Noto Sans Japanese", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, sans-serif;
    -webkit-font-smoothing: antialiased;
    font-size: 16px;
    background: url(../img/common/loading.gif) no-repeat center 300px;
}
body.load{
	background: none;
}

/**========common==========**/

.wrapper{
	min-width: 980px;
}

header #cmp_bt{
	display: none;
}
header .head_line{
	height: 5px;
	background: #2963c1;
}
nav{
	background: #f8f8f8;
	height: 80px;
}
nav .nav_inner{
	max-width: 1230px;
	margin: 0 auto;
	padding: 0 25px;
	position: relative;
}
nav .nav_inner .nav_logo img{
	vertical-align: middle;
	width: 150px;
}
nav .nav_inner .nav_logo{
	display: inline-block;
	height: 80px;
	line-height: 80px;
}
nav .nav_inner ul{
	display: inline-block;
}
nav .nav_inner ul li{
	display: inline-block;
	vertical-align: middle;
	height: 80px;
	line-height: 70px;
	margin-left: 50px;
}

/****/

@media screen and (max-width: 1100px) {

nav .nav_inner ul li{
	margin-left: 30px;
}

}

/****/


nav .nav_inner ul li.nav_contact{
	position: absolute;
	right: 10px;
	top: 50%;
	height: 44px;
	line-height: 44px;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
}
nav .nav_inner ul li a{
	font-size: 18px;
	text-decoration: none;
	vertical-align: middle;
	color: #2963c1;
	height: 80px;
	line-height: 75px;
	display: inline-block;
	font-weight: bold;
}

nav .nav_inner ul li.nav_contact{
	margin-left: 0;
}
nav .nav_inner ul li.nav_contact a{
	background: #f03c23;
	height: 44px;
	line-height: 44px;
	border-radius: 3px;
	padding: 0 20px;
	display: inline-block;
	color: #fff;
	margin-top: -5px;
}
nav .nav_inner ul li.nav_contact a .mail_ico{
	background: url(../img/common/mail_ico.png) no-repeat center center;
    background-size: contain;
	width: 25px;
    height: 44px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -5px;
}
nav .nav_inner ul li a .home_ico{
	background: url(../img/common/home_ico.png) no-repeat center center;
    background-size: contain;
	width: 20px;
	height: 44px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -5px;
}
nav .nav_inner ul li a:hover{
	opacity: 0.5;
}
nav .nav_inner ul li.nav_contact a:hover{
	opacity: 0.5;
}

footer{
	background: #2963c1;
}
footer .inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 10px;
	text-align: center;
}
footer .inner ul li {
    display: inline-block;
    vertical-align: middle;
    height: 40px;
    line-height: 40px;
    min-width: 200px;
    border-right: 1px solid #fff;
}
footer .inner ul li:last-child {
	border-right:none;
}

footer .inner ul li a{
	display: block;
	height: 40px;
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
}
footer .inner ul li a:hover{
	opacity: .7;
}

footer .inner ul li a .home_ico {
	background: url(../img/common/home_ico.png) no-repeat center center;
    background-size: contain;
    width: 20px;
    height: 44px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    margin-top: -5px;
}

/**AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA***/

#foot_contact{
	position: fixed;
	bottom:0px;
	left:0;
	width: 100%;
	background: #fff;
	z-index: 1000;
	box-shadow: 0 0 15px rgba(0,0,0,.3);
}
#foot_contact.fadeup{
	bottom:-1px;
	animation-name: fadeUp;
	animation-duration: 1s;
}
.foot_fix #foot_contact{
	position: relative;
	animation-name: fadeIn;
	animation-duration: 3s;
	opacity: 1;
	bottom:0px;
	box-shadow: 0 0 0px rgba(0,0,0,0);
}

@keyframes fadeIn {
    0% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}
@keyframes fadeUp {
    0% {
        bottom:-80px;
    }
    100% {
        bottom:0px;
    }
}

#foot_contact .inner{
	padding: 0 80px 0 10px;
	position: relative;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
	
}
#foot_contact .inner .pagetop{
	position: absolute;
	top:0;
	right: 0;
	width: 80px;
	height: 80px;
	border-left: 1px #f8f8f8 solid;
	background: url(../img/common/pagetop.jpg) no-repeat center center;
}
#foot_contact .inner .foot_contact{
	position: relative;
}
#foot_contact .inner .foot_contact.box_ttl{
	width: 25%;
	height: 80px;
	background: url(../img/common/tel_arrow.jpg) no-repeat center right #fff;
}
#foot_contact .inner .foot_contact.box_tel{
	background: #e7e7e7;
	width: 45%;
	height: 80px;
}
#foot_contact .inner .foot_contact.box_form{

	height: 80px;
	width: 30%;
}


#foot_contact .inner .foot_contact.box_ttl .ttl_wrap{
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: right;
	padding-right: 60px;
}
#foot_contact .inner .foot_contact.box_ttl .tx_block{
	text-align: right;
	display: block;
	color: #686868;
}
#foot_contact .inner .foot_contact.box_ttl .tx_block .ttl_logo img{
	height: 30px;
	width: auto;
}
#foot_contact .inner .foot_contact.box_ttl .tx_block p{
	display: block;
	font-weight: bold;
}
#foot_contact .inner .foot_contact.box_ttl .tx_block a{
	display: block;
}

/**/

#foot_contact .inner .foot_contact.box_tel .tx_block{
	text-align: left;
	display: inline-block;
	color: #686868;
	padding-left: 26px;
	background: url(../img/common/tel_ico.png) no-repeat left bottom;
    background-size: 20px auto;
}
#foot_contact .inner .foot_contact.box_tel .tel_wrap{
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	padding-left: 20px;
}
#foot_contact .inner .foot_contact.box_tel .tel_ttl{
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 3px;
}
#foot_contact .inner .foot_contact.box_tel p{
	display: inline-block;
	vertical-align: middle;
	line-height: 1.3;
	font-size: 12px;
	text-align: left;
}
#foot_contact .inner .foot_contact.box_tel p.tel_no{
	font-size: 33px;
	font-weight: bold;
	margin-right: 8px;
	line-height: 1;
}

/***/
#foot_contact .inner .foot_contact.box_form a{
	background: #f03c23;
	height: 80px;
	display: block;
	text-align: center;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	line-height: 80px;
}
#foot_contact .inner .foot_contact.box_form a:hover{
	opacity: 0.5;
}
#foot_contact .inner .foot_contact.box_form a .mail_ico{
	background: url(../img/common/mail_ico.png) no-repeat center center;
	background-size: contain;
	width: 30px;
	height: 80px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -5px;
}

/****/

@media screen and (max-width: 1100px) {

#foot_contact .inner .foot_contact.box_ttl{
	width: 20%;
	height: 80px;
	background: url(../img/common/tel_arrow.jpg) no-repeat center right #fff;
}
#foot_contact .inner .foot_contact.box_tel{
	background: #e7e7e7;
	width: 50%;
	height: 80px;
}
#foot_contact .inner .foot_contact.box_form{
	background: #f03c23;
	height: 80px;
	width: 30%;
}
#foot_contact .inner .foot_contact.box_ttl .ttl_wrap{
	padding-right: 30px;
}
#foot_contact .inner .foot_contact.box_tel .tel_wrap {
    padding-left: 10px;
}

}

/****/

/**AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA***/


/**AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA***/

@media screen and (min-width: 781px) {

.foot_fix #foot_contact:after { 
  content: "";
  display: block; 
  clear: both;
}
.foot_fix #foot_contact .inner{
	padding: 0px 0px 0 0px;
    width: 100%;
    display:block;
	
}

.foot_fix #foot_contact .inner .foot_contact{
	position: relative;
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl{
	width: 100%;
	height: 80px;
	text-align: center;
	background:none;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel{
	background: #ededed;
	float: left;
	width: 50%;
	height:150px;
}
.foot_fix #foot_contact .inner .foot_contact.box_form{
	float: left;
	width: 50%;
	height:150px;
}


.foot_fix #foot_contact .inner .foot_contact.box_ttl .ttl_wrap{
	padding: 0;
	
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl .tx_block{
	text-align: center;
	display: block;
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl .tx_block .ttl_logo img{
	height: 50px;
	width: auto;
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl .tx_block p{
	display: inline-block;
	font-weight: bold;
}

/**/

.foot_fix #foot_contact .inner .foot_contact.box_tel .tx_block{
	text-align: left;
	display: block;
	color: #696969;
	padding-left: 26px;
	background: url(../img/common/tel_ico.png) no-repeat left bottom;
    background-size: 23px auto;
	width: 400px;
	margin: 0 auto;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel .tel_wrap{
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	padding-left: 20px;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel .tel_ttl{
	font-size: 13px;
	font-weight: bold;
	margin-bottom: 3px;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel p{
	display: inline-block;
	vertical-align: middle;
	line-height: 1.3;
	font-size: 12px;
	text-align: left;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel p.tel_no{
	font-size: 33px;
	font-weight: bold;
	margin-right: 8px;
	line-height: 1;
}

/***/
.foot_fix #foot_contact .inner .foot_contact.box_form a{
	background: #f03c23;
	height: 150px;
	display: block;
	text-align: center;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	line-height: 150px;
}
.foot_fix #foot_contact .inner .foot_contact.box_form a .mail_ico{
	background: url(../img/common/mail_ico.png) no-repeat center center;
    background-size: contain;
	width: 40px;
	height: 150px;
	display: inline-block;
	vertical-align: middle;
	margin-right: 5px;
	margin-top: -5px;
}

}

/**AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA***/

.copy_w{
	padding:260px 20px;
	text-align: right;
	border-top: 1px solid #e4e4e4;
}
.foot_fix .copy_w{
	padding:30px 20px;
}
.copy_w img{
	width: 200px;
	height: auto;
}
.copy_w p{
	font-size: 10px;
	color: #696969;
	margin-top: 3px;
}

main{
background: #fff;
}

/**===========

共通

===========**/
.tx_1l{
	display: inline-block;
}
figure img{
	width: 100%;
	height: auto;
}
figure.max img{
	width: auto;
	max-width: 100%;
	height: auto;
}

.sp_block{
	display: none;
}
.sp_inblock{
	display: none;
}

section p{
	line-height: 1.8;
}
 @media screen and (max-width: 1060px) {
	section p{
		font-size: 15px;
		line-height: 1.6;
	}
 }
 .data_fade{
 	opacity: 0;
 	transform: translateY(200px);
 }
  .data_fade.appear{
 	opacity: 1;
 	top:0px;
 	transform: translateY(0px);
 	-webkit-transition: all 2s;
    transition: all 2s;
 }
 .liner_animation{
 	-webkit-transition: all 1.5s;
    transition: all 1.5s;
    width: 1.5%;
 }
  .liner_animation.liner_wide{
    width: 100%;
 }

/**===========

下層

===========**/

.un_key{
	background:url(../img/common/un_ttl_bg.jpg) no-repeat center center #000;
	background-size: cover;
	text-align: center;
}
.un_key img{
	max-width: 100%;
}

.page_ttl{
	padding: 65px 0;
	text-align: center;
}
.page_ttl h1{
	font-size: 26px;
	line-height: 1;
	font-weight: bold;
}
.page_ttl h1 .tx_eng{
	display: block;
	font-size: 60px;
	color: #2963c1;
	margin-top: 10px;
	font-weight: inherit;
}

/**====================================

sp

=========================================**/

 @media screen and (max-width: 780px) {

.wrapper{
	min-width: 320px;
}

/**========head=============**/
header{
	height: 50px;
	position: relative;
	background: #f8f8f8;
}
header .head_line{
	display: none;
}
header #cmp_bt{
	display: block;
	position: absolute;
	top:0;
	left: 0;
	height: 50px;
	width: 45px;
	border-right: 1px solid #dcdcdc;
	z-index: 2;
}

header #cmp_bt span{
	display: block;
    width: 17px;
    height: 2px;
    background: #0b56a7;
    position: absolute;
    left: 14px;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -webkit-transform 0.2s;
    transition: transform 0.2s;
    transition: transform 0.2s, -webkit-transform 0.2s;
}
header #cmp_bt span.cmp_line_top{
	top:17px;
}
header #cmp_bt span.cmp_line_mid{
	top:25px;
}
header #cmp_bt span.cmp_line_bottom{
	top:33px;
}


nav {
    height: 50px;
    text-align: center;
}

nav .nav_inner .nav_logo {
    display: inline-block;
    height: 50px;
    line-height: 50px;
}
nav .nav_inner .nav_logo img {
    height: 30px;
    width: auto;
}
nav .nav_inner ul {
    display:none;
    width: 100%;
    height: 100vh;
    background: #f8f8f8;
    position: absolute;
    top:50px;
    left: 0;
    padding: 0 10px;
    z-index: 1200;
}
nav .nav_inner ul li {
    display: block;
    width: 100%;
    height: 60px;
    line-height: 60px;
    margin-left: 0px;
}
nav .nav_inner ul li:nth-child(1){
	margin-top: 30px;
}
nav .nav_inner ul li.nav_contact {
    position: relative;
    right: 0px;
    top: 20px;
    width: 100%;
    height: 60px;
    line-height: 60px;
    -webkit-transform: translateY(0%);
    -moz-transform: translateY(0%);
    transform: translateY(0%);
}
nav .nav_inner ul li.nav_contact a {
    background: #f03c23;
    width: 100%;
    height: 60px;
    line-height: 60px;
    border-radius: 3px;
    padding: 0 20px;
    color: #fff;
    margin-top: 0px;
}
/**========menuon=============**/
header.menuon #cmp_bt span.cmp_line_top{
	-moz-transform: translateY(8px) rotate(-45deg);
    -o-transform: translateY(8px) rotate(-45deg);
    -ms-transform: translateY(8px) rotate(-45deg);
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}
header.menuon #cmp_bt span.cmp_line_mid{
	opacity: 0;
}
header.menuon #cmp_bt span.cmp_line_bottom{
	-moz-transform: translateY(-8px) rotate(45deg);
    -o-transform: translateY(-8px) rotate(45deg);
    -ms-transform: translateY(-8px) rotate(45deg);
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
}

/**========menuon=============**/

/****foot****/

footer .inner{
	padding: 0px;
	text-align: left;
}
footer .inner ul li {
    display:block;
    height: 60px;
    line-height: 60px;
    width: 100%;
    padding: 0 15px;
    border-right:none;
    border-bottom: 1px solid #fff;
}

footer .inner ul li a{
	display: block;
	height: 60px;
}

footer .inner ul li a .home_ico {
    background: url(../img/common/home_ico.png) no-repeat center center;
    background-size: contain;
    width: 20px;
    height: 60px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    margin-top: -5px;
}

#foot_contact .inner{
	padding: 0px 80px 0 0px;
	position: relative;
    width: 100%;
    display: block;
}

#foot_contact .inner:after { 
  content: "";
  display: block; 
  clear: both;
}
#foot_contact .inner .pagetop{
	position: absolute;
	top:0px;
	right: 0;
	width: 80px;
	height: 50px;
	border-left: 1px #f8f8f8 solid;
	background: url(../img/common/pagetop_sp.jpg) no-repeat center center;
}

#foot_contact .inner .foot_contact.box_ttl{
	width: 100%;
	height: 60px;
	background: none;
	position: absolute;
	top:0px;
	right: 0;
	display: none;
}

#foot_contact .inner .foot_contact.box_tel{
	float: left;
	width: 50%;
	height: 50px;
}
#foot_contact .inner .foot_contact.box_form{
	float: left;
	width: 50%;
	height: 50px;
}

#foot_contact .inner .foot_contact.box_form a{
    height: 50px;
    line-height: 50px;
}

#foot_contact .inner .foot_contact.box_form a .mail_ico {
    height: 50px;
    margin-right: 5px;
    margin-top: -5px;
}

#foot_contact .inner .foot_contact.box_ttl .ttl_wrap {
    width: 100%;
    text-align:  center;
    padding-right: 0px;
}
#foot_contact .inner .foot_contact.box_ttl .tx_block {
    text-align: center;
}

#foot_contact .inner .foot_contact.box_tel .tx_block{
	display: none;
}
#foot_contact .inner .foot_contact.box_form a {
 
    font-size: 10px;
}

.copy_w{
	padding:30px 10px;
	text-align: center;
}

.foot_fix #foot_contact .inner{
    padding: 60px 80px 0 0px;
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl{
    display: block;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel{
    height: 80px;
}
.foot_fix #foot_contact .inner .foot_contact.box_form{
    height: 80px;
}
.foot_fix #foot_contact .inner .foot_contact.box_form a{
    height: 80px;
    line-height: 80px;
}
.foot_fix #foot_contact .inner .foot_contact.box_form a .mail_ico {
    background: url(../img/common/mail_ico.png) no-repeat center center;
    background-size: contain;
    height: 80px;
    margin-right: 5px;
    margin-top: -5px;
}
#foot_contact .inner .foot_contact.box_tel a {
    background: #bddbff;
    height: 50px;
    display: block;
    text-align: center;
    text-decoration: none;
    font-size: 10px;
    font-weight: bold;
    color: #19559c;
    line-height: 50px;
}
#foot_contact .inner .foot_contact.box_tel a .tel_sp_ico {
    background: url(../img/common/tel_ico_sp.png) no-repeat center center;
    background-size: 15px auto;
    width: 30px;
    height: 50px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    margin-top: -5px;
}
.foot_fix #foot_contact .inner .foot_contact.box_tel a {
    height: 80px;
    line-height: 80px;
}

.foot_fix #foot_contact .inner .pagetop{
	top:60px;
    height: 80px;
	background: url(../img/common/pagetop.jpg) no-repeat center center;	
}
.foot_fix #foot_contact .inner .foot_contact.box_ttl .tx_block p img{
	line-height: 40px;
}

/**===========

共通

===========**/
.pc_block{
	display: none;
}
.pc_inblock{
	display: none;
}
.sp_block{
	display: block;
}
.sp_inblock{
	display: inline-block;
}

/**===========

下層

===========**/


.page_ttl{
	padding: 30px 0;
	text-align: center;
}
.page_ttl h1{
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
}
.page_ttl h1 .tx_eng{
	display: block;
	font-size: 20px;
	margin-top: 5px;
	font-weight: inherit;
}



}

.colour_led{
	color:#99E010;
}
.colour_led.strong{
	font-weight: bold;
}

.wave svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* ===== dot animation ===== */

circle {
	opacity: 0;
	transform-box: fill-box;
	transform-origin: center;
	animation-name: dotFade;
	animation-timing-function: ease;
	animation-fill-mode: forwards;
}

circle.center-dot {
	animation-name: centerDotFade;
}

@keyframes dotFade {
	0% {
		opacity: 0;
	}

	2.8% {
		opacity: 1;
	}

	91.7% {
		opacity: 1;
	}

	100% {
		opacity: 0;
	}
}

@keyframes centerDotFade {
	0% {
		opacity: 0;
		transform: scale(.2);
	}

	2.8% {
		opacity: 1;
		transform: scale(1);
	}

	91.7% {
		opacity: 1;
		transform: scale(1);
	}

	100% {
		opacity: 0;
	}
}