@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");

html {
    font-size: 10px;
}

body {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ W6", "Hiragino Kaku Gothic W6", "ヒラギノ角ゴ W3", "Hiragino Kaku Gothic W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    color: #333333;
    font-size: 1.4rem;
}

* {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

@media screen and (min-width: 769px),
print {
    .day-calendar {
        padding: 30px 0;
    }

    .day-calendar .calendar-meta {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
    }

    .day-calendar .calendar-meta a {
        padding: 7px 20px;
        background: #006837;
        color: #fff;
        position: absolute;
        left: 0;
        /*top: 0;*/
        margin-left: 30px;
    }

    .day-calendar .calendar-meta a:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        left: -20px;
        top: 0;
        border-style: solid;
        border-width: 17px 20px 17px 0;
        border-color: transparent #006837 transparent transparent;
    }

    .day-calendar .calendar-meta p {
        font-size: 3rem;
        font-weight: bold;
        color: #006837;
    }

    .day-calendar h3 {
        text-align: center;
        font-weight: bold;
        font-size: 2rem;
    }

    .day-calendar h3 span {
        color: #006837;
    }

    .day-calendar .day-calendar-inner {
        max-width: 500px;
        background: #fff;
        padding: 30px;
        margin: 0 auto;
    }

    .day-calendar .day-calendar-inner h4 {
        text-align: center;
        font-size: 2rem;
        font-weight: bold;
    }

    .day-calendar .day-calendar-inner h4 span {
        color: #006837;
    }

    .day-calendar .day-calendar-inner table {
        width: 100%;
        margin-top: 30px;
        border-collapse: collapse;
    }

    .day-calendar .day-calendar-inner table tr td,
    .day-calendar .day-calendar-inner table tr th {
        border-top: 1px solid #ddd;
        border-bottom: 1px solid #ddd;
        text-align: center;
        padding: 10px;
        font-size: 1.8rem;
    }

    .day-calendar .day-calendar-inner table th {
        border-right: 1px solid #ddd;
    }

    .day-calendar .day-calendar-inner table td {
        border-left: 1px solid #ddd;
    }

    .day-calendar .day-calendar-inner table .calendar-mark a {
        padding: 2px 15px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        background: #AFCF6E;
        color: #006837;
    }

    .day-calendar .day-calendar-inner table .calendar-mark.full_pick a {
        background: #006837;
        color: #fff;
        pointer-events: none;
    }

    .monthly-calendar .monthly-prev-next {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 30px;
    }

    .monthly-calendar .monthly-prev-next .monthly-current {
        font-size: 2.4rem;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev.disable a,
    .monthly-calendar .monthly-prev-next .monthly-next.disable a {
        background: #ddd;
        color: #404040;
        pointer-events: none;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev.disable a:before,
    .monthly-calendar .monthly-prev-next .monthly-next.disable a:before {
        border-color: transparent #ddd transparent transparent;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev.disable a:after,
    .monthly-calendar .monthly-prev-next .monthly-next.disable a:after {
        border-color: transparent transparent transparent #ddd;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev a,
    .monthly-calendar .monthly-prev-next .monthly-next a {
        padding: 7px 20px;
        background: #7EB142;
        color: #fff;
        position: relative;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev {
        margin-left: 30px;
    }

    .monthly-calendar .monthly-prev-next .monthly-prev a:before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        left: -20px;
        top: 0;
        border-style: solid;
        border-width: 17px 20px 17px 0;
        border-color: transparent #7EB142 transparent transparent;
    }

    .monthly-calendar .monthly-prev-next .monthly-next {
        margin-right: 30px;
    }

    .monthly-calendar .monthly-prev-next .monthly-next a:after {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        right: -20px;
        top: 0;
        border-style: solid;
        border-width: 17px 0 17px 20px;
        border-color: transparent transparent transparent #7EB142;
    }

    .monthly-calendar table {
        width: 100%;
        border-collapse: collapse;
    }

    .monthly-calendar table th {
        border: 1px solid #ddd;
        font-size: 1.8rem;
        padding: 5px;
        color: #555555;
    }

    .monthly-calendar table th.sun {
        color: #F1605B;
    }

    .monthly-calendar table th.sat {
        color: #458CFF;
    }

    .monthly-calendar table td.day-box {
        border: 1px solid #ddd;
        font-size: 1.6rem;
        background: #7EB142;
    }

    .monthly-calendar table td.day-box.disable,
    .monthly-calendar table td.day-box.no-day {
        background: #fff;
    }

    .monthly-calendar table td.day-box .day-number {
        padding: 5px;
        background: #EEEEEE;
        /*height: 50px;*/
    }

    .monthly-calendar table td.day-box.sat .day-number {
        background: #DAE9FF;
        color: #458CFF;
    }

    .monthly-calendar table td.day-box.sun .day-number {
        background: #FFD9DA;
        color: #F1605B;
    }

    .monthly-calendar table td.day-box .calendar-mark {
        padding: 20px;
        min-height: 80px;
        text-align: center;
    }

    .monthly-calendar table td.day-box .calendar-mark a {
        color: #fff;
        display: block;
    }

    .header {
        padding: 20px;
        background: #3B5278;
        color: #fff;
    }

    .header h1 {
        margin: 0;
        color: #fff;
    }

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

    .header .site_des {
        font-size: 18px;
        margin: 5px 0;
    }

    .row {
        width: 1100px;
        margin: 0 auto;
    }

    .container {
        background: #F5F5F5;
    }

    /*form_common*/
    .form table {
        width: 100%;
        border: 1px solid #ccd0d4;
        -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
        background: #fff;
        border-spacing: 0;
    }

    .form table:not(:first-child) {
        margin-top: 30px;
    }

    .form table.no-mg-top {
        margin-top: 0;
        border-top: 0;
    }

    .form table thead {
        display: table-header-group;
        vertical-align: middle;
        border-color: inherit;
        background: #EEEEEE;
    }

    .form table thead th {
        padding: 10px;
        font-size: 18px;
    }

    .form table tbody tr td {
        padding: 25px 20px;
        position: relative;
        font-size: 16px;
        border-top: 1px solid #DDDDDD;
    }

    .form table tbody tr td .inline_group:not(:first-child) {
        margin-top: 10px;
    }

    .form table tbody tr td .date-dropdowns select {
        width: 100px;
        min-width: 100px;
    }

    .form table tbody tr td:first-child {
        background: #EEEEEE;
        width: 170px;
        font-weight: bold;
    }

    .form table.tbl_horizon tr td {
        width: 100%;
        padding: 10px;
    }

    .form table.tbl_horizon tr td p {
        margin: 5px 0;
    }

    .form table.tbl_horizon tr td:first-child {
        background: #F4F4F4;
        width: 100%;
    }

    .form table.tbl_horizon tr td.doub_line .mwform-checkbox-field-text {
        margin-bottom: 4px;
    }

    .form table.tbl_horizon tr:nth-child(odd) td {
        background: #F4F4F4;
        font-weight: bold;
    }

    .form table.tbl_horizon tr:nth-child(even) td {
        background: #fff;
        font-weight: normal;
    }

    .form .require {
        position: absolute;
        left: 0;
        top: 0;
        padding: 3px 5px;
        color: #fff;
        font-size: 10px;
        background: #E72B00;
    }

    #birthday,
    #month_start_1,
    #month_start_2,
    #month_start_3 {
        width: 0;
        height: 0;
        opacity: 0;
    }

    .form .inline_group {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .form .inline_group input:not(:first-child) {
        margin: 0 0 0 10px;
    }

    .form input[type="text"],
    .form input[type="email"],
    .form input[type="number"] {
        border: 1px solid #777777;
        -moz-border-radius: 5px;
        border-radius: 5px;
        /*height: 45px;*/
        max-height: 37px;
        padding: 10px;
        outline: none;
    }

    .form select {
        border: 1px solid #777777;
        -moz-border-radius: 5px;
        border-radius: 5px;
        /*height: 45px;*/
        min-width: 160px;
        max-height: 37px;
        padding: 5px;
        outline: none;
        height: 37px;
        font-family: 'Noto Sans JP', sans-serif !important;
    }

    .form input[type=checkbox] {
        /*display: none;*/
        position: absolute;
        opacity: 0;
    }

    .form input[type=checkbox]:checked+span:after {
        content: "";
        display: block;
        position: absolute;
        top: 7px;
        left: 4px;
        width: 10px;
        height: 3px;
        border-left: 2px solid #333333;
        border-bottom: 2px solid #333333;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .form label:not(:first-child) {
        margin-left: 15px;
    }

    .form label span {
        position: relative;
        display: inline-block;
        /*padding: 0 0 0 20px;*/
        font-size: 14px;
        cursor: pointer;
    }

    .form label span a {
        color: #0045FF;
        text-decoration: underline;
    }

    .form .frm_radio label {
        width: auto;
        font-size: 0;
        display: -webkit-inline-box;
        display: -moz-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        cursor: pointer;
    }

    .form .frm_radio label:not(:first-child) {
        margin-left: 15px;
    }

    .form .frm_radio .radio-field-text {
        font-weight: normal;
        position: relative;
        padding-left: 20px;
    }

    .form .frm_radio input[type="radio"] {
        position: absolute;
        opacity: 0;
        outline: none;
    }

    .form .frm_radio input[type="radio"]+.radio-field-text:before {
        content: '';
        background: #fff;
        border: 1px solid #707070;
        -moz-border-radius: 100%;
        border-radius: 100%;
        overflow: hidden;
        display: inline-block;
        width: 15px;
        height: 15px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        vertical-align: top;
        cursor: pointer;
        text-align: center;
        -webkit-transition: all 250ms ease;
        -moz-transition: all 250ms ease;
        transition: all 250ms ease;
    }

    .form .frm_radio input[type="radio"]:checked+.radio-field-text:before {
        background-color: #777777;
        border-color: #777777;
        -moz-box-shadow: inset 0 0 0 4px #fff;
        box-shadow: inset 0 0 0 4px #fff;
    }

    .form .frm_radio input[type="radio"]:focus+.radio-field-text:before {
        outline: none;
    }

    .form .frm_text_area {
        width: 100%;
        height: 400px;
        padding: 10px;
        resize: none;
        -moz-border-radius: 5px;
        border-radius: 5px;
        border: 1px solid #777777;
        font-family: 'Noto Sans JP', sans-serif !important;
    }

    .form .frm_text_area.small_heig {
        height: 250px;
    }

    .form .frm_text_area:focus {
        outline: none;
    }

    .form .submit_area {
        margin: 50px 0;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .form .submit_btn {
        padding: 5px 35px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        background: #AA0000;
        color: #fff;
        text-decoration: none;
        font-size: 15px;
        border: none;
    }

    .form label.error {
        /*display: none;*/
        position: absolute;
        padding: 10px;
        background: #fff;
        border: 1px solid #E72B00;
        -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
        right: 0;
        color: #E72B00;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .form label.error:before {
        content: "";
        position: absolute;
        left: -11px;
        top: 17px;
        width: 11px;
        height: 13px;
        background: url(../images/err_ar.png) no-repeat;
        -moz-background-size: cover;
        background-size: cover;
    }

    .form .short_width {
        width: 75px;
    }

    .form .short_width_2 {
        width: 100px;
    }

    .form .mid_width {
        width: 200px;
    }

    .form .haft_width {
        width: 50%;
    }

    .form .full_width {
        width: 100%;
    }

    .form .label {
        margin: 0 10px;
    }

    .tbl_popup {
        display: none;
        width: 1000px;
        padding: 30px 0 0;
    }

    .tbl_popup .privacy_box {
        padding: 30px;
    }

    .tbl_popup strong {
        display: block;
        text-align: center;
    }

    .tbl_popup .price_box:not(:first-child) {
        margin-top: 30px;
    }

    .tbl_popup .price_box .price_head {
        padding: 10px;
        background: #DDDDDD;
        border: 1px solid #CCCCCC;
        border-bottom: 0;
        width: 100%;
        text-align: center;
    }

    .tbl_popup .price_box .price_head p {
        margin: 0;
        font-weight: bold;
        font-size: 18px;
    }

    .tbl_popup .price_box .table_custom {
        width: 100%;
        text-align: center;
        border-spacing: 0;
    }

    .tbl_popup .price_box .table_custom thead th {
        background: #EEEEEE;
        padding: 8px;
        border-bottom: 1px solid #CCCCCC;
        border-left: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom thead th:first-child {
        display: none;
    }

    .tbl_popup .price_box .table_custom thead th:last-child {
        border-right: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom thead th .remove_column {
        display: none;
    }

    .tbl_popup .price_box .table_custom thead th .input_text {
        width: 100%;
        border: none;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        background: none;
    }

    .tbl_popup .price_box .table_custom thead th .input_text:focus {
        outline: none;
    }

    .tbl_popup .price_box .table_custom tbody td {
        background: #fff;
        padding: 8px;
        border-bottom: 1px solid #CCCCCC;
        border-left: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom tbody td:first-child {
        display: none;
    }

    .tbl_popup .price_box .table_custom tbody td:last-child {
        border-right: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom tbody td .input_text {
        width: 100%;
        border: none;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
        background: none;
    }

    .tbl_popup .price_box .table_custom tbody td .input_text:focus {
        outline: none;
    }

    .close_popup {
        padding: 5px;
        text-align: center;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .close_popup .popup_btn {
        padding: 7px 30px;
        cursor: pointer;
        border: none;
        outline: none;
    }

    .close_popup .popup_btn:focus {
        outline: none;
    }

    .popup_btn {
        color: #fff;
        text-decoration: none;
        background: #FF620E;
        -moz-border-radius: 5px;
        border-radius: 5px;
        padding: 10px 15px;
    }

    .adm_page_ttl {
        text-align: center;
        margin: 50px 0;
    }

    .add_user {
        padding-bottom: 50px;
    }

    .privacy {
        margin: 50px 0;
        text-align: center;
    }

    .privacy .inline_group {
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .privacy .inline_group label {
        position: relative;
    }

    .privacy .inline_group label em {
        font-style: normal;
        top: 2px;
        right: -35px !important;
        left: auto;
    }

    .confirm_data>p {
        text-align: center;
    }

    .confirm_data table td span {
        margin-right: 10px;
    }

    .confirm_data .submit_area {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .confirm_data .submit_area .back_btn {
        background: #929292;
        text-decoration: none;
        margin: 0 10px;
    }

    .sussess_data {
        padding: 30px 0;
    }

    .sussess_data p {
        text-align: center;
    }

    .sussess_data a {
        text-decoration: none;
        color: #333;
    }

    .footer {
        padding: 10px 0;
        text-align: center;
        background: #3B5278;
    }

    .footer p {
        color: #fff;
        text-align: center;
        font-size: 15px;
    }

    .footer a {
        color: #fff;
        text-align: center;
        font-size: 15px;
    }
}

@media screen and (max-width: 768px) {
    .header {
        padding: 4.41176vw;
        background: #3B5278;
        color: #fff;
    }

    .header h1 {
        margin: 0;
        color: #fff;
        font-size: 4.70588vw;
    }

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

    .header .site_des {
        font-size: 4.11765vw;
        margin: 5px 0;
    }

    .container {
        background: #F5F5F5;
    }

    h2.adm_page_ttl {
        text-align: center;
        font-size: 16px !important;
    }

    #birthday,
    #month_start_1,
    #month_start_2,
    #month_start_3 {
        width: 0;
        height: 0;
        opacity: 0;
    }

    h2.adm_page_ttl.special {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -moz-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    /*form_common*/
    .form table {
        width: 100%;
        border: 1px solid #ccd0d4;
        -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
        background: #fff;
        border-spacing: 0;
    }

    .form table:not(:first-child) {
        margin-top: 30px;
    }

    .form table.no-mg-top {
        margin-top: 0;
        border-top: 0;
    }

    .form table thead {
        display: table-header-group;
        vertical-align: middle;
        border-color: inherit;
        background: #EEEEEE;
    }

    .form table thead th {
        padding: 10px;
        font-size: 14px;
    }

    .form table tbody tr td {
        padding: 4.41176vw 4.41176vw;
        position: relative;
        font-size: 14px;
        border-top: 1px solid #DDDDDD;
        width: 100%;
    }

    .form table tbody tr td .inline_group:not(:first-child) {
        margin-top: 10px;
    }

    .form table tbody tr td:first-child {
        background: #EEEEEE;
        font-weight: bold;
        padding-top: 7.35294vw;
    }

    .form table tbody tr td .date-dropdowns .date_time select {
        width: 23%;
    }

    .form table tbody tr td .date-dropdowns .date_time select.month,
    .form table tbody tr td .date-dropdowns .date_time select.day {
        width: 18%;
    }

    .form table.sp_custom tbody tr {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -moz-box-orient: vertical;
        -moz-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .form table.tbl_horizon tr td {
        width: 100%;
        padding: 10px;
    }

    .form table.tbl_horizon tr td p {
        margin: 5px 0;
    }

    .form table.tbl_horizon tr td:first-child {
        background: #F4F4F4;
        width: 100%;
    }

    .form table.tbl_horizon tr td.doub_line .mwform-checkbox-field-text {
        margin-bottom: 4px;
    }

    .form table.tbl_horizon tr:nth-child(odd) td {
        background: #F4F4F4;
        font-weight: bold;
    }

    .form table.tbl_horizon tr:nth-child(even) td {
        background: #fff;
        font-weight: normal;
    }

    .form .require {
        position: absolute;
        left: 0;
        top: 0;
        padding: 1px 5px;
        color: #fff;
        font-size: 10px;
        background: #E72B00;
    }

    .form .inline_group input:not(:first-child) {
        margin: 4.41176vw 0 0 0;
    }

    .form input[type="text"],
    .form input[type="email"],
    .form input[type="number"] {
        border: 1px solid #777777;
        -moz-border-radius: 5px;
        border-radius: 5px;
        /*height: 45px;*/
        max-height: 37px;
        padding: 10px;
        outline: none;
        width: 100%;
    }

    .form select {
        border: 1px solid #777777;
        -moz-border-radius: 5px;
        border-radius: 5px;
        /*height: 45px;*/
        max-height: 37px;
        padding: 5px;
        outline: none;
        height: 37px;
        font-family: 'Noto Sans JP', sans-serif !important;
    }

    .form input[type=checkbox] {
        /*display: none;*/
        position: absolute;
        opacity: 0;
    }

    .form input[type=checkbox]:checked+span:after {
        content: "";
        display: block;
        position: absolute;
        top: 7px;
        left: 4px;
        width: 10px;
        height: 3px;
        border-left: 2px solid #333333;
        border-bottom: 2px solid #333333;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .form label:not(:first-child) {
        margin-right: 15px;
    }

    .form label span {
        position: relative;
        display: inline-block;
        padding: 0;
        font-size: 14px;
        cursor: pointer;
    }

    .form label span a {
        color: #0045FF;
        text-decoration: underline;
    }


    .form .frm_radio label:not(:first-child) {
        margin-right: 15px;
    }

    .form .frm_radio .radio-field-text {
        font-weight: normal;
        position: relative;
        padding-left: 20px;
    }

    .form .frm_radio input[type="radio"] {
        position: absolute;
        opacity: 0;
        outline: none;
    }

    .form .frm_radio input[type="radio"]+.radio-field-text:before {
        content: '';
        background: #fff;
        border: 1px solid #707070;
        -moz-border-radius: 100%;
        border-radius: 100%;
        overflow: hidden;
        display: inline-block;
        width: 15px;
        height: 15px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        vertical-align: top;
        cursor: pointer;
        text-align: center;
        -webkit-transition: all 250ms ease;
        -moz-transition: all 250ms ease;
        transition: all 250ms ease;
    }

    .form .frm_radio input[type="radio"]:checked+.radio-field-text:before {
        background-color: #777777;
        border-color: #777777;
        -moz-box-shadow: inset 0 0 0 4px #fff;
        box-shadow: inset 0 0 0 4px #fff;
    }

    .form .frm_radio input[type="radio"]:focus+.radio-field-text:before {
        outline: none;
    }

    .form .frm_text_area {
        width: 100%;
        height: 400px;
        padding: 10px;
        resize: none;
        -moz-border-radius: 5px;
        border-radius: 5px;
        border: 1px solid #777777;
        font-family: 'Noto Sans JP', sans-serif !important;
    }

    .form .frm_text_area.small_heig {
        height: 250px;
    }

    .form .frm_text_area:focus {
        outline: none;
    }

    .form .submit_area {
        margin: 50px 0;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .form .submit_btn {
        padding: 5px 35px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        background: #AA0000;
        color: #fff;
        font-size: 15px;
        border: none;
    }

    .form label.error {
        /*display: none;*/
        position: absolute;
        right: 0;
        color: #E72B00;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .form .short_width {
        width: 30% !important;
    }

    .form .short_width_2 {
        width: 100px;
    }

    .form .mid_width {
        width: 100%;
    }

    .form .haft_width {
        width: 50%;
    }

    .form .full_width {
        width: 100%;
    }

    .form .label {
        margin: 0 5px;
    }

    .tbl_popup {
        display: none;
        padding: 4.41176vw 0 0;
    }

    .tbl_popup .privacy_box {
        padding: 4.41176vw;
    }

    .tbl_popup strong {
        display: block;
        text-align: center;
    }

    .tbl_popup .price_box:not(:first-child) {
        margin-top: 4.41176vw;
    }

    .tbl_popup .price_box .price_head {
        padding: 10px;
        background: #DDDDDD;
        border: 1px solid #CCCCCC;
        border-bottom: 0;
        width: 100%;
        text-align: center;
    }

    .tbl_popup .price_box .price_head p {
        margin: 0;
        font-weight: bold;
        font-size: 4.11765vw;
    }

    .tbl_popup .price_box .table_custom {
        width: 100%;
        text-align: center;
        border-spacing: 0;
    }

    .tbl_popup .price_box .table_custom thead th {
        background: #EEEEEE;
        padding: 8px;
        border-bottom: 1px solid #CCCCCC;
        border-left: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom thead th:first-child {
        display: none;
    }

    .tbl_popup .price_box .table_custom thead th:last-child {
        border-right: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom thead th .remove_column {
        display: none;
    }

    .tbl_popup .price_box .table_custom thead th .input_text {
        width: 100%;
        border: none;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        background: none;
    }

    .tbl_popup .price_box .table_custom thead th .input_text:focus {
        outline: none;
    }

    .tbl_popup .price_box .table_custom tbody td {
        background: #fff;
        padding: 8px;
        border-bottom: 1px solid #CCCCCC;
        border-left: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom tbody td:first-child {
        display: none;
    }

    .tbl_popup .price_box .table_custom tbody td:last-child {
        border-right: 1px solid #CCCCCC;
    }

    .tbl_popup .price_box .table_custom tbody td .input_text {
        width: 100%;
        border: none;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
        background: none;
    }

    .tbl_popup .price_box .table_custom tbody td .input_text:focus {
        outline: none;
    }

    .close_popup {
        padding: 5px;
        text-align: center;
        margin-top: 30px;
        margin-bottom: 30px;
    }

    .close_popup .popup_btn {
        padding: 2.20588vw 5.88235vw;
        cursor: pointer;
        border: none;
        outline: none;
    }

    .close_popup .popup_btn:focus {
        outline: none;
    }

    .popup_btn {
        color: #fff;
        text-decoration: none;
        background: #FF620E;
        -moz-border-radius: 5px;
        border-radius: 5px;
        font-size: 14px;
        padding: 2.94118vw 2.20588vw;
    }

    .adm_page_ttl {
        text-align: center;
        margin: 50px 0;
    }

    .add_user {
        /*padding-bottom: 50px;*/
    }

    .privacy {
        margin: 50px 0;
        text-align: center;
    }

    .privacy .inline_group {
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .privacy .inline_group label {
        position: relative;
    }

    .privacy .inline_group label em {
        font-style: normal;
        top: 2px;
        right: -35px !important;
        left: auto;
    }

    .confirm_data>p {
        text-align: center;
    }

    .confirm_data table td span {
        margin-right: 10px;
    }

    .confirm_data .submit_area {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -moz-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .confirm_data .submit_area .back_btn {
        background: #929292;
        text-decoration: none;
        margin: 0 10px;
    }

    .sussess_data {
        padding: 30px 0;
    }

    .sussess_data p {
        text-align: center;
    }

    .sussess_data a {
        text-decoration: none;
        color: #333;
    }

    .footer {
        padding: 10px 0;
        text-align: center;
        background: #3B5278;
    }

    .footer p {
        color: #fff;
        text-align: center;
        font-size: 15px;
    }

    .footer a {
        color: #fff;
        text-align: center;
        font-size: 15px;
    }
}