@charset "utf-8";


/*------------------------------------------
 *  common
------------------------------------------*/

/*レイアウト*/
.content-wrap{
padding: 20px;
width: 100%;
margin-bottom: 80px;
}

.content-inner{
max-width: 1000px;
width: 100%;
margin: auto;
}

.flex-wrap{
display: flex;
flex-wrap: wrap;
align-items: center;
}

/*ボタンスタイル*/
.btn-style01{
margin: 20px auto!important;
text-align: center;
}

.btn-style01 a{
background-color: #85BA39;
display: inline-block!important;
padding: 5px 10px;
border-radius: 4px;
color: #fff;
}

/*タイトル*/

.ttl-style01{
font-size: 1.5em;
text-align: center;
height: 50px;
}

.ttl-style01 span{
position: relative;
}

.ttl-style01 span::before{
content: '';
width: 50px;
height: 50px;
display: inline-block;
background-repeat: no-repeat;
background-position: left center;
background-size: auto 50px;
position: absolute;
    top: 50%;
    left: -60px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#service-list .ttl-style01 span::before{
background-image: url("../images/icon_service.png");
}

#pickup-content .solution .ttl-style01 span::before{
background-image: url("../images/icon_solution.png");
}

#pickup-content .column .ttl-style01 span::before{
background-image: url("../images/icon_column.png");
}

/*テキストスタイル*/

.txt-style01{
text-align: center;
margin-bottom: 40px;
}


/*------------------------------------------
 *  main_visual
------------------------------------------*/

#main_visual{
position: relative;
}


#main_visual .main_img {
  /* 背景画像を無効化 */
  background-image: none;

  /* テキスト隠し解除 */
  text-indent: 0;
  white-space: normal;
  overflow: visible;

  /* 高さ調整 */
  height: auto;
}

/* 横並び */
.mv_split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 0px 0px 60px;
}

/* 左 */
.mv_text {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  margin-top: -20px;
  margin-left:auto;
}

/* 右 */
.mv_image {
  width: 50%;
  text-align: right;
}

.mv_image img {
  max-width: 130%;
}

/* コピー */
.mv_lead {
  font-size: 42px;
  font-weight: bold;
  line-height: 1.2;
}

.mv_lead .blue {
  color: #0B4A8C;
}

.mv_lead .orange {
  color: #E8501F;
}

.BrandingGroup{
background-color: #fff;
width: 470px;
height: 100%;
display: none;
top: 0;
}

.BrandingTxt{
position: absolute;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.BrandingTitle{
width: 500px;
padding: 20px;
background-color: #1374B4;
color: #fff;
border-radius: 8px;
margin-bottom: 20px;
}

.BrandingCopy h2{
font-size: 1.8em;
font-weight: 600;
border-bottom: 5px solid #1374B4;
margin-bottom: 20px;
}

.BrandingCopy{
width: 390px;
}

/*------------------------------------------
 *  topics
------------------------------------------*/

#topics{
background-color: #333333;
color: #fff;
border-bottom: thin solid #fff;
padding: 20px;
}

#topics .flex-wrap div:first-child{
width: 145px;
border-right: solid thin #fff;
text-align: center;
}

#topics .flex-wrap div:last-child{
margin-left: 30px;
flex: 1;
}

#topics h2{
font-size: 1.5em;
margin-bottom: 15px;
}

#topics .text-area .topics-list li{
display: flex;
align-items: center;
margin-bottom: 10px;
}

#topics .text-area .topics-list span{
display: inline-block;
padding-right: 20px;
white-space: nowrap;
}

#topics .text-area .topics-list a{
display: inline-block;
width: 650px; /* 省略せずに表示するサイズを指定 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: #fff;
margin: 0!important;
}

/*------------------------------------------
 *  banner
------------------------------------------*/

#banner{
background-color: #333;
padding: 20px 0;
margin-bottom: 50px;
}

#banner h2{
margin-bottom: 20px;
color: #fff;
text-align: center;
font-size: 2em;
}

.swiper-container{
width: 1250px;
margin: auto;
}

/*------------------------------------------
 *  banner
------------------------------------------*/

#service-list .ser-list{
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

#service-list .ser-list li{
width: 32%;
border: thin solid #ccc;
padding: 10px;
margin-bottom: 15px;
}

#service-list .ser-list li:last-child{
width: 66%;
border: none;
}

#service-list .ser-list li a{
display: flex;
padding: 10px;
height: 100%;
}


#service-list .ser-list li a .thumb{
width: 60px;

}

#service-list .ser-list li a .thumb img{
width: 100%;
}

#service-list .ser-list li a .text-area{
flex: 1;
padding-left: 15px;
}

#service-list .ser-list li a .text-area h3{
color: #1374B4;
font-weight: 500;
border-bottom: 2px solid #1374B4;
margin-bottom: 1em;
}
#service-list .ser-list li a .text-area p{
font-size: 0.8em;
}

#service-list .ser-list li:last-child .text-area p{
font-size: 1.2em;
text-align: center;
font-weight: 600;
}


/*------------------------------------------
 *  pickup-content
------------------------------------------*/

#pickup-content{
background-color: #eee;
padding: 40px 20px;
}

#pickup-content .solution{
margin-bottom: 80px;
}

#pickup-content .pickup-list {
display: flex;
justify-content: space-between;
margin-bottom: 40px;
}

#pickup-content .pickup-list li{
width: 49%;
}

#pickup-content .pickup-list li a{
display: flex;
align-items: center;
background-color: #fff;
border: thin solid #ccc;
}

#pickup-content .pickup-list li .thumb{
width: 180px;
height: 180px;
overflow: hidden;
position: relative;
}

#pickup-content .pickup-list li .thumb img{
width: auto;
height: 180px;
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

#pickup-content .pickup-list li .text-area{
flex: 1;
margin-left: 15px;
}

#pickup-content .pickup-list li .text-area h3{
color: #1374B4;
font-size: 0.9em;
font-weight: 600;
margin-bottom: 1em;
}

#pickup-content .pickup-list li .text-area .date{
color: #85BA39;
font-size: 0.8em;
}

#pickup-content .pickup-list li .text-area p{
font-size: 0.8em;
}

/*------------------------------------------
 *  contact btn
------------------------------------------*/


/* 共通ボタン */
.contact-btn {
  display: inline-block;
  color: #ffffff;
  font-weight: bold;
  text-decoration: none;
  padding: 12px 20px;
  border-radius: 5px;
}

/* ヘッダー（青） */
#utility_navi .contact-btn {
  background-color: #1374B4;
}

/* メインCTA（オレンジ） */
.mv_cta .contact-btn {
  padding: 9px 45px;
  font-size: 24px;
  border-radius: 8px;
  background-color: #f57c00;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}


#utility_navi .contact-btn:hover {
  background-color: #0f5f96;
}

.mv_cta .contact-btn:hover {
  background-color: #e67e00;
}

.mv_cta {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
}
