@charset "UTF-8";

/* === 基本設定（normalize.cssなど） ================================= */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

main {
    display: block;
}

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

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

pre {
    font-family: monospace, monospace;
    font-size: 1em;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

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

small {
    font-size: 80%;
}

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

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

img {
    border-style: none;
}

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

button,
input {
    overflow: visible;
}

button,
select {
    text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

textarea {
    overflow: auto;
}

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

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(../fonts/NotoSansJP-Regular.woff2) format("woff2");
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(../fonts/NotoSansJP-Medium.woff2) format("woff2");
}

@font-face {
    font-family: "Noto Sans JP";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(../fonts/NotoSansJP-Bold.woff2) format("woff2");
}

body,
button,
input,
select,
optgroup,
textarea {
    color: #000;
    font-family: "Noto Sans JP", YuGothic, "Yu Gothic", Meiryo, "メイリオ", sans-serif;
    font-size: 15.9px;
    line-height: 1.8;
}

body {
    background: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 100vh;
}

body.responsive {
    overflow-x: hidden;
}

button {
    border: 1px solid #eee;
    cursor: pointer;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1.35;
}

p {
    margin: 0;
}

p+p {
    margin: 1.25em 0 0;
}

dfn,
cite,
em,
i {
    font-style: italic;
}

blockquote {
    margin: 0 1.5em;
}

address {
    margin: 0 0 1.5em;
}

mark,
ins {
    background: #000;
    text-decoration: none;
}

big {
    font-size: 125%;
}

hr {
    background-color: #ccc;
    border: 0;
    height: 1px;
    margin: 1.5em 0;
}

a {
    color: #000;
    text-decoration: underline;
    opacity: 1;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

a:hover,
a:focus,
a:active {
    opacity: 0.5;
}

a:focus {
    outline: thin dotted;
}

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

ul,
ol {
    margin: 1em 0 0.5em;
    padding-left: 1em;
}

ul {
    list-style: disc;
}

ol {
    list-style: decimal;
}

li>ul,
li>ol {
    margin: 0;
    padding-left: 1em;
}

dt {
    font-weight: 700;
}

dd {
    margin: 0;
}

embed,
iframe,
object {
    max-width: 100%;
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}

figure {
    margin: 1em 0 0.5em;
}

table {
    border-collapse: collapse;
    margin: 1em 0 0.5em;
    width: 100%;
}

/* === SP版の設定ここから ============================================ */
.sp {
    display: block;
}

.pc {
    display: none;
}

.bg_green {
    background-color: #ecf8e0;
}

.bg_blue {
    background-color: #daeefd;
}

.bg_yellow {
    background-color: #fff0d8;
}

.weight_bold {
    font-weight: 700;
}

.weight_medium {
    font-weight: 500;
}

.align_center {
    text-align: center;
}

.align_right {
    text-align: right;
}

.align_left {
    text-align: left;
}

.color_blue {
    color: #0974d6;
}

.color_yellow {
    color: #f9800f;
}

.size_ex-large {
    font-size: 28px;
}

.size_large {
    font-size: 24px;
}

.size_medium {
    font-size: 18px;
}

.size_20 {
    font-size: 20px;
}

.size_16 {
    font-size: 16px;
}

.size_ex-large__re {
    font-size: clamp(1.375rem, 1.22rem + 0.66vw, 1.75rem);
}

.size_large__re {
    font-size: clamp(1.25rem, 1.146rem + 0.44vw, 1.5rem);
}

.size_medium__re {
    font-size: clamp(1rem, 0.948rem + 0.22vw, 1.125rem);
}

.size_small__re {
    font-size: clamp(0.875rem, 0.771rem + 0.44vw, 1.125rem);
}

.txt-limit {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}

.mt_1em {
    margin-top: 1em;
}

.mt_05em {
    margin-top: 0.5em;
}

.icon_pending,
.icon_approval {
    background-position: 0 55%;
    background-size: 12px 12px;
    background-repeat: no-repeat;
    padding: 0 0 0 14px;
}

.icon_pending {
    background-image: url("../img/icon_pending.svg");
}

.icon_approval {
    background-image: url("../img/icon_approval.svg");
}

.icon_edit,
.icon_update {
    background-position: 0 52%;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    padding: 0 0 0 22px;
}

.icon_edit {
    background-image: url("../img/icon_edit.svg");
}

.icon_update {
    background-image: url("../img/icon_update.svg");
}

.header {
    padding: 8px 0;
    position: relative;
    z-index: 3;
}

.header.header_login {
    padding: 8px 0;
}

.header_fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
}

#header_block.is_active {
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    overflow-y: scroll;
    width: 100%;
    z-index: 3;
}

.header_inner {
    background-color: #fff;
    border-radius: 24px;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 4px;
    margin: 0 auto;
    padding: 8px;
    position: relative;
    max-width: 1000px;
    width: calc(100% - 24px);
}

.site_logo__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.site_logo {
    line-height: 1;
    margin: 0;
    padding: 0 8px 0 0;
    width: 140px;
}

.site_title {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    padding: 0 0 0 8px;
}

.property_txt {
    font-size: 15px;
}

.help_link {
    display: inline-block;
    line-height: 1;
    margin: 0 0 0 4px;
}

.help_link img {
    width: 16px;
}

.login_meta_block {
    text-align: right;
    width: auto;
}

.login_user__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: end;
    list-style: none;
    gap: 0;
    margin: 0;
    padding: 0;
}

.login_user__meta--item {
    line-height: 1.1;
}

.login_user__name,
.logout {
    line-height: 1.35;
}

.login_user__name {
    display: inline-block;
    font-size: 18px;
    font-weight: 500;
}

.login_user__name .honor {
    font-size: 12px;
    margin: 0 0 0 6px;
}

.user_member,
.logout {
    background-position: 0 6px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    padding: 0 0 0 20px;
}

.user_member {
    background-image: url("../img/icon_user_yellow.svg");
}

.logout {
    background-image: url("../img/icon_log-out.svg");
}

.login_date__meta {
    color: #898989;
    font-size: 11px;
    letter-spacing: 0.05em;
    text-align: right;
}

.credits-gained {
    font-size: 12px;
    font-weight: 500;
}

.credits-gained_number {
    color: #f9800f;
    font-size: 16px;
    font-weight: 700;
}

.footer {
    background-color: #e3e3e3;
}

.footer_inner.responsive {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 auto;
    padding: 8px 0;
    max-width: 1000px;
    width: calc(100% - 40px);
}

@media screen and (min-width: 481px) {
    .footer_inner.responsive {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

.footer_inner.responsive .footer_link__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer_inner.responsive .footer_link {
    font-size: 12px;
    font-weight: 500;
}

.footer_inner.responsive .footer_utility {
    margin: 8px 0 0;
}

.footer_inner.responsive .footer_utility__txt,
.footer_inner.responsive .copyright {
    color: #898989;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.35;
}

.footer_inner.responsive .copyright {
    margin: 4px 0 0 !important;
}

.main_content {
    background-color: #fff;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}

.main_content__member {
    padding-top: 149px;
}

.main_content__member--login {
    padding-top: 83px;
}

.main_content__inner {
    margin: 0 auto;
    max-width: 1000px;
    width: calc(100% - 40px);
}

.content__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.column_2 {
    gap: 0 64px;
}

.column_2 .inner_block {
    width: calc((100% - 64px) / 2);
}

.global_navi-btn__block {
    height: 20px;
    line-height: 1;
    position: absolute;
    top: 8px;
    right: 16px;
    width: 24px;
}

.global_navi-btn {
    background-color: transparent;
    border: none;
    height: 16px;
    position: relative;
    width: 100%;
}

.global_navi-btn span {
    background-color: #000;
    border-radius: 4px;
    display: inline-block;
    height: 2px;
    position: absolute;
    left: 0;
    width: 100%;
}

.global_navi-btn span:nth-of-type(1) {
    top: 0;
}

.global_navi-btn span:nth-of-type(2) {
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.global_navi-btn span:nth-of-type(3) {
    bottom: 0;
}

.global_navi-btn.is_active span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}

.global_navi-btn.is_active span:nth-of-type(2) {
    opacity: 0;
}

.global_navi-btn.is_active span:nth-of-type(3) {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg);
}

body.is_fixed {
    overflow: hidden;
}

.sp_nav__bg {
    background-color: #fff;
    display: none;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

.sp_nav__bg.is_active {
    display: block;
}

.global_navigation__block {
    display: none;
    position: relative;
    width: 100%;
}

.global_navigation__block.is_open {
    display: block;
}

.global_navigation {
    list-style: none;
    margin: 0;
    padding: 0;
}

.global_navigation__item {
    border-bottom: 1px solid #e3e3e3;
}

.global_navigation__menu {
    background-color: #f6f6f6;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-size: 16px;
    font-weight: 500;
    padding: 16px 20px;
    position: relative;
    text-align: left;
    width: 100%;
}

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

.menu_name::after {
    content: url("../img/icon_caret_black.svg");
    display: block;
    position: absolute;
    top: 50%;
    right: 0px;
    -webkit-transform: translate(0, -60%);
    transform: translate(0, -60%);
}

.nav_member .global_navigation__menu.is_open {
    background-color: #f9800f;
    color: #fff;
}

.nav_member .global_navigation__menu.is_open .menu_name::after {
    content: url("../img/icon_caret_white.svg");
    -webkit-transform: rotate(-180deg) translate(0, 30%);
    transform: rotate(-180deg) translate(0, 30%);
}

.sub_navigation__block {
    display: none;
}

.global_navigation__menu.is_open+.sub_navigation__block {
    display: block;
}

.sub_navigation {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.sub_navigation__item {
    border-bottom: 1px solid #e3e3e3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 0 0 20px;
    width: 100%;
}

.sub_navigation__item--inner {
    font-size: 16px;
    font-weight: 500;
    padding: 16px 0;
    position: relative;
    text-decoration: none;
    width: calc(100% - 16px);
}

.navi_opener {
    position: relative;
}

.navi_opener::before,
.navi_opener::after {
    background-color: #000;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.navi_opener::before {
    height: 10px;
    right: 8px;
    width: 2px;
}

.navi_opener::after {
    height: 2px;
    right: 0;
    width: 10px;
}

.navi_opener.is_active::before {
    opacity: 0;
}

.grandchild_navigation {
    display: none;
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
}

.grandchild_navigation.is_open {
    display: block;
}

.grandchild_navigation__link {
    display: block;
    font-weight: 500;
    line-height: 1.35;
    padding: 12px 12px 12px 28px;
    text-decoration: none;
}

.nav_member .grandchild_navigation__link {
    background-image: url("../img/icon_link-arrow_yellow.svg");
    background-position: 0 13px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
}

.logout_sp {
    background-color: #fff;
    border-bottom: 1px solid #e3e3e3;
    padding: 16px 20px;
    text-align: right;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea,
select {
    background-color: #fff;
    color: #000;
    border: 1px solid #898989;
    border-radius: 4px !important;
    padding: 0 0.5em !important;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus,
select:focus {
    border: 1px solid #000;
    color: #000;
}

input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=range]::-webkit-input-placeholder,
input[type=date]::-webkit-input-placeholder,
input[type=month]::-webkit-input-placeholder,
input[type=week]::-webkit-input-placeholder,
input[type=time]::-webkit-input-placeholder,
input[type=datetime]::-webkit-input-placeholder,
input[type=datetime-local]::-webkit-input-placeholder,
input[type=color]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder {
    color: #898989;
    font-size: 18px;
}

input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=url]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=number]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=range]::-moz-placeholder,
input[type=date]::-moz-placeholder,
input[type=month]::-moz-placeholder,
input[type=week]::-moz-placeholder,
input[type=time]::-moz-placeholder,
input[type=datetime]::-moz-placeholder,
input[type=datetime-local]::-moz-placeholder,
input[type=color]::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder {
    color: #898989;
    font-size: 18px;
}

input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=range]:-ms-input-placeholder,
input[type=date]:-ms-input-placeholder,
input[type=month]:-ms-input-placeholder,
input[type=week]:-ms-input-placeholder,
input[type=time]:-ms-input-placeholder,
input[type=datetime]:-ms-input-placeholder,
input[type=datetime-local]:-ms-input-placeholder,
input[type=color]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: #898989;
    font-size: 18px;
}

input[type=text]::-ms-input-placeholder,
input[type=email]::-ms-input-placeholder,
input[type=url]::-ms-input-placeholder,
input[type=password]::-ms-input-placeholder,
input[type=search]::-ms-input-placeholder,
input[type=number]::-ms-input-placeholder,
input[type=tel]::-ms-input-placeholder,
input[type=range]::-ms-input-placeholder,
input[type=date]::-ms-input-placeholder,
input[type=month]::-ms-input-placeholder,
input[type=week]::-ms-input-placeholder,
input[type=time]::-ms-input-placeholder,
input[type=datetime]::-ms-input-placeholder,
input[type=datetime-local]::-ms-input-placeholder,
input[type=color]::-ms-input-placeholder,
textarea::-ms-input-placeholder,
select::-ms-input-placeholder {
    color: #898989;
    font-size: 18px;
}

input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
input[type=range]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=week]::placeholder,
input[type=time]::placeholder,
input[type=datetime]::placeholder,
input[type=datetime-local]::placeholder,
input[type=color]::placeholder,
textarea::placeholder,
select::placeholder {
    color: #898989;
    font-size: 18px;
}

textarea {
    resize: vertical;
}

.form_header__functions,
.form_footer__functions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.form_header__functions {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 8px;
}

.form_footer__functions {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 24px;
}

.form_item__title {
    font-size: clamp(0.875rem, 0.72rem + 0.66vw, 1.25rem);
    text-align: left;
}

.form_item__note {
    list-style: none;
    margin: 8px 0 0;
    padding: 0;
}

.field_label {
    margin-right: 16px;
}

.mark_required {
    color: #e60012;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 0 8px;
}

.form_required__txt {
    color: #e60012;
}

input[type=text].error {
    background-color: #FFE8EA;
    border: 2px solid #e60012;
}

.form_item__error {
    display: block;
}

.form_item__error--txt {
    background-image: url("../img/alert-circle.svg");
    background-position: 0 5px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    color: #e60012;
    font-weight: 500;
    margin: 8px 0 0;
    padding: 0 0 0 24px;
}

.select_date__link {
    background-image: url("../img/calendar.svg");
    background-position: 0 4px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    font-size: 18px;
    font-weight: 500;
    padding: 0 0 0 24px;
}

input[type=password].field_password {
    padding-right: 40px !important;
}

.module_password {
    position: relative;
    max-width: 512px;
    width: 100%;
}

.password_icon {
    aspect-ratio: 1/1;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 12px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 20px;
}

.password_icon {
    background-image: url("../img/eye.svg");
}

.password_icon.is_showing {
    background-image: url("../img/eye-off.svg");
}

::-ms-reveal {
    display: none;
}

.detail_title {
    cursor: pointer;
    display: block;
    position: relative;
}

.detail_title::before,
.detail_title::after {
    background-color: #000;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.detail_title::before {
    height: 10px;
    right: 8px;
    width: 2px;
}

.detail_title::after {
    height: 2px;
    right: 0;
    width: 10px;
}

.detail_title.is_active::before {
    opacity: 0;
}

.form_item__module {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.form_item__module--column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.field_parallel {
    width: 100%;
}

.field_parallel .field_label {
    display: inline-block;
    font-size: 14px;
    margin-right: 0;
    padding-right: 8px;
    width: 40px;
}

.field_parallel+.field_parallel {
    margin-top: 8px;
}

.field_note {
    color: #898989;
    font-size: 16px;
    margin-top: 4px;
}

.radio_module input[type=radio] {
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
}

.radio_value-name {
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 28px;
    line-height: 2.5;
}

.radio_value-name::before,
.radio_value-name::after {
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
}

.radio_value-name::before {
    background-color: #f6f6f6;
    border: 1px solid #e3e3e3;
    -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2) inset;
    top: 8px;
    left: 0;
    width: 24px;
    height: 24px;
}

.radio_value-name::after {
    background-color: #000;
    top: 14px;
    left: 6px;
    width: 12px;
    height: 12px;
    opacity: 0;
}

.radio_module input:focus+span::before {
    border: 1px solid #82c243;
}

.radio_module input:checked+span::after {
    opacity: 1;
}

.radio_module input:checked:disabled+span::after {
    background-color: #ccc;
    opacity: 1;
}

.check_module input[type=checkbox] {
    opacity: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: absolute;
}

.check_value-name {
    cursor: pointer;
    display: inline-block;
    position: relative;
    padding-left: 28px;
    line-height: 2.5;
}

.check_value-name::before,
.check_value-name::after {
    content: "";
    display: block;
    position: absolute;
}

.check_value-name::before {
    background-color: #f6f6f6;
    border: 1px solid #e3e3e3;
    -webkit-box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2) inset;
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.2) inset;
    top: 8px;
    left: 0;
    width: 24px;
    height: 24px;
}

.check_value-name::after {
    background-color: #000;
    top: 14px;
    left: 5px;
    width: 14px;
    height: 14px;
    opacity: 0;
}

.check_module input:focus+span::before {
    border: 1px solid #82c243;
}

.check_module input:checked+span::after {
    opacity: 1;
}

.check_module input:checked:disabled+span::after {
    background-color: #ccc;
    opacity: 1;
}

.select_module {
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.data_attachment__module .data_attachment__label,
.data_attachment__module .data_attachment__clear {
    cursor: pointer;
    min-width: auto;
    width: auto;
}

.data_attachment__module .data_attachment__label {
    font-size: 15px;
    padding: 0.5em 0;
    width: 140px;
}

.data_attachment__module .data_attachment__clear {
    font-size: 15px;
    padding: 0;
    margin: 0 0 0 auto;
}

.data_attachment__module .data_attachment__name {
    font-size: 15px;
}

.data_attachment__module input[type=file] {
    height: 0;
    visibility: hidden;
    width: 0;
}

.width_long {
    width: 512px !important;
}

.width_middle {
    width: 240px !important;
}

.width_short {
    width: 200px !important;
}

.width_minimum {
    width: 40px !important;
}

.width_110 {
    width: 110px !important;
}

.width_100 {
    width: 100px !important;
}

.width_130 {
    width: 130px !important;
}

.width_150 {
    width: 150px !important;
}

.width_long__re,
.width_middle__re,
.width_short__re {
    width: 100%;
}

.table_primary {
    border-top: 1px solid #e3e3e3;
    margin: 0.5em 0;
}

.table_primary tr {
    border-bottom: 1px solid #e3e3e3;
}

.table_primary th,
.table_primary td {
    display: block;
}

.table_primary th {
    font-weight: 500;
    padding: 8px 0 0;
}

.table_primary td {
    padding: 4px 0 16px;
}

.table_secondary {
    margin: 0.5em 0;
}

.table_secondary tr {
    border-bottom: 1px solid #e3e3e3;
}

.table_secondary th,
.table_secondary td {
    display: block;
}

.table_secondary th {
    font-weight: 500;
    padding: 8px 0;
}

.table_secondary td {
    padding: 4px 0 16px;
}

.table_head__bg {
    background-color: #e3e3e3;
    border: 1px solid #e3e3e3;
}

.table_head__th {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
}

.thead_multiple {
    border: 1px solid #e3e3e3;
}

.thead_multiple th {
    border: none;
}

.table_head__fixed {
    border-collapse: collapse;
}

.table_head__fixed thead th {
    border-bottom: none;
}

.table_head__fixed tbody th,
.table_head__fixed tbody td {
    border-bottom: none;
}

.table_head__fixed tbody tr:last-child th,
.table_head__fixed tbody tr:last-child td {
    border-bottom: none;
}

.tbody_wrap {
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    border-left: 1px solid #e3e3e3;
}

.cell_pr__12 {
    padding-right: 12px !important;
}

.cell_pr__24 {
    padding-right: 24px !important;
}

.cell_pl__12 {
    padding-left: 12px !important;
}

.cell_pl__24 {
    padding-left: 24px !important;
}

.cell_prl__12 {
    padding-right: 12px !important;
    padding-left: 12px !important;
}

.cell_prl__24 {
    padding-right: 24px !important;
    padding-left: 24px !important;
}

.breadcrumb {
    background-color: #f6f6f6;
    padding: 3px 20px;
}

.breadcrumb_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px 0;
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1000px;
    width: 100%;
}

.breadcrumb_list__item,
.breadcrumb_list__item a {
    color: #898989;
}

.breadcrumb_list__item {
    background-image: url("../img/icon_caret_breadcrumb.svg");
    background-position: top 50% right 12px;
    background-size: 8px 12px;
    background-repeat: no-repeat;
    font-size: 11px;
    line-height: 1.35;
    padding-right: 32px;
}

.breadcrumb_list__item:last-child {
    background: none;
    padding-right: 0;
}

.information_block {
    border: 1px solid #e3e3e3;
    margin: 24px 0 0;
    padding: 8px;
    max-height: 480px;
}

.information_block.is_scroll {
    overflow-y: scroll;
}

.information_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.information_list__item {
    border-bottom: 1px solid #e3e3e3;
    padding: 4px 0;
}

.information_list__item:last-child {
    border-bottom: none;
}

.information_list__item+.information_list__item {
    margin: 8px 0 0;
}

.post_date {
    font-size: 14px;
    line-height: 1.35;
}

.post_title {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.35;
    white-space: pre-line;
}

.link_btn {
    border-radius: 9999px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1.35;
    text-decoration: none;
    text-align: center;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    min-width: 200px;
    width: 100%;
}

.btn_primary {
    background-color: #319041;
    border: none;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(49, 144, 65, 0.3);
    box-shadow: 0px 4px 15px 0px rgba(49, 144, 65, 0.3);
    color: #fff;
    opacity: 1;
}

.btn_primary:hover,
.btn_primary:active,
.btn_primary:focus {
    opacity: 0.5;
}

.btn_secondary {
    background-color: #fff;
    border: 2px solid #e3e3e3;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    color: #000;
    opacity: 1;
}

.btn_secondary:hover,
.btn_secondary:active,
.btn_secondary:focus {
    opacity: 0.5;
}

.btn_third {
    background-color: #bfbfbf;
    border: 1px solid #e3e3e3;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    color: #333;
    padding: 16px 32px;
    opacity: 1;
}

.btn_third:hover,
.btn_third:active,
.btn_third:focus {
    opacity: 0.5;
}

.btn_fourth {
    background-color: #0974d6;
    border: none;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    color: #fff;
    opacity: 1;
}

.btn_fourth:hover,
.btn_fourth:active,
.btn_fourth:focus {
    opacity: 0.5;
}

.btn_fifth {
    background-color: #f9800f;
    border: none;
    -webkit-box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 4px 15px 0px rgba(0, 0, 0, 0.08);
    color: #fff;
    line-height: 1.35;
    opacity: 1;
}

.btn_fifth:hover,
.btn_fifth:active,
.btn_fifth:focus {
    opacity: 0.5;
}

.faq_link {
    background-image: url("../img/icon_question_green.svg");
    background-position: 0 6px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    padding: 0 0 0 24px;
}

.btn_form_clear {
    background-color: transparent !important;
    border: none;
    text-decoration: underline;
}

.btn_form_clear:hover,
.btn_form_clear:active,
.btn_form_clear:focus {
    opacity: 0.5;
}

.btn_ex-large {
    padding: 56px;
}

.btn_large {
    padding: 32px 48px;
}

.btn_medium {
    padding: 22px 48px;
}

.btn_medium {
    padding: 22px 48px;
}

.btn_small {
    line-height: 1.35;
    padding: 16px;
}

.btn_minimum {
    line-height: 1.35;
    padding: 4px 8px;
}

.btn_medium__re {
    line-height: 1.35;
    padding: 24px 32px;
}

.global-sign {
    border-top: 1px solid #e3e3e3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 24px 0 32px;
}

.global-sign_module {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
}

.global-sign_logo,
.NAIS_module {
    margin: 0;
}

.global-sign_overview {
    font-size: 12px;
    line-height: 1.35;
    max-width: 700px;
    width: calc(100% - 130px - 16px);
}

.global-sign_overview br {
    display: none;
}

@media screen and (min-width: 481px) {
    .global-sign_overview br {
        display: block;
    }
}

.NAIS_module {
    margin: 0 0 0 auto;
}

.border_left__blue {
    border-left: 6px solid #0974d6;
    padding: 0 0 0 16px;
}

.border_left__yellow {
    border-left: 6px solid #f9800f;
    padding: 0 0 0 16px;
}

.caution_box {
    background-color: #fff7db;
    margin: 1.25em 0 0;
    padding: 8px 16px;
}

.g4201 {
    padding: 0 0 32px;
}

.login_attention {
    padding: 10px 0 8px;
}

.login_block {
    padding: 16px 0 24px;
}

.login_block h1 {
    margin: 0 0 32px;
}

.login_form {
    padding: 48px 0 0;
}

.login_form .form_item {
    width: 100%;
}

.login_form .form_footer__functions {
    margin-top: 32px;
}

.login_form .form_item__note {
    list-style: disc;
    margin-top: 32px;
    padding-left: 1em;
}

.login_form:last-child {
    list-style: none;
}

.login_note__txt {
    position: relative;
    padding-left: 1em;
}

.login_note__txt::before {
    content: "＊";
    display: inline-block;
    position: absolute;
    top: 0;
    left: -7px;
}

.helpdesk_block {
    margin-top: 48px;
}

.helpdesk_block h2 {
    margin: 0;
}

.helpdesk_menu {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.helpdesk_menu__item {
    margin-top: 4px;
}

.g4204 {
    padding: 8px 0 24px;
}

.basic_info-change__form {
    padding: 24px 0;
}

.basic_info-change__form .table_secondary+.table_secondary {
    margin-top: 24px;
}

.basic_info-change__form .table_head__th {
    font-size: 20px;
    padding: 8px 12px;
}

.basic_info-change__form .form_item__title {
    padding-bottom: 0;
}

.basic_info-change__form .form_item {
    line-height: 1.35;
    font-size: 20px;
}

.basic_info-change__form .radio_value-name {
    font-size: 18px;
    line-height: 2.2;
}

.basic_info-change__form .check_value-name {
    line-height: 1.6;
}

.basic_info-change__form .check_value-name::before {
    top: 4px;
}

.basic_info-change__form .check_value-name::after {
    top: 9px;
}

.basic_info-change__form .caution_box {
    margin: 24px 0;
}

.basic_info-change__form .select_module {
    width: 100%;
}

.basic_info-change__form .field_parallel .width_short__re {
    width: calc(100% - 40px);
}

.basic_info-change__form .form_footer__functions {
    margin-top: 40px;
}

.table_secondary .tbody_wrap .form_item__title {
    padding: 8px 12px 0;
}

.table_secondary .tbody_wrap .form_item {
    padding: 4px 12px 12px;
}

.date_change {
    padding: 0 0 0 16px;
}

.date_change__date {
    padding: 8px 0 0 28px;
    gap: 8px;
}

.date_change__field {
    width: 240px;
}

.postal_code {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.postal_code .link_btn {
    min-width: 100px;
}

.magazine_mailing {
    gap: 32px;
}

.table_secondary .remarks_note {
    border-bottom: none;
}

.table_secondary .remarks_note td {
    padding: 8px 12px;
}

.table_secondary .field_remarks {
    width: 100%;
}

.application_history__block {
    padding: 24px 0 0;
}

.application_history__table {
    margin: 0;
}

.application_history__table tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.application_history__table th,
.application_history__table td {
    font-size: 15px;
    padding: 6px 12px;
    width: 50%;
}

.application_history__table .application_history__date {
    font-size: 12px;
}

.basic_info-details__block {
    padding: 16px 0 0;
}

.basic_info-details .table_primary {
    margin: 0;
}

.basic_info-details .form_item {
    line-height: 1.35;
    font-size: 20px;
}

/* === PC版の設定ここから（レイアウトの切り替わりは画面幅「1,024px以上） === */
/* 768px（標準タブレットサイズ）から切り替え */
@media screen and (min-width: 769px) {
    .sp {
        display: none;
    }

    .pc {
        display: block;
    }

    .icon_pending,
    .icon_approval {
        background-size: 16px 16px;
        background-repeat: no-repeat;
        padding: 0 0 0 22px;
    }

    .header {
        padding: 16px 0 0;
    }

    .header.header_login {
        padding: 16px 0;
    }

    .header_inner {
        border-radius: 9999px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 0;
        padding: 9px 24px;
    }

    .site_logo__block {
        width: 53%;
    }

    .site_logo {
        padding: 0 14px 0 0;
        width: 216px;
    }

    .site_title {
        border-left: 1px solid #898989;
        font-size: 24px;
        font-weight: 700;
        letter-spacing: -0.03em;
        padding: 0 0 0 14px;
    }

    .property_txt {
        font-size: 26px;
    }

    .help_link {
        margin: 0 0 0 20px;
    }

    .help_link img {
        width: 20px;
    }

    .login_meta_block {
        width: 47%;
    }

    .login_user__meta {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        gap: 24px;
    }

    .footer_inner.responsive .footer_link__list {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        width: calc(100% - 510px);
    }

    .footer_inner.responsive .footer_link {
        font-size: 16px;
    }

    .footer_inner.responsive .footer_utility {
        margin: 0;
        width: 510px;
    }

    .footer_inner.responsive .footer_utility__txt,
    .footer_inner.responsive .copyright {
        text-align: right;
    }

    .footer_inner.responsive .copyright {
        text-align: right;
    }

    .main_content__member {
        padding-top: 151px;
    }

    .main_content__member--login {
        padding-top: 100px;
    }

    .global_navi-btn__block {
        display: none;
    }

    .sp_nav__bg {
        display: none;
    }

    .global_navigation__block {
        display: block;
    }

    .global_navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
    }

    .global_navigation__item {
        border-bottom: none;
    }

    .global_navigation__menu {
        background-color: transparent;
        cursor: pointer;
        font-size: 18px;
        padding: 7px 56px 8px 36px;
        text-align: center;
        width: auto;
    }

    .menu_name {
        display: inline-block;
        position: relative;
    }

    .menu_name::after {
        content: url("../img/icon_caret_yellow.svg");
        display: block;
        position: absolute;
        top: 50%;
        right: -20px;
        -webkit-transform: translate(0, -60%);
        transform: translate(0, -60%);
    }

    .nav_member .global_navigation__menu.is_open {
        background-color: transparent;
        color: #000;
    }

    .nav_member .global_navigation__menu.is_open .menu_name::after {
        content: url("../img/icon_caret_yellow.svg");
        -webkit-transform: rotate(-180deg) translate(0, 30%);
        transform: rotate(-180deg) translate(0, 30%);
    }

    .nav_member .global_navigation__menu.is_open::before {
        background-color: #f9800f;
        content: "";
        display: block;
        height: 3px;
        width: 100%;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .sub_navigation__block {
        overflow-y: scroll;
        max-height: 600px;
        padding: 40px 0 32px;
        position: absolute;
        left: 0;
        width: 100%;
        z-index: 2;
    }

    .sub_navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        list-style: none;
        margin: 0 auto;
        padding: 0;
        max-width: 1000px;
        width: calc(100% - 24px);
    }

    .sub_navigation__item {
        border-bottom: none;
        padding: 16px;
        width: 24.8%;
    }

    .sub_navigation__item--inner {
        background-image: url("../img/icon_caret-horizontal_black.svg");
        background-position: 0 12px;
        background-size: 6px auto;
        background-repeat: no-repeat;
        padding: 0 0 0 24px;
        font-size: 18px;
    }

    .navi_opener {
        cursor: pointer;
    }

    .grandchild_navigation {
        margin: 8px 0 0;
    }

    .logout_sp {
        display: none;
    }

    .field_parallel__module {
        gap: 16px;
    }

    .field_parallel {
        width: auto;
    }

    .field_parallel .field_label {
        font-size: 16px;
        padding-right: 8px;
    }

    .field_parallel+.field_parallel {
        margin-top: 0;
    }

    .field_note {
        color: #898989;
        font-size: 16px;
        margin-top: 4px;
    }

    .width_long__re {
        width: 512px !important;
    }

    .width_middle__re {
        width: 240px !important;
    }

    .width_short__re {
        width: 200px !important;
    }

    .table_primary th,
    .table_primary td {
        display: table-cell;
    }

    .table_primary th {
        padding: 12px 0;
    }

    .table_primary td {
        padding: 12px 0;
    }

    .table_secondary {
        margin: 0.5em 0;
    }

    .table_secondary th,
    .table_secondary td {
        display: table-cell;
    }

    .table_secondary td {
        padding: 8px 0;
    }

    .thead_multiple {
        border: none;
    }

    .thead_multiple th {
        border-top: 1px solid #e3e3e3;
        border-bottom: 1px solid #e3e3e3;
    }

    .thead_multiple th:first-child {
        border-left: 1px solid #e3e3e3;
    }

    .thead_multiple th:last-child {
        border-right: 1px solid #e3e3e3;
    }

    .table_head__fixed {
        border-collapse: separate;
        border-spacing: 0;
    }

    .table_head__fixed thead th {
        border-bottom: 1px solid #e3e3e3;
        position: sticky;
        top: 0;
    }

    .table_head__fixed tbody th,
    .table_head__fixed tbody td {
        border-bottom: 1px solid #e3e3e3;
    }

    .breadcrumb {
        padding: 3px 0;
    }

    .breadcrumb_list {
        width: calc(100% - 24px);
    }

    .breadcrumb_list__item {
        font-size: 13px;
    }

    .information_block {
        padding: 8px 16px;
        max-height: 340px;
    }

    .btn_medium__re {
        padding: 32px;
    }

    .g4201 {
        padding: 0 0 48px;
    }

    .g4202 {
        padding: 0 0 48px;
    }

    .login_attention {
        padding: 24px 0;
        text-align: center;
    }

    .login_block {
        padding: 24px 0 0;
    }

    .login_block h1 {
        margin: 0 0 32px;
    }

    .login_form {
        padding: 32px 0 0;

    }

    .login_form .form_item__title {
        width: 320px;
    }

    .login_form .form_item {
        width: calc(100% - 320px - 16px);
    }

    .login_form .form_footer__functions {
        margin-top: 32px;
    }

    .login_form .form_item__note {
        list-style: disc;
        margin-top: 32px;
        padding-left: 1em;
        list-style-position: inside;
        padding-left: 0;
        margin-top: 24px;
    }

    .login_form .module_password {
        width: 512px;
    }

    .login_note__txt {
        position: relative;
        padding-left: 1.5em;
    }

    .login_note__txt::before {
        content: "＊";
        display: inline-block;
        position: absolute;
        top: 0;
        left: -5px;
    }

    .helpdesk_block {
        margin-top: 64px;
    }

    .helpdesk_menu {
        list-style: none;
        margin: 32px 0 0;
        padding: 0;
    }

    .helpdesk_menu__item {
        margin-top: 4px;
    }

    .basic_info-change__form .table_head__th {
        padding: 8px 24px;
    }

    .basic_info-change__form .form_item__title {
        padding-bottom: 12px;
        width: 320px;
    }

    .basic_info-change__form .form_item {
        font-size: 18px;
        width: calc(100% - 320px - 16px);
    }

    .basic_info-change__form .select_module {
        width: auto;
    }

    .table_secondary .tbody_wrap .form_item__title {
        padding: 8px 0 8px 24px;
    }

    .table_secondary .tbody_wrap .form_item {
        padding: 8px 24px 8px 0;
    }

    .date_change {
        padding: 0;
    }

    .date_change__date {
        padding: 0 0 0 32px;
    }

    .date_change__field {
        width: 200px;
    }

    .date_change__module {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    .postal_code {
        gap: 12px;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .postal_code .link_btn {
        min-width: 200px;
    }

    .magazine_mailing {
        gap: 48px;
    }

    .application_history__table {
        margin: 0;
    }

    .application_history__table tr {
        display: table-row;
    }

    .application_history__table th,
    .application_history__table td {
        display: table-cell;
        padding: 12px;
        width: 25%;
    }

    .application_history__table th {
        font-size: 20px;
    }

    .application_history__table td {
        font-size: 18px;
    }

    .application_history__table .application_history__date {
        font-size: 18px;
    }

    .basic_info-details__block {
        padding: 24px 0 0;
    }

    .basic_info-details {
        margin-top: 24px;
    }

    .basic_info-details .form_item__title {
        width: 320px;
    }

    .basic_info-details .form_item {
        width: calc(100% - 320px - 16px);
    }
}




/* ////////////////////////////  Add css //////////////////////////// */
/* <dialog>の共通スタイル */
dialog {
    max-width: 400px;
    text-align: left;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 30px;
    width: 100%;
    border-radius: 3px;
    border: 5px solid gray;
}

dialog::backdrop {
    background-color: #707070;
    opacity: 0.7;
}

dialog .dialog-title {
    font-size: 20px;
    margin: 8px 0 24px 0;
}

dialog .dialog-title span {
    display: inline-block;
    vertical-align: top;
    /* アイコンのサイズと同じ */
    height: 32px;
}

dialog#server-error_dialog .dialog-title span {
    vertical-align: top;
}

/* ダイアログアイコン  */
dialog .dialog-title::before {
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    width: 32px;
    height: 32px;
    margin-right: 5px;
}

/* 確認ダイアログアイコン */
dialog .dialog-title.dialog_confirmation:before {
    background-image: url(../img/question.png);
}

/* 情報ダイアログアイコン  */
dialog .dialog-title.dialog_information:before {
    background-image: url(../img/information.png);
}

/* 警告ダイアログアイコン */
dialog .dialog-title.dialog_warning:before {
    background-image: url(../img/exclamation.png);
}

/* エラーダイアログアイコン  */
dialog .dialog-title.dialog_error:before {
    background-image: url(../img/cross-circle.png);
}

dialog .dialog-text-area {
    margin-bottom: 32px;
}

dialog#logout-link-dialog .dialog-text {
    text-align: center;
}

dialog#logout-link-dialog-sp .dialog-text {
    text-align: center;
}

dialog .dialog-sub-text {
    margin-top: 8px;
    font-weight: normal;
}

dialog .dialog-btn-area {
    margin: 24px 0 16px 0;
    text-align: center;
}

/* sp */
dialog .dialog-btn-area .com_a-btn {
    /* 会員用 */
    max-width: 100px;
    width: 100%;
}

/* sp */
dialog .dialog-btn-area .com_a-btn.mem_cancel_btn {
    margin-left: 10px;
}

/* ヘッダーを最前面に表示 */
.header_fixed {
    z-index: 200;
}

/* メインエリアのパディングを上のみ→上下に変更（SP） */
.basic_info-details__block {
    padding: 16px 0;
}

/* タイトルバーのスタイル */
.mem_title_bar {
    background-color: lightgray;
    /* border: 1px solid gray; */
    margin: 20px 0 10px 0;
    padding: 5px;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 10px;
}

/* ボタンの色を調整 */
.btn_third {
    background-color: #f9800f;
    color: white;
    font-weight: bold;
    /* border: 1px solid black; */
    border-radius: 5px;
}

.btn_fifth {
    border-radius: 10px;
}

/* キャンセルボタンのスタイル */
a.mem_cancel_btn,
button.mem_cancel_btn,
.mem_cancel_btn {
    background-color: white !important;
    color: #f9800f !important;
    border: 1px solid #f9800f !important;
}

/* 複数ボタンを縦に並べる */
.form_header__functions.mem_btn_arraylist {
    display: block;
}

.form_header__functions.mem_btn_arraylist li {
    text-align: right;
}

/* .form_header__functions.mem_btn_arraylist a{
  max-width: 450px;
} */

/* 親要素をロゴのサイズに合わせる */
.site_logo__block {
    height: 30px;
}

/* パンくずのフォントサイズを変更 */
.breadcrumb_list__item {
    font-size: 16px;
}

/* PC-SP両方でマージンを取る */
.basic_info-details {
    margin: 10px 0 24px 0;
}

/* 表の上下のマージンを設定 */
.application_history__table {
    margin: 10px 0;
}

/* テーブル行の余白調整 */
.application_history__table th,
.application_history__table td {
    padding: 5px 10px;
}

/* テーブル行の仕切り線を調整 */
.table_secondary tr {
    border-bottom: 3px solid #e3e3e3;
}

/* ロゴブロックをフッターへ含める */
#global_sign__block {
    margin: 0 auto;
    max-width: 1000px;
    width: calc(100% - 40px);
}

/* PC表示時のみ表示 */
.mem_pc {
    display: none;
}

.mem_sp {
    display: inline-flex;
}

/* スマホ時にボタンを中央寄せにする */
.mem_sp.mem_btn-center {
    justify-self: center;
    width: 100%;
    margin-bottom: 30px;
}

/* チェックボックスの右幅を指定 */
.check_value-name,
.radio_value-name {
    margin-right: 10px;
}

/* ファイル選択用フォントサイズ */
.mem_file-upload input,
.mem_file-upload a {
    font-size: 14px;
}

.mem_file-upload input[type=file],
.mem_file-upload input[type=file]::-webkit-file-upload-button {
    cursor: pointer;
}

/* ファイル選択用ボタン */
.data_attachment__module .data_attachment__label {
    background-color: #bfbfbf;
    border: 1px solid #e3e3e3;
    color: #333;
    opacity: 1;
    font-weight: bold;
    border-radius: 5px;
    text-align: center;
    padding: 3px 8px;
    margin-right: 5px;
}

.label-like,
.label-like:disabled {
    border: none;
    background-color: transparent !important;
    background: transparent;
    color: inherit !important;
    font-size: inherit;
    font-family: inherit;
    padding: 0;
    margin: 0;
    cursor: default;
    border-radius: 0;
    pointer-events: none;
}

/* 全幅にするクラス */
.mem_full-width {
    width: 100%;
}

/* ----------　common　全サイト共通パーツ　ここから　---------- */
/* aタグとbuttonタグの見た目を初期化 */
a.com_a-btn,
button.com_a-btn,
.dialog_area button,
input.com_a-btn[type=button] {
    font-size: 1rem;
    text-shadow: none;
    text-decoration: none;
    appearance: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

/* buttonにホバー時のスタイルを追加（aに合わせる） */
a.com_a-btn:hover,
a.com_a-btn:focus,
a.com_a-btn:active,
button.com_a-btn:hover,
button.com_a-btn:focus,
button.com_a-btn:active,
.dialog_area button:hover,
.dialog_area button:focus,
.dialog_area button:active,
input.com_a-btn[type=button]:hover,
input.com_a-btn[type=button]:focus,
input.com_a-btn[type=button]:active {
    opacity: 0.5;
}

a.com_a-btn:focus,
button.com_a-btn:focus,
.dialog_area button:focus,
input.com_a-btn[type=button]:focus {
    outline: 1px dotted gray;
}

a.com_a-btn:hover,
a.com_a-btn:active,
button.com_a-btn:hover,
button.com_a-btn:active,
.dialog_area button:hover,
.dialog_area button:active,
input.com_a-btn[type=button]:hover,
input.com_a-btn[type=button]:active {
    outline: 0;
}

/* aタグ、buttonタグのスタイル統一 会員用 */
a.com_a-btn,
button.com_a-btn,
.dialog_area button,
input.com_a-btn[type=button] {
    display: inline-block;
    text-decoration: none;
    background-color: #f9800f;
    color: white;
    font-weight: bold;
    border: 1px solid #e3e3e3;
    border-radius: 5px;
    line-height: 1.35;
    padding: 4px 8px;
    opacity: 1;
    text-align: center;
    /* 会員用 */
    max-width: 200px;
    width: 200px;
}

/* ロゴのみの場合、ヘッダーを隠す */
.com_header-logo-only .login_meta_block,
.com_header-logo-only .global_navigation__block,
.com_header-logo-only .global_navi-btn__block {
    display: none;
}

.com_header-logo-only .header {
    padding-bottom: 16px;
}

.com_header-logo-only .main_content__member {
    padding-top: 96px;
}

.com_header-logo-only .breadcrumb {
    display: none;
}

/* フッターを非表示にする */
#footer_block.com_footer-none .footer_inner {
    display: none;
}

/* ダイアログ画面 */
.com_dialog-page .header_fixed {
    display: none;
}

/* ダイアログ画面の上paddingを調整 */
.com_dialog-page .main_content {
    padding-top: 0;
}

/* 必須アイコンのスタイル */
.com_mark_required::after {
    content: " *";
    color: #e60012;
    font-size: 18px;
    vertical-align: top;
}

/* 小さいボタン */
a.com_btn_150,
button.com_btn_150,
.com_btn_150 {
    min-width: auto;
    width: 150px;
}

/* 削除ボタンのスタイル */
a.del_btn,
button.del_btn,
.del_btn {
    background-color: red !important;
    color: white;
    width: 120px !important;
    min-width: 100px;
}

/* 入力不可の場合の背景色 */
input[readonly],
input[disabled],
select[disabled],
textarea[readonly],
textarea[disabled],
input[readonly]:hover,
input[disabled]:hover,
select[disabled]:hover,
textarea[readonly]:hover,
textarea[disabled]:hover {
    background-color: #f2f2f2 !important;
    cursor: default !important;
    opacity: 1 !important;
    color: #000000 !important;
}

/* readonly使用不可。 
　　　aria-readonly="true"のキーイベントを無効にするには個別に対応が必要 */
main button[disabled],
main button[disabled]:hover,
main button[aria-readonly="true"],
main button[aria-readonly="true"]:hover {
    background-color: lightgray !important;
    cursor: default !important;
    opacity: 1 !important;
    color: gray !important;
    pointer-events: none;
}

/* 非表示にする */
.hidden {
    display: none;
}

fieldset {
    border-style: none;
}

/* 入力不可の場合の背景色 */
fieldset:disabled input,
fieldset:disabled select,
fieldset:disabled textarea,
fieldset:disabled input:hover,
fieldset:disabled select:hover,
fieldset:disabled textarea:hover {
    background-color: #f2f2f2 !important;
    cursor: default !important;
    opacity: 1 !important;
    color: #000000 !important;
}

fieldset:disabled span {
    cursor: default !important;
}

/*エラーメッセージのスタイル*/
div[class^="validation-error-"] p.form-error {
    color: red;
    margin: 0;
}

/*パスワード強度チェックバー*/
.progress-bar-container {
    position: relative;
    margin-top: 10px;
    max-width: 512px;
    height: 20px;
    background-color: #ddd;
    border-radius: 4px;
}

.progress-bar {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background-color: #ddd;
    border-radius: 4px;
    transition: width 0.4s ease-in-out;
}

.strength-1 {
    width: 2%;
    background-color: red;
}

.strength-2 {
    width: 15%;
    background-color: orange;
}

.strength-3 {
    width: 30%;
    background-color: gold;
}

.strength-4 {
    width: 50%;
    background-color: greenyellow;
}

.strength-5 {
    width: 75%;
    background-color: yellowgreen;
}

.strength-6 {
    width: 100%;
    background-color: green;
}

.text_pre_line {
    white-space: pre-line;
}

/* ----------　common　全サイト共通パーツ　ここまで　---------- */

/* @media　PC版の設定 */
@media screen and (min-width: 769px) {

    /* スマホ表示時のみ表示 */
    .mem_pc {
        display: inline-flex;
    }

    .mem_sp {
        display: none;
    }

    /* <dialog>の共通スタイル */
    /* pc */
    dialog .dialog-btn-area .com_a-btn {
        /* 会員用 */
        max-width: 100px;
        width: 100%;
    }

    /* pc */
    dialog .dialog-btn-area .com_a-btn.mem_cancel_btn {
        margin-left: 20px;
    }

    .sub_navigation__item--inner {
        background-image: none;
    }

    /* ボタンをフロートする */
    #mem_header-btn_float {
        position: sticky;
        top: 155px;
        background-color: white;
        z-index: 150;
        width: 100%;
    }

    #mem_header-btn_float .form_functions__item {
        margin: 5px 0;
    }

    /* メニューの第一階層が折り返したときに前面に表示する */
    .menu_name {
        z-index: 10;
    }

    /* 複数ボタンを横に並べる（PC時） */
    .form_header__functions.mem_btn_arraylist {
        display: flex;
    }

    /* 親要素をロゴのサイズに合わせる */
    .site_logo__block {
        height: auto;
    }

    /* PCナビゲーションメニューのボタンを調整 */
    .navi_opener::before,
    .navi_opener::after {
        top: 50%;
        left: 3%;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    /* ナビゲーションメニューの高さを調整 */
    .sub_navigation__block {
        padding: 0;
    }

    /* メインエリアのパディングを上のみ→上下に変更（PC） */
    .basic_info-details__block {
        padding: 24px 0;
    }

    /* 5分割テーブル */
    .application_history__table.mem_5-line_table th,
    .application_history__table.mem_5-line_table td {
        width: 20%;
    }

    .application_history__table.mem_5-line_table .mem_hidden_table {
        display: none;
    }

    /* 6分割テーブル */
    .application_history__table.mem_6-line_table th,
    .application_history__table.mem_6-line_table td {
        width: 16.6%;
    }

    /* タイトルバーのスタイル */
    .mem_title_bar {
        font-size: 1.3rem;
    }

    /* 項目名を太字にする */
    .basic_info-details .form_item__title {
        font-weight: bold;
    }

    /* 項目アイテムを左寄せ */
    .basic_info-change__form .form_item {
        text-align: left;
    }

    /* パンくずのフォントサイズを変更 */
    .breadcrumb_list__item {
        font-size: 16px;
    }

    /* ログイン画面の入力欄の長さの調整 */
    .login_form .module_password {
        width: 330px;
    }

    .width_long__re {
        width: 325px !important;
    }

    .width_middle__re {
        width: 260px !important;
    }

}

/* メニューの折り返しを防止 */
@media screen and (min-width: 769px) and (max-width: 800px) {
    .global_navigation__menu {
        padding-left: 20px;

    }
}

/* スマホ表示時にアップロードファイル */
@media screen and (max-width: 500px) and (min-width :300px) {

    .com_a-btn {
        width: 130px !important;
    }

    .file_select_padding {
        display: inline-grid;
        height: 65px;
    }

    .file_name {
        word-break: break-all;
    }
}

/* ////////////////////////////  Add css //////////////////////////// */


/* ////////////////////////////  Add css //////////////////////////// */
#nowLoading {
    display: table;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    opacity: 0.8;
    z-index: 2000;
}

#innerMsg {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding-top: 140px;
    z-index: 100;
    background: url(../img/img-loading.gif) center center no-repeat;
}

/* ////////////////////////////  Add css //////////////////////////// */

/* ////////////////////////////  Add css //////////////////////////// */
.balloon-container {
    position: relative;
    display: inline-block;
    z-index: 4999;
}

.balloon {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 10px;
    padding: 10px;
    background-color: #f9800f;
    color: #fff;
    opacity: 1;
    border-radius: 5px;
    white-space: nowrap;
    font-size: 13px;
    text-align: left;
    z-index: 5000;

}

.balloon-container:hover .balloon {
    display: block;
}

.balloon::after {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent #f9800f transparent;
    ;
}

/* ////////////////////////////  Add css //////////////////////////// */