@charset "UTF-8";

/* Google Fonts読み込み */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* ==========================================================================
   Normalize.css v2.1.3 | MIT License | git.io/normalize
   ========================================================================== */

/* HTML5 display definitions */
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

audio, canvas, video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden], template {
    display: none;
}

/* Base */
html {
    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    color: #444;
}

/* Links */
a {
    background: transparent;
}

a:focus {
    outline: thin dotted;
}

a:active, a:hover {
    outline: 0;
}

/* Typography */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

mark {
    background: #ff0;
    color: #000;
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content */
img {
    border: 0;
    vertical-align: bottom;
    border: none;
    max-width: 100%;
    height: auto;
    padding: 0.2em;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

/* Forms */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}

button, input {
    line-height: normal;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

/* Tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Lists */
ol ol, ol ul, ul ol, ul ul {
    margin: 0;
}

/* ==========================================================================
   基本的なユーティリティクラス
   ========================================================================== */

.fl {
    float: left;
}

.fr {
    float: right;
}

.highlight {
    background: #ff0;
}

.important {
    color: red;
}

/* フォント設定 */
i, cite, em, var, address, dfn {
    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "MS Pゴシック", "MS PGothic", sans-serif;
}

/* ==========================================================================
   メニュー関連
   ========================================================================== */

.menu {
    width: 100%;
    margin: 0;
    padding: 0;
    clear: both;
    overflow: hidden;
}

.menu li {
    float: left;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/* ==========================================================================
   アライメント（配置）
   ========================================================================== */

.alignleft {
    float: left;
}

.alignright {
    float: right;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    clear: both;
}

.content img.alignleft {
    padding: 0 0.2em 0.2em 0;
}

.content img.alignright {
    padding: 0 0 0.2em 0.2em;
}

.content img.aligncenter {
    padding: 0 0.2em 0.2em 0.2em;
}

/* ==========================================================================
   フレーム（枠線）スタイル
   ========================================================================== */

.frame {
    margin: 5px 0;
    padding: 5px;
    border: 1px solid #999;
}

.frame.alert {
    border-color: #FF6F6F;
    background: #fff5f5;
}

.frame.info {
    border-color: #5E8AFF;
    background: #f5f5ff;
}

.frame.warning {
    border-color: #FFE20B;
    background: #fffff5;
}

.frame.dash {
    border-style: dashed;
}

.frame.shadow {
    -webkit-box-shadow: 0 4px 8px -2px #999;
    -moz-box-shadow: 0 4px 8px -2px #999;
    box-shadow: 0 4px 8px -2px #999;
}

/* ==========================================================================
   レイアウト設定（★重要：サイズ変更はここ）
   ========================================================================== */

.container {
    width: 100%;
}

.primary {
    width: 640px; /* メインコンテンツ幅 */
}

.secondary {
    width: 230px; /* サイドバー幅 */
}

.inner {
    width: 900px; /* 全体の最大幅 */
    margin: 0 auto;
}

/* カラムレイアウト */
.column-one .primary {
    width: 100%;
}

.column-left .primary {
    float: right;
}

.column-left .secondary {
    float: left;
}

.column-right .primary {
    float: left;
}

.column-right .secondary {
    float: right;
}

.main {
    padding: 10px;
}

.container {
    margin: 0 auto;
}

.header, .main, .footer {
    clear: both;
    overflow: hidden;
}

/* ==========================================================================
   ヘッダー設定（★重要：色やスタイル変更はここ）
   ========================================================================== */

.header h1, .header p {
    margin: 0;
}

.header img {
    width: 100%;
    height: auto;
}

.header a {
    text-decoration: none;
    color: #444;
}

.header-text h2 {
    margin: 0;
    font-size: 1.5em;
}

.header-h1 {
    padding: 0 10px;
}

.image-with-text h1, .none-image h1 {
    padding: .5em 0;
    line-height: 1.2;
    font-size: .8em;
}

.image-with-text .header-h1 {
    padding-left: 0;
    padding-right: 0;
}

.image-with-text h1 {
    padding-left: 10px;
    padding-right: 10px;
}

.image-with-text .header-text h2,
.image-with-text .header-description {
    position: absolute;
    padding: 10px;
    width: 880px;
}

.image-with-text .header-description {
    margin-top: 3em;
}

.header-description {
    font-size: .75em;
    line-height: 1.4;
}

.none-image .header-text {
    padding: 10px;
}

.only-image .header-h1 {
    padding: 0;
}

/* ヘッダーの色設定 */
.header {
    color: #444;
}

.header a {
    color: #444;
}

.image-with-text .header-text {
    color: #444;
    text-shadow: #fff 1px 1px 0px, #fff -1px 1px 0px, #fff 1px -1px 0px, #fff -1px -1px 0px;
}

.image-with-text .header-text a {
    color: #444;
}

/* ==========================================================================
   パンくずリスト
   ========================================================================== */

.bread {
    margin-bottom: 10px;
    padding-left: 10px;
    font-size: .75em;
}

.bread li {
    list-style: none;
    float: left;
}

.bread li:after {
    content: ">";
    margin: 0 .5em;
}

.bread li:last-child:after {
    content: "";
}

/* ==========================================================================
   グローバルナビゲーション（★重要：色変更はここ）
   ========================================================================== */

.global-nav {
    text-align: center;
    min-height: 2.0em;
    color: #fff;
    background: #5279df; /* ナビゲーション背景色 */
}

.global-nav li {
    list-style: none;
    padding: .5em;
    line-height: 1;
    border-color: #fff;
    border-right: 1px solid;
}

.global-nav a {
    text-decoration: none;
    color: #fff;
}

.global-nav .menu {
    display: block;
    border-left: 1px solid #fff;
}

.nav-toggle {
    padding: .5em;
    line-height: 1;
    color: #fff;
    background: #5279df;
}

.nav-toggle.active {
    margin: 0;
}

.nav-toggle.none {
    display: none;
}

.nav-toggle a {
    color: #fff;
    text-decoration: none;
}

.nav-toggle ul.menu {
    border-left: 1px solid #fff;
}

/* Responsive Navigation CSS */
.nav-collapse.opened {
    max-height: 9999px;
}

.disable-pointer-events {
    pointer-events: none !important;
}

.nav-toggle {
    display: none;
}

/* ==========================================================================
   サイドバー（セカンダリ）設定
   ========================================================================== */

.secondary section {
    margin-bottom: 1em;
    padding: .5em;
    background: #fff;
    border: 1px solid #ccc;
}

.secondary h3 {
    margin: 0;
    font-weight: normal;
    border-bottom: 3px solid #5279df; /* サイドバー見出し下線色 */
    margin-bottom: .5em;
}

.secondary a {
    text-decoration: none;
    color: #70262b;
}

.secondary ul {
    padding: 0;
    margin: 0;
}

.secondary li {
    list-style: none;
}

.secondary li a {
    display: block;
    padding: .3em 0;
}

.secondary ul.child a {
    padding-left: 1em;
}

.secondary ul.child a:before {
    content: "●";
    margin-right: .3em;
    color: #5bd1f5;
}

/* ==========================================================================
   フッター設定（★重要：色変更はここ）
   ========================================================================== */

.footer {
    text-align: center;
    line-height: 1.2;
    color: #fff;
    background: #242424; /* フッター背景色 */
}

.footer a {
    text-decoration: none;
    color: #fff;
}

.footer .copyright, .footer .sitemap {
    margin: .5em 0;
    line-height: 1.2;
}

/* ==========================================================================
   メインコンテンツ設定
   ========================================================================== */

.content {
    line-height: 1.4;
    word-wrap: break-word;
    padding: 5px;
    background: #fff;
    border: 1px solid #ccc;
}

.content h2, .content h3, .content h4, .content h5 {
    margin: 1em 0 .5em 0;
    clear: both;
    font-size: 1.17em;
    font-weight: bold;
}

.content h2 {
    margin-top: 0;
    border-bottom: 3px solid #5279df; /* 見出し2の下線色 */
}

.content h3 {
    border-bottom: 3px solid #5279df; /* 見出し3の下線色 */
}

.content h4 {
    border-bottom: 1px dotted #5279df; /* 見出し4の下線色 */
}

.content h3, .content h4, .content h5 {
    padding-left: 22px;
    position: relative;
}

.content h3:before, .content h4:before, .content h5:before {
    content: "";
    position: absolute;
    background: #5279df; /* 見出しマーカー色 */
    top: .3em;
    height: .8em;
    width: .8em;
    border-radius: 50%;
    left: 0;
}

.content p {
    margin-top: 0.1em;
    margin-bottom: 1em;
}

.content p, .content div {
    margin-left: 10px;
    margin-right: 10px;
}

.content .freespace {
    margin-bottom: 1em;
}

.sub-article {
    overflow: hidden;
    border: 1px solid #ccc;
    margin: .5em 0;
    padding: .2em;
}

.sub-article h3 {
    margin-top: .2em;
}

.more-link {
    float: right;
    color: #444;
}

/* ==========================================================================
   サイトマップ
   ========================================================================== */

ul.sitemap {
    list-style: none;
    padding-left: 1em;
    margin-left: 0;
}

ul.sitemap.child {
    padding-left: 2em;
}

ul.sitemap li {
    padding: .3em 0;
}

/* ==========================================================================
   ページトップボタン
   ========================================================================== */

.go-top {
    position: fixed;
    bottom: 2em;
    right: 2em;
    width: 3em;
    height: 3em;
    line-height: 3;
    background: #eee;
    text-align: center;
    border-radius: 3px;
    background: url(../img/gototop.png);
    transition: opacity 1s linear;
    opacity: 0.2;
}

.go-top:hover, .go-top.active {
    opacity: 1;
}

.go-top a {
    display: block;
    width: 100%;
    height: 100%;
}

/* ==========================================================================
   全体のカラーテーマ設定（★重要：サイト全体の色はここで変更）
   ========================================================================== */

.container {
    background: #f8f8f8; /* サイト全体の背景色 */
}

.header-text {
    background: #fff;
}

.none-image .header-h1, .image-with-text .header-h1 {
    background: #242424; /* ヘッダータイトル背景色 */
    color: #fff;
}

.none-image .header-h1 h1, .image-with-text .header-h1 h1 {
    font-weight: normal;
}

.none-image .header-text {
    padding-top: 1.8em;
    padding-bottom: 1.8em;
}

/* ==========================================================================
   Google Fonts使用のサンプルクラス
   ========================================================================== */

.SampleClass {
    font-family: 'Noto Sans JP', sans-serif;
}

/* ==========================================================================
   レスポンシブデザイン（タブレット）
   ========================================================================== */

@media only screen and (max-width: 800px) {
    .container, .primary, .secondary, .inner {
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    .column-left .primary, .column-left .secondary,
    .column-right .primary, .column-right .secondary {
        float: none;
    }
    
    .main {
        padding: 0;
    }
    
    .primary {
        padding: 10px;
    }
    
    .image-with-text .header-text h2,
    .image-with-text .header-description {
        width: 97%;
    }
    
    .bread {
        margin: 10px 10px 0 10px;
    }
    
    .site-description {
        display: none;
    }
    
    .secondary li a {
        color: inherit;
        display: block;
    }
    
    .secondary ul.child {
        display: none;
    }
    
    .image-with-text .header-text .inner {
        padding: 0;
    }
    
    .global-nav ul.menu {
        border-left: none;
    }
    
    .secondary {
        padding: 10px;
    }
    
    .secondary section {
        margin-bottom: 10px;
    }
}

/* ==========================================================================
   レスポンシブデザイン（スマートフォン）
   ========================================================================== */

@media only screen and (max-width: 600px) {
    .header h1 {
        font-size: 1rem;
    }
    
    .header-text {
        display: none;
    }
    
    .global-nav {
        position: relative;
    }
    
    .global-nav ul {
        display: none;
    }
    
    .global-nav li, .global-nav .nav-toggle {
        width: 100%;
        line-height: 2;
    }
    
    .global-nav a {
        display: block;
    }
    
    .js .nav-collapse.closed {
        max-height: 0;
    }
    
    .nav-toggle {
        display: block;
        position: static;
    }
    
    .bread {
        display: none;
    }
    
    .none-image .header-h1 h1, .image-with-text .header-h1 h1 {
        font-size: 1em;
    }
    
    .global-nav li {
        border-right: none;
        border-top: 1px solid #fff;
    }
}