@charset "UTF-8";

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Zen Maru Gothic", sans-serif;
    overflow-x: hidden;
    width: 100%;
}

/* ================== ハンバーガー ================== */
/* メニュー箱 */
nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    background-color: #e5d8d8;
    transition: 0.5s;
    z-index: 3;
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

/* open時に表示 */
.open nav {
    right: 0;
    /* 右から0の位置（表示状態） */
    left: auto;
}

/* ナビゲーションの中身を整える */
nav .inner {
    padding: 80px 10px;
    /* 上にボタンとの重なりを防ぐ余白 */
}

nav ul {
    list-style: none;
    text-align: center;

}

nav ul li {
    margin-bottom: 25px;
}

nav ul li a {
    text-decoration: none;
    color: #4e4444;
    /* 文字色 */
    font-size: 20px;
    font-weight: bold;
    display: block;
}

/* ナビの中の犬のイラスト */
nav img {
    width: 150px;
    height: auto;
    position: absolute;
    bottom: -0px;
    right: 70px;
}

.inner p {
    color: #dd99ae;
}

/* ボタンが押された時の「×」アニメーション */
.open .toggle_btn span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
}

.open .toggle_btn span:nth-child(2) {
    opacity: 0;
}

.open .toggle_btn span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
}

.toggle_btn span {
    transition: all 0.4s;
    /* 動きを滑らかに */
}

/* ハンバーガーボタン */
.toggle_btn {
   
    background: pink;
    z-index: 4;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.toggle_btn span {
    display: block;
    width: 30px;
    height: 2px;
    background: #ffffff;
    margin-bottom: 8px;
}

.toggle_btn span:last-child {
    margin-bottom: 0;
}

.toggle_btn{
    width: 48px;
    height: 48px;
    display: block;
    margin: 0;
    padding: 10px;
}

/* ================== ヘッダー ================== */

/* ヘッダー全体（背景） */
.header {
    background-color: #f1eded;
    max-width: 1240px;
    margin: 0 auto;
      padding: 30px 0; /* ← 左右0にする */

}


.logo-pc {
    display: block;
    /* max-width: 1500px;
    margin-left: -150px; */

}

.logo-sp {
    display: none;
    /* スマホ用は隠す */
}

.header-inner {
    position: relative;
}

/* 右側に伸びる線
.header-inner::after {
    content: "";
    position: absolute;
    top: 1px;
    left: 40px;
    
    width: 1500px;
    height: 47px;
    background-color: #fff;
} */

.header-btn{
    display: flex;
    justify-content: space-between;
    background-color: #fff;
}

/* ================== 見出し ================== */
.heading {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding-top: 80px;
    color: #4e4444;
}

.heading-second {
    font-size: 20px;
    text-align: center;
    padding-top: 5px;
    color: #4e4444;
}

.heading-illust {
    position: relative;
    top: 120px;
}



/* ================== ファーストビュー ================== */


.main {
    position: relative;
    /* 子要素のabsoluteの基準になります */
    background-color: #f1eded;
    max-width: 1240px;
    height: 530px;
    margin: 0 auto;
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    background-image: url(profilesite-ishihara-assets/back-ground-firstmocomoco.png);
    background-position: center center;
    background-size: 825px;
}


/* メイン文字 */
.main-text {
    color: #ffffff;
    text-align: center;
    padding-top: 175px;
    font-size: 35px;
}

.main-text h1 {
    font-size: 35px;
    padding-top: 5px;

}

.main-text p {
    font-size: 15px;
}

/* --- 各画像の配置（座標指定） --- */
/* 左上 */
.main-dog1 {
    position: absolute;
    top: 10%;
    left: 20%;
    /* 中央から左にずらす */
    width: 137px;
}

/* 右上 */
.main-dog2 {
    position: absolute;
    top: 60px;
    right: 150px;
}

/* 左下 */
.main-dog3 {
    position: absolute;
    top: 250px;
    left: 180px;
}

/* 右下 */
.main-dog4 {
    position: absolute;
    bottom: 10%;
    right: 15%;
}


.main h1 {
    font-size: 35px;
    font-weight: bold;
    text-align: center;
}

.main p {
    text-align: center;
    padding: 10px;

}


@keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  .main-dog1,
  .main-dog2,
  .main-dog3,
  .main-dog4 {
    animation: fadeUp 1s ease forwards;
  }
/* --- アニメーション定義 --- */

/* 1. 下からふわっと出てくる */
@keyframes fadeUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* 2. ぴょんぴょん跳ねる */
  @keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
      transform: translateY(0);
    }
    40% {
      transform: translateY(-30px);
    }
    60% {
      transform: translateY(-15px);
    }
  }
  
/* プロフィール */
.profile {
    background-color: #e7e7e7;
    text-align: left;
    margin-top: 35px;
    padding-bottom: 50px;
}

/* 写真とテキストの横並び */

.profile-my {

    flex-direction: column;
    justify-content: end;

}



/* 石原七海のこと */
.profile-text-mycontent {
    background-color: white;
    width: 1074px;
    border-radius: 30px;
    padding: 50px;
    margin: 200px auto;
    position: relative;
    display: flex;
    align-items: center;
    height: 340px;


}

.profile-text-mycontent::before {
    content: "";
    background-color: #fff;
    position: absolute;
    right: -470px;
    top: 0;
    height: 100%;
    width: 500px;
}

.profile-text-mycontent.profile-text-mycontent-left::before {
    right: unset;
    left: -470px;
    top: 0;
}



.profile-text-mycontent h3 {
    padding-bottom: 20px;
}

.profile-photo {
    position: relative;
    z-index: 2;
}

/* プロフィール写真 */

.profile-border {
    position: relative;
}


/* プロフィールアイコン */
.profile-nanami {
    display: flex;
    gap: 20px;


}

.profile-nanami img {
    width: 50px;
    height: 50px;
    background-color: #ffb4cb;
    object-fit: contain;
    border-radius: 100%;

}



.profile-mel {
    display: flex;
    gap: 20px;

}

.profile-mel img {
    width: 50px;
    height: 50px;
    background-color: #ffb4cb;
    object-fit: contain;
    border-radius: 100%;
}

.profile-bike {
    display: flex;
    gap: 20px;
}

.profile-bike img {
    width: 50px;
    height: 50px;
    background-color: #ffb4cb;
    object-fit: contain;
    border-radius: 100%;
}

.profile h3 {
    margin-top: 10px;
}



/* ================== ポートフォリオ ================== */
/* ポートフォリオ */
.portfolio {
    background-color: #f6d9e2;
    padding-bottom: 50px;
    padding-top: 50px;

}

.portfolio-art {
    display: flex;
    text-align: center;
    justify-content: center;

}

/* ポートフォリオカード */
.portfolio-art-content {
    background-color: #f7f7f7;
    box-shadow: 0 4px 5px #d8b9c2;
    margin: 0 auto;
    padding: 20px;
    border-radius: 10px;
    margin-top: 100px;

}

/* ポートフォリオ白いほうの背景 */

.white-inner-box {
    background-color: #ffffff;
    /* 白色の背景 */
    padding: 50px;
    max-width: 1000px;
    /* 横に広がりすぎないように制限 */
    margin: 0 auto;
    /* 中央寄せ */
    border-radius: 20px;
    /* 角を丸くして柔らかく */

}

.portfolio-art-content img {
    padding: 30px;
}

.portfolio-art-content h3 {
    text-align: left;
    font-size: 20px;
    color: #5e5656;
}

.portfolio-art-content p {
    text-align: left;
    max-width: 270px;
    margin: 0 auto;
}

/* 野菜ジュースとバナーの文字の横並び */
.portfolio-art-content-banner {
    background-color: #dd99ae;
    color: #f7f7f7;
    font-weight: 600;
    border-radius: 15%;
    width: fit-content;
    padding: 5px 15px;
}

.portfolio-art-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 100px;
    padding: 8px;
    border-bottom: solid 2px #e7e7e7;
}
/* --- ポートフォリオ：スクロールフェードイン --- */

/* 1枚目・2枚目共通の初期状態 */
.portfolio-art-content {
    opacity: 0;
    /* 少し小さく、下に配置しておく（cardFreshInの要素を継承） */
    transform: scale(0.95) translateY(40px);
    /* 変化の速さを指定：1.2秒かけて滑らかに（cubic-bezierで高級感を出す） */
    transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1), 
                transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  }
  
  /* 画面内に入った時にJavaScriptでこのクラスをつける */
  .portfolio-art-content.is-show {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
  
  /* 2枚目だけ少し遅れて動き出す設定（わちゃわちゃ感を防ぐ） */
  .portfolio-art-content:nth-child(2) {
    transition-delay: 0.3s;
  }

/* ================== イラスト ================== */
.illust {
    background-color: #dee0e5;
    background-image: url(profilesite-ishihara-assets/illust-mocomoco.png);
    background-size: contain;
    background-position: top;
  
}

/* ================== イラスト ================== */
/* アニメーション用設定 */
.block {
    opacity: 0;
    height: 500px;
    overflow: hidden;
    margin: 100px auto 0;
    transition: all 1.5s 1s;
}

.block.active {
    opacity: 1;
}

.slider {
    min-height: 540px;
    margin-top: 200px;
}

/* スライダー設定 */
.slider img {
    width: 440px;
}

.illust-item {
    margin: 0 70px;
    transition: all 0.4s;
}

/* 各角度のバリエーション */
.illust-item.left {
    margin-top: 10px;
    transform-origin: top right;
    transform: rotate(-7deg);
}

.illust-item.left2 {
    margin-top: 100px;
    margin-right: 100px;
    transform-origin: top right;
    transform: rotate(-20deg);
}

.illust-item.right {
    margin-top: 10px;
    transform-origin: top left;
    transform: rotate(7deg);
}

.illust-item.right2 {
    margin-top: 100px;
    margin-left: 100px;
    transform-origin: top left;
    transform: rotate(20deg);
}


.illust-item {
    background-color: #e2d9d9;
    border-radius: 20px;
    border: 3px solid #a69c9f;
    width: 400px;
}

.illust-item img {
    width: 100%;
    height: auto;
}

/* アイコンボタンの基本スタイル */
.illust-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
    padding-bottom: 80px;

}

.icon-btn {

    padding: 0;
    cursor: pointer;
    transition: transform 0.3s, opacity 0.3s;
    outline: none;
}

/* ホバーしたとき */
.icon-btn:hover {
    transform: scale(1.1);
    /* 少し大きくする */
}

/* 現在選択されているアイコンのスタイル（JavaScriptで制御） */
.icon-btn.active {
    opacity: 1;

}


/* 中央（選ばれた画像）をはっきり見せる */
.illust-item.active {
    opacity: 1;
}

.icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: transform 0.3s;
}

.icon-btn.active {
    transform: scale(1.1);
    /* 選択中を少し大きく */
}


/* ================== スキル ================== */
.skill {
    background-color: #ffb4cb;
    justify-content: center;
    padding: 60px;
}

.skill-inner {
    background-color: #ffffff;
    padding: 40px;
    border-radius: 20px;
    text-align: center;
}

.skill-icon {
    width: 150px;
    height: 150px;
    background-color: #ffb4cb;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.skill-contents {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 70px;
}

.skill-text {
    margin-top: 50px;
}

.skill-webtext {
    font-size: large;
    font-weight: bold;
    font-size: 20px;
    text-align: left;
    padding-bottom: 20px;
    color: #4e4444;
}

.skill-webtext-p {
    font-size: 10px;
    color: #4e4444;
}




.skill-text-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 632px;
    margin: 0 auto;
}


.skill-text-item {
    display: flex;
    gap: 20px;
    padding-top: 50px;
    text-align: left; 
}

.skill-text-item h3 {
    width: 100px;
    font-size: 16px; 
}


.tool-contents {
    display: flex;
    flex-direction: column;
}


.tool-item {
    display: flex;
    align-items: center;
    text-align: left;
    color: #4e4444;
    width: 824px;
    padding: 10px;
    margin: 0 auto;
}



.text-box1 {
    width: 350px;
    padding-left: 60px;
    ;

}

.text-box2 {
    width: 800px;
    padding-left: 40px;

}


/* ================== コンタクト ================== */


.contact:before {
    content: "";
    display: block;
    width: 3000px;
    height: 3000px;
    background-color: #ffb4cb;
    position: absolute;
    border-top-left-radius: 100%;
    border-top-right-radius: 100%;
    left: 50%;
    top: 0;
    translate: -50% 0;
    margin-top: 300px;

}

.contact {
    background-color: #e7e7e7;
    text-align: center;
    padding: 100px 0;
    position: relative;
    overflow: hidden;


}

.contact-inner {
    margin: 0 auto;
    width: 570px;
    position: relative;
    z-index: 1;

}

.contact-heading {
    position: relative;
    z-index: 1;
}

.contact-heading-second {
    position: relative;
    z-index: 1;
    padding-bottom: 150px;
}

.lead-text {
    padding-bottom: 50px;
}


/* 入力欄のスタイル */
.form-group {
    margin-bottom: 20px;
    text-align: left;
}

.form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: bold;
    margin-bottom: 8px;
    color: #444;
}

.form-group input,
.form-group textarea {
    width: 100%;
    background-color: #f3f6ff;
    /* 入力欄の色（見本に近い青白） */
    border: none;
    border-radius: 12px;
    padding: 15px;
    box-sizing: border-box;
    font-size: 1rem;
}

.form-group textarea {
    height: 180px;
    /* テキストエリアを少し広めに */
}

.submit-btn {
    background-color: #7a7a7a;
    color: white;
    border: none;
    box-shadow: 2px 2px #dd99ae;

    /* 横幅を調整 */
    width: 80%;
    /* フォームの幅に対して80%の長さに */
    max-width: 400px;
    /* 長くなりすぎないようにストッパーをかける */

    padding: 18px 0;
    /* 上下を少し厚く、左右はwidth指定なので0でOK */

    border-radius: 50px;
    /* 完全に丸いカプセル型に */
    font-size: 1.1rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    /* 文字の間隔を少し広げると高級感が出ます */

    cursor: pointer;
    margin-top: 30px;
    /* 上の入力欄との間隔を少し広げる */
    transition: all 0.3s;
}

.submit-btn:hover {
    background-color: #555;
    transform: scale(1.02);
    /* マウスを乗せた時に少しだけ大きく */
}

/* アイコン */


.contact-icon-contents {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    position: relative;
    z-index: 1;
}

.icon-circle {
    background-color: #ffffff;
    border-radius: 50%;
    width: 90px;
    height: 90px;
    box-shadow: 0px 4px #d8b3b3;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 50px;
    transition: all 0.3s ease;
}


.icon-circle-btn {
    cursor: pointer;
}

.icon-circle:hover {
    background-color: #555;
    transform: scale(1.05);
    /* マウスを乗せた時に少しだけ大きく */
}

/* ================== フッター ================== */
footer {
    background-color: #ffb4cb;
    text-align: center;
    padding: 20px;

}

.name-logo-contents {
    text-align: left;
    position: relative;
    top: 70px;
}

.footer-thankyou {
    font-size: 30px;
    color: white;
}

.page-link {
    font-size: 15px;
    text-align: right;
    padding: 10px;
}

.page-link a {
    color: white;
    text-decoration: none;
    margin: 10px;
}

.footer-thankyou {
    font-size: 40px;

}

.footer-icon {
    text-align: left;
    width: 226px;
    height: 156px;
    position: relative;
    top: 20px;
}

footer small {
    font-size: x-small;
    color: white;
}

@media screen and (min-width: 1240px) {
    .header {
        max-width: 100%;
        background-color: #fff;
        background-image: url(profilesite-ishihara-assets/header-bg.png);
        background-size: 1240px 100%;
        background-position: center;
    }
}
@media screen and (min-width: 768px) {

    .slick-dots{
        display: none !important;
    }
}


/* ================== SP ================== */


@media screen and (max-width: 767px) {
/* はみ出し防止 */
html, body {
    overflow-x: hidden; /* 横方向のはみ出しを厳禁にする */
    width: 100%;
    position: relative;
}
.slick-dots{
    display: block;
}

/* contactの背景がはみ出している主な原因なので、ここも念押し */
.contact {
    overflow: hidden; 
}

    /* ナビゲーション */
    nav {
        position: fixed;
        top: 0;
        right: -100%; /* 初期位置を画面の外（右側）へ完全に隠す */
        width: 100%;    /* 横幅を全画面に */
        height: 100%;
        background-color: #e5d8d8;
        transition: 0.5s;
        z-index: 10;    /* 他の要素より手前に来るように */
        border-radius: 0; /* 全画面なので角丸は不要 */
    }
    
    /* open時に画面いっぱいに表示 */
    .open nav {
        right: 0;
    }
    
    /* ナビの中の「×」ボタンやロゴが隠れないように調整 */
    nav .inner {
        padding: 100px 20px; /* 上を少し多めに空ける */
    }
    
    /* ナビの中の犬を全画面に合わせて調整 */
    nav img {
        width: 100px;
        right: 130px;
        bottom: 10px;
    }
    

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

    .toggle_btn {
    
    margin-left: auto;
    background: pink;
    /* ★重要：メニュー(z-index: 10)よりも大きい数字にする */
    z-index: 20; 
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    }

    /* ヘッダー */

    .header {
        max-width: 100%;
        background-color: #fff;
        background-image: none;
        background-image: url(profilesite-ishihara-assets/sp-header-bg.png);
        background-size: 404px 47px;
        background-position: center;
    }
    .header-btn{
        background-color: transparent;
        padding-bottom:1px;
    }
    

    .header-inner::after {
        display: none;
    }

    .logo-pc {
        display: none;
    }

    .logo-sp {
        display: block;
        position: relative;
        

    }

    .header-logo img {
        width: 160px;
    }

/* 
    .header-inner {

        background-color: #e7e7e7;
    } */

    /* 修正後 */
.main {
    width: 90%; /* 固定pxをやめて、画面幅に合わせる */
    max-width: 359px; /* 大きくなりすぎないように制限 */
    margin: 0 auto;
    height: 514px;
    background-image: url(profilesite-ishihara-assets/sp-first-mocomoco.png);
    background-size: cover;
    border-radius: 50px;
    position: relative; /* 子要素の犬たちの基準 */
    
}
    .main-text h1 {
        font-size: 30px;

    }

    /* 犬の画像大きさ */
    .main-dog2,
    .main-dog3,
    .main-dog4 {
        width: 130px;
        height: auto;
    }

    /* 犬のいち */
    .main-dog1 {
        width: 100px;
        height: auto;
        position: relative;
        left: 8px;
        top: -260px;
        transform: rotate(-10deg);
    }

    .main-dog2 {
        position: relative;
        left: 118px;
        top: -257px;

    }

    .main-dog3 {
        position: relative;
        left: -10px;
        top: -85px
    }

    .main-dog4 {
        position: relative;
        left: 82px;
        top: -80px;
    }

    /* 題名のフォントサイズ */

    .heading {
        font-size: 24px;
        padding-top: 30px;
    }

    .heading-second {
        font-size: 18px;
    }


    /* プロフィール */
    .profile-border {
        display: none;
    }

    /* プロフィールイラストアイコン */

    .profile-nanami,
    .profile-mel,
    .profile-bike {
        margin-left: 20px;
    }

    /* プロフィール文章 */

    .profile-name {
        margin-left: 10px;
        color: #958188;

    }

    .profile-p {
        padding: 10px;
        margin-bottom: 10px;
        color: #958188
    }



    .profile-text-mycontent {
        background-color: transparent;
        /* ← 白消す */
        width: 100%;
        /* ← 横幅も調整 */
        padding: 20px;
        /* ← スマホ用に軽く */
        margin: 0px auto;
        height: auto;
        /* ← 高さ固定も解除 */
        flex-direction: column;
        /* ← 縦並びにする */
    }

    .profile-text-mycontent::before {
        display: none;

    }

    .profile-photo {
        width: 253px;

    }


    /* ポートフォリオ */
    .portfolio-art {
        display: flex;
        flex-direction: column;
        align-items: center;

    }

    .portfolio-art-content {
        width: 95%; 
        max-width: 377px;
        margin: 30px auto; /* 中央に寄せる */
    }

    .white-inner-box {
        background-color: transparent;
        /* 白を消す */
        padding: 0;
        /* 余白も消す（必要なら） */
    }

    /* イラスト */
    .illust {
        background-color: #d3d7dd;
        background-image: url(profilesite-ishihara-assets/sp-mocomoco.png);
        background-position: top;
    }
    .illust-gallery {
        width: 100%; /* 横幅いっぱいに広げる */
        padding-top: 100px;
        margin: 0 auto;
    }

    .slider {
        min-height: auto; /* 高さを自動に */
    }

    .illust-item {
        transform: none;
        width: 280px;
        margin: 0 24px;
    
    }

    /* PC版の「左右に傾ける」動きをスマホでは無効化する */
    .illust-item.left, 
    .illust-item.left2, 
    .illust-item.right, 
    .illust-item.right2 {
        margin-top: 0;
        opacity: 0.5; /* 左右の画像は少し薄くすると中央が際立ちます */
    }

    .illust-item.slick-current {
        opacity: 1;
    }

    .slider img {
        width: 100%; /* 枠の中に収める */
    }
    
  
    .illust-icons {
        display: none;
    }

    .icon-btn img {
        width: 40px; 
    }
/* ボタンとやじるし */
.illust-navigation {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding-top: 20px;
  }
  
  /* 左右ボタン本体 */
  .illust-navigation .slick-prev,
  .illust-navigation .slick-next {
    position: static;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 2px 2px #dd99ae;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    z-index: 2;
    position: relative; /* 矢印の基準 */
  }
  
  /* 共通：棒 */
  .illust-navigation .slick-prev::before,
  .illust-navigation .slick-next::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    background-color: #ff8fa3;
    transform: translate(-50%, -50%);
  }
  
  /* 共通：くの字 */
  .illust-navigation .slick-prev::after,
  .illust-navigation .slick-next::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    background-color: transparent;
    border-top: 2px solid #ff8fa3;
    border-right: 2px solid #ff8fa3;
    transform: translate(-50%, -50%) rotate(45deg);
  }
  
  /* 左矢印 */
  .illust-navigation .slick-prev::after {
    transform: translate(-50%, -50%) rotate(-135deg);
  }
  
  /* 右矢印 */
  .illust-navigation .slick-next::after {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  
  /* 押した時のズレ防止 */
  .illust-navigation .slick-prev:active,
  .illust-navigation .slick-next:active,
  .illust-navigation .slick-prev:focus,
  .illust-navigation .slick-next:focus {
    outline: none;
  }
/* 2. ドット（ulタグ）の設定をリセットして横並びにする */
.illust-navigation .slick-dots {
  position: static;
  display: flex;
  align-items: center;
  gap: 8px; /* ドット同士の隙間 */
  margin: 0;
  padding: 0;
  list-style: none;
  width: auto;
}
  
  .illust-navigation .slick-dots li {
    display: block;
    margin: 0;
  }
  
  .illust-navigation .slick-dots li:nth-child(n+4) {
    display: none;
  }
  
  .illust-navigation .slick-dots li button:before {
    content: "";
  }
  
  .illust-navigation .slick-dots li button {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ddd;
    border: none;
    padding: 0;
    display: block;
  }
  
  .illust-navigation .slick-dots li.active-dot button {
    background: #ff8fa3;
  }
  
  .slick-dots{
    translate: 1px -20px;
  }

  /* 並び順を強制する */
.illust-navigation .slick-prev {
    order: 1;
  }
  
  .illust-navigation .slick-dots {
    order: 2;
  }
  
  .illust-navigation .slick-next {
    order: 3;
  }


.illust-navigation .slick-prev,
.illust-navigation .slick-next,
.illust-navigation .slick-dots {
  position: static;
}

 /* 押したときも白のまま */
 .illust-navigation .slick-prev:active,
 .illust-navigation .slick-next:active,
 .illust-navigation .slick-prev:focus,
 .illust-navigation .slick-next:focus {
   background: #fff;
   outline: none;
 }
    /* スキル */
    .skill {
        max-width: 100%;
        display: flex;
        justify-content: center;
        /* 左右の余白を60pxから20pxに減らして、白い箱を広げる */
        padding: 40px 15px; 
        background: linear-gradient(to bottom, #ffb4cb 0%, #e7e7e7 100%);
    }

    /* 白い箱（ここが面積の主役） */
    .skill-inner {
        width: 100%;       /* 横幅いっぱい使う */
        max-width: none;   /* 制限を解除 */
        padding: 30px 15px; /* 箱の内側の余白をSP用に調整 */
        margin: 0 auto;
    }

    .skill-contents {
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 20px 0; 
    }

    .icon-box {
        display: none;
    }

    .tool-item {
        flex-direction: column;
        /* ← 縦並びにする */
        align-items: flex-start;
        /* ← 左揃え（自然な見た目） */
        width: 100%;
    }

    .text-box1,
    .text-box2 {
        max-width: 100%;
        /* ← 幅いっぱい使う */
        padding-left: 0;
        /* ← 左の余白リセット */
    }

    .tool-name {
        font-size: 20px;
        font-weight: 500;
    }

    .skill-webtext {
        text-align: center;
    }

    .skill-webtext-p {
        font-size: 15px;
        width: 300px;
    }

    .tool-name {
        font-weight: bold;
        padding-bottom: 10px;
    }

    .skill-text-item {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
        padding-left: 10px;
    }


    /* コンタクト */

    .contact{
        padding-top: 0px;
    }

    .contact-inner {
        width: 100%;
        padding: 30px;
        margin: 0 auto;
    }


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

    .icon-circle img {
        width: 20px;
        height: 20px;
        margin-top: 5px;
    }

    /* フッター */
    .footer-icon {
        width: 50px;
        height: 35px;
        position: relative;
        top: 30px;
        left: 35px;
    }

    .footer-thankyou {
        position: relative;
        top: -150px;
        border-bottom: solid 2px;
    }

    .name-logo-contents img {
        width: 100px;
        height: auto;
        position: relative;
        top: -40px;
        left: 130px;
    }

    .page-link {
        display: none;
        
    }

    .heading-second{
        padding-bottom:52px;
    }

    .contact:before {
        margin-top: 136px; 
        width: 1000px;
        height: 1000px;
    }

    .lead-text{
        font-size: 15px;
    }
}