@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;200;300;400;500;700');


/*
	PC用スタイル
*/
@media screen and (min-width: 769px),print {
/* reset css */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }body { line-height: 1; }article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }nav ul { list-style: none; }blockquote, q { quotes: none; }blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }/* change colours to suit your needs */ins { background-color: #ff9; color: #000; text-decoration: none; }/* change colours to suit your needs */mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }del { text-decoration: line-through; }abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }table { border-collapse: collapse; border-spacing: 0; }/* change border colour to suit your needs */hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }input, select { vertical-align: middle; }


/*
 * defaut style
 */
html { height: 100%; overflow-y: scroll; overflow-x: hidden; font-size:16px; padding-top:0; margin-top:0!important; background:#fff; }
body { /* min-height:100%; */  font-size: 100%; color: #0F213F; word-wrap: break-word; overflow:hidden; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none /* for ipad */; }
body { font-family:'Noto Sans JP', sans-serif; font-weight:400; background:#fff; }
div { font-size:16px; letter-spacing:0px; }
table { word-break: break-word; }
img { max-width: 100%; height: auto; width: auto; vertical-align: bottom; border: none; }
select { color:#0F213F; }
li { list-style-type: none; }
ol { margin-bottom:2.0em; }
ol li {  margin-left:20px; padding-left:5px; list-style-type:decimal; margin-bottom:0.2em; line-height:150%; }
ul { margin-bottom:2.0em; }
ul li {  margin-left:20px; padding-left:0px; list-style-type:disc; margin-bottom:0.5em; line-height:150%; }
dt { font-weight:bold; line-height:160%; margin-bottom:0.5em; }
dd { margin-bottom:1.5em; line-height:150%; }
p { margin-bottom: 2.0em; line-height:150%; }
p:last-child { margin-bottom:0; }
p > img { width:100%; }
p > a {text-decoration:none; }
p > a:hover { text-decoration:underline; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
sup { position: relative; font-size: 100%; top: -5px; }
sub { position: relative; font-size: 100%; bottom: -5px; }
.clearfix { *zoom: 1; }
.clearfix:after { content: ''; display: block; clear: both; height: 0; margin-top: -1px; }
.sp { display: none!important; }
.center { text-align:center; }
.pc-center { text-align:center; }
.right { text-align:right; } 
.pc-right { text-align:right; } 
.img-left { float:left; margin-right:50px; margin-bottom:50px; width:41.66666666666667%; }
.img-right { float:right; margin-left:50px; margin-bottom:50px; width:41.66666666666667%; }
strong { /* color:#C00; */ }
em { /* color:#960; */ font-weight:bold; font-style:normal; }
* { box-sizing:border-box; }




/*
 * loading
 */ 
#splash { position: fixed; width: 100%; height: 100%; z-index: 999; text-align:center; color:#fff; z-index:10000; }
#splash_text { position: absolute; top: 50%; left: 50%; z-index: 999; transform: translate(-50%, -50%); color: #fff; width: 100%; }
.loader_cover { width: 100%; height: 50%; background-color:#192F53; transition: all .2s cubic-bezier(.04, .435, .315, .9); transform: scaleY(1); }
.loader_cover-up { transform-origin: center top; }
.loader_cover-down { position: absolute; bottom: 0; transform-origin: center bottom; }
.coveranime { transform: scaleY(0); }



/*
 * contents
 */
.contents { }
.contents .content-wrapper {}
.main-content { visibility:hidden; }


/* 汎用 */
.section {}
.section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:148px 20px; box-sizing:content-box; }
.section p { line-height:200%; }
.section p img { display:block; margin-bottom:2.5em; }
.section iframe { width:100%; height:620px; }
.block { max-width:920px; margin:50px auto 0; border-top:1px solid rgba(112,112,112,0.2);  }
.block:first-child { margin:0 auto 0; border-top:none;  }

.title01 { position:relative; margin-bottom:100px; padding-top:50px; }
.title01 span:nth-child(1)  { font-family:'Noto Serif JP'; font-size:32px; font-weight:700; color:#fff; margin-bottom:22px; display:block; }
.title01 span:nth-child(2)  { font-family:'Roboto'; font-size:16px; font-weight:400; color:#fff; display:block; }
.title01:before  { content:""; display:block; position:absolute; left:0; top:0px; width:20px; height:1px; background:#0188D8; }
.title02 { font-family:'Noto Serif JP'; font-size:34px; font-weight:400; margin-bottom:20px; line-height:120%; }
.title03 { font-size:24px; font-weight:700; line-height:120%; margin-top:80px; margin-bottom:20px; border-left:3px solid #069BF8; padding-left:23px; }
.title04 { font-size:18px; font-weight:700; margin-top:40px; margin-bottom:20px; color:#163C91; position:relative; padding-bottom:15px; letter-spacing:1px; }
.title04:before { content:""; display:block; width:100%; height:1px; background:#E2E2E2; position:absolute; left:0; bottom:0; }
.title04:after { content:""; display:block; width:23px; height:1px; background:#069BF8; position:absolute; left:0; bottom:0; }


.text01 { font-size:18px; font-weight:700; margin:40px 0 20px; }

.btn01 a { display:block; position:relative; background:#163C91; color:#fff; text-align:center; transition:0.3s ease-in-out; margin-top:100px; }
.btn01 a > span { line-height:60px; }
.btn01 a > span:after { display:block; content:""; position:absolute; right:59.5px; bottom:27px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:33.49px; height:4.92px; transition:0.2s ease-in-out; z-index:3; }
.btn01 a > span:before { display:block; content:""; position:absolute; right:40px; bottom:14px; width:27px; height:27px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; z-index:2; }
.btn01 a:hover { text-decoration:none; background:#2354C1; }
.btn01 a:hover > span:after { right:49.5px; }
.btn01 a:hover > span:before { width:32px; height:32px; bottom:12px; opacity:1; border-color:#069BF8; }

.box-flex01 { display:flex; flex-wrap: wrap; margin:0 auto 0; }
.box-flex01 > * { width:calc(513 / 1100 * 100%); margin-right:calc(74 / 1100 * 100%); margin-bottom:40px; }
.box-flex01 > *:nth-child(2n) { margin-right:0; }
.box-flex02 { display:flex; flex-wrap: wrap; margin:0 auto 0; }
.box-flex02 > * { width:calc(441 / 920 * 100%); margin-right:calc(38 / 920 * 100%); margin-bottom:30px; }
.box-flex02 > *:nth-child(2n) { margin-right:0; }
.box-flex03 { display:flex; flex-wrap: wrap; margin:0 auto 80px; }
.box-flex03 > * { width:calc(441 / 920 * 100%); margin-right:calc(38 / 920 * 100%); margin-bottom:0px; }
.box-flex03 > *:nth-child(2n) { margin-right:0; }
.box-flex03 > * > img { margin-top:6px; }
.box-flex04 { display:flex; flex-wrap: wrap; margin:0 auto 80px; }
.box-flex04 > * { width:calc(290 / 920 * 100%); margin-right:calc(25 / 920 * 100%); margin-bottom:0px; }
.box-flex04 > *:nth-child(3n) { margin-right:0; }


.table01 { border:1px solid #BFBFBF; border-radius:4px; margin-bottom:60px; }
.table01 table { width:100%; font-size:13px; }
.table01 tr { }
.table01 tr > * { width:50%; border-top:1px solid #BFBFBF; padding:15px 20px; line-height:160%; text-align:left; vertical-align:middle; }
.table01 tr:first-child > * { border-top:none; }
.table01 tr:first-child > th { border-radius:4px 0 0 0; }
.table01 tr:first-child > td { border-radius:0 4px 0 0; }
.table01 tr:last-child > th { border-radius:0 0 0 4px; }
.table01 tr:last-child > td { border-radius:0 0 4px 0; }
.table01 th { background:#EDEAEE; font-weight:500; }
.table01 td { background:#fff; font-weight:400; }

.topic-path { max-width:1100px; margin: -1px auto 0; padding:0 20px; box-sizing:content-box; z-index:10; position:relative; }
.topic-path ul { position:absolute; top:-5px; left:20px; white-space:nowrap; }
.topic-path ul li { position:relative; display:inline; line-height:62px; font-size:12px; font-weight:300; margin:0; padding:0; color:#0F213F; padding-left:40px; }
.topic-path ul li:before { content:""; display:inline-block; width:15px; height:1px; background:#0F213F; opacity:1; margin:0 12px 0 15px; position:absolute; left:-5px; top:50%; transform:translateY(-50%); }
.topic-path ul li:first-child { padding-left:0; }
.topic-path ul li:first-child:before { display:none;  }
.topic-path ul li:last-child { opacity:0.5; }
.topic-path ul li:last-child:before { opacity:0.5; }
.topic-path ul li a { transition:0.3s ease-in-out; }
.topic-path ul li a:hover { text-decoration:none; opacity:0.7; }
body.index .topic-path ul li { color:#fff; }
body.index .topic-path ul li:before { background:#fff; }


.page-title { position:relative; z-index:1; height:348px; border-bottom:1px solid rgba(112,112,112,0.2);  }
.page-title > .inner { max-width:1100px; margin:0 auto; padding:0 20px; box-sizing:content-box; position:relative; height:100%; }
.page-title > .inner:after { content:""; display:block; position:absolute; left:460px; top:50%; transform:translateY(-50%); font-family:"Roboto"; font-size:198px; font-weight:300; color:#192F53; opacity:0.03; white-space:nowrap; letter-spacing:10px; }
.page-title h1 { width:100%; position:absolute; top:50%; transform:translateY(-50%); }
.page-title h1 span:nth-child(1) { font-family:'Noto Serif JP'; font-size:34px; font-weight:700; color:#0F213F; display:block; margin-bottom:15px; letter-spacing:4px; }
.page-title h1 span:nth-child(2) { font-family:'Roboto'; font-size:16px; font-weight:400; color:#069BF8; display:block; }
body.aboutus .page-title > .inner:after { content:"ABOUT US"; }
body.our-business .page-title > .inner:after { content:"OUR BUSINESS"; }
body.privacy-policy .page-title > .inner:after { content:"PRIVACY POLICY"; }
body.site-policy .page-title > .inner:after { content:"SITE POLICY"; }
body.contact .page-title > .inner:after { content:"CONTACT"; }
body.error .page-title > .inner:after { content:"404 Not Found"; }

body.index .page-title { position:relative; z-index:1; height:428px; background:center top no-repeat; background-size:cover;  }
body.index .page-title h1 span:nth-child(1) { font-family:'Noto Serif JP'; font-size:89px; font-weight:400; color:#069BF8; display:block; margin-bottom:25px; letter-spacing:0px; }
body.index .page-title h1 span:nth-child(2) { font-size:16px; font-weight:500; color:#fff; display:block; }
body.index.aboutus .page-title { background-image:url(../img/aboutus/bg_pagetitle.jpg);   }
body.index.our-business .page-title { background-image:url(../img/aboutus/bg_pagetitle.jpg);   }


/* modal */
.mfp-bg { background:rgba(0,0,0,0.5); }
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { width:100%; max-width:1000px; }
.mfp-close-btn-in .mfp-close { opacity:1; color:rgba(0,0,0,0); width: 44px  }
.mfp-close-btn-in .mfp-close:before,
.mfp-close-btn-in .mfp-close:after { content:""; width:30px; height:1px; display:block; position:absolute; left:0; top:0; transform-origin: 50% 0%; background:#fff; }
.mfp-close-btn-in .mfp-close:before { top:14px; transform:rotate(45deg); }
.mfp-close-btn-in .mfp-close:after { top:14px; transform: rotate(-45deg); }
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 1;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.mfp-iframe-holder .mfp-content {max-width: 1100px}
.modal-body { background:#fff; width:1000px; margin:0 auto; }


input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus { background-color:#fff8dc!important; }


/* home */
.main-visual { position:relative; overflow:hidden;  }
.main-visual > .inner { height:calc(100vh - 78px); margin-right:190px; }
.main-visual:before { content:""; display:block; position:absolute; right:-190px; bottom:0; width:100%; height:calc(620 / 1000 * 100%); background:#F5F3F0; }
.main-visual-text { background:#192F53; color:#fff; padding:75px; display:inline-block; position:absolute; right:65px; bottom:60px; z-index:2; }
.main-visual-text p:nth-child(1) { font-family:'Noto Serif JP'; font-size:38px; font-weight:700; margin-bottom:20px; line-height:180%; white-space:nowrap; }
.main-visual-text p:nth-child(2) { font-family:'Noto Serif JP'; font-size:16px; font-weight:400; white-space:nowrap; }
.main-visual > .scroll { background:url(../img/home/img_scroll.png) no-repeat; background-size:cover; width:21px; height:58px; position:absolute; left:30px; bottom:-110px; display:block; z-index:2; transition:opacity 0.3s ease-in-out,bottom 0.6s ease-in-out 1s; }
.main-visual > .scroll.visible { bottom:70px; }
.main-visual > .scroll:hover { opacity:0.7; }
.main-visual > .scroll::after{ content: "";	position: absolute;	top: 65px;	left:10px;	width: 1px;	height: 30px;	background: #fff;	animation: pathmove 1.4s ease-in-out infinite; opacity:0; }

@keyframes pathmove{
	0%{
		height:0;
		top:65px;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:110px;
		opacity: 0;
	}
}


.menu-items a { display:inline-block; position:relative; }
.menu-items a > .inner:after { display:block; content:""; position:absolute; right:82px; bottom:59px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:58.5px; height:9px; transition:0.2s ease-in-out; z-index:3; }
.menu-items a > .inner:before { display:block; content:""; position:absolute; right:50px; bottom:40px; width:45px; height:45px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; z-index:2; }
.menu-items h3 { position:absolute; left:40px; bottom:30px; z-index:2; color:#fff; }
.menu-items h3 span:nth-child(1) { display:block; font-weight:400; font-size:24px; margin-bottom:12px; }
.menu-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:0.5; }
.menu-items .photo { overflow:hidden; width:100%; height:100%; position:relative; }
.menu-items .photo:after { content:""; display:block; width:100%; height:215px; position:absolute; left:0; bottom:0; background:linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%); transition:0.2s ease-in-out;  }
.menu-items .photo img { transition:0.3s ease-in-out; }
.menu-items a:hover > .inner:after { right:72px; }
.menu-items a:hover > .inner:before { width:52px; height:52px; bottom:37px; opacity:1; border-color:#069BF8; }
.menu-items a:hover .photo:after { height:100%; }
.menu-items a:hover .photo img { transform:scale(1.2,1.2); }

.external-items a { display:inline-block; position:relative; }
.external-items h3 { position:absolute; left:40px; bottom:75px; z-index:2; color:#fff; }
.external-items h3 span:nth-child(1) { display:block; font-weight:400; font-size:24px; margin-bottom:12px; }
.external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:0.5; }
.external-items .link { position:absolute; left:0; bottom:0; background:#192F53; color:#fff; width:100%; padding:20px 0; text-align:center; }
.external-items .link:after { content:""; display:block; position:absolute; right:45px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.external-items .link span { line-height:120%; position:relative; display:inline-block; }
.external-items .link span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.external-items a:hover .link:after { background-image:url(../img/common/ico_blank_on.png); }
.external-items a:hover .link span:before { width:100%; }

.section-about { background:url(../img/home/bg_main01.jpg) no-repeat center bottom; background-size:cover; }
.section-about > .inner { max-width:1100px; margin:0 auto; position:relative; padding:140px 20px; box-sizing: content-box; }
.section-about > .inner:before { content:"ABOUT US"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; left:240px; top:230px; white-space:nowrap; }
.section-about .menu-items { position:relative; }
.section-about .menu-items > a { width:calc(513 / 1100 * 100%); }
.section-about .menu-items > a:nth-child(1) { margin-bottom:105px; }
.section-about .menu-items > a:nth-child(2) { position:absolute; right:0; top:100px; }
.section-about .external-items > a { width:calc(513 / 1100 * 100%); }
.section-business { background:linear-gradient(45deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
.section-business > .inner { max-width:1100px; margin:0 auto; position:relative; padding:140px 20px 120px; box-sizing: content-box; }
.section-business > .inner:before { content:"OUR BUSINESS"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; left:240px; top:230px; white-space:nowrap; }
.section-business .menu-items { position:relative; display:flex; flex-wrap:wrap; }
.section-business .menu-items > a { width:calc(527 / 1100 * 100%); margin-right:calc(26 / 1100 * 100%); margin-bottom:40px; }
.section-business .menu-items > a:nth-child(2n) { margin-right:0; }
.section-business .external-items > a { width:calc(527 / 1100 * 100%); margin-right:calc(26 / 1100 * 100%); margin-bottom:40px; }
.section-business .external-items > a:nth-child(2n) { margin-right:0; }
.section-coexistence { position:relative; overflow:hidden; }
.section-coexistence > .inner { max-width:1100px; margin:0 auto; position:relative; padding:550px 20px 180px; box-sizing: content-box; }
.section-coexistence > .inner:before { content:"COEXISTENCE WITH SOCIETY"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#0F213F; opacity:0.03; display:block; position:absolute; left:240px; top:80px; white-space:nowrap; z-index:1; }
.section-coexistence > .inner:after { content:""; display:block; position:absolute; left:350px; top:0; width:3000px; height:1028px; background:#F5F3F0; z-index:0; }
.section-coexistence .photo { position:absolute; top:234px; left:0; width:calc(983 / 1920 * 100%); min-width:800px; max-width:1300px; z-index:1; }
.section-coexistence .photo img { width:100%; }
.section-coexistence .external-items { position:relative; z-index:2; left:calc(420 / 1100 * 100%); }
.section-coexistence .external-items > a { width:calc(680 / 1100 * 100%); background:#fff; padding-bottom:60px; }
.section-coexistence .external-items > a:hover { text-decoration:none; }
.section-coexistence .external-items > a > .inner { padding:30px 55px; }
.section-coexistence .external-items h3 { position:static; }
.section-coexistence .external-items h3 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:32px; margin-bottom:20px; color:#0F213F; }
.section-coexistence .external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:16px; opacity:1; margin-bottom:30px; color:#069BF8 }
.section-coexistence .external-items p { color:#0F213F; line-height:200%; letter-spacing:2px; margin-bottom:0; }
.section-recruit { position:relative; overflow:hidden; }
.section-recruit > .inner { max-width:1100px; margin:0 auto; position:relative; padding:590px 20px 0px; box-sizing: content-box; }
.section-recruit > .inner:before { content:"RECRUIT"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#0F213F; opacity:0.03; display:block; position:absolute; left:240px; top:160px; white-space:nowrap; }
.section-recruit .photo { position:absolute; top:304px; left:0; width:100%; }
.section-recruit .photo img { width:100%; }
.section-recruit .external-items { position:relative; z-index:2; }
.section-recruit .external-items > a { width:calc(680 / 1100 * 100%); background:#fff; padding-bottom:60px; left:50%; transform:translateX(-50%); }
.section-recruit .external-items > a:hover { text-decoration:none; }
.section-recruit .external-items > a > .inner { padding:30px 55px; }
.section-recruit .external-items h3 { position:static; }
.section-recruit .external-items h3 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:32px; margin-bottom:20px; color:#0F213F; }
.section-recruit .external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:16px; opacity:1; margin-bottom:30px; color:#069BF8 }
.section-recruit .external-items p { color:#0F213F; line-height:200%; letter-spacing:2px; margin-bottom:0; }
.section-news { position:relative; overflow:hidden; }
.section-news > .inner { max-width:1100px; margin:0 auto; position:relative; padding:140px 20px; box-sizing: content-box; }
.section-news .title01 { position:relative; margin-bottom:100px; padding-top:50px; }
.section-news .title01 span:nth-child(1)  { font-family:'Noto Serif JP'; font-size:32px; font-weight:700; color:#0F213F; margin-bottom:22px; display:block; }
.section-news .title01 span:nth-child(2)  { font-family:'Roboto'; font-size:16px; font-weight:400; color:#069BF8; display:block; }
.section-news .tab-container { display:flex; flex-wrap:wrap; margin-bottom:30px; }
.section-news .tab-group { width:calc(240 / 1100 * 100%); margin-right:calc(40 / 1100 * 100%) }
.section-news .tab-group .tab { display:block; white-space:nowrap; font-weight:700; opacity:0.3; margin-bottom:40px; position:relative; transition:0.3s ease-in-out; }
.section-news .tab-group .tab:hover { text-decoration:none; opacity:1; }
.section-news .tab-group .tab:first-child { border-left:none; }
.section-news .tab-group .tab.active { opacity:1; }
.section-news .tab-group .tab.active:before  { content:""; display:block; position:absolute; left:-20px; top:50%; transform:translateY(-50%); width:10px; height:2px; background:#0188D8; }
.section-news .tab-contents { width:calc(820 / 1100 * 100%); }
.section-news .tab-contents .news-items { display:none; }
.section-news .tab-contents .news-items.active { display:block; }
.section-news .tab-contents .news-items .item { position:relative; display:block; padding:30px 0; border-bottom:1px solid rgba(15,33,63,0.2); transition:0.3s ease-in-out; }
.section-news .tab-contents .news-items .item:hover { text-decoration:none; color:#163C91; border-color:#163C91; }
.section-news .tab-contents .news-items .item:first-child { border-top:1px solid rgba(15,33,63,0.2); }
.section-news .tab-contents .news-items .item .date { font-family:'Roboto'; margin-bottom:10px; letter-spacing:2px; }
.section-news .tab-contents .news-items .item .title { line-height:200%; }
.section-news .more { text-align:right; }
.section-news .more a { display:inline-block; position:relative; background:#192F53; color:#fff; width:236px; padding:20px 40px; text-align:left; }
.section-news .more a:after { content:""; display:block; position:absolute; right:40px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.section-news .more a span { line-height:120%; position:relative; display:inline-block; }
.section-news .more a span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.section-news .more a:hover { text-decoration:none; }
.section-news .more a:hover:after { background-image:url(../img/common/ico_blank_on.png); }
.section-news .more a:hover span:before { width:100%; }



/* our business */
body.our-business.index .section { background:linear-gradient(180deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
body.our-business.index .section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:228px 20px 105px; }
body.our-business.index .section > .inner:before { content:"OUR BUSINESS"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; left:240px; top:100px; white-space:nowrap; }
.client-list { margin-top:30px; }
.client-list ul { display:flex; flex-wrap:wrap; }
.client-list ul li { list-style-type:none; width:25%; margin:0 0 10px; padding:0; line-height:160%; }
.client-list p { margin-top:-25px; }
.event-list { margin-top:30px; display:flex; flex-wrap:wrap; }
.event-list ul { width:45%; margin:0; margin-right:10%; }
.event-list ul:last-child { margin-right:0; }
.event-list ul li { list-style-type:none; margin:0 0 10px; padding:0; line-height:160%; }
.support { background:url(../img/our-business/facility-security/bg_banner01.jpg) no-repeat center bottom; background-size:cover; padding:60px 90px; margin-top:120px; }
.support .img { margin-bottom:50px; }
.support .link { background:#163C91; color:#fff; display:block; position:relative; padding:20px 0; text-align:center; }
.support .link:after { content:""; display:block; position:absolute; right:45px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.support .link span { line-height:120%; position:relative; display:inline-block; }
.support .link span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.support .link:hover:after { background-image:url(../img/common/ico_blank_on.png); }
.support .link:hover span:before { width:100%; }


/* aboutus */
body.aboutus.index .section { background:linear-gradient(180deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
body.aboutus.index .section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:228px 20px 145px; }
body.aboutus.index .section > .inner:before { content:"ABOUT US"; font-family:"Roboto"; font-size:198px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; left:240px; top:100px; white-space:nowrap; }
.summary dl { position:relative; padding-bottom:30px; padding-left:150px; margin-bottom:30px; }
.summary dl:before { content:""; display:block; width:100%; height:1px; background:#E2E2E2; position:absolute; left:0; bottom:0; }
.summary dl:after { content:""; display:block; width:150px; height:1px; background:#069BF8; position:absolute; left:0; bottom:0; }
.summary dt { line-height:200%; position:absolute; left:0; top:0; font-weight:400; }
.summary dd { line-height:200%; margin-bottom:0; padding-left:40px; }
.summary pre { font-family:'Noto Sans JP', sans-serif; line-height:200%; }
.summary .client-list ul li { width:33%; margin-bottom:0; line-height:180%; }
.summary .related a { position:relative; display:block; line-height:48px; width:460px; margin-bottom:10px; }
.summary .related a span { position:relative; display:inline-block; }
.summary .related a span:after { content:""; display:block; position:absolute; right:-30px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.summary .related a span { line-height:120%; position:relative; display:inline-block; }
.summary .related a span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#0F213F; transition:0.2s ease-in-out; }
.summary .related a:hover span:after { background-image:url(../img/common/ico_blank_on.png); }
.summary .related a:hover span:before { width:100%; }
.summary .related .banner { width:150px; vertical-align:middle; position:absolute; right:0; top:50%; transform:translateY(-50%); }
.area-map { position:relative; max-width:1010px; margin:0 auto; }
.area-map .img {}
.area-map ul { margin:0; position:absolute; left:0; top:0; }
.area-map ul.tokyo { left:25px; top:8px; }
.area-map ul.kanagawa { left:25px; top:383px; }
.area-map ul.saitama { left:890px; top:13px; }
.area-map ul.chiba { left:890px; top:360px; }
.area-map ul li { list-style-type:none; margin:0; padding:0; margin-bottom:12px; }
.area-map ul li.child a { position:relative; list-style-type:none; color:#069BF8; }
.area-map ul li.child a:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#069BF8; transition:0.2s ease-in-out; }
.area-map ul li.child a:hover { text-decoration:none; }
.area-map ul li.child a:hover:before { width:100%; }
.area-map ul li.parent { margin-bottom:28px; }
.area-map ul li.parent a { position:relative; list-style-type:none; color:#163C91; font-size:18px; font-weight:700; }
.area-map ul li.parent a span { position:relative; z-index:1; }
.area-map ul li.parent a:before { content:""; display:block; position:absolute; bottom:-7px; left:-25px; width:40px; height:40px; background:#B1E0FD; border-radius:50px; z-index:0; transition:0.2s ease-in-out; }
.area-map ul li.parent a:hover { text-decoration:none; }
.area-map ul li.parent a:hover:before { bottom:-12px; left:-35px; width:50px; height:50px; background:#069BF8;  }

.location-items { position:relative; margin-bottom:120px; }
.location-items:last-child { margin-bottom:0; }
.location-items .title03 { margin-bottom:60px; }
.location-items .item { margin-bottom:60px; }
.location-items .item:last-child { margin-bottom:0; }
.location-items .box-flex03 { margin-bottom:40px; }
.location-items dl { position:relative; padding-left:124px; margin-bottom:10px; }
.location-items dt { position:absolute; left:0; top:0; color:#163C91; font-weight:500; }
.location-items dd { margin-bottom:0; }
.location-items dd a { color:#069BF8; cursor:default; }
.location-items dd a:hover { text-decoration:none; }
.location-items .map iframe { width:100%; height:224px; }



/* contact */
.contact-items { position:relative; padding-left:calc(252 / 940 * 100%); margin-bottom:120px; }
.contact-items:last-child { margin-bottom:0; }
.contact-items .title03 { position:absolute; left:0; top:0; margin-top:0; }
.contact-items .item { margin-bottom:60px; }
.contact-items .item:last-child { margin-bottom:0; }
.contact-items dl { position:relative; padding-left:124px; margin-bottom:10px; }
.contact-items dt { position:absolute; left:0; top:0; color:#163C91; font-weight:500; }
.contact-items dd { margin-bottom:0; }
.contact-items dd a { color:#069BF8; cursor:default; }
.contact-items dd a:hover { text-decoration:none; }


/* error */
.error-block { display:flex; flex-wrap:nowrap; }
.error-block .texts { width:calc(604 / 1100 * 100%); margin-right:calc(67 / 1100 * 100%); }
.error-block .img { width:calc(429 / 1100 * 100%);  }



/* animation */
.standby { transform: translateY(30px); opacity:0; }
.is-animated { transition-delay:0.50s!important; transform: translateY(0px); opacity:1; transition-duration: .5s!important; transition-property:transform,opacity!important; }
.is-completed { transition-delay:0s!important; transition-duration:0s!important; }

}

@media screen and (min-width: 1100px) {}
@media screen and (min-width: 769px) and (max-width: 1099px) {
	
/* our business */	
.client-list ul li { width:33%; }	


/* about us */
.area-map { width:800px; }
.area-map ul li { margin-bottom:6px; }
.area-map ul.tokyo { left:0px; top:-5px; }
.area-map ul.kanagawa { left:0px; top:292px; }
.area-map ul.saitama { left:700px; top:0px; }
.area-map ul.chiba { left:700px; top:275px; }
.summary .client-list ul li { width:50%; }

}




/*
	SP用スタイル
*/
@media screen and (max-width: 768px) {
	
/* reset css */
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary,time, mark, audio, video {margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}body {line-height:1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block;}nav ul {list-style:none;}blockquote, q {quotes:none;}blockquote:before, blockquote:after,q:before, q:after {content:'';content:none;}a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}/* change colours to suit your needs */ins {background-color:#ff9;color:#000;text-decoration:none;}/* change colours to suit your needs */mark {background-color:#ff9;color:#000; font-style:italic;font-weight:bold;}del {text-decoration: line-through;}abbr[title], dfn[title] {border-bottom:1px dotted;cursor:help;}table {border-collapse:collapse;border-spacing:0;}/* change border colour to suit your needs */hr {display:block;height:1px;border:0; border-top:1px solid #cccccc;margin:1em 0;padding:0;}input, select {vertical-align:middle;}


/*
 * defaut style
 */
html { height:100%; overflow-y:scroll; background:#fff; font-size:12px; letter-spacing:2px; line-height:180%; min-height:600px; -webkit-text-size-adjust: 100%; }
body { color:#0F213F;  word-wrap:break-word; background:#fff; -webkit-font-smoothing: antialiased; }
body { font-family:'Noto Sans JP', sans-serif; font-weight:400; background:#fff; overflow:hidden; }
div { font-size:16px; letter-spacing:0px; }
table { word-break: break-word; }
img { max-width: 100%; height: auto; width: auto; vertical-align: bottom; border: none; }
select { color:#0F213F; }
li { list-style-type: none; }
ol { margin-bottom:2.0em; }
ol li {  margin-left:20px; padding-left:5px; list-style-type:decimal; margin-bottom:0.2em; line-height:150%; }
ul { margin-bottom:2.0em; }
ul li {  margin-left:20px; padding-left:0px; list-style-type:disc; margin-bottom:0.5em; line-height:150%; }
dt { font-weight:bold; line-height:160%; margin-bottom:0.5em; }
dd { margin-bottom:1.5em; line-height:150%; }
p { margin-bottom: 2.0em; line-height:150%; }
p:last-child { margin-bottom:0; }
p > img { width:100%; }
p > a {text-decoration:none; }
p > a:hover { text-decoration:underline; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; }
sup { position: relative; font-size: 100%; top: -5px; }
sub { position: relative; font-size: 100%; bottom: -5px; }
.clearfix { *zoom: 1; }
.clearfix:after { content: ''; display: block; clear: both; height: 0; margin-top: -1px; }
.pc { display:none!important; }
.sp { display:block; }
img.sp { display:inline-block; }
.center { text-align:center; }
.right { text-align:right; } 
.img-left { float:left; margin-right:50px; margin-bottom:50px; width:41.66666666666667%; }
.img-right { float:right; margin-left:50px; margin-bottom:50px; width:41.66666666666667%; }
strong { /* color:#C00; */ }
em { /* color:#960; */ font-weight:bold; font-style:normal; }
* { box-sizing:border-box; }



/*
 * loading
 */ 
#splash { position: fixed; width: 100%; height: 100%; z-index: 999; text-align:center; color:#fff; z-index:10000; }
#splash_text { position: absolute; top: 50%; left: 50%; z-index: 999; transform: translate(-50%, -50%); color: #fff; width: 100%; }
.loader_cover { width: 100%; height: 50%; background-color:#192F53; transition: all .2s cubic-bezier(.04, .435, .315, .9); transform: scaleY(1); }
.loader_cover-up { transform-origin: center top; }
.loader_cover-down { position: absolute; bottom: 0; transform-origin: center bottom; }
.coveranime { transform: scaleY(0); }


/*
 * contents
 */
.contents { }
.main-content { visibility:hidden; }


/* 汎用 */
.section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:85px 18px; box-sizing:content-box; }
.section p { line-height:200%; }
.section p img { display:block; margin-bottom:2.5em; }
.section iframe { width:100%; height:620px; }
.block { max-width:920px; margin:50px auto 0; border-top:1px solid rgba(112,112,112,0.2);  }
.block:first-child { margin:0 auto 0; border-top:none;  }


.title01 { position:relative; margin-bottom:50px; padding-top:30px; }
.title01 span:nth-child(1)  { font-family:'Noto Serif JP'; font-size:30px; font-weight:700; color:#fff; margin-bottom:18px; display:block; }
.title01 span:nth-child(2)  { font-family:'Roboto'; font-size:12px; font-weight:400; color:#fff; display:block; }
.title01:before  { content:""; display:block; position:absolute; left:0; top:0px; width:20px; height:1px; background:#0188D8; }
.title02 { font-family:'Noto Serif JP'; font-size:24px; font-weight:700; margin-bottom:20px; line-height:120%; }
.title03 { font-size:24px; font-weight:700; line-height:120%; margin-top:40px; margin-bottom:20px; border-left:3px solid #069BF8; padding-left:23px; line-height:180%; }
.title04 { font-size:18px; font-weight:700; margin-top:40px; margin-bottom:20px; color:#163C91; position:relative; padding-bottom:15px; letter-spacing:1px; }
.title04:before { content:""; display:block; width:100%; height:1px; background:#E2E2E2; position:absolute; left:0; bottom:0; }
.title04:after { content:""; display:block; width:23px; height:1px; background:#069BF8; position:absolute; left:0; bottom:0; }

.text01 { font-size:18px; font-weight:700; margin:0 0 20px; }

.btn01 a { display:block; position:relative; background:#163C91; font-weight:500; color:#fff; transition:0.3s ease-in-out; margin-top:40px; padding:0 20px; }
.btn01 a > span { line-height:60px; }
.btn01 a > span:after { display:block; content:""; position:absolute; right:39.5px; bottom:27px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:33.49px; height:4.92px; transition:0.2s ease-in-out; z-index:3; }
.btn01 a > span:before { display:block; content:""; position:absolute; right:20px; bottom:14px; width:27px; height:27px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; z-index:2; }
.btn01 a:hover { text-decoration:none; background:#2354C1; }
.btn01 a:hover > span:after { right:29.5px; }
.btn01 a:hover > span:before { width:32px; height:32px; bottom:12px; opacity:1; border-color:#069BF8; }


.box-flex01 > * { display:block!important; margin:0 auto 40px;  }
.box-flex01 > * img { width:100%; }
.box-flex02 { display:flex; flex-wrap: wrap; margin:0 auto 0; }
.box-flex02 > * { width:calc(165 / 340 * 100%); margin-right:calc(10 / 340 * 100%); margin-bottom:10px; }
.box-flex02 > *:nth-child(2n) { margin-right:0; }
.box-flex03 { margin-bottom:30px; }
.box-flex03 > * { display:block!important; margin:0 auto 20px;  }
.box-flex03 > * img { width:calc(200 / 340 * 100%); display:block; margin:0 auto; }
.box-flex04 { display:flex; flex-wrap: wrap; margin:0 auto 0; }
.box-flex04 > * { width:calc(106 / 340 * 100%); margin-right:calc(10 / 340 * 100%); }
.box-flex04 > *:nth-child(3n) { margin-right:0; }

.table01 { border:1px solid #BFBFBF; border-radius:4px; margin-bottom:60px; }
.table01 table { width:100%; font-size:12px; }
.table01 tr { }
.table01 tr > * { width:50%; border-top:1px solid #BFBFBF; padding:10px 20px; line-height:160%; text-align:left; vertical-align:top; }
.table01 tr:first-child > * { border-top:none; }
.table01 tr:first-child > th { border-radius:4px 0 0 0; }
.table01 tr:first-child > td { border-radius:0 4px 0 0; }
.table01 tr:last-child > th { border-radius:0 0 0 4px; }
.table01 tr:last-child > td { border-radius:0 0 4px 0; }
.table01 th { background:#EDEAEE; font-weight:500; }
.table01 td { background:#fff; font-weight:400; }


.topic-path { max-width:1100px; margin: -1px auto 0; padding:0 20px; box-sizing:content-box; z-index:10; position:relative; }
.topic-path ul { position:absolute; top:-5px; left:20px; white-space:nowrap; }
.topic-path ul li { position:relative; display:inline; line-height:62px; font-size:12px; font-weight:300; margin:0; padding:0; color:#0F213F; padding-left:40px; }
.topic-path ul li:before { content:""; display:inline-block; width:15px; height:1px; background:#0F213F; opacity:1; margin:0 12px 0 15px; position:absolute; left:-5px; top:50%; transform:translateY(-50%); }
.topic-path ul li:first-child { padding-left:0; }
.topic-path ul li:first-child:before { display:none;  }
.topic-path ul li:last-child { opacity:0.5; }
.topic-path ul li:last-child:before { opacity:0.5; }
.topic-path ul li a { transition:0.3s ease-in-out; }
.topic-path ul li a:hover { text-decoration:none; opacity:0.7; }
body.index .topic-path ul li { color:#fff; }
body.index .topic-path ul li:before { background:#fff; }


.page-title { position:relative; z-index:1; height:147px; border-bottom:1px solid rgba(112,112,112,0.2);  }
.page-title > .inner { max-width:1100px; margin:0 auto; padding:0 0; box-sizing:content-box; position:relative; height:100%; }
.page-title > .inner:after { content:""; display:block; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); margin-top:-35px; font-family:"Roboto"; font-size:48px; font-weight:300; color:#192F53; opacity:0.07; white-space:nowrap; letter-spacing:2px; }
.page-title h1 { width:100%; position:absolute; top:50%; transform:translateY(-50%); text-align:center; }
.page-title h1 span:nth-child(1) { font-family:'Noto Serif JP'; font-size:30px; font-weight:700; color:#0F213F; display:block; margin-bottom:15px; letter-spacing:4px; }
.page-title h1 span:nth-child(2) { font-family:'Roboto'; font-size:12px; font-weight:400; color:#069BF8; display:block; }
body.aboutus .page-title > .inner:after { content:"ABOUT US"; }
body.our-business .page-title > .inner:after { content:"OUR BUSINESS"; }
body.privacy-policy .page-title > .inner:after { content:"PRIVACY POLICY"; }
body.site-policy .page-title > .inner:after { content:"SITE POLICY"; }
body.contact .page-title > .inner:after { content:"CONTACT"; }
body.error .page-title > .inner:after { content:"404 Not Found"; }

body.index .page-title { position:relative; z-index:1; height:147px; background:center top no-repeat; background-size:cover;  }
body.index .page-title h1 span:nth-child(1) { font-family:'Noto Serif JP'; font-size:35px; font-weight:400; color:#069BF8; display:block; margin-bottom:15px; letter-spacing:0px; }
body.index .page-title h1 span:nth-child(2) { font-size:12px; font-weight:500; color:#fff; display:block; }
body.index.aboutus .page-title { background-image:url(../img/aboutus/sp/bg_pagetitle.jpg);   }
body.index.our-business .page-title { background-image:url(../img/aboutus/sp/bg_pagetitle.jpg);   }
body.error .page-title h1 span:nth-child(1) { font-size:25px; }


/* modal */
.mfp-bg { background:rgba(0,0,0,0.5); }
.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content { width:100%; max-width:670px; }
.mfp-close-btn-in .mfp-close { opacity:1; color:rgba(0,0,0,0); width: 24px; right:0;  }
.mfp-close-btn-in .mfp-close:before,
.mfp-close-btn-in .mfp-close:after { content:""; width:24px; height:1px; display:block; position:absolute; left:0; top:0; transform-origin: 50% 0%; background:#fff; }
.mfp-close-btn-in .mfp-close:before { top:14px; transform:rotate(45deg); }
.mfp-close-btn-in .mfp-close:after { top:14px; transform: rotate(-45deg); }
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 1;
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  -moz-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.mfp-iframe-holder .mfp-content {max-width: 1100px}
.modal-body { background:#fff; /* width:670px; */ margin:0 auto; }


input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus { background-color:#fff8dc!important; }


/* home */
.main-visual { position:relative; overflow:hidden; height:calc(100vh - 72px);  }
.main-visual > .inner { height:calc(100vh - 72px - 70px); }
.main-visual-text { background:rgba(25,47,83,0.9); color:#fff; padding:20px 30px; display:inline-block; position:absolute; right:0; bottom:50px; z-index:2; width:300px; }
.main-visual-text p:nth-child(1) { font-family:'Noto Serif JP'; font-size:22px; font-weight:700; margin-bottom:10px; line-height:180%; white-space:nowrap; }
.main-visual-text p:nth-child(2) { font-family:'Noto Serif JP'; font-size:10px; font-weight:400; white-space:nowrap; }
.main-visual > .scroll { background:url(../img/home/img_scroll.png) no-repeat; background-size:cover; width:21px; height:58px; position:absolute; left:10px; bottom:-110px; display:block; z-index:2; transition:opacity 0.3s ease-in-out,bottom 0.6s ease-in-out 1s; }
.main-visual > .scroll.visible { bottom:140px; }
.main-visual > .scroll:hover { opacity:0.7; }
.main-visual > .scroll::after{ content: "";	position: absolute;	top: 65px;	left:10px;	width: 1px;	height: 30px;	background: #fff;	animation: pathmove 1.4s ease-in-out infinite; opacity:0; }

@keyframes pathmove{
	0%{
		height:0;
		top:65px;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:110px;
		opacity: 0;
	}
}


.menu-items a { display:block; position:relative; }
.menu-items a > .inner:after { display:block; content:""; position:absolute; right:50px; bottom:39px; background:url(../img/common/img_arrow01.png) no-repeat; background-size:cover; width:58.5px; height:9px; transition:0.2s ease-in-out; z-index:3; }
.menu-items a > .inner:before { display:block; content:""; position:absolute; right:20px; bottom:21px; width:45px; height:45px; border:1px solid #fff; border-radius:50px; opacity:0.3; transition:0.2s ease-in-out; z-index:2; }
.menu-items h3 { position:absolute; left:20px; bottom:20px; z-index:2; color:#fff; }
.menu-items h3 span:nth-child(1) { display:block; font-weight:400; font-size:18px; margin-bottom:12px; }
.menu-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:0.5; }
.menu-items .photo { overflow:hidden; width:100%; height:100%; position:relative; }
.menu-items .photo:after { content:""; display:block; width:100%; height:215px; position:absolute; left:0; bottom:0; background:linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%); transition:0.2s ease-in-out;  }
.menu-items .photo img { transition:0.3s ease-in-out; width:100%; }
.menu-items a:hover > .inner:after { right:40px; }
.menu-items a:hover > .inner:before { width:52px; height:52px; bottom:18px; opacity:1; border-color:#069BF8; }
.menu-items a:hover .photo:after { height:100%; }
.menu-items a:hover .photo img { transform:scale(1.2,1.2); }
.external-items a { display:block; position:relative; }
.external-items h3 { position:absolute; left:20px; bottom:75px; z-index:2; color:#fff; }
.external-items h3 span:nth-child(1) { display:block; font-weight:400; font-size:18px; margin-bottom:12px; }
.external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:0.5; }
.external-items .photo img { width:100%; }
.external-items .link { position:absolute; left:0; bottom:0; background:#192F53; color:#fff; width:100%; padding:20px; }
.external-items .link:after { content:""; display:block; position:absolute; right:20px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.external-items .link span { line-height:120%; position:relative; display:inline-block; }
.external-items .link span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.external-items a:hover .link:after { background-image:url(../img/common/ico_blank_on.png); }
.external-items a:hover .link span:before { width:100%; }

.section-about { background:url(../img/home/sp/bg_main01.jpg) no-repeat center bottom; background-size:cover; }
.section-about > .inner { max-width:1100px; margin:0 auto; position:relative; padding:80px 18px; }
.section-about > .inner:before { content:"ABOUT US"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.07; display:block; position:absolute; right:18px; top:175px; white-space:nowrap; }
.section-about .menu-items { position:relative; }
.section-about .menu-items > a { margin-bottom:40px; }
.section-about .external-items > a { }
.section-business { background:linear-gradient(180deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
.section-business > .inner { max-width:1100px; margin:0 auto; position:relative; padding:80px 18px 40px; }
.section-business > .inner:before { content:"OUR BUSINESS"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.07; display:block; position:absolute; left:100px; top:175px; white-space:nowrap; }
.section-business .menu-items { position:relative; }
.section-business .menu-items > a { margin-bottom:40px; }
.section-business .external-items > a { margin-bottom:40px; }
.section-business .external-items > a:nth-child(2n) { margin-right:0; }
.section-coexistence { position:relative; overflow:hidden; }
.section-coexistence > .inner { max-width:1100px; margin:0 auto; padding:0 18px 60px; }
.section-coexistence > .inner:before { content:"COEXISTENCE WITH SOCIETY"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#0F213F; opacity:0.07; display:block; position:absolute; left:120px; top:70px; white-space:nowrap; z-index:1; }
.section-coexistence > .inner:after { content:""; display:block; position:absolute; left:90px; top:0; width:3000px; height:1028px; background:#F5F3F0; z-index:0; }
.section-coexistence .photo { padding:110px 18px 0; position:relative; z-index:2; }
.section-coexistence .photo img { width:100%; }
.section-coexistence .external-items { position:relative; z-index:2; }
.section-coexistence .external-items a { background:#fff; padding-bottom:60px; }
.section-coexistence .external-items > a:hover { text-decoration:none; }
.section-coexistence .external-items > a > .inner { padding:20px; }
.section-coexistence .external-items h3 { position:static; }
.section-coexistence .external-items h3 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:30px; margin-bottom:15px; color:#0F213F; }
.section-coexistence .external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:1; margin-bottom:25px; color:#069BF8 }
.section-coexistence .external-items p { color:#0F213F; line-height:200%; letter-spacing:2px; margin-bottom:0; }
.section-recruit { position:relative; overflow:hidden; }
.section-recruit > .inner { max-width:1100px; margin:0 auto; padding:0 18px 0px; }
.section-recruit > .inner:before { content:"RECRUIT"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#0F213F; opacity:0.07; display:block; position:absolute; left:120px; top:88px; white-space:nowrap; }
.section-recruit .photo { padding:128px 0 0; position:relative; z-index:2; }
.section-recruit .photo img { width:100%; }
.section-recruit .external-items { position:relative; z-index:2; }
.section-recruit .external-items > a { background:#fff; padding-bottom:60px; }
.section-recruit .external-items > a:hover { text-decoration:none; }
.section-recruit .external-items > a > .inner { padding:20px; }
.section-recruit .external-items h3 { position:static; }
.section-recruit .external-items h3 span:nth-child(1) { display:block; font-family:'Noto Serif JP'; font-weight:700; font-size:30px; margin-bottom:15px; color:#0F213F; }
.section-recruit .external-items h3 span:nth-child(2) { display:block; font-family:'Roboto'; font-weight:400; font-size:12px; opacity:1; margin-bottom:25px; color:#069BF8 }
.section-recruit .external-items p { color:#0F213F; line-height:200%; letter-spacing:2px; margin-bottom:0; }
.section-news { position:relative; overflow:hidden; }
.section-news > .inner { max-width:1100px; margin:0 auto; position:relative; padding:100px 18px ; }
.section-news .title01 { position:relative; margin-bottom:35px; padding-top:30px; }
.section-news .title01 span:nth-child(1)  { font-family:'Noto Serif JP'; font-size:30px; font-weight:700; color:#0F213F; margin-bottom:22px; display:block; }
.section-news .title01 span:nth-child(2)  { font-family:'Roboto'; font-size:12px; font-weight:400; color:#069BF8; display:block; }
.section-news .tab-container { display:flex; flex-wrap:wrap; margin-bottom:30px; }
.section-news .tab-group { display:flex; flex-wrap:wrap; margin-bottom:45px; }
.section-news .tab-group .tab { display:block; white-space:nowrap; font-weight:700; opacity:0.3; position:relative; font-size:12px; margin-left:28px; transition:0.3s ease-in-out; }
.section-news .tab-group .tab:hover { text-decoration:none; opacity:1; }
.section-news .tab-group .tab:first-child { margin-left:0; }
.section-news .tab-group .tab.active { opacity:1; }
.section-news .tab-group .tab.active:before  { content:""; display:block; position:absolute; left:0px; bottom:-10px; width:10px; height:2px; background:#0188D8; }
.section-news .tab-contents { }
.section-news .tab-contents .news-items { display:none; }
.section-news .tab-contents .news-items.active { display:block; }
.section-news .tab-contents .news-items .item { position:relative; display:block; padding:30px 0; border-bottom:1px solid rgba(15,33,63,0.2); transition:0.3s ease-in-out; }
.section-news .tab-contents .news-items .item:hover { text-decoration:none; color:#163C91; border-color:#163C91; }
.section-news .tab-contents .news-items .item:first-child { border-top:1px solid rgba(15,33,63,0.2); }
.section-news .tab-contents .news-items .item .date { font-family:'Roboto'; margin-bottom:10px; letter-spacing:2px; }
.section-news .tab-contents .news-items .item .title { line-height:180%; }
.section-news .more { text-align:right; }
.section-news .more a { display:block; position:relative; background:#192F53; color:#fff; padding:20px 20px; text-align:left; }
.section-news .more a:after { content:""; display:block; position:absolute; right:20px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.section-news .more a span { line-height:120%; position:relative; display:inline-block; }
.section-news .more a span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.section-news .more a:hover { text-decoration:none; }
.section-news .more a:hover:after { background-image:url(../img/common/ico_blank_on.png); }
.section-news .more a:hover span:before { width:100%; }



/* our-business */
body.our-business.index .section { background:linear-gradient(180deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
body.our-business.index .section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:110px 18px 60px; }
body.our-business.index .section > .inner:before { content:"OUR BUSINESS"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; right:0px; top:68px; white-space:nowrap; }
body.our-business.index .section .external-items > * img { width:100%; }
.client-list { margin-top:30px; }
.client-list ul { margin:0; }
.client-list ul li { list-style-type:none; margin:0 0 10px; padding:0; }
.event-list { margin-top:30px; }
.event-list ul { margin:0;  }
.event-list ul li { list-style-type:none; margin:0 0 10px; padding:0; }
.support { background:url(../img/our-business/facility-security/sp/bg_banner01.jpg) no-repeat center bottom; background-size:cover; padding:40px 30px; margin:60px -18px 0; }
.support .img { margin-bottom:20px; }
.support .link { background:#163C91; color:#fff; display:block; position:relative; padding:20px 20px; }
.support .link:after { content:""; display:block; position:absolute; right:20px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank2.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.support .link span { line-height:120%; position:relative; display:inline-block; }
.support .link span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#fff; transition:0.2s ease-in-out; }
.support .link:hover:after { background-image:url(../img/common/ico_blank_on.png); }
.support .link:hover span:before { width:100%; }


/* aboutus */
body.aboutus.index .section { background:linear-gradient(180deg, rgba(2,35,90,1) 0%, rgba(15,33,63,1) 100%); background-size:cover; }
body.aboutus.index .section > .inner { max-width:1100px; margin:0 auto; position:relative; padding:110px 18px 100px; }
body.aboutus.index .section > .inner:before { content:"ABOUT US"; font-family:"Roboto"; font-size:48px; font-weight:300; letter-spacing:5px; color:#fff; opacity:0.03; display:block; position:absolute; right:0px; top:68px; white-space:nowrap; }
body.aboutus.index .section .external-items > * img { width:100%; }
.summary dl { position:relative; margin-bottom:60px; }
.summary dl:last-child { margin-bottom:0; }
.summary dt { line-height:200%; font-weight:500; display:block; position:relative; padding-bottom:10px; margin-bottom:10px; }
.summary dt:before { content:""; display:block; width:100%; height:1px; background:#E2E2E2; position:absolute; left:0; bottom:0; }
.summary dt:after { content:""; display:block; width:150px; height:1px; background:#069BF8; position:absolute; left:0; bottom:0; }
.summary dd { line-height:200%; margin-bottom:0; }
.summary pre { font-family:'Noto Sans JP', sans-serif; line-height:200%; }
.summary .name-list div { line-height:140%; margin-top:15px; }
.summary .client-list { margin-top:20px; }
.summary .client-list ul li { margin-bottom:0; line-height:180%; }
.summary .related a { position:relative; display:block; line-height:48px; width:450px; margin-bottom:10px; }
.summary .related a span { position:relative; display:inline-block; }
.summary .related a span:after { content:""; display:block; position:absolute; right:-30px; top:50%; transform:translateY(-50%); background:url(../img/common/ico_blank.png) no-repeat; background-size:cover; width:15px; height:15px; transition:0.3s ease-in-out; }
.summary .related a span { line-height:120%; position:relative; display:inline-block; }
.summary .related a span:before { content:""; display:block; position:absolute; bottom:-5px; left:0; width:0%; height:1px; background:#0F213F; transition:0.2s ease-in-out; }
.summary .related a:hover span:after { background-image:url(../img/common/ico_blank_on.png); }
.summary .related a:hover span:before { width:100%; }
.summary .related .banner { width:150px; vertical-align:middle; display:block; }

.area-map { display:none; }

.location-block { margin-top:0; }
.location-items { position:relative; margin-bottom:80px; }
.location-items:last-child { margin-bottom:0; }
.location-items .title03 { margin-bottom:40px; }
.location-items:first-child .title03 { margin-top:0; }
.location-items .item { margin-bottom:60px; }
.location-items .item:last-child { margin-bottom:0; }
.location-items .box-flex03 { margin-bottom:40px; }
.location-items dl { position:relative; padding-left:124px; margin-bottom:10px; }
.location-items dt { position:absolute; left:0; top:0; color:#163C91; font-weight:500; }
.location-items dd { margin-bottom:0; }
.location-items dd a { color:#069BF8; cursor:default; }
.location-items dd a:hover { text-decoration:none; }
.location-items .map iframe { width:100%; height:224px; }


/* contact */
.contact-items { margin-bottom:80px; }
.contact-items:last-child { margin-bottom:0; }
.contact-items .item { margin-bottom:40px; }
.contact-items .item:last-child { margin-bottom:0; }
.contact-items dl { position:relative; padding-left:124px; margin-bottom:10px; }
.contact-items dt { position:absolute; left:0; top:0; color:#163C91; font-weight:500; }
.contact-items dd { margin-bottom:0; }
.contact-items dd a { color:#069BF8; }
.contact-items dd a:hover { text-decoration:none; }


/* error */
.error-block .texts { margin-bottom:40px }
.error-block .img { width:calc(240 / 340 * 100%); margin:0 auto; display:block; }



/* animation */
.standby { transform: translateY(30px); opacity:0; }
.is-animated { transition-delay:0.50s!important; transform: translateY(0px); opacity:1; transition-duration: .5s!important; transition-property:transform,opacity!important; }
.is-completed { transition-delay:0s!important; transition-duration:0s!important; }

}




@media print {

body {
	zoom: 0.68;
	-webkit-print-color-adjust: exact;
}

}


/* IE10以上 */
@media print and (-ms-high-contrast: none) {
@page {
	size: A4;
	margin: 12.7mm 9.7mm;
}

body {
	zoom: 1.8;
	width: 1100px;
	transform: scale(0.5);
	transform-origin: 0 0;
}
}
