/*
 * grid
 * version:v1.0
 * Developer:popodesign
 * URL:https://popo-design.net
 */

/* 全体の設定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 62.5%;
}

body {
    color: #000;
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    background:#fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin:0;
	padding:0;
}

/* グリッド
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 2.0rem;
    position: relative;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:768px) {
    .container {
        width: 750px
    }
}

@media (min-width:992px) {
    .container {
        width: 970px
    }
}

@media (min-width:1200px) {
    .container {
        width: 1170px
    }
}


/* ブロックを縦に表示 */
.row {
    display: flex;
    flex-direction: column;
    padding: 0;
    width: 100%;
}
.col {
    display: block;
    flex: 1 1 auto;
    margin-left: 0;
    max-width: 100%;
    width: 100%;
}
/* 768px以上の表示 */
@media ( min-width : 768px ) {
.row {
    display: flex;
    flex-direction: row;
    padding: 0;
}
.col {
    margin-left: 4%;
}
	
.col:first-child { 
    margin-left: 0; 
}

.row .col.span-1 {
    flex: 0 0 4.66666666667%;
    max-width: 4.66666666667%;
}
.row .col.span-2 {
    flex: 0 0 13.3333333333%;
    max-width: 13.3333333333%;
}
.row .col.span-3 {
    flex: 0 0 22%;
    max-width: 22%;
}
.row .col.span-4 {
    flex: 0 0 30.6666666667%;
    max-width: 30.6666666667%;
}
.row .col.span-5 {
    flex: 0 0 39.3333333333%;
    max-width: 39.3333333333%;
}
.row .col.span-6 {
    flex: 0 0 48%;
    max-width: 48%;
}
.row .col.span-7 {
    flex: 0 0 56.6666666667%;
    max-width: 56.6666666667%;
}
.row .col.span-8 {
    flex: 0 0 65.3333333333%;
    max-width: 65.3333333333%;
}
.row .col.span-9 {
    flex: 0 0 74.0%;
    max-width: 74.0%;
}
.row .col.span-10 {
    flex: 0 0 82.6666666667%;
    max-width: 82.6666666667%;
}
.row .col.span-11 {
    flex: 0 0 91.3333333333%;
    max-width: 91.3333333333%;
}
.row .col.span-12 {
    flex: 0 0 100%;
    max-width: 100%;
}

/* オフセット */
.row .col.offset-1 {
    margin-left: 8.66666666667%;
}
.row .col.offset-2 {
    margin-left: 17.3333333333%;
}
.row .col.offset-3 {
    margin-left: 26%;
}
.row .col.offset-4 {
    margin-left: 34.6666666667%;
}
.row .col.offset-5 {
    margin-left: 43.333333333%;
}
.row .col.offset-6 {
    margin-left: 52%;
}
.row .col.offset-7 {
    margin-left: 60.6666666667%;
}
.row .col.offset-8 {
    margin-left: 69.3333333333%;
}
.row .col.offset-9 {
    margin-left: 78.0%;
}
.row .col.offset-10 {
    margin-left: 86.6666666667%;
}
.row .col.offset-11 {
    margin-left: 95.3333333333%;
}    
}


/* 見出し
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300; }
h1 { font-size: 3.5rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.2rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }

/* モバイル表示 */
@media (min-width: 550px) {
  h1 { font-size: 3.5rem; }
  h2 { font-size: 3.2rem; }
  h3 { font-size: 3.0rem; }
  h4 { font-size: 2.8rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}

p {
  margin-top: 0; }


/* リンク
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #1EAEDB; }
a:hover {
  color: #0FA0CE; }


/* ボタン
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 20px;
  margin-right: 5px;
  color: #555;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid #bbb;
  border-radius: 0;
  cursor: pointer;
  box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #333;
  border-color: #888;
  outline: 0; }

@media (max-width: 768px) {
    .button,
    button,
    input[type="submit"],
    input[type="reset"],
    input[type="button"] {
        display: inline-block;
        height: 38px;
        padding: 0 1px;
        margin-left: 1px;
        margin-right: 1px;
        color: #555;
        text-align: center;
        font-size: 8px;
        font-weight: 400;
        line-height: 38px;
        letter-spacing: .1rem;
        text-transform: none;
        text-decoration: none;
        white-space: nowrap;
        background-color: transparent;
        border: 1px solid #bbb;
        border-radius: 0;
        cursor: pointer;
        box-sizing: border-box;
    }
}



/* フォーム
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
    height: 38px;
    padding: 6px 10px;
    background-color: #fff;
    border: 1px solid #D1D1D1;
    border-radius: 0;
    box-shadow: none;
    box-sizing: border-box;
}

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

textarea {
    min-height: 100px;
    padding-top: 6px;
    padding-bottom: 6px;
}

    input[type="email"]:focus,
    input[type="number"]:focus,
    input[type="search"]:focus,
    input[type="text"]:focus,
    input[type="tel"]:focus,
    input[type="url"]:focus,
    input[type="password"]:focus,
    textarea:focus,
    select:focus {
        border: 1px solid #666;
        outline: 0;
    }

label,
legend {
    display: block;
    margin-bottom: .5rem;
    font-weight: 600;
}

fieldset {
    padding: 0;
    border-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
    display: inline;
}

label > .label-body {
    display: inline-block;
    margin-left: .5rem;
    font-weight: normal;
}


/* リスト
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
    list-style: circle inside;
}

ol {
    list-style: decimal inside;
}

ol, ul {
    padding-left: 0;
    margin-top: 0;
}

    ul ul,
    ul ol,
    ol ol,
    ol ul {
        margin: 1.5rem 0 1.5rem 3rem;
        font-size: 90%;
    }

li {
    margin-bottom: 1rem;
}


/* コード
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
    padding: .2rem .5rem;
    margin: 0 .2rem;
    white-space: nowrap;
    background: #F1F1F1;
}

pre > code {
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre;
}


/* テーブル
–––––––––––––––––––––––––––––––––––––––––––––––––– */
table {
    border-collapse: collapse;
}

th,
td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid #E1E1E1;
    overflow-wrap: break-word;
    word-break: break-all;
}

    th:first-child,
    td:first-child {
        padding-left: 0;
    }

    th:last-child,
    td:last-child {
        padding-right: 0;
    }
@media (max-width: 768px) {
    th,
    td {
        padding: 6px 7px;
        font-size: 8px;
        font-weight: 400;
        overflow-wrap: break-word;
        word-break:break-all;
    }
}



/* スペース
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
    margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset {
    margin-bottom: 1.5rem;
}

pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
    margin-bottom: 2.5rem;
}


/* 全幅
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.full-width {
    width: 100%;
    box-sizing: border-box;
}

.max-full-width {
    max-width: 100%;
    box-sizing: border-box;
}

.pull-right {
    float: right;
}

.pull-left {
    float: left;
}


/* 罫線
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
    margin-top: 3rem;
    margin-bottom: 3.5rem;
    border-width: 0;
    border-top: 1px solid #E1E1E1;
}



table {
    background-color: transparent
}

th {
    text-align: left
}

.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px
}

    .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th, .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
        padding: 8px;
        line-height: 1.42857143;
        vertical-align: top;
        border-top: 1px solid #ddd
    }

    .table > thead > tr > th {
        vertical-align: bottom;
        border-bottom: 2px solid #ddd
    }

    .table > caption + thead > tr:first-child > th, .table > colgroup + thead > tr:first-child > th, .table > thead:first-child > tr:first-child > th, .table > caption + thead > tr:first-child > td, .table > colgroup + thead > tr:first-child > td, .table > thead:first-child > tr:first-child > td {
        border-top: 0
    }

    .table > tbody + tbody {
        border-top: 2px solid #ddd
    }

    .table .table {
        background-color: #fff
    }

.table-condensed > thead > tr > th, .table-condensed > tbody > tr > th, .table-condensed > tfoot > tr > th, .table-condensed > thead > tr > td, .table-condensed > tbody > tr > td, .table-condensed > tfoot > tr > td {
    padding: 5px
}

.table-bordered {
    border: 1px solid #ddd
}

    .table-bordered > thead > tr > th, .table-bordered > tbody > tr > th, .table-bordered > tfoot > tr > th, .table-bordered > thead > tr > td, .table-bordered > tbody > tr > td, .table-bordered > tfoot > tr > td {
        border: 1px solid #ddd
    }

    .table-bordered > thead > tr > th, .table-bordered > thead > tr > td {
        border-bottom-width: 2px
    }

.table-striped > tbody > tr:nth-child(odd) > td, .table-striped > tbody > tr:nth-child(odd) > th {
    background-color: #f9f9f9
}

.table-hover > tbody > tr:hover > td, .table-hover > tbody > tr:hover > th {
    background-color: #f5f5f5
}

table col[class*=col-] {
    position: static;
    display: table-column;
    float: none
}

table td[class*=col-], table th[class*=col-] {
    position: static;
    display: table-cell;
    float: none
}

.table > thead > tr > td.active, .table > tbody > tr > td.active, .table > tfoot > tr > td.active, .table > thead > tr > th.active, .table > tbody > tr > th.active, .table > tfoot > tr > th.active, .table > thead > tr.active > td, .table > tbody > tr.active > td, .table > tfoot > tr.active > td, .table > thead > tr.active > th, .table > tbody > tr.active > th, .table > tfoot > tr.active > th {
    background-color: #f5f5f5
}

.table-hover > tbody > tr > td.active:hover, .table-hover > tbody > tr > th.active:hover, .table-hover > tbody > tr.active:hover > td, .table-hover > tbody > tr:hover > .active, .table-hover > tbody > tr.active:hover > th {
    background-color: #e8e8e8
}

.table > thead > tr > td.success, .table > tbody > tr > td.success, .table > tfoot > tr > td.success, .table > thead > tr > th.success, .table > tbody > tr > th.success, .table > tfoot > tr > th.success, .table > thead > tr.success > td, .table > tbody > tr.success > td, .table > tfoot > tr.success > td, .table > thead > tr.success > th, .table > tbody > tr.success > th, .table > tfoot > tr.success > th {
    background-color: #dff0d8
}

.table-hover > tbody > tr > td.success:hover, .table-hover > tbody > tr > th.success:hover, .table-hover > tbody > tr.success:hover > td, .table-hover > tbody > tr:hover > .success, .table-hover > tbody > tr.success:hover > th {
    background-color: #d0e9c6
}

.table > thead > tr > td.info, .table > tbody > tr > td.info, .table > tfoot > tr > td.info, .table > thead > tr > th.info, .table > tbody > tr > th.info, .table > tfoot > tr > th.info, .table > thead > tr.info > td, .table > tbody > tr.info > td, .table > tfoot > tr.info > td, .table > thead > tr.info > th, .table > tbody > tr.info > th, .table > tfoot > tr.info > th {
    background-color: #d9edf7
}

.table-hover > tbody > tr > td.info:hover, .table-hover > tbody > tr > th.info:hover, .table-hover > tbody > tr.info:hover > td, .table-hover > tbody > tr:hover > .info, .table-hover > tbody > tr.info:hover > th {
    background-color: #c4e3f3
}

.table > thead > tr > td.warning, .table > tbody > tr > td.warning, .table > tfoot > tr > td.warning, .table > thead > tr > th.warning, .table > tbody > tr > th.warning, .table > tfoot > tr > th.warning, .table > thead > tr.warning > td, .table > tbody > tr.warning > td, .table > tfoot > tr.warning > td, .table > thead > tr.warning > th, .table > tbody > tr.warning > th, .table > tfoot > tr.warning > th {
    background-color: #fcf8e3
}

.table-hover > tbody > tr > td.warning:hover, .table-hover > tbody > tr > th.warning:hover, .table-hover > tbody > tr.warning:hover > td, .table-hover > tbody > tr:hover > .warning, .table-hover > tbody > tr.warning:hover > th {
    background-color: #faf2cc
}

.table > thead > tr > td.danger, .table > tbody > tr > td.danger, .table > tfoot > tr > td.danger, .table > thead > tr > th.danger, .table > tbody > tr > th.danger, .table > tfoot > tr > th.danger, .table > thead > tr.danger > td, .table > tbody > tr.danger > td, .table > tfoot > tr.danger > td, .table > thead > tr.danger > th, .table > tbody > tr.danger > th, .table > tfoot > tr.danger > th {
    background-color: #f2dede
}

.table-hover > tbody > tr > td.danger:hover, .table-hover > tbody > tr > th.danger:hover, .table-hover > tbody > tr.danger:hover > td, .table-hover > tbody > tr:hover > .danger, .table-hover > tbody > tr.danger:hover > th {
    background-color: #ebcccc
}

@media screen and (max-width:767px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd
    }

        .table-responsive > .table {
            margin-bottom: 0
        }

            .table-responsive > .table > thead > tr > th, .table-responsive > .table > tbody > tr > th, .table-responsive > .table > tfoot > tr > th, .table-responsive > .table > thead > tr > td, .table-responsive > .table > tbody > tr > td, .table-responsive > .table > tfoot > tr > td {
                white-space: inherit
            }

        .table-responsive > .table-bordered {
            border: 0
        }

            .table-responsive > .table-bordered > thead > tr > th:first-child, .table-responsive > .table-bordered > tbody > tr > th:first-child, .table-responsive > .table-bordered > tfoot > tr > th:first-child, .table-responsive > .table-bordered > thead > tr > td:first-child, .table-responsive > .table-bordered > tbody > tr > td:first-child, .table-responsive > .table-bordered > tfoot > tr > td:first-child {
                border-left: 0
            }

            .table-responsive > .table-bordered > thead > tr > th:last-child, .table-responsive > .table-bordered > tbody > tr > th:last-child, .table-responsive > .table-bordered > tfoot > tr > th:last-child, .table-responsive > .table-bordered > thead > tr > td:last-child, .table-responsive > .table-bordered > tbody > tr > td:last-child, .table-responsive > .table-bordered > tfoot > tr > td:last-child {
                border-right: 0
            }

            .table-responsive > .table-bordered > tbody > tr:last-child > th, .table-responsive > .table-bordered > tfoot > tr:last-child > th, .table-responsive > .table-bordered > tbody > tr:last-child > td, .table-responsive > .table-bordered > tfoot > tr:last-child > td {
                border-bottom: 0
            }
}

.text-muted {
    color: #777
}

.text-primary {
    color: #428bca
}

a.text-primary:hover {
    color: #3071a9
}

.text-success {
    color: #3c763d
}

a.text-success:hover {
    color: #2b542c
}

.text-info {
    color: #31708f
}

a.text-info:hover {
    color: #245269
}

.text-warning {
    color: #8a6d3b
}

a.text-warning:hover {
    color: #66512c
}

.text-danger {
    color: #a94442
}

a.text-danger:hover {
    color: #843534
}
