@charset "UTF-8";

/*!---------------------------------------
 * aube.inc オリジナル追加
----------------------------------------*/

/* パソコンで見たときは"pc"のclassがついた要素が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた要素が表示される */
@media only screen and (max-width: 787px) {
.pc { display: none !important; }
.sp { display: block !important; }
}


/* ページ全体をふわっと表示 /////////////// */
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}


/* 要素をふわっと表示 /////////////// */
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 2s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}


/* トップページ・サマリーからのリンク /////////////// */
.linkBtn_right {
  text-align: right;
}


/* h3 タイトルの装飾 /////////////// */
.h3t {
  font-size: 140%;
  font-weight: 500;
  color: #000;
}

.txt_center {
  text-align: center;
}



/* Googleマップ /////////////// */
/*#map {
   width: 100%;
   height: 400px;
   background-color: grey;
 }
#map2 {
   width: 100%;
   height: 400px;
   background-color: grey;
 }*/

 /* GoogleMapレスポンシブ ==================== */
.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
@media only screen and (max-width: 787px) {
  .ggmap {
    padding-bottom: 100%;
  }
}




/* 画像マウスオーバーで半透明 /////////////// */
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}


/* VISIONページの背景 /////////////// */
#vision_bg {
  background-image: url("../img/vision/vision_bg.jpg");
  background-position: top center;
  background-attachment: fixed;
  background-size: cover;
  background-repeat: no-repeat
}





.youtube-title {
  background: #7b0000;
  color: #EEE;
  padding: 5px 0;
  margin-top: 0;
  border-radius: 0 0 10px 10px;
}
/* サムネイル画像とアイコンのコンテナに対するスタイル */
.thumbnail-container {
    position: relative;
}

/* 動画再生のアイコンに対するスタイル */
.play-icon {
    position: absolute;
    top: 50%; /* 垂直方向中央に配置 */
    left: 50%; /* 水平方向中央に配置 */
    transform: translate(-50%, -50%); /* 中央揃え */
    color: #FF0000; /* アイコンの色を設定 */
    font-size: 80px; /* アイコンのサイズを調整 */
    /* その他のスタイルを追加できます */
}




/* お客様の声 */
.cvoice-href {
  text-decoration: none;
}
.customers-voice-title {
  background: #005962;
  text-align: center;
  margin-top: 0;
  padding: 5px;
  color: #CCC;
  border-right: 1px solid #000;
}

.cvoice-href:hover .customers-voice-title {
  background: #008391;
  color: #FFF;
}




/* フロー */
#flow {
  max-width: 600px;
  margin: 0 auto;
  padding: 20px;
}

#flow h3 {
  background-color: #059ca3;
  color: #FFF;
  font-size: 22px;
  font-weight: bold;
  margin: 0 0 5px 0;
  padding: 1px 0 3px 15px;
}
#flow p {
  margin: 0;
  text-align: left;
  color: #d5d5d5;
}
#flow .attention {
  font-size : 80%;
  color: #fdf468;
}
#flow img {
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 10px;
}




#flow table {
  border-collapse: collapse; /* セルの境界線を結合 */
  width: 100%;               /* テーブルの幅を100%に設定 */
}
#flow td {
  padding: 0; /* セルのパディングをなくす */
  vertical-align: top;
}

#flow .td-base {
  background-color: #535353;   /* セルの背景色を白に設定 */
  padding: 20px;             /* セル内の余白 */
}

#flow .rounded-left {
  border-top-left-radius: 10px;  /* 左上の角を丸くする */
  border-bottom-left-radius: 10px; /* 左下の角を丸くする */
}
#flow .rounded-right {
  border-top-right-radius: 10px;  /* 右上の角を丸くする */
  border-bottom-right-radius: 10px; /* 右下の角を丸くする */
}
#flow .rounded-all {
  background-color: #535353;
  border-radius: 10px;
  border: 10px solid transparent;
  padding: 10px;
}

#flow .spacing-right {
  margin-right: 10px; /* 右側のセルに右側に余白を追加 */
}
#flow .spacing-left {
  margin-left: 10px; /* 左側のセルに左側に余白を追加 */
}


.arrow-container, .arrow-bar {
  position: relative;
  height: 60px; /* 矢印の長さ */
  width: 20px; /* 矢印の幅 */
  margin: 0 auto; /* 中央揃え */
}

.arrow-container:before, .arrow-bar:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: 5px; /* 矢印の線の太さ */
  background-color: red; /* 矢印の色 */
}


.arrow-container:after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid red;
}



.border-line {
  position: relative;
}

.border-line::after {
  content: '';
  position: absolute;
  left: 50%; /* 親要素の中心に配置 */
  transform: translateX(-50%); /* 罫線を左右の中心に合わせる */
  top: 0;
  height: 100%; /* 親要素の高さに合わせる */
  width: 5px; /* 罫線の幅 */
  background-color: red; /* 罫線の色 */
}


@media only screen and (max-width: 787px) {
  #flow h3 {
    font-size: 14px;
  }
  #flow p {
    font-size: 12px;
  }
  #flow .td-base {
    padding: 12px;
  }
  #flow .rounded-all {
    padding: 3px;
  }
}


/* フッター　中央の追加部分 */




