@charset "utf-8";
@import 'foundation.css';
@import url('https://use.fontawesome.com/releases/v5.12.0/css/all.css');
/*-- PC スタイル --------------------------------------------------------------------------*/

html {
    font-size: 62.5%;
}

body {
    font-size: 1.6rem;
    color: #585858;
}

/*font-family*/

body, h1, .h1, h2, .h2 {
    font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h1, .h1, h2, .h2 {
    display: block;
    line-height: 1;
    margin: 0;
    font-weight: bold;
}

label {
    color: #585858;
}

ul, dl {
    line-height: 1;
    margin: 0;
    list-style: none;
}

dl dt, strong, b, em {
    font-weight: normal;
    line-height: 1;
    margin: 0;
}

button, input, optgroup, select, textarea {
    line-height: 1;
    margin: 0;
}

::placeholder {
    color: #858585;
}

.error {
    color: #ED1515;
    font-weight: bold;
    margin-bottom: 10px;
}

div, p {
    margin: 0;
    line-height: 1.6;
}

/*適宜変更*/

[type="text"], [type="text"]:focus, [type="password"], [type="password"]:focus, [type="email"], [type="email"]:focus, [type=number], [type=number]:focus {
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    padding: 0 1.2rem;
    height: 3.8rem;
    font-size: 16px;
    box-shadow: inherit;
    margin-bottom: 0;
}

textarea, textarea:focus {
    padding: 1rem;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    font-size: 16px;
    box-shadow: inherit;
    margin-bottom: 0;
}

[type=number], [type=number]:focus {
    padding: 0.5rem;
    padding-left: 1rem;
    line-height: 3.5rem;
    height: 3.5rem;
}

textarea {
    resize: none;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    height: 3.8rem;
    background: transparent;
    padding: 0;
    padding-left: 0.8rem;
    font-size: 16px;
    background-color: #FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
}

select:focus {
    box-shadow: none;
    border: 1px solid #cccccc;
}

select::-ms-expand {
    display: none;
}

.select {
    position: relative;
    display: block;
}

.select::after {
    position: absolute;
    content: "";
    display: inline-block;
    vertical-align: middle;
    border-top: 5px dashed;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    right: 1rem;
    top: 50%;
    color: #797979;
}

small, label {
    font-size: 1.4rem;
    line-height: 1;
}

main {
    display: block;
}

.pc {
    display: block;
}

.ipad {
    display: none;
}

.sp {
    display: none;
}

/*リンク*/

a, a:hover, a:focus {
    color: #333333;
}

a:hover {
    opacity: .8;
    transition: 0.3s;
}

a.text_link {
    text-decoration: underline;
}

a.text_link:hover {
    opacity: 1;
    text-decoration: none;
}

/* btn */

.btn {
    font-size: 15px;
    padding: 6px 15px;
    border-radius: 8px;
    display: inline-block;
    font-weight: bold;
}

.btn.blue {
    background-color: #059AF1;
    color: #fff;
}

.btn.result {
    background-color: #09AD9E;
    color: #fff;
}

.btn.big {
    font-size: 22px;
}

/*モーダル*/

.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
}

.modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal__content {
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 54%;
    transform: translate(-50%, -50%);
    width: 60%;
    text-align: center;
    font-weight: bold;
}

.modal__content .modal-close {
    position: absolute;
    top: -25px;
    right: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.modal__content .modal-close::before, .modal__content .modal-close::after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 84%;
    height: 16%;
    margin: -8% 0 0 -42%;
    background: #fff;
}

.modal__content .modal-close::before {
    transform: rotate(-45deg);
}

.modal__content .modal-close::after {
    transform: rotate(45deg);
}

/*利用規約テキスト*/

.terms_text {
    font-size: 14px;
    padding: 0 15px;
}

.terms .terms_text {
    margin-top: 30px;
    padding: 0;
}

.terms_text a {
    text-decoration: underline;
}

.terms_text a:hover {
    text-decoration: none;
}

/*見出し*/

.h2 {
    font-size: 26px;
    border-left: 4px solid #059AF1;
    padding-left: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
    color: #059AF1;
}

.h2 span {
    font-size: 20px;
    color: #585858;
    padding-left: 10px;
}

.h3 {
    font-size: 18px;
    border-bottom: 2px solid #059AF1;
    padding-bottom: 10px;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 15px;
}

.h4 {
    font-size: 20px;
    font-weight: bold;
    padding-left: 10px;
    border-left: 4px solid #059AF1;
    line-height: 1.2;
    margin-bottom: 15px;
}

.h4.green_line {
    border-left: 4px solid #09AD9E;
}

.h4.orange_line {
    border-left: 4px solid #FF7D00;
}

/* header */

/* -------------------------------------------------- */

header {
    width: 100%;
    padding: 18px 0;
    margin: 0 auto;
    border-bottom: 2px solid #059AF1;
    position: fixed;
    top: 0;
    background-color: #fff;
    z-index: 10000;
}

header .header_inner {
    position: relative;
}

header .home_btn {
    position: absolute;
    left: 1.5rem;
    top: 0;
}

header .btn {
    position: absolute;
    left: 1.5rem;
    top: -3px;
}

header .home_btn img {
    width: 32px;
    height: 32px;
    height: auto;
}

header h1 {
    font-size: 26px;
    text-align: center;
}

header .login_user i {
    margin-right: 10px;
}

.drawer.drawer--right.drawer-open .drawer-hamburger {
    right: 0;
}

.drawer.drawer--right.drawer-open .drawer-nav {
    padding-top: 10px;
}

.drawer .drawer-hamburger {
    width: 2.8rem;
    padding: 22px 1.5rem 30px;
    color: #585858;
}

.drawer .drawer-nav {
    top: 68px;
    width: 240px;
}

.drawer.drawer--right .drawer-nav {
    right: -240px;
}

.drawer .drawer-brand {
    padding: 0 20px;
    color: #585858;
    font-weight: normal;
    font-size: 16px;
    line-height: 4rem;
}

.drawer .drawer-brand img {
    width: 30px;
    height: auto;
}

/* main */

/* -------------------------------------------------- */

.wrap {
    max-width: 1240px;
    padding: 30px 20px 40px;
    margin: 64px auto 0;
    box-sizing: border-box;
}

.screening .wrap {
    max-width: 540px;
    padding: 30px 20px 40px;
    margin: 124px auto 40px;
    border: 2px solid #ccc;
    border-radius: 10px;
}

/* form */

.form_wrap {
    margin-top: 40px;
}

.radio label {
    font-size: 16px;
}

.radio-input {
    display: none;
}

.radio-input+label {
    padding-left: 25px;
    position: relative;
    margin-bottom: 15px;
}

.radio-input.last+label {
    margin-bottom: 0;
}

.radio-input+label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    border: 2px solid #059AF1;
    border-radius: 50%;
}

.radio-input:disabled+label {
    color: #b5b5b5;
}

.radio-input:disabled+label::before {
    border: 2px solid #cccccc;
}

.radio-input:checked+label  {
    color: #333333;
}

.radio-input:checked+label::before {
    border: 2px solid #059AF1;
}

.radio-input:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 4px;
    width: 8px;
    height: 8px;
    background: #059AF1;
    border-radius: 50%;
}

.form_btn_wrap {
    margin-top: 40px;
}

.form_btn_wrap .btn {
    padding: 6px 18px;
}

.form_btn_wrap .btn:hover {
    cursor: pointer;
}

.form_btn_wrap .btn[disabled] {
    background-color: #F5F5F5;
    color: #B5B5B5;
    pointer-events: none;
}

.btn.back {
    color: #059AF1;
    border: 1px solid #CCCCCC;
    background-color: #fff;
}

/* color */

.red {
    background: #FF1C1C;
}

.yerrow {
    background: #FBB60F;
}

.green {
    background: #71C72E;
}

/* pagetop */

.pagetop {
    position: fixed;
    right: 40px;
    bottom: 20px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 2px solid #059AF1;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 5;
}

.pagetop::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 24px;
    left: 10px;
    width: 18px;
    height: 18px;
    margin: 0 10px;
    border-top: 2px solid #059AF1;
    border-left: 2px solid #059AF1;
    transform: rotate(45deg);
}

/* top */

header.top .login_user {
    position: absolute;
    right: 68px;
    top: 4px;
}

.modal.first_visit {
    display: block;
}

.modal.first_visit .modal__content {
    padding: 30px;
    top: 54%;
    height: 80%;
    overflow-y: scroll;
}

.modal.first_visit .modal__content .center_title {
    font-size: 24px;
    font-weight: bold;
    margin: 0 auto 30px;
}

.modal.first_visit .modal__content .title_text {
    font-size: 18px;
    margin-bottom: 10px;
}

.modal.first_visit .modal__content .text, .modal.first_visit .modal__content ul {
    font-weight: normal;
    margin-bottom: 20px;
}

.modal.first_visit .modal__content .text:last-of-type {
    margin-bottom: 0;
}

.modal.first_visit .modal__content li {
    line-height: 1.6;
    margin-left: 25px;
}

.modal.first_visit .modal__content li span {
    margin-left: -25px;
}

.modal.first_visit .modal__content .btn {
    font-size: 16px;
    margin-top: 30px;
}

/* Firefox用 */
@-moz-document url-prefix() {
    .modal.first_visit .modal__content .btn {
        margin-bottom: 30px;
    }
}

.top .btn.blue {
    display: inline-block;
}

.top .btn.blue i {
    margin-left: 12px;
    font-size: 18px;
}

.top .search_btn {
    display: none;
}

.top .search_box {
    background-color: #F9F9F9;
    padding: 20px;
    border-radius: 6px;
    margin-top: 30px;
}

.top .search_box .input_box {
    width: 23.5%;
}

.top .search_box .input_box label {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
}

.top .search_box .input_box select.place {
    color: #858585;
}

.top .search_box .form_btn_wrap {
    margin-top: 20px;
}

.top .search_box .form_btn_wrap .clear {
    padding: 6px 12px;
}

.top .table_wrap {
    margin-top: 30px;
    border-top: 1px solid #D8D8D8;
}

/*テーブル*/

.top table {
    width: 100%;
    margin-bottom: 0;
}

.top thead, .top tbody, .top tfoot {
    color: inherit;
    background-color: #FFFFFF;
    border: none;
    display: block;
}

.top tbody {
    display: block;
    overflow-y: scroll;
    height: 70vh;
}

.top tbody tr:nth-child(even) {
    background: #F6FCFF;
}

.top thead td, .top thead th, .top tbody td, .top tbody th {
    font-weight: normal;
    border-bottom: .1rem solid #D8D8D8;
    line-height: 1.5;
}

.top tbody td {
    padding-left: 20px;
}

.top tbody td.text-center {
    padding-left: 0;
}

.top thead th, .top tbody th {
    color: #333;
    font-weight: bold;
    text-align: center;
}

.top tbody th {
    background-color: #F3FDFF;
}

.top th {
    font-size: 14px;
    font-weight: bold;
    height: 35px;
    vertical-align: middle;
    padding: 0 15px;
    border-bottom: 1px solid #D8D8D8;
    background: #F6FCFF;
    box-sizing: border-box;
}

.top th:nth-child(1), .top td:nth-child(1) {
    width: 14%;
}

.top th:nth-child(2), .top td:nth-child(2) {
    width: 14%;
}

.top th:nth-child(3), .top td:nth-child(3) {
    width: 16.5%;
}

.top th:nth-child(4), .top th:nth-child(5), .top td:nth-child(4), .top td:nth-child(5) {
    width: 7%;
}

.top th:nth-child(6), .top td:nth-child(6) {
    width: 13.5%;
}

.top th:nth-child(7), .top td:nth-child(7) {
    width: 14%;
}

.top table td {
    height: 80px;
    vertical-align: middle;
    padding: 0 15px;
    font-size: 18px;
    border-bottom: 1px solid #D8D8D8;
    text-align: center;
}

.top table td.text-left {
    text-align: left;
}

.top table td .name_text {
    width: 64%;
}

.top .activ_day {
    font-weight: bold;
    color: #FF7D00;
    font-size: 18px;
}

.top .result {
    width: 130px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    border-radius: 8px;
    font-size: 15px;
    margin: 0 auto;
}

.top .patient ul {
    width: 100%;
}

.top .patient ul li {
    line-height: 1.4;
}

.top .patient img {
    margin-right: 15px;
    border-radius: 50%;
    max-width: 48px;
    width: 100%;
}

.top .accordion {
    display: none;
}

.top .bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

.top .bg_onetime_popup.js_active {
    opacity: 1;
    visibility: visible;
}

.top .onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    min-width: 500px;
    background-color: #fff;
    cursor: pointer;
}

.top .onetime_popup_title {
    position: relative;
    padding: 30px 90px;
    margin: 0px;
    background-color: #3388dd;
    color: #fff;
    font-size: 32px;
    text-align: center;
    line-height: 1.5;
}

.top .onetime_popup_title::before, .top .onetime_popup_title::after {
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    width: 30px;
    height: 4px;
    background-color: #fff;
    content: "";
}

.top .onetime_popup_title::before {
    transform: rotate(45deg);
}

.top .onetime_popup_title::after {
    transform: rotate(-45deg);
}

.top .onetime_popup_content {
    padding: 60px 30px;
    text-align: center;
}

/* 対象選択 */

.screening .tab {
    margin: 30px 0;
}

.screening .tab li {
    background: #EEEEEE;
    width: 50%;
    border-radius: 8px 8px 0 0 / 8px 8px 0 0;
}

.screening .tab li.active {
    background: #059AF1;
}

.screening .tab li a {
    display: block;
    width: 100%;
    font-size: 18px;
    border-bottom: none;
    padding: 10px 0;
    color: #B5B5B5;
    text-decoration: none;
    text-align: center;
    font-weight: bold;
}

.screening .tab li a:hover {
    color: #059AF1;
    opacity: 1;
}

.screening .tab li.active a {
    color: #fff;
}

.screening .tab li.active a:hover {
    opacity: 1;
}

.screening .tabContents {
    display: none;
}

.screening .tabContents.active {
    display: block;
}

.screening .tabContents .select {
    width: 100%;
    margin: 0 0 20px 0;
}

.screening .tabContents .list_h {
    background-color: #09AD9E;
    color: #fff;
    font-weight: bold;
    padding: 8px 10px;
    width: 100%;
}

.screening .tabContents .list_h span {
    font-size: 20px;
    margin-right: 5px;
}

.screening .patient_list {
    border-top: 1px solid #D8D8D8;
    padding: 15px;
    font-size: 24px;
}

.screening .patient_list:last-of-type {
    border-bottom: 1px solid #d8d8d8;
}

.screening .patient_list img {
    width: 68px;
    height: 68px;
    border-radius: 50%;
}

.screening .patient_list .activ_day {
    color: #FF7D00;
    font-weight: bold;
}

.screening .select {
    margin-right: 10px;
    width: 170px;
}

.screening .score .modal__content {
    padding: 10px;
}

.screening .q6_form .input_wrap {
    width: 100%;
}

.screening .q6_form .input_wrap p {
    margin-right: 10px;
}

.screening .q6_form input {
    width: 80px;
    margin-right: 10px;
}

.screening .q6_form .title {
    font-weight: bold;
}

.screening .q6_form .inner p {
    font-size: 15px;
}

.screening .height {
    padding-bottom: 20px;
    border-bottom: 1px solid #cccccc;
}

.screening .weight {
    margin-top: 20px;
}

.screening .height .inner:first-child, .screening .weight .inner:first-child {
    margin-right: 15px;
}

.screening .bmi_wrap {
    position: relative;
}

.screening .bmi_wrap .bmi {
    font-weight: bold;
    position: absolute;
    right: 0;
    top: 40%;
    background-color: #fff;
    padding-left: 70px;
}

@media all and (-ms-high-contrast: none) {
    .screening .bmi_wrap .bmi {
        right: 90px; 
    }
    .screening .bmi_wrap .bmi p {
        background-color: #fff;
    }
  }

.screening .bmi_wrap .bmi::before {
    position: absolute;
    content: "";
    display: inline-block;
    vertical-align: middle;
    border-top: 12px dashed;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    left: 2rem;
    top: 35%;
    color: #059AF1;
    transform: rotate(-90deg);
}

.screening .bmi_wrap .bmi span {
    font-size: 22px;
    color: #059AF1;
    margin-left: 15px;
}

/* select2 セレクトボックス */
.select2-container,
.select2-container--default,
.select2-container__rendered,
.select2-selection--single,
.select2-selection__rendered {
    color: #0A0A0A !important;
    height: 3.8rem !important;
    line-height: 3.8rem !important;
}

.select2-container--default .select2-selection--single {
    border: 1px solid #CCCCCC !important;
}

/* select2 入力欄 */
.select2-search__field {
    font-size: 16px;
    height: 3.8rem;
    padding: 0 1.2rem;
    border: 1px solid #CCCCCC !important;
    border-radius: 4px;
}

/* select2 リスト */
.select2-dropdown {
    border: 1px solid #CCCCCC !important;
    border-top: 0 !important;
}

/* select2 リストアイテム */
.select2-results__option {
    height: 3.8rem;
    padding: 1rem !important;
}

/* select2 選択中のリストアイテム */
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background: #059AF1 !important;
}

/* 身長・体重の場合のみ.selectのアイコンを非表示 */
.height .select::after, .weight .select::after {
    display: none;
}

/* select2 矢印アイコン */
.select2-selection__arrow {
    top: 1.2rem !important;
    height: 1.2rem !important;
}

.select2-selection__arrow b {
    border-width: 5px 5px 0 5px !important;
    border-color: #797979 transparent transparent transparent !important;
    margin-left: -1rem !important;
}

/* 結果 */

.screening .answer_list .answer_list__item {
    margin-bottom: 5px;
}

.screening .answer_list .answer_list__item:last-child {
    margin-bottom: 20px;
}

.screening .answer_list .answer_list__item h3 {
    font-size: 16px;
    font-weight: bold;
}

.screening .result_area {
    background-color: #FFEBEB;
    border-radius: 6px;
    padding: 20px;
    margin-bottom: 10px;
}

.screening .result_area.yerrow_area {
    background-color: #FFFBDF;
}

.screening .result_area.green_area {
    background-color: #ECFFE5;
}

.screening .result_area .result_text {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
}

.screening .result_area .result_text span {
    color: #FF1C1C;
    font-size: 28px;
    padding: 0 5px 0 15px;
}

.screening .result_area.yerrow_area .result_text span {
    color: #FBB60F;
}

.screening .result_area.green_area .result_text span {
    color: #71C72E;
}

.screening .result_area .title_box {
    background-color: #FF1C1C;
    padding: 18px 0;
    color: #fff;
    margin-top: 15px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    font-weight: bold;
}

.screening .result_area.yerrow_area .title_box {
    background-color: #FBB60F;
}

.screening .result_area.green_area .title_box {
    background-color: #71C72E;
}

.screening .result_area .title_box span {
    font-size: 24px;
    padding-left: 8px;
}

.screening .result_area .title_box .small {
    font-size: 14px;
    padding-left: 0;
}

.screening .result_area .title_box span img {
    margin-right: 10px;
}

.screening .result_area .title_box p {
    line-height: 1;
}

.screening .result_area .text_box {
    background-color: #fff;
    padding: 15px 20px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border: 1px solid #cccccc;
    border-top: 0;
}

.screening.result .h3 {
    margin-top: 40px;
}

.screening a.btn.blue.blank {
    display: inline-block;
    width: 100%;
    max-width: 304px;
    position: relative;
    margin-top: 15px;
}

.screening a.btn.blue.blank span {
    font-size: 14px;
}

.screening a.btn.blue.blank img {
    position: absolute;
    top: 22px;
    right: 10px;
}

.screening a.btn.blue.blank.blank02 img {
    top: 13px;
}

.result_modal .modal__content {
    width: 35%;
}

.result_modal .form_btn_wrap button {
    line-height: 1.6;
}

/* 申し送り */

.screening .send_list {
    display: flex;
    align-items: center;
    border-top: 1px solid #ccc;
    padding: 20px 15px;
}

.screening .send_list [type='checkbox'] {
    display: none;
}

.screening .send_list .checkbox01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0 0 0 40px;
    position: relative;
}

.screening .send_list .checkbox01::before {
    background: #fff;
    border: 2px solid #059AF1;
    border-radius: 4px;
    content: '';
    display: block;
    height: 16px;
    left: 0;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}

.screening .send_list .checkbox01::after {
    border-right: 2px solid #059AF1;
    border-bottom: 2px solid #059AF1;
    content: '';
    display: block;
    height: 9px;
    left: 6px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 60%;
    transform: rotate(45deg);
    width: 5px;
}

.screening .send_list .is-active .checkbox01::after {
    opacity: 1;
}

.screening .send_list dl {
    display: inherit;
    width: 100%;
}

.screening .send_list dt {
    width: 70%;
}

.screening .send_list dt label {
    width: 50%;
    padding: 0 5px;
    font-size: 16px;
}

.screening .send_list dd {
    width: 30%;
}

.screening .send_list dd label {
    font-size: 16px;
    padding: 0 5px;
}

.screening .send_list.last {
    border-bottom: 1px solid #ccc;
}

.screening .send_box {
    margin-top: 20px;
}

.screening .title {
    margin-bottom: 10px;
}

.screening .title span {
    font-weight: bold;
}

/* ダッシュボード */

.dash .inner {
    display: flex;
    justify-content: space-between;
}

.dash .inner p {
    width: calc(100% - 290px);
}

.dash .btn {
    padding: 6px 15px 2px;
    height: 46px;
}

.dash .btn img {
    margin-left: 10px;
}

.dash .content {
    margin-top: 30px;
}

.dash .content .content_inner {
    width: 30.5%;
    margin-right: 4.25%;
    margin-bottom: 40px;
}

.dash .content .content_inner:nth-child(3n) {
    margin-right: 0;
}

.dash .graph {
    background-color: #F5F5F5;
    width: 100%;
    padding: 100px 0;
    text-align: center;
    font-weight: bold;
}

.dash .form_wrap {
    max-width: 660px;
    margin: 40px auto;
    position: relative;
}

.dash .form_inner {
    display: flex;
}

.dash .datepicker-container {
    position: relative;
}

.dash .datepicker-container::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 12px;
    display: inline-block;
    background-image: url(../img/ico_calendar.png);
    width: 16px;
    height: 16px;
    background-size: 100%;
    background-position: 95% 5%;
}

.dash .datepicker-container input {
    width: 180px;
}

.dash .datepicker p {
    margin: 0 10px;
}

.dash .select_btn {
    position: relative;
    max-width: 240px;
    width: 100%;
    margin-left: 20px;
    border: 1px solid #CCCCCC;
    border-radius: 4px;
    padding: 0.8rem 1.2rem;
    height: 38px;
    font-size: 16px;
    box-shadow: inherit;
    margin-bottom: 0;
}

.dash .select_btn::after {
    position: absolute;
    content: "";
    display: inline-block;
    vertical-align: middle;
    border-top: 5px dashed;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    right: 1rem;
    top: 50%;
    color: #797979;
}

.dash .select_btn:hover {
    cursor: pointer;
}

.dash .select_box {
    display: none;
}

.dash .select_box.block {
    width: 240px;
    display: block;
    position: absolute;
    top: 35px;
    right: 4px;
    padding: 0 15px;
    background-color: #fff;
    border: 1px solid #cccccc;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    border-top: 0;
    z-index: 10;
}

.dash .patient_list {
    padding: 10px 0;
    border-bottom: 1px solid #cccccc;
}

.dash .patient_list img {
    width: 40px;
    border-radius: 50%;
    margin-right: 15px;
}

.dash .patient_list.last {
    border-bottom: 0;
}

.dash .form_wrap .graph {
    margin-top: 40px;
    padding: 180px 0;
}

.dash .content02 {
    margin-top: 30px;
}

.dash .content02 .content_inner {
    width: 45%;
}

.dash .content02 .content_inner .graph {
    padding: 160px 0;
}

/* 利用規約 */

.terms .wrap {
    max-width: 1000px;
    padding-top: 40px;
}

.terms .wrap .title_text {
    font-size: 18px;
    margin-bottom: 10px;
    font-weight: bold;
}

.terms .wrap ul,
.terms .wrap .text {
    font-weight: normal;
    margin-bottom: 20px;
}

.terms .wrap .text:last-of-type {
    margin-bottom: 0;
}

.terms .wrap li {
    line-height: 1.6;
    margin-left: 25px;
    margin-top: 10px;
}

.terms .wrap li span {
    margin-left: -25px;
}

.terms .wrap li ul {
    margin-left: 0;
}

.terms .wrap li ul li {
    margin-left: 20px;
    margin-top: 0;
}

.terms .wrap li ul li span {
    margin-left: -20px;
}

/* リンク集 */

.link .wrap {
    width: 800px;
    padding-top: 40px;
}

.link ul {
    margin-top: 40px;
}

.link ul li {
    margin-bottom: 30px;
}

.link ul li a {
    text-decoration: underline;
}

.link ul li a:hover {
    text-decoration: none;
}

/* 404 */

.notfound {
    margin-top: 180px;
    font-size: 60px;
    font-weight: bold;
}

.notfound span {
    display: block;
    font-size: 16px;
    margin-top: 20px;
}

.notfound .btn {
    margin-top: 60px;
}


/*-- ipad スタイル --------------------------------------------------------------------------*/

@media screen and (max-width: 1100px) {

    .pagetop {
        right: 20px;
    }


    /*モーダル*/
    .modal__content{
        width: 80%;
    }
    .top .table_wrap .pc {
        display: table;
    }
    .top .table_wrap .accordion {
        display: none;
    }
    .top th {
        height: inherit;
        padding: 5px 15px;
    }
    .top th:nth-child(1), .top td:nth-child(1) {
        width: 15%;
    }
    .top th:nth-child(2), .top td:nth-child(2) {
        width: 14%;
    }
    .top th:nth-child(3), .top td:nth-child(3) {
        width: 18.5%;
    }
    .top th:nth-child(4), .top th:nth-child(5), .top td:nth-child(4), .top td:nth-child(5) {
        width: 7%;
    }
    .top th:nth-child(6), .top td:nth-child(6) {
        width: 11.5%;
    }
    .top th:nth-child(7), .top td:nth-child(7) {
        width: 14%;
    }
    .top .accordion {
        border-bottom: 1px solid #d8d8d8;
    }
    .top .accordion dt {
        padding-top: 15px;
        border-top: 1px solid #d8d8d8;
        position: relative;
        padding: 15px 15px 0 15px;
    }
    .top .accordion dt.bg_color {
        background-color: #F6FCFF;
    }
    .top .accordion dt .patient {
        margin-top: 5px;
        padding-bottom: 15px;
    }
    .top .accordion dt .name {
        font-size: 18px;
        width: 32%;
        line-height: 1.2;
    }
    .top .accordion dt .result {
        margin: inherit;
    }
    .top .accordion dt::before {
        content: "";
        display: inline-block;
        position: absolute;
        top: 50px;
        right: 8px;
        width: 8px;
        height: 8px;
        margin: 0 10px;
        border-top: 2px solid #585858;
        border-left: 2px solid #585858;
        transform: rotate(-135deg);
    }
    .top .accordion dt.open::before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: 45%;
    }
    .top .accordion dd {
        display: none;
        padding: 0 15px 15px 15px;
    }
    .top .accordion dd.bg_color {
        background-color: #F6FCFF;
    }
    .top .accordion dd .gender {
        margin-right: 15px;
    }
    .top .accordion dd .practitioner {
        margin: 10px 0;
    }

    .terms_text .ipad{
        display: block;
    }
}

@media screen and (max-width: 780px) {
    /*モーダル*/
    .modal.first_visit .modal__content .center_title{
        font-size: 20px;
        margin-bottom: 20px;
    }
    .modal.first_visit .modal__content .title_text{
        font-size: 16px;
        margin-bottom: 5px;
    }
    .top .table_wrap .pc {
        display: none;
    }
    .top .table_wrap {
        border-top: 0;
        display: none;
    }
    .top .accordion {
        display: block;
    }
    header.top .login_user {
        right: 60px;
    }
    .top .btn_wrap {
        text-align: center;
    }
    .top .search_btn {
        position: relative;
        display: block;
        text-align: center;
        font-weight: bold;
        margin: 20px 0 15px;
        font-size: 16px;
    }
    .top .search_btn::after {
        content: "";
        display: inline-block;
        position: absolute;
        top: 12%;
        right: 39%;
        width: 8px;
        height: 8px;
        margin: 0 10px;
        border-top: 2px solid #585858;
        border-left: 2px solid #585858;
        transform: rotate(-135deg);
    }
    .top .search_btn.open::after {
        top: 38%;
        transform: rotate(45deg);
    }
    .top .search_box {
        margin-top: 0;
        margin-bottom: 30px;
    }
    .top .search_box .input_box {
        width: 100%;
    }
    .top .search_box .input_box label {
        margin-top: 20px;
    }
    .screening .modal__content {
        width: 80%;
        top: 50%;
    }
    /* screening */
    .result_modal .modal__content {
        width: 70%;
    }
    /* ダッシュボード */
    .dash .content .content_inner {
        width: 48%;
        margin-right: 4%;
    }
    .dash .content .content_inner:nth-child(3n) {
        margin-right: 4%;
    }
    .dash .content .content_inner:nth-child(2n) {
        margin-right: 0;
    }
}

/*-- SP スタイル --------------------------------------------------------------------------*/

@media screen and (max-width: 750px) {
    body {
        font-size: 15px;
    }
    small, label {
        font-size: calc(20 * (100vw / 750));
    }
    /*見出しフォントサイズ*/
    .h1 {
        font-size: 20px;
        margin-bottom: 0;
    }
    .h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .h2 span {
        font-size: 18px;
    }
    .h3 {
        font-size: 16px;
    }
    .h4 {
        font-size: 16px;
    }
    [type=color], [type=date], [type=datetime-local], [type=datetime], [type=email], [type=month], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=time], [type=url], [type=week], textarea {
        font-size: 14px;
    }
    [type="text"], [type="text"]:focus, [type="password"], [type="password"]:focus, [type="email"], [type="email"]:focus, [type=number], [type=number]:focus, textarea, textarea:focus {
        font-size: 14px;
    }
    select {
        font-size: 14px;
        height: 38px;
    }
    main {
        display: block;
    }
    /* テーブル */
    thead td, thead th, tbody td, tbody th {
        padding: 1.2rem 0;
    }
    tbody td {
        padding-left: 15px;
    }

    /* btn */
    .btn {
        padding: 4px 10px;
        font-size: 14px;
    }


    /* page_nation */
    ul.page_nation {
        margin-bottom: 60px;
    }
    ul.page_nation li a {
        width: 30px;
        height: 30px;
        line-height: 30px;
    }
    ul.page_nation li a.arrow {
        position: relative;
    }
    ul.page_nation li a.arrow::after {
        content: '';
        width: 6px;
        height: 6px;
        top: 72%;
        right: 15px;
    }
    .pc {
        display: none;
    }
    .ipad {
        display: none;
    }
    .sp {
        display: block;
    }
    /* header */
    /* -------------------------------------------------- */
    header {
        padding: 18px 0;
    }
    header .home_btn {
        top: -5px;
    }
    header .btn {
        top: -7px;
    }
    header .login_user {
        width: 100%;
        right: inherit;
        text-align: center;
    }
    .drawer .drawer-hamburger {
        padding: 18px 1.5rem 26px;
    }
    .drawer .drawer-nav {
        top: 53px;
        width: 100%;
        background-color: rgba(255, 255, 255, 0.85);
    }
    .drawer .drawer-menu {
        margin-top: 10px;
    }
    .drawer.drawer--right .drawer-nav {
        right: -750px;
    }
    .drawer .drawer-overlay {
        background-color: rgba(255, 255, 255, 0.4);
    }
    .drawer .drawer-brand {
        text-align: center;
    }
    .drawer.drawer--right.drawer-open .drawer-nav {
        padding-top: 0;
        top: 58px;
    }
    /* main */
    /* -------------------------------------------------- */
    /* pagetop */
    .pagetop {
        width: 45px;
        height: 45px;
        right: 20px;
        bottom: 20px;
    }
    .pagetop::before {
        width: 13px;
        height: 13px;
        top: 18px;
        left: 5px;
    }
    .wrap, .screening_wrap {
        padding: 30px 15px 0;
        margin-top: 84px;
    }
    .form_wrap, .form_btn_wrap {
        margin-top: 30px;
    }
    /* .form_btn_wrap .btn{
      padding: 8px 15px 4px;
  } */


    /* 利用規約テキスト */ 
      .terms_text .ipad{
        display: none;
    }

  
    /* top */
    header.top {
        padding: 18px 0 45px;
    }
    header.top .login_user {
        top: 36px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }
    .modal.first_visit .modal__content {
        width: 90%;
        padding: 30px 20px;
        height: 80%;
    }

    .modal.first_visit .modal__content {
        height: 68%;
        top: 50%;
    }

    /* Safari用 */
    @supports (-webkit-hyphens:none) {
        .modal.first_visit .modal__content {
            height: 68%;
            top: 46.5%;
        }
    }

    .modal.first_visit .modal__content .title {
        font-size: 22px;
        margin-bottom: 15px;
    }
    .modal.first_visit .modal__content .btn {
        font-size: 15px;
    }
    .top .search_btn::after {
        right: 27%;
    }
    .top .search_content {
        display: none;
    }
    .top .table_wrap .pc {
        display: none;
    }
    .top .table_wrap {
        border-top: 0;
    }
    .top .table_wrap .accordion {
        display: block;
    }
    .top .btn.blue {
        font-size: 20px;
    }
    .top .accordion dt .activ_day {
        font-size: 16px;
    }
    .top .accordion dt .result {
        width: 32%;
        margin-left: 15px;
        font-size: 14px;
    }
    .top .form_btn_wrap .btn.blue {
        font-size: 15px;
    }
    /* screening */
    .screening .wrap {
        padding: 30px 15px 40px;
        margin-top: 58px;
        border: 0;
        margin-bottom: 0;
    }
    .screening .tab {
        margin: 30px 0 20px;
    }
    .screening .tab li a {
        font-size: 14px;
    }
    .screening .list_box {
        margin-bottom: 15px;
    }
    .screening .list_box li a {
        padding: 9px 7.6px;
        font-size: 15px;
    }
    .screening .tabContents .list_h {
        font-size: 14px;
    }
    .screening .tabContents .list_h span {
        font-size: 16px;
        margin-right: 2px;
    }
    .screening .patient_list {
        font-size: 18px;
    }
    .screening .patient_list img {
        width: 54px;
        height: 54px;
    }
    .screening select {
        font-size: 16px;
    }
    .screening .modal__content {
        width: 85%;
        padding: 120px 40px;
    }
    .screening .height {
        margin: 0 0 20px 0;
    }
    .screening .weight {
        margin: 0;
    }
    .screening .bmi_wrap {
        margin: 0 auto;
    }
    .screening .bmi_wrap .bmi {
        width: 100%;
        text-align: center;
        display: block;
        margin-top: 20px;
        position: relative;
        padding-left: 0;
    }
    .screening .bmi_wrap .bmi::before {
        left: 35%;
        top: -3rem;
        transform: rotate(0deg);
        border-top: 15px dashed;
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
    }

    .form_btn_wrap .btn {
        padding: 6px 14px;
        font-size: 14px;
    }

    .screening .result_area {
        padding: 15px;
    }
    .screening .result_area .result_text {
        font-size: 16px;
    }
    .screening .result_area .result_text span {
        font-size: 24px;
    }
    .screening .result_area .title_box {
        font-size: 12px;
        padding: 16px 0;
    }
    .screening .result_area .title_box span {
        font-size: 18px;
    }
    .screening .result_area .title_box span img {
        width: 18px;
    }
    .screening .result_area.yerrow_area .title_box span {
        padding-left: 2px;
    }
    .screening .result_area.yerrow_area .title_box span img {
        margin-right: 2px;
    }
    .screening .result_area .title_box .small {
        font-size: 12px;
    }
    .screening .result_area .text_box {
        padding: 15px;
    }
    .screening.result .h3 {
        margin-top: 30px;
    }
    .form_wrap, .form_btn_wrap {
        margin-top: 40px;
    }
    .result_modal .modal__content {
        width: 90%;
        padding: 30px;
    }
    .result_modal .modal__content .form_wrap, .form_btn_wrap {
        margin-top: 20px;
    }
    /* 申し送り */
    .screening .send_list dl {
        display: block;
        position: relative;
    }
    .screening .send_list dt {
        width: 95%;
    }
    .screening .send_list dd.js-ac-target {
        display: none;
        transition: 0.5s;
    }
    .screening .js-ac.is-active dd.js-ac-target {
        display: block;
        width: 95%;
        transition: 0.5s;
    }
    .screening .send_list dd label {
        padding-left: 40px;
        margin-top: 10px;
    }
    .screening .send_list .js-ac .js-ac-trigger:after {
        content: "";
        position: absolute;
        top: 45%;
        right: 0;
        width: 8px;
        height: 8px;
        border-top: 2px solid #585858;
        border-left: 2px solid #585858;
        transform: rotate(-135deg);
    }
    .screening .send_list .is-active.js-ac .js-ac-trigger:after {
        transform: rotate(45deg);
    }
    /* ダッシュボード */
    .dash .wrap {
        margin-top: 58px;
        padding-bottom: 60px;
    }
    .dash .inner {
        display: block;
    }
    .dash .inner p {
        width: 100%;
    }
    .dash .btn_wrap {
        text-align: center;
    }
    .dash .btn {
        display: inline-block;
        font-size: 16px;
        height: 40px;
        margin: 20px auto 0;
        padding: 8px 15px 0;
    }
    .dash .btn img {
        width: 16px;
        height: auto;
    }
    .dash .content .content_inner {
        width: 100%;
        margin-right: 0;
    }
    .dash .form_inner {
        display: block;
    }
    .dash .datepicker-container {
        width: 45%;
    }
    .dash .datepicker-container input {
        font-size: 15px;
    }
    .dash .datepicker-container input {
        width: 100%;
        padding-left: 8px;
    }
    .dash .datepicker p {
        margin: 0 7px;
    }
    .dash .select_btn {
        display: block;
        margin-top: 15px;
        max-width: inherit;
        margin-left: 0;
        font-size: 15px;
    }
    .dash .select_box.block {
        width: 100%;
        top: 88px;
        right: 0;
        border-top: 0;
    }
    .dash .form_wrap .graph {
        margin-top: 30px;
        padding: 100px 0;
    }
    .dash .content02 .content_inner {
        width: 100%;
        margin-bottom: 30px;
    }
    .dash .content02 .content_inner .graph {
        padding: 100px 0;
    }
    /* 利用規約 */
    .terms .wrap{
        margin: 56px 0 40px;
    }
    .terms .wrap .title_text{
        font-size: 16px;
        margin-bottom: 5px;
    }
    /* リンク集 */
    .link .wrap {
        width: inherit;
        margin-top: 58px;
    }
    .link ul {
        margin-top: 30px;
    }

    /* 404 */

    .notfound {
        margin-top: 120px;
        font-size: 40px;
        font-weight: bold;
    }

    .notfound span {
        display: block;
        font-size: 15px;
        margin-top: 20px;
    }

    .notfound .btn {
        margin-top: 45px;
    }

    @media screen and (max-width: 350px) {

    .screening .q6_form .inner p {
        font-size: 14px;
    }
    .screening .q6_form .input_wrap p {
        margin-right: 5px;
    }

    .screening .height .inner:first-child, .screening .weight .inner:first-child{
        margin-right: 8px;
    }

    .screening .q6_form .input_wrap .inner:nth-child(2) p:last-of-type {
        margin-right: 0;
    }

    .screening .q6_form input,
    .screening .q6_form .select {
        margin-right: 6px;
    }
}
    
}
