@charset "utf-8";

:root ol, :root ul {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

/* ------- 強み ------- */
#strong-article .content-area01{
	text-align:center;
	background:url(img/strong/bg_strong.jpg) #9be2fe no-repeat center bottom;
	padding-bottom:28rem;
}
#strong-article h1{
	color: #01579b;
	font-size: 4.2rem;
	width: 100%;
	letter-spacing: 0.3rem;
	text-align: center;
	padding: 8rem 0 5.5rem;
}

#strong-article p{
	line-height:2.2;
	padding-bottom:3.6rem;
}


.ttl02-strong {
    position: relative;
    border-bottom: 2px solid #01579b;
    background: #edf0f5;
    color: #01579b;
    text-align: center;
    font-size: 2.8rem;
    padding: 4.6rem 0 4rem;
    margin: 0 0 4.4rem;
}
    /* 下三角 */ 
    .ttl02-strong:before{
        content: "";
        position: absolute;
        bottom: -24px;
        left: 50%;
        margin-left:0px;
        border: 14px solid transparent;
        border-top: 14px solid #edf0f5;
				z-index: 2;
				margin-left: -14px;
    }
    .ttl02-strong:after {
        position: absolute;
        border: 14px solid transparent;
        border-top-color: #01579b;
        border-bottom-width: 0;
        bottom: -14px;
        content: "";
        left: 50%;
				z-index: 1;
				margin-left: -14px;
    }
    
/* ------- グループ力 ------- */
#strong-group > .content-area01{
	height:390px;
	margin:0 auto;
	text-align:center;
	background:url(img/strong/group/bg_group.jpg) no-repeat center top;
	color:#fff;
	font-size:2.0rem;
	font-weight:bold;
}
#strong-group > .content-area01 h1 span{
	display:block;
}
#group-copy h1 span,
#technology-copy h1 span{
	display:block;
	border:1px solid #fff;
	padding:1.2rem 0;
	width:320px;
	margin:0 auto;
}

#group-copy h1 img,
#technology-copy h1 img{
	margin-top:2.0rem;
	margin-bottom:2.0rem;
}
#st-group01{
	background:#edf0f5;
	padding:0 0 7.4rem;
}
#st-group01 > .content-area01{
	width:940px;
	margin:0 auto;
	text-align:center;
}
#st-group01-2{
	text-align:left;
	margin:0 -30px;
	background:#fff;
	padding:0 0 3.2rem;
	font-size:1.6rem;
}
#st-group01-2 > .flex-ce.label-needs{
	padding:4.8rem 3rem 3.0rem;
}
#st-group01-2 > p{
	padding:0rem 4rem ;
}
#st-group01-2 h3{
	color:#01579b;
	font-size:3.2rem;
}
#st-group01-2 .label-needs ul{
	margin-top: 0.7rem;
}
#st-group01-2 .label-needs li{
	display:inline-block;
	font-size:1.8rem;
	text-align:center;
	background:#01579b;
	color:#fff;
	margin-left:1.8rem;
	padding: 0.3rem 2rem;
  margin-left: 1.3rem;
}
#st-group01-2 h4{
	color:#01579b;
	font-size:1.8rem;
}
.st-group01-2s{width:440px;}

#st-group01-2 > .flex-ce.service-needs{
	padding:2.4rem 4rem 1.4rem;
}
.st-group01-2s.flex-ce{width:440px;}
.st-group01-2s.flex-ce div{width:210px;}
.st-group01-2s.flex-ce figure{width:210px;}
.st-group01-2s > figure{
	margin-top:2rem;
	margin-bottom:1.6rem;
}
#st-group02{
	border-bottom:1px solid #e5e5e5;
}
#st-group02 > .content-area01{
	width:1000px;
	margin:0 auto;
}
#st-group02 .flex-ce section{
	width:320px;
}

#st-group02 .flex-ce section h3 span.label-reason{
	display:block;
	background:#01579b;
	color:#fff;
	padding:1.3rem;
	text-align:center;
	font-size:2.0rem;
}
#st-group02 .flex-ce section h3 span.point-reason{
	display:block;
	font-size:1.8rem;
	color:#01579b;
	background:#dee5f1;
	text-align:center;
	padding:3rem 1rem;
}
#st-group02 .flex-ce section p{
	padding:2.8rem 0 5rem;
	font-size:1.6rem;
}
#st-group03{
	padding:1rem 0 2rem;
}
#st-group03 > .content-area01{
	width:1000px;
	margin:0 auto;
}
#st-group03 section{
	border-top:1px solid #e5e5e5;
	padding:3.6rem;
	border-bottom:1px solid #e5e5e5;
	margin:4rem 0;
}

#st-group03 section h3{
	font-size:2.4rem;
	color:#01579b;
	padding:0 0 1.6rem;
}
#st-group03 section p{
	font-size:1.6rem;
}
#st-group04{
	background:#edf0f5;
	padding:4.8rem 0 5rem;
}
#st-group04 > .content-area01{
	width:1000px;
	margin:0 auto;
}
#st-group04 .flex-ce section{
	width:490px;
}

#st-group04 .flex-ce section h2{
	background:#01579b;
	color:#fff;
	padding:0.8rem;
	text-align:center;
	font-size:2.0rem;
}
#st-group04 .flex-ce section p{
	font-size:1.6rem;
	padding:2.8rem 0 3.8rem;
}

#st-group04 a.btn-arrows02{/*青*/
	margin:0 auto;
	width:200px;
	padding:12px 0;
	color:#4181b4;
	font-size:14px;
	text-decoration:none;
	text-align:center;
	border:1px solid #01579b;
	display:block;
	background:url(img/common/icon_arrows02.png )  #fff no-repeat right 18px center;
}
#st-group04 a.btn-arrows02:hover{
	background:#01579b;
	color:#fff;
	text-decoration:none;
}
.group #common-sekisui .flex{
	justify-content: center;
}
.group #common-sekisui .flex section:first-child{
	display: none;
}

/* ------- 技術力 ------- */
#strong-technology > .content-area01{
	height:390px;
	margin:0 auto;
	text-align:center;
	background:url(img/strong/technology/bg_technology.jpg) no-repeat center top;
	color:#fff;
	font-size:2.0rem;
	font-weight:bold;
}
#st-technology01{
	background:#edf0f5;
}
#st-technology01 > .content-area01{
	width:796px;
	margin:0 auto;
	text-align:center;
}
#st-technology01 p{
	font-weight:bold;
	padding-bottom:5rem;
}
#st-technology02{
	padding:5rem 0 1rem;
}
#st-technology02 section{
	width:1000px;
	margin:0 auto 4rem;
	border:1px solid #e5e5e5;
}
#st-technology02 section h3{
	color:#01579b;
	font-size:2.8rem;
	padding:2.0rem 0;
	border-bottom:2px solid #e5e5e5;
	margin:0 3.8rem;
}
#st-technology02 section .flex-ce{
	padding:3.6rem 0;
	margin:0 3.8rem;
}
#st-technology02 section .flex-ce p{
	width:576px;
	margin-bottom:1rem;
}
#st-technology02 section .flex-ce ul{
	width: 576px;
}
#st-technology02 section .flex-ce .annotation-txt{
	font-size:1.6rem;
}
#st-technology02 section .flex-ce figure{
	width:300px;
}
#st-technology03{
	background:#edf0f5;
}
#st-technology03 > .content-area01{
	width:1000px;
	margin:0 auto;
}
#st-technology03 .flex-ce{
	flex-direction:row-reverse;
	padding:0 0 4.2rem;
}
#st-technology03 .flex-ce p{
	padding:0 20px;
	font-size:1.6rem;
	width:380px;
}
#st-technology03 .flex-ce figure{
	margin-left:20px;
	width:280px;
}
#st-technology03 .flex-ce figcaption{
	padding-top:0.8rem;
	font-size:1.4rem;
}
#st-technology03 .flex-ce p span{
	display: block;
	padding-top:1.2rem;
	font-size:1.4rem;
}
#st-technology04{
}
#st-technology04 > .content-area01{
	width:1000px;
	margin:0 auto;
	padding:0 0 9.8rem;
}
#st-technology04 > .content-area01 .img-technology04{
	text-align:center;
	padding:3.6rem 0;
	border-top:1px solid #e5e5e5;
	border-bottom:1px solid #e5e5e5;
	font-size:1.4rem;
	margin-bottom:3.6rem;
}
#st-technology04 > .content-area01 .img-technology04 figure{
	margin-bottom:2.4rem;
}
#st-technology04 > .content-area01 p{
	font-size:1.6rem;
}
.technology #common-sekisui .flex{
	justify-content: center;
}
.technology #common-sekisui .flex section:last-child{
	display: none;
}

/* ------- ウィズコロナ／アフターコロナ ------- */

#corona-index {
  position: relative;
}

#corona-index > .content-area01 {
  width: 1160px;
  height: 500px;
  margin: 0 auto;
  background: url("img/strong/solution2/bg_solution2.jpg") no-repeat center top;
  background-size: auto;
}

#corona-index > .content-area01 #content-heading {
  text-align: center;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: .18em;
  font-weight: 700;
}

#corona-index #content-heading .corona-copy-catch {
  display: block;
  font-size: 4.7rem;
  color: #fff;
  text-shadow: 0px 0px 7px rgba(14, 123, 154, 0.1);
  margin-bottom: 34px;
  line-height: 1;
  letter-spacing: 0.13em;
  padding-left: 0.13em;
}

#corona-index #content-heading .corona-copy-catch .emphasis {
  font-size: 6.4rem;
  display: inline-block;
  position: relative;
  padding: 0 2.1rem;
}

#corona-index #content-heading .corona-copy-catch .emphasis:before {
  position: absolute;
  content: "";
  top: 0;
  left: 7px;
  width: 14px;
  height: 30px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
}

#corona-index #content-heading .corona-copy-catch .emphasis:after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 7px;
  width: 14px;
  height: 30px;
  border-bottom: 4px solid #fff;
  border-right: 4px solid #fff;
}

#corona-copy #content-heading .corona-copy-txt {
  display: block;
  background-color: #fff;
  padding: 0.2em 0;
	width: 26em;
  margin: 0 auto;
  color: #289fbb;
  font-size: 2.33rem;
  text-align: center;
}

@media all and (-ms-high-contrast: none) {
  #corona-index #content-heading .corona-copy-catch .emphasis {
    padding: 0 13px 0 23px;
  }
  #corona-index #content-heading .corona-copy-catch .emphasis:before {
    top: -12px;
    left: 7px;
  }
  #corona-index #content-heading .corona-copy-catch .emphasis:after {
    bottom: 9px;
    right: 7px;
  }
  #corona-copy #content-heading .corona-copy-txt {
    padding: 0.5em 0 0.2em;
    line-height: 1;
  }
}

/* ------- ウィズコロナ／アフターコロナ MV下の吹き出し ------- */
#corona-index .corona-balloon {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: 1080px;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 437px;
}

#corona-index ul .corona-balloon-list {
  font-weight: 700;
  font-size: 1.33rem;
  line-height: 1.5;
  color: #fff;
  width: 200px;
  height: 120px;
  border-radius: 8px;
  margin-bottom: 60px;
  display: table;
  position: relative;
  box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.1);
}

#corona-index ul .corona-balloon-list:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 18px 0 18px;
  margin: 0 auto;
  bottom: -16px;
  left: 0;
  right: 0;
}

#corona-index ul .corona-balloon-list span {
  display: table-cell;
  vertical-align: middle;
}

#corona-index ul .corona-balloon-list:first-child {
  background-color: #4a8fc4;
}

#corona-index ul .corona-balloon-list:first-child:before {
  border-color: #4a8fc4 transparent transparent transparent;
}

#corona-index ul .corona-balloon-list:nth-child(2) {
  background-color: #6fccdd;
}

#corona-index ul .corona-balloon-list:nth-child(2):before {
  border-color: #6fccdd transparent transparent transparent;
}

#corona-index ul .corona-balloon-list:nth-child(3) {
  background-color: #73ce7b;
}

#corona-index ul .corona-balloon-list:nth-child(3):before {
  border-color: #73ce7b transparent transparent transparent;
}

#corona-index ul .corona-balloon-list:nth-child(4) {
  background-color: #e3be7d;
}

#corona-index ul .corona-balloon-list:nth-child(4):before {
  border-color: #e3be7d transparent transparent transparent;
}

#corona-index ul .corona-balloon-list:nth-child(5) {
  background-color: #e69d9d;
}

#corona-index ul .corona-balloon-list:nth-child(5):before {
  border-color: #e69d9d transparent transparent transparent;
}

/* ------- ウィズコロナ／アフターコロナ 吹き出し下のリード文 ------- */
#corona-index .corona-lead {
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  margin: 120px auto 0.7em;
  font-weight: 700;
  text-align: center;
  line-height: 2.2;
}

#corona-index .corona-lead .corona-blue {
  font-size: 2.2rem;
  color: #075799;
  line-height: 1;
}

#corona-index .corona-emphasis {
  font-size: 2.8rem;
  color: #075799;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  padding-bottom: 72px;
}

/* ------- ウィズコロナ／アフターコロナ グレー背景の詳細部分 ------- */
#corona-article {
  background-color: #edf0f5;
  margin: 0;
  padding: 113px 0 92px;
  font-size: 1.2rem;
  position: relative;
}

#corona-article:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 48px 48px 0 48px;
  border-color: #fff transparent transparent transparent;
  margin: 0 auto;
  top: 0;
  left: 0;
  right: 0;
}

#corona-article .corona-article-inner {
  width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  border: 3px solid #075699;
  border-radius: 8px;
  padding: 55px 50px 40px;
  box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, 0.1);
}

#corona-article .corona-article-detail {
  border-bottom: 3px dotted #075699;
  padding: 3.2rem 0 2.5rem;
}

#corona-article .corona-article-detail:first-child {
  padding-top: 0;
}

#corona-article .corona-article-detail:last-child {
  border: none;
  padding-bottom: 0;
}

#corona-article .corona-article-detail .cr-detail-ttl {
  font-size: 2.8rem;
  color: #075799;
  line-height: 1.2;
  font-weight: 700;
  position: relative;
  text-indent: 1.5em;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: .03em;
  margin-bottom: 2.4rem;
}

#corona-article .corona-article-detail .cr-detail-ttl:before {
  content: "";
  position: absolute;
  display: block;
  background: url("img/strong/solution2/article_icon_01.png") no-repeat center;
  background-size: cover;
  width: 3.6rem;
  height: 3.6rem;
  bottom: 0;
  left: 0;
}

#corona-article .corona-article-detail .cr-sumally-txt .cr-sumally-txt-list {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  position: relative;
  padding-left: 1em;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  letter-spacing: .03em;
  margin-bottom: 0.8rem;
}

#corona-article .corona-article-detail .cr-sumally-txt .cr-sumally-txt-list:before {
  content: "";
  position: absolute;
  display: block;
  background-color: #075699;
  border-radius: 50px;
  border-radius: 50%;
  top: .45em;
  left: 0;
  width: 1rem;
  height: 1rem;
}

#corona-article .corona-article-detail .cr-sumally-img {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
}

#corona-article .corona-article-detail .cr-sumally-img .cr-sumally-img-list {
  width: 280px;
  margin-top: 20px;
}

#corona-article .corona-article-detail .cr-sumally-img .cr-sumally-img-list img {
  width: 100%;
}

#corona-article .corona-article-detail .cr-detail-sumally .txt-sup {
  font-size: 60%;
  vertical-align: top;
  position: relative;
  top: 0.1em;
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-sumally-annotation {
  font-size: 1.4rem;
  line-height: 1.4;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  margin-top: 1.33rem;
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-sumally-txt-annotation {
  margin-top: 0.9rem;
  padding-left: 1em;
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-sumally-point {
  background-color: #fbe9ea;
  margin-top: 1.1rem;
  padding: 2.1rem 2.5rem;
  font-size: 1.6rem;
  text-align: justify;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-point-ttl {
  color: #c03d3e;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1rem;
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-point-txt {
  line-height: 1.6;
}

#corona-article .corona-article-detail .cr-detail-sumally .cr-point-annotation {
  line-height: 1.6;
  margin-top: 7px;
  padding-left: 1em;
  text-indent: -1em;
}

/* ------- ウィズコロナ／アフターコロナ お問合せ ------- */
#corona-contact .corona-emphasis {
  font-size: 3rem;
  color: #075799;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  padding-top: 4.2rem;
  padding-bottom: 1.7rem;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
}

#corona-contact .corona-contact-txt {
  font-size: 2.5rem;
  color: #075799;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
}

#corona-contact .cr-contact-btn a {
  color: #fff;
  text-decoration: none;
  background: #01579b;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  padding: 1.4rem 1.2rem 1.4rem 5.5rem;
  width: 40rem;
  margin: 3.7rem auto 4.2rem;
  border-radius: 50px;
}

#corona-contact .corona-contact-red {
  width: 67rem;
  margin: 0 auto 6rem;
  background: url("img/strong/solution2/corona_grid_pc.png") no-repeat center top;
  background-size: contain;
  font-weight: 700;
  text-align: center;
  padding-bottom: 1.6em;
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
}

#corona-contact .corona-contact-red .cr-red-emphasis {
  color: #c03d3e;
  line-height: 1;
  padding: 2rem 0 1.3rem;
  font-size: 2.1rem;
}

#corona-contact .corona-contact-red .cr-red-annotation {
  font-size: 1.5rem;
  line-height: 1;
}
