@charset "utf-8";
/**
 * ============================================================================
 * com-core-reset.css
 * ============================================================================
 * 
 * 【目的】
 * ブラウザのデフォルトスタイルをリセットし、クロスブラウザの一貫性を確保する。
 * HTML5 Doctor Reset を採用し、IE11対応とclearfixハックを含む。
 * 
 * 【使用ページ】
 * 全ページ（必須）
 * 
 * 【依存関係】
 * なし（最初に読み込まれるべきファイル）
 * 
 * 【読み込み順序】
 * 1番目（必須・最優先）
 * 
 * 【主要な機能】
 * 1. clearfix ハック (.clfx クラス)
 *    - floatを使用した要素の親要素に適用
 *    - IE6/7対応も含む
 * 
 * 2. IE11 フォントサイズ問題の修正
 *    - IE11ではフォントサイズが小さく表示される問題を修正
 *    - font-size: 16px !important で強制的に標準サイズに
 * 
 * 3. Gecko ブラウザの取消線問題の修正
 *    - <del>タグ内の要素に取消線が継承されない問題を修正
 * 
 * 4. HTML5 Doctor Reset
 *    - 全要素の margin/padding/border をリセット
 *    - 出典: http://www.cssreset.com/scripts/html5-doctor-css-reset-stylesheet/
 * 
 * 【注意事項】
 * - このファイルを変更すると全ページに影響します
 * - 他のCSSファイルはこのリセットが適用された状態を前提としています
 * - 読み込み順序を変更しないでください
 * - ミニファイ後は core-reset.css にリネームされます
 * 
 * 【変更履歴】
 * 2025-10-20: hack.css から改名・充実したドキュメント追加
 * 
 * ============================================================================
 */


/* ============================================================================
   clearfix ハック
   ----------------------------------------------------------------------------
   floatを使用した要素の親要素に .clfx クラスを適用することで
   高さが崩れる問題を解決します。
   
   【使用例】
   <div class="clfx">
     <div style="float:left">左カラム</div>
     <div style="float:right">右カラム</div>
   </div>
   
   【対応ブラウザ】
   - モダンブラウザ: :after 疑似要素を使用
   - IE6/7: * html ハック、height: 1px を使用
   ============================================================================ */

.clfx:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}
.clfx {
  min-height: 1px;
}
* html .clfx {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}


/* ============================================================================
   IE11 フォントサイズ問題の修正
   ----------------------------------------------------------------------------
   IE11では、フォントサイズが他のブラウザより小さく表示される問題があります。
   @media クエリでIE11のみを判定し、font-size: 16px を強制適用します。
   
   【判定方法】
   -ms-high-contrast: メディア特性（IE10/11のみサポート）
   *::-ms-backdrop: 疑似要素（IE11のみサポート）
   ============================================================================ */

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, html { font-size: 16px !important;} /* IE11 */
}


/* ============================================================================
   Gecko ブラウザの取消線問題の修正
   ----------------------------------------------------------------------------
   Firefox（Gecko）では、<del>タグ内の子要素に取消線が継承されません。
   text-decoration: inherit で明示的に継承させます。
   
   【対象要素】
   見出し(h1-h6)、段落(p)、リスト(ul/ol/dl)、テーブル、フォームなど
   ============================================================================ */

del{
text-decoration:line-through;}
del > h1, del > h2, del > h3,
del > h4, del > h5, del > h6,
del > div, del > p, del > pre,
del > address, del > blockquote,
del > ul, del > ol, del > dl, 
del > form, del > fieldset,
del > table, del > table * {
  text-decoration: inherit;
}


/* ============================================================================
   HTML5 Doctor Reset
   ----------------------------------------------------------------------------
   全HTML要素のデフォルトスタイルをリセットします。
   
   【リセット内容】
   - margin: 0
   - padding: 0
   - border: 0
   - outline: 0
   - font-size: 100%
   - vertical-align: baseline
   - background: transparent
   - font-style: normal
   
   【出典】
   http://www.cssreset.com/scripts/html5-doctor-css-reset-stylesheet/
   
   【対象要素】
   基本要素、HTML5要素(article, aside, nav, section等)、
   フォーム要素、テーブル要素など全て
   ============================================================================ */

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-style:normal}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
