@charset 'utf-8';
/* 汎用CSS */

/* 汎用 */
html { position:relative; top:0; left:0; z-index:1; }
h1, h2, h3, h4, h5, h6, p, ul li, ol li, dl dt, dl dd { line-height:1.8; letter-spacing:0.05rem; margin:0; padding:0; }
img { pointer-events:none; -webkit-touch-callout:none; -webkit-user-select:none; -moz-touch-callout:none; -moz-user-select:none; touch-callout:none; user-select:none; }

/* スマホ専用表示 */
.pc { display:none; }
.tab { display:none; }
.sma { display:block; }

/* 回り込み解除用 */
.clear { clear:both; }

/* 消す呪文 */
.none { display:none; }
.ng { background-color:#000; color:#000; }
.ng::selection { background-color:#000; color:#000; }
.ng::-moz-selection { background-color:#000; color:#000; }

/* リンク関係 */
a { text-decoration:none; }
a:link, a:visited { transition:.5s; }
a:active, a:hover { transition:.5s; }

/* 縦幅制御 */
div.table { display:table; width:100%; } div.table-cell { display:table-cell; vertical-align:middle; }
div.h100 div.table { height:100vh; }

/* アイコン */
.material-icons { margin:0; padding:0; line-height:1; vertical-align:middle; }

/* 文字並び */
.center { text-align:center; } .right { text-align:right; } .left { text-align:left; }

/* 文字装飾 */
.b { font-weight:bold; } .s { text-decoration:line-through; }
.small { font-size:85%; } .big { font-size:120%; } .dash { letter-spacing:-0.5rem; }

/* リスト */
ul { margin:0; padding:0; } ul li { list-style:none; margin:0; padding:0; }

/* 色 */
.red { color:#ff0000; } .blue { color:#0000ff; } .green { color:#008000; } .yellow { color:#ffff00; }
.pink { color:#ffc0cb; } .orange { color:#ffa500; } .purple { color:#800080; } .brown { color:#a52a2a; }
.black { color:#000; } .gray { color:#ccc; } .white { color:#fff; }

/* マーカー */
.m_cyan { background-image:linear-gradient( transparent 55%, rgba(0,255,255,0.25) 55% ); }
.m_lime { background-image:linear-gradient( transparent 55%, rgba(0,255,0,0.25) 55% ); }
.m_lemon { background-image:linear-gradient( transparent 55%, rgba(255,255,0,0.25) 55% ); }
.m_red { background-image:linear-gradient( transparent 55%, rgba(255,105,180,0.25) 55% ); }

/* トップに戻るボタン */
div#backtop { position:fixed; right:0; bottom:0; z-index:49; }
div#backtop a { display:flex; align-items:center; justify-content:center; margin:.5rem; border-radius:50%; height:30px; width:30px; line-height:30px; }
div#backtop a::before { content:''; width:10px; height:10px; margin-bottom:-5px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(-45deg); }
div#backtop a:link, div#backtop a:visited { transform:scale(1.0); }
div#backtop a:active, div#backtop a:hover { transform:scale(1.1); }


/* ===== タブレット ===== */
@media (min-width:520px) {

/* タブレット専用表示 */
.pc { display:none; }
.tab { display:block; }
.sma { display:none; }

/* トップに戻るボタン */
div#backtop a { height:36px; width:36px; line-height:36px; }
div#backtop a::before { width:11px; height:11px; }


}

/* ===== PC記述 ===== */
@media (min-width:960px) {

/* PC専用表示 */
.pc { display:block; }
.tab { display:none; }
.sma { display:none; }

/* トップに戻るボタン */
div#backtop a { margin:1rem 1.5rem; height:45px; width:45px; line-height:45px; }
div#backtop a::before { width:12.5px; height:12.5px; margin-bottom:-6px; }


}

.material-icons {
     font-family: 'Material Icons';
     font-weight: normal;
     font-style: normal;
     font-size: 24px;  /* Preferred icon size */
     display: inline-block;
     line-height: 1;
     text-transform: none;
     letter-spacing: normal;
     word-wrap: normal;
     white-space: nowrap;
     direction: ltr;

     /* Support for all WebKit browsers. */
     -webkit-font-smoothing: antialiased;
     /* Support for Safari and Chrome. */
     text-rendering: optimizeLegibility;

     /* Support for Firefox. */
     -moz-osx-font-smoothing: grayscale;

     /* Support for IE. */
     font-feature-settings: 'liga';
}
