/*
Theme Name: Hanayumi-LP
Theme URI: 
Author: Hanayumi
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 2025/06/10
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hanayumi-lp
Tags: 
*/

html {
    scroll-behavior: smooth;
}

/* -------------------------------
Registered: テンプレートパーツ：上マージン削除
------------------------------- */

.wp-block-template-part.is-style-rm-margin-top {
    margin-top: 0;
}

/* -------------------------------
Registered: 見出し：短い下線
------------------------------- */

:is(h1, h2, h3, h4, h5, h6).is-style-short-line {
    margin-bottom: var(--wp--preset--spacing--50);
    padding-bottom: 20px;
    position: relative;
    text-align: center;
}

:is(h1, h2, h3, h4, h5, h6).is-style-short-line::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    height: 2px;
    background-color: var(--wp--preset--color--custom-main);
}

/* -------------------------------
Registered: リスト：チェックリスト
------------------------------- */
.wp-block-list.is-style-checklist {
    list-style: none;
}

.wp-block-list.is-style-checklist  li {
    background-image: url(assets/images/icon-check.png);
    background-position: 0 5px;
    background-repeat: no-repeat;
    background-size: 1.2em;
    padding-left: 1.8em;
    margin-top: 0.8em;
}

.wp-block-list.is-style-checklist li:first-child {
    margin-top: 0em;
}

/* -------------------------------
画面幅別の表示・非表示
------------------------------- */
.hy-only-m {
    display: none !important;
    margin: 0;
}

@media screen and (max-width: 599px) {

    /* メニューブロックのブレークポイントに合わせる */
    .hy-only-pc {
        display: none !important;
    }

    .hy-only-m {
        display: block !important;
    }
}

/* -------------------------------
ボタン
------------------------------- */

.hy-btn:hover {
    opacity: 0.9;
}

/* -------------------------------
テーブル
------------------------------- */

.hy-table td {
    white-space: nowrap;
}

/* -------------------------------
テキスト内B部分に下線
------------------------------- */

.hy-strong-emphasize strong {
    background-image: linear-gradient(rgba(0 0 0 / 0) 70%, #fff76a 70%);
}

/* -------------------------------
PCでのみテキスト中央揃え
------------------------------- */

@media screen and (min-width: 600px) {
    .hy-text-align-center-pc {
        text-align: center;
    }
}

/*--------------------------------------------------
スマホ用下部固定フッター（PCは非表示） for WordPress
https://lpdesignermasterschool.com/
-----------------------------------------------------*/

.fix_menu_smartphone {
    display: none;
}

@media screen and (max-width: 599px) {

    /* メニューブロックのブレークポイントに合わせる */
    .fix_menu_smartphone {
        bottom: 0px;
        display: block;
        left: 0px;
        position: fixed;
        width: 100%;
        z-index: 10000;
        /*はじめは非表示*/
        opacity: 0;
        transform: translateY(100px);
    }


    /* footer下スペース広げる */
    .hy-footer {
        padding-bottom: 4em;
    }
}

/*　上に上がる動き　*/
.fix_menu_smartphone.UpMove {
    animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*　下に下がる動き　*/
.fix_menu_smartphone.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 1;
        transform: translateY(100px);
    }
}

/*--------------------------------------------------
PC用右側固定ボタン（スマホは非表示）
-----------------------------------------------------*/

.fix_menu_pc {
    top: 30%;
    display: block;
    position: fixed;
    right: 0px;
    width: 80px;
    z-index: 100;
    /*はじめは非表示*/
    opacity: 0;
    transform: translateX(100px);
}
.fix-menu-pc a:hover {
    opacity: 0.9;
}

/*　左の動き　*/
.fix_menu_pc.LeftMove {
    animation: LeftAnime 0.5s forwards;
}

@keyframes LeftAnime {
    from {
        opacity: 0;
        transform: translateX(100px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/*　右の動き　*/
.fix_menu_pc.RightMove {
    animation: RightAnime 0.5s forwards;
}

@keyframes RightAnime {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(100px);
    }
}

@media screen and (max-width: 1399px) {/* これ以下だと邪魔 */
    .fix_menu_pc {
        display: none;
    }
}


/*****************************
お問い合わせ
******************************/

.wpcf7 {
    font-size: 16px;
    margin: 0 auto;
}

.wpcf7 .input-box {
    align-items: center;
    border-bottom: 1px solid #ccc;
    display: flex;
    gap: 10px;
    width: 100%;
}

@media screen and (max-width: 599px) {
    .wpcf7 .input-box {
        align-items: stretch;
        flex-direction: column;
        gap: 5px;
    }

    .wpcf7 .input-box>p {
        margin-bottom: 0;
    }

    .wpcf7 .input-area>p {
        margin-top: 0;
    }
}

.wpcf7 .input-box>p {
    font-weight: 700;
    width: 220px;
}

.wpcf7 .input-area {
    flex: 1;
}

.wpcf7 span.required,
.wpcf7 span.optional {
    border-radius: 5px;
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    padding: 2px 5px;
    margin-right: 10px;
    white-space: nowrap;
}

.wpcf7 span.required {
    background-color: #e21515;
    color: #fff;
}

.wpcf7 span.optional {
    background-color: #ccc;
    color: #333;
}

.wpcf7 .note {
    color: #333;
    font-size: 0.8rem;
}

@media screen and (min-width: 600px) {
    .wpcf7 input[type="radio"]+* {
        font-weight: 700;
    }
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    appearance: none;
    box-sizing: border-box;
    /* paddingとborder（ユーザーエージェントが勝手にいれる？）もwidthに含めてくれる*/
    width: 100%;
    padding: 10px;
    border-radius: 3px;
    font-size: 20px;
}

.wpcf7 textarea {
    margin-top: 3px;
}

.wpcf7 input[type="submit"] {
    appearance: none;
    background-color: #26c10d;
    border: none;
    border-radius: 100px;
    color: #fff;
    cursor: pointer;
    line-height: 1.3;
    font-family: inherit;
    font-size: inherit;
    font-weight: 700;
    margin-left: auto;
    margin-right: 0;
    padding: 20px 60px;
}

.wpcf7 input[type="submit"]:disabled {
    background-color: #ccc;
}

.wpcf7 input[type="submit"]:hover {
    opacity: 0.9;
}


/*reCAPTCHAのバッジを非表示に*/

.grecaptcha-badge { 
   visibility: hidden; 
}

/* -------------------------------
追加用
------------------------------- */

/* トップ　3つの備え */
.hy-top-sonae-title-column-num {
    max-width: 80px;
}
@media screen and (max-width: 767px) {
.hy-top-sonae-title-column-num {
    max-width: 50px;
}
}

/* 6つの理由 */

.hy-reason-column-img {
    position: relative;
}

.hy-reason-num {
    left: 0;
    position: absolute;
    top: 0;
}
