.main_visual{ margin-top:149px; color:#fff; text-align:center; }
.main_visual > .head{ font-weight:bold; font-size:29px; line-height:38px; }
.main_visual > .body{ margin-top:26px; font-size:16px; line-height:23px; letter-spacing: 0.05em; }
@media screen and (min-width:1104px){
  .main_visual{ max-width:1104px; margin-left:auto; margin-right:auto; }
  .main_visual{ margin-top:280px; }
  .main_visual > .head{ font-size:50px; line-height:70px; }
  .main_visual > .body{ font-size:20px; line-height:32px; margin-top:30px; }
}

.sub_visual{ padding-top:41px; }
.sub_visual > .word{ background-color:#fff; box-shadow: 3px 2px 11px rgba(0, 0, 0, 0.25); border-radius:6px; padding:30px 0 24px; }
.sub_visual > .word{ display:flex; flex-direction:row; justify-content:center; }
.sub_visual > .word > .left{ flex-shrink:0; width:121px; }
.sub_visual > .word > .left{ display:flex; justify-content:left; align-items:center; padding-left:30px; }
.sub_visual > .word > .left > img{  }
.sub_visual > .word > .right{ flex-grow:1; text-align:center; padding-right:20px; }
.sub_visual > .word > .right > .head{ font-weight:bold; font-size:17px; line-height:20px; letter-spacing:0.02em; }
.sub_visual > .word > .right > .body{ margin-top:12px; font-size:12px; line-height:18px; color:#777; }
.sub_visual > .word ~ .word{ margin-top:20px; }
@media screen and (min-width:1104px){
  .sub_visual{ max-width:1020px; margin-left:auto; margin-right:auto; }
  .sub_visual{ margin-top:256px; padding-top:0; }
  .sub_visual{ display:flex; flex-direction:row; }
  .sub_visual{ position:relative; }
  .sub_visual > .word ~ .word{ margin-top:0;}
  .sub_visual > .word{ width:31.52%; margin-left:2.71%; padding-bottom:30px; }
  .sub_visual > .word:nth-child(3n-2){ margin-left:0; }
  .sub_visual > .word{ flex-direction:column; }
  .sub_visual > .word > .left{ justify-content:center; padding-left:0; }
  .sub_visual > .word > .left{ width:auto; height:180px; }
  .sub_visual > .word > .right{ padding-right:0; }
  .sub_visual > .word > .right > .head{ font-size:22px; line-height:26px; }
  .sub_visual > .word > .right > .body{ margin-top:21px; font-size:16px; line-height:24px; }
  .sub_visual:before{ position:absolute; top:-256px; display:block; content:""; clear:both; width:100%; height:256px;}
  .sub_visual:before{ background:url(/assets/svg/scroll.svg) no-repeat center center; background-size:78px 113px; }
}

.grow{ margin-top:80px; }
.grow .grow_list{ margin-top:44px; }
.grow .grow_list > .item{  }
.grow .grow_list > .item > .head{ display:flex; flex-direction:row; align-items:flex-end; }
.grow .grow_list > .item > .head > .left{ padding-right:10px; flex-shrink:0; text-align:left; font-size:16px; line-height:26px; color:#777777; }
.grow .grow_list > .item > .head > .left > strong{ color:#000000; font-size:18px; }
.grow .grow_list > .item > .head > .right{ text-align:right; flex-grow:1; font-weight:bold; }
.grow .grow_list > .item > .head > .right > .txt_s{ position:absolute; top:-16px; right:0; font-size:13px; font-weight:normal; line-height:15.6px; color:#9A9A9A; }
.grow .grow_list > .item > .head > .right > .txt{ display:inline-block; padding-left:4px; background:#ffffff; font-size:31px; line-height:33px; }
.grow .grow_list > .item > .head > .right:before{ position:absolute; left:0; top:50%; display:block; content:""; clear:both; border-top: 1px dashed #777777; }
.grow .grow_list > .item > .head > .right:before{ width:100%; height:1px; }
.grow .grow_list > .item > .body{ margin-top:18px; padding:47px 14px; background-color:#FBFBFB; border-radius:5px; }
.grow .grow_list > .item > .body{ display:flex; flex-direction:row; align-items:center; }
.grow .grow_list > .item > .body > .left{ flex-shrink:0; }
.grow .grow_list > .item > .body > .right{ flex-grow:1; font-size:22px; line-height:27px; }
.grow .grow_list > .item ~ .item{ margin-top:50px; }
@media screen and (min-width:1104px){
/*  .grow .grow_list{  }
  .grow .grow_list > .item{ float:left; width:46.82%; margin-left:6.34%; }
  .grow .grow_list > .item > .head > .left{ font-size:20px; line-height:30px; }
  .grow .grow_list > .item > .head > .right > .txt{ background-color:#F9F8F8; font-size:40px; line-height:46px; }
  .grow .grow_list > .item > .body{ background-color:inherit; }
  .grow .grow_list > .item ~ .item{ margin-top:0; }
  .grow .grow_list > .item:nth-child(2n-1){ margin-left:0; }
  .grow .grow_list > .item:nth-child(n+3){ margin-top:6.34%; }
  .grow .grow_list:after{ display:block; content:""; clear:both; }*/
  
  .grow{ margin-top:130px; }
  .grow .grow_list{ display:grid; grid-template-columns:1fr 1fr; column-gap:70px; margin-top:75px; }
  .grow .grow_list > .item{}
  .grow .grow_list > .item > .head > .left{ font-size:21px; line-height:30px; }
  .grow .grow_list > .item > .head > .left > strong{ font-size:25px; }
  .grow .grow_list > .item > .head > .right > .txt_s{ top:-16px; font-size:16px; line-height:16px;}
  .grow .grow_list > .item > .head > .right > .txt{ background-color:#F9F8F8; font-size:40px; line-height:42px; }
  .grow .grow_list > .item > .body{ background-color:inherit; }
  .grow .grow_list > .item > .body{ margin-top:0; padding:41px 22px 85px; }
  .grow .grow_list > .item > .body > .right{ font-size:26px; line-height:28px; }
  .grow .grow_list > .item ~ .item{ margin-top:0; }
}

.project{ padding-top:120px; }
.project .project_list{ margin-top:44px; }
.project .project_list > .item{  }
.project .project_list > .item > .thumb{  }
.project .project_list > .item > h3{ margin-top:24px; font-weight:bold; font-size:24px; line-height:29px; letter-spacing:0.06em; color:#000; }
.project .project_list > .item > .desc{ margin-top:14px; font-size:16px; line-height:24px; letter-spacing:0.06em; color:#777; }
.project .project_list > .item ~ .item{ margin-top:80px; }
@media screen and (min-width:1104px){
  .project{ background-color:#ffffff; }
/*  .project .project_list > .item{ float:left; width:49.9%; margin-left:0.18%; }
  .project .project_list > .item ~ .item{ margin-top:0px; }
  .project .project_list > .item:nth-child(2n-1){ margin-left:0; }
  .project .project_list > .item:nth-child(n+3){ margin-top:0.18%; }
  .project .project_list:after{ display:block; content:""; clear:both; }*/
  .project > .sec_content{ max-width:1214px; }
  .project .project_list{ display:grid; grid-template-columns:1fr 1fr; row-gap:112px; }
  .project .project_list > .item > h3{ font-size:28px; line-height:33px; }
  .project .project_list > .item > .desc{ margin-top:16px; font-size:20px; line-height:30px; }
  .project .project_list > .item ~ .item{ margin-top:0px; }
  .project .project_list > .item > .thumb{ display:flex; justify-content:center; align-items:flex-end; height:576px; }
}

.blog{ padding-top:89px; overflow:hidden; }
.blog > a{ display:block; padding:16px 16px 16px 30px; background-color:#172026; mix-blend-mode: multiply; border-radius:56px; color:#ffffff; }
.blog > a{ font-weight:bold; font-size:18px; letter-spacing:0.04em; }
.blog > a{ display:flex; flex-direction:row; justify-content:space-between; align-items:center; }
.blog > a > .left{ flex-grow:1; line-height:28px; text-align:left; }
.blog > a > .left > img{ vertical-align:middle; }
.blog > a > .right{ flex-shrink:0; padding:0 25px 0 16px; border-radius:27px; height:28px; line-height:28px; }
.blog > a > .right{ background:#32B44A url(/assets/svg/arrow_r.svg) no-repeat calc(100% - 11px) center; background-size:9px 11px; }
.blog > a > .right > img{ vertical-align:middle; }
.blog > a:before{
  position:absolute; left:50%; top:0; transform:translateX(-50%);
  display:block; content:""; clear:both;
  background:url(/assets/image/header.png) no-repeat center 85%;
  background-size:cover;
  mix-blend-mode: multiply; border-radius:56px;
  width:100%; height:100%;
  opacity:0.9;
}
@media screen and (min-width:1104px){
  .blog{ background-color:#ffffff; }
  .blog > a{ padding:32px 34px 32px 80px; border-radius:100px; }
  .blog > a{ max-width:1104px; margin-left:auto; margin-right:auto; }
  .blog > a{ font-size:34px; line-height:40px; letter-spacing:40px; }
  .blog > a > .right{ padding:0 49px 0 31px; background-size:15px 20px; height:56px; line-height:56px; background-position-x:calc(100% - 21px); }
  .blog > a:before{ border-radius:100px; background-image:url(/assets/image/header_pc.png); }
}

.history{ padding-top:130px; padding-bottom:57px; }
.history .history_list{ margin-top:80px; padding-right:50px; height:400px; }
.history .history_list > .item{ padding-right:63px; }
.history .history_list:after{ position:absolute; right:0; top:0; display:block; content:""; clear:both; background:#4d81d7; width:50px; height:100%; }

.history .history_list1{ margin-top:44px; font-size:0; }
@media screen and (min-width:1104px){
  .history{ padding-bottom:200px; background-color:#ffffff; }
}