
/*============全体共通=============*/
.clearfix:after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  
  font-size: 0;
  line-height: 0;
  }
  .clearfix{
  display: inline-block;
  }
  /* Hides from IE-mac \*/
  *html .clearfix{
  height: 1%;
  }
  .clearfix{
  display: block;
  }

  a{
    text-decoration: none;
  }
  .img_box{
    font-size: 0;
    line-height: 0;
  }
  img{
    width: 100%;
  }
  .pc{
    display: block;
  }
  .sp{
    display: none;
  }

/*  画面サイズが1024px以下の時 タブレット縦*/
@media screen and (max-width: 1024px) {

}

/*  画面サイズが896px以下の時 スマホ横*/
@media screen and (max-width: 896px){
  .pc{
    display: none;
  }
  .tab{
    display: block;
  }
  .sp{
    display: block;
  }
}


/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){
  .tab{
    display: none !important;
  }
}


/*  画面サイズが320px以下の時 iphone5*/
@media screen and (max-width: 320px){

}

/*======================================*/


/*============ヘッダーエリア=============*/

  .site-header{
    background: #fff;
    position: fixed;
    top: 0;
    transition: .5s;
    width: 100%;
    z-index: 999;
}

.site-header.hide{
    transform: translateY(-100%);
}
  .site_title{
    display: inline-block;
  }
  .pc_cv_area{
    display: inline-block;
    float: right;
  }
  .panel{
    display: inline-block;
    float: left;
  }

  .site_title .twenty_logo{
    display: inline-block;
    margin-right: 20px;
    vertical-align: middle;
  }
  .site_title .twenty_logo img{
    width: calc(100vw/10);
  }

  .site_title .pxp_logo{
    display: inline-block;
    vertical-align: middle;
    margin-top: 13px;
  }
  .site_title .pxp_logo img{
    width: calc(100vw/5);
  }
  
  .pc_cv_area .tel_area{
    display: inline-block;
    margin-right: 20px;
    vertical-align: middle;
  }
  .pc_cv_area .tel_area img{
    width: calc(100vw/5);
  }


  .pc_cv_area .cv_btn{
    display: inline-block;
    vertical-align: middle;
  }
  .pc_cv_area .cv_btn a{
    display: block;
    padding: 25px 60px;
    background-color:#EA5504;
    border-radius: 40px;
    color: #fff;
    font-weight: bold;
    font-size: 18px;
    position: relative;
    transition: 0.4s;
  }
  .pc_cv_area .cv_btn a::after{
    content: "";
    background: url(../img/btn_arrow.svg) no-repeat;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%) scale(1.5);
    width: 6px;
    height: 10px;
    transition: 0.4s;
  }
  .pc_cv_area .cv_btn a:hover{
    opacity: 0.8;
  }

  .sp_cv_area{
    display: none;
  }



  .btn_br{
    display: none;
  }

.pxp_appeal{
  /*background-color: #fff5e0;*/
  padding-bottom: 120px;
}

.feature{
  /*background-color: #fff5e0;*/
  padding-bottom: 120px;
}

.point{
  /*background-color: #fff5e0;*/
  padding-bottom: 120px;
}

.movie{
  padding:10%;
}

.onlinedemo2{
  padding:0 20%;
}

.onlinedemocv{
  padding:0 20%;
}


/*  画面サイズが1024px以下の時 タブレット縦*/
@media screen and (max-width: 1024px) {
  .pc_cv_area .cv_btn a{
    padding: 20px 50px;
    font-size: 18px;
  }
}

/*  画面サイズが896px以下の時 スマホ横*/
@media screen and (max-width: 896px){
  .pc_cv_area .tel_area{
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
  }

  .pc_cv_area .cv_btn a{
    padding: 15px 30px;
    font-size: 14px;
  }

  .pc_cv_area .cv_btn a::after{
    content: "";
    top: 50%;
    right: 15px;
    transform: translate(0, -50%) scale(1);
    width: 6px;
    height: 10px;
  }
}

@media screen and (max-width: 550px){
  .pc_cv_area{
    display: inline-block;
    float: none;
  }
  .btn_br{
    display: block;
  }
}
/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){
  .site_title .twenty_logo img{
    width: calc(100vw/5);
  }
  
  .site_title .pxp_logo img{
    width: calc(100vw/2);
  }


  .btn_br{
    display: none;
  }

  .sp_cv_area{
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 10;  
  }
  .sp_cv_tel_btn{
    width: 50%;
    display: inline-block;
  }
  .sp_cv_tel_btn a{
    display: block;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    background-color: #0078D1;
    padding: 15px 15px 15px 50px;
    position: relative;
    line-height: 1.2em;
    transition: 0.4s;
  }
  .sp_cv_tel_btn a::before{
    content: "";
    position: absolute;
    background: url(../img/sp_tel_icon.svg) no-repeat;
    width: 15px;
    height: 20px;
    top: 50%;
    left: 20px;
    transform: translate(0,-50%);
    transition: 0.4s;
  }
  .sp_cv_tel_btn a:hover{
    opacity: 0.8;
  }

  .sp_cv_btn{
    width: 50%;
    display: inline-block;
  }
  .sp_cv_btn a{
    display: block;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    background-color: #EA5504;
    padding: 15px 30px 15px 20px;
    line-height: 1.2em;
    position: relative;
    transition: 0.4s;
  }
  .sp_cv_btn a:hover{
    opacity: 0.8;
  }
  .sp_cv_btn a::before{
    content: "";
    position: absolute;
    background: url(../img/btn_arrow.svg) no-repeat;
    width: 15px;
    height: 10px;
    top: 50%;
    right: 10px;
    transform: translate(0,-50%) scale(1.2);
  }
    
    .pxp_appeal{
      /*background-color: #fff5e0;*/
      padding-bottom: 30px;
    }

    .feature{
      /*background-color: #fff5e0;*/
      padding-bottom: 30px;
    }

    .point{
      /*background-color: #fff5e0;*/
      padding-bottom: 30px;
    }
    
    .onlinedemo2{
      padding:0;
    }
    
    .onlinedemocv{
      padding:0;
    }
}


/*  画面サイズが320px以下の時 iphone5*/
@media screen and (max-width: 320px){

}
/*============ヘッダーエリアここまで=============*/

/*============問い合わせエリア=============*/

.inquiry_backimage{
  background: url(../img/inquiry_backimg.jpg) repeat;
  padding: 60px 0;
  text-align: center;
}
.inquiry_btn_area{
  background-color: #fff;
  padding: 20px;
  display: inline-block;
}
.line{
  display: inline-block;
  border-right: 1px dashed #c8c8c8;
  height: calc(100vw / 13);
  vertical-align: middle;
}
.inquiry_btn img{
  width: calc(100vw / 2);
  transition: 0.4s;
}
.inquiry_btn img:hover{
  opacity: 0.8;
}

.cv_title{
  display: inline-block;
  vertical-align: middle;
  position: relative;
}
.inquiry_btn{
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 30px;
}
.cv_title_info{
  font-size: calc(100vw / 45);
  font-weight: bold;
  color: #0a0a0a;
  padding: 39px 71px;
}

.online_demo{
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
}
.online_demo img{
  width: 60%;
}


/*  画面サイズが1024px以下の時 タブレット縦*/

@media screen and (max-width: 1024px) {

}

/*  画面サイズが896px以下の時 スマホ横*/
@media screen and (max-width: 896px){

}


/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){

}


/*  画面サイズが320px以下の時 iphone5*/
@media screen and (max-width: 320px){

}
/*============問い合わせエリアここまで=============*/

/*============フッターエリア=============*/
.footer_text{
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background-color: #3d3d3d;
  text-align: center;
  padding: 15px 0;
}
/*============フッターエリアここまで=============*/

/*==========グローバルナビゲーションの設定ここから============*/
/*==========共通の設定ここから============*/
a{
  text-decoration: none;
}

img{
  width: 100%;
}
/*==========共通の設定ここまで============*/

.navber{
  background-color: #fff;
}
  .logo_area{
    width: 25%;
    margin-right: 20px;
  }

  .btn-outline-success{
    font-weight: bold;
    font-size: 18px;
    padding: 10px 40px;
    color: #fff;
    background-color:limegreen;
    border:limegreen;
    border-radius: 10px;
    white-space: nowrap;        
  }
  .nav-item{
    font-size: 15px;
    font-weight: bold; 
    white-space: nowrap;  
  }

  .navbar-nav{
    margin-right: 20px;
  }
  .nav-link{
    padding: 1rem 1rem;
  }
  .collapse{
    justify-content: flex-end;
  }

/*  画面サイズが1024px以下の時 タブレット縦*/
@media screen and (max-width: 1024px) {

}

/*　画面サイズが1000pxから1100pxまではここを読み込む　*/
@media screen and (min-width:1000px) and ( max-width:1100px) {

}

@media screen and (max-width: 991px) {
  .form-inline{
    margin-top: 20px;
  }

  .btn-outline-success{
    width: 100%;
  }
  .nav-link-top{
    margin-top: 20px;
    border-top: 0.5px solid #999999;
  }
  .nav-link{
    border-bottom: 0.5px solid #999999;
  }
}

/*  画面サイズが896px以下の時 スマホ横*/
@media screen and (max-width: 896px){
  .logo_area{
    width: 200px;
    margin-right: 0;
  }
  .twenty_logo{
    width: 80px;
  }
}


/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){
  .navbar-brand{
    margin-right: 0;
  }
  .logo_area{
    width: 150px;
    margin-right: 0;
  }
  .twenty_logo{
    width: 60px;
  }

}


/*  画面サイズが320px以下の時 iphone5*/
@media screen and (max-width: 320px){

}

/*==========グローバルナビゲーションの設定ここまで============*/

/*=========お問い合わせボタンの設定ここから=========*/
.contact-area{
  background-color: #fff5e0;
  padding: 120px 15px;
}
.contact-text-info{
  font-size: 2.95rem;
  font-weight: bold;
  text-align: center;
}
  .cv-area{
    max-width: 1000px;
    margin: 0 auto;
  }
  .cv-btn{
    padding-left: 10px;
    padding-right: 10px;
  }

  .cv-tel-btn{
    margin-bottom: 20px;
  }
  .cv-online-btn{
    margin-bottom: 20px;
  }
  .cv-document-btn{
    margin-bottom: 20px;
  }

/*=========yureru-j　cvボタンここから=========*/
    .yureru-j img{
        animation: yureru-j 2s infinite;
    }
    @keyframes yureru-j {
        0% {
            transform: translate(0px, 2px);
        }
        5% {
            transform: translate(0px, -2px);
        }
        10% {
            transform: translate(0px, 2px);
        }
        15% {
            transform: translate(0px, -2px);
        }
        20% {
            transform: translate(0px, 2px);
        }
        25% {
            transform: translate(0px, -2px);
        }
        30% {
            transform: translate(0px, 0px);
        }
    }
/*=========end　yureru-j　cvボタン=========*/

/*=========purupuru2　cvボタンここから=========*/
    .purupuru2 img{
        animation: purupuru2 1.4s infinite;
    }
    @keyframes purupuru2 {
        0% {
            transform: scale(1, 1);
        }
        50% {
            transform: scale(0.98, 0.95)
        }
    }
/*=========end　purupuru2　cvボタン=========*/

/*=========mocchiri　cvボタンここから=========*/
    .mocchiri img{
        animation: mocchiri 3s infinite;
    }
    @keyframes mocchiri {
        0% {
            transform: scale(1, 0.8);
        }
        20% {
            transform: scale(0.8, 1.1);
        }
        95% {
            transform: scale(1, 1);
        }
        100% {
            transform: scale(1, 0.8);
        }
    }
/*=========end　mocchiri　cvボタン=========*/

/*=========purupuru　cvボタンここから=========*/
    .purupuru img{
        animation: purupuru 0.1s infinite;
    }
    @keyframes purupuru {
        0% {
            transform: translate(0px, 0px)
        }
        50% {
            transform: translate(0px, 1px) rotateZ(1deg)
        }
    }
/*=========end　purupuru　cvボタン=========*/

  /*  画面サイズが1024px以下の時 タブレット縦*/
@media screen and (max-width: 1024px) {

}

@media screen and (max-width: 991px) {
  .form-inline{
    margin-top: 20px;
  }

  .btn-outline-success{
    width: 100%;
  }
  .nav-link-top{
    margin-top: 20px;
    border-top: 0.5px solid #999999;
  }
  .nav-link{
    border-bottom: 0.5px solid #999999;
  }
}

/*  画面サイズが896px以下の時 スマホ横*/
@media screen and (max-width: 896px){
  .contact-text-info{
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
  }

  .logo_area{
    width: 200px;
    margin-right: 0;
  }
  .twenty_logo{
    width: 80px;
  }
}


/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){
  .navbar-brand{
    margin-right: 0;
  }
  .logo_area{
    width: 150px;
    margin-right: 0;
  }
  .twenty_logo{
    width: 60px;
  }

}


/*  画面サイズが320px以下の時 iphone5*/
@media screen and (max-width: 320px){

}
/*=========お問い合わせボタンの設定ここまで=========*/

/* レスポンシブテンプレートでの画像の横並びとスマホで解除 */
.two-pic {
    margin: auto;
    text-align: center;
    width: 100%;
}
.two-pic p{
    font-size: 50px;
    color: blue;
    text-align: left;
}
.left-pic {
    display: inline-block;
    padding: 70px;
}
.right-pic {
    display: inline-block;
    padding: 70px;
}

/*  画面サイズが480px以下の時 スマホ縦*/
@media screen and (max-width: 480px){
    .two-pic p{
        font-size: 30px;
        color: blue;
        text-align: left;
    }
}
    
/*=========topに戻るボタンの設定=========*/

#goto_top {
    position: fixed;
    right: 2%;
    bottom: 10%;
    z-index: 10;
}

#goto_top a {
    width: 80px;
    height: 50px;
    border-radius: 20px;
    background: #f86560;
    display: block;
    color: #fff;
    text-align: center;
    line-height: 50px;
    text-decoration: none;
    font-weight: bold;
}       
/*=========topに戻るボタンの設定ここまで=========*/

/*=========お客様の声画像と文章の設定=========*/
/*.c-voice{
    margin:40px 100px;
}*/

.column {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  margin-right: 100px;
  margin-bottom: 40px;
  margin-left: 100px;
  /*background: #D1E1E8;*/
}
.column-img {
  width: 40%;
  text-align: right;
}
.column-img img {
  width: 100%;
}
.column-img p{
    text-align: left;
    font-size: 30px;
    font-weight: bold;
}

.column-texts {
  box-sizing: border-box;
  /*padding-top: 0;*/
  padding-right: 50px;
  /*padding-bottom: 40px;*/
  padding-left: 50px;
  width: 40%;
}
.column-texts-title {
  margin: 0;
  font-size: 32px;
  color: dodgerblue;
  font-weight: bold;
  vertical-align:middle;
}
.column-texts-p {
  margin: 0;
  padding-top: 20px;
  font-size: 22px;
  line-height: 1.4;
}
.column-texts-link {
  padding-top: 30px;
  text-align: center;  
}
.column-texts-link a {
  /*border: 1px solid #000;*/
  padding-top: 12px;
  padding-right: 40px;
  padding-bottom: 12px;
  padding-left: 0;
  font-size: 20px;
  text-decoration: none;
  color: dodgerblue;
  font-weight:bold;
}

.cvtext{
	width: 80%;
	margin: 0 auto;
	padding-bottom: 80px;
	text-align: left;
}
.cvtext-title {
border-bottom: 3px solid #bc8f8f;
text-align: left;
background-color: #ffe4e1;
font-size: 25px;
font-weight: bold;
color: #000;
margin: 0px;
padding: 2px 2px 2px 15px;
width:100%;
}
.cvtext p{
    margin: 30px;
    font-size: 20px;
    font-weight: bold;
}


.grad-wrap{
    margin: 0 300px;
}

.grad-btn {
  display: inline-block;
  width: 200px;
  text-align: center;
  background-color: #9ec34b;
  border: 2px solid #9ec34b;
  font-size: 16px;
  color: #9ec34b;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 4px;
  position: relative;
  /*.grad-btnのCSSは表示/非表示の動作には関係ないので、ご自由にどうぞ。*/
}

.grad-btn span {
  position: relative;
  z-index: 1;
}

.grad-btn::before,
.grad-btn::after {
  content: "";
  display: block;
  background-color: #FFF;
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  transition: .2s;
}

.grad-btn::before {
  /*content: "つづきを読む";*/
  left: 0;    
}

.grad-btn::after {
  right: 0;
}

.grad-btn:hover:before,
.grad-btn:hover:after {
  width: 0;
  background-color: #FFF;
}

.grad-btn:hover {
  color: #FFF;
}

.grad-item {
  position: relative;
  overflow: hidden;
  height: 200px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
/*.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" ;/*チェックされていたら、文言を変更する*/


.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}

.box11{
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 5px #9ec34b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}
.box11 p {
    margin: 0; 
    padding: 0;
}

@media screen and (max-width: 1024px) {
    .grad-wrap{
        margin: 0 100px;
    }
    
    .column-texts-title {
      margin: 0;
      font-size: 20px;
      color: dodgerblue;
      font-weight: bold;
      vertical-align:middle;
    }
    
}

@media screen and (max-width: 812px) {
  .column {
    flex-direction: column;
  margin-top: 40px;
  margin-right: 10px;
  margin-bottom: 40px;
  margin-left: 10px;
      
  }
  .column--reserve {
    flex-direction: column-reverse;
  }
  .column-img {
    width: 100%;
  }
.column-img p{
    text-align: left;
    font-size: 20px;
    font-weight: bold;
}
    
  .column-texts {
    width: 100%;
      padding: 0;
  }
  .column-texts-title {
    font-size: 23px;
  }
  .column-texts-p {
    font-size: 20px;
  }
  .column-texts-link a {
    font-size: 20px;
  }
    .cvtext{
        width: 94%;
        padding-bottom: 70px;
    }
    
    .grad-wrap{
        margin: 0 20px;
    }
    
}

    
/*=========お客様の声画像と文章の設定ここまで=========*/

/*=========埋め込みyoutubeの設定=========*/
.youtube {
	width: 100%; /* 横幅変更 */
	padding: 0;
	box-sizing: border-box;
}

.youtube .inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.youtube .inner iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*=========埋め込みyoutubeの設定ここまで=========*/

/*=========埋め込みmp4の設定=========*/
.mp4 {
	width: 100%; /* 横幅変更 */
	padding: 0;
	box-sizing: border-box;
}

.mp4 .inner {
	padding-top: 56.25%;
	position: relative;
	height: 0;
	overflow: hidden;
}

.mp4 .inner video{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*=========埋め込みmp4の設定ここまで=========*/
/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.campaign-img{
  margin: 0 auto;
}
