@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');

html {
  font-family: 'Noto Sans JP', sans-serif;
  scroll-behavior: smooth;
}

body {
  margin: auto;
  /* background-color: #2b666d; */
  background-color: #eaf2f3;
}

.main {
  background-color: #f5fdfd;
  width: 50%;
  padding: 20px;
  margin: 0;
  min-height: 100vh;
}

header {
  height: 42px;
}

.header-contents {
  position: fixed;
  background-color: #fff;
  height: 42px;
  width: 100%;
  z-index: 10;
}

.top_form {
  text-align: right;
  padding: 9px 60px 9px 0;
}

.top_form a {
  text-decoration: none;
  color: rgb(6, 52, 6);
  font-weight: bold;
  font-size: 14px;
}

.top_contact {
  position: relative;
  overflow: hidden;
}

.top_img img {
  position: absolute;
  padding: 0 0 0 10px;
  width: 150px;
}

footer,
footer a {
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
}

h2 {
  font-size: 18px;
  text-align: left;
  color: #4663d7;
  padding: 0 6px;
}

h3 {
  font-size: 22px;
  text-align: center;
  letter-spacing: 1.6px;
}

h4 {
  color: #196072;
}

h4:first-letter {
  color: #2692ad;
  font-size: 1.3em;
}

#motto {
  background-color: #000000;
  color: #fff;
  margin: -28px -20px 0 -20px;
  padding: 20px;
  text-align: center;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 280px;
}

#motto p {
  transform: scale(0);
  animation: zoomIn 1s ease-out forwards;
}

@keyframes zoomIn {
  from {
    transform: scale(0);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}


#strengths {
  margin: 0 -20px;
  padding: 20px;
}

.strong-p {
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}

#service {
  margin: 0 -20px;
  padding: 20px;
  background-color: #eaf2f3;
}

.admenu {
  border: 2px solid #99bdde;
  border-radius: 10px;
  list-style: none;
  padding: 0 .8em .5em;
  position: relative;
}

.admenu a {
  color: #66a5df;
  font-weight: bold;
  font-size: 20px;
  text-decoration: none;
}

.admenu li {
  border-bottom: 1px dashed #b9b9b9;
  margin-top: 10px;
  padding: .5em 0 .5em 2em;
}

.admenu li:before {
  color: #99bdde;
  content: ">";
  font-weight: 900;
  left: 1em;
  margin: 3px 0;
  position: absolute;
}

.admenu li:last-of-type {
  border-bottom: none;
}

#kotaro {
  margin: 0 -20px;
  padding: 20px;
}

#profile {
  margin: 0 -20px;
  padding: 20px;
  background-color: #eaf2f3;
}

#profile button {
  background-color: #eaf2f3;
  border: solid 2px #2f4f4f;
  color: #000000;
  padding: 6px 20px;
  font-size: 1em;
}

#profile a {
  text-decoration: none;
  color: inherit;
}

#profile button:hover {
  color: #000000;
  background-color: #ffffff;
}


/* 問い合わせボタン */

#form-area {
  text-align: center;
  margin: 0 -20px -20px -20px;
  padding: 50px 20px;
  /* background-color: #eaf2f3; */
  background-color: #b8dbf1;
}

.guidance {
  letter-spacing: 5px;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.guidance::before,
.guidance::after {
  content: '';
  width: 3px;
  height: 40px;
  background-color: #3fc1c9;
}

.guidance::before {
  margin-right: 30px;
  transform: rotate(-35deg)
}

.guidance::after {
  margin-left: 30px;
  transform: rotate(35deg)
}

a.form-btn {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem 2rem;
  cursor: pointer;
  color: #fff;
  background-color: #fc4c00;
  border-bottom: 6px solid #842700;
  border-radius: 50px;
  transition: all 0.3s;
  text-decoration: none;
  letter-spacing: 0.1em;
}

a.form-btn:hover {
  color: #fff;
  background: #842700;
  border-bottom: 2px solid #280000;
  margin-top: 3px;
}

/* 問い合わせフォーム */

.dl-form select,
.dl-form input {
  padding: 8px 4px;
  font-size: 16px;
}

.dl-form textarea {
  font-size: 14px;
}

.policy-check input[type="checkbox"] {
  transform: scale(1.5);
}




/*=================
サイト
=================*/

.top_content {
  background-image: url('../images/site/pctop.png');
  background-repeat: no-repeat;
  background-size: 100% 100%;
  height: 400px;
  margin: -20px;
  position: relative;
}

.top_inner {
  /* padding: 150px 0 0 200px; */
  position: absolute;
  text-align: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.catch {
  font-weight: bold;
  display: inline-block;
  padding: 10px 20px;
  color: white;
  font-weight: bold;
  position: relative;
}

.catch::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 110%;
  height: 120%;
  background-color: rgb(216, 55, 55);
  filter: blur(8px);
  z-index: -1;
  transform: translate(-50%, -50%) rotate(-2deg);
}

.text-brush {
  display: inline-block;
  padding: 10px 20px;
  background: black;
  color: white;
  font-weight: bold;
  clip-path: polygon(5% 20%, 95% 10%, 90% 80%, 10% 90%);
}



/*=================
ハンバーグメニュー
=================*/
.openbtn {
  /*ボタン内側の基点となるためrelativeを指定。
追従するナビゲーションの場合はfixed＋top、rightといった位置をセットで指定*/
  position: absolute;
  top: 1px;
  right: 10px;
  z-index: 1000;
  background: rgb(197, 211, 206);
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 20px;
}

/*ボタン内側*/
.openbtn span {
  display: inline-block;
  transition: all .4s;
  /*アニメーションの設定*/
  position: absolute;
}

.openbtn span:nth-of-type(1),
.openbtn span:nth-of-type(2),
.openbtn span:nth-of-type(3) {
  height: 2px;
  background: #fff;
  width: 62%;
  left: 8px;
}

.openbtn span:nth-of-type(1) {
  top: 8px;
}

.openbtn span:nth-of-type(2) {
  top: 20px;
  /* left: 8px;
  font-size: 0.75rem;
  text-transform: uppercase;
  color: rgb(77, 72, 20);
  font-weight: bold; */
}

.openbtn span:nth-of-type(3) {
  top: 31px;
}

/*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
.openbtn.active span:nth-of-type(1) {
  top: 12px;
  left: 15px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  top: 24px;
  left: 15px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

#g-nav.panelactive {
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  height: 100vh;
}

.circle-bg {
  position: fixed;
  z-index: 3;
  /*丸の形*/
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(7, 62, 66, 0.95);
  /*丸のスタート位置と形状*/
  transform: scale(0);
  /*scaleをはじめは0に*/
  right: -50px;
  top: -50px;
  transition: all .8s;
  /*0.6秒かけてアニメーション*/
}

.circle-bg.circleactive {
  transform: scale(50);
  /*クラスが付与されたらscaleを拡大*/
}

#g-nav.panelactive #g-nav-list {
  display: block;
  /*クラスが付与されたら出現*/
}

/*ナビゲーションの縦スクロール*/
#g-nav-list {
  display: none;
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#g-nav ul {
  opacity: 0;
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 46%;
  transform: translate(-50%, -50%);
  line-height: 2.5em;
}

/*背景が出現後にナビゲーションを表示*/
#g-nav.panelactive ul {
  opacity: 1;
}

/* 背景が出現後にナビゲーション li を表示*/
#g-nav.panelactive ul li {
  animation-name: gnaviAnime;
  animation-duration: 1s;
  animation-delay: .2s;
  /*0.2 秒遅らせて出現*/
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes gnaviAnime {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*リストのレイアウト設定*/
#g-nav li {
  text-align: center;
  list-style: none;
}

#g-nav li a {
  color: rgb(255, 255, 255);
  text-decoration: none;
  padding: 5px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}


/*=================
フォーム
=================*/
.dl-form input[type="text"] {
  width: 80%;
}

.dl-form input[type="email"] {
  width: 80%;
}

.dl-form input[type="checkbox"] {
  margin: auto;
}

.dl-form textarea {
  width: 100%;
}

.require {
  color: red;
  padding-left: 10px;
}

.text-right {
  display: block;
  text-align: right;
}

.policy-check {
  display: block;
  text-align: center;
}

.submit {
  text-align: center;
}

.frame {
  background-color: #fff;
}

/*=================
3カラム レスポンシブ用
=================*/
.wrap {
  display: flex;
  min-height: 700px;
}

#particles-js {
  position: fixed;
  width: 25%;
  height: 100vh;
  background-color: #2b666d;
  z-index: -1;
}

.left-wrapper {
  width: 25%;
  position: relative;
  background-color: #2b666d;
  z-index: -2;
}

.left-img001 {
  position: absolute;
  height: 60%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.right-wrapper {
  width: 25%;
  background-color: #eaf2f3;
  box-shadow: inset 3px 0 10px 0 rgba(60, 194, 235, 0.5);
}

.right-main {
  margin: auto 20px;
  position: sticky;
  top: 16px;
  z-index: 1;
}

#right-navi a {
  text-decoration: none;
  border-bottom: dashed 2px rgb(26, 159, 174);
  font-weight: bold;
  color: rgb(26, 159, 174);
}

#right-navi ul {
  list-style: none;
  padding: 0;
  text-align: center;
  line-height: 3em;
}

.side {
  text-align: center;
}

.side ul {
  list-style: none;
  text-align: center;
  padding: 5px 0;
}

.side ul li {
  background-color: rgb(189, 226, 226);
  margin: 10px 10px;
  padding: 10px;
}

.side a {
  text-decoration: none;
  font-size: 20px;
  color: #4663d7;
  font-weight: bold;
}

#strengths img {
  display: block;
  margin: auto;
  width: 60%;
}

#service img {
  display: block;
  margin: auto;
  width: 40%;
}

#kotaro img {
  display: block;
  margin: auto;
  width: 60%;
}

/*=================
タブレット
=================*/
@media screen and (max-width:1000px) {
  .left-wrapper {
    display: none;
  }

  .main {
    width: 80%;
  }

  .right-wrapper {
    width: 20%;
    min-width: 180px;
  }

  .right-main {
    margin: auto;
  }

  .top_content {
    height: 400px;
  }

  .catch {
    font-size: 18px;
  }

  .side ul li {
    padding: 10px;
  }

  .side a {
    font-size: 18px;
  }
}

/*=================
スマホ
=================*/
@media screen and (max-width:600px) {

  html,
  body {
    overflow-x: hidden;
  }

  .left-wrapper {
    display: none;
  }

  .main {
    width: 100%;
  }

  .right-wrapper {
    display: none;
  }

  .top_content {
    background-image: url('../images/site/top.png');
    height: 500px;
  }

  #strengths img {
    width: 80%;
  }

  #kotaro img {
    width: 80%;
  }

  /* .top_inner {
    padding: 180px 0 0 70px;
  } */

  .catch {
    font-size: 18px;
  }
}

/*=================
スマホ以上
=================*/
@media screen and (min-width:600px) {
  header {
    display: none;
  }
}

/*=================
Full HD以上
=================*/
@media screen and (min-width: 1950px) {
  .main {
    width: 50%;
  }

  .top_content {
    height: 700px;
  }

  .right-main {
    margin: auto 50px;
  }

  #right-navi a {
    font-size: 28px;
  }

  #right-navi ul {
    padding: 0;
    line-height: 4em;
  }

  .side ul li {
    margin: 30px 0;
    padding: 20px;
  }
}