PageSourceSearch

https://hudsong.jp/%E5%85%8D%E8%B2%AC%E4%BA%8B%E9%A0%85/

html hudsong.jp collected 2026-10-02 10:44:04 UTC 180,595 bytes, 2,795 lines download raw bytes

1<!DOCTYPE html>
2<html lang="ja" data-loaded="false" data-scrolled="false" data-spmenu="closed">
3<head>
4<meta charset="utf-8">
5<meta name="format-detection" content="telephone=no">
6<meta http-equiv="X-UA-Compatible" content="IE=edge">
7<meta name="viewport" content="width=device-width, viewport-fit=cover">
8<!--||  JM Twitter Cards by jmau111 v14.1.0  ||-->
9<meta name="twitter:card" content="summary_large_image">
10<!-- [(-_-)@ creator: Missing critical option ! @(-_-)] -->
11<!-- [(-_-)@ site: Missing critical option ! @(-_-)] -->
12<meta name="twitter:title" content="免責事項">
13<meta name="twitter:description" content="当サイトは、アフィリエイトプログラムにより商品をご紹介しております。アフィリエイトプログラムとは、商品及びサービスの提供元と業務提携">
14<meta name="twitter:image" content="https://hudsong.jp/wp-content/plugins/jm-twitter-cards/admin/img/Twitter_logo_blue.png">
15<!--||  /JM Twitter Cards by jmau111 v14.1.0  ||-->
16<title>免責事項 &#8211; ハドゲー</title>
17<meta name='robots' content='max-image-preview:large' />
18<link rel='dns-prefetch' href='//www.googletagmanager.com' />
19<link rel="alternate" type="application/rss+xml" title="ハドゲー &raquo; フィード" href="https://hudsong.jp/feed/" />
20<link rel="alternate" type="application/rss+xml" title="ハドゲー &raquo; コメントフィード" href="https://hudsong.jp/comments/feed/" />
21		<!-- This site uses the Google Analytics by MonsterInsights plugin v11.3.0 - Using Analytics tracking - https://www.monsterinsights.com/ -->
vendor: 59 bytes, lines 21-22
21
22							<script src="//www.googletagmanager.com/gtag/js?id=
22G-YQP8NFE95L
vendor: 91 bytes, lines 22-23
22"  data-cfasync="false" data-wpfc-render="false" type="text/javascript" async></script>
23			
23<script data-cfasync="false" data-wpfc-render="false" type="text/javascript">
24				var mi_version = '11.3.0';
25				var mi_track_user = true;
26				var mi_no_track_reason = '';
27								var MonsterInsightsDefaultLocations = {"page_location":"https:\/\/hudsong.jp\/%E5%85%8D%E8%B2%AC%E4%BA%8B%E9%A0%85\/"};
28								if ( typeof MonsterInsightsPrivacyGuardFilter === 'function' ) {
29					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsPrivacyGuardFilter( MonsterInsightsExcludeQuery ) : MonsterInsightsPrivacyGuardFilter( MonsterInsightsDefaultLocations );
30				} else {
31					var MonsterInsightsLocations = (typeof MonsterInsightsExcludeQuery === 'object') ? MonsterInsightsExcludeQuery : MonsterInsightsDefaultLocations;
32				}
33
34								var disableStrs = [
35										'ga-disable-G-YQP8NFE95L',
36									];
37
38				/* Function to detect opted out users */
39				function __gtagTrackerIsOptedOut() {
40					for (var index = 0; index < disableStrs.length; index++) {
41						if (document.cookie.indexOf(disableStrs[index] + '=true') > -1) {
42							return true;
43						}
44					}
45
46					return false;
47				}
48
49				/* Disable tracking if the opt-out cookie exists. */
50				if (__gtagTrackerIsOptedOut()) {
51					for (var index = 0; index < disableStrs.length; index++) {
52						window[disableStrs[index]] = true;
53					}
54				}
55
56				/* Opt-out function */
57				function __gtagTrackerOptout() {
58					for (var index = 0; index < disableStrs.length; index++) {
59						document.cookie = disableStrs[index] + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
60						window[disableStrs[index]] = true;
61					}
62				}
63
64				if ('undefined' === typeof gaOptout) {
65					function gaOptout() {
66						__gtagTrackerOptout();
67					}
68				}
69								window.dataLayer = window.dataLayer || [];
70
71				window.MonsterInsightsDualTracker = {
72					helpers: {},
73					trackers: {},
74				};
75				if (mi_track_user) {
76					function __gtagDataLayer() {
77						dataLayer.push(arguments);
78					}
79
80					function __gtagTracker(type, name, parameters) {
81						if (!parameters) {
82							parameters = {};
83						}
84
85						if (parameters.send_to) {
86							__gtagDataLayer.apply(null, arguments);
87							return;
88						}
89
90						if (type === 'event') {
91														parameters.send_to = monsterinsights_frontend.v4_id;
92							var hookName = name;
93							if (typeof parameters['event_category'] !== 'undefined') {
94								hookName = parameters['event_category'] + ':' + name;
95							}
96
97							if (typeof MonsterInsightsDualTracker.trackers[hookName] !== 'undefined') {
98								MonsterInsightsDualTracker.trackers[hookName](parameters);
99							} else {
100								__gtagDataLayer('event', name, parameters);
101							}
102							
103						} else {
104							__gtagDataLayer.apply(null, arguments);
105						}
106					}
107
108					__gtagTracker('js', new Date());
109					__gtagTracker('set', {
110						'developer_id.dZGIzZG': true,
111											});
112					if ( MonsterInsightsLocations.page_location ) {
113						__gtagTracker('set', MonsterInsightsLocations);
114					}
115										__gtagTracker('config', 'G-YQP8NFE95L', {"forceSSL":"true","link_attribution":"true"} );
116										window.gtag = __gtagTracker;										(function () {
117						/* https://developers.google.com/analytics/devguides/collection/analyticsjs/ */
118						/* ga and __gaTracker compatibility shim. */
119						var noopfn = function () {
120							return null;
121						};
122						var newtracker = function () {
123							return new Tracker();
124						};
125						var Tracker = function () {
126							return null;
127						};
128						var p = Tracker.prototype;
129						p.get = noopfn;
130						p.set = noopfn;
131						p.send = function () {
132							var args = Array.prototype.slice.call(arguments);
133							args.unshift('send');
134							__gaTracker.apply(null, args);
135						};
136						var __gaTracker = function () {
137							var len = arguments.length;
138							if (len === 0) {
139								return;
140							}
141							var f = arguments[len - 1];
142							if (typeof f !== 'object' || f === null || typeof f.hitCallback !== 'function') {
143								if ('send' === arguments[0]) {
144									var hitConverted, hitObject = false, action;
145									if ('event' === arguments[1]) {
146										if ('undefined' !== typeof arguments[3]) {
147											hitObject = {
148												'eventAction': arguments[3],
149												'eventCategory': arguments[2],
150												'eventLabel': arguments[4],
151												'value': arguments[5] ? arguments[5] : 1,
152											}
153										}
154									}
155									if ('pageview' === arguments[1]) {
156										if ('undefined' !== typeof arguments[2]) {
157											hitObject = {
158												'eventAction': 'page_view',
159												'page_path': arguments[2],
160											}
161										}
162									}
163									if (typeof arguments[2] === 'object') {
164										hitObject = arguments[2];
165									}
166									if (typeof arguments[5] === 'object') {
167										Object.assign(hitObject, arguments[5]);
168									}
169									if ('undefined' !== typeof arguments[1].hitType) {
170										hitObject = arguments[1];
171										if ('pageview' === hitObject.hitType) {
172											hitObject.eventAction = 'page_view';
173										}
174									}
175									if (hitObject) {
176										action = 'timing' === arguments[1].hitType ? 'timing_complete' : hitObject.eventAction;
177										hitConverted = mapArgs(hitObject);
178										__gtagTracker('event', action, hitConverted);
179									}
180								}
181								return;
182							}
183
184							function mapArgs(args) {
185								var arg, hit = {};
186								var gaMap = {
187									'eventCategory': 'event_category',
188									'eventAction': 'event_action',
189									'eventLabel': 'event_label',
190									'eventValue': 'event_value',
191									'nonInteraction': 'non_interaction',
192									'timingCategory': 'event_category',
193									'timingVar': 'name',
194									'timingValue': 'value',
195									'timingLabel': 'event_label',
196									'page': 'page_path',
197									'location': 'page_location',
198									'title': 'page_title',
199									'referrer' : 'page_referrer',
200								};
201								for (arg in args) {
202																		if (!(!args.hasOwnProperty(arg) || !gaMap.hasOwnProperty(arg))) {
203										hit[gaMap[arg]] = args[arg];
204									} else {
205										hit[arg] = args[arg];
206									}
207								}
208								return hit;
209							}
210
211							try {
212								f.hitCallback();
213							} catch (ex) {
214							}
215						};
216						__gaTracker.create = newtracker;
217						__gaTracker.getByName = newtracker;
218						__gaTracker.getAll = function () {
219							return [];
220						};
221						__gaTracker.remove = noopfn;
222						__gaTracker.loaded = true;
223						window['__gaTracker'] = __gaTracker;
224					})();
225									} else {
226										console.log("");
227					(function () {
228						function __gtagTracker() {
229							return null;
230						}
231
232						window['__gtagTracker'] = __gtagTracker;
233						window['gtag'] = __gtagTracker;
234					})();
235									}
236			</script>
236
237							<!-- / Google Analytics by MonsterInsights -->
238		<style id="wp-img-auto-sizes-contain-inline-css">
239img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
240/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
241</style>
242<style id="wp-block-library-inline-css">
243:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
243--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
244
245/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
246</style>
247<style id="wp-block-heading-inline-css">
248h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
249/*# sourceURL=https://hudsong.jp/wp-includes/blocks/heading/style.min.css */
250</style>
251<style id="wp-block-latest-comments-inline-css">
252:where(.wp-block-latest-comments){padding-left:0}ol.wp-block-latest-comments{box-sizing:border-box;margin-left:0}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment)){line-height:1.1}:where(.wp-block-latest-comments:not([style*=line-height] .wp-block-latest-comments__comment-excerpt p)){line-height:1.8}.has-dates :where(.wp-block-latest-comments:not([style*=line-height])),.has-excerpts :where(.wp-block-latest-comments:not([style*=line-height])){line-height:1.5}.wp-block-latest-comments__comment{list-style:none;margin-bottom:1em}.has-avatars .wp-block-latest-comments__comment{list-style:none;min-height:2.25em}.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-excerpt,.has-avatars .wp-block-latest-comments__comment .wp-block-latest-comments__comment-meta{margin-left:3.25em}.wp-block-latest-comments__comment-excerpt p{font-size:.875em;margin:.36em 0 1.4em}.wp-block-latest-comments__comment-date{display:block;font-size:.75em}.wp-block-latest-comments .avatar,.wp-block-latest-comments__comment-avatar{border-radius:1.5em;display:block;float:left;height:2.5em;margin-right:.75em;width:2.5em}.wp-block-latest-comments[class*=-font-size] a,.wp-block-latest-comments[style*=font-size] a{font-size:inherit}
253/*# sourceURL=https://hudsong.jp/wp-includes/blocks/latest-comments/style.min.css */
254</style>
255<style id="wp-block-search-inline-css">
256.wp-block-search__button{margin-left:10px;word-break:normal}.wp-block-search__button.has-icon{line-height:0}.wp-block-search__button svg{fill:currentColor;height:1.25em;min-height:24px;min-width:24px;vertical-align:text-bottom;width:1.25em}:where(.wp-block-search__button){border:1px solid #ccc;padding:6px 10px}.wp-block-search__inside-wrapper{display:flex;flex:auto;flex-wrap:nowrap;max-width:100%}.wp-block-search__label{width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__button{box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;margin-left:0;max-width:100%}.wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{min-width:0!important;transition-property:width}.wp-block-search.wp-block-search__button-only .wp-block-search__input{flex-basis:100%;transition-duration:.3s}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper{overflow:hidden}.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__input{border-left-width:0!important;border-right-width:0!important;flex-basis:0;flex-grow:0;margin:0;min-width:0!important;padding-left:0!important;padding-right:0!important;width:0!important}:where(.wp-block-search__input){-webkit-appearance:initial;-moz-appearance:initial;appearance:none;border:1px solid #949494;flex-grow:1;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin-left:0;margin-right:0;min-width:3rem;padding:8px;text-decoration:unset!important;text-transform:inherit}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper){background-color:#fff;border:1px solid #949494;box-sizing:border-box;padding:4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input{border:none;border-radius:0;padding:0 4px}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) .wp-block-search__input:focus{outline:none}:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) :where(.wp-block-search__button){padding:4px 8px}.wp-block-search.aligncenter .wp-block-search__inside-wrapper{margin:auto}.wp-block[data-align=right] .wp-block-search.wp-block-search__button-only .wp-block-search__inside-wrapper{float:right}
257/*# sourceURL=https://hudsong.jp/wp-includes/blocks/search/style.min.css */
258</style>
259<style id="wp-block-group-inline-css">
260.wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative}
261/*# sourceURL=https://hudsong.jp/wp-includes/blocks/group/style.min.css */
262</style>
263
264<link rel='stylesheet' id='swell-icons-css' href='https://hudsong.jp/wp-content/themes/swell/build/css/swell-icons.css?ver=2.19.0' media='all' />
265<link rel='stylesheet' id='main_style-css' href='https://hudsong.jp/wp-content/themes/swell/build/css/main.css?ver=2.19.0' media='all' />
266<link rel='stylesheet' id='swell_blocks-css' href='https://hudsong.jp/wp-content/themes/swell/build/css/blocks.css?ver=2.19.0' media='all' />
267<style id="swell_custom-inline-css">
268:root{--swl-fz--content:4vw;--swl-font_family:"游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--swl-font_weight:500;--color_main:#04384c;--color_text:#333;--color_link:#1176d4;--color_htag:#04384c;--color_bg:#fdfdfd;--color_gradient1:#d8ffff;--color_gradient2:#87e7ff;--color_main_thin:rgba(5, 70, 95, 0.05 );--color_main_dark:rgba(3, 42, 57, 1 );--color_list_check:#04384c;--color_list_num:#04384c;
268--color_list_good:#86dd7b;--color_list_triangle:#f4e03a;--color_list_bad:#f36060;--color_faq_q:#d55656;--color_faq_a:#6599b7;--color_icon_good:#3cd250;--color_icon_good_bg:#ecffe9;--color_icon_bad:#4b73eb;--color_icon_bad_bg:#eafaff;--color_icon_info:#f578b4;--color_icon_info_bg:#fff0fa;--color_icon_announce:#ffa537;--color_icon_announce_bg:#fff5f0;--color_icon_pen:#7a7a7a;--color_icon_pen_bg:#f7f7f7;--color_icon_book:#787364;--color_icon_book_bg:#f8f6ef;--color_icon_point:#ffa639;--color_icon_check:#86d67c;--color_icon_batsu:#f36060;--color_icon_hatena:#5295cc;--color_icon_caution:#f7da38;--color_icon_memo:#84878a;--color_deep01:#e44141;--color_deep02:#3d79d5;--color_deep03:#63a84d;--color_deep04:#f09f4d;--color_pale01:#fff2f0;--color_pale02:#f3f8fd;--color_pale03:#f1f9ee;--color_pale04:#fdf9ee;--color_mark_blue:#b7e3ff;--color_mark_green:#bdf9c3;--color_mark_yellow:#fcf69f;--color_mark_orange:#ffddbc;--border01:solid 1px var(--color_main);--border02:double 4px var(--color_main);--border03:dashed 2px var(--color_border);--border04:solid 4px var(--color_gray);--card_posts_thumb_ratio:56.25%;--list_posts_thumb_ratio:61.805%;--big_posts_thumb_ratio:56.25%;--thumb_posts_thumb_ratio:61.805%;--blogcard_thumb_ratio:56.25%;--color_header_bg:#fdfdfd;--color_header_text:#333;--color_footer_bg:#fdfdfd;--color_footer_text:#333;--container_size:1200px;--article_size:900px;--logo_size_sp:48px;--logo_size_pc:40px;--logo_size_pcfix:32px;}.swl-cell-bg[data-icon="doubleCircle"]{--cell-icon-color:#ffc977}.swl-cell-bg[data-icon="circle"]{--cell-icon-color:#94e29c}.swl-cell-bg[data-icon="triangle"]{--cell-icon-color:#eeda2f}.swl-cell-bg[data-icon="close"]{--cell-icon-color:#ec9191}.swl-cell-bg[data-icon="hatena"]{--cell-icon-color:#93c9da}.swl-cell-bg[data-icon="check"]{--cell-icon-color:#94e29c}.swl-cell-bg[data-icon="line"]{--cell-icon-color:#9b9b9b}.cap_box[data-colset="col1"]{--capbox-color:#f59b5f;--capbox-color--bg:#fff8eb}.cap_box[data-colset="col2"]{--capbox-color:#5fb9f5;--capbox-color--bg:#edf5ff}.cap_box[data-colset="col3"]{--capbox-color:#2fcd90;--capbox-color--bg:#eafaf2}.red_{--the-btn-color:#f74a4a;--the-btn-color2:#ffbc49;--the-solid-shadow: rgba(185, 56, 56, 1 )}.blue_{--the-btn-color:#338df4;--the-btn-color2:#35eaff;--the-solid-shadow: rgba(38, 106, 183, 1 )}.green_{--the-btn-color:#62d847;--the-btn-color2:#7bf7bd;--the-solid-shadow: rgba(74, 162, 53, 1 )}.is-style-btn_normal{--the-btn-radius:80px}.is-style-btn_solid{--the-btn-radius:80px}.is-style-btn_shiny{--the-btn-radius:80px}.is-style-btn_line{--the-btn-radius:80px}.post_content blockquote{padding:1.5em 2em 1.5em 3em}.post_content blockquote::before{content:"";display:block;width:5px;height:calc(100% - 3em);top:1.5em;left:1.5em;border-left:solid 1px rgba(180,180,180,.75);border-right:solid 1px rgba(180,180,180,.75);}.mark_blue{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_blue) 0%);background:linear-gradient(transparent 64%,var(--color_mark_blue) 0%)}.mark_green{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_green) 0%);background:linear-gradient(transparent 64%,var(--color_mark_green) 0%)}.mark_yellow{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_yellow) 0%);background:linear-gradient(transparent 64%,var(--color_mark_yellow) 0%)}.mark_orange{background:-webkit-linear-gradient(transparent 64%,var(--color_mark_orange) 0%);background:linear-gradient(transparent 64%,var(--color_mark_orange) 0%)}[class*="is-style-icon_"]{color:#333;border-width:0}[class*="is-style-big_icon_"]{border-width:2px;border-style:solid}[data-col="gray"] .c-balloon__text{background:#f7f7f7;border-color:#ccc}[data-col="gray"] .c-balloon__before{border-right-color:#f7f7f7}[data-col="green"] .c-balloon__text{background:#d1f8c2;border-color:#9ddd93}[data-col="green"] .c-balloon__before{border-right-color:#d1f8c2}[data-col="blue"] .c-balloon__text{background:#e2f6ff;border-color:#93d2f0}[data-col="blue"] .c-balloon__before{border-right-color:#e2f6ff}[data-col="red"] .c-balloon__text{background:#ffebeb;border-color:#f48789}[data-col="red"] .c-balloon__before{border-right-color:#ffebeb}[data-col="yellow"] .c-balloon__text{background:#f9f7d2;border-color:#fbe593}[data-col="yellow"] .c-balloon__before{border-right-color:#f9f7d2}.-type-list2 .p-postList__body::after,.-type-big .p-postList__body::after{content: "READ MORE »";}
268.c-postThumb__cat{background-color:#04384c;color:#fff;background-image: repeating-linear-gradient(-45deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 6px,transparent 6px,transparent 12px)}.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){background:var(--color_htag);padding:.75em 1em;color:#fff}.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{position:absolute;display:block;pointer-events:none;content:"";top:-4px;left:0;width:100%;height:calc(100% + 4px);box-sizing:content-box;border-top:solid 2px var(--color_htag);border-bottom:solid 2px var(--color_htag)}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 .5em .5em}.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{content:"";width:100%;height:2px;background: repeating-linear-gradient(90deg, var(--color_htag) 0%, var(--color_htag) 29.3%, rgba(150,150,150,.2) 29.3%, rgba(150,150,150,.2) 100%)}.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){padding:0 0 0 16px;border-left:solid 2px var(--color_htag)}.l-header{box-shadow: 0 1px 4px rgba(0,0,0,.12)}.l-header__bar{color:#fff;background:var(--color_main)}.l-header__menuBtn{order:1}.l-header__customBtn{order:3}.c-gnav a::after{background:var(--color_main);width:100%;height:2px;transform:scaleX(0)}.p-spHeadMenu .menu-item.-current{border-bottom-color:var(--color_main)}.c-gnav > li:hover > a::after,.c-gnav > .-current > a::after{transform: scaleX(1)}.c-gnav .sub-menu{color:#333;background:#fff}.l-fixHeader::before{opacity:1}#pagetop{border-radius:50%}.c-widget__title.-spmenu{padding:.5em .75em;border-radius:var(--swl-radius--2, 0px);background:var(--color_main);color:#fff;}.c-widget__title.-footer{padding:.5em}.c-widget__title.-footer::before{content:"";bottom:0;left:0;width:40%;z-index:1;background:var(--color_main)}.c-widget__title.-footer::after{content:"";bottom:0;left:0;width:100%;background:var(--color_border)}.c-secTitle{border-left:solid 2px var(--color_main);padding:0em .75em}.p-spMenu{color:#333}.p-spMenu__inner::before{background:#fdfdfd;opacity:1}.p-spMenu__overlay{background:#000;opacity:0.6}[class*="page-numbers"]{color:#fff;background-color:#dedede}a{text-decoration: none}.l-topTitleArea.c-filterLayer::before{background-color:#000;opacity:0.2;content:""}@media screen and (min-width: 960px){:root{}}@media screen and (max-width: 959px){:root{}.l-header__logo{order:2;text-align:center}}@media screen and (min-width: 600px){:root{--swl-fz--content:16px;}}@media screen and (max-width: 599px){:root{}}@media (min-width: 1108px) {.alignwide{left:-100px;width:calc(100% + 200px);}}@media (max-width: 1108px) {.-sidebar-off .swell-block-fullWide__inner.l-container .alignwide{left:0px;width:100%;}}.l-fixHeader .l-fixHeader__gnav{order:0}[data-scrolled=true] .l-fixHeader[data-ready]{opacity:1;-webkit-transform:translateY(0)!important;transform:translateY(0)!important;visibility:visible}.-body-solid .l-fixHeader{box-shadow:0 2px 4px var(--swl-color_shadow)}.l-fixHeader__inner{align-items:stretch;color:var(--color_header_text);display:flex;padding-bottom:0;padding-top:0;position:relative;z-index:1}.l-fixHeader__logo{align-items:center;display:flex;line-height:1;margin-right:24px;order:0;padding:16px 0}.is-style-btn_normal a,.is-style-btn_shiny a{box-shadow:var(--swl-btn_shadow)}.c-shareBtns__btn,.is-style-balloon>.c-tabList .c-tabList__button,.p-snsCta,[class*=page-numbers]{box-shadow:var(--swl-box_shadow)}.p-articleThumb__img,.p-articleThumb__youtube{box-shadow:var(--swl-img_shadow)}.p-pickupBanners__item .c-bannerLink,.p-postList__thumb{box-shadow:0 2px 8px rgba(0,0,0,.1),0 4px 4px -4px rgba(0,0,0,.1)}.p-postList.-w-ranking li:before{background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1) 6px,transparent 0,transparent 12px);box-shadow:1px 1px 4px rgba(0,0,0,.2)}.l-header__bar{position:relative;width:100%}.l-header__bar .c-catchphrase{color:inherit;font-size:12px;letter-spacing:var(--swl-letter_spacing,.2px);line-height:14px;margin-right:auto;overflow:hidden;padding:4px 0;white-space:nowrap;width:50%}.l-header__bar .c-iconList .c-iconList__link{margin:0;padding:4px 6px}.l-header__barInner{align-items:center;display:flex;justify-content:flex-end}@media(min-width:960px){.-series .l-header__inner{align-items:stretch;display:flex}.-series .l-header__logo{align-items:center;display:flex;flex-wrap:wrap;margin-right:24px;padding:16px 0}.-series .l-header__logo .c-catchphrase{font-size:13px;padding:4px 0}.-series .c-headLogo{margin-right:16px}.-series-right .l-header__inner{justify-content:space-between}.-series-right .c-gnavWrap{margin-left:auto}.-series-right .w-header{margin-left:12px}.-series-left .w-header{margin-left:auto}}@media(min-width:960px)and (min-width:600px){.-series .c-headLogo{max-width:400px}}.c-gnav .sub-menu a:before,.c-listMenu a:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:icomoon!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.c-submenuToggleBtn{display:none}.c-listMenu a{padding:.75em 1em .75em 1.5em;transition:padding .25s}.c-listMenu a:hover{padding-left:1.75em;padding-right:.75em}.c-gnav .sub-menu a:before,.c-listMenu a:before{color:inherit;content:"";display:inline-block;left:2px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);vertical-align:middle}.widget_categories>ul>.cat-item>a,.wp-block-categories-list>li>a{padding-left:1.75em}.c-listMenu .children,.c-listMenu .sub-menu{margin:0}.c-listMenu .children a,.c-listMenu .sub-menu a{font-size:.9em;padding-left:2.5em}.c-listMenu .children a:before,.c-listMenu .sub-menu a:before{left:1em}.c-listMenu .children a:hover,.c-listMenu .sub-menu a:hover{padding-left:2.75em}.c-listMenu .children ul a,.c-listMenu .sub-menu ul a{padding-left:3.25em}.c-listMenu .children ul a:before,.c-listMenu .sub-menu ul a:before{left:1.75em}.c-listMenu .children ul a:hover,.c-listMenu .sub-menu ul a:hover{padding-left:3.5em}
268.c-gnav li:hover>.sub-menu{opacity:1;visibility:visible}.c-gnav .sub-menu:before{background:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.c-gnav .sub-menu .sub-menu{left:100%;top:0;z-index:-1}.c-gnav .sub-menu a{padding-left:2em}.c-gnav .sub-menu a:before{left:.5em}.c-gnav .sub-menu a:hover .ttl{left:4px}:root{--color_content_bg:var(--color_bg);}.c-widget__title.-side{padding:.5em}.c-widget__title.-side::before{content:"";bottom:0;left:0;width:40%;z-index:1;background:var(--color_main)}.c-widget__title.-side::after{content:"";bottom:0;left:0;width:100%;background:var(--color_border)}.page.-index-off .w-beforeToc{display:none}@media screen and (min-width: 960px){:root{}}@media screen and (max-width: 959px){:root{}}@media screen and (min-width: 600px){:root{}}@media screen and (max-width: 599px){:root{}}.swell-block-fullWide__inner.l-container{--swl-fw_inner_pad:var(--swl-pad_container,0px)}@media(min-width:960px){.-sidebar-on .l-content .alignfull,.-sidebar-on .l-content .alignwide{left:-16px;width:calc(100% + 32px)}.swell-block-fullWide__inner.l-article{--swl-fw_inner_pad:var(--swl-pad_post_content,0px)}.-sidebar-on .swell-block-fullWide__inner .alignwide{left:0;width:100%}.-sidebar-on .swell-block-fullWide__inner .alignfull{left:calc(0px - var(--swl-fw_inner_pad, 0))!important;margin-left:0!important;margin-right:0!important;width:calc(100% + var(--swl-fw_inner_pad, 0)*2)!important}}.-index-off .p-toc,.swell-toc-placeholder:empty{display:none}.p-toc.-modal{height:100%;margin:0;overflow-y:auto;padding:0}#main_content .p-toc{border-radius:var(--swl-radius--2,0);margin:4em auto;max-width:800px}#sidebar .p-toc{margin-top:-.5em}.p-toc .__pn:before{content:none!important;counter-increment:none}.p-toc .__prev{margin:0 0 1em}.p-toc .__next{margin:1em 0 0}.p-toc.is-omitted:not([data-omit=ct]) [data-level="2"] .p-toc__childList{height:0;margin-bottom:-.5em;visibility:hidden}.p-toc.is-omitted:not([data-omit=nest]){position:relative}.p-toc.is-omitted:not([data-omit=nest]):before{background:linear-gradient(hsla(0,0%,100%,0),var(--color_bg));bottom:5em;content:"";height:4em;left:0;opacity:.75;pointer-events:none;position:absolute;width:100%;z-index:1}.p-toc.is-omitted:not([data-omit=nest]):after{background:var(--color_bg);bottom:0;content:"";height:5em;left:0;opacity:.75;position:absolute;width:100%;z-index:1}.p-toc.is-omitted:not([data-omit=nest]) .__next,.p-toc.is-omitted:not([data-omit=nest]) [data-omit="1"]{display:none}.p-toc .p-toc__expandBtn{background-color:#f7f7f7;border:rgba(0,0,0,.2);border-radius:5em;box-shadow:0 0 0 1px #bbb;color:#333;display:block;font-size:14px;line-height:1.5;margin:.75em auto 0;min-width:6em;padding:.5em 1em;position:relative;transition:box-shadow .25s;z-index:2}.p-toc[data-omit=nest] .p-toc__expandBtn{display:inline-block;font-size:13px;margin:0 0 0 1.25em;padding:.5em .75em}.p-toc:not([data-omit=nest]) .p-toc__expandBtn:after,.p-toc:not([data-omit=nest]) .p-toc__expandBtn:before{border-top-color:inherit;border-top-style:dotted;border-top-width:3px;content:"";display:block;height:1px;position:absolute;top:calc(50% - 1px);transition:border-color .25s;width:100%;width:22px}.p-toc:not([data-omit=nest]) .p-toc__expandBtn:before{right:calc(100% + 1em)}.p-toc:not([data-omit=nest]) .p-toc__expandBtn:after{left:calc(100% + 1em)}.p-toc.is-expanded .p-toc__expandBtn{border-color:transparent}.p-toc__ttl{display:block;font-size:1.2em;line-height:1;position:relative;text-align:center}.p-toc__ttl:before{content:"";display:inline-block;font-family:icomoon;margin-right:.5em;padding-bottom:2px;vertical-align:middle}#index_modal .p-toc__ttl{margin-bottom:.5em}.p-toc__list li{line-height:1.6}.p-toc__list>li+li{margin-top:.5em}.p-toc__list .p-toc__childList{padding-left:.5em}.p-toc__list [data-level="3"]{font-size:.9em}.p-toc__list .mininote{display:none}.post_content .p-toc__list{padding-left:0}#sidebar .p-toc__list{margin-bottom:0}#sidebar .p-toc__list .p-toc__childList{padding-left:0}.p-toc__link{color:inherit;font-size:inherit;text-decoration:none}.p-toc__link:hover{opacity:.8}.p-toc.-double{background:var(--color_gray);background:linear-gradient(-45deg,transparent 25%,var(--color_gray) 25%,var(--color_gray) 50%,transparent 50%,transparent 75%,var(--color_gray) 75%,var(--color_gray));background-clip:padding-box;background-size:4px 4px;border-bottom:4px double var(--color_border);border-top:4px double var(--color_border);padding:1.5em 1em 1em}.p-toc.-double .p-toc__ttl{margin-bottom:.75em}@media(min-width:960px){#main_content .p-toc{width:92%}}@media(hover:hover){.p-toc .p-toc__expandBtn:hover{border-color:transparent;box-shadow:0 0 0 2px currentcolor}}@media(min-width:600px){.p-toc.-double{padding:2em}}
269/*# sourceURL=swell_custom-inline-css */
270</style>
271<link rel='stylesheet' id='swell-parts/footer-css' href='https://hudsong.jp/wp-content/themes/swell/build/css/modules/parts/footer.css?ver=2.19.0' media='all' />
272<link rel='stylesheet' id='swell-page/page-css' href='https://hudsong.jp/wp-content/themes/swell/build/css/modules/page/page.css?ver=2.19.0' media='all' />
273<style id="classic-theme-styles-inline-css">
274/*! This file is auto-generated */
275.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
275padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
276/*# sourceURL=/wp-includes/css/classic-themes.min.css */
277</style>
278
279<style id="global-styles-inline-css">
280:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--swl-main: var(--color_main);--wp--preset--color--swl-main-thin: var(--color_main_thin);--wp--preset--color--swl-gray: var(--color_gray);--wp--preset--color--swl-deep-01: var(--color_deep01);--wp--preset--color--swl-deep-02: var(--color_deep02);--wp--preset--color--swl-deep-03: var(--color_deep03);--wp--preset--color--swl-deep-04: var(--color_deep04);--wp--preset--color--swl-pale-01: var(--color_pale01);--wp--preset--color--swl-pale-02: var(--color_pale02);--wp--preset--color--swl-pale-03: var(--color_pale03);--wp--preset--color--swl-pale-04: var(--color_pale04);--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
280--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 0.9em;--wp--preset--font-size--medium: 1.1em;--wp--preset--font-size--large: 1.25em;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--xs: 0.75em;--wp--preset--font-size--huge: 1.6em;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-swl-main-color{color: var(--wp--preset--color--swl-main) !important;}.has-swl-main-thin-color{color: var(--wp--preset--color--swl-main-thin) !important;}.has-swl-gray-color{color: var(--wp--preset--color--swl-gray) !important;}.has-swl-deep-01-color{color: var(--wp--preset--color--swl-deep-01) !important;}.has-swl-deep-02-color{color: var(--wp--preset--color--swl-deep-02) !important;}.has-swl-deep-03-color{color: var(--wp--preset--color--swl-deep-03) !important;}.has-swl-deep-04-color{color: var(--wp--preset--color--swl-deep-04) !important;}.has-swl-pale-01-color{color: var(--wp--preset--color--swl-pale-01) !important;}.has-swl-pale-02-color{color: var(--wp--preset--color--swl-pale-02) !important;}.has-swl-pale-03-color{color: var(--wp--preset--color--swl-pale-03) !important;}.has-swl-pale-04-color{color: var(--wp--preset--color--swl-pale-04) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-swl-main-background-color{background-color: var(--wp--preset--color--swl-main) !important;}.has-swl-main-thin-background-color{background-color: var(--wp--preset--color--swl-main-thin) !important;}.has-swl-gray-background-color{background-color: var(--wp--preset--color--swl-gray) !important;}.has-swl-deep-01-background-color{background-color: var(--wp--preset--color--swl-deep-01) !important;}.has-swl-deep-02-background-color{background-color: var(--wp--preset--color--swl-deep-02) !important;}.has-swl-deep-03-background-color{background-color: var(--wp--preset--color--swl-deep-03) !important;}.has-swl-deep-04-background-color{background-color: var(--wp--preset--color--swl-deep-04) !important;}.has-swl-pale-01-background-color{background-color: var(--wp--preset--color--swl-pale-01) !important;}.has-swl-pale-02-background-color{background-color: var(--wp--preset--color--swl-pale-02) !important;}.has-swl-pale-03-background-color{background-color: var(--wp--preset--color--swl-pale-03) !important;}.has-swl-pale-04-background-color{background-color: var(--wp--preset--color--swl-pale-04) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-swl-main-border-color{border-color: var(--wp--preset--color--swl-main) !important;}.has-swl-main-thin-border-color{border-color: var(--wp--preset--color--swl-main-thin) !important;}.has-swl-gray-border-color{border-color: var(--wp--preset--color--swl-gray) !important;}.has-swl-deep-01-border-color{border-color: var(--wp--preset--color--swl-deep-01) !important;}.has-swl-deep-02-border-color{border-color: var(--wp--preset--color--swl-deep-02) !important;}.has-swl-deep-03-border-color{border-color: var(--wp--preset--color--swl-deep-03) !important;}.has-swl-deep-04-border-color{border-color: var(--wp--preset--color--swl-deep-04) !important;}.has-swl-pale-01-border-color{border-color: var(--wp--preset--color--swl-pale-01) !important;}.has-swl-pale-02-border-color{border-color: var(--wp--preset--color--swl-pale-02) !important;}.has-swl-pale-03-border-color{border-color: var(--wp--preset--color--swl-pale-03) !important;}.has-swl-pale-04-border-color{border-color: var(--wp--preset--color--swl-pale-04) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
280.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-xs-font-size{font-size: var(--wp--preset--font-size--xs) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;}
281/*# sourceURL=global-styles-inline-css */
282</style>
283
284<link rel='stylesheet' id='contact-form-7-css' href='https://hudsong.jp/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.1.7' media='all' />
285<style id="jetpack-stats-inline-css">
286img#wpstats{display:none}
287/*# sourceURL=jetpack-stats-inline-css */
288</style>
289<link rel='stylesheet' id='yyi_rinker_stylesheet-css' href='https://hudsong.jp/wp-content/plugins/yyi-rinker/css/style.css?v=1.13.0&#038;ver=7.1.2' media='all' />
290<link rel='stylesheet' id='tablepress-default-css' href='https://hudsong.jp/wp-content/plugins/tablepress/css/build/default.css?ver=3.4' media='all' />
291<link rel='stylesheet' id='child_style-css' href='https://hudsong.jp/wp-content/themes/swell_child/style.css?ver=2026041755316' media='all' />
292<link rel='stylesheet' id='pochipp-front-css' href='https://hudsong.jp/wp-content/plugins/pochipp/dist/css/style.css?ver=1.20.3' media='all' />
293<script async data-wp-strategy="async" id="monsterinsights-frontend-script-js" src="https://hudsong.jp/wp-content/plugins/google-analytics-for-wordpress/assets/js/frontend-gtag.min.js?ver=11.3.0"></script>
vendor: 1 bytes, line 293
293
294<script data-cfasync="false" data-wpfc-render="false" type="text/javascript" id='monsterinsights-frontend-script-js-extra'>/* <![CDATA[ */
295var monsterinsights_frontend = {"js_events_tracking":"true","download_extensions":"doc,pdf,ppt,zip,xls,docx,pptx,xlsx","inbound_paths":"[{\"path\":\"\\\/go\\\/\",\"label\":\"affiliate\"},{\"path\":\"\\\/recommend\\\/\",\"label\":\"affiliate\"}]","home_url":"https:\/\/hudsong.jp","hash_tracking":"false","v4_id":"G-YQP8NFE95L"};/* ]]> */
296</script>
296
297
298<!-- Site Kit によって追加された Google タグ(gtag.js)スニペット -->
299<!-- Google アナリティクス スニペット (Site Kit が追加) -->
vendor: 80 bytes, lines 299-300
299
300<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
300GT-PLTDMFHF
vendor: 18 bytes, line 300
300" async></script>
301<script id="google_gtagjs-js-after">
302window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
303gtag("set","linker",{"domains":["hudsong.jp"]});
304gtag("js", new Date());
305gtag("set", "developer_id.dZTNiMT", true);
306gtag("config", "GT-PLTDMFHF");
307 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 
308//# sourceURL=google_gtagjs-js-after
309</script>
309
310
311<noscript><link href="https://hudsong.jp/wp-content/themes/swell/build/css/noscript.css" rel="stylesheet"></noscript>
312<link rel="https://api.w.org/" href="https://hudsong.jp/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://hudsong.jp/wp-json/wp/v2/pages/227" /><link rel="canonical" href="https://hudsong.jp/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85/" />
313<link rel='shortlink' href='https://hudsong.jp/?p=227' />
314    <style id="aiw-sale-banner-css">
315    /* ベース(3スタイル共通) */
316    .aiw-sale-banner{max-width:700px;margin:1.4em auto;box-sizing:border-box;line-height:1.5;font-size:.95em}
317    .aiw-sale-banner__title{font-weight:700}
318    .aiw-sale-banner__sub{font-size:.84em;opacity:.9;margin-top:.15em}
319    /* warm = ベーシック(現行・温かいベージュ帯 + 🔥) */
320    .aiw-sale-banner--warm{display:flex;align-items:center;gap:.6em;padding:.7em 1.05em;border-radius:10px;background:linear-gradient(135deg,#fff6ec 0%,#ffe7d2 100%);border:1px solid #f0c79c;color:#8a2b16;--aiw-pulse:rgba(207,0,0,.16)}
321    .aiw-sale-banner--warm .aiw-sale-banner__icon{font-size:1.35em;line-height:1;flex:0 0 auto}
322    .aiw-sale-banner--warm .aiw-sale-banner__body{display:flex;flex-direction:column;min-width:0}
323    /* simple = \ テキスト /(箱なし・中央・楽天赤スラッシュ) */
324    .aiw-sale-banner--simple{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.35em 1em;color:#333}
325    .aiw-sale-banner--simple .aiw-sale-banner__icon{display:none}
326    .aiw-sale-banner--simple .aiw-sale-banner__title{position:relative;display:inline-block;padding:0 1.7em;font-size:1.06em}
327    .aiw-sale-banner--simple .aiw-sale-banner__title::before,.aiw-sale-banner--simple .aiw-sale-banner__title::after{position:absolute;top:50%;transform:translateY(-50%);color:#bf0000;font-weight:700;font-size:1.25em}
328    .aiw-sale-banner--simple .aiw-sale-banner__title::before{content:"\FF3C";
328left:0}
329    .aiw-sale-banner--simple .aiw-sale-banner__title::after{content:"\FF0F";right:0}
330    .aiw-sale-banner--simple .aiw-sale-banner__sub{color:#777}
331    /* feminine = 薄ピンクの pill(🌸) */
332    .aiw-sale-banner--feminine{display:flex;align-items:center;justify-content:center;gap:.55em;text-align:center;padding:.7em 1.2em;border-radius:999px;background:linear-gradient(135deg,#fff0f5 0%,#ffe3ef 100%);border:1px solid #f6c6da;color:#a83a63;--aiw-pulse:rgba(220,90,140,.20)}
333    .aiw-sale-banner--feminine .aiw-sale-banner__icon{font-size:1.2em;line-height:1;flex:0 0 auto}
334    .aiw-sale-banner--feminine .aiw-sale-banner__body{display:flex;flex-direction:column;min-width:0}
335    .aiw-sale-banner--feminine .aiw-sale-banner__sub{color:#c47a96}
336    /* 弱パルス(warm/feminine=影リング、simple=やわらかフェード)。reduced-motion で停止 */
337    .aiw-sale-banner--warm.aiw-sale-banner--pulse,.aiw-sale-banner--feminine.aiw-sale-banner--pulse{animation:aiw-sale-pulse 1.8s ease-in-out infinite}
338    @keyframes aiw-sale-pulse{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px var(--aiw-pulse,rgba(207,0,0,.16))}}
339    .aiw-sale-banner--simple.aiw-sale-banner--pulse{animation:aiw-sale-pulse-soft 1.6s ease-in-out infinite}
340    @keyframes aiw-sale-pulse-soft{0%,100%{opacity:1}50%{opacity:.62}}
341    @media (prefers-reduced-motion: reduce){.aiw-sale-banner--pulse{animation:none!important}}
342    </style>
343    <meta name="generator" content="Site Kit by Google 1.188.0" /><style>
344.yyi-rinker-images {
345    display: flex;
346    justify-content: center;
347    align-items: center;
348    position: relative;
349
350}
351div.yyi-rinker-image img.yyi-rinker-main-img.hidden {
352    display: none;
353}
354
355.yyi-rinker-images-arrow {
356    cursor: pointer;
357    position: absolute;
358    top: 50%;
359    display: block;
360    margin-top: -11px;
361    opacity: 0.6;
362    width: 22px;
363}
364
365.yyi-rinker-images-arrow-left{
366    left: -10px;
367}
368.yyi-rinker-images-arrow-right{
369    right: -10px;
370}
371
372.yyi-rinker-images-arrow-left.hidden {
373    display: none;
374}
375
376.yyi-rinker-images-arrow-right.hidden {
377    display: none;
378}
379div.yyi-rinker-contents.yyi-rinker-design-tate  div.yyi-rinker-box{
380    flex-direction: column;
381}
382
383div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-box .yyi-rinker-links {
384    flex-direction: column;
385}
386
387div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-info {
388    width: 100%;
389}
390
391div.yyi-rinker-contents.yyi-rinker-design-slim .yyi-rinker-title {
392    text-align: center;
393}
394
395div.yyi-rinker-contents.yyi-rinker-design-slim .yyi-rinker-links {
396    text-align: center;
397}
398div.yyi-rinker-contents.yyi-rinker-design-slim .yyi-rinker-image {
399    margin: auto;
400}
401
402div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-info ul.yyi-rinker-links li {
403	align-self: stretch;
404}
405div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-box div.yyi-rinker-info {
406	padding: 0;
407}
408div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-box {
409	flex-direction: column;
410	padding: 14px 5px 0;
411}
412
413.yyi-rinker-design-slim div.yyi-rinker-box div.yyi-rinker-info {
414	text-align: center;
415}
416
417.yyi-rinker-design-slim div.price-box span.price {
418	display: block;
419}
420
421div.yyi-rinker-contents.yyi-rinker-design-slim div.yyi-rinker-info div.yyi-rinker-title a{
422	font-size:16px;
423}
424
425div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li.amazonkindlelink:before,  div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li.amazonlink:before,  div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li.rakutenlink:before, div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li.yahoolink:before, div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li.mercarilink:before {
426	font-size:12px;
427}
428
429div.yyi-rinker-contents.yyi-rinker-design-slim ul.yyi-rinker-links li a {
430	font-size: 13px;
431}
432.entry-content ul.yyi-rinker-links li {
433	padding: 0;
434}
435
436div.yyi-rinker-contents .yyi-rinker-attention.attention_desing_right_ribbon {
437    width: 89px;
438    height: 91px;
439    position: absolute;
440    top: -1px;
441    right: -1px;
442    left: auto;
443    overflow: hidden;
444}
445
446div.yyi-rinker-contents .yyi-rinker-attention.attention_desing_right_ribbon span {
447    display: inline-block;
448    width: 146px;
449    position: absolute;
450    padding: 4px 0;
451    left: -13px;
452    top: 12px;
453    text-align: center;
454    font-size: 12px;
455    line-height: 24px;
456    -webkit-transform: rotate(45deg);
457    transform: rotate(45deg);
458    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
459}
460
461div.yyi-rinker-contents .yyi-rinker-attention.attention_desing_right_ribbon {
462    background: none;
463}
464.yyi-rinker-attention.attention_desing_right_ribbon .yyi-rinker-attention-after,
465.yyi-rinker-attention.attention_desing_right_ribbon .yyi-rinker-attention-before{
466display:none;
467}
468div.yyi-rinker-use-right_ribbon div.yyi-rinker-title {
469    margin-right: 2rem;
470}
471
472				</style><!-- Pochipp -->
473<style id="pchpp_custom_style">:root{--pchpp-color-inline: #069A8E;--pchpp-color-custom: #5ca250;--pchpp-color-custom-2: #8e59e4;--pchpp-color-amazon: #f99a0c;--pchpp-color-rakuten: #e0423c;--pchpp-color-yahoo: #438ee8;--pchpp-color-mercari: #3c3c3c;--pchpp-inline-bg-color: var(--pchpp-color-inline);
473--pchpp-inline-txt-color: #fff;--pchpp-inline-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.2);--pchpp-inline-radius: 0px;--pchpp-inline-width: auto;}</style>
474<script id="pchpp_vars">window.pchppVars = {};window.pchppVars.ajaxUrl = "https://hudsong.jp/wp-admin/admin-ajax.php";window.pchppVars.ajaxNonce = "54f0bd2c2d";</script>
474
475
476<!-- / Pochipp -->
477<style id="ai-ishin-card-design-css">
478/* AI 維新 Writer 連携アシスト — 楽天カードを「商品確認カード」風に強化 */
479/* 設計方針:
480   - HTML 構造は変えず、CSS のみで「比較表」→「商品確認カード」に変える
481   - カード本体は白ベースで清潔感を維持、購入リンクだけ楽天赤の pill ボタン化
482   - スマホでは CTA をフルワイドにしてタップしやすく
483   - aiw-rakuten-live (hybrid) / aiw-rakuten-campaign の動作を阻害しない
484
485   v1.7.16 (2026-05-06) Phase 0: CSS variables 導入
486   - 色定義を :root に集約 (見た目は v1.7.5 と同一、変数経由に変更しただけ)
487   - 後続 Phase で観点別評価チップ・件数バッジ・footer note・アイコン装飾を追加予定
488   - 全変数は --aiw-card-* / --aiw-cta-* / --aiw-rating-* / --aiw-review-* / --aiw-card-note-* で命名統一
489   - prefers-color-scheme 本格対応は将来課題 (現状はライトモード前提)
490*/
491
492/* ============================================
493 * Phase 0: カラートークン (CSS variables)
494 * ============================================ */
495.rakuten-info-card {
496    /* カード基本色 */
497    --aiw-card-border: #e5e7eb;
498    --aiw-card-bg: #fff;
499    --aiw-card-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
500    --aiw-card-th-bg: #f8fafc;
501    --aiw-card-th-color: #0f172a;
502    --aiw-card-td-color: #334155;
503    --aiw-card-divider: #d7dde5; /* v1.7.75: 区切り線を背景から見える薄さに調整 (濃すぎず埋もれず) */
504
505    /* CTA (購入リンク) */
506    --aiw-cta-bg: #bf0000;
507    --aiw-cta-bg-hover: #a80000;
508    --aiw-cta-color: #ffffff;
509    --aiw-cta-shadow: 0 3px 8px rgba(191, 0, 0, 0.22);
510    --aiw-cta-shadow-hover: 0 4px 10px rgba(191, 0, 0, 0.30);
511
512    /* おすすめポイント */
513    --aiw-feature-list-color: #334155;
514    --aiw-feature-list-marker: #94a3b8;
515
516    /* ratingDetail 観点別評価チップ (Phase B で活用) */
517    --aiw-rating-strong-bg: #d1fae5;        /* 4.7+ 濃緑 */
518    --aiw-rating-strong-color: #065f46;
519    --aiw-rating-good-bg: #ecfdf5;          /* 4.5-4.69 緑 */
520    --aiw-rating-good-color: #047857;
521    --aiw-rating-normal-bg: #f1f5f9;        /* 4.0-4.49 グレー */
522    --aiw-rating-normal-color: #475569;
523
524    /* レビュー件数バッジ (Phase C で活用) */
525    --aiw-review-count-bg: #fef3c7;
526    --aiw-review-count-color: #92400e;
527
528    /* footer note 「執筆時点」 (Phase D で活用) */
529    --aiw-card-note-color: #64748b;
530    --aiw-card-note-size: 0.78em;
531
532    /* アイコン装飾 (Phase A' / E で活用) */
533    --aiw-icon-size: 14px;
534    --aiw-icon-color: #475569;
535    --aiw-icon-color-accent: #bf0000;
536}
537
538/* ============================================
539 * 既存スタイル (v1.7.5 と同じ見た目、変数経由に変更)
540 * ============================================ */
541.rakuten-info-card {
542    border: 1px solid var(--aiw-card-border) !important;
543    border-radius: 10px;
544    overflow: hidden;
545    background: var(--aiw-card-bg);
546    box-shadow: var(--aiw-card-shadow);
547    margin: 1.8em 0 !important;
548}
549/* v1.7.71 (α) / v1.7.72: 公式クレジット集約カードのみ幅を絞る。専用 class 限定で、
550   .rakuten-info-card 全体 (= 全ユーザーの既存カード) には一切影響させない。
551   v1.7.72: SWELL 等のテーマ CSS に負けないよう max-width に !important、幅は 650px。 */
552.rakuten-info-card.aiw-card-credited {
553    max-width: 650px !important;
554    margin: 16px auto !important;
555}
556/* α カード下部の公式クレジット (Supported by Rakuten Developers + 取得時刻) の区切り線 */
557.rakuten-info-card .aiw-card-credit {
558    border-top: 1px solid var(--aiw-card-divider);
559    padding: 8px 14px !important;
560    margin: 0 !important;
561}
562.rakuten-info-card table {
563    margin: 0 !important;
564    width: 100%;
565    border-collapse: separate;
566    border-spacing: 0;
567}
568.rakuten-info-card th {
569    width: 24%;
570    background: var(--aiw-card-th-bg) !important;
571    color: var(--aiw-card-th-color);
572    font-weight: 700;
573    padding: 10px 16px !important;
574    border-bottom: 1px solid var(--aiw-card-divider) !important;
575    text-align: left !important;
576    vertical-align: middle;
577}
578.rakuten-info-card td {
579    background: var(--aiw-card-bg) !important;
580    color: var(--aiw-card-td-color);
581    padding: 10px 18px !important;
582    border-bottom: 1px solid var(--aiw-card-divider) !important;
583    vertical-align: middle;
584    line-height: 1.6;
585}
586/* v1.7.75 ① 強化: 区切り線がテーマCSS(SWELL等)に負けて出ないケースに備え、行クラス付きの高 specificity で再強制 */
587.rakuten-info-card table tr.aiw-card-row > th,
588.rakuten-info-card table tr.aiw-card-row > td {
589    border-bottom: 1px solid var(--aiw-card-divider) !important;
590}
591.rakuten-info-card table tr.aiw-card-row:last-child > th,
592.rakuten-info-card table tr.aiw-card-row:last-child > td {
593    border-bottom: 0 !important;
594}
595/* v1.7.75 ①: 画像と最初の行の間にも区切り線 (最初の行の上線) */
596.rakuten-info-card table tr.aiw-card-row:first-child > th,
597.rakuten-info-card table tr.aiw-card-row:first-child > td {
598    border-top: 1px solid var(--aiw-card-divider) !important;
599}
600.rakuten-info-card tr:last-child th,
601.rakuten-info-card tr:last-child td {
602    border-bottom: none !important;
603}
604/* v1.7.75 ②: 画像直下の商品名行を 2 行でクランプ (長い商品名がカードを縦に伸ばさない) */
605.rakuten-info-card .aiw-card-row--name .aiw-card-product-name {
606    display: -webkit-box;
607    -webkit-box-orient: vertical;
608    -webkit-line-clamp: 2;
609    line-clamp: 2;
610    overflow: hidden;
611    line-height: 1.5;
612    font-weight: 600;
613    word-break: break-word;
614}
615/* v1.7.94: カードのラベル列(th)の幅を明示 (owner実機確認済み・全カード共通)。
616   テーマ任せだと PC で広がりすぎ・スマホで「ホテ/ル名」と細かく折れる環境があった。
617   PC=160px (「おすすめポイント」8文字+アイコンが収まる) / スマホ=100px (4文字ラベルが1行)。
618   body プレフィックス+important はテーマCSSに確実に勝つための定石 (このプラグインで既出)。 */
619body figure.rakuten-info-card th {
620    width: 160px !important;
621}
622@media (max-width: 600px) {
623    body figure.rakuten-info-card th {
624        width: 100px !important;
625        min-width: 100px !important;
626    }
627}
628/* 購入先行のスポンサードリンクを pill 型 CTA ボタンに変身 (HTML 変更なし) */
629.rakuten-info-card tr:last-child td a[rel*="sponsored"] {
630    display: inline-flex;
631    align-items: center;
632    justify-content: center;
633    min-height: 38px;
634    padding: 8px 18px;
635    border-radius: 999px;
636    background: var(--aiw-cta-bg);
637    color: var(--aiw-cta-color) !important;
638    font-weight: 700;
639    text-decoration: none !important;
640    box-shadow: var(--aiw-cta-shadow);
641    transition: all 0.15s ease;
642}
643.rakuten-info-card tr:last-child td a[rel*="sponsored"]:hover {
644    background: var(--aiw-cta-bg-hover);
645    transform: translateY(-1px);
646    box-shadow: var(--aiw-cta-shadow-hover);
647}
648/* aiw-rakuten-live span は hybrid 動的置換用(インライン維持) */
649.aiw-rakuten-live { display: inline; }
650/* キャンペーン div は中身が空のときは完全非表示(Phase F でキャンペーン挿入時に解除される) */
651.aiw-rakuten-campaign:empty { display: none; }
652/* おすすめポイントの箇条書き (v1.7.6〜): SaaS 側で <ul class="rakuten-feature-list"> として出力 */
653/* おすすめポイントの箇条書き
654 *   SaaS 側 (src/lib/product-enrichment.js) には 2 経路あり:
655 *     - renderBulletListHTML(): <ul class="rakuten-feat-list"> (主要経路、比較表 + H2 末尾 CTA)
656 *     - fb.bullets fallback:    <ul class="rakuten-feature-list"> (フォールバック経路)
657 *   両方に同じスタイルを当てる (v1.7.16 で両対応化、GPT post-impl review 指摘)
658 */
659.rakuten-info-card .rakuten-feature-list,
660.rakuten-info-card .rakuten-feat-list {
661    margin: 0 !important;
662    padding-left: 1.3em !important;
663    list-style: disc !important;
664    color: var(--aiw-feature-list-color);
665}
666.rakuten-info-card .rakuten-feature-list li,
667.rakuten-info-card .rakuten-feat-list li {
668    margin: 4px 0 !important;
669    line-height: 1.6;
670}
671.rakuten-info-card .rakuten-feature-list li::marker,
672.rakuten-info-card .rakuten-feat-list li::marker {
673    color: var(--aiw-feature-list-marker);
674}
675/* スマホ表示の調整 — 余白を詰めつつ CTA はフルワイドでタップしやすく */
676@media (max-width: 600px) {
677    .rakuten-info-card th {
678        width: 34%;
679        padding: 12px 10px !important;
680        font-size: 0.9em;
681    }
682    .rakuten-info-card td {
683        padding: 12px 12px !important;
684        font-size: 0.95em;
685    }
686    .rakuten-info-card tr:last-child td a[rel*="sponsored"] {
687        width: 100%;
688        min-height: 42px;
689    }
690}
691
692/* ============================================
693 * Phase B (v1.7.17): 観点別評価チップ (3 段階色分け)
694 *
695 * 設計合意 (Phase B Round 1+2 で Claude/GPT 6 条件全採用):
696 *   - selector を `.aiw-card-row--rating-detail` 配下に絞り、将来別用途の
697 *     aiw-rating-chip と巻き込まないようにする
698 *   - CSS variables には fallback hex 値を付け、Phase 0 未到達のキャッシュや
699 *     混在状態でも破綻しないようにする
700 *   - 既存「カードデザイン強化」OFF で消える (本ブロックは ai_ishin_card_design_is_enabled()
701 *     配下なので自動的に OFF で消える)
702 *
703 * 段階基準:
704 *   - 4.70+ : strong (濃緑 + bold)
705 *   - 4.50-4.69: good (淡緑)
706 *   - 4.00-4.49: normal (グレー)
707 *   - 4.00 未満は SaaS 側でフィルタ済 → CSS は不要
708 * ============================================ */
709.rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip {
710    display: inline-block;
711    padding: 3px 10px;
712    margin: 2px 4px 2px 0;
713    border-radius: 999px;
714    font-size: 0.85em;
715    font-weight: 500;
716    line-height: 1.5;
717    /* 既存 td の line-height 1.7 とのギャップを少し詰める */
718    vertical-align: middle;
719}
720
721.rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip strong {
722    margin-left: 4px;
723    /* 親の font-weight を継承 → tier ごとに切替 */
724    font-weight: inherit;
725}
726
727/* 4.70+ : 濃緑 + bold (最強推し) */
728.rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip--strong {
729    background: var(--aiw-rating-strong-bg, #d1fae5);
730    color: var(--aiw-rating-strong-color, #065f46);
731    font-weight: 700;
732}
733
734/* 4.50-4.69: 淡緑 (普通の良) */
735.rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip--good {
736    background: var(--aiw-rating-good-bg, #ecfdf5);
737    color: var(--aiw-rating-good-color, #047857);
738    font-weight: 600;
739}
740
741/* 4.00-4.49: グレー (並) */
742.rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip--normal {
743    background: var(--aiw-rating-normal-bg, #f1f5f9);
744    color: var(--aiw-rating-normal-color, #475569);
745}
746
747/* スマホ調整: チップを少し小さく (折り返し許容) */
748@media (max-width: 600px) {
749    .rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip {
750        font-size: 0.8em;
751        padding: 2px 8px;
752    }
753}
754
755/* ============================================
756 * Phase C (v1.7.18): レビュー件数バッジ
757 *
758 * 設計合意 (Phase C Round 1+2 で Claude/GPT 6 条件全採用):
759 *   - SaaS 側 renderReviewWithCountHTML() が出す
760 *     ★4.68 <span class="aiw-review-count">1,234件</span>
761 *     の件数 span を淡いバッジで強調表示
762 *   - selector を `.aiw-card-row--review` 配下に絞り、将来別用途と巻き込まない
763 *   - CSS variables には fallback hex 値を付け、混在状態でも破綻しない
764 *   - 既存「カードデザイン強化」OFF で消える (本ブロックは
765 *     ai_ishin_card_design_is_enabled() 配下なので自動的に OFF で消える)
766 *
767 * 表示意図:
768 *   「数千件レビュー」のような社会的証明 (social proof) を視覚的に強調
769 *   評価値 (★) と件数 (バッジ) を分離して情報構造を明確化
770 * ============================================ */
771.rakuten-info-card .aiw-card-row--review .aiw-review-count {
772    display: inline-block;
773    margin-left: 8px;
774    padding: 2px 8px;
775    border-radius: 6px;
776    background: var(--aiw-review-count-bg, #fef3c7);
777    color: var(--aiw-review-count-color, #92400e);
778    font-size: 0.85em;
779    font-weight: 600;
780    line-height: 1.4;
781    vertical-align: middle;
782}
783
784/* スマホ調整: バッジを少し小さく */
785@media (max-width: 600px) {
786    .rakuten-info-card .aiw-card-row--review .aiw-review-count {
787        font-size: 0.8em;
788        padding: 2px 6px;
789        margin-left: 6px;
790    }
791}
792
793/* ============================================
794 * Phase D (v1.7.19): カード末尾「執筆時点」注釈
795 *
796 * 設計合意 (Phase D Round 1+2 で Claude/GPT 3 条件全採用):
797 *   - SaaS 側 buildMainEntityCardHTML / buildInfoCardHTML が
798 *     カード末尾 (</tbody></table> の直後、</figure> の直前) に
799 *     <figcaption class="aiw-card-note">※掲載情報は執筆時点のものです。</figcaption>
800 *     を出力する。
801 *   - <figcaption> は figure 内の補足文として意味的に正しい (GPT R1 で <p> から変更)
802 *   - caption-side / display block でテーマ既定 figcaption スタイル上書き
803 *   - selector を `.rakuten-info-card` 配下に限定
804 *   - CSS variables fallback 値付き
805 *   - 既存「カードデザイン強化」OFF で消える (本ブロック ai_ishin_card_design_is_enabled() 配下)
806 *
807 * 表示意図:
808 *   読者に「価格・評価・件数は記事執筆時点の情報、時間経過で変わる可能性」を明示
809 *   各行末尾の「(執筆時点)」より読みやすく、信頼性をシンプルに伝える
810 * ============================================ */
811.rakuten-info-card .aiw-card-note {
812    /* テーマ既定 figcaption スタイル上書き対策 (GPT R1 推奨) */
813    caption-side: bottom;
814    display: block;
815
816    margin: 0;
817    padding: 8px 16px 12px;
818    font-size: var(--aiw-card-note-size, 0.78em);
819    color: var(--aiw-card-note-color, #64748b);
820    text-align: right;
821    line-height: 1.5;
822    border-top: 1px solid var(--aiw-card-divider, #eef2f7);
823}
824
825@media (max-width: 600px) {
826    .rakuten-info-card .aiw-card-note {
827        padding: 6px 12px 10px;
828        font-size: 0.72em;
829    }
830}
831
832/* ============================================
833 * Phase E-1+E-2 (v1.7.20): SVG アイコン表示
834 *
835 * SaaS 側 renderCardRow が出す
836 *   <span class="aiw-card-label-icon" data-aiw-icon="star" aria-hidden="true">
837 *     <svg class="aiw-icon"><use href="#aiw-icon-star"/></svg>
838 *   </span>
839 * の <svg> を sprite から描画。プラグイン未導入時は <use> が空で width/height: 0 → 消える挙動。
840 *
841 * Icons by Lucide (https://lucide.dev) - MIT License
842 * ============================================ */
843.rakuten-info-card .aiw-card-label-icon {
844    display: inline-flex;
845    align-items: center;
846    margin-right: 6px;
847    vertical-align: -2px;
848}
849
850.rakuten-info-card .aiw-card-label-icon .aiw-icon {
851    width: var(--aiw-icon-size, 14px);
852    height: var(--aiw-icon-size, 14px);
853    color: var(--aiw-icon-color, #475569);
854    flex-shrink: 0;
855}
856
857/* スマホ調整: アイコンを少し小さく */
858@media (max-width: 600px) {
859    .rakuten-info-card .aiw-card-label-icon .aiw-icon {
860        width: 12px;
861        height: 12px;
862    }
863}
864
865/* ============================================
866 * Phase E-5 (v1.7.21): 詳細表示設定 — 個別 4 toggles 制御
867 *
868 * 設計合意 (Phase E Round 3-4 で Claude/GPT 合意):
869 *   OFF セマンティクスを 2 種類に分離する:
870 *     - 「非表示」(icons / footer): 装飾そのものが消えても情報損失なし
871 *     - 「装飾解除」(chips / review_count): 評価値・件数は残し、装飾だけ外す
872 *       → テーマ衝突時に装飾を抑えつつ、SEO/比較判断に必要な情報を失わない
873 *
874 * 制御方式: body_class フィルター (ai_ishin_card_design_body_class) で
875 *   条件付き class を <body data-rsssl=1> に付与し、CSS で各要素を制御
876 *
877 * 付与される class (master ON 時のみ):
878 *   - aiw-card-design-icons-off
879 *   - aiw-card-design-chips-plain
880 *   - aiw-card-design-review-count-plain
881 *   - aiw-card-design-footer-off
882 *
883 * master OFF 時: 本ブロック自体出力されない (関数冒頭の is_enabled() ガード)
884 *   → body class も付かない、既存挙動維持
885 * ============================================ */
886
887/* --- 1. アイコン表示 OFF (display:none で非表示、ラベル文字は残る) --- */
888body.aiw-card-design-icons-off .rakuten-info-card .aiw-card-label-icon {
889    display: none !important;
890}
891
892/* --- 2. 観点別評価チップ OFF (装飾解除、plain inline 表示、評価値は残る) ---
893 * 既存 chip styling (background / border-radius / padding 等) を解除し、
894 * 立地 ★4.71 部屋 ★4.67 サービス ★4.66 ... のように plain text で並ぶようにする
895 */
896body.aiw-card-design-chips-plain .rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip {
897    display: inline !important;
898    background: none !important;
899    color: inherit !important;
900    padding: 0 !important;
901    margin: 0 8px 0 0 !important;
902    border-radius: 0 !important;
903    font-weight: normal !important;
904    font-size: inherit !important;
905    line-height: inherit !important;
906    vertical-align: baseline !important;
907}
908body.aiw-card-design-chips-plain .rakuten-info-card .aiw-card-row--rating-detail .aiw-rating-chip strong {
909    /* tier (strong/good/normal) ごとの font-weight も plain に揃える */
910    font-weight: normal !important;
911    margin-left: 4px !important;
912}
913
914/* --- 3. レビュー件数バッジ OFF (装飾解除、(1,234件) plain 表示、件数は残る) ---
915 * 既存 badge styling を解除し、件数を括弧付き plain inline に変換する
916 * ::before / ::after で括弧を補完 (元 HTML 側は「1,234件」のみで括弧なし)
917 */
918body.aiw-card-design-review-count-plain .rakuten-info-card .aiw-card-row--review .aiw-review-count {
919    display: inline !important;
920    background: none !important;
921    color: inherit !important;
922    padding: 0 !important;
923    margin: 0 0 0 6px !important;
924    border-radius: 0 !important;
925    font-weight: normal !important;
926    font-size: 0.92em !important;
927    line-height: inherit !important;
928    vertical-align: baseline !important;
929}
930body.aiw-card-design-review-count-plain .rakuten-info-card .aiw-card-row--review .aiw-review-count::before {
931    content: "(";
932}
933body.aiw-card-design-review-count-plain .rakuten-info-card .aiw-card-row--review .aiw-review-count::after {
934    content: ")";
935}
936
937/* --- 4. 「執筆時点」注釈 OFF (figcaption のみ非表示、本文中の表記には影響しない) --- */
938body.aiw-card-design-footer-off .rakuten-info-card .aiw-card-note {
939    display: none !important;
940}
941
942/* テーマ: フェミニン (薄ピンク・ローズpill・角丸大) */
943.rakuten-info-card {
944    --aiw-card-border:#f6cfe0; --aiw-card-bg:#fffafc; --aiw-card-th-bg:#fff2f7; --aiw-card-th-color:#9d2c5b;
945    --aiw-card-td-color:#5b3a48; --aiw-card-divider:#f0c6da; --aiw-card-shadow:0 6px 20px rgba(244,95,141,.12);
946    --aiw-cta-bg:linear-gradient(135deg,#ff8fb3,#f55f8d); --aiw-cta-bg-hover:linear-gradient(135deg,#f878a3,#ef4f82);
947    --aiw-cta-shadow:0 4px 12px rgba(244,95,141,.30); --aiw-cta-shadow-hover:0 6px 16px rgba(244,95,141,.40);
948    border-radius:16px;
949}
950</style>
951    <style id="ai-ishin-mini-cta-css">
952/* AI維新Writer 連携アシスト v1.7.15 — ミニCTA ボタン表示 (mode=button) */
953/* SaaS 側 <p class="aiw-mini-cta"> の inline style="text-align:right;" を上書きするため !important 必須 */
954.aiw-mini-cta {
955    text-align: right !important;
956    margin: 1.2em 0;
957}
958.aiw-mini-cta .aiw-mini-cta__link {
959    display:inline-block;    background-color: #bf0000;
960    color: #ffffff !important;
961    padding: 10px 18px;
962    border-radius: 999px;
963    font-size: 15px;
964    font-weight: 600;
965    text-decoration: none !important;
966    line-height: 1.4;
967    transition: background-color 0.15s ease, transform 0.15s ease;
968}
969.aiw-mini-cta .aiw-mini-cta__link:hover {
970    background-color: #a80000;
971    transform: translateY(-1px);
972}
973.aiw-mini-cta .aiw-mini-cta__link:focus {
974    outline: 2px solid #a80000;
975    outline-offset: 2px;
976}
977</style>
978    <style id="ai-ishin-affbtn-css">
979/* AI維新Writer 連携アシスト v1.7.51 — 手動アフィリエイトボタン デザイン */
980/* GPT 文殊 R3 合意の安全スコープ — 通常 SWELL ボタンには絶対に当てない設計 */
981
982/* リンク本体のデザイン */
983.aiw-affiliate-button a,
984a.aiw-affiliate-button,
985a[data-aiw-linktype="button"],
986.p-adBox[data-id] .-btn1 a,
987.p-adBox[data-id] .-btn2 a {
988    display:inline-block; width:auto;    background-color: #0066cc !important;
989    color: #ffffff !important;
990    padding: 14px 24px !important;
991    border-radius: 6px !important;
992    font-size: 16px !important;
993    font-weight: 600 !important;
994    text-decoration: none !important;
995    line-height: 1.4 !important;
996    box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
997    text-align: center !important;
998    transition: background-color 0.15s ease, transform 0.15s ease !important;
999}
1000
1001/* hover */
1002.aiw-affiliate-button a:hover,
1003a.aiw-affiliate-button:hover,
1004a[data-aiw-linktype="button"]:hover,
1005.p-adBox[data-id] .-btn1 a:hover,
1006.p-adBox[data-id] .-btn2 a:hover {
1007    background-color: #0052a3 !important;
1008    transform: translateY(-1px);
1009}
1010
1011/* focus (accessibility) */
1012.aiw-affiliate-button a:focus,
1013a.aiw-affiliate-button:focus,
1014a[data-aiw-linktype="button"]:focus,
1015.p-adBox[data-id] .-btn1 a:focus,
1016.p-adBox[data-id] .-btn2 a:focus {
1017    outline: 2px solid #0052a3 !important;
1018    outline-offset: 2px;
1019}
1020
1021/* 親要素の配置 (左/中央/右) */
1022.aiw-affiliate-button,
1023.swell-block-button:has(> a[data-aiw-linktype="button"]),
1024.wp-block-button:has(> a[data-aiw-linktype="button"]),
1025.swell-block-button:has(> a.aiw-affiliate-button),
1026.wp-block-button:has(> a.aiw-affiliate-button),
1027.p-adBox[data-id] .-btn1,
1028.p-adBox[data-id] .-btn2 {
1029    text-align: center !important;
1030}
1031</style>
1032    <style id="ai-ishin-commerce-locator-css">
1033/* AI維新Writer 連携アシスト — どこで売ってる系 商品カード (commerce-locator) */
1034/* Phase 0: hover + テキストやや小 + 商品名 line-clamp + スマホ最適化 (Pochipp 風の情報密度) */
1035/* v1.7.73: 一覧コンテナの最大幅を 700px・中央寄せ (横幅が広すぎる対策。単一カードと同方式)。
1036   list は inline で margin:16px 0 を持つため、中央寄せ(margin auto)は !important で上書きする。
1037   max-width も SWELL 等のテーマに負けないよう !important。既存記事にも表示時 CSS で遡って効く。 */
1038.aiw-commerce-product-list {
1039    max-width: 700px !important;
1040    margin-left: auto !important;
1041    margin-right: auto !important;
1042}
1043.aiw-commerce-product-card { transition: box-shadow 0.15s ease, transform 0.15s ease; }
1044.aiw-commerce-product-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.12); transform: translateY(-1px); }
1045/* 商品名: 楽天 itemName をほぼそのまま保持し、表示だけ 2 行 clamp。やや小さめ */
1046.aiw-commerce-product-card__title {
1047    font-size: 13px !important;
1048    line-height: 1.45 !important;
1049    display: -webkit-box;
1050    -webkit-box-orient: vertical;
1051    -webkit-line-clamp: 2;
1052    line-clamp: 2;
1053    overflow: hidden;
1054}
1055.aiw-commerce-product-card__button { font-size: 13px !important; padding: 7px 16px !important; transition: background-color 0.15s ease; }
1056.aiw-commerce-product-card:hover .aiw-commerce-product-card__button { background: #a30000 !important; }
1057/* Phase 1: 動的価格 + 取得時点 (asof)。プラグイン置換後の asof span は inline style を持たないため CSS で担保 */
1058.aiw-commerce-product-card__price { color: #bf0000; font-weight: 700; font-size: 15px; line-height: 1.3; }
1059.aiw-commerce-product-card__asof { color: #888; font-weight: 400; font-size: 11px; margin-left: 3px; white-space: nowrap; }
1060/* スマホ: さらに小さめ + 横並び維持 (画像を縮小) で視認性とスキャン性を確保 */
1061@media (max-width: 600px) {
1062    .aiw-commerce-product-card { gap: 10px !important; padding: 8px !important; }
1063    .aiw-commerce-product-card__image-wrap { flex: 0 0 84px !important; }
1064    .aiw-commerce-product-card__image { width: 84px !important; height: 84px !important; }
1065    .aiw-commerce-product-card__title { font-size: 12px !important; line-height: 1.4 !important; -webkit-line-clamp: 3; line-clamp: 3; }
1066    .aiw-commerce-product-card__price { font-size: 14px !important; }
1067    .aiw-commerce-product-card__asof { font-size: 10px !important; white-space: normal; }
1068    .aiw-commerce-product-card__button { font-size: 12px !important; padding: 6px 12px !important; }
1069}
1070</style>
1071    
1072<link rel="stylesheet" href="https://hudsong.jp/wp-content/themes/swell/build/css/print.css" media="print" >
1073</head>
1074<body data-rsssl=1>
1075<svg id="aiw-icon-sprite" aria-hidden="true" focusable="false" style="position:absolute;width:0;height:0;overflow:hidden;" xmlns="http://www.w3.org/2000/svg">
1076<defs>
1077<symbol id="aiw-icon-tag" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
1077<path d="M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z"/><circle cx="7.5" cy="7.5" r=".5" fill="currentColor"/></symbol>
1078<symbol id="aiw-icon-pin" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/><circle cx="12" cy="10" r="3"/></symbol>
1079<symbol id="aiw-icon-route" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="19" r="3"/><path d="M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"/><circle cx="18" cy="5" r="3"/></symbol>
1080<symbol id="aiw-icon-building" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z"/><path d="M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"/><path d="M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2"/><path d="M10 6h4"/><path d="M10 10h4"/><path d="M10 14h4"/><path d="M10 18h4"/></symbol>
1081<symbol id="aiw-icon-grid" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 12h18"/><path d="M12 3v18"/></symbol>
1082<symbol id="aiw-icon-sparkles" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"/><path d="M20 3v4"/><path d="M22 5h-4"/><path d="M4 17v2"/><path d="M5 18H3"/></symbol>
1083<symbol id="aiw-icon-feature" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11 18H3"/><path d="m15 18 2 2 4-4"/><path d="M16 12H3"/><path d="M16 6H3"/></symbol>
1084<symbol id="aiw-icon-yen" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9.5V21"/><path d="m6 3 6 6.5L18 3"/><path d="M6 15h12"/><path d="M6 11h12"/></symbol>
1085<symbol id="aiw-icon-percent" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="19" x2="5" y1="5" y2="19"/><circle cx="6.5" cy="6.5" r="2.5"/><circle cx="17.5" cy="17.5" r="2.5"/></symbol>
1086<symbol id="aiw-icon-star" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"/></symbol>
1087<symbol id="aiw-icon-star-detail" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526"/><circle cx="12" cy="8" r="6"/></symbol>
1088<symbol id="aiw-icon-calendar" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/></symbol>
1089<symbol id="aiw-icon-cart" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="8" cy="21" r="1"/><circle cx="19" cy="21" r="1"/><path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"/></symbol>
1090<symbol id="aiw-icon-search" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/></symbol>
1091<symbol id="aiw-icon-info" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/></symbol>
1092</defs>
1093</svg>
1094    <div id="body_wrap" class="wp-singular page-template-default page page-id-227 wp-theme-swell wp-child-theme-swell_child -body-solid -index-off -sidebar-on -frame-off id_227" >
1095<div id="sp_menu" class="p-spMenu -left">
1096	<div class="p-spMenu__inner">
1097		<div class="p-spMenu__closeBtn">
1098			<button class="c-iconBtn -menuBtn c-plainBtn" data-onclick="toggleMenu" aria-label="メニューを閉じる">
1099				<i class="c-iconBtn__icon icon-close-thin"></i>
1100			</button>
1101		</div>
1102		<div class="p-spMenu__body">
1103			<div class="c-widget__title -spmenu">
1104				MENU			</div>
1105			<div class="p-spMenu__nav">
1106				<ul class="c-spnav c-listMenu"><li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-227 current_page_item menu-item-236"><a href="https://hudsong.jp/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85/" aria-current="page">免責事項</a></li>
1107<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-237"><a href="https://hudsong.jp/%e9%81%8b%e5%96%b6%e8%80%85%e6%83%85%e5%a0%b1/">運営者情報</a></li>
1108<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://hudsong.jp/contactform/">お問い合わせ</a></li>
1109<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"><a href="https://hudsong.jp/praivacy/">プライバシー・ポリシー</a></li>
1110<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://hudsong.jp/sitemap-hudsong/">サイトマップ</a></li>
1111</ul>			</div>
1112					</div>
1113	</div>
1114	<div class="p-spMenu__overlay c-overlay" data-onclick="toggleMenu"></div>
1115</div>
1116<header id="header" class="l-header -series -series-right" data-spfix="1">
1117	<div class="l-header__bar pc_">
1118	<div class="l-header__barInner l-container">
1119		<div class="c-catchphrase">ゲームオタクサラリーマンの口コミ総合サイト</div><ul class="c-iconList">
1120						<li class="c-iconList__item -rss">
1121						<a href="https://hudsong.jp/feed/" target="_blank" rel="noopener" class="c-iconList__link u-fz-14 hov-flash" aria-label="rss">
1122							<i class="c-iconList__icon icon-rss" role="presentation"></i>
1123						</a>
1124					</li>
1125									<li class="c-iconList__item -search">
1126						<button class="c-iconList__link c-plainBtn u-fz-14 hov-flash" data-onclick="toggleSearch" aria-label="検索">
1127							<i class="c-iconList__icon icon-search" role="presentation"></i>
1128						</button>
1129					</li>
1130				</ul>
1131	</div>
1132</div>
1133	<div class="l-header__inner l-container">
1134		<div class="l-header__logo">
1135			<div class="c-headLogo -txt"><a href="https://hudsong.jp/" title="ハドゲー" class="c-headLogo__link" rel="home">ハドゲー</a></div>					</div>
1136		<nav id="gnav" class="l-header__gnav c-gnavWrap">
1137					<ul class="c-gnav">
1138			<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-227 current_page_item menu-item-236"><a href="https://hudsong.jp/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85/" aria-current="page"><span class="ttl">免責事項</span></a></li>
1139<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-237"><a href="https://hudsong.jp/%e9%81%8b%e5%96%b6%e8%80%85%e6%83%85%e5%a0%b1/"><span class="ttl">運営者情報</span></a></li>
1140<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://hudsong.jp/contactform/"><span class="ttl">お問い合わせ</span></a></li>
1141<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"><a href="https://hudsong.jp/praivacy/"><span class="ttl">プライバシー・ポリシー</span></a></li>
1142<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://hudsong.jp/sitemap-hudsong/"><span class="ttl">サイトマップ</span></a></li>
1143					</ul>
1144			</nav>
1145		<div class="l-header__customBtn sp_">
1146			<button class="c-iconBtn c-plainBtn" data-onclick="toggleSearch" aria-label="検索ボタン">
1147			<i class="c-iconBtn__icon icon-search"></i>
1148					</button>
1149	</div>
1150<div class="l-header__menuBtn sp_">
1151	<button class="c-iconBtn -menuBtn c-plainBtn" data-onclick="toggleMenu" aria-label="メニューボタン">
1152		<i class="c-iconBtn__icon icon-menu-thin"></i>
1153			</button>
1154</div>
1155	</div>
1156	</header>
1157<div id="fix_header" class="l-fixHeader -series -series-right">
1158	<div class="l-fixHeader__inner l-container">
1159		<div class="l-fixHeader__logo">
1160			<div class="c-headLogo -txt">
1160<a href="https://hudsong.jp/" title="ハドゲー" class="c-headLogo__link" rel="home">ハドゲー</a></div>		</div>
1161		<div class="l-fixHeader__gnav c-gnavWrap">
1162					<ul class="c-gnav">
1163			<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-227 current_page_item menu-item-236"><a href="https://hudsong.jp/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85/" aria-current="page"><span class="ttl">免責事項</span></a></li>
1164<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-237"><a href="https://hudsong.jp/%e9%81%8b%e5%96%b6%e8%80%85%e6%83%85%e5%a0%b1/"><span class="ttl">運営者情報</span></a></li>
1165<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"><a href="https://hudsong.jp/contactform/"><span class="ttl">お問い合わせ</span></a></li>
1166<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"><a href="https://hudsong.jp/praivacy/"><span class="ttl">プライバシー・ポリシー</span></a></li>
1167<li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-240"><a href="https://hudsong.jp/sitemap-hudsong/"><span class="ttl">サイトマップ</span></a></li>
1168					</ul>
1169			</div>
1170	</div>
1171</div>
1172<div id="breadcrumb" class="p-breadcrumb -bg-on"><ol class="p-breadcrumb__list l-container"><li class="p-breadcrumb__item"><a href="https://hudsong.jp/" class="p-breadcrumb__text"><span class="__home icon-home"> ホーム</span></a></li><li class="p-breadcrumb__item"><span class="p-breadcrumb__text">免責事項</span></li></ol></div><div id="content" class="l-content l-container" data-postid="227">
1173		<main id="main_content" class="l-mainContent l-article">
1174			<div class="l-mainContent__inner" data-clarity-region="article">
1175				<h1 class="c-pageTitle" data-style="b_bottom"><span class="c-pageTitle__inner">免責事項</span></h1>								<div class="post_content">
1176					<p>当サイトは、アフィリエイトプログラムにより商品をご紹介しております。<br />
1177アフィリエイトプログラムとは、商品及びサービスの提供元と業務提携を結んで商品やサービスを紹介するインターネット上のシステムです。<br />
1178従いまして、当サイトに掲載の商品は当サイトが販売している訳ではありません。</p>
1179<p>ご要望の商品、お支払い等はリンク先の販売店と直接のお取引となります。<br />
1180移動先サイトで提供される情報やサービスに関しては一切責任を負いません。<br />
1181そのため、特商法に基づく表記につきましてはリンク先をご確認頂けます様お願い致します。</p>
1182<p>当サイトや関連媒体における情報は掲載時のものであって、商品の価格・詳細、消費税、送料などの詳細はそのçŠ
1182¶æ³ã«å¿œã˜ã¦å¤‰ã‚ã‚‹å ´åˆã‚‚あります。</p>
1183<p>可能な限り正確な情報をお伝えするよう努めておりますが、情報が古くなる・誤情報が入るなどの可能性がございますが責任は負えませんのでご了承ください。</p>
1184<p>当サイトの他に、リンク先のサイトもよくご確認頂けます様お願い致します。<br />
1185当サイトの掲載情報をご利用頂く場合には、 お客様のご判断と責任におきましてご利用くださいますようお願い致します。</p>
1186<!--CusAds0-->
1187<div style="font-size: 0px; height: 0px; line-height: 0px; margin: 0; padding: 0; clear: both;"></div>				</div>
1188							</div>
1189					</main>
1190	<aside id="sidebar" class="l-sidebar">
1191	<div id="block-2" class="c-widget widget_block widget_search"><form role="search" method="get" action="https://hudsong.jp/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >検索</label><div class="wp-block-search__inside-wrapper" ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="検索" class="wp-block-search__button wp-element-button" type="submit" >検索</button></div></form><div class="blogmura-blogparts" data-chid="11214487" data-category="3" data-type="out"></div>
1191<script src="https://blogparts.blogmura.com/js/parts_view.js" async></script>
1191</div><div id="block-3" class="c-widget widget_block"><p>相互リンク<br>
1192<a href="https://hudsong.jp/" target="_blank">ハドゲー</a><br>
1193<a href="https://hopstepjumpers.jp/" target="_blank">カズくんのホテル宿泊攻略blog</a><br>
1194<a href="https://biyou0821.jp/" target="_blank">カズくんのコンサートblog<br>
1195</a><a href="https://basementginza.jp/" target="_blank">カズくんのお買い物blog</a><br>
1196<br>
1197</a><a href="https://tclinic-official.com/column/" target="_blank">Tクリニック</a><br></div><div id="block-4" class="c-widget widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container"><h2 class="wp-block-heading">Recent Comments</h2><div class="no-comments wp-block-latest-comments">表示できるコメントはありません。</div></div></div></div><div id="swell_ad_widget-3" class="c-widget widget_swell_ad_widget pc_"><!--shinobi1-->
1197<script type="text/javascript" src="//xa.shinobi.jp/ufo/192259901"></script>
1197<noscript><a href="//xa.shinobi.jp/bin/gg?192259901" target="_blank"><img src="//xa.shinobi.jp/bin/ll?192259901" border="0"></a><br><span style="font-size:9px"><img style="margin:0;vertical-align:text-bottom;" src="//img.shinobi.jp/tadaima/fj.gif" width="19" height="11"> </span></noscript><!--shinobi2--></div></aside>
1198</div>
1199<footer id="footer" class="l-footer">
1200	<div class="l-footer__inner">
1201			<div class="l-footer__foot">
1202			<div class="l-container">
1203						<p class="copyright">
1204				<span lang="en">&copy;</span>
1205				ハドゲー.			</p>
1206					</div>
1207	</div>
1208</div>
1209</footer>
1210<div class="p-fixBtnWrap">
1211	
1212			<button id="pagetop" class="c-fixBtn c-plainBtn hov-bg-main" data-onclick="pageTop" aria-label="ページトップボタン" data-has-text="">
1213			<i class="c-fixBtn__icon icon-chevron-up" role="presentation"></i>
1214					</button>
1215	</div>
1216
1217<div id="search_modal" class="c-modal p-searchModal">
1218	<div class="c-overlay" data-onclick="toggleSearch"></div>
1219	<div class="p-searchModal__inner">
1220		<form role="search" method="get" class="c-searchForm" action="https://hudsong.jp/" role="search">
1221	<input type="text" value="" name="s" class="c-searchForm__s s" placeholder="検索" aria-label="検索ワード">
1222	<button type="submit" class="c-searchForm__submit icon-search hov-opacity u-bg-main" value="search" aria-label="検索を実行する"></button>
1223</form>
1224		<button class="c-modal__close c-plainBtn" data-onclick="toggleSearch">
1225			<i class="icon-batsu"></i> 閉じる		</button>
1226	</div>
1227</div>
1228</div><!--/ #all_wrapp-->
1229<div class="l-scrollObserver" aria-hidden="true"></div>
1229<script>
1230var pochippSaleData = {
1231	amazon:{"start":"","end":"","text":""},
1232	rakuten:{"start":"","end":"","text":""},
1233	yahoo:{"start":"","end":"","text":""},
1234	mercari:{"start":"","end":"","text":""},
1235};
1236</script>
1236
1237	
1237<script type="speculationrules">
1238{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/swell_child/*","/wp-content/themes/swell/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1239</script>
vendor: 1 bytes, line 1239
1239
1240<script id="swell_script-js-extra">
1241var swellVars = {"siteUrl":"https://hudsong.jp/","restUrl":"https://hudsong.jp/wp-json/wp/v2/","ajaxUrl":"https://hudsong.jp/wp-admin/admin-ajax.php","ajaxNonce":"78f5ca2997","isLoggedIn":"","useAjaxAfterPost":"","useAjaxFooter":"","usePvCount":"1","isFixHeadSP":"1","tocListTag":"ol","tocTarget":"h3","tocPrevText":"\u524d\u306e\u30da\u30fc\u30b8\u3078","tocNextText":"\u6b21\u306e\u30da\u30fc\u30b8\u3078","tocCloseText":"\u6298\u308a\u305f\u305f\u3080","tocOpenText":"\u3082\u3063\u3068\u898b\u308b","tocOmitType":"ct","tocOmitNum":"15","tocMinnum":"2","tocAdPosition":"before","offSmoothScroll":"","psNum":"5","psNumSp":"2","psSpeed":"1500","psDelay":"5000"};
1242//# sourceURL=swell_script-js-extra
1243</script>
vendor: 1 bytes, line 1243
1243
1244<script id="swell_script-js" src="https://hudsong.jp/wp-content/themes/swell/build/js/main.min.js?ver=2.19.0"></script>
vendor: 1 bytes, line 1244
1244
1245<script id="wp-hooks-js" src="https://hudsong.jp/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 1245
1245
1246<script id="wp-i18n-js" src="https://hudsong.jp/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 1246
1246
1247<script id="wp-i18n-js-after">
1248wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
1249//# sourceURL=wp-i18n-js-after
1250</script>
vendor: 1 bytes, line 1250
1250
1251<script id="swv-js" src="https://hudsong.jp/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 1251
1251
1252<script id="contact-form-7-js-translations">
1253( function( domain, translations ) {
1254	var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
1255	localeData[""].domain = domain;
1256	wp.i18n.setLocaleData( localeData, domain );
1257} )( "contact-form-7", {"translation-revision-date":"2025-11-30 08:12:23+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=1; plural=0;","lang":"ja_JP"},"This contact form is placed in the wrong place.":["\u3053\u306e\u30b3\u30f3\u30bf\u30af\u30c8\u30d5\u30a9\u30fc\u30e0\u306f\u9593\u9055\u3063\u305f\u4f4d\u7f6e\u306b\u7f6e\u304b\u308c\u3066\u3044\u307e\u3059\u3002"],"Error:":["\u30a8\u30e9\u30fc:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
1258//# sourceURL=contact-form-7-js-translations
1259</script>
vendor: 1 bytes, line 1259
1259
1260<script id="contact-form-7-js-before">
1261var wpcf7 = {
1262    "api": {
1263        "root": "https:\/\/hudsong.jp\/wp-json\/",
1264        "namespace": "contact-form-7\/v1"
1265    }
1266};
1267//# sourceURL=contact-form-7-js-before
1268</script>
vendor: 1 bytes, line 1268
1268
1269<script id="contact-form-7-js" src="https://hudsong.jp/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 1269
1269
1270<script id="jquery-core-js" src="https://hudsong.jp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 1270
1270
1271<script id="jquery-js-after">
1272jQuery(document).ready(function() {
1273	jQuery(".964381989ecb0ea97f766df73a065af2").click(function() {
1274		jQuery.post(
1275			"https://hudsong.jp/wp-admin/admin-ajax.php", {
1276				"action": "quick_adsense_onpost_ad_click",
1277				"quick_adsense_onpost_ad_index": jQuery(this).attr("data-index"),
1278				"quick_adsense_nonce": "bf0d1bc0c2",
1279			}, function(response) { }
1280		);
1281	});
1282});
1283
1284//# sourceURL=jquery-js-after
1285</script>
vendor: 86 bytes, lines 1285-1286
1285
1286<script id="google-recaptcha-js" src="https://www.google.com/recaptcha/api.js?render=
12866LeDJdQmAAAAAGbucDKmc9ADpXODDJWFWrLQn0vk
vendor: 25 bytes, line 1286
1286&#038;ver=3.0"></script>
1287<script id="wp-polyfill-js" src="https://hudsong.jp/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0"></script>
vendor: 1 bytes, line 1287
1287
1288<script id="wpcf7-recaptcha-js-before">
1289var wpcf7_recaptcha = {
1290    "sitekey": "6LeDJdQmAAAAAGbucDKmc9ADpXODDJWFWrLQn0vk",
1291    "actions": {
1292        "homepage": "homepage",
1293        "contactform": "contactform"
1294    }
1295};
1296//# sourceURL=wpcf7-recaptcha-js-before
1297</script>
vendor: 1 bytes, line 1297
1297
1298<script id="wpcf7-recaptcha-js" src="https://hudsong.jp/wp-content/plugins/contact-form-7/modules/recaptcha/index.js?ver=6.1.7"></script>
vendor: 1 bytes, line 1298
1298
1299<script id="googlesitekit-events-provider-contact-form-7-js" src="https://hudsong.jp/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-contact-form-7-fac2a8013ba5ba355cd0.js" defer></script>
vendor: 1 bytes, line 1299
1299
1300<script id="googlesitekit-events-provider-content-events-js-before">
1301window._googlesitekit = window._googlesitekit || {};
1302window._googlesitekit.contentEvents = {"postID":227,"isSinglePost":false,"hasVimeoEmbed":false};
1303//# sourceURL=googlesitekit-events-provider-content-events-js-before
1304</script>
vendor: 1 bytes, line 1304
1304
1305<script id="googlesitekit-events-provider-content-events-js" src="https://hudsong.jp/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-c7172f3fd0e4d5ad62ef.js" defer></script>
vendor: 1 bytes, line 1305
1305
1306<script id="jetpack-stats-js-before">
1307_stq = window._stq || [];
1308_stq.push([ "view", {"v":"ext","blog":"225549388","post":"227","tz":"0","srv":"hudsong.jp","j":"1:16.2"} ]);
1309_stq.push([ "clickTrackerInit", "225549388", "227" ]);
1310//# sourceURL=jetpack-stats-js-before
1311</script>
vendor: 1 bytes, line 1311
1311
1312<script data-wp-strategy="defer" defer fetchpriority="low" id="jetpack-stats-js" src="https://stats.wp.com/e-202640.js"></script>
vendor: 1 bytes, line 1312
1312
1313<script id="swell_lazysizes-js" src="https://hudsong.jp/wp-content/themes/swell/assets/js/plugins/lazysizes.min.js?ver=5.3.1"></script>
vendor: 1 bytes, line 1313
1313
1314<script id="swell_set_fix_header-js" src="https://hudsong.jp/wp-content/themes/swell/build/js/front/set_fix_header.min.js?ver=2.19.0"></script>
1314
1315
1316<!-- JSON-LD @SWELL -->
1317<script type="application/ld+json">{"@context": "https://schema.org","@graph": [{"@type":"Organization","@id":"https:\/\/hudsong.jp\/#organization","name":"ハドゲー","url":"https:\/\/hudsong.jp\/"},{"@type":"WebSite","@id":"https:\/\/hudsong.jp\/#website","url":"https:\/\/hudsong.jp\/","name":"ハドゲー","description":"ゲームオタクサラリーマンの口コミ総合サイト"},{"@type":"WebPage","@id":"https:\/\/hudsong.jp\/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85\/","url":"https:\/\/hudsong.jp\/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85\/","name":"免責事項","description":"当サイトは、アフィリエイトプログラムにより商品をご紹介しております。 アフィリエイトプログラムとは、商品及びサービスの提供元と業務提携を結んで商品やサービスを紹介するインターネット上のシステムです。 従いまして、当サイトに掲載の商品は当サイトが販売している訳ではありません。 ご要望の商品、お支払い等はリンク先の販売店と直接のお取引となります。 移動先サイトで提供される情報やサービスに関しては一切責任を負いません。 そのため、特商法に基づく表記につきましてはリンク先をご確認頂けます様お願い致します。 当サイトや関連媒体における情報は掲載時のものであって、商品の価格・詳細、消費税、送料などの詳細は","isPartOf":{"@id":"https:\/\/hudsong.jp\/#website"}},{"@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https:\/\/hudsong.jp\/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85\/"},"headline":"免責事項","image":{"@type":"ImageObject","url":"https:\/\/hudsong.jp\/wp-content\/themes\/swell\/assets\/img\/no_img.png"},"datePublished":"2023-07-13T09:35:30+0000","dateModified":"2023-07-13T09:35:30+0000","author":{"@type":"Person","@id":"https:\/\/hudsong.jp\/%e5%85%8d%e8%b2%ac%e4%ba%8b%e9%a0%85\/#author","name":"hdsong","url":"https:\/\/hudsong.jp"},"publisher":{"@id":"https:\/\/hudsong.jp\/#organization"}}]}</script>
1317
1318<!-- / JSON-LD @SWELL -->
1319    <style>
1320    /* 画像 placeholder loading state (furusato + product 共通) */
1321    /*   実画像と同じサイズで loading state を出すことで、画像読込時の layout shift を防ぐ */
1322    .aiw-furusato-image-cell .aiw-furusato-image-loading,
1323    .aiw-furusato-card-image .aiw-furusato-image-loading,
1324    .aiw-rakuten-product-image-cell .aiw-rakuten-image-loading,
1325    .aiw-rakuten-product-card-image .aiw-rakuten-image-loading {
1326        display: inline-block;
1327        width: 96px;
1328        height: 96px;
1329        background: linear-gradient(90deg, #f0f0f0 0%, #e0e0e0 50%, #f0f0f0 100%);
1330        background-size: 200% 100%;
1331        animation: aiw-rakuten-image-loading 1.4s ease-in-out infinite;
1332        border-radius: 6px;
1333    }
1334    .aiw-furusato-card-image .aiw-furusato-image-loading,
1335    .aiw-rakuten-product-card-image .aiw-rakuten-image-loading {
1336        width: 168px;
1337        height: 168px;
1338    }
1339    @keyframes aiw-rakuten-image-loading {
1340        0%   { background-position: 200% 0; }
1341        100% { background-position: -200% 0; }
1342    }
1343    /* keyframe alias for backward compat (旧 v1.7.30〜32 名) */
1344    @keyframes aiw-furusato-loading {
1345        0%   { background-position: 200% 0; }
1346        100% { background-position: -200% 0; }
1347    }
1348    /* 取得失敗 → placeholder loading を非表示 (CSP 対応 inline 廃止 → JS data 属性) */
1349    [data-aiw-image-failed="true"] .aiw-furusato-image-loading,
1350    [data-aiw-image-failed="true"] .aiw-rakuten-image-loading,
1351    .aiw-furusato-image-cell[data-aiw-furusato-image-failed="1"] .aiw-furusato-image-loading,
1352    .aiw-furusato-card-image[data-aiw-furusato-image-failed="1"] .aiw-furusato-image-loading {
1353        display: none;
1354    }
1355    /* JS が画像挿入成功時に display:block に切り替えるクレジット表示 */
1356    /* 旧 class (aiw-furusato-rakuten-credit) と新 class (aiw-rakuten-credit) 両対応 */
1357    .aiw-furusato-rakuten-credit[data-aiw-furusato-credit="1"],
1358    .aiw-rakuten-credit[data-aiw-rakuten-credit="1"] {
1359        font-size: 11px;
1360        color: #666;
1361    }
1362    </style>
1363    
1363<script>
1364    (function() {
1365        'use strict';
1366        var FURUSATO_REST_URL = "https:\/\/hudsong.jp\/wp-json\/ai-ishin\/v1\/furusato\/image";
1367        var PRODUCT_REST_URL  = "https:\/\/hudsong.jp\/wp-json\/ai-ishin\/v1\/rakuten-product\/image";
1368        var INTERVAL_MS = 1200; // 楽天 API 1 秒 1 回上限 + 余裕 200ms
1369
1370        function escapeAttr(s) {
1371            return String(s).replace(/[&<>"']/g, function(c) {
1372                return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[c];
1373            });
1374        }
1375
1376        function fetchOne(restUrl, itemCode, token) {
1377            var url = restUrl + '?item_code=' + encodeURIComponent(itemCode) + '&token=' + encodeURIComponent(token);
1378            return fetch(url, { credentials: 'same-origin' })
1379                .then(function(res) {
1380                    if (!res.ok) return null;
1381                    return res.json();
1382                })
1383                .catch(function() { return null; });
1384        }
1385
1386        // GPT R2 P2 #4 反映: img.addEventListener('error', ...) で 404 時 fail-soft (CSP 対応)
1387        function buildImgWithErrorHandler(el, imgUrl, linkUrl) {
1388            var img = document.createElement('img');
1389            img.src = imgUrl;
1390            img.alt = '';
1391            img.loading = 'lazy';
1392            img.decoding = 'async';
1393            img.addEventListener('error', function() {
1394                // 404 等 img load 失敗 → 親セル空表示
1395                el.setAttribute('data-aiw-image-failed', 'true');
1396                el.innerHTML = '';
1397            });
1398            el.innerHTML = ''; // clear loading state
1399            if (linkUrl) {
1400                var a = document.createElement('a');
1401                a.href = linkUrl;
1402                a.rel = 'sponsored noopener noreferrer';
1403                a.target = '_blank';
1404                a.appendChild(img);
1405                el.appendChild(a);
1406            } else {
1407                el.appendChild(img);
1408            }
1409        }
1410
1411        function fillPlaceholder(el, data, type) {
1412            var imgUrl = data && data.image_url ? data.image_url : '';
1413            if (!imgUrl) {
1414                // 取得失敗 → loading を消すだけ (空セル / 空 div)
1415                el.setAttribute('data-aiw-image-failed', 'true');
1416                if (type === 'furusato') {
1417                    el.setAttribute('data-aiw-furusato-image-failed', '1'); // 旧互換
1418                    el.removeAttribute('data-aiw-furusato-image-pending');
1419                } else {
1420                    el.removeAttribute('data-aiw-rakuten-product-image-pending');
1421                }
1422                el.innerHTML = '';
1423                return false;
1424            }
1425            var linkUrl = data.link_url || '';
1426            buildImgWithErrorHandler(el, imgUrl, linkUrl);
1427            if (type === 'furusato') {
1428                el.removeAttribute('data-aiw-furusato-image-pending');
1429            } else {
1430                el.removeAttribute('data-aiw-rakuten-product-image-pending');
1431            }
1432            return true;
1433        }
1434
1435        function showCredits() {
1436            // 旧 class (furusato) と 新 class (rakuten) 両方を表示
1437            var creds = document.querySelectorAll(
1438                '.aiw-furusato-rakuten-credit[data-aiw-furusato-credit="1"]' +
1439                ',' +
1440                '.aiw-rakuten-credit[data-aiw-rakuten-credit="1"]'
1441            );
1442            creds.forEach(function(c) { c.style.display = 'block'; });
1443        }
1444
1445        // GPT R3 P2 #3 反映: 単一 sequencer で furusato + product 両 placeholder を 1 つの queue で処理
1446        //   → 1.2 秒間隔が機能間で守られる (= 楽天 API 1 秒 1 回上限を確実に遵守)
1447        function processSequentially() {
1448            // furusato + product 両方の placeholder を集める
1449            var furusatoPlaceholders = document.querySelectorAll('[data-aiw-furusato-image-pending="1"][data-aiw-furusato-item-code]');
1450            var productPlaceholders  = document.querySelectorAll('[data-aiw-rakuten-product-image-pending="1"][data-aiw-rakuten-item-code]');
1451
1452            var queue = [];
1453            furusatoPlaceholders.forEach(function(el) {
1454                queue.push({
1455                    el: el,
1456                    type: 'furusato',
1457                    itemCode: el.getAttribute('data-aiw-furusato-item-code'),
1458                    token: el.getAttribute('data-aiw-furusato-image-token'),
1459                    restUrl: FURUSATO_REST_URL,
1460                });
1461            });
1462            productPlaceholders.forEach(function(el) {
1463                queue.push({
1464                    el: el,
1465                    type: 'product',
1466                    itemCode: el.getAttribute('data-aiw-rakuten-item-code'),
1467                    token: el.getAttribute('data-aiw-rakuten-product-image-token'),
1468                    restUrl: PRODUCT_REST_URL,
1469                });
1470            });
1471
1472            if (queue.length === 0) return;
1473
1474            var anySuccess = false;
1475            var idx = 0;
1476
1477            function next() {
1478                if (idx >= queue.length) {
1479                    if (anySuccess) showCredits();
1480                    return;
1481                }
1482                var item = queue[idx];
1483                idx++;
1484                if (!item.itemCode || !item.token) {
1485                    // 必須属性欠落 → fail-soft
1486                    item.el.setAttribute('data-aiw-image-failed', 'true');
1487                    if (item.type === 'furusato') {
1488                        item.el.removeAttribute('data-aiw-furusato-image-pending');
1489                    } else {
1490                        item.el.removeAttribute('data-aiw-rakuten-product-image-pending');
1491                    }
1492                    item.el.innerHTML = '';
1493                    setTimeout(next, 0);
1494                    return;
1495                }
1496                fetchOne(item.restUrl, item.itemCode, item.token).then(function(data) {
1497                    var ok = fillPlaceholder(item.el, data, item.type);
1498                    if (ok) anySuccess = true;
1499                    setTimeout(next, INTERVAL_MS);
1500                });
1501            }
1502            next();
1503        }
1504
1505        if (document.readyState === 'loading') {
1506            document.addEventListener('DOMContentLoaded', processSequentially);
1507        } else {
1508            processSequentially();
1509        }
1510    })();
1511    </script>
1511
1512            
1512<script id="aiw-hotel-image-broken-hide">
1513    (function() {
1514        function hideBrokenHotelImages() {
1515            var figs = document.querySelectorAll('figure.aiw-hotel-image');
1516            figs.forEach(function(fig) {
1517                var img = fig.querySelector('img');
1518                if (!img) {
1519                    // img タグ自体無し → figure 非表示
1520                    fig.style.display = 'none';
1521                    return;
1522                }
1523                // 既に load 失敗している場合 (DOM 構築時点で broken と判明)
1524                if (img.complete && img.naturalWidth === 0) {
1525                    fig.style.display = 'none';
1526                    return;
1527                }
1528                // 今後の load error を監視
1529                img.addEventListener('error', function() {
1530                    fig.style.display = 'none';
1531                }, { once: true });
1532                // load 完了後も naturalWidth 0 (中身が空のまま 200 を返す楽天 CDN ケース)
1533                img.addEventListener('load', function() {
1534                    if (img.naturalWidth === 0 || img.naturalHeight === 0) {
1535                        fig.style.display = 'none';
1536                    }
1537                }, { once: true });
1538            });
1539        }
1540
1541        if (document.readyState === 'loading') {
1542            document.addEventListener('DOMContentLoaded', hideBrokenHotelImages);
1543        } else {
1544            hideBrokenHotelImages();
1545        }
1546    })();
1547    </script>
1547
1548            <style id="aiw-rich-table-style">
1549    /* ==== 共通レイアウト(全スタイル共通) ==== */
1550    figure.aiw-comparison-table {
1551        overflow-x: auto;
1552        -webkit-overflow-scrolling: touch;
1553        margin: 1.6em 0;
1554        background: #fff;
1555        /* 細いスクロールバー (Firefox) */
1556        scrollbar-width: thin;
1557        scrollbar-color: rgba(0,0,0,0.25) rgba(0,0,0,0.05);
1558    }
1559
1560        
1561    /* 細いスクロールバー (WebKit) */
1562    figure.aiw-comparison-table::-webkit-scrollbar {
1563        height: 8px;
1564    }
1565    figure.aiw-comparison-table::-webkit-scrollbar-thumb {
1566        background: rgba(0,0,0,0.25);
1567        border-radius: 4px;
1568    }
1569    figure.aiw-comparison-table::-webkit-scrollbar-track {
1570        background: rgba(0,0,0,0.05);
1571    }
1572    figure.aiw-comparison-table table {
1573        border-collapse: separate;
1574        border-spacing: 0;
1575        /* 2026-06-06 v1.7.81: min-width を 820→760 に (内容幅に近づけて余白を減らす・狭い画面は横スクロール)。 */
1576        min-width: 760px;
1577    }
1578    /* 2026-06-06 v1.7.81: 広い content 幅のテーマで table が width:100% のまま伸び、auto-layout で
1579     *   名前列・特徴列に余白が配分されて楽天ボタンがはみ出す問題 (owner報告)。
1580     *   width:auto !important (= 内容幅に収縮し余白配分を無くす) だが、単独セレクタでは SWELL の
1581     *   table{width:100%} に同 specificity で後勝ちされ効かなかった。→ body プレフィックスで specificity を
1582     *   1 段上げて確実に勝つ (このプラグインで既に使う定石)。max-width:100% で figure を超えず、超える幅は
1583     *   従来どおり横スクロール。margin auto で中央寄せ。 */
1584    body figure.aiw-comparison-table table {
1585        width: auto !important;
1586        max-width: 100% !important;
1587        margin-left: auto !important;
1588        margin-right: auto !important;
1589    }
1590    /* 2026-06-06 v1.7.81 最終手段: SWELL が table を width:100% で伸ばす環境でも確実に収めるため、
1591     *   figure(スクロールコンテナ)自体を 880px に上限化+中央寄せ。table はこの中に必ず収まるので
1592     *   楽天ボタンまで見える (画像列ありの table は min-width:840px なので 880 でほぼ余白なし)。
1593     *   figure は table より SWELL の干渉が少なく body プレフィックスで確実に勝てる。
1594     *   880px を超える content 幅では従来どおり overflow-x で横スクロール。 */
1595    body figure.aiw-comparison-table {
1596        /* 2026-06-06 v1.7.84: 上限 880→800px (owner要望)。:has 画像列の min-width も 800 に合わせてあるので
1597         *   表は800px幅でぴったり収まる。 */
1598        max-width: 800px !important;
1599        margin-left: auto !important;
1600        margin-right: auto !important;
1601    }
1602    figure.aiw-comparison-table thead th {
1603        font-weight: 600;
1604        white-space: nowrap;
1605        padding: 10px 12px;
1606        /* 2026-06-06 v1.7.83: 文字を少し小さく (0.92→0.86em) owner要望。 */
1607        font-size: 0.86em;
1608    }
1609    figure.aiw-comparison-table tbody th {
1610        position: sticky;
1611        left: 0;
1612        z-index: 1;
1613        font-weight: 600;
1614        padding: 12px;
1615        /* Phase X3.4: 列幅を明示してレイアウトシフト防止 + sticky 安定化 */
1616        /* v1.7.93: 名前列の下限を拡大 (160/140 → 185/175・owner実機確認済み)。
1617         *   特徴列(min360)に押されて長いホテル名が4行に折れていた問題の解消 (特徴は max330 で上限化)。 */
1618        width: 185px;
1619        min-width: 175px;
1620        max-width: 220px;
1621        white-space: normal;
1622        word-break: break-word;
1623    }
1624    /* 2026-05-12 v1.7.63: 中央寄せ・左寄せ強制ルール (GPT 文殊 R6 推奨値)
1625     *   v1.7.60-62 で tbody th 限定だった範囲を、class 直指定 + th/td 両対応で網羅化。
1626     *   - 中央寄せ対象: 名前列 (header+本文+th+td)、レビュー列 (header+本文)、ボタン列
1627     *   - 左寄せ維持: 特徴列 (header+本文) は箇条書きなので left + top のまま
1628     *   - anchor: display:inline-block + text-align:center で自身を中央寄せ
1629     *   - vertical-align で行高揃え (中央寄せ列は middle、特徴列は top) */
1630    figure.aiw-comparison-table .aiw-comparison-header-cell--name,
1631    figure.aiw-comparison-table .aiw-comparison-name-cell,
1632    figure.aiw-comparison-table th.aiw-comparison-name-cell,
1633    figure.aiw-comparison-table td.aiw-comparison-name-cell,
1634    figure.aiw-comparison-table .aiw-comparison-header-cell--review,
1635    figure.aiw-comparison-table .aiw-comparison-review-cell,
1636    figure.aiw-comparison-table .aiw-cmp-btn-cell {
1637        text-align: center !important;
1638        vertical-align: middle !important;
1639    }
1640    /* anchor: display:inline-block で width フィット、text-align で中央配置 */
1641    /* 2026-06-06 v1.7.81: 名前列が広すぎる対策 (owner報告)。内側 a に max-width を掛けて
1642     *   折り返させ、auto-layout でも列が広がらないようにする (セルの max-width:220px は
1643     *   auto-layout だと効かないため、内側 a の幅制約が本命の効き)ã€
1643‚日本語は keep-all より
1644     *   overflow-wrap:anywhere で長い容量表記等だけ逃がす。PC 200px / SP 140px。 */
1645    figure.aiw-comparison-table .aiw-comparison-name-cell a {
1646        display: inline-block !important;
1647        text-align: center !important;
1648        max-width: 160px;
1649        white-space: normal;
1650        overflow-wrap: anywhere;
1651        word-break: break-word;
1652        line-height: 1.45;
1653    }
1654    /* 2026-06-06 v1.7.81 (owner再test): 名前列の左右余白を縮小 (テキスト両側の空きが大きい指摘)。
1655     *   tbody th の padding:12px を名前列だけ左右 2px に + a の max-width も 160px に詰めて、
1656     *   中央寄せ時の左右の空きを小さくする。表全体の横幅も詰まり楽天ボタンまで収まりやすく。 */
1657    figure.aiw-comparison-table th.aiw-comparison-name-cell,
1658    figure.aiw-comparison-table td.aiw-comparison-name-cell,
1659    figure.aiw-comparison-table .aiw-comparison-header-cell--name {
1660        padding-left: 2px !important;
1661        padding-right: 2px !important;
1662    }
1663    @media (max-width: 600px) {
1664        /* v1.7.92: スマホの名前列を詰める (owner 実機確認済み)。sticky 1列目が画面の4割を
1665         *   占有していたのを約1/3に。文字は 0.9em でわずかに小さく、余白は10px維持。 */
1666        figure.aiw-comparison-table tbody th {
1667            padding: 10px;
1668            /* v1.7.93: 125/115 → 140/135 (長いホテル名の折り返し緩和・owner実機確認済み) */
1669            width: 140px;
1670            min-width: 135px;
1671            font-size: 0.9em;
1672        }
1673        figure.aiw-comparison-table .aiw-comparison-name-cell a {
1674            max-width: 120px;
1675        }
1676        /* v1.7.93: スマホでも特徴列に枠決め (横スクロールの総距離を短縮) */
1677        figure.aiw-comparison-table .aiw-comparison-feature-cell,
1678        figure.aiw-comparison-table .aiw-comparison-header-cell--feature {
1679            min-width: 280px;
1680            max-width: 300px;
1681        }
1682        /* v1.7.92: スマホのボタンは PC よりさらに1段大きく (タップしやすさ・owner 実機確認済み) */
1683        figure.aiw-comparison-table .aiw-cmp-btn {
1684            font-size: 1.05em;
1685            padding: 10px 18px;
1686        }
1687    }
1688    /* 特徴列: 箇条書きなので本文セルは左寄せ + 上揃え。
1689     * v1.7.92: ヘッダー「特徴」は他列に合わせて中央 (owner要望: ヘッダー行は全列中央で統一)。 */
1690    figure.aiw-comparison-table .aiw-comparison-feature-cell {
1691        text-align: left !important;
1692        vertical-align: top !important;
1693    }
1694    figure.aiw-comparison-table .aiw-comparison-header-cell--feature {
1695        text-align: center !important;
1696        vertical-align: middle !important;
1697    }
1698    /* v1.7.92: JS生成の画像列th・ボタン列th (画像/予約先) も中央で統一 */
1699    figure.aiw-comparison-table thead th.aiw-cmp-thumb-th,
1700    figure.aiw-comparison-table thead th.aiw-cmp-btn-th {
1701        text-align: center !important;
1702        vertical-align: middle !important;
1703    }
1704    figure.aiw-comparison-table tbody td {
1705        padding: 12px;
1706        vertical-align: top;
1707        /* 2026-06-06 v1.7.83: 文字を少し小さく (0.92→0.86em) owner要望。 */
1708        font-size: 0.86em;
1709    }
1710    /* 2026-05-12 v1.7.59: 通常楽天比較表 (商品 + トラベル共通) の特徴・レビュー列幅
1711     *   User 要望「特徴広く / レビュー狭く」+ ふるさと納税版 (aiw-furusato-comparison)
1712     *   との一貫性のため同じ値 (360 / 80) を採用。
1713     *   トラベル比較表も aiw-comparison-table クラスなので自動対応。
1714     *   商品/トラベル比較表は 3 列 (名前/特徴/レビュー) なので table min-width 820px で
1715     *   画像列 (92px) ON 時も 160 + 92 + 360 + 80 + padding ≒ 720 + α 確保。 */
1716    figure.aiw-comparison-table .aiw-comparison-feature-cell,
1717    figure.aiw-comparison-table .aiw-comparison-header-cell--feature {
1718        /* v1.7.93: 360px下限が figure(800px) 内で幅を取りすぎ名前列を圧迫 → 300〜330px に枠決め
1719         *   (owner実機確認済み)。箇条書きは折り返すだけで情報は失われなã
1719„。 */
1720        min-width: 300px;
1721        max-width: 330px;
1722    }
1723    figure.aiw-comparison-table .aiw-comparison-review-cell,
1724    figure.aiw-comparison-table .aiw-comparison-header-cell--review {
1725        /* 2026-05-12 v1.7.60: (執筆時点) 注釈をヘッダから消したのでさらに縮小可能 80→70 / 70→60 */
1726        width: 70px;
1727        min-width: 60px;
1728        white-space: nowrap;
1729        text-align: center;
1730    }
1731    /* 2026-05-12 v1.7.60: 「(執筆時点)」インライン注釈をヘッダから非表示
1732     *   既存記事は HTML に <span class="swl-fz">(執筆時点)</span> が含まれているが、
1733     *   テーブル下のクレジット表記に移行するため CSS で非表示にする (既存記事も自動対応) */
1734    figure.aiw-comparison-table .aiw-comparison-header-cell--review .swl-fz,
1735    figure.aiw-furusato-comparison .aiw-furusato-header-cell--review .swl-fz {
1736        display: none;
1737    }
1738    /* 2026-05-12 v1.7.60: テーブル下にクレジット表記を ::after で追加
1739     *   ふるさと納税版・楽天市場商品・楽天トラベル全ての比較表に共通適用
1740     * 2026-06-02 v1.7.78: ホテル比較表の総合評価を動的化したため「執筆時点」文言を撤去し、
1741     *   楽天ウェブサービスのクレジット表記に変更(動的/静的に矛盾しない出典明記)。
1742     *   厳密な取得時刻は各ホテルカード下部のクレジットが担保するため、表側は出典のみ。
1743     * 2026-06-02 v1.7.79 (GPT R1): SaaS が表下部に公式リンク(実HTML)クレジットを出す表には
1744     *   marker class .aiw-comparison-table--credited が付く。重複を避けるため :not(--credited) で
1745     *   この ::after 文字クレジットを抑制する。旧記事(marker無し)は従来どおり ::after を表示。 */
1746    figure.aiw-comparison-table:not(.aiw-comparison-table--credited)::after,
1747    figure.aiw-furusato-comparison:not(.aiw-comparison-table--credited)::after {
1748        content: "Supported by Rakuten Developers ・ 楽天APIデータ";
1749        display: block;
1750        margin-top: 6px;
1751        padding: 0 8px;
1752        font-size: 0.75em;
1753        color: #888;
1754        text-align: right;
1755        line-height: 1.4;
1756    }
1757    figure.aiw-comparison-table .aiw-cmp-btn-cell {
1758        text-align: center;
1759        white-space: nowrap;
1760    }
1761    figure.aiw-comparison-table .aiw-cmp-btn {
1762        display: inline-block;
1763        /* v1.7.92: ボタンを1サイズアップ (6px 12px/0.85em → 8px 16px/0.95em・owner 実機確認済み) */
1764        padding: 8px 16px;
1765        font-size: 0.95em;
1766        font-weight: 600;
1767        text-decoration: none;
1768        white-space: nowrap;
1769        transition: all 0.15s ease;
1770    }
1771    figure.aiw-comparison-table .aiw-cmp-btn:hover {
1772        text-decoration: none;
1773    }
1774    /* Phase X3.4-A: 画像列共通スタイル */
1775    figure.aiw-comparison-table .aiw-cmp-thumb-th {
1776        width: 92px;
1777        min-width: 92px;
1778        text-align: center;
1779    }
1780    figure.aiw-comparison-table .aiw-cmp-thumb-cell {
1781        width: 92px;
1782        min-width: 92px;
1783        padding: 8px;
1784        text-align: center;
1785        vertical-align: middle;
1786    }
1787    figure.aiw-comparison-table .aiw-cmp-thumb-cell a,
1788    figure.aiw-comparison-table .aiw-cmp-thumb-cell img {
1789        display: inline-block;
1790        line-height: 0;
1791    }
1792    figure.aiw-comparison-table .aiw-cmp-thumb-cell img {
1793        width: 76px;
1794        height: 76px;
1795        object-fit: cover;
1796        border-radius: 6px;
1797    }
1798
1799    /* ==== Phase F1.1 (2026-05-08), v1.7.25/26 (2026-05-09): ふるさと納税モード専用 比較表 ==== */
1800    /* 列構成 (6 列): 返礼品 / 寄付額 / 自治体 / 特徴 / レビュー / 寄付先 */
1801    /* v1.7.26: User 要望「特徴狭すぎ・レビュー広すぎ」を反映して再調整 */
1802    /*   合計 min-width: 240 + 120 + 150 + 360 + 80 + 180 = 1130px */
1803    /* v1.7.28: Phase F-Image 1 で画像列が ON 時のみ +100px → 1230px (画像列なし時は 1130px のまま) */
1804    figure.aiw-furusato-comparison table {
1805        min-width: 1130px;
1806    }
1807    /* 画像列が挿入された場合のみ width を拡張 (画像列のセルが 1 つでもあれば :has で検出) */
1808    figure.aiw-furusato-comparison:has(.aiw-furusato-image-cell) table {
1809        min-width: 1230px;
1810    }
1811    /* Phase F-Image 1: ふるさと納税画像列 (v1.7.28→v1.7.32 サイズ拡大) */
1812    /*   v1.7.32 (2026-05-09): User 要望「比較表画像 80→96px に拡大」 */
1813    figure.aiw-furusato-comparison .aiw-furusato-image-cell,
1814    figure.aiw-furusato-comparison .aiw-furusato-header-cell--image {
1815        width: 116px;
1816        min-width: 116px;
1817        text-align: center;
1818        vertical-align: middle;
1819        padding: 8px;
1820    }
1821    figure.aiw-furusato-comparison .aiw-furusato-image-cell a,
1822    figure.aiw-furusato-comparison .aiw-furusato-image-cell img {
1823        display: inline-block;
1824        line-height: 0;
1825    }
1826    figure.aiw-furusato-comparison .aiw-furusato-image-cell img {
1827        width: 96px;
1828        height: 96px;
1829        object-fit: cover;
1830        border-radius: 6px;
1831    }
1832    figure.aiw-furusato-comparison .aiw-furusato-image-cell--empty {
1833        background: transparent;
1834    }
1835
1836    /* 2026-06-06 v1.7.81: ふるさと納税の単一情報カード (rakuten-info-card[data-aiw-furusato-card]) を
1837     *   一般の単一カードと同じ幅 (650px・中央寄せ) に。プレーンな rakuten-info-card は max-width 未指定=全幅で
1838     *   広すぎた (ふるさと納税「補足枠」カードで顕在化)。表示時 CSS なので既存記事にも反映。
1839     *   .aiw-card-credited (650px)・.aiw-commerce-product-list (700px) と同じ幅調整方針。 */
1840    figure.rakuten-info-card[data-aiw-furusato-card="true"] {
1841        /* aiw-card-credited (650px) と同じ書き方で中央寄せ。テーマCSSに負けないよう !important
1842         *   (v1.7.81 初版は !important 無しで左寄せのままだった→修正)。 */
1843        max-width: 650px !important;
1844        margin: 16px auto !important;
1845    }
1846
1847    /* Phase F-Image 2 (v1.7.29→v1.7.32→v1.7.35 サイズ調整): ふるさと納税カード画像 */
1848    /*   figure.rakuten-info-card 内の table 直前に挿入される div.aiw-furusato-card-image */
1849    /*   v1.7.32 (2026-05-09): User 要望「カード画像は 150px 前後に調整」 */
1850    /*   v1.7.35 (2026-05-10): 上余白 10px 追加 + 168px に微増 (枠線との近接を解消) */
1851    /*   楽天市場の mediumImageUrls (128px native) なので 168 制限で過度な拡大を回避 */
1852    figure.rakuten-info-card .aiw-furusato-card-image {
1853        text-align: center;
1854        margin: 10px 0 14px;
1855    }
1856    figure.rakuten-info-card .aiw-furusato-card-image a,
1857    figure.rakuten-info-card .aiw-furusato-card-image img {
1858        display: inline-block;
1859        line-height: 0;
1860    }
1861    figure.rakuten-info-card .aiw-furusato-card-image img {
1862        max-width: 168px;
1863        max-height: 168px;
1864        width: auto;
1865        height: auto;
1866        border-radius: 8px;
1867        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1868    }
1869
1870    /* Phase Y v1.7.33 (2026-05-10): 通常楽天市場商品の比較表画像列 */
1871    /*   ふるさと納税と同じサイズ感 (96×96 / セル幅 116px) */
1872    figure.aiw-comparison-table .aiw-rakuten-product-image-cell,
1873    figure.aiw-comparison-table .aiw-rakuten-product-header-cell--image {
1874        width: 116px;
1875        min-width: 116px;
1876        text-align: center;
1877        vertical-align: middle;
1878        padding: 8px;
1879    }
1880    figure.aiw-comparison-table .aiw-rakuten-product-image-cell a,
1881    figure.aiw-comparison-table .aiw-rakuten-product-image-cell img {
1882        display: inline-block;
1883        line-height: 0;
1884    }
1885    figure.aiw-comparison-table .aiw-rakuten-product-image-cell img {
1886        width: 96px;
1887        height: 96px;
1888        object-fit: cover;
1889        border-radius: 6px;
1890    }
1891    figure.aiw-comparison-table .aiw-rakuten-product-image-cell--empty {
1892        background: transparent;
1893    }
1894    /* Phase Y v1.7.34 (GPT 06 P3): 通常楽天商品比較表に画像列がある場合のみ min-width 拡張 */
1895    /*   旧: 720px (画像列なし時のデフォルト) */
1896    /*   新: :has(画像セル) → 840px (画像列分 +120px で特徴列が潰れない) */
1897    /*   :has() は最新ブラウザサポート、未対応ブラウザでは 720px のままで横スクロール継続 */
1898    figure.aiw-comparison-table:has(.aiw-rakuten-product-image-cell) table {
1899        /* 2026-06-06 v1.7.84: 840→800px (figure 上限800に合わせ、画像列ありでも横スクロールせず収める)。 */
1900        min-width: 800px;
1901    }
1902
1903    /* Phase Y v1.7.33→v1.7.35: 通常楽天商品カード画像 (ふるさと納税と同じ 168×168) */
1904    /*   v1.7.35 (2026-05-10): 上余白 10px + 168px に統一 */
1905    figure.rakuten-info-card .aiw-rakuten-product-card-image {
1906        text-align: center;
1907        margin: 10px 0 14px;
1908    }
1909    figure.rakuten-info-card .aiw-rakuten-product-card-image a,
1910    figure.rakuten-info-card .aiw-rakuten-product-card-image img {
1911        display: inline-block;
1912        line-height: 0;
1913    }
1914    figure.rakuten-info-card .aiw-rakuten-product-card-image img {
1915        max-width: 168px;
1916        max-height: 168px;
1917        width: auto;
1918        height: auto;
1919        border-radius: 8px;
1920        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
1921    }
1922
1923    /* Phase Review-Travel-A v1.7.39 (2026-05-10): 楽天トラベル口コミ引用ボックス CSS のみ */
1924    /*   SaaS 側の buildHotelReviewBox() が出力する aside.aiw-hotel-review-box 用スタイル */
1925    /*   PHP ロジック追加なし、CSS のみの安全リリース (v1.7.36 事故からの慎重再投入 Phase A) */
1926    aside.aiw-hotel-review-box {
1927        background: #fafaf7;
1928        border-left: 4px solid #c8102e;
1929        border-radius: 4px;
1930        padding: 14px 18px;
1931        margin: 16px 0 24px;
1932        font-size: 14px;
1933        line-height: 1.7;
1934        color: #333;
1935    }
1936    aside.aiw-hotel-review-box .aiw-hotel-review-box__eyebrow {
1937        font-size: 11px;
1938        font-weight: 700;
1939        color: #c8102e;
1940        letter-spacing: 0.08em;
1941        margin-bottom: 4px;
1942    }
1943    aside.aiw-hotel-review-box .aiw-hotel-review-box__title {
1944        font-size: 14px;
1945        font-weight: 700;
1946        color: #1a1a1a;
1947        margin-bottom: 8px;
1948    }
1949    aside.aiw-hotel-review-box .aiw-hotel-review-box__quote {
1950        position: relative;
1951        margin: 0 0 10px;
1952        padding: 0 0 0 12px;
1953        font-style: normal;
1954        color: #444;
1955        border: none;
1956    }
1957    aside.aiw-hotel-review-box .aiw-hotel-review-box__quote::before {
1958        content: '“';
1959        margin-right: 2px;
1960        color: #c8102e;
1961        font-weight: 700;
1962    }
1963    aside.aiw-hotel-review-box .aiw-hotel-review-box__quote::after {
1964        content: '”';
1965        margin-left: 2px;
1966        color: #c8102e;
1967        font-weight: 700;
1968    }
1969    aside.aiw-hotel-review-box .aiw-hotel-review-box__meta {
1970        display: flex;
1971        flex-wrap: wrap;
1972        align-items: center;
1973        gap: 10px;
1974        font-size: 11px;
1975        color: #777;
1976        margin-top: 6px;
1977    }
1978    aside.aiw-hotel-review-box .aiw-hotel-review-box__source {
1979        flex-shrink: 0;
1980    }
1981    /* 2026-05-11 v1.7.47 (User R9): 「楽天トラベルで口コミを見る」リンクの可視性を !important で強化 */
1982    /*   背景: SWELL テーマや一部テーマがリンク装飾を強制リセットするã‚
1982±ãƒ¼ã‚¹ã§ã€ */
1983    /*   赤色アンダーラインが消えてプレーンテキストに見える問題があった。 */
1984    aside.aiw-hotel-review-box .aiw-hotel-review-box__meta a {
1985        color: #c8102e !important;
1986        text-decoration: underline !important;
1987        font-weight: 600 !important;
1988        background: none !important;
1989    }
1990    aside.aiw-hotel-review-box .aiw-hotel-review-box__meta a:hover {
1991        text-decoration: none !important;
1992        opacity: 0.85;
1993    }
1994
1995    /* 2026-05-11 v1.7.45 (GPT R6 P1): legacy <blockquote> 完全リセット */
1996    /*   背景: v1.7.43 以前で生成された既存記事は <blockquote class="aiw-hotel-review-box__quote">
1997     *   のまま保存されており、SWELL テーマの巨大装飾引用符が表示されてしまう。
1998     *   v1.7.44 で SaaS 出力を <div> に変更したが、既存記事には反映されない。
1999     *   対策: legacy blockquote 用に SWELL 装飾を !important で完全に無効化する。
2000     *   新規 <div> 出力の方は通常 CSS が適用されるので、こちらは legacy 専用のリセット。
2001     */
2002    aside.aiw-hotel-review-box blockquote.aiw-hotel-review-box__quote {
2003        background: none !important;
2004        border: none !important;
2005        border-left: none !important;
2006        box-shadow: none !important;
2007        quotes: none !important;
2008        padding: 0 0 0 12px !important;
2009        margin: 0 0 10px !important;
2010        font-size: 14px !important;
2011        line-height: 1.7 !important;
2012        font-style: normal !important;
2013        position: relative !important;
2014        color: #444 !important;
2015    }
2016    /* legacy blockquote の SWELL 装飾 (::before / ::after) を完全に消す */
2017    aside.aiw-hotel-review-box blockquote.aiw-hotel-review-box__quote::before,
2018    aside.aiw-hotel-review-box blockquote.aiw-hotel-review-box__quote::after {
2019        content: '' !important;
2020        background: none !important;
2021        border: none !important;
2022        box-shadow: none !important;
2023        width: 0 !important;
2024        height: 0 !important;
2025        display: none !important;
2026    }
2027
2028    /* 1 列目「返礼品」(sticky th): 商品名長いので 240px (v1.7.25 220 → v1.7.26 240) */
2029    figure.aiw-furusato-comparison tbody th.aiw-furusato-name-cell,
2030    figure.aiw-furusato-comparison thead th.aiw-furusato-header-cell--name {
2031        width: 240px;
2032        min-width: 220px;
2033        max-width: 280px;
2034    }
2035    /* v1.7.25: thead 1 列目「返礼品」も sticky 化して横スクロール時の列名/内容ずれを解消 */
2036    figure.aiw-furusato-comparison thead th.aiw-furusato-header-cell--name {
2037        position: sticky;
2038        left: 0;
2039        z-index: 3; /* tbody th (z-index 1) より上に重ねる */
2040    }
2041    /* 寄付額 (¥X,XXX) — 数値が見やすく折り返し禁止 (v1.7.25 110 → v1.7.26 120) */
2042    figure.aiw-furusato-comparison .aiw-furusato-donation-cell,
2043    figure.aiw-furusato-comparison .aiw-furusato-header-cell--donation {
2044        width: 120px;
2045        min-width: 110px;
2046        white-space: nowrap;
2047    }
2048    /* 自治体 (○○県○○市) — 通常 8-10 文字 (v1.7.25 160 → v1.7.26 150) */
2049    figure.aiw-furusato-comparison .aiw-furusato-municipality-cell,
2050    figure.aiw-furusato-comparison .aiw-furusato-header-cell--municipality {
2051        width: 150px;
2052        min-width: 140px;
2053        white-space: nowrap;
2054    }
2055    /* 特徴 (bullets) — User 要望: 一番広く確保 (v1.7.25 300 → v1.7.26 360+) */
2056    figure.aiw-furusato-comparison .aiw-furusato-feature-cell,
2057    figure.aiw-furusato-comparison .aiw-furusato-header-cell--feature {
2058        min-width: 360px;
2059    }
2060    /* レビュー (★4.7) — User 要望: もっと狭く (v1.7.25 110 → v1.7.26 80) */
2061    figure.aiw-furusato-comparison .aiw-furusato-review-cell,
2062    figure.aiw-furusato-comparison .aiw-furusato-header-cell--review {
2063        width: 80px;
2064        min-width: 70px;
2065        white-space: nowrap;
2066        text-align: center;
2067    }
2068    /* 寄付先 (CTA ボタン) — ボタン + padding で十分 (v1.7.25 200 → v1.7.26 180) */
2069    figure.aiw-furusato-comparison .aiw-furusato-cta-cell,
2070    figure.aiw-furusato-comparison .aiw-furusato-header-cell--cta {
2071        width: 180px;
2072        min-width: 170px;
2073        text-align: center;
2074        white-space: nowrap;
2075    }
2076    figure.aiw-furusato-comparison .aiw-furusato-cta-link {
2077        display: inline-block;
2078        padding: 6px 12px;
2079        font-size: 0.85em;
2080        font-weight: 600;
2081        text-decoration: none;
2082        color: #fff;
2083        background: linear-gradient(135deg, #c8161d, #a01015);
2084        border-radius: 6px;
2085        box-shadow: 0 2px 6px rgba(200, 22, 29, 0.25);
2086        white-space: nowrap;
2087        transition: all 0.15s ease;
2088    }
2089    figure.aiw-furusato-comparison .aiw-furusato-cta-link:hover {
2090        transform: translateY(-1px);
2091        box-shadow: 0 4px 10px rgba(200, 22, 29, 0.35);
2092        color: #fff;
2093        text-decoration: none;
2094    }
2095
2096    /* ==== スタイル A: モダン ==== */
2097    /* v1.7.92: figure の外枠 (border 1px + 浮き影 + 角丸) を撤去 (owner 実機確認済み)。
2098     *   表が figure の max-width(800px) より狭いと外枠だけ広がり「二重枠+影」に見えていた。
2099     *   底辺は下の tr:last-child の border-bottom で閉じる。 */
2100    figure.aiw-comparison-table[data-aiw-style="modern"] thead th {
2101        background: linear-gradient(135deg, #475569, #334155);
2102        color: #fff;
2103        border-bottom: none;
2104    }
2105    figure.aiw-comparison-table[data-aiw-style="modern"] thead th:first-child {
2106        border-top-left-radius: 10px;
2107    }
2108    figure.aiw-comparison-table[data-aiw-style="modern"] thead th:last-child {
2109        border-top-right-radius: 10px;
2110    }
2111    figure.aiw-comparison-table[data-aiw-style="modern"] tbody th {
2112        background: #fff;
2113        color: #1f2937;
2114        border-right: 1px solid #e5e7eb;
2115        border-bottom: 1px solid #f1f5f9;
2116    }
2117    figure.aiw-comparison-table[data-aiw-style="modern"] tbody td {
2118        color: #374151;
2119        border-bottom: 1px solid #f1f5f9;
2120    }
2121    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:last-child th,
2122    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:last-child td {
2123        /* v1.7.92: 外枠撤去に伴い、表の底辺を最終行の下線で閉じる (旧: none = figure の border が底辺) */
2124        border-bottom: 1px solid #e5e7eb;
2125    }
2126    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:last-child th:first-child {
2127        border-bottom-left-radius: 10px;
2128    }
2129    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:last-child td:last-child {
2130        border-bottom-right-radius: 10px;
2131    }
2132    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:hover th,
2133    figure.aiw-comparison-table[data-aiw-style="modern"] tbody tr:hover td {
2134        background: #f8fafc;
2135    }
2136    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn {
2137        color: #fff;
2138        background: linear-gradient(135deg, #ff6b35, #ff5500);
2139        border-radius: 6px;
2140        box-shadow: 0 2px 6px rgba(255, 85, 0, 0.25);
2141    }
2142    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn:hover {
2143        transform: translateY(-1px);
2144        box-shadow: 0 4px 10px rgba(255, 85, 0, 0.35);
2145        color: #fff;
2146    }
2147    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn--travel {
2148        background: linear-gradient(135deg, #c8161d, #a01015);
2149        box-shadow: 0 2px 6px rgba(200, 22, 29, 0.25);
2150    }
2151    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn--travel:hover {
2152        box-shadow: 0 4px 10px rgba(200, 22, 29, 0.35);
2153    }
2154    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn--official {
2155        background: linear-gradient(135deg, #475569, #334155);
2156        box-shadow: 0 2px 6px rgba(71, 85, 105, 0.25);
2157    }
2158    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-btn--official:hover {
2159        box-shadow: 0 4px 10px rgba(71, 85, 105, 0.35);
2160    }
2161    figure.aiw-comparison-table[data-aiw-style="modern"] .aiw-cmp-thumb-cell img {
2162        border-radius: 6px;
2163        box-shadow: 0 2px 6px rgba(15,23,42,0.12);
2164    }
2165
2166    /* ==== スタイル B: ミニマル (フラット線画) ==== */
2167    figure.aiw-comparison-table[data-aiw-style="minimal"] {
2168        border-radius: 2px;
2169        border: 1px solid #cbd5e1;
2170        box-shadow: none;
2171    }
2172    figure.aiw-comparison-table[data-aiw-style="minimal"] thead th {
2173        background: #fff;
2174        color: #0f172a;
2175        border-bottom: 2px solid #0f172a;
2176        font-weight: 700;
2177        letter-spacing: 0.02em;
2178    }
2179    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody th {
2180        background: #fff;
2181        color: #0f172a;
2182        border-right: 1px solid #e2e8f0;
2183        border-bottom: 1px solid #e2e8f0;
2184    }
2185    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody td {
2186        color: #334155;
2187        border-bottom: 1px solid #e2e8f0;
2188    }
2189    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody tr:last-child th,
2190    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody tr:last-child td {
2191        border-bottom: none;
2192    }
2193    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody tr:hover th,
2194    figure.aiw-comparison-table[data-aiw-style="minimal"] tbody tr:hover td {
2195        background: #f8fafc;
2196    }
2197    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn {
2198        background: #0f172a;
2199        color: #fff;
2200        border-radius: 2px;
2201        box-shadow: none;
2202        font-weight: 700;
2203        letter-spacing: 0.02em;
2204    }
2205    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn:hover {
2206        background: #334155;
2207        color: #fff;
2208    }
2209    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn--travel {
2210        background: #0f172a;
2211    }
2212    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn--travel:hover {
2213        background: #334155;
2214    }
2215    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn--official {
2216        background: #0f172a;
2217    }
2218    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-btn--official:hover {
2219        background: #334155;
2220    }
2221    figure.aiw-comparison-table[data-aiw-style="minimal"] .aiw-cmp-thumb-cell img {
2222        border-radius: 2px;
2223        box-shadow: none;
2224        border: 1px solid #e2e8f0;
2225    }
2226
2227    /* ==== スタイル C: フェミニン (柔らかピンク基調) ==== */
2228    figure.aiw-comparison-table[data-aiw-style="feminine"] {
2229        border-radius: 16px;
2230        box-shadow: 0 10px 30px rgba(244, 114, 182, 0.18), 0 2px 8px rgba(244, 114, 182, 0.10);
2231        border: 1px solid #fce7f3;
2232        background: #fff;
2233    }
2234    figure.aiw-comparison-table[data-aiw-style="feminine"] thead th {
2235        background: linear-gradient(135deg, #fce7f3, #fbcfe8);
2236        color: #831843;
2237        border-bottom: none;
2238        font-weight: 700;
2239    }
2240    figure.aiw-comparison-table[data-aiw-style="feminine"] thead th:first-child {
2241        border-top-left-radius: 16px;
2242    }
2243    figure.aiw-comparison-table[data-aiw-style="feminine"] thead th:last-child {
2244        border-top-right-radius: 16px;
2245    }
2246    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody th {
2247        background: #fff;
2248        color: #831843;
2249        border-right: 1px solid #fce7f3;
2250        border-bottom: 1px solid #fdf2f8;
2251    }
2252    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody td {
2253        color: #500724;
2254        border-bottom: 1px solid #fdf2f8;
2255    }
2256    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:last-child th,
2257    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:last-child td {
2258        border-bottom: none;
2259    }
2260    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:last-child th:first-child {
2261        border-bottom-left-radius: 16px;
2262    }
2263    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:last-child td:last-child {
2264        border-bottom-right-radius: 16px;
2265    }
2266    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:hover th,
2267    figure.aiw-comparison-table[data-aiw-style="feminine"] tbody tr:hover td {
2268        background: #fdf2f8;
2269    }
2270    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn {
2271        background: linear-gradient(135deg, #f472b6, #ec4899);
2272        color: #fff;
2273        border-radius: 999px;
2274        padding: 8px 16px;
2275        font-weight: 700;
2276        box-shadow: 0 4px 12px rgba(236, 72, 153, 0.30);
2277    }
2278    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn:hover {
2279        transform: translateY(-1px);
2280        box-shadow: 0 6px 16px rgba(236, 72, 153, 0.40);
2281        color: #fff;
2282    }
2283    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn--travel {
2284        background: linear-gradient(135deg, #fb7185, #e11d48);
2285        box-shadow: 0 4px 12px rgba(225, 29, 72, 0.30);
2286    }
2287    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn--travel:hover {
2288        box-shadow: 0 6px 16px rgba(225, 29, 72, 0.40);
2289    }
2290    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn--official {
2291        background: linear-gradient(135deg, #c084fc, #a855f7);
2292        box-shadow: 0 4px 12px rgba(168, 85, 247, 0.30);
2293    }
2294    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-btn--official:hover {
2295        box-shadow: 0 6px 16px rgba(168, 85, 247, 0.40);
2296    }
2297    figure.aiw-comparison-table[data-aiw-style="feminine"] .aiw-cmp-thumb-cell img {
2298        border-radius: 12px;
2299        box-shadow: 0 4px 12px rgba(244, 114, 182, 0.20);
2300    }
2301
2302    /* ==== スタイル D: アースカラー (温かいベージュ/ブラウン基調・ボタンは楽天赤) v1.7.72 ==== */
2303    figure.aiw-comparison-table[data-aiw-style="earth"] {
2304        border-radius: 10px;
2305        box-shadow: 0 4px 14px rgba(120, 90, 60, 0.12);
2306        border: 1px solid #d8cdb9;
2307    }
2308    figure.aiw-comparison-table[data-aiw-style="earth"] thead th {
2309        background: linear-gradient(135deg, #8a6d4f, #6f5640);
2310        color: #fff;
2311        border-bottom: none;
2312        font-weight: 700;
2313    }
2314    figure.aiw-comparison-table[data-aiw-style="earth"] thead th:first-child { border-top-left-radius: 10px; }
2315    figure.aiw-comparison-table[data-aiw-style="earth"] thead th:last-child { border-top-right-radius: 10px; }
2316    figure.aiw-comparison-table[data-aiw-style="earth"] tbody th {
2317        background: #faf7f1;
2318        color: #5c4733;
2319        border-right: 1px solid #ece3d3;
2320        border-bottom: 1px solid #ece3d3;
2321    }
2322    figure.aiw-comparison-table[data-aiw-style="earth"] tbody td {
2323        color: #544a3b;
2324        border-bottom: 1px solid #ece3d3;
2325    }
2326    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:last-child th,
2327    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:last-child td { border-bottom: none; }
2328    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:last-child th:first-child { border-bottom-left-radius: 10px; }
2329    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:last-child td:last-child { border-bottom-right-radius: 10px; }
2330    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:hover th,
2331    figure.aiw-comparison-table[data-aiw-style="earth"] tbody tr:hover td { background: #f7f2e9; }
2332    figure.aiw-comparison-table[data-aiw-style="earth"] .aiw-cmp-btn {
2333        color: #fff;
2334        background: #bf0000;
2335        border-radius: 6px;
2336        box-shadow: 0 2px 6px rgba(191, 0, 0, 0.25);
2337    }
2338    figure.aiw-comparison-table[data-aiw-style="earth"] .aiw-cmp-btn:hover {
2339        transform: translateY(-1px);
2340        box-shadow: 0 4px 10px rgba(191, 0, 0, 0.35);
2341        color: #fff;
2342    }
2343    figure.aiw-comparison-table[data-aiw-style="earth"] .aiw-cmp-btn--travel { background: #c8161d; }
2344    figure.aiw-comparison-table[data-aiw-style="earth"] .aiw-cmp-btn--official { background: #6f5640; }
2345    figure.aiw-comparison-table[data-aiw-style="earth"] .aiw-cmp-thumb-cell img {
2346        border-radius: 6px;
2347        box-shadow: 0 2px 6px rgba(120, 90, 60, 0.15);
2348    }
2349    </style>
2350    
2350<script id="aiw-rich-table-js">
2351    (function() {
2352        var aiwTableStyle = "feminine";
2353        var aiwTableImageColumnEnabled = false;
2354        function escapeAttr(s) {
2355            return String(s == null ? '' : s)
2356                .replace(/&/g, '&amp;')
2357                .replace(/</g, '&lt;')
2358                .replace(/>/g, '&gt;')
2359                .replace(/"/g, '&quot;')
2360                .replace(/'/g, '&#39;');
2361        }
2362        function enrichTables() {
2363            var figs = document.querySelectorAll('figure.aiw-comparison-table');
2364            if (figs.length === 0) return;
2365            figs.forEach(function(fig) {
2366                // v1.7.27 (2026-05-09) bugfix: スタイル属性付与は ふるさと納税比較表でも必要。
2367                //   v1.7.25 で skip 位置を間違えて data-aiw-style="modern" 付与までも skip
2368                //   → ふるさと納税比較表が SWELL 既定の見た目になる回帰。
2369                //   modern スタイル (青ヘッダー等) は furusato 列固有 CSS と干渉しないため、
2370                //   skip より前に移動して両者を共存させる。
2371                if (!fig.getAttribute('data-aiw-style')) {
2372                    fig.setAttribute('data-aiw-style', aiwTableStyle);
2373                }
2374
2375                // v1.7.25 (2026-05-09): ふるさと納税専用比較表は既に「寄付先」列に
2376                //   「楽天ふるさと納税で見る」CTA を持っているため、追加の「楽天市場 →」ボタン列は不要。
2377                //   この skip で「寄付先」と「楽天市場 →」が二重に並ぶ冗長レイアウトを排除。
2378                //   v1.7.27: ただし上の data-aiw-style 付与は skip しない (modern 装飾は furusato でも適用)。
2379                if (fig.classList.contains('aiw-furusato-comparison')) return;
2380                var table = fig.querySelector('table');
2381                if (!table || table.dataset.aiwEnriched === '1') return;
2382
2383                var theadRow = table.querySelector('thead tr');
2384                var rows = table.querySelectorAll('tbody tr');
2385
2386                // v1.7.92: ホテル比較表のみヘッダー文言を変更 (名前→宿泊先 / レビュー→評価 /
2387                //   画像列・ボタン列に見出し)。商品比較表は従来どおり (「宿泊先」は商品に不適合)。
2388                //   判定 = テーブル内に data-aiw-rakuten-type="hotel" (名前リンク or hybrid live span or 画像リンク)。
2389                //   検出できない場合 (旧記事の fallback 等) は no-op = 従来表示 (fail-soft)。
2390                var aiwIsHotelTable = !!table.querySelector('[data-aiw-rakuten-type="hotel"]');
2391                if (aiwIsHotelTable && theadRow) {
2392                    var aiwNameTh = theadRow.querySelector('.aiw-comparison-header-cell--name');
2393                    if (aiwNameTh && aiwNameTh.textContent.replace(/\s+/g, '') === '名前') {
2394                        aiwNameTh.textContent = '宿泊先';
2395                    }
2396                    var aiwRevTh = theadRow.querySelector('.aiw-comparison-header-cell--review');
2397                    // 先頭テキストノード「レビュー」のみ置換 (中の span(執筆時点)等は触らない)
2398                    if (aiwRevTh && aiwRevTh.firstChild && aiwRevTh.firstChild.nodeType === 3) {
2399                        aiwRevTh.firstChild.nodeValue = aiwRevTh.firstChild.nodeValue.replace('レビュー', '評価');
2400                    }
2401                }
2402
2403                // 0. Phase X3.4-A: ホテル行 (data-aiw-thumb-data 属性あり) があれば「画像」列を 2列目に挿入
2404                //    v1.7.14: 画像列はデフォルト OFF。aiwTableImageColumnEnabled が true の時のみ追加
2405                //    - 1列目(名前 th)の右隣に画像 th を挿入
2406                //    - 各行の 2列目に画像 td を挿入。データがない行は空セル
2407                //    - 画像クリックは rakuten_compare_image linkType で計測
2408                //
2409                // v1.7.13 fix: data-aiw-thumb-data は { thumb, alt, href } の Base64 化 JSON。
2410                //   生 URL を属性値に入れると WordPress make_clickable フィルタが楽天アフィリエイト URL
2411                //   (?pc=https%3A%2F%2F... のような encoded URL を含む) を勝手にリンク化してしまうため、
2412                //   Base64 化することで URL 検出を回避する。
2413                function parseThumbData(b64) {
2414                    if (!b64) return null;
2415                    try {
2416                        // Base64 → UTF-8 文字列 → JSON.parse
2417                        // atob は Latin-1 を返すので、UTF-8 復元のため decode
2417URIComponent + escape を使う
2418                        var binary = atob(b64);
2419                        var jsonStr;
2420                        try {
2421                            // モダンブラウザでは TextDecoder で確実に UTF-8 復元
2422                            var bytes = new Uint8Array(binary.length);
2423                            for (var i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);
2424                            jsonStr = new TextDecoder('utf-8').decode(bytes);
2425                        } catch (e) {
2426                            // fallback (古いブラウザ用)
2427                            jsonStr = decodeURIComponent(escape(binary));
2428                        }
2429                        return JSON.parse(jsonStr);
2430                    } catch (e) {
2431                        return null;
2432                    }
2433                }
2434                var hasAnyThumb = false;
2435                for (var i = 0; i < rows.length; i++) {
2436                    if (rows[i].dataset.aiwThumbData) { hasAnyThumb = true; break; }
2437                }
2438                if (aiwTableImageColumnEnabled && hasAnyThumb && theadRow && !theadRow.querySelector('.aiw-cmp-thumb-th')) {
2439                    var thumbTh = document.createElement('th');
2440                    thumbTh.className = 'aiw-cmp-thumb-th';
2441                    thumbTh.setAttribute('aria-label', '画像');
2442                    // v1.7.92: ホテル表は見出し「画像」を表示 (商品表は従来どおり空)
2443                    if (aiwIsHotelTable) { thumbTh.textContent = '画像'; } else { thumbTh.innerHTML = '&nbsp;'; }
2444                    var firstThead = theadRow.firstElementChild;
2445                    if (firstThead && firstThead.nextSibling) {
2446                        theadRow.insertBefore(thumbTh, firstThead.nextSibling);
2447                    } else {
2448                        theadRow.appendChild(thumbTh);
2449                    }
2450                    rows.forEach(function(tr) {
2451                        if (tr.querySelector('.aiw-cmp-thumb-cell')) return;
2452                        var thumbData = parseThumbData(tr.dataset.aiwThumbData);
2453                        var thumbUrl = (thumbData && thumbData.thumb) || '';
2454                        var thumbAlt = (thumbData && thumbData.alt) || '';
2455                        var thumbHref = (thumbData && thumbData.href) || '';
2456                        var thumbTd = document.createElement('td');
2457                        thumbTd.className = 'aiw-cmp-thumb-cell';
2458                        if (thumbUrl) {
2459                            var imgHtml = '<img src="' + escapeAttr(thumbUrl) + '" alt="' + escapeAttr(thumbAlt) + '" loading="lazy" decoding="async">';
2460                            if (thumbHref) {
2461                                // 画像リンクにクリック計測属性付与(setupAffiliateLinks が拾う)
2462                                thumbTd.innerHTML = '<a href="' + escapeAttr(thumbHref) + '" rel="sponsored noopener" target="_blank"'
2463                                    + ' data-aiw-affiliate="rakuten"'
2464                                    + ' data-aiw-source="rakuten_auto"'
2465                                    + ' data-aiw-linktype="rakuten_compare_image"'
2466                                    + ' data-aiw-rakuten-type="hotel">'
2467                                    + imgHtml + '</a>';
2468                            } else {
2469                                thumbTd.innerHTML = imgHtml;
2470                            }
2471                        }
2472                        // 1列目 (名前 th) の右隣に挿入
2473                        var firstCell = tr.firstElementChild;
2474                        if (firstCell && firstCell.nextSibling) {
2475                            tr.insertBefore(thumbTd, firstCell.nextSibling);
2476                        } else {
2477                            tr.appendChild(thumbTd);
2478                        }
2479                    });
2480                }
2481
2482                // 1. thead に「リンク」列ヘッダーを追加(既存に空セルがなければ)
2483                if (theadRow && !theadRow.querySelector('.aiw-cmp-btn-th')) {
2484                    var newTh = document.createElement('th');
2485                    newTh.className = 'aiw-cmp-btn-th';
2486                    newTh.setAttribute('aria-label', '商品リンク');
2487                    // v1.7.92: ホテル表は見出し「予約先」を表示 (商品表は従来どおり空)
2488                    if (aiwIsHotelTable) { newTh.textContent = '予約先'; } else { newTh.innerHTML = '&nbsp;'; }
2489                    theadRow.appendChild(newTh);
2490                }
2491
2492                // 2. tbody 各行に「見る」ボタン列を追加
2493                //   2026-05-10 GPT R5 修正: 商品名リンクが span 化されている場合 (toggle OFF + Phase C),
2494                //   tr.dataset.aiwCompareHref を fallback としてå
2494‚照してボタン生成
2495                rows.forEach(function(tr) {
2496                    if (tr.querySelector('.aiw-cmp-btn-cell')) return;
2497                    var firstCell = tr.querySelector('th, td');
2498                    if (!firstCell) return;
2499                    var nameAnchor = firstCell.querySelector('a');
2500                    var newTd = document.createElement('td');
2501                    newTd.className = 'aiw-cmp-btn-cell';
2502
2503                    // GPT R5 注意点 #2: nameAnchor が null でも参照しないよう変数化
2504                    var href = '';
2505                    var rakutenType = '';
2506                    var aff = '';
2507                    var rel = 'sponsored noopener';
2508                    var hasNameAnchor = false;
2509                    var compareItemCode = '';
2510
2511                    if (nameAnchor && nameAnchor.getAttribute('href')) {
2512                        // 通常ケース: 商品名 <a> から URL/属性取得
2513                        hasNameAnchor = true;
2514                        href = nameAnchor.getAttribute('href');
2515                        rakutenType = nameAnchor.getAttribute('data-aiw-rakuten-type') || '';
2516                        aff = nameAnchor.getAttribute('data-aiw-affiliate') || '';
2517                        rel = nameAnchor.getAttribute('rel') || rel;
2518                    } else if (tr.dataset.aiwCompareData) {
2519                        // fallback ケース: 2026-05-11 GPT R6 — consolidated Base64 JSON 方式
2520                        //   <a> が span 化されても、<tr data-aiw-compare-data="base64(JSON)"> から復元
2521                        //   生 URL を attribute に入れると make_clickable で破壊されるため Base64 必須
2522                        try {
2523                            var decoded = atob(tr.dataset.aiwCompareData);
2524                            // UTF-8 復元 (data-aiw-thumb-data と同じパターン)
2525                            var bytes = new Uint8Array(decoded.length);
2526                            for (var bi = 0; bi < decoded.length; bi++) bytes[bi] = decoded.charCodeAt(bi);
2527                            var jsonStr;
2528                            try {
2529                                jsonStr = new TextDecoder('utf-8').decode(bytes);
2530                            } catch (e) {
2531                                jsonStr = decodeURIComponent(escape(decoded));
2532                            }
2533                            var compareData = JSON.parse(jsonStr);
2534                            href = compareData.href || '';
2535                            rakutenType = compareData.rakutenType || '';
2536                            compareItemCode = compareData.itemCode || '';
2537                            aff = 'rakuten';  // SaaS 側で楽天行のみ付与
2538                        } catch (parseErr) {
2539                            // decode 失敗 → fallback skip
2540                            href = '';
2541                        }
2542                    }
2543
2544                    if (!href) {
2545                        newTd.textContent = '—';
2546                        tr.appendChild(newTd);
2547                        return;
2548                    }
2549
2550                    // ラベル&スタイル: hotel → 楽天トラベル / product or rakuten → 楽天市場 / それ以外 → 公式サイト
2551                    var label, btnVariant;
2552                    if (rakutenType === 'hotel') {
2553                        label = '楽天トラベル →';
2554                        btnVariant = 'travel';
2555                    } else if (aff === 'rakuten' || rakutenType === 'product') {
2556                        label = '楽天市場 →';
2557                        btnVariant = 'rakuten';
2558                    } else {
2559                        label = '公式サイト →';
2560                        btnVariant = 'official';
2561                    }
2562
2563                    var btn = document.createElement('a');
2564                    btn.className = 'aiw-cmp-btn aiw-cmp-btn--' + btnVariant;
2565                    btn.href = href;
2566                    btn.target = '_blank';
2567                    btn.rel = rel;
2568                    btn.textContent = label;
2569
2570                    // GPT R5 注意点 #3: fallback 時もクリック計測属性を必ず付与
2571                    if (hasNameAnchor) {
2572                        // 通常ケース: nameAnchor から計測属性をコピー
2573                        var trackAttrs = ['data-aiw-affiliate', 'data-aiw-source', 'data-aiw-linktype', 'data-aiw-item-code', 'data-aiw-rakuten-type'];
2574                        trackAttrs.forEach(function(attr) {
2575                            if (nameAnchor.hasAttribute(attr)) {
2576                                btn.setAttribute(attr, nameAnchor.getAttribute(attr));
2577                            }
2578                        });
2579                    } else {
2580                        // fallback ケース: 計測属性を明示的に付与 (nameAnchor からコピーできないため)
2581                        // 2026-05-11 GPT R6: itemCode は consolidated data-aiw-compare-data の JSON から復元済 (compareItemCode)
2582                        btn.setAttribute('data-aiw-affiliate', 'rakuten');
2583                        btn.setAttribute('data-aiw-source', 'rakuten_auto');
2584                        btn.setAttribute('data-aiw-linktype', 'rakuten_compare_button');
2585                        if (rakutenType) btn.setAttribute('data-aiw-rakuten-type', rakutenType);
2586                        if (compareItemCode) {
2587                            btn.setAttribute('data-aiw-item-code', compareItemCode);
2588                        }
2589                    }
2590
2591                    newTd.appendChild(btn);
2592                    tr.appendChild(newTd);
2593                });
2594
2595                table.dataset.aiwEnriched = '1';
2596            });
2597        }
2598
2599        if (document.readyState === 'loading') {
2600            document.addEventListener('DOMContentLoaded', enrichTables);
2601        } else {
2602            enrichTables();
2603        }
2604    })();
2605    </script>
2605
2606        
2606<script id="aiw-clicks-tracker">
2607    (function() {
2608        var postId = 227;
2609        var restUrl = "https:\/\/hudsong.jp\/wp-json\/ai-ishin\/v1\/clicks\/track";
2610        if (!window.fetch || !window.IntersectionObserver) return;
2611
2612        function findSectionHeading(el) {
2613            // 要素より前にある最も近いH2/H3を探す
2614            var h2 = '', h3 = '';
2615            var node = el;
2616            while (node && node !== document.body) {
2617                var prev = node.previousElementSibling;
2618                while (prev) {
2619                    if (!h3 && prev.tagName === 'H3') h3 = (prev.textContent || '').trim().slice(0, 200);
2620                    if (!h2 && prev.tagName === 'H2') { h2 = (prev.textContent || '').trim().slice(0, 200); return { h2: h2, h3: h3 }; }
2621                    if (prev.querySelectorAll) {
2622                        var hs = prev.querySelectorAll('h2, h3');
2623                        if (hs.length > 0) {
2624                            var last = hs[hs.length - 1];
2625                            if (!h3 && last.tagName === 'H3') h3 = (last.textContent || '').trim().slice(0, 200);
2626                            if (!h2 && last.tagName === 'H2') { h2 = (last.textContent || '').trim().slice(0, 200); return { h2: h2, h3: h3 }; }
2627                        }
2628                    }
2629                    prev = prev.previousElementSibling;
2630                }
2631                node = node.parentElement;
2632            }
2633            return { h2: h2, h3: h3 };
2634        }
2635
2636        function send(payload) {
2637            var body = new URLSearchParams();
2638            Object.keys(payload).forEach(function(k) { body.append(k, payload[k]); });
2639            fetch(restUrl, { method: 'POST', body: body, credentials: 'same-origin', keepalive: true }).catch(function(){});
2640        }
2641
2642        function setupAdBoxes() {
2643            var boxes = document.querySelectorAll('.p-adBox[data-id]');
2644            if (boxes.length === 0) return;
2645
2646            // インプレッション計測
2647            var io = new IntersectionObserver(function(entries) {
2648                entries.forEach(function(entry) {
2649                    if (entry.isIntersecting) {
2650                        var el = entry.target;
2651                        var adId = el.getAttribute('data-id');
2652                        var section = findSectionHeading(el);
2653                        send({ ad_id: adId, post_id: postId, event_type: 'imp', target: 'tag', h2: section.h2, h3: section.h3 });
2654                        io.unobserve(el);
2655                    }
2656                });
2657            }, { rootMargin: '0px 0px 10% 0px' });
2658
2659            boxes.forEach(function(box) {
2660                var adId = box.getAttribute('data-id');
2661                io.observe(box);
2662
2663                var section = findSectionHeading(box);
2664
2665                // クリック計測(aタグに attach)
2666                box.querySelectorAll('a').forEach(function(a) {
2667                    var target = 'tag';
2668                    if (a.closest('.-btn1')) target = 'btn1';
2669                    else if (a.closest('.-btn2')) target = 'btn2';
2670
2671                    var fired = false;
2672                    var handler = function(e) {
2673                        if (e.type === 'mousedown' && e.button !== 1 && e.button !== 0) return;
2674                        if (fired) return;
2675                        fired = true;
2676                        send({ ad_id: adId, post_id: postId, event_type: 'click', target: target, h2: section.h2, h3: section.h3 });
2677                        setTimeout(function() { fired = false; }, 1000);
2678                    };
2679                    a.addEventListener('click', handler);
2680                    a.addEventListener('mousedown', handler);
2681                });
2682            });
2683        }
2684
2685        function setupButtons() {
2686            var btns = document.querySelectorAll('.swell-block-button[data-id]');
2687            if (btns.length === 0) return;
2688
2689            var io = new IntersectionObserver(function(entries) {
2690                entries.forEach(function(entry) {
2691                    if (entry.isIntersecting) {
2692                        var el = entry.target;
2693                        var btnId = el.getAttribute('data-id');
2694                        var section = findSectionHeading(el);
2695                        send({ btn_id: btnId, post_id: postId, event_type: 'imp', target: 'btn', h2: section.h2, h3: section.h3 });
2696                        io.unobserve(el);
2697                    }
2698                });
2699            }, { rootMargin: '0px 0px 10% 0px' });
2700
2701            btns.forEach(function(btn) {
2702                var btnId = btn.getAttribute('data-id');
2703                io.observe(btn);
2704                var section = findSectionHeading(btn);
2705
2706                var a = btn.querySelector('a');
2707                if (!a) return;
2708                var fired = false;
2709                var handler = function(e) {
2710                    if (e.type === 'mousedown' && e.button !== 1 && e.button !== 0) return;
2711                    if (fired) return;
2712                    fired = true;
2713                    send({ btn_id: btnId, post_id: postId, event_type: 'click', target: 'btn', h2: section.h2, h3: section.h3 });
2714                    setTimeout(function() { fired = false; }, 1000);
2715                };
2716                a.addEventListener('click', handler);
2717                a.addEventListener('mousedown', handler);
2718            });
2719        }
2720
2721        /**
2722         * v1.6.0: アフィリエイトリンク(data-aiw-affiliate 付き)を全検出してクリック計測
2723         * AI維新Writerが挿入した以下が対象:
2724         *   - SWELLボタン(アフィリエイト)
2725         *   - CTA補完リンク(buildCtaLinkBlock)
2726         *   - missingAffiliates 補完リンク
2727         *   - ポチップ/ホテリップ等(今後追加)
2728         */
2729        function setupAffiliateLinks() {
2730            var links = document.querySelectorAll('a[data-aiw-affiliate]');
2731            if (links.length === 0) return;
2732
2733            // インプレッション計測(親要素単位で1回)
2734            var impTracked = new Set();
2735            var io = new IntersectionObserver(function(entries) {
2736                entries.forEach(function(entry) {
2737                    if (entry.isIntersecting) {
2738                        var el = entry.target;
2739                        var slug = el.getAttribute('data-aiw-affiliate');
2740                        var linkType = el.getAttribute('data-aiw-linktype') || 'text';
2741                        var key = slug + '|' + linkType + '|' + (el.dataset.aiwImpKey || '');
2742                        if (impTracked.has(key)) { io.unobserve(el); return; }
2743                        impTracked.add(key);
2744                        var section = findSectionHeading(el);
2745                        send({
2746                            affiliate_slug: slug,
2747                            link_type: linkType,
2748                            post_id: postId,
2749                            event_type: 'imp',
2750                            target: 'aff',
2751                            h2: section.h2,
2752                            h3: section.h3
2753                        });
2754                        io.unobserve(el);
2755                    }
2756                });
2757            }, { rootMargin: '0px 0px 10% 0px' });
2758
2759            links.forEach(function(a, idx) {
2760                a.dataset.aiwImpKey = String(idx);
2761                io.observe(a);
2762
2763                var slug = a.getAttribute('data-aiw-affiliate');
2764                var linkType = a.getAttribute('data-aiw-linktype') || 'text';
2765                var section = findSectionHeading(a);
2766                var fired = false;
2767                var handler = function(e) {
2768                    if (e.type === 'mousedown' && e.button !== 1 && e.button !== 0) return;
2769                    if (fired) return;
2770                    fired = true;
2771                    send({
2772                        affiliate_slug: slug,
2773                        link_type: linkType,
2774                        post_id: postId,
2775                        event_type: 'click',
2776                        target: 'aff',
2777                        h2: section.h2,
2778                        h3: section.h3
2779                    });
2780                    setTimeout(function() { fired = false; }, 1000);
2781                };
2782                a.addEventListener('click', handler);
2783                a.addEventListener('mousedown', handler);
2784            });
2785        }
2786
2787        if (document.readyState === 'loading') {
2788            document.addEventListener('DOMContentLoaded', function() { setupAdBoxes(); setupButtons(); setupAffiliateLinks(); });
2789        } else {
2790            setupAdBoxes(); setupButtons(); setupAffiliateLinks();
2791        }
2792    })();
2793    </script>
2793
2794    
2794<script id="aiw-day05-banner-js">if((new Date()).getDate()%5===0){document.querySelectorAll(".aiw-day05-banner").forEach(function(el){el.style.display="";});}</script>
2794
2795</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.