/*
 *  Delighters.js 関連
 */
.delighter{
    transition: all .7s ease-out;
    transform: translateY(36px);
    opacity: 0;
}
.started{
    opacity: 1;
    transform: translateY(0px);
}
.ended{
}

/*
 *  全ページ共通スタイル
 */
html{
    /* フォントサイズの正確に */
    -webkit-text-size-adjust: 100%;
    /* 文字をシャープに */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* カーニングとリガチャ（合字）を調整 */
    text-rendering: optimizeLegibility;    
}

body{
    margin: 0;
    padding: 0;
}

img{
    padding: 0;
    margin: 0;
    border-style: none;
}

/*  すべての要素に対し、フォントとBLOCKサイズの固定値を設定*/
*{
    box-sizing: border-box;
    line-height: 1.4em;
}

.gothic{
    font-family: "Hiragino Kaku Gothic Pro W3","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;  
}

.mincho{
    font-family: 'cursive','ＭＳ 明朝', 'ＭＳ 明朝', 'ヒラギノ明朝', 'HG明朝E',  serif, 'Noto Serif JP';
}

/*  リンクタグは ［下線なし 文字色は黒］*/
a{
    text-decoration: none;
    color: #000;
}
/*  リンクマウスオーバー時の文字色*/
a:hover{
    color: #BE0006;
}

/*  テーブルブロック内の class="tr" は テーブル行である*/
.tr{
    display: table-row;
}

/*  テーブルブロック内の class="td*"(th*) は セルである*/
.td,.td1,.td2,.td3,.td4,.td5,.td6,.td7,.td8,.td9,.td10,
.td11,.td12,.td13,.td14,.td15,.td16,.td17,.td18,.td19,.td20,
.th,.th1,.th2,.th3,.th4,.th5,.th6,.th7,.th8,.th9,.th10,
.th11,.th12,.th13,.th14,.th15,.th16,.th17,.th18,.th19,.th20{
    display: table-cell;
    vertical-align: top;
    border-collapse: collapse;
}

p{
    margin: 0;
    padding: 0;
    line-height: 1.4em;
}

.w960{
    width: 960px;
    margin: 0 auto;
}

/*  全要素において class="relative" が含まれれば 相対ブロック扱いである*/
.relative{
    position: relative;
}
/*  全要素において class="absolute" が含まれれば 浮遊ブロック扱いである*/
/*  浮遊ブロックの親要素は必ず .relative であること*/
.absolute{
    position: absolute;
}

.inner{
    position: relative;
}

.inner960{
    width: 960px;
    margin: 0 auto;
    position: relative;
}
.inner960.onBG{
    width: 960px;
    margin: 0 auto;
    background-color: inherit;
    position: relative;
    background-color: rgba(255,255,255,0.4);
}

.margin100vh{
    padding-top: 100vh;
}

.sepSSS{
    height: 4px;
}
.sepSS{
    height: 8px;
}
.sepS{
    height: 16px;
}
.sepM{
    height: 32px;
}
.sepL{
    height: 64px;
}

/*------------------------------------------------------------------------------
    header
------------------------------------------------------------------------------*/
header{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
}
header > .inner{
    height: 64px;
    background-color: #ddd;
    padding: 16px 32px;
}
/*------------------------------------------------------------------------------
    footer
------------------------------------------------------------------------------*/
footer > .inner{
    height: 200px;
    background-color: #ddd;
    padding: 16px 32px;
}
/*-----------------------------------------------------------------------------
    優先適用
------------------------------------------------------------------------------*/
.pcno{  /*PC版非表示*/
    display: none !important;
}

.dummy{
    top: -100px !important;
    left: -100px !important;
    width: 1px !important;
    height: 1px !important;
    position: fixed !important;
    padding: 0 !important;
    border: none !important;
}

.orange{
    color: orange;
}