/* ---------------------------------------------- /*
    -- base css
    -- 見出しの設定
    1. トップビジュアル
		2. ナビバー
		3. Message
		4. About
		5. Works（portfolio）
		6. Service
		7. Price
		8. Contact
		9. Footer
/* ---------------------------------------------- */

/* ---------------------------------------------- /*
*   base css
/* ---------------------------------------------- */
html{
  font-size: .9rem;
}
body{
  line-height: 2;
  letter-spacing: .1rem;
}
main{
  overflow: hidden;
}
p{
  color: #4a4a4a;
  margin: 0 0 10px;
}
a{
  color: #35ffff;
  transition: .4s all;
}
a:hover{
  color : #63BBE7;
  transition: .4s all;
}
h1 a{
  font-family: 'Josefin Sans',
  sans-serif;
  font-weight: 700;
}
h3{
  font-size: 1.4rem;
  font-weight: 700;
  font-family: 'Josefin Sans',sans-serif;
}

*{
  font-family: 'Noto Sans KR', sans-serif;
}

.nav-pills .nav-link.active{
  background-color: #63BBE7;
}

/* 各セクションの上下余白 */
.module {
  padding: 120px 0 80px;
}
.logo{
  width: 150px;
  height: auto;
}
/* ---------------------------------------------- /*
*   ここより上は変更しないでください
/* ---------------------------------------------- */


/* ---------------------------------------------- /*
*   見出しの設定
/* ---------------------------------------------- */
/* 各セクションタイトルの装飾 */
.module__header {
  margin    : 0 0 50px;
  text-align: center;
}
.module__title {
  position     : relative;
  font-family: 'Varela Round',sans-serif;
  margin-bottom: 50px;
}
.module__title span {
  position   : absolute;
  font-size  : 65px;
  font-family: 'Josefin Sans',sans-serif;
  font-weight: 700;
  top        : -40px;
  left       : 0;
  right      : 0;
  opacity    : 0.05;
}
.module__line {
  background: #666;
  width     : 55px;
  height    : 1px;
  margin    : 30px auto;
}

/* ---------------------------------------------- /*
*   1. トップビジュアル
/* ---------------------------------------------- */
#top {
  position        : relative;
  /* トップ問題③ CSSを書く */
  height          : 100vh;
  background-image : url("../images/video.gif");
  background-size: cover;
  background-position: center;
   /* トップ問題④ CSSを書く */
  display        : flex;
  justify-content: center;
  align-items    : center;
}

/* 背景に黒いフィルターをかける */
#top::after {
  content            : "";
  position           : absolute;
  left               : 0;
  right              : 0;
  top                : 0;
  bottom             : 0;
  background-color   : #000000;
  /* 背景にドット柄の黒いフィルターをかける */
  background-image: linear-gradient(45deg, #444 25%, transparent 25%, transparent 75%, #444 75%, #444),
  linear-gradient(45deg, #444 25%, transparent 25%, transparent 75%, #444 75%, #444);
  background-position: 0 0,
  1.5px 1.5px;
  background-size: 3px 3px;
  opacity            : 0.5;
}

.top-item {
  text-align : center;
  padding    : 60px 30px;
  max-width  : 780px;
  width      : 100%;
  z-index    : 1;
}
.top-item img{
  max-width: 180px;
  width: 100%;
}
/* helloの文字を装飾 */
.top-item__main span{
  color : #fff;
  font-family: 'Josefin Sans',sans-serif;
  font-size     : 30px;
  letter-spacing: 5px;
}

.typ {
  opacity: 0;
  }
  .typ span {
  opacity: 0;
  }

/* メッセージの文字を装飾 */
.top-item__sub {
  color : #fff;
  font-size     : 15px;
  text-transform: none;
  margin        : 15px 0;
  font-weight   : 200;
}

/* マウスの動くアイコン*/
.mouse-icon {
  position     : absolute;
  left         : 50%;
  bottom       : 60px;
  border       : 2px solid #fff;
  border-radius: 5px;
  height       : 50px;
  width        : 30px;
  margin-left  : -15px;
  display      : block;
  z-index      : 10;
  opacity      : 0.6;
}
.mouse-icon .wheel {
  -webkit-animation-name           : drop;
  -webkit-animation-duration       : 1s;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay          : 0s;
  -webkit-animation-iteration-count: infinite;
  -webkit-animation-play-state     : running;
  animation-name                   : drop;
  animation-duration               : 1s;
  animation-timing-function        : linear;
  animation-delay                  : 0s;
  animation-iteration-count        : infinite;
  animation-play-state             : running;
}
.mouse-icon .wheel {
  position     : relative;
  border-radius: 10px;
  background   : #fff;
  width        : 4px;
  height       : 10px;
  top          : 6px;
  margin-left  : auto;
  margin-right : auto;
}
@-webkit-keyframes drop {
  0% {
    top    : 5px;
    opacity: 0;
  }
  30% {
    top    : 10px;
    opacity: 1;
  }
  100% {
    top    : 25px;
    opacity: 0;
  }
}
@keyframes drop {
  0% {
    top    : 5px;
    opacity: 0;
  }
  30% {
    top    : 10px;
    opacity: 1;
  }
  100% {
    top    : 25px;
    opacity: 0;
  }
}
/* マウスの動くアイコン ここまで*/

/* ---------------------------------------------- /*
	* 2. ナビバー
/* ---------------------------------------------- */
/* メモ：bootstrapだけで実装 */
.nav-item a{
  /* ナビバー問題① リンクの色を#636363にする */
  color: #636363;
  font-family: 'Varela Round',sans-serif;
}


/* ---------------------------------------------- /*
  * 3. Message
/* ---------------------------------------------- */
  /* CSSの記述なし */
  /* module__headerの記述は50行目付近 */

/* ---------------------------------------------- /*
*  4. About
/* ---------------------------------------------- */

/* 左側のプロフィール画像を設定 */
.about-box__img{
  background-image : url("../images/prof-main.jpg");
  background-size: cover;
  background-position: right;
  min-height: 500px;
}

/* 右側のプロフィール */
.about-box__text{
  background-color: #383838;
  color: #fff;
  padding: 120px 60px 70px 60px;
}

/* プロフィールのボックス */
.about-item {
  margin  : 0 0 50px;
  position: relative;
}

/* プロフィールのアイコンを出す */
.about-item__icon {
  color: #ff674f;
  font-size: 32px;
  position: absolute;
  top: -25px;
  left: 0;
}

/* アイコンの幅分、左側に55pxのpadding */
.about-item__box {
  padding-left: 55px;
}

/* タイトル下の余白15px */
.about-item__title {
  margin: 0 0 15px;
}

/* プロフィール文章 */
p.about-item__desc {
  color: #fff;
}


/* ---------------------------------------------- /*
*  5. Works（portfolio）
/* ---------------------------------------------- */
#portfolio{
  padding-bottom:120px;
}
.works-item{
  position: relative;
  height: 100%;
}
.works-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.works-item__overlay{
  opacity: 0;
  transition: .8s all;
  padding : 0px 30px;
}
.works-item:hover .works-item__overlay {
  opacity   : 1;
  transition: .4s all;
  
}
.works-item__overlay::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/images/Portofolio\ \(1\).png);
  background-size: cover;
  background-position: center;
  opacity: 0.7;
}
.works-item__overlay1{
  opacity: 0;
  transition: .8s all;
  padding : 0px 30px;
}
.works-item:hover .works-item__overlay1 {
  opacity   : 1;
  transition: .4s all;
  
}
.works-item__overlay1::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/images/Portofolio\ \(1\).png);
  background-size: cover;
  background-position: center;
  opacity: 0.7;
}
.works-item__overlay2{
  opacity: 0;
  transition: .8s all;
  padding : 0px 30px;
}
.works-item:hover .works-item__overlay2 {
  opacity   : 1;
  transition: .4s all;
  
}
.works-item__overlay2::after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(/images/Portofolio\ \(1\).png);
  background-size: cover;
  background-position: center;
  opacity: 0.7;
}
.works-item__inner{
  color: #fff;
  position: absolute;
  transform   : translateY(-50%) translateX(-50%);
  text-align: center;
  width: 100%;
  top: 50%;
  left: 50%;
  z-index: 1;
}
.works-item__desc{
  margin-top: 20px;
  color: #fff;
}




/* ---------------------------------------------- /*
*  6. Service
/* ---------------------------------------------- */
#service{
  background-image: url("/images/code.png");
  background-attachment: fixed;
  background-size: cover;
}
#service h2 {
  color: #fff;
}
#service h2 span{
  opacity: 0.12;
}
.service-card{
  background-color: #fff;
  padding: 34px 28px 40px;
  margin: 30px 0;
  text-align: center;
  height: 80%;
  box-shadow : -6px 10px 30px rgba(0, 0, 0, 0.06);
}
.service-card__icon{
  font-size: 30px;
  color : #00cfd6;
}
.service-card__title {
  font-size              : 1.1rem;
  letter-spacing         : 3px;
  margin                 : 10px 0 20px;
  color                  : rgba(255, 255, 255, .1);
  background             : linear-gradient(to right, rgb(76, 217, 105), rgb(52, 170, 220), rgb(88, 86, 217), rgb(255, 45, 83), rgb(255, 45, 83), rgb(88, 86, 217), rgb(52, 170, 220), rgb(76, 217, 105));
  background-size        : 150%;
  -webkit-background-clip: text;
  animation              : Transition 10s linear infinite;
}
.service-card__copy {
  color      : #5B5963;
  font-size  : .9rem;
  text-align : left;
  font-family: fot-tsukuardgothic-std,sans-serif;
}

/* ---------------------------------------------- /*
*  7. Price
/* ---------------------------------------------- */
table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
}

table tr {
  background-color: #e6f2f5;
  padding: .35em;
  border-bottom: 2px solid #fff;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
  border-right: 2px solid #fff;
}
table th {
  font-size: .85em;
}
table thead tr{
  background-color: #167F92;
  color:#fff;
}
table tbody th {
    background: #78bbc7;
    color: #fff;
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
  text-align: right;
  color: #167F92;
  font-weight: bold;
}
.non{
  background:#fff
}
@media screen and (max-width: 600px) {
  table {
    border: 0;
    width:100%
  }
  table th{
    background-color: #167F92;
    display: block;
    border-right: none;
  }
  table thead {
    border: none;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
  }
  table tr {
    display: block;
    margin-bottom: .625em;
  }
  table td {
    border-bottom: 1px solid #bbb;
    display: block;
    font-size: .8em;
    text-align: right;
    position: relative;
    padding: .625em .625em .625em 4em;
    border-right: none;
  }
  
  table td::before {
    content: attr(data-label);
    font-weight: bold;
    position: absolute;
    left: 10px;
    color: #167F92;
  }
  table td:last-child {
    border-bottom: 0;
  }
  table tbody th {
    color: #fff;
}
}


/* ---------------------------------------------- /*
*  8. Contact
/* ---------------------------------------------- */

#contact{
  max-width: 650px;
  margin: 0 auto;
}
.btn-custom-2 {
  background   : rgba(253, 180, 90, 1);
  border-radius: 3px;
  color        : #fff;
}

/* ---------------------------------------------- /*
*  9. Footer
/* ---------------------------------------------- */

footer{
  background-color: #333;
  padding: 40px 0;
}
footer p{
  color:#fff;
}