@charset "UTF-8";
/* 共通部分
----------------------------- */
html {
    font-size: 100%;
    

}
body {
    font-family: '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', 'YuGothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', 'verdana', sans-serif;
    line-height: 1.7;
    color: black; 
    
    
    
}
a {
    text-decoration: none;
}
img {
    max-width: 100%;
}

hr {
    height: 1px;
    background-color: #000000;

    border: none;
}
.wrapper {
    max-width: 1280px; /* コンテンツの最大表示幅　*/
    margin: 0 auto; /*上部の空白、余白対策*/  
    box-sizing: border-box;
    position: relative;
}

@media screen and (max-width: 767px) {
.for-sp-04 {
    /* スマートフォン向け余白 */
padding: 0 4%;
}
}

/*上部の空白、余白対策*/
* {
    margin: 0;
    padding: 0;
} 

* {
  box-sizing: border-box;
}






.wrapper--all--contact {
    
    min-height: 100vh;  /*コンテンツの高さ＝ブラウザの高さ*/
    position: relative; 
    box-sizing: border-box;
    padding-bottom: 0px;/*←footerの高さ*/


}
@media screen and (max-width: 767px) {
    .wrapper--all--contact  {
        padding-bottom: 0px;/*←footerの高さ*/
}
}
/* a タグ　リンク色　-----------*/
a:link {
    color: #000000;
}
a:visited {
    color: black;
}
a:hover {
    color: gray;
}
a:active {
    color: blue;
}
/* 文字の禁則処理　*/
.home-content,
.sub-menu {
    line-break: normal;
}



/*--パンくずリスト-----------------*/
@media screen and (max-width : 768px){
    .breadcrumb-wrapper {
        display: none;
    }
}

@media screen and (min-width : 769px){
    .breadcrumb-wrapper {
        position: relative;
        z-index: 9999;
    }

    .breadcrumb {
        margin: 150px 0 80px 50px;
        padding: 0;
        list-style: none;
      }
      
      .breadcrumb li {
        display: inline;/*横に並ぶように*/
        list-style: none;
        font-weight: bold;/*太字*/
      }
      
      .breadcrumb li:after {/* >を表示*/
        content: '>';
        padding: 0 0.2em;
        color: #555;
      }
      
      .breadcrumb li:last-child:after {
        content: '';
      }
      
      .breadcrumb li a {
        text-decoration: none;
        color: #52b5ee;/*色*/
      }
      
      .breadcrumb li a:hover {
        text-decoration: underline;
      }

}


/* animation ------------------------*/
/*ふわっとfadein------------------------*/

.fadein-nav{
    animation-name: fadein;
    animation-duration: 1.5s;
}
@keyframes fadein{
    from{
    opacity: 0;
    transform: translatesy(20px);
    }
    to{
    opacity: 1;
    transform: translatey(0);
    }
}
 /*blink------------------------*/
.blink {
    animation: blink 5s ease-in-out infinite alternate;
    -webkit-animation: blink 5s ease-in-out infinite alternate;
    -moz-animation: blink 5s ease-in-out infinite alternate;
}
@keyframes blink {
    0% {opacity: 0.5;}
    100% {opacity: 1;}
}
@-webkit-keyframes blink {
    0% {opacity: 0.5;}
    100% {opacity: 1;}
}
@-moz-keyframes blink {
    0% {opacity: 0.5;}
    100% {opacity: 1;}
}
/* rotate-----------------------------*/
.rotate {
    animation: rotate-anime 3s ease 1;
    -webkit-animation: rotate-anime 3s ease 1;
    -moz-animation: rotate-anime 3s ease 1;
}
@keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
@-webkit-keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
@-moz-keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}

.rotate-2 {
    animation: rotate-anime 120s linear infinite;
    -webkit-animation: rotate-anime 120s linear infinite;
    -moz-animation: rotate-anime 120s
    s linear infinite;
}
@keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
@-webkit-keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}
@-moz-keyframes rotate-anime {
    0% {transform: rotate(0);}
    100% {transform: rotate(360deg);}
}

/* transform (not used currentry）-----------------------------*/
.transform-for-logo {
    animation: transform-anime 5s ease-in-out 1 forwards;
    -webkit-animation: transform-anime 5s ease-in-out 1 forwards;
    -moz-animation: transform-anime 5s ease-in-out 1 forwards;
}
@keyframes transform-anime {
    0% {transform: translateY(0%);}
    100% {transform: translateY(15%);}
}
@-webkit-keyframes rotate-anime {
    0% {transform: translateY(0%);}
    100% {transform: translateY(15%);}
}
@-moz-keyframes rotate-anime {
    0% {transform: translateY(0%);}
    100% {transform: translateY(15%);}
}
/* ホバーした時回転----------------------------*/
.rotate--hover {
    transition: transform 1s ease-out;
}
.rotate--hover:hover {
    transform: rotate(360deg);
}




/* effect fadein -----------------------*/

@media screen and (min-width: 769px) {
     /* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 50px) scaleY(0.8);
	transition : all 1500ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0) scaleY(1);
	}

}

/* zoom in タテ90%→100%-------------------------------*/
.zoom-1 img {

    animation: animationZoom1 5s ease-in-out forwards;
    }
    @keyframes animationZoom1 {
        0% { transform: scaleY(0.5)}
        }
    @keyframes animationZoom1 {
        100% { transform: scaleY(1)}
        }

/*roading animation ------------------------*/
#is-loading {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #FFF;
    z-index: 8;
   }
   #loading {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    margin-top: -100px;
    margin-left: -100px;
    text-align: center;
    color: #fff;
    z-index: 9;
   }
   /*袋文字のインナーanimation*/
   .cutout {
    background-image: url("img/img_sp_pc/lets_create.jpg"); /* 切り抜きたい画像 */
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;       /* 画像を文字で切り抜く指定 */
    font-weight: bold;      /* 文字を太字に */
    font-size: 10em;        /* 文字を大きくする */
    letter-spacing: -0.1em; /* 文字間隔を詰める */
    line-height: 1; 
}

/*マーカーハイライトの装飾*/
.grid-item p span {
  position: relative;
  background: linear-gradient(transparent 40%,yellow 20%);
}
  

/* HEADER
------------------------------------------------------------------------------------------------ */
header {
    z-index: 9999;
    width: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
}

.header-content-contact {
    background-color: #FDF7F3;
    height: 128px;
    position: relative;
    margin: 0;
    padding: 0;
    opacity: 95%;
}


.icon {
    width: 51px;
    margin-top: 18px;
    margin-left: 25px;
    padding: 0;
    cursor: pointer;
}


header section div{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
    margin: 0;
    bottom: 0px;
}

/* ハンバーガーメニュー　*/
.btn-burger {
    cursor: pointer;
    width: 44px;
    height: 44px;
    display: block;
    margin-left:auto;
    margin-right: auto;
    position: relative;
    top: -45px;
}
.btn-burger-contact {
    cursor: pointer;
    width: 44px;
    height: 44px;
    display: block;
    margin-left:auto;
    margin-right: auto;
    position: relative;
    top: -73px;
}
.nav-toggle {
    display: none;
}
.icon-burger-after {
    display: none;
}

/* ハンバガーバーをクリックしたとき*/
.nav-toggle:checked ~ .btn-burger .icon-burger {
    display: none;
}
.nav-toggle:checked ~ .btn-burger .icon-burger-after {
    display: block;
}
/* 表示されるメニューの中身 */

.nav-list a {
    display: block;
    
}
@media screen and (max-width: 768px) {
.nav-list-2-wrapper {
    display: none;
}
}

.nav-list {
    list-style: none;
    display: none;
    margin: 0;
    padding-left: 20%;
    height: 100vh;
    width: 100vw;
    background-color: white;
    position: absolute;
}
.nav-list-top-index {
    top: 67px;
}
.nav-list-top {
    top: 128px;
}
.nav-list li {
    margin: 0;
    padding: 10px;
    position: relative;
    top: 40px;
}
.nav-list .sns-list {
    padding: 10px;
    display: inline;
    position: relative;
    top: 100px;
}


.nav-toggle:checked ~ .nav .nav-list {
    display: block;
}
.icon-burger-after 
.sns-list {
    display: inline;
}

/*-----------------------------------------メインイメージ　--------------------------------------------------------*/
.big-bg {
    background-color: #FDF7F3;
    height: 100vh;
    width: 100vw;
    position: relative;
    top: 70px;
}
.big-bg-img {
    height: 100%;
    background-image: url(../img/img_sp_pc/body-sp-img-mainv@2x.jpg);
    background-size: 100% 100%;
    background-position: center;
    margin-left: auto;
    margin-right: auto;
}
.title-main {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 50%;
    z-index: 2;
    height: 100vh;
} 

.title--text {
    font-size: 1.5rem;
}

h2 {
    text-align: center;
    font-size: 1.8vw;
    word-break: keep-all;
}
.title-text-2 {
    text-align: center;
    font-size: 1.8vw;
    word-break: keep-all;  
}
.title-main {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.logo-eyecatch1,
.logo-eyecatch2 {
    display: none;
}



/* --- flex-指定-スマートフォン　
---------------------------*/


.title,
.title-2,
.title-3 {
    text-align: center;
    margin: 0 0 5%; 
}


.title .text,
.title-2 .text,
.title-3 .text {
    display: block;
    font-size: max(14px,min(4vw,27px));
    line-height: 1.7;
    word-break: keep-all;
}
.paragraph,
.paragraph-1,
.paragraph-2, 
.paragraph-3,
.paragraph-4 {
    font-size: max(12px,min(4vw,16px));
    line-height: 2;
    margin: 0; 
}
.home-content {
    
    width: 70%;
    margin: 0 auto;
    padding: 50px 0;
    display: flex;
    flex-flow: column;
    align-items: center;  
    z-index: 4; 
}


.title {order: 1;}
.paragraph {order: 2;}
.eyecatch-concept1 {
    order: 3;
    margin: 0 0 7%;
}
.concept-pc {
    display: none;
}
.title-2 {order: 4;}
.paragraph-2 {order: 5;}
.eyecatch-office {
    order: 7;
    align-self: baseline;
    margin-left: -20%;
}
.office-pc {
    display: none;
}

@media screen and (max-width: 767px) {
    .office-sp {width: 55%;
        transform: rotate(-10deg);

}
}




.titl-paragraph-3 {
    order: 7;
    margin: 0;
    padding: 0;
}
.eyecatch-concept2 {
    order: 10;
    margin: 0;
    width: 80%;
}
.paragraph-4 {
    order: 9;
    margin-top: -15%;
}
.paragraph-4 span {
    display: block;
    font-size: 90%;
    text-align: right;
    margin-top: 30px;
}

/* サブメニュー --sp ----------*/
@media screen and (max-width: 768px) {

.sub-menu-wrapper{
    margin-bottom: 100vw;


}
    
.sub-menu {
    position: relative;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-flow: column;
}
.sub-menu h4,
.sub-menu h5,
.sub-menu p  {
width: 70%;
margin: 0 auto;
}
.sub-menu h4 {
    font-size: max(16px,min(5vw,25px));
    margin: 0 auto 1em;
    text-align: center;
    word-break: keep-all;

}
.leadtime h4,
.inquiry h4 {
    cursor: pointer;
}
.inquiry p {
    text-align: center;
}
.sub-menu h5 {
    font-size: max(15px,min(2.5vw,19px));
    margin-bottom: 0.5em;
    word-break: keep-all;

    
}
.sub-menu h5 .text-submenu {
    display: block;
}
.sub-menu p {
    font-size: max(10px,min(3.3vw,14px));
    
}

.inquiry,
.cost,
.leadtime,
.totalpackage-design,
.responsive-design {
    border-top: 1px black solid;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 50px 0 50px 0;
}

.totalpackage-design {
    border-bottom: 1px black solid;
}

}



/*フッター　--------------------------- */
footer {
    text-align: center;
    width: 70%;
    margin: -80vw auto 0;
}
.forcontact {
    text-align: center;
    width: 70%;
    margin: 0 auto 0;
}



.eyecatch-footer-sp {
    margin-bottom: 20px;
    cursor: pointer;
}
.text-footer {
    width: 100%;
    margin-bottom: 80px;
    margin: 0 auto 50px;

}
.text-footer span {
    display: block;
    font-size: 3.3vw;
    word-break: keep-all;
}
footer p {
    color: black;
    font-size: 0.875rem;
}

.pagetitle--img--contact--2 {
    margin: 0px 0 -50px -20px;
    width: 115px;

}
.business-zone h2,
.business-zone h3  {
    font-size: 12px;
    line-height: 30px;


}
.business-zone { 
    margin: 0 auto;
    width: 100%;
}
.copy-hoff {
    padding-top: 25px;
    padding-bottom: 25px
    
}



/* ステップバー　------------------------------------------------for sp*/
.steps {
    /* 連番カウンター名の定義 */
    counter-reset: step-counter;
    /* 縦棒との位置関係に必要 */
    position: relative;
    /* 縦棒と連番のためのスペースを左に確保 */
    padding-left: 2rem; /* 連番(1.5rem) + 余白 */
  }
  
  /* 縦棒 */
  .steps:before {
    content: "";
    /* 幅と色 */
    background-color: #d59533;
    width: 2px;
    /* 位置 */
    position: absolute;
    top: 2.5rem; /* 円のwidthの半分 */
    left: 0.7rem; /* 円のwidthの半分 */
    height: calc(100% - 2.5rem); /* 100% - top */
    /* 連番より後ろに表示するため */
    z-index: 0;
  }
  
  .steps > h3 {
    /* 連番カウンターを+1する */
    counter-increment: step-counter;
    /* 連番カウンターを垂直方向に中央揃えで表示する */
    display: flex;
    align-items: center;
  }
  
  /* ①②③など連番 */
  .steps > h3:before {
    /* 連番カウンターの値を表示する */
    content: counter(step-counter);
    /* フォントと色 */
    background: #d59533;
    color: white;
    font-size: 0.8rem;
    font-weight: normal;
    /* 文字を中央に表示する */
    line-height: 1.5rem;
    text-align: center;
    /* 円で表示する */
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1.5rem;
    /* .stepsでmargin-left +2rem したぶん左に戻す */
    position: absolute;
    left: 0;
    /* 縦棒より手前に表示するため */
    z-index: 1;
  }


/* contact for sp----------------------------------------------*/
.contact--pagetitle {
    position: relative;
    top: 128px;
    width: 100%;
    margin: 70px auto 200px;
}
.contact--pagetitle h1 {
    margin: 0 auto;
    padding-left: 6vw;
    font-size: 4.8vw;
    width: 70%; 
}
.contact--img {
     width: 30vw;
     display: block;
     margin: 10vw auto;
}
.contact--title--p {
    width: 70%;
    margin: 0 auto;
    font-size: max(12px,min(4vw,16px));
    line-height:2;
}
#contact--form {
    background-color: #F9EEE5;
    padding-top: 50px;
    padding-bottom: 50px;
    margin-bottom: 22vw;
}
.inquiry--inner {
    display: flex;
    flex-flow: column;
    padding: 15px 15px;
}
.contact--detail {order: 2;}
.contact--form--box {
    order: 1;
    margin: 0 auto;
    width: 75%;
}
#contact--form h2 {
    font-size: 4vw;
    text-align: center;

}
label {
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
    display: block;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    background-color: white;
    padding: 1.5rem;
    font-size: 0.8rem;
    margin-bottom: 1.5rem;
}
input[type="text"],
input[type="email"],
input[type="tel"] {
    width: 100%;
}
textarea {
    width: 100%;
    height: 15rem;
    resize: none;
}
input[type="submit"] {
    cursor: pointer;
    line-height: 1;  
}
.button {
    border-style: none;
    width: 170px;
    height: 60px;
    background-color: #105467;
    color: white;
    font-size: 1rem;
}

.button:hover {

    color: yellowgreen;
}
.button-inner {
    width: 170px;
    margin-left: 0;
}

.contact--detail {
    margin: 0 auto;
    width: 75%;
    
}



.contact--detail h3 {
    font-size: 0.7rem;
    font-weight: 500;
}
.contact--name {
    margin-bottom: 5px;

}
.contact--detail h4 {
    font-size: 0.7rem;
    font-weight: 600;
    margin-top: 15px;
}
.footer--icon-wrapper-1 {
    margin-bottom: 20px;
}
.contact--detail--hoffcreates h3 {
    font-size: 13.5px;
    line-height: 27px;
}
.contact--detail--hoffcreates_2 {
    margin-top: 20px;
}
.contact--detail--hoffcreates_2 h4 {
    margin-bottom: 20px;
}

.line1 {
    width: 100%;
    margin: 20px auto;
}
/*.contact--name::after {
    content: 'ホフクリエイツ 内海 孝則';
    font-size: 12px;
    color: black;
    display: block;
    position: relative;
    font-family: sans-serif;
    font-weight: 500;
    line-height: 1.5;
}*/
.pagetitle--img--contact--2 {
    margin: 0 0 10px -20px;
    width: 115px;

}

.contact--sns {
    display: flex;
    justify-content: space-between;
}
.contact {
    margin-bottom: -15vw;
}





/*テーブル---------------------------*/
table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 auto 10px;
    padding: 0;
    line-height: 1.5;
  }
  table th{
    border: solid 1px black;
    padding: 1em 10px 1em 1em;    
    text-align: left;
    font-size: 14px;
  }
  table td {
    border: solid 1px black;
    padding: 1em 10px 1em 1em;  
    font-size: 14px;  
  }
  .border-non {
      border-top: none;
      border-bottom: none;

  }
  .border-bottom-non {
      border-bottom: none;

  }
  .border-top-non {
      border-top: none;
  }
  .table-data,.table-head {
      border-left: none;
      border-right: none;
  }
/*-----------------------------------*/

.start-up-plan-detail {
    font-size: 12px;
}

  .start-up-plan-about-domain h4,
  .start-up-plan-about-server h4 {
      font-size: 1rem;
      margin: 20px auto 0;  
  }
  .start-up-plan-about-domain h5,
  .start-up-plan-about-server h5 {
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.8;
  }

  
  .start-up-plan-wrapper,
  .simple-plan-wrapper {
      margin: 0 auto 150px;
  }

  .basic-plan-detail {
      margin: 30px auto 30px;
  }
  .basic-plan-detail h3 {
      font-weight: 400;
  }
  .basic-plan-comment {
      display: flex;
      align-items: baseline;
  }
  .basic-plan-comment h3 {
      font-size: 1rem;
  }
  .basic-comment-wrapper,
  .start-up-plan-comment-wrapper {
      margin: 0 auto 15px;
  }
  .basic-plan-wrapper {
      margin: 0 auto 100px;
  }
  .after-cost-list,
  .other-printed-matter,
  .photograph {
    margin: 0 auto 100px;
  }
  .after-cost-list li {
      list-style: none;
  }
  .after-cost-list h4 {
      font-size: 1rem;
      margin: 0 auto 5px;
      text-align: center;
  }
  .after-cost-list h5 {
      font-size: 14px;
  }
  .after-cost-contents {
      margin: 0 auto;
      padding: 15px;
  }
  .other-printed-matter h4,
  .about-photograph h4{
      font-size: 1rem;
      margin: 0 auto 5px;
      text-align: center;
      word-break: keep-all;
  }
  .other-printed-matter-text,
  .about-photograph-text{
      margin: 0 auto;
      padding: 15px;
      font-size: 14px;

  }
  .forcost {
    margin-top: 200px;
 }











/* -----------------------------------------------------------------------------------------------------------
--------幅768px以上のスタイル指定 -----------*/

@media screen and (min-width : 769px){
    
    .btn-burger {
        display: none;
        cursor: none;
    }
    .icon-burger {
        display: none;
    }
    .icon-burger-after {
        display: none
    }
    .icon {
        width: 60px;
        margin-top: 50px;
        margin-left: 50px;
    }
    .icon-about {
        width: 60px;
        margin-top: 50px;
        margin-left: 50px;
        padding: 0;
        cursor: pointer;
    }
    .menu-list {
        display: inline;
    }
    .menu-list-cost a {
        color: white;
    }
    section div .logo {
        display: none;
    }
    
    
    .nav-toggle:checked ~ .nav .nav-list {
        display: none;
    }
    .nav {
        height: 75px;
        position: relative;
    }
    .nav-list {
        display: flex;
        justify-content: flex-end;
        height: 75px;
        align-items: center;
        position: absolute;
        top: -165px;
        right: 50px;
        background-color: transparent;
    }
    .nav-list-2-wrapper {
        width: 100%;
        background-color: white;
        opacity: 95%;
        height: 75px;
        position: absolute;
        bottom: 55.4px;
    }
    
    .nav-list-2 {
        float: right;
        margin: 25px 50px 0 0;
    }
    .nav-list-2 li {
        margin-left: 25px;
        padding: 10px;
    }

    .nav-list .sns-list {
        display: none
    }
    .header-content {
        background-color:white;
        height: 148px;
    }
    .header-content-about {
        background-color: #DAE2DB;
        height: 122px;
        position: relative;
        margin: 0;
        padding: 0;
        opacity: 95%;
    }
    
    .big-bg {
        height: 100vh;
        width: 100vw;
        position: relative;
        top: 148px;
        padding: 0;
        z-index: 1;
        overflow: hidden;

    }
    .big-bg-img {
        position: fixed;
        bottom: 0px;
        width: 100%;
        height: 100vh;
        border-radius: 25% 25% 0 0;
        background-image: url(../img/img_sp_pc/hoffcreates_background_TD.gif);
        background-size: cover;
        background-repeat: no-repeat;
        background-position: bottom center;
        transform-origin: bottom ;
        z-index: 1;
        overflow: hidden;

    }

    
    .logo-eyecatch1, 
    .logo-eyecatch2 {
        display: none;
    }
    .logo-eyecatch1-PC,
    .logo-eyecatch2-PC {
        display: block;
    }
    
    .logo-eyecatch1-PC {
        width: 100vw;  
        margin: 0 auto;


    }
    .hoffbooks-logo {
        width:10vw;  
        margin: 50px auto 0;

    }
    /*--------.logo-eyecatch2-PC {
        width: 100vw; 
        margin: -5% 0 0 30%;
        
        
    }---------------------------------*/
    
    h2 {
        text-align: center;
        font-size: 1.5vw;
        position: relative;
        top: 0px;

    }
    .title-text-2 {
        text-align: center;
        font-size: 1vw;
        position: relative;
        top: 0px;
    }
    .title-main {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: 40%;
        z-index: 2;
        height: 100vh;
    }
    
}  
    /* --- flex-指定----幅768px以上　
----------------------------------------*/
 .hoffbooks-logo {
        width:15vw;  
        margin: 50px auto 0;
}  

section div .logo {
        display: none;
    }



.title,
.title-2,
.title-3 {
    text-align: start;
    display: block;
    margin: 7% 0 5%; 


}


.title .text,
.title-2 .text,
.title-3 .text {
    display: inline-block;
    font-size: min(25px,35px);
    line-height: 1.7;
    word-break: keep-all;
}

.paragraph,
.paragraph-1,
.paragraph-2, 
.paragraph-3,
.paragraph-4 {
    font-size: max(10px,20px);
    line-height: 2;
    margin: 0;  
}
/*@media screen and (min-width : 1366.98px){
    .paragraph,
    .paragraph-1,
    .paragraph-2,   
    .paragraph-3,
    .paragraph-4 {
        margin: 0 0 17%;  
    }
}*/

.home-content-wrapper {
    position: relative;
    margin: 0 auto;
    padding: 0;
    padding-bottom: 200px; /*←フッターの高さ*/
    background-color: white;
    width: 100%;
    z-index: 4;
}

@media screen and (min-width : 1570.98px){
    .home-content {
        width: 60%;
    }
}
@media screen and (min-width : 2000.98px){
    .home-content {
        width: 44%;
    }
}


.title {
    order: 1;
    align-self: flex-start;

}
.paragraph {order: 2;}
.eyecatch-concept1 {
    order: 3;
    margin: 0 0 7%;
    width: max(260px,min(33vw,500px));
    align-self: flex-end;
    position: relative;
    bottom: 80px;
}

.concept-sp {
    display: none;
}
.concept-pc {
    display: block;
    margin: auto;
    padding-top: 100px;
    width: max(260px, min(33vw, 500px));
}

.title-2 { order: 4;}
.paragraph-2 {order: 5;}
.title-2 {
    align-self: flex-start;
    width: 100%;
    
}

.paragraph-2 {
    align-self: flex-start;
    width: 100%;
    
}
.titl-paragraph-3 {
    order: 7;
    width: 60%;
    align-self: flex-end;
    
}
.eyecatch-concept2 {
    order: 6;
    align-self: flex-start;
    width: max(240px,min(31vw,500px));
   
    margin-left: -5%;
 
}

.paragraph-4 {
    order: 8;
    width: 100%;
    align-self: flex-start;
    position: relative;
    bottom: 600px;
}
.eyecatch-logomark {
    display: none;
    
    order: 9;
    align-self: flex-end;
    width: max(166px,min(21vw,200px));
    position: relative;
    bottom: 770px;
    margin: 0 -15% 0 0;
    z-index: 100;
    
}
@media screen and (min-width : 1500.98px){
    
    .eyecatch-logomark {
        display: none;
        bottom: 1000px;
    }
}

.office-sp {
    display: none;
}
.office-pc {
    display: inline-block;
    max-width: initial;
    position: relativae;
    object-fit: cover;
    object-position: left top;
    width: max(208px,min(27vw,250px));
    height: 370px;

    
}

.eyecatch-office {
    order: 10;
    align-self: flex-end;
    position: relative;
    width: max(158px,min(21vw,200px));
    height: 370px　;
    bottom: 1300px;
    overflow: hidden;
    flex-shrink: 0;
}


@media screen and (min-width : 1500.98px){
    .eyecatch-office {
    order: 10;
    align-self: flex-end;
    position: relative;
    width: max(158px,min(21vw,200px));
    height: 370px;
    bottom: 1330px;
    overflow: hidden;
    flex-shrink: 0;
    }
}

.paragraph-4 span {
    display: block;
    font-size: 80%;
    text-align: right;
    margin-top: 30px;
}



/* サブメニュー -------------幅768px以上*/
.sub-menu-wrapper {

    position: relative;
    top: -650px;
    background-color: #F9EEE5;


}
@media screen and (min-width : 1365.98px){
    .sub-menu-wrapper { 
           top: -570px;
           padding: 0 10%;

    }
}

.sub-menu {
    margin: 0 auto;
    padding: 5% 0;
    z-index: 5;
}

.inquiry {
    display: none;
}
.cost,
.leadtime,
.totalpackage-design,
.responsive-design {
    width: 40vw;
    padding: 5%;
    background-color: white;
    border-radius: 3%;
}
.cost {
    margin-right: 15px;
    margin-top: 15px;
    margin-bottom: 30px;
}
.leadtime {
    margin-left: 15px;
    margin-top: 15px;
    margin-bottom: 30px;
}
.totalpackage-design {
    margin-right: 15px;
}
.responsive-design {
    margin-left: 15px;
}

@media screen and (min-width : 1365.98px){

    .cost {
        width: 30vw;
        margin-right: 20px;
        margin-top: 25px;
        margin-bottom: 40px;
    }
    .leadtime {
        width: 30vw;
        margin-left: 20px;
        margin-top: 25px;
        margin-bottom: 40px;
    }
    .totalpackage-design {
        width: 30vw;
        margin-right: 20px;
        
        
    }
    .responsive-design {
        width: 30vw;
        margin-left: 20px;
    }
        
    
}

@media screen and (min-width : 2000.98px){

    .cost {
        width: 12vw;
        margin-right: 30px;
        margin-top: 25px;
        margin-bottom: 60px;
    }
    .leadtime {
        width: 12vw;
        margin-left: 30px;
        margin-top: 25px;
        margin-bottom: 60px;
    }
    .totalpackage-design {
        width: 12vw;
        margin-right: 30px;
        
        
    }
    .responsive-design {
        width: 12vw;
        margin-left: 30px;
    }
        
    
}


.sub-menu h4 {
    font-size: max(12px,min(1.8vw,20px));
    margin: 0 auto 24px;
    text-align: center;
    word-break: keep-all;

}

.sub-menu h5 {
    font-size: max(12px,min(1.2vw,15px));
    margin-bottom: 1.5rem;
    word-break: keep-all;
}

.sub-menu p {
    font-size: max(12px,min(1.2vw,15px));
}
.leadtime h4,
.inquiry h4 {
    cursor: pointer;
}

/*フッター　--------------------------- ---幅768px以上*/
@media screen and (min-width : 1300px){
    .whiteline{
        height: 100px;
    }
    
}

.footer-layout {
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    bottom: 0px;
    z-index: 6;
    width: 100%;
}
.forcontact {

    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    z-index: 6;
    height: 125px;
    width: 100%;
    bottom: 0;
}

.toppage {
    text-align: center;
    margin-bottom: 38px;
}
/*@media screen and (max-width : 1366.98px){
    .toppage {
        text-align: center;
        margin-bottom: 38px;
        
    }
}*/



.forcontact {
    text-align: center;
}

.forguide,
.forabout,
.forcost
 {
    text-align: center;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}

.toppage > .eyecatch-footer-sp {
    cursor: pointer;
    margin-top: 10vh;
    width: 100%;
}

.toppage > .eyecatch-footer {
    display: flex;
    justify-content: center;
}

.forguide > .eyecatch-footer {
    cursor: pointer;
    width: 100%;
}
.forabout > .eyecatch-footer {
    cursor: pointer;
    width: 100%;
}
.forcost > .eyecatch-footer {
    cursor: pointer;
    width: 100%;
}
.text-footer {
    margin-bottom: 15px;
}

.text-footer span {
    font-size: 1.2rem;
    display: block;

}
footer p {
    color: black;
    font-size: 0.875rem;
    display: block;
    margin-bottom: 30px;
}
.footer--icon-wrapper-1 > .sns-list,
.footer--icon-wrapper-1-about > .sns-list {
    font-weight: 700;
    font-size: 12px;
    line-height: 24px;
}

.footer--icon-wrapper-1,
.footer--icon-wrapper-1-about
 {
    margin-bottom: 30px;
}

.footer--icon-wrapper {
    display: flex;
    justify-content: center;
}
.logo-footer {
    margin-left: 5px;
    position: relative;
    top: 5px;
}
.business-zone h2,
.business-zone h3  {
    font-size: 12px;
    line-height: 50px;


}
.business-zone { 
    margin: 0 auto;
    width: 100%;
}
.copy-hoff {
    padding-top: 25px;
    padding-bottom: 25px
    
}











/* ステップバー　---------------------------------------------------*/
.steps {
    /* 連番カウンター名の定義 */
    counter-reset: step-counter;
    /* 縦棒との位置関係に必要 */
    position: relative;
    /* 縦棒と連番のためのスペースを左に確保 */
    padding-left: 2rem; /* 連番(1.5rem) + 余白 */
  }
  
  /* 縦棒 */
  .steps:before {
    content: "";
    /* 幅と色 */
    background-color: #d59533;
    width: 2px;
    /* 位置 */
    position: absolute;
    top: 2.5rem; /* 円のwidthの半分 */
    left: 0.7rem; /* 円のwidthの半分 */
    height: calc(100% - 2.5rem); /* 100% - top */
    /* 連番より後ろに表示するため */
    z-index: 0;
  }
  
  .steps > h3 {
    /* 連番カウンターを+1する */
    counter-increment: step-counter;
    /* 連番カウンターを垂直方向に中央揃えで表示する */
    display: flex;
    align-items: center;
  }
  
  /* ①②③など連番 */
  .steps > h3:before {
    /* 連番カウンターの値を表示する */
    content: counter(step-counter);
    /* フォントと色 */
    background: #d59533;
    color: white;
    font-size: 0.8rem;
    font-weight: normal;
    /* 文字を中央に表示する */
    line-height: 1.5rem;
    text-align: center;
    /* 円で表示する */
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1.5rem;
    /* .stepsでmargin-left +2rem したぶん左に戻す */
    position: absolute;
    left: 0;
    /* 縦棒より手前に表示するため */
    z-index: 1;
  }





/* contact for 768px以上 -----------------------------------------*/
.br--sp {
    display: none;
}
.contact {
    margin-top: -150px;
    padding-bottom: 150px;
}
.contact--pagetitle {
    display: grid;
    grid-template-columns: 60% 1fr 1fr;
    grid-template-rows: 1fr 40% 40% 1fr;
    row-gap: 15px;
    position: relative;
    top: 148px;
    padding-bottom: 148px;
    width: 100%;
    margin: 50px auto 0;
}
.contact--pagetitle--inner {
    width: 80%;
    height: 100%;
    margin: 0 auto;
}
.contact--pagetitle h1 {
    font-size: max(30px,min(2.5vw,44px));
    padding: 0;
    grid-row: 2/ 3;
    grid-column: 1/ 4;
    line-height: auto;
}
.contact--pagetitle--img {
    grid-row: 1 / 2;
    grid-column: 3 / 4;

}
.contact--img {
     width: 15vw;
     display: block;
     margin: 0;
     padding: 0;   
}
.contact--title--p {
    font-size: max(16px,min(1.7vw,32px));
    line-height: auto;
    margin: 0 auto;
    padding: 0;
    grid-row: 3 / 5;
    grid-column: 1 /4;
    word-break: keep-all;


}
#contact--form {
    background-color: #F9EEE5;
    padding: 12%;
    margin-top: 50px;
    margin-bottom: 28px;
}
    
.inquiry--inner {
    display: flex;
    flex-flow: row;
    padding: 0;
    margin: 0;

}
.contact--detail {
    order: 1;
    margin: -30px 0 80px;
    width: 80%;
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    
    
}

.contact--form--box {
    order: 2;
    margin: 0 auto;
    width: 75%;
}
#contact--form h2 {
    font-size: 2.2vw;
    margin-bottom: 12%;
    border-bottom: black 1px solid;
    text-align: left;
    line-height: 3em;

}

label {
    font-size: 1rem;
    margin-bottom: 0.4rem;
    display: block;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
    background-color: white;
    padding: 1.5rem;
    font-size: 1rem;
    margin-bottom: 1.5rem;
}
input[type="text"],
input[type="email"],
input[type="tel"] {
    width: 100%;
}
textarea {
    width: 100%;
    height: 15rem;
    resize: none;
}
input[type="submit"] {
    cursor: pointer;
    line-height: 1;  
}
.button {
    border-style: none;
    width: 170px;
    height: 60px;
    background-color: #105467;
    color: white;
    font-size: 18px;
}

.button:hover {
    color: yellowgreen;
}
.button-inner {
    width: 170px;
    margin-left: 0;
}


.contact--detail h3 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 15px;
}
.contact--detail h4 {
    font-size: 0.8rem;
    font-weight: 600;
}
.contact--detail--hoffcreates h3 {
    font-size: 12px;
    line-height: 27px;
    word-break: keep-all;

}
.contact--detail--hoffcreates_2 {
    margin-top: 20px;
    width: 80%;
}
.contact--detail--hoffcreates_2 h4 {
    margin-bottom: 20px;
}

.line1 {
    width: 80%;
    margin-bottom: 30px;
}
/*.contact--name::after {
    content: 'ホフクリエイツ 内海 孝則';
    font-size: 12px;
    color: black;
    display: block;
    position: relative;
    font-family: sans-serif;
    font-weight: 500;
}*/
.pagetitle--img--contact--2 {
    margin: 0 0 10px -20px;
    width: 115px;

}



/*テーブル---------------------------*/
table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 auto 10px;
    padding: 0;
    line-height: 1.5;
  }
  table th{
    border: solid 1px black;
    padding: 1em 10px 1em 1em;    
    text-align: left;
  }
  table td {
    border: solid 1px black;
    padding: 1em 10px 1em 1em;    
  }
  .border-non {
      border-top: none;
      border-bottom: none;

  }
  .border-bottom-non {
      border-bottom: none;

  }
  .border-top-non {
      border-top: none;
  }
  .table-data,.table-head {
      border-left: none;
      border-right: none;
  }
/*-----------------------------------*/



  .start-up-plan-about-domain h4,
  .start-up-plan-about-server h4 {
      font-size: 1.2rem;
      margin: 20px auto 0;  
  }
  .start-up-plan-about-domain h5,
  .start-up-plan-about-server h5 {
      font-size: 1.2rem;
      font-weight: 300;
      line-height: 1.8;
  }

  
  .start-up-plan-wrapper,
  .simple-plan-wrapper {
      margin: 0 auto 150px;
  }

  .basic-plan-detail {
      margin: 30px auto 30px;
  }
  .basic-plan-detail h3 {
      font-weight: 400;
  }
  .basic-plan-comment {
      display: flex;
      align-items: center;
  }
  .basic-comment-wrapper,
  .start-up-plan-comment-wrapper {
      margin: 0 auto 15px;
  }
  .basic-plan-wrapper {
      margin: 0 auto 100px;
  }
  .after-cost-list,
  .other-printed-matter,
  .photograph {
    margin: 0 auto 100px;
  }
  .after-cost-list li {
      list-style: none;
  }
  .after-cost-list h4 {
      font-size: 1.4rem;
      margin: 0 auto 5px;
  }
  .after-cost-list h5 {
      font-size: 1rem;
  }
  .after-cost-contents {
      margin: 0 auto;
      padding: 15px;
  }
  .other-printed-matter h4,
  .about-photograph h4{
      font-size: 1.4rem;
      margin: 0 auto 5px;
  }
  
  .other-printed-matter-text,
  .about-photograph-text{
      margin: 0 auto;
      padding: 15px;

  }
  
 
.paragraph-wrapper {
    display: flex;
    order: 9;
    

}

.in_motion{
    width: 30%;
}
.ad-content-wraper{
    padding: 50px;
}
.advertising{
    display: flex;
    justify-content:space-between
}  
.ad-content {
  width: 100%;
  aspect-ratio: 16 / 9;
  
}
.ad-content > iframe {
  width: 90%;
  height: 90%;
}
.ad-content > p {
  font-size: 15px;
  font-weight: lighter;
  
}
.breadcrumb-wrapper{
   opacity: 0%;
}

@media screen and (max-width:768px) {
    .paragraph-wrapper {
    display: inline;
    order: 9;
    }
    

    .titl-paragraph-3{
        width: 100%;
    }
    .paragraph-3{
        font-size: clamp(16px,50%,20px);
    }

    .eyecatch-concept3 >.concept-pc{
        width: min(100%, 400px);
    }
    .contact--pagetitle{
        display: none;
    }
    .contact{
        margin-top: 172px;
        padding-bottom: 100px;
    }
    .forcontact{
        height: 80px;
    }
    .inquiry--inner{
        flex-flow: column-reverse;
    }
    #contact--form h2{
        font-size: 3vw;
    }
    .contact--form--box{
        width: 95%;
    }
    .contact--detail {
        margin: 0 auto;
        width: 90%;
        padding-top: 50px;
    }
    .contact--img{
        width: 30vw;
    }
    .concept-pc{
        padding: 0;
    }
    .title-3 > .text{
        font-size: clamp(16px,15vw,20px);
    }
    .in_motion{
        width: clamp(150px, 50%, 200px);
    }

    .advertising{
     display: flex;
     flex-direction: column;
     align-items: center;
     margin: 0 auto;
     

    } 
    .ad-content {
      width:100%;
      aspect-ratio: 16 / 9;
      margin-bottom: 18%;
 
      
      
  
    } 
    .ad-content > iframe {
     width:100%;
     height:100%;
    }
    .ad-content > p {
     font-size: 10px;
     font-weight: lighter;
  
    }

    .ad-content-wraper{
     position: relative;
     margin-top: 148px;
     padding: 0 4% 148px 4%;
    }
    .last-display-none{
        display: none;
    }

    .home-content-wrapper{
        padding-bottom: 100px;
    }

}

    













