{"id":939,"date":"2026-11-13T13:11:33","date_gmt":"2026-11-13T04:11:33","guid":{"rendered":"https:\/\/guitarschool.in\/?page_id=939"},"modified":"2026-11-13T14:04:05","modified_gmt":"2026-11-13T05:04:05","slug":"chord-map","status":"publish","type":"page","link":"https:\/\/guitarschool.in\/?page_id=939","title":{"rendered":"\u6307\u677f\u30b3\u30fc\u30c9\u30fb\u30b9\u30b1\u30fc\u30eb\u56f3"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"939\" class=\"elementor elementor-939\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a41f862 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a41f862\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6072e9b\" data-id=\"6072e9b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6d38b5b elementor-widget elementor-widget-html\" data-id=\"6d38b5b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.lt-nav{max-width:760px;margin:0 auto;padding:4px 16px;font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.lt-nav a{color:#b5532a;font-weight:700;text-decoration:none}.lt-nav a:hover{text-decoration:underline}.lt-nav .lt-sub{color:#7a6e64}.lt-nav .lt-back{display:inline-block;padding:6px 14px;border:1px solid #e3d9cc;border-radius:999px;background:#fff}<\/style><nav class=\"lt-nav\" aria-label=\"\u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\"><a class=\"lt-back\" href=\"\/?page_id=907\">\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b<\/a><\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-929fcbe elementor-widget elementor-widget-html\" data-id=\"929fcbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- \u6307\u677f\u30b3\u30fc\u30c9\u30fb\u30b9\u30b1\u30fc\u30eb\u56f3(Elementor \u306e HTML \u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u306b\u3053\u306e\u307e\u307e\u8cbc\u308a\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044) -->\n<div id=\"fcm-app\">\n<style>\n#fcm-app{--fcm-bg:#fbf8f3;--fcm-ink:#2b2420;--fcm-sub:#7a6e64;--fcm-accent:#b5532a;--fcm-line:#e3d9cc;\n  max-width:760px;margin:0 auto;padding:16px;background:var(--fcm-bg);color:var(--fcm-ink);border-radius:14px;\n  font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;line-height:1.5;box-sizing:border-box}\n#fcm-app *{box-sizing:border-box}\n#fcm-app .fcm-title{font-size:20px;font-weight:700;margin:0;color:var(--fcm-ink)}\n#fcm-app .fcm-lead{font-size:13px;color:var(--fcm-sub);margin:2px 0 0}\n#fcm-app button{all:unset;box-sizing:border-box;cursor:pointer;font-family:inherit;text-align:center;-webkit-tap-highlight-color:transparent}\n#fcm-app button:focus-visible{outline:2px solid var(--fcm-accent);outline-offset:2px}\n#fcm-app .fcm-label{font-size:12px;font-weight:700;color:var(--fcm-sub);margin:12px 0 6px}\n#fcm-app .fcm-roots{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}\n#fcm-app .fcm-root{padding:9px 2px;border:1px solid var(--fcm-line);border-radius:8px;background:#fff;font-size:15px;font-weight:700;color:var(--fcm-ink)}\n#fcm-app .fcm-root.is-on{background:var(--fcm-ink);border-color:var(--fcm-ink);color:#fff}\n#fcm-app .fcm-types{display:flex;flex-direction:column;gap:8px}\n#fcm-app .fcm-trow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}\n#fcm-app .fcm-tlabel{font-size:12px;color:var(--fcm-sub);width:4.5em;flex:none}\n#fcm-app .fcm-type{padding:6px 12px;border:1px solid var(--fcm-line);border-radius:999px;font-size:13px;background:#fff;color:var(--fcm-ink)}\n#fcm-app .fcm-type.is-on{background:var(--fcm-ink);border-color:var(--fcm-ink);color:#fff}\n#fcm-app .fcm-name{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:16px 0 6px}\n#fcm-app .fcm-chord{font-size:24px;font-weight:700}\n#fcm-app .fcm-tones{display:flex;gap:6px;flex-wrap:wrap}\n#fcm-app .fcm-tone{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 4px;border-radius:999px;background:#fff;border:1px solid var(--fcm-line);font-size:13px;font-weight:600;color:var(--fcm-ink)}\n#fcm-app .fcm-tone i{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 4px;border-radius:999px;color:#fff;font-style:normal;font-size:12px}\n#fcm-app .fcm-tone.is-off{opacity:.35}\n#fcm-app .fcm-hint{font-size:12px;color:var(--fcm-sub);margin:2px 0 8px}\n#fcm-app .fcm-board{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}\n#fcm-app .fcm-board svg{display:block;width:100%;height:auto}\n#fcm-app .fcm-board.is-v{max-width:300px;margin:0 auto;overflow:visible}\n#fcm-app .fcm-sl,#fcm-app .fcm-fn{font-size:11px;fill:var(--fcm-sub)}\n#fcm-app .fcm-dt{font-size:10.5px;font-weight:700;fill:#fff;pointer-events:none}\n#fcm-app .fcm-dot{cursor:pointer}\n#fcm-app .fcm-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:12px 0 0}\n#fcm-app .fcm-tool{padding:6px 16px;border:1px solid var(--fcm-line);border-radius:999px;font-size:14px;background:#fff;color:var(--fcm-ink)}\n#fcm-app .fcm-tool:hover{border-color:var(--fcm-accent)}\n#fcm-app .fcm-settings{margin-top:16px;border-top:1px solid var(--fcm-line);padding-top:10px;font-size:14px}\n#fcm-app .fcm-settings summary{cursor:pointer;font-weight:600;color:var(--fcm-sub)}\n#fcm-app .fcm-grid{display:grid;grid-template-columns:auto 1fr;gap:10px 12px;align-items:center;margin-top:10px}\n#fcm-app .fcm-k{color:var(--fcm-sub);white-space:nowrap}\n#fcm-app select{font:inherit;padding:4px 8px;border:1px solid var(--fcm-line);border-radius:6px;background:#fff;color:var(--fcm-ink);max-width:100%}\n@media (max-width:420px){#fcm-app .fcm-roots{grid-template-columns:repeat(4,1fr)}}\n<\/style>\n\n<h3 class=\"fcm-title\">\u6307\u677f\u30b3\u30fc\u30c9\u30fb\u30b9\u30b1\u30fc\u30eb\u56f3<\/h3>\n<p class=\"fcm-lead\">\u4e3b\u97f3(\u30eb\u30fc\u30c8)\u3068\u30b3\u30fc\u30c9\u3084\u30b9\u30b1\u30fc\u30eb\u306e\u7a2e\u985e\u3092\u9078\u3076\u3068\u3001\u6307\u677f\u4e0a\u306e\u97f3\u306e\u4f4d\u7f6e\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n<div class=\"fcm-label\">\u4e3b\u97f3<\/div>\n<div class=\"fcm-roots\" id=\"fcm-roots\"><\/div>\n\n<div class=\"fcm-label\">\u7a2e\u985e<\/div>\n<div class=\"fcm-types\" id=\"fcm-types\"><\/div>\n\n<div class=\"fcm-name\">\n  <span class=\"fcm-chord\" id=\"fcm-chord\"><\/span>\n  <div class=\"fcm-tones\" id=\"fcm-tones\"><\/div>\n<\/div>\n<p class=\"fcm-hint\">\u5ea6\u6570\u306e\u30dc\u30bf\u30f3\u3067\u8868\u793a\/\u975e\u8868\u793a\u3092\u5207\u308a\u66ff\u3048\u3089\u308c\u307e\u3059\u3002\u6307\u677f\u306e\u4e38\u3092\u62bc\u3059\u3068\u97f3\u304c\u9cf4\u308a\u307e\u3059\u3002<\/p>\n\n<div class=\"fcm-board\" id=\"fcm-board\"><svg id=\"fcm-svg\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"\u30ae\u30bf\u30fc\u306e\u6307\u677f\"><\/svg><\/div>\n\n<div class=\"fcm-tools\">\n  <button type=\"button\" class=\"fcm-tool\" id=\"fcm-play\">\u266a \u69cb\u6210\u97f3\u3092\u9cf4\u3089\u3059<\/button>\n  <button type=\"button\" class=\"fcm-tool\" id=\"fcm-label\">\u8868\u793a:\u5ea6\u6570<\/button>\n<\/div>\n\n<details class=\"fcm-settings\">\n  <summary>\u8a2d\u5b9a<\/summary>\n  <div class=\"fcm-grid\">\n    <span class=\"fcm-k\">\u97f3\u540d\u8868\u8a18<\/span>\n    <select id=\"fcm-names\">\n      <option value=\"en\">C D E(\u82f1\u7c73\u5f0f)<\/option>\n      <option value=\"it\">\u30c9\u30ec\u30df(\u30a4\u30bf\u30ea\u30a2\u5f0f)<\/option>\n      <option value=\"ja\">\u30cf \u30cb \u30db(\u65e5\u672c\u5f0f)<\/option>\n    <\/select>\n    <span class=\"fcm-k\">\u6307\u677f\u306e\u5411\u304d<\/span>\n    <select id=\"fcm-orient\">\n      <option value=\"auto\">\u81ea\u52d5(\u72ed\u3044\u753b\u9762\u306f\u7e26)<\/option>\n      <option value=\"h\">\u6a2a<\/option>\n      <option value=\"v\">\u7e26<\/option>\n    <\/select>\n    <span class=\"fcm-k\">\u7bc4\u56f2<\/span>\n    <select id=\"fcm-range\">\n      <option value=\"12\">\u958b\u653e\u301c12\u30d5\u30ec\u30c3\u30c8<\/option>\n      <option value=\"5\">\u958b\u653e\u301c5\u30d5\u30ec\u30c3\u30c8<\/option>\n      <option value=\"7\">\u958b\u653e\u301c7\u30d5\u30ec\u30c3\u30c8<\/option>\n      <option value=\"15\">\u958b\u653e\u301c15\u30d5\u30ec\u30c3\u30c8<\/option>\n    <\/select>\n  <\/div>\n<\/details>\n\n<script>\n(function(){\n  var root=document.getElementById('fcm-app'); if(!root) return;\n  var $=function(s){return root.querySelector(s);};\n  var OPEN=[64,59,55,50,45,40]; \/\/ 1\u5f26\u301c6\u5f26\n  var LPC=[0,2,4,5,7,9,11];\n  var LET={en:['C','D','E','F','G','A','B'],it:['\u30c9','\u30ec','\u30df','\u30d5\u30a1','\u30bd','\u30e9','\u30b7'],ja:['\u30cf','\u30cb','\u30db','\u30d8','\u30c8','\u30a4','\u30ed']};\n  \/\/ \u4e3b\u97f3:[\u97f3\u540d\u306e\u6587\u5b57(0=C), \u5909\u5316(-1=\u266d,1=\u266f)]\n  var ROOTS=[[0,0],[1,-1],[1,0],[2,-1],[2,0],[3,0],[3,1],[4,0],[5,-1],[5,0],[6,-1],[6,0]];\n  \/\/ \u5ea6\u6570:[\u8868\u793a, \u6587\u5b57\u306e\u9694\u305f\u308a, \u534a\u97f3\u6570, \u8272]\n  var DEG={\n    '1':['1',0,0,'#b5532a'], '2':['2',1,2,'#8a7a3a'], 'b3':['\u266d3',2,3,'#2f6f8f'], '3':['3',2,4,'#2f6f8f'],\n    '4':['4',3,5,'#8a7a3a'], 'b5':['\u266d5',4,6,'#c08a1e'], '5':['5',4,7,'#c08a1e'], '#5':['\u266f5',4,8,'#c08a1e'],\n    'b6':['\u266d6',5,8,'#8a7a3a'], '6':['6',5,9,'#8a7a3a'], 'bb7':['\u266d\u266d7',6,9,'#6b4f8a'], 'b7':['\u266d7',6,10,'#6b4f8a'], '7':['7',6,11,'#6b4f8a']\n  };\n  \/\/ [\u8a18\u53f7, \u540d\u524d, \u30b3\u30fc\u30c9\u8868\u8a18, \u5ea6\u6570, 'c'=\u30b3\u30fc\u30c9\/'s'=\u30b9\u30b1\u30fc\u30eb, \u77ed\u8abf\u7cfb\u306a\u3089 true]\n  var TYPES=[\n    ['maj','\u30e1\u30b8\u30e3\u30fc','',['1','3','5'],'c'],\n    ['min','\u30de\u30a4\u30ca\u30fc','m',['1','b3','5'],'c',true],\n    ['7','\u30bb\u30d6\u30f3\u30b9','7',['1','3','5','b7'],'c'],\n    ['M7','\u30e1\u30b8\u30e3\u30fc7','M7',['1','3','5','7'],'c'],\n    ['m7','\u30de\u30a4\u30ca\u30fc7','m7',['1','b3','5','b7'],'c',true],\n    ['dim','\u30c7\u30a3\u30df\u30cb\u30c3\u30b7\u30e5','dim',['1','b3','b5'],'c',true],\n    ['aug','\u30aa\u30fc\u30ae\u30e5\u30e1\u30f3\u30c8','aug',['1','3','#5'],'c'],\n    ['scale','\u30e1\u30b8\u30e3\u30fc\u30b9\u30b1\u30fc\u30eb','',['1','2','3','4','5','6','7'],'s'],\n    ['nmin','\u30ca\u30c1\u30e5\u30e9\u30eb\u30de\u30a4\u30ca\u30fc','',['1','2','b3','4','5','b6','b7'],'s',true],\n    ['hmin','\u30cf\u30fc\u30e2\u30cb\u30c3\u30af\u30de\u30a4\u30ca\u30fc','',['1','2','b3','4','5','b6','7'],'s',true],\n    ['mmin','\u30e1\u30ed\u30c7\u30a3\u30c3\u30af\u30de\u30a4\u30ca\u30fc','',['1','2','b3','4','5','6','7'],'s',true],\n    ['pmaj','\u30e1\u30b8\u30e3\u30fc\u30da\u30f3\u30bf\u30c8\u30cb\u30c3\u30af','',['1','2','3','5','6'],'s'],\n    ['pmin','\u30de\u30a4\u30ca\u30fc\u30da\u30f3\u30bf\u30c8\u30cb\u30c3\u30af','',['1','b3','4','5','b7'],'s',true]\n  ];\n  \/\/ \u77ed\u8abf\u7cfb\u3067\u306f D\u266d\u2192C\u266f\u3001A\u266d\u2192G\u266f \u3068\u66f8\u304f(\u8abf\u53f7\u304c\u5c11\u306a\u304f\u3001\u3088\u304f\u4f7f\u308f\u308c\u308b\u65b9)\n  var ROOTS_MIN={1:[0,1],8:[4,1]};\n  function rootOf(i){ return (TYPES[st.type][5] && ROOTS_MIN[i]) ? ROOTS_MIN[i] : ROOTS[i]; }\n  var st={root:0,type:0,label:'deg',hidden:{}};\n  try{ var sv=JSON.parse(localStorage.getItem('fcm-state')||'null'); if(sv){ st.root=sv.root||0; st.type=sv.type||0; st.label=sv.label||'deg'; } }catch(e){}\n  try{ var so=localStorage.getItem('fcm-orient'); if(so) $('#fcm-orient').value=so; var sn=localStorage.getItem('fcm-names'); if(sn) $('#fcm-names').value=sn; }catch(e){}\n\n  function save(){ try{ localStorage.setItem('fcm-state',JSON.stringify({root:st.root,type:st.type,label:st.label})); }catch(e){} }\n  function acc(a,sys){\n    if(sys==='ja') return '';\n    return a>0?Array(a+1).join('\u266f'):a<0?Array(-a+1).join('\u266d'):'';\n  }\n  function nn(l,a,sys){\n    if(sys==='ja'){ return (a>1?'\u91cd\u5b30':a>0?'\u5b30':a<-1?'\u91cd\u5909':a<0?'\u5909':'')+LET.ja[l]; }\n    return LET[sys][l]+acc(a,sys);\n  }\n  function rootName(i,sys){ var r=rootOf(i); return nn(r[0],r[1],sys); }\n  \/\/ \u4e3b\u97f3\u3068\u5ea6\u6570\u304b\u3089\u3001\u6b63\u3057\u304f\u7db4\u3063\u305f\u97f3\u540d\u3068\u97f3\u9ad8\u30af\u30e9\u30b9\u3092\u6c42\u3081\u308b\n  function tone(deg){\n    var r=rootOf(st.root), d=DEG[deg];\n    var l=(r[0]+d[1])%7, pc=(LPC[r[0]]+r[1]+d[2]+120)%12;\n    var a=((pc-LPC[l])%12+12)%12; if(a>6) a-=12;\n    return {deg:deg,l:l,a:a,pc:pc};\n  }\n  function chordTones(){ return TYPES[st.type][3].map(tone); }\n\n  function buildRoots(){\n    var sys=$('#fcm-names').value, box=$('#fcm-roots'); box.innerHTML='';\n    ROOTS.forEach(function(_,i){\n      var b=document.createElement('button'); b.type='button';\n      b.className='fcm-root'+(i===st.root?' is-on':''); b.textContent=rootName(i,sys);\n      b.addEventListener('click',function(){ st.root=i; save(); update(); });\n      box.appendChild(b);\n    });\n  }\n  function buildTypes(){\n    var box=$('#fcm-types'); box.innerHTML='';\n    [['c','\u30b3\u30fc\u30c9'],['s','\u30b9\u30b1\u30fc\u30eb']].forEach(function(gp){\n      var row=document.createElement('div'); row.className='fcm-trow';\n      var lb=document.createElement('span'); lb.className='fcm-tlabel'; lb.textContent=gp[1]; row.appendChild(lb);\n      TYPES.forEach(function(t,i){\n        if(t[4]!==gp[0]) return;\n        var b=document.createElement('button'); b.type='button';\n        b.className='fcm-type'+(i===st.type?' is-on':''); b.textContent=t[1];\n        b.addEventListener('click',function(){ st.type=i; st.hidden={}; save(); update(); });\n        row.appendChild(b);\n      });\n      box.appendChild(row);\n    });\n  }\n  function buildName(){\n    var sys=$('#fcm-names').value, T=TYPES[st.type], tones=chordTones();\n    var rn=rootName(st.root,sys);\n    $('#fcm-chord').textContent= T[4]==='s' ? rn+' '+T[1] : (sys==='en' ? rn+T[2] : rn+' '+T[1]);\n    var box=$('#fcm-tones'); box.innerHTML='';\n    tones.forEach(function(t){\n      var d=DEG[t.deg], b=document.createElement('button'); b.type='button';\n      b.className='fcm-tone'+(st.hidden[t.deg]?' is-off':'');\n      b.setAttribute('aria-pressed',st.hidden[t.deg]?'false':'true');\n      var i=document.createElement('i'); i.style.background=d[3]; i.textContent=d[0];\n      b.appendChild(i); b.appendChild(document.createTextNode(nn(t.l,t.a,sys)));\n      b.addEventListener('click',function(){ st.hidden[t.deg]=!st.hidden[t.deg]; buildName(); draw(); });\n      box.appendChild(b);\n    });\n  }\n\n  function isV(){ var o=$('#fcm-orient').value; return o==='v' || (o==='auto' && root.clientWidth<560); }\n\n  function draw(){\n    var max=+$('#fcm-range').value, sys=$('#fcm-names').value, v=isV(), svg=$('#fcm-svg');\n    $('#fcm-board').classList.toggle('is-v',v);\n    var tones=chordTones().filter(function(t){ return !st.hidden[t.deg]; });\n    var byPc={}; tones.forEach(function(t){ byPc[t.pc]=t; });\n    var g, P, W, H, h='', f, s;\n    if(v){\n      var SX0=34,SGV=36,OY=30,NV=52,FH=38;\n      var vx=function(s){return SX0+(6-s)*SGV;}, vy=function(f){return f===0?OY:NV+(f-0.5)*FH;};\n      W=vx(1)+22; H=NV+max*FH+8; var x1=vx(6)-15, x2=vx(1)+15;\n      h+='<rect x=\"'+x1+'\" y=\"'+NV+'\" width=\"'+(x2-x1)+'\" height=\"'+(max*FH)+'\" rx=\"3\" fill=\"#4a2f1d\"\/>';\n      for(f=1;f<=max;f++){ h+='<line x1=\"'+x1+'\" y1=\"'+(NV+f*FH)+'\" x2=\"'+x2+'\" y2=\"'+(NV+f*FH)+'\" stroke=\"#c8c5bd\" stroke-width=\"3\"\/>'; }\n      [3,5,7,9,15].forEach(function(m){ if(m<=max) h+='<circle cx=\"'+((vx(4)+vx(3))\/2)+'\" cy=\"'+vy(m)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/>'; });\n      if(max>=12) h+='<circle cx=\"'+((vx(5)+vx(4))\/2)+'\" cy=\"'+vy(12)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/><circle cx=\"'+((vx(3)+vx(2))\/2)+'\" cy=\"'+vy(12)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/>';\n      h+='<rect x=\"'+x1+'\" y=\"'+(NV-6)+'\" width=\"'+(x2-x1)+'\" height=\"7\" fill=\"#efe6d0\"\/>';\n      for(s=1;s<=6;s++){\n        h+='<line x1=\"'+vx(s)+'\" y1=\"'+(OY-12)+'\" x2=\"'+vx(s)+'\" y2=\"'+(H-8)+'\" stroke=\"'+(s<=3?'#f3efe6':'#d6b36e')+'\" stroke-width=\"'+(1.2+s*0.4)+'\"\/>';\n        h+='<text x=\"'+vx(s)+'\" y=\"11\" text-anchor=\"middle\" class=\"fcm-sl\">'+s+'<\/text>';\n      }\n      for(f=0;f<=max;f++) h+='<text x=\"12\" y=\"'+(vy(f)+4)+'\" text-anchor=\"middle\" class=\"fcm-fn\">'+f+'<\/text>';\n      P=function(s,f){ return [vx(s),vy(f)]; };\n    }else{\n      var NUT=52,OPENX=32,FW=Math.max(44,Math.min(56,Math.round(660\/max))),SY=28,SG=30;\n      var fx=function(f){return f===0?OPENX:NUT+(f-0.5)*FW;}, sy=function(s){return SY+(s-1)*SG;};\n      W=NUT+max*FW+14; H=SY+5*SG+36; var y1=SY-15, y2=sy(6)+15;\n      h+='<rect x=\"'+NUT+'\" y=\"'+y1+'\" width=\"'+(W-14-NUT)+'\" height=\"'+(y2-y1)+'\" rx=\"3\" fill=\"#4a2f1d\"\/>';\n      for(f=1;f<=max;f++){ h+='<line x1=\"'+(NUT+f*FW)+'\" y1=\"'+y1+'\" x2=\"'+(NUT+f*FW)+'\" y2=\"'+y2+'\" stroke=\"#c8c5bd\" stroke-width=\"3\"\/>'; }\n      [3,5,7,9,15].forEach(function(m){ if(m<=max) h+='<circle cx=\"'+fx(m)+'\" cy=\"'+(sy(3)+SG\/2)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/>'; });\n      if(max>=12) h+='<circle cx=\"'+fx(12)+'\" cy=\"'+(sy(2)+SG\/2)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/><circle cx=\"'+fx(12)+'\" cy=\"'+(sy(4)+SG\/2)+'\" r=\"6\" fill=\"#e9dcc2\" opacity=\".5\"\/>';\n      h+='<rect x=\"'+(NUT-6)+'\" y=\"'+y1+'\" width=\"7\" height=\"'+(y2-y1)+'\" fill=\"#efe6d0\"\/>';\n      for(s=1;s<=6;s++){\n        h+='<line x1=\"'+(OPENX-16)+'\" y1=\"'+sy(s)+'\" x2=\"'+(W-14)+'\" y2=\"'+sy(s)+'\" stroke=\"'+(s<=3?'#f3efe6':'#d6b36e')+'\" stroke-width=\"'+(1.2+s*0.4)+'\"\/>';\n        h+='<text x=\"8\" y=\"'+(sy(s)+4)+'\" class=\"fcm-sl\">'+s+'<\/text>';\n      }\n      for(f=0;f<=max;f++) h+='<text x=\"'+fx(f)+'\" y=\"'+(H-8)+'\" text-anchor=\"middle\" class=\"fcm-fn\">'+f+'<\/text>';\n      P=function(s,f){ return [fx(f),sy(s)]; };\n    }\n    for(s=1;s<=6;s++){\n      for(f=0;f<=max;f++){\n        var m=OPEN[s-1]+f, t=byPc[m%12]; if(!t) continue;\n        var p=P(s,f), d=DEG[t.deg], isRoot=t.deg==='1';\n        var lab= st.label==='deg' ? d[0] : (sys==='ja' ? nn(t.l,t.a,sys).replace(\/^(\u91cd\u5b30|\u91cd\u5909|\u5b30|\u5909)\/,function(x){return x.charAt(x.length-1);}) : nn(t.l,t.a,sys));\n        h+='<g class=\"fcm-dot\" data-m=\"'+m+'\"><circle cx=\"'+p[0]+'\" cy=\"'+p[1]+'\" r=\"'+(isRoot?13:12)+'\" fill=\"'+d[3]+'\" stroke=\"#fff\" stroke-width=\"'+(isRoot?2.5:1.5)+'\"\/>';\n        h+='<text x=\"'+p[0]+'\" y=\"'+(p[1]+3.8)+'\" text-anchor=\"middle\" class=\"fcm-dt\">'+lab+'<\/text><\/g>';\n      }\n    }\n    svg.setAttribute('viewBox','0 0 '+W+' '+H);\n    svg.innerHTML=h;\n    svg.style.minWidth = (!v && max>7) ? (max>12?'760px':'600px') : '0';\n    svg.querySelectorAll('.fcm-dot').forEach(function(g){ g.addEventListener('click',function(){ play(+g.getAttribute('data-m')); }); });\n  }\n\n  function update(){ buildRoots(); buildTypes(); buildName(); draw(); $('#fcm-label').textContent='\u8868\u793a:'+(st.label==='deg'?'\u5ea6\u6570':'\u97f3\u540d'); }\n\n  \/* ---------- \u97f3 ---------- *\/\n  var ac=null;\n  function play(m,when){\n    try{\n      ac=ac||new (window.AudioContext||window.webkitAudioContext)();\n      if(ac.state==='suspended') ac.resume();\n      var t=ac.currentTime+(when||0), f=440*Math.pow(2,(m-69)\/12);\n      var o1=ac.createOscillator(), o2=ac.createOscillator(), g2=ac.createGain(), lp=ac.createBiquadFilter(), g=ac.createGain();\n      o1.type='triangle'; o1.frequency.value=f;\n      o2.type='sine'; o2.frequency.value=f*2; g2.gain.value=0.25;\n      lp.type='lowpass'; lp.frequency.setValueAtTime(f*6,t); lp.frequency.exponentialRampToValueAtTime(f*1.5,t+1.2);\n      g.gain.setValueAtTime(0.0001,t); g.gain.exponentialRampToValueAtTime(0.3,t+0.008); g.gain.exponentialRampToValueAtTime(0.0001,t+1.8);\n      o1.connect(lp); o2.connect(g2); g2.connect(lp); lp.connect(g); g.connect(ac.destination);\n      o1.start(t); o2.start(t); o1.stop(t+1.9); o2.stop(t+1.9);\n    }catch(e){}\n  }\n  $('#fcm-play').addEventListener('click',function(){\n    \/\/ \u4e3b\u97f3\u30925\u5f26\u30fb6\u5f26\u4ed8\u8fd1(E2\u301c)\u306e\u9ad8\u3055\u304b\u3089\u9806\u306b\u9cf4\u3089\u3059\n    var r=rootOf(st.root), base=48+((LPC[r[0]]+r[1]+12)%12); \/\/ C3\u301cB3\n    var semis=TYPES[st.type][3].map(function(dg){ return DEG[dg][2]; });\n    var gap=TYPES[st.type][4]==='s'?0.28:0.35;\n    semis.forEach(function(x,i){ play(base+x,i*gap); });\n    play(base+12,semis.length*gap);\n  });\n  $('#fcm-label').addEventListener('click',function(){ st.label=st.label==='deg'?'name':'deg'; save(); update(); });\n  $('#fcm-names').addEventListener('change',function(){ try{ localStorage.setItem('fcm-names',this.value); }catch(e){} update(); });\n  $('#fcm-orient').addEventListener('change',function(){ try{ localStorage.setItem('fcm-orient',this.value); }catch(e){} draw(); });\n  $('#fcm-range').addEventListener('change',draw);\n  var rz=null;\n  window.addEventListener('resize',function(){ clearTimeout(rz); rz=setTimeout(function(){ if($('#fcm-orient').value==='auto') draw(); },150); });\n\n  update();\n})();\n<\/script>\n<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ac1b45 elementor-widget elementor-widget-html\" data-id=\"5ac1b45\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.lt-nav{max-width:760px;margin:0 auto;padding:4px 16px;font-family:\"Hiragino Sans\",\"Noto Sans JP\",\"Yu Gothic\",sans-serif;font-size:14px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.lt-nav a{color:#b5532a;font-weight:700;text-decoration:none}.lt-nav a:hover{text-decoration:underline}.lt-nav .lt-sub{color:#7a6e64}.lt-nav .lt-back{display:inline-block;padding:6px 14px;border:1px solid #e3d9cc;border-radius:999px;background:#fff}<\/style><nav class=\"lt-nav\" aria-label=\"\u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\"><a class=\"lt-back\" href=\"\/?page_id=907\">\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b<\/a><span class=\"lt-sub\">\u7df4\u7fd2\u3059\u308b\u306a\u3089:<a href=\"\/?page_id=908\">\u6307\u677f \u97f3\u5f53\u3066\u30af\u30a4\u30ba \u2192<\/a><\/span><\/nav>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>\u2190 \u5b66\u7fd2\u30fb\u8cc7\u6599\u5ba4\u306b\u623b\u308b \u6307\u677f\u30b3\u30fc\u30c9\u30fb\u30b9\u30b1\u30fc\u30eb\u56f3 \u4e3b\u97f3(\u30eb\u30fc\u30c8)\u3068\u30b3\u30fc\u30c9\u3084\u30b9\u30b1\u30fc\u30eb\u306e\u7a2e\u985e\u3092\u9078\u3076\u3068\u3001\u6307\u677f\u4e0a\u306e\u97f3\u306e\u4f4d\u7f6e\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002 \u4e3b\u97f3 \u7a2e\u985e \u5ea6\u6570\u306e\u30dc\u30bf\u30f3\u3067\u8868\u793a\/\u975e\u8868\u793a\u3092\u5207\u308a\u66ff\u3048\u3089\u308c\u307e\u3059\u3002\u6307\u677f\u306e\u4e38\u3092\u62bc\u3059\u3068\u97f3\u304c\u9cf4\u308a\u307e\u3059\u3002  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":907,"menu_order":5,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-939","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=939"}],"version-history":[{"count":7,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/939\/revisions"}],"predecessor-version":[{"id":985,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/939\/revisions\/985"}],"up":[{"embeddable":true,"href":"https:\/\/guitarschool.in\/index.php?rest_route=\/wp\/v2\/pages\/907"}],"wp:attachment":[{"href":"https:\/\/guitarschool.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}