@charset "utf-8";

#content{
min-width:1100px;
max-width:100%;
width:1200px;
font-family: 'Noto Sans JP', sans-serif;
font-feature-settings: 'palt';
font-optical-sizing: auto;
font-style: normal;
color:#000;
}
/* head */
.gnav-pc-nomenu{
border-bottom:12px solid #333;
}

/* common */
.block_title{
font-size:36px;
font-weight:800;
margin: 0 0 60px;
}
.content_block{
font-size:20px;
font-weight:500;
width:1040px;
padding:10px 0;
margin:45px auto;
}
.cv_block{
background:#fff;
text-align:center;
margin:0 auto 80px;
}
.cv_block a{
display:inline-flex;
background:linear-gradient(to bottom, #1C3272 70%, #152656);
border-radius: 7px;
width:400px;
height:72px;
align-items:center;
justify-content:center;
cursor: pointer;
color: #fff;
font-size:32px;
font-weight:600;
text-decoration: none;
text-align: center;
outline: none;
vertical-align: top;
position: relative;
white-space: nowrap;
gap:14px;
box-shadow:3px 3px 6px #00000040;
}
.cv_block a::before{
content:" ";
display:inline-block;
width:12px;
height:12px;
}
.cv_block a::after{
content:" ";
display:inline-block;
width:12px;
height:12px;
border-top:2px solid #fff;
border-right:2px solid #fff;
rotate:45deg;
vertical-align:middle;
}
.cv_block a:hover{
opacity:0.8;
}
.fixed_cv_block{
position: fixed;
right: 0;
bottom: 0 ;
z-index: 11;
margin:10px;
opacity: 0;
transition: opacity .5s, visibility .5s; 
}
.fixed_cv_block.__is-visible{
visibility: visible;
opacity: 1;

}
.fixed_cv_block a{
font-size:24px;
width:300px;
height:72px;
gap:5px;
}

/* first_view */
#first_view{
border-bottom:2px solid #ddd;
text-align:center;
}
#first_view h1{
font-size:68px;
font-weight:800;
line-height:120%;
margin:0 0 20px;
}
#first_view .sub_copy{
font-size:32px;
font-weight:600;
line-height:120%;
padding:10px 0 15px;
margin:0 0 45px;
border-top:2px solid #ccc;
border-bottom:2px solid #ccc;
}
#first_view dl{
display:flex;
justify-content:space-between;
line-height:180%;
}
#first_view dl > div{
width:330px;
}

#first_view dt{
font-size:22px;
font-weight:600;
height:36px;
}
#first_view dd{
font-size:20px;
font-weight:600;
line-height:180%;
border-radius:4px;
background:#f4f4f4;
padding:22px 0;
box-sizing:border-box;
height:calc(100% - 36px);

display: flex;
flex-direction: column;
justify-content: center;
}
#first_view dd span{
font-size:16px;
line-height:120%;
}

/* #digest_block */
#digest_block{
border-bottom:2px solid #ddd;
padding:30px 0;
}

.features dl{
display:flex;
justify-content:space-between;
}
.features dl div{
background:#f4f4f4;
width:330px;
padding:40px 18px;
text-align:center;
}
.features dt{
font-weight:600;
margin:10px 0 40px;
font-size:20px;
}
.features dd{
font-size:16px;
line-height:180%;
}

.conditions dl{
display:flex;
flex-wrap:wrap;
line-height:180%;
}
.conditions dt{
width:130px;
}
.conditions dd{
width:calc(100% - 130px);
}

/* details01 */

#details01{
border-bottom:2px solid #ddd;
padding:30px 0;
}
.flow dt{
font-weight:600;
font-size:20px;
line-height:150%;
}
.flow dd{
font-size:16px;
line-height:180%;
margin: 0 0 35px 35px;
}
.flow p{
font-size:16px;
line-height:180%;
}

.quality_policy dl{
display:flex;
flex-wrap:wrap;
line-height:180%;
}
.quality_policy dt{
width:140px;
}
.quality_policy dd{
width:calc(100% - 140px);
line-height:180%;
display:flex;
}
.quality_policy dd div{
font-size:16px;
line-height:180%;
}

.quality_policy a{
color:#000;
text-underline-offset:6px;
}
.quality_policy .c-table-dl{
margin:.5em 0;
font-size:16px;
line-height:180%;
width:auto;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
}
.quality_policy .c-table-dl th{
width:auto;
font-family: inherit;
font-feature-settings: 'palt';
font-optical-sizing: auto;
font-style: normal;
color:inherit;
text-align:center;
}
.quality_policy .c-table-dl td{
width:auto;
font-family: inherit;
font-feature-settings: 'palt';
font-optical-sizing: auto;
font-style: normal;
color:inherit;
}
.quality_policy dd > div > ul{
margin:.5em 0 1.5em;
font-size:16px;
line-height:180%;
}
.quality_policy dd > div > p{
margin:.5em 0;
font-size:16px;
line-height:180%;
}
.quality_policy dd > div > ol{
margin:0 0 0 1.8em;
font-size:16px;
line-height:180%;
}
/* details02 */

#details02{
border-bottom:2px solid #ddd;
padding:30px 0;
}
.purpose li{
line-height:180%;
}

/* 事例 */
.casestudy_block {
margin:50px auto 0;
}
.casestudy_block > li{
margin:0 0 70px;
position:relative;
}
.casestudy_block dl{
padding:10px;
display:flex;
flex-wrap:wrap;
justify-content: end;
font-weight:600;
}
.casestudy_block dl:not(:first-of-type) {
border-top: 2px solid #eee;
}

.casestudy_block dl dt{
font-size:16px;
color:#666;
line-height:180%;
width:120px;
}
.casestudy_block dl dd{
font-size:16px;
line-height:180%;
width:calc(100% - 120px);
}
.casestudy_block dl dd.right{
text-align:right;
padding-left:0;
}
.casestudy_block dl dd.right span.value:last-child{
margin:0;
}
.casestudy_block dl .customer{
font-size: 20px;
}
.casestudy_block dl .name{
font-size:16px;
}
.casestudy_block dl .name::after{
content:" ： ";
}
.casestudy_block dl strong.value{
font-size:20px;
font-weight:600;
margin:0 15px 0 0;
}
.casestudy_block dl span.value{
font-size:16px;
margin:0 15px 0 0;
}
.casestudy_block dl .description{
font-size: 16px;
margin:0 -10px 0.5em 0;
}
.casestudy_block .keyword{
display:flex;
flex-wrap:wrap;
gap:6px;
position:absolute;
right:10px;
top:12px;
}
.casestudy_block .keyword li{
font-size:16px;
font-weight:normal;
display:inline-block;
border:1px solid #ccc;
border-radius:6px;
line-height:150%;
padding:4px 20px;
}

/* スマホ版 */
@media screen and (max-width: 599px){
  #content{
   min-width:auto;
   max-width:100%;
   width:100%;
  }
  .content_block{
  width:calc(100% - 20px);
  font-size:18px;
  }
  #first_view h1{
    font-size:32px;
  }
  #first_view .sub_copy{
    font-size:18px;
    text-align:left;
    display:table;
    margin:0 auto 45px;
  }
  #first_view dt{
    font-size:18px;
  }
  #first_view dd{
    font-size:18px;
    line-height:120%;
    padding:16px 8px;
  }
  #first_view dl > div{
    width:32%;
  }
  .cv_block a{
    font-size: 24px;
    max-width:calc(100% -  80px);
    height:60px;
  }
  .cv_block.fixed_cv_block{
    width:220px;
  }
  .cv_block.fixed_cv_block a{
    max-width: 100%;
  }

  .block_title{
    font-size: 24px;
  }
  #digest_block{
    padding:10px 0;
  }
  .features dl div {
    width:32%;
    padding:16px 8px;
  }
  .features dt{
    font-size: 18px;
  }
  .features dd{
    font-size: 14px;
  }
  .conditions dt{
    width:90px;
  }
  .conditions dd{
    width:calc(100% - 90px);
  }
  .flow dd{
    margin: 0 0 35px 20px;
  }
  .quality_policy dl{
    display:block;
  }
  .quality_policy dt{
    float:left;
  }
  .quality_policy dd{
    width:auto;
    display:block;
  }
  .quality_policy dd .c-table-dl{
    margin: .5em 0;
  }
  .quality_policy dd .c-table-dl th,
  .quality_policy dd .c-table-dl td{
    padding: 12px 12px;
  }
  .quality_policy dd div{
    font-size: 14px;
    margin-left:16px;
  }
  .quality_policy .c-table-dl{
    font-size: 14px;
  }
  .quality_policy dd > div > ul{
    margin: .5em 0;
    font-size: 14px;
  }
  .quality_policy dd > div > p{
    font-size: 14px;
  }
  .quality_policy dd > div > ol {
    margin: 0 0 0 2.5em;
    font-size: 14px;
  }
  .flow dt {
    font-size: 18px;
  }
  .flow dd{
    font-size: 14px;
  }
  .casestudy_block dl{
  padding:10px 5px;
  }
  .casestudy_block dl dt{
    font-size:14px;
    width:100px;
  }
  .casestudy_block dl dd{
    width:calc(100% - 100px);
    font-size:14px;
  }
  .casestudy_block dl .right{
    margin-top:20px;
  }
  .casestudy_block dl .customer,
  .casestudy_block dl strong.value{
    font-size:18px;
  }
  .casestudy_block .keyword{
    position:static;
    justify-content:end;
  }
  .casestudy_block .keyword li{
    font-size: 14px;
    padding:4px 10px;
  }
  .casestudy_block dl span.value,
  .casestudy_block dl .name{
    font-size: 14px;
  }
}

