@charset "utf-8";
/* CSS Document */

.__________________PC-COMMON_________________{}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____body_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
/*━━━━━━━━━━━━━━━━━━
BODY
━━━━━━━━━━━━━━━━━━*/

html, body{
 height: 100%;
 letter-spacing: 2px;
 font-family: 'Noto Sans JP', sans-serif;
 font-weight: 400;
 font-size: 14px;
 line-height: 24px;
 color: #1e1e1e; 
}

body{
 position: relative;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
.anchor{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}

/*ヘッダー固定時のページ内リンク位置調整*/
.anchor{
 padding-top: 64px;
 margin-top: -64px;
 display: block;
 }

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____a_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
/*━━━━━━━━━━━━━━━━━━
a
━━━━━━━━━━━━━━━━━━*/

a{
 transition: all 0.2s;
 color: #1e1e1e;
 text-decoration: none;
}

a:hover{
 filter:alpha(opacity=70);
 opacity:0.7;
 transition:all 0.2s; 
}

a.external-link{
 color: #134193;
}

a.external-link:hover{
 text-decoration: none;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____contents_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
/*━━━━━━━━━━━━━━━━━━
コンテンツ／メイン
━━━━━━━━━━━━━━━━━━*/

#contents{
 clear: both;
}

#contents-inner{
 width: 1080px;
 margin-right: auto;
 margin-left: auto;
}

#contents::after{
 content: "";
 display: block;
 clear: both; 
}

.TOP-PAGE #contents{
}

.SUB-PAGE #contents{
 padding-top: 60px;
 padding-bottom: 100px;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____header_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
/*━━━━━━━━━━━━━━━━━━
ヘッダー
━━━━━━━━━━━━━━━━━━*/
header{
 width: 1080px;
 height: 150px;
 margin-right: auto;
 margin-left: auto;
}

header .logo {
 float: left;
 margin-top: 45px;
}

header .logo img{
 width: 212px;
}

._{}

header nav{
 float: right;
 margin-top: 60px;
}
 
header nav ul::after {
 content: "";
 display: block;
 clear: both;
}
 
header nav ul li {
 width: 80px;
 margin-right: 40px;
 float: left;
 font-size: 14px;
 font-weight: 500;
 font-family: 'Noto Serif JP', serif;
 text-align: center;
 position: relative;
}

header nav ul li::after {
 content: "";
 display: block;
 position: absolute;
 width: 6px;
 height: 6px;
 border-radius: 9999px;
 background-color: #0099e2;
 top: 10px;
 right: -22px;
}
 
header nav ul li:last-of-type {
 margin-right: 0px;
}

header nav ul li:last-of-type::after {
 display: none;
}

header nav ul li a {
 display: block;
}

header nav ul li a span{
 font-size: 11px;
 font-weight: 400;
 font-family: futura-pt, sans-serif;
 display: block;
 color: #0099e2;
 margin-top: 3px;
 line-height: 12px;  
}

header nav ul li a::after {
 content: "";
 display: block;
 position: absolute;
 width: 0px;
 height: 2px;
 top: -5px;
 left: 0px;
 transition: all 0.2s;
 background: rgb(0,148,216);
 background: linear-gradient(90deg, rgba(0,148,216,1) 0%, rgba(26,65,161,1) 100%);
}

header nav ul li a:hover::after {
 width: 100%;
 transition: all 0.2s;
}


.NEWS header nav ul li:nth-of-type(1) a::after {
 width: 100%;
}

.BUSINESS header nav ul li:nth-of-type(2) a::after {
 width: 100%;
}

.ABOUT header nav ul li:nth-of-type(3) a::after {
 width: 100%;
}

.CASE header nav ul li:nth-of-type(4) a::after {
 width: 100%;
}

.BLOG header nav ul li:nth-of-type(5) a::after {
 width: 100%;
}

.CONTACT header nav ul li:nth-of-type(6) a::after {
 width: 100%;
}


.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____breadcrumbs_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
#breadcrumbs{
 width: 1080px;
 margin-right: auto;
 margin-left: auto;
 clear: both;
 padding-top: 15px;
 padding-bottom: 15px;
}

#breadcrumbs ol {
 float: right;
}

#breadcrumbs ol li {
	margin-bottom: 10px;
	font-size: 13px;
	display: inline;
	margin-right: 40px;
 position: relative;
}

#breadcrumbs ol li:last-of-type {
	margin-right: 0px;
}

#breadcrumbs ol li::after{
 content: "";
 display: block;
 position: absolute;
 background-image: url("../../image/common/marker_bl.png");
 background-size: cover;
 width: 3px;
 height: 6px;
 top: 50%;
 transform: translateY(-50%) ;
 right: -20px;
}

#breadcrumbs ol li:last-child::after{
 display: none;
}

#breadcrumbs ol li a {
 text-decoration: none;
 color: #2d2d2d;
}

#breadcrumbs ol li a:hover {
	text-decoration: none;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____footer_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}

footer {
 clear: both;
}

._{}

footer #footer-contact {
 background: rgb(0,148,216);
 background: linear-gradient(90deg, rgba(0,148,216,1) 0%, rgba(26,65,161,1) 100%);
 background-size: 100%;
 background-repeat: repeat-y;
}

footer #footer-contact a{
 display: block;
 padding-top: 75px;
 padding-bottom: 75px;
 transition:all 0.2s;  
 position: relative;
 filter:alpha(opacity=100);
	opacity:1;
}

footer #footer-contact a::before {
 content: "";
 display: block;
 position: absolute;
 top: 0px;
 left: 0px;
 height: 100%;
 width: 1px;
 transition: all 0.4s;
 background: rgb(162,226,255);
 background: linear-gradient(90deg, rgba(162,226,255,1) 0%, rgba(0,148,216,1) 100%);
}

footer #footer-contact a:hover::before {
 width: 100%;
 transition: all 0.4s; 
}

footer #footer-contact .inner {
 width: 1080px;
 margin-right: auto;
 margin-left: auto;
 position: relative;
}

footer #footer-contact .inner dl {
}

footer #footer-contact .inner dl dt img{
 float: left;
 margin-right: 60px;
}

footer #footer-contact .inner dl dd {
 font-size: 17px;
 line-height: 26px;
 font-weight: 500;
 color: #FFFFFF;
 transition:all 0.2s;
}

footer #footer-contact .inner dl dd br{
 display: none;
}

footer #footer-contact .more {
 width: 50px;
 height: 50px;
 border: 1px solid #FFFFFF;
 border-radius: 9999px;
 position: absolute;
 right: 0px;
 top: 50%;
 transform: translateY(-50%) ;
 transition:all 0.8s; 
}

footer #footer-contact .more img{
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
}


footer #footer-contact a:hover .more {
 right: -20px;
transition:all 0.8s;
}


._{}

footer #footer-link {
 background-image: url(../../image/common/footer-link_bg.jpg);
 background-size: 100%;
 background-repeat: repeat-y;
 clear: both;
}

footer #footer-link .inner{
 width: 1080px;
 height: 330px;
 margin-right: auto;
 margin-left: auto;
 position: relative;
}

footer #footer-link .top-col {
 width: 380px;
 float: left;
 background-color: #1e1e1e;
}

footer #footer-link .top-col .logo {
 margin-bottom: 10px;
 margin-top: 100px;
}

footer #footer-link .top-col .logo img {
 width:246px; 
}

footer #footer-link .top-col access {
}

footer #footer-link .top-col access p {
 color: #FFFFFF;
 font-size: 13px;
 line-height: 22px;
 font-weight: 400;
}

footer #footer-link .bottom-col {
 width: 700px;
 float: right;
 background-color: #404450;

}
footer #footer-link .bottom-col ul {
 margin-top: 75px;
 margin-left: 190px;
 overflow: hidden;
}

footer #footer-link .bottom-col ul li {
 float: left;
}

footer #footer-link .bottom-col ul li a {
 font-family: 'Noto Serif JP', serif;
 color: #FFFFFF;
 font-size: 14px;
 line-height: 16px;
 font-weight: 300;
 width: 170px;
 display: block;
 margin-bottom: 24px;
 padding-top: 10px;
 padding-bottom: 10px;
 padding-left: 26px;
 background-image: url(../../image/common/marker_wt.png);
 background-size: 4px auto;
 background-repeat: no-repeat;
 background-position: left 6px center;
 /*background-color: #AA1C1E;*/
}

footer #footer-link .bottom-col ul li a:hover {
 background-position: left 10px center!important;
}

footer #footer-link .bottom-col ul li.external-link {
}

footer #footer-link .bottom-col ul li.external-link a {
 background-image: url(../../image/common/icon_external-link.png);
 background-size: 10px auto;
 background-repeat: no-repeat;
 background-position: left 6px center; 
}

footer #footer-link .bottom-col ul li.external-link a:hover {
 background-position: left 6px top 12px!important; 
}

footer #footer-link .top-col,
footer #footer-link .bottom-col{
 height: 330px;
}

footer #footer-link #copyright{
 position: absolute;
 color: #999999;
 font-size: 12px;
 font-weight: 300;
 right: 0px;
 bottom: 15px;
 letter-spacing: 2px;
}

._{}


#footer-banner{
 height: 155px;
 background-color: #e5e5e5;
 padding-top: 14px;
 padding-bottom: 14px;
}

#footer-banner .inner{
 width: 1080px;
 margin-right: auto;
 margin-left: auto; 
}

#footer-banner ul{
 overflow: hidden;
 padding-top: 0px;
}

#footer-banner ul:nth-of-type(1) li{
 width: 354px;
 height: 60px;
 margin-right: 9px;
 margin-bottom: 7px; 
 float: left;
}

#footer-banner ul:nth-of-type(1) li:last-of-type{
 margin-right: 0px;
}

#footer-banner ul:nth-of-type(2){}

#footer-banner ul:nth-of-type(2) li{
 width: 209px;
 height: 60px;
 margin-right: 9px;
 float: left;
}

#footer-banner ul:nth-of-type(2) li:last-of-type{
 width: 208px;
 margin-right: 0px;
}

#footer-banner ul li img{
 width: 100%;
 height: auto;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____copyright_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}

#copyright{

}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
.fadeIn{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}

/* fadeIn */

.fadeIn{
animation-name: fadeInAnime;
animation-duration:1.2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger{
    opacity: 0;
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____page-top_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
/*━━━━━━━━━━━━━━━━━━
ページトップへ
━━━━━━━━━━━━━━━━━━*/

#page-top a{
 position: fixed;
 right: 35px;
 bottom: 35px;
 display: block;
 width: 57px;
 height: 57px;
 z-index: 9999;
 background-image: url("../../image/common/page-top.png");
 background-size: cover;
 background-repeat: no-repeat;
 background-position: center center;
}

#page-top a img {
}

.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}
._____common-table_____{}
.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX{}


.common-table {
 margin-bottom: 30px;
 border-top: 1px solid #eeeeee;
 width: 100%;
 margin-top: 0px;
}

.common-table tr {
	background: #FFFFFF;
}

.common-table th,
.common-table td{
 padding-top: 20px;
 padding-right: 20px;
 padding-left: 20px;
 padding-bottom: 20px;
 border-bottom: 1px dotted #e3e8f0;
 border-top-style: none;
 border-right-style: none;
 border-left-style: none;
 font-size: 13px;
 line-height: 24px;
 font-weight: 400;
}

.common-table td{
 width: 66%;
}

.common-table th {
 text-align: left;
 font-weight: 400;
 background-color: #f3f8ff;
 width: 26%;
 vertical-align: middle;
 font-size: 14px;
}

.common-table td .txt {
 margin-top: 10px;
	padding-left: 20px;
 font-size: 12px;
 line-height: 18px;
 }


