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

/*****************************************************
*
* 会社情報系
*
* ニュース一覧
*
* ソリューション系
*
* 記事系
*
******************************************************/








/*****************************************************
*
* 会社情報系
*
******************************************************/

/*******************************
	GOOGLE MAP
********************************/
.gmap {
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 70px;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 991px) {
.gmap {
	padding-bottom: 100%;
}
}
/*******************************
	コーポレートメッセージ
********************************/
.content .message {
	font-size: 3.6rem;
	color: #30B4DF;
	margin-top: -10px;
	margin-bottom: 40px;
	line-height: 1.4;
}

@media screen and (max-width: 767px) {
.content .message {
	font-size: 2.6rem;
	margin-bottom: 20px;
}
}
/*******************************
	役職
********************************/
#position {
	text-align: center;
	margin-left: -15px;
	margin-right: -15px;
	margin-bottom: 50px;
	letter-spacing: -0.4em;
}
#position li {
	position: relative;
	display: inline-block;
	margin: 0 15px 30px;
	padding-top: 24px;
	padding-left: 0;
	width: 160px;
	height: 160px;
	text-align: center;
	font-weight: bold;
	letter-spacing: normal;
	vertical-align: top;
	line-height: 1.4;
}
#position li::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: #f7f7f7;
	left: 0;
	top: 0;
	z-index: 0;
	border-radius: 100%;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
#position li img {
	width: 40%;
	margin: 0 auto;
	display: block;
	margin-bottom: 10px;
	position: relative;
}
#position li span {
	position: relative;
}

@media screen and (max-width: 768px) {
#position li {
	padding-top: 20px;
	max-width: -webkit-calc((100vw - 60px) / 2);
	max-width: calc((100vw - 60px) / 2);
	max-height: -webkit-calc((100vw - 60px) / 2);
	max-height: calc((100vw - 60px) / 2);
}
#position li img {
	margin-bottom: 8px;
}
}
/*****************************************************
*
* ニュース一覧
*
******************************************************/

.newstopics .container ul {
	margin-bottom: 70px;
}
.newstopics .container ul li {
	display: block;
	position: relative;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.newstopics .container ul a:hover {
	-webkit-box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2) inset;
	box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2) inset;
	background-color: #f9f9f9;
}
.newstopics .container ul a,
.newstopics .container ul p {
	display: flex;
	align-items: center;
    justify-content: center;
	padding: 11px 20px 9px;
	margin-bottom: 0;
	width: 100%;
	height: 100%;
}
.newstopics .container ul li::before {
	display: none;
}
.newstopics .container ul li span {
	position: relative;
	display: block;
	float: left;
	padding: 0 0 0 20px;
	line-height: 1.4;
}
.newstopics .container ul li span:not(.title)::after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 0;
	background: #999;
}
.newstopics .container ul li span.date {
	width: 140px;
	padding-left: 0;
}
.newstopics .container ul li span.date em {
	font-style: normal;
	font-size: 1.2rem;
	background: #FF8811;
	color: #fff;
	display: inline-block;
	padding: 1px 3px 0;
	margin-left: 10px;
	-webkit-transform: translateY(-1px);
	-ms-transform: translateY(-1px);
	transform: translateY(-1px);
}
.newstopics .container ul li span.category {
	width: 150px;
	font-size: 1.4rem;
	margin-top: 0.1rem;
}
.newstopics .container ul li span.category em {
	font-style: normal;
	border-bottom: 1px solid;
}
.newstopics .container ul li span.category.news em {
	border-bottom-color: #5EC0E1;
}
.newstopics .container ul li span.category.press em {
	border-bottom-color: #FF8811;
}
.newstopics .container ul li span.category.media em {
	border-bottom-color: #47e346;
}
.newstopics .container ul li span.title {
	width: -webkit-calc(100% - 290px);
	width: calc(100% - 290px);  
	padding-right: 40px;
}

.content a[target]::after {
  content: "";
	display: inline-block;
	background: url(../images/common/icon_linkblank.png) left center no-repeat;
	-webkit-background-size: 12px 12px;
	background-size: 12px 12px;
	width: 12px;
	height: 12px;
  margin-right: 8px;
  margin-left: 8px;
  margin-top: 8px;
}
.newstopics .container ul a::after {
	content: "";
	display: block;
	position: absolute;
	background: url(../images/common/icon_arw_1.png) center center no-repeat;
	-webkit-background-size: 7px 13px;
	background-size: 7px 13px;
	width: 7px;
	height: 14px;
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
  margin: 0;
}
.newstopics .container ul a[target]::before {
	content: "";
	display: block;
	position: absolute;
	background: url(../images/common/icon_linkblank.png) left center no-repeat;
	-webkit-background-size: 12px 12px;
	background-size: 12px 12px;
	width: 12px;
	height: 12px;
	right: 45px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
.newstopics .container ul {
	margin: 0 -15px 40px;
}
.newstopics .container ul a {
    flex-wrap: wrap;
    justify-content: flex-start;
	padding: 20px 15px 14px 15px;
}
.newstopics .container ul a::after {
	right: 15px;
}
.newstopics .container ul a[target]::before {
	right: 15px;
	top: 15px;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.newstopics .container ul li {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.newstopics .container ul li:nth-of-type(1) {
	border-top: 1px solid rgba(0,0,0,0.1);
}
.newstopics .container ul li span.date {
	width: auto;
	margin-right: 15px;
}
.newstopics .container ul li span.category {
	font-size: 1.2rem;
	margin-top: 0;
	padding: 0;
}
.newstopics .container ul li span.title {
	width: auto;
	float: none;
	clear: both;
	padding: 10px 35px 0 0;
}
.newstopics .container ul li span:not(.title)::after {
	display: none;
}
}
/*****************************************************
*
* ソリューション系
*
******************************************************/

/*******************************
	取り扱いサービス
********************************/
.handling {
	margin-bottom: 70px;
	border-bottom: 1px solid #ddd;
}
.general .handling div:first-child p {
	margin-top: 0;
}
.handling div:last-child {
	padding-left: 45px;
}
.handling .logo {
	text-align: center;
	margin-bottom: 20px;
}
.handling .name {
	text-align: center;
	margin-top:0 !important;
 margin-bottom: 20px;
}
.handling .description {
 margin-top:0 !important;
}
.handling h4 {
	color: #FF8811;
	padding-bottom: 10px;
}
.handling h4 span {
	position: relative;
}
.handling h4 span::after {
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 2px;
	left: 0;
	bottom: -15px;
	background-color: #182949;
}

@media screen and (max-width: 767px) {
.handling {
	margin-bottom: 40px;
}
.handling div:last-child {
	padding-left: 15px;
}
.handling div:first-child p:last-child {
	margin-bottom: 30px;
}
.handling .logo {
	max-width: 293px;
	margin-right: auto;
	margin-left: auto;
}
.handling div h4 {
	margin-bottom: 30px;
}
}
/*****************************************************
*
* 記事系（コラム、インタビュー、ニュース）
*
******************************************************/

.general article section .content {
	max-width: none;
}
.general article section .lead {
	font-size: 1.8rem;
	text-align: left;
}
.general article section .frame-bg, .general article section .frame-border {
	max-width: 940px;
	margin-right: auto;
	margin-left: auto;
}
.general article section .list {
	margin-bottom: 30px !important;
}
.general article section .list li {
	position: relative;
	padding-left: 30px;
}
.general article section .list li::before {
	position: absolute;
	content: "";
	left: 0;
	background: #000;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	top: 10px;
}
.general article section .text-link {
	text-align: center;
}
/*******************************
	記事一覧
********************************/
.blog-list .row {
	margin-bottom: 70px;
	border-bottom: 1px solid #ddd;
}
.blog-list .row div:last-child {
	padding-left: 45px;
}
.blog-list .row div p.date {
	margin-bottom: 5px;
}
.blog-list .row div p.date em {
	font-style: normal;
	font-size: 1.2rem;
	background: #FF8811;
	color: #fff;
	display: inline-block;
	padding: 1px 3px 0;
	margin-left: 10px;
	-webkit-transform: translateY(-1px);
	-ms-transform: translateY(-1px);
	transform: translateY(-1px);
}
.blog-list .row div h4 {
	padding-bottom: 10px;
}
.blog-list .row div h4 a {
	color: #30B4DF;
	position: relative;
	text-decoration: none;
}
.blog-list .row div h4 a:hover {
	text-decoration: none;
}
.blog-list .row div h4 a::after {
	content: "";
	position: absolute;
	display: block;
	width: 60px;
	height: 2px;
	left: 0;
	bottom: -15px;
	background-color: #182949;
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.blog-list .row div h4 a:hover::after {
	width: 100%;
	background-color: #30B4DF;
}

@media (max-width: 767px) {
.blog-list .row {
	margin-bottom: 40px;
}
.blog-list .row div:last-child {
	padding-left: 15px;
}
.blog-list .row div:first-child p {
	margin-bottom: 30px;
}
.blog-list .row div h4 {
	margin-bottom: 30px;
}
}
/*******************************
	SNS
********************************/
#sns-area {
	margin: -30px 0 40px;
}
#sns-area::after {
	content: " ";
	display: block;
	clear: both;
}
#sns-area > div {
	margin: 0 1% 1%;
	width: -webkit-calc(92% / 4);
	width: calc(92% / 4);
	float: left;
}
#sns-area > div a {
	display: block;
	padding: 5px 5px 5px 50px;
	color: #fff;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	-webkit-background-size: 26px 26px;
	background-size: 26px 26px;
	background-position: 10px center;
	background-repeat: no-repeat;
}
#sns-area > div a:hover {
	opacity: 0.7;
}
#sns-area > div.twitter-btn a {
	background-color: #1da1f2;
	background-image: url(../images/common/social_twitter.png);
}
#sns-area > div.facebook-btn a {
	background-color: #3c5a99;
	background-image: url(../images/common/social_facebook.png);
}
#sns-area > div.hatena-btn a {
	background-color: #00a4de;
	background-image: url(../images/common/social_hatena.png);
}
#sns-area > div.line-btn a {
	background-color: #19BC03;
	background-image: url(../images/common/social_line.png);
}
#sns-area > div.google-btn a {
	background-color: #de5e53;
	background-image: url(../images/common/social_google.png);
}
#sns-bar {
	bottom: -0.4px;
	position: fixed;
	background-color: rgba(24,41,73,0.8);
	text-align: center;
	width: 100%;
	letter-spacing: -0.4em;
	height: 48px;
}
#sns-bar > div {
	margin: 0 20px;
	display: inline-block;
}
#sns-bar > div a {
	display: inline-block;
	height: 48px;
	width: 38px;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	-webkit-background-size: 26px 26px;
	background-size: 26px 26px;
	background-position: center center;
	background-repeat: no-repeat;
}
#sns-bar > div a:hover {
	opacity: 0.7;
}
#sns-bar > div a span {
	display: none;
}
#sns-bar > div.twitter-btn a {
	background-image: url(../images/common/social_twitter.png);
}
#sns-bar > div.facebook-btn a {
	background-image: url(../images/common/social_facebook.png);
}
#sns-bar > div.hatena-btn a {
	background-image: url(../images/common/social_hatena.png);
}
#sns-bar > div.line-btn a {
	background-image: url(../images/common/social_line.png);
}
#sns-bar > div.google-btn a {
	background-image: url(../images/common/social_google.png);
}

@media screen and (max-width: 767px) {
#sns-area > div a {
	height: 44px;
	padding: 0;
	background-position: center center;
}
#sns-area > div a span {
	display: none;
}
#sns-bar {
	text-align: left;
}
#sns-bar div {
	margin: 0 6px;
}
}
/*******************************
	関連記事ブロック
********************************/
section.related-article {
	border-top: 4px solid #fff;
	padding-top: 60px;
	padding-bottom: 60px;
	background-color: #f7f7f7;
}
.related-article h4 {
	text-align: center;
}
.related-article .row div > a {
	display: block;
	background: #fff;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
	-webkit-box-shadow: 0 10px 20px 0 rgba(0,0,0,0.2);
	box-shadow: 0 10px 20px 0 rgba(0,0,0,0.2);
	margin-bottom: 30px;
}
.related-article .row div > a:hover {
	-webkit-box-shadow: 0 0 0 0 rgba(0,0,0,0);
	box-shadow: 0 0 0 0 rgba(0,0,0,0);
}
.related-article .row div a .img {
	margin-bottom: 30px;
}
.related-article .row div a h5 {
	margin: 0 30px 20px;
	color: #30B4DF;
}
.related-article .row div a .txt {
	margin: 0 30px;
	padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
	.related-article {
		padding-top: 40px;
	}
}
/*******************************
	インタビュー一覧ブロック
********************************/
section.interview {
	border-top: 4px solid #fff;
	padding-top: 60px;
	padding-bottom: 60px;
	background: #f7f7f7;
}
.interview h4 {
	text-align: center;
}
.interview p {
	margin-top: 0!important;
	margin-bottom: 20px !important;
}
.interview a img {
	-webkit-box-shadow: 0 8px 16px rgba(0,0,0,0.2);
	box-shadow: 0 8px 16px rgba(0,0,0,0.2);
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
.interview a:hover img {
	-webkit-box-shadow: 0 0 0 rgba(0,0,0,0);
	box-shadow: 0 0 0 rgba(0,0,0,0);
}

@media screen and (max-width: 767px) {
section.interview {
	padding-top: 40px;
	padding-bottom: 40px;
}
.interview p {
	max-width: 270px;
	float: none;
}
}
/*******************************
	募集職種一覧ブロック
********************************/
section.occupations {
	border-top: 4px solid #fff;
	padding-top: 60px;
	padding-bottom: 45px;
	background-color: #f7f7f7;
}
.occupations .container {
	position: relative;
}
.occupations h4 {
	text-align: center;
}
.occupations ul {
	margin-bottom: 0 !important;
}
.occupations ul li {
	padding-left: 15px;
	margin-bottom: 15px;
}
.occupations ul li::before {
	display: none;
}

@media screen and (max-width: 767px) {
section.occupations {
	padding-top: 40px;
	padding-bottom: 25px;
}
}
/*******************************
	アンカーリンク
********************************/
ul.anchor li {
	padding-left: 15px;
	border-right: 1px solid #ddd;
	font-size: 1.8rem;
	font-weight: bold;
}
ul.anchor li img{
 display:block;
 margin:0 auto 20px;
}
ul.anchor li span{
 font-weight:bold;
 font-size:2.0rem;
 display:block;
 text-align:center;
}
ul.anchor li strong.bg {
	font-weight: bold;
}
ul.anchor li:last-child {
	border-right: none;
}
ul.anchor li::before {
	display: none !important;
}
ul.anchor li a {
	display: block;
	width: 100%;
	height: 100%;
	padding-bottom: 40px;
	position: relative;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
ul.anchor li a:hover {
	opacity: 0.7;
}
ul.anchor li a::after {
	content: "";
	display: block;
	position: absolute;
	left: -webkit-calc(50% - 9px);
	left: calc(50% - 9px);
	bottom: 0;
	width: 18px;
	height: 10px;
	background: url(../images/common/icon_arw_2.png) left top no-repeat;
	-webkit-background-size: 18px 10px;
	background-size: 18px 10px;
	-webkit-transition: all 0.2s ease 0s;
	transition: all 0.2s ease 0s;
}
ul.anchor li a:hover::after {
	bottom: 10px;
}

@media screen and (max-width: 991px) {
ul.anchor li {
	border-right: none;
	border-bottom: 1px solid #ddd;
}
ul.anchor li a {
	padding-right: 40px;
	padding-bottom: 8px;
}
ul.anchor li a::after {
	left: auto;
	right: 0;
	top: 40%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
ul.anchor li a:hover::after {
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
}

/*******************************
	見出しリスト
********************************/

.table-contents {
  background:#f4f4f4;
  padding:20px 30px;
  margin-bottom:60px;
  position:relative;
  -webkit-transition:all .6s ease;
  transition:all .6s ease;
}
.table-contents.open{
  padding:0 30px 30px;
}
.table-contents .ttl{
  font-size:2.8rem;
  font-weight:bold;
  line-height:1;
  padding-top:8px;
  padding-bottom:4px;
  margin-bottom:0;
  -webkit-transition:all .6s ease;
  transition:all .6s ease;
}
.table-contents.open .ttl{
  -webkit-transform:translateY(-20px);
  -ms-transform:translateY(-20px);
  transform:translateY(-20px);
}
.table-contents .toggle{
  position:absolute;
  right:30px;
  top:20px;
  height:40px;
  font-size:1.4rem;
  font-weight:normal;;
  color:#fff;
  background:#3E3A39;
  padding:0 45px 0 15px;
  width:110px;
  border-radius:20px;
  margin-bottom:0;
  -webkit-transition:all .6s ease;
  transition:all .6s ease;
  line-height:40px;
  cursor:pointer;
  margin-top:0 !important;
}
.table-contents.open .toggle{
  top:-20px;
}
.table-contents .toggle::before,
.table-contents .toggle::after{
  position:absolute;
  display:block;
  content:"";
  width:10px;
  height:2px;
  top:-webkit-calc(50% + 2px);
  top:calc(50% + 2px);
  right:15px;
  background:#fff;
  -webkit-transition:all .3s ease;
  transition:all .3s ease;
}
.table-contents .toggle::before{
  -webkit-transform:rotate(-45deg) translate(4px,0);
  -ms-transform:rotate(-45deg) translate(4px,0);
  transform:rotate(-45deg) translate(4px,0);
}
.table-contents .toggle::after{
  transform:rotate(45deg) translate(-4px,0);
}
.table-contents.open .toggle::before,
.table-contents.open .toggle::after{
  width:16px;
  top:-webkit-calc(50% - 2px);
  top:calc(50% - 2px);
}
.table-contents.open .toggle::before{
  -webkit-transform:rotate(45deg);
  -ms-transform:rotate(45deg);
  transform:rotate(45deg);
}
.table-contents.open .toggle::after{
  -webkit-transform:rotate(-45deg);
  -ms-transform:rotate(-45deg);
  transform:rotate(-45deg);
}
.table-contents div dl{
  margin-bottom:10px;
  margin-left:10px;
}
.table-contents div dl dt{
  font-weight:500;
  margin-bottom:5px;
}
.table-contents div dl dt span{
  display:inline-block;
  width:36px;
  height:36px;
  text-align:center;
  margin-right:20px;
  border:1px solid #3E3A39;
  padding:5px;
  font-size:1.8rem;
}
.table-contents div dl dd{
  display:list-item;
  font-weight:500;
  margin-left:80px;
  margin-bottom:5px;
}
.table-contents div dl a{
  border-bottom:1px solid #182949;
  text-decoration:none;
  color:#333;
  -webkit-transition:border .3s ease;
  transition:border .3s ease;
}
.table-contents div dl a:hover{
  border-bottom:1px solid #FF8811;
}
@media screen and (max-width: 991px) {

  .table-contents{
    padding:20px 15px;
  }
  .table-contents.open{
    padding:0 15px 30px;
  }
  .table-contents .toggle{
    right:15px;
  }
  .table-contents div dl{
    margin-bottom:20px;
    font-size:1.4rem;
  }
  .table-contents div dl dt span{
    vertical-align:top;
  }
  .table-contents div dl dt a{
    display:inline-block;
    width:-webkit-calc(100% - 56px);
    width:calc(100% - 56px);
  }
  .table-contents div dl dt,
  .table-contents div dl dd{
    margin-bottom:10px;
  }
}

/**/
