@charset "UTF-8";

/* CSS Document */
/*-------------------------------------------------------------------------------------
PC用レイアウト（768px以上スクリーン）
----------------------------------------------------------------------------------------*/
/*--------------------------------------------------
共通設定(PC)
-----------------------------------------------------*/
/*body全体の初期スタイル調整*/
body {
  font-size: 62.5%; /*emの計算をしやすくするための定番設定*/
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;  
  font-weight: normal;
  color: #1a1a1a;
  line-height: 1.8;

}
/*リンク文字の設定*/
a {
  text-decoration: none;
    
}

/*ブラウザのCSSをリセット*/
p {
  margin: 0 !important;
  padding: 0 !important;

}
/*セクションエリアの共通設定*/
section {
  clear: both;
  overflow: auto;
}
/*--------------------------------------------------
上部固定ヘッダー設定
-----------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  position: sticky;
  position: -webkit-sticky;
  top: 0;
  z-index: 5000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  overflow: auto;
}
/*ヘッダー内部をカラム幅にする*/
.header_inr {
  max-width: 1050px;
  margin: 0 auto;
  overflow: hidden;
}
/*ヘッダーのロゴ*/
.header_logo {
  width: 20%;
  float: left;
  padding: 1.3em 0 ;
}


.header_cta {
    width: 30%;
    float: right;
    background-image: linear-gradient(90deg, rgba(251,176,59, 1), rgba(241, 90, 36, 1));
      text-decoration: none;
    text-align: center;
    padding: 1.2em 3em;
    margin:  0em;
    height: 50px;
  
}
/*--------------------------------------------------
見出しタグ設定（PC）
-----------------------------------------------------*/

h2 {
  font-size: 2.2em;
    line-height: 1.3;
    margin-top: 0;
    font-weight: bold;
    text-align: center;
    margin: 0.3em 0 0.5em;
}


h3 {
    font-size: 1.5em;
    font-weight: 600;
    color: #fff;
    text-align: center;
    margin: 0 0 0.5em;
    padding: 0.5em  ;
letter-spacing: 1px;
    background-color: #1a1a1a;
    
}

h4 {
    font-size: 1.3em;
    font-weight: 600;
    margin: 0 0 0.5em;
    padding: 5px 8px  ;
letter-spacing: 1px;
    border-left: 3px solid #e1e3e5
    
}


/*--------------------------------------------------
全体レイアウト／背景設定（PC）
-----------------------------------------------------*/
/*全体エリア（全体背景を設定するにはここ）*/
.main {
  background-color: #fff;
}
/*記事(ボディ)エリア*/
.article {
  background-color: #fff;
  font-size: 1.7em; /*=17px*/


 
}
/*記事(ボディ)エリアの行間*/
.article p {
  line-height: 1.7;

}

.article{
	width: 100%;
}

/*カラム全体の幅を変更する*/
.top_image_in,.section_inr {
  width: 950px;
  margin: 0 auto; 
  
}
.pc_img { display: block !important; }
.sp_img { display: none !important; }


/*--------------------------------------------------
ファーストビュー設定
-----------------------------------------------------*/
.top_image {
  background-image: url("../images/top_image_back.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  height: auto;
}
.top_image_in img {
  width: 100%;
}
/*--------------------------------------------------
CTA
-----------------------------------------------------*/

.section_cta {
  background-image: url("../images/bg_cta.jpg");
  background-size: cover;
  background-position: center;
  padding: 3em 0em ;
    text-align: center;
}
.section_cta p {
    color: #fff;
    font-size: 1.1em;
}
.tit_cta {
    width: 55%;
    margin: 0 auto 2em;
}

.btn_cta {
    width: 70%;
    margin: 2em auto 0;
}
.section_cta02 {
    background-image: url("../images/bg_cta02.jpg");
    background-size: cover;
    background-position: center;
    padding: 3em 0em ;
      text-align: center;
      color: #fff;
  }

  .mincyo {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
font-weight: 300;
letter-spacing: 1px;
  }

  .tit_campaign {
    width: 75%;
    margin: 0 auto 1em;
  }
  

/*--------------------------------------------------
sectionの設定
-----------------------------------------------------*/

.section_01 {
    background-color: #fff;
    padding: 3em 0em ;
}
.section_02 {
  background-image: url("../images/bg_sec02.jpg");
  background-size: cover;
  background-position: top center ;
  padding: 3em 0em ;
  text-align: center;
}
.section_03 {
    background-color: #f3f3f3;
    padding: 0 0em 8em ;
}


.section_04 {
  background-image: url("../images/bg_sec04.jpg");
  background-size: cover;
  background-position: top center;
  padding: 3em 0em ;
}

.section_05 {
  background-image: url("../images/bg_sec05.jpg");
  background-size: cover;
  background-position: top center;
  padding: 3em 0em ;
}

.section_06 {
    background-color: #f3f3f3;
    padding: 3em 0em ;
}

/*--------------------------------------------------
課題
-----------------------------------------------------*/
.tit_kadai {
    width: 55%;
    margin: 0 auto 2em;
}


.img_kadai {
    width: 85%;
    margin: 0 auto;
}


/*--------------------------------------------------
solution
-----------------------------------------------------*/
.tit_solution {
    width: 60%;
    margin: 0 auto 2em;
}


.img_solution {
    width: 80%;
    margin: 0 auto 2em;
}


/*--------------------------------------------------
フェーズ
-----------------------------------------------------*/

.sankaku {
    width: 10%;
    margin: 0 auto 1em;
}

.tit_3fase {
    width: 55%;
    margin: 0 auto 2em;
}

.fase {
    margin: 0 auto -5em;
}



/*--------------------------------------------------
voice
-----------------------------------------------------*/
.komi {
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}
.market_voice {
    width: 35%;
    margin: 0 auto 1em;
}
.case {
    width: 80%;
    margin: 2em auto 0;
}
.box_case {
    margin: 0 auto 1em;
    background-color: #fff;
    padding: 1em;
    line-height: 1.5;
}

table {
    width: 95%;
    margin: 0 auto;
}

.c-compare  {
    border-collapse:  collapse;
}
.c-compare  th,
.c-compare  td  {
    padding:  8px  5px;
}
.c-compare  th  {
    width: 15%;
    border-bottom: 2px solid #fff;
    background-color: #e1e3e5;
}
.c-compare  td  {
}

.img_case {
    float: left;
    width: 25%;
}
.txt_case {
    float: right;
    width: 75%;
}

.ctn_jisseki {
    margin: 2em 0;
    text-align: center;
}

.box_jisseki {
    display: inline-block;
    background-color: #1a1a1a;
    padding: 8px;
    margin: 3px;
    color: #fff;
    font-weight: 600;
    font-size: 1.1em;
}






/*--------------------------------------------------
flow
-----------------------------------------------------*/
.flow {
    width: 15%;
    margin: 2em auto 0
}

.ctn_flow {
    display: flex;
    justify-content: center;
    padding: 2em 0;
    margin: 0 ;
    align-content: flex-start;

}
.tit_step {
    font-weight: 600;
    font-size: 1.1em;
    line-height: 1.3;
    text-align: center;
}



.box_flow {
    width: 22%;
    background-color: #fff;
    padding: 2em 1em 1em;
    margin-right: 25px;
    position: relative;
    align-self: stretch;
    
    
}
.box_flow2 {
    width: 22%;
    background-color: #fff;
    padding: 2em 1em 1em;
    position: relative;
    align-self: stretch;
    }

.img_flow {
    margin: 0 auto 1em;
}



.box_flow:before{
  position: absolute;/*絶対配置*/
  content: '';/*空に*/
 border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid #fbb03b;
  top: 45%;/*下にフィット*/
  left: 107%;/*中央配置*/
  transform: translateX(-50%);/*一応ズレを補正*/
}
.box_flow:after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 8px;
  box-shadow: 0 40px 15px rgba(113, 113, 113, .25);
  background-color: transparent;
  border-radius: 80px / 4px;
}
.box_flow2:after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 8px;
  box-shadow: 0 40px 15px rgba(113, 113, 113, .25);
  background-color: transparent;
  border-radius: 80px / 4px;
}

/*--------------------------------------------------
フェードイン
-----------------------------------------------------*/

.fadein {
    opacity : 0;
    transform: translateY(10px);
    transition: all 2s;
}
.fadein02 {
    opacity : 0;
    transform: translateY(20px);
    transition: all 3s;
}
.fadedown {
    opacity : 0;
    transform: translateY(-10px);
    transition: all 1s;
}


/*左からフェードイン*/
.fadeinleft {
    opacity : 0;
    transform: translateX(-20px);
    transition: all 1.5s;
}
/*右からフェードイン*/
.fadeinright {
    opacity : 0;
    transform: translateX(20px);
    transition: all 1.5s;
}
.zoomin {
    opacity: 0;
  }
  
  .zoomin.isActive {
    animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
  }
  
  @keyframes zoomIn {
    0% {
        transform: scale(0.5);
        opacity: 0;
    }
  
    100% {
        opacity: 1;
        transform: scale(1);
    }
  }
  
  .popup {
    opacity: 0;
  }
  
  .popup.isActive {
    animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 1 forwards;
  }
  
  @keyframes popup {
    0% {
        transform: translateY(40px) scale(0.8);
        opacity: 0;
    }
  
    100% {
        transform: translateY(0) scale(1.0);
    }
  
    80%,
    100% {
        opacity: 1;
    }
  }
  



/*--------------------------------------------------
よくある質問
-----------------------------------------------------*/
.faq {
    width: 10%;
    margin: 2em auto 0;
}



.accordion {
    max-width: 90%;
    padding: 2em 0em ;
    text-align: left;
    margin: 0 auto;
}

/*------------------------------

ここからアコーディオンのCSS

------------------------------*/
/* チェックボックスは非表示 */
.accordion-hidden {
    display: none;
}

/* Question部分 */
.accordion-open {
    display: block;
    padding: 1.5em 0em 1.5em 1em;
    background: #f3f3f3;
    border-bottom: 1px solid #1a1a1a;
    cursor: pointer;
    margin: 5px 0;
    position: relative;
    font-weight: bold;
    text-align: left;
    /* 変更部分 */
}

/* 開閉状態を示すアイコン+の作成 */
.accordion-open::before,
.accordion-open::after {
    content: '';
    width: 20px;
    height: 3px;
    background: #1a1a1a;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
}

/* 一本は縦にして+を作る */
.accordion-open::after {
    transform: translateY(-50%) rotate(90deg);
    transition: .5s;
}

/* アコーディオンが開いたら縦棒を横棒にして-にする */
.accordion-hidden:checked + .accordion-open:after {
    transform: translateY(-50%) rotate(0);
}

/* Answer部分 */
.accordion-close {
    display: block;
    height: 0;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    transition: 0.5s;
    /* 表示速度の設定 */
}

/* チェックボックスにチェックが入ったらAnswer部分を表示する */
.accordion-hidden:checked + .accordion-open + .accordion-close {
    height: auto;
    opacity: 1;
    padding: 10px 1.5em;

}






/*--------------------------------------------------
お問い合わせフォーム
-----------------------------------------------------*/
.contact {
    width: 17%;
    margin: 0 auto;
}


.wrap_form {
    margin: 0 auto;
    padding: 3em 2em;
    background-color: #fff;
    border-radius: 10px;
}

.Form-Item-Label-Required {
   
    margin-right: 8px;
    width: 48px;
    line-height: 1.7em;
    display: inline-block;
    text-align: center;
    background: #fbb03b;
    color: #fff;
    font-size: 75%;
}


table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
	border-top:1px solid #ccc;
    border-bottom:1px solid #ccc;
padding:22px 10px;
}
table.formTable th{
	width:30%;
	font-weight:normal;
	text-align:left;
    font-weight: bold;
}

form input[type="text"] {
	width:50%;
	padding:7px 10px;
	display:block;
    border-color:#ccc; 
    border-style: solid;
    border-width: 1px;
        font-size: 1.1em;
    border-radius: 5px;
}
form input[type="text02"] {
	width:70%;
	padding:7px 10px;
	display:block;
        border-color:#ccc; 
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
        font-size: 1.1em;
}

form textarea {
	width:90%;
	padding:10px;
	display:block;
        border-color:#ccc; 
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    font-size: 1.1em;

}

.form_btn {
    padding: 1em 0;
    margin-top: 1em;
    text-align: center;
}

.entry_btn {
    display: inline-block;
    position: relative;
    width: 50%;
    margin: 0.5em;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background: #1a1a1a;
    border: none;
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 0.5em ;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
}
.entry_btn:hover {
    background-color: #fff;
    border: 2px solid #1a1a1a;
    color: #1a1a1a;
}


/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {
.wrap_form  {
	width:95%;
	margin:0 auto;
        padding: 2em 1em;
        border-radius: 10px;
    }
table.formTable th, table.formTable td {
	width:auto;
	display:block;
    padding: 12px 5px;

}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
form input[type="text"], form input[type="text02"],form textarea {
	width:90%;
	padding: 10px;
	display:block;
}
form input[type="submit"], form input[type="reset"], form input[type="button"] {
	display:block;
	
}
    table.formTable td {
    border-bottom: none;
}

    
.entry_btn {
    width: 80%;
    margin: 0 auto;
    }
}
    /*--------------------------------------------------
下部固定ヘッダー（スマホ）
-----------------------------------------------------*/
     
#sp_btn {
        display: none!important;
}


/*--------------------------------------------------
フッター部分
-----------------------------------------------------*/
.footer {
  background-color: #1a1a1a;
  padding: 2em 2em ;
  text-align: center;
  font-size: 1.4em;
    color: #fff;
}
.footer a {
  color: #fff;
}
.footer p {
  color: #fff;
}