@charset "UTF-8";

/* 共通　導入事例枠 ここから　*/
.case-study-wrap {
  margin-bottom: 120px;
}

.case-study-wrap .case-box {
  position: relative;
  max-width: 1000px;
  margin: 40px auto;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(0, 0, 0, 0.1);
  background-color: #fff;
}

.case-study-wrap .case-box a {
  text-decoration: none;
}

.case-study-wrap .case-box a:hover {
  opacity: 0.8;
}

.case-study-wrap .case-box .label {
  position: absolute;
  display: inline-block;
  top: -2px;
  left: -2px;
  padding: 5px 30px;
  height: 40px;
  line-height: 32px;
  background-color: #f39200;
  color: #ffffff;
  border-radius: 0;
}
.case-study-wrap .case-box .case-box-header {
  display: flex;
  gap: 30px;
  margin-top: 10px;
  margin-bottom: 40px;
  color: #3d3d3d;
}

.case-study-wrap .case-box .case-box-header .text-box {
  text-align: left;
  flex: 1 1 400px;
}

.case-study-wrap .case-box .case-box-header .text-box h2 {
  line-height: 1.4;
  margin: 10px 0;
}

.case-study-wrap .case-box .case-box-header .img-box {
  position: relative;
  flex: 1 1 250px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.case-study-wrap .case-box .case-box-header .img-placeholder img {
  width: 400px;
  height: 220px;
  object-fit: cover;
}

.case-study-wrap .case-box .case-box-header .logo-placeholder {
  position: absolute;
  background-color: white;
  border-radius: 0 25px 0 0;
  padding: 15px;
  width: 35%;
  height: 70px;
  left: 0px;
  bottom: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.case-study-wrap .case-box .case-box-header .logo-placeholder img {
  width: 100%;
}

.case-study-wrap .case-box .case-box-solution {
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 0px !important;
  list-style: none;
  gap: 10px;
  margin-bottom: 0;
}

.case-study-wrap .case-box .case-box-solution .solution-box {
  width: 46%;
  display: flex;
  flex-direction: column;
}

.case-study-wrap .case-box .case-box-solution .solution-box .header {
  width: 30%;
  margin: 10px auto 0;
  border-radius: 25px;
}

.case-study-wrap .case-box .case-box-solution .solution-box .header p {
  color: #ffffff;
  text-align: center;
  font-size: clamp(13px, 3vw, 15px);
  line-height: 25px;
  margin-bottom: 0px;
}

.case-study-wrap .case-box .case-box-solution .solution-box .blue {
  background-color: #1a679b;
}

.case-study-wrap .case-box .case-box-solution .solution-box .orange {
  background-color: #F28200;
}

.case-study-wrap .case-box .case-box-solution .bg-lightblue i {
  color: #1a679b;
}

.case-study-wrap .case-box .case-box-solution .bg-lightyellow i {
  color: #F28200;
}

.case-study-wrap .case-box .case-box-solution .solution-box ul {
  padding: 10px 15px 15px 15px;
  margin: auto;
  width: fit-content;
  flex-grow: 1;
}

.case-study-wrap .case-box .case-box-solution .solution-box li {
  font-size: clamp(12px, 3vw, 14px);
  letter-spacing: -0.05em;
  margin: 0 auto;
  line-height: 26px;
  list-style: none;
  text-align: left;
  color: #000;
}
@media screen and (min-width: 640px) {
  .case-study-wrap .case-box .case-box-solution .triangle {
    width: 0;
    height: 0;
    border-left: 30px solid #686868;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    margin: 0 10px;
    align-self: center;
  }
}
@media screen and (max-width: 640px) {
  .case-study-wrap .case-box{
    padding: 30px 15px;
  }
  .case-study-wrap .case-box .case-box-header {
    flex-direction: column;
    gap: 0px;
    margin-bottom: 10px;
  }
  .case-study-wrap .case-box .case-box-header .text-box {
    flex: unset;
    order: 2;
    margin: 20px auto;
  }
  .case-study-wrap .case-box .case-box-header .text-box p{
    padding: 0;
  }
  .case-study-wrap .case-box .case-box-header .img-box {
    flex: unset;
    order: 1;
    margin-top: 20px;
  }
  .case-study-wrap .case-box .case-box-header .logo-placeholder {
    height: 50px;
  }
  .case-study-wrap .case-box .case-box-solution {
    flex-direction: column;
  }
  .case-study-wrap .case-box .case-box-solution .solution-box {
    width: 100%;
  }
  .case-study-wrap .case-box .case-box-solution .triangle {
    border-top: 20px solid #686868;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    margin: 0 10px;
    align-self: center;
  }
}
/* 共通　導入事例枠 ここまで */

/* 小規模オフィス・店舗に最適な"切れない"通信ソリューション ここから */
.retail-office .media-block-content span {
  position: relative;
  padding-bottom: 0.5rem;
  border-bottom: 1.6px solid #494949;
  background-color: white;
  color: #494949;
  text-align: center;
}

.retail-office .media-block-content span:before {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) skew(-25deg);
  height: 20px;
  width: 10px;
  border-right: 1.6px solid #494949;
  background-color: white;
  content: "";
}

.retail-office .media-block-content h3 {
  font-weight: bold;
  color: #F28200;
  margin-top: 40px;
}

.retail-office .media-block-content p {
  padding: 0px;
}

/* その他の機能 */
.retail-office .other-function-list {
  max-width: 100%;
  background-color: #1A809B;
  color: white;
  padding: 60px 0;
  text-align: center;
}

.retail-office .other-function-list ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  flex-wrap: wrap;
  margin: 50px auto 0;
}

.retail-office .other-function-list ul li {
  flex: 1 1 20%;
  max-width: 20%;
  box-sizing: border-box;
  padding: 10px;
}

.retail-office .other-function-list ul .image {
  background-color: white;
  width: 110px;
  height: 110px;
  object-fit: cover;
  border-radius: 50%;
  position: relative;
  margin: 0 auto 20px;
}

.retail-office .other-function-list ul .image img {
  width: 60%;
  height: auto;
  position: absolute;
  top: 20%;
  left: 20%;
}

.retail-office .other-function-list ul .text {
  font-size: clamp(14px, 3vw, 18px);
  color: white;
  margin-top: 20px;
  text-align: center;
}

/* Comparison Section */
.retail-office .comparison-section {
  padding: 60px 0 80px;
}

.retail-office .comparison-table-container {
  max-width: 800px;
  margin: 0 auto;
  overflow-x: auto;
}

.retail-office .comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px auto 40px;
}

.retail-office .comparison-table th,
.retail-office .comparison-table td {
  border: 1px solid #ddd;
  padding: 12px;
  font-size: clamp(12px, 1.2vw, 16px);
  text-align: center;
}

.retail-office .comparison-table th {
  background-color: #1A809B;
  color: white;
}

.retail-office .comparison-table tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}

.retail-office .cta-section {
  padding: 80px 0;
}

.retail-office .cta-buttons .btn {
  margin: 20px 20px 0px;
  padding: 12px 30px;
  font-size: clamp(16px, 1.5vw, 20px);
  border-radius: 10px;
}

.retail-office .cta-buttons .btn:hover {
  opacity: 0.8;
  color: white;
}

/* InControl2 Section */
.incontrol2-section {
  background-color: #E4F0F4;
  padding: 60px 0;
}

.incontrol2-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.incontrol2-image {
  flex: 1;
  text-align: center;
}

.incontrol2-image img {
  max-width: 100%;
}

.incontrol2-content {
  flex: 1;
}

.incontrol2-content h2 {
  margin-bottom: 20px;
}

.incontrol2-content ol {
  padding-left: 20px;
  margin-bottom: 30px;
}

.incontrol2-content li {
  margin-bottom: 10px;
  color: black;
  font-size: clamp(12px, 1.2vw, 16px);
}

/* Product Section */
.retail-office .product-section {
  padding: 60px 0 90px;
  text-align: center;
}

.retail-office .product-section h2 {
  margin-bottom: 20px;
  font-weight: bold;
  line-height: 42px;
  color: black;
}

.retail-office .product-container {
  display: flex;
  justify-content: center;
  gap: 150px;
  flex-wrap: wrap;
}

.retail-office .product-item {
  flex: 1;
  max-width: 300px;
}

.retail-office .product-item a {
  color: black;
}

.retail-office .product-item a:hover {
  opacity: 0.8;
}

.retail-office .product-item img {
  max-width: 100%;
  margin-bottom: 20px;
}

.retail-office .product-item h3 {
  margin-bottom: 10px;
  font-weight: bold;
}

@media (max-width: 768px) {
  .retail-office .other-function-list ul li {
    flex: 1 1 50%;
    max-width: 50%;
  }

  .retail-office .comparison-section {
    padding: 20px 0 30px;
  }

  .incontrol2-container {
    flex-direction: column;
  }

  .retail-office .product-container {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}

@media (max-width: 430px) {

  .retail-office .media-block h2,
  .retail-office .media-block h3,
  .retail-office .other-function-list h2,
  .retail-office .product-section h2 {
    line-height: 30px;
  }

  .retail-office .other-function-list ul {
    margin: 10px auto 0;
  }

  .retail-office .other-function-list ul li {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .retail-office .other-function-list ul li p {
    text-align: center;
    padding: 0;
  }

  .retail-office .cta-section {
    padding: 40px;
  }

  .retail-office .product-item {}
}

/* 小規模オフィス・店舗に最適な"切れない"通信ソリューション ここまで */

/* 診断チャートページ ここから
-------------------------------------------------- */
.dchart_sol .top-img {
  max-width: 100%;
}

.dchart_sol .sp {
  display: none !important;
}

.dchart_sol .img {
  max-width: 100%;
}

.dchart_sol .content_pc {
  margin-bottom: 160px;
}

.dchart_sol .content-sp {
  margin-bottom: 80px;
  width: 100%;
}

.dchart_sol .content-sp .sp-img {
  max-width: 100%;
  margin: 20px auto;
}

.dchart_sol .content-sp .sp-img img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 430px) {
  .dchart_sol .content-sp {
    display: none;
  }
}

@media only screen and (max-width: 430px) {
  .dchart_sol .content_pc {
    display: none;
  }
}

/* 診断チャートページ ここまで 
-------------------------------------------------- */

/* virtual-wan ここから
-------------------------------------------------- */
.wan_sol .wan-wrap {
  background: url(/images/solution/virtual-wan/wan_sol_bg.png) no-repeat;
}

.wan_sol .banner-wrap .text h1 span {
  font-size: clamp(28px, 3vw, 55px);
  font-style: italic;
  font-weight: bold;
  color: #FFAE00;
}

.wan_sol .banner-wrap .text p {
  margin: 60px auto;
}

.wan_sol .banner-wrap .btn-group {
  display: block;
}

.wan_sol .banner-wrap .btn-group button {
  color: #FFFFFF;
  font-size: clamp(12px, 3vw, 16px);
  border: none;
  padding: 8px;
  width: 40%;
  border-radius: 20px;
  font-weight: bold;
}

.wan_sol .banner-wrap .btn-group .wan-btn1 {
  background-color: #FFAE00;
  margin-right: 20px;
}

.wan_sol .banner-wrap .btn-group .wan-btn2 {
  background-color: #52A8E8;
}

.wan_sol .banner-wrap .wan-btn1:hover {
  background-image: linear-gradient(45deg, #ffca57 0%, #fd8f00 100%);
}

.wan_sol .banner-wrap .wan-btn2:hover {
  background-image: linear-gradient(45deg, #88bde6 0%, #2189d8 100%);
}

.wan_sol .banner-wrap .img img {
  width: 40%;
}

@media only screen and (max-width: 1040px) {
  .wan_sol .wan-wrap {
    background-size: auto 720px;
    height: 720px;
    margin-bottom: 100px !important;
    padding-bottom: 0px;
  }

  .wan_sol .banner-wrap {
    max-width: 100%;
    width: 100%;
  }

  .wan_sol .banner-wrap .img {
    margin-top: 350px;
    text-align: center;
  }

  .wan_sol .banner-wrap .img img {
    max-width: 100%;
    width: 50%;
  }

  .wan_sol .banner-wrap .text {
    white-space: normal;
    max-width: 100%;
    width: 100%;
  }

  .wan_sol .banner-wrap .text p {
    margin: 20px auto;
    padding: 0px;
  }

  .wan_sol .banner-wrap .btn-group {
    display: flex;
    width: 50%;
  }
}

@media only screen and (max-width: 860px) {
  .wan_sol .wan-top {
    background-size: auto 720px;
    height: 650px;
    margin-bottom: 40px !important;
    padding-bottom: 0px;
  }

  .wan_sol .banner-wrap .img img {
    width: 60%;
  }
}

@media only screen and (max-width: 440px) {
  .wan_sol .wan-top {
    margin-bottom: 0px !important;
    padding-bottom: 20px;
  }

  .wan_sol .banner-wrap .img {
    margin-top: 280px;
  }

  .wan_sol .banner-wrap .img img {
    width: 90%;
  }

  .wan_sol .banner-wrap .text {
    margin-top: -50px;
    padding: 0 15px;
  }

  .wan_sol .banner-wrap .text p {
    width: 86%;
    margin-left: 0px;
  }

  .wan_sol .wan-top {
    height: auto;
    margin-bottom: 0px !important;
  }

  /* .wan_sol .pc { 
    display: none !important;
  } */
  .wan_sol .sp {
    display: block !important;
  }

  .wan_sol .sp img {
    max-width: 100%;
  }

  .wan_sol .banner-wrap .btn-group {
    display: inline-block;
    width: 60%;
  }

  .wan_sol .banner-wrap .wan-btn1 {
    margin-bottom: 15px;
  }
}


.wan_sol .wan-concept {
  background-color: #DDF0FD;
  padding: 90px;
}

.wan_sol .wan-concept .container {
  background-color: #ffffff;
  border-radius: 46px;
  text-align: center;
  padding: 60px;
}

.wan_sol .wan-concept h2 {
  font-size: clamp(22px, 3vw, 36px);
}

.wan_sol .wan-concept .wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  margin-bottom: 40px;
}

.wan_sol .wan-concept .wrap .box {
  width: 48%;
}

.wan_sol .wan-concept .wrap .left {
  background-color: #FEFBE3;
}

.wan_sol .wan-concept .wrap .right {
  background-color: #EBF8FF;
}

.wan_sol .wan-concept .wrap .box .title {
  color: white;
  font-size: clamp(16px, 3vw, 22px);
  padding: 8px 0;
  margin-top: 0px;
}

.wan_sol .wan-concept .wrap .box .left {
  background-color: #FFAE02;
}

.wan_sol .wan-concept .wrap .box .right {
  background-color: #52A8E8;
}

.wan_sol .wan-concept .wrap .box p {
  font-size: clamp(14px, 3vw, 16px);
  color: #000000;
  margin-top: 40px;
}

.wan_sol .wan-concept .wrap .box ul {
  display: flex;
  justify-content: center;
  padding-left: 0px;
  margin: 20px auto 40px;
}

.wan_sol .wan-concept .wrap .box li {
  list-style: none;
  font-size: clamp(10px, 3vw, 14px);
  background-color: white;
  border-radius: 20px;
  padding: 4px 25px 2px;
  margin: 0 10px;
}

.wan_sol .wan-concept .wrap .box .wan-list li {
  border: 2px solid #FC9B00;
  color: #FC9B00;
}

.wan_sol .wan-concept .wrap .box .lan-list li {
  border: 2px solid #305898;
  color: #305898;
}

.wan_sol .wan-concept .img {
  max-width: 100%;
}

.wan_sol .wan-concept img {
  max-width: 100%;
}

@media only screen and (max-width: 1317px) {
  .wan_sol .wan-concept .wrap .box li {
    margin: 0 5px;
    padding: 4px 10px 2px;
  }
}

@media only screen and (max-width: 982px) {
  .wan_sol .wan-concept {
    padding: 70px 20px;
  }

  .wan_sol .wan-concept .container {
    border-radius: 46px;
    padding: 20px 20px 40px;
  }
}

@media only screen and (max-width: 768px) {
  .wan_sol .wan-concept .wrap {
    display: block;
    margin-top: 30px;
    margin-bottom: 40px;
  }

  .wan_sol .wan-concept .wrap .box {
    width: 100%;
  }

  .wan_sol .wan-concept .wrap .box p {
    text-align: center;
    margin-top: 20px;
  }

  .wan_sol .wan-concept .wrap .box ul {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  .wan_sol .wan-concept .wrap .box .wan-list li {
    border: 1px solid #FC9B00;
  }

  .wan_sol .wan-concept .wrap .box .lan-list li {
    border: 1px solid #305898;
  }
}

/* 課題解決 */
.wan_sol .wan-solution .wrap-top {
  background-color: #EDEDED;
  margin-top: 120px;
  padding: 40px 20px 50px;
  text-align: center;
  position: relative;
}

.wan_sol .wan-solution .wrap-top .wrap-width {
  max-width: 100%;
  width: 100%;

}

.wan_sol .wan-solution .wrap-top::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.5rem 8rem 8rem 8rem;
  border-color: #EDEDED transparent transparent transparent;
  position: absolute;
  top: 100%;
  margin: 0 auto;
  left: 0;
  right: 0;
}

.wan_sol .wan-solution .wrap-top h2 {
  color: #004679;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: bold;
}

.wan_sol .sp_br {
  display: none;
}

.wan_sol .wan-solution .wrap-top .txt {
  text-align: center;
  margin: 0 auto;
}

.wan_sol .wan-solution .wrap-top p {
  font-size: clamp(14px, 3vw, 16px);
  color: #000;
  margin: 20px auto 40px;
}

.wan_sol .wan-solution .wrap-top .img img {
  max-width: 100%;
  /* width: 100%; */
}

.wan_sol .wan-solution .wrap-bottom {
  text-align: center;
  margin: 190px 80px 0px;
}

.wan_sol .wan-solution .wrap-bottom h2 {
  color: #000000;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: bold;
}

.wan_sol .wan-solution .wrap-bottom h2 span {
  color: #FFAE00;
  font-size: clamp(24px, 3vw, 36px);
  font-weight: bold;
  font-style: italic;
}

.wan_sol .wan-solution .wrap-bottom p {
  font-size: clamp(14px, 3vw, 20px);
  color: #000;
  margin-top: 20px;
  line-height: 32px;
}

.wan_sol .wan-solution .wrap-bottom p span strong {
  background: linear-gradient(rgba(255, 200, 84, 0)20%, rgb(255, 223, 164)60%, rgb(255, 228, 154));
}

.wan_sol .wan-solution .wrap-bottom .gif img {
  width: 700px;
  height: 300px;
  object-fit: cover;
  margin: 90px auto 40px;
}

@media only screen and (max-width: 948px) {
  .wan_sol .wan-solution .wrap-top {
    margin-top: 50px;
    padding: 20px 10px 30px;
  }

  .wan_sol .wan-solution .wrap-top p br {
    display: none;
  }

  .wan_sol .wan-solution .wrap-top p {
    text-align: left;
    margin-top: 10px;
    margin-bottom: 20px;
  }

  .wan_sol .wan-solution .wrap-top::before {
    border-width: 4rem 5rem 5rem 5rem;

  }
}

@media only screen and (max-width: 875px) {
  .wan_sol .wan-solution .wrap-bottom {
    margin: 120px 0px 0px;
  }

  .wan_sol .wan-solution .wrap-bottom p br {
    display: none;
  }

  .wan_sol .wan-solution .wrap-bottom p {
    padding: 0px;
    line-height: 26px;
  }

  .wan_sol .wan-solution .wrap-bottom .gif img {
    max-width: 100%;
    margin: 60px auto 20px;
  }

  .wan_sol .wan-solution .wrap-top p {
    padding: 0;
  }
}

@media only screen and (max-width: 654px) {
  .wan_sol .wan-solution .wrap-top h2 {
    line-height: 28px;
  }

  .wan_sol .sp_br {
    display: block;
  }

  .wan_sol .wan-solution .wrap-bottom .gif img {
    margin: 20px auto 10px;
  }
}

@media only screen and (max-width: 498px) {
  .wan_sol .wan-solution .wrap-bottom .gif img {
    height: 180px;
    margin: 10px auto -30px;
  }

  .wan_sol .wan-solution .wrap-bottom p {
    line-height: 22px;
  }

}

/* 提供WANオプション */
.wan_sol .wan-option {
  background-image: url(/images/solution/virtual-wan/wan_sol_bg3.png);
  background-repeat: no-repeat;
  padding: 90px 0 110px;
}

.wan_sol .wan-option h2 {
  text-align: center;
  font-size: clamp(28px, 3vw, 34px);
  color: #000;
  font-weight: bold;
}

.wan_sol .wan-option h2 span {
  color: #FFAE00;
  font-size: clamp(34px, 3vw, 42px);
  font-weight: bold;
  font-style: italic;
}

.wan_sol .wan-option .sentence {
  text-align: center;
  font-size: clamp(14px, 3vw, 17px);
  color: #000;
}

.wan_sol .wan-option .wrap-m {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 20px;
}

.wan_sol .wan-option .wrap-s {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 20px;
}

.wan_sol .wan-option .wrap-m .box-m {
  background-color: rgb(255, 255, 255);
  width: 48%;
  padding: 40px 30px;
  border-radius: 30px;
}

.wan_sol .wan-option .wrap-m .left {
  border-top: #FFAE00 8px solid;
}

.wan_sol .wan-option .wrap-m .right {
  border-top: #52A8E8 8px solid;
}

.wan_sol .wan-option .wrap-m .box-m h3 {
  text-align: center;
  font-weight: bold;
  color: #000;
  font-size: clamp(20px, 3vw, 22px);
}

.wan_sol .wan-option .wrap-m .box-m .ttl-txt {
  text-align: center;
  color: #000;
  font-size: clamp(14px, 3vw, 18px);
}

.wan_sol .wan-option .wrap-m .box-m .img {
  text-align: center;
  margin: 40px auto 60px;
}

.wan_sol .wan-option .wrap-m .box-m .img img {
  max-width: 100%;
  width: 80%;
}

.wan_sol .wan-option .wrap-m .title2:before {
  margin-right: 1rem;
}

.wan_sol .wan-option .wrap-m .title2:after {
  margin-left: 1rem;
}

.wan_sol .wan-option .wrap-m .left .title2 {
  display: flex;
  align-items: center;
  color: #FFAE00;
}

.wan_sol .wan-option .wrap-m .left .title2:before,
.wan_sol .wan-option .wrap-m .left .title2:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #FFAE00;
}

.wan_sol .wan-option .wrap-m .right .title2 {
  display: flex;
  align-items: center;
  color: #52A8E8;
}

.wan_sol .wan-option .wrap-m .right .title2:before,
.wan_sol .wan-option .wrap-m .right .title2:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #52A8E8;
}

.wan_sol .wan-option .wrap-m .left .box-s {
  background-color: #FFF8EA;
  width: 48%;
  display: flex;
  /* justify-content: center; */
  align-items: center;
  flex-direction: column;
}

.wan_sol .wan-option .wrap-m .left .box-s h4 {
  background-color: #FFAE00;
  font-size: clamp(14px, 3vw, 16px);
  width: 100%;
  color: white;
  padding: 23px 0 20px;
  text-align: center;
  font-weight: bold;
}

.wan_sol .wan-option .wrap-m .left .box-s ul {
  position: relative;
  padding: 20px;
  text-align: center;
}

.wan_sol .wan-option .wrap-m .left .box-s ul li {
  list-style-type: none !important;
  font-size: clamp(12px, 3vw, 14px);
  text-align: left;
  color: #000;
  line-height: 24px;
}

.wan_sol .wan-option .wrap-m .left .box-s ul li i {
  color: #ffb03f;
}

.wan_sol .wan-option .wrap-m .memo p {
  font-size: clamp(12px, 3vw, 14px);
  color: #747474;
  text-align: right;
}

.wan_sol .wan-option .wrap-m .right .box-s {
  background-color: #F4FAFF;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.wan_sol .wan-option .wrap-m .right .one {
  width: 27%;
}

.wan_sol .wan-option .wrap-m .right .two {
  width: 23%;
}

.wan_sol .wan-option .wrap-m .right .three {
  width: 46%;
}

.wan_sol .wan-option .wrap-m .right .box-s h4 {
  background-color: #52A8E8;
  font-size: clamp(14px, 3vw, 16px);
  width: 100%;
  color: white;
  font-weight: bold;
  padding: 23px 0 20px;
  text-align: center;
}

.wan_sol .wan-option .wrap-m .right .box-s .title-s {
  font-size: clamp(8px, 3vw, 14px);
  padding: 16px 0 14px;
}

.wan_sol .wan-option .wrap-m .right .box-s ul {
  position: relative;
  padding: 20px;
  text-align: center;
}

.wan_sol .wan-option .wrap-m .right .box-s ul li {
  list-style-type: none !important;
  font-size: clamp(12px, 3vw, 14px);
  text-align: left;
  color: #000;
}

.wan_sol .wan-option .wrap-m .right .box-s ul li i {
  color: #52A8E8;
}

.wan_sol .wan-option .wrap-m .right .box-s ul li a {
  font-size: clamp(12px, 3vw, 13px);
  color: #494949;
}

@media only screen and (max-width: 820px) {
  .wan_sol .wan-option .wrap-m {
    display: block;
  }

  .wan_sol .wan-option .wrap-m .box-m {
    width: 96%;
    margin: 0 auto;
    padding: 40px 10px;
  }

  .wan_sol .wan-option .wrap-s {
    margin-top: 20px;
  }

  .wan_sol .wan-option .wrap-m .left {
    margin-bottom: 40px;
  }

  .wan_sol .wan-option .wrap-m .box-m .img {
    margin: 20px auto 30px;
  }
}

@media only screen and (max-width: 430px) {
  .wan_sol .wan-option {
    padding: 40px 0 50px;
  }

  .wan_sol .wan-option .sentence br {
    display: none;
  }

  .wan_sol .wan-option .sentence {
    text-align: left;
  }

  .wan_sol .wan-option .wrap-m .box-m p {
    padding: 0px;
  }

  .wan_sol .wan-option .wrap-m .box-m .img img {
    width: 100%;
  }

  .wan_sol .wan-option .wrap-m .left .box-s ul {
    padding: 10px 5px;
  }

  .wan_sol .wan-option .right .wrap-s {
    display: block;
    /* margin: 40px auto 20px; */
  }

  .wan_sol .wan-option .wrap-m .right .box-s {
    width: 100%;
  }

  .wan_sol .wan-option .wrap-m .right .one ul {
    display: flex;
  }

  .wan_sol .wan-option .wrap-m .right .box-s ul {
    padding: 10px 0px;
  }
}

/* virtual-wan ここまで 
-------------------------------------------------- */

/* IC2_sol ここから
-------------------------------------------------- */
.ic2_sol .ic2-top {
  background-color: #E4F0F4;
  height: 340px;
  margin-bottom: 120px !important;
}

.ic2_sol .ic2-banner {
  display: flex;
  justify-content: space-between;
}

.ic2_sol .ic2-banner .text {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  position: absolute;
  top: 90px;
  z-index: 10;
  color: #000000;
}

.ic2_sol .ic2-banner .text h1 {
  font-size: clamp(24px, 3vw, 42px);
  font-weight: bold;
  line-height: 120%;
  white-space: nowrap;
}

.ic2_sol .ic2-banner .text h1 span {
  font-size: clamp(16px, 3vw, 22px);
}

.ic2_sol .ic2-banner .text p {
  font-size: calc(0.25vw + 1.4rem);
  margin-bottom: 60px;
}

.ic2_sol .ic2-banner .text h1 span .incontrol2 {
  font-size: clamp(20px, 3vw, 32px);
  color: #F28200;
}

.ic2_sol .ic2-banner .img {
  flex: 1;
  margin-top: 110px;
  text-align: right;
}

.ic2_sol .ic2-banner .img img {
  max-width: 100%;
  width: 50%;
}

.ic2_sol .ic2-banner .ic2-btn1 {
  background-color: #646464;
  color: #FFFFFF;
  font-size: clamp(14px, 3vw, 16px);
  border: none;
  padding: 10px;
  width: 60%;
  border-radius: 20px;
  margin-right: 20px;
}

.ic2_sol .ic2-banner .ic2-btn2 {
  background-color: #F28200;
  color: #FFFFFF;
  font-size: clamp(14px, 3vw, 16px);
  border: none;
  padding: 10px;
  width: 80%;
  border-radius: 20px;
}

.ic2_sol .ic2-banner .ic2-btn1:hover {
  background-image: linear-gradient(45deg, #949494 0%, #5f5f5f 100%);
}

.ic2_sol .ic2-banner .ic2-btn2:hover {
  background-image: linear-gradient(45deg, #FFC107 0%, #f76a35 100%);
}

.ic2_sol .sp {
  display: none !important;
}

@media only screen and (max-width: 1040px) {
  .ic2_sol .ic2-top {
    height: 440px;
    margin-bottom: 120px !important;
  }

  .ic2_sol .ic2-banner {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .ic2_sol .ic2-banner .img {
    margin-top: 250px;
    text-align: center;
  }

  .ic2_sol .ic2-banner .img img {
    max-width: 100%;
    width: 90%;
  }

  .ic2_sol .ic2-banner .text p {
    margin-bottom: 20px;
  }
}

@media only screen and (max-width: 790px) {
  .ic2_sol .ic2-top {
    height: auto;
    margin-bottom: 0px !important;
  }

  .ic2_sol .pc {
    display: none !important;
  }

  .ic2_sol .sp {
    display: block !important;
  }

  .ic2_sol .sp img {
    max-width: 100%;
    /* width: 50%; */
  }

  .ic2_sol .ic2-top {
    background-color: transparent;
  }
}

.ic2_sol .ic2-summary {
  margin: 0 auto;
}

.ic2_sol .ic2-summary h2 {
  margin-top: 190px;
  margin-bottom: 20px;
  text-align: center;
  font-weight: bold;
  font-size: clamp(22px, 3vw, 36px);
  line-height: 58px;

}

.ic2_sol .ic2-summary h2 span {
  color: #F28200;
  font-weight: bold;
  font-size: clamp(26px, 3vw, 46px);
  text-align: center;
}

.ic2_sol .ic2-summary p {
  font-size: clamp(14px, 3vw, 18px);
  color: #000;
  line-height: 36px;
  margin: 0 auto;
  text-align: left;
  width: fit-content;
}

.ic2_sol .ic2-summary p span strong {
  background: linear-gradient(rgba(255, 200, 84, 0)20%, rgb(255, 223, 164)60%, rgb(255, 228, 154));
}

.ic2_sol .ic2-solution {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: 60px auto;
  padding: 0px !important;
  list-style: none;
  gap: 10px;
}

.ic2_sol .ic2-solution .solution-box {
  background-color: #ffffff;
  width: 46%;
  box-shadow: 3px 3px 9px #00000029;
  border-radius: 25px;
  display: flex;
  flex-direction: column;
}

.ic2_sol .ic2-solution li .header {
  padding: 10px auto;
  border-radius: 25px 25px 0px 0px;
}

.ic2_sol .ic2-solution li .header p {
  color: #ffffff;
  text-align: center;
  font-size: clamp(14px, 3vw, 18px);
  line-height: 56px;
  font-weight: bold;
}

.ic2_sol .ic2-solution li .gray {
  background-color: #646464;
}

.ic2_sol .ic2-solution li .orange {
  background-color: #F28200;
}

.ic2_sol .ic2-solution .triangle {
  width: 0;
  height: 0;
  border-left: 30px solid #F28200;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
  margin: 0 40px;
  align-self: center;
}

.ic2_sol .ic2-solution .solution-box ul {
  padding: 40px 10px;
  margin: auto;
  width: fit-content;
  flex-grow: 1;
}

.ic2_sol .ic2-solution .solution-box li {
  font-size: clamp(12px, 3vw, 15px);
  margin: 0 auto;
  line-height: 36px;
  list-style: none;
  text-align: left;
  color: #000;
}

.ic2_sol li i {
  font-size: 1.5em;
  vertical-align: middle;
}

.ic2_sol li .check {
  color: #F28200;
}

@media only screen and (max-width: 1055px) {
  .ic2_sol .ic2-summary p br {
    display: none;
  }

}

@media only screen and (max-width: 790px) {
  .ic2_sol .ic2-summary p {
    line-height: 32px;
  }

  .ic2_sol .ic2-solution {
    flex-direction: column;
    margin: 60px auto;
    padding: 0px !important;
  }

  .ic2_sol .ic2-solution .solution-box {
    width: 96%;
  }

  .ic2_sol .ic2-solution .triangle {
    width: 0;
    height: 0;
    border-top: 30px solid #F28200;
    border-right: 30px solid transparent;
    border-left: 30px solid transparent;
    margin: 40px 0 10px;
  }
}

@media only screen and (max-width: 460px) {
  .ic2_sol .ic2-solution {
    margin: 30px auto;
  }

  .ic2_sol .ic2-solution .solution-box ul {
    padding: 20px 10px;
  }

  .ic2_sol .ic2-solution .triangle {
    margin: 20px 0 0px;
  }
}

/* 主な機能の魅力ポイント */
.ic2_sol .ic2-point {
  background-color: #E4F0F4;
  position: relative;
  padding: 80px 0;
}

.ic2_sol .ic2-point .title {
  text-align: center;
}

.ic2_sol .ic2-point .title h3 {
  font-size: clamp(28px, 3vw, 38px) !important;
  font-weight: bold;
  margin-bottom: 90px !important;
  color: #000000;
  border-bottom: #F28200 4px solid;
  display: inline;
}

.ic2_sol .ic2-point .title h3 span {
  color: #F28200;
}

.ic2_sol .ic2-point .ic2-feature .ic2-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
  margin-bottom: 100px;
  padding: 50px 60px;
  z-index: 3;
  background-color: white;
  position: relative;
  box-shadow: 0 5px 10px 0 rgba(90, 90, 90, 0.5);
}

.ic2_sol .ic2-point .ic2-feature .ic2-container:nth-child(even) {
  flex-direction: row-reverse;
}

.ic2_sol .ic2-point .ic2-feature .ic2-container:nth-child(even) .text {
  text-align: left;
}

.ic2_sol .ic2-point .ic2-feature .ic2-container:nth-child(even) .pict {
  margin-left: 0;
  margin-right: 3%;
}

.ic2_sol .ic2-point .ic2-feature .point-txt {
  width: 70%;
  padding: 0px 20px;
  z-index: 3;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .title {
  font-weight: bold;
  font-size: clamp(14px, 3vw, 16px);
  color: #000;
  text-align: left;
  margin-bottom: 0px;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .title span {
  font-size: clamp(20px, 3vw, 30px);
  margin-left: 4px;
}

.ic2_sol .ic2-point .ic2-feature .point-txt h4 {
  margin-top: 0px;
  margin-bottom: 10px;
  color: #F28200;
  font-weight: bold;
  font-size: clamp(22px, 3vw, 38px);
  line-height: normal;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .text {
  font-size: clamp(12px, 3vw, 17px);
  text-align: left;
  color: #000;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .txt-box {
  background-color: #F4F4F4;
  margin-top: 20px;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .txt-box .box-title {
  background-color: #F28200;
  font-size: clamp(12px, 3vw, 15px);
  width: 30%;
  padding: 5px 20px;
  margin: 0;
  text-align: center;
  color: white;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .txt-box ul {
  list-style: none;
  padding: 20px;
  line-height: normal;
  color: #000;
}

.ic2_sol .ic2-point .ic2-feature .point-txt .txt-box .ic2-point2 {
  font-size: clamp(10px, 3vw, 15px);
}

.ic2_sol .ic2-point .ic2-feature .point-txt .note {
  font-size: clamp(10px, 3vw, 15px);
  color: #7E7E7E;
}

.ic2_sol .ic2-point .ic2-feature .image {
  z-index: 2;
  position: relative;
  max-width: 100%;
}

.ic2_sol .ic2-point .ic2-feature .image img {
  width: 100%;
}

@media only screen and (max-width: 1280px) {
  .ic2_sol .ic2-point .ic2-feature .ic2-container {
    padding: 30px;
  }

  .ic2_sol .ic2-point .ic2-feature .point-txt .txt-box .box-title {
    width: 50%;
  }

}

@media only screen and (max-width: 790px) {
  .ic2_sol .ic2-point .ic2-feature .ic2-container {
    flex-direction: column;
    margin-bottom: 50px;
    padding: 30px 0px;
  }

  .ic2_sol .ic2-point .ic2-feature .ic2-container:nth-child(even) {
    flex-direction: column;
  }

  .ic2_sol .ic2-point .ic2-feature .point-txt {
    width: 100%;
    padding: 0px 20px;
    z-index: 3;
  }

  .ic2_sol .ic2-point .ic2-feature .image {
    text-align: center;
  }

  .ic2_sol .ic2-point .ic2-feature .image img {
    width: 80%;
  }

  .ic2_sol .ic2-point .ic2-feature .point-txt .txt-box ul {
    padding: 10px;
  }
}

@media only screen and (max-width: 460px) {
  .ic2_sol .ic2-point .ic2-feature .ic2-container {
    margin-top: 30px;
    margin-bottom: 20px;
  }
}

/* その他の機能 */
.ic2_sol .other-function-list {
  max-width: 100%;
  background-color: #1A809B;
  text-align: center;
  padding: 60px 0;
}

.ic2_sol .other-function-list h3 {
  font-size: clamp(24px, 3vw, 34px);
  color: #FFFFFF;
  margin: 0 auto 40px;
}

.ic2_sol .other-function-list ul {
  display: flex;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  flex-wrap: wrap;
  margin: 0 auto;
}

.ic2_sol .other-function-list ul li {
  flex: 1 1 25%;
  max-width: 25%;
  box-sizing: border-box;
  padding: 10px;
  text-align: center;
}

.ic2_sol .other-function-list ul .image {
  background-color: white;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  position: relative;
  margin: 0 auto;
}

.ic2_sol .other-function-list ul .image img {
  width: 60%;
  height: auto;
  position: absolute;
  top: 20%;
  left: 20%;
}

.ic2_sol .other-function-list ul .text {
  font-size: clamp(14px, 3vw, 18px);
  color: white;
  margin-top: 20px;
  text-align: center;
}

@media (max-width: 720px) {
  .ic2_sol .other-function-list ul li {
    flex: 1 1 50%;
    max-width: 50%;
  }

  .ic2_sol .other-function-list ul .image {
    width: 100px;
    height: 100px;
  }
}

/* InControl2にログイン */
.ic2_sol .ic2-login-wrap {
  text-align: center;
  padding: 40px 0;
}

.ic2_sol .ic2-login-wrap img {
  max-width: 100%;
  width: 70%;
  margin-bottom: 40px;
}

.ic2_sol .ic2-login-wrap .ic2-btn2 {
  background-color: #F28200;
  color: #FFFFFF;
  font-size: clamp(16px, 3vw, 22px);
  border: none;
  padding: 12px;
  width: 400px;
  border-radius: 50px;
}

.ic2_sol .ic2-login-wrap .ic2-btn2:hover {
  background-image: linear-gradient(45deg, #FFC107 0%, #f76a35 100%);
}

@media (max-width: 768px) {
  .ic2_sol .ic2-login-wrap img {
    width: 100%;
    margin-bottom: 40px;
  }

  .ic2_sol .ic2-login-wrap .btn {
    max-width: 100%;
    width: 100%;
  }

  .ic2_sol .ic2-login-wrap .ic2-btn2 {
    width: 100%;
  }
}

/* サポート動画 */
.ic2_sol .ic2-video {
  background-color: #ebebeb;
  margin: 100px auto;
  padding: 60px 0;
  text-align: center;
}

.ic2_sol .ic2-video h3 {
  font-size: clamp(24px, 3vw, 34px);
  color: #0a0a0a;
  margin: 0 auto 40px;
}

.ic2_sol .ic2-video .width {
  display: flex;
  justify-content: space-around;
  gap: 30px;
}

.ic2_sol .ic2-video iframe {
  width: 560px;
  height: 300px;
}

@media (max-width: 760px) {
  .ic2_sol .ic2-video .width {
    flex-direction: column;
    max-width: 100%;
    width: 100%;
    text-align: center;
  }

  .ic2_sol .ic2-video iframe {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
  }
}

/* FAQ */
.ic2_sol .ic2-faq {
  margin: 180px auto 60px;
  counter-reset: number 0 !important;
}

.ic2_sol .ic2-faq .title {
  text-align: center;
}

.ic2_sol .ic2-faq .title h3 {
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: bold;
  margin: 0 auto 40px;
  color: #000000;
  border-bottom: #F28200 4px solid;
  display: inline;
  text-align: center;
}

.ic2_sol .ic2-faq .title h3 span {
  color: #F28200;
}

.ic2-faq .cp_qa .cp_actab input:checked~label {
  color: #F28200 !important;
}

.ic2-faq .cp_qa .cp_actab label:hover {
  color: #F28200 !important;
}

.ic2-faq .cp_qa .cp_actab label {
  font-size: clamp(14px, 3vw, 18px) !important;
}

.ic2-faq .cp_qa .cp_actab label::before {
  font-size: clamp(18px, 3vw, 22px) !important;
  font-family: YU Gothic UI !important;
  counter-increment: number 1 !important;
  content: "Q" counter(number) !important;
}

.ic2-faq .cp_qa .cp_actab label::after {
  font-size: clamp(18px, 3vw, 22px) !important;
  line-height: 2.5em;
  top: 10% !important;
}

.ic2-faq .cp_qa .cp_actab .cp_actab-content {
  padding: 0 0 0 1.5em !important;
}

.ic2-faq .cp_qa .cp_actab input:checked~.cp_actab-content p {
  line-height: 26px !important;
  font-size: clamp(14px, 3vw, 18px) !important;
}

.ic2-faq .cp_qa .cp_actab .cp_actab-content p {
  margin: 0 !important;

}

@media (max-width: 760px) {
  .ic2_sol .ic2-faq {
    margin: 0px auto 20px;
  }

  .ic2_sol .ic2-faq .cp_qa {
    margin: 20px auto 40px !important;
  }

}

/* IC2_sol ここまで */

/* construction_sol ここから
-------------------------------------------------- */
.construction_sol .con-banner {
  position: relative;
}

.construction_sol .con-banner .top-img {
  width: 100%;
  z-index: -2;
}

.construction_sol .con-banner .text h1 {
  position: absolute;
  top: 35%;
  /* font-size:46px; */
  font-size: clamp(24px, 3vw, 46px);
  font-weight: bold;
  line-height: 120%;
  color: rgb(255, 255, 255);
  padding: 0;
  margin: 0;
}

.construction_sol .con-summary {
  margin-top: 30px;
}

.construction_sol .con-summary p {
  font-size: 17.5px;
  color: #000;
  line-height: 28px;
  margin: 0 auto;
}

.construction_sol .con-summary p span strong {
  background: linear-gradient(rgba(255, 200, 84, 0)20%, rgb(255, 223, 164)60%, rgb(255, 228, 154));
}

@media only screen and (max-width: 1177px) {
  .construction_sol .con-banner .text h1 {
    top: 15%;
  }

  .construction_sol .con-summary p {
    font-size: 15px;
    line-height: 26px;
  }
}

.construction_sol .con-solution {
  background-color: #EFEBE2;
  position: relative;
}

.construction_sol .con-solution .cf-title {
  text-align: center;
}

.construction_sol .con-solution .cf-title h1 {
  font-size: 2.8vw !important;
  font-weight: bold;
  margin-top: 80px;
  margin-bottom: 90px !important;
  color: #292929;
}

/* FEATURE */
.construction_sol .con-feature .cf-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 100px;
  margin-bottom: 180px;
  max-height: 320px;
  z-index: 3;
  background-color: white;
  position: relative;
  box-shadow: 0 5px 10px 0 rgba(90, 90, 90, 0.5);
}

.construction_sol .con-feature .cf-container:nth-child(even) {
  flex-direction: row-reverse;
}

.construction_sol .con-feature .cf-container:nth-child(even) .text {
  text-align: right;
}

.construction_sol .con-feature .cf-container:nth-child(even) .pict {
  margin-left: 0;
  margin-right: 3%;
}

.construction_sol .con-feature .cf-txt {
  width: 90%;
  padding: 20px 40px;
  z-index: 3;
}

.construction_sol .con-feature .cf-txt h1 {
  margin-bottom: 20px;
  color: #2c2c2c;
  font-weight: bold;
  line-height: 52px;
}

.construction_sol .con-feature .cf-txt h1 span {
  color: #ff9901;
  font-size: 39px;
}

.construction_sol .con-feature .cf-txt p {
  font-size: 16px;
  text-align: left;
}

.construction_sol .con-feature .cf-txt .cf-link {
  float: right;
  text-decoration: none;
  /* デフォルトの下線を非表示にする */
  color: #1d1914;
  /* 文字色 */
  font-size: 15px;
  background-image: linear-gradient(90deg, #ffaf01, #ffc831);
  /* 線の色 */
  background-repeat: no-repeat;
  background-position: left bottom;
  /* 線の起点を左・下に設定 */
  background-size: 0 1px;
  /* 線の横幅を0、縦幅を1pxに */
  transition: background-size 0.6s;
  /* 線を伸ばすアニメーション実行時間を指定 */
}

.construction_sol .con-feature .cf-txt .cf-link:hover {
  background-size: 100% 2px;
  /* 線の横幅を100%にする */
}

.construction_sol .con-feature .cf-pic {
  z-index: 2;
  position: relative;
  margin-top: -130px;
}

.construction_sol .con-feature .cf-gif {
  margin-top: -100px;
  max-width: 43%;
}

.construction_sol .con-feature img {
  max-width: 100%;
}

@media only screen and (min-width: 915px) and (max-width: 1250px) {
  .construction_sol .con-solution .cf-title h1 {
    font-size: 32px !important;
    margin-top: 40px;
  }

  .construction_sol .con-feature .cf-container {
    margin-top: 50px;
    margin-bottom: 140px;
    max-height: 320px;
  }

  .construction_sol .con-feature .cf-txt {
    width: 100%;
    padding: 20px;
  }

  .construction_sol .con-feature .cf-txt h1 {
    margin-bottom: 10px;
    font-size: 2.6vw;
    line-height: 38px;
  }

  .construction_sol .con-feature .cf-txt h1 span {
    font-size: 2.6vw;
  }

  .construction_sol .con-feature img {
    max-width: 96%;
  }
}

@media only screen and (max-width: 915px) {
  .construction_sol .con-solution .cf-title h1 {
    font-size: 24px !important;
    margin-top: 30px;
    margin-bottom: 0px !important;
  }

  .construction_sol .con-feature .cf-container {
    flex-direction: column;
    max-height: 460px;
    margin-bottom: 120px;
  }

  .construction_sol .con-feature .cf-container:nth-child(even) {
    flex-direction: column;
  }

  .construction_sol .con-feature .cf-txt {
    text-align: center;
    width: 94%;
    margin: 0 auto;
    padding: 10px 0px 20px;
  }

  .construction_sol .con-feature .cf-container:nth-child(even) .sf-txt {
    text-align: center;
  }

  .construction_sol .con-feature .cf-txt h1 {
    margin: 0 auto 10px;
    font-size: 4.6vw;
    line-height: 38px;
  }

  .construction_sol .con-feature .cf-txt h1 span {
    font-size: 4.6vw;
  }

  .construction_sol .con-feature .cf-txt p {
    font-size: 14px;
  }

  .construction_sol .con-feature .cf-pic {
    width: 100%;
    margin-left: 0;
    text-align: center;
    margin-top: -100px;
  }

  .construction_sol .con-feature .cf-container:nth-child(even) .cf-pic {
    margin-left: 0;
    margin-right: 0%;
  }

  .construction_sol .con-feature .cf-gif {
    margin-top: -100px;
    max-width: 100%;
  }

  .construction_sol .con-feature .cf-pic img {
    width: 50%;
    height: auto;
  }
}

@media only screen and (max-width: 448px) {
  .construction_sol .con-feature .cf-txt h1 {
    line-height: 26px;
  }

  .construction_sol .con-feature .cf-txt p {
    font-size: 12px;
  }

  .construction_sol .con-feature .cf-txt .cf-link {
    font-size: 12px;
  }

  .construction_sol .con-feature .cf-pic img {
    width: 100%;
  }
}

.construction_sol .con-point {
  background-image: url(/images/solution/construction/con_image3.png);
  max-width: 100%;
  height: 60vh;
  background-attachment: fixed;
  background-position: center;
  background-image: no-repeat;
  background-color: rgba(0, 0, 0, 0.6);
}

.construction_sol .cp-bg {
  height: 100%;
  background: rgba(0, 0, 0, 0.76);
  display: flex;
  justify-content: center;
  align-items: center;
}

.construction_sol .con-point text {
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  padding: 80px 0;
  margin: 0 auto;
  font-size: 32px;
  letter-spacing: 0.02em;
}

.construction_sol .con-point ul {
  padding: 0;
  list-style-type: none;
  margin-top: 40px;
  margin-bottom: 60px;
}

.construction_sol .con-point ul li {
  border-radius: 10px;
  margin-bottom: 1em;
  overflow: hidden;
}

@media only screen and (min-width: 550px) {
  .construction_sol .con-point ul {
    display: flex;
    justify-content: center;
    flex-direction: row;
  }

  .construction_sol .con-point ul li {
    display: flex;
    flex-direction: column;
    width: 30%;
    margin: 0 10px;
    overflow: hidden;
    text-align: center;
  }
}

.construction_sol .con-point li .text {
  padding: 15px;
  margin: 0 auto;
  line-height: 160%;
  color: white;
}

.construction_sol .con-point li .text h3 {
  font-weight: bold;
  color: #ffc919;
  margin-bottom: 20px;
}

.construction_sol .con-point li .text p {
  text-align: left;
  font-size: 15px;
}

.construction_sol .con-point img {
  max-width: 40%;
  margin: 0px auto;
}

@media only screen and (max-width: 549px) {
  .construction_sol .con-point {
    height: 90%;
  }

  .construction_sol .con-point ul li {
    width: 90%;
    text-align: center;
    margin: 0 auto 20px;
  }

  .construction_sol .con-point img {
    max-width: 20%;
  }

  .construction_sol .con-point li .text {
    padding: 0px;
  }

  .construction_sol .con-point li .text h3 {
    font-size: 4.6vw;
    margin-bottom: 10px;
  }

  .construction_sol .con-point li .text p {
    font-size: 12px;
  }

}

.con-swiper .swiper-slide {
  box-shadow: none;
  margin: 0 auto 50px;
}

.con-swiper .swiper-slide:hover {
  opacity: 0.8;
}

.con-swiper img {
  width: 100%;
  height: auto;
  /* border-radius: 30px; */
  border: 5px solid #ffd001;
  padding: 30px;
}

@media only screen and (max-width: 1600px) {
  .con-swiper img {
    object-fit: contain;
    border-radius: 10px;
  }

  #DIAGRAM .swiper-button-next,
  #DIAGRAM .swiper-button-prev {
    display: none;
  }
}

.construction_sol .con-products {
  background-color: #EFEBE2;
  padding-top: 60px;
}

.construction_sol .con-products .product-container>ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 10px;
  list-style-type: none;
  margin: -20px auto 100px;
}

.construction_sol .con-products .product-container>ul>li {
  background-color: white;
  width: 100%;
  margin-bottom: 40px;
  ;
  box-shadow: 2px 2px 8px rgb(172, 172, 169);
}

@media only screen and (min-width: 620px) {
  .construction_sol .con-products .product-container>ul {
    justify-content: center;
    flex-direction: row;
    text-align: center;
  }

  .construction_sol .con-products .product-container>ul>li {
    display: flex;
    flex-direction: column;
    width: 30%;
    margin: 0 10px;
    overflow: hidden;
  }

  .construction_sol .con-products .product-container a {
    text-align: center;
  }

  .construction_sol .con-products .product-container a h3 {
    font-size: 24px !important;
  }
}

.construction_sol .con-products .product-container a {
  text-decoration: none;
}

.construction_sol .con-products .product-container a:hover {
  opacity: 0.8;
}

.construction_sol .con-products .product-container a .header {
  padding: 10px;
  background-color: #ffaf01;
  color: white;
}

.construction_sol .con-products .product-container a h3 {
  font-size: 20px !important;
}

.construction_sol .con-products .product-container a h4 {
  color: #000;
  margin-top: 0 !important;
  margin-bottom: 20px;
}

@media only screen and (max-width: 619px) {
  .construction_sol .con-products {
    padding-top: 20px;
  }

  .construction_sol .con-products h1 {
    font-size: 24px !important;
    margin-top: 30px;
    margin-bottom: 0px !important;
  }

  .construction_sol .con-products .product-container>ul {
    text-align: center;
    margin-top: 10px !important;
    margin-bottom: 40px !important;
  }

  .construction_sol .con-products .product-container img {
    width: 40%;
  }

  .construction_sol .con-products .product-container a h3 {
    font-size: 4.6vw !important;
    margin: 10px !important;
  }

}

/* construction_sol ここまで */

/* broadcasting_sol ここから
-------------------------------------------------- */
.broadcasting_sol .ttl01 {
  margin-bottom: 1.2em !important;
  font-weight: bold !important;
  line-height: 100% !important;
}

.broadcasting_sol .bc-banner {
  background: url(/images/solution/broadcasting/bc_bg.png) no-repeat center;
  height: 260px;
}

.broadcasting_sol .bc-banner h1 {
  font-size: clamp(18px, 3vw, 36px);
  position: absolute;
  font-weight: bold;
  line-height: 75px;
  margin-top: 40px;
  color: rgb(255, 255, 255);
}

.broadcasting_sol .bc-banner h1 span {
  padding: 0.2em 0.5em 0.1em;
  margin: 2em 0;
  font-weight: bold;
  border: solid 3px #ffffff;
}

.broadcasting_sol .bc-banner .sd-top-right {
  padding: 0 !important;
}

.broadcasting_sol .bc-banner .top-img {
  position: relative;
  max-width: 96%;
  text-align: center;
  margin-top: 20px;
}

.broadcasting_sol .bc-summary {
  padding-top: 60px;
  background-color: #ebebeb;
  margin-bottom: 0 !important;
}

.broadcasting_sol .bc-summary ul {
  width: 100%;
  padding-left: 0;
  margin-bottom: 40px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.broadcasting_sol .bc-summary ul li {
  background-color: white;
  border-bottom: 2px solid rgb(214, 214, 214);
  color: rgb(29, 29, 29);
  margin: 10px;
  padding: 1.2em;
  list-style-type: none !important;
  border-radius: 10px;
  max-width: 30%;
  border-radius: 15px;
}

.broadcasting_sol .bc-summary h3 {
  font-size: 38px;
  line-height: 30px;
  text-align: center;
  margin: 60px auto 10px;
}

.broadcasting_sol .bc-summary h3 span {
  font-size: 28px;
}

.broadcasting_sol .bc-summary hr {
  border-top: 1px solid #9c9c9c;
}

.broadcasting_sol .bc-summary .sol-content p {
  font-size: 16px;
  line-height: 22px;
  /* margin-top: 40; */
}

.broadcasting_sol .bc-summary .sol-content-img {
  text-align: center;
  margin: 10px auto 20px;
}

.broadcasting_sol .bc-summary .sol-content-img img {
  max-width: 50%;
}

.broadcasting_sol .bc-summary .slant-bg::after {
  content: '';
  display: block;
  background-color: #ebebeb;
  clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  width: 100%;
  height: 90px;
  margin-bottom: -90px;
}

.broadcasting_sol .bc-tech {
  background-color: #006d79;
  margin-top: 0;
  padding: 160px 0px 90px;
}

.broadcasting_sol .bc-tech .bc-title {
  text-align: center;
  margin: 30px auto;
}

.broadcasting_sol .bc-tech .bc-title img {
  width: 180px;
  /* position: relative; */
}

.broadcasting_sol .bc-tech .bc-title h1 {
  margin: 20px auto 8px !important;
  color: white;
  display: inline-block;
  vertical-align: bottom;
}

.broadcasting_sol .bc-tech .bc-tech-box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 100%;
}

.broadcasting_sol .bc-tech .bc-tech-item {
  width: 32%;
  background-color: white;
  /* max-width: 395px; */
  padding: 0;
  height: auto;
  margin: 12px 3px;
  /* margin: 0 5px 30px 5px; */
  top: 0;
  left: 0;
  counter-increment: mycounter;
}

.broadcasting_sol .bc-tech .gif {
  width: 49%;
}

.broadcasting_sol .bc-tech .gif .bc-tech-img {
  max-width: 70%;
  margin: 0 auto 20px;
}

.broadcasting_sol .bc-tech .bc-tech-item h3:before {
  content: counter(mycounter, decimal-leading-zero);
  margin-right: 10px;
  color: #333333;
}

.broadcasting_sol .bc-tech .bc-tech-item h3 {
  background-color: #ffbb00;
  color: #333333;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 50px;
  margin-top: 0px;
}

.broadcasting_sol .bc-tech .bc-tech-item .bc-tech-img {
  height: 200px;
  text-align: center;
  display: flex;
}

.broadcasting_sol .bc-tech .bc-tech-item img {
  text-align: center;
  margin: auto;
  max-width: 95%;
  height: auto;
}

.broadcasting_sol .bc-tech .bc-tech-item p {
  font-size: 16px;
  /* padding: 0 10px; */
  max-width: 90%;
  height: 70px;
  line-height: 22px;
  margin: 0 auto;
  text-align: center;
  color: #000;
  padding-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .broadcasting_sol .bc-tech .bc-tech-item p br {
    display: none;
  }

  .broadcasting_sol .bc-tech .bc-tech-item p {
    text-align: left;
  }
}

.broadcasting_sol .bc-tech .bc-tech-txt {
  text-align: center;
  font-size: 22px;
  line-height: 36px;
  font-weight: bold;
  color: white;
  margin-top: 50px;
}

.broadcasting_sol .bc-case-study {
  padding: 50px 0px;
}

.broadcasting_sol .bc_case_content {
  text-align: center;
  margin: 90px auto;
}

.broadcasting_sol .bc_case_content h4 {
  padding: 0.6em 0.5em;
  font-size: 20px;
  margin-bottom: 20px;
}

.broadcasting_sol .bc-case-study h5 {
  border-bottom: solid 3px #006d79;
  padding: 10px;
  position: relative;
  font-size: 20px;
  font-weight: bold;
  color: #585858;
  margin: 60px auto 40px;
  text-align: center;
}

.broadcasting_sol .bc_case_content iframe {
  max-width: 100%;
}

.broadcasting_sol .bc_case_outlook {
  border: solid 2px #dddddd;
  text-align: center;
  padding: 20px;
}

.broadcasting_sol .bc_case_outlook h4 {
  font-size: 20px;
  font-weight: bold;
  color: #585858;
}

.broadcasting_sol .bc_case_outlook p {
  text-align: left;
  display: inline-block;
  font-size: 16px;
  line-height: 26px;
  margin: 20px auto 40px;
}

.broadcasting_sol .bc_case_outlook a {
  background-color: #006d79;
  padding: 8px 40px;
  color: white;
  font-weight: bold;
  text-decoration: none;
}

.broadcasting_sol .bc_case_outlook a:hover {
  opacity: 0.8;
}

.broadcasting_sol .bc_case_box {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding-left: 0;
}

.broadcasting_sol .bc_case_box li {
  max-width: 260px;
  list-style: none;
  text-align: center;
}

.broadcasting_sol .bc_case_box li img {
  max-width: 80%;
}

.broadcasting_sol .bc_case_box li p {
  text-align: center;
  font-size: 16px;
  margin-top: 12px;
  color: #414141;
}

.broadcasting_sol .bc_case_box a {
  text-decoration: none;
}

.broadcasting_sol .bc_case_box a:hover {
  opacity: 0.8;
}

/* RWD */
@media screen and (max-width: 768px) {
  .broadcasting_sol .bc-banner {
    height: 200px;
    overflow: hidden;
  }

  .broadcasting_sol .bc-banner .top-img {
    display: none;
  }

  .broadcasting_sol .bc-banner h1 {
    line-height: 46px;
  }

  .broadcasting_sol .bc-banner h1 span {
    margin: 8em 0;
  }

  .broadcasting_sol .bc-summary {
    padding-top: 20px;
    padding-bottom: 40px;
  }

  .broadcasting_sol .bc-summary .slant-bg::after {
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    width: 100%;
    height: 70px;
    margin-bottom: -110px;
  }

  .broadcasting_sol .bc-tech {
    padding: 140px 0px 40px;
  }

  .broadcasting_sol .bc-tech .bc-title {
    text-align: center;
    margin: 10px auto;
  }

  .broadcasting_sol .bc-tech .bc-title img {
    width: 150px;
  }

  .broadcasting_sol .bc-tech .bc-tech-box {
    display: inline-block;
    max-width: 100%;
  }

  .broadcasting_sol .bc-tech .bc-tech-item {
    width: 100%;
    margin: 20px auto;
  }

  .broadcasting_sol .bc-tech .bc-tech-item h3 {
    line-height: 36px;
    margin-top: 0px;
    margin-bottom: 0px;
  }

  .broadcasting_sol .bc-tech .gif .bc-tech-img {
    max-width: 100%;
    margin: 0 auto;
  }

  .broadcasting_sol .bc-tech .bc-tech-item .bc-tech-img {
    height: 200px;
    text-align: center;
    display: flex;
  }

  .broadcasting_sol .bc-tech .bc-tech-item img {
    max-width: 70%;
  }

  .broadcasting_sol .bc-tech .bc-tech-item p {
    max-width: 95%;
    height: auto;
    line-height: 22px;
    padding-bottom: 10px;
  }

  .broadcasting_sol .bc-tech .bc-tech-txt {
    font-size: 16px;
    line-height: 22px;
    margin-top: 20px;
  }

  .broadcasting_sol .bc-tech .bc-tech-txt br {
    display: none;
  }

  .broadcasting_sol .bc-case-study {
    padding: 20px 0px;
  }

  .broadcasting_sol .bc_case_content {
    margin: 40px auto;
  }

  .broadcasting_sol .bc_case_content h4 {
    padding: 0.1em 0.5em;
    font-size: 16px;
  }

  .broadcasting_sol .bc_case_outlook p {
    font-size: 14px;
    line-height: 20px;
    margin: 10px auto 20px;
  }

}

@media only screen and (max-width: 648px) {
  .broadcasting_sol .bc-summary ul {
    margin-bottom: 10px;
    display: inline-block;
  }

  .broadcasting_sol .bc-summary ul li {
    padding: 0.8em 1.6em;
    max-width: 100%;
  }

  .broadcasting_sol .bc-summary h3 {
    font-size: 28px;
    line-height: 26px;
    margin: 40px auto 10px;
  }

  .broadcasting_sol .bc-summary h3 span {
    font-size: 18px;
  }

  .broadcasting_sol .bc-summary .sol-content p {
    font-size: 14px;
    line-height: 20px;
  }

  .broadcasting_sol .bc-summary .sol-content-img {
    text-align: center;
    margin: 0px auto 10px;
  }

  .broadcasting_sol .bc-summary .sol-content-img img {
    max-width: 30%;
  }
}

@media only screen and (max-width: 438px) {
  .broadcasting_sol .bc-summary {
    padding-top: 10px;
    padding-bottom: 40px;
  }
}

/* broadcasting_sol ここまで */


/* automotive-robot_sol ここから
-------------------------------------------------- */

.automotive-robot_sol .ar-banner {
  position: relative;

}

.automotive-robot_sol .ar-banner .top-img {
  width: 100%;
  z-index: -2;
}

.automotive-robot_sol .ar-banner .text h3 {
  position: absolute;
  top: 44%;
  font-size: 25px;
  font-weight: bold;
  line-height: 32px;
  color: rgb(255, 255, 255);
  padding: 9px 25px 6px;
  margin: 0;
  background-color: #ffae00;
  border-radius: 100px;
  text-shadow: 1px 2px 2px #808080;
}

.automotive-robot_sol .ar-banner .text h1 {
  position: absolute;
  top: 60%;
  font-size: 49px;
  font-weight: bold;
  line-height: 62px;
  color: rgb(255, 255, 255);
  padding: 0;
  margin: 0;
}

.automotive-robot_sol .ar-summary {
  margin-top: 40px;
  margin-bottom: 30px;
}

.automotive-robot_sol .ar-summary p {
  font-size: 18px;
  color: #000;
  line-height: 30px;
}

.automotive-robot_sol .ar-solution .ars-title {
  text-align: center;
}

.automotive-robot_sol .ar-solution .ars-title h1 {
  font-size: 42px;
  font-weight: bold;
  margin-top: 80px;
  margin-bottom: 0px !important;
}

.automotive-robot_sol .ar-solution .ars-title p {
  font-size: 20px;
  margin-top: 0px;
  margin-bottom: 20px;
  color: #000;
}

.automotive-robot_sol .ar-solution ul {
  width: 100%;
  /* margin: 0 auto; */
  /* padding: 20px; */
  padding-left: 0;
  margin-bottom: 80px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.automotive-robot_sol .ar-solution ul li {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  width: 600px;
  position: relative;
  margin: 10px;
  color: rgb(29, 29, 29);
  background: white;
  padding: 0.5em 0.5em 0.5em 1.2em;
  border-bottom: 2px solid white;
  list-style-type: none !important;
  border-radius: 10px;
}

.automotive-robot_sol .ar-solution ul li .ars-txt {
  font-size: clamp(14px, 2.6vw, 21px);
  margin-top: 25px;
}

.automotive-robot_sol .ar-solution ul li .ars-txt p {
  margin-bottom: 0;
  line-height: 32px;
}

.automotive-robot_sol .ar-solution ul li .ars-img {
  max-width: 40%;
  text-align: center;
}

.automotive-robot_sol .ar-solution ul li img {
  max-width: 70%;
}

@media only screen and (max-width: 1284px) and (min-width: 551px) {
  .automotive-robot_sol .ar-solution ul li {
    width: 45%;
  }
}

@media only screen and (max-width: 550px) {
  .automotive-robot_sol .ar-solution ul li {
    padding: 0.5em 0.5em 0.5em 2.3em;
    max-width: 100%;
  }

  .automotive-robot_sol .ar-solution ul li:before {
    font-family: "Font Awesome 5 free";
    content: "\f059";
    font-weight: 900;
    position: absolute;
    left: 0.4em;
    color: #0A8593;
    font-size: 22px;
    margin-top: -2px;
  }

  .automotive-robot_sol .ar-solution ul li .ars-txt {
    margin-top: 0;
  }

  .automotive-robot_sol .ar-solution ul li .ars-txt p {
    line-height: 22px;
  }

  .automotive-robot_sol .ar-solution ul li br {
    display: none;
  }

  .automotive-robot_sol .ar-solution ul li .ars-img {
    display: none;
  }
}

.automotive-robot_sol .ars-point {
  background-color: #ffd05b;
}

.automotive-robot_sol .ars-point h1 {
  margin-top: 120px;
  text-align: center;
  font-weight: bold;
  color: #000;
  /* font-size: 42px !important; */
}

.automotive-robot_sol .ars-point ul {
  padding: 0;
  list-style-type: none;
  margin-top: 40px;
  margin-bottom: 60px;
}

.automotive-robot_sol .ars-point ul li {
  background-color: white;
  border: #000 solid 4px;
  border-radius: 10px;
  margin-bottom: 1em;
  overflow: hidden;
}

@media only screen and (min-width: 550px) {
  .automotive-robot_sol .ars-point ul {
    display: flex;
    justify-content: center;
    flex-direction: row;
  }

  .automotive-robot_sol .ars-point ul li {
    display: flex;
    flex-direction: column;
    width: 30%;
    margin: 0 10px;
    overflow: hidden;
  }
}

.automotive-robot_sol .ars-point li:hover {
  opacity: 0.9;
}

.automotive-robot_sol .ars-point li .header {
  padding: 10px;
  text-align: center;
  background-color: #0A8593;
  color: white;
}

.automotive-robot_sol .ars-point li .ttl03 {
  font-size: 28px !important;
}

.automotive-robot_sol .ars-point li .text {
  padding: 15px;
  margin: 0 auto;
  line-height: 160%;
}

.automotive-robot_sol .ars-point li .text .ph {
  text-align: center;
  margin-bottom: 15px;
}

.automotive-robot_sol .ars-point img {
  max-width: 40%;
  margin: 0px auto;
}

.automotive-robot_sol .ars-point a {
  text-decoration: none;
}

.automotive-robot_sol .ars-point ul li a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: 900;
  font-size: 30px;
  display: flex;
  justify-content: center;
}

.automotive-robot_sol .ars-point .ars-contact {
  text-align: center;
  color: #000;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: -20px;
}

.automotive-robot_sol .ars-point .btn-position {
  margin-top: 0px !important;
  margin-bottom: 100px !important;
}

.automotive-robot_sol .ars-point .btn-position a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 900;
}

.automotive-robot_sol .ars-point .btn-position .btn--green {
  color: #fff;
  background-color: #0A8593;
  border-bottom: 5px solid rgb(16, 65, 71);
  border-color: rgb(47, 89, 95);
  line-height: 33px;
  width: 290px;
  height: 58px;
  font-size: 24px;
  text-decoration: none;
  border-radius: 100px;
}

.automotive-robot_sol .ars-point .btn-position .btn--green:hover {
  border-bottom: 2px solid #2d5a61;
  box-shadow: none;
  transform: translateY(5px);
}

.automotive-robot_sol .automotive-robot-feature {
  background-image: url(/images/solution/automotive-robot/ar_bg.png);
  padding-bottom: 190px;
}

.automotive-robot_sol .automotive-robot-feature .arf-ttl {
  font-size: 26px;
  text-align: center;
  font-weight: bold;
  margin-top: 120px;
  margin-bottom: 80px;
  color: #000;
  line-height: 40px;
}

.automotive-robot_sol .automotive-robot-feature .arf-ttl .point {
  background: linear-gradient(rgba(255, 200, 84, 0)60%, rgba(255, 200, 0, 1)60%, rgba(255, 200, 0, 1));
}

.automotive-robot_sol .automotive-robot-feature .arf-container {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  background-color: white;
  margin: 40px auto;
  border: #eeeeee 2px solid;
  box-shadow: #000;
  border-radius: 25px;
  padding: 40px;
}

@media only screen and (max-width: 1240px) {
  .automotive-robot_sol .automotive-robot-feature .arf-container {
    flex-direction: column;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container:nth-child(even) {
    flex-direction: column;
  }
}

.automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt .point-no {
  font-size: 18px;
  background-color: #0A8593;
  color: white;
  font-weight: bold;
  width: 120px;
  /* line-height: 32px; */
  color: rgb(255, 255, 255);
  padding: 5px 0px 4px;
  margin: 0;
  border-radius: 6px;
  text-shadow: 1px 2px 2px #808080;
  text-align: center;
}

.automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt h1 {
  font-weight: bold;
  color: #000;
  line-height: 50px;
  margin-bottom: 40px;
}

.automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt h1 .point {
  background: linear-gradient(rgba(255, 200, 84, 0)60%, rgba(255, 200, 0, 1)60%, rgba(255, 200, 0, 1));
}

.automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt .arf-text p {
  font-size: 18px;
  line-height: 30px;
  color: #000;
}

.automotive-robot_sol .automotive-robot-feature .arf-container .arf-pic {
  padding-left: 40px;
}

.automotive-robot_sol .automotive-robot-case .arc-title {
  background-color: #ffd05b;
  padding: 15px 0;
  margin-bottom: 90px;
  position: relative;
}

.automotive-robot_sol .automotive-robot-case .arc-title::after {
  width: 0;
  height: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  margin: 0 0 0 -50px;
  border: 50px solid transparent;
  border-top-color: #ffd05b;
  content: '';
}

.automotive-robot_sol .automotive-robot-case .arc-title h1 {
  font-weight: bold;
  color: #000;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  position: relative;
  padding: 1em 2em;
  text-align: center;
}

.automotive-robot_sol .automotive-robot-case .arc-title h1::before {
  font-family: "Font Awesome 5 Free";
  content: "\5b";
  font-weight: 900;
  margin-right: 0.2em;
}

.automotive-robot_sol .automotive-robot-case .arc-title h1::after {
  font-family: "Font Awesome 5 Free";
  content: "\5d";
  font-weight: 900;
  margin-left: 0.2em;
}

.automotive-robot_sol .automotive-robot-case {
  background-color: #f0f0f0;
}

.automotive-robot_sol .automotive-robot-case .arc-wrap {
  padding: 20px 0 120px;
}

.automotive-robot_sol .automotive-robot-case .arc-box {
  background-color: white;
  border-radius: 15px;
  max-width: 100%;
  max-height: auto;
  box-shadow: 5px 5px 5px rgb(194, 194, 194);
}

@media only screen and (max-width: 992px) {
  .automotive-robot_sol .automotive-robot-case .arc-wrap {
    padding: 0px 0 60px;
  }

  .automotive-robot_sol .automotive-robot-case .arc-box {
    margin: 30px;
  }
}

.automotive-robot_sol .automotive-robot-case .arc-box a {
  text-decoration: none;
}

.automotive-robot_sol .automotive-robot-case .arc-box a:hover {
  opacity: 0.8;
}

.automotive-robot_sol .automotive-robot-case .arc-wrap .iframeWrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  border-radius: 15px 15px 0 0;

}

.automotive-robot_sol .automotive-robot-case .arc-box iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.automotive-robot_sol .automotive-robot-case .arc-box .usecase-img img {
  width: 100%;
  height: 100%;
  border-radius: 15px 15px 0 0;
}

.automotive-robot_sol .automotive-robot-case .arc-box .arc-boxtxt {
  padding: 10px;
}

.automotive-robot_sol .automotive-robot-case .arc-box .arc-boxtxt>h4 {
  color: #1d1d1d;
  font-weight: bold;
  line-height: 23px;
  border-bottom: #cccccc solid 1px;
}

.automotive-robot_sol .automotive-robot-case .arc-box .arc-boxtxt>p {
  color: #1d1d1d;
}

.automotive-robot_sol .automotive-robot-case .arc-box .btn-position {
  margin-top: 0px !important;
  margin-bottom: 20px !important;
  color: #fff;
  background-color: #0A8593;
  border-bottom: 5px solid rgb(25, 107, 117);
  border-color: rgb(25, 107, 117);
  line-height: 25px;
  width: 220px;
  height: 40px;
  font-size: 16px;
  text-decoration: none;
  border-radius: 100px;
}

.automotive-robot_sol .automotive-robot-case .arc-box .btn-position:hover {
  border-bottom: 2px solid #2d5a61;
  box-shadow: none;
  transform: translateY(5px);
}

.automotive-robot_sol #DIAGRAM .ttl01 {
  font-weight: bold;
  margin: 80px auto 40px !important;
  position: relative;
}

.automotive-robot_sol #DIAGRAM .ttl01::before {
  font-family: "Font Awesome 5 Free";
  content: "\5b";
  font-weight: 900;
  margin-right: 0.2em;
}

.automotive-robot_sol #DIAGRAM .ttl01::after {
  font-family: "Font Awesome 5 Free";
  content: "\5d";
  font-weight: 900;
  margin-left: 0.2em;
}

@media only screen and (max-width: 1614px) {
  .automotive-robot_sol .swiper-custom-parent .swiper-button-next {
    display: none;
  }

  .automotive-robot_sol .swiper-custom-parent .swiper-button-prev {
    display: none;
  }
}

.automotive-robot_sol .automotive-robot-routers {
  /* background-image:url(/images/solution/automotive-robot/ar_bg2.png); */
  background-color: #ffd05b;
}

.automotive-robot_sol .automotive-robot-routers .ttl01 {
  color: #1d1d1d;
  font-weight: bold;
  margin: 80px auto 0px !important;
  position: relative;
}

.automotive-robot_sol .automotive-robot-routers .ttl01::before {
  font-family: "Font Awesome 5 Free";
  content: "\5b";
  font-weight: 900;
  margin-right: 0.2em;
}

.automotive-robot_sol .automotive-robot-routers .ttl01::after {
  font-family: "Font Awesome 5 Free";
  content: "\5d";
  font-weight: 900;
  margin-left: 0.2em;
}


.automotive-robot_sol .automotive-robot-routers .product-container>ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 10px;
  list-style-type: none;
  margin-top: 40px;
  margin-bottom: 100px;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li {
  background-color: white;
  border-radius: 10px;
  width: 100%;
  margin-bottom: 40px;
  ;
  box-shadow: 2px 2px 8px rgb(177, 137, 64);
}

@media only screen and (min-width: 992px) {
  .automotive-robot_sol .ars-point span {
    font-size: 52px !important;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul {
    justify-content: center;
    flex-direction: row;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul>li {
    display: flex;
    flex-direction: column;
    width: 30%;
    margin: 0 10px;
    overflow: hidden;
  }
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.header {
  padding: 10px;
  text-align: center;
  background-color: #0A8593;
  color: white;
  border-radius: 10px 10px 0px 0px;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.text-info .arr-img {
  text-align: center;
  margin: 10px auto;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.text-info>ul {
  display: table;
  text-align: left;
  margin-left: auto;
  margin-right: auto;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.text-info>ul>li {
  font-size: 18px;
  font-weight: bold;
  line-height: 15px;
  color: #000;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.btn-position {
  margin-top: 40px !important;
  margin-bottom: 30px !important;
  background-color: #ff8e23;
  border-bottom: 5px solid #bb5a00;
  border-color: #bb5a00;
  line-height: 25px;
  width: 220px;
  height: 40px;
  font-size: 16px;
  border-radius: 100px;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.btn-position:hover {
  border-bottom: 2px solid #bb5a00;
  box-shadow: none;
  transform: translateY(5px);
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.btn-position a {
  color: white;
}

.automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.btn-position a:hover {
  text-decoration: none;
}

@media only screen and (max-width: 1520px) {
  .automotive-robot_sol .ar-banner .text h3 {
    top: 36%;
    font-size: 22px;
    line-height: 32px;
    padding: 6px 20px 3px;
  }

  .automotive-robot_sol .ar-banner .text h1 {
    top: 53%;
    font-size: 35px;
    line-height: 45px;
  }

  .automotive-robot_sol .ar-summary {
    margin-top: 20px;
    margin-bottom: 0px;
  }

  .automotive-robot_sol .ar-summary p {
    font-size: 16px;
    color: #000;
    line-height: 24px;
  }

  .automotive-robot_sol .ar-solution .ars-title p {
    font-size: 16px;
    margin-top: 0px;
    margin-bottom: 20px;
    color: #000;
  }
}

@media only screen and (max-width: 1057px) {
  .automotive-robot_sol .ar-solution ul {
    width: 100%;
    font-size: 18px;
    margin-bottom: 60px;
  }

  /* .automotive-robot_sol .ar-solution ul li{
    color: rgb(29, 29, 29);
    padding: 0.5em 0.5em 0.5em 2.6em;
  } */
  /* .automotive-robot_sol .ar-solution ul li:before {
    left : 0.5em; 
    font-size: 26px;
    margin-top: -7px;
  } */

}

@media only screen and (max-width: 820px) {
  .automotive-robot_sol .ar-solution .ars-title h1 {
    font-size: 32px !important;
    margin-top: 60px;
  }

  .automotive-robot_sol .ars-point h1 {
    margin-top: 80px;
    font-size: 32px !important;
    margin-bottom: 0px !important;
  }

  .automotive-robot_sol .ars-point ul {
    margin-top: 20px;
    margin-bottom: 30px;
  }

  .automotive-robot_sol .ars-point li .ttl03 {
    font-size: 18px !important;
    margin: 0px auto;
  }

  .automotive-robot_sol .ars-point li .text {
    padding: 5px;
    line-height: 10%;
  }

  .automotive-robot_sol .ars-point li .text .ph {
    margin-bottom: 0px;
  }

  .automotive-robot_sol .ars-point img {
    width: 80px;
    height: 80px;
    margin: 0px auto;
  }

  .automotive-robot_sol .ars-point .ars-contact {
    font-size: 16px;
  }

  .automotive-robot_sol .ars-point .btn-position {
    margin-bottom: 50px !important;
  }

  .automotive-robot_sol .ars-point .btn-position .btn--green {
    line-height: 24px;
    height: 50px;
    font-size: 20px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-ttl {
    font-size: 18px !important;
    margin-top: 40px;
    margin-bottom: 40px;
    line-height: 26px;
  }

  .automotive-robot_sol .automotive-robot-feature {
    padding-bottom: 80px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container {
    padding: 20px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt .point-no {
    font-size: 16px;
    width: 120px;
    padding: 5px 0px 4px;
    margin: 0;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt h1 {
    font-size: 26px;
    line-height: 36px;
    margin-bottom: 26px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt .arf-text p {
    font-size: 14px;
    line-height: 22px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-pic {
    padding-left: 0px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-pic img {
    max-width: 100%;
  }

}

@media only screen and (max-width: 550px) {
  .automotive-robot_sol .ar-banner .text h3 {
    top: 26%;
    font-size: 18px;
    line-height: 20px;
    /* padding:5px 10px 3px; */
  }

  .automotive-robot_sol .ar-banner .text h1 {
    top: 45%;
    font-size: 24px;
    line-height: 30px;
  }

  .automotive-robot_sol .ar-solution .ars-title h1 {
    font-size: 28px !important;
    margin-top: 60px;
  }

  .automotive-robot_sol .ars-point h1 {
    margin-top: 80px;
    font-size: 28px !important;
  }

  .automotive-robot_sol .ars-point .ars-contact {
    font-size: 15px;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul {
    margin-top: 10px !important;
    margin-bottom: 40px !important;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.text-info .arr-img {
    margin: 0px auto;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.btn-position {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    line-height: 15px;
    width: 220px;
    height: 30px;
    font-size: 14px;
  }
}

@media only screen and (max-width: 414px) {
  .automotive-robot_sol .ar-banner .text h3 {
    font-size: 14px;
    line-height: 16px;
    padding: 5px 8px 3px;
  }

  .automotive-robot_sol .ar-banner .text h1 {
    font-size: 22px;
  }

  .automotive-robot_sol .ar-summary p {
    font-size: 14px;
    line-height: 22px;
  }

  .automotive-robot_sol .ar-solution .ars-title h1 {
    margin-top: 40px;
  }

  .automotive-robot_sol .ar-solution .ars-title p {
    font-size: 14px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-ttl {
    font-size: 15px !important;
    margin-bottom: 0px;
    line-height: 22px;
  }

  .automotive-robot_sol .automotive-robot-feature .arf-container .arf-txt h1 {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 22px;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.header h3 {
    font-size: 20px !important;
  }

  .automotive-robot_sol .automotive-robot-routers .product-container>ul>li>.text-info>ul>li {
    font-size: 14px !important;
    line-height: 15px !important;
  }

}


/* =================================================================
  aptpod_peplink section
================================================================= */
.aptpod_peplink {
  padding: 80px 0;
  background-color: #ffffff;
}

.aptpod_peplink .container {
  max-width: 1140px;
}

.aptpod_peplink .aptpod-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.aptpod_peplink .aptpod-text {
  flex: 0 0 55%;
}

.aptpod_peplink .aptpod-text h1 {
  line-height: 46px;
}

.aptpod_peplink .aptpod-img {
  flex: 0 0 40%;
}

.aptpod_peplink .aptpod-img img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: none;
}

.aptpod_peplink .ttl01 {
  text-align: left;
  margin-bottom: 25px;
}

.aptpod_peplink .txt-size-m {
  margin-bottom: 35px;
  line-height: 28px;
}

.aptpod_peplink .btn-position {
  text-align: center;
  margin-top: 0;
}

.aptpod_peplink .btn-position a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 80px;
  font-size: 16px;
  font-weight: bold;
  color: #fff !important;
  background-color: #0A8593;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  border: none;
  min-height: 50px;
  line-height: 1;
}

.aptpod_peplink .btn-position a:hover {
  background-color: #086f7c;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  color: #fff !important;
}

/* Responsive */
@media screen and (max-width: 768px) {
  .aptpod_peplink {
    padding: 50px 0;
  }

  .aptpod_peplink .aptpod-wrapper {
    flex-direction: column;
    gap: 0px;
  }

  .aptpod_peplink .aptpod-text {
    flex: 0 0 100%;
    order: 2;
    text-align: center;
  }

  .aptpod_peplink .aptpod-text h1 {
    line-height: 32px;
    margin-top: 0px;
  }

  .aptpod_peplink .aptpod-img {
    flex: 0 0 100%;
    order: 1;
  }

  .aptpod_peplink .ttl01 {
    text-align: center;
  }

  .aptpod_peplink .btn-position {
    text-align: center;
  }
}


/* automotive-robot_sol ここまで */

/* Starlink_sol ここから
-------------------------------------------------- */

.starlink_sol .top-banner .top-img {
  width: 100%;
  /* position: absolute; */
  z-index: -2;
}

.starlink_sol .slant-bg {
  max-width: 100%;
  margin: 0 0 650px 0;
  padding: 140px 0;
  position: relative;
  top: 70px;
}

.starlink_sol .slant-bg::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #ffd05b;
  transform: skewY(7deg);
  z-index: -1;
}

.starlink_sol .top-concept {
  max-width: 1260px;
  margin: 0 auto;
}

.starlink_sol .top-concept h1 {
  font-weight: bold;
  color: #000;
  line-height: 1.4;
  font-size: 46px;
  margin-bottom: 40px;
}

.starlink_sol .top-concept p {
  font-size: 18px;
  width: 100%;
  padding: 0;
  line-height: 1.8;
  text-align: left;
  color: #000;
}

.starlink_sol .top-concept p span {
  font-size: 22px;
  font-weight: bold;
}

.starlink_sol .top-concept img {
  max-width: 95%;
  box-shadow: 40px 40px 0px 0px rgb(231, 231, 231);
}

@media only screen and (max-width: 1094px) and (min-width: 769px) {
  .starlink_sol .slant-bg {
    margin: 0 0 500px 0;
    padding: 80px 0;
    top: 0px;
  }

  .starlink_sol .top-concept h1 {
    font-size: 34px;
    margin-bottom: 22px;
    line-height: 1.3;
  }

  .starlink_sol .top-concept p {
    font-size: 14px;
    line-height: 1.6;
  }

  .starlink_sol .top-concept p span {
    font-size: 20px;
  }

}

@media only screen and (max-width: 768px) {
  .starlink_sol .slant-bg {
    margin: 0 0 890px 0;
    padding: 60px 0;
    top: 10px;
  }

  .starlink_sol .slant-bg::before {
    transform: skewY(5deg);
  }

  .starlink_sol .top-concept h1 {
    font-size: 32px;
    line-height: 1.2;
    margin-bottom: 20px;
  }

  .starlink_sol .top-concept p {
    font-size: 14px;
    line-height: 1.6;
  }

  .starlink_sol .top-concept p span {
    font-size: 18px;
  }

  .starlink_sol .top-concept hr {
    margin: 10px auto;
  }

  .starlink_sol .top-concept img {
    max-width: 50%;
    box-shadow: 20px 20px 0px 0px rgb(231, 231, 231);
    margin: 20px auto;
  }

  .starlink_sol .top-concept .sb-img {
    text-align: center;
  }

}

@media only screen and (max-width: 448px) {
  .starlink_sol .slant-bg {
    margin: 0 0 600px 0;
    padding: 20px 0 40px;
  }

  .starlink_sol .top-concept h1 {
    font-size: 24px;
    margin-bottom: 10px;
    margin-top: 10px;
  }

  .starlink_sol .top-concept p {
    font-size: 12px;
    line-height: 1.4;
  }

  .starlink_sol .top-concept p span {
    font-size: 14px;
  }

}

/* CHALLENGES ここから */
.starlink_sol .starlink-challenges {
  background-image: url(/images/solution/starlink/starlink_pep2.png);
  max-width: 100%;
  height: 20vh;
  background-attachment: fixed;
  background-position: center;
  background-image: no-repeat;
}

.starlink_sol .starlink-challenges h2 {
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  padding: 80px 0;
  margin: 0 auto;
  font-size: 32px;
  letter-spacing: 0.02em;
}

.starlink_sol .sc-bg {
  background-color: #e9e9e9;
  max-width: 100%;
}

.starlink_sol .sc-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin: 0 auto;
  padding: 5rem 6rem;
  max-width: 1260px;
}

.starlink_sol .sc-wrap:before {
  content: "";
  border: 1px solid #d3d3d3;
  align-self: stretch;
}

.starlink_sol .sc-wrap .sc-box {
  flex: 1;
  min-width: 0;
  overflow-wrap: break-word;
  max-width: 400px;
  margin: 0 auto;
  text-align: center;
}

.starlink_sol .sc-wrap .sc-item1 {
  order: -1;
}

.starlink_sol .sc-wrap h3 {
  color: #494949;
  font-size: 22px;
  font-weight: bold;
}

.starlink_sol .sc-wrap p {
  font-size: 18px;
}

@media only screen and (min-width: 1980px) {
  .starlink_sol .sc-wrap h3 {
    font-size: 25px;
  }

  .starlink_sol .sc-wrap p {
    font-size: 21px;
  }
}

@media (min-width: 700px) {
  .starlink_sol .sc-wrap {
    align-items: center;
    flex-direction: row;
  }
}

@media only screen and (max-width: 1094px) and (min-width: 769px) {
  .starlink_sol .starlink-challenges {
    height: 15vh;
  }

  .starlink_sol .starlink-challenges h2 {
    padding: 50px 0;
    font-size: 28px;
  }

  .starlink_sol .sc-wrap {
    padding: 1.6rem 2rem;
  }

  .starlink_sol .sc-wrap h3 {
    font-size: 20px;
  }

  .starlink_sol .sc-wrap p {
    font-size: 14px;
  }

}

@media only screen and (max-width: 768px) {
  .starlink_sol .starlink-challenges {
    height: 15vh;
  }

  .starlink_sol .starlink-challenges h2 {
    padding: 50px 0;
    font-size: 26px;
  }

  .starlink_sol .sc-wrap {
    padding: 2rem 3rem;
  }

  .starlink_sol .sc-wrap h3 {
    font-size: 18px;
  }

  .starlink_sol .sc-wrap p {
    font-size: 14px;
  }
}

@media only screen and (max-width: 448px) {
  .starlink_sol .starlink-challenges h2 {
    padding: 40px 0;
    font-size: 20px;
  }

  .starlink_sol .sc-wrap {
    padding: 1rem;
  }

  .starlink_sol .sc-wrap h3 {
    font-size: 15px;
    margin: 10px auto 5px;
  }

  .starlink_sol .sc-wrap p {
    font-size: 12px;
  }
}

/* FEATURE */
.starlink_sol .starlink-feature {
  background-color: #f7f7f7;
  padding: 120px 0;
}

.starlink_sol .sf-bg {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  z-index: 2;
}

.starlink_sol .sf-bg::before {
  content: '';
  position: absolute;
  top: 24%;
  bottom: 0;
  left: 0;
  right: 0;
  height: 18%;
  background-color: #ffd05b;
  transform: skewY(-9deg);
  z-index: 2;
}

.starlink_sol .sf-bg::after {
  content: '';
  position: absolute;
  top: 75.5%;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background-color: #ffd05b;
  transform: skewY(7deg);
  z-index: 2;
}

.starlink_sol .starlink-feature .sf-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 80px;
  z-index: 3;
}

.starlink_sol .starlink-feature .sf-container:nth-child(even) {
  flex-direction: row-reverse;
}

.starlink_sol .starlink-feature .sf-container:nth-child(even) .text {
  text-align: right;
}

.starlink_sol .starlink-feature .sf-container:nth-child(even) .pict {
  margin-left: 0;
  margin-right: 3%;
}

.starlink_sol .starlink-feature .sf-txt {
  width: 40%;
  background-color: white;
  padding: 50px;
  z-index: 3;
}

.starlink_sol .starlink-feature .sf-right {
  margin: 50px 320px 50px 0px;
}

.starlink_sol .starlink-feature .sf-left {
  margin: 50px 0px 50px 320px;
}

.starlink_sol .starlink-feature .sf-txt h1 {
  background: linear-gradient(rgba(255, 200, 84, 0)60%, #ffd05b 60%, #ffd05b);
  display: inline-block;
  margin-bottom: 40px;
  color: #000;
  font-weight: bold;
}

.starlink_sol .starlink-feature .sf-txt .sf-list {
  font-size: 18px;
  line-height: 1.6;
  color: #000;
}

.starlink_sol .starlink-feature .sf-txt .sf-list span {
  font-weight: bold;
  font-size: 21px;
  color: #0055aa;
}

.starlink_sol .starlink-feature .sf-txt .sf-list ul {
  list-style: none;
  text-indent: -0.8em;
  letter-spacing: -0.02em;
}

.starlink_sol .starlink-feature .sf-pic {
  z-index: 3;
}

.starlink_sol .starlink-feature img {
  max-width: 100%;
}

@media only screen and (min-width: 1980px) {
  .starlink_sol .starlink-feature .sf-txt .sf-list {
    font-size: 22px;
    line-height: 1.6;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list span {
    font-size: 25px;
  }
}

@media only screen and (max-width: 1430px) {
  .starlink_sol .sf-bg {
    padding: 50px 0;
  }

  .starlink_sol .sf-bg::before {
    top: 36%;
    height: 20%;
    transform: skewY(-7deg);
  }

  .starlink_sol .starlink-feature .sf-container {
    flex-direction: column;
  }

  .starlink_sol .starlink-feature .sf-container:nth-child(even) {
    flex-direction: column;
  }

  .starlink_sol .starlink-feature .sf-txt {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    padding: 10px 0px 20px;
  }

  .starlink_sol .starlink-feature .sf-container:nth-child(even) .sf-txt {
    text-align: center;
  }

  .starlink_sol .starlink-feature .sf-txt h1 {
    margin-bottom: 20px;
    font-size: 26px;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list {
    font-size: 14px;
    line-height: 1.4;
    text-align: left;
    max-width: 90%;
    margin: 0 auto;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list span {
    font-size: 18px;
  }

  .starlink_sol .starlink-feature .sf-pic {
    width: 100%;
    margin-left: 0;
    text-align: center;
  }

  .starlink_sol .starlink-feature .sf-container:nth-child(even) .sf-pic {
    margin-left: 0;
    margin-right: 0%;
  }

  .starlink_sol .starlink-feature .sf-pic img {
    width: 60%;
    height: auto;
  }
}

@media only screen and (max-width: 448px) {
  .starlink_sol .sf-bg {
    padding: 30px 0 10px;
  }

  .starlink_sol .sf-bg::before {
    top: 30%;
    height: 10%;
  }

  .starlink_sol .starlink-feature .sf-container {
    margin-bottom: 40px;
  }

  .starlink_sol .starlink-feature .sf-txt {
    width: 100%;
    padding: 0px;
  }

  .starlink_sol .starlink-feature .tt-size span {
    font-size: 22px;
    display: inline-block;
  }

  .starlink_sol .starlink-feature .sf-txt h1 {
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: 24px;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list {
    font-size: 12px;
    max-width: 100%;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list ul {
    padding-right: 20px;
  }

  .starlink_sol .starlink-feature .sf-txt .sf-list span {
    font-size: 15px;
  }

}

/* CHALLENGES ここまで */

/* starlinktable ここから */
#starlinktable {
  margin: 20px auto 120px;
  width: 90%;
}

#starlinktable th {
  text-align: center;
  min-width: 130px;
  padding: 20px 10px;
  font-size: 18px;
  border-bottom: 1px solid #dcdcdc;
  background-color: #f0f0f0;
}

#starlinktable td {
  font-size: 15px;
  margin: 0 auto;
  text-align: left;
  padding: 30px 0px;
  border-bottom: 1px solid #dcdcdc;
  border-left: 1px solid #dcdcdc;
  border-right: 1px solid #dcdcdc;
}

#starlinktable td a {
  text-decoration: none;
  color: #555555;
}

#starlinktable td a:hover {
  color: #048FA2;
  text-decoration: underline;
}

#starlinktable .head {
  background-color: #e2e2e2;
}

/* tab */
@media only screen and (min-width: 1980px) {
  #starlinktable th {
    padding: 15px 0;
    font-size: 22px;
  }

  #starlinktable td {
    font-size: 16px;
  }

}

@media only screen and (max-width: 1150px) {
  #Table h3 {
    font-size: 26px !important;
    margin: 10px auto;
  }

  #starlinktable {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
  }

  #starlinktable .fixed {
    position: sticky;
    left: 0;
  }

  #starlinktable th {
    padding: 10px;
    font-size: 15px;
  }

  #starlinktable td {
    padding: 10px 10px 10px 0px;
  }
}

@media only screen and (max-width: 448px) {
  #Table h3 {
    font-size: 24px !important;
    margin: 5px auto !important;
  }

  #starlinktable {
    width: 100%;
    margin-bottom: 30px;
  }

  #starlinktable th {
    min-width: 120px;
    font-size: 13px;
    padding: 10px 0px;
  }

  #starlinktable td {
    font-size: 12px;
    padding: 10px 0px;
  }

}

/* starlinktable ここまで */
.swiper-starlink .swiper-slide {
  box-shadow: none;
  margin: 0 auto 50px;
}

.swiper-starlink .swiper-slide:hover {
  opacity: 0.8;
}

.swiper-starlink img {
  width: 100%;
  height: auto;
  border-radius: 30px;
  border: 1px solid #dcdcdc;
}

@media only screen and (max-width: 1600px) {
  .swiper-container {
    width: 100% !important;
    margin-bottom: 50px !important;
  }

  .swiper-starlink img {
    object-fit: contain;
    border-radius: 10px;
  }

  #Table .swiper-button-next,
  #Table .swiper-button-prev {
    display: none;
  }
}

/* Starlink FAQ　ここから */
.starlink-sol-faq h3 {
  font-size: clamp(26px, 3vw, 38px) !important;
  margin-bottom: 0px !important;
}

.starlink-sol-faq .cp_qa .cp_actab input:checked~label {
  color: #F28200 !important;
}

.starlink-sol-faq .cp_qa .cp_actab label:hover {
  color: #F28200 !important;
}

.starlink-sol-faq {
  counter-reset: number;
}

.starlink-sol-faq .cp_qa .cp_actab label {
  font-size: clamp(14px, 3vw, 18px) !important;
}

.starlink-sol-faq .cp_qa .cp_actab label::before {
  font-size: clamp(18px, 3vw, 22px) !important;
  font-family: YU Gothic UI !important;
  counter-increment: number;
  content: "Q" counter(number) !important;
}

.starlink-sol-faq .cp_qa .cp_actab label::after {
  font-size: clamp(18px, 3vw, 22px) !important;
  line-height: 2.5em;
  top: 10% !important;
}

.starlink-sol-faq .cp_qa .cp_actab .cp_actab-content {
  padding: 0 0 0 1.5em !important;
}

.starlink-sol-faq .cp_qa .cp_actab input:checked~.cp_actab-content p {
  line-height: 26px !important;
  font-size: clamp(14px, 3vw, 18px) !important;
}

.starlink-sol-faq .cp_qa .cp_actab .cp_actab-content p {
  margin: 0 !important;
}

.starlink-sol-faq .cp_qa .cp_actab .cp_actab-content p img {
  width: 60%;
  margin: 40px auto !important;
}

@media (max-width: 760px) {
  .starlink-sol-faq {
    margin: 0px auto 20px;
  }

  .starlink-sol-faq .container {
    padding: 0;
  }

  .starlink-sol-faq .cp_qa {
    margin: 20px auto 40px !important;
  }

}

/* Starlink FAQ　ここまで */

/* Starlink_sol ここまで */

/* inTouch_sol ここから
-------------------------------------------------- */
#SOLUTION.intouch_sol #TOP .banner-wrap .text {
  top: 120px;
}

#SOLUTION.intouch_sol #TOP .banner-wrap .text h1 {
  line-height: 120%;
}
#SOLUTION.intouch_sol #TOP .banner-wrap .text .btn-group button {
  padding: 8px;
  border: none;
  width: 40%;
  border-radius: 20px;
  margin-right: 20px;
  font-size: clamp(14px, 3vw, 16px);
}

#SOLUTION.intouch_sol #TOP .banner-wrap .text .btn-group button:hover {
  opacity: 0.8;
}

/* CONCEPT */
.intouch_sol #CONCEPT {
  max-width: 900px;
  margin: 0 auto;
}

.intouch_sol #CONCEPT .container {
  margin-bottom: 110px !important;
}

.intouch_sol #CONCEPT h3 {
  color: #000;
  margin-bottom: 10px !important;
}

.intouch_sol #CONCEPT h4 {
  color: #000;
  line-height: 1.6;
  margin-bottom: 60px;
  text-align: center;
}

/* VIDEO */
.intouch_sol #VIDEO {
  background-color: rgb(243, 243, 243);
  text-align: center;
}

.intouch_sol #VIDEO img {
  max-width: 100%;
  width: 22%;
  margin: 50px auto 20px;
}

.intouch_sol #VIDEO iframe {
  margin: 20px auto 60px;
}

/* CASE */
.intouch_sol #CASE {
  text-align: center;
}

.intouch_sol #CASE .scene-img {
  max-width: 100%;
  width: 580px;
  margin: 40px auto 70px;
}

.intouch_sol #CASE .ttl01 {
  position: relative;
  margin: 55px auto 15px;
  text-align: center;
}

.intouch_sol #CASE .ttl01:after {
  position: absolute;
  bottom: 0;
  left: 23%;
  width: 54%;
  height: 5px;
  content: '';
  margin: 0 auto;
  text-align: center;
  /* background-image: -webkit-gradient(linear, left top, right top, from(#189e8c), to(#fee140)); */
  background-image: -webkit-linear-gradient(left, #f7a000 0%, #fee140 100%);
  background-image: linear-gradient(to right, #f7a000 0%, #fee140 100%);
}

.intouch_sol #CASE .head-border {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 50px;
}

.intouch_sol #CASE .head-border {
  padding-top: 0 !important;
}

.intouch_sol #CASE .head-border:before,
.intouch_sol #CASE .head-border:after {
  content: '';
  flex-grow: 0.32;
  height: 3px;
  background-color: rgb(62, 62, 62);
}

.intouch_sol #CASE .head-border:before {
  margin-right: 20px;
}

.intouch_sol #CASE .head-border:after {
  margin-left: 20px;
}

.intouch_sol #CASE .merit-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

.intouch_sol #CASE .merit-list>li {
  /* border: 1px solid #CCC; */
  background-color: rgb(243, 243, 243);
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

.intouch_sol #CASE .merit-list>li .header {
  padding: 10px;
  text-align: center;
  background-color: #408890;
  color: #FFF;
}

.intouch_sol #CASE .merit-list>li .header h3 {
  line-height: 100%;
  margin: 0;
  padding: 0;
}

.intouch_sol #CASE .merit-list>li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

.intouch_sol #CASE .merit-list>li .text .ph {
  text-align: center;
  margin-bottom: 15px;
}

.intouch_sol #CASE .merit-list img {
  width: 150px;
  margin: 0px auto;
}

.intouch_sol #CASE .merit-list>li .text p {
  font-size: 20px;
  color: rgb(97, 97, 97);
  font-weight: bold;
}

.intouch_sol #CASE .merit-list a {
  text-decoration: none;
}

.intouch_sol #CASE .merit-list>li :hover {
  opacity: 0.9;
}

.intouch_sol #CASE .case-txt {
  margin: 0 auto;
  max-width: 600px;
}

.intouch_sol #CASE h5 {
  font-size: 20px;
  margin-top: 30px;
  text-align: left;
  line-height: 25px;
}

.intouch_sol #CASE .contact-txt {
  margin: 50px auto 90px;
  line-height: 1.6;
}

@media only screen and (min-width: 992px) {
  .intouch_sol #CASE .merit-list {
    justify-content: center;
    flex-direction: row;
  }

  .intouch_sol #CASE .merit-list>li {
    display: flex;
    flex-direction: column;
    width: 26%;
    margin-bottom: 0;
    margin: 0 10px;
    border-radius: 10px;
    overflow: hidden;
  }

  .intouch_sol #CASE .merit-list>li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 4em;
    padding: 0;
  }
}

@media screen and (min-width: 640px) {
  #SOLUTION.intouch_sol #TOP {
    height: 340px;
    margin-bottom: 120px !important;
  }
  #SOLUTION.intouch_sol #TOP .banner-wrap .img {
    margin-top: 40px;
  }
  #SOLUTION.intouch_sol #TOP .banner-wrap .img img {
    margin-top: 0px;
    width: 45%;
  }
}
@media only screen and (max-width: 1000px) and (min-width: 641px) {
  #SOLUTION.intouch_sol #TOP {
    height: 240px;
    margin-bottom: 80px !important;
  }
  #SOLUTION.intouch_sol #TOP .banner-wrap .text .btn-group{
    margin: 20px auto;
  }
}

@media only screen and (max-width: 860px) {
  .intouch_sol #VIDEO img {
    width: 40%;
    margin: 40px auto 10px;
  }
  .intouch_sol #VIDEO iframe{
    width: 90%;
    height: 250px;
    margin: 20px auto;
  }
}

@media screen and (max-width: 640px) {
  #SOLUTION.intouch_sol #TOP {
    margin-bottom: 40px !important;
    padding: 0px;
  }
  #SOLUTION.intouch_sol #TOP .banner-wrap .text .btn-group{
    margin: 20px auto;
  }
  #SOLUTION.intouch_sol #TOP .banner-wrap .img img {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 460px) {
  .intouch_sol #VIDEO img {
    width: 50%;
  }
  .intouch_sol #CASE .ttl01:after {
    left: 10%;
    width: 80%;
  }

  .intouch_sol #CASE .merit-list>li {
    margin-bottom: 2em;
  }
  .intouch_sol #CASE .contact-txt {
    margin: 40px auto;
  }

}

#CONTACT .container {
  margin-bottom: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* inTouch_sol ここまで */

/* esl_sol ここから
-------------------------------------------------- */
#SOLUTION.esl_sol #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.esl_sol #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.esl_sol h2.header {
  font-weight: bold;
}

/* CONCEPT */
#SOLUTION #CONCEPT .top-banner .top-img {
  width: 100%;
}

#SOLUTION #CONCEPT .esl-top h1 {
  font-size: 40px;
  margin: 80px auto 50px;
  text-align: center;
}

#SOLUTION #CONCEPT .esl-top span {
  color: #408890;
}

#SOLUTION #CONCEPT .esl-tp {
  max-width: 1130px;
  margin: 0 auto;
}

#SOLUTION #CONCEPT .esl-top ul {
  font-size: 25px;
  line-height: 1.8;
}

#SOLUTION #CONCEPT .esl-top li+li {
  margin-top: 5px;
}

#SOLUTION #CONCEPT .esl-top img {
  margin: 0 auto;
  display: block;
  max-width: 250px;
  right: 0;
}

#triangle {
  margin: 330px auto 20px;
  width: 0;
  height: 0;
  border-top: 40px solid #408890;
  border-right: 90px solid transparent;
  border-left: 90px solid transparent;
}

#SOLUTION #CONCEPT .esltop-p {
  width: 100%;
  max-width: 1020px;
  font-size: 30px;
  line-height: 45px;
  letter-spacing: 0.01em;
  margin: 40px auto 20px;
  text-align: center;
  padding: 0 !important;
}

#SOLUTION #CONCEPT .esltop-title {
  text-align: center;
  margin-top: 50px;
}

#SOLUTION #CONCEPT .box-row {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-around;
  max-width: 900px;
  margin: 0 auto;
}

#SOLUTION #CONCEPT .esltop-box p {
  width: 100%;
  margin: auto;
  vertical-align: middle;
  line-height: 70px;
  padding: 0;
  font-size: 22px;
  text-align: center;
  font-weight: bold;
}

#SOLUTION #CONCEPT .esltop-box .box-body {
  padding: 1rem;
  line-height: 1.5;
  color: #333;
  margin: 0.2em 0;
  background: -webkit-repeating-linear-gradient(-45deg, #fffada, #fffada 3px, #fffceb 3px, #fffceb 7px);
  background: repeating-linear-gradient(-45deg, #fffada, #fffada 3px, #fffceb 3px, #fffceb 7px);
  box-shadow: 0 3px 5px rgba(36, 36, 36, 0.22);
}

#SOLUTION #CONCEPT .esltop-box .box-title {
  position: relative;
  display: inline-block;
  margin-bottom: -5rem;
  /* margin-left: -10px; */
  padding: 0.5rem 2rem;
  background-color: #ff8520;
  /* background-color: #408890; */
  color: white;
  text-align: center;
  font-size: 27px;
  transform: rotate(-5deg);
  -moz-transform: rotate(-5deg);
  -webkit-transform: rotate(-5deg);
  -o-transform: rotate(-5deg);
  border-radius: 5%;
  z-index: 20;
}

#SOLUTION #CONCEPT .esltop-box .box-title::before {
  /* position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-40%);
  border: solid 8px transparent;
  border-top-color: #ff7300;
  content: ''; */
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 56px;
  top: 18px;
  border-right: 18px solid #ff8520;
  /* border-right: 18px solid #408890; */
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  transform: rotate(120deg);
  z-index: 10;
}

@media only screen and (max-width: 991px) {
  #SOLUTION #CONCEPT .esl-top h1 {
    font-size: 30px;
  }

  #SOLUTION #CONCEPT .esl-top ul {
    font-size: 20px;
    line-height: 1.6;
    margin: 0 auto;
  }

  #SOLUTION #CONCEPT .esl-top .ul-align-center {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 30px;
    margin-bottom: 50px;
  }

  #SOLUTION #CONCEPT .esl-top img {
    max-width: 180px;
  }

  #triangle {
    margin: 450px auto 20px;
  }

  #SOLUTION #CONCEPT .esltop-p {
    font-size: 25px;
    line-height: 40px;
    margin: 40px 10px;
  }
}

@media only screen and (max-width: 547px) {
  #SOLUTION #CONCEPT .esl-top h1 {
    font-size: 22px;
    line-height: 40px;
    margin: 40px;
  }

  #SOLUTION #CONCEPT .esl-top ul {
    font-size: 15px;
  }

  #triangle {
    margin: 450px auto 20px;
    border-top: 20px solid #408890;
    border-right: 50px solid transparent;
    border-left: 50px solid transparent;
  }

  #SOLUTION #CONCEPT .esltop-p {
    font-size: 20px;
    line-height: 34px;
    margin: 40px auto;
  }

  #SOLUTION #CONCEPT .esltop-title {
    font-size: 25px;
  }

  #SOLUTION #CONCEPT .esltop-title .circle {
    font-size: 40px;
    width: 60px;
    height: 60px;
    line-height: 70px;
  }

  #SOLUTION #CONCEPT .esltop-title .DX {
    font-size: 34px;
  }

  #SOLUTION #CONCEPT .esltop-box {
    width: 300px;
    padding: 0.1em 0.5em;
    margin: 1em 0;
  }

  #SOLUTION #CONCEPT .esltop-box p {
    line-height: 60px;
    font-size: 18px;
  }
}

@media only screen and (max-width: 320px) {
  #triangle {
    margin: 490px auto 20px;
  }
}

/* FEATURE */
#SOLUTION #FEATURE .about {
  background-color: #EFEFEF;
  height: 450px;
  margin-bottom: 30px;
}

#SOLUTION #FEATURE .about h1 {
  color: #408890;
  font-weight: bold;
  /* text-align: left; */
  margin: 80px 0 20px;
  line-height: 45px;
}

#SOLUTION #FEATURE .about span {
  font-size: 29px;
}

#SOLUTION #FEATURE .about p {
  font-size: 20px;
  max-width: 580px;
}

#SOLUTION #FEATURE .about img {
  /* width: 100%; */
  /* margin: 100px auto 0; */
  margin-top: 100px;
  margin-left: -50px;
  display: block;
  text-align: center;
  max-width: 400px;
}

#SOLUTION #FEATURE .title {
  font-size: 40px;
  margin: 130px auto 50px;
  text-align: center;
}

#SOLUTION #FEATURE .point_row {
  display: flex;
  justify-content: center;
  /* padding: 0px !important; */
  flex-wrap: wrap;
}

#SOLUTION #FEATURE .point_box {
  background-color: #EFEFEF;
  width: 260px;
  height: 320px;
  margin: 10px;
  text-align: center;
  padding: 22px;
  /* display: flex;
  flex-direction: column; */
}

#SOLUTION #FEATURE .point_box h3 {
  text-align: center;
  font-size: 20px;
}

@media only screen and (max-width: 991px) {
  #SOLUTION #FEATURE .about {
    height: 600px;
    margin-bottom: 30px;
  }

  #SOLUTION #FEATURE .about h1 {
    text-align: center;
    margin: 40px 0 30px;
  }

  #SOLUTION #FEATURE .about p {
    font-size: 20px;
    max-width: 760px;
    margin: 0 auto;
  }

  #SOLUTION #FEATURE .about img {
    margin: 50px auto;
    display: block;
    text-align: center;
    max-width: 400px;
  }
}

@media only screen and (max-width: 547px) {
  #SOLUTION #FEATURE .about {
    height: 530px;
    margin-bottom: 30px;
  }

  #SOLUTION #FEATURE .about h1 span {
    font-size: 22px;
  }

  #SOLUTION #FEATURE .about h1 {
    font-size: 28px;
    margin: 20px 0 20px;
  }

  #SOLUTION #FEATURE .about p {
    font-size: 16px;
  }

  #SOLUTION #FEATURE .about img {
    margin: 30px auto;
    max-width: 300px;
  }
}

@media only screen and (max-width: 320px) {
  #SOLUTION #FEATURE .about {
    height: 680px;
  }

  #SOLUTION #FEATURE .about img {
    max-width: 200px;
  }
}

/* CASE-STUDY */
#SOLUTION #CASE-STUDY {
  background: url("/images/solution/esl/esl_sol_bg.png");
  margin-bottom: 150px;
  padding: 1px;
  /* margin: 100px auto; */
}

#SOLUTION #CASE-STUDY .case_container {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  margin-bottom: 50px;
  margin: 160px auto;
  max-width: 1350px;
}

#SOLUTION #CASE-STUDY h1 {
  font-size: 70px;
  color: #81bcc4;
  font-style: italic;
  font-weight: bold;
  margin-bottom: 30px;
}

#SOLUTION #CASE-STUDY h2 {
  font-size: 36px;
  color: #70a3aa;
}

#SOLUTION #CASE-STUDY .left {
  font-size: 24px;
  position: relative;
  padding: 0.25em 0;
}

#SOLUTION #CASE-STUDY .left::after {
  content: "";
  display: block;
  height: 4px;
  /* background: -webkit-linear-gradient(to right, rgb(90, 225, 230), transparent); */
  background: linear-gradient(to right, rgb(98, 196, 199), transparent);
}

#SOLUTION #CASE-STUDY .right {
  font-size: 24px;
  position: relative;
  padding: 0.25em 0;
}

#SOLUTION #CASE-STUDY .right::after {
  content: "";
  display: block;
  height: 4px;
  /* background: -webkit-linear-gradient(to right, rgb(90, 225, 230), transparent); */
  background: linear-gradient(to left, rgb(98, 196, 199), transparent);
}

#SOLUTION #CASE-STUDY .pict {
  width: 55%;
  /* margin-left: 3%; */
}

#SOLUTION #CASE-STUDY .pict img {
  width: 100%;
  height: auto;
}

#SOLUTION #CASE-STUDY .case_container:nth-child(even) {
  flex-direction: row-reverse;
}

#SOLUTION #CASE-STUDY .case_container:nth-child(even) .text {
  text-align: right;
}

#SOLUTION #CASE-STUDY .case_container:nth-child(even) .pict {
  margin-left: 0;
  /* margin-right: 3%; */
}

@media only screen and (max-width: 936px) and (min-width: 767px) {
  #SOLUTION #CASE-STUDY h1 {
    font-size: 55px;
    margin-bottom: 16px;
  }
}

@media only screen and (max-width:768px) {
  #SOLUTION #CASE-STUDY .case_container {
    flex-direction: column;
    margin: 120px auto;
  }

  #SOLUTION #CASE-STUDY .case_container:nth-child(even) {
    flex-direction: column;
  }

  #SOLUTION #CASE-STUDY .text {
    text-align: center;
  }

  #SOLUTION #CASE-STUDY .case_container:nth-child(even) .text {
    text-align: center;
  }

  #SOLUTION #CASE-STUDY h1 {
    font-size: 50px;
    text-align: center;
    margin-bottom: 20px;
  }

  #SOLUTION #CASE-STUDY h2 {
    font-size: 32px;
  }

  #SOLUTION #CASE-STUDY p {
    font-size: 20px;
  }

  #SOLUTION #CASE-STUDY .pict {
    width: 100%;
    margin-left: 0;
    text-align: center;
  }

  #SOLUTION #CASE-STUDY .case_container:nth-child(even) .pict {
    margin-left: 0;
    margin-right: 0%;
  }

  #SOLUTION #CASE-STUDY .pict img {
    width: 80%;
    height: auto;
    margin-top: 20px;
  }
}

@media only screen and (max-width: 379px) {
  #SOLUTION #CASE-STUDY .case_container {
    margin: 80px auto;
  }

  #SOLUTION #CASE-STUDY h1 {
    font-size: 30px;
  }

  #SOLUTION #CASE-STUDY h2 {
    font-size: 24px;
  }

  #SOLUTION #CASE-STUDY p {
    font-size: 16px;
  }

  #SOLUTION #CASE-STUDY .pict img {
    width: 90%;
    margin-top: 15px;
  }
}

#SOLUTION #LINEUP .esl-kousei {
  margin: 50px auto 120px;
  text-align: center;
}

#SOLUTION #LINEUP .esl-kousei img {
  max-width: 1040px;
  width: 100%;
}

#SOLUTION #LINEUP .esl-kousei p {
  font-size: 16.5px;
  margin: 30px 10px 0;
}

/* esl_sol　ここまで */
/* FusionHub ここから */
.fushionhub h2 {
  font-size: clamp(24px, 3vw, 30px);
}

.fushionhub #CONCEPT .kosei {
  margin: 80px auto 20px;
  text-align: center;
}

.fushionhub #CONCEPT .kosei img {
  max-width: 60%;
}

.fushionhub #CONCEPT .cloud-wrap {
  margin: 80px auto;
}

.fushionhub #CONCEPT .cloud-ttl {
  text-align: center;
}

.fushionhub #CONCEPT .cloud-ttl p {
  font-size: clamp(16px, 3vw, 20px);
}

.fushionhub #CONCEPT .cloud-container,
.fushionhub #CONCEPT .info-container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.fushionhub #CONCEPT .cloud-card {
  width: 350px;
  height: 280px;
  background: url('/images/product/peplink/fusionhub/cloud.png') no-repeat center;
  background-size: contain;
  position: relative;
  text-align: center;
  color: #333;
  padding: 50px;
}

.fushionhub #CONCEPT .cloud-card .cloud-content {
  position: absolute;
  top: 60%;
  left: 45%;
  transform: translate(-50%, -50%);
  width: 80%;
}

.fushionhub #CONCEPT .cloud-card h3,
.info-card h3 {
  font-size: clamp(18px, 3vw, 22px);
  font-weight: bold;
}

.fushionhub #CONCEPT .cloud-card h3 {
  color: #06426d;
  margin-bottom: 5px;
}

.fushionhub #CONCEPT .info-card h3 {
  color: #575757;
}

.fushionhub #CONCEPT .info-card {
  flex: 1;
  min-width: 360px;
  max-width: 590px;
  padding: 5px;
  background: #eeeeee;
  border-radius: 12px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  text-align: center;
  color: #000;
}

.fushionhub #CONCEPT .info-card li {
  text-align: left;
}

.fushionhub #CONCEPT .options,
.management {
  margin-top: 20px;
  padding: 15px;
  background: #eef;
  border-radius: 8px;
}

.fushionhub #CONCEPT .fh-solo {
  margin-top: 60px;
  margin-bottom: 120px;
}

.fushionhub #CONCEPT .fh-solo .solo-ttl h2 {
  line-height: 32px;
  text-align: center;
}

.fushionhub #CONCEPT .fh-solo .solo-ttl p {
  text-align: center !important;
  margin-bottom: 20px !important;
}

.fushionhub #CONCEPT .fh-solo .ttl-solo,
.ttl-series {
  color: white;
}

.fushionhub #CONCEPT .fh-solo table tr th {
  padding: 18px 0px;
}

.fushionhub #CONCEPT .fh-solo table {
  font-size: clamp(14px, 3vw, 16px);
}

.fushionhub #CONCEPT .fh-solo table span {
  font-size: clamp(12px, 3vw, 14px);
}

.fushionhub #CONCEPT .fh-solo .ttl-solo {
  background-color: #408890;
}

.fushionhub #CONCEPT .fh-solo .ttl-series {
  background-color: #93B119;
}

.fushionhub #CONCEPT .fh-solo .ttl-sub {
  width: 20%;
  text-align: left;
  padding-left: 25px;
}

.fushionhub .operating-requirements h3 {
  font-weight: bold;
  font-size: clamp(20px, 3vw, 26px);
}

.fushionhub .operating-requirements h3 span {
  font-size: clamp(16px, 3vw, 20px);
}

.fushionhub .operating-requirements li,
.fushionhub .operating-requirements p {
  font-size: clamp(12px, 3vw, 16px);
}

.fushionhub .operating-requirements table {
  width: 90%;
  border-collapse: collapse;
}

.fushionhub .operating-requirements th,
td {
  border: 1px solid #ccc;
  padding: 8px;
}

.fushionhub .operating-requirements tbody tr .fh-left {
  text-align: left;
  padding-left: 80px;
}

.fushionhub .operating-requirements tbody tr .fh-right {
  text-align: right;
  padding-right: 60px;
}

@media screen and (max-width: 1200px) {
  .fushionhub .operating-requirements tbody tr .fh-left {
    text-align: center;
    padding-left: 8px;
  }

  .fushionhub .operating-requirements tbody tr .fh-right {
    text-align: center;
    padding-right: 8px;
  }
}

.fushionhub .operating-requirements .or-left {
  margin-bottom: 60px;
}

.fushionhub .operating-requirements .or-card {
  margin-bottom: 40px;
}

.fushionhub .ic2_banner {
  margin: 50px auto;
  text-align: center;
}

.fushionhub .ic2_banner a:hover {
  opacity: 0.8;
}

.fushionhub .ic2_banner img {
  max-width: 100%;
  width: 50%;
  border: 1px solid #dddddd;
}

/* PC向け（画面幅768px以上） */
@media (min-width: 768px) {
  .fushionhub #CONCEPT .c-top {
    display: flex;
    align-items: center;
  }

  .fushionhub #CONCEPT .picture_main {
    order: 1;
  }

  .fushionhub #CONCEPT .text_section {
    order: 2;
  }

  .fushionhub #CONCEPT hr {
    margin-bottom: 180px;
  }

  .fushionhub #CONCEPT .fh-solo {
    margin-top: 150px;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .mobile-view {
    display: none;
  }
}

@media (min-width: 640px) {
  .fushionhub #CONCEPT .cloud-ttl h2 br {
    display: none;
  }

  .fushionhub #CONCEPT .fh-solo .solo-ttl h2 br {
    display: none;
  }
}

/* スマホ向け（画面幅767px以下） */
@media (max-width: 767px) {
  .fushionhub #CONCEPT .c-top {
    display: flex;
    flex-direction: column;
  }

  .fushionhub #CONCEPT .picture_main {
    order: 1;
  }

  .fushionhub #CONCEPT .text_section {
    order: 2;
    text-align: center;
  }

  .fushionhub #CONCEPT .kosei img {
    max-width: 100%;
  }

  .fushionhub #CONCEPT .cloud-container {
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
  }

  .fushionhub #CONCEPT .cloud-card {
    height: 150px;
    width: 100%;
    padding: 0px;
  }

  .fushionhub #CONCEPT .cloud-card .cloud-content {
    left: 50%;
    width: 100%;
  }

  .fushionhub #CONCEPT .cloud-card .cloud-content p {
    text-align: center !important;
  }

  .fushionhub #CONCEPT .info-card br {
    display: none;
  }

  .fushionhub #CONCEPT .info-card ul {
    padding-left: 25px;
  }

  .fushionhub #CONCEPT .fh-solo .solo-ttl h2 {
    margin-top: 0px;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .pc-view {
    display: none;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .mobile-view {
    display: block;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block {
    border: 1px solid #ccc;
    margin-bottom: 15px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 8px;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block h3 {
    padding: 10px 15px;
    margin: -15px -15px 10px;
    border-radius: 8px 8px 0 0;
    font-size: clamp(18px, 3vw, 22px);
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block ul li {
    padding: 5px 0;
    border-bottom: 1px solid #eee;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block ul li br {
    display: none;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block ul li span {
    margin-left: 15px;
  }

  .fushionhub #CONCEPT .fh-solo .table-rwd .solo-block ul li:last-child {
    border-bottom: none;
  }

  .fushionhub th,
  .fushionhub td {
    display: table-cell !important;
  }

  .fushionhub .operating-requirements {
    display: flex;
    flex-direction: column;
  }

  .fushionhub .operating-requirements .or-image {
    order: 1;
    text-align: center;
  }

  .fushionhub .operating-requirements .or-image img {
    width: 60%;
  }

  .fushionhub .operating-requirements .or-left {
    order: 2;
    margin-bottom: 20px;
  }

  .fushionhub .operating-requirements .or-left .table-rwd {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .fushionhub .operating-requirements .or-left .table-rwd table {
    min-width: 360px;
  }

  .fushionhub .ic2_banner {
    margin: 20px auto 50px;
  }

  .fushionhub .ic2_banner img {
    width: 100%;
  }
}

.fushionhub .usecase .ttl-case {
  text-align: left;
  color: #408890;
  display: flex;
  border-bottom: #a0bec2 1px solid;
  align-items: center;
}

.fushionhub .usecase .ttl-case h3 {
  font-weight: bold;
  margin-bottom: 5px;
  font-size: clamp(20px, 3vw, 24px);
}

.fushionhub .usecase .ttl-case p {
  font-size: clamp(14px, 3vw, 18px);
  font-weight: bold;
  padding: 0px;
}

.fushionhub .usecase .ttl-case i {
  width: 60px;
  height: 60px;
  line-height: 60px;
  background-color: #559da5;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  margin-right: 20px;
}

.fushionhub .usecase ul {
  padding-left: 25px;
  margin-top: 10px;
}

.fushionhub .usecase ul li {
  line-height: 1.5;
  padding: 0.5em 0;
  font-size: clamp(12px, 3vw, 15px);
}


/* FusionHub ここまで */

/* speedfusioncloud ここから
-------------------------------------------------- */
#SOLUTION.sfcloud #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.sfcloud #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.sfcloud h2.header {
  font-weight: bold;
}

#SOLUTION #CONCEPT .picture_main {
  margin-top: 20px;
  margin-left: -14px;
}

@media only screen and (max-width:623px) {
  #SOLUTION #CONCEPT .picture_main {
    margin-top: 100px;
  }
}

#SOLUTION #CONCEPT .row .product-merit ul {
  list-style: none;
  margin-left: -35px;
  line-height: 28px;
  font-size: 18px;
}

#SOLUTION #CONCEPT .container p {
  width: 100%;
  max-width: 1020px;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.04em;
  margin: 20px auto 0;
  text-align: left;
  padding: 0 !important;
}

@media only screen and (max-width:768px) {
  #SOLUTION #CONCEPT .row .product-merit ul {
    list-style: none;
    margin-left: -35px;
    line-height: 28px;
    font-size: 14px;
  }

  #SOLUTION #CONCEPT .container p {
    font-size: 16px;
  }
}

#SOLUTION #CONCEPT .merit {
  text-align: center;
  margin: 80px auto 10px;
}

#SOLUTION #CONCEPT .merit h4 {
  max-width: 700px;
  padding: 0.5em 0;
  /*上下の余白*/
  border-top: solid 2px #e9e9e9;
  /*上線*/
  border-bottom: solid 2px #e9e9e9;
  /*下線*/
}

#SOLUTION #CONCEPT .c-title {
  font-size: 26px;
  font-weight: bold;
  color: rgb(92, 92, 92);
  margin: 50px auto 40px;
  text-align: center;
}

#SOLUTION #CONCEPT .title-green {
  font-size: 30px;
  color: #93B119;
  font-weight: bold;
  text-align: center;
}

#SOLUTION #CONCEPT .merit img {
  max-width: 780px;
  width: 100%;
  height: auto;
  margin-top: 20px;
}

/* #SOLUTION #CONCEPT .merit .circle{
  position: relative;
  display: inline-block;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  margin: 0 20px;
  text-align: center;
}
#SOLUTION #CONCEPT .merit .circle span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width :260px;
  color: white;
  font-size: 25px;
  font-weight: bold;
}
#SOLUTION #CONCEPT .merit .circle p {
  font-size: 18px;
  width: auto;
  letter-spacing: 0.3px;
  line-height: 26px;
  margin: 10px auto;
  color: white;
  font-weight: 500;
  text-align: center;
} */
#SOLUTION #CONCEPT .merit p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 28px;
  width: 100%;
}

#SOLUTION #CONCEPT .kousei {
  text-align: center;
}

#SOLUTION #CONCEPT .container .kousei img {
  width: 100%;
  max-width: 880px;
  margin: 30px auto;
}

#SOLUTION #CONCEPT .container .kousei p {
  width: 100%;
  max-width: 850px;
  margin: 20px auto;
  letter-spacing: 0.05em;
}

/* #SOLUTION #CONCEPT .container .kousei .click-img {
  text-align: center;
  color: #888888;
  font-size: 16px;
  margin-top: 20px;
} */
/* プラン */
#SOLUTION #CONCEPT .plan {
  margin: 40px auto 80px;
}

#SOLUTION #CONCEPT .plan h3 {
  display: inline-block;
  vertical-align: middle;
  margin-left: 15px;
}

#SOLUTION #CONCEPT .plan table {
  border-collapse: collapse;
  margin: 20px auto;
  padding: 0;
  width: 850px;
  table-layout: fixed;
}

#SOLUTION #CONCEPT .plan table tr {
  background-color: #e4e9f8;
  padding: .35em;
  border-bottom: 2px solid #fff;
}

#SOLUTION #CONCEPT .plan table th,
#SOLUTION #CONCEPT .plan table td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid #fff;
}

#SOLUTION #CONCEPT .plan table th {
  font-size: 1.18em;
  text-align: center;
}

#SOLUTION #CONCEPT .plan table thead tr {
  background-color: #838383;
  color: #fff;
}

#SOLUTION #CONCEPT .plan table tbody th {
  background: #556fb8;
  color: #fff;
}

#SOLUTION #CONCEPT .plan .txt {
  text-align: center;
  font-size: 1.13em;
  color: rgb(34, 34, 34);
}

#SOLUTION #CONCEPT .plan .non {
  background: #e6f2f5;
}

@media screen and (max-width: 880px) {
  #SOLUTION #CONCEPT .plan table {
    border: 0;
    width: 100%
  }

  #SOLUTION #CONCEPT .plan table th {
    background-color: #167F92 !important;
    display: block;
    border-right: none;
  }

  #SOLUTION #CONCEPT .plan table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }

  #SOLUTION #CONCEPT .plan table tr {
    display: block;
    margin-bottom: .625em;
  }

  #SOLUTION #CONCEPT .plan table td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }

  #SOLUTION #CONCEPT .plan table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
    color: #167F92;
  }

  #SOLUTION #CONCEPT .plan table td:last-child {
    border-bottom: 0;
  }

  #SOLUTION #CONCEPT .plan table tbody th {
    color: #fff;
  }
}

#SOLUTION #USECASE .u-top {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1280px;
}

#SOLUTION #USECASE .u-top .u-box .text-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #93B119;
}

#SOLUTION #USECASE .u-top .u-box {
  border: solid 0.2rem rgb(224, 224, 224);
  width: 200px;
  height: auto;
  text-align: center;
  margin: 10px;
  padding: 10px;
  font-size: 16px;
  letter-spacing: 1px;
}

#SOLUTION #USECASE .u-top .u-box p {
  text-align: left;
}

#SOLUTION #USECASE .sfc-video p {
  max-width: 850px;
  font-size: 18px;
  line-height: 25px;
  margin: 14px auto;
  text-align: left;
}

@media only screen and (max-width: 915px) {
  #SOLUTION #USECASE .sfc-video .u-video {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
  }

  #SOLUTION #USECASE .sfc-video .u-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.sfcloud #FAQ .container .cp_qa {
  width: 70%;
  margin: 20px auto 50px;
}

@media screen and (max-width: 975px) {
  .sfcloud #FAQ .container .cp_qa {
    width: 100%;
    margin: auto;
  }
}

@media screen and (max-width: 648px) {
  .sfcloud #FAQ .cp_qa .cp_actab input:checked~.cp_actab-content p {
    font-size: 14px;
    line-height: 25px;
    margin: 0;
  }

  .sfcloud #FAQ .cp_qa .cp_actab label {
    font-size: 16px;
  }
}

/* speedfusioncloud ここまで */

/* pep_faq ここから
-------------------------------------------------- */
#SOLUTION.faq_sol #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.faq_sol #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.faq_sol h2.header {
  font-weight: bold;
}

.category {
  margin: 30px auto;
  text-align: center;
}

#SOLUTION #PAGENAVI .faq_pagenavi a {
  font-size: 15px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  /* border: 1px solid #dadada; */
  /* border: 1px solid #93B119; */
  border: 2.5px solid #a2c41c;
  border-image: linear-gradient(to right, #4facb6 0%, #a2c41c 100%);
  /* border-image: linear-gradient(to right, #a2c41c 0%, #e4fa8c 100%); */
  border-image-slice: 1;
}

#PAGENAVI .faq_pagenavi a:hover {
  background-color: #FFF !important;
  color: rgb(41, 41, 41) !important;
  opacity: 0.6;
}

#SOLUTION #PAGENAVI ul li a:hover::after {
  color: #a2c41c !important;
}

/* FAQ */
#FAQ .container .cp_qa {
  width: 95%;
  margin: 30px auto 120px;
}

#FAQ .container .faq_icon {
  width: 50px;
  height: 60px;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 50px 50px;
  display: inline-block;
  margin: auto 15px;
}

#FAQ .container .faq_title {
  font-size: 25px;
  font-weight: 600;
  margin-bottom: 17px;
  display: inline-block;
  vertical-align: bottom;
}

#FAQ .container .faq_hr {
  margin-top: 0px;
  margin-bottom: 15px;
  border: none;
  width: 100%;
  height: 4px;
  background: linear-gradient(-90deg, #ffffff, #93B119);
  transition: 2s;
}

#FAQ .cp_contact .cp_actab .checkbox {
  position: absolute;
  opacity: 0;
}

/* 質問 */
#FAQ .faq_content .cp_actab .faq_question {
  font-weight: bold;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
}

/* 答え */
#FAQ .cp_contact .cp_actab .cp_actab-content {
  position: relative;
  width: 1200px;
  margin-left: -650px;
  margin-top: 70px;
  margin-bottom: 70px;
  overflow: hidden;
  /* max-height: 0; */
  height: auto;
  padding: 0 0 0 2.5em;
}

#FAQ .cp_contact .cp_actab .cp_actab-content::before {
  font-family: serif;
  position: absolute;
  /* position: relative; */
  margin: 0.4em 0 0 -1em;
  padding: 0;
}

@media only screen and (max-width: 450px) {
  #FAQ .faq_content .cp_actab input:checked~.cp_actab-content p {
    margin: 0;
  }
}

@media only screen and (max-width: 360px) {
  #FAQ .faq_content .cp_actab input:checked~.cp_actab-content p {
    font-size: 14px !important;
    line-height: 24px !important;
  }
}

#faq_table table {
  border-top: 1px solid #4f4d47;
  border-right: 1px solid #4f4d47;
  width: 90%;
  border-spacing: 0;
}

#faq_table th,
#faq_table td {
  border-bottom: 1px solid #4f4d47;
  border-left: 1px solid #4f4d47;
  text-align: center;
  padding: 10px;
}

#faq_table th {
  background-color: #408890;
  color: #fff;
}

@media screen and (max-width: 640px) {
  #faq_table table {
    width: 100% !important;
    font-size: 12px;
  }

  /*thとtdを縦並びにする*/
  #faq_table th,
  #faq_table td {
    display: block;
  }

  #faq_table th {
    padding: 10px 5px;
  }

  #faq_table td {
    padding: 10px 0;
  }

  /*trを横並びにする*/
  #faq_table tr {
    display: inline-block;
  }

  /*theadとtbodyをblock要素にしてfloat*/
  #faq_table thead {
    display: block;
    float: left;
  }

  #faq_table tbody {
    display: block;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap;
    max-width: 100%;
  }

  /*その他装飾*/
  #faq_table tbody tr {
    width: 90%;
  }

  /*px指定だとはみ出る*/
  #faq_table tbody td:first-child {
    background-color: #f5f3ec;
  }
}


/* #FAQ .cp_qa .cp_actab input:checked~.cp_actab-content p {
  line-height: 36px;
} */

/* お問い合わせ */
#FAQ_CONTACT .container {
  margin-bottom: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* pep_faq ここまで */

/* sdwaniiot_sol ここから
-------------------------------------------------- */
.sdwaniiot_sol .sd-top {
  background-image: url("/images/solution/sdwaniiot/ts_banner_bg.png");
  max-width: 100%;
  height: 940px;
  margin-bottom: 0px !important;
  overflow: hidden;
}

.sdwaniiot_sol .sd-top-wrap {
  display: flex;
}

.sdwaniiot_sol .sd-top .sd-top-left {
  position: relative;
  /* max-width: 100%; */
  z-index: 2;
  width: 50%;
  top: 70px;
  /* left: 290px; */
  /* left: 10%; */
}

.sdwaniiot_sol .sd-top .sd-top-right {
  width: 100%;
}

.sdwaniiot_sol .sd-top .sd-top-left img {
  max-width: 60%;
  height: auto;
}

.sdwaniiot_sol .sd-top h1 {
  font-weight: bold;
  font-size: clamp(20px, 2.6vw, 38px);
  margin-bottom: 20px;
  line-height: 1.5;
  color: #2b2b2b;
  letter-spacing: -0.04em;
  white-space: nowrap;
}

.sdwaniiot_sol .sd-top p {
  font-size: clamp(14px, 2.6vw, 21px);
  color: #303030;
  white-space: nowrap;
  letter-spacing: -0.03em;
}

.sdwaniiot_sol .top-img {
  position: relative;
  top: 160px;
}

.sdwaniiot_sol #SD-PAGENAVI {
  background-color: #ffb81c;
  width: 100%;
  /* z-index: 500;
  transition: 0.6s ease; */
}

.sdwaniiot_sol #SD-PAGENAVI ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  flex-flow: wrap;
  width: auto;
}

.sdwaniiot_sol #SD-PAGENAVI ul li {
  width: 22%;
}

.sdwaniiot_sol #SD-PAGENAVI ul li+li {
  border-left: 1px solid #ffde96;
}

.sdwaniiot_sol #SD-PAGENAVI ul li a {
  display: block;
  text-align: center;
  position: relative;
  text-decoration: none;
  transition: 0.3s ease;
  color: #272727;
  /* font-size: 20px; */
  font-size: clamp(12px, 2.6vw, 20px);
  font-weight: bold;
  padding: 20px 0;
}

.sdwaniiot_sol #SD-PAGENAVI ul li a span {
  color: #ffeecb;
  /* font-size: 18px; */
  font-size: clamp(10px, 2.6vw, 18px);
}

.sdwaniiot_sol #SD-PAGENAVI ul li a::after {
  display: block;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: bold;
  color: #ffeecb;
}

.sdwaniiot_sol #SD-PAGENAVI ul li a:hover {
  box-shadow: none;
  background-color: #ffde96;
}

.sdwaniiot_sol #SD-PAGENAVI ul li a:hover span {
  color: #ff9100;
}

.sdwaniiot_sol #SD-PAGENAVI ul li a:hover::after {
  color: #ff9100;
}

.sdwaniiot_sol .sd-sol {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.sdwaniiot_sol .sd-header {
  text-align: center;
  font-weight: bold;
  font-size: clamp(28px, 2.6vw, 42px);
  color: #272727;
  margin: 80px auto 40px;
}

.sdwaniiot_sol .sd-header span {
  color: #ffd16c;
  font-size: clamp(22px, 2.6vw, 30px);
}

.sdwaniiot_sol .sol-content {
  margin-bottom: 40px;
}

.sol-content:last-child {
  margin-left: 0;
  margin-right: auto;
}

.container.sd-sol:only-child .sol-content {
  margin-left: 0;
  margin-right: 0;
}

.sdwaniiot_sol .sol-content a {
  text-decoration: none;
}

.sdwaniiot_sol .sol-content a:hover {
  opacity: 0.8;
}

.sdwaniiot_sol .sol-content h4 {
  font-size: clamp(17px, 2.6vw, 24px);
  font-weight: bold;
  color: #000;
  margin-top: 30px;
  letter-spacing: -0.03em;
}

.sdwaniiot_sol .sol-content img {
  max-width: 100%;
  width: 100%;
}

.sdwaniiot_sol .sol-content h4::before {
  text-align: center;
  font-family: "Font Awesome 5 Free";
  content: "\f45c";
  font-weight: bold;
  color: #ffb81c;
  margin-right: 10px;
}

.sdwaniiot_sol .sol-content p {
  font-size: clamp(14px, 2.6vw, 16px);
  color: #4e4e4e;
  height: 65px;
}

.sdwaniiot_sol .sd-banner {
  background-color: #ffe3a5;
  width: 100%;
  margin-top: 150px;
  margin-bottom: 120px !important;
  height: 250px;
}

.sdwaniiot_sol .sd-banner .sd-banner-text {
  display: inline-block;
  margin-top: 15px;
  margin-left: 20px;
  margin-right: -60px;
}

.sdwaniiot_sol .sd-banner h3 {
  font-size: clamp(24px, 2.6vw, 38px);
  font-weight: bold;
  color: #000;
}

.sdwaniiot_sol .sd-banner p {
  font-size: clamp(14px, 2.6vw, 18px);
  letter-spacing: -0.03em;
  margin-bottom: 25px;
  color: #353535;
}

.sdwaniiot_sol .sd-banner img {
  max-width: 120%;
  position: relative;
  top: -70px;
}

.sdwaniiot_sol .sd-banner .btn--banner {
  color: #fff;
  background-color: #ffa704;
  border-bottom: 5px solid #eb7e01;
  border-color: #f0a608;
  width: 300px;
  height: 46px;
  line-height: 1.4;
  font-size: clamp(16px, 2.6vw, 22px);
  border-radius: 0;
}

.sdwaniiot_sol .sd-banner .btn--banner:hover {
  border-bottom: 2px solid rgb(223, 154, 5);
  box-shadow: none;
  transform: translateY(5px);
}

/* TECH */
#TECH .container .other-features-list {
  display: flex;
  justify-content: center;
  padding: 0px !important;
  flex-wrap: wrap;
}

#TECH .container .other-features-list li {
  list-style: none;
  align-items: center;
  flex-flow: wrap;
  width: 415px;
  height: 390px;
  display: flex;
  flex-direction: column;
  box-shadow: 0px 3px 6px 0px #cecece;
  /* 影指定 */

}

#TECH .container .other-features-list .list-gray {
  background-color: rgb(243, 243, 243);
}

#TECH .container .other-features-list .list-yellow {
  background-color: rgb(255, 246, 200);
}

#TECH .container .other-features-list li .logo {
  width: 20%;
  margin-top: 40px;
}

#TECH .container .other-features-list li h4 {
  font-size: clamp(18px, 2.6vw, 26px);
  font-weight: 550;
  line-height: 30px;
  text-align: center;
  margin: 20px auto 5px;
}

#TECH .container .other-features-list li img {
  width: 100%;
  height: auto;
}

#TECH .container .other-features-list li p {
  font-size: clamp(14px, 2.6vw, 18px);
  width: 330px;
  margin: 10px auto;
  line-height: 1.4;
  letter-spacing: 0px;
}

.sdwaniiot_sol .btn--orange {
  color: #fff;
  background-color: #ffa704;
  border-bottom: 5px solid #eba101;
  border-color: #f0a608;
  width: 160px;
  height: 36px;
  line-height: 24px;
  font-size: 15px;
  margin-top: auto;
  margin-bottom: 30px;
}

.sdwaniiot_sol .btn--orange:hover {
  border-bottom: 2px solid #f0a608;
  box-shadow: none;
  transform: translateY(5px);
}

.sdwaniiot_sol .btn--shadow {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}

#TECH .sd-tech2 {
  background-color: rgb(231, 231, 231);
  margin: 140px auto;
  padding: 60px 0;
  text-align: center;
}

#TECH .sd-tech2 h4 {
  font-size: clamp(16px, 2.6vw, 28px);
  line-height: 1.5;
  color: #000;
}

#TECH .sd-tech2 img {
  margin: 20px auto;
  max-width: 100%;
}

#TECH .sd-tech3 {
  width: 100%;
  margin-bottom: 180px;
}

#TECH .sd-tech3 h3 {
  margin: 0px auto 30px;
  font-size: clamp(28px, 2.6vw, 36px);
}

#TECH .tech-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  width: 100%;
  height: 0;
  overflow: hidden;
}

#TECH .tech-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#TECH .tech-info {
  padding: 0 60px;
}

#TECH .tech-info h4 {
  text-decoration: underline;
  margin-top: 25px;
  line-height: 2.8ch;
  color: #555;
  font-weight: bold;
  font-size: clamp(16px, 2.6vw, 20px);
}

#TECH .tech-info p {
  color: rgb(54, 54, 54);
  line-height: 25px;
  width: auto;
  font-size: 16px;
}



@media only screen and (max-width: 1080px) {
  .sdwaniiot_sol .sd-top {
    height: 80%;
  }

  .sdwaniiot_sol .sd-top .sd-top-left {
    position: relative;
    width: 100%;
    /* text-align: center; */
  }

  .sdwaniiot_sol .sd-top .sd-top-left img {
    max-width: 50%;
  }

  .sdwaniiot_sol .top-img {
    top: 60px;
    left: -160px;
  }

  .sdwaniiot_sol #SD-PAGENAVI ul {
    justify-content: space-between;
  }

  .sdwaniiot_sol .sd-header {
    margin: 20px auto;
  }

  .sdwaniiot_sol .sol-content {
    margin: 20px auto 30px;
  }

  #TECH .tech-info {
    padding: 0 30px;
  }
}

@media only screen and (max-width: 920px) {
  .sdwaniiot_sol .sd-top {
    height: 200%;
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
  }

  .sdwaniiot_sol .sd-top-wrap {
    flex-flow: column;
    margin-top: -40px;
  }

  .sdwaniiot_sol .top-img {
    width: auto;
    max-width: 100%;
    height: auto;
    left: 0;
    margin-bottom: 80px;
  }

  .sdwaniiot_sol .sd-top h1 {
    margin: 10px auto;
    line-height: 1.5;
    white-space: pre-line;
  }

  .sdwaniiot_sol .sd-top p {
    white-space: pre-line;
    margin-bottom: 40px;
  }

  .sdwaniiot_sol .sd-top p br {
    display: none;
  }

  .sdwaniiot_sol .sd-banner {
    margin-top: 50px;
    margin-bottom: 80px !important;
    height: auto;
  }

  .sdwaniiot_sol .sd-banner .sd-banner-text {
    display: inline-block;
    margin-top: 15px;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
  }

  .sdwaniiot_sol .sd-banner img {
    max-width: 120%;
    position: relative;
    top: 0px;
  }

  .sdwaniiot_sol .sd-banner .btn--banner {
    max-width: 100%;
    width: 100%;
    height: 50%;
    margin-bottom: 20px;
  }

  #TECH .container .other-features-list li {
    width: 360px;
    height: 360px;
  }

  .sdwaniiot_sol .btn--orange {
    margin-top: 20px;
    margin-bottom: 30px;
  }

  #TECH .sd-tech2 {
    margin: 80px auto;
    padding: 30px 0;
  }

  #TECH .sd-tech2 h4 br {
    display: none;
  }

  #TECH .sd-tech2 img {
    margin: 10px auto;
  }
}

@media only screen and (max-width: 768px) {
  .sdwaniiot_sol .sol-content p {
    height: auto;
  }

  .sdwaniiot_sol .sd-banner {
    text-align: center;
  }

  .sdwaniiot_sol .sd-banner br {
    display: none;
  }

  .sdwaniiot_sol .sd-banner h3 {
    line-height: 32px;
  }

  .sdwaniiot_sol .sd-banner p {
    line-height: 24px;
  }

  #TECH .tech-info {
    margin-top: 40px;
  }

  #TECH .sd-tech3 {
    margin-bottom: 50px;
  }

  #TECH .sd-tech3 h3 {
    margin-bottom: 0px;
    font-size: 20px;
  }

}


/* FAQ */
#FAQ .cp_qa *,
#FAQ .cp_qa *:after,
#FAQ .cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#FAQ .cp_qa .cp_actab {
  padding: 20px 0;
  border-bottom: 1px dotted #cccccc;
}

#FAQ .cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}

/* 質問 */
#FAQ .cp_qa .cp_actab label {
  font-weight: bold;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
}

#FAQ .cp_qa .cp_actab label::before {
  font-family: serif;
  font-size: 1.5em;
  margin-left: -2em;
  padding-right: 0.5em;
  content: 'Q';
}

#FAQ .cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #809b14;
}

/* --質問の＋アイコン */
#FAQ .cp_qa .cp_actab label::after {
  font-size: 1.6em;
  font-weight: bold;
  line-height: 2.5em;
  position: absolute;
  top: 0;
  right: 0;
  content: '+';
  display: inline-block;
  width: 2em;
  height: 2.5em;
  -webkit-transition: transform 0.4s;
  transition: transform 0.4s;
}

/* 答え */
#FAQ .cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 0 0 2.5em;
  /* -webkit-transition: max-height 0.2s;
  transition: max-height 0.2s; */
  border-radius: 0 0 0.5em 0.5em;
}

#FAQ .cp_qa .cp_actab .cp_actab-content::before {
  font-family: serif;
  position: absolute;
  margin: 0.4em 0 0 -1em;
  padding: 0;
}

#FAQ .cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0.4em;
  font-size: clamp(15px, 1.2vw, 18px);
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
#FAQ .cp_qa .cp_actab input:checked~.cp_actab-content {
  max-height: 60em;
}

#FAQ .cp_qa .cp_actab input:checked~.cp_actab-content p {
  line-height: 1.8em;
}

/* 質問をクリックした時のアイコンの動き */
#FAQ .cp_qa .cp_actab input:checked~label {
  color: #809b14;
  border-radius: 0.5em 0.5em 0 0;
}

/* 質問をクリックした時の+の動き */
#FAQ .cp_qa .cp_actab input[type=checkbox]:checked+label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

/* FAQ分類 */
#FAQ .tab-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  vertical-align: middle;
}

#FAQ .tab-switch {
  display: none;
}

#FAQ .tab-switch:checked+.tab-label {
  background: #408890;
  color: white;
}

#FAQ .tab-switch:checked+.tab-label+.tab-content {
  display: block;
}

#FAQ .tab-label {
  color: rgb(143, 143, 143);
  background: #eee;
  width: 260px;
  height: 50px;
  text-align: center;
  order: -1;
  font-size: 16px;
  line-height: 50px;
  margin-bottom: 40px;
  margin-top: -70px;
}

#FAQ .tab-content {
  width: 81%;
  display: none;
}

#FAQ .btn--green {
  color: #fff;
  background-color: #408890;
  border-bottom: 5px solid #417077;
  border-color: #417077;
  line-height: 42px;
  width: 240px;
  height: 55px;
  font-size: 15px;
  text-decoration: none;
}

#FAQ .btn--green:hover {
  border-bottom: 2px solid #417077;
  box-shadow: none;
  transform: translateY(5px);
}

#FAQ .btn--green span {
  font-size: 18px;
}

@media screen and (max-width: 566px) {
  #FAQ .cp_qa .cp_actab .cp_actab-content {
    padding: 0;
  }

  #FAQ .tab-label {
    width: 365px;
    height: 50px;
    margin-top: -38px;
  }
}

@media screen and (max-width: 720px) {
  #CONTACT .product-choose {
    /* margin-bottom: 30px; */
    height: auto;
  }

  #FAQ .tab-content {
    width: 100%;
  }

  #FAQ .cp_qa .cp_actab label {
    padding: 1em 2.5em 1em 2.5em;
  }
}

/* sdwaniiot_sol ここまで */


/* pep202103_sol ここから
-------------------------------------------------- */
#SOLUTION.online-meeting #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.online-meeting #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.online-meeting .title-banner img {
  width: 100%;
}

#SOLUTION.online-meeting .summary p {
  width: 80%;
  margin: 0 auto;
  text-align: center;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 2;
  font-weight: bold;
}

#SOLUTION.online-meeting .merit-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.online-meeting .merit-list>li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
  margin: 20px 20px;
}

#SOLUTION.online-meeting .merit-list>li .header {
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.online-meeting .merit-list>li .header h3 {
  line-height: 140%;
  margin: 0;
  padding: 0;
}

#SOLUTION.online-meeting .merit-list>li .header h3 .sub {
  font-size: 60%;
}

#SOLUTION.online-meeting .merit-list>li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
  text-align: center;
}

#SOLUTION.online-meeting .merit-list>li .text p {
  margin-top: 15px;
  font-size: 20px;
  line-height: 1.7;
  font-weight: bold;
  letter-spacing: 1px;
}

#SOLUTION.online-meeting .merit-list>li .text .ph {
  text-align: center;
  margin-bottom: 15px;
}

#SOLUTION.online-meeting h2.header {
  color: #FFF;
  background-color: #93B119;
  font-size: 34px;
  line-height: 60%;
  padding: 1.5em;
  text-align: center;
  margin-bottom: 2em;
  font-weight: bold;
  letter-spacing: 4px;
}

#SOLUTION.online-meeting .row {
  padding-bottom: 40px;
}

#SOLUTION.online-meeting .row .info-img {
  float: left;
  width: 30%;
}

#SOLUTION.online-meeting .img {
  width: 100%;
  margin-left: 180px;
}

#SOLUTION.online-meeting .row .info-text {
  display: inline-block;
  float: right;
  font-size: 24px;
  line-height: 46px;
  text-align: center;
  margin: auto 0;
  padding: 80px 100px 0 0;
  width: 55%;
  font-weight: bold;
}

#SOLUTION.online-meeting .fig img {
  width: 60%;
  display: block;
  margin: auto;
}

#SOLUTION.online-meeting .container-wrap .product-container {
  width: 90%;
  display: block;
  margin: auto;
}

#SOLUTION.online-meeting .container-wrap .text-info img {
  width: 200px;
  padding-bottom: 20px;
  display: block;
  margin: 0 auto;
}

#SOLUTION.online-meeting .container-wrap .text-info .list li {
  width: 100%;
  margin-left: 15px;
  font-size: 16px;
  text-align: left;
  font-weight: bold;
}

#SOLUTION.online-meeting .container-wrap .btn-area {
  margin: 20px auto;
}

#SOLUTION.online-meeting .container-wrap .text-info p {
  width: 58%;
  margin: 0 auto;
  font-size: 18px;
  line-height: 2;
  text-align: left;
}

#SOLUTION.online-meeting #VIDEO p {
  width: 720px;
  text-align: left;
  margin: 0 auto;
  font-size: 16px;
  line-height: 2;
  margin-bottom: 40px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.online-meeting .merit-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.online-meeting .merit-list>li {
    display: flex;
    flex-direction: column;
    width: 38%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.online-meeting .merit-list>li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }

  #SOLUTION.online-meeting .arrow-right-yellow {
    width: 60px;
    height: 50px;
    margin: auto 0;
  }

  #VIDEO iframe {
    width: 720px;
    margin: auto;
  }
}

@media only screen and (max-width: 992px) {
  #SOLUTION.online-meeting .arrow-right-yellow {
    width: 50px;
    height: 40px;
    margin: 0 auto;
    -ms-transform: rotate(90deg);
    /* IE 9 */
    -webkit-transform: rotate(90deg);
    /* Safari and Chrome */
    transform: rotate(90deg);
  }

  #SOLUTION.online-meeting .fig img {
    width: 85%;
    display: block;
    margin: auto;
  }

  #SOLUTION.online-meeting #VIDEO p {
    width: 100%;
    margin: 0 auto;
    font-size: 18px;
    line-height: 2;
    text-align: left;
  }

  #VIDEO iframe {
    width: 100%;
    margin: auto;
  }
}

@media only screen and (max-width: 768px) {
  #SOLUTION.online-meeting h2.header {
    font-size: 27px;
    line-height: 2;
    padding: 1.5em;
    text-align: center;
    margin: 0 auto;
  }

  #SOLUTION.online-meeting .row .info-img {
    float: none;
    width: 60%;
    display: block;
    margin: auto;
  }

  #SOLUTION.online-meeting .img {
    display: block;
    margin: auto;
  }

  #SOLUTION.online-meeting .row .info-text {
    float: none !important;
    width: 90%;
    font-size: 16px;
    text-align: center;
    line-height: 30px;
    display: block;
    margin: auto;
    padding: 0 20px 50px 20px;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1216px) {
  #SOLUTION.online-meeting .row .info-img {
    width: 800px;
    float: none;
    display: block;
    margin: 0 auto;
    padding-right: 340px;
  }

  #SOLUTION.online-meeting .row .info-text {
    float: none !important;
    margin-left: 60px;
    width: 100%;
    margin-top: -70px;
  }
}

#SOLUTION.online-meeting #PEPLINK {
  border-top: 1px dotted #ccc;
  padding: 1em 0 0;
}

#SOLUTION.online-meeting #PEPLINK ul {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.online-meeting #PEPLINK ul li ul {
  display: block;
  list-style-type: disc;
  margin-left: 2.3em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.online-meeting #PEPLINK ul {
    flex-direction: row;
  }

  #SOLUTION.online-meeting #PEPLINK ul li.logo {
    width: 165px;
  }

  #SOLUTION.online-meeting #PEPLINK ul li.logo img {
    width: 100%;
    height: auto;
  }

  #SOLUTION.online-meeting #PEPLINK ul li.text {
    width: calc(100% - 175px);
  }
}

/* pep202103_sol ここまで */

#SOLUTION #PAGE-HEADER {
  width: 100%;
  margin: 0;
  padding: 10px 0;
}

#SOLUTION #PAGE-HEADER .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#SOLUTION #PAGE-HEADER .icon {
  width: 80px;
  height: 80px;
  margin-bottom: 15px;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 80px 80px;
}

#SOLUTION #PAGE-HEADER h1 {
  color: #fff;
  font-size: 16px;
  margin-top: 0;
  text-align: center;
}

#SOLUTION #PAGE-HEADER p {
  color: #fff;
  line-height: 130%;
  font-size: 12px;
  margin-bottom: 0;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #PAGE-HEADER {
    padding: 0;
  }

  #SOLUTION #PAGE-HEADER .container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 160px;
  }

  #SOLUTION #PAGE-HEADER .icon {
    width: 100px;
    height: 100%;
    margin-right: 15px;
    background-position: center left;
    background-repeat: no-repeat;
    background-size: 100px 100px;
  }

  #SOLUTION #PAGE-HEADER h1 {
    font-size: 20px;
    text-align: left;
  }
}

@media only screen and (min-width: 1200px) {
  #SOLUTION #PAGE-HEADER h1 {
    font-size: 36px;
  }

  #SOLUTION #PAGE-HEADER p {
    font-size: 16px;
  }
}

@media only screen and (min-width: 768px) {
  #SOLUTION #PAGE-HEADER h1 {
    font-size: 30px;
  }

}

@media only screen and (max-width: 768px) {
  #SOLUTION #PAGE-HEADER h1 {
    font-size: 24px;
  }

  #SOLUTION #FV .top-text h3 {
    font-size: 19px !important;
  }
}

#SOLUTION #SITENAVI {
  margin: 0.5em 1em 0;
  padding-bottom: 1em;
}

#SOLUTION #SITENAVI ul {
  margin: 0;
  padding: 0;
}

#SOLUTION #SITENAVI ul li {
  display: inline;
  font-size: 12px;
}

#SOLUTION #SITENAVI ul li::after {
  content: ">";
  margin-left: 0.3em;
}

#SOLUTION #SITENAVI ul li:last-child::after {
  content: none;
  margin-left: 0;
}

@media only screen and (min-width: 768px) {
  #SOLUTION #SITENAVI {
    margin: 0.5em auto;
  }
}

#SOLUTION #PAGENAVI {
  visibility: hidden;
  background-color: rgba(255, 255, 255, 0.7);
  width: 100%;
  z-index: 500;
  transition: 0.6s ease;
}

#SOLUTION #PAGENAVI ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  flex-flow: wrap;
  width: auto;
}

/* #SOLUTION #PAGENAVI ul .pagenavi-height{
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: 60 auto;
  padding: 0;
  flex-flow: wrap;
  width: auto;
} */

#SOLUTION #PAGENAVI ul li {
  width: 30%;
  margin: 5px 2px;
}

#SOLUTION #PAGENAVI ul li a {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: block;
  text-align: center;
  position: relative;
  padding: 1em 0 0.5em;
  border: 1px solid #E5E5E5;
  text-decoration: none;
  transition: 0.3s ease;
  color: #000;
  background-color: #FFF;
  font-size: 8px;
}

#SOLUTION #PAGENAVI ul li a::after {
  display: block;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: bold;
  color: #93B119;
}

#SOLUTION #PAGENAVI ul li a:hover {
  box-shadow: none;
  background-color: #93B119;
  color: #FFF;
}

#SOLUTION #PAGENAVI ul li a:hover::after {
  color: inherit;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #PAGENAVI ul {
    width: 90%;
    flex-flow: nowrap;
  }

  #SOLUTION #PAGENAVI ul li {
    width: 20%;
    margin: 10px;
  }

  #SOLUTION #PAGENAVI ul li a {
    font-size: 14px;
    line-height: 16px;
  }
}

#SOLUTION #PAGENAVI.visible {
  visibility: visible;
}

#SOLUTION #PAGENAVI.fixed {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
}


/* 20210318(始)
-------------------------------------------------- */
#SOLUTION #PAGENAVI2 {
  /* position: -webkit-sticky; */
  position: sticky;
  visibility: hidden;
  background-color: rgba(255, 255, 255, 0.7);
  width: 100%;
  z-index: 500;
  transition: 0.6s ease;
}

#SOLUTION #PAGENAVI2 .container {
  padding-top: 0;
}

#SOLUTION #PAGENAVI2 ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  flex-flow: wrap;
  width: auto;
}

#SOLUTION #PAGENAVI2 ul li {
  width: 30%;
  margin: 5px 2px;
}

#SOLUTION #PAGENAVI2 ul li a {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
  display: block;
  text-align: center;
  position: relative;
  padding: 1em 0 0.5em;
  border: 1px solid #E5E5E5;
  text-decoration: none;
  transition: 0.3s ease;
  color: #000;
  background-color: #FFF;
  font-size: 8px;
}

#SOLUTION #PAGENAVI2 ul li a::after {
  display: block;
  text-align: center;
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: bold;
  color: #93B119;
}

#SOLUTION #PAGENAVI2 ul li a:hover {
  box-shadow: none;
  background-color: #93B119;
  color: #FFF;
}

#SOLUTION #PAGENAVI2 ul li a:hover::after {
  color: inherit;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #PAGENAVI2 ul {
    width: 90%;
    flex-flow: nowrap;
  }

  #SOLUTION #PAGENAVI2 ul li {
    width: 20%;
    margin: 15px;
  }

  #SOLUTION #PAGENAVI2 ul li a {
    font-size: 14px;
  }
}

#SOLUTION #PAGENAVI2.visible {
  visibility: visible;
}

#SOLUTION #PAGENAVI2.fixed {
  position: fixed;
  /* width: 100%; */
  top: 0px;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
}

/* 20210318(終) */

#SOLUTION #FV p {
  float: right;
  font-size: 26px;
  font-weight: bold;
  width: 56%;
  padding: 100px 0 0;
}

#SOLUTION #FV p span {
  background: linear-gradient(rgba(255, 200, 84, 0)60%, rgba(255, 200, 0, 1)60%, rgba(255, 200, 0, 1));
}

@media only screen and (max-width: 768px) {
  #SOLUTION #FV p {
    float: none !important;
    font-size: 20px;
    font-weight: bold;
    padding: 20px 0;
    width: 100%;
  }
}

#SOLUTION #FV .top-text h3 {
  font-size: 36px;
  text-align: center;
  line-height: 160%;
  margin-bottom: 1.5em;
}

#SOLUTION #FV .img {
  float: left;
  width: 44%;
}

@media only screen and (max-width: 768px) {
  #SOLUTION #FV .img {
    float: none;
    width: 100%;
  }
}

#SOLUTION #FV .img img {
  width: 100%;
}

#SOLUTION #FV .img-text {
  /*親div*/
  position: relative;
  /*相対配置*/
  text-align: center;
  margin-top: 50px;
}

#SOLUTION #FV .img-text .UBR-LTE {
  position: absolute;
  width: 20%;
  color: white;
  font-size: 30px;
  top: 59%;
  left: 29%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}

#SOLUTION #FV .img-text .MAX-Transit {
  position: absolute;
  /*絶対配置*/
  width: 20%;
  color: white;
  /*文字は白に*/
  font-size: 24px;
  top: 81.2%;
  left: 30%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}

#SOLUTION #FV .img-text .MAX-HD2-mini {
  position: absolute;
  /*絶対配置*/
  width: 20%;
  color: white;
  /*文字は白に*/
  font-size: 24px;
  top: 81.2%;
  left: 59%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}

#SOLUTION #FV .img-text img {
  margin-top: 50px;
  width: 60%;
}

@media only screen and (max-width: 768px) {
  #SOLUTION #FV .img-text img {
    width: 100%;
    margin-top: 0;
  }
}

@media only screen and (min-width: 769px) and (max-width: 1056px) {
  #SOLUTION #FV .img-text {
    clear: both;
  }

  #SOLUTION #FV .img-text img {
    width: 100%;
    margin: 8% 0 0;
  }

  #SOLUTION #FV .img-text .UBR-LTE {
    font-size: 4vw;
    top: 46.3%;
    left: 15%;
  }

  #SOLUTION #FV .img-text .MAX-Transit {
    width: 40%;
    font-size: 3vw;
    top: 75.2%;
    left: 15%;
  }

  #SOLUTION #FV .img-text .MAX-HD2-mini {
    width: 40%;
    font-size: 3vw;
    top: 75.2%;
    left: 63%;
  }
}

@media only screen and (max-width: 768px) {
  #SOLUTION #FV .img-text .UBR-LTE {
    width: 100%;
    font-size: 4vw;
    top: 43.4%;
    left: 50%;
  }

  #SOLUTION #FV .img-text .MAX-Transit {
    width: 50%;
    font-size: 3vw;
    top: 73.9%;
    left: 18%;
  }

  #SOLUTION #FV .img-text .MAX-HD2-mini {
    width: 50%;
    font-size: 3vw;
    top: 73.9%;
    left: 67%;
  }
}

#SOLUTION .subpage {
  margin: 2em auto;
}

#SOLUTION .subpage ul {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION .subpage ul li {
  text-align: center;
  margin-bottom: 0.5em;
}

#SOLUTION .subpage ul li a {
  display: block;
  padding: 0.5em;
  position: relative;
  border-radius: 6px;
  color: #FFF;
  background-color: #048FA2;
  transition: 0.3s ease;
  font-size: 12px;
}

#SOLUTION .subpage ul li a::after {
  position: absolute;
  top: 50%;
  right: 0.5em;
  margin-top: -0.5em;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-weight: bold;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 24px;
}

#SOLUTION .subpage ul li a:hover {
  text-decoration: none;
  opacity: 0.6;
}

#SOLUTION .subpage ul li.active a {
  background-color: #036370;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .subpage {
    width: 60%;
  }

  #SOLUTION .subpage ul {
    flex-direction: row;
  }

  #SOLUTION .subpage ul li {
    width: 48%;
  }

  #SOLUTION .subpage ul li a {
    font-size: 14px;
  }
}

#SOLUTION .container-wrap {
  margin-bottom: 60px;
}

#SOLUTION .section+.section {
  margin-top: 40px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .section+.section {
    margin-top: 80px;
  }
}

#SOLUTION h2.header {
  color: #FFF;
  background-color: #93B119;
  font-size: 24px;
  line-height: 160%;
  padding: 1.5em;
  text-align: center;
  margin-bottom: 2em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #FV h2.header {
    font-size: 34px;
    font-weight: bold;
    padding: 0;
    margin-bottom: 0;
  }
}

@media only screen and (max-width: 448px) {
  #SOLUTION h2.header {
    font-size: 16px;
  }
}

#SOLUTION .ttl01 {
  font-size: 36px;
  text-align: center;
  line-height: 160%;
  margin-bottom: 1.5em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .ttl01 {
    font-size: 36px;
  }
}

@media only screen and (max-width: 414px) {
  #SOLUTION .ttl01 {
    font-size: 25px;
    line-height: 35px;
  }
}

#SOLUTION .ttl02 {
  font-size: 16px;
  text-align: center;
  margin: 1.5em 0 1em;
  color: #182987;
}

#SOLUTION .ttl02 .inner {
  display: block;
  position: relative;
  z-index: 0;
}

#SOLUTION .ttl02 .inner::before {
  content: '';
  background-color: #182987;
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}

#SOLUTION .ttl02 .text {
  background-color: #FFF;
  padding: 0 0.5em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .ttl02 {
    font-size: 24px;
    margin: 1.5em 0 1em;
  }

  #SOLUTION .ttl02 .inner {
    display: inline-block;
    padding: 0 3em;
  }

  #SOLUTION .ttl02 .text {
    background-color: #FFF;
    padding: 0 0.5em;
  }
}

#SOLUTION .ttl03 {
  font-size: clamp(20px, 3vw, 24px);
  font-weight: bold;
}

#SOLUTION .ttl04 {
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  background-color: #E5E5E5;
  color: #333;
  border-radius: 10px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .ttl04 {
    font-size: 24px;
  }
}

#SOLUTION .catch {
  font-size: 16px;
  font-weight: bold;
  line-height: 180%;
}

#SOLUTION .catch.arrow {
  padding-top: 24px;
  position: relative;
}

#SOLUTION .catch.arrow::before {
  display: inline-block;
  content: "";
  width: 60px;
  height: 30px;
  position: absolute;
  top: 5px;
  left: 50%;
  margin-left: -30px;
  border-top: 15px solid #FBAF33;
  border-bottom: 0px solid transparent;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .catch {
    font-size: 30px;
  }

  #SOLUTION .catch.arrow {
    padding-top: 60px;
    position: relative;
  }

  #SOLUTION .catch.arrow::before {
    display: inline-block;
    content: "";
    width: 120px;
    height: 60px;
    position: absolute;
    top: 20px;
    left: 50%;
    margin-left: -60px;
    border-top: 30px solid #FBAF33;
    border-bottom: 0px solid transparent;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
  }
}

#SOLUTION .lead {
  font-size: 16px;
  line-height: 180%;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .lead {
    font-size: 18px;
  }
}

#SOLUTION .caption {
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 1.5em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .caption {
    font-size: 16px;
  }
}

#SOLUTION .video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56%;
  margin-bottom: 1em;
}

#SOLUTION .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#SOLUTION .video_two {
  position: relative;
  width: 120%;
  height: 0;
  padding-top: 56%;
  margin-bottom: 1em;
}

#SOLUTION .video_two iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 120%;
}

#SOLUTION .list {
  padding: 0 0 0 1.5em;
}

#SOLUTION .list li {
  margin: 0;
  padding: 0;
  text-indent: -1.3em;
  list-style-type: none;
}

#SOLUTION .icon-list>#usecase {
  border: none;
}

#SOLUTION .icon-list>#usecase h3 {
  text-align: center;
}

#SOLUTION .list li::before {
  content: "●";
  color: #048FA2;
  margin-right: 0.3em;
}

#SOLUTION .list li+li {
  margin-top: 0.5em;
}

#SOLUTION .icon-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION .icon-list>li {
  border: 1px solid #CCC;
  padding: 10px 10px;
  margin-bottom: 1em;
}

#SOLUTION .icon-list>li .icon-area {
  padding: 10px;
  height: 60px;
  background-position: center 15px;
  background-repeat: no-repeat;
  background-size: 50px auto;
}

#SOLUTION .icon-list>li .text {
  padding: 10px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .icon-list {
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION .icon-list>li {
    width: 48%;
    display: flex;
    border-radius: 10px;
  }

  #SOLUTION .icon-list>#usecase {
    border: none;
  }

  #SOLUTION .icon-list>#usecase .icon-area {
    margin-top: 15%;
  }

  #SOLUTION .icon-list>#usecase h3 {
    border: none;
    font-size: 24px;
    margin-top: 22%;
    margin-left: -48%;
  }

  #SOLUTION .icon-list>li .icon-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 15%;
    height: 100%;
  }

  #SOLUTION .icon-list>li .text {
    display: flex;
    flex-direction: column;
    text-align: left;
    align-items: center;
    width: 85%;
    padding: 10px;
  }

  #SOLUTION .icon-list>li .text h3 {
    width: 100%;
    padding: 0 0 0.5em 0;
    margin: 0;
  }

  #SOLUTION .icon-list>li .text ul {
    width: 100%;
  }
}

#SOLUTION .movie-text {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION .movie-text>li {
  border: none;
  padding: 10px 10px;
  margin-bottom: 1em;
}

#SOLUTION .movie-text>li .icon-area {
  padding: 10px;
  height: 60px;
  background-position: center 15px;
  background-repeat: no-repeat;
  background-size: 50px auto;
}

#SOLUTION .movie-text>li .text {
  padding: 10px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .movie-text {
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION .movie-text>li {
    width: 48%;
    display: flex;
    border-radius: 10px;
  }

  #SOLUTION .movie-text>li .icon-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 15%;
    height: 100%;
  }

  #SOLUTION .movie-text>li .text {
    display: flex;
    flex-direction: column;
    text-align: left;
    width: 100%;
    padding: 10px;
  }

  #SOLUTION .movie-text>li .text h3 {
    width: 100%;
    line-height: 1.35;
    padding: 0 0 0.5em 0;
    margin: 0;
  }

  #SOLUTION .movie-text>li .text p {
    width: 100%;
    font-size: 14px;
    line-height: 1.8;
    padding: 0 0 0.5em 0;
    margin: 0;
  }

  #SOLUTION .movie-text>li .text ul {
    width: 100%;
  }
}

#TEST .text {
  width: 100%;
  margin: auto;
  padding: auto;
}

#TEST .text p {
  font-size: 16px;
  line-height: 2;
}

#TEST .text h4 {
  text-align: center;
  font-size: 32px;
  line-height: 2;
}

#TEST .text h4 {
  text-align: center;
  font-size: 32px;
  line-height: 2;
}

#TEST .product-btn-position {
  margin-bottom: 20px;
}

#TEST iframe {
  width: 720px;
}

@media only screen and (min-width: 992px) {
  #TEST .text {
    width: 720px;
    margin: auto;
  }

  .text .pull-left {
    margin-left: -2%;
  }

  .text .pull-right {
    margin-right: -2%;
  }
}

@media only screen and (max-width: 992px) {
  #TEST iframe {
    width: 100%;
    margin: auto;
  }
}



#SOLUTION #OTHER_SOL {
  padding: 30px 0;
  background-color: #e5e5e5;
}

#SOLUTION #OTHER_SOL h3 {
  text-align: center;
  margin-bottom: 1em;
}

#SOLUTION #OTHER_SOL ul li {
  margin-bottom: 30px;
  padding: 20px;
  position: relative;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 60px 60px;
  text-align: center;
  border-radius: 0 0 30px 0;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  display: flex;
  background-color: #fff;
  cursor: pointer;
}

#SOLUTION #OTHER_SOL ul li:hover {
  opacity: 0.6;
}

#SOLUTION #OTHER_SOL ul li:last-child {
  margin-right: 0;
}

#SOLUTION #OTHER_SOL ul li h4 {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 12px;
  line-height: 140%;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 0 1.5em;
}

#SOLUTION #OTHER_SOL ul li h4::after {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.5em;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 36px;
  color: #93B119;
}

#SOLUTION #OTHER_SOL ul li a {
  color: #000;
}

#SOLUTION #OTHER_SOL ul li a:hover {
  text-decoration: none;
}

@media print,
screen and (min-width: 992px) {
  #SOLUTION #OTHER_SOL ul {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
  }

  #SOLUTION #OTHER_SOL ul li {
    width: 23%;
    padding: 10px;
  }

  #SOLUTION #OTHER_SOL ul li h4 {
    font-size: 12px;
  }
}

/* 共通 リニューアル　PAGENAVIここから*/
.whitebox .sol-pagenavi {
  width: 100%;
  margin-bottom: 90px;
}

.whitebox .sol-pagenavi ul {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 2em;
  list-style: none;
  padding: 0;
  margin: 0;
}

.whitebox .sol-pagenavi ul li {
  width: 350px;
  margin: 5px 0;
  text-align: center;
  border: 2px solid #3E967F;
  border-radius: 10px;
}

.whitebox .sol-pagenavi ul li a {
  display: block;
  text-decoration: none;
  font-size: clamp(14px, 3vw, 18px);
  color: #000;
  padding: 10px;
  border-radius: 5px;
}

.whitebox .sol-pagenavi ul li a::after {
  position: absolute;
  content: "\f0d7";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 8px;
}

@media screen and (max-width: 860px) {
  .whitebox .sol-pagenavi {
    margin-bottom: 60px;
  }

  .whitebox .sol-pagenavi ul {
    gap: 1em;
  }

  .whitebox .sol-pagenavi ul li {
    width: 280px;
    margin: 2px 0;
  }

  .whitebox .sol-pagenavi ul li a {
    padding: 6px;
  }
}

/* 共通 リニューアル　PAGENAVIここまで*/

/* 共通　リニューアル　背景・課題　ここから */
#SOLUTION .section-wrap {
  padding: 40px 0px 60px;
}

#SOLUTION .ttl-wrap {
  text-align: center;
  color: #000;
  margin-bottom: -30px;
}

#SOLUTION .ttl-wrap p {
  font-size: clamp(14px, 3vw, 18px);
}

#SOLUTION .ttl {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: bold;
  text-align: center;
  line-height: 46px;
  margin-bottom: 20px;
}

#SOLUTION #SOL .ttl,
#SOLUTION #REASON .ttl {
  color: #058D69;
}

@media screen and (max-width: 768px) {
  #SOLUTION .ttl {
    line-height: 28px;
  }
}

#SOLUTION #BG {
  background-color: #F2F2F2;
}

#SOLUTION #BG .content-wrap {
  display: flex;
}

#SOLUTION #BG .content-wrap .left {
  width: 40%;
}

#SOLUTION #BG .content-wrap .right {
  width: 60%;
}

#SOLUTION #BG .content-wrap .left .img {
  text-align: center;
}

#SOLUTION #BG .content-wrap .left .img img {
  max-width: 100%;
  height: auto;
}

#SOLUTION #BG .content-wrap .tag {
  font-size: clamp(12px, 3vw, 16px);
  background-color: #343434;
  color: white;
  text-align: center;
  width: 131px;
  padding: 4px;
  margin: 0 auto 10px;
  border-radius: 16px;
}

#SOLUTION #BG .content-wrap .arrow_box {
  position: relative;
  width: 100%;
  height: 150px;
  background: #7B7B7B;
  padding: 20px;
  text-align: left;
  color: #FFFFFF;
  font-size: clamp(10px, 3vw, 14px);
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  margin-bottom: 40px;
}

#SOLUTION #BG .content-wrap .arrow_box:after {
  border: solid transparent;
  content: '';
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  border-top-width: 14px;
  border-bottom-width: 14px;
  border-left-width: 46px;
  border-right-width: 46px;
  margin-top: -14px;
  border-right-color: #7B7B7B;
  right: 100%;
  top: 50%;
}

#SOLUTION #BG .content-wrap .arrow_box h3 {
  font-size: clamp(15px, 3vw, 20px);
  text-align: center;
  font-weight: bold;
  margin-top: 10px;
}

@media screen and (max-width: 768px) {
  #SOLUTION .ttl-wrap p {
    text-align: left;
  }

  #SOLUTION #BG .content-wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
  }

  #SOLUTION #BG .content-wrap .left {
    width: 100%;
  }

  #SOLUTION #BG .content-wrap .right {
    width: 100%;
    text-align: center;
    margin-top: 20px;
  }

  #SOLUTION #BG .content-wrap .arrow_box {
    width: 100%;
    height: auto;
    padding: 10px;
  }

  #SOLUTION #BG .content-wrap .arrow_box:after {
    display: none;
  }

  #SOLUTION #BG .content-wrap .left .img {
    text-align: center;
  }

  #SOLUTION #BG .content-wrap .left .img img {
    max-width: 80%;
    height: auto;
  }
}

#SOLUTION #SOL .triangle {
  width: 0;
  height: 0;
  border-left: 120px solid transparent;
  border-right: 120px solid transparent;
  border-top: 50px solid #FFE200;
  margin: 0 auto;
  margin-bottom: 60px;
}

#SOLUTION #SOL .content-wrap {
  border: 6px solid #3E967F;
  border-radius: 74px;
  margin: 40px auto;
  padding: 40px 60px;
}

#SOLUTION #SOL .content-wrap h2 {
  font-size: clamp(18px, 3vw, 30px);
  color: #000;
}

#SOLUTION #SOL .content-wrap .fig img {
  max-width: 100%;
  height: auto;
}

#SOLUTION #SOL .section .catch {
  color: #000;
  font-size: clamp(18px, 3vw, 28px);
  font-weight: normal;
  line-height: 38px;
}

#SOLUTION #SOL .btn-group {
  margin: 60px auto;
  display: flex;
  justify-content: center;
}

#SOLUTION #SOL .btn-group button {
  width: 55%;
}

@media only screen and (max-width: 992px) {
  #SOLUTION #SOL .triangle {
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
    border-top: 40px solid #FFE200;
    margin-bottom: 40px;
  }

  #SOLUTION #SOL .content-wrap {
    border: 4px solid #3E967F;
    border-radius: 30px;
    margin: 40px auto;
    padding: 20px;
  }

  #SOLUTION #SOL .content-wrap h2 {
    line-height: 26px;
  }

  #SOLUTION #SOL .section .catch {
    line-height: 28px;
  }

  #SOLUTION #SOL .section .catch br {
    display: none;
  }

  #SOLUTION #SOL .btn-group {
    margin: 30px auto;
  }

  #SOLUTION #SOL .btn-group button {
    width: 100%;
  }

}

/* 共通　リニューアル　背景・課題　ここまで */
#SOLUTION.whitebox .top-wrap {
  /* background-color: #C9E8DF; */
  background-image: url(/images/solution/whitebox/whitebox_top_bg.png);
  padding-bottom: 90px;
}

#SOLUTION.whitebox .top-wrap .text h1 {
  letter-spacing: -1.2px;
}

#SOLUTION.whitebox .top-wrap .text h1 strong {
  font-size: clamp(22px, 3vw, 44px);
}

#SOLUTION.whitebox .top-wrap .text h1 span {
  background-color: #049069;
  color: white;
  padding: 0px 10px;
  border-radius: 10px;
  line-height: 1.5;
  display: inline-block;
  font-size: clamp(18px, 3vw, 32px);
  vertical-align: middle;
  position: relative;
  top: -0.05em;
}

#SOLUTION.whitebox .top-wrap .btn-group .slash {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 80px;
  color: #000;
}

#SOLUTION.whitebox .top-wrap .btn-group .slash::before,
#SOLUTION.whitebox .top-wrap .btn-group .slash::after {
  content: "";
  width: 25px;
  height: 1px;
  background-color: #000;
  margin: 0px 4px 4px;
}

#SOLUTION.whitebox .top-wrap .btn-group .slash::before {
  transform: rotate(45deg);
}

#SOLUTION.whitebox .top-wrap .btn-group .slash::after {
  transform: rotate(-45deg);
}

#SOLUTION.whitebox .top-wrap .img img {
  max-width: 100%;
  width: 34%;
  height: auto;
  margin-top: 110px;
  padding-right: 20px;
}

#SOLUTION.whitebox .contact-us-btn {
  background-color: #FFE200;
  color: #000;
  font-size: clamp(12px, 2vw, 22px);
  border: none;
  padding: 14px 30px;
  width: 100%;
  border-radius: 50px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2), 0 -4px 5px -2px #9c8003 inset;
}

#SOLUTION.whitebox .contact-us-btn:hover {
  background-image: linear-gradient(45deg, #ffed4c 0%, #ffd000 100%);
}

#SOLUTION.whitebox .content {
  background-color: #02906A;
  padding: 40px 60px;
  color: white;
  margin-bottom: 60px;
}

#SOLUTION.whitebox .content h2 {
  text-align: center;
  margin-bottom: 20px;
}

#SOLUTION.whitebox .content p {
  font-size: clamp(14px, 3vw, 18px);
  line-height: 32px;
}

@media only screen and (max-width: 640px) {
  #SOLUTION.whitebox .banner-wrap .text {
    top: 100px !important;
  }

  #SOLUTION.whitebox .banner-wrap .btn-group {
    margin-top: -50px;
  }

  #SOLUTION.whitebox .banner-wrap .img img {
    width: 60%;
  }

  #SOLUTION.whitebox .content {
    padding: 20px 0px 30px;
    margin-bottom: 40px;
  }

  #SOLUTION.whitebox .content h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  #SOLUTION.whitebox .content p {
    line-height: 26px;
  }
}

#SOLUTION #SOL .solutions .fig {
  text-align: center;
  padding: 0 0 3em;
}

#SOLUTION #SOL .solutions .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #SOL .solutions .fig {
    padding: 0 0 5em;
  }

  #SOLUTION #SOL .solutions .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION #SOL .solution-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION #SOL .solution-list li {
  display: flex;
  flex-direction: column;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
  padding: 20px 20px 10px;
  color: #000;
  box-shadow: 2px 2px 4px rgb(173, 173, 173);
}

#SOLUTION #SOL .solution-list .bg01 {
  background-color: #EBFDFF;
}

#SOLUTION #SOL .solution-list .bg02 {
  background-color: #E3FFF7;
}

#SOLUTION #SOL .solution-list li h3 {
  text-align: center;
  font-size: clamp(16px, 3vw, 22px);
  font-weight: bold;
  line-height: 120%;
  margin: 0 auto 30px;
  padding: 0;
  flex: 1;
  height: 100%;
  min-height: 0%;
}

#SOLUTION #SOL .solution-list li .text {
  line-height: 120%;
  margin-top: auto;
  flex: 2;
  height: 100%;
  min-height: 0%;
}

@media only screen and (min-width: 992px) {
  #SOLUTION #SOL .solution-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION #SOL .solution-list li {
    display: flex;
    flex-direction: column;
    width: 32%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION #SOL .solution-list li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }

  #SOLUTION #SOL .solution-list li .text {
    display: flex;
  }
}

#SOLUTION #REASON {
  background-image: url(/images/solution/caso_reason_bg.png);
  height: auto;
}

#SOLUTION #REASON .reason-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION #REASON .reason-list>li {
  background-color: white;
  padding: 10px 10px 20px;
  margin-bottom: 2em;
}

#SOLUTION #REASON .reason-list>li .reason-tag {
  font-size: clamp(12px, 3vw, 16px);
  background-color: #FFE200;
  color: #000;
  font-weight: bold;
  text-align: center;
  width: 150px;
  margin: 10px auto 0px;
  line-height: 28px;
}

#SOLUTION #REASON .reason-list>li h3 {
  text-align: center;
  color: #000;
}

#SOLUTION #REASON .reason-list>li .reason-img {
  margin: 30px auto;
}

#SOLUTION #REASON .reason-list>li .reason-img img {
  display: block;
  width: auto;
  height: 180px;
  object-fit: cover;
  margin: 0 auto;
}

#SOLUTION #REASON .reason-list>li .list {
  width: 86%;
  margin: 0 auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION .reason-list {
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION .reason-list>li {
    width: 48%;
    border-radius: 40px;
  }
}

#SOLUTION.whitebox #DELIVERY .ttl {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  display: flex;
  justify-content: center;
}

#SOLUTION.whitebox #DELIVERY .ttl:before,
#SOLUTION.whitebox #DELIVERY .ttl:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

#SOLUTION.whitebox #DELIVERY .ttl:before {
  left: 38%;
}

#SOLUTION.whitebox #DELIVERY .ttl:after {
  right: 38%;
}

@media only screen and (max-width: 640px) {

  #SOLUTION.whitebox #DELIVERY .ttl:before,
  #SOLUTION.whitebox #DELIVERY .ttl:after {
    width: 35px;
  }

  #SOLUTION.whitebox #DELIVERY .ttl:before {
    left: 28%;
  }

  #SOLUTION.whitebox #DELIVERY .ttl:after {
    right: 28%;
  }

}

#SOLUTION.whitebox #DELIVERY .fig {
  text-align: center;
}

#SOLUTION.whitebox #DELIVERY .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.whitebox #DELIVERY .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION.whitebox #CASE {
  background-color: #278068;
}

#SOLUTION #CASE .ttl {
  color: white;
}

#SOLUTION.whitebox .case-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.whitebox .case-list>li {
  background-color: white;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.whitebox .case-list>li .case-img {
  margin: 0px auto -10px;
}

#SOLUTION.whitebox .case-list>li .case-img img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

#SOLUTION.whitebox .case-list>li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

#SOLUTION.whitebox .case-list>li .text .ttl03 {
  text-align: center;
  color: #000;
}

#SOLUTION.whitebox .case-list>li .text .ttl03 .sub {
  font-size: 70%;
}

@media only screen and (min-width: 764px) {
  #SOLUTION.whitebox .case-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.whitebox .case-list>li {
    display: flex;
    flex-direction: column;
    width: 32%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }
}

@media only screen and (max-width: 764px) {
  #SOLUTION #CASE {
    padding: 20px;
  }

}

#SOLUTION.whitebox .lineup-list ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#SOLUTION.whitebox .lineup-list ul li {
  text-align: center;
  font-size: 14px;
}

#SOLUTION.whitebox .lineup-list ul li a {
  color: #000;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.whitebox .lineup-list {
    display: flex;
    flex-direction: column;
  }

  #SOLUTION.whitebox .lineup-list ul {
    display: flex;
    list-style-type: none;
    justify-content: space-between;
    margin: 0;
    padding: 0;
  }

  #SOLUTION.whitebox .lineup-list ul li {
    font-size: 18px;
    width: 20%;
    text-align: center;
  }
}

@media only screen and (max-width: 768px) {
  #SOLUTION.whitebox .lineup-list ul li {
    width: 33.33%;
    margin-bottom: 20px;
  }

  #SOLUTION.whitebox .lineup-list ul li:nth-child(4),
  #SOLUTION.whitebox .lineup-list ul li:nth-child(5) {
    width: 50%;
  }
}

#SOLUTION.whitebox .scroll {
  overflow: auto;
  white-space: nowrap;
}

#SOLUTION.whitebox .scroll::-webkit-scrollbar {
  height: 5px;
}

#SOLUTION.whitebox .scroll::-webkit-scrollbar-track {
  background: #F1F1F1;
}

#SOLUTION.whitebox .scroll::-webkit-scrollbar-thumb {
  background: #BCBCBC;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.whitebox .scroll {
    overflow: auto;
    white-space: normal;
  }
}

#SOLUTION.whitebox .delivery-table {
  border-collapse: separate;
  border-spacing: 5px;
  width: 100%;
}

#SOLUTION.whitebox .delivery-table thead th {
  text-align: center;
  padding: 0 0 1em;
  width: 60%;
  font-size: 20px;
}

#SOLUTION.whitebox .delivery-table thead th+th {
  width: 40%;
}

#SOLUTION.whitebox .delivery-table tbody th,
#SOLUTION.whitebox .delivery-table tbody td {
  padding: 1.5em;
}

#SOLUTION.whitebox .delivery-table tbody th {
  white-space: nowrap;
  text-align: center;
}

#SOLUTION.whitebox .delivery-table tbody tr.basic th {
  border: 2px solid #048FA2;
  background-color: #048FA2;
  color: #FFF;
}

#SOLUTION.whitebox .delivery-table tbody tr.basic td {
  border: 2px solid #048FA2;
}

#SOLUTION.whitebox .delivery-table tbody tr.basic .bg {
  background-color: #dafafe;
}

#SOLUTION.whitebox .delivery-table tbody tr.org th {
  border: 2px solid #93B119;
  background-color: #93B119;
  color: #FFF;
}

#SOLUTION.whitebox .delivery-table tbody tr.org td {
  border: 2px solid #93B119;
}

#SOLUTION.whitebox .delivery-table tbody tr.org .bg {
  background-color: #f1f8d1;
}

#SOLUTION.whitebox .delivery-table .list li {
  text-align: left;
}

#SOLUTION.whitebox .delivery-table .bg {
  text-align: center;
}

#SOLUTION.whitebox .delivery-table .bg .list {
  display: inline-block;
  text-align: left;
  padding: 0;
  margin: 0;
}

#SOLUTION.whitebox .delivery-table .bg .list li {
  margin: 5px 0;
}

#SOLUTION.odm #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.odm #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.odm .task .fig {
  padding: 1em;
  margin-bottom: 1em;
  border-radius: 10px;
  background-color: #F5F5F5;
  border: 1px solid #CCC;
  text-align: center;
}

#SOLUTION.odm .task .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.odm .task .fig {
    padding: 3em;
  }

  #SOLUTION.odm .task .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION.odm .solutions-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.odm .solutions-list li {
  text-align: center;
  margin-bottom: 2em;
}

#SOLUTION.odm .solutions-list li .icon {
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 100%;
  border: 1px solid #CCC;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70%;
  margin: 0 auto 0.5em;
}

#SOLUTION.odm .solutions-list li p {
  font-size: 14px;
  font-weight: bold;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.odm .solutions-list {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION.odm .solutions-list li {
    width: 20%;
    text-align: center;
  }

  #SOLUTION.odm .solutions-list li .icon {
    display: block;
    width: 150px;
    height: 150px;
    border-radius: 100%;
    border: 1px solid #CCC;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 70%;
    margin: 0 auto 0.5em;
  }

  #SOLUTION.odm .solutions-list li p {
    font-size: 18px;
    font-weight: bold;
  }
}

#SOLUTION.odm .delivery-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.odm .delivery-list li {
  margin-bottom: 2em;
  padding-bottom: 2em;
  border-bottom: 1px solid #ccc;
}

#SOLUTION.odm .delivery-list li .fig {
  margin-bottom: 1.5em;
}

#SOLUTION.odm .delivery-list li .fig img {
  width: 100%;
  height: auto;
}

#SOLUTION.odm .delivery-list li .textarea .header {
  margin-bottom: 1.5em;
}

#SOLUTION.odm .delivery-list li .textarea .header .ttl03 {
  line-height: 140%;
}

#SOLUTION.odm .delivery-list li .textarea .header .sub {
  font-size: 80%;
}

#SOLUTION.odm .delivery-list li .textarea .text {
  line-height: 160%;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.odm .delivery-list {
    display: flex;
    flex-direction: column;
  }

  #SOLUTION.odm .delivery-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3em;
    padding-bottom: 3em;
  }

  #SOLUTION.odm .delivery-list li .fig {
    width: 35%;
    margin-bottom: 0;
  }

  #SOLUTION.odm .delivery-list li .textarea {
    width: 60%;
  }

  #SOLUTION.odm .delivery-list li .textarea .header {
    font-size: 18px;
  }
}

#SOLUTION.sdwaniiot #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.sdwaniiot #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

#SOLUTION.sdwaniiot #OUTLINE .fig {
  padding: 0 0 1em;
  text-align: center;
}

#SOLUTION.sdwaniiot #OUTLINE .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot #OUTLINE .fig {
    padding: 0 0 3em;
  }

  #SOLUTION.sdwaniiot #OUTLINE .fig img {
    width: auto;
    height: auto;
  }
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot .about-list {
    justify-content: center;
  }
}

#SOLUTION.sdwaniiot .features-list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.sdwaniiot .features-list li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.sdwaniiot .features-list li .header {
  width: 100%;
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.sdwaniiot .features-list li .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

#SOLUTION.sdwaniiot .features-list li .logo img {
  width: 90%;
  height: auto;
}

#SOLUTION.sdwaniiot .features-list li .text {
  padding: 1.5em;
}

#SOLUTION.sdwaniiot .features-list li .btn-area {
  margin-bottom: 0;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot .features-list {
    display: flex;
    justify-content: space-between;
    margin-top: 2em;
  }

  #SOLUTION.sdwaniiot .features-list li {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 48%;
    border: 1px solid #CCC;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.sdwaniiot .features-list li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4em;
    padding: 0;
    font-size: 24px;
    background-color: #666;
    color: #FFF;
  }

  #SOLUTION.sdwaniiot .features-list li .logo {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
  }

  #SOLUTION.sdwaniiot .features-list li .logo img {
    width: auto;
    height: 200px;
  }
}

#SOLUTION.sdwaniiot .other-features-list {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.sdwaniiot .other-features-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5em;
  width: 100%;
}

#SOLUTION.sdwaniiot .other-features-list li .logo {
  width: 30%;
}

#SOLUTION.sdwaniiot .other-features-list li .logo img {
  width: 100%;
  height: auto;
}

#SOLUTION.sdwaniiot .other-features-list li .text {
  width: 68%;
}

#SOLUTION.sdwaniiot .other-features-list li .text h4 {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 0.5em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot .other-features-list li {
    width: 32%;
    margin-bottom: 3em;
  }

  #SOLUTION.sdwaniiot .other-features-list li .logo {
    width: 20%;
  }

  #SOLUTION.sdwaniiot .other-features-list li .text {
    width: 75%;
  }

  #SOLUTION.sdwaniiot .other-features-list li .text h4 {
    font-size: 18px;
  }
}

#SOLUTION.sdwaniiot .lineup-list {
  display: flex;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.sdwaniiot .lineup-list li {
  text-align: center;
  font-size: 14px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot .lineup-list {
    flex-direction: row;
    justify-content: space-between;
  }

  #SOLUTION.sdwaniiot .lineup-list li {
    width: 18%;
    font-size: 16px;
    text-align: center;
  }
}

#SOLUTION.sdwaniiot #PEPLINK {
  border-top: 1px dotted #ccc;
  padding: 1em 0 0;
}

#SOLUTION.sdwaniiot #PEPLINK ul {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.sdwaniiot #PEPLINK ul li ul {
  display: block;
  list-style-type: disc;
  margin-left: 2.3em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.sdwaniiot #PEPLINK ul {
    flex-direction: row;
  }

  #SOLUTION.sdwaniiot #PEPLINK ul li.logo {
    width: 165px;
  }

  #SOLUTION.sdwaniiot #PEPLINK ul li.logo img {
    width: 100%;
    height: auto;
  }

  #SOLUTION.sdwaniiot #PEPLINK ul li.text {
    width: calc(100% - 175px);
  }
}

/* pep-tech共通（SpeedFusion＆IC2） */
#SOLUTION.pep-tech .con-banner {
  position: relative;
}

#SOLUTION.pep-tech .con-banner .top-img {
  width: 100%;
  z-index: -2;
}

#SOLUTION.pep-tech .con-banner .text h1 {
  position: absolute;
  top: 35%;
  font-size: clamp(24px, 3vw, 40px);
  font-weight: bold;
  line-height: 120%;
  color: rgb(255, 255, 255);
  padding: 0;
  margin: 0;
}

#SOLUTION.pep-tech .con-banner .text h1 span {
  font-size: clamp(16px, 3vw, 30px);
}

/* 見出し　style統一 */
#SOLUTION.pep-tech h2 {
  text-align: center;
  margin-bottom: 30px;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: bold;
}

#SOLUTION.pep-tech h2 span {
  color: #EFB24E;
  font-style: italic;
  font-size: clamp(18px, 3vw, 22px);
  display: block;
  margin-bottom: 10px;
}

#SOLUTION.pep-tech #TOP {
  background-color: #FFF7EA;
}

#SOLUTION.pep-tech #TECH .description {
  background-color: white;
  border-radius: 13px;
  width: 80%;
  margin: 40px auto 80px;
  text-align: center;
  padding: 10px 0px 20px;
}

#SOLUTION.pep-tech #TECH .description h2 {
  font-style: italic;
  font-weight: bold;
  font-size: clamp(20px, 3vw, 30px);
  color: #2E2E2E;
}

#SOLUTION.pep-tech #TECH .description p {
  font-size: clamp(12px, 3vw, 16px);
  line-height: 26px;
  color: #000;
}

#SOLUTION.pep-tech #TECH .description .point {
  font-size: clamp(14px, 3vw, 16px);
  color: #000;
  font-weight: bold;
  background: linear-gradient(rgba(255, 200, 84, 0)20%, rgb(255, 223, 164)60%, rgb(255, 228, 154));
}

#SOLUTION.pep-tech #TECH .description .note {
  color: #626262;
  font-size: clamp(12px, 3vw, 14px);
  line-height: 22px;
}

#SOLUTION.pep-tech #TECH .img {
  text-align: center;
  max-width: 100%;
  margin-bottom: 100px
}

#SOLUTION.pep-tech #TECH .img img {
  max-width: 100%;
}

@media only screen and (min-width: 724px) {
  #SOLUTION.pep-tech #TECH .description .point br {
    display: none;
  }
}

@media only screen and (max-width: 723px) {
  #SOLUTION.pep-tech #TECH .description {
    border-radius: 13px;
    width: 96%;
    margin: 20px auto 40px;
    text-align: center;
    padding: 10px 0px 20px;
  }

  #SOLUTION.pep-tech #TECH .description h2 {
    margin-bottom: 10px;
  }

  #SOLUTION.pep-tech #TECH .description p br,
  #SOLUTION.pep-tech #TECH .description .note br {
    display: none;
  }

  #SOLUTION.pep-tech #TECH .description .note {
    text-align: left;
  }
}

/* SpeedFusionここから */
#SOLUTION.speedfusion .technology-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
  margin-bottom: 3em;
}

#SOLUTION.speedfusion .technology-list li .ph img {
  width: 100%;
  height: auto;
}

#SOLUTION.speedfusion .technology-list li .text h4 {
  font-size: clamp(16px, 3vw, 18px);
  font-weight: bold;
  margin-bottom: 0.8em;
  padding: 10px 0;
  color: white;
  text-align: center;
  border-radius: 10px;
}

#SOLUTION.speedfusion .technology-list li.bandwidthbonding h4 {
  background-color: #26B5BF;
}

#SOLUTION.speedfusion .technology-list li.wansmoothing h4 {
  background-color: #AECA41;
}

#SOLUTION.speedfusion .technology-list li.hotfailover h4 {
  background-color: #F1AA38;
}

#SOLUTION.speedfusion #FEATURES {
  margin-top: 120px;
  margin-bottom: 120px;
}

#SOLUTION.speedfusion .features-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
  margin-bottom: 1.5em;
}

#SOLUTION.speedfusion .features-list li {
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  padding: 1.5em;
  box-sizing: border-box;
  margin-bottom: 1em;
  border-radius: 10px;
}

#SOLUTION.speedfusion .features-list li .fig {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

#SOLUTION.speedfusion .features-list li .text {
  margin-top: 1em;
}

#SOLUTION.speedfusion .features-list li h4 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #93B119;
}

#SOLUTION.speedfusion .features-list li p+p {
  margin-top: 1.5em;
  text-align: center;
}

#SOLUTION.speedfusion .technology-video-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.speedfusion .technology-video-list .text h4 {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

#SOLUTION.speedfusion .technology-video-list .text p {
  text-align: center;
}

#SOLUTION.speedfusion #CONDITIONS {
  background-color: #F8DAA9;
  padding: 60px;
}

#SOLUTION.speedfusion #CONDITIONS .flowchart {
  max-width: 100%;
  background-color: white;
  padding: 40px 60px;
  border-radius: 50px;
}

#SOLUTION.speedfusion #CONDITIONS .flowchart img {
  width: 100%;
}

#SOLUTION.speedfusion .vp-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin-top: 60px;
  margin-bottom: 40px;
  padding: 0;
}

#SOLUTION.speedfusion .vp-list>li {
  margin-bottom: 2em;
}

#SOLUTION.speedfusion .vp-list>li .fig {
  margin-bottom: 2em;
}

#SOLUTION.speedfusion .vp-list>li .fig img {
  width: 100%;
  height: auto;
}

#SOLUTION.speedfusion .vp-list>li .text h4 {
  font-size: clamp(16px, 3vw, 20px);
  font-weight: bold;
  margin-top: 2em;
  margin-bottom: 1em;
  border-bottom: #000 1px solid;
  padding-bottom: 12px;
}

#SOLUTION.speedfusion .vp-list>li .text .vp-txt {
  text-align: left;
  display: inline-block;
}

#SOLUTION.speedfusion .vp-list>li .text {
  text-align: center;
}

@media only screen and (min-width: 724px) {
  #SOLUTION.speedfusion .technology-list {
    flex-direction: row;
  }

  #SOLUTION.speedfusion .technology-list li {
    width: 28%;
  }

  #SOLUTION.speedfusion .features-list {
    flex-direction: row;
  }

  #SOLUTION.speedfusion .features-list li {
    width: 23%;
    margin-bottom: 0;
  }

  #SOLUTION.speedfusion .features-list li h4 {
    font-size: 18px;
  }

  #SOLUTION.speedfusion .features-list li .fig img {
    width: 60%;
  }

  #SOLUTION.speedfusion .technology-video-list {
    flex-direction: row;
  }

  #SOLUTION.speedfusion .technology-video-list li {
    width: 45%;
  }

  #SOLUTION.speedfusion .technology-video-list .text h4 {
    font-size: 18px;
  }

  #SOLUTION.speedfusion .technology-video-list .text h4 br {
    display: none;
  }

  #SOLUTION.speedfusion .vp-list {
    flex-direction: row;
  }

  #SOLUTION.speedfusion .vp-list>li {
    margin-bottom: 0;
    width: 28%;
  }
}

@media only screen and (max-width: 723px) {
  #SOLUTION.speedfusion .con-banner .text h1 {
    top: 45%;
  }

  #SOLUTION.speedfusion .technology-list {
    margin-bottom: 0em;
  }

  #SOLUTION.speedfusion .technology-list li {
    margin-bottom: 40px;
  }

  #SOLUTION.speedfusion .technology-video-list .text h4 {
    line-height: 24px;
  }

  #SOLUTION.speedfusion .technology-video-list li {
    margin-bottom: 20px;
  }

  #SOLUTION.speedfusion #CONDITIONS {
    padding: 0px 0px 10px;
  }

  #SOLUTION.speedfusion #CONDITIONS h2,
  .speedfusion #VP h2 {
    margin-bottom: 10px;
  }

  #SOLUTION.speedfusion #CONDITIONS .flowchart {
    max-width: 100%;
    padding: 10px;
    border-radius: 10px;
  }

  #SOLUTION.speedfusion .vp-list>li {
    margin-bottom: 5em;
  }
}

/* SpeedFusionVPNここまで */
/* IControl2 ここから*/
#SOLUTION.incontrol2 .sol-pagenavi {
  width: 100%;
  margin-bottom: 90px;
}

#SOLUTION.incontrol2 .sol-pagenavi ul {
  display: flex;
  flex-wrap: wrap !important;
  justify-content: center;
  gap: 2em;
  list-style: none;
  padding: 0;
  margin: 0;
}

#SOLUTION.incontrol2 .sol-pagenavi ul li {
  width: 20%;
  margin: 5px 0;
  text-align: center;
}

#SOLUTION.incontrol2 .sol-pagenavi ul li a {
  display: block;
  text-decoration: none;
  font-size: clamp(14px, 3vw, 18px);
  color: #000;
  padding: 5px 0px 10px;
  text-align: center;
  position: relative;
  border: 1px solid #E5E5E5;
  border-radius: 10px;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
}

#SOLUTION.incontrol2 .sol-pagenavi ul li a::after {
  position: absolute;
  content: "\f0d7";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  margin-left: 0.5em;
  color: #000;
}

#SOLUTION.incontrol2 .sol-pagenavi ul li a:hover {
  background-color: #F2F2F2;
  color: #000;
  opacity: 0.6;
}

#SOLUTION.incontrol2 .sol-pagenavi ul li a .navi-icon {
  margin: 0.4em auto;
  max-width: 50%;
}

#SOLUTION.incontrol2 .sol-pagenavi ul li a .navi-icon img {
  max-width: 50%;

}

#SOLUTION.incontrol2 #EVENT,
#SOLUTION.incontrol2 #GPS {
  background-color: #F5F5F5;
  padding: 80px 0px;
}

#SOLUTION.incontrol2 .section .features-ttl {
  text-align: center;
}

#SOLUTION.incontrol2 .section .features-ttl .ttl-icon {
  width: 50%;
  margin: 0 auto;
}

#SOLUTION.incontrol2 .section .features-ttl .ttl-icon img {
  max-width: 8%;
}

#SOLUTION.incontrol2 .section .features-ttl h3 {
  font-size: clamp(24px, 3vw, 28px);
  font-weight: bold;
  border-bottom: 1px solid #CCC;
  margin: 0.3em auto 1em;
  padding: 0 0 1em;
}

#SOLUTION.incontrol2 .section h4 {
  font-size: clamp(18px, 3vw, 20px);
  padding: 0.6em 0.5em 0.4em 0.6em;
  font-weight: bold;
  margin-top: 0px;
}

#SOLUTION.incontrol2 #DEVICE .section h4 {
  background-color: #D9EDEF;
  border-bottom: #408990 4px solid;
}

#SOLUTION.incontrol2 #EVENT .function-list h4 {
  background-color: #FFEFC6;
  border-bottom: #F5BC23 4px solid;
}

#SOLUTION.incontrol2 #SIM .function-list h4 {
  background-color: #DBEDFF;
  border-bottom: #4F94D9 4px solid;
}

#SOLUTION.incontrol2 #GPS .device-list h4 {
  background-color: #D8EFE6;
  border-bottom: #3BAF85 4px solid;
  margin-top: 20px;
  text-align: center;
}

#SOLUTION.incontrol2 .section .description {
  font-size: clamp(13px, 3vw, 15px);
  line-height: 26px;
}

#SOLUTION.incontrol2 #GPS .description {
  text-align: center;
  margin-bottom: 30px;
}

#SOLUTION.incontrol2 .merit-label {
  margin-top: 1.5em;
  border-bottom: 1px dotted #ccc;
}

#SOLUTION.incontrol2 .merit-label .text {
  display: inline-block;
  padding: 0.2em 1em;
  color: #FFF;
  font-size: clamp(12px, 3vw, 14px);
}

#SOLUTION.incontrol2 #DEVICE .merit-label .text {
  background-color: #408990;
}

#SOLUTION.incontrol2 #EVENT .merit-label .text {
  background-color: #f0b413;
}

#SOLUTION.incontrol2 #SIM .merit-label .text {
  background-color: #4F94D9;
}

#SOLUTION.incontrol2 .list li {
  font-size: clamp(12px, 3vw, 15px);

}

#SOLUTION.incontrol2 #EVENT .list li::before {
  color: #f0b413;
}

#SOLUTION.incontrol2 #SIM .list li::before {
  color: #4F94D9;
}

#SOLUTION.incontrol2 #GPS .list li::before {
  color: #3BAF85;
}

#SOLUTION.incontrol2 .function-list {
  margin: 0;
  padding: 0;
}

#SOLUTION.incontrol2 .function-list>li {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom: 5em;
  list-style-type: none;
  width: 100%;
}

#SOLUTION.incontrol2 .function-list>li>.fig {
  margin-bottom: 1em;
}

#SOLUTION.incontrol2 .function-list>li>.fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 724px) {
  #SOLUTION.incontrol2 .function-list {
    margin: 0;
    padding: 0;
  }

  #SOLUTION.incontrol2 .function-list>li {
    flex-direction: row;
  }

  #SOLUTION.incontrol2 .function-list>li>.fig {
    margin-bottom: 0;
    width: 38%;
  }

  #SOLUTION.incontrol2 .function-list>li>.text {
    width: 60%;
  }
}

#SOLUTION.incontrol2 .device-list {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.incontrol2 .device-list>li {
  margin-bottom: 2em;
}

#SOLUTION.incontrol2 .device-list>li img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 724px) {
  #SOLUTION.incontrol2 .device-list {
    flex-direction: row;
  }

  #SOLUTION.incontrol2 .device-list>li {
    margin-bottom: 0;
    width: 320px;
  }
}

#SOLUTION.incontrol2 .other-function-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.incontrol2 .other-function-list li {
  text-align: center;
  margin-bottom: 1em;
  width: 20%;
}

#SOLUTION.incontrol2 .other-function-list li .icon {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  border: 1px solid #CCC;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 70%;
  margin: 0 auto 0.5em;
}

#SOLUTION.incontrol2 .other-function-list li p {
  font-size: clamp(14px, 3vw, 18px);
  font-weight: bold;
  margin-top: 10px;
  text-align: center;
}

@media only screen and (max-width: 723px) {

  #SOLUTION.incontrol2 #EVENT,
  #SOLUTION.incontrol2 #GPS {
    padding: 40px 0px;
  }

  #SOLUTION.incontrol2 #TECH .img img {
    max-width: 80%;
  }

  #SOLUTION.incontrol2 .sol-pagenavi ul {
    gap: 1.5em;
    margin-bottom: 40px !important;
  }

  #SOLUTION.incontrol2 .sol-pagenavi ul li {
    width: 45%;
  }

  #SOLUTION.incontrol2 .section .features-ttl .ttl-icon {
    width: 80%;
    margin: 0 auto;
  }

  #SOLUTION.incontrol2 .section .features-ttl .ttl-icon img {
    max-width: 15%;
  }

  #SOLUTION.incontrol2 #GPS .description {
    text-align: left;
  }

  #SOLUTION.incontrol2 #GPS .description br {
    display: none;
  }

  #SOLUTION.incontrol2 .other-function-list {
    justify-content: space-around;
  }

  #SOLUTION.incontrol2 .other-function-list li {
    width: 40%;
  }

  #SOLUTION.incontrol2 .other-function-list li .icon {
    width: 100px;
    height: 100px;
  }
}

/* InControl2 ここまで */
#SOLUTION.storage_sol #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.storage_sol #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .summary p {
    width: 70%;
    margin: 0 auto;
  }
}

#SOLUTION.storage_sol .task .fig {
  padding: 1em;
  margin-bottom: 1em;
  border-radius: 10px;
  background-color: #F5F5F5;
  border: 1px solid #CCC;
  text-align: center;
}

#SOLUTION.storage_sol .task .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .task .fig {
    padding: 3em;
  }

  #SOLUTION.storage_sol .task .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION.storage_sol .solutions .fig {
  text-align: center;
  padding: 0 0 3em;
}

#SOLUTION.storage_sol .solutions .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .solutions .fig {
    padding: 0 0 5em;
  }

  #SOLUTION.storage_sol .solutions .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION.storage_sol .solution-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.storage_sol .solution-list li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.storage_sol .solution-list li .header {
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.storage_sol .solution-list li .header h3 {
  line-height: 160%;
  margin: 0;
  padding: 0;
}

#SOLUTION.storage_sol .solution-list li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .solution-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.storage_sol .solution-list li {
    display: flex;
    flex-direction: column;
    width: 32%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.storage_sol .solution-list li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }

  #SOLUTION.storage_sol .solution-list li .text {
    display: flex;
  }
}

#SOLUTION.storage_sol .merit-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.storage_sol .merit-list>li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.storage_sol .merit-list>li .header {
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.storage_sol .merit-list>li .header h3 {
  line-height: 140%;
  margin: 0;
  padding: 0;
}

#SOLUTION.storage_sol .merit-list>li .header h3 .sub {
  font-size: 60%;
}

#SOLUTION.storage_sol .merit-list>li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

#SOLUTION.storage_sol .merit-list>li .text .ph {
  text-align: center;
  margin-bottom: 15px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .merit-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.storage_sol .merit-list>li {
    display: flex;
    flex-direction: column;
    width: 32%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.storage_sol .merit-list>li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }
}

#SOLUTION.storage_sol .lineup-list dt {
  text-align: center;
  border-bottom: 1px solid #ccc;
}

#SOLUTION.storage_sol .lineup-list dd+dt {
  margin-top: 1.5em;
}

#SOLUTION.storage_sol .lineup-list ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.storage_sol .lineup-list ul li {
  text-align: center;
  font-size: 14px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.storage_sol .lineup-list {
    display: flex;
    flex-direction: column;
  }

  #SOLUTION.storage_sol .lineup-list dt {
    text-align: left;
  }

  #SOLUTION.storage_sol .lineup-list dd+dt {
    margin-top: 1.5em;
  }

  #SOLUTION.storage_sol .lineup-list ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION.storage_sol .lineup-list ul li {
    font-size: 18px;
    width: 20%;
    text-align: center;
  }
}

#SOLUTION.edge_sol #PAGE-HEADER {
  background: #408890;
  background-repeat: no-repeat;
  background-position: right;
}

@media only screen and (min-width: 768px) {
  #SOLUTION.edge_sol #PAGE-HEADER {
    background: url("/images/contents_header.png"), #408890;
    background-repeat: no-repeat;
    background-position: right;
  }
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .summary p {
    width: 70%;
    margin: 0 auto;
  }
}

#SOLUTION.edge_sol .task .fig {
  padding: 1em;
  margin-bottom: 1em;
  border-radius: 10px;
  background-color: #F5F5F5;
  border: 1px solid #CCC;
  text-align: center;
}

#SOLUTION.edge_sol .task .fig img {
  width: 100%;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .task .fig {
    padding: 3em;
  }

  #SOLUTION.edge_sol .task .fig img {
    width: auto;
    height: auto;
  }
}

#SOLUTION.edge_sol .solutions .requirements {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

#SOLUTION.edge_sol .solutions .requirements .requirement {
  padding-bottom: 30px;
  position: relative;
}

#SOLUTION.edge_sol .solutions .requirements .requirement::before {
  display: inline-block;
  content: "";
  width: 120px;
  height: 30px;
  position: absolute;
  bottom: 0px;
  left: 50%;
  margin-left: -60px;
  border-top: 15px solid #93B119;
  border-bottom: 0px solid transparent;
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;
}

#SOLUTION.edge_sol .solutions .requirements .requirement:nth-child(1) {
  padding-bottom: 15px;
}

#SOLUTION.edge_sol .solutions .requirements .requirement:nth-child(1)::before {
  content: none;
}

#SOLUTION.edge_sol .solutions .requirements h4 {
  text-align: center;
}

#SOLUTION.edge_sol .solutions .requirements .fig {
  margin-bottom: 1em;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .solutions .requirements {
    flex-direction: row;
  }

  #SOLUTION.edge_sol .solutions .requirements .requirement {
    width: 48%;
  }

  #SOLUTION.edge_sol .solutions .requirements .requirement::before {
    width: 120px;
    height: 30px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    margin-left: -60px;
    border-top: 15px solid #93B119;
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
  }

  #SOLUTION.edge_sol .solutions .requirements .requirement:nth-child(1) {
    padding-bottom: 30px;
  }

  #SOLUTION.edge_sol .solutions .requirements .requirement:nth-child(1)::before {
    content: "";
  }
}

#SOLUTION.edge_sol .solutions .products {
  margin-bottom: 3em;
}

#SOLUTION.edge_sol .solutions .products h4 {
  text-align: center;
  background-color: #BBB;
  color: #000;
}

#SOLUTION.edge_sol .solutions .products .product-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: 1em 0;
  padding: 1em;
  list-style-type: none;
  border-radius: 10px;
  background-color: #E5E5E5;
}

#SOLUTION.edge_sol .solutions .products .product-list li {
  width: 50%;
  margin-bottom: 15px;
  text-align: center;
}

#SOLUTION.edge_sol .solutions .products .product-list li img {
  width: 95% !important;
  height: auto;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .solutions .products .product-list {
    flex-wrap: nowrap;
    margin: 2em 0;
    padding: 2em 3em;
  }

  #SOLUTION.edge_sol .solutions .products .product-list li {
    width: 20%;
    margin-bottom: 0;
  }
}

#SOLUTION.edge_sol .solutions .fig img {
  width: 100%;
  height: auto;
}

#SOLUTION.edge_sol .solution-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.edge_sol .solution-list li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.edge_sol .solution-list li .header {
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.edge_sol .solution-list li .header h3 {
  line-height: 160%;
  margin: 0;
  padding: 0;
}

#SOLUTION.edge_sol .solution-list li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .solution-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.edge_sol .solution-list li {
    display: flex;
    flex-direction: column;
    width: 48%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.edge_sol .solution-list li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }

  #SOLUTION.edge_sol .solution-list li .text {
    display: flex;
  }
}

#SOLUTION.edge_sol .merit-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style-type: none;
}

#SOLUTION.edge_sol .merit-list>li {
  border: 1px solid #CCC;
  margin-bottom: 1em;
  border-radius: 10px;
  overflow: hidden;
}

#SOLUTION.edge_sol .merit-list>li .header {
  padding: 10px;
  text-align: center;
  background-color: #666;
  color: #FFF;
}

#SOLUTION.edge_sol .merit-list>li .header h3 {
  line-height: 140%;
  margin: 0;
  padding: 0;
}

#SOLUTION.edge_sol .merit-list>li .header h3 .sub {
  font-size: 60%;
}

#SOLUTION.edge_sol .merit-list>li .text {
  padding: 15px;
  margin: 0;
  line-height: 160%;
}

#SOLUTION.edge_sol .merit-list>li .text .ph {
  text-align: center;
  margin-bottom: 15px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .merit-list {
    justify-content: space-between;
    flex-direction: row;
  }

  #SOLUTION.edge_sol .merit-list>li {
    display: flex;
    flex-direction: column;
    width: 48%;
    margin-bottom: 0;
    border-radius: 10px;
    overflow: hidden;
  }

  #SOLUTION.edge_sol .merit-list>li .header {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 6em;
    padding: 0;
  }
}

#SOLUTION.edge_sol .lineup-list dt {
  text-align: center;
  border-bottom: 1px solid #ccc;
}

#SOLUTION.edge_sol .lineup-list dd+dt {
  margin-top: 1.5em;
}

#SOLUTION.edge_sol .lineup-list ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

#SOLUTION.edge_sol .lineup-list ul li {
  text-align: center;
  font-size: 14px;
}

@media only screen and (min-width: 992px) {
  #SOLUTION.edge_sol .lineup-list {
    display: flex;
    flex-direction: column;
  }

  #SOLUTION.edge_sol .lineup-list dt {
    text-align: left;
  }

  #SOLUTION.edge_sol .lineup-list dd+dt {
    margin-top: 1.5em;
  }

  #SOLUTION.edge_sol .lineup-list ul {
    display: flex;
    list-style-type: none;
    margin: 0;
    padding: 0;
  }

  #SOLUTION.edge_sol .lineup-list ul li {
    font-size: 18px;
    width: 20%;
    text-align: center;
  }
}