@charset "UTF-8";

html {
  overflow: auto;
  height: 100%;
}
body.drawer-open{
 overflow: hidden;
     height: 100%;
 }

body, h1, h2, h3, h4, h5, h6, pre, ul, ol, li, dl, dt, dd, p, img {
 margin: 0;
 padding: 0;
 color: #111;
}
.b_top{
 border-top:5px solid #c3143b;
 position:fixed;
 top:0;
 z-index:9999;
 width:100%;
}
img {
 vertical-align: bottom !important;
}
body {
 font-family: 'Teko', sans-serif;
 color: #333;
 line-height: 100%;
 -webkit-text-size-adjust: 100%;
 position: relative;
 background: #fff;
 border-top:5px solid #c3143b;
}
a {
 color: #fff;
 text-decoration: none;
 cursor: pointer;
 outline: none;
}
a:link {
 text-decoration: none;
 outline: none;
}
a:hover {
 color: #fff;
 text-decoration: none;
 outline: none;
 transition: all 0.3s ease-in-out 0s;
}
ul, ol {
 list-style-type: none;
}
ul li, ol li, dl {
 line-height: 1.6;
}
a:focus {
 outline: none;
}
::selection {
 background-color: #c3143b;
 color: #fff;
}
::-moz-selection {
background-color: #c3143b;
 color: #fff;
}
h1, h2, h3, h4, h5, h6, pre, li, dt, dd, th, td, p {
 font-size: 15px;
 line-height: 1.6;
  letter-spacing:0.1rem;
}

.bordernon {
 border: none !important;
}


.mdSpan {
 position: relative;
}
.mdSpan i {
 display: block;
 left: 0;
 line-height: 0;
 margin-top: -75px;
 padding-top: 75px;
 position: absolute;
 text-indent: -9999px;
 top: 0;
}


.blue:hover {
 color: #00036a;
 text-decoration: underline;
}

ul.ddul li {
 list-style-type: circle !important;
 padding-left: 1.3em;
 text-indent: -1em;
 list-style-position: inside;
}



.opacty08{
 opacity:0.9;
}

/*-
/*----------------------------------------------------
	☆Crearfix
----------------------------------------------------*/


.clearfix:after {
 content: ".";
 height: 0;
 clear: both;
 display: block;
 font-size: 0.1em;
 line-height: 0;
 visibility: hidden;
}
.clearfix {
 display: inline-block;
 min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clearfix {
 height: 1%;
}
/* End hide from IE-mac */
/*----------------------------------------------------
	☆br clear
----------------------------------------------------*/


br.clear_noie {
 display: inline !important;
 display: none;
 clear: both;
 line-height: 0px;
}
br.clear_all {
 clear: both;
 line-height: 0px;
}
.mdSpan {
 position: relative;
}
.mdSpan i {
 display: block;
 left: 0;
 line-height: 0;
 margin-top: -107px;
 padding-top: 107px;
 position: absolute;
 text-indent: -9999px;
 top: 0;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
br.clear_noie {
 display: block!important;
 content: " ";
}
}
div.clear_noie {
 clear: both;
 line-height: 0px;
}
/*----------------------------------------------------
	☆topcontrol
----------------------------------------------------*/
#topcontrol {
 z-index: 9999;
}
#topcontrol a {
 background: url(../cmn_js/scrolltop/scrollup.png) center center no-repeat;
 background : url(../cmn_js/scrolltop/scrollup.gif) center center no-repeat\9; /* IE8 and below */
 *background : url(../cmn_js/scrolltop/scrollup.gif) center center no-repeat; /* IE7 and below */
 _background : url(../cmn_js/scrolltop/scrollup.gif) center center no-repeat; /* IE6 */
 font-size: 0;
 display: block;
 height: 60px;
 width: 60px;
 background-size: 50px 50px;
 opacity: 0.7;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 box-sizing: border-box;
 -webkit-transition: all .15s ease-in-out;
 transition: all .15s ease-in-out;
}
#topcontrol a:hover {
 background-size: 55px 55px;
 opacity: 1;
}
/*----------------------------------------------------
	☆header
----------------------------------------------------*/


.logo{
 width:70%;
 margin:0 auto;
 padding:50px 0;
}



ul.sidenavin li a{
 transition: all 0.5s ease-in-out 0s;
-moz-transition: all 0.5s ease-in-out 0s;
-webkit-transition: all 0.5s ease-in-out 0s;
-o-transition: all 0.5s ease-in-out 0s;
 display:block;
 box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
border-left:3px solid #bb0023;
border-top:1px solid #efefef;
font-family: 'Teko', sans-serif;
font-size:18px;
font-size:1.8rem;
letter-spacing:0.4rem;
font-style:italic;
padding:20px 0 20px 20px;
color:#111;
}


ul.sidenavin li a:hover{
 background:#bb0023;
 color:#fff;
}






h1.maincopy {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(0.95, 0.95);
    transform: translate(-50%, -50%) scale(0.95, 0.95);
    -webkit-transform: translate(-50%, -50%) scale(0.95, 0.95);
    -moz-transform: translate(-50%, -50%) scale(0.95, 0.95);
    width: auto;
    z-index: 9999;
    transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
}


h1.maincopy img{
 width:70%;
}
/*----------------------------------------------------
	☆footer
----------------------------------------------------*/
/*----------------------------------------------------
	☆footer
----------------------------------------------------*/

footer {
 background: #111111;
 color: #fff;
}
ul.footerul {
 padding: 10px 0;
 border: 1px solid #595959;
 text-align: center;
}
ul.footerul li {
 width: 20% !important;
 margin-right:0 !important;
}
ul.footerul li a {
 transition: all 0.5s ease-in-out 0s;
 -moz-transition: all 0.5s ease-in-out 0s;
 -webkit-transition: all 0.5s ease-in-out 0s;
 -o-transition: all 0.5s ease-in-out 0s;
 text-align: center;
 margin-right: 0;
 font-family: 'Teko', sans-serif;
 letter-spacing: 0.3rem;
 display: block;
 width: 100%;
}
ul.footerul li a:hover {
 color: #c3143b;
}

address{
 padding:10px 0;
 font-size:10px ;
 font-size:1.0rem;
 letter-spacing:0.2rem;
 font-style:normal;
 background:#a00025;
 color:#fff;
 text-align:center;
}

/*----------------------------------------------------
	☆move
----------------------------------------------------*/
.graymove {
 text-align: center;
}
.graymove .graymovein {
 display: inline-block;
 line-height: 0;
 position: relative;
 overflow: hidden;
 width: auto;
}
.graymove .graymovein {
 display: block;
 line-height: 0;
 position: relative;
 overflow: hidden;
 width: auto;
}
.graymove .graymovein:before {
 background-color: rgba(0,3,106,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 2;
}
.graymove .graymovein:after {
 background-color: rgba(0,4,157,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 1;
}
.showTime .graymovein:before {
 left: 100%;
}
.showTime .graymovein:after {
 left: 100%;
}
.showTime .graymovein:before {
 transition: all 0.8s ease-in-out 0.2s;
 -webkit-transition: all 0.8s ease-in-out 0.2s;
}
.showTime .graymovein:after {
 left: 100%;
 transition: all 1.2s ease-in-out 0.6s;
 -webkit-transition: all 1.2s ease-in-out 0.6s;
}
.redmove {
 text-align: center;
}
.redmove .redmovein {
 display: inline-block;
 line-height: 0;
 position: relative;
 overflow: hidden;
 width: auto;
}
.redmove .redmovein:before {
 background-color: rgba(248,248,248,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 2;
}
.redmove .redmovein:after {
 background-color: rgba(230,0,18,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 1;
}
.showTime .redmovein:before {
 left: 100%;
}
.showTime .redmovein:after {
 left: 100%;
}
.showTime .redmovein:before {
 transition: all 0.8s ease-in-out 0s;
 -webkit-transition: all 0.8s ease-in-out 0s;
}
.showTime .redmovein:after {
 left: 100%;
 transition: all 0.8s ease-in-out 0.3s;
 -webkit-transition: all 0.8s ease-in-out 0.3s;
}
.blackmove {
 text-align: center;
}
.blackmove .blackmovein {
 display: inline-block;
 line-height: 0;
 position: relative;
 overflow: hidden;
 width: auto;
}
.blackmove .blackmovein:before {
 background-color: rgba(248,248,248,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 2;
}
.blackmove .blackmovein:after {
 background-color: rgba(17,17,17,1);
 width: 100%;
 height: 100%;
 content: "";
 position: absolute;
 top: 0;
 left: 0%;
 z-index: 1;
}
.showTime .blackmovein:before {
 left: 100%;
}
.showTime .blackmovein:after {
 left: 100%;
}
.showTime .blackmovein:before {
 transition: all 0.8s ease-in-out 0.5s;
 -webkit-transition: all 0.8s ease-in-out 0.5s;
}
.showTime .blackmovein:after {
 left: 100%;
 transition: all 0.8s ease-in-out 0.8s;
 -webkit-transition: all 0.8s ease-in-out 0.8s;
}

/*----------------------------------------------------
	☆table
----------------------------------------------------*/

.tablebox {
 width: 100%;
}
.tablebox th, .tablebox td {
 background: #fafafa;
 color: #111;
 box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 border: 1px solid #dbdbdb;
 padding: 15px 10px;
 width: 25%;
}
.tablebox td {
 background: #fff;
 width: 75%;
}
.tableintable {
 width: 95%;
}
.tableintable th, .tableintable td {
 background: #fff !important;
 color: #111;
 box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 text-align: left !important;
 border: none !important;
 padding: 10px;
 width: 25%;
 font-weight: normal !important;
}
.tableintable td {
 width: 75% !important;
}
.historytable th, .historytable td {
 width: 7% !important;
}
.historytable td {
 width: 93% !important;
}

/*----------------------------------------------------
	☆svg
----------------------------------------------------*/


@media all and (-ms-high-contrast: none) {
p.ieimg {
 display: block;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -moz-transform: translate(-50%, -50%);
}
}

@media only screen and (max-width: 740px) {
@media all and (-ms-high-contrast: none) {
 p.ieimg {
 width:100%;
}
 p.ieimg img {
 width:300px;
 text-align:center;
}
}
}
#loading {
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -moz-transform: translate(-50%, -50%);
 z-index: 999999;
}
#loader-bg {
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0px;
 left: 0px;
 background: #a00025;
 z-index: 99999999999999;
}

#main-contents {
 text-align: center;
}



.loading {
    position: absolute;
    top: 50%;
    left: 50%;
		transform: skewX(-15deg);
-moz-transform: skewX(-15deg);
-webkit-transform:skewX(-15deg);

}
.loading .bullet {
    position: absolute;
    padding: 15px 2px;
    background: #fff;
    -webkit-animation: animIn 1s ease-in-out 0s infinite;
    animation: animIn 1s ease-in-out 0s infinite;
}
.loading .bullet:nth-child(1) {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
	
}
.loading .bullet:nth-child(2) {
    -webkit-animation-delay: 0.15s;
    animation-delay: 0.15s;
}
.loading .bullet:nth-child(3) {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}
.loading .bullet:nth-child(4) {
    -webkit-animation-delay: 0.45s;
    animation-delay: 0.45s;
}
@-webkit-keyframes animIn {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
}
@keyframes animIn {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
}







p.ieimg {
 display: none;
}

@media all and (-ms-high-contrast: none) {
p.ieimg {
 display: block;
 position: absolute;
 left: 50%;
 top: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -moz-transform: translate(-50%, -50%);
}
}

@media only screen and (max-width: 740px) {
@media all and (-ms-high-contrast: none) {
 p.ieimg {
 width:100%;
}
 p.ieimg img {
 width:300px;
 text-align:center;
}
}
}
.box {
 width: 250px;
 margin: 0 auto;
 text-align: center;
 z-index: 999999999;
}
.bd {
 width: 250px;
 text-align: center;
 position: relative;
 padding: 60px 0;
 -webkit-transition: all .1s ease-in-out;
 transition: all .1s ease-in-out;
}
div.bd div {
 position: absolute;
 -webkit-transition: all .1s ease-in-out .3s;
 transition: all .1s ease-in-out .3s;
}
.active .bd div {
}
.active .bd div.bdT {
 width: 100%;
 height: 1px;
 top: 0;
 left: 0;
}
.active .bd div.bdB {
 width: 100%;
 height: 1px;
 bottom: 0;
 right: 0;
}
.active .bd div.bdR {
 height: 100%;
 width : 1px;
 right: 0;
 top: 0;
}
.active .bd div.bdL {
 height: 100%;
 width : 1px;
 left: 0;
 bottom: 0;
}
div.bdT {
 width: 0;
}
div.bdB {
 width: 0;
}
div.bdR {
 height: 0;
}
div.bdL {
 height: 0;
}
.box:hover .bd div.bdT {
 width: 0;
}
.box:hover .bd div.bdB {
 width: 0;
}
.box:hover .bd div.bdR {
 height: 0;
}
.box:hover .bd div.bdL {
 height: 0;
}
.path {	/*ストロークの色や太さ*/
 stroke: #111;
 fill: #fff;
 stroke-width: 0.5;
 /*破線*/
 stroke-DASHarray: 3000;
 stroke-DASHoffset: 3000;
 /*アニメーション*/
 -moz-animation: DASH 2s ease-in-out .2s forwards;
 -webkit-animation: DASH 2s ease-in-out .2s forwards;
 -o-animation: DASH 2s ease-in-out .2s forwards;
 animation: DASH 2s ease-in-out .2s forwards;
 -webkit-transition: all .3s ease-in-out;
 transition: all .3s ease-in-out;
}

@media only screen and (max-width: 740px) {
.box {
 width: 320px;
}
.bd {
 width: 320px;
}
}
 @keyframes DASH {
 0% {
stroke-DASHoffset:3000;
fill:#fff;
}
 80% {
stroke-DASHoffset:2000;
fill:#fff;
}
 100% {
stroke-DASHoffset:0;
fill:#111;
}
}
 @-moz-keyframes DASH {
 0% {
stroke-DASHoffset:3000;
fill:#fff;
}
 80% {
stroke-DASHoffset:2000;
fill:#fff;
}
 100% {
stroke-DASHoffset:0;
fill:#111;
}
}
 @-webkit-keyframes DASH {
 0% {
stroke-DASHoffset:3000;
fill:#fff;
}
 80% {
stroke-DASHoffset:2000;
fill:#fff;
}
 100% {
stroke-DASHoffset:0;
fill:#111;
}
}
 @-o-keyframes DASH {
 0% {
stroke-DASHoffset:3000;
fill:#fff;
}
 80% {
stroke-DASHoffset:2000;
fill:#fff;
}
 100% {
stroke-DASHoffset:0;
fill:#111;
}
}
 @-ms-keyframes DASH {
 0% {
stroke-DASHoffset:3000;
fill:#fff;
}
 80% {
stroke-DASHoffset:2000;
fill:#fff;
}
 100% {
stroke-DASHoffset:0;
fill:#111;
}
}

/*--topheader--*/




 /*デバイスの横幅が1300px以下の場合*/
@media only screen and (max-width: 1300px) {



/*----------------------------------------------------
	☆header
----------------------------------------------------*/


ul.headerlist li.logo{
 margin:0 5px;
}




ul.headerlist li.logo a img{
 width:150px;
}



ul.headerlist li a {
 font-size: 12px;
 font-size: 1.2rem;
  padding: 25px 10px 25px;

}
ul.headerlist li a:hover {
 color:#fff;
 background:#006896;
}



header .boxR p.contact a{
 padding: 15px 15px;
}


#dropmenu li ul.no1 {
  left:280px;
}
#dropmenu li ul.no2 {
  left: 585px;
}








}

/*デバイスの横幅が1024px以下の場合*/
@media only screen and (max-width: 1024px) {

}

/*デバイスの横幅が960px以下の場合*/
@media only screen and (max-width: 960px) {
 
 
 
 .mdSpan i {
 margin-top: -60px;
 padding-top: 60px;
}

/*----------------------------------------------------
	☆header
----------------------------------------------------*/


.spcompanyname {
 border-bottom:1px solid #fff;
 box-sizing: border-box;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 position: fixed;
 left: 0;
 top: 0;
 background: #fff;
 z-index: 999;
 min-height: 61px;
 padding-top: 15px;
 padding-left: 10px;
 width: 100%;
}

.spcompanyname a img {
 width:120px;
}

h1.maincopy img{
 width:95%;

}

/*----------------------------------------------------
	☆footer
----------------------------------------------------*/

footer {
 text-align: center !important;
}
footer .box01 {
 padding: 5% 2.5% 2.5%;
}
footer .box02 {
 padding: 2.5%;
}
footer p.ad {
 text-align: center !important;
}


}