@charset "UTF-8";
/* CSS Document */

/* **ソートリスト**
1__全体設定
2__TOP設定
3__下層設定
4__CSSハック
5__プラグイン制御
6__アニメーション
7__写真設定
*/
@media print{
footer,
.pagetop,
nav,
header{display:none !important;}
*{opacity:1 !important;}

}

/*============================
==============================
==============================
==============================
#1__全体設定
============================*/
/* -WEB フォント (GIBSON)- */
:root {
    font-size: 62.5%;
}
.kaso_page_title h2 .en,
.section_inner_block .section_title03 .en{font-family: din-2014, sans-serif;
font-weight: 800;
font-style: normal;}
.section_title2,
.section_inner_block .cv_btn_area .cv_btn .title,
.section_inner_block .section_title02,
.section_inner_block .section_title01,
#main_visual  .section_inner_block .main_visual_copy .copy2{font-family: din-2014,sans-serif;font-weight: 700;font-style: normal;}
.section_inner_block .flow_block01 .flow_block_list .title_block .number,
.section_inner_block .lineup_block01 .category{font-family: din-2014,sans-serif;font-weight: 400;font-style: normal;}
.section_inner_block.full{width:100%;}

/*============================
#main_visual
============================*/
#main_visual {height:350px;position:relative;z-index:0;}
#main_visual:before{content:"";display:block;width:67.5vw;height:100%;position:absolute;left:0;top:0;background:#1f3182;z-index:0;}
#main_visual:after{content:"";display:block;background:url(/img/top_background00.jpg) center center /cover no-repeat;height:290px;width:79vw;z-index:1;position:absolute;top:0;right:0;}
body#profile_page #main_visual:after{background-image:url("/img/kaso_backimg04.jpg");}
body#record_page #main_visual:after{background-image:url("/img/kaso_backimg13.jpg");}
body#vision_page #main_visual:after{background-image:url("/img/kaso_backimg14.jpg");}
body#service_page #main_visual:after{background-image:url("/img/kaso_backimg15.jpg");}
body#print_page #main_visual:after,
body#move_page #main_visual:after,
body#products_page #main_visual:after,
body#portfolio_page #main_visual:after{background-image:url("/img/kaso_backimg16.jpg");}
body#voice_page #main_visual:after{background-image:url("/img/kaso_backimg18.jpg");}
body#message_page #main_visual:after,
body#recruit_page_form #main_visual:after,
body#recruit_page #main_visual:after{background-image:url("/img/kaso_backimg17.jpg");}
#main_visual > section{position:relative;z-index:2;}

/*============================
#body
============================*/
body{overflow-wrap: break-word;word-wrap: break-word;word-break: normal !important;hanging-punctuation: force-end;line-break: strict;font-size: 1.6rem;}
.section_inner_block {padding:90px 0;width:86vw;min-width:1040px;margin:0 auto;box-sizing:border-box;padding-left: 2rem;}
.section_inner_block .section_title01 {font-size: 50px;color:#FFF;margin:0 0 70px 0;line-height:45px;}
.section_inner_block .section_title02 {font-size:60px;color:#000;margin:0 0 70px 0;line-height:45px;text-align:center;}
.section_inner_block .section_title03{  position: relative;  margin-bottom: 69px;}
.section_inner_block .section_title03 .en{  font-size: 50px;  margin-bottom: 8px;}
.section_inner_block .section_title03 .jp{  font-size: 28px;  font-weight: bold;}

.red{color:red;}


#body section:nth-child(7) .section_inner_block{padding:92px 0;}
/*#body section:nth-child(8) .section_inner_block{padding:0 0;}*/
#body section:nth-child(n + 6){margin:0;}
#body section:last-of-type(1),
#body section:last-of-type(2){margin:0;}

#body section#section_vision:after{background:url(/img/section_img01.jpg) center center /cover no-repeat;}
#body section#section_domain:after{background:url(/img/section_img02.jpg) center center /cover no-repeat;}
#body section#section_service:after{background:url(/img/section_img03.jpg) center center /cover no-repeat;}
#body section#section_flow:after{background:url(/img/section_img04.jpg?date=0618) center center /cover no-repeat;}
#body section#section_flow{z-index:3;margin: 0 !important;}
#body section#section_voice{z-index:2;}
#body section#section_logo{background:#ebebf2;position:relative;}
#body section#section_logo > *{position: relative;z-index:1;}
#body #section_logo .section_inner_block{padding:0;}
#body section#section_logo .section_inner_block .logo_block02{background: none;}
#body section#section_logo:before{content:"";position:absolute;top:133px;left:0;width:93vw;display:block;z-index:0;background:#ebebf2;height:100%;top:0;left:0;background:#FFF;width:7vw;}

.tabmenu01{  max-width: 1040px;  position: relative;  margin: 0 auto;}
.tabmenu01:nth-last-child(n + 2){  margin-bottom: 128px;}
.tabmenu01 > ul{  display: flex;}
.tabmenu01 > ul > li{  font-size: 18px;  line-height: 30px;  text-align: center;  margin-right: 20px;  width: 100%;  box-sizing: border-box;  border: 1px solid #000;  font-weight: bold;  transition:all 0.3s;  -webkit-transition:all 0.3s;  -ms-transition:all 0.3s;  -moz-transition:all 0.3s;  cursor: pointer;}
.tabmenu01 > ul > li.on{  color: #fff;  background: #000;}
.tabmenu01 > ul > li:last-child{margin-right:0;}
.tabmenu01 > ul > li > a{  padding: 24px 10px;  display: block;color:inherit}

.tabmenu01 > ul > li > a{position: relative;z-index: 1;}
.tabmenu01 > ul > li > a:before{position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: -1;content: '';transform-origin: right top;transform: scale(0, 1);transition: transform .3s;width: 100%;}
.tabmenu01 > ul > li.on > a{color: #fff;}
.tabmenu01 > ul > li > a:before{background: rgba(0,0,0,1);z-index: -1;}
.tabmenu01 > ul > li > a > a{  font-size: 18px;  font-weight: bold;  text-align: center;  width: 510px;  padding: 25px 26px 26px 26px;  box-sizing: border-box;  border: 1px solid #1E3081;  background: none;  display: block;  color:#000;transition:all 1s;}
.tabmenu01 > ul > li:not(.on) > a:hover::before{transform-origin: left top;transform: scale(1, 1);}
.tabmenu01 > ul > li:not(.on) > a:hover::after {transition-delay: .3s;}
.tabmenu01 > ul > li > a:hover{color:#fff;opacity:1;}

.check01 {position: relative;}
.check01 > input{display: inline;visibility: hidden;left:0;top:0;position: absolute;appearance: auto;margin: 0;padding: 0;width: 10px;}
.check01>label{position: relative;  display: inline-block;  padding: 3px 3px 3px 22px;  cursor: pointer;  -webkit-transition: all .2s;  transition: all .2s;}
.check01>label::before {top: 50%;left: 0;width: 14px;height: 14px;margin-top: -8px;background: #f4f4f4;border: 2px solid #dcdcdc;border-radius: 3px;}
.check01>label::before,.check01>label::after {  position: absolute;  content: '';  -webkit-transition: all .2s;  transition: all .2s;}
.check01>input[type="checkbox"]:checked + label::before,
.check01>input[type="checkbox"]:checked + label::after{  border-color: #1f3182;  opacity: 1 !important;}
.check01>label>input{display: inline;  visibility: hidden;}
.check01>label::after {opacity: 0;top: 50%;left: 0px;width: 15px;height: 8px;margin-top: -7px;border-left: 4px solid #1f3182;border-bottom: 4px solid #1f3182;-webkit-transform: rotate(-45deg) scale(.5);transform: rotate(-45deg) scale(.5);}
.radio01{position: relative;padding-left: 19px;}
.radio01:before{  content:"";  width: 19px;  height: 19px;  -moz-border-radius: 50px;  -ms-border-radius: 50px;  -o-border-radius: 50px;  border-radius: 50px;  -webkit-border-radius: 50px;  border: 2px solid #ccc;  margin: 0;  vertical-align: middle;  position: absolute;  left: 0;  background: #fff;  top: 2px;  box-sizing: border-box;  }
.radio01 input[type="radio"]{  display: none;}
.radio01 input[type="radio"]:checked + label::after {  content: "";  position: absolute;  background: #727171;  width: 7px;  height: 7px;  right: 0;  margin: auto;  box-sizing: border-box;  -moz-border-radius: 50px;  -ms-border-radius: 50px;  -o-border-radius: 50px;  border-radius: 50px;  -webkit-border-radius: 50px;  top: 8px;  left: -20px;}
.radio01 label{display: inline-block;}

.note01{  font-size: 14px;  margin-top: 5px;}

.line01{
}
.line01  > ul{}
.line01  > ul  > li{  display: inline-block;  vertical-align: middle;  margin-right: 10px;}
.line01 > ul > li:last-child{margin-right:0;}
.line01  > ul  > li  > .input{
    width: 80px;
}
.line01  > ul  > li  > .input > input{}
.input.col3{  display: inline-block;  vertical-align: middle;  margin: 0;}
.input.col3  > input{  max-width: 100px;}
.input.col2{  display: inline-block;  vertical-align: middle;  margin-right:15px;}
.input.col2  > input{  max-width: 200px;}
.line01  > ul  > li  > input{}

.line02{}
.line02  > ul{  text-align: center;}
.line02  > ul  > li{  display: inline-block;  vertical-align: top;  margin-right: 20px;}
.line02 > ul > li:last-child{margin-right:0;}

.btn01{}
.btn01 > input,
.btn01 > button,
.btn01 > a{background: #f0f0f0;border: 2px solid #dcdcdc;border-radius: 5px;-webkit-border-radius: 5px;font-size: 16px;line-height: 20px;padding: 10px 20px;display: inline-block;width: 100%;}


.btn02{position: relative;z-index: 1;max-width: 510px;margin: 0 auto;}
.btn02:before{position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: -1;content: '';transform-origin: right top;transform: scale(0, 1);transition: transform .3s;width: 100%;}
.btn02:before{background: #000;}
.btn02 > input,
.btn02 > button,
.btn02 > a{  font-size: 18px;  font-weight: bold;  text-align: center;  width: 510px;  padding: 25px 26px 26px 26px;  box-sizing: border-box;background: none;  border: 1px solid #000;  transition: all 0.3s;  -webkit-transition: all 0.3s;  -ms-transition: all 0.3s;  display: block;}
.btn02:hover::before{transform-origin: left top;transform: scale(1, 1);}
.btn02 > a:hover,
.btn02 > input:hover,
.btn02 > button:hover{color:#fff;opacity:1;}

.btn03{position: relative;z-index: 1;}
.btn03:before{position: absolute;top: 0;right: 0;bottom: 0;left: 0;z-index: -1;content: '';transform-origin: right top;transform: scale(0, 1);transition: transform .3s;width: 100%;}
.btn03:before{background: #FFF;z-index: 1;}
.btn03:after{position: absolute;content: '';width: 100%;background: #1E3081;left: 0;top: 0;height: 100%;}
.btn03 > input,
.btn03 > button,
.btn03 > a{font-size: 18px;font-weight: bold;text-align: center;color: #fff;width: 510px;padding: 25px 26px 26px 26px;box-sizing: border-box;background:none;border: 1px solid #1E3081;display: block;position: relative;z-index: 1;}
.btn03:hover::before{transform-origin: left top;transform: scale(1, 1);}
.btn03:hover > a,
.btn03:hover > input,
.btn03:hover > button{color: #1E3081;border-color: #1E3081;
    background: rgba(0,0,0,0);}

.lead01{  text-align: center;}
.lead01 .title{  font-size: 32px;  font-weight: bold;  margin-bottom: 60px;}
.lead01 .text{  font-size: 18px;}
.lead01 .text p{  margin-bottom: 20px;}
.lead01 .text p:last-child{margin-bottom: :0;}

.section_top{margin-bottom: 15px;}
.section_top .left{
    float: left;
}

/* -共通クラス(text)- */
.text01{
    font-size: 18px;
    line-height: 1.8;
}
.text01 p{}
.text01 p:not(:last-child){
    margin-bottom: 30px;
}

/*============================
==============================
==============================
==============================
#3__下層設定
============================*/
/* -全体設定- */
body.kaso #body{padding:130px 0 0 0 ;}
section.bg_layout01{position:relative;padding:100px 0 0 0;}
section.bg_layout01:before{content:"";position:absolute;top:100px;right:0;width:79vw;height:80%;display:block;z-index:0;background:#ebebf2;}
section.bg_layout01:after{content:"";position:absolute;top:0px;right:0;width:42vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg01.jpg) left center /cover no-repeat;}

.section_inner_block .text_block01 {margin:0 0 90px;    padding-right: 1rem;}
.section_inner_block .text_block01:last-child{margin:0;}
.section_inner_block .text_block01 .section_title01 {color:#FFF;margin:0 0 35px 0;}
.section_inner_block .text_block01 .sub_title {color:#FFF;font-size: 22px;margin:0 0 25px;font-weight: bold;}
.section_inner_block .text_block01 .sub_title span{  font-size: 18px;  vertical-align: middle;margin-bottom: 10px;  display: inline-block;}
.section_inner_block .text_block01 .sub_title p {margin-right: 20px;display: inline-block}

.section_inner_block .text_block01 .desc {color:#FFF;line-height:2;font-size:16px;}

section.bg_layout01 > *{position:relative;z-index:1;}

section.bg_layout02{  position: relative;}
section.bg_layout02 .section_inner_block{  display: flex;  flex-direction: column;  -webkit-flex-direction: column;  align-items: flex-end;  -webkit-align-items: flex-end;  padding-top: 0;  }
section.bg_layout02:after{content:"";position:absolute;top:0px;left: 0;width: 41.667vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg03.jpg) center center /cover no-repeat;}
section.bg_layout02 .text_block01{  width: 45.834vw;  margin-bottom: 84px;}
section.bg_layout02 .section_inner_block .section_title01{color: #000;font-size: 50px;margin-bottom: 21px;}
section.bg_layout02 .section_inner_block .sub_title{color: #000;font-size: 28px;}
section.bg_layout02 .section_inner_block .desc{color: #000;}

section.bg_layout03{  position: relative;}
section.bg_layout03 .section_inner_block{  }
section.bg_layout03:before{content:"";position:absolute;top: 0;right:0;width:79vw;height: 100%;display:block;z-index:0;background:#ebebf2;}
section.bg_layout03:after{content:"";position:absolute;top:0px;right:0;width:42vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg04.jpg) right center /cover no-repeat;}
section.bg_layout03 .text_block01{  width: 45.834vw;  position: relative;}
section.bg_layout03 .section_inner_block .section_title01{color: #000;}
section.bg_layout03 .section_inner_block .sub_title{color: #000;}
section.bg_layout03 .section_inner_block .desc{color: #000;}

section.bg_layout04{  position: relative;}
section.bg_layout04 .section_inner_block{position: relative;  }
section.bg_layout04:before{content:"";position:absolute;top: 0;right:0;width:79vw;height: 100%;display:block;z-index:0;background:#ebebf2;}
section.bg_layout04:after{}

section.bg_layout05{position:relative;padding:100px 0 0 0;}
section.bg_layout05 .section_inner_block{position:relative;padding: 90px 0 220px 0;}
section.bg_layout05:before{content:"";position:absolute;top:100px;right:0;width:79vw;height: 96%;display:block;z-index:0;background:#ebebf2;}
section.bg_layout05:after{content:"";position:absolute;top:0px;left: 0;width: 41.667vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg05.jpg) center center /cover no-repeat;}

section.bg_layout06{  position: relative;}
section.bg_layout06 .section_inner_block{  padding: 0 0 90px 0;  }
section.bg_layout06:before{content:"";position:absolute;top: 0;right:0;width:79vw;height: 100%;display:block;z-index:0;background:#ebebf2;}
section.bg_layout06:after{content:"";position:absolute;top:0px;right:0;width:42vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg06.jpg) right center /cover no-repeat;}
section.bg_layout06.graphic:after{background:url(/img/kaso_backimg08.jpg) right center /cover no-repeat;}
section.bg_layout06 .text_block01{  width: 45.834vw;  position: relative;}
section.bg_layout06 .section_inner_block .section_title01{color: #000;font-size: 50px;margin-bottom: 22px;line-height: 38px;}
section.bg_layout06 .section_inner_block .sub_title{color: #000;margin-bottom: 32px;font-size: 28px;}
section.bg_layout06 .section_inner_block .desc{color: #000;}
section.bg_layout06 .section_inner_block .desc p{  margin-bottom: 28px;}
section.bg_layout06 .section_inner_block .desc p:last-child{margin-bottom:0;}
.bg_layout06 > .section_inner_block > .text_block01 > .desc > p > b{  font-size: 18px;  font-weight: bold;  display: block;  margin-bottom: 3px;}

.bg_layout07{  position: relative;}
.bg_layout07 > .section_inner_block{  display: flex;  flex-direction: column;  -webkit-flex-direction: column;  align-items: flex-end;  -webkit-align-items: flex-end;  padding: 120px 0 135px 0;}
.bg_layout07 > .section_inner_block > .text_block01{  width: 45.834vw;}
.bg_layout07 > .section_inner_block > .text_block01 > h2.section_title01{  color: #000;  font-size: 50px;  margin-bottom: 22px;}
.bg_layout07 > .section_inner_block > .text_block01 > .sub_title{}
.bg_layout07 > .section_inner_block > .text_block01 > .desc{}
.bg_layout07 > .section_inner_block > .text_block01 > .desc > p{  margin-bottom: 28px;}
.bg_layout07 > .section_inner_block > .text_block01 > .desc > p:last-child{margin-bottom:0;}
.bg_layout07 > .section_inner_block > .text_block01 > .desc > p > b{  font-size: 18px;  font-weight: bold;  display: block;  margin-bottom: 3px;}
section.bg_layout07 .section_inner_block .section_title01{color: #000;}
section.bg_layout07 .section_inner_block .sub_title{color: #000;margin-bottom: 32px;font-size: 28px;}
section.bg_layout07 .section_inner_block .desc{color: #000;}
section.bg_layout07:after{content:"";position:absolute;top: 121px;left: 0;width:42vw;height:500px;display:block;z-index:0;background:url(/img/kaso_backimg07.jpg) center center /cover no-repeat;}
section.bg_layout07.movie:after{background:url(/img/kaso_backimg09.jpg) right center /cover no-repeat;}

section.bg_layout08{position:relative;padding:100px 0 0 0;margin-top: -100px;}
section.bg_layout08 .section_inner_block {  position: relative;  max-width: 940px;}
.bg_layout08 > .section_inner_block > .text_block01{  width: 100%;}
section.bg_layout08 .section_inner_block .section_title01{color: #000;}
section.bg_layout08 .section_inner_block .sub_title{color: #000;margin-bottom: 32px;font-size: 28px;}
section.bg_layout08 .section_inner_block .desc{color: #000;}
section.bg_layout08:after{content:"";position:absolute;top:100px;right:0;width:100%;height: calc(100% - 90px);height: -webkit-calc(100% - 90px);height: -ms-calc(100% - 90px);display:block;z-index:0;background: url('/img/kaso_backimg10.jpg') center top /cover no-repeat;z-index:1;}
section.bg_layout08:before{content:"";position:absolute;top:100px;left:0;width:21vw;height: calc(100% - 90px);height: -webkit-calc(100% - 90px);height: -ms-calc(100% - 90px);background:#FFF;z-index:2;}
section.bg_layout08 > *{position:relative;z-index:3;}
section.bg_layout09{position:relative;padding:100px 0 0 0;}
section.bg_layout09:before{content:"";position:absolute;top:85px;left:0;width:79vw;height: calc(100% - 90px);height: -webkit-calc(100% - 90px);height: -ms-calc(100% - 90px);display:block;z-index:0;background:#ebebf2;}
section.bg_layout09 > *{position:relative;z-index:1;}
section.bg_layout09 .recruit_table:nth-of-type(2n){  margin-left: auto;}
section.bg_layout09 .recruit_table:nth-of-type(2n):after{  right: auto;  left: -40.5vw;}

section.bg_layout10{position:relative;padding: 0;}
section.bg_layout10 > *{position:relative;z-index:1;}
section.bg_layout10 > .section_inner_block{  min-height: 690px;}
section.bg_layout10 .text_block01{width: 44.1vw;position: relative;min-height: 507px;}
section.bg_layout10 .text_block01:nth-child(1) {padding-top: 5rem;}
section.bg_layout10 .text_block01:nth-child(3) {padding-top: 5rem;}
section.bg_layout10 .text_block01:nth-child(5) {padding-top: 5rem;}
section.bg_layout10 .text_block01:nth-child(7) {padding-top: 5rem;}
section.bg_layout10 .text_block01:nth-of-type(2n){  margin-left: auto;}
section.bg_layout10 .text_block01:nth-of-type(2n):after{  right: auto;  left: -40.5vw;}
section.bg_layout10 .section_inner_block .section_title01{color: #000;}
section.bg_layout10 .section_inner_block .sub_title{color: #000;margin-bottom: 32px;font-size: 28px;}
section.bg_layout10 .section_inner_block .desc{color: #000;}

section.bg_layout10 .section_inner_block .text_block01:after{content:"";position:absolute;right:-40.5vw;width:35vw;height:420px;display:block;z-index:0;background:url(/img/kaso_backimg02.jpg) center bottom /cover no-repeat;top: 80px;}
section.bg_layout10:before{content:"";position:absolute;top: 0;left:0;width:79vw;height: calc(100% - 40px);height: -webkit-calc(100% - 40px);display:block;z-index:0;background:#ebebf2;}

section.bg_layout10:nth-child(2n) .text_block01{  margin-left: auto;}
section.bg_layout10:nth-child(2n):before{  left: auto;  right: 0;}
section.bg_layout10:nth-child(2n) .section_inner_block .text_block01:after{  right: auto;  left: -40.5vw;}
section.bg_layout10 .section_inner_block .text_block01:nth-child(2n):after{  top: 0;}



.kaso_page_title{height:290px;position:relative;z-index:1;}
.kaso_page_title:before{content: "";display: block;background:rgba(101,128,191,0.4);height: 290px;width: 79vw;z-index: 1;position: absolute;top: 0;right: 0;z-index:1;}
.kaso_page_title h2{position:absolute;right:60px;bottom:0;z-index:2;}
.kaso_page_title h2 span{display:block;color:#FFF;text-align: right;}
.kaso_page_title h2 span.jp{font-weight:bold;font-size:16px;line-height: 2;letter-spacing: 5px;}
.kaso_page_title h2 span.en{font-size:80px;line-height:54px;}


.section_title{font-size:32px;color:#000;font-weight:bold;line-height:1.2;margin:0 0 50px;}
.section_title2{font-size:32px;color:#000;font-weight:bold;line-height:1.2;margin:0 0 15px;}
.profile_table{width:46.5vw;margin:0 0 180px;border-bottom: 1px solid #dcdcdc;border-collapse: inherit;}
.profile_table th,
.profile_table td{font-size:16px;color:#000;padding:10px 0;border-top:1px solid #dcdcdc;text-align:left;font-weight:normal;vertical-align: top;}
.profile_table th{width:110px;}
.profile_table td .logo_link{display:inline-block;padding:20px 0 20px 0;}
.profile_table tr:last-child th,
.profile_table tr:last-child td{border-bottom:none;}
.profile_img{position:relative;}
.profile_img:after{content:"";position:absolute;bottom:0px;right:-40.5vw;width:35vw;height:420px;display:block;z-index:0;background:url(/img/kaso_backimg02.jpg) center bottom /cover no-repeat;}


/* -実績・事例- */
.portfolio_list{  position: relative;  max-width: 1040px;  margin: 0 auto;}
.portfolio_list > ul{  display: flex;  flex-wrap: wrap;  justify-content: space-between;  margin-bottom: -65px;}
.portfolio_list > ul > li{  width: 450px;  vertical-align: top;  margin-bottom: 65px;}
.portfolio_list > ul > li > a > .img{height: 361px;box-shadow: 3px 3px 3px rgba(0,0,0,0.1);margin-bottom: 24px;overflow: hidden;position: relative;background: #ffff;}
.portfolio_list > ul > li > a > .img span{
    color: #fff;
    position: absolute;
    right: 10px;
    bottom: 10px;
    font-size: 12px;
}
.portfolio_list > ul > li > a > .img.-small{height: 315px;}
.portfolio_list > ul > li > a:not([href]):hover{cursor:default;opacity:1;}
.portfolio_list > ul > li > a > .img img{  position: absolute;  right: 0;  top: 0;  left: 0;  bottom: 0;  margin: auto;}
.portfolio_list > ul > li > a > .img video{position: absolute;right: 0;bottom: 0;width: 100%;height: 100%;background-size: cover;}
.portfolio_list > ul > li > a > .textarea{}
.portfolio_list > ul > li > a > .textarea > .name{font-size: 16px;font-weight: bold;position: relative;padding-bottom: 13px;margin-bottom: 18px;color: #000;}
.portfolio_list > ul > li > a > .textarea > .name:before{position:absolute;content:"";width: 40px;height: 1px;background: #000;left: 0;bottom: 0;}
.portfolio_list > ul > li > a > .textarea > .icons{  margin-bottom: 25px;}
.portfolio_list > ul > li > a > .textarea > .icons > ul{  display: flex;  flex-wrap: wrap;  -webkit-flex-wrap: wrap;  margin-bottom: -12px;}
.portfolio_list > ul > li > a > .textarea > .icons > ul > li{  display: flex;  width: 108px;  letter-spacing: -1px;  margin-right: 5px;  margin-bottom: 12px;}
.portfolio_list > ul > li > a > .textarea > .icons > ul > li:nth-child(4n){margin-right:0;}
.portfolio_list > ul > li > a > .textarea > .icons > ul > li > .img{  margin-right: 5px;  width: 32px;}
.portfolio_list > ul > li > a > .textarea > .icons > ul > li > .img > img{}
.portfolio_list > ul > li > a > .textarea > .icons > ul > li > .txt{  font-weight: bold;  color: #969696;  font-size: 11px;  letter-spacing: -1px;}
.portfolio_list > ul > li > a > .textarea > .text{  color: #737373;  font-size: 15px;  line-height: 26px;}
.portfolio_list > ul > li > a > .textarea > .text > p{}


/* -制作実績・お取引実績- */
.record_content{  text-align: center;}
.record_content > .title{  font-size: 32px;  color: #000;  font-weight: bold;  line-height: 1.2;  margin: 0 0 50px;  padding-left: 0;  position: absolute;  left: 50%;  top: 90px;  }
.record_content .inner{}
.record_content .record_list{  text-align: left;  display: inline-block;  vertical-align: top;  min-width: 340px;}
.record_content .record_list:first-child{  float: left;  margin-top: 459px;  margin-left: 100px;  margin-right: -100px;}
.record_content .record_list:nth-child(n + 2){  margin-top: 84px;}
.record_content .record_list > .title{  font-size: 18px;  font-weight: bold;  margin-bottom: 23px;}
.record_content .record_list > ul{  font-size: 16px;}
.record_content .record_list > ul > li{  margin-bottom: 13px;}
.record_content .record_list > ul > li:last-child{margin-bottom:0;}

/* -お問い合わせ- */
.ssl{  max-width: 1040px;  margin-left: auto;  margin-right: auto;}
.ssl{text-align: right;}

.formtable01{  max-width: 1040px;  margin: 0 auto;}
.formtable01 table{  width: 100%;  margin-bottom: 60px;}
.formtable01 table  > tbody{}
.formtable01 table  > tbody  > tr{}
.formtable01 table  > tbody  > tr  > th{vertical-align: top;text-align: left;padding: 20px;border-bottom: 1px solid #dcdcdc;background: none;width: 200px;font-size: 18px;}
.formtable01 table  > tbody  > tr  > th .req{color:#ff0000;font-size:12px;display:inline-block;margin-left:5px;}
.formtable01 table  > tbody  > tr  > td{  background: none;  padding: 10px 0 10px 15px;  border-bottom: 1px solid #dcdcdc;  vertical-align: middle;}
.formtable01 table  > tbody  > tr  > td  > .input{}
.formtable01 table  > tbody  > tr  > td  > .select{}
.formtable01 table  > tbody  > tr  > td  > .select  > select.mt5{background: #f0f0f0;border: 2px solid #dcdcdc;border-radius: 5px;-webkit-border-radius: 5px;font-size: 16px;line-height: 20px;padding: 10px 25px;display: inline-block;width: 100%;margin: 5px 0;}
.formtable01 table  > tbody  > tr  > td  > .select  > select.mt5  > option{}
.formtable01 table  > tbody  > tr  > td .input  > input{  display: block;  background: #fff;  border: 2px solid #dcdcdc;  border-radius: 5px;  -webkit-border-radius: 5px;  font-size: 18px;  line-height: 20px;  padding: 10px;  box-sizing: border-box;  width: 100%;  margin: 5px 0;}
.formtable01 table > tbody > tr > td .input > input:focus{border-color:#1f3182;}
.formtable01 table  > tbody  > tr  > td  > .textarea{}
.formtable01 table  > tbody  > tr  > td  > .textarea  > textarea{display: block;background: #fff;border: 2px solid #dcdcdc;border-radius: 5px;-webkit-border-radius: 5px;font-size: 18px;line-height: 20px;padding: 10px;box-sizing: border-box;width: 100%;margin: 5px 0;}
.formtable01 table  > tbody  > tr  > td  > .textarea  > textarea:focus{border-color:#1f3182;}
.privacyPmarkWrap{height: auto;overflow: scroll;padding: 10px;font-size:13px;margin-bottom:10px;border: 2px solid #ccc;border-radius: 5px;-webkit-border-radius: 5px;}
.privacyPmark_inner{}
.privacyPmarkTitle{margin-bottom: 30px;}
.privacyPmarkTitle_top{font-size: 18px;font-weight: bold;text-align: center;line-height: 3;}
.privacyPmarkTitle_right{text-align: right;}
.privacyPmarkContent{line-height: 1.5;}
.privacyPmarkContentTitle{ font-size:16px; font-weight:bold; text-align:center;line-height: 4;}
.privacyPmarkSection{margin-bottom: 50px;}
.privacyPmarkSection:last-child{ margin-bottom:0;}
.privacyPmarkSectionTitle{font-size: 20px;font-weight: bold;margin-bottom: 10px;}
.privacyPmarkSection p{ margin-bottom:20px !important; margin-top:0 !important;}
.privacyPmarkSection p:last-child{ margin-bottom:0;}
.privacyPmarkSection > ul{list-style-type: decimal;padding-left: 1em;margin-bottom: 20px;}
.privacyPmarkSection > ul > li{margin-bottom: 10px;margin-left: 1rem;}
.privacyPmarkSection > ul > li:last-child{ margin-bottom:0;}
.privacyPmarkSection > ul > li > b{ display:block;}
.privacyPmarkSection dl{}
.privacyPmarkSection dl > dd{margin-bottom: 15px; padding-left:1em; text-indent:-1em;}
.privacyPmarkSection dl > dd > p{ text-indent:0;}
.privacyPmarkSection dl > dd b{ display:block;}
.privacyPmarkSection dl > dd:last-child{ margin-bottom:0;}
.privacyPmarkListInner{margin: 1em; margin-bottom:0;}
.privacyPmarkListInnerNote{ padding-left:1em; text-indent:-1em; display:block;}
.privacy_table{text-indent: 0;border-bottom: 1px solid #ccc;}
.privacy_table table{}
.privacy_table thead th{width:50%;font-weight:bold;background: #D5D5D5;padding: 5px 10px;border-right: 1px dotted #fff;}
.privacy_table thead th:nth-child(even){ border-right:none;}
.privacy_table tbody td{padding: 5px 10px;border-right: 1px dotted #ccc;border-bottom: 1px dotted #ccc;}
.privacy_table tbody td:nth-child(even){ border-right:none;}
.privacy_table tbody tr:last-child td{ border-bottom:none;}
.inner_list{ padding:0 0 0 1em;line-height: 1.8;}
.inner_list > li,.inner_list > dd{ padding:0 0 0 1em; text-indent:-1em;}
.inner_list > li div,.inner_list > li table,.inner_list > dd div,.inner_list > dd table{ text-indent:0;}
.privacy_side_content{width: 900px;margin: 0 auto;text-align: right;}
.privacy_side_content p{line-height: 20px;font-size: 13px;}
.formtable01 table > tbody > tr > td .input > input[name="recruit_name"],
.formtable01 table > tbody > tr > td .input > input[name="recruit_tel"],
.formtable01 table > tbody > tr > td .input > input[name="recruit_mail"],
.formtable01 table > tbody > tr > td  select[name="recruit_pref"],
.formtable01 table > tbody > tr > td  select[name="contact_pref"],
.formtable01 table > tbody > tr > td .input > select[name="recruit_worktype"],
.formtable01 table > tbody > tr > td .input > select[name="recruit_job"],
.formtable01 table > tbody > tr > td .input > input[name="contact_name"],
.formtable01 table > tbody > tr > td .input > input[name="contact_tel"],
.formtable01 table > tbody > tr > td .input > input[name="contact_mail"],
.formtable01 table > tbody > tr > td .input > input[name="recruit_ruby"]{
    max-width: 200px;
}

/*サイトマップ*/
.sitemapContent{max-width: 1040px;margin:0 auto 40px auto;}
.sitemapContent ul {text-align: center;font-size: 0;}
.sitemapContent ul li {display: inline-block;font-size: 16px;margin-right: 20px;vertical-align: top;width: 30%;}
.sitemapContent ul li:last-child {margin-right: 0;}
.sitemapContent ul li dl {margin-bottom: 20px;text-align: left;}
.sitemapContent ul li dl dt {font-size: 18px;margin-bottom: 7px;}
.sitemapContent ul li dl dt a {color: #000000;
	font-weight:bold;}
.sitemapContent ul li dl dd {position: relative;font-size: 14px;margin-bottom: 7px;}
.sitemapContent ul li dl dd p{position:relative;line-height:  1em;margin-bottom:  3px;}
.sitemapContent ul li dl dd p:last-child{margin-bottom:0;}
.sitemapContent ul li dl dd p:before{content: "・";}
.sitemapContent ul li dl dd p a{font-size:  11px;padding-left:  0;}
.sitemapContent ul li dl dd:before {content: "";position: absolute;background: #858585;width: 10px;height: 10px;left: 0;top: 5px;}
.sitemapContent ul li dl dd a {color: #505050;padding-left:  1em;}

/*プライバシーポリシー*/
.privacyPmarkWrap{height: auto;overflow: scroll;border: 2px solid #dcdcdc;padding: 10px;font-size:13px;margin-bottom:10px;background: #fff;}
.privacyPmark_inner{}
.privacyPmarkTitle{margin-bottom: 30px;}
.privacyPmarkTitle_top{font-size: 18px;font-weight: bold;text-align: center;line-height: 3;}
.privacyPmarkTitle_right{text-align: right;}
.privacyPmarkContent{line-height: 1.5;}
.privacyPmarkContentTitle{ font-size:16px; font-weight:bold; text-align:center;line-height: 4;}
.privacyPmarkSection{margin-bottom: 50px;}
.privacyPmarkSection:last-child{ margin-bottom:0;}
.privacyPmarkSectionTitle{font-size: 20px;font-weight: bold;margin-bottom: 10px;}
.privacyPmarkSection p{ margin-bottom:20px !important; margin-top:0 !important;}
.privacyPmarkSection p:last-child{ margin-bottom:0;}
.privacyPmarkSection > ul{list-style-type: decimal;padding-left: 1em;margin-bottom: 20px;}
.privacyPmarkSection > ul > li{margin-bottom: 10px;}
.privacyPmarkSection > ul > li:last-child{ margin-bottom:0;}
.privacyPmarkSection > ul > li > b{ display:block;}
.privacyPmarkSection dl{}
.privacyPmarkSection dl > dd{margin-bottom: 15px; padding-left:1em; text-indent:-1em;}
.privacyPmarkSection dl > dd > p{ text-indent:0;}
.privacyPmarkSection dl > dd b{ display:block;}
.privacyPmarkSection dl > dd:last-child{ margin-bottom:0;}
.privacyPmarkListInner{margin: 1em; margin-bottom:0;}
.privacyPmarkListInnerNote{ padding-left:1em; text-indent:-1em; display:block;}
.privacy_table{text-indent: 0;border-bottom: 1px solid #ccc;}
.privacy_table table{  width: 100%;}
.privacy_table thead th{width:50%;font-weight:bold;background: #D5D5D5;padding: 5px 10px;border-right: 1px dotted #fff;}
.privacy_table thead th:nth-child(even){ border-right:none;}
.privacy_table tbody td{padding: 5px 10px;border-right: 1px dotted #ccc;border-bottom: 1px dotted #ccc;background: #fff;}
.privacy_table tbody td:nth-child(even){ border-right:none;}
.privacy_table tbody tr:last-child td{border-bottom:none;background: #fff;}
.inner_list{ padding:0 0 0 1em;line-height: 1.8;}
.inner_list > li,.inner_list > dd{ padding:0 0 0 1em; text-indent:-1em;}
.inner_list > li div,.inner_list > li table,.inner_list > dd div,.inner_list > dd table{ text-indent:0;}
.privacy_side_content{width: 900px;margin: 0 auto;text-align: right;}
.privacy_side_content p{line-height: 20px;font-size: 13px;}

.privacyPmarkSection dd.noIndent{ padding-left:0; text-indent:0;}
body#privacypolicy_page .privacyPmarkTitle_top{ font-size:30px;}
body#privacypolicy_page .privacyPmarkWrap{ border:none; height:auto; overflow:inherit; padding:0; font-size:15px;background: none;}
body#privacypolicy_page .privacyPmarkSection > ul{padding-left: 1.2em;}

/*サービス*/
#service_graph{position: relative;margin-bottom: 75px;}
.service_graph:before{position:absolute;content:"";background:#ebebf2;left: 0;bottom: 0;width: 100%;height: 880px;z-index: -1;}
.service_graph{  height: 1100px;  background: url(/img/service_graph.png?date0617) center 100% no-repeat;  position: relative;  margin-top: -190px;}
.service_graph > .text_block01{}
.service_graph > .text_block01 > h2.section_title01{}
.service_graph > .text_block01 > .sub_title{}
.service_graph > .text_block01 > .graph_list{}
.service_graph > .text_block01 > .graph_list > ul{}
.service_graph > .text_block01 > .graph_list > ul > li{}
.service_graph > .text_block01 > .graph_list > ul > li > .title{}
.service_graph > .text_block01 > .graph_list > ul > li > .txt{}
.service_graph > .text_block01 > .graph_list > ul > li > .txt > p{}
.service_graph > .text_block01 > .graph_list > ul > li > .txt > p > span{}

/*採用*/
.recruit_table{width:44.1vw;margin:0 0 115px;}
.recruit_table:last-child{margin:0 0 0px;}
.recruit_table caption{padding:0 0 15px 0;text-align: left;font-size:18px;font-weight:bold;line-height:1.2;}
.recruit_table th,
.recruit_table td{font-size:16px;color:#000;padding:10px 0;border-top:1px solid #dcdcdc;text-align:left;font-weight:normal;vertical-align: top;}
.recruit_table th{width:146px;}
.recruit_table td .logo_link{display:inline-block;padding:20px 0 20px 0;}
.recruit_table tr:last-child th,
.recruit_table tr:last-child td{border-bottom:1px solid #dcdcdc}
.recruit_table.img_program,
.recruit_table.img_design,
.recruit_table.img_markup{position:relative;}
.recruit_table.img_program:after,
.recruit_table.img_design:after,
.recruit_table.img_markup:after{content:"";position:absolute;top:0px;right:-40.5vw;width:35vw;height:420px;display:block;z-index:0;background:url(/img/kaso_backimg01.jpg) center center /cover no-repeat;}
.recruit_table.img_program:after{background:url(/img/kaso_backimg11.jpg) center center /cover no-repeat;}
.recruit_table.img_design:after{background:url(/img/kaso_backimg12.jpg) right center /cover no-repeat;}

.recruit_content{
}
.recruit_content > .list{  display: flex;  justify-content: space-between;  -webkit-justify-content: space-between;}
.recruit_content > .list > ul{width: 41.49%;margin-bottom: -40px;}
.recruit_content > .list > ul > li{  margin-bottom: 40px;}
.recruit_content > .list > ul > li > .title{  font-size: 20px;  font-weight: bold;  background: #000;  color: #fff;  display: inline-block;  padding: 1px 43px 1px 20px;}
.recruit_content > .list > ul > li > .textarea{  font-size: 16px;  line-height: 36px;  padding: 20px;  background: rgba(255,255,255,0.85);}
.recruit_content > .list > ul > li > .textarea > p{}
.gmap{height: 600px;}

/*会社情報*/
#profile_section .section_inner_block{
    padding-bottom: 0;
}

body.news #profile_section .section_inner_block{width: 80vw;padding-left: 20vw;padding-bottom: 30px;min-width: 0;}




/*============================
==============================
==============================
==============================
#4__CSSハック
============================*/
/* -ファイアフォックス- */
@-moz-document url-prefix() {

}

/* -IE- */
nav::-webkit-scrollbar{display:none;}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

/* -スクロールバー非表示- */
nav{-ms-overflow-style:none;}

/* -セレクトの矢印削除- */
select::-ms-expand{display: none;}

}
/* -IE(Edge)- */
@supports (-ms-ime-align:auto){

}
/*============================
==============================
==============================
==============================
#5__プラグイン制御
============================*/
/* -基本設定- */

/*============================
==============================
==============================
==============================
#6__アニメーション
============================*/
/* -サンプル- */
.loop li
{/*--アニメーション (name・速度・進行割合・繰り返しの指示 (無限 = infinite,終了時維持 = forwards))--*/-webkit-animation: loop 50s  linear infinite;animation: loop 50s linear infinite;/*--アニメーション (動作を軽くする為にcssタイプを指定する)--*/-webkit-will-change:transform;will-change:transform;}

@keyframes loop
{0%{    -webkit-transform: translateY(-100%);    -ms-transform: translateY(-100%);    transform: translateY(-100%);}100%{    -webkit-transform: translateY(0);    -ms-transform: translateY(0);    transform: translateY(0);}
}

@keyframes scroll_border {
0% {bottom:70px;height:0px;}
50% {bottom:0px;height:70px;}
100% {bottom:-70px;height:0;}
}
.section_title,
.recruit_table,
.list ul li,
.portfolio_list > ul > li,.tabmenu01 ul li,.section_title03,
.section_top,.text01,
.logo_block,.lineup_block_list,.flow_block_list li,.customer_list01 ul li,.lineup_block_list li,.text_block02,.logo_block ul li,.list01 li,.text_block01,.cv_btn,
.section_title01{opacity:0;}

/*============================
==============================
==============================
==============================
#7__写真設定
============================*/
body#message_page .bg_layout10 .section_inner_block .text_block01.seki:after{background-image: url('/img/seki01.png');    background-position: right top;}
body#message_page .bg_layout10 .section_inner_block .text_block01.majima:after{background-image: url(/img/majima01.png);    background-position: right top;}


body#message_page .bg_layout10 .section_inner_block .text_block01.miho:after{background-image: url(/img/miho4.jpg);background-position: right top;}
body#message_page .bg_layout10 .section_inner_block .text_block01.ayano:after{background-image: url(/img/ayano2.jpg);    background-position: right top;}
body#message_page .bg_layout10 .section_inner_block .text_block01.yuto:after {background-image: url(/img/yuto01.png);    background-position: right top;}
body#message_page .bg_layout10 .section_inner_block .text_block01.tozaki:after {background:url(/img/tozaki1.jpg);    background-position: right top;    background-size: cover;}




/*画像アップロード*/
.drag_wrap{
    border: 0.5rem solid #D3D3D4;
    background: #fff;
    padding: 3rem;
    width: 100%;
    height: 50%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
}
.drag_wrap.active{
    border-color: #2D3E5B;
    background: #F2F4F8;
}
.drag_wrap > label{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.drag_wrap.import > label{
    display: none;
}
.drag_wrap.active > label{}
.drag_wrap > label > input{
    opacity: 0;
    width: 100%;
    height: 100%;
	cursor: pointer;
}
.drag_wrap.active:not(.import) > label > input{}
.drag_wrap > .img{
    font-size: 7rem;
    color: #D3D3D5;
    margin-bottom: 1rem;
}
.drag_wrap.active:not(.import) > .img{}
.drag_wrap > .img > i{}
.drag_wrap.active > .img > i{
    color: #2D3E5B;
}
.drag_wrap.import > .img{
    display: none;
}
.drag_wrap > .text{
    color: #505050 !important;
    text-align: center;
    font-size: 1.4rem;
}
.drag_wrap.import > .text{
    display: none;
}
.drag_wrap.active:not(.import) > .text{
    color: #2D3E5B !important;
}
.drag_wrap > .text > .btn{
    width: 100%;
    font-size: 1.4rem;
    display: block;
    padding: 01.5rem 1.5rem;
    text-align: center;
    color: #fff;
    margin: auto;
    background: #1f3182;
    box-sizing: border-box;
    margin-top: 1rem;
    line-height: 1;
}
.drag_wrap > .thum{
    position: relative;
    width: 100%;
    text-align: center;
    display: none;
}
.drag_wrap.import > .thum{
    display: block;
}
.drag_wrap.import > .thum > .img > ul > li{
    pointer-events: auto;
}
.drag_wrap > .thum > .text{
    color: #505050;
}
.drag_wrap.import > .thum > .title{
    text-align: center;
    color: #505050;
    margin-bottom: 0.5rem;
    font-size: 1.8rem;
}
.drag_wrap.import > .thum > .img{}
.drag_wrap.import > .thum > .img > ul{
    margin: 1rem 0;
}
.drag_wrap.import > .thum > .img > ul > li{
    max-width: 45%;
    display: inline-block;
    vertical-align: top;
    background: #f0f0f0;
    padding: 1.5rem;
    box-sizing: border-box;
    border-radius: 0.5rem;
    -webkit-border-radius: 0.5rem;
    position: relative;
}
.drag_wrap > .thum > .img > ul > li{margin:2%;}
.drag_wrap > .thum > .img > ul > li > .img{
    margin-bottom: 1rem;
}
.drag_wrap > .thum > .img > ul > li > .close{
    position: absolute;
    right: -1.5rem;
    top: -1.5rem;
    width: 3rem;
    height: 3rem;
	cursor: pointer;
}
.drag_wrap > .thum > .img > ul > li > .close span{position:relative;width: 100%;height: 100%;display: block;background: #2D3E5B;border-radius: 10rem;-webkit-border-radius: 10rem;}
.drag_wrap > .thum > .img > ul > li > .close span:after,
.drag_wrap > .thum > .img > ul > li > .close span:before{content:"";position:absolute;height: 0.2rem;width: 50%;background: #fff;top: 0;right: 0;left: 0;bottom: 0;margin: auto;}

.drag_wrap > .thum > .img > ul > li > .close span:after{
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
}
.drag_wrap > .thum > .img > ul > li > .close span:before{
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
}
.drag_wrap.import > .thum > .img > ul > li > .name{
    font-size: 1.2rem;
    word-break: break-all;
    padding: 0.5rem;
    background: #dfdfdf;
    text-align: left;
    border-radius: 0.5rem;
    -webkit-border-radius: 0.5rem;
}
.drag_wrap.import > .thum > .img > ul > li > .name > a{
    color: inherit;
    font-size: 1.2rem;
}
.drag_wrap.import > .thum > .bar{
    display: block;
    width: 50%;
    height: 2rem;
    margin: 0 auto;
}
.drag_wrap.import > .thum > .bar span{
    height: 100%;
    display: block;
    background: #2D3E5B;
    width: 0;
}

.drag_wrap.import > .thum > .btn{
    display: inline-block;
    padding: 1rem 3rem;
    background: #2D3E5B;
    color: #fff;
    margin: 1rem 0;
}
.drag_wrap.import > .thum > .btn > a{
    color: inherit;
}
.drag_wrap.active > .thum{}
.drag_wrap.active.import > label{display:block;}
.drag_wrap.active.import > .text,
.drag_wrap.active.import > .img{display:block;}
.drag_wrap.active.import > .thum{z-index:-1;}
.drag_wrap.import{
    pointer-events: none;
}
