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

/*-------------------------------------------------------------------------------- header start */
.head-inner {
	width:100%;
	padding: 400px 0 0;
	background: url(../company/images/bg_header_outline.png) no-repeat;
	background-size: cover;
	background-position: center;
  	position: relative;
  	overflow: hidden;
  	text-align:center;
}

.head-inner:after {
	content: "";
	position: absolute;
	height: 450px;
	width: 300%;
	background: #fff;
	bottom: -70%;
	left: -100%;
	-webkit-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
	-o-transform: rotate(-5deg);
	transform: rotate(-5deg);
	z-index: 1;
}

.head-inner-title-area {
	width:600px;
	padding: 30px 0;
	position: absolute;
	top: 60%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: rgba(255,255,255,0.9);
	-moz-box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.05);
	-webkit-box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.05);
	-ms-box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.05);
	box-shadow: 0px 5px 10px 2px rgba(0, 0, 0, 0.05);
	z-index: 2;
}

h1.page-title {
	font-size:250%;
	margin-bottom:10px;
	letter-spacing: 0.05em;
	font-family: 'Cardo', serif;
}

p.page-title-sub {
	font-size:130%;
	letter-spacing: 0.5em;
}

/*-------------------------------------------------------------------------------- header end */

/*-------------------------------------------------------------------------------- contents start */
.content-title {
	font-size: 200%;
	line-height: 1.4;
	font-family: 'Cardo', serif;
}

.content-title-sub {
	font-size:110%;
	letter-spacing: 0.3em;
	display: inline-block;
	padding: 5px 50px;
	margin-bottom: 50px;
	background: rgb(126,236,255); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(126,236,255,1) 0%, rgba(0,151,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

#sub-menu {
	text-align: center;
}

.sub-menu-inner{
	width:100%;
	margin: 0 auto 30px;
	background: #EEE;
}

.sub-menu-list {
	width:95%;
	margin: 0 auto;
	display: flex;
	flex-flow: row;
	justify-content: space-around;
}

.sub-menu-list li{
	flex-grow:1;
}

.sub-menu-list li.list a,
.sub-menu-list li.list span{
	width: 100%;
	display: block;
	padding: 25px 0 20px;
	font-size: 75%;
	text-align: center;
}

.sub-menu-list li.list span {
	background:#DEDEDE;
}

.sub-menu-list li.list:hover {
	transition: 0.3s;
	background:#DEDEDE;
}

.sub-menu-list li.list a:link,.sub-menu-list li.list a:visited,.sub-menu-list li.list a:active {
	color: #333;
	text-decoration: none;
}

.company-cell {
	text-align:left;
	width:100%;
	border-top: 1px solid #EAEAEA;
}

.cell-title-box {
	width:180px;
	padding: 20px 0;
	border-bottom: 1px solid #EAEAEA;
	vertical-align: middle;
}

.cell-text-box {
	width:630px;
	padding: 20px 0;
	border-bottom: 1px solid #EAEAEA;
	vertical-align: middle;
}

.cell-text-box.non{
	padding: 0;
}

.cell-title {
	font-size: 110%;
	font-weight: bold;
	margin-left: 20px;
}

.cell-text {
	line-height: 1.4;
}

.cell-text span{
	font-weight:bold;
}

.cell-map {
	margin-top: 15px;
}
.cell-map iframe {
	width:100%;
	height: 527px;

}

.cell-img.privacy{width:75px;}
.cell-img.isms{width:160px;}
.cell-img.sdp{width:75px;}
.cell-img.waca{width:150px;}
.cell-img img {width:100%;}

.cell-link {
	margin-top: 10px;
}

.cell-link a.other-window:after{
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-image: url(../images/icon_window.png);
	background-size: contain;
	vertical-align: middle;
	margin-left:5px;
}

.cell-text-box-inner {
	border-bottom: 1px dotted #D4D4D4;
	width:100%;
}

.cell-text-box-inner:last-child{
	border-bottom: none;
}

.cell-text-box-inner td{
	padding: 20px 0;
	vertical-align: middle;
}

.cell-text-box-inner td:first-child {
	width:350px;
}

.note-outline {
	margin-top: 20px;
	line-height: 1.4;
	text-align: left;
	font-size: 90%;
}

.note-outline span:before{
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	background-image: url(../images/icon_window.png);
	background-size: contain;
	vertical-align: middle;
	margin-right:5px;
}

/*-------------------------------------------------------------------------------- contents end */

/*-------------------------------------------------------------------------------- contents start (TBLS) */

.display-sp { display:none !important; }
.display-tab { display:block !important; }
.display-pc { display:none !important; }

/*----------------------------------------------------------------------
  a.other-window
----------------------------------------------------------------------*/

a.other-window:after{
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	background-image: url(../images/icon_window.png);
	background-size: contain;
	vertical-align: middle;
	margin-left:5px;
	margin-right:5px;
}

/*----------------------------------------------------------------------
  #page-title
----------------------------------------------------------------------*/

#page-title {
	font-size:100%;
}

#page-title .page-title {
	font-size:250%;
	margin-bottom:10px;
	letter-spacing: 0.05em;
	font-family: 'Cardo', serif;
	font-weight:bold;
	display:block;
}

#page-title .page-title-sub {
	font-size:130%;
	letter-spacing: 0.5em;
	font-weight:normal;
	display:block;
}

/*----------------------------------------------------------------------
  #content-title
----------------------------------------------------------------------*/

#content-title {
	font-size:100%;
}

#content-title .content-title {
	font-size: 180%;
	line-height: 1.4;
	font-family: 'Cardo', serif;
	font-weight:bold;
	display:block;
}

#content-title .content-title-sub {
	font-size:110%;
	letter-spacing: 0.3em;
	display: inline-block;
	padding: 5px 50px;
	margin-bottom: 25px;
	background: rgb(126,236,255); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(126,236,255,1) 0%, rgba(0,151,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	font-weight:normal;
}

#content-title .content-title.large {
	font-size: 300%;
	line-height: 1.4;
}

/*----------------------------------------------------------------------
  .content-inner-wrap
----------------------------------------------------------------------*/

.content-inner-wrap {
	font-size: 110%;
	line-height: 1.7;
	margin-bottom:50px;
	overflow:hidden;
	position:relative;
}

.content-inner-wrap.bg {
	margin-bottom:100px;
	padding: 5% 0;
}

.content-inner-wrap.bg + .content-inner-wrap {
	/*padding: 50px 0 0;*/
}

.content-inner-wrap.bg .content-inner-box {
	background: #f3f3f3;
	transform:skew(0deg, -5deg);
}

.content-inner-wrap.bg .content-inner {
	padding-top:4rem;
	padding-bottom:80px;
	position:relative;
	transform:skew(0deg, 5deg);
}

/*----------------------------------------------------------------------
  .content-title
----------------------------------------------------------------------*/

.content-title.large {
	font-size: 250%;
	line-height: 1.4;
}

/*----------------------------------------------------------------------
  .content-title-catchcopy
----------------------------------------------------------------------*/

.content-title-catchcopy {
	font-size: 130%;
	line-height: 1.4;
}

/*----------------------------------------------------------------------
  .content-title-01
----------------------------------------------------------------------*/

.content-title-01 {
	color: #00a3d8;
	font-size: 185%;
	line-height: 1.4;
	padding-bottom:35px;
	text-align:center;
}

.content-inner-wrap.bg .content-title-01 {
	margin-top:-5rem;
}

/*----------------------------------------------------------------------
  .content-title-02
----------------------------------------------------------------------*/

.content-title-02 {
	border-bottom:5px #eee solid;
	font-size: 180%;
	line-height: 1.4;
	margin-bottom:35px;
	padding-bottom:20px;
	text-align:center;
}

/*----------------------------------------------------------------------
  .content-title-03
----------------------------------------------------------------------*/

.content-title-03 {
	font-size: 130%;
	line-height: 1.4;
	padding-bottom:20px;
}

/*----------------------------------------------------------------------
  #related-services
----------------------------------------------------------------------*/

#related-services {
	margin-bottom:100px;
}

#related-services .content-inner-box.nav {
	background-color:#f3f3f3;
}

#related-services .content-inner {
	padding-bottom:0;
}

#related-services .content-inner-box.nav ul {
	width:100%;
	display: flex;
	flex-flow: row;
	justify-content: space-around;
}

#related-services .content-inner-box.nav ul li {
	flex-grow:1;
}

#related-services .content-inner-box.nav ul li a,
#related-services .content-inner-box.nav ul li span{
	width: 100%;
	display: block;
	padding: 25px 0 20px;
	font-size: 75%;
	text-align: center;
}

#related-services .content-inner-box.nav ul li span {
	background:#DEDEDE;
}

#related-services .content-inner-box.nav ul li:hover {
	transition: 0.3s;
	background:#DEDEDE;
}

#related-services .content-inner-box.nav ul li a:link,
#related-services .content-inner-box.nav ul li a:visited,
#related-services .content-inner-box.nav ul li a:active {
	color: #333;
	text-decoration: none;
}

/*----------------------------------------------------------------------
  #contents-contact
----------------------------------------------------------------------*/

#contents-contact {
	margin-top:80px;
}

#contents-contact .content-title-01 {
	padding-bottom:10px;
}

/*----------------------------------------------------------------------
  .list
----------------------------------------------------------------------*/
/*
ul.list {
	display:inline-block;
	margin-right:auto;
	margin-left:auto;
	padding-left: 1.5em;
}

ul.list > li {
	list-style:outside disc;
	text-align:left;
}

ol.list {
	display:inline-block;
	margin-right:auto;
	margin-left:auto;
	padding-left: 1.5em;
}

ol.list > li {
	list-style:outside decimal;
	text-align:left;
}
*/
/*----------------------------------------------------------------------
  .list-arrow
----------------------------------------------------------------------*/

.list-arrow {
	display:inline-block;
	margin-right:auto;
	margin-left:auto;
}

.list-arrow > li {
	position: relative;
	display: inline-block;
	padding: 0 0 0 15px;
	text-align:left;
	vertical-align: middle;
}

.list-arrow > li::before{
	left: 4px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #000;
	position: absolute;
	top: 8px;
	margin: auto;
	content: "";
	vertical-align: middle;
}

/*----------------------------------------------------------------------
  .list-arrow
----------------------------------------------------------------------*/

.list-tags {
	letter-spacing:-0.4em;
	font-size:90%;
}

.list-tags li {
	display:inline-block;
	letter-spacing:normal;
	margin:10px 5px 0;
	white-space:nowrap;
}

.list-tags li a,
.list-tags li span {
	background-color:#eee;
	border-radius:30px;
	display:block;
	padding:5px 20px;
}

/*----------------------------------------------------------------------
  .index-layout
----------------------------------------------------------------------*/

.index-layout {
	margin-left:8%;
}

.index-layout li {
	border:5px #ededed solid;
	float:left;
	margin-bottom:30px;
	margin-left:2.6%;
	width:calc(45.6% - 10px);
	padding:15px;
}

.index-layout > li:nth-child(2n+1) {
	clear:left;
	margin-left:0;
}

.index-layout [lang="en"] {
	font-family: 'Cardo', serif;
	font-size:150%;
	line-height:1.3;
	margin-bottom:5px;
}

.index-layout [lang="ja"] {
	font-size:90%;
	font-weight:bold;
	padding: 5px 5px;
	background: rgb(126,236,255); /* Old browsers */
	background: -moz-linear-gradient(left, rgba(126,236,255,1) 0%, rgba(0,151,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, rgba(126,236,255,1) 0%,rgba(0,151,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	margin-bottom:15px;
}

.index-layout .img {
	margin-bottom:15px;
}

.index-layout a.btn.normal > span {
	padding-right:50px;
	padding-left:50px;
}

/*----------------------------------------------------------------------
  .btns
----------------------------------------------------------------------*/

.btns {
	letter-spacing:-0.4em;
}

.btns li {
	display:inline-block;
	letter-spacing:normal;
	margin:0 10px 30px;
	min-width:460px;
}

.btns li:last-child {
	margin-bottom:0;
}

.service_index_pdf{
  text-align: center;
  margin-bottom: 50px;
}

.service_index_pdf a{
	background-color:#eee;
	border-radius:30px;
	display:inline-block;
	padding:5px 20px;
}


/*----------------------------------------------------------------------
  .btn
----------------------------------------------------------------------*/
/*
a.btn {
	background: rgb(126,236,255);  Old browsers 
	background: -moz-linear-gradient(left, rgba(0,151,255,1) 0%, rgba(126,236,255,1) 100%);  FF3.6-15 
	background: -webkit-linear-gradient(left, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  Chrome10-25,Safari5.1-6 
	background: linear-gradient(to right, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ 
	border-right:3px #7eebff solid;
	border-left:3px #0195ff solid;
	color:#000;
	display:inline-block;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:180%;
	font-weight:bold;
	line-height:1.3;
	position:relative;
}

a.btn[lang="en"] {
	font-family: 'Cardo', serif;
	font-weight:normal;
}

.btns a.btn {
	display:block;
}

a.btn.normal {
	font-size:100%;
}

a.btn:before,
a.btn:after {
	background: rgb(126,236,255);  Old browsers 
	background: -moz-linear-gradient(left, rgba(0,151,255,1) 0%, rgba(126,236,255,1) 100%);  FF3.6-15 
	background: -webkit-linear-gradient(left, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  Chrome10-25,Safari5.1-6 
	background: linear-gradient(to right, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ 
	display:block;
	content:"";
	height:3px;
	left:0;
	line-height:0;
	position:absolute;
	right:0;
	width:100%;
}

a.btn:before {
	top:0;
}

a.btn:after {
	bottom:0;
}

a.btn > span {
	background:rgba(255,255,255,1) url(../images/icon_arrow.png) no-repeat left center;
	display:block;
	padding:0.7em 130px;
	transition: background-color 0.3s;
}

a.btn:hover > span {
	background:rgba(255,255,255,0);
}

@media all and (-ms-high-contrast:none){  IE 
	a.btn:not([lang="en"]) > span {
	padding-top:0.7em;
	padding-bottom:0.4em;
	}
}

a.btn.normal > span {
	background-size:30px;
	padding:0.8em 80px;
}

@media all and (-ms-high-contrast:none){  IE 
	a.btn.normal:not([lang="en"]) > span {
	padding-top:0.9em;
	padding-bottom:0.6em;
	}
}

#news {
	line-height: 1.7;
	margin:20px 0 40px;
}

#news .content-title {
	text-align:center;
	padding:40px 0 30px;
}

#news .news-border {
	border-left:5px rgba(126,236,255,1) solid;
	border-right:5px rgba(0,151,255,1) solid;
	position:relative;
}

#news .news-border:before,
#news .news-border:after {
	background: rgb(126,236,255);  Old browsers 
	background: -moz-linear-gradient(left, rgba(0,151,255,1) 0%, rgba(126,236,255,1) 100%);  FF3.6-15 
	background: -webkit-linear-gradient(left, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  Chrome10-25,Safari5.1-6 
	background: linear-gradient(to left, rgba(0,151,255,1) 0%,rgba(126,236,255,1) 100%);  W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ 
	content:"";
	display:block;
	height:5px;
	width:100%;
}

#news ul {
	padding:0 30px;
}

#news li {
	padding:30px 0;
}

#news li + li {
	border-top:1px #ededed solid;
}

#news a {
	display:block;
	padding-right:20px;
	position:relative;
}

#news a:before {
	border-top:1px #333 solid;
	border-right:1px #333 solid;
	bottom:0;
	content:"";
	height:10px;
	margin:auto;
	position:absolute;
	right:10px;
	top:0;
	transform:rotate(45deg);
	width:10px;
}
*/


/*-------------------------------------------------------------------------------- contents end (TBLS) */