@charset "utf-8";

#animation {
    animation: fade-in 3s;
    animation-fill-mode: forwards;
  
   
  }
  @keyframes fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }


  html {
    scroll-behavior: smooth;
  }
  .box {
   
    width: 100%
  }



/* loading */



:root{
    --light-green:#fdf8eb;
    --green:#ffe9ca;
    --brown:#403632;
    --light-grey:#eee;
    --white:#fff;
    --oswald-font:'Oswald',sans-serif;
} 

html{
    font-size: 100%
}


body {
    font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","BIZ UDPGothic", sans-serif;
    line-height: 1.7;
    color: rgb(96, 83, 71);
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

a{
    text-decoration: none;
}

img{max-width: 100%;
}



/* レイアウト */
.wrapper{
    max-width: 1120px;
    margin: auto;
    padding: 0 1.5rem;
}

.align-center{
    text-align: center;
    margin: 2rem;
}

/* ヘッダー */

.socialbtn{
    text-align: center;
    margin: 0 auto;
}

ul{
    list-style: none;
}

.socialbtn li{
display: inline;
margin-right: 12px;
}

.socialbtn img{
    width: 28px;
    height: 28px;
    margin: 2rem;
}

.page-header{
    padding-top:  .5rem;
}
.logo{
    width: 210px;
}

nav{
    margin-top: 3rem;
    margin-bottom: 2rem;
    border-top: 1px solid #ea902f;
}



/* MENU */

nav ul, ol, li{
    list-style: none;
}

nav ul li:nth-child(odd){
   
    background-size: 1px 10px;
}

nav li{
    float: left;
    width: 50%;
    border-bottom: 1px solid #ea902f;
    text-align: center;
}

nav ul li a{
    display: block;
    width: 100%;
    padding: 12px 0;
    font-size: 13px;
    letter-spacing: 0.1em;
}

a{
    color: #e4c4af;
    text-decoration: none;
}


/*top*/

#animation {
    position: relative;
    width: 100%;
}

.image-container {
    position: relative;
    display: inline-block;
    width: 100%;
}

.image-container img {
    max-width: 100%;
    width: 100%;
    height: auto;
    display: block;
}

.overlay-button {
    position: absolute;
    bottom: -2px; /* ボタンの位置を調整 */
    left: 40%; /* 画像の左からの位置（中央） */
    transform: translateX(-50%); /* 中央寄せのため */
    z-index: 10;
    
    /* バネのような自動アニメーション */
    animation: springBounce 2.5s infinite;
}

.overlay-button:hover {
    animation-play-state: paused;
    transform: translateX(-50%) scale(1.1);
    transition: transform 0.3s ease;
}

.overlay-button img {
    width: auto;
    height: auto;
    max-width: 80%;
   
    border-radius: 8px;
   
}

/* バネのような自然な動きのアニメーション */
@keyframes springBounce {
    0% {
        transform: translateX(-50%) translateY(0) scale(1);
    }
    10% {
        transform: translateX(-50%) translateY(-20px) scale(1.1);
    }
    20% {
        transform: translateX(-50%) translateY(5px) scale(0.95);
    }
    30% {
        transform: translateX(-50%) translateY(-10px) scale(1.05);
    }
    40% {
        transform: translateX(-50%) translateY(2px) scale(0.98);
    }
    50% {
        transform: translateX(-50%) translateY(-5px) scale(1.02);
    }
    60% {
        transform: translateX(-50%) translateY(1px) scale(0.99);
    }
    70% {
        transform: translateX(-50%) translateY(-2px) scale(1.01);
    }
    80%, 100% {
        transform: translateX(-50%) translateY(0) scale(1);
    }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .pc { display: none; }
    .sp { display: block; }
    
    .overlay-button img {
        max-width: 120%;
       margin: 0 20px;
    }
}

@media (min-width: 769px) {
    .pc { display: block; }
    .sp { display: none; }
}




/*concept*/

.concepteria{
    margin-top: 25%;
    padding: 30px 10px;
    background-color: #ffffff;
}

.concept{
    font-size: 18px;
    text-align: center;
    padding-bottom: 50px;
}



.conceptp{
    text-align: center;
    line-height: 1.8;
    margin: 0 auto 1.2rem auto;
    font-size: 18px;
    white-space: normal;
    word-break: break-word;
}

/* スマホ対応 */
@media (max-width: 768px) {

    .concept{
        font-size: 17px;
        margin-bottom: 25px;
    }


    .conceptp {
        line-height: 1.8;
        font-size: 14px;
        padding: 0 20px;
        margin-bottom: 0.8rem;
    }
}

/* 新しいクラス名 - お悩み文（「」付き） */
.concept-text {
    text-align: center;
    line-height: 1.8;
    margin: 0 auto 0.8rem auto;
    font-size: 20px;
}

.concept-text-last {
    margin-bottom: 2rem; /* お悩みセクションの最後だけ余白を広く */
}

/* 説明文（制作会社は...） */
.concept-description {
    text-align: center;
    line-height: 1.8;
    margin: 0 auto 0.8rem auto;
    font-size: 20px;
}

.concept-description-last {
    margin-bottom: 2rem; /* 説明セクションの最後だけ余白を広く */
}

/* メッセージ文（あなたのお店...） */
.concept-message {
    text-align: center;
    line-height: 1.8;
    margin: 0 auto 0.8rem auto;
    font-size: 20px;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .concept-text,
    .concept-description,
    .concept-message {
        font-size: 13px;
        padding: 0 20px;
        margin-bottom: 0.6rem;
    }
    
    .concept-text-last,
    .concept-description-last {
        margin-bottom: 1.2rem;
    }
}







/*lppoint*/




.point img{
 width: 100%;
 height: auto;
 margin-top: 30px;
 margin-bottom: 50px;
}






.sub-cover{
    background-size: cover;
    background-position: center bottom;
    min-height: 528px;
    margin-bottom: 4rem;
}

.top{
    margin-top: 7rem;
}

.fbox01{
    margin-top: 40px;
}

.section{
   margin-top: 20%;
    padding: 30px 15px;
    background-color: #ea902f;
}

.sectionsecounday{
    margin-top: 30%;
    padding: 50px 35px;
    background-color: #ffffff;
}


.section-headline{
    text-align: center;
    font-size: 3rem;
    margin-top: 20%;
    font-family: 'Courier New', Courier, monospace;
}

.section2{
    padding: 30px 15px;
   
}


.section-headline2{
    text-align: center;
    font-size: 3rem;
    margin: 0 0 40px;
    margin-top: 6rem;
    font-family: 'Courier New', Courier, monospace;
}


.grid{
    margin: 0;
    padding: 0;
    text-align: center;
    justify-content: center;
}


.grid-item{
    list-style: none;
}




/* feature */

.section {
    position: relative;
    margin-top: 20%;
    padding: 50px 15px;
}

.section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../images/futureback.png);
    background-size: cover;
    background-position: center;
    opacity: 1;
    z-index: 1;
}

.section > * {
    position: relative;
    z-index: 2; /* コンテンツを前面に */
}

.section-headline {
    text-align: center;
    font-size: 2.5rem;
    margin-bottom: 3rem;
    font-family: 'Courier New', Courier, monospace;
    color: #403632;
}

.section-headline::after {
   
    display: block;
    font-size: 1.2rem;
    letter-spacing: 0.3em;
    margin-top: 10px;
    opacity: 0.8;
}

.grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.grid-item {
    background: transparent; /* 透明 */
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    padding: 30px 20px;
    position: relative;
}

.feature-headline {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: rgba(255, 255, 255, 0.9);
    color: #333;
    font-size: 30px;
    font-weight: bold;
    padding: 8px 20px;
    border-radius: 50px;
    margin: 0;
    z-index: 3;
}

.feature-headline::before {
    content: 'メリット';
    font-weight: bold;
    display: block;
    font-size: 10px;
    margin-bottom: 2px;
}

.feature-img {
    text-align: center;
    margin: 40px auto 20px;
    padding: 0;
    background: none;
}

.feature-img img {
    width: 50%;
    height: 50%;
  
}

.feature-description {
    color: #403632;
    font-size: 20px;
    line-height: 1.5;
    text-align: center;
    margin: 0;
    text-shadow: 1px 1px 2px rgba(232, 229, 229, 0.5);
}

/* スマホ対応 */
@media (max-width: 768px) {
    .section {
        margin-top: 0; /* 余白を完全に削除 */
        padding-top: 30px;
    }

    .section::before {
     
        background-position: right center; /* 花が見えるように右寄せ */
        opacity: 0.4; /* スマホではもう少し薄く */
    }
    
    .grid {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 0 10px;
    }
    
    .section-headline {
        font-size: 2rem;
    }
    
    .grid-item {
        padding: 25px 15px;
    }
}


/* PC対応 */
@media (min-width: 769px) {
    .section {
        padding: 80px 30px;
    }
    
    .section-headline {
        font-size: 3rem;
    }
    
    .grid {
        gap: 5px;
        max-width:100%; /* 900pxから縮小 */
    }
}



.anim-box.fadein.is-animated {
    animation: fadeIn 2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  }
   
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }



/* メリット後のまとめ */
.merit-closing {
    text-align: center;
    padding: 60px 20px 80px;
    max-width: 700px;
    margin: 0 auto;
}

.merit-closing-text {
    color:  #403632;
    font-size: 1.2rem;
    line-height: 2;
    font-weight: 500;
}

.merit-closing-text strong {
    font-weight: bold;
    color:  #403632;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .merit-closing {
        padding: 40px 20px 60px;
    }
    
    .merit-closing-text {
        font-size: 1rem;
        line-height: 1.9;
    }
}


  

/* About */



 
.anim-box.zoomin.is-animated {
    animation: zoomIn 0.9s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }
   
  @keyframes zoomIn {
    0% {
      transform: scale(0.8);
      opacity: 0;
    }
    100% {
      opacity: 1;
      transform: scale(1);
    }
  }

.aboutp{
    text-align: center;
    line-height: 1.8rem;
    margin:1.5rem;
   font-size: 15px;
    white-space: normal;   /* 自動で改行してくれる */
  word-break: break-word; /* 長い単語や英数字も折り返す */
 white-space: pre-wrap; /* 改行やスペースをそのまま表示 + 自動折り返し */
  word-break: break-word;
}




* 依頼の流れセクション */
.flow-section {
    background-color: #fff;
    padding: 80px 20px;
}

.flow-headline {
    text-align: center;
    font-size: 3rem;
    margin-bottom: 4rem;
    font-family: 'Courier New', Courier, monospace;
    color: #403632;
}

.flow-container {
    max-width: 600px;
    margin: 0 auto;
    position: relative;
}

.flow-item {
    position: relative;
    margin-bottom: -30px; /* 重ねる */
}

.flow-item:last-child {
    margin-bottom: 0;
}

.flow-card {
    display: flex;
    align-items: center;
    gap: 25px;
    padding: 35px 40px;
    border-radius: 25px;
    position: relative;
    z-index: 1;
    transition: transform 0.3s ease, z-index 0s;
}

.flow-item:hover .flow-card {
    transform: translateY(-5px);
    z-index: 10;
}

/* オレンジ〜ベージュのグラデーション */
.flow-item:nth-child(1) .flow-card {
    background: linear-gradient(135deg, #d97706 0%, #ea902f 100%);
}

.flow-item:nth-child(2) .flow-card {
    background: linear-gradient(135deg, #ea902f 0%, #f59e0b 100%);
}

.flow-item:nth-child(3) .flow-card {
    background: linear-gradient(135deg, #fbbf24 0%, #fcd34d 100%);
}

.flow-item:nth-child(4) .flow-card {
    background: linear-gradient(135deg, #fde68a 0%, #fef3c7 100%);
}

.flow-number {
    background-color: rgba(255, 255, 255, 0.95);
    font-size: 2.5rem;
    font-weight: bold;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

/* 番号の色を段階的に変更 */
.flow-item:nth-child(1) .flow-number {
    color: #d97706;
}

.flow-item:nth-child(2) .flow-number {
    color: #ea902f;
}

.flow-item:nth-child(3) .flow-number {
    color: #f59e0b;
}

.flow-item:nth-child(4) .flow-number {
    color: #fbbf24;
}

.flow-icon-wrapper {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.flow-icon {
    width: 55px;
    height: 55px;
  
}

.flow-content {
    flex: 1;
}

.flow-title {
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 8px;
}

.flow-description {
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
    line-height: 1.6;
}

/* スマホ対応 */
@media (max-width: 768px) {
    .flow-section {
        padding: 50px 15px;
    }

    .flow-headline {
        font-size: 2rem;
        margin-bottom: 2.5rem;
    }

    .flow-container {
        max-width: 100%;
    }

    .flow-item {
        margin-bottom: -20px;
    }

    .flow-card {
        padding: 25px 20px;
        gap: 15px;
    }

    .flow-number {
        width: 60px;
        height: 60px;
        font-size: 2rem;
    }

    .flow-icon-wrapper {
        width: 40px;
        height: 40px;
    }

    .flow-icon {
        width: 50px;
        height: 50px;
    }

    .flow-title {
        font-size: 1.2rem;
    }

    .flow-description {
        font-size: 0.85rem;
    }
}


/* works */

#workslist{
    margin-bottom: 30px;
}

#workslist li{
    margin-bottom: 60px;
}
#main h3 .ttl{
    margin-bottom: 15px;
    font-size: 13px;
    font-weight: bold;
    text-align: left;
    line-height: 1.5;
}

#workslist .skill{
    margin-bottom: 15px;
}


#workslist .readlast{
    margin-bottom: 30px;
}


/*work jv */
.slider{
    width:100%;
    margin:0 auto;
}
.slider img{

    margin: 1rem ;
    padding: 0.5rem;
    text-align: center;
    justify-content: center;

   
}
.slider .slick-slide{
    height:auto!important;
}

.slidertitle{
     border: 1px dashed black;
     border: 2px dotted rgb(67, 48, 14);
     margin: 1.5rem;
     text-align: center;
    color: #403632;
    
    
}

.sliderdirection{
    text-align: center;
    font-size: 13px;
    line-height: 1rem;
}

 
.zoom-box {
    display: inline-block;
    overflow: hidden;
  }
  .c-bnr.zoom {
    display: block;
    transition-duration: .5s;
  }
  .c-bnr.zoom:hover {
    transform: scale(1.2);
    
  }
   



.photo{
   margin: 55px;
    width: 280px;
    height: 260px;
}


.pagenation{
    position: relative;
    margin-bottom: 30px;
}

.pagenation,
.pageleft{
  position: absolute;
    left: 20px;
   
}

.pagenation,
.pageright{
    position: absolute;
    right: 20px;
  
}

.prev{
    right: 30px;
}


/* next page */

.wp-pagenavi{
    clear: both;
    text-align: center;
}

.wp-pagenavi a,
.pagenavi span{
    text-decoration: none;
    padding: 3px 5px;
    margin: 2px;
}

.wp-pagenavi span.current {
    font-weight: bold;
    text-decoration: underline;
}

/* ボタン */

.btn{
    display: inline-block;
    font-size: 1.5rem;
    background-color: #432;
    color: #dacece;
    border-radius: 8px;
    padding: .75rem 1.5rem;
    transition: .5s;
}

.botan{
margin-top: 30px;
  align-items: center;
  justify-content: space-between;


}

.btn:hover{
    background-color: #c27509;
    
}

/* iframe */

iframe{
    width: 100%;
}



/* フッター */
.page-footer{
    background-size: cover;
    background-position: center;
    padding-top: 1rem;
}

.info{
    width: 100%;
    max-width: 544px;
    margin: auto;
    padding: 0 1.5rem;
    border-spacing: 0;
}

.info th,
.info td{
    border-bottom: 1px solid #c9c2bc;
}

.info th{
    text-align: left;
    font-weight: normal;
    padding: 1rem;
}

.info td{
    padding: 1rem 0;
}

.copyright{

    background-color: #ea902f;
    text-align: center;
    padding: 2rem 0;
    margin-top: 6rem;
    color: #fff;
}


/* contact */

.email{
    margin: 20px;
    padding: 10px;
    border-radius: 5%;
}


.sns-item{
    margin-bottom: 2rem;

}

.sns-item .heading-medium{
    margin-bottom: 5rem;
}


   

/* パソコン版 */

@media (min-width:800px){


/* 見出し */

.botan{
   align-items: center;
   justify-content: center;
}

.sp{
    display: none !important;
   
}
.pc{
    
    display:block !important;
    margin-bottom: 0px;
    
}

    .page-title{
        font-size:5rem;
    }
    
    .heading-large{
    font-size: 4rem;
    }
.post-title{
    font-size: 1.7rem;
}

.grid{
    display: flex;
    text-align: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.workslist{
    display: flex;
    flex-wrap: wrap;
}

.grid-item{
    list-style: none;
}

.grid > .grid-item{
    width: 25%;
    margin: 1rem;
}



    /* ヘッダー */

    
    nav{
        border-bottom: 9px solid #ea902f;
        position: relative;
        
        }

        .nav ul{
        position: absolute;
        left:10%;
        display: flex;
        margin: 0 auto;
        padding: 0;
        width: 80%;
        text-align: center;
        }

        nav ul li{
        display: table-cell;
        min-width: 50px;
        }

        nav ul li a{
        display: block;
        width: 100%;
        height: 100%;
        padding: 10px 0;
        text-decoration: none;
        color: #aaa;
        }
        nav ul li.current{
        font-weight: bold;
        border-top: 5px solid #00B0F0;
        }
        nav ul li.current a{
        color: #00B0F0;
        }
        nav ul li a:hover{
        color: #0089BB;
        background-color: #FBFBDD;
        }
        nav ul li:hover{
        border-top: 5px solid #f6eea3;
        }




/* ヘッダーカバー画像 */

.sub-cover{
    height: 400px;
    margin-bottom: 6rem;
}

/* home */


.about{
    margin: 45em auto 6;
}


.section-headline{
    margin-top: 0;
}

.aboutp{
    margin: 0 50px;
    text-align: center;
    font-size: 20px;
}


/*concept*/

.concept{
    font-size: 40px;
}

.conceptp{
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 0;
}



/*LPimg*/

.point{
    margin: 0;
    padding: 0;
    border: 0;
}

.point img{
 width: 100%;
 height: auto;
 object-fit: cover;
 display: block;
 transform: scale(1);
}


/* works */

#workslist {
    
    text-align: center;
    margin: 0 15%;
    
}



/* contact */





.sns{
   margin: 25%;
   
}




/* フッター */
.page-footer{
  
    margin-top: 5rem;
    padding-top: 12rem;
}
.info th{
    padding-left: 2.5rem;
}

    }






/*contact*/

.head-text{
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 10px;
}

.form-area{
    max-width: 1280px;
    padding: 0 20px;
    margin: 0 auto 120px;
}

.form-area .form-title{
    border-bottom: solid 1px #1f1f1f;
    font-weight: 500;
    padding-bottom: 10px;
    margin-bottom: 30px;
    text-align: center;
}
.form-area dl{
    margin-bottom: 40px;
}

.form-area .item{
    display: flex;
    font-size: 15px;
    margin-bottom: 10px;
}

.form-area .item dt{
    width: 250px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #f5f5f5;
    padding: 60px 20px;
}

.form-area .item dt .require{
    border: solid 1px #df4440;
    color: #df4440;
    font-size: 10px;
    font-weight: 500;
    padding: 2px 5px;

}

.form-area .item dd{
    width: calc(100% - 250px);
    display: flex;
    align-items: center;
    padding: 0 40px;

}

.form-area .item dd.checkbox-group{
    display: flex;
    align-items: center;

}

.form-area .item dd .checkbox-item{
    margin-right: 40px;
}

.form-area .item dd input[type="text"]
.form-area .item dd input[type="email"]
.form-area .item dd select{
    width: 100%;
    border: solid 1px #ccc;
    padding: 20px;
}

.form-area .item dd input[type="checkbox"]{
    margin-right: 5px;
}

.form-area .item dd textarea{
    width: 100%;
    border: solid 1px #ccc;
    padding: 20px;
}



.form-area .privacy-policy .privacy-text{
    max-width: 640px;
    height: 100px;
    padding: 40px 20px;
    margin: 0 auto 30px;
 
}



.form-area .privacy-policy .privacy-item{
    text-align: center;
}

.form-area .btn-submit{
    width: 100px;
    height: 40px;
    background-color: #1f1f1f;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    margin: 50px auto;
}


/* sp */
@media screen and (max-width:767px){

    .form-area{
        margin: 0 auto 60px;
    }

    .form-area .item{
        flex-direction: column;
        margin-bottom: 40px;
    }

    .form-area .item dt{
        width: 100%;
        padding: 20px;
        margin-bottom: 10px;
    }

    .form-area .item dd{
        width: 100%;
        padding: 0;
    }

    .form-area .item dd.checkbox-group{
        flex-direction: column;
        align-items: flex-start;
    }

    .form-area .item dd .checkbox-item{
        margin: 0 0 5px;
    }

}