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

/* ---------------------------------------------- /*
*   base css
/* ---------------------------------------------- */
html{
  font-size: 1.1rem;
}
body{
  line-height: 2;
  letter-spacing: .1rem;
  background-color: #d9eaec;
}
main{
  overflow: hidden;
}
p{
  color: #74a64c;
  margin: 0 0 10px;
}
a{
  color: #35ffff;
  transition: .4s all;
}
a:hover{
  color : rgba(253, 115, 90, 1);
  transition: .4s all;
}
h1 a{
  font-family: 'Josefin Sans',
  sans-serif;
  font-weight: 700;
}
h2{
  color: #74a64c;
  text-align: left;
}
h3{
  font-size: 1.4rem;
  font-weight: 700;
  font-family: 'Josefin Sans',sans-serif;
}

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

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


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

/* ---------------------------------------------- /*
*   1. トップビジュアル
/* ---------------------------------------------- */
#top {
  position        : relative;
  /* トップ問題③ CSSを書く */
  height          : 100vh;
  background-image : url("../images/top-bg1.jpg");
  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   : #74a64c;
  /* 背景にドット柄の黒いフィルターをかける */
  background-image: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff),
  linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
  background-position: 0 0,
  1.5px 1.5px;
  background-size: 3px 3px;
  opacity            : 0.5;
}
/* 背景に黒いフィルターをかける 
#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 : left;
  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 : #444;
  font-family: 'Josefin Sans',sans-serif;
  font-size     : 30px;
  letter-spacing: 5px;
}
/* メッセージの文字を装飾 */
.top-item__sub span{
  color : #444;
  font-size     : 15px;
  text-transform: none;
  margin        : 15px 0;
  font-weight   : 200;
}

/* マウスの動くアイコン*/
.mouse-icon {
  position     : absolute;
  left         : 50%;
  bottom       : 60px;
  border       : 2px solid #444;
  border-radius: 16px;
  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   : #444;
  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;
  }
}
/* マウスの動くアイコン ここまで*/

/*文字のタイプ表示*/
.typ{
  opacity: 0;
}
.typ span{
  opacity: 0;
}


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




/* ---------------------------------------------- /*
  * 3. Message
/* ---------------------------------------------- */
  /* CSSの記述なし */
  /* module__headerの記述は50行目付近 */
  #message p{
      color: #74a64c;
      font-size: 1.1rem;
    }
  }

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

/* 左側のプロフィール画像を設定 */
.about-box__img{
  /* background-image: url("../images/reha-pro.png");
  min-height: 500px;
  background-size: cover;
  background-position: center;*/
  margin: 0px auto;
}
.about-image{
  width: 100%;
  height: 100%;
  text-align: center;
  border-radius: 50%;
  background-color: #fff;
}

#about h2{
  color:#74a64c;
  padding-left: 10px;
}
#about .module__line {
  background: #74a64c;
  width     : 55px;
  height    : 1px;
  margin    : 30px 0 30px 10px;
  padding-left: 15px;
}

/* 右側のプロフィール */
.about-box__text{
  background-color:#fff;
  color:#74a64c;
  padding-left: 20px;
}


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

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

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

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

/* プロフィール文章 */
p.about-item__desc {
  color:#74a64c;
}
.icon__sns{
  padding-left: 20px;
}
.icon__sns:hover{
  color: #74a64c;
}

/* ---------------------------------------------- /*
*  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;
  padding : 0px 30px;
  transition: .8s all;
}
.works-item:hover .works-item__overlay {
  opacity: 1;
  transition: .8s all;
}
.works-item__overlay::after {
  content            : "";
  position           : absolute;
  left               : 0;
  right              : 0;
  top                : 0;
  bottom             : 0;
  background-color   : #000;
  opacity            : 0.7;
}
.works-item__inner{
  color: #fff;
  position: absolute;
  text-align: center;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%)translateX(-50%);
  z-index: 1;
}
.works-item__desc{
  margin-top: 20px;
  color: #fff;
  padding: 0 10px;
}
.works-item__title{
  color: #bcd537;
}



/* ---------------------------------------------- /*
*  6. Service
/* ---------------------------------------------- */
#service{
  background-image : url("../images/service_bg.jpg");
  background-attachment: fixed;
  background-size: cover;
}
#service h2{
  color: #bcd537;
}
#service .module__line{
  background-color: #bcd537;
  ;
}
#service span{
  opacity: 0.12;
}
.service-card{
  margin: 30px auto;
  background-color: #fff;
  text-align: center;
  padding: 34px 28px 40px;
  box-shadow : -6px 10px 30px rgba(0, 0, 0, 0.06);
}
.service-card__title {
  font-size              : 1.5rem;
  letter-spacing         : 3px;
  margin                 : 10px 0 20px;
  color                  : #bcd537;
}
.service-card__copy{
  font-family: fot-tsukuardgothic-std,sans-serif;
  color: #bcd537;
  text-align: left;
}

.service__line {
  background: #bcd537;
  width     : 85px;
  height    : 1.5px;
  margin    : 0 auto;
}

.service__icon{
  color: #bcd537;
  padding-bottom: 20px;
}

/* ---------------------------------------------- /*
*  7. Price
/* ---------------------------------------------- */
#price{
  background-color: #fff;
}
#price h2,h3,p{
  color:#bcd537;
}
#price h3{
  margin-top: 50px;
}
.kaisuu{
  text-align: left;
}

#price .module__line{
  background-color: #bcd537;
}

table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 1000px;
  table-layout: fixed;
  color:#bcd537;
  font-size: 1.1rem;
}

table tr {
  padding: .35em;
  border-bottom: 1px solid #bcd537;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
  border-right: 0px solid #bcd537;
}

table th {
  font-size: .85em;
  text-align: center;
}
table thead tr{
  color:#bcd537;
  text-align: center;
}
table tbody th {
    color: #bcd537;
}
.txt{
   text-align: left;
   font-size: .85em;
}
.price{
  text-align: center;
  color: #bcd537;
  font-weight: bold;
}


@media screen and (max-width: 600px) {
  .about-image {
    margin-top: 35px;
}
  table {
    border: 0;
    width:100%
    
  }
  table th{
    background-color: #bcd537;
    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 #bcd537;
    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: #bcd537;
  }
  table td:last-child {
    border-bottom: 0;
  }
  table tbody th {
    color: #fff;
}
}



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

#contact{
  max-width: 650px;
  margin: 0 auto;
}
#contact p{
  color: #74a64c;
}
.btn-custom-2 {
  background   : #74a64c;
  border-radius: 3px;
  color        : #fff;
}

/* ---------------------------------------------- /*
*  9. Footer
/* ---------------------------------------------- */
footer {
  background-color: #333;
  padding   : 40px 0;
  text-align: center;
}
footer ul{
  list-style: none;
}
.social-links a {
  margin : 5px;
  width                : 36px;
  height               : 36px;
  display              : block;
  line-height          : 33px;
  border               : 1px solid #d6d6d6;
  border-radius        : 50%;
  color                : #d6d6d6;
}

.social-links a:hover {
  　border: 3px solid #8e8e8e;
  　color : #8e8e8e;
}

footer p{
  color: #fff;
}