@charset "UTF-8";

/* CSS Document */
/*-------------------------------------------------------------------------------------
PC用レイアウト（768px以上スクリーン）
----------------------------------------------------------------------------------------*/
/*--------------------------------------------------
共通設定(PC)
-----------------------------------------------------*/
/*body全体の初期スタイル調整*/
body {
  font-size: 62.5%; /*emの計算をしやすくするための定番設定*/
    font-family: "ヒラギノ角ゴ ProN", sans-serif;
  font-style: normal;
  line-height: 1.7;
  color: #333;
}
/*リンク文字の設定*/
a {
  text-decoration: none;
}

/*ブラウザのCSSをリセット*/
p {
  margin: 0 !important;
  padding: 0 !important;
}
/*セクションエリアの共通設定*/
section {
  clear: both;
  overflow: auto;
}



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

.article{
	width: 100%;
}

/*カラム全体の幅を変更する*/
.top_image_in,.section_inr {
  width: 950px;
  margin: 0 auto; 
  
}
/*--------------------------------------------------
上部固定ヘッダー設定
-----------------------------------------------------*/
/*上部固定ヘッダー全体*/
.header {
  position: sticky;
  top: 0;
  z-index: 5000;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  overflow: auto;
}
/*ヘッダー内部をカラム幅にする*/
.header_inr {
  max-width: 950px;
  margin: 0 auto;
  overflow: hidden;    
}

.header_inr a {
  color: #000;
    text-decoration: none;
}

/*ヘッダーのロゴ*/
.header_logo {
  width: 23%;
  float: left;
  margin: 1.5em 0em ;
}
/*ヘッダーの問い合わせボタン*/
.header_form {
  width: 25%;
  float: right;
  margin: 1.2em 0em;
}

.btn_header {
  color: #fff;
  background: #e030a2;
    border-radius: 100vh;
    font-size: 1.3em;
    padding: 1em 1em;
    font-weight: bold;
    width: 70%;
    display: block;
    text-align: center;
    letter-spacing: 1px;

}
.btn_header:hover {
  border-radius: 100vh;
  color: #e030a2;
  border: 2px solid #e030a2;


}


/*ヘッダー内の画像が常に幅100%になるように*/
.header_logo img, .header_form img, .header_tel img {
  width: 100%;
}

/*-----------------------------------------------------------------------------------------------------
グローバルナビ
-----------------------------------------------------------------------------------------------------*/
.inner {
  width: 1050px;
  margin: 0 auto;
}
.inner:after {
  content: "";
  clear: both;
  display: block;
}
/* header */
#top-head {
  background-color: rgba(255, 255, 255, 0.9);
  top: 0px;
  position: absolute;
  width: 100%;
  margin: 80px auto 0;
  padding: 30px 0 0;
  line-height: 1;
  z-index: 999;
}
#top-head a, #top-head {
  color: #333;
  text-decoration: none;
}
.inner {
  position: relative;
}

#global-nav ul {
  list-style: none;
  position: absolute;
  right: 28%;
  top: 18%;
  font-size: 1.4em;
    font-weight: bold;
}
#global-nav ul li {
  float: left;
  padding: 0em 0em;
}
#global-nav ul li a:hover {
  border-bottom: 3px solid #ccc;
  padding-bottom: 10px;
  color: #004ea2;
}
#global-nav ul li a {
  padding: 0 13px;
  color: #333;
}


/*--------------------------------------------------
ファーストビュー設定
-----------------------------------------------------*/
.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%;
}

.pc_img { display: block !important; }
.sp_img { display: none !important; }



/*--------------------------------------------------
見出しタグ設定（PC）
-----------------------------------------------------*/
h2 {
  padding: 0 ;
  margin: 1em;
  text-align: center;
  position: relative;
  color: #004ea2;
  font-weight: 600;
  font-size: 2em;
  line-height: 1.3;
  letter-spacing: 1px;
}

h3 {
padding: 0 ;
margin: 0 0 1em;
text-align: center;
position: relative;
color: #004ea2;
font-weight: 600;
font-size: 1.8em;
line-height: 1.3;
letter-spacing: 1px;
}
h3:before {
position: absolute;
bottom: -10px;
left: calc(50% - 150px);
width: 300px;
height: 2px;
content: '';
border-radius: 1px;
background: #b49a60;
}

h4 {
  padding: 0 0 10px;
  margin: 0 0 0.5em;
  border-bottom: 2px solid #004ea2;
  position: relative;
  color: #004ea2;
  font-weight: 600;
  font-size: 1.7em;
  line-height: 1.3;
  letter-spacing: 1px;
}

h5 {
  padding: 2px 10px  ;
  margin: 0.5em 0;
  border-left: 3px solid #004ea2;
  position: relative;
  color: #004ea2;
  font-weight: 600;
  font-size: 1.1em;
  line-height: 1.3;
  letter-spacing: 1px;
}



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

.section_01 {
    background-color: #fff;
    padding: 2em 0em 0;
}

.section_02 {
  background-color: #def0fa;
  padding: 2em 0;
}

.section_03 {
  background-image: url("../images/bg_sec02.jpg");
    background-size: cover;
  padding: 2em 0em;
}

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

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



/*--------------------------------------------------
CTAエリア
-----------------------------------------------------*/

.area_cta {
  background-image: url("../images/bg_cta.jpg");
    padding: 2em 0em;
    background-position: top center;
    
  
}
.box_cta {
  width: 90%;
  background-color: #fff;
  padding: 2em;
  text-align: center;
}

.btn_cta {
  background-color: #e030a2;
    border-radius: 100vh;
    padding: 1em ;
    width: 70%;
    display: block;
    margin: 1em auto 0;
    position: relative;

}
.btn_cta a{    font-size: 1.3em;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
color: #fff;

}

.btn_cta::after{
  /* 擬似要素で三角アイコンをつくる */
  content: '';
  display: inline-block;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #fff;
  display: inline-block;
  width: 0;
  height: 0;
  /* 矢印アイコンの位置を設定 */
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%); /* translateYのみ */
}


/*--------------------------------------------------
悩み
-----------------------------------------------------*/
.img_nayami {
  float: right;
  width: 40%;
  margin-bottom: 2em;
}


.txt_nayami {
  float: left;
  width: 60%;
}

ul.list-12 {
  position: relative;

}

.list-12 li  {
  line-height: 1.5;
  padding: 0.5em 0;
  list-style-type: none!important;
font-weight: 600;
}


.list-12 li::before {
  font-family: "Font Awesome 6 Free";
  content: "\f058";/*アイコンの種類*/
  position: absolute;
  left : 1em;/*左端からのアイコンまでの距離*/
  color: #e030a2;/*アイコン色*/
  font-weight: 900;

}

/*--------------------------------------------------
受賞歴
-----------------------------------------------------*/
.sec_ranking {
  background-image: url("../images/bg_ranking.jpg");
  background-size: cover;
  padding: 0 0 2em ;
}


.sankaku {
    width: 10%;
    display: block;
    margin: 0 auto;
}

.awards {
  width: 28%;
  margin: 1em auto -1em;
}

.ctn_award {
  margin: 2em 0 3em;
  display: flex;
  justify-content: space-around;
}
.box_award {
  width: 70%;
  margin-top: 1em;
}




/*--------------------------------------------------
セカンドオピニオン
-----------------------------------------------------*/
.img_second {
  float: left;
  width: 30%;
}


.txt_second {
  float: right;
  width: 65%;
  padding-top: 1em;
}


/*--------------------------------------------------
サービスの特徴
-----------------------------------------------------*/
.tit_logo {
  width: 45%;
  margin: 1em auto -1em;
}
.ctn_future {
  padding: 0 0 6em;
  
}


.box_future {
  background-color: #f7f8f8;
  padding: 2em;
  border-radius: 15px;
  position: relative;
  margin-top: 5em;
}
.midashi_sv {
  width: 80%;
  margin: 0 0 10px;
}

.txt_future01 {
  float: right;
  width: 70%;
}
.img_future01 {
  width: 37%;
  position: absolute;
  top: -20%;
  left: -5%;
}

.txt_future02 {
  float: left;
  width: 70%;
}
.img_future02 {
  width: 37%;
  position: absolute;
  top: -20%;
  right: -10%;
}

.txt_future03 {
  float: right;
  width: 70%;
}
.img_future03 {
  width: 37%;
  position: absolute;
  top: -20%;
  left: -8%;
}


/*--------------------------------------------------
お客さまの声
-----------------------------------------------------*/
.voice {
  width: 33%;
  margin: 1em auto -1em;
}
.ctn_voice {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  flex-direction: row;
}

.box_voice {
  width: 49%;
    background: #fff;
    border-radius: 15px;
    padding: 2em 1.5em;
    margin: 1em 0 0;
}


.headingvoice {
	position: relative;
	padding-top: 30px;
	font-size: 26px;
  text-align: left;
	border-bottom: 1px solid rgba(5,62,98,1);
  margin: 0 0 0.5em;
}

.headingvoice span {
	position: relative;
	z-index: 2;
}

.headingvoice::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(0,140,214,0.2);
	font-size: 40px;
	text-transform: uppercase;
	z-index: 1;
}

/*--------------------------------------------------
挨拶
-----------------------------------------------------*/
.message {
  width: 33%;
  margin: 1em auto -1em;
}

.img_ceo {
  float: left;
  width: 30%;
  margin: -2em 0 0 0 ;
}
.box_message {
  background-color: #fff;
  margin: 4em 0 2em;

}
.img_name {
  float: left;
  width: 62%;
  margin-top: 2em;
}
.txt_message {
  padding: 1em 2em 2em;
}

/*--------------------------------------------------
メディア
-----------------------------------------------------*/
.media {
  width: 27%;
  margin: 1em auto -1em;

}


.ctn_media {
  margin: 3em 0 ;
}
.box_media {
  display: flex;
  align-items:center;
  padding: 2em ;
  background-color: #f7f8f8;
  font-weight: 600;
  border-bottom: 2px solid #004ea2;
}
.box_media a{
  font-weight: 300;
  font-size: 13px;
}
.img_media {
  width: 15%;
  margin-right: 2em;
}
.txt_media {
  width: 85%;
}
/*--------------------------------------------------
依頼の流れ
-----------------------------------------------------*/
.flow {
  width: 22%;
  margin: 1em auto -1em;
}

/*--------------------------------------------------
FAQ
-----------------------------------------------------*/
.faq {
  width: 17%;
  margin: 1em auto -1em;
}

.box_faq {
    max-width: 100%;
    padding: 2em 1em 4em;

}


/* Question部分 */
.puest {
    display: block;
    padding: 1em 0em 1em 0.5em;
    border-bottom: 2px solid #ccc;
    margin: 10px 0px;
    position: relative;
    font-size: 1.2em;
    font-weight: 600;
    color: #004ea2;
    
}

.faq_q {
    display: inline-block;
    width: 50px;
    height: 50px; 
    background-color: #004ea2;
    color: #fff;
    border-radius: 50%; 
    margin: 0 auto;/* ←円を中央揃え */
    text-align: center;/* ←文字を左右に中央揃え */
    line-height: 50px;/* ←文字を上下に中央揃え */
    margin-right: 15px;
    font-weight: 600;
    font-size: 1.1em;
}


/* Answer部分 */
.answer {
    display: block;
    padding: 1em 0.5em;
    width: 100%;
    height: auto;
}
.answer_txt {
    display: inline-block;
    width: 90%;
    vertical-align: middle;
}


.faq_a {
    display: inline-block;
    width: 50px;
    height: 50px; 
    background-color: #fff;
    border: 2px solid #e030a2;
    color: #e030a2;
    border-radius: 50%; 
    margin: 0 auto;/* ←円を中央揃え */
    text-align: center;/* ←文字を左右に中央揃え */
    line-height: 50px;/* ←文字を上下に中央揃え */
    margin-right: 10px;
    font-weight: 600;
    font-size: 1.1em;
}


/*--------------------------------------------------
フォーム
-----------------------------------------------------*/
.sec_company {
  padding: 4em 0 8em;
}

.contact {
  width: 32%;
  margin: 1em auto -1em;
}
.txt_form {
  margin: 2em;
  text-align: center;
}

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

.Form-Item-Label-Required {

margin-right: 8px;
width: 48px;
line-height: 1.7em;
display: inline-block;
text-align: center;
background: #e030a2;
color: #fff;
font-size: 75%;
margin-left: 3px;
}


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: 20px 10px;
}
table.formTable th{
width:30%;
font-weight:normal;
text-align:left;
font-weight: bold;
}
table.formTable td{
  font-weight: bold;
  margin: 0;
}


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 input[type="text-date"] {
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="radio"] {
  margin: 0 7px;
}

form input[type="checkbox"] {
  margin: 0 7px;
}


form select {
width:50%;
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 {
width: 60%;
margin: 0 0.5em;
text-align: center;
text-decoration: none;
font-weight: 600;
border: 2px solid #e030a2;
color: #e030a2;
background-color: #fff;
font-size: 1.3em;
line-height: 1.5;
position: relative;
display: inline-block;
padding: 0.5em 1em;
transition: all 0.3s;
text-align: center;
vertical-align: middle;
text-decoration: none;
}
.entry_btn:hover {
  background-color: #e030a2;
  color: #fff;
}


/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:572px) {


.section_form {
  padding: 0;
}

.wrap_form  {
width: 100%;
margin:0 auto 0.5em;
padding: 2em 0.5em ;

}
table.formTable th, table.formTable td {
width:auto;
display:block;
}
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;
}
}



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

.fadein {
  opacity : 0;
  transform: translateY(10px);
  transition: all 2s;
}

/*左からフェードイン*/
.fadeinleft {
    opacity : 0;
    transform: translateX(-40px);
    transition: all 1.5s;
}

/* アニメーション前(斜め左待機) */
.slide-skew01 {
  opacity : 0;
  transform: translate(-150px,-30px);
}
/* トリガー発火でis-activeを付与 */
.slide-skew01.is-active{
    transition: 1s;
    transform: translate(0,0);
    opacity: 1;
  }
  
/* アニメーション前(斜め右待機) */
.slide-skew02 {
  opacity : 0;
  transform: translate(150px,-30px);
}
/* トリガー発火でis-activeを付与 */
.slide-skew02.is-active{
    transition: 1s;
    transform: translate(0,0);
    opacity: 1;
  }

/* アニメーション前(右待機) */
.poyoyon {
  transform: translateX(140px);
  opacity: 0;
}
/* トリガー発火でis-activeを付与 */
.poyoyon.is-active{
 
  animation: poyoyon 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyon {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

/* アニメーション前(待機) */
.zoomin {
  transform: scale(0.8);
  opacity: 0;
}
/* トリガー発火でis-activeを付与 */
.zoomin.is-active{
  animation: zoomin 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}
 
@keyframes zoomin {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


    /*--------------------------------------------------
下部固定ヘッダー（PC）
-----------------------------------------------------*/
     
#pc_btn {
        display: block!important;
        width: 100%;
        text-align: center;
        padding-bottom: 0.5em;
    }


    /*--------------------------------------------------
下部固定ヘッダー（スマホ）
-----------------------------------------------------*/
     
.fix_menu_smartphone{
  display: none!important;
}

#page_top_sp {
    display: none!important;
}

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