 * {
     box-sizing: border-box;
 }
 
 footer {
     background-color: #fff;
 }
 
 .pc {
     display: block;
 }
 
 .sp {
     display: none;
 }
 
 .position_rlt {
     position: relative;
 }
 
 .outer-base-width.bg_white {
     background-color: white;
 }
 
 video {
     min-width: 100%;
 }
 
 .video {
     width: 100%;
     position: fixed;
     left: 0;
     z-index: -999;
 }
 
 .overhidden {
     overflow: hidden;
 }
 
 .item-text {
     position: relative;
     display: flex;
     flex-direction: column;
     align-content: center;
     align-items: center;
     justify-content: center;
     color: #fff;
     width: 100%;
     background-color: rgba(0, 0, 0, 0.25);
 }
 /* タイトルがテキストの場合
 .item-title {
 font-size: 6rem;
 font-family: "DIN 2014 Demi";
 font-weight: bold;
 margin-bottom: 5.7rem;
 } */
 
 .item-title {
     display: inline-block;
     width: 58%;
     height: auto;
     margin-bottom: 6rem;
     flex-shrink: 0;
 }
 
 .item-title.sp {
     display: none;
 }
 
 .about_btn {
     display: inline-block;
     width: 14%;
 }
 
 .title_formart dl {
     color: #065AAA
 }
 
 .title_formart.font_white dl {
     color: #fff;
 }
 
 .title_formart dt {
     margin-bottom: 2.5rem;
     font-weight: bold;
     font-size: 4rem;
     line-height: 1.2;
 }
 
 .title_formart dd {
     font-size: 1.6rem;
     line-height: 1.2;
 }
 
 .title_flexbox {
     background-color: #fff;
     display: flex;
     justify-content: space-between;
     align-content: flex-start;
     align-items: flex-start;
     padding: 10.8rem 0 5rem 0;
 }
 
 .bluebtn {
     display: block;
     width: 33.3rem;
     text-align: center;
     background-color: #065AAA;
     color: #fff;
     font-size: 1.8rem;
     font-weight: bold;
     padding: 2rem;
     border-radius: 1rem;
 }
 
 .bluebtn.sp {
     display: none;
 }
 
 .news_topic_listbox {
     display: flex;
     justify-content: space-between;
 }
 
 .news_topic_listbox a,
 .news_topic_listbox .nolink {
     display: block;
     width: 22.5%;
 }
 
 .news_topic_listbox dl {
     margin-top: 1.5rem;
     font-size: 1.6rem;
     line-height: 1.75;
 }
 /* One Stop Service */
 
 .title_flexbox.onestop {
     padding: 10.8rem 0 3rem 0;
 }
 
 .onestop_list .listbox {
     width: 100%;
 }
 
 .flex_content {
     display: flex;
 }
 
 .onestop_list .listbox a {
     display: flex;
     padding: 1rem 2.9rem 1rem 2.6rem;
     background-color: #fff;
     width: 49.5%;
     border-radius: 1.2rem;
     margin-bottom: 1.3rem;
     border: 1px solid #707070;
     align-items: flex-start;
     justify-content: space-between;
 }
 
 .flex_txt {
     width: 91%;
 }
 
 .flex_txt p {
     font-size: 1.6rem;
     line-height: 2.1;
 }
 
 .flex_txt .bold {
     color: #27639D;
     font-weight: bold;
     font-size: 2.2rem;
     line-height: 1.5;
 }
 
 .flex_txt .bold.one_line {
     height: 6.5rem;
     /* line-height: 3.25; */
 }
 
 .flex_img img {
     display: block;
 }
 
 .flex_img {
     width: 6%;
     margin: auto 0;
 }
 /* monthylup */
 
 .monthlyup {
     padding-top: 0;
     margin-top: -1rem;
 }
 
 .monthly_vol {
     margin-top: 0;
 }
 /* Product/Service */
 
 .pt85 {
     padding-top: 8.5rem;
 }
 
 .product_sever .description {
     height: auto;
     align-items: center;
 }
 /* case study */
 
 #blue_main .title_formart {
     position: relative;
 }
 
 #blue_main .continue {
     position: absolute;
     right: 0;
     top: 11rem;
     margin-top: 0;
 }
 
 .bluebtn.jirei {
     width: 23.3rem;
 }
 
 #blue_main .title_flexbox {
     background-color: #004588;
 }
 
 #app {
     overflow: hidden;
     padding-bottom: 17.4rem;
 }
 
 .swiper-container {
     width: 100%;
     margin: 0 auto !important;
     z-index: 0;
 }
 
 .swiper-slide {
     text-align: center;
     font-size: 1.6rem;
     line-height: 1.8;
     margin: 0 auto;
 }
 
 .swiper-button-next,
 .swiper-button-prev {
     top: 82%;
     width: 4.2rem;
     height: 4.2rem;
     background-image: url(../../img/prev_next.png);
     background-repeat: no-repeat;
     background-size: cover;
     margin-top: 0;
     z-index: 0;
 }
 
 .swiper-button-next {
     transform: rotate(180deg);
 }
 
 .swiper-button-next,
 .swiper-container-rtl .swiper-button-prev {
     right: 41%;
 }
 
 .swiper-button-prev,
 .swiper-container-rtl .swiper-button-next {
     left: 41%;
 }
 
 .swiper-button-next:after,
 .swiper-button-prev:after {
     opacity: 0;
 }
 
 .swiper-center-line {
     position: absolute;
     right: 50%;
     bottom: 11%;
     width: 1px;
     height: 7.7rem;
     border-right: 1px solid #fff;
     z-index: 11;
 }
 
 .pd140 {
     padding-bottom: 14rem;
 }
 
 @media print,
 screen and (max-width: 768px) {
     .pc {
         display: none;
     }
     .sp {
         display: block;
     }
     .item-title {
         margin-bottom: 0rem;
     }
     .item-title.sp {
         display: block;
     }
     .news_topic_listbox {
         flex-wrap: wrap;
     }
     .news_topic_listbox a,
     .news_topic_listbox .nolink {
         width: 48%;
         margin-top: 2rem;
     }
     .title_flexbox {
         display: block;
         text-align: center;
         padding-bottom: 1rem;
         padding-top: 5.8rem;
     }
     .title_formart dt {
         font-size: 3rem;
     }
     .title_formart dd {
         font-size: 1.5rem;
     }
     .news_topic_listbox dl {
         margin-top: 1.5rem;
     }
     .bluebtn.top_sp {
         display: block;
         margin: 0 auto;
         margin-top: 4rem;
         width: 90%;
     }
     /* One Stop Service sp*/
     .title_flexbox.onestop {
         padding: 6.8rem 0 5rem 0;
     }
     .onestop_list .listbox {
         width: 100%;
         padding-bottom: 6.5rem;
     }
     .flex_content {
         display: block;
     }
     .onestop_list .listbox a {
         width: 100%;
         padding: 1rem 2.9rem 1.5rem 2.6rem;
     }
     .onestop_list .flex_txt {
         width: 91%;
     }
     .onestop_list .flex_txt p {
         font-size: 1.5rem;
         line-height: 1.86;
     }
     .onestop_list .flex_txt .bold {
         font-size: 1.8rem;
     }
     /* Monthly Up sp*/
     .title_flexbox.monthlyup {
         padding-bottom: 3rem;
         padding-top: 0;
     }
     /* Product/Service sp */
     .title_formart.font_white dl {
         text-align: center;
     }
     .whitetxt {
         font-size: 1.6rem;
         line-height: 2;
     }
     section.product_sever {
         margin-top: -3rem;
     }
     .product_sever .whitetxt {
         padding: 2rem 0 4.5rem 1rem;
     }
     .listbox li {
         display: block;
         padding: 3rem 3rem;
     }
     .title_formart.font_white {
         padding-bottom: 0;
     }
     /* Case Study sp */
     #app {
         padding-bottom: 6rem;
     }
     .about_btn.pc,
     .item-title.pc {
         display: none;
     }
     .swiper-button-next,
     .swiper-button-prev {
         display: none;
     }
     .pd140 {
         padding-bottom: 10rem;
     }
     .bluebtn.mt0 {
         margin-top: 0;
     }
 }
 
 @media print,
 screen and (max-width: 320px) {
     .bluebtn {
         width: 100%;
         font-size: 1.7rem;
     }
 }