<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>入力フォーム &#8211; ケケンタの独学ITブログ</title>
	<atom:link href="https://kekenta-it-blog.com/tag/%E5%85%A5%E5%8A%9B%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0/feed/" rel="self" type="application/rss+xml" />
	<link>https://kekenta-it-blog.com</link>
	<description>プログラミングやWeb制作の情報を発信</description>
	<lastBuildDate>Wed, 13 Aug 2025 07:49:40 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://kekenta-it-blog.com/wp-content/uploads/2023/07/cropped-KEKENTA-BLOG-32x32.png</url>
	<title>入力フォーム &#8211; ケケンタの独学ITブログ</title>
	<link>https://kekenta-it-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【コピペOK】入力フォーム・ラジオボタン・セレクタなどのレイアウト紹介【Web制作】</title>
		<link>https://kekenta-it-blog.com/form-patterns-complete-guide/</link>
					<comments>https://kekenta-it-blog.com/form-patterns-complete-guide/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Wed, 13 Aug 2025 07:36:34 +0000</pubDate>
				<category><![CDATA[Web制作]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[お問い合わせフォーム]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=16516</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__form-patterns-complete-guide__16516-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>このようなお悩みにお応えするため、Webサイトのフォーム作成ですぐご活用いただけるレイアウトパターンをご紹介！   紹介するフォーム要素 各レイアウトのHTML・CSSコードをプレビュー付きで紹介しています。 基本フォー [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__form-patterns-complete-guide__16516-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>お問い合わせフォームのコーディングするの大変だな……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>パーツだけサクッとコピーして使いたいな……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">このようなお悩みにお応えするため、Webサイトのフォーム作成ですぐご活用いただけるレイアウトパターンをご紹介！</p>



<p class="is-style-balloon_box wp-block-paragraph"><span data-icon="LsLightbulb" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" aria-hidden="true" class="swl-inline-icon"> </span> <strong>紹介するフォーム要素</strong></p>



<ul class="wp-block-list is-style-num_circle -list-under-dashed">
<li>テキストフォーム</li>



<li>ラジオボタン</li>



<li>チェックボックス</li>



<li>テキストエリア</li>



<li>電話番号、メールアドレス、都道府県</li>
</ul>



<p class="is-style-icon_good wp-block-paragraph">各レイアウトのHTML・CSSコードをプレビュー付きで紹介しています。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/kekenta-icon-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/kekenta-icon-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>コピペで簡単にサクッとご活用いただけます！<br>お役に立てば何よりです！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">基本フォームセクション</h2>



<p class="wp-block-paragraph">まずは簡単に、基本的なフォーム要素を含むサンプルフォームをご紹介します。こちらは、実際のWebサイトでよく使用される<strong>基本的なフォーム構成</strong>です。</p>



<form class="sample-form">
    <div class="form-group">
        <label class="form-label">
            お名前
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="name" 
               placeholder="山田 太郎"
               required>
    </div>

    <div class="form-group">
        <label class="form-label">お問い合わせ種別</label>
        <select class="form-input" name="inquiry_type">
            <option value="">選択してください</option>
            <option value="general">一般的なお問い合わせ</option>
            <option value="technical">技術的なお問い合わせ</option>
            <option value="billing">料金に関するお問い合わせ</option>
        </select>
    </div>

    <div class="form-group">
        <label class="form-label">お問い合わせ内容</label>
        <textarea class="form-textarea" 
                  name="message" 
                  rows="5" 
                  placeholder="お問い合わせ内容を詳しくお書きください"></textarea>
    </div>

    <div class="form-group">
        <label class="form-label">ご希望の連絡方法</label>
        <div class="radio-group">
            <div class="radio-item">
                <input type="radio" name="contact_method" id="email" value="email" checked>
                <label for="email">メール</label>
            </div>
            <div class="radio-item">
                <input type="radio" name="contact_method" id="phone" value="phone">
                <label for="phone">お電話</label>
            </div>
            <div class="radio-item">
                <input type="radio" name="contact_method" id="both" value="both">
                <label for="both">どちらでも可</label>
            </div>
        </div>
    </div>

    <div class="form-group">
        <label class="form-label">追加サービス</label>
        <div class="checkbox-group">
            <div class="checkbox-item">
                <input type="checkbox" name="services[]" id="newsletter" value="newsletter">
                <label for="newsletter">ニュースレター配信を希望する</label>
            </div>
            <div class="checkbox-item">
                <input type="checkbox" name="services[]" id="updates" value="updates">
                <label for="updates">製品アップデート情報を受け取る</label>
            </div>
            <div class="checkbox-item">
                <input type="checkbox" name="services[]" id="events" value="events">
                <label for="events">イベント・セミナー情報を受け取る</label>
            </div>
        </div>
    </div>
</form>

<style>
/* 基本スタイル */
.sample-form {
    max-width: 600px;
    margin: 0 auto 2rem auto;
    padding: 30px;
    background-color: #e7e7e7;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
.form-textarea,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
.form-textarea:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

.form-textarea {
    resize: vertical;
    min-height: 100px;
}

/* ラジオボタン・チェックボックス */
.radio-group,
.checkbox-group {
    margin-bottom: 15px;
}

.radio-item,
.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type="radio"],
.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label,
.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* ボタン */
.form-buttons {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary {
    background: #667eea;
    color: white;
}

.btn-primary:hover {
    background: #5a6fd8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.btn-secondary {
    background: #6c757d;
    color: white;
}

.btn-secondary:hover {
    background: #5a6268;
    transform: translateY(-2px);
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;form class=&quot;sample-form&quot;&gt;
    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            お名前
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;name&quot; 
               placeholder=&quot;山田 太郎&quot;
               required&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;お問い合わせ種別&lt;/label&gt;
        &lt;select class=&quot;form-input&quot; name=&quot;inquiry_type&quot;&gt;
            &lt;option value=&quot;&quot;&gt;選択してください&lt;/option&gt;
            &lt;option value=&quot;general&quot;&gt;一般的なお問い合わせ&lt;/option&gt;
            &lt;option value=&quot;technical&quot;&gt;技術的なお問い合わせ&lt;/option&gt;
            &lt;option value=&quot;billing&quot;&gt;料金に関するお問い合わせ&lt;/option&gt;
        &lt;/select&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;お問い合わせ内容&lt;/label&gt;
        &lt;textarea class=&quot;form-textarea&quot; 
                  name=&quot;message&quot; 
                  rows=&quot;5&quot; 
                  placeholder=&quot;お問い合わせ内容を詳しくお書きください&quot;&gt;&lt;/textarea&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;ご希望の連絡方法&lt;/label&gt;
        &lt;div class=&quot;radio-group&quot;&gt;
            &lt;div class=&quot;radio-item&quot;&gt;
                &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;email&quot; value=&quot;email&quot; checked&gt;
                &lt;label for=&quot;email&quot;&gt;メール&lt;/label&gt;
            &lt;/div&gt;
            &lt;div class=&quot;radio-item&quot;&gt;
                &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;phone&quot; value=&quot;phone&quot;&gt;
                &lt;label for=&quot;phone&quot;&gt;お電話&lt;/label&gt;
            &lt;/div&gt;
            &lt;div class=&quot;radio-item&quot;&gt;
                &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;both&quot; value=&quot;both&quot;&gt;
                &lt;label for=&quot;both&quot;&gt;どちらでも可&lt;/label&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;追加サービス&lt;/label&gt;
        &lt;div class=&quot;checkbox-group&quot;&gt;
            &lt;div class=&quot;checkbox-item&quot;&gt;
                &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;newsletter&quot; value=&quot;newsletter&quot;&gt;
                &lt;label for=&quot;newsletter&quot;&gt;ニュースレター配信を希望する&lt;/label&gt;
            &lt;/div&gt;
            &lt;div class=&quot;checkbox-item&quot;&gt;
                &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;updates&quot; value=&quot;updates&quot;&gt;
                &lt;label for=&quot;updates&quot;&gt;製品アップデート情報を受け取る&lt;/label&gt;
            &lt;/div&gt;
            &lt;div class=&quot;checkbox-item&quot;&gt;
                &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;events&quot; value=&quot;events&quot;&gt;
                &lt;label for=&quot;events&quot;&gt;イベント・セミナー情報を受け取る&lt;/label&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/form&gt;
</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 基本スタイル */
.sample-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
.form-textarea,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
.form-textarea:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

.form-textarea {
    resize: vertical;
    min-height: 100px;
}

/* ラジオボタン・チェックボックス */
.radio-group,
.checkbox-group {
    margin-bottom: 15px;
}

.radio-item,
.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type=&quot;radio&quot;],
.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label,
.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* ボタン */
.form-buttons {
    display: flex;
    gap: 15px;
    margin-top: 30px;
}

.btn {
    padding: 12px 24px;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-primary {
    background: #667eea;
    color: white;
}

.btn-primary:hover {
    background: #5a6fd8;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.btn-secondary {
    background: #6c757d;
    color: white;
}

.btn-secondary:hover {
    background: #5a6268;
    transform: translateY(-2px);
}</code></pre></div>
</div></details>
</div>



<p class="is-style-icon_good u-mb-ctrl u-mb-30 wp-block-paragraph">基本的なお問い合わせフォームであれば、このサンプルフォームのコードをそのままお使いいただけるかと思います。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/kekenta-icon-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/kekenta-icon-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>それでは以下より、テキストフォームやラジオボタンなど、<span class="swl-marker mark_yellow">入力フォーム要素ごとの<strong>レイアウトパターン</strong></span>をご紹介していきます。<br><br>「必須」アイコンの有無や縦並び・横並びなど、わずかな違いではありますが、すべてイチから作成しようとすると意外と手間がかかります。ぜひコピペでサクッとご活用いただければと思います！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-bg_stripe wp-block-paragraph">記事の後半では<code>pattern</code>属性による入力制御機能付きの電話番号・郵便番号フォームもご紹介しています。ぜひご覧いただけるとうれしいです！</p>



<h2 class="wp-block-heading">テキストフォーム</h2>



<h3 class="wp-block-heading">通常パターン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にテキスト入力フィールドを配置する基本的なパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">
        お名前
        <span class="required-text">必須</span>
    </label>
    <input type="text" 
           class="form-input" 
           name="name" 
           placeholder="山田 太郎"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
    background-color: #e7e7e7;
    padding: 2rem;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        お名前
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;text&quot; 
           class=&quot;form-input&quot; 
           name=&quot;name&quot; 
           placeholder=&quot;山田 太郎&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}</code></pre></div>
</div></details>
</div>



<h3 class="wp-block-heading">横並び</h3>



<p class="wp-block-paragraph">ラベルと入力フィールドを横に並べて配置し、スペースを効率的に使用するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout">
    <label class="form-label">
        お名前
        <span class="required-text">必須</span>
    </label>
    <input type="text" 
           class="form-input" 
           name="name" 
           placeholder="山田 太郎"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        お名前
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;text&quot; 
           class=&quot;form-input&quot; 
           name=&quot;name&quot; 
           placeholder=&quot;山田 太郎&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">苗字・名前分割</h3>



<p class="wp-block-paragraph">姓名を別々のフィールドに分けて入力してもらうパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="name-split">
    <div class="form-group">
        <label class="form-label">
            苗字
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="lastname" 
               placeholder="山田"
               required>
    </div>

    <div class="form-group">
        <label class="form-label">
            名前
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="firstname" 
               placeholder="太郎"
               required>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 苗字・名前分割 */
.name-split {
    display: flex;
    gap: 30px;
    background-color: #e7e7e7;
}

.name-split .form-group {
    flex: 1;
    margin-bottom: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;name-split&quot;&gt;
    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            苗字
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;lastname&quot; 
               placeholder=&quot;山田&quot;
               required&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            名前
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;firstname&quot; 
               placeholder=&quot;太郎&quot;
               required&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 苗字・名前分割 */
.name-split {
    display: flex;
    gap: 30px;
}

.name-split .form-group {
    flex: 1;
    margin-bottom: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">苗字・名前分割＋横並び</h3>



<p class="wp-block-paragraph">姓名分割と横並びレイアウトを組み合わせたパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="name-split">
    <div class="form-group horizontal-layout">
        <label class="form-label">
            苗字
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="lastname" 
               placeholder="山田"
               required>
    </div>

    <div class="form-group horizontal-layout">
        <label class="form-label">
            名前
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="firstname" 
               placeholder="太郎"
               required>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 苗字・名前分割 */
.name-split {
    display: flex;
    gap: 30px;
}

.name-split .form-group {
    flex: 1;
    margin-bottom: 0;
}

.name-split .horizontal-layout .form-label {
    min-width: 50px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;name-split&quot;&gt;
    &lt;div class=&quot;form-group horizontal-layout&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            苗字
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;lastname&quot; 
               placeholder=&quot;山田&quot;
               required&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group horizontal-layout&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            名前
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;firstname&quot; 
               placeholder=&quot;太郎&quot;
               required&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 苗字・名前分割 */
.name-split {
    display: flex;
    gap: 30px;
}

.name-split .form-group {
    flex: 1;
    margin-bottom: 0;
}

.name-split .horizontal-layout .form-label {
    min-width: 50px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">苗字・名前分割＋縦並び</h3>



<p class="wp-block-paragraph">姓名分割と縦並びレイアウトを組み合わせたパターン</p>



<div class="name-split-vertical">
    <div class="form-group">
        <label class="form-label">
            苗字
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="lastname" 
               placeholder="山田"
               required>
    </div>

    <div class="form-group">
        <label class="form-label">
            名前
            <span class="required-text">必須</span>
        </label>
        <input type="text" 
               class="form-input" 
               name="firstname" 
               placeholder="太郎"
               required>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 苗字・名前分割（縦並び） */
.name-split-vertical {
    display: flex;
    flex-direction: column;
    gap: 30px;
    background-color: #e7e7e7;
}

.name-split-vertical .form-group {
    flex: 1;
    margin-bottom: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;name-split-vertical&quot;&gt;
    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            苗字
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;lastname&quot; 
               placeholder=&quot;山田&quot;
               required&gt;
    &lt;/div&gt;

    &lt;div class=&quot;form-group&quot;&gt;
        &lt;label class=&quot;form-label&quot;&gt;
            名前
            &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
        &lt;/label&gt;
        &lt;input type=&quot;text&quot; 
               class=&quot;form-input&quot; 
               name=&quot;firstname&quot; 
               placeholder=&quot;太郎&quot;
               required&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 苗字・名前分割（縦並び） */
.name-split-vertical {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.name-split-vertical .form-group {
    flex: 1;
    margin-bottom: 0;
}</code></pre></div>
</div></details>
</div>



<h2 class="wp-block-heading">ラジオボタン</h2>



<h3 class="wp-block-heading">通常パターン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にラジオボタンを縦並びで配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">ご希望の連絡方法</label>
    <div class="radio-group">
        <div class="radio-item">
            <input type="radio" name="contact_method_nomal" id="email-nomal" value="email" checked>
            <label for="email-nomal">メール</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_nomal" id="phone-nomal" value="phone">
            <label for="phone-nomal">お電話</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_nomal" id="both-nomal" value="both">
            <label for="both-nomal">どちらでも可</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;ご希望の連絡方法&lt;/label&gt;
    &lt;div class=&quot;radio-group&quot;&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;email&quot; value=&quot;email&quot; checked&gt;
            &lt;label for=&quot;email&quot;&gt;メール&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;phone&quot; value=&quot;phone&quot;&gt;
            &lt;label for=&quot;phone&quot;&gt;お電話&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;both&quot; value=&quot;both&quot;&gt;
            &lt;label for=&quot;both&quot;&gt;どちらでも可&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type=&quot;radio&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">横並び＋ラジオ要素が縦並び</h3>



<p class="wp-block-paragraph">ラベルとラジオボタン全体を横に並べ、各ラジオボタンは縦に配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">ご希望の連絡方法</label>
    <div class="radio-group vertical-options">
        <div class="radio-item">
            <input type="radio" name="contact_method_second" id="email-second" value="email" checked>
            <label for="email-second">メール</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_second" id="phone-second" value="phone">
            <label for="phone-second">お電話</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_second" id="both-second" value="both">
            <label for="both-second">どちらでも可</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .radio-group {
    flex: 1;
    margin-bottom: 0;
}

.vertical-options .radio-item {
    display: block;
    margin-bottom: 8px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;ご希望の連絡方法&lt;/label&gt;
    &lt;div class=&quot;radio-group vertical-options&quot;&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;email&quot; value=&quot;email&quot; checked&gt;
            &lt;label for=&quot;email&quot;&gt;メール&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;phone&quot; value=&quot;phone&quot;&gt;
            &lt;label for=&quot;phone&quot;&gt;お電話&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;both&quot; value=&quot;both&quot;&gt;
            &lt;label for=&quot;both&quot;&gt;どちらでも可&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type=&quot;radio&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .radio-group {
    flex: 1;
    margin-bottom: 0;
}

.vertical-options .radio-item {
    display: block;
    margin-bottom: 8px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">縦並び＋ラジオ要素が横並び</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にラジオボタンを横並びで配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">ご希望の連絡方法</label>
    <div class="radio-group horizontal-items">
        <div class="radio-item">
            <input type="radio" name="contact_method_third" id="email-third" value="email" checked>
            <label for="email-third">メール</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_third" id="phone-third" value="phone">
            <label for="phone">お電話</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_third" id="both-third" value="both">
            <label for="both-third">どちらでも可</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .radio-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;ご希望の連絡方法&lt;/label&gt;
    &lt;div class=&quot;radio-group horizontal-items&quot;&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;email&quot; value=&quot;email&quot; checked&gt;
            &lt;label for=&quot;email&quot;&gt;メール&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;phone&quot; value=&quot;phone&quot;&gt;
            &lt;label for=&quot;phone&quot;&gt;お電話&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;both&quot; value=&quot;both&quot;&gt;
            &lt;label for=&quot;both&quot;&gt;どちらでも可&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type=&quot;radio&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .radio-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">横並び＋ラジオ要素が横並び</h3>



<p class="wp-block-paragraph">ラベルとラジオボタン全体を横に並べ、ラジオボタン自体も横並びにするパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">ご希望の連絡方法</label>
    <div class="radio-group horizontal-items">
        <div class="radio-item">
            <input type="radio" name="contact_method_fourth" id="email-fourth" value="email" checked>
            <label for="email-fourth">メール</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_fourth" id="phone-fourth" value="phone">
            <label for="phone-fourth">お電話</label>
        </div>
        <div class="radio-item">
            <input type="radio" name="contact_method_fourth" id="both-fourth" value="both">
            <label for="both-fourth">どちらでも可</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .radio-group {
    flex: 1;
    margin-bottom: 0;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .radio-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;ご希望の連絡方法&lt;/label&gt;
    &lt;div class=&quot;radio-group horizontal-items&quot;&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;email&quot; value=&quot;email&quot; checked&gt;
            &lt;label for=&quot;email&quot;&gt;メール&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;phone&quot; value=&quot;phone&quot;&gt;
            &lt;label for=&quot;phone&quot;&gt;お電話&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;radio-item&quot;&gt;
            &lt;input type=&quot;radio&quot; name=&quot;contact_method&quot; id=&quot;both&quot; value=&quot;both&quot;&gt;
            &lt;label for=&quot;both&quot;&gt;どちらでも可&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* ラジオボタン */
.radio-group {
    margin-bottom: 15px;
}

.radio-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.radio-item input[type=&quot;radio&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.radio-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .radio-group {
    flex: 1;
    margin-bottom: 0;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .radio-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">チェックボックス</h2>



<h3 class="wp-block-heading">通常パターン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にチェックボックスを縦並びで配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">追加サービス</label>
    <div class="checkbox-group">
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="newsletter-01" value="newsletter">
            <label for="newsletter-01">ニュースレター配信を希望する</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="updates-01" value="updates">
            <label for="updates-01">製品アップデート情報を受け取る</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="events-01" value="events">
            <label for="events-01">イベント・セミナー情報を受け取る</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;追加サービス&lt;/label&gt;
    &lt;div class=&quot;checkbox-group&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;newsletter&quot; value=&quot;newsletter&quot;&gt;
            &lt;label for=&quot;newsletter&quot;&gt;ニュースレター配信を希望する&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;updates&quot; value=&quot;updates&quot;&gt;
            &lt;label for=&quot;updates&quot;&gt;製品アップデート情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;events&quot; value=&quot;events&quot;&gt;
            &lt;label for=&quot;events&quot;&gt;イベント・セミナー情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">縦並び＋チェックボックスが横並び</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にチェックボックスを横並びで配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">追加サービス</label>
    <div class="checkbox-group horizontal-items">
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="newsletter-02" value="newsletter">
            <label for="newsletter-02">ニュースレター配信を希望する</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="updates-02" value="updates">
            <label for="updates-02">製品アップデート情報を受け取る</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="events-02" value="events">
            <label for="events-02">イベント・セミナー情報を受け取る</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;追加サービス&lt;/label&gt;
    &lt;div class=&quot;checkbox-group horizontal-items&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;newsletter&quot; value=&quot;newsletter&quot;&gt;
            &lt;label for=&quot;newsletter&quot;&gt;ニュースレター配信を希望する&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;updates&quot; value=&quot;updates&quot;&gt;
            &lt;label for=&quot;updates&quot;&gt;製品アップデート情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;events&quot; value=&quot;events&quot;&gt;
            &lt;label for=&quot;events&quot;&gt;イベント・セミナー情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">横並び＋チェックボックスが縦並び</h3>



<p class="wp-block-paragraph">ラベルとチェックボックス全体を横に並べ、各チェックボックスは縦に配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">追加サービス</label>
    <div class="checkbox-group vertical-options">
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="newsletter-03" value="newsletter">
            <label for="newsletter-03">ニュースレター配信を希望する</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="updates-03" value="updates">
            <label for="updates-03">製品アップデート情報を受け取る</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="events-03" value="events">
            <label for="events-03">イベント・セミナー情報を受け取る</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

.vertical-options .checkbox-item {
    display: block;
    margin-bottom: 8px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;追加サービス&lt;/label&gt;
    &lt;div class=&quot;checkbox-group vertical-options&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;newsletter&quot; value=&quot;newsletter&quot;&gt;
            &lt;label for=&quot;newsletter&quot;&gt;ニュースレター配信を希望する&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;updates&quot; value=&quot;updates&quot;&gt;
            &lt;label for=&quot;updates&quot;&gt;製品アップデート情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;events&quot; value=&quot;events&quot;&gt;
            &lt;label for=&quot;events&quot;&gt;イベント・セミナー情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

.vertical-options .checkbox-item {
    display: block;
    margin-bottom: 8px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">横並び＋チェックボックスが横並び</h3>



<p class="wp-block-paragraph">ラベルとチェックボックス全体を横に並べ、チェックボックス自体も横並びにするパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">追加サービス</label>
    <div class="checkbox-group horizontal-items">
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="newsletter-04" value="newsletter">
            <label for="newsletter-04">ニュースレター配信を希望する</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="updates-04" value="updates">
            <label for="updates-04">製品アップデート情報を受け取る</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="services[]" id="events-04" value="events">
            <label for="events-04">イベント・セミナー情報を受け取る</label>
        </div>
    </div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;追加サービス&lt;/label&gt;
    &lt;div class=&quot;checkbox-group horizontal-items&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;newsletter&quot; value=&quot;newsletter&quot;&gt;
            &lt;label for=&quot;newsletter&quot;&gt;ニュースレター配信を希望する&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;updates&quot; value=&quot;updates&quot;&gt;
            &lt;label for=&quot;updates&quot;&gt;製品アップデート情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;services[]&quot; id=&quot;events&quot; value=&quot;events&quot;&gt;
            &lt;label for=&quot;events&quot;&gt;イベント・セミナー情報を受け取る&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* チェックボックス */
.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* 横並びアイテム */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">縦並び＋チェックボックスが縦並び＋必須アイコン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にチェックボックスを縦並びで配置</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">
        必須サービス選択
        <span class="required-text">必須</span>
    </label>
    <div class="checkbox-group">
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service1-05" value="service1" required>
            <label for="service1-05">基本サービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service2-05" value="service2" required>
            <label for="service2-05">プレミアムサービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service3-05" value="service3" required>
            <label for="service3-05">サポートサービス</label>
        </div>
    </div>
    <div class="help-text">最低1つは選択してください</div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        必須サービス選択
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;div class=&quot;checkbox-group&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service1&quot; value=&quot;service1&quot; required&gt;
            &lt;label for=&quot;service1&quot;&gt;基本サービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service2&quot; value=&quot;service2&quot; required&gt;
            &lt;label for=&quot;service2&quot;&gt;プレミアムサービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service3&quot; value=&quot;service3&quot; required&gt;
            &lt;label for=&quot;service3&quot;&gt;サポートサービス&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;help-text&quot;&gt;最低1つは選択してください&lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}</code></pre></div>
</div></details>
</div>



<h3 class="wp-block-heading">縦並び＋チェックボックスが横並び＋必須アイコン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にチェックボックスを横並びで配置</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">
        必須サービス選択
        <span class="required-text">必須</span>
    </label>
    <div class="checkbox-group horizontal-items">
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service1-06" value="service1" required>
            <label for="service1-06">基本サービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service2-06" value="service2" required>
            <label for="service2-06">プレミアムサービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service3-06" value="service3" required>
            <label for="service3-06">サポートサービス</label>
        </div>
    </div>
    <div class="help-text">最低1つは選択してください</div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* チェックボックス横並び */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        必須サービス選択
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;div class=&quot;checkbox-group horizontal-items&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service1&quot; value=&quot;service1&quot; required&gt;
            &lt;label for=&quot;service1&quot;&gt;基本サービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service2&quot; value=&quot;service2&quot; required&gt;
            &lt;label for=&quot;service2&quot;&gt;プレミアムサービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service3&quot; value=&quot;service3&quot; required&gt;
            &lt;label for=&quot;service3&quot;&gt;サポートサービス&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;help-text&quot;&gt;最低1つは選択してください&lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* チェックボックス横並び */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<h3 class="wp-block-heading">横並び+チェックボックスが縦並び＋必須アイコン</h3>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">
        必須サービス選択
        <span class="required-text">必須</span>
    </label>
    <div class="checkbox-group vertical-options">
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service1-07" value="service1" required>
            <label for="service1-07">基本サービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service2-07" value="service2" required>
            <label for="service2-07">プレミアムサービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service3-07" value="service3" required>
            <label for="service3-07">サポートサービス</label>
        </div>
    </div>
    <div class="help-text">最低1つは選択してください</div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* 縦並びオプション */
.vertical-options .checkbox-item {
    display: block;
    margin-bottom: 8px;
}

.vertical-options input[type="checkbox"] {
    margin-right: 8px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        必須サービス選択
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;div class=&quot;checkbox-group vertical-options&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service1&quot; value=&quot;service1&quot; required&gt;
            &lt;label for=&quot;service1&quot;&gt;基本サービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service2&quot; value=&quot;service2&quot; required&gt;
            &lt;label for=&quot;service2&quot;&gt;プレミアムサービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service3&quot; value=&quot;service3&quot; required&gt;
            &lt;label for=&quot;service3&quot;&gt;サポートサービス&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;help-text&quot;&gt;最低1つは選択してください&lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* 縦並びオプション */
.vertical-options .checkbox-item {
    display: block;
    margin-bottom: 8px;
}

.vertical-options input[type=&quot;checkbox&quot;] {
    margin-right: 8px;
}</code></pre></div>
</div></details>
</div>



<h3 class="wp-block-heading">横並び+チェックボックスが横並び＋必須アイコン</h3>



<p class="wp-block-paragraph">ラベルとチェックボックス全体を横に並べ、チェックボックス自体も横並びにする</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-options">
    <label class="form-label">
        必須サービス選択
        <span class="required-text">必須</span>
    </label>
    <div class="checkbox-group horizontal-items">
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service1-08" value="service1" required>
            <label for="service1-08">基本サービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service2-08" value="service2" required>
            <label for="service2-08">プレミアムサービス</label>
        </div>
        <div class="checkbox-item">
            <input type="checkbox" name="required_services[]" id="service3-08" value="service3" required>
            <label for="service3-08">サポートサービス</label>
        </div>
    </div>
    <div class="help-text">最低1つは選択してください</div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* チェックボックス横並び */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-options&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        必須サービス選択
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;div class=&quot;checkbox-group horizontal-items&quot;&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service1&quot; value=&quot;service1&quot; required&gt;
            &lt;label for=&quot;service1&quot;&gt;基本サービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service2&quot; value=&quot;service2&quot; required&gt;
            &lt;label for=&quot;service2&quot;&gt;プレミアムサービス&lt;/label&gt;
        &lt;/div&gt;
        &lt;div class=&quot;checkbox-item&quot;&gt;
            &lt;input type=&quot;checkbox&quot; name=&quot;required_services[]&quot; id=&quot;service3&quot; value=&quot;service3&quot; required&gt;
            &lt;label for=&quot;service3&quot;&gt;サポートサービス&lt;/label&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;help-text&quot;&gt;最低1つは選択してください&lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.checkbox-group {
    margin-bottom: 15px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    cursor: pointer;
}

.checkbox-item input[type=&quot;checkbox&quot;] {
    margin-right: 10px;
    transform: scale(1.2);
    cursor: pointer;
}

.checkbox-item label {
    cursor: pointer;
    font-weight: 500;
    color: #2c3e50;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}

/* 横並びレイアウト */
.horizontal-options {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.horizontal-options .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-options .checkbox-group {
    flex: 1;
    margin-bottom: 0;
}

/* チェックボックス横並び */
.horizontal-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.horizontal-items .checkbox-item {
    margin-bottom: 0;
    margin-right: 20px;
}</code></pre></div>
</div></details>
</div>



<h2 class="wp-block-heading">テキストエリア</h2>



<h3 class="wp-block-heading">通常パターン</h3>



<p class="wp-block-paragraph">ラベルを上に配置し、その下にテキストエリアを配置する基本的なパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">お問い合わせ内容</label>
    <textarea class="form-textarea" 
              name="message" 
              rows="5" 
              placeholder="お問い合わせ内容を詳しくお書きください"></textarea>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* テキストエリア */
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
    resize: vertical;
    min-height: 100px;
}

.form-textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;お問い合わせ内容&lt;/label&gt;
    &lt;textarea class=&quot;form-textarea&quot; 
              name=&quot;message&quot; 
              rows=&quot;5&quot; 
              placeholder=&quot;お問い合わせ内容を詳しくお書きください&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* テキストエリア */
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
    resize: vertical;
    min-height: 100px;
}

.form-textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">横並び</h3>



<p class="wp-block-paragraph">ラベルとテキストエリアを横に並べて配置するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout">
    <label class="form-label">お問い合わせ内容</label>
    <textarea class="form-textarea" 
              name="message" 
              rows="5" 
              placeholder="お問い合わせ内容を詳しくお書きください"></textarea>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* テキストエリア */
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
    resize: vertical;
    min-height: 100px;
}

.form-textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-textarea {
    flex: 1;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;お問い合わせ内容&lt;/label&gt;
    &lt;textarea class=&quot;form-textarea&quot; 
              name=&quot;message&quot; 
              rows=&quot;5&quot; 
              placeholder=&quot;お問い合わせ内容を詳しくお書きください&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

/* テキストエリア */
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
    resize: vertical;
    min-height: 100px;
}

.form-textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-textarea {
    flex: 1;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">縦並び＋必須アイコン</h3>



<p class="wp-block-paragraph">テキストエリアは常にラベルを上に配置し、画面幅いっぱいに表示</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">
        お問い合わせ内容
        <span class="required-text">必須</span>
    </label>
    <textarea class="textarea" 
              name="message" 
              placeholder="お問い合わせ内容を詳しくお書きください"
              required></textarea>
    <div class="help-text">500文字以内でご記入ください</div>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.textarea {
    width: 100%;
    padding: 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    font-family: inherit;
    resize: vertical;
    min-height: 120px;
    transition: all 0.3s ease;
}

.textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.textarea::placeholder {
    color: #9ca3af;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        お問い合わせ内容
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;textarea class=&quot;textarea&quot; 
              name=&quot;message&quot; 
              placeholder=&quot;お問い合わせ内容を詳しくお聞かせください。&#10;&#10;例：&#10;・具体的なご質問内容&#10;・ご要望の詳細&#10;・お困りの状況&#10;・ご希望の対応方法&quot;
              required&gt;&lt;/textarea&gt;
    &lt;div class=&quot;help-text&quot;&gt;500文字以内でご記入ください&lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.textarea {
    width: 100%;
    padding: 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.6;
    font-family: inherit;
    resize: vertical;
    min-height: 120px;
    transition: all 0.3s ease;
}

.textarea:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.textarea::placeholder {
    color: #9ca3af;
}

.help-text {
    color: #6c757d;
    font-size: 12px;
    margin-top: 5px;
    font-style: italic;
}</code></pre></div>
</div></details>
</div>



<h2 class="wp-block-heading">固有パターンの入力フォーム</h2>



<h3 class="wp-block-heading">【郵便番号①】通常パターン</h3>



<p class="wp-block-paragraph">郵便番号の入力形式を制限し、ハイフンなしの7桁数字のみ受け付けるパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group postal-code-wrapper">
    <label class="form-label">
        郵便番号
        <span class="required-text">必須</span>
    </label>
    <input type="text" 
           class="form-input" 
           name="postal_code" 
           placeholder="1234567"
           pattern="[0-9]{7}"
           maxlength="7"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 郵便番号用の横幅制限 */
.postal-code-wrapper .form-input {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group postal-code-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        郵便番号
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;text&quot; 
           class=&quot;form-input&quot; 
           name=&quot;postal_code&quot; 
           placeholder=&quot;1234567&quot;
           pattern=&quot;[0-9]{7}&quot;
           maxlength=&quot;7&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 郵便番号用の横幅制限 */
.postal-code-wrapper .form-input {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【郵便番号②】横並び</h3>



<p class="wp-block-paragraph">郵便番号でラベルと入力フィールドを横に並べ、適切な横幅制限を設けたパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout postal-code-wrapper">
    <label class="form-label">
        郵便番号
        <span class="required-text">必須</span>
    </label>
    <input type="text" 
           class="form-input" 
           name="postal_code_horizontal" 
           placeholder="1234567"
           pattern="[0-9]{7}"
           maxlength="7"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 郵便番号用の横幅制限 */
.postal-code-wrapper .form-input {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout postal-code-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        郵便番号
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;text&quot; 
           class=&quot;form-input&quot; 
           name=&quot;postal_code_horizontal&quot; 
           placeholder=&quot;1234567&quot;
           pattern=&quot;[0-9]{7}&quot;
           maxlength=&quot;7&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 郵便番号用の横幅制限 */
.postal-code-wrapper .form-input {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【都道府県①】通常パターン</h3>



<p class="wp-block-paragraph">都道府県を選択するプルダウンメニューのパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group prefecture-wrapper">
    <label class="form-label">
        都道府県
        <span class="required-text">必須</span>
    </label>
    <select class="form-input" name="prefecture" required>
        <option value="">選択してください</option>
        <option value="tokyo">東京都</option>
        <option value="osaka">大阪府</option>
        <option value="kyoto">京都府</option>
        <option value="hokkaido">北海道</option>
        <option value="okinawa">沖縄県</option>
    </select>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 都道府県用の横幅制限 */
.prefecture-wrapper .form-input,
.prefecture-wrapper select {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group prefecture-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        都道府県
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;select class=&quot;form-input&quot; name=&quot;prefecture&quot; required&gt;
        &lt;option value=&quot;&quot;&gt;選択してください&lt;/option&gt;
        &lt;option value=&quot;tokyo&quot;&gt;東京都&lt;/option&gt;
        &lt;option value=&quot;osaka&quot;&gt;大阪府&lt;/option&gt;
        &lt;option value=&quot;kyoto&quot;&gt;京都府&lt;/option&gt;
        &lt;option value=&quot;hokkaido&quot;&gt;北海道&lt;/option&gt;
        &lt;option value=&quot;okinawa&quot;&gt;沖縄県&lt;/option&gt;
    &lt;/select&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 都道府県用の横幅制限 */
.prefecture-wrapper .form-input,
.prefecture-wrapper select {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【都道府県②】横並び</h3>



<p class="wp-block-paragraph">都道府県でラベルとプルダウンメニューを横に並べ、適切な横幅制限を設けたパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout prefecture-wrapper">
    <label class="form-label">
        都道府県
        <span class="required-text">必須</span>
    </label>
    <select class="form-input" name="prefecture_horizontal" required>
        <option value="">選択してください</option>
        <option value="tokyo">東京都</option>
        <option value="osaka">大阪府</option>
        <option value="kyoto">京都府</option>
        <option value="hokkaido">北海道</option>
        <option value="okinawa">沖縄県</option>
    </select>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input,
.horizontal-layout select {
    flex: 1;
}

/* 都道府県用の横幅制限 */
.prefecture-wrapper .form-input,
.prefecture-wrapper select {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout prefecture-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        都道府県
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;select class=&quot;form-input&quot; name=&quot;prefecture_horizontal&quot; required&gt;
        &lt;option value=&quot;&quot;&gt;選択してください&lt;/option&gt;
        &lt;option value=&quot;tokyo&quot;&gt;東京都&lt;/option&gt;
        &lt;option value=&quot;osaka&quot;&gt;大阪府&lt;/option&gt;
        &lt;option value=&quot;kyoto&quot;&gt;京都府&lt;/option&gt;
        &lt;option value=&quot;hokkaido&quot;&gt;北海道&lt;/option&gt;
        &lt;option value=&quot;okinawa&quot;&gt;沖縄県&lt;/option&gt;
    &lt;/select&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input,
select {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus,
select:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input,
.horizontal-layout select {
    flex: 1;
}

/* 都道府県用の横幅制限 */
.prefecture-wrapper .form-input,
.prefecture-wrapper select {
    width: 200px;
    max-width: 200px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【メールアドレス①】通常パターン</h3>



<p class="wp-block-paragraph">メールアドレスの形式を制限するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group">
    <label class="form-label">
        メールアドレス
        <span class="required-text">必須</span>
    </label>
    <input type="email" 
           class="form-input" 
           name="email" 
           placeholder="example@example.com"
           pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        メールアドレス
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;email&quot; 
           class=&quot;form-input&quot; 
           name=&quot;email&quot; 
           placeholder=&quot;example@example.com&quot;
           pattern=&quot;[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【メールアドレス②】横並び</h3>



<p class="wp-block-paragraph">ラベルとメールアドレス入力フィールドを横に並べて配置</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout">
    <label class="form-label">
        メールアドレス
        <span class="required-text">必須</span>
    </label>
    <input type="email" 
           class="form-input" 
           name="email_horizontal" 
           placeholder="example@domain.com"
           pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        メールアドレス
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;email&quot; 
           class=&quot;form-input&quot; 
           name=&quot;email_horizontal&quot; 
           placeholder=&quot;example@domain.com&quot;
           pattern=&quot;[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}</code></pre></div>
</div></details>
</div>



<h3 class="wp-block-heading">【電話番号①】通常パターン</h3>



<p class="wp-block-paragraph">電話番号の形式を制限するパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group phone-wrapper">
    <label class="form-label">
        電話番号
        <span class="required-text">必須</span>
    </label>
    <input type="tel" 
           class="form-input" 
           name="phone" 
           placeholder="09012345678"
           pattern="[0-9]{10,11}"
           maxlength="11"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 電話番号用の横幅制限 */
.phone-wrapper .form-input {
    width: 180px;
    max-width: 180px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group phone-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        電話番号
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;tel&quot; 
           class=&quot;form-input&quot; 
           name=&quot;phone&quot; 
           placeholder=&quot;09012345678&quot;
           pattern=&quot;[0-9]{10,11}&quot;
           maxlength=&quot;11&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 電話番号用の横幅制限 */
.phone-wrapper .form-input {
    width: 180px;
    max-width: 180px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">【電話番号②】横並び</h3>



<p class="wp-block-paragraph">電話番号でラベルと入力フィールドを横に並べ、適切な横幅制限を設けたパターン</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<div class="form-group horizontal-layout phone-wrapper">
    <label class="form-label">
        電話番号
        <span class="required-text">必須</span>
    </label>
    <input type="tel" 
           class="form-input" 
           name="phone_horizontal" 
           placeholder="09012345678"
           pattern="[0-9]{10,11}"
           maxlength="11"
           required>
</div>

<style>
/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 電話番号用の横幅制限 */
.phone-wrapper .form-input {
    width: 180px;
    max-width: 180px;
    flex-shrink: 0;
}
</style>



<div class="swell-block-accordion is-style-simple">
<details class="swell-block-accordion__item" data-swl-acc="wrapper"><summary class="swell-block-accordion__title" data-swl-acc="header"><span class="swell-block-accordion__label"><span data-icon="FasCode" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDY0MCA1MTIiPjxwYXRoIGQ9Ik0zOTIuOCAxLjJjLTE3LTQuOS0zNC43IDUtMzkuNiAyMmwtMTI4IDQ0OGMtNC45IDE3IDUgMzQuNyAyMiAzOS42czM0LjctNSAzOS42LTIybDEyOC00NDhjNC45LTE3LTUtMzQuNy0yMi0zOS42em04MC42IDEyMC4xYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM0w1NjIuNyAyNTZsLTg5LjQgODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMTItMTEyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMTItMTEyYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTMwNi43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMTIgMTEyYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMTIgMTEyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTZsODkuNC04OS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span><strong> ソースコード</strong></span><span class="swell-block-accordion__icon c-switchIconBtn" data-swl-acc="icon" aria-hidden="true" data-opened="false"><i class="__icon--closed icon-plus"></i><i class="__icon--opened icon-minus"></i></span></summary><div class="swell-block-accordion__body" data-swl-acc="body">
<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group horizontal-layout phone-wrapper&quot;&gt;
    &lt;label class=&quot;form-label&quot;&gt;
        電話番号
        &lt;span class=&quot;required-text&quot;&gt;必須&lt;/span&gt;
    &lt;/label&gt;
    &lt;input type=&quot;tel&quot; 
           class=&quot;form-input&quot; 
           name=&quot;phone_horizontal&quot; 
           placeholder=&quot;09012345678&quot;
           pattern=&quot;[0-9]{10,11}&quot;
           maxlength=&quot;11&quot;
           required&gt;
&lt;/div&gt;</code></pre></div>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 共通スタイル */
.form-group {
    margin-bottom: 25px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: #2c3e50;
}

.required-text {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    margin-left: 8px;
    background: #e74c3c;
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #c53030;
}

.form-input {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid #e1e5e9;
    border-radius: 8px;
    font-size: 16px;
    transition: all 0.3s ease;
    background: #ffffff;
}

.form-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: translateY(-1px);
}

/* 横並びレイアウト */
.horizontal-layout {
    display: flex;
    align-items: baseline;
    gap: 20px;
}

.horizontal-layout .form-label {
    min-width: 140px;
    margin-bottom: 0;
    flex-shrink: 0;
}

.horizontal-layout .form-input {
    flex: 1;
}

/* 電話番号用の横幅制限 */
.phone-wrapper .form-input {
    width: 180px;
    max-width: 180px;
    flex-shrink: 0;
}</code></pre></div>
</div></details>
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">この記事では、Webサイトのフォーム作成で頻出する様々なレイアウトパターンを紹介しました。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>電話番号や都道府県などの固有のフォームのサンプルコードも掲載していますので、ぜひご活用いただけるとうれしいです！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-balloon_box2 wp-block-paragraph"><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNOTcuNiAxMy45Yy0uNS0uNy0uNC0xLjYuMi0ybDMuNi0yLjVjLjYtLjQgMS41LS4yIDEuOS41LjUuNy40IDEuNi0uMiAybC0zLjYgMi41Yy0uNi40LTEuNS4yLTEuOS0uNXpNMTAwLjcgMjIuNGMtLjEtLjguNS0xLjUgMS4yLTEuNmw0LjQtLjRjLjctLjEgMS40LjYgMS40IDEuNC4xLjgtLjUgMS41LTEuMiAxLjZsLTQuNC40Yy0uNy4xLTEuNC0uNi0xLjQtMS40ek05MC42IDguMWMtLjctLjMtMS4xLTEuMi0uOC0xLjhsMS44LTRjLjMtLjYgMS4yLS45IDEuOS0uNi43LjMgMS4xIDEuMi44IDEuOGwtMS44IDRjLS4zLjctMS4yLjktMS45LjZ6TTQwLjkgMjguNyAyNC4yIDQuOWMtMS4xLTEuNi0yLjUtMS41LTMtMS40LS43LjItMiAuOC0yLjQgMy4xLTIuMSA4LTYuMSAxMi4yLTkuMiAxNC4zbC02LjQgNC41QzEuNyAyNi40LjggMjggLjcgMjkuOGMtLjEgMS41LjMgMi45IDEuMiA0LjEgMS4xIDEuNSAzIDQuMyA0IDUuOC43IDEgMS42IDEuOCAyLjcgMi4yLjguMyAxLjUuNCAyLjMuNCAxLjIgMCAyLjQtLjQgMy40LTEuMWwzLjktMi44IDQuNCA2LjJjLjYuOSAxLjkgMS4xIDIuOC41TDI3IDQ0Yy45LS42IDEuMS0xLjkuNS0yLjhsLTQuMi02YzMuMi0xLjYgNy44LTIuOCAxNC0yLjIgMi40LjQgMy40LS42IDMuOC0xLjIuMy0uMy45LTEuNS0uMi0zLjF6TTIxIDMyLjFsLTYuOC05LjdjMi45LTIuNyA2LjEtNi44IDgtMTMuM2w3IDEwIDcgMTBjLTYuNy0uNC0xMS43IDEuMS0xNS4yIDN6TTQyLjcgMTIuMiAzOC42IDE1Yy0uNy41LTEuNi4zLTIuMS0uNHMtLjMtMS42LjQtMi4xTDQxIDkuN2MuNy0uNSAxLjYtLjMgMi4xLjQuNS42LjMgMS42LS40IDIuMXpNMzMuOSAzLjdsLTIuMSA0LjVjLS40LjgtMS4yIDEuMS0yIC43LS44LS40LTEuMS0xLjItLjctMmwyLjEtNC41Yy40LS44IDEuMi0xLjEgMi0uNy44LjQgMS4xIDEuMy43IDJ6TTQ2LjIgMjMuOGwtNSAuNGMtLjguMS0xLjYtLjUtMS42LTEuNC0uMS0uOC41LTEuNiAxLjQtMS42bDUtLjRjLjgtLjEgMS42LjUgMS42IDEuNCAwIC44LS42IDEuNi0xLjQgMS42eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="LsMegaphone" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> おすすめの記事</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__form-input-animations-complete-guide__16498-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/form-input-animations-complete-guide/">【Web制作】フォーム・入力アニメーション完全ガイド｜4カテゴリ・22種類を網羅</a>
						<span class="p-blogCard__excerpt">Webサイトのフォームを魅力的で使いやすくするフォーム・入力アニメーションを4カテゴリ・22種類完全網羅！ 各カテゴリから厳選した代表的なアニメーションをCodePenデ&#8230;</span>					</div>
				</div>
			</div>
		</div>]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/form-patterns-complete-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Web制作】フォーム・入力アニメーション完全ガイド｜4カテゴリ・22種類を網羅</title>
		<link>https://kekenta-it-blog.com/form-input-animations-complete-guide/</link>
					<comments>https://kekenta-it-blog.com/form-input-animations-complete-guide/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Tue, 12 Aug 2025 05:35:38 +0000</pubDate>
				<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[チェックボックス]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=16498</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__form-input-animations-complete-guide__16498-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>Webサイトのフォームを魅力的で使いやすくするフォーム・入力アニメーションを4カテゴリ・22種類完全網羅！ フォーム・入力アニメーション完全カタログ 1. 入力フォームアニメーション【7種類】 テキスト入力時の視覚的フィ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__form-input-animations-complete-guide__16498-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>
<p class="wp-block-paragraph">Webサイトのフォームを魅力的で使いやすくするフォーム・入力アニメーションを<strong><span class="swl-marker mark_yellow">4カテゴリ・22種類</span></strong>完全網羅！</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>各カテゴリから厳選した代表的なアニメーションを<strong>CodePenデモ付き</strong>で紹介し、詳細な実装方法は各専門記事で詳しく解説しています。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">フォーム・入力アニメーション完全カタログ</h2>



<h3 class="wp-block-heading" id="input-form">1. 入力フォームアニメーション【7種類】</h3>



<p class="is-style-bg_stripe wp-block-paragraph">テキスト入力時の視覚的フィードバックを提供するアニメーション効果</p>



<p class="is-style-balloon_box2 u-mb-ctrl u-mb-10 wp-block-paragraph"><strong>代表アニメーション：ラベル浮上効果</strong></p>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="LEpLePL" data-pen-title="入力フィールドラベル浮上効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/LEpLePL">
  入力フィールドラベル浮上効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong>このカテゴリーの特徴</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>ラベル浮上効果（プレースホルダーがラベルとして浮上）</li>



<li>ボーダー変化効果（枠線の色・太さ変化）</li>



<li>背景変化効果（背景色の変化）</li>



<li>シャドウ効果（影の変化）</li>



<li>スケール効果（微細な拡大/縮小）</li>



<li>カラー効果（文字色の変化）</li>



<li>フォーカス効果</li>
</ul>
</div></div>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">詳細ページはこちら</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__input-field-animations-guide__16333-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/input-field-animations-guide/">【コピペOK】入力フォームアニメーション｜7種類【Web制作】</a>
											</div>
				</div>
			</div>
		</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h3 class="wp-block-heading" id="validation">2. バリデーションアニメーション【6種類】</h3>



<p class="is-style-bg_stripe wp-block-paragraph">入力値の検証結果を視覚的に表現するアニメーション効果</p>



<p class="u-mb-ctrl u-mb-10 is-style-balloon_box2 wp-block-paragraph"><strong>代表アニメーション：シェイク効果</strong></p>



<p class="codepen" data-height="533" data-default-tab="html,result" data-slug-hash="QwjMYRg" data-pen-title="Untitled" data-user="lgshifbg-the-looper" style="height: 533px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/QwjMYRg">
  Untitled</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong>このカテゴリーの特徴</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>シェイク効果（揺れる効果）</li>



<li>パルス効果（脈動効果）</li>



<li>スライド効果（スライドイン）</li>



<li>フェード効果（フェードイン）</li>



<li>カラー変化効果（色の変化）</li>



<li>アイコン表示効果</li>
</ul>
</div></div>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">詳細ページはこちら</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__validation-animations-guide__16391-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/validation-animations-guide/">【コピペOK】バリデーションアニメーション｜6種類【Web制作】</a>
											</div>
				</div>
			</div>
		</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h3 class="wp-block-heading" id="checkbox-switch">3. チェックボックス・スイッチアニメーション【5種類】</h3>



<p class="is-style-bg_stripe wp-block-paragraph">選択肢の状態変化を美しく表現するアニメーション効果</p>



<p class="u-mb-ctrl u-mb-10 is-style-balloon_box2 wp-block-paragraph"><strong>代表アニメーション：スライドスイッチ</strong></p>



<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="GgpvEvm" data-pen-title="スライドスイッチ" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/GgpvEvm">
  スライドスイッチ</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong>このカテゴリーの特徴</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>スライドスイッチ（横方向のスライド）</li>



<li>フェードチェックボックス（透明度変化）</li>



<li>スケールチェックボックス（拡大/縮小）</li>



<li>ローテーションチェックボックス（回転）</li>



<li>バウンススイッチ（弾む動き）</li>
</ul>
</div></div>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">詳細ページはこちら</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__checkbox-switch-animations-complete-guide__16344-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/checkbox-switch-animations-complete-guide/">【コピペOK】チェックボックス・スイッチアニメーション｜5種類【Web制作】</a>
											</div>
				</div>
			</div>
		</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h3 class="wp-block-heading" id="button-submit">4. ボタン・送信系アニメーション【4種類】</h3>



<p class="is-style-bg_stripe wp-block-paragraph">フォーム送信時の状態変化を表現するアニメーション効果</p>



<p class="u-mb-ctrl u-mb-10 is-style-balloon_box2 wp-block-paragraph"><strong>代表アニメーション：ローディング効果</strong></p>



<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="bNVVxMb" data-pen-title="【ボタン・送信】ローディング" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/bNVVxMb">
  【ボタン・送信】ローディング</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong>このカテゴリーの特徴</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>ローディング（スピナーやプログレスバー）</li>



<li>サクセス（成功時のアニメーション）</li>



<li>エラー（エラー時の振動）</li>



<li>ディセーブル（無効化時の変化）</li>
</ul>
</div></div>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">詳細ページはこちら</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/07/eye-catch__button-submit-animations-guide__15393-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/button-submit-animations-guide/">【コピペOK】ボタン・送信系アニメーション｜4種類【Web制作】</a>
											</div>
				</div>
			</div>
		</div>


<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">用途別おすすめアニメーション</h2>



<h3 class="wp-block-heading">ログイン・サインアップフォーム向け</h3>



<ul class="wp-block-list is-style-check_list">
<li><strong><a href="#input-form">入力フォームアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：ユーザビリティ向上</li>



<li><strong><a href="#validation">バリデーションアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：エラー防止</li>
</ul>



<h3 class="wp-block-heading">お問い合わせフォーム向け</h3>



<ul class="wp-block-list is-style-check_list">
<li><a href="#input-form"><strong>入力フォームアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></strong></a>：入力のしやすさ</li>



<li><a href="#button-submit"><strong>ボタン・送信系アニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></strong></a>：送信状態の明確化</li>
</ul>



<h3 class="wp-block-heading">設定画面向け</h3>



<ul class="wp-block-list is-style-check_list">
<li><strong><a href="#checkbox-switch">チェックボックス・スイッチアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：直感的な操作</li>



<li><strong><a href="#input-form">入力フォームアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：設定値の視認性</li>
</ul>



<h3 class="wp-block-heading">検索フォーム向け</h3>



<ul class="wp-block-list is-style-check_list">
<li><strong><a href="#input-form">入力フォームアニメーション<span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" data-icon="FasCircleArrowUp" data-id="14" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：検索体験の向上</li>



<li><strong><a href="#validation">バリデーションアニメーション<span data-icon="FasCircleArrowUp" data-id="14" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoIGQ9Ik0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTZTMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyek0zODUgMjE1YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcxLTcxVjM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNFYxNzcuOWwtNzEgNzFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzODUgMjE1eiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span></a></strong>：検索条件の確認</li>
</ul>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">アニメーション効果の比較表</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>カテゴリ</th><th>視覚的インパクト</th><th>実装難易度</th><th>パフォーマンス</th><th>ブラウザ対応</th></tr></thead><tbody><tr><td>入力フォーム</td><td>⭐⭐⭐</td><td>⭐⭐</td><td>⭐⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>バリデーション</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>チェックボックス・スイッチ</td><td>⭐⭐⭐</td><td>⭐⭐</td><td>⭐⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>ボタン・送信系</td><td>⭐⭐⭐⭐</td><td>⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">関連記事</h2>


<div class="p-blogParts post_content" data-partsID="15846">
<h3 class="wp-block-heading">基本的なアニメーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-fz:1em;--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/fade-in-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">フェードイン系アニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/countup-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カウントアップアニメーション完全ガイド｜3種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スクロール系</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系アニメーション完全ガイド｜4種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-scale-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系スケールアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/horizontal-scroll-animations-gsap/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">横スクロール・スライドアニメーション完全ガイド【GSAP実装】</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/sticky-scroll-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">固定表示・スティッキーアニメーション完全ガイド｜3種類の実装方法</span></a></li>
</ul>



<h3 class="wp-block-heading">メニュー・タブ・ナビゲーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/dropdown-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ドロップダウンメニュー表示アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/hamburger-menu-slide-animation-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ハンバーガーメニューのスライドアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/side-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">サイドメニュー表示アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/tab-switching-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タブ切り替えアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/menu-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】メニューアニメーション完全ガイド｜8カテゴリ・40種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ナビゲーションタブアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">フォーム・UI要素</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/card-item-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カード・アイテム系アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/validation-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">バリデーションアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/form-input-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】フォーム・入力アニメーション完全ガイド｜4カテゴリ・22種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/progress-step-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】プログレス・ローディングアニメーション完全ガイド｜4カテゴリ・20種類を網羅</span></a></li>
</ul>



<h3 class="wp-block-heading">ボタン・アイコン</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-link-hover-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ボタン・リンク系アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/advanced-css-button-hover-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">CSSのみで作る高度なボタンホバーアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-icon-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dアイコンアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-click-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンクリックアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-loading-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンローディングアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ボタンホバーアニメーション完全ガイド｜8カテゴリ・53種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-symbol-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】アイコンアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/web-button-design-collection/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">Webデザインで使えるボタン100選｜用途別完全ガイド</span></a></li>
</ul>



<h3 class="wp-block-heading">テキスト</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/typewriter-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タイプライターアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-fade-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">テキストフェードアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-text-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dテキストアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-typography-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】テキスト・タイポグラフィアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スライダー</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/splide-thumbnail-slider/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【Splide】サムネイル型スライダーの簡単な作成方法【JSライブラリ】</span></a></li>
</ul>



<h3 class="wp-block-heading">特殊効果</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/background-animation-guide-particle-effects/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">背景アニメーション完全ガイド｜5種類</span></a></li>
</ul>
</div>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">フォーム・入力アニメーションは、Webサイトのユーザビリティと視覚的満足度を向上させる重要な要素です。</p>



<p class="wp-block-paragraph">今回紹介した<strong>4カテゴリ・22種類</strong>のアニメーションから、<strong><span class="swl-marker mark_yellow">ご自身のプロジェクトに最適なものを選択</span></strong>しましょう。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>各専門記事では、<strong>詳細な実装方法、カスタマイズ例、パフォーマンス最適化のコツ</strong>まで詳しく解説しています。ぜひ各記事を読んで、使いやすく魅力的なフォーム・入力アニメーションを実装してみてください！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/form-input-animations-complete-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【コピペOK】バリデーションアニメーション｜6種類【Web制作】</title>
		<link>https://kekenta-it-blog.com/validation-animations-guide/</link>
					<comments>https://kekenta-it-blog.com/validation-animations-guide/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Sun, 10 Aug 2025 04:50:06 +0000</pubDate>
				<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=16391</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__validation-animations-guide__16391-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はこのようなお悩みをお持ちの方へ向けて Web制作において必須のUI要素バリデーションアニメーション をご紹介します。 6種類のアニメーション効果を完全網羅した実装なので、いままさに「バリデーションアニメーションを実 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__validation-animations-guide__16391-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>バリデーションアニメーションを実装したい……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>入力エラーをより分かりやすく表示したい……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はこのようなお悩みをお持ちの方へ向けて</p>



<p class="has-text-align-center is-style-big_kakko_box wp-block-paragraph">Web制作において必須のUI要素<br><strong><span class="swl-marker mark_yellow">バリデーションアニメーション</span></strong></p>



<p class="wp-block-paragraph">をご紹介します。</p>



<p class="is-style-icon_good wp-block-paragraph"><strong>6種類のアニメーション効果</strong>を完全網羅した実装なので、いままさに「バリデーションアニメーションを実装しないといけない！」という方は丸っとコピペしてどうぞご活用ください！</p>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><strong><strong><strong>この記事で紹介するバリデーションアニメーション</strong></strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-num_circle -list-under-dashed">
<li>シェイク効果（揺れる効果）</li>



<li>パルス効果（脈動効果）</li>



<li>スライド効果（スライドイン）</li>



<li>フェード効果（フェードイン）</li>



<li>カラー変化効果（色の変化）</li>



<li>アイコン表示効果</li>
</ul>
</div></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>特に<strong>フォーム</strong>や<strong>ログイン画面</strong>には、バリデーションアニメーションが非常に効果的です。この記事のコードをご活用いただきWeb制作の効率化に繋がれば何よりです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">なお、今回ご紹介するアニメーションは<strong>CSSとJavaScript</strong>で実装できるので、基本的なコーディング知識があれば安心してご利用いただけます。</p>



<p class="is-style-balloon_box wp-block-paragraph"><strong>あわせて読みたい</strong></p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ボタンホバーアニメーション完全版｜8カテゴリ・53種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ナビゲーションタブアニメーション完全版｜5カテゴリ・26種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/menu-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】メニューアニメーション完全版｜8カテゴリ・40種類を網羅</span>
			</a>
		</div>


<h2 class="wp-block-heading">バリデーションアニメーションとは</h2>



<p class="wp-block-paragraph">バリデーションアニメーションは、<strong>ユーザーの入力が正しくない場合に表示される視覚的なフィードバックを提供するアニメーション効果</strong>です。エラーの内容を分かりやすく伝え、ユーザビリティを向上させる効果的な手法です。</p>



<h3 class="wp-block-heading">効果的な使用場面</h3>



<p class="is-style-balloon_box u-mb-ctrl u-mb-10 wp-block-paragraph"><span data-icon="LsCircle" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMjQgNDYuNUMxMS42IDQ2LjUgMS41IDM2LjQgMS41IDI0UzExLjYgMS41IDI0IDEuNSA0Ni41IDExLjYgNDYuNSAyNCAzNi40IDQ2LjUgMjQgNDYuNXptMC00MEMxNC40IDYuNSA2LjUgMTQuNCA2LjUgMjRTMTQuNCA0MS41IDI0IDQxLjUgNDEuNSAzMy42IDQxLjUgMjQgMzMuNiA2LjUgMjQgNi41eiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span> <strong>適している場面</strong></p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list -list-under-dashed is-style-good_list">
<li>フォーム入力フィールド</li>



<li>ログイン・サインアップ画面</li>



<li>パスワード入力</li>



<li>メールアドレス入力</li>



<li>必須項目の入力チェック</li>
</ul>
</div></div>



<p class="is-style-balloon_box u-mb-ctrl u-mb-10 wp-block-paragraph"><span data-icon="LsX" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMjcuNSAyNCA0My40IDguMWMuNC0uNC40LTEgMC0xLjRsLTIuMS0yLjFjLS40LS40LTEtLjQtMS40IDBMMjQgMjAuNSA4LjEgNC42Yy0uNC0uNC0xLS40LTEuNCAwTDQuNiA2LjdjLS40LjQtLjQgMSAwIDEuNEwyMC41IDI0IDQuNiAzOS45Yy0uNC40LS40IDEgMCAxLjRsMi4xIDIuMWMuNC40IDEgLjQgMS40IDBMMjQgMjcuNWwxNS45IDE1LjljLjQuNCAxIC40IDEuNCAwbDIuMS0yLjFjLjQtLjQuNC0xIDAtMS40TDI3LjUgMjR6Ij48L3BhdGg+PC9zdmc+)" aria-hidden="true" class="swl-inline-icon"> </span> <strong>避けるべき場面</strong></p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list is-style-bad_list -list-under-dashed">
<li>過度に派手なアニメーション</li>



<li>パフォーマンスを重視する場面</li>



<li>アクセシビリティを重視する場面</li>
</ul>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">実装方法の比較</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>アニメーション</th><th>難易度</th><th>視覚的インパクト</th><th>パフォーマンス</th><th>ブラウザ対応</th></tr></thead><tbody><tr><td>シェイク効果</td><td>⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>パルス効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>スライド効果</td><td>⭐⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐</td></tr><tr><td>フェード効果</td><td>⭐⭐</td><td>⭐⭐</td><td>⭐⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>カラー変化効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>アイコン表示効果</td><td>⭐⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">シェイク効果</h2>



<p class="wp-block-paragraph">入力エラー時に要素が揺れるアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="533" data-default-tab="html,result" data-slug-hash="QwjMYRg" data-pen-title="Untitled" data-user="lgshifbg-the-looper" style="height: 533px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/QwjMYRg">
  Untitled</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このシェイク効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>視覚的インパクトが高い</li>



<li>エラーを明確に示す</li>



<li>注目を集める効果</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;shake-input&quot; class=&quot;shake-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;shake-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;shake-email&quot; class=&quot;shake-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;shake-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;shake-password&quot; class=&quot;shake-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;shake-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;shake-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.shake-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.shake-input:focus {
  border-color: #667eea;
}

.shake-input.error {
  border-color: #ff6b6b;
  animation: shake 0.5s ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
  20%, 40%, 60%, 80% { transform: translateX(5px); }
}

.error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}

.error-message.show {
  opacity: 1;
  transform: translateY(0);
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const shakeInputs = document.querySelectorAll(&#39;.shake-input&#39;);
  const submitBtn = document.getElementById(&#39;shake-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement);
        return false;
      }
    }

    hideError(input, errorElement);
    return true;
  }

  // エラー表示
  function showError(input, errorElement) {
    input.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
  }

  // エラー非表示
  function hideError(input, errorElement) {
    input.classList.remove(&#39;error&#39;);
    errorElement.classList.remove(&#39;show&#39;);
  }

  // 入力時の検証
  shakeInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    shakeInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* シェイク速度の調整 */
@keyframes shake {
  0%, 100% { transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
  20%, 40%, 60%, 80% { transform: translateX(10px); }
}

/* シェイク強度の調整 */
.shake-input.error {
  animation: shake 0.8s ease-in-out;
}

/* エラー色の変更 */
.shake-input.error {
  border-color: #ff4757;
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">パルス効果</h2>



<p class="wp-block-paragraph">入力エラー時に脈動するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="539" data-default-tab="html,result" data-slug-hash="MYavLdV" data-pen-title="Untitled" data-user="lgshifbg-the-looper" style="height: 539px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/MYavLdV">
  Untitled</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このパルス効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>動的な表現</li>



<li>視覚的インパクト</li>



<li>注目を集める効果</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;pulse-input&quot; class=&quot;pulse-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;pulse-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;pulse-email&quot; class=&quot;pulse-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;pulse-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;pulse-password&quot; class=&quot;pulse-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;pulse-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;pulse-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.pulse-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.pulse-input:focus {
  border-color: #667eea;
}

.pulse-input.error {
  border-color: #ff6b6b;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(255, 107, 107, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 107, 107, 0);
  }
}

.error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}

.error-message.show {
  opacity: 1;
  transform: translateY(0);
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const pulseInputs = document.querySelectorAll(&#39;.pulse-input&#39;);
  const submitBtn = document.getElementById(&#39;pulse-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement);
        return false;
      }
    }

    hideError(input, errorElement);
    return true;
  }

  // エラー表示
  function showError(input, errorElement) {
    input.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
  }

  // エラー非表示
  function hideError(input, errorElement) {
    input.classList.remove(&#39;error&#39;);
    errorElement.classList.remove(&#39;show&#39;);
  }

  // 入力時の検証
  pulseInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    pulseInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* パルス速度の調整 */
.pulse-input.error {
  animation: pulse 1s ease-in-out infinite;
}

/* パルス色の変更 */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(255, 71, 87, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 71, 87, 0);
  }
}

/* パルス強度の調整 */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 107, 107, 0.6);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(255, 107, 107, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 107, 107, 0);
  }
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">スライド効果</h2>



<p class="wp-block-paragraph">エラーメッセージがスライドインするアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="493" data-default-tab="html,result" data-slug-hash="xbwLMNM" data-pen-title="バリデーションスライド効果" data-user="lgshifbg-the-looper" style="height: 493px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/xbwLMNM">
  バリデーションスライド効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このスライド効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>スムーズな表示</li>



<li>視覚的フィードバック</li>



<li>洗練された表現</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;slide-input&quot; class=&quot;slide-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;slide-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;slide-email&quot; class=&quot;slide-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;slide-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;slide-password&quot; class=&quot;slide-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;slide-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;slide-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.slide-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.slide-input:focus {
  border-color: #667eea;
}

.slide-input.error {
  border-color: #ff6b6b;
}

.error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  transform: translateX(-20px);
  transition: all 0.4s ease;
  overflow: hidden;
  max-height: 0;
}

.error-message.show {
  opacity: 1;
  transform: translateX(0);
  max-height: 50px;
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const slideInputs = document.querySelectorAll(&#39;.slide-input&#39;);
  const submitBtn = document.getElementById(&#39;slide-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement);
        return false;
      }
    }

    hideError(input, errorElement);
    return true;
  }

  // エラー表示
  function showError(input, errorElement) {
    input.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
  }

  // エラー非表示
  function hideError(input, errorElement) {
    input.classList.remove(&#39;error&#39;);
    errorElement.classList.remove(&#39;show&#39;);
  }

  // 入力時の検証
  slideInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    slideInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* スライド速度の調整 */
.error-message {
  transition: all 0.6s ease;
}

/* スライド方向の変更 */
.error-message {
  transform: translateY(-20px);
}

.error-message.show {
  transform: translateY(0);
}

/* スライド強度の調整 */
.error-message {
  transform: translateX(-30px);
}

.error-message.show {
  transform: translateX(0);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">フェード効果</h2>



<p class="wp-block-paragraph">エラーメッセージがフェードインするアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="547" data-default-tab="html,result" data-slug-hash="LEpjqoo" data-pen-title="バリデーションフェード効果" data-user="lgshifbg-the-looper" style="height: 547px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/LEpjqoo">
  バリデーションフェード効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このフェード効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>シンプルで分かりやすい</li>



<li>アクセシビリティが高い</li>



<li>モダンな印象</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;fade-input&quot; class=&quot;fade-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;fade-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;fade-email&quot; class=&quot;fade-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;fade-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;fade-password&quot; class=&quot;fade-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;fade-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;fade-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.fade-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.fade-input:focus {
  border-color: #667eea;
}

.fade-input.error {
  border-color: #ff6b6b;
}

.error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.error-message.show {
  opacity: 1;
  visibility: visible;
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const fadeInputs = document.querySelectorAll(&#39;.fade-input&#39;);
  const submitBtn = document.getElementById(&#39;fade-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement);
        return false;
      }
    }

    hideError(input, errorElement);
    return true;
  }

  // エラー表示
  function showError(input, errorElement) {
    input.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
  }

  // エラー非表示
  function hideError(input, errorElement) {
    input.classList.remove(&#39;error&#39;);
    errorElement.classList.remove(&#39;show&#39;);
  }

  // 入力時の検証
  fadeInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    fadeInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フェード速度の調整 */
.error-message {
  transition: all 0.5s ease;
}

/* フェード強度の調整 */
.error-message {
  opacity: 0;
  transform: scale(0.9);
}

.error-message.show {
  opacity: 1;
  transform: scale(1);
}

/* フェード方向の変更 */
.error-message {
  opacity: 0;
  transform: translateY(10px);
}

.error-message.show {
  opacity: 1;
  transform: translateY(0);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">カラー変化効果</h2>



<p class="wp-block-paragraph">エラー時に色が変化するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="548" data-default-tab="html,result" data-slug-hash="Ggpvzbo" data-pen-title="バリデーションカラー変化効果" data-user="lgshifbg-the-looper" style="height: 548px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/Ggpvzbo">
  バリデーションカラー変化効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このカラー変化効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>直感的な状態表示</li>



<li>視覚的フィードバック</li>



<li>カラフルな表現</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;color-input&quot; class=&quot;color-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;color-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;color-email&quot; class=&quot;color-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;color-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;color-password&quot; class=&quot;color-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;color-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;color-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.color-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.color-input:focus {
  border-color: #667eea;
  background: rgba(102, 126, 234, 0.05);
}

.color-input.error {
  border-color: #ff6b6b;
  background: rgba(255, 107, 107, 0.05);
  color: #ff6b6b;
}

.color-input.success {
  border-color: #51cf66;
  background: rgba(81, 207, 102, 0.05);
  color: #51cf66;
}

.error-message {
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}

.error-message.show {
  opacity: 1;
  transform: translateY(0);
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const colorInputs = document.querySelectorAll(&#39;.color-input&#39;);
  const submitBtn = document.getElementById(&#39;color-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement);
        return false;
      }
    }

    showSuccess(input, errorElement);
    return true;
  }

  // エラー表示
  function showError(input, errorElement) {
    input.classList.remove(&#39;success&#39;);
    input.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
  }

  // 成功表示
  function showSuccess(input, errorElement) {
    input.classList.remove(&#39;error&#39;);
    input.classList.add(&#39;success&#39;);
    errorElement.classList.remove(&#39;show&#39;);
  }

  // 入力時の検証
  colorInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;) || this.classList.contains(&#39;success&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    colorInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* カラー変化速度の調整 */
.color-input {
  transition: all 0.5s ease;
}

/* エラー色の変更 */
.color-input.error {
  border-color: #ff4757;
  background: rgba(255, 71, 87, 0.05);
  color: #ff4757;
}

/* 成功色の変更 */
.color-input.success {
  border-color: #2ed573;
  background: rgba(46, 213, 115, 0.05);
  color: #2ed573;
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">アイコン表示効果</h2>



<p class="wp-block-paragraph">エラー時にアイコンが表示されるアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="453" data-default-tab="html,result" data-slug-hash="OPyjdKR" data-pen-title="Untitled" data-user="lgshifbg-the-looper" style="height: 453px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/OPyjdKR">
  Untitled</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このアイコン表示効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>右端配置で直感的な位置</li>



<li>円形の囲みでモダンな見た目</li>



<li>テキストアイコンで軽量で分かりやすい</li>



<li>背景色とシャドウの動的変化</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;icon-input&quot; class=&quot;icon-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;icon-wrapper&quot;&gt;
      &lt;span class=&quot;error-icon&quot;&gt;✕&lt;/span&gt;
      &lt;span class=&quot;success-icon&quot;&gt;✓&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;icon-error&quot;&gt;お名前を入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;icon-email&quot; class=&quot;icon-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;icon-wrapper&quot;&gt;
      &lt;span class=&quot;error-icon&quot;&gt;✕&lt;/span&gt;
      &lt;span class=&quot;success-icon&quot;&gt;✓&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;icon-email-error&quot;&gt;正しいメールアドレスを入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;icon-password&quot; class=&quot;icon-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;icon-wrapper&quot;&gt;
      &lt;span class=&quot;error-icon&quot;&gt;✕&lt;/span&gt;
      &lt;span class=&quot;success-icon&quot;&gt;✓&lt;/span&gt;
    &lt;/div&gt;
    &lt;div class=&quot;error-message&quot; id=&quot;icon-password-error&quot;&gt;パスワードは8文字以上で入力してください&lt;/div&gt;
  &lt;/div&gt;

  &lt;button type=&quot;button&quot; id=&quot;icon-submit&quot; class=&quot;submit-btn&quot;&gt;送信&lt;/button&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

.input-group {
  position: relative;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
}

.icon-wrapper {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.icon-input {
  width: 100%;
  padding: 16px 50px 16px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
}

.icon-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.icon-input.error {
  border-color: #ff6b6b;
  box-shadow: 0 0 0 3px rgba(255, 107, 107, 0.1);
}

.icon-input.success {
  border-color: #51cf66;
  box-shadow: 0 0 0 3px rgba(81, 207, 102, 0.1);
}

.error-icon,
.success-icon {
  font-size: 18px;
  font-weight: bold;
  opacity: 0;
  visibility: hidden;
  transform: scale(0.1) rotate(-180deg);
  transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.error-icon.show {
  opacity: 1;
  visibility: visible;
  transform: scale(1) rotate(0deg);
  color: white;
}

.icon-wrapper.error {
  background: #ff6b6b;
  box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
}

.success-icon.show {
  opacity: 1;
  visibility: visible;
  transform: scale(1) rotate(0deg);
  color: white;
}

.icon-wrapper.success {
  background: #51cf66;
  box-shadow: 0 2px 8px rgba(81, 207, 102, 0.3);
}

.error-message {
  position: absolute;
  left: 0;
  top: 100%;
  color: #ff6b6b;
  font-size: 14px;
  margin-top: 8px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}

.error-message.show {
  opacity: 1;
  transform: translateY(0);
}

.submit-btn {
  width: 100%;
  padding: 16px;
  background: #667eea;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.submit-btn:hover {
  background: #5a6fd8;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const iconInputs = document.querySelectorAll(&#39;.icon-input&#39;);
  const submitBtn = document.getElementById(&#39;icon-submit&#39;);

  // バリデーション関数
  function validateInput(input) {
    const value = input.value.trim();
    const errorElement = input.parentElement.querySelector(&#39;.error-message&#39;);
    const errorIcon = input.parentElement.querySelector(&#39;.error-icon&#39;);
    const successIcon = input.parentElement.querySelector(&#39;.success-icon&#39;);

    // 入力値の検証
    if (!value) {
      showError(input, errorElement, errorIcon, successIcon);
      return false;
    }

    // メールアドレスの検証
    if (input.type === &#39;email&#39;) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(value)) {
        showError(input, errorElement, errorIcon, successIcon);
        return false;
      }
    }

    // パスワードの検証
    if (input.type === &#39;password&#39;) {
      if (value.length &lt; 8) {
        showError(input, errorElement, errorIcon, successIcon);
        return false;
      }
    }

    showSuccess(input, errorElement, errorIcon, successIcon);
    return true;
  }

  // エラー表示
  function showError(input, errorElement, errorIcon, successIcon) {
    const iconWrapper = input.parentElement.querySelector(&#39;.icon-wrapper&#39;);
    input.classList.remove(&#39;success&#39;);
    input.classList.add(&#39;error&#39;);
    iconWrapper.classList.remove(&#39;success&#39;);
    iconWrapper.classList.add(&#39;error&#39;);
    errorElement.classList.add(&#39;show&#39;);
    errorIcon.classList.add(&#39;show&#39;);
    successIcon.classList.remove(&#39;show&#39;);
  }

  // 成功表示
  function showSuccess(input, errorElement, errorIcon, successIcon) {
    const iconWrapper = input.parentElement.querySelector(&#39;.icon-wrapper&#39;);
    input.classList.remove(&#39;error&#39;);
    input.classList.add(&#39;success&#39;);
    iconWrapper.classList.remove(&#39;error&#39;);
    iconWrapper.classList.add(&#39;success&#39;);
    errorElement.classList.remove(&#39;show&#39;);
    errorIcon.classList.remove(&#39;show&#39;);
    successIcon.classList.add(&#39;show&#39;);
  }

  // 入力時の検証
  iconInputs.forEach(input =&gt; {
    input.addEventListener(&#39;blur&#39;, function() {
      validateInput(this);
    });

    input.addEventListener(&#39;input&#39;, function() {
      if (this.classList.contains(&#39;error&#39;) || this.classList.contains(&#39;success&#39;)) {
        validateInput(this);
      }
    });
  });

  // 送信ボタンクリック時の検証
  submitBtn.addEventListener(&#39;click&#39;, function() {
    let isValid = true;

    iconInputs.forEach(input =&gt; {
      if (!validateInput(input)) {
        isValid = false;
      }
    });

    if (isValid) {
      alert(&#39;送信しました！&#39;);
    }
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* アイコン表示速度の調整 */
.error-icon,
.success-icon {
  transition: all 0.5s ease;
}

/* アイコンサイズの調整 */
.error-icon,
.success-icon {
  font-size: 20px;
}

/* アイコン表示強度の調整 */
.error-icon.show,
.success-icon.show {
  transform: scale(1.1) rotate(0deg);
}

/* アイコンの初期表示サイズ調整 */
.error-icon,
.success-icon {
  transform: scale(0.1) rotate(-180deg);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">今回ご紹介した<strong>6種類のバリデーションアニメーション</strong>は、それぞれ異なる特徴と用途があります。</p>



<h3 class="wp-block-heading">用途別おすすめ</h3>



<ul class="wp-block-list is-style-good_list -list-under-dashed">
<li><strong>フォーム入力</strong>: シェイク効果・パルス効果</li>



<li><strong>ログイン画面</strong>: カラー変化効果・アイコン表示効果</li>



<li><strong>重要度の高いエラー</strong>: シェイク効果・パルス効果</li>



<li><strong>軽微なエラー</strong>: フェード効果・スライド効果</li>
</ul>



<h3 class="wp-block-heading">実装のポイント</h3>



<ol class="wp-block-list is-style-num_circle -list-under-dashed">
<li><strong>アクセシビリティを重視</strong>: エラー状態を明確に表示</li>



<li><strong>パフォーマンスを考慮</strong>: 軽量なアニメーション</li>



<li><strong>ブラウザ対応</strong>: 幅広いブラウザで動作するように</li>



<li><strong>ユーザビリティ</strong>: 直感的な操作を可能に</li>
</ol>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>バリデーションアニメーションは、ユーザビリティとアクセシビリティを向上させる重要な要素です。この記事のコードを参考に、プロジェクトに最適なアニメーションを実装してください！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-balloon_box wp-block-paragraph"><strong>あわせて読みたい</strong></p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ボタンホバーアニメーション完全版｜8カテゴリ・53種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ナビゲーションタブアニメーション完全版｜5カテゴリ・26種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/menu-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】メニューアニメーション完全版｜8カテゴリ・40種類を網羅</span>
			</a>
		</div>

<div class="p-blogParts post_content" data-partsID="10246">
<h2 class="wp-block-heading">もっと効率的にWeb制作を学びたい方へ</h2>



<p class="wp-block-paragraph">Web制作の学習は楽しいものですが、一人で進めていると「これで合っているのかな？」と不安になることもありますよね。</p>



<p class="wp-block-paragraph">僕も独学でWeb制作を学んできましたが、今思うと「もっと早く知りたかった」と思うことがたくさんあります。</p>



<p class="wp-block-paragraph">特に以下のような方は、一度プログラミングスクールの利用を検討してみることをおすすめします。</p>



<ul class="wp-block-list is-style-check_list">
<li>学習の方向性に迷いがある方</li>



<li>効率的にスキルを身につけたい方</li>



<li>転職や副業でWeb制作を活用したい方</li>



<li>挫折経験がある方</li>
</ul>



<p class="wp-block-paragraph">忍者CODEなら、<strong>業界最安値</strong>で24時間サポート付きの学習環境が整っています。</p>



<p class="is-style-icon_announce wp-block-paragraph">ご興味のある方は、<a href="https://kekenta-it-blog.com/ninja-code-web-production-school-guide/" data-type="post" data-id="15595">こちら</a>の記事で詳しくご紹介しています。</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/07/eye-catch__ninja-code-web-production-school-guide__15595-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/ninja-code-web-production-school-guide/">忍者CODEでWeb制作を学ぶべき理由【業界最安値で挫折しない学習環境】</a>
						<span class="p-blogCard__excerpt">Web制作を学びたいけど、プログラミングスクールは高すぎるし、独学だと挫折しそうで不安…… このような悩みをお持ちの方に向けて、この記事では 業界最安値でWeb制作を...</span>					</div>
				</div>
			</div>
		</div></div>



<h2 class="wp-block-heading">関連記事</h2>


<div class="p-blogParts post_content" data-partsID="15846">
<h3 class="wp-block-heading">基本的なアニメーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-fz:1em;--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/fade-in-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">フェードイン系アニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/countup-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カウントアップアニメーション完全ガイド｜3種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スクロール系</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系アニメーション完全ガイド｜4種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-scale-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系スケールアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/horizontal-scroll-animations-gsap/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">横スクロール・スライドアニメーション完全ガイド【GSAP実装】</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/sticky-scroll-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">固定表示・スティッキーアニメーション完全ガイド｜3種類の実装方法</span></a></li>
</ul>



<h3 class="wp-block-heading">メニュー・タブ・ナビゲーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/dropdown-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ドロップダウンメニュー表示アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/hamburger-menu-slide-animation-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ハンバーガーメニューのスライドアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/side-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">サイドメニュー表示アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/tab-switching-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タブ切り替えアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/menu-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】メニューアニメーション完全ガイド｜8カテゴリ・40種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ナビゲーションタブアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">フォーム・UI要素</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/card-item-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カード・アイテム系アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/validation-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">バリデーションアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/form-input-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】フォーム・入力アニメーション完全ガイド｜4カテゴリ・22種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/progress-step-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】プログレス・ローディングアニメーション完全ガイド｜4カテゴリ・20種類を網羅</span></a></li>
</ul>



<h3 class="wp-block-heading">ボタン・アイコン</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-link-hover-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ボタン・リンク系アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/advanced-css-button-hover-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">CSSのみで作る高度なボタンホバーアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-icon-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dアイコンアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-click-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンクリックアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-loading-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンローディングアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ボタンホバーアニメーション完全ガイド｜8カテゴリ・53種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-symbol-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】アイコンアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/web-button-design-collection/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">Webデザインで使えるボタン100選｜用途別完全ガイド</span></a></li>
</ul>



<h3 class="wp-block-heading">テキスト</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/typewriter-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タイプライターアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-fade-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">テキストフェードアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-text-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dテキストアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-typography-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】テキスト・タイポグラフィアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スライダー</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/splide-thumbnail-slider/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【Splide】サムネイル型スライダーの簡単な作成方法【JSライブラリ】</span></a></li>
</ul>



<h3 class="wp-block-heading">特殊効果</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/background-animation-guide-particle-effects/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">背景アニメーション完全ガイド｜5種類</span></a></li>
</ul>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/validation-animations-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【コピペOK】入力フォームアニメーション｜7種類【Web制作】</title>
		<link>https://kekenta-it-blog.com/input-field-animations-guide/</link>
					<comments>https://kekenta-it-blog.com/input-field-animations-guide/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Thu, 07 Aug 2025 04:36:55 +0000</pubDate>
				<category><![CDATA[アニメーション]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=16333</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__input-field-animations-guide__16333-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はこのようなお悩みをお持ちの方へ向けて Web制作において必須のUI要素入力フォームアニメーション をご紹介します。 7種類のアニメーション効果を完全網羅した実装なので、いままさに「入力フォームを実装しないといけない [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2025/08/eye-catch__input-field-animations-guide__16333-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>入力フォームにアニメーション効果を追加したい……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>フォームのユーザビリティを向上させたい……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はこのようなお悩みをお持ちの方へ向けて</p>



<p class="has-text-align-center is-style-big_kakko_box wp-block-paragraph">Web制作において必須のUI要素<br><strong><span class="swl-marker mark_yellow">入力フォームアニメーション</span></strong></p>



<p class="wp-block-paragraph">をご紹介します。</p>



<p class="is-style-icon_good wp-block-paragraph"><strong>7種類のアニメーション効果</strong>を完全網羅した実装なので、いままさに「入力フォームを実装しないといけない！」という方は丸っとコピペしてどうぞご活用ください！</p>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><strong><strong><strong>この記事で紹介する入力フィールドアニメーション</strong></strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-num_circle -list-under-dashed">
<li>フローティングラベル</li>



<li>ボーダー変化効果（枠線の色・太さ変化）</li>



<li>背景変化効果（背景色の変化）</li>



<li>シャドウ効果</li>



<li>スケール効果（微細な拡大/縮小）</li>



<li>カラー効果（文字色の変化）</li>



<li>フォーカス効果</li>
</ul>
</div></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>特に<strong>フォーム</strong>や<strong>検索ボックス</strong>には、入力フィールドアニメーションが非常に効果的です。この記事のコードをご活用いただきWeb制作の効率化に繋がれば何よりです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">なお、今回ご紹介するアニメーションは<strong>CSSとJavaScript</strong>で実装できるので、基本的なコーディング知識があれば安心してご利用いただけます。</p>



<p class="is-style-balloon_box wp-block-paragraph"><strong>あわせて読みたい</strong></p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ボタンホバーアニメーション完全版｜8カテゴリ・53種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ナビゲーションタブアニメーション完全版｜5カテゴリ・26種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/menu-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】メニューアニメーション完全版｜8カテゴリ・40種類を網羅</span>
			</a>
		</div>


<h2 class="wp-block-heading">入力フォームアニメーションとは</h2>



<p class="is-style-bg_stripe wp-block-paragraph">入力フォームアニメーションは、<strong>ユーザーの入力操作に対する視覚的なフィードバックを提供するアニメーション効果</strong>です。ユーザビリティを向上させ、直感的な操作を可能にする効果的な手法です。</p>



<h3 class="wp-block-heading">効果的な使用場面</h3>



<p class="is-style-balloon_box u-mb-ctrl u-mb-10 wp-block-paragraph"><span data-icon="LsCircle" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMjQgNDYuNUMxMS42IDQ2LjUgMS41IDM2LjQgMS41IDI0UzExLjYgMS41IDI0IDEuNSA0Ni41IDExLjYgNDYuNSAyNCAzNi40IDQ2LjUgMjQgNDYuNXptMC00MEMxNC40IDYuNSA2LjUgMTQuNCA2LjUgMjRTMTQuNCA0MS41IDI0IDQxLjUgNDEuNSAzMy42IDQxLjUgMjQgMzMuNiA2LjUgMjQgNi41eiI+PC9wYXRoPjwvc3ZnPg==)" aria-hidden="true" class="swl-inline-icon"> </span> <strong>適している場面</strong></p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list is-style-good_list -list-under-dashed">
<li>ログインフォーム</li>



<li>検索ボックス</li>



<li>お問い合わせフォーム</li>



<li>ユーザー登録フォーム</li>



<li>コメント欄</li>



<li>設定画面</li>
</ul>
</div></div>



<p class="is-style-balloon_box u-mb-ctrl u-mb-10 wp-block-paragraph"><span data-icon="LsX" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMjcuNSAyNCA0My40IDguMWMuNC0uNC40LTEgMC0xLjRsLTIuMS0yLjFjLS40LS40LTEtLjQtMS40IDBMMjQgMjAuNSA4LjEgNC42Yy0uNC0uNC0xLS40LTEuNCAwTDQuNiA2LjdjLS40LjQtLjQgMSAwIDEuNEwyMC41IDI0IDQuNiAzOS45Yy0uNC40LS40IDEgMCAxLjRsMi4xIDIuMWMuNC40IDEgLjQgMS40IDBMMjQgMjcuNWwxNS45IDE1LjljLjQuNCAxIC40IDEuNCAwbDIuMS0yLjFjLjQtLjQuNC0xIDAtMS40TDI3LjUgMjR6Ij48L3BhdGg+PC9zdmc+)" aria-hidden="true" class="swl-inline-icon"> </span> <strong>避けるべき場面</strong></p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<ul class="wp-block-list is-style-bad_list -list-under-dashed">
<li>過度に複雑なアニメーション</li>



<li>パフォーマンスを重視する場面</li>



<li>アクセシビリティを重視する場面</li>
</ul>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">実装方法の比較</h2>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>アニメーション</th><th>難易度</th><th>視覚的インパクト</th><th>パフォーマンス</th><th>ブラウザ対応</th></tr></thead><tbody><tr><td>フローティングラベル</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>ボーダー変化効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>背景変化効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>シャドウ効果</td><td>⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td></tr><tr><td>スケール効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>カラー効果</td><td>⭐⭐</td><td>⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>フォーカス効果</td><td>⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐</td><td>⭐⭐⭐⭐⭐</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">フローティングラベル</h2>



<p class="wp-block-paragraph">ラベルが入力フォームの上に浮き上がるアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="LEpLePL" data-pen-title="入力フィールドラベル浮上効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/LEpLePL">
  入力フィールドラベル浮上効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このフローティングラベルの特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>直感的なラベル表示</li>



<li>スペース効率が良い</li>



<li>モダンなデザイン</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;floating-label&quot; class=&quot;floating-input&quot; placeholder=&quot; &quot;&gt;
    &lt;label for=&quot;floating-label&quot; class=&quot;floating-label&quot;&gt;お名前&lt;/label&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;floating-email&quot; class=&quot;floating-input&quot; placeholder=&quot; &quot;&gt;
    &lt;label for=&quot;floating-email&quot; class=&quot;floating-label&quot;&gt;メールアドレス&lt;/label&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;textarea id=&quot;floating-message&quot; class=&quot;floating-input&quot; placeholder=&quot; &quot; rows=&quot;4&quot;&gt;&lt;/textarea&gt;
    &lt;label for=&quot;floating-message&quot; class=&quot;floating-label&quot;&gt;メッセージ&lt;/label&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.floating-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: transparent;
  transition: all 0.3s ease;
  outline: none;
}

.floating-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.floating-label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: white;
  padding: 0 8px;
  color: #666;
  font-size: 16px;
  transition: all 0.3s ease;
  pointer-events: none;
}

.floating-input:focus + .floating-label,
.floating-input:not(:placeholder-shown) + .floating-label {
  top: 0;
  font-size: 14px;
  color: #667eea;
  transform: translateY(-50%);
}

/* テキストエリア用の調整 */
textarea.floating-input + .floating-label {
  top: 20px;
}

textarea.floating-input:focus + .floating-label,
textarea.floating-input:not(:placeholder-shown) + .floating-label {
  top: 0;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const floatingInputs = document.querySelectorAll(&#39;.floating-input&#39;);

  floatingInputs.forEach(input =&gt; {
    // 初期状態の設定
    if (input.value) {
      input.classList.add(&#39;has-value&#39;);
    }

    // 入力時の処理
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });

    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* ラベル浮上の速度調整 */
.floating-label {
  transition: all 0.5s ease;
}

/* ラベル浮上時の色変更 */
.floating-input:focus + .floating-label {
  color: #ff6b6b;
}

/* ラベル浮上時の影効果 */
.floating-input:focus + .floating-label {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">ボーダー変化効果</h2>



<p class="wp-block-paragraph">入力フォームの枠線が動的に変化するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="RNWgxbM" data-pen-title="入力フィールドボーダー変化効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/RNWgxbM">
  入力フィールドボーダー変化効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このボーダー変化効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>視覚的なフィードバック</li>



<li>直感的な状態表示</li>



<li>モダンな印象</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;border-input&quot; class=&quot;border-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
    &lt;div class=&quot;border-line&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;border-email&quot; class=&quot;border-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
    &lt;div class=&quot;border-line&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;border-password&quot; class=&quot;border-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
    &lt;div class=&quot;border-line&quot;&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.border-input {
  width: 100%;
  padding: 16px 12px;
  border: none;
  border-bottom: 2px solid #e0e0e0;
  font-size: 16px;
  background: transparent;
  transition: all 0.3s ease;
  outline: none;
}

.border-input:focus {
  border-bottom-color: #667eea;
}

.border-line {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #667eea, #764ba2);
  transition: width 0.3s ease;
}

.border-input:focus ~ .border-line {
  width: 100%;
}

/* ホバー効果 */
.border-input:hover {
  border-bottom-color: #b0b0b0;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const borderInputs = document.querySelectorAll(&#39;.border-input&#39;);

  borderInputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* ボーダー変化の速度調整 */
.border-line {
  transition: width 0.5s ease;
}

/* ボーダー色の変更 */
.border-line {
  background: linear-gradient(90deg, #ff6b6b, #feca57);
}

/* ボーダーの太さ調整 */
.border-line {
  height: 3px;
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">背景変化効果</h2>



<p class="wp-block-paragraph">入力フォームの背景色が動的に変化するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="WbQOdeW" data-pen-title="入力フィールド背景変化効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/WbQOdeW">
  入力フィールド背景変化効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>この背景変化効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>視覚的な状態表示</li>



<li>直感的なフィードバック</li>



<li>カラフルな表現</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;background-input&quot; class=&quot;background-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;background-email&quot; class=&quot;background-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;background-password&quot; class=&quot;background-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.background-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: #f8f9fa;
  transition: all 0.3s ease;
  outline: none;
}

.background-input:focus {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: #667eea;
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.background-input:focus::placeholder {
  color: rgba(255, 255, 255, 0.8);
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const backgroundInputs = document.querySelectorAll(&#39;.background-input&#39;);

  backgroundInputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* 背景変化の速度調整 */
.background-input {
  transition: all 0.5s ease;
}

/* 背景色の変更 */
.background-input:focus {
  background: linear-gradient(135deg, #ff6b6b 0%, #feca57 100%);
}

/* 背景変化の強度調整 */
.background-input:focus {
  background: #667eea;
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">シャドウ効果</h2>



<p class="wp-block-paragraph">入力フォームに影の変化を加えるアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="azvwEbp" data-pen-title="入力フィールドシャドウ効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/azvwEbp">
  入力フィールドシャドウ効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このシャドウ効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>立体的な表現</li>



<li>視覚的インパクト</li>



<li>モダンなデザイン</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;shadow-input&quot; class=&quot;shadow-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;shadow-email&quot; class=&quot;shadow-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;shadow-password&quot; class=&quot;shadow-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.shadow-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  outline: none;
}

.shadow-input:focus {
  border-color: #667eea;
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
  transform: translateY(-2px);
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const shadowInputs = document.querySelectorAll(&#39;.shadow-input&#39;);

  shadowInputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* シャドウ変化の速度調整 */
.shadow-input {
  transition: all 0.5s ease;
}

/* シャドウ色の変更 */
.shadow-input:focus {
  box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3);
}

/* シャドウ強度の調整 */
.shadow-input:focus {
  box-shadow: 0 12px 35px rgba(102, 126, 234, 0.4);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">スケール効果</h2>



<p class="wp-block-paragraph">入力フォームが微細に拡大/縮小するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="vENZpYR" data-pen-title="入力フィールドスケール効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/vENZpYR">
  入力フィールドスケール効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このスケール効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>微細な動き</li>



<li>視覚的フィードバック</li>



<li>洗練された表現</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;scale-input&quot; class=&quot;scale-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;scale-email&quot; class=&quot;scale-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;scale-password&quot; class=&quot;scale-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.scale-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
  transform: scale(1);
}

.scale-input:focus {
  border-color: #667eea;
  transform: scale(1.02);
  box-shadow: 0 4px 15px rgba(102, 126, 234, 0.2);
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const scaleInputs = document.querySelectorAll(&#39;.scale-input&#39;);

  scaleInputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* スケール変化の速度調整 */
.scale-input {
  transition: all 0.5s ease;
}

/* スケール強度の調整 */
.scale-input:focus {
  transform: scale(1.05);
}

/* スケール時の影効果 */
.scale-input:focus {
  box-shadow: 0 8px 25px rgba(102, 126, 234, 0.3);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">カラー効果</h2>



<p class="wp-block-paragraph">入力フォームの文字色や枠線色が変化するアニメーションです。</p>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="NPGgXWm" data-pen-title="入力フィールドカラー効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/NPGgXWm">
  入力フィールドカラー効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong><strong>このカラー効果の特徴</strong></strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>カラフルな表現</li>



<li>視覚的フィードバック</li>



<li>感情的な反応</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-container&quot;&gt;
  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;text&quot; id=&quot;color-input&quot; class=&quot;color-input&quot; placeholder=&quot;お名前を入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;email&quot; id=&quot;color-email&quot; class=&quot;color-input&quot; placeholder=&quot;メールアドレスを入力&quot;&gt;
  &lt;/div&gt;

  &lt;div class=&quot;input-group&quot;&gt;
    &lt;input type=&quot;password&quot; id=&quot;color-password&quot; class=&quot;color-input&quot; placeholder=&quot;パスワードを入力&quot;&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* フォームコンテナ */
.form-container {
  max-width: 500px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: &#39;Arial&#39;, sans-serif;
}

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

.color-input {
  width: 100%;
  padding: 16px 12px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  color: #333;
  transition: all 0.3s ease;
  outline: none;
}

.color-input:focus {
  border-color: #667eea;
  color: #667eea;
  box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.color-input:focus::placeholder {
  color: rgba(102, 126, 234, 0.6);
}

/* 入力値がある場合の色 */
.color-input.has-value {
  border-color: #28a745;
  color: #28a745;
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const colorInputs = document.querySelectorAll(&#39;.color-input&#39;);

  colorInputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });
  });
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* カラー変化の速度調整 */
.color-input {
  transition: all 0.5s ease;
}

/* カラー効果の変更 */
.color-input:focus {
  border-color: #ff6b6b;
  color: #ff6b6b;
}

/* カラー効果の強度調整 */
.color-input:focus {
  background: rgba(102, 126, 234, 0.05);
}</code></pre></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">フォーカス効果</h2>



<h3 class="wp-block-heading">① デモ</h3>



<p class="codepen" data-height="300" data-default-tab="html,result" data-slug-hash="jEbqQZZ" data-pen-title="フォーカス効果" data-user="lgshifbg-the-looper" style="height: 300px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 2px solid; margin: 1em 0; padding: 1em;">
  <span>See the Pen <a href="https://codepen.io/lgshifbg-the-looper/pen/jEbqQZZ">
  フォーカス効果</a> by ケケンタ (<a href="https://codepen.io/lgshifbg-the-looper">@lgshifbg-the-looper</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://public.codepenassets.com/embed/index.js"></script>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span> <strong>このフォーカス効果の特徴</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>フォーカス時の視覚的強調</li>



<li>多様なエフェクト</li>



<li>ユーザビリティ向上</li>



<li>アクセシビリティ配慮</li>
</ul>
</div></div>



<h3 class="wp-block-heading">② HTML</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-html" data-lang="HTML"><code>&lt;div class=&quot;form-group&quot;&gt;
  &lt;input type=&quot;text&quot; id=&quot;focus-input&quot; class=&quot;focus-input&quot; placeholder=&quot;お名前&quot;&gt;
&lt;/div&gt;

&lt;div class=&quot;form-group&quot;&gt;
  &lt;input type=&quot;email&quot; id=&quot;focus-email&quot; class=&quot;focus-input&quot; placeholder=&quot;メールアドレス&quot;&gt;
&lt;/div&gt;

&lt;div class=&quot;form-group&quot;&gt;
  &lt;textarea id=&quot;focus-textarea&quot; class=&quot;focus-input&quot; placeholder=&quot;メッセージ&quot; rows=&quot;3&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;</code></pre></div>



<h3 class="wp-block-heading">③ CSS</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>.form-group {
  margin-bottom: 20px;
}

.focus-input {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  font-size: 16px;
  background: white;
  transition: all 0.3s ease;
  outline: none;
  position: relative;
}

.focus-input:focus {
  border-color: #667eea;
  box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
  transform: translateY(-2px);
}

/* プレースホルダーのアニメーション */
.focus-input::placeholder {
  color: #999;
  transition: all 0.3s ease;
}

.focus-input:focus::placeholder {
  color: #667eea;
  transform: translateX(10px);
}

/* 入力値がある時のスタイル */
.focus-input:not(:placeholder-shown) {
  border-color: #4caf50;
  background: #f8fff8;
}

/* エラー状態 */
.focus-input.error {
  border-color: #f44336;
  animation: shake 0.5s ease-in-out;
}

@keyframes shake {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  75% { transform: translateX(5px); }
}</code></pre></div>



<h3 class="wp-block-heading">④ JavaScript</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-js" data-lang="JavaScript"><code>document.addEventListener(&#39;DOMContentLoaded&#39;, function() {
  const inputs = document.querySelectorAll(&#39;.focus-input&#39;);

  inputs.forEach(input =&gt; {
    // フォーカス時の処理
    input.addEventListener(&#39;focus&#39;, function() {
      this.parentElement.classList.add(&#39;focused&#39;);
    });

    // ブラー時の処理
    input.addEventListener(&#39;blur&#39;, function() {
      this.parentElement.classList.remove(&#39;focused&#39;);
    });

    // 入力値の検証
    input.addEventListener(&#39;input&#39;, function() {
      if (this.value) {
        this.classList.add(&#39;has-value&#39;);
      } else {
        this.classList.remove(&#39;has-value&#39;);
      }
    });

    // エラー状態のシミュレーション
    input.addEventListener(&#39;blur&#39;, function() {
      if (this.type === &#39;email&#39; && this.value && !isValidEmail(this.value)) {
        this.classList.add(&#39;error&#39;);
      } else {
        this.classList.remove(&#39;error&#39;);
      }
    });
  });

  // メールアドレスの簡易検証
  function isValidEmail(email) {
    return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
  }
});</code></pre></div>



<h3 class="wp-block-heading">⑤ カスタマイズ例</h3>



<div class="hcb_wrap"><pre class="prism line-numbers lang-css" data-lang="CSS"><code>/* カラーテーマ変更 */
.focus-input:focus {
  border-color: #ff6b6b;
  box-shadow: 0 0 0 4px rgba(255, 107, 107, 0.1);
}

.focus-input:focus::placeholder {
  color: #ff6b6b;
}

/* スケール効果 */
.focus-input:focus {
  transform: scale(1.02);
}

/* 回転効果 */
.focus-input:focus {
  transform: rotate(1deg);
}

/* パルス効果 */
.focus-input:focus {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% { box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1); }
  50% { box-shadow: 0 0 0 8px rgba(102, 126, 234, 0.2); }
  100% { box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1); }
}</code></pre></div>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">今回ご紹介した<strong>7種類の入力フォームアニメーション</strong>は、それぞれ異なる特徴と用途があります。</p>



<h3 class="wp-block-heading">用途別おすすめ</h3>



<ul class="wp-block-list -list-under-dashed is-style-good_list">
<li><strong>ログインフォーム</strong>: ラベル浮上効果・ボーダー変化効果</li>



<li><strong>検索ボックス</strong>: シャドウ効果・スケール効果</li>



<li><strong>お問い合わせフォーム</strong>: 背景変化効果・カラー効果・フォーカス効果</li>
</ul>



<h3 class="wp-block-heading">実装のポイント</h3>



<ol class="wp-block-list is-style-num_circle -list-under-dashed">
<li><strong>ユーザビリティを重視</strong>: 直感的な操作を可能に</li>



<li><strong>パフォーマンスを考慮</strong>: 軽量なアニメーション</li>



<li><strong>ブラウザ対応</strong>: 幅広いブラウザで動作するように</li>



<li><strong>アクセシビリティ</strong>: キーボードナビゲーション対応も考慮</li>
</ol>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>入力フィールドアニメーションは、フォームのユーザビリティを向上させる重要な要素です。この記事のコードを参考に、プロジェクトに最適なアニメーションを実装してください！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-balloon_box wp-block-paragraph"><strong>あわせて読みたい</strong></p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ボタンホバーアニメーション完全版｜8カテゴリ・53種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】ナビゲーションタブアニメーション完全版｜5カテゴリ・26種類を網羅</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/menu-animations-complete-guide/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【Web制作】メニューアニメーション完全版｜8カテゴリ・40種類を網羅</span>
			</a>
		</div>

<div class="p-blogParts post_content" data-partsID="10246">
<h2 class="wp-block-heading">もっと効率的にWeb制作を学びたい方へ</h2>



<p class="wp-block-paragraph">Web制作の学習は楽しいものですが、一人で進めていると「これで合っているのかな？」と不安になることもありますよね。</p>



<p class="wp-block-paragraph">僕も独学でWeb制作を学んできましたが、今思うと「もっと早く知りたかった」と思うことがたくさんあります。</p>



<p class="wp-block-paragraph">特に以下のような方は、一度プログラミングスクールの利用を検討してみることをおすすめします。</p>



<ul class="wp-block-list is-style-check_list">
<li>学習の方向性に迷いがある方</li>



<li>効率的にスキルを身につけたい方</li>



<li>転職や副業でWeb制作を活用したい方</li>



<li>挫折経験がある方</li>
</ul>



<p class="wp-block-paragraph">忍者CODEなら、<strong>業界最安値</strong>で24時間サポート付きの学習環境が整っています。</p>



<p class="is-style-icon_announce wp-block-paragraph">ご興味のある方は、<a href="https://kekenta-it-blog.com/ninja-code-web-production-school-guide/" data-type="post" data-id="15595">こちら</a>の記事で詳しくご紹介しています。</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/07/eye-catch__ninja-code-web-production-school-guide__15595-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/ninja-code-web-production-school-guide/">忍者CODEでWeb制作を学ぶべき理由【業界最安値で挫折しない学習環境】</a>
						<span class="p-blogCard__excerpt">Web制作を学びたいけど、プログラミングスクールは高すぎるし、独学だと挫折しそうで不安…… このような悩みをお持ちの方に向けて、この記事では 業界最安値でWeb制作を...</span>					</div>
				</div>
			</div>
		</div></div>



<h2 class="wp-block-heading">関連記事</h2>


<div class="p-blogParts post_content" data-partsID="15846">
<h3 class="wp-block-heading">基本的なアニメーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-fz:1em;--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/fade-in-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">フェードイン系アニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/countup-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カウントアップアニメーション完全ガイド｜3種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スクロール系</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系アニメーション完全ガイド｜4種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/parallax-scale-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">パララックス系スケールアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/horizontal-scroll-animations-gsap/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">横スクロール・スライドアニメーション完全ガイド【GSAP実装】</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/sticky-scroll-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">固定表示・スティッキーアニメーション完全ガイド｜3種類の実装方法</span></a></li>
</ul>



<h3 class="wp-block-heading">メニュー・タブ・ナビゲーション</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/dropdown-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ドロップダウンメニュー表示アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/hamburger-menu-slide-animation-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ハンバーガーメニューのスライドアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/side-menu-display-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">サイドメニュー表示アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/tab-switching-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タブ切り替えアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/menu-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】メニューアニメーション完全ガイド｜8カテゴリ・40種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/navigation-tab-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ナビゲーションタブアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">フォーム・UI要素</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/card-item-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">カード・アイテム系アニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/validation-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">バリデーションアニメーション完全ガイド｜6種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/form-input-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】フォーム・入力アニメーション完全ガイド｜4カテゴリ・22種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/progress-step-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】プログレス・ローディングアニメーション完全ガイド｜4カテゴリ・20種類を網羅</span></a></li>
</ul>



<h3 class="wp-block-heading">ボタン・アイコン</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-link-hover-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">ボタン・リンク系アニメーション完全ガイド｜7種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/advanced-css-button-hover-animations/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">CSSのみで作る高度なボタンホバーアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-icon-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dアイコンアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-click-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンクリックアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-loading-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">アイコンローディングアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/button-hover-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】ボタンホバーアニメーション完全ガイド｜8カテゴリ・53種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/icon-symbol-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】アイコンアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/web-button-design-collection/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">Webデザインで使えるボタン100選｜用途別完全ガイド</span></a></li>
</ul>



<h3 class="wp-block-heading">テキスト</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main);--the-radius:100px">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/typewriter-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">タイプライターアニメーション完全ガイド｜6種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-fade-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">テキストフェードアニメーション完全ガイド｜5種類</span></a></li>



<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/three-d-text-animations-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">3Dテキストアニメーション完全ガイド｜5種類</span></a></li>
</ul>



<p class="has-text-align-center u-mb-ctrl u-mb-0 wp-block-paragraph"><strong><span class="swl-fz u-fz-s">＼</span></strong><strong><span class="swl-fz u-fz-s">どれを読むか迷ったときのおすすめ‼／</span></strong></p>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/text-typography-animations-complete-guide/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【完全版】テキスト・タイポグラフィアニメーション完全ガイド｜5カテゴリ・26種類</span></a></li>
</ul>



<h3 class="wp-block-heading">スライダー</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/splide-thumbnail-slider/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">【Splide】サムネイル型スライダーの簡単な作成方法【JSライブラリ】</span></a></li>
</ul>



<h3 class="wp-block-heading">特殊効果</h3>



<ul class="swell-block-linkList is-style-button" style="--the-color:var(--color_main)">
<li class="swell-block-linkList__item"><a class="swell-block-linkList__link" href="https://kekenta-it-blog.com/background-animation-guide-particle-effects/"><svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-arrowCircleRight swell-block-linkList__icon -right" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M24 45C12.4 45 3 35.6 3 24S12.4 3 24 3s21 9.4 21 21-9.4 21-21 21zm0-39C14.1 6 6 14.1 6 24s8.1 18 18 18 18-8.1 18-18S33.9 6 24 6z" /><path d="m34.3 22.9-8.8-8.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l6.3 6.3H14.8c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h14.8l-6.3 6.3c-.6.6-.6 1.5 0 2.1s1.5.6 2.1 0l8.8-8.8c.7-.6.7-1.6.1-2.2z" /></svg><span class="swell-block-linkList__text">背景アニメーション完全ガイド｜5種類</span></a></li>
</ul>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/input-field-animations-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【WordPress】固定・投稿ページ編集画面にCSSやJSの入力フォームを設置する</title>
		<link>https://kekenta-it-blog.com/wp-inputform-for-css-js/</link>
					<comments>https://kekenta-it-blog.com/wp-inputform-for-css-js/#respond</comments>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Mon, 26 Aug 2024 05:12:28 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[functions.php]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[入力フォーム]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=10597</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/eye-catch__wp-inputform-for-css-js__10597-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はこのようなお悩みをお持ちの方に向けて 固定ページ編集画面や投稿ページ編集画面にCSSやJavaScript用の入力フォームを設置（自作）する方法 をご紹介します。  入力フォームの見た目 実は、プラグイン『WP A [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/eye-catch__wp-inputform-for-css-js__10597-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>特定の固定ページや投稿ページごとに簡単にCSSとかJavaScriptを設定できるようにしたいな……</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はこのようなお悩みをお持ちの方に向けて</p>



<p class="has-text-align-center is-style-big_kakko_box wp-block-paragraph"><strong><span class="swl-marker mark_yellow">固定ページ編集画面や投稿ページ編集画面に<br>CSSやJavaScript用の入力フォームを設置（自作）する方法</span></strong></p>



<p class="wp-block-paragraph">をご紹介します。</p>



<p class="has-text-align-center is-style-balloon_box wp-block-paragraph"><span data-icon="LsLightbulb" data-id="0" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" aria-hidden="true" class="swl-inline-icon"> </span><strong>入力フォームの見た目</strong></p>


<div class="wp-block-image size_xs is-style-shadow">
<figure class="aligncenter size-full"><img decoding="async" width="883" height="636" src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-7.png" alt="CSS・JavaScript入力用フォーム" class="wp-image-10858" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-7.png 883w, https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-7-300x216.png 300w, https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-7-768x553.png 768w" sizes="(max-width: 883px) 100vw, 883px" /><figcaption class="wp-element-caption">CSS・JavaScript入力用フォーム</figcaption></figure>
</div>


<p class="wp-block-paragraph">実は、プラグイン『WP Add Custom CSS』を使用すれば、CSSとJS専用の入力フォームは簡単に設置できます。</p>



<p class="wp-block-paragraph">しかし、このプラグインを使用する上での懸念点として、<strong><span class="swl-marker mark_orange">最終更新が「2022年」で止まっている</span></strong>ことが挙げられます。</p>



<p class="wp-block-paragraph">プラグインの更新が止まっているということは、その分だけ最新のセキュリティリスクに対応できていない可能性が高いため、人によってはこのプラグインの使用は避けたいと考えるかと思います。</p>



<p class="is-style-big_icon_check wp-block-paragraph">今回はそのような方へ向けて、<strong><span class="swl-marker mark_yellow">CSSやJavaScript用の入力フォームを自作するためのソースコード</span></strong>をご紹介します。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>この入力フォームに記述されたCSSやJavaScriptは、<strong>そのページにしか反映されません！</strong><br>つまり<strong><span class="swl-marker mark_yellow">ページごとのCSS・JavaScriptの個別設定がめちゃくちゃ簡単にできる</span></strong>ということです！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-bg_stripe wp-block-paragraph">ソースコードをfunctions.phpに貼りつけるだけで誰でも簡単に設置できるので、ぜひお試しください。</p>



<p class="wp-block-paragraph">functions.phpの編集方法がご不明な場合は、<a href="https://kekenta-it-blog.com/wp-edit-functions/">以下の記事</a>をご覧ください</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/10/eye-catch__wp-edit-functions__11133-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/wp-edit-functions/">【WordPress】functions.phpを編集する「３つ」の方法と編集時の注意点</a>
						<span class="p-blogCard__excerpt">WordPressで機能カスタマイズをする際は、必ずと言っていいほどfunctions.phpを編集することになります。 しかし、functions.phpを編集したことで何らかのエラーが発生&#8230;</span>					</div>
				</div>
			</div>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/wp-read-css-per-page/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【WordPress】特定ページにCSSを読み込む「５つ」の方法【早見リスト付】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/wp-how-to-load-js/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【WordPress】JavaScriptはどこに書けばいい？「３つの方法」を解説</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/change-to-swell/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">無料テーマCocoonからSWELLに乗り換えた７つの理由【WordPress】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/school-php-and-wp/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">PHPやWordPressを学ぶのにおすすめのプログラミングスクール【７選】</span>
			</a>
		</div>


<h2 class="wp-block-heading">【ソースコード】固定・投稿ページ編集画面にCSSやJSの入力用フォームを設置</h2>



<p class="is-style-bg_stripe wp-block-paragraph">以下の<strong><span class="swl-marker mark_yellow">ソースコードをfunction.phpに追記するだけで簡単に固定・投稿編集ページにCSSやJavaScriptの入力フォームが設置</span></strong>できます。</p>



<p class="is-style-icon_info wp-block-paragraph">functions.phpを編集する際は必ずバックアップをお取りください。</p>



<div class="swell-block-tab is-style-balloon" data-width-pc="auto" data-width-sp="auto"><ul class="c-tabList" role="tablist"><li class="c-tabList__item" role="presentation"><button role="tab" class="c-tabList__button" aria-selected="true" aria-controls="tab-4918ea92-0" data-onclick="tabControl">CSS入力フォーム用</button></li><li class="c-tabList__item" role="presentation"><button role="tab" class="c-tabList__button" aria-selected="false" aria-controls="tab-4918ea92-1" data-onclick="tabControl">JavaScript入力フォーム用</button></li></ul><div class="c-tabBody">
<div id="tab-4918ea92-0" class="c-tabBody__item" aria-hidden="false">
<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP"><code>// 投稿画面にカスタム CSS を追加
add_action(&#39;admin_menu&#39;, &#39;custom_css_hooks&#39;);
add_action(&#39;save_post&#39;,  &#39;save_custom_css&#39;);
add_action(&#39;wp_head&#39;,    &#39;insert_custom_css&#39;);

function custom_css_hooks() {
	// 投稿ページ編集画面用
	add_meta_box(&#39;custom_css&#39;, &#39;カスタム CSS&#39;, &#39;custom_css_input&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39;);
	// 固定ページ編集画面用
	add_meta_box(&#39;custom_css&#39;, &#39;カスタム CSS&#39;, &#39;custom_css_input&#39;, &#39;page&#39;, &#39;normal&#39;, &#39;high&#39;);
}

function custom_css_input() {
    global $post;
	echo &#39;&lt;input type=&quot;hidden&quot; name=&quot;custom_css_noncename&quot; id=&quot;custom_css_noncename&quot; value=&quot;&#39; . wp_create_nonce(&#39;custom-css&#39;) . &#39;&quot; /&gt;&#39;;
	echo &#39;&lt;textarea name=&quot;custom_css&quot; id=&quot;custom_css&quot; rows=&quot;5&quot; cols=&quot;30&quot; style=&quot;width:100%;&quot;&gt;&#39; . get_post_meta($post-&gt;ID, &#39;_custom_css&#39;, true) . &#39;&lt;/textarea&gt;&#39;;
}

function save_custom_css($post_id) {
	if ( ! isset( $_POST[&#39;custom_css_noncename&#39;] ) ) return $post_id;
    if ( ! wp_verify_nonce($_POST[&#39;custom_css_noncename&#39;], &#39;custom-css&#39;)) return $post_id;
    if (defined(&#39;DOING_AUTOSAVE&#39;) && DOING_AUTOSAVE) return $post_id;
    $custom_css = $_POST[&#39;custom_css&#39;];
    update_post_meta($post_id, &#39;_custom_css&#39;, $custom_css);
}

function insert_custom_css() {
    if (is_page() || is_single()) {
        if (have_posts()) : 
            while (have_posts()) : the_post();
                echo &#39;&lt;style type=&quot;text/css&quot;&gt;&#39; . get_post_meta(get_the_ID(), &#39;_custom_css&#39;, true) . &#39;&lt;/style&gt;&#39;;
            endwhile; 
        endif;
        rewind_posts();
    }
}</code></pre></div>
</div>



<div id="tab-4918ea92-1" class="c-tabBody__item" aria-hidden="true">
<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP"><code>// 投稿画面にカスタム js を追加
add_action(&#39;admin_menu&#39;, &#39;custom_js_hooks&#39;);
add_action(&#39;save_post&#39;,  &#39;save_custom_js&#39;);
add_action(&#39;wp_footer&#39;,  &#39;insert_custom_js&#39;);

function custom_js_hooks() {
	// 投稿ページ編集画面用
	add_meta_box(&#39;custom_js&#39;, &#39;カスタム JavaScript&#39;, &#39;custom_js_input&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39;);
	// 固定ページ編集画面用
	add_meta_box(&#39;custom_js&#39;, &#39;カスタム JavaScript&#39;, &#39;custom_js_input&#39;, &#39;page&#39;, &#39;normal&#39;, &#39;high&#39;);
}

function custom_js_input() {
    global $post;
    echo &#39;&lt;input type=&quot;hidden&quot; name=&quot;custom_js_noncename&quot; id=&quot;custom_js_noncename&quot; value=&quot;&#39; . wp_create_nonce(&#39;custom-js&#39;) . &#39;&quot; /&gt;&#39;;
    echo &#39;&lt;textarea name=&quot;custom_js&quot; id=&quot;custom_js&quot; rows=&quot;5&quot; cols=&quot;30&quot; style=&quot;width:100%;&quot;&gt;&#39; . get_post_meta($post-&gt;ID, &#39;_custom_js&#39;, true) . &#39;&lt;/textarea&gt;&#39;;
}

function save_custom_js($post_id) {
	if ( ! isset( $_POST[&#39;custom_js_noncename&#39;] ) ) return $post_id;
	if ( ! wp_verify_nonce($_POST[&#39;custom_js_noncename&#39;], &#39;custom-js&#39;)) return $post_id;
    if (defined(&#39;DOING_AUTOSAVE&#39;) && DOING_AUTOSAVE) return $post_id;
    $custom_js = $_POST[&#39;custom_js&#39;];
    update_post_meta($post_id, &#39;_custom_js&#39;, $custom_js);
}

function insert_custom_js() {
    if (is_page() || is_single()) {
        if (have_posts()) : 
            while (have_posts()) : the_post();
                echo &#39;&lt;script&gt;&#39; . get_post_meta(get_the_ID(), &#39;_custom_js&#39;, true) . &#39;&lt;/script&gt;&#39;;
            endwhile; 
        endif;
        rewind_posts();
    }
}</code></pre></div>
</div>
</div></div>



<p class="is-style-big_icon_check wp-block-paragraph">もちろん片方だけ設置しても問題ありません。</p>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">【解説】CSSの入力フォーム（例）</h2>



<p class="is-style-bg_stripe wp-block-paragraph">簡単にはなりますが、以下より<strong>CSSの入力フォームを例に挙げてソースコードの解説</strong>をします。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>ご自身で調整したいときのご参考にしていただければと思います！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-balloon_box wp-block-paragraph"><strong>① 「投稿ページ編集画面用」と「固定ページ編集画面」にそれぞれ入力フォームの設置を指定</strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP"><code>function custom_css_hooks() {
	// 投稿ページ編集画面用
	add_meta_box(&#39;custom_css&#39;, &#39;カスタム CSS&#39;, &#39;custom_css_input&#39;, &#39;post&#39;, &#39;normal&#39;, &#39;high&#39;);
	// 固定ページ編集画面用
	add_meta_box(&#39;custom_css&#39;, &#39;カスタム CSS&#39;, &#39;custom_css_input&#39;, &#39;page&#39;, &#39;normal&#39;, &#39;high&#39;);
}</code></pre></div>



<div class="swell-block-capbox cap_box"><div class="cap_box_ttl"><span>ポイント<span data-icon="LsLightbulb" data-id="4" style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" aria-hidden="true" class="swl-inline-icon"> </span></span></div><div class="cap_box_content">
<ul class="wp-block-list -list-under-dashed is-style-check_list">
<li>カスタム CSS　→　入力フォームの上部に表示されるフォームタイトル（※自由に変更可）</li>



<li>post　→　投稿ページ編集画面のこと</li>



<li>page　→　固定ページ編集画面のこと</li>
</ul>
</div></div>



<p class="is-style-balloon_box wp-block-paragraph"><strong>②</strong> <strong>出力する入力フォームをHTMLで記述</strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP" data-line="3"><code>function custom_css_input() {
    global $post;
	echo &#39;&lt;input type=&quot;hidden&quot; name=&quot;custom_css_noncename&quot; id=&quot;custom_css_noncename&quot; value=&quot;&#39; . wp_create_nonce(&#39;custom-css&#39;) . &#39;&quot; /&gt;&#39;;
	echo &#39;&lt;textarea name=&quot;custom_css&quot; id=&quot;custom_css&quot; rows=&quot;5&quot; cols=&quot;30&quot; style=&quot;width:100%;&quot;&gt;&#39; . get_post_meta($post-&gt;ID, &#39;_custom_css&#39;, true) . &#39;&lt;/textarea&gt;&#39;;
}</code></pre></div>



<p class="is-style-icon_info wp-block-paragraph">ハイライト行は<strong>CSRF攻撃対策用のトークンを生成している箇所</strong>になるので<strong><span class="swl-inline-color has-swl-deep-01-color">削除厳禁</span></strong>です！</p>



<p class="wp-block-paragraph">※<strong>CSRF攻撃</strong>については以下の記事で詳しく解説しています。</p>


<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__csrf-php__918-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/csrf-php/">【CSRF】攻撃の流れやPHPでの対策方法を解説【クロスサイトリクエストフォージェリ】</a>
						<span class="p-blogCard__excerpt">Webサイトへのセキュリティ攻撃の１つにCSRF（クロスサイトリクエストフォージェリ）というものがあります。 この記事では、 CSRFの攻撃の流れ 攻撃による影響・被害 PH&#8230;</span>					</div>
				</div>
			</div>
		</div>


<p class="is-style-balloon_box wp-block-paragraph"><strong>③</strong> <strong>入力フォームの入力内容を保存する処理</strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP" data-line="2,3"><code>function save_custom_css($post_id) {
	if ( ! isset( $_POST[&#39;custom_css_noncename&#39;] ) ) return $post_id;
    if ( ! wp_verify_nonce($_POST[&#39;custom_css_noncename&#39;], &#39;custom-css&#39;)) return $post_id;
    if (defined(&#39;DOING_AUTOSAVE&#39;) && DOING_AUTOSAVE) return $post_id;
    $custom_css = $_POST[&#39;custom_css&#39;];
    update_post_meta($post_id, &#39;_custom_css&#39;, $custom_css);
}</code></pre></div>



<p class="is-style-icon_info wp-block-paragraph">ハイライト行で②の処理で生成したトークンのチェックを行っているため<strong><span class="swl-inline-color has-swl-deep-01-color">削除厳禁</span></strong>です。<br>上記のソースコードは基本的にいじる必要はないかと思います。</p>



<p class="is-style-balloon_box wp-block-paragraph"><strong>④ 入力フォームのCSSを実際のページ上に反映</strong></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP"><code>function insert_custom_css() {
    if (is_page() || is_single()) {
        if (have_posts()) : 
            while (have_posts()) : the_post();
                echo &#39;&lt;style type=&quot;text/css&quot;&gt;&#39; . get_post_meta(get_the_ID(), &#39;_custom_css&#39;, true) . &#39;&lt;/style&gt;&#39;;
            endwhile; 
        endif;
        rewind_posts();
    }
}</code></pre></div>



<p class="is-style-icon_pen wp-block-paragraph">上記のソースコードで入力フォームに入力されているCSSをページへ読み込んでいます。<br>※ここの処理も基本的に変更する必要はありません。</p>



<h2 class="wp-block-heading">【補足】CSS用とJavaScript用ソースコードの違い</h2>



<p class="is-style-bg_stripe wp-block-paragraph">CSS用とJavaScript用ソースコードで、ひとつだけ違う点があるため念のため補足します。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>以下のソースコードで<strong><span class="swl-marker mark_yellow">該当する行（４行目）をハイライト</span></strong>しました。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<div class="swell-block-tab is-style-balloon" data-width-pc="auto" data-width-sp="auto"><ul class="c-tabList" role="tablist"><li class="c-tabList__item" role="presentation"><button role="tab" class="c-tabList__button" aria-selected="true" aria-controls="tab-16dea1f3-0" data-onclick="tabControl">CSS入力フォーム用</button></li><li class="c-tabList__item" role="presentation"><button role="tab" class="c-tabList__button" aria-selected="false" aria-controls="tab-16dea1f3-1" data-onclick="tabControl">JavaScript入力フォーム用</button></li></ul><div class="c-tabBody">
<div id="tab-16dea1f3-0" class="c-tabBody__item" aria-hidden="false">
<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP" data-line="4"><code>// 投稿画面にカスタム CSS を追加
add_action(&#39;admin_menu&#39;, &#39;custom_css_hooks&#39;);
add_action(&#39;save_post&#39;,  &#39;save_custom_css&#39;);
add_action(&#39;wp_head&#39;,    &#39;insert_custom_css&#39;);

～　以下、省略　～
</code></pre></div>
</div>



<div id="tab-16dea1f3-1" class="c-tabBody__item" aria-hidden="true">
<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-file="functions.php" data-lang="PHP" data-line="4"><code>// 投稿画面にカスタム js を追加
add_action(&#39;admin_menu&#39;, &#39;custom_js_hooks&#39;);
add_action(&#39;save_post&#39;,  &#39;save_custom_js&#39;);
add_action(&#39;wp_footer&#39;,  &#39;insert_custom_js&#39;);

～　以下、省略　～
</code></pre></div>
</div>
</div></div>



<p class="is-style-bg_stripe wp-block-paragraph">ご覧いただくと、<strong>CSSでは「wp_head」、JavaScriptでは「wp_footer」</strong>という記述になっています。</p>



<p class="wp-block-paragraph">これは分かりやすく言うと、<strong>以下のような違い</strong>になっています。</p>



<div class="wp-block-group has-border -border02"><div class="wp-block-group__inner-container">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>CSS　→　headタグ内で読み込む</li>



<li>JavaScript　→　bodyの閉じタグ直前で読み込む</li>
</ul>
</div></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>Web制作の知識をお持ちの方ならお分かりいただけるかと思いますが、JavaScriptは、<strong>HTML要素が読み込まれたあとに処理が実行されないと、思うような動きにならない</strong>場合があります。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">それを防ぐために、今回ご紹介するソースコードでも、JavaScriptの読み込みはあくまで「bodyの閉じタグ直前」になるよう記述しています。</p>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">いかがだったでしょうか。</p>



<p class="wp-block-paragraph">今回は、<strong><span class="swl-marker mark_yellow">固定ページ編集画面・投稿ページ編集画面にCSSやJavaScript用の入力フォームを設置するためのソースコード</span></strong>をご紹介しました。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>ご紹介したソースコードをfunctions.phpに追記するだけで誰でも簡単に入力フォームを設置できるので、ぜひお試しください！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">ちなみにですが、この記事でも使用している「<a href="//af.moshimo.com/af/c/click?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798&amp;url=https%3A%2F%2Fswell-theme.com%2F">SWELL</a><img decoding="async" width="1" height="1" src="//i.moshimo.com/af/i/impression?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798" alt="">」というテーマでは、functions.phpをいじらなくても、<strong>デフォルトでCSS・JavaScript用の入力フォームが設置</strong>されています。</p>



<p class="wp-block-paragraph">しかも以下の画像ように<strong>チェックボックスで細かな設定もできるようになっている</strong>ので大変便利です。</p>


<div class="wp-block-image is-style-shadow size_xs">
<figure class="aligncenter size-full"><img decoding="async" width="683" height="699" src="https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-8.png" alt="SWELLのカスタムCSS＆JSの入力フォーム" class="wp-image-10883" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-8.png 683w, https://kekenta-it-blog.com/wp-content/uploads/2024/08/image-8-293x300.png 293w" sizes="(max-width: 683px) 100vw, 683px" /><figcaption class="wp-element-caption">SWELLのカスタムCSS＆JSの入力フォーム</figcaption></figure>
</div>

<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>ご興味のある方は以下のボタンより<a href="//af.moshimo.com/af/c/click?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798&amp;url=https%3A%2F%2Fswell-theme.com%2F">テーマ公式サイト</a><img decoding="async" width="1" height="1" src="//i.moshimo.com/af/i/impression?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798" alt="">をご覧ください。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<div style="text-align:center;"><a href="//af.moshimo.com/af/c/click?a_id=4500848&#038;p_id=3885&#038;pc_id=9646&#038;pl_id=53838" rel="nofollow" referrerpolicy="no-referrer-when-downgrade" attributionsrc><img decoding="async" src="//image.moshimo.com/af-img/3130/000000053838.jpg" width="420" height="350" style="border:none;"></a><img decoding="async" src="//i.moshimo.com/af/i/impression?a_id=4500848&#038;p_id=3885&#038;pc_id=9646&#038;pl_id=53838" width="1" height="1" style="border:none;" loading="lazy"></div>



<div class="swell-block-button -html is-style-btn_shiny"><a href="//af.moshimo.com/af/c/click?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798&amp;url=https%3A%2F%2Fswell-theme.com%2F" rel="nofollow" referrerpolicy="no-referrer-when-downgrade" attributionsrc="">SWELLの公式サイトを見てみる &gt;</a><img decoding="async" src="//i.moshimo.com/af/i/impression?a_id=4500848&amp;p_id=3885&amp;pc_id=9646&amp;pl_id=53798" width="1" height="1" style="border:none;" alt="" loading="lazy"></div>



<p class="wp-block-paragraph">それでは、最後までご覧いただきありがとうございました！</p>


<div class="p-postListWrap"><ul class="p-postList -type-simple"><li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/change-to-swell/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2025-01-22" aria-label="公開日">2025-01-22</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="84">SWELL</span>
				</div>
			<h2 class="p-postList__title">無料テーマCocoonからSWELLに乗り換えた７つの理由【WordPress】</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/swell-relation-post-shcode/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-06-20" aria-label="公開日">2024-06-20</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="84">SWELL</span>
				</div>
			<h2 class="p-postList__title">【SWELL】関連記事を任意の場所に表示する方法【ショートコード】</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/swell-tocad-cat-branch/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-06-11" aria-label="公開日">2024-06-11</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="84">SWELL</span>
				</div>
			<h2 class="p-postList__title">【SWELL】「目次広告」の内容をカテゴリーごとに変更する方法</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/swell-tocad-hidden/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-06-10" aria-label="公開日">2024-06-10</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="84">SWELL</span>
				</div>
			<h2 class="p-postList__title">【SWELL】特定のページで目次広告を非表示にする方法</h2>		</div>
	</a>
</li>
<li class="p-postList__item">
	<a href="https://kekenta-it-blog.com/ps-sp-score-up/" class="p-postList__link">
		<div class="p-postList__body">
			<div class="p-postList__meta">
				<div class="p-postList__times c-postTimes u-thin">
	<time class="c-postTimes__posted icon-posted" datetime="2024-06-09" aria-label="公開日">2024-06-09</time></div>
		<span class="p-postList__cat u-thin icon-folder" data-cat-id="84">SWELL</span>
				</div>
			<h2 class="p-postList__title">PageSpeedのスマホスコアを約50点アップするためにしたこと</h2>		</div>
	</a>
</li>
</ul><div class="is-style-more_btn"><a href="https://kekenta-it-blog.com/category/wordpress/swell/" class="btn_text">SWELLの記事をもっと見る</a></div></div>]]></content:encoded>
					
					<wfw:commentRss>https://kekenta-it-blog.com/wp-inputform-for-css-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
