/*********************************

ベース

*********************************/

@charset "UTF-8";

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    color: #3f3f3f;
    font-family: "Avenir", "Helvetica Neue", "Noto Sans JP", "Helvetica",
        "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", YuGothic, "Yu Gothic",
        "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic";
    letter-spacing: 0.05rem;
    background-color: #ddebf3;
}

a,
a:visited,
a:active,
a:hover {
    color: #008796;
    text-decoration: none;
}

a:hover {
    color: #39d2e2;
    opacity: 0.8;
}

.l-nav a{
    color: #3f3f3f;
}

.l-nav a:hover{
    color: #3f3f3f;
    opacity: 0.8;
}

.nav a {
    color: #3f3f3f;
}

.nav a:hover{
    color: #39d2e2;
    opacity: 0.8;
}

.card {
    background-color: #ddebf3;
}

/* img {
    max-width: 100%;
} */

ul {
    list-style: none;
}

/* 見出し */

h1 {
    font-size: 1.5rem;
}

h2 {
    font-size: 1.25rem;
}

h3 {
    font-size: 1rem;
}

/* カラー */

.color-primary {
    color: #3f3f3f;
}

.color-secondary {
    color: #5fa2fa;
}

.color-white {
    color: #ffffff;
}

.color-black {
    color: #3f3f3f;
}

.color-red {
    color: #f00a2c;
}

.bgcolor-primary {
    background-color: #f54d9e;
}

.bgcolor-secondary {
    background-color: #1eb6c7;
}

.bgcolor-blue {
    background-color: #438cbe;
}

.bgcolor-white {
    background-color: #ffffff;
}

.bgcolor-red {
    background-color: #fe8a92;
}

.bgcolor-orange {
    background-color: #faa75f;
}

.bgcolor-transparent {
    background-color: rgba(255, 255, 255, 0.4);
}

.p-row-blue:nth-child(even) td.bgcolor-primary {
    background-color: #002e9d;
}

.p-row-blue:nth-child(even) td.bgcolor-secondary {
    background-color: #5fa2fa;
}

.p-row-blue:nth-child(even) td.bgcolor-orange {
    background-color: #faa75f;
}

.p-row-blue:nth-child(even) td.bgcolor-red {
    background-color: #fe8a92;
}

.bg-ligray {
    background-color: #B7B7B7;
}

/* 見出し */

.p-group-title::before {
    content: "■";
    margin-right: 0.5rem;
}

/*********************************

ボタン

*********************************/
.p-button {
    padding: 0.625rem 2rem;
    min-width: 100px;
    border-radius: 0.5rem;
    border: none;
}

.p-button-plus {
    padding: 0.625rem 1.5rem;
}

.p-button-plus::before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../images/icon_plus.svg) no-repeat;
    background-size: contain;
    margin-right: 0.5rem;
    vertical-align: middle;
}

/*********************************

レイアウト

*********************************/

.l-container {
    padding: 0 2rem;
}

.l-test-container {
    max-width: 1200px;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .l-container {
        padding: 0 1rem;
    }
}

/*********************************

ヘッダー

*********************************/

.l-header {
    width: 100%;
    height: 60px;
}

.l-header-inner {
}

.p-header-title {
}

@media screen and (max-width: 768px) {
    .l-header {
        height: 65px;
    }

    .p-header-title {
        line-height: 0;
        font-size: 2.5vw;
    }
}

/*********************************

ナビゲーション

*********************************/

.l-nav {
}

.p-nav-item {
}

.p-link {
    font-weight: bold;
}

.p-link.active {
    position: relative;
}

.p-link.active::after {
    position: absolute;
    bottom: -8px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #3f3f3f; /*プライマリカラー*/
}

.l-nav .p-link {
    font-size: min(1.2vw, 20px);
}

.p-nav-item + .p-nav-item {
    margin-top: 2rem;
}

.p-nav-item a::before {
    content: "◆";
    font-size: 1rem;
    margin-right: 0.5rem;
}

.p-nav-item a {
    display: inline-block;
    position: relative;
}

.p-nav-item a::after {
    position: absolute;
    bottom: -12px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background-color: #3f3f3f; /*プライマリカラー*/
    visibility: hidden;
    transition: 0.3s;
}

.p-nav-item a:hover::after {
    bottom: -8px;
    visibility: visible;
}

.p-nav-item .active::after {
    transition: none;
    visibility: visible;
}

.p-nav-item .active:hover::after {
    bottom: -12px;
}

.anchorList {
    display: inline-block;
    padding: 0.6rem 0.75rem;
    border-left: 1px solid #002e9d;
    font-size: 0.875rem;
}

@media screen and (max-width: 768px) {
    .l-nav .p-link {
        font-size: 3.2vw;
    }

    .p-nav-item {
        display: inline-block;
        width: 32%;
        text-align: center;
    }

    .p-nav-item + .p-nav-item {
        margin: 0;
    }

    .p-nav-item:nth-of-type(n + 4) {
        margin-top: 0.5rem;
    }

    .p-nav-item a::before {
        content: "";
        font-size: 1rem;
        margin-right: 0;
    }

    .p-nav-item a {
        display: block;
        position: relative;
    }

    .p-nav-item a::after {
        visibility: hidden;
    }

    .p-nav-item a:hover::after {
        visibility: hidden;
    }

    .p-nav-item .active::after {
        transition: none;
        visibility: visible;
    }

    .p-link.active::after, .p-nav-item a::after {
        bottom: -4px;
    }

}

/*********************************

マップエリア

*********************************/

.l-map-choice {
    position: relative;
}

.l-map-choice .p-link {
    font-size: 1.25rem;
}

.p-map-flag-ariake {
    position: absolute;
    top: 52%;
    left: 43%;
}

.p-map-flag-buzen {
    position: absolute;
    top: -11%;
    left: 56%;
}

.p-map-flag-tikuzen {
    position: absolute;
    top: -22%;
    left: 44%;
}

.p-map-title-ariake {
    position: absolute;
    top: 72%;
    left: 31%;
}

.p-map-title-buzen {
    position: absolute;
    top: 19%;
    left: 60%;
}

.p-map-title-tikuzen {
    position: absolute;
    top: -6%;
    left: 32%;
}

.l-map {
    position: relative;
    height: 0;
    overflow: hidden;
    padding-bottom: 95.23%;
}

.l-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.p-flag-guide p {
    font-size: 0.75rem;
}

@media screen and (max-width: 768px) {
    .l-map-area {
        margin-top: 1.5rem;
    }

    .p-flag-guide p {
        font-size: 0.625rem;
    }
}

/*********************************

タブメニュー

*********************************/

.p-tab-radio {
    /*ラジオボタンは表示しない*/
    display: none;
}

.p-tab-menu {
    /*タブの基本スタイル*/
    display: inline-block;
    min-height: 48px;
    border-top: 4px solid #949494;
    border-left: 1px solid #b7b7b7;
    border-right: 1px solid #b7b7b7;
    color: #3f3f3f;
    padding: 0.5rem 2rem;
    font-size: 1.25rem;
    background-color: #ffffff;
    cursor: pointer;
    margin-bottom: -1px;
}

.p-tab-menu:nth-of-type(2) {
    margin-left: 1rem;
}

.p-tab-radio:checked + .p-tab-menu {
    background-color: #ffffff;
    border-top: 4px solid #008796;
    border-bottom: 1px solid #ffffff;
    color: #3f3f3f;
}

.p-tab-content {
    display: none;
    border-top: 1px solid #b7b7b7;
    padding-top: 1.25rem;
}

#tab_radio_A:checked ~ #tab_content_A,
#tab_radio_B:checked ~ #tab_content_B {
    display: block;
}

@media screen and (max-width: 768px) {
    .l-tab-area {
        margin-top: 1.5rem;
    }

    .p-tab-menu {
        min-height: 43px;
        padding: 0.5rem 1rem;
        font-size: 1rem;
    }

    .p-tab-menu:nth-of-type(2) {
        margin-left: 0.625rem;
    }
}

/*********************************

タブコンテンツ

*********************************/

.p-card-primary {
    max-width: 360px;
    min-width: 295px;
    border: none;
}

.p-card-primary-heading {
    padding: 0.5rem 0.5rem;
}

.p-card-primary-date {
    font-size: 0.875rem;
}

.p-table td:first-child {
    width: 50%;
    font-size: 0.875rem;
}

.p-table td:nth-child(2) {
    width: 30%;
}

.p-table td:nth-child(3) {
    width: 20%;
}



.p-table-value {
    text-align: right;
    padding-right: 0.4rem;
    font-size: 1.1rem;
    font-weight: bold;
}

.p-table-scale {
    font-size: 0.75rem;
}

@media screen and (max-width: 768px) {
    .p-card-primary {
        max-width: none;
        width: 100%;
    }
}

/*********************************

タブコンテンツ

*********************************/

.p-label {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: bold;
    color: white;
    margin: 0 0.5rem 0.5rem 0;
}

/* タブメニュー内のラベルのみ余白をなくす */
.p-tab-menu .p-label {
    margin: 0;
}

.p-label-new {
    background-color: #f00a2c;
    padding: 0.3rem;
    border-radius: 4px;
}

.p-label-category {
    padding: 0.3rem 0.5rem;
}

.p-news-item {
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #c9c9c9;
}

.p-news-item + .p-news-item {
    margin-top: 1.5rem;
}

.p-label-border {
    font-size: 1rem;
    color: #002e9d;
    border: 1px solid #002e9d;
    padding: 0.3rem 0.5rem;
    margin-right: 0.5rem;
}

/*********************************

テーブル

*********************************/

.p-table-primary {
    width: 100%;
    border: 1px solid #267cb6;
}

.p-table-primary tr,
.p-table-primary th,
.p-table-primary td {
    white-space: nowrap;
    border: 1px solid #b7b7b7;
    padding: 0.45rem;
    vertical-align: middle;
}

.p-row-blue:nth-child(even) td {
    background-color: #effeff;
}

@media screen and (max-width: 768px) {
    .p-table-primary {
        font-size: 0.75rem;
    }
}

/*********************************

ダッシュボード

*********************************/

.p-card-secondary {
    max-width: 320px;
    padding: 16px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    border: none;
    border-radius: 0;
}

.p-card-secondary-heading {
    border-bottom: 1px solid #3f3f3f;
    padding-bottom: 0.5rem;
}

.p-graph {
    width: 288px;
    height: 128px;
    background-color: gray;
}

/*********************************

ユーティリティ

*********************************/

.for-pc {
    display: block;
}

.for-sp {
    display: none;
}

@media screen and (max-width: 768px) {
    .for-pc {
        display: none;
    }

    .for-sp {
        display: block;
    }
}

.fs-large {
    font-size: 2rem !important;
}

.fs-small {
    font-size: 0.75rem !important;
}

.lineheight-60 {
    line-height: 60px !important;
}

/*折り返し*/
.white-space-no {
    white-space: nowrap !important;
}

.bg-transparent {
    background-color: rgba(255, 255, 255, 0.5) !important;
}

/*********************************

アイコン

*********************************/

.openModal.update {
    color: rgba(255, 0, 0, 0);
    background: url("/images/icon-pen-blue.png") no-repeat;
    width: 30px;
    height: 30px;
    background-size: cover;
    background-position: center;
    border: none;
}
.openModal.update:hover {
    -moz-opacity: 0.6;
    opacity: 0.6;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); /* For IE 5-7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}

.openModal.delete {
    color: rgba(255, 0, 0, 0);
    width: 30px;
    height: 30px;
    background: url(" /images/icon-trash-blue.png") no-repeat;
    background-size: cover;
    background-position: center;
    border: none;
}
.openModal.delete:hover {
    -moz-opacity: 0.6;
    opacity: 0.6;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); /* For IE 5-7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}

.openModal.confirm {
    color: rgba(255, 0, 0, 0);
    width: 30px;
    height: 30px;
    background: url($host-url + " /images/icon-note-red.png") no-repeat;
    background-size: cover;
    background-position: center;
    border: none;
}
.openModal.confirm:hover {
    -moz-opacity: 0.6;
    opacity: 0.6;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); /* For IE 5-7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}



/*********************************

栄養塩

*********************************/
/* 円アイコン */
.list-eiyoucircle {
    display: flex;
    flex-wrap: wrap;
}

.list-eiyoucircle li {
    display: flex;
    align-items: center;
    padding-right: 0.5rem;
    font-size: 0.875rem;
    margin-top: 0.5rem;
}

.list-eiyoucircle li.circle::before {
    margin-right: 0.25rem;
}

.circle::before{
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: block;
}

.circle-blue::before {
    background-color: #000fff;
}

.circle-green::before {
    background-color: #008000;
}

.circle-yellow::before {
    background-color: #ffff00;
}

.circle-red::before {
    background-color: #ff0000;
}

/* 栄養塩画面パーツ */
.card-comment {
    padding: 0;
}

.card-comment .card-body {
    padding: 0;
}

.card-comment .card-title {
    padding: 1rem;
    background-color: #002e9d;
    color: white;
    font-weight: bold;
    border-radius: 0.25rem 0.25rem 0 0;;
}

.card-comment .card-text {
    padding: 0 1rem 1rem;
}

.list-date .list-date-title {
    padding: 1rem;
    background-color: #b7b7b7;
    border-radius: 0.25rem 0.25rem 0 0;
    font-weight: bold;
}

.list-date .list-group {
    border-radius: 0 0 0.25rem 0.25rem;
}

.list-date .list-group-item {
    color: #002e9d;
    text-decoration: underline;
}

.p-card-primary.eiyouen-modal {
    max-width: 100%;
    min-width: 100%;
    border: none;
}

.eiyouen-modal td:first-child {
    width: 55%;
}

.eiyouen-modal td:first-child {
    text-align: left;
}

.eiyouen-modal td:nth-child(2) {
    font-size: 1rem;
    text-align: right;
    width: 45%;
}

.eiyouen-modal td:nth-child(2) span {
    font-size: 0.875rem;
}

@media screen and (max-width: 767px) {
    /*　画面サイズが767px以下の場合読み込む　*/
    .setting_table {
        width: 94%;
        margin: 0 auto;
    }
}

.choiceCalender {
    color: rgba(255, 0, 0, 0);
    background: url("/images/icon-calendar-primary.png") no-repeat;
    width: 30px;
    height: 30px;
    background-size: cover;
    background-position: center;
    border: none;
}
.choiceCalender:hover {
    -moz-opacity: 0.6;
    opacity: 0.6;
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60); /* For IE 5-7 */
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
}


.jBox-Confirm-button-submit {
	background: #007bff !important;
}

.white-space-no {
    white-space: nowrap !important;
}
.bg-transparent {
    background-color:rgba(255,255,255,0.5) !important;
}
.openModal.update-threshold {
        color: rgba(255,0,0,0);
        background:url( '/images/icon-pen-blue.png') no-repeat;
        width: 30px;
        height: 30px;
        background-size: cover;
        background-position: center;
        border: none;
    }
.openModal.update-threshold:hover {
            -moz-opacity: 0.6;
            opacity: 0.6;
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);  /* For IE 5-7 */
                -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
        }
.openModal.delete-threshold {
        color: rgba(255,0,0,0);
        width: 30px;
        height: 30px;
        background:url( ' /images/icon-trash-blue.png') no-repeat;
        background-size: cover;
        background-position: center;
        border: none;
    }
.openModal.delete-threshold:hover {
            -moz-opacity: 0.6;
            opacity: 0.6;
            filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);  /* For IE 5-7 */
                -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; /* For IE 8 */
    }

        @media screen and (max-width:767px) {
            /*　画面サイズが767px以下の場合読み込む　*/
            .setting_table {
                width: 94%;
                margin: 0 auto;
            }
        }

.add-threshold:disabled, .add-threshold:disabled:hover {
    background-color: #b1b1b1 !important;
}

.wrap-chart-md {
    width: 100%;
    height: 80vh;
}

.wrap-chart-sm {
    width: 100%;
    height: 60vh;
}



@media (max-width: 767px) {
    .wrap-chart-md {
        height: 70vh;
    }
    .wrap-chart-sm {
        height: 50vh;
    }
}
