@charset "UTF-8";

/*** カスタムプロパティ ***/

:root {
    --base-color: #fff;
    --main-color: #3B8BFC;
    --text-color: #000;
    --accent-color: #3BC537;
    --sub-color: #535353;
    --hint-color: #EA7831;
}

/*** 初期設定 ***/

body {
    margin: 0;
    padding: 0;
    font-size: 3.0vw;
    line-height: 1.618;
    background-color: #FFFFFF;
    color: #000;
    text-align: center;
    width: 100%;
    font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", "Font Awesome 5 Free", "Font Awesome 5 Brands", sans-serif;
}

ul {
    list-style:none;
}

div {
    padding: 0 10px;
}

p {
    color: var(--text-color);
    font-size: 3.2vw;
    text-align: left;
    margin-bottom: 10px;
}

img {
    width:100%;
    max-width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
}

/*** hタグ ***/

h1{
  font-size: 3vw;
  font-weight: bold;
  color: var(--accent-color);
}

h2{
  text-align: center;
  width: 98%;
  padding:8px 0px 8px 0px;
  margin-top:0;
  margin-left: auto;
  margin-right: auto;
  font-size: 5vw;
  font-weight: bold;
  background-color: #FFF7B4;
  color: var(--base-color);
  text-shadow: var(--hint-color) 2px 0, var(--hint-color) -2px 0, var(--hint-color) 0 -2px, var(--hint-color) 0 2px, var(--hint-color) 2px 2px, var(--hint-color) -2px 2px, var(--hint-color) 2px -2px, var(--hint-color) -2px -2px, var(--hint-color) 1px 2px, var(--hint-color) -1px 2px, var(--hint-color) 1px -2px, var(--hint-color) -1px -2px, var(--hint-color) 2px 1px, var(--hint-color) -2px 1px, var(--hint-color) 2px -1px, var(--hint-color) -2px -1px;
}

h3{
  font-size: 5vw;
  font-weight: bold;
  color: var(--text-color);
}

h4{
  text-align: center;
  width: 98%;
  padding: 0px;
  margin-top:0px;
  margin-bottom: 8px;
  margin-left: auto;
  margin-right: auto;
  font-size: 5vw;
  font-weight: bold;
  color: var(--base-color);
  text-shadow: var(--main-color) 2px 0, var(--main-color) -2px 0, var(--main-color) 0 -2px, var(--main-color) 0 2px, var(--main-color) 2px 2px, var(--main-color) -2px 2px, var(--main-color) 2px -2px, var(--main-color) -2px -2px, var(--main-color) 1px 2px, var(--main-color) -1px 2px, var(--main-color) 1px -2px, var(--main-color) -1px -2px, var(--main-color) 2px 1px, var(--main-color) -2px 1px, var(--main-color) 2px -1px, var(--main-color) -2px -1px;
}

/*** ボタン ***/

/* ブルー ボタン */
.btn-blue {
  width: 60%;
  padding: 15px 0;
  background-color: var(--hint-color);
  font-size: 4vw;
  font-weight: bold;
  color: var(--base-color);
  text-align: center;

  border-radius: 16px;

  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
.btn-blue a {
  text-decoration: none;
  color: var(--base-color);
}

.animation{
  animation: pikapika 10s linear infinite;
  scale: 1;
}

@keyframes pikapika {
  0% {
    background: var(--hint-color);
  }
  10% {
    background: #fff;
  }
  20% {
    background: var(--hint-color);
  }
  30% {
    background: #fff;
  }
  40% {
    background: var(--hint-color);
  }
  50% {
    background: #fff;
  }
  60% {
    background: var(--hint-color);
  }
  70% {
    background: #fff;
  }
  80% {
    background: var(--hint-color);
  }
}

/* オレンジ ボタン */
.btn-orange {
  width: 45%;
  padding: 15px 0;
  background-color: var(--hint-color);
  font-size: 3.0vw;
  color: var(--base-color);
  text-align: center;

  border-radius: 16px;

  margin-left: auto;
  margin-right: auto;
}
.btn-orange a {
  text-decoration: none;
  color: var(--base-color);
}
.btn-orange a:hover {
  color: var(--hint-color);
}

/*** 問い合わせフォーム ***/
.Form {
  margin-top: 0px;
  margin-left: auto;
  margin-right: auto;
}
.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  /* display: flex; */
  align-items: center;
}
.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 3.1vw;
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
.Form-Item-Label-Required {
  border-radius: 6px;
  margin-right: 8px;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 48px;
  display: inline-block;
  text-align: center;
  background: #5bc8ac;
  color: #fff;
  font-size: 14px;
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 0px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  width: 80%;
  background: #eaedf2;
  font-size: 18px;
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 0px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  width: 80%;
  background: #eaedf2;
  font-size: 18px;
}
.Form-Item-Select {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 0px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  width: 85%;
  background: #eaedf2;
  font-size: 18px;
}

.Form-Btn {
  border-radius: 10px;
  margin-top: 12px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: var(--hint-color);
  color: #fff;
  font-weight: bold;
  font-size: 3.4vw;
}

/*** タブボックス ***/
.tab-area {
  padding:4px 8px 20px 8px;
  border-radius: 10px;
  background-color: #eee;
}
.tab-area p {
  color: var(--text-color);
  text-decoration: underline;
  font-size: 3.37vw;
  text-align: center;
}

.tab-area input { /* input(ラジオボタン)は表示しません。表示しないのであって動作はしています */
    display: none;
   }
   #tab-box label{
     cursor: pointer;
   }
   #tab-box{
     max-width:100%;
     min-width:250px;
     margin: 0px;
     font-size: 0; /* divについて余白を表示させないためにfont-size:0を設定するテクニックです */
     position: relative;
   }
   #tab-box .tab1,.tab2,.tab3,.tab4,.tab5{
     display: inline-block; /* inline-blockによって横並びになります */
     width: 14%;
     margin:0px;
     border-radius: 4px 4px 0px 0px;
     padding-top:3px;
     text-align: center;
     font-size: 3.0vw;
     background-color: var(--base-color);
     color: #ffffff;
   }
   #tab-box .tab1{
     margin-left:10px;
     border:1px solid var(--main-color);
     background-color: var(--base-color);
     color: var(--text-color);
   }
   #tab-box .tab2{
    border:1px solid var(--main-color);
    background-color: var(--base-color);
    color: var(--text-color);
}
   #tab-box .tab3{
    border:1px solid var(--main-color);
    background-color: var(--base-color);
    color: var(--text-color);
}
   #tab-box .tab4{
    border:1px solid var(--main-color);
    background-color: var(--base-color);
    color: var(--text-color);
}
#tab-box .tab5{
  border:1px solid var(--main-color);
  background-color: var(--base-color);
  color: var(--text-color);
}
#tab-box .box1,.box2,.box3,.box4,.box5{
     border:1px solid #4d4a46;
     border-radius:7px 7px 7px 7px;
     height:auto;
     padding:5px;
     font-size: 3.0vw;
   }
   #tab-box .box1{ /* 初期状態はbox1を表示します */
     color:var(--text-color);
     background-color: var(--base-color);
     border:1px solid var(--main-color);
     text-align: left;
   }
   #tab-box .box2{
     display: none;
     color:var(--text-color);
     background-color: var(--base-color);
     border:1px solid var(--main-color);
     text-align: left;
   }
   #tab-box .box3{
     display: none;
     color:var(--text-color);
     background-color: var(--base-color);
     border:1px solid var(--main-color);
     text-align: left;
   }
   #tab-box .box4{
    display: none;
    color:var(--text-color);
    background-color: var(--base-color);
    border:1px solid var(--main-color);
    text-align: left;
}
#tab-box .box5{
  display: none;
  color:var(--text-color);
  background-color: var(--base-color);
  border:1px solid var(--main-color);
  text-align: left;
}
.input1:checked ~ #tab-box .box1 { /* input1がチェックされた場合の処理 box1を表示します */
     display: block;
   }
   .input1:checked ~ #tab-box .box2, #tab-box .box3,#tab-box .box4,#tab-box .box5{/* input1がチェックされた場合の処理 box2とbox3とbox4とbox5を非表示 */
     display: none;
   }
   .input2:checked ~ #tab-box .box1 ,#tab-box .box3,#tab-box .box4,#tab-box .box5{/* input2がチェックされた場合の処理 box1とbox3とbox4とbox5を非表示 */
     display: none;
   }
   .input2:checked ~ #tab-box .box2 { /* input2がチェックされた場合の処理 box2を表示します */
     display: block;
   }
   .input3:checked ~ #tab-box .box1,#tab-box .box2,#tab-box .box4,#tab-box .box5 {/* input3がチェックされた場合の処理 box1とbox2とbox4とbox5を非表示 */
     display: none;
   }
   .input3:checked ~ #tab-box .box3 { /* input3がチェックされた場合の処理 box3を表示します */
     display: block;
   }
   .input4:checked ~ #tab-box .box1,#tab-box .box2,#tab-box .box3,#tab-box .box5 {/* input4がチェックされた場合の処理 box1とbox2とbox3とbox5を非表示 */
    display: none;
  }
  .input4:checked ~ #tab-box .box4 { /* input4がチェックされた場合の処理 box4を表示します */
    display: block;
  }
  .input5:checked ~ #tab-box .box1,#tab-box .box2,#tab-box .box3,#tab-box .box4 {/* input5がチェックされた場合の処理 box1とbox2とbox3とbox4を非表示 */
    display: none;
  }
  .input5:checked ~ #tab-box .box5 { /* input4がチェックされた場合の処理 box4を表示します */
    display: block;
  }

/*** セクション ***/

.wrapper {
    width: 100%;
    text-align: center;
    margin:0 auto;
    padding: 0;
    overflow: hidden;
}

/*** ヘッダー ****/
header {
    width:100%;
    height:auto;
    padding: 0;
    margin: 0;
}

.header-float {
  width: 100%;
  display: flex;
  align-items: center;
  padding-top:8px;
}
.header-float_tel {
  width: 40%;
}
.header-float-item {
  width: 10%;
}
.header-float-item:last-child {
  margin-left: auto;
}

/*** ハンバーガーメニュー ***/

/* ハンバーガーボタン */
input[type="checkbox"] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}
.hamburger {
  display: block;
  width: 8vw;
  height: 80px;
  position: relative;
  display: flex;
  z-index: 99;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.hamburger span,
.hamburger span::before,
.hamburger span::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 4px;
  background-color: var(--main-color);
  transition: all 0.5s;
}
.hamburger span::before {
  top: -3vw;
}
.hamburger span::after {
  bottom: -3vw;
}
input[type="checkbox"]:checked + .hamburger span {
  background-color: transparent;
}
input[type="checkbox"]:checked + .hamburger span::before {
  top: 0;
  transform: rotate(45deg);
}
input[type="checkbox"]:checked + .hamburger span::after {
  bottom: 0;
  transform: rotate(-45deg);
}
/* メニュー */
.nav {
  position: fixed;
  width: 40%;
  height: 70vh;
  top: 80px;
  right: -120%;
  background-color: var(--main-color);
  color: var(--base-color);
  padding: 20px 20px 20px 0px;
  transition: all 0.5s;
  text-align: left;
}
.nav__item a {
  display: block;
  color: var(--base-color);
  font-size: 4.5vw;
  padding: 16px 0px 16px 0px;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 2px dotted;
}
.nav__item a:hover {
  color: var(--main-color);
  background-color: #fff;
  text-decoration: none;
}
input[type="checkbox"]:checked ~ .nav {
  right: 0;
}
/*** フッター ****/
footer {
    width:100%;
    height:auto;
    padding: 0;
    margin: 0 0 10px 0;
    background-color: #BBDFFF;
}
footer p {
  font-size: 3.0vw;
  font-weight: bold;
  text-align: center;
}

.footer-float {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top:8px;
}
.footer-float_tel {
  width: 40%;
}
.footer-float-item {
  width: 10%;
}

/*** メインエリア ***/
.main-area {
    width:auto;
    height:auto;
    padding: 0;
    margin: 0;
    font-size:0;
}

/*** ウェブクーポン ***/
.coupon {
    color: var(--accent-color);
    font-size: 3.7vw;
    font-weight: bold;
}

/*** こんな悩みありませんか ***/
.nayami-label {
    display: flex;
    margin-bottom: 14px;
}
.nayami-label div {
    display: flex;
}
.nayami-label img {
    width: 428px;
}
.nayami-polygon {
    width: 138px;
    text-align: center;
    display: block;
    margin-left: auto;
    margin-right: auto
}
.nayami-box-blue {
  background-color: #DFF6FF;
  border-radius: 8px;
  width: 90%;
  height: auto;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 10px 10px 10px;
  color: var(--text-color);
  font-size: 3.1vw;
  font-weight: bold;
}

/*** 会社名ボックス ***/
.company-box {
  padding: 0px 8px 8px 10px;
  background-color: #FFFDBE;
}
.company-box p {
  text-align: center;
  color: var(--text-color);
  font-size: 3.0vw;
}

/*** サービス内容例 ***/
.sample-box article {
  display: flex;
  margin-bottom: 10px;
  box-sizing: border-box;
  border-bottom: 2px dotted #000;
}
.sample-box h5 {
  font-size: 3.1vw;
  color: var(--text-color);
  font-weight: bold;
  text-align: left;
  margin:0;
}
.sample-box p {
  font-size: 2.8vw;
  color: var(--text-color);
  text-align: left;
}
.sample-box figure {
    margin-right: 0px;
    width: 100%;
}
.sample-box figure img {
  max-width: 90%;
  height: auto;
  vertical-align: top;
}

/*** 料金プラン ***/
.packplan-box {
}
.packplan-box article {
  display: flex;
  margin-bottom: 10px;
  margin-top: 8px;
  box-sizing: border-box;
}
.packplan-box p {
  font-size: 3.1vw;
  color: var(--text-color);
  text-align: left;
}
.packplan-box figure {
    margin-right: 20px;
    height: auto;
}
.packplan-box figure img {
  min-width: 150px;
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

/*** インボイス表示 ***/
.invoice {
  width:96%;
  margin-top:10px;
}


/*** メモテキスト欄 ***/
.memo-box {
  text-align: left;
  color: var(--main-color);
  border-radius: 8px;
  background-color: var(--base-color);
  border:1px sold var(--main-color);
  font-size: 3.2vw;
  font-weight: bold;
  padding: 0px 10px 14px 10px;
  margin:0px 10px 0px 10px;
}

/*** Q&A ***/
.qa {
  width: 96%;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/*** 実績例 ***/

.jisseki-box {
  background-color: #b5ebff;
  color: var(--text-color);
  font-size:2.8vw;

  width: 100%;
  height: auto;
  padding: 10px;
  margin-bottom: 20px;
}
.jisseki-box p {
  width: 96%;
  padding:10px 10px 10px 10px;
  font-size: 3.0vw;
}
.jisseki-box-head {
  width:94%;
  height:auto;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding:10px;
  margin:10px;

  display: flex;
  align-items: left;
  justify-content: left;
}
.jisseki-box-head img {
  width: 20%;
}
.jisseki-box-head p {
  margin-left:20px;
  padding:0 0 0 14px;
  font-size: 3.0vw;
  font-weight: bold;
}
.jisseki-box-bf {
  width: 94%;
  height: auto;
  background-color: #fff;
  margin: 10px;
}
.jisseki-box-bf img {
  width: 100%;
}

/*** スタッフコラム ***/

.column-box {
  background-color: #b5ebff;
  color: var(--text-color);
  font-size:2.8vw;

  width: 100%;
  height: auto;
  padding: 10px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
}
.column-box p {
  width: 94%;
  height: auto;
  padding:10px 10px 10px 10px;
  font-size: 3.0vw;
  background-color: #fff;
  margin: 10px;
}
.column-box-head {
  width:94%;
  height:auto;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  padding:10px;
  margin:10px;

  display: flex;
  align-items: left;
  justify-content: left;
}
.column-box-head img {
  width: 15%;
}
.column-box-head p {
  margin-left:20px;
  padding:0 0 0 14px;
  font-size: 3.6vw;
  font-weight: bold;
}

/* 250217追記 */
ol.breadcrumb_list {
  list-style: none;
  display: flex;
  font-size: 2.3rem;
  color: #555;
}
.breadcrumb_list li:after {
  content: '>';
  padding: 0 0.3em;
}
.breadcrumb_list li:last-child:after {
  content: '';
}
/* 250217追記 END */

/* 250408追記 */
.footer-content {
  background: #fff;
}
.footer-content ul {
  padding: 2rem 0;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}
.footer-content li {
  margin: 0 1rem;
}

footer small {
  background: #fff;
}

h1.h1-title {
  text-size-adjust: none;
  font-size: 4.0vw;
  line-height: 1.2;
  color: #000;
}

.header-float {
  position: fixed;
  background: #fff;
  z-index: 2;
}
.top-padding {
  padding-top: 15%;
}
/* 250408追記 END */
/* 250424Start 追記 */
h2.h2-title {
}
/* 250424End 追記 */

/* 250512 追記 */
.top-areaTitle {
    text-decoration: none!important;
    font-size: 3vw!important;
}
ul.column_list {
    padding: 0 2vw;
}
ul.column_list li {
    margin: 3vw 0;
}
ul.column_list li p {
  margin-top: 1vw;
}
  /* バナー設置 */
.footer_banner {
      position: fixed;
      bottom: 0;
      background: #fff;
      display: flex;
      padding: 2vw;
      align-items: center;
      justify-content: space-around;
  }
  .footer_banner p {
      font-weight: bold;
      font-size: 4vw;
      margin: 0;
  }
  .footer_banner p span {
      color: #FF0A0A;
      font-size: 5vw;
  }
  .footer_banner a {
      background: #4FBB4A;
      color: #fff;
      display: flex;
      border-radius: 25px;
      justify-content: center;
      align-items: center;
      font-size: 6vw;
      font-weight: bold;
      text-decoration: none;
      width: 60%;
  }
  .footer_banner a img {
      width: 16%;
      margin-right: 2vw;
  }
  footer {
    margin-bottom: 150px;
  }
/* 250512 追記 END */

/* 250701 追記 TOPページ改修 */
.top .footer_banner {
    display: none;
}
body.top {
    max-width: 768px;
    margin: auto;
}
.top .header-float {
    max-width: 768px;
    padding: 2px;
}
.top .hamburger {
    width: 70px;
    height: 50px;
}
.top .hamburger span::before {
    top: -25px;
}
.top .hamburger span::after {
    bottom: -25px;
}
.top .hamburger span,
.top .hamburger span::before,
.top .hamburger span::after {
    height: 2px;
}
.top .nav__item a {
    font-size: 1.2rem;
}
.top ul.nav__list {
    margin: 0;
}
.top .nav__item a {
    font-size: 1.2rem;
}
.top h1.h1-title {
    font-size: min(4vw, 40px);
}
.top h2 {
    font-size: min(5vw, 38px);
}
.top h3 {
    font-size: min(5vw, 38px);
}
.top h4 {
    font-size: min(5vw, 38px);
}
.top p {
    font-size: 18px;
    margin-top: 6px;
}
.top font {
    font-size: 14px;
}
.top .nayami-label {
    margin-bottom: 6px;
}
.top .nayami-polygon {
    width: 50px;
}
.top .btn-blue {
    padding: 6px 0;
    border-radius: 6px;
    width: 60%;
    font-size: min(4vw, 28px);
}
.top .jisseki-box {
    padding: 5px
}
.top .jisseki-box-head {
    width: 90%;
}
.top .jisseki-box p {
    font-size: 18px;
}
.top .tab-area p {
    font-size: 18px!important;
}
.top #tab-box .tab1,
.top #tab-box .tab2,
.top #tab-box .tab3,
.top #tab-box .tab4,
.top #tab-box .tab5 {
    font-size: min(3vw, 18px);
}
.top #tab-box .box1,
.top #tab-box .box2,
.top #tab-box .box3,
.top #tab-box .box4,
.top #tab-box .box5 {
    font-size: 18px;
}
.top footer p {
    font-size: 18px;
    margin-bottom: 0;
}
.top .footer-content ul {
    padding: 14px 0;
}
.top .footer-content li {
    margin: 0 6px;
    font-size: min(3vw, 14px);
}
.top footer {
    margin-bottom: 0;
}
.top .footer_banner a {
    border-radius: 10px;
}
.top small {
    font-size: min(3vw, 14px);
}
@media screen and (max-width: 799px) {
    .top .footer_banner {
        display: flex;
    }
    .top .hamburger span::before {
        top: -3vw;
    }
    .top .hamburger span::after {
        bottom: -3vw;
    }
    .top .hamburger {
        width: 8vw;
    }
    .top .nav__item a {
        font-size: 4.5vw;
        padding: 5px 0px;
        border-bottom: 1px dotted;
    }
    .top ul.nav__list {
        margin: 0;
        padding: 0 16px;
    }
    .top .nav {
        top: 58px;
    }
    .top footer {
        margin-bottom: 53px;
    }
}

/* 250701 追記 TOPページ改修 END */