@charset "UTF-8";


/*  userpg
===================================*/
.userpg {
}

.userpg .pched .area {
    max-width: 1200px;
}

.userpg .flow-are {
    margin-bottom: 30px;
    margin-top: 0;
}

.userpg .kaisai-box {
    border-bottom: 0;
    padding: 0;
}

.userpg footer .area {
    max-width: 1160px;
}

.userpg .flow-are li:nth-of-type(odd) {
    width: initial;
    min-width: 140px;
}
.userpg .flow-are li:nth-of-type(even) {
    width: initial;
}
.userpg .flow-are ul {
    justify-content: center;
    gap: 20px;
}

.userpg .kaisai-box .txt dl dd {
    font-size: 1.55rem;
}


/* ------------------------------------
   共通
--------------------------------------- */
/*//////// タイトル ////////*/
.page-title {
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
    padding-bottom: 18px;
}
.page-title h3 {
    position: relative;
    font-size: 2.1rem;
    line-height: 1.2;
    font-weight: 600;
    padding: 11px 0 11px 12px;
    border-left: 7px solid #0080bb;
}
.page-title:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: 1px solid #c7cdd5;
    left: 0;
    bottom: 0;
    width: 100%;
}
.page-title.linot {
    padding-bottom: 5px;
}
.page-title.linot:after {
    display: none;
}


.page-title.two {
    padding-bottom: 15px;
}

.page-title .titl {
    padding-top: 6px;
}

.page-title .titlmeg {
    font-size: 1.5rem;
    letter-spacing: normal;
    padding-top: 10px;
    font-weight: 500;
}

.uspg-title {
    font-size: 1.65rem;
    display: block;
    font-weight: 600;
    background-color: #f4f4f4;
    padding: 12px 10px;
    line-height: 1.2;
    border-bottom: 1px solid #c5c5c5;
    border-left: 7px solid #008acb;
    border-left: 7px solid #5fa3d5;
}
.uspg-title.iro-org {
    border-left: 7px solid #faa123;
    border-left: 7px solid #f6b04d;
}
.uspg-title.iro-red {
    border-left: 7px solid #e85e10;
}

.uspg-smtitle {
    font-size: 1.6rem;
    position: relative;
    line-height: 1.3;
    font-weight: 500;
    padding: 10px 15px;
    padding-left: 18px;
    background-color: #d7eef9;
    background-color: #e4f0f4;
}
.uspg-smtitle::before {
    content: "";
    position: absolute;
    top: 18%;
    left: 0;
    bottom: 0;
    width: 11px;
    height: 25px;
    background-color: #008acb;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.uspg-line {
    height:1px;
    display: block;
    border-bottom: 1px solid #c3c3c3;
    margin-bottom: 25px;
}

.uspg-sstitle {
    font-size: 1.7rem;
    font-weight: 600;
    padding: 5px 10px 8px;
    border-left: 5px solid #6faad7;
    border-bottom: 1px solid #d6dee4;
}
.uspg-sstxt {
    padding: 0 10px;
}
.uspg-sstxt ul {
}
.uspg-sstxt ul li {
    font-size: 1.43rem;
    padding-left: 1em;
    text-indent: -1em;
}
.uspg-sstxt ul li:not(:last-child) {
    margin-bottom: 10px;
}

.uspg-info-box {
    background-color: #eef3f8;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 12px;
}
.uspg-info-box .info-period {
    font-size: 1.55rem;
    font-weight: 600;
    color: #0d3b66;
    margin-bottom: 6px;
}

.uspg-note-text {
    font-size: 1.35rem;
    color: #d90429;
}

/* セミナー参加方法リスト（リンクリスト） */
.method-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 6px;
}

.method-item {
  display: flex;
  align-items: center;
}

/* ボタンデザイン（全体ホバーではなくボタンのみホバー） */
.method-link {
    display: inline-block;
    background-color: #ffffff;
    border: 1px solid #8bb3c8;
    color: #13628e;
    font-size: 1.43rem;
    font-weight: 600;
    padding: 8px 24px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.25s ease;
}

/* ボタン単体のホバーエフェクト */
.method-link:hover {
    background-color: #0080bb;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 3px 4px rgb(0 0 0 / 20%);
}


/*//////// リスト ////////*/
.uspg-txtlist {
}
.uspg-txtlist ul {
}
.uspg-txtlist ul li {
    font-size: 1.43rem;
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em;
}
.uspg-txtlist ul li:not(:last-child) {
    margin-bottom: 10px;
}
.uspg-txtlist ul li::before {
    content: "●";
    color: #008acb;
    color: #5fa3d5;
    position: relative;
    margin-right: 3px;
    font-size: 1.2rem;
    top: -1px;
}
.uspg-txtlist.iro-org ul li::before {
    color: #faa123;
    color: #faab3c;
}
.uspg-txtlist.iro-red ul li::before {
    color: #e85e10;
}

.uspg-txtlist ul li a {
    display: inline;
    color: #026baf;
    font-weight: 500;
    transition: 0.2s ease-out;
    padding-bottom: 2px;
    box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;
}
.uspg-txtlist ul li a:hover {
    /*box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;*/
    box-shadow: none;
}

.uspg-txtlist ul li em {
    font-style: normal;
    box-shadow: 0 0px 0 transparent inset, 0px -20px 0px #fff480 inset;
    display: inline;
    font-weight: 600;
}

.uspg-txtlist .txt-a {
    font-weight: 600;
}
.uspg-txtlist .txt-b {
}
.uspg-txtlist .txt-min {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-top: 4px;
    text-indent: -1em;
    padding-left: 1em;
}

.uspg-txtlist.nmb {
}
.uspg-txtlist.nmb ul li::before {
    display: none;
}
.uspg-txtlist.nmb ul li i {
    margin-right: 4px;
    color: #107dc3;
    font-weight: bold;
    font-size: 1.6rem;
}


/*//////// 枠テキスト ////////*/
.uspg-wakutxt {
    background-color: #eaf3fa;
    background-color: #eaf3f8;
    border: 1px solid #d0e3f2;
    border-radius: 6px;
    padding: 15px 15px 18px;
}
.uspg-wakutxt .tai {
    font-size: 1.5rem;
    font-weight: 600;
    color: #0066b2;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
    gap: 5px;
}
.uspg-wakutxt .tai i {
    font-size: 2.1rem;
}

.uspg-wakutxt ul {
}
.uspg-wakutxt ul li {
    font-size: 1.4rem;
    padding-left: 1.5em;
    text-indent: -1.5em;
    margin-bottom: 8px;
}
.uspg-wakutxt ul li:last-child {
    margin-bottom: 0;
}
.uspg-wakutxt ul li::before {
    content: "✔";
    color: #0066b2;
    padding-right: 5px;
    padding-left: 4px;
}

.uspg-wakutxt ul li em {
    font-style: normal;
    box-shadow: 0 0px 0 transparent inset, 0px -20px 0px #fff480 inset;
    display: inline;
    font-weight: 600;
}


/* ------------------------------------
   銀行振込
--------------------------------------- */
.us-bankmeg {
}
.us-bankmeg .waku-meg {
    border: 2px solid #e55454;
    background-color: #fffee8;
    padding: 8px 15px 13px;
    border-radius: 4px;
}
.us-bankmeg .waku-meg p {
    font-size: 1.43rem;
    line-height: 1.45;
    text-indent: -1.5em;
    padding-left: 1.5em;
}
.us-bankmeg .waku-meg p::before {
    font-family: 'icomoon';
    content: "\e9a9";
    color: #e02300;
    font-size: 1.9rem;
    position: relative;
    bottom: -3px;
    margin-right: 3px;
}

.us-bankmeg .bank-meg {
}
.us-bankmeg .bank-meg ul {
}
.us-bankmeg .bank-meg ul li {
}
.us-bankmeg .bank-meg ul li:not(:last-child) {
    margin-bottom: 18px;
}
.us-bankmeg .bank-meg ul li .moku {
    font-size: 1.43rem;
    line-height: 1.5;
    font-weight: 500;
    display: inline-block;
    background-color: #008acc;
    color: #fff;
    padding: 3px 12px;
    border-radius: 2px;
}
.us-bankmeg .bank-meg ul li .reed {
    margin-top: 8px;
}
.us-bankmeg .bank-meg ul li .reed p {
    padding-left: 1em;
    text-indent: -1em;
}
.us-bankmeg .bank-meg ul li .reed p::before {
    content: "■";
    color: #008acc;
    position: relative;
    margin-right: 2px;
}
.us-bankmeg .bank-meg ul li .reed p a {
    color: #026baf;
    font-size: inherit;
    font-weight: 500;
    display: inline;
    padding-bottom: 2px;
    box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;
}
.us-bankmeg .bank-meg ul li .reed p a:hover {
    box-shadow: none;
}

.us-bankmeg .bank-meg ul li .reed span {
    font-size: 1.4rem;
    line-height: 1.4;
    text-indent: -1em;
    padding-left: 1em;
}


/* ------------------------------------
   銀行振込 お申込み内容
--------------------------------------- */
.toroku-info {
}
.toroku-info ul {
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
}
.toroku-info ul li {
    display: -webkit-flex;
    display: flex;
    line-height: 1.3;
    word-break: break-all;
}
.toroku-info ul li:not(:last-child) {
    border-bottom: 1px solid #d8d8d8;
}

.toroku-info ul li .moku {
    flex-shrink: 0;
    width: 190px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    font-feature-settings: "palt";
    padding: 15px 10px;
    padding-left: 20px;
    color: #0b3c69;
    background: #f5f5f5;
    line-height: 1.6;
    font-weight: 500;
}
.toroku-info ul li .reed {
    padding: 15px 10px;
    padding-left: 20px;
    line-height: 1.6;
    flex: 1;
    font-feature-settings: "palt";
}
.toroku-info ul li .reed > ol {
    margin-top: 8px;
}
.toroku-info ul li .reed > ol > li.red {
    font-size: 1.4rem;
}

.toroku-info ul li .reed small {
    font-size: 1.35rem;
}
.toroku-info ul li .reed em {
    font-size: 1.3rem;
    font-weight: normal;
    font-style: normal;
}

.toroku-info li.kaisai {
    padding: 10px;
}

.toroku-info .kaisai-box .txt dl dt {
    width: 180px;
    margin-right: 15px;
}
.toroku-info .kaisai-box .txt dl dd {
    font-size: 1.53rem;
}
.toroku-info .kaisai-box .txt dl dd > p > i {
    font-size: 1.8rem;
}


/* ------------------------------------
   各種資料及びダウンロード
--------------------------------------- */
.explain-info {
}

.explain-info ul {
    padding: 20px 5px 0;
}
.explain-info ul li {
    margin-bottom: 12px;
}
.explain-info ul li:last-of-type {
    margin-bottom: 0;
}
.explain-info ul li .txt-btx {
    font-size: 1.45rem;
    font-weight: 500;
}
.explain-info ul li .txt-btx i {
    font-size: 2.0rem;
    padding-right: 4px;
}
.explain-info ul li .txt-btx span {
    padding-bottom: 2px;
}


/* ------------------------------------
   枠・ご案内
--------------------------------------- */
.kaisetu-are {
    margin: 18px 0 0;
}
.kaisetu-are ul {
    border: 1px solid #d8d8d8;
    padding: 13px 10px 15px;
    border-radius: 4px;
}
.kaisetu-are ul li {
    font-size: 1.43rem;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
}
.kaisetu-are ul li:not(:last-child) {
    margin-bottom: 10px;
}
.kaisetu-are ul li::before {
    content: "●";
    color: #008aca;
    color: #5fa3d5;
    font-size: 1.3rem;
    position: relative;
    margin-right: 2px;
}
.kaisetu-are ul li a {
    margin: 0 4px;
    color: #026baf;
    font-weight: 500;
    font-size: inherit;
    display: inline;
    padding-bottom: 2px;
    box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;
}
.kaisetu-are ul li a:hover {
    /*box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;*/
    box-shadow: none;
}


/* ------------------------------------
   お知らせ
--------------------------------------- */
.news-info {
}
.news-info ul {
}
.news-info ul li {
    display: flex;
    line-height: 1.3;
    padding: 15px 5px;
    gap:20px;
}
.news-info ul li:not(:last-child) {
    background-image: url(../img/line_dot.png);
    background-position: bottom;
    background-repeat: repeat-x;
}
.news-info ul li .day {
    flex-shrink: 0;
    font-size: 1.3rem;
    font-weight: 500;
    color: #717171;
    margin-top: 3px;
}
.news-info ul li .txt {
    flex: 1;
}
.news-info ul li .txt p {
    font-size: 1.43rem;
    line-height: 1.5;
}


/* ------------------------------------
   クレジット
--------------------------------------- */
.userpg .paylist.card:has(input[name="pay_type"]:checked) .area {
    margin-left: 10px;
    margin-right: 10px;
}

.userpg .thak-are .hedare h3 {
    font-size: 2.15rem;
}

.userpg .form-line .toroku-info {
}
.userpg .form-line .toroku-info ul {
    border: 0;
    border-radius: inherit;
    overflow: auto;
}
.userpg .form-line .toroku-info li.kaisai {
    padding: 0;
    padding-bottom: 15px;
}
.userpg .form-line .toroku-info ul li .moku {
    background: none;
}

.userpg .slbody.pgend {
    padding-bottom: 60px;
}


/* ------------------------------------
   参加証
--------------------------------------- */
.us-doc-sanka {
    margin-top: 20px;
    position: relative;
    background-image: url(/asset/img/bg_logo.png);
    background-position: bottom 35px center;
    background-repeat: no-repeat;
    background-size: 500px;
    display: block;
    border: 1px solid #bbb;
    padding: 30px 50px;
}
.us-doc-sanka .comp {
    margin-bottom: 20px;
}
.us-doc-sanka .comp .area {
    display: table;
    margin: 0 auto;
}
.us-doc-sanka .comp-logo {
    display: table-cell;
    width: 65px;
    vertical-align: middle;
}
.us-doc-sanka .comp-logo img {
}
.us-doc-sanka .comp-name {
    display: table-cell;
    vertical-align: middle;
    padding-left: 8px;
}
.us-doc-sanka .comp-name h4 {
    font-size: 3.0rem;
    font-weight: 600;
}
.us-doc-sanka .comp-name h5 {
    font-family: serif;
    font-style: italic;
    font-size: 1.25rem;
    letter-spacing: 0.02em;
}
.us-doc-sanka .comp-name h6 {
    font-family: serif;
    font-size: 1.2rem;
    letter-spacing: 0.26em;
}

.us-doc-sanka .ustitle {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 600;
    margin-bottom: 20px;
}

.us-doc-sanka .usinfo {
    max-width: 560px;
    margin: 0 auto;
    border-top: 1px solid #bbb;
}
.us-doc-sanka .usinfo dl {
    display: table;
    border-bottom: 1px solid #bbb;
    width: 100%;
    padding: 14px 10px;
}
.us-doc-sanka .usinfo dt {
    display: table-cell;
    width: 100px;
    font-weight: 500;
}
.us-doc-sanka .usinfo dd {
    display: table-cell;
    font-size: 1.6rem;
    font-weight: 500;
}

.us-doc-sanka .ustxt {
    text-align: center;
    margin-top: 25px;
}
.us-doc-sanka .ustxt p {
    font-size: 1.5rem;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.us-doc-sanka .ustxt p.day {
    font-size: 1.65rem;
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    margin-top: 6px;
}

.us-doc-sanka .usfot {
    /*margin-top: 20px;*/
    margin-top: 50px;
    text-align: right;
}
.us-doc-sanka .usfot .area {
    display: inline-block;
    text-align: left;
}
.us-doc-sanka .usfot .area p {
}
.us-doc-sanka .usfot .area .name {
    font-size: 2.3rem;
    font-weight: 500;
}
.us-doc-sanka .usfot .area .name span {
    font-size: 1.48rem;
    margin-right: 15px;
    font-weight: normal;
}
.us-doc-sanka .inkan {
    position: absolute;
    bottom: 30px;
    right: 40px;
    width: 90px;
}

.mitxt {
    font-size: 1.35rem;
    line-height: 1.4;
}
.mitxt.txt-rig {
    text-align: right;
}


/* ------------------------------------
   請求書
--------------------------------------- */
.us-doc-invo {
    margin-top: 20px;
    border: 1px solid #bbb;
    font-size: 1.43rem;
}
.us-doc-invo .title {
    font-size: 2.5rem;
    letter-spacing: 0.15em;
    font-weight: 600;
    text-align: center;
    padding: 15px 10px;
    background-color: #e0e8f6;
    background-image: url(/asset/img/climpek.png);
}
.us-doc-invo .woop {
    position: relative;
    padding: 20px 25px 35px;
}

.us-doc-invo .ushed {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}
.us-doc-invo .ushed .lef {
    display: table-cell;
}
.us-doc-invo .ushed .rig {
    display: table-cell;
    text-align: right;
    font-size: 1.35rem;
}
.us-doc-invo .ushed .rig p {
}

.us-doc-invo .usfrom {
    border: 1px solid #ccc;
    margin-bottom: 20px;
}
.us-doc-invo .usfrom .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 4px 15px;
    font-weight: 600;
}
.us-doc-invo .usfrom ul {
    padding: 12px 15px;
}
.us-doc-invo .usfrom ul li {
    display: table;
    width: 100%;
}
.us-doc-invo .usfrom ul li .moku {
    display: table-cell;
    width: 70px;
}
.us-doc-invo .usfrom ul li p {
    display: table-cell;
}

.us-doc-invo .usitem {
    border: 1px solid #ccc;
    margin-bottom: 30px;
}
.us-doc-invo .usitem .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 4px 13px;
    font-weight: 600;
}
.us-doc-invo .usitem ul {
}
.us-doc-invo .usitem ul li {
    padding: 15px 15px;
    font-size: 1.48rem;
}
.us-doc-invo .usitem ul li:not(:last-child) {
    border-bottom: 1px solid #ccc;
}
.us-doc-invo .usitem ul li p {
}
.us-doc-invo .usitem ul li em {
    font-size: 1.3rem;
    font-weight: normal;
    font-style: normal;
}

.us-doc-invo .ustotal {
    display: table;
    width: 100%;
    margin-bottom: 20px;
}

.us-doc-invo .ustotal .lef {
    border: 1px solid #ccc;
    display: table-cell;
    width: 360px;
    vertical-align: top;
}
.us-doc-invo .ustotal .lef .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 4px 13px;
    font-weight: 600;
    text-align: center;
}
.us-doc-invo .ustotal .lef .tai span {
    font-size: 1.3rem;
}

.us-doc-invo .ustotal .lef .txt {
    padding: 15px 10px;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
}

.us-doc-invo .ustotal .rig {
    display: table-cell;
    padding-left: 10px;
    vertical-align: bottom;
}
.us-doc-invo .ustotal .rig table {
    min-height: 55px;
}

.us-doc-invo .usoffer {
    display: table;
    width: 100%;
}

.us-doc-invo .ustrans {
    border: 1px solid #ccc;
    display: table-cell;
    vertical-align: top;
    padding: 10px 15px 10px;
}
.us-doc-invo .ustrans .tai {
    font-feature-settings : "palt";
    font-weight: 600;
    margin-bottom: 5px;
}
.us-doc-invo .ustrans .txt {
    
}
.us-doc-invo .ustrans .txt p {
}
.us-doc-invo .ustrans .txt p small {
    font-size: 1.4rem;
}
.us-doc-invo .ustrans .txt p.min {
    font-size: 1.35rem;
}

.us-doc-invo .usfot {
    position: relative;
    display: table-cell;
    text-align: right;
    padding-top: 10px;
}
.us-doc-invo .usfot .area {
    display: inline-block;
    text-align: left;
}
.us-doc-invo .usfot .tai {
}
.us-doc-invo .usfot .txt {
    font-size: 1.38rem;
}
.us-doc-invo .inkan {
    position: absolute;
    top: 5px;
    right: 0;
    width: 90px;
}

.us-doc-invo table th,
.us-doc-invo table td {
    border: 1px solid #ccc;
}


/* ------------------------------------
   領収書
--------------------------------------- */
.us-doc-receipt {
    background-position: top -100px left -100px;
    background-size: 400px;
    padding: 30px 40px;
    padding-top: 25px;
}

.us-doc-receipt .comp {
    margin-bottom: 5px;
}
.us-doc-receipt .ustitle {
    margin-top: 10px;
    margin-bottom: 20px;
}

.us-doc-receipt .usissu {
    text-align: right;
    font-size: 1.35rem;
    position: absolute;
    top: 110px;
    right: 35px;
}
.us-doc-receipt .usname {
    margin-bottom: 20px;
    max-width: 665px;
}
.us-doc-receipt .usname ul {
    border-bottom: 1px solid #bbb;
    display: inline-block;
    min-width: 260px;
    padding-bottom: 5px;
}
.us-doc-receipt .usname ul li {
    font-size: 2.0rem;
    font-weight: 500;
}
.us-doc-receipt .usname ul li.min {
    font-size: 1.65rem;
    line-height: 1.4;
    margin-bottom: 10px;
}

.us-doc-receipt .uskingaku {
    background-color: #eee;
    padding: 15px 20px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    text-align: center;
}
.us-doc-receipt .uskingaku p {
    font-size: 2.5rem;
}
.us-doc-receipt .uskingaku p strong {
    font-size: 2.8rem;
    font-weight: 600;
}

.us-doc-receipt .ustxt {
    margin-top: 15px;
}
.us-doc-receipt .ustxt p {
    font-size: 1.45rem;
    letter-spacing: 0.05em;
    font-weight: 500;
}

.us-doc-receipt .usfotinfo {
    position: relative;
    display: table;
    width: 100%;
    margin-top: 80px;
}
.us-doc-receipt .usfotinfo .lef {
    display: table-cell;
}
.us-doc-receipt .usfotinfo .lef ul {
}
.us-doc-receipt .usfotinfo .lef ul li {
    padding-top: 10px;
    text-indent: -1em;
    padding-left: 1em;
    font-size: 1.43rem;
    line-height: 1.5;
    font-weight: 500;
}
.us-doc-receipt .usfotinfo .lef ul li:first-of-type {
    padding-top: 0;
}

.us-doc-receipt .usfotinfo .rig {
    display: table-cell;
    text-align: right;
    padding-right: 90px;
    vertical-align: top;
}
.us-doc-receipt .usfotinfo .rig p {
    font-size: 1.5rem;
    font-weight: 500;
}
.us-doc-receipt .usfotinfo .rig .name {
    font-size: 2.3rem;
    font-weight: 600;
}
.us-doc-receipt .usfotinfo .rig .name span {
    font-size: 1.55rem;
    padding-right: 20px;
    font-weight: normal;
}

.us-doc-receipt .usfotinfo .lef .uthiwake {
    display: table;
    width: 100%;
}
.us-doc-receipt .usfotinfo .lef .uthi-lef {
    font-size: 1.35rem;
    line-height: 1;
    font-weight: 500;
    display: table-cell;
    background-color: #e5e5e5;
    border: 1px solid #ccc;
    border-right: 0;
    vertical-align: middle;
    padding: 5px 10px;
    text-align: center;
    width: 60px;
}
.us-doc-receipt .usfotinfo .lef .uthi-rig {
    display: table-cell;
}
.us-doc-receipt .usfotinfo .lef .uthi-rig table {
}
.us-doc-receipt .usfotinfo .lef .uthi-rig table td {
    font-size: 1.35rem;
    padding: 3px 10px;
}
.us-doc-receipt .usfotinfo .lef p {
    font-size: 1.4rem;
    margin-top: 5px;
}

.us-doc-receipt .inkan {
    bottom: auto;
    top: -20px;
    right: 0;
}

.us-doc-receipt table th,
.us-doc-receipt table td {
    border: 1px solid #ccc;
}


/* ------------------------------------
   入場証
--------------------------------------- */
.us-doc-ticket {
    position: relative;
    border: 1px solid #bbb;
    margin-top: 40px;
    padding: 40px;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: #ffffff;
    background-image: url(/asset/img/subtle-dark-vertical.png);
}
.us-doc-ticket .hedinfo {
    max-width: 700px;
    margin: 0 auto;
    border: 2px solid #107dc3;
    line-height: 1.3;
    border-radius: 8px;
    overflow: hidden;
}
.us-doc-ticket .hedinfo .lef {
    display: block;
    color: #fff;
    vertical-align: middle;
    text-align: center;
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    font-weight: 600;
    padding: 15px 10px;
    background-color: #1875b1;
    background-image: url(/asset/img/climpek.png);
}

.us-doc-ticket .hedinfo .rig {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #ffffff;
    text-align: center;
}
.us-doc-ticket .hedinfo .rig .tai {
    display: inline-block;
    padding-bottom: 5px;
    text-align: left;
}
.us-doc-ticket .hedinfo .rig .tai .comp-logo {
    display: table-cell;
    width: 65px;
    vertical-align: middle;
}
.us-doc-ticket .hedinfo .rig .tai .comp-logo img {
}
.us-doc-ticket .hedinfo .rig .tai .comp-name {
    display: table-cell;
    vertical-align: top;
    padding-left: 6px;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h4 {
    font-size: 3.0rem;
    line-height: 1.3;
    font-weight: 600;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h5 {
    font-family: serif;
    font-style: italic;
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.02em;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h6 {
    font-family: serif;
    font-size: 1.1rem;
    line-height: 1;
    letter-spacing: 0.02em;
}

.us-doc-ticket .hedinfo .rig dl {
    display: table;
    margin: 0 auto;
}
.us-doc-ticket .hedinfo .rig dl dt {
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: 500;
    display: table-cell;
}
.us-doc-ticket .hedinfo .rig dl dd {
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: 500;
}
.us-doc-ticket .hedinfo .rig dl.day {
    margin-bottom: 3px;
}
.us-doc-ticket .hedinfo .rig dl.day dd {
    font-size: 1.75rem;
    font-feature-settings : "palt";
}

.us-doc-ticket .usinfo {
    margin: 0 auto;
    margin-top: 20px;
    max-width: 700px;
}
.us-doc-ticket .usinfo dl {
    display: table;
    border-bottom: 1px solid #ccc;
    width: 100%;
    padding: 13px 20px;
}

.us-doc-ticket .usinfo dl dt {
    display: table-cell;
    width: 110px;
    font-weight: 500;
    font-size: 1.48rem;
}
.us-doc-ticket .usinfo dl dd {
    display: table-cell;
    font-size: 1.6rem;
}
.us-doc-ticket .usinfo dl dd.nmb {
    font-size: 1.75rem;
    font-weight: 600;
}
.us-doc-ticket .usinfo dl dd > ol {
}
.us-doc-ticket .usinfo dl dd > ol > li {
    line-height: 1.4;
    padding-bottom: 6px;
}
.us-doc-ticket .usinfo dl dd > ol > li:last-of-type {
    padding-bottom: 0;
}
.us-doc-ticket .usinfo dl dd > ol > li p {
    display: inline;
}
.us-doc-ticket .usinfo dl dd > ol > li b {
    display: inline;
    font-weight: 500;
}

.us-doc-ticket .usinfo dl.mitx dd > ol > li {
}

.us-doc-ticket .usfot {
    margin-top: 55px;
    text-align: right;
}
.us-doc-ticket .usfot .area {
    display: inline-block;
    text-align: left;
}
.us-doc-ticket .usfot .area p {
}
.us-doc-ticket .usfot .area .name {
    font-size: 2.3rem;
    font-weight: 500;
}
.us-doc-ticket .usfot .area .name span {
    font-size: 1.48rem;
    margin-right: 15px;
    font-weight: normal;
}
.us-doc-ticket .inkan {
    position: absolute;
    bottom: 30px;
    right: 40px;
    width: 90px;
}
.us-doc-ticket .qrcd {
    position: absolute;
    bottom: 20px;
    left: 125px;
}
.us-doc-ticket .qrcd svg {
    width: 95px;
    height: 100%;
}


/* ------------------------------------
   ネームカード
--------------------------------------- */
.us-name-card {
    position: relative;
    border: 1px solid #d4d4d4;
    padding: 5px;
    border-radius: 4px;
    margin-top: 50px;
}

.name-card-img {
    position: relative;
}

.name-card-lef {
    position: absolute;
    top: 210px;
    left: 40px;
    z-index: 2;
}
.name-card-nmb {
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: 600;
}
.name-card-shimei {
    font-size: 4.3rem;
    line-height: 1.2;
    font-weight: 700;
    margin-top: 12px;
    margin-left: -4px;
}
.name-card-kana {
    font-size: 1.7rem;
    line-height: 1.2;
    font-weight: 600;
    margin-top: 5px;
}
.name-card-kikan {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 25px;
}
.name-card-kubun {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 25px;
}

.name-card-qrcd {
    position: absolute;
    top: 320px;
    left: 0;
}
.name-card-qrcd svg {
    width: 95px;
    height: 100%;
}
.name-card-inkan {
    position: absolute;
    top: 320px;
    right: -165px;
    width: 90px;
}


.name-card-rig {
    position: absolute;
    top: 250px;
    left: 505px;
    z-index: 2;
}
.name-card-rig > ol {
}
.name-card-rig > ol > li {
    font-size: 1.8rem;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 10px;
}
.name-card-rig .name-card-qrcd {
    top: 275px;
    left: -5px;
}
.name-card-rig .name-card-inkan {
    top: 280px;
    right: -265px;
}



















/* ------------------------------------
   入場証（スマホ）
--------------------------------------- */
.modal.ticket {
    padding: 0;
}
.modal .us-doc-ticket {
    padding: 30px;
    margin: 0;
    border: 0;
}
.modal .us-doc-ticket .hedinfo {
    display: block;
    border-radius: 4px;
}
.modal .us-doc-ticket .hedinfo-title {
    text-align: center;
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 8px;
    margin-top: 10px;
}
.modal .us-doc-ticket .hedinfo-qrcd {
    display: block;
    text-align: center;
}
.modal .us-doc-ticket .hedinfo-qrcd svg {
    width: 115px;
    height: 100%;
}
.modal .us-doc-ticket .usinfo {
    border-top: 1px solid #ccc;
}
.modal .us-doc-ticket .usfot {
    margin-top: 35px;
}
.modal .us-doc-ticket .usfot .area {
    text-align: right;
    padding-right: 10px;
}


.popu-box .blk-hed h2.title-qr {
    border: 0;
    text-align: center;
    display: block;
    font-size: 2.8rem;
    line-height: 1.2;
    padding-bottom: 15px;
}
.popu-box .blk-hed h3.title-qr-tai {
    background-color: #107dc3;
    text-align: center;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
    padding: 10px 5px;
}

.popu-box .qrcheck {
}
.popu-box .qrcheck .code {
    width: 110px;
    margin: 0 auto;
}
.popu-box .qrcheck .code svg {
    width: 110px;
}
.popu-box .qrcheck .info {
    background-color: #fbf6e1;
    padding: 5px 15px;
    border-radius: 10px;
    margin-top: 10px;
    border: 1px solid #e1ded2;
}
.popu-box .qrcheck .info li {
    display: flex;
    place-items: center;
    flex-wrap: wrap;
    padding-top: 10px;
    padding-bottom: 10px;
    border-top: 1px solid #c7c7c7;
}
.popu-box .qrcheck .info li:first-of-type {
    border-top: 0;
}
.popu-box .qrcheck .info li .moku {
    color: #0c649e;
    width: 110px;
    text-align: left;
    flex-shrink: 0;
    font-weight: 500;
}
.popu-box .qrcheck .info li .reed {
    text-align: left;
    font-weight: 500;
}
.popu-box .qrcheck .info li .reed p {
}


.qrcode .blk-hed {
    margin-bottom: 10px;
}

input[disabled]+label {
    color: #aaaaaa;
    pointer-events: none;
}


/* ------------------------------------
   マイページ hed
--------------------------------------- */
article.user .sidebg {
    min-height: calc(100vh - 400px);
}
.userpg .mypg-hed .home a {
    font-size: 1.2rem;
    padding: 6px 7px 6px 25px;
}

.mypg-hed {
    position: relative;
    display: flex;
    min-height: 90px;
    border-bottom: 2px solid #0080bb;
}
.mypg-hed .title {
    font-size: 2.2rem;
    line-height: 1;
    font-weight: 600;
    align-self: flex-end;
    padding-bottom: 12px;
    display: flex;
}
.mypg-hed .title i {
    font-size: 3.0rem;
    position: relative;
    top: -4px;
    margin-right: 3px;
    color: #0080bb;
}

.mypg-hed .prof {
    display: flex;
    gap: 20px;
    align-self: flex-end;
    margin-left: auto;
    padding-bottom: 12px;
}
.mypg-hed .prof .txt {
    display: flex;
    gap: 20px;
    align-self: flex-end;
}
.mypg-hed .prof .toroku {
}
.mypg-hed .prof .name {
}
.mypg-hed .prof .logout-btn {
}

.mypg-hed .home {
    position: absolute;
    top: 0;
    left: 0;
}
.mypg-hed .home a {
    position: relative;
    background: #8b3622;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    border-top: 0;
    font-weight: normal;
    border-radius: 0 0 3px 3px;
    padding: 6px 12px 6px 30px;
}
.mypg-hed .home a:hover {
    background: #c35b43;
}
.mypg-hed .home a:hover .arrow-re {
    transform: translateX(-6px)
}

.user-info.form-line {
    border: 1px solid #d0d0d0;
    border-radius: 6px;
    padding: 10px;
}


/* ------------------------------------
   オンデマンド
--------------------------------------- */
.us-timetable {
    background: #4e4e4e;
    padding: 25px 25px 30px;
    border-radius: 4px;
}

.sess-card {
    border: 1px solid #e3e6ea;
    border-radius: 5px;
    background: #fff;
    margin-bottom: 17px;
    padding-bottom: 10px;
    overflow: hidden;
}
.sess-card .sess-head {
    display: flex;
    align-items: flex-start;
    /*justify-content: space-between;*/
    gap: 10px;
    background: #e4ebf9;
    padding: 7px 13px;
    border-bottom: 1px solid #e1e5ea;
}
.sess-card .sess-title {
    /*flex: 1 1 auto;*/
    min-width: 0;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.sess-card .sess-body {
    padding: 10px 13px 12px;
}
.sess-card .sess-theme {
    padding: 5px 8px;
    font-weight: 600;
    color: #343a40;
    line-height: 1.5;
    font-size: 1.55rem;
    border-left: 5px solid #d0d8ee;
}
.sess-card .role-row {
    display: flex;
    gap: 10px;
    margin: 10px 0;
    align-items: flex-start;
}
.sess-card .role-row:last-child {
    margin-bottom: 0;
}
.sess-card .role-pill {
    flex-shrink: 0;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 2px 0;
    width: 38px;
    text-align: center;
    border-radius: 4px;
    letter-spacing: 0.08em;
}
.sess-card .role-pill--speaker {
    background: #e4ebf9;
    color: #1c6a91;
}
.sess-card .role-pill--cohost {
    background-color: #e2efdf;
    color: #428c30;
}
.sess-card .role-pill--chair {
    background-color: #f4e6dd;
    color: #a76027;
}

.sess-card .people {
    flex: 1 1 auto;
    min-width: 0;
}
.sess-card .person {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    padding: 2px 0;
    line-height: 1.5;
}
.sess-card .person .p-name {
    font-size: 1.45rem;
    font-weight: 500;
    color: #212529;
}
.sess-card .person .p-affil {
    font-size: 1.25rem;
    color: #2d5d8c;
    margin-left: 6px;
}
.sess-card .talk {
    flex: 0 0 100%;
    font-size: 1.53rem;
    font-weight: 500;
    padding: 4px 0 4px 10px;
    border-left: 4px solid #d5dbe6;
    margin: 4px 0 4px;
    line-height: 1.4;
}
.sess-card .topic-chip {
    display: inline-block;
    font-size: 1.25rem;
    background: #ffffff;
    color: #333;
    padding: 2px 7px;
    border-radius: 4px;
    margin-left: 5px;
    font-weight: 500;
}
.sess-card .sess-number {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
    background: #0080bb;
    color: #ffffff;
    padding: 5px 5px;
    border-radius: 4px;
    font-weight: 600;
}

.timetable-list {
}
.timetable-list .btn_are {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0 25px;
    gap: 10px;
    margin-bottom: 5px;
}
.timetable-list .btn_are .time_are {
}
.timetable-list .btn_are .time_are p {
    background: #e4eaf9;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 1.25rem;
    font-weight: 500;
}
.timetable-list .btn_are .time_are p.out {
    background: #f6eac0;
}

.timetable-list .btn_are .acce-btn {
    padding: 0 18px 0 15px;
    font-size: 1.3rem;
    cursor: pointer;
    transition: all 0.2s ease;
}
.timetable-list .btn_are .acce-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 3px 4px rgb(0 0 0 / 20%);
}

.timetable-list .btn_are .notyet {
    display: flex;
    place-items: center;
    justify-content: center;
    background-color: #b3b3b3;
    color: #fff;
    height: 32px;
    border-radius: 6px;
    width: auto;
    padding: 0 10px;
    font-size: 1.3rem;
}

.timetable-title {
    display: flex;
    color: #fff;
    border-left: 7px solid #bad4ec;
    margin-bottom: 15px;
    padding: 6px 12px;
    font-size: 1.9rem;
    font-weight: 500;
}
.timetable-title .min {
    font-size: 1.6rem;
    align-self: center;
}

.timetable-list.course .sess-card .sess-head {
    background: #f8f4d9;
}
.timetable-list.course .timetable-title {
    border-left: 7px solid #faf3c3;
}


/* ------------------------------------
   単位講習配信
--------------------------------------- */
.cou-section {
    display: flex;
    justify-content: end;
    gap: 10px;
    padding: 0 15px 5px;
}

/* 受講開始ボタン */
.open-btn {
    padding: 12px 18px;
    font-size: 1.4rem;
    color: #fff;
    background: #e9841b;
    background: #007bc4;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: all 0.2s ease;
    width: auto;
}

.open-btn:hover {
    transform: translateY(-2px);
    background: #f49129;
    background: #0057b5;
    box-shadow: 0 3px 4px rgb(0 0 0 / 20%);
}

.open-btn.two {
    background: #249411;
}
.open-btn.two:hover {
    background: #167a05;
}


/* ★ 登録済みステータステキストのスタイル */
.completion-status {
    font-size: 1.35rem;
    font-weight: 600;
    color: #026baf;
    display: none; /* 初期状態は非表示 */
    align-items: center;
    gap: 1px;
}
.completion-status i {
    position: relative;
    font-size: 1.8rem;
    top: -1px;
}

.completion-status.is-visible {
  display: flex;
}

.completion-status-ok {
    font-size: 1.35rem;
    font-weight: 500;
    color: #026baf;
    display: flex;
    align-items: center;
    gap: 1px;
}
.completion-status-ok i {
    position: relative;
    font-size: 1.6rem;
    top: -1px;
}


/* ==========================================
   2. ポップアップ（旧モーダル）・オーバーレイ
   ========================================== */
.popup-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.popup-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.popup-container {
    background: #fff;
    width: 90%;
    max-width: 1100px;
    border-radius: 12px;
    padding: 20px 25px 30px;
    position: relative;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
    max-height: 90vh;
    overflow-y: auto;
    transition: transform 0.4s ease;
}

.popup-overlay.is-open .popup-container {
    transform: translateY(0);
}
.popup-close {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 38px;
    height: 38px;
    cursor: pointer;
    display: flex;
    place-items: center;
    justify-content: center;
    background-color: #b4b4b4;
    border-radius: 50%;
}
.popup-close:before {
    content: "\e902";
    font-family: 'icomoon';
    font-size: 2.0rem;
    color: #fff;
}
.popup-close:hover {
    background-color: #0080bb;
    background-color: #333;
}

/* ==========================================
   3. コンテンツ切り替え（動画 ⇔ テスト）
   ========================================== */
.popup-title {
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid #dde0e3;
}
.sess-card .popup-title .sess-number {
    font-size: 1.15rem;
}
.sess-card .popup-title .sess-title {
    font-weight: 500;
    color: #343a40;
    padding-left: 5px;
}
.sess-card .popup-title .sess-theme {
    border: 0;
    padding: 10px 5px 0;
    font-size: 1.65rem;
    color: inherit;
}

/* 動画表示領域 */
.video-view-area {
    display: block;
}

.video-wrapper {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 アスペクト比比率 */
    background-color: #000;
    border-radius: 8px;
    overflow: hidden;
}

.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.video-notice {
    font-size: 1.4rem;
    margin-top: 15px;
    background-color: #e3f2fc;
    border-left: 4px solid #5fa3d5;
    padding: 12px 15px 12px 10px;
    border-radius: 0 4px 4px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.video-notice span {
    display: flex;
    align-items: center;
    gap: 3px;
}
.video-notice span i {
    font-size: 2.0rem;
    color: #077bc6;
}

/* スキップボタン：デフォルト非表示 */
.skip-btn {
    font-size: 1.3rem;
    color: #007bff;
    background: none;
    border: 1px solid #007bff;
    background-color: #fff;
    padding: 8px 5px 8px 10px;
    border-radius: 4px;
    cursor: pointer;
    width: auto;
    /*display: none; /* 動画視聴前は非表示 */
}
.skip-btn:hover {
    color: #fff;
    background-color:  #007bff;
}


.skip-btn.is-visible {
    display: inline-block; /* 一度最後まで再生したら表示 */
}

/* テストフォーム表示領域 */
.test-form-area {
    display: none;
    animation: fadeIn 0.5s ease;
    padding: 0 20px;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.test-intro {
    margin-bottom: 20px;
}
.test-intro span {
    font-size: 1.5rem;
    font-weight: 500;
    color: #13628e;
    padding-bottom: 5px;
}
.test-intro ol {
}
.test-intro ol li {
    display: flex;
    align-items: center;
    gap: 2px;
    font-size: 1.4rem;
    margin-top: 6px;
}
.test-intro ol li i {
    font-size: 2.0rem;
    color: #ef3c1b;
}

/* テスト問題スタイル */
.question-block {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.question-title {
    font-size: 15px;
    font-weight: bold;
    margin: 0 0 15px 0;
    color: #2c3e50;
}

.option-list {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.option-label {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 14px;
    /*background: #fff;*/
    border: 1px solid rgba(255,255,255,0.00);
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s ease;
}

/* ★ 2) オンマウス時およびチェック時のスタイル定義 */
.option-label:hover {
    /*background-color: #eef6ff;*/
}

.option-label:has(input[type="radio"]:checked) {
    background-color: #eef6ff;
    border-color: #81abd9;
    /*border: 1px solid #81abd9;*/
}

.option-label input[type="radio"] {
    margin: 0;
    padding: 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
    display: block;
}

/* 終了ボタンエリア */
.submit-btn-wrapper {
    text-align: center;
    margin-top: 30px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-items: center;
}

/* ★ 3) 初期表示用テキスト（ボタンの上に配置） */
.error-msg {
    color: #dc3545;
    font-size: 1.35rem;
    margin-bottom: 10px;
    display: block;
}

/* ★ 3) 終了ボタン（デフォルトはグレー・非活性） */
.submit-btn {
    padding: 16px 30px;
    font-weight: 500;
    color: #fff;
    background-color: #adadad; /* 初期状態: グレー */
    border: none;
    border-radius: 30px;
    cursor: not-allowed;
    box-shadow: none;
    transition: all 0.3s ease;
    width: auto;
}

/* ★ 3) 全問回答時の活性化スタイル（青色） */
.submit-btn.is-active-btn {
    background-color: #007bc4; /* 条件達成時: 青色 */
    cursor: pointer;
}

.submit-btn.is-active-btn:hover {
    background-color: #0057b5;
    box-shadow: 0 4px 6px rgb(0 0 0 / 30%);
    transform: translateY(-1px);
}


/* ------------------------------------
   単位証明書
--------------------------------------- */
.us-rireki-title {
    text-align: center;
    color: #fff;
    font-size: 1.7rem;
    letter-spacing: 0.1em;
    font-weight: 500;
    padding: 10px;
    background-color: #0080bb;
    border-radius: 6px 6px 0 0;
}

.us-rireki-list {
    padding: 25px 25px 30px;
    border-radius: 0 0 6px 6px;
    background-color: #edf2f7;
    border: 1px solid #dbe5ed;
}

.us-rireki-list .sess-card .sess-head {
    background: #f8f4d9;
}

.us-rireki-list .popup-container {
    max-width: 1000px;
    padding: 30px 25px;
}
.us-rireki-list .cou-section {
}

.are-passed {
    display: flex;
    align-items: center;
    gap: 15px;
}
.are-passed p {
    font-size: 1.35rem;
    font-weight: 500;
}
.are-passed p.ok-txt {
    color: #ea6402;
}
.are-passed p.ok-txt i {
    font-size: 1.5rem;
    margin-right: 2px;
}
.are-passed p.not-txt {
    color: #13628e;
}
.are-passed p.not-txt i {
    font-size: 1.6rem;
    margin-right: 2px;
    position: relative;
    top: 1px;
}
.are-passed p.down-txt {
    color: #13628e;
}
.are-passed p.down-txt i {
    font-size: 1.6rem;
    margin-right: 1px;
    position: relative;
    top: 1px;
}

.unit-btn {
    background: #9833b4;
    background: #e77c00;
    height: 40px;
    border-radius: 6px;
    font-size: 1.3rem;
    padding: 0 10px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    width: auto;
}
.unit-btn i {
    position: relative;
    font-size: 1.9rem;
    margin-right: 5px;
    top: -2px;
}
.unit-btn:hover {
    transform: translateY(-2px);
    background: #780d95;
    background: #c05c00;
    box-shadow: 0 3px 4px rgb(0 0 0 / 20%);
}

.us-rireki-list .us-doc-sanka {
    background-position: top 10px center;
    padding: 30px 70px;
}
.us-rireki-list .us-doc-sanka .comp {
}
.us-rireki-list .us-doc-sanka .ustxt p {
    font-size: 1.48rem;
    letter-spacing: 0.03em;
    font-weight: 500;
}

.unit-ustitle {
    text-align: center;
    margin-bottom: 20px;
}
.unit-ustitle .tai {
    font-size: 3.0rem;
    font-weight: 600;
}
.unit-ustitle .txt {
    font-size: 2.1rem;
    font-weight: 600;
    padding-top: 10px;
}

.unit-ustxt {
    font-size: 1.5rem;
    letter-spacing: 0.03em;
    font-weight: 600;
    text-align: center;
    padding: 15px;
}

.unit-usinfo {
}
.unit-usinfo table th,
.unit-usinfo table td {
    padding: 10px 15px;
}
.unit-usinfo table th {
    font-size: 1.4rem;
    background-color: #f2f2f2;
    width: 180px;
    font-weight: 600;
}
.unit-usinfo table td {
    font-size: 1.45rem;
    font-weight: 500;
}


/* ------------------------------------
   セミナー事前予約
--------------------------------------- */
.form-container {
    padding: 0 10px;
}

/* 事前予約（選択結果）表示エリア */
.reservation-summary {
    display: none; /* 初期状態は非表示 */
    background-color: #eefef2;
    border: 1px solid #3ba76d;
    border-radius: 6px;
    padding: 13px 18px 15px;
    margin-bottom: 30px;
}
.reservation-summary h5 {
  font-size: 1.6rem;
    font-weight: 600;
    color: #1b8252;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.reservation-summary ul {
  list-style-type: none;
  padding-left: 0;
  font-weight: bold;
  color: #2d3748;
}
.reservation-summary li {
    display: flex;
    align-items: center;
    font-weight: 500;
    margin-bottom: 6px;
}
.reservation-summary li:last-child {
  margin-bottom: 0;
}
.reservation-summary li i {
    margin-right: 4px;
    color: #38a169;
    font-size: 1.9rem;
}

/* 日程セクション & 枠結合構造 */
.date-section {
  margin-bottom: 30px;
}
.seminar-group {
  border: 1px solid #cbd5e0;
  border-radius: 6px;
  overflow: hidden;
  background-color: #fff;
}
.date-heading {
    font-size: 1.65rem;
    font-weight: 600;
    background-color: #0080bb;
    background-color: #18a2c9;
    color: #fff;
    padding: 12px 20px;
    margin: 0;
    /*border-bottom: 1px solid #d4dce5;*/
}

/* セミナー行 */
.seminar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid #e2e8f0;
    border-bottom: 1px solid #d4dce5;
  transition: background-color 0.2s;
}
.seminar-row:last-child {
  border-bottom: none;
}
.seminar-row:hover {
  /*background-color: #f7fafc;*/
}

/* セミナー詳細エリア（左側） */
.seminar-details {
  flex: 1;
  padding-right: 20px;
}
.seminar-title {
  font-size: 1.6rem;
    font-weight: 700;
    color: #2c5282;
    color: #1e569d;
    margin-bottom: 15px;
    border-left: 4px solid #2b6cb0;
    padding-left: 7px;
}

.seminar-details .sess-card {
    border: 0;
    border-radius: inherit;
    background: none;
    margin: 0;
    padding: 0;
    overflow: inherit;
}
.seminar-details .sess-card .sess-body {
    padding: 0;
}

/* ラジオボタン選択エリア（右側） */
.seminar-action {
  flex-shrink: 0;
}
.radio-label {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    background-color: #f0f4f8;
    border: 1px solid #cbd5e0;
    padding: 10px 15px;
    border-radius: 6px;
    font-weight: 600;
    color: #2d3748;
    user-select: none;
    transition: all 0.2s;
}
.radio-label:hover {
  border-color: #18a2c9;
  background-color: #e5f7f8;
}
.radio-label input[type="radio"] {
    margin: 0;
    padding: 0;
    width: 18px;
    height: 18px;
    accent-color: #299c96;
    cursor: pointer;
    display: block;
}

/* JavaScript制御用（選択状態） */
.seminar-row.selected {
    background-color: #f1f6f9;
    background-color: #f3fbfb;
}
.seminar-row.selected .radio-label {
  border-color: #18a2c9;
  background-color: #18a2c9;
  color: #fff;
}

/* レスポンシブ対応 */
@media (max-width: 640px) {
  .form-container {
    padding: 20px 12px;
  }
  .seminar-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
  .seminar-details {
    padding-right: 0;
  }
  .seminar-action {
    width: 100%;
  }
  .radio-label {
    width: 100%;
    justify-content: center;
  }
}


/* ------------------------------------
   WEB展示
--------------------------------------- */
.display-section {
    display: flex;
    justify-content: flex-end;
    padding: 0 20px 5px;
}
.modal-header {
}

/* ==========================================
   2. モーダル・オーバーレイ
   ========================================== */
.dis-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.dis-modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
}

.dis-modal-container {
  background: #fff;
  width: 90%;
  max-width: 1100px;
  border-radius: 12px;
  padding: 30px;
  position: relative;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.5);
  max-height: 90vh;
  overflow-y: auto;

  transform: translateY(20px);
  transition: transform 0.4s ease;
}

.dis-modal-overlay.is-active .dis-modal-container {
  transform: translateY(0);
}

/* ==========================================
   3. ポップアップ内部レイアウト
   ========================================== */
.company-link {
    color: #0066cc;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.65rem;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.modal-body {
  display: flex;
  gap: 25px;
  margin-top: 10px;
}

.main-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.media-viewer {
  width: 100%;
  aspect-ratio: 16 / 9;
  background-color: #000;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.media-viewer video,
.media-viewer iframe {
  width: 100%;
  height: 100%;
  border: none;
  object-fit: contain;
}

.media-viewer img.zoomable {
  width: 100%;
  height: 100%;
  object-fit: contain;
  cursor: zoom-in;
  transition: transform 0.3s ease;
}

.media-viewer img.zoomable:hover {
  transform: scale(1.02);
}

.content-description {
  margin-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
  background-color: #eee7f4;
  padding: 15px;
  border-radius: 6px;
}

.sidebar {
  width: 220px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  flex-shrink: 0;
  background-color: #fff;
}

.sidebar-title {
  padding: 15px;
  font-size: 14px;
  font-weight: bold;
  color: #555;
  border-bottom: 1px solid #e0e0e0;
  background-color: #fafafa;
  border-radius: 8px 8px 0 0;
}

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

.list-item {
  padding: 10px 15px;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  transition: background-color 0.2s;
}

.list-item:last-child {
  /*border-bottom: none;*/
}

.list-item:hover {
  background-color: #f5f5f6;
}

.list-item.active {
  background-color: #eee7f4;
    border-left: 4px solid #ae66d3;
  padding-left: 11px;
}

.item-text h4 {
  margin: 0 0 4px 0;
  font-size: 14px;
  color: #333;
}

.item-text p {
  margin: 0;
  font-size: 12px;
  color: #777;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}

/* ==========================================
   4. 画像拡大用ライトボックス
   ========================================== */
.lightbox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
  cursor: zoom-out;

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.lightbox-overlay.is-active {
  opacity: 1;
  visibility: visible;
}

.lightbox-image {
  max-width: 1100px;
  max-height: 95%;
  object-fit: contain;
  box-shadow: 0 0 30px rgba(0,0,0,0.5);
  transform: scale(0.9);
  transition: transform 0.3s ease, opacity 0.2s ease;
  display: block;
}

.lightbox-image[src=""],
.lightbox-image:not([src]) {
  opacity: 0;
  visibility: hidden;
}

.lightbox-overlay.is-active .lightbox-image {
  transform: scale(1);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 25px;
  background: none;
  border: none;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  opacity: 0.7;
    width: auto;
}

.lightbox-close:hover {
  opacity: 1;
}

.tenji .sess-card .sess-head {
    background-color: #ece4f2;
    border-color: #e1e5ea;
}
.tenji .sess-card .sess-theme {
    border-color: #e2cef0;
}
.tenji .sess-card .role-pill--speaker {
    background-color: #e9e9e9;
    color: inherit;
}

.tenji .acce-btn {
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: #853d92;
}
.tenji .acce-btn:hover {
    background-color: #b048c3;
    transform: translateY(-2px);
    box-shadow: 0 3px 4px rgb(0 0 0 / 20%);
}


@media (max-width: 768px) {
  .modal-body {
    flex-direction: column;
  }
  .sidebar {
    width: 100%;
  }
}






/*  現在、非表示
-----------------------------------*/
.sp-pdf .regt-btn {
    width: 170px;
    min-width: 170px;
}
.sp-pdf .ban {
    cursor: not-allowed;
}
.sp-pdf .regt-btn {
    background: #b3b3b3;
    pointer-events: none;
}

.click-are ul li.ban {
    cursor: not-allowed;
}
.click-are ul li a.not {
    background: #b3b3b3;
    color: #fff;
    pointer-events: none;
    border: 0;
}

.title-nav ul li a.not {
    border: 0;
    color: #a3a3a3;
    pointer-events: none;
    font-weight: 300;
}




















