@charset "utf-8";

.input-group-common-label {
    text-align: start;
}

.normal-common-label {
    background-color: #BBDAFF !important;
    color: #EE3A3A !important;
}

.io-header {
    box-shadow: 3px 0 10px rgb(114,114,138,0.32);
}
.io-contents {
    min-height: initial;
    padding-bottom: 44px;
}
.io-footer {
    bottom: 0 !important;
    height: auto !important; 
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
.io-footer > .button-group {
    height: 64px !important; 
    align-items: center;
    justify-content: center;
}

.birthdate-select {
    display: table;
}

.birthdate-select select {
    width: auto !important;
}

#underwriting-details-article-content .io-table-list.grid-container {
    margin-bottom: -2px !important;
}

.spacing-dash {
    margin-right: 0.5rem;
}

select {
    width: 100% !important;
}

.dropdown.menu > li.opens-left > .is-dropdown-submenu{
    right: 0 !important;
}

.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{
    right: 0;
}
.accident-date-wrapper {
    display: flex !important;
}
.accident-date-wrapper select {
    width: auto !important;
}


/* Desktop (1281px and up) */
@media screen and (min-width: 1281px) {
    .hide-for-large {
        display: none !important;
    }
    .show-for-large-only {
        display: -webkit-box !important;
    }
    #underwriting-details-article-content .input-group {
        width: 100% !important;
    }
    #underwriting-details-article-content .input-group-label {
        white-space: normal;
        word-break: break-word;
    }
    .accident-date-label {
        padding-left: 10px !important;
    }
    .accident-date-span {
        padding-right: 0 !important;
    }
    .io-dialog-modal {
        height: auto !important;
        max-height: fit-content !important;
    }

    /* 2026/05/20 H.Usui ADD START 次期シス対応 */
    .mypage-button {
        width: 400px !important;
    }    
    /* 2026/05/20 H.Usui ADD END 次期シス対応 */    
}

/* Smartphone and Tablets */
@media screen and (max-width: 1280px) {
    .hide-for-large {
        display: -webkit-box !important;
    }
    .hide-for-large .io-error-status {
        margin-bottom: 5px;
    }
    .show-for-large-only {
        display: none !important;
    }
    .input-group {
        display: flex;
        flex-wrap: wrap;
        width: 100% !important;
        align-items: center;
        row-gap: 8px;
    }
    .input-group-field {
        width: 100% !important;
        flex: 1 1 20%;
        min-width: 0;
    }
    .io-input-date-field {
        width: 100% !important;
        /* 2026/08/18 R.Nakamatsu ADD START */
		padding-right: 40px;
		/* 2026/08/18 R.Nakamatsu ADD END */
    }
    input[type="text"] {
        width: 100%;
    }
    input[type="password"] {
        width: 100%;
    }
    /** 2026/07/30 H.Matsumoto ADD START 次期シス対応 */
    .email-address-wrapper {
        width: 100%;
    }

    .email-address-wrapper input[type="text"] {
        width: 100% !important;
        box-sizing: border-box;
    }
    /** 2026/07/30 H.Matsumoto ADD END 次期シス対応 */
    .input-group-label {
        flex: 0 0 auto;
        white-space: normal;
        word-break: break-word;
        width: auto;
    }
    .input-group-common-label {
        width: 100%;
    }
    .input-group-label.label-below {
        flex: 1 1 100%;
        text-align: left;
    }
    fieldset.radio-group label[for], 
    fieldset.checkbox-group label[for] {
        display: flex !important;
        align-items: baseline;
        white-space: normal !important;
        overflow-wrap: break-word;
    }
    #io-header {
        position: fixed !important;
        width: 100% !important;
        z-index: 1000;
    }
    /* 2026/05/20 H.Usui ADD START 次期シス対応 */
    .mypage-button {
        width: 300px !important;
    }    
    /* 2026/05/20 H.Usui ADD END 次期シス対応 */
}

/* Smartphone */
@media screen and (max-width: 640px) {
    .io-table-list.grid-container>.grid-x>.cell, 
    .io-table-list.grid-container>.grid-x>.cell.table-list-title {
        border-left: 1px solid #a3a3a3 !important;
        border-right: 1px solid #a3a3a3 !important;
    }
    .onlyPC {
        display: none !important;
    }
    #div-payment-method .input-group {
        display: block !important;
    }
    #contractor-birthdate .input-group-label, 
    #insured-birthdate .input-group-label {
        flex-grow: 1;
        padding-right: 4px !important;
        padding-left: 4px !important;
    }
    #contractor-birthdate select, 
    #insured-birthdate select {
        margin-right: 4px !important;
        width: 100% !important;
    }
    .birthdate-select {
        flex-direction: row;
        flex-wrap: nowrap;
        width: 100%;
    }
    .spacing-dash {
        margin-left: 0.5rem;
    }
    .button.link {
        white-space: normal;
        word-break: break-word;
        text-align: left;
    }
    span:empty {
        display: inline-block;
    }
    #contract-type-selection-content {
        padding-top: 20px !important;
    }
    .io-page-title .top-bar-right>ul.menu>li>a>span {
        padding: 0 5px !important;
        font-size: 14px;
    }
    .io-page-title .page-title {
        padding-left: 10px !important;
    }
    .io-contents>.accordion-item>.accordion-header.system-error {
        height: 60px;
    }
    #premium-payment-process-error-article .grid-container {
        margin-top: 0.5rem;
    }
    .page-title-small-view {
        font-size: 18px !important;
    }
    #logout-modal {
        width: auto !important;
    }
    #logout-modal .button {
        margin-right: 5px !important;
    }
    .io-dialog-modal {
        padding: 15px !important;
        height: auto !important;
        max-height: fit-content !important;
    }
    .accident-date-wrapper {
        display: block !important;
    }
    .accident-date-margin {
        margin-top: 0.5rem !important;
    }
    
    /* 2026/05/20 H.Usui ADD START 次期シス対応 */
    .mypage-button {
        width: 180px !important;
    }    
    /* 2026/05/20 H.Usui ADD END 次期シス対応 */
}

@media screen and (min-width: 640px) {
    .onlySmartphone {
        display: none !important;
    }
    .io-dialog-modal {
       height: auto !important;
       max-height: fit-content !important;
    }
    
}

/* 2026/04/22 Y.Mauda ADD START 次期シス対応 */
.imageTop {
  flex-shrink: 0;
  width: 47px;
  height: 81px;
  position: relative;
  transform-origin: 0 0;
  transform: rotate(0deg) scale(1, 1);
  object-fit: contain;
}

.imageTitleTop {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  position: relative;
  transform-origin: 0 0;
  transform: rotate(0deg) scale(1, 1);
  object-fit: contain;
}
/* 2026/04/22 Y.Mauda ADD END 次期シス対応 */

/** ここから追加 */

/** 共通ヘッダ */
.io-top-bar {
    background-color: #ffffff;
    color: #4072b3;
    width: 100%;
    height: 40px;
    z-index: 10;
}
.menu-icon {
    width: 44px;
    height: 100%;
    background-color: #ffffff;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    cursor: pointer;
}
.menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    margin: 12px !important;
    display: block;
    width: 100%;
    height: 2px;
    background: #4072b3;
    -webkit-box-shadow: 0 7px 0 #4072b3,0 14px 0 #4072b3;
    box-shadow: 0 7px 0 #4072b3,0 14px 0 #4072b3;
    content: '';
}
.io-top-bar .common-menu .menu-icon:hover {
    background-color: #f4f8ff;
}
.menu-icon:hover::after {
    background: #4072b3;
    -webkit-box-shadow: 0 7px 0 #4072b3,0 14px 0 #4072b3;
    box-shadow: 0 7px 0 #4072b3,0 14px 0 #4072b3;
}
.io-top-bar .top-bar-right>ul.menu>li:first-child>a>span>.arrow-icon::after {
    color:#ffffff;
}
/** スマホ表示時のヘッダ改行指定 */
@media screen and (max-width: 640px) {
    .io-top-bar {
        display: flex;
        flex-direction: column;
        height: 60px;
    }
    .io-top-bar .top-bar-left {
        width:100%;
        height: 40px
    }
    .io-top-bar .top-bar-right {
        width:100%;
        height: 20px;
        display: flex;
        flex-direction: row;
        gap: 0px;
        align-items: flex-end;
        justify-content: flex-end;
        flex-shrink: 0;
        position: relative;
    }
    .io-top-bar .top-bar-right>ul.menu>li {
        height: 20px
    }
    .io-top-bar .top-bar-right>ul.menu>li>a {
        padding: 0 0 !important;
    }
    .io-top-bar .top-bar-right>ul.menu>li>a>span {
        line-height: 16px !important;
    }
    
}
.io-top-bar .system-title {
    padding: 0 0 0 12px;
    height: 100%;
    display: flex;
    flex-direction: row;
    gap: 0px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
}
.system-title-img {
    height: 40px;
    flex-shrink: 1;
    object-fit: cover;
}
.system-title-text {
    color: #2b2b2b;
    text-align: left;
    font-family: "NotoSansJp-Bold", sans-serif !important;
    font-size: 12px;
    line-height: 150%;
    font-weight: 700;
    align-items: center;
    flex-shrink: 1;
}
.io-top-bar ul {
    background-color: #ffffff;
}
.io-top-bar .top-bar-right>ul.menu>li>a {
    color:  #4072b3;
}
.io-top-bar .top-bar-right>ul.menu>li>a>span {
    border-left: 1px solid #4072b3 !important;
    display: inline-block;
    line-height: 24px;
    padding: 0 20px;
}
.io-top-bar .top-bar-right>ul.menu>li.is-active>a {
    color: #4072b3;
}
.io-top-bar .top-bar-right>ul.menu>li:not(.is-active)>a:hover {
    background-color: #f4f8ff;
}
.io-top-bar .top-bar-right>ul.menu>li[data-is-click="true"] a:hover>span {
    color:rgb(64,114,179,0.6);
}
.io-common-menu li:hover {
    background-color: #f4f8ff;
}
.io-user-menu .user-menu-content .horizon-line {
    background-color: #bebebe;
}
.user-menu-content .cell {
    color: #2b2b2b;
    font-size: 14px;
}

/** プログレスバー */
.progressbar {
    display: flex;
    flex-wrap: wrap;
    width:100%;
    margin:8px 8px 8px 8px;
}
.progressbar .item {
    position:relative;
    flex: 1;
    text-align: center;
    align-items: center;
    justify-content:center;
    padding:13px 0;
    line-height:1.5;
    background-color:#ffffff;
    color:#4072b3;
    display:inline-flex;
}
.progressbar .item:not(:last-child)::before,
.progressbar .item:not(:last-child)::after {
    position:absolute;
    z-index:2;
    bottom:0;
    left:100%;
    content:'';
    border:25px solid transparent;
    border-left:20px solid #ffffff;
    margin:auto;
}
.progressbar .item:not(:last-child)::before {
    border-left-color: #ffffff;
    margin-left:1px;
}
.progressbar .item.active {
    z-index:1;
    background:#4072b3;
    color:#ffffff;
}
.progressbar .item.active:not(:last-child)::after {
    border-left-color: #4072b3;
}
.progressbar .item.active:not(:last-child)::before {
    border-left: none;
}
.progressbar .item .counter {
    background-color: #4072b3;
    color:#ffffff;
    border-radius: 50% !important;
    border-width:1px;
    height: 24px;
    width:24px;
    margin-right: 5px;
}
.progressbar .item.active .counter {
    background-color: #ffffff;
    color:#4072b3;
    border-radius: 9999px;
}

/** パンくずリスト */
.io-breadcrumbs {
    height: auto;
    padding-top: 1px;
    margin: 0!important;
    background-color: #f3fffd;
}
.io-breadcrumbs li:last-child {
    color: #2b2b2b;
}
/** エラー解除メッセージ */
.io-release {
    min-height: 40px;
    max-height: 76px;
    background-color: #25b700 !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.28;
    border: 0 !important;
    margin: 0 !important;
    padding: 11px 0 11px 16px !important;
}
.io-release span {
    display: block;
}
/** 眞那田追加分 */
.button.primary {
    height:40px;
    width:160px;
    padding-left:10px;
    padding-right:10px;
    border-radius: 20px !important;
    border-color:#FE6C03;
    font-size: 16px;
    color:#FFFFFF;
    background-color:#FE6C03;
}

.button.primary:hover, .button.primary:focus {
    border-color:#D86716;
    color:#FFFFFF;
    background-color:#D86716;  
}

.button.primary.disabled,
.button.primary.disabled:focus,
.button.primary.disabled:hover,
.button.primary[disabled],
.button.primary[disabled]:focus,
.button.primary[disabled]:hover {
    border-color:#FE6C03A6;
    color:#FFFFFF;
    background-color:#FE6C03A6;
}

.button.secondary {
    height:40px;
    width:160px;
    padding-left:10px;
    padding-right:10px;
    border-radius: 20px !important;
    border-color:#FE6C03;
    font-size: 16px;
    color:#FE6C03;
    background-color:#FFFBEB;
}

.button.secondary:hover, .button.secondary:focus {
    border-color:#FE6C03;
    color:#FE6C03;
    background-color:#E2DCC3; 
}

.button.secondary.disabled,
.button.secondary.disabled:focus,
.button.secondary.disabled:hover,
.button.secondary[disabled],
.button.secondary[disabled]:focus,
.button.secondary[disabled]:hover {
    border-color:#FE6C03;
    color:#FE6C03;
    background-color:#FFFBEB4D;
}

.button.normal {
    height:36px;
    display:inline-flex;
    width: fit-content;
    min-width:78px;
    padding-left:8px;
    padding-right:8px;
    margin-left:10px;
    margin-right:10px;
    border-radius: 18px !important;
    border-color:#FE6C03;
    font-size: 16px;
    color:#FE6C03;
    background-color:#FFFBEB;
    align-items:center;
}

.button.normal:hover, .button.normal:focus {
    border-color:#FE6C03;
    color:#FE6C03;
    background-color:#E2DCC3;
}

.button.normal.disabled,
.button.normal.disabled:focus,
.button.normal.disabled:hover,
.button.normal[disabled],
.button.normal[disabled]:focus,
.button.normal[disabled]:hover {
    border-color:#FE6C03;
    color:#FE6C03;
    background-color:#FFFBEB4D;
}

/* 2026/04/28 J.Yozawa ADD START 次期シス対応 */
.button-show {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 10px;
  justify-content: center;
}

.button-show-sub {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 10px;
    justify-content: center;
    height:40px;
    width: 100%;
    padding-left:10px;
    padding-right:10px;
    font-size: 16px;
    color:#000000;
    background-color:#F5F5F5;
}

.button-updown{
    display: flex;
    align-items: center;
    justify-content: center;
    height:40px;
    width: 100%;
    padding-left:10px;
    padding-right:10px;
    font-size: 16px;
}


.history-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
/* 2026/04/28 J.Yozawa ADD END 次期シス対応 */

[type=text], textarea {
    color:#2B2B2B;
}

[type=text]:focus {
    color:#2B2B2B;
    background-color:#EFF7FF;
}

label>[type=radio]::before {
    border-color: #A3A3A3;
}

label>[type=radio]:not([disabled]):hover:before {
    border-color: #5B5B5B;
}

label>[type=radio]:checked::before {
    background-color: #4072B3;
    border-color: #A3A3A3;
}

label>[type=checkbox]::before {
    border-color: #000000;
}

label>[type=checkbox]:not([disabled]):hover:before {
    border-color: #000000;
}

label>[type=checkbox]:checked::before {
    background-color: #4072B3;
}

select:not([disabled]) {
    background-color:#FFFFFF;   
}

select:not([disabled]):hover {
    background-color:#FFFFFF;   
}

select:focus {
    background-color:#FFFFFF;   
}
/** 背景色 */
body {
    background-color: #fffbeb;
}
/** 画面タイトル */
.io-page-title {
    background-color: #ddebff !important;
    box-shadow: none;
}
.top-bar-left {
    color: #2b2b2b !important;
    font-size: 20px !important;
    font-weight: bold !important;
}
.top-bar-right {
    color: #4072b3;
    font-size: 16px;
}
.top-bar-right>ul>li:hover {
    background-color: #f4f8ff;
}
.io-page-title .top-bar-right>ul.menu>li>a>span {
    border-left: 1px solid #A3A3A3;
    border-radius: 0.5px;
    display: inline-block;
    line-height: 28px;
    height: 28px;
    padding: 0 20px;
    color: #4072b3;
}
.io-page-title .top-bar-right>ul.menu>li[data-is-click="true"] a:hover>span {
    color:rgb(64,114,179,0.6);
}
.io-page-title .top-bar-right>ul.menu>li:not(.is-active)>a>span>.arrow-icon::before {
    color: #4072b3;
}
.io-page-title .top-bar-right>ul.menu>li.is-active>a>span>.arrow-icon::before {
    color: #4072b3;
}
.io-index>li>a {
    color: #4072b3;
    line-height: 34px;
    padding: 0 !important;
}
.io-index>li:hover {
    background-color: #f4f8ff;
}
.io-index>li>a:hover>span {
    color: #4072b3 !important;
}

/** カレンダー */
.io-dp-calendar{
    position: relative;
    user-select: none;
    margin-bottom: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 7.5px 5.5px;
    border-radius: 6px;
    border-color: #a3a3a3;
    border-width:1px;
    padding: 0 7.5px;
    table-layout: fixed;
    box-shadow:0 0 6px rgba(114,114,138,0.36);
}
.io-dp-calendar-box {
    border-radius: 6px !important;
}
.io-dp-year,
.io-dp-month {
    color:#2b2b2b;
}
.io-dp-today {
    color: #ffffff !important;
    background-color: #4072B3 !important;
}
.io-dp-sunday,
.io-dp-saturday {
    font-family: Noto Sans JP !important;
}
.io-dp-monday,
.io-dp-tuesday,
.io-dp-wednesday,
.io-dp-thursday,
.io-dp-friday {
    color:#2b2b2b !important;
    font-family: Noto Sans JP !important;
}
.io-dp-out-of-month {
    color:#2b2b2b !important;
    opacity: 0.3;
    font-family: Consolas​
}

/** テーブルリスト */
.io-table-list {
    font-size:16px !important;
    border-radius: 12px;
    border-color:#4072b3 !important;
    border-width:1px;
    border-style:solid;
    overflow:hidden;
}
.table-list-title {
    color:#2b2b2b !important;
    background-color:#ddebff !important;
    font-weight: bold !important;
    border-left:none !important;
    border-top:none;
    border-right:none;
    border-bottom: 1px solid #4072b3;
    min-height:50px;
}
/** 2026/05/22 R.Nakamatsu ADD START 次期シス対応 */
.table-list-title.with-icon {
    display: flex;
    justify-content: space-between;
}
/** 2026/05/22 R.Nakamatsu ADD END 次期シス対応 */
.io-table-list.grid-container > .grid-x > .cell,
.io-table-list.grid-container > .io-table-navigation > .cell {
    border: 1px none #A3A3A3;
    border-left:none;
    border-top:none;
    border-right:none;
    border-bottom: 1px solid #4072b3;
}
.last-child {
    border-bottom: none !important;
}
@media screen and (max-width: 640px) {
.io-table-list.grid-container>.grid-x>.cell, .io-table-list.grid-container>.grid-x>.cell.table-list-title {
    border-left: none !important;
    border-bottom:none !important;
}
}
.io-table-list.grid-container>.grid-x>.cell>fieldset.checkbox-group>label[for]>[type=checkbox],
.io-table-list.grid-container>.io-table-navigation>.cell>fieldset.checkbox-group>label[for]>[type=checkbox] {
    top: 6px;
    vertical-align: middle;
}
fieldset.checkbox-group, fieldset.radio-group {
    padding: 0!important;
    display: flex;
}
@media screen and (max-width: 640px) {
fieldset.checkbox-group, fieldset.radio-group {
    padding: 0!important;
    display: initial;
}
}

/** アコーディオン */
summary {
    display: block;
    list-style: none;
    font-size: 16px;
    color: #2b2b2b;
    width: fit-content;
}
summary::webkit-details-marker {
    display: none;
}
details[open] summary .toggle-close {
    display:none;
}
details:not([open]) summary .toggle-open {
    display:none;
}
.toggle-image-left {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-right: 10px;
}
.toggle-image-right {
    padding-right: 24px;
}

/** テーブル */
tr:has(input[type="radio"]:checked) {
    background-color: #E4F7FF;
}
.fix-header-row-1,
.fix-header-row-2,
.fix-header-row-3,
.fix-header-row-4,
.fix-header-row-5 {
    background-color: #4072B3 !important;
    color: #FFFFFF;
    font-size: 16px !important;
    font-weight: bold;
    border-color: #FFFFFF;
    height: 38px;
}

tbody tr:stripe-odd td {
    border-bottom: none;
    border-top: none;
    text-align: center;
    position: -webkit-sticky;
    position: sticky;
    z-index: 1;
    background-color: ＃FFFFFF;
    color: #2B2B2B;
    font-size: 16px !important;
    font-weight: bold;
    border-color: #A3A3A3;
    border-width: 1px;
    padding: 10px;
    min-height: 48px;
}

tbody tr:stripe-even td {
    border-bottom: none;
    border-top: none;
    text-align: center;
    position: -webkit-sticky;
    position: sticky;
    z-index: 1;
    background-color: #FFFFFF;
    color: #2B2B2B;
    font-size: 16px !important;
    border-color: #F5F5F5;
    border-width: 1px;
    padding: 10px;
    min-height: 48px;
}

tbody tr td:emphasis {
    font-size: 16px;
    color: #8b1c1c;
    background-color: #fcebeb;
}

.io-table-navigation .table-data-count {
    color: #2b2b2b;
    font-size: 14px;
    line-height: 1;
    padding-bottom: 4px;
    white-space: nowrap;
    padding-top: 70px​;
}

/** ページャー */

.pf-pagination>.active>a,
.pf-pagination>.active>span,
.pf-pagination>.active>a:focus,
.pf-pagination>.active>span:focus {
    color: #ffffff;
    background-color: #4072b3;
    z-index: 2;
    cursor: default;
    border-color: #a3a3a3;
}

.pf-pagination>.active>a:hover,
.pf-pagination>.active>span:hover {
    color: #ffffff;
    background-color: #4072b3;
    z-index: 2;
    cursor: default;
    border-color: #5b5b5b;
}

.pf-pagination>li>a,
.pf-pagination>li>span {
    font-size: 18px;
    color: #2b2b2b;
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.428571429;
    text-decoration: none;
    border: 1px solid #ddd;
    border-color: #a3a3a3;
}

.pf-pagination>li>a:hover,
.pf-pagination>li>span:hover {
    font-size: 18px;
    color: #2b2b2b;
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.428571429;
    text-decoration: none;
    border: 1px solid #ddd;
    border-color: #5b5b5b;
}

/** フローティングボタン */
.floating_button {
    position: fixed;
    top: 370px;
    right: 30px;
    z-index: 5;
    display: grid;
}
.arrow-up {
    position: relative;
    display:inline-block;
    width: 100%;
    height: 40%;
}
.arrow-up::before,
.arrow-up::after {
    content: "";
    position: absolute;
    top: 0;
    left: calc(50% -2px);
    width: 4px;
    height: 20px;
    border-radius: 9999px;
    background-color:#4072b3;
    transform-origin: 50% 2px;

}
.arrow-up::before {
    transform: rotate(45deg);
}
.arrow-up::after {
    transform: rotate(-45deg);
}
.arrow-down {
    position: relative;
    display:inline-block;
    width: 100%;
    height: 60%;
}
.arrow-down::before,
.arrow-down::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% -2px);
    width: 4px;
    height: 20px;
    border-radius: 9999px;
    background-color:#4072b3;
    transform-origin: 50% calc(100% - 2px);
}
.arrow-down::before {
    transform: rotate(45deg);
}
.arrow-down::after {
    transform: rotate(-45deg);
}
.arrow-wrap {
    background-color: #ffffff;
    border-radius: 9999px;
    border-width:1px;
    width: 42px;
    height: 42px;
}

/** 2026/05/22 R.Nakamatsu ADD START 次期シス対応 */
.container {
  text-align: center;
  position: relative;
  top: -35px;
}
/** 2026/05/22 R.Nakamatsu ADD END 次期シス対応 */
/** 2026/06/01 R.Nakamatsu ADD START 次期シス対応 */
.pdf-container {
    width: 100%;
}
/* PDF本体 */
/* モーダル背景 */
.modal {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}
/* 共通（基本構造） */
.modal-content {
  position: absolute;
  background: white;
  display: flex;
  flex-direction: column;
  overflow: auto;
}
/* ✅ PC用（中央表示） */
@media screen and (min-width: 769px) {
  .modal-content {
    top: 50%;
    left: 50%;
    width: 80%;
    height: 80%;
    transform: translate(-50%, -50%);
    border-radius: 8px;
  }
}
/* スマホ用 */
@media screen and (max-width: 768px) {
  .modal-content {
    position: absolute;
    top: 5%;
    left: 5%;
    width: 90%;
    height: 90%;
    transform: none;
    background: white;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
  }
}
#pdfCanvas {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
/* 下部ボタン */
.modal-footer {
  text-align: center;
  padding: 10px;
  background: #f5f5f5;
  border-top: 1px solid #ddd;
}
/** 2026/06/01 R.Nakamatsu ADD END 次期シス対応 */

/* 共通フッター */
/* 2026/07/13 k.sanada DELETE START 次期シス対応 */
/*
.common-footer {
    top: auto !important;
    bottom: 0 !important;
    width: 100%;
    height: 180px;
    background-color: #233b6c;
    padding-left: 24px;
    padding-right: 24px;
    display: flex;
    flex-direction: column;
    gap: 0px;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    position: relative;
}
.common-footer-com {
    margin-top:28px;
    align-items: center;
}
.common-footer-gr {
    margin-top:16px;
    align-items: center;
}
.common-footer-cr {
    margin-top:28px;
    color: #ffffff;
    align-items: center;
*/
/* 2026/07/13 k.sanada DELETE END 次期シス対応 */

/* 2026/07/13 k.sanada ADD START 次期シス対応 */
/* PC用 */
@media screen and (min-width: 769px) {
	.common-footer {
	    top: auto !important;
	    bottom: 0 !important;
	    width: 100%;
	    height: 142px;
	    background-color: #233b6c;
	    padding-left: 48px;
	    padding-right: 48px;
	    display: flex;
	    flex-direction: column;
	    gap: 0px;
	    justify-content: flex-start;
	    flex-shrink: 0;
	    position: relative;
	}
	.common-footer-com {
	    margin-top:28px;
	    align-items: flex-end;
	    display: flex;
	    justify-content: flex-end;
	}
	.common-footer-gr {
	    margin-top:16px;
	    display: flex;
	    justify-content: flex-start;
	}
	.common-footer-cr {
	    margin-bottom:28px;
	    color: #ffffff;
	    align-items: flex-end;
	    display: flex;
	    justify-content: flex-end;
	}
}

/* スマホ用 */
@media screen and (max-width: 768px) {
	.common-footer {
	    top: auto !important;
	    bottom: 0 !important;
	    width: 100%;
	    height: 180px;
	    background-color: #233b6c;
	    padding-left: 24px;
	    padding-right: 24px;
	    display: flex;
	    flex-direction: column;
	    gap: 0px;
	    justify-content: center;
	    flex-shrink: 0;
	    position: relative;
        overflow-wrap: break-word;
	}
	.common-footer-com {
	    margin-top:32px;
	    align-items: flex-end;
	    display: flex;
	    justify-content: center;
	}
	.common-footer-gr {
	    margin-top:16px;
	    display: flex;
	    justify-content: center;
	}
	.common-footer-cr {
	    margin-top:28px;
	    color: #ffffff;
	    align-items: center;
	    text-align: center;
	    line-height: 1.3;
	}
}
/* 2026/07/13 k.sanada ADD END 次期シス対応 */

@media screen and (max-width: 640px) {
    .io-footer {
        bottom: 0 !important;
        left: 0;
        right: 0;
        height: auto !important; 
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        top: auto !important;
        z-index: 5;
        position: fixed;
    }
}

/** エラー解除表示エリア制御 */
.release-error-area {
    display:grid;
    grid-template-rows: auto;
    grid-template-columns: repeat(12, 1fr);
}
.release-error-area>.image-area {
    grid-column: 1 / 2;
}
.release-error-area>.main-area{
    grid-column: 2 / 13;
}
@media screen and (max-width: 640px) {
.release-error-area>.image-area {
    grid-column: 1 / 3;
}
.release-error-area>.main-area{
    grid-column: 3 / 13;
}
}

/* 2026/05/22 w.higa ADD START 次期シス対応 */
/* Pmsf1070 */
.io-success {
    color: #fff !important;
    /* 2026/07/22 Fujitsu MOD START 次期シス対応 */
    /* background-color: #0ac914 !important; */
    background-color: #25B700 !important;
    /* 2026/07/22 Fujitsu MOD END 次期シス対応 */
    font-size: 14px;
    font-weight: 700;
    border: 0 !important;
    line-height: 1.28;
    margin: 0 !important;
    padding: 11px 0 11px 16px !important;
}

.display-flex {
    display: flex;
    padding: 15px;
}

.is-hidden {
    display: none;
}

.section-title.matching-ng {
    padding-top: 20px;
}

.section-title.matching-ng.aligin-content-center {
    align-content: center;
}

.section-title.matching-ng h2 {
    font-size: inherit;
    font-weight: 700;
    /* 2026/08/17 Fujitsu MOD START 次期シス対応 */
    /* height: 20px; */
    min-height: 20px;
    /* 2026/08/17 Fujitsu MOD END 次期シス対応 */
    line-height: 20px;
    padding-left: 10px;
}

.section-title.matching-ng h2.border-left-red {
    border-left: 8px solid #ff0000;
}

.section-title.matching-ng h2.border-left-green {
    border-left: 8px solid #0ac914;
}

.section-title.matching-ng span {
    padding-left: 10px;
}

/** 【確認事項選択】グループ */
.question-section {
	padding: 15px;
}

.question-section fieldset[disabled] {
	opacity: 0.7;
	cursor: not-allowed;
	pointer-events: none;
}

.question-title {
	font-size: 16px;
	font-weight: bold;
	color: #333;
	margin-top: 0;
	margin-bottom: 10px;
}

.question-text {
	font-size: 14px;
	color: #333;
	margin-bottom: 15px;
}

.question-radio-group {
	display: flex;
	gap: 20px;
}

.question-radio-label {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 16px;
	color: #333;
}

.question-section fieldset[disabled] label {
	cursor: not-allowed;
}

.question-section fieldset[disabled] input[type="radio"] {
	filter: grayscale(100%);
}

.question-radio-label span {
	margin-left: 8px;
}

/** 【問い合わせ先】グループ */
.matching-ng-contact-image {
    width: 65px; 
    height: 100%;
    margin-right: 10px;
    margin-left: 10px;
}
.matching-ng-contact-info-area {
    font-weight: bold;
    width: 100%;
    padding: 15px;
    background-color: #f5cccc;
    border-radius: 6px;
    margin: 10px;
    -webkit-box-shadow: 0 0 6px rgba(114, 114, 138, .36) !important;
}

/** 【転居機関に関する特約条項】エリア */
.tokuyaku-title-area {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    align-items: center;
    font-weight: bold;
    width: 100%;
    height: 100%;
    /* 2026/07/22 Fujitsu MOD START 次期シス対応 */
    /* background-color: #bee2b0; */
    background-color: #CFEFC7;
    /* 2026/07/22 Fujitsu MOD END 次期シス対応 */
    border-radius: 6px;
    margin: 15px;
    padding: 15px;
    -webkit-box-shadow: 0 0 6px rgba(114, 114, 138, .36) !important;
}

.tokuyaku-detail {
    padding: 0 15px 15px 15px;
    font-size: 18px;
	color: #333;
}

.tokuyaku-image-area {
    display: flex;
    /* 2026/08/31 R.Nakamatsu DEL START 次期シス対応 */
    /* width: 100%; */
    /* 2026/08/31 R.Nakamatsu DEL END 次期シス対応 */
    justify-content: center;
}

.tokuyaku-image {
	/* 2026/08/31 R.Nakamatsu MOD START 次期シス対応 */
    /* width: 30%; */
    width: 95%;
    /* 2026/08/31 R.Nakamatsu MOD END 次期シス対応 */
    /* 2026/08/31 R.Nakamatsu ADD START 次期シス対応 */
    max-width: 600px;
    height: auto;
    /* 2026/08/31 R.Nakamatsu ADD END 次期シス対応 */
}
/* 2026/08/31 R.Nakamatsu ADD START 次期シス対応 */
@media screen and (max-width: 767px) {
	.tokuyaku-image {
		width: 95%;
	}
}
/* 2026/08/31 R.Nakamatsu ADD END 次期シス対応 */

.no-accordion-area {
    padding: 15px;
    text-align: center;
}

.no-accordion-area>span{
    padding: 15px;
}

.no-accordion-area>.button-group{
    margin: 15px;
}
/* 2026/05/22 w.higa ADD END 次期シス対応 */
/* 2026/06/30 s.nomura ADD START 次期シス対応 */
.g-recaptcha {
  margin-top: 1em;
  margin-bottom: -0.5em;
  margin-left: auto;
  margin-right: auto;
  border-collapse: collapse;
  display: table;
}
/* 2026/06/30 s.nomura ADD END 次期シス対応 */
/* 2026/08/18 R.Nakamatsu ADD START */
.accordion-header {
	min-height: 40px !important;
	height: auto !important;
}

.section-title h2 {
	min-height: 20px !important;
	height: auto !important;
}
/* 2026/08/18 R.Nakamatsu ADD END */
/* 2026/09/16 ki.chin ADD START 次期シス対応 */
/* Smartphone */
@media screen and (max-width: 400px) {
    .mypage-button {
        width: 140px !important;
        height: auto !important;
    }
}
/* 2026/09/16 ki.chin ADD END 次期シス対応 */
/* 2026/09/16 R.Nakamatsu ADD START */
.payment-method-item {
	margin-bottom: 8px;
}
.payment-method-header {
	background-color: #DDEBFF;
	border: 1px solid #75A9FF;
	min-height:50px;
	width: 100%;
}
.payment-method-header label {
	display: flex;
	align-items: center !important;
	width: 100%;
	min-height: 50px;
	gap: 8px;
	padding-left: 10px;
	margin-bottom: 0;
}
.payment-method-detail {
	background-color: #FFFFFF;
	border-left: 1px solid #75A9FF;
	border-right: 1px solid #75A9FF;
	border-bottom: 1px solid #75A9FF;
	width: 100%;
	padding: 10px;
}
/* 2026/09/16 R.Nakamatsu ADD END */