@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 {
}
.userpg .kaisai-box .txt dl:first-child dd {
    font-weight: 500;
    font-size: 1.53rem;
}
.userpg .kaisai-box .txt dl dd > p > i {
    font-size: 1.8rem;
}


/* ------------------------------------
   共通
--------------------------------------- */
/*//////// タイトル ////////*/
.page-title {
    font-size: 2.1rem;
    font-weight: 600;
    padding: 10px 0 10px 12px;
    border-left: 7px solid #0080bb;
    line-height: 1.2;
    margin-bottom: 20px;
}
.page-title.mb15 {
    margin-bottom: 12px;
}
.page-title.mb25 {
    margin-bottom: 25px;
}

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

.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.45rem;
    padding-left: 1em;
    text-indent: -1em;
}
.uspg-sstxt ul li:not(:last-child) {
    margin-bottom: 10px;
}

.uspg-info-box {
    background-color: #eef3f8;
    border: 1px solid #dce6ed;
    border-radius: 6px;
    padding: 16px;
    margin-bottom: 12px;
}
.uspg-info-box .info-period {
    font-size: 1.5rem;
    text-indent: -1.5em;
    padding-left: 1.5em;
    font-weight: 600;
    color: #0d3b66;
    margin-bottom: 13px;
}
.uspg-info-box .info-period:last-of-type {
    margin-bottom: 10px;
}

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

/* セミナー参加方法リスト（リンクリスト） */
.method-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    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.45rem;
    font-weight: 600;
    padding: 8px 24px;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.25s ease;
}

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


/*//////// リスト ////////*/
.uspg-txtlist {
}
.uspg-txtlist ul {
}
.uspg-txtlist ul li {
    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;
}
.uspg-txtlist ul li a:hover {
    box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;
}

.uspg-txtlist ul li a.line {
    margin: 0 3px;
    box-shadow: 0 0px 0 transparent inset, 0px -1px 0px #4e9cf1 inset;
}
.uspg-txtlist ul li a.line:hover {
    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: #eef3f8;
    border: 1px solid #dce6ed;
    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;
}

/*//////// 枠テキスト（セミナー） ////////*/
.uspg-semtxt {
    background-color: #f1fbf3;
    border: 1px solid #c6e1d2;
    border-radius: 4px;
    padding: 15px 15px 15px;
}
.uspg-semtxt .tai {
    font-size: 1.5rem;
    font-weight: 600;
    color: #1b8252;
    display: flex;
    align-items: center;
    gap: 5px;
}
.uspg-semtxt .tai i {
    font-size: 2.1rem;
    color: #38a169;
}
.uspg-semtxt dl {
    display: flex;
    gap: 15px;
    padding: 10px 10px 10px 25px;
    border-bottom: 1px solid #d1dfd7;
}
.uspg-semtxt dl:last-of-type {
    border-bottom: 0;
    padding-bottom: 0;
}
.uspg-semtxt dl dt {
    font-weight: 500;
}
.uspg-semtxt dl dd {
}
.uspg-semtxt dl dd p {
    display: flex;
    align-items: center;
    gap: 2px;
    font-weight: 500;
}
.uspg-semtxt dl dd p i {
    font-size: 1.6rem;
    color: #38a169;
}


/* ------------------------------------
   銀行振込
--------------------------------------- */
.us-bankmeg {
}
.us-bankmeg .waku-meg {
    border: 2px solid #e55454;
    background-color: #fffee8;
    padding: 8px 15px 13px;
}
.us-bankmeg .waku-meg p {
    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.45rem;
    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.48rem;*/
}
.toroku-info .kaisai-box .txt dl dd > p > i {
    /*font-size: 1.8rem;*/
}


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

.explain-info ul {
    padding: 20px 0 0;
}
.explain-info ul li {
    display: flex;
    margin-bottom: 12px;
}
.explain-info ul li:last-of-type {
    margin-bottom: 0;
}
.explain-info ul li .txt-btx {
    font-size: 1.48rem;
    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;
}

.explain-info ul li .txt-btx.not {
    pointer-events: none; 
    color: #969696;
    font-weight: normal;
}
.explain-info ul li .txt-btx.not i {
    color: #a7a7a7;
}
.explain-info ul li p {
    font-size: 1.35rem;
}



/* ------------------------------------
   枠・ご案内
--------------------------------------- */
.kaisetu-are {
    margin: 18px 0 0;
}
.kaisetu-are ul {
    border: 1px solid #d8d8d8;
    padding: 13px 10px 15px;
    border-radius: 4px;
}
.kaisetu-are ul li {
    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 3px;
    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 {
    min-height: 150px;
}
.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 {
    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.0rem;
}

.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;
}

.userpg .form-line .top-line {
    border-top: 1px solid #d8d8d8;
}


/* ------------------------------------
   参加証
--------------------------------------- */
.us-doc-sanka {
    margin: 0 25px;
    margin-top: 15px;
    position: relative;
    background-image: url(/asset/img/bg_logo.png);
    background-position: top 25px center;
    background-repeat: no-repeat;
    background-size: 500px;
    display: block;
    border: 1px solid #bbb;
    padding: 30px 50px;
}
.us-doc-sanka.mt45 {
    margin-top: 45px;
}

.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: 68px;
    vertical-align: middle;
}
.us-doc-sanka .comp-logo img {
}
.us-doc-sanka .comp-name {
    display: table-cell;
    vertical-align: top;
    padding-left: 6px;
}
.us-doc-sanka .comp-name h4 {
    font-size: 2.75rem;
    font-weight: 600;
}
.us-doc-sanka .comp-name h5 {
    font-family: serif;
    font-style: italic;
    font-size: 1.15rem;
    letter-spacing: 0.02em;
}
.us-doc-sanka .comp-name h6 {
    font-family: serif;
    font-size: 1.0rem;
    letter-spacing: 0.02em;
}

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

.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.5rem;
    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.0rem;
    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.3rem;
    line-height: 1.4;
}
.mitxt.txt-rig {
    text-align: right;
}
.mitxt.txt-ctr {
    text-align: center;
}

/*//////// 画面用 wind ////////*/
.wind .us-doc-sanka {
    margin-top: 15px;
    position: relative;
    background-image: url(/asset/img/bg_logo.png);
    background-position: top 2.65cqw center; /* 35px / 960px */
    background-repeat: no-repeat;
    background-size: 52.08cqw; /* 500px / 960px */
    display: block;
    border: 1px solid #bbb;
    padding: 3.13cqw 5.21cqw; /* 30px 50px / 960px */
}
.wind .us-doc-sanka.mt45 {
    margin-top: 4.69cqw; /* 45px / 960px */
}

.wind .us-doc-sanka .comp {
    margin-bottom: 2.08cqw; /* 20px / 960px */
}
.wind .us-doc-sanka .comp .area {
    display: table;
    margin: 0 auto;
}
.wind .us-doc-sanka .comp-logo {
    display: table-cell;
    width: 7.33cqw; /* 75px / 960px */
    vertical-align: middle;
}
.wind .us-doc-sanka .comp-logo img {
}
.wind .us-doc-sanka .comp-name {
    display: table-cell;
    vertical-align: top;
    padding-left: 0.63cqw; /* 6px / 960px */
}
.wind .us-doc-sanka .comp-name h4 {
    font-size: 2.97cqw; /* 30px / 960px */
    font-weight: 600;
}
.wind .us-doc-sanka .comp-name h5 {
    font-family: serif;
    font-style: italic;
    font-size: 1.24cqw; /* 12.5px / 960px */
    letter-spacing: 0.02em;
}
.wind .us-doc-sanka .comp-name h6 {
    font-family: serif;
    font-size: 1.08cqw; /* 11px / 960px */
    letter-spacing: 0.02em;
}

.wind .us-doc-sanka .ustitle {
    text-align: center;
    font-size: 3.03cqw; /* 28px / 960px */
    font-weight: 600;
    margin-bottom: 3.65cqw; /* 35px / 960px */
}

.wind .us-doc-sanka .usinfo {
    max-width: 58.33cqw; /* 560px / 960px */
    margin: 0 auto;
    border-top: 1px solid #bbb;
}
.wind .us-doc-sanka .usinfo dl {
    display: table;
    border-bottom: 1px solid #bbb;
    width: 100%;
    padding: 1.46cqw 1.04cqw; /* 14px 10px / 960px */
}
.wind .us-doc-sanka .usinfo dt {
    display: table-cell;
    width: 10.83cqw; /* 100px / 960px */
    font-weight: 500;
    font-size: 1.54cqw;
}
.wind .us-doc-sanka .usinfo dd {
    display: table-cell;
    font-size: 1.62cqw; /* 16px / 960px */
    font-weight: 500;
}

.wind .us-doc-sanka .ustxt {
    text-align: center;
    margin-top: 2.6cqw; /* 25px / 960px */
}
.wind .us-doc-sanka .ustxt p {
    font-size: 1.62cqw; /* 15px / 960px */
    letter-spacing: 0.05em;
    font-weight: 500;
}
.wind .us-doc-sanka .ustxt p.day {
    font-size: 1.72cqw; /* 16.5px / 960px */
    font-feature-settings: "palt";
    letter-spacing: 0.08em;
    margin-top: 0.63cqw; /* 6px / 960px */
}

.wind .us-doc-sanka .usfot {
    margin-top: 5.21cqw; /* 50px / 960px */
    text-align: right;
}
.wind .us-doc-sanka .usfot .area {
    display: inline-block;
    text-align: left;
    font-size: 1.54cqw;
}
.wind .us-doc-sanka .usfot .area p {
}
.wind .us-doc-sanka .usfot .area .name {
    font-size: 2.17cqw; /* 20px / 960px */
    font-weight: 500;
}
.wind .us-doc-sanka .usfot .area .name span {
    font-size: 1.54cqw; /* 14.8px / 960px */
    margin-right: 1.56cqw; /* 15px / 960px */
    font-weight: normal;
}
.wind .us-doc-sanka .inkan {
    position: absolute;
    bottom: 3.13cqw; /* 30px / 960px */
    right: 4.17cqw;  /* 40px / 960px */
    width: 9.72cqw;  /* 90px / 960px */
}


/* ------------------------------------
   請求書
--------------------------------------- */
.us-doc-invo {
    margin: 0 25px;
    margin-top: 15px;
    border: 1px solid #bbb;
}
.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;
    padding-left: 20px;
}
.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;
}

/*//////// 画面用 wind ////////*/
.wind .us-doc-invo {
    margin-top: 15px;
    border: 1px solid #bbb;
}
.wind .us-doc-invo .title {
    font-size: 2.7cqw; /* 25px / 960px */
    letter-spacing: 0.15em;
    font-weight: 600;
    text-align: center;
    padding: 1.56cqw 1.04cqw; /* 15px 10px / 960px */
    background-color: #e0e8f6;
    background-image: url(/asset/img/climpek.png);
}
.wind .us-doc-invo .woop {
    position: relative;
    padding: 2.08cqw 2.6cqw 3.65cqw; /* 20px 25px 35px / 960px */
}

.wind .us-doc-invo .ushed {
    display: table;
    width: 100%;
    margin-bottom: 2.08cqw; /* 20px / 960px */
    font-size: 1.54cqw;      /* 14.3px相当 */
}
.wind .us-doc-invo .ushed .lef {
    display: table-cell;
}
.wind .us-doc-invo .ushed .rig {
    display: table-cell;
    text-align: right;
    font-size: 1.46cqw; /* 13.5px / 960px */
}
.wind .us-doc-invo .ushed .rig p {
}

.wind .us-doc-invo .usfrom {
    border: 1px solid #ccc;
    margin-bottom: 2.08cqw; /* 20px / 960px */
}
.wind .us-doc-invo .usfrom .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 0.42cqw 1.56cqw; /* 4px 15px / 960px */
    font-weight: 600;
    font-size: 1.54cqw;
}
.wind .us-doc-invo .usfrom ul {
    padding: 1.25cqw 1.56cqw; /* 12px 15px / 960px */
}
.wind .us-doc-invo .usfrom ul li {
    display: table;
    width: 100%;
    font-size: 1.54cqw;
}
.wind .us-doc-invo .usfrom ul li .moku {
    display: table-cell;
    width: 7.54cqw; /* 70px / 960px */
}
.wind .us-doc-invo .usfrom ul li p {
    display: table-cell;
}

.wind .us-doc-invo .usitem {
    border: 1px solid #ccc;
    margin-bottom: 3.13cqw; /* 30px / 960px */
}
.wind .us-doc-invo .usitem .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 0.42cqw 1.35cqw; /* 4px 13px / 960px */
    font-weight: 600;
    font-size: 1.54cqw;
}
.wind .us-doc-invo .usitem ul {
}
.wind .us-doc-invo .usitem ul li {
    padding: 1.56cqw 1.56cqw; /* 15px / 960px */
    font-size: 1.54cqw;       /* 14.8px / 960px */
}
.wind .us-doc-invo .usitem ul li:not(:last-child) {
    border-bottom: 1px solid #ccc;
}
.wind .us-doc-invo .usitem ul li p {
}
.wind .us-doc-invo .usitem ul li em {
    font-size: 1.35cqw; /* 13px / 960px */
    font-weight: normal;
    font-style: normal;
}

.wind .us-doc-invo .ustotal {
    display: table;
    width: 100%;
    margin-bottom: 2.08cqw; /* 20px / 960px */
}

.wind .us-doc-invo .ustotal .lef {
    border: 1px solid #ccc;
    display: table-cell;
    width: 37.5cqw; /* 360px / 960px */
    vertical-align: top;
}
.wind .us-doc-invo .ustotal .lef .tai {
    background-color: #dfe8f6;
    border-bottom: 1px solid #ccc;
    padding: 0.42cqw 1.35cqw; /* 4px 13px / 960px */
    font-weight: 600;
    text-align: center;
    font-size: 1.54cqw;
}
.wind .us-doc-invo .ustotal .lef .tai span {
    font-size: 1.35cqw; /* 13px / 960px */
}

.wind .us-doc-invo .ustotal .lef .txt {
    padding: 1.56cqw 1.04cqw; /* 15px 10px / 960px */
    text-align: center;
    font-size: 1.73cqw;       /* 16px / 960px */
    font-weight: 600;
}

.wind .us-doc-invo .ustotal .rig {
    display: table-cell;
    padding-left: 1.04cqw; /* 10px / 960px */
    vertical-align: bottom;
}
.wind .us-doc-invo .ustotal .rig table {
    min-height: 5.73cqw; /* 55px / 960px */
}

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

.wind .us-doc-invo .ustrans {
    border: 1px solid #ccc;
    display: table-cell;
    vertical-align: top;
    padding: 1.04cqw 1.56cqw; /* 10px 15px / 960px */
}
.wind .us-doc-invo .ustrans .tai {
    font-feature-settings : "palt";
    font-weight: 600;
    margin-bottom: 0.52cqw; /* 5px / 960px */
    font-size: 1.54cqw;
}
.wind .us-doc-invo .ustrans .txt {
    font-size: 1.54cqw;
}
.wind .us-doc-invo .ustrans .txt p {
}
.wind .us-doc-invo .ustrans .txt p small {
    font-size: 1.51cqw; /* 14px / 960px */
}
.wind .us-doc-invo .ustrans .txt p.min {
    font-size: 1.46cqw; /* 13.5px / 960px */
}
.wind .us-doc-invo .ustrans .txt p.mt10 {
    margin-top: 1.04cqw; /* 10px / 960px */
}

.wind .us-doc-invo .usfot {
    position: relative;
    display: table-cell;
    text-align: right;
    padding-top: 1.04cqw;  /* 10px / 960px */
    padding-left: 2.08cqw; /* 20px / 960px */
}
.wind .us-doc-invo .usfot .area {
    display: inline-block;
    text-align: left;
}
.wind .us-doc-invo .usfot .tai {
    font-size: 1.54cqw;
}
.wind .us-doc-invo .usfot .txt {
    font-size: 1.49cqw; /* 13.8px / 960px */
}
.wind .us-doc-invo .inkan {
    position: absolute;
    top: 0.52cqw;  /* 5px / 960px */
    right: 0;
    width: 9.72cqw; /* 90px / 960px */
}


/* ------------------------------------
   領収書
--------------------------------------- */
.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: 430px;
    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 {
    float: left;
}
.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.45rem;
    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 {
    float: right;
}
.us-doc-receipt .usfotinfo .rig p {
}
.us-doc-receipt .usfotinfo .rig .name {
    font-size: 2.0rem;
    font-weight: 600;
}
.us-doc-receipt .usfotinfo .rig .name span {
    font-size: 1.48rem;
    padding-right: 15px;
    font-weight: normal;
}

.us-doc-receipt .usfotinfo .lef .uthiwake {
    display: table;
    min-width: 300px;
    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: -30px;
    right: 0;
}

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

/*//////// 画面用 wind ////////*/
.us-society .wind {
    margin: 0 auto;
    container-type: inline-size; /* コンテナクエリの基準に設定 */
}
.us-society .wind table th,
.us-society .wind table td {
    font-size: 1.51cqw;
}

.wind .us-doc-receipt {
    background-position: top -10.42cqw left -10.42cqw; /* -100px / 960px */
    background-size: 41.67cqw; /* 400px / 960px */
    padding: 3.13cqw 4.17cqw;   /* 30px 40px / 960px */
    padding-top: 2.6cqw;       /* 25px / 960px */
}

.wind .us-doc-receipt .comp {
    margin-bottom: 0.52cqw; /* 5px / 960px */
}
.wind .us-doc-receipt .ustitle {
    margin-top: 1.04cqw;    /* 10px / 960px */
    margin-bottom: 2.08cqw; /* 20px / 960px */
}

.wind .us-doc-receipt .usissu {
    text-align: right;
    font-size: 1.46cqw; /* 13.5px / 960px */
    position: absolute;
    top: 11.46cqw; /* 110px / 960px */
    right: 3.65cqw;  /* 35px / 960px */
}
.wind .us-doc-receipt .usname {
    margin-bottom: 2.08cqw; /* 20px / 960px */
    max-width: 69.27cqw;    /* 665px / 960px */
}
.wind .us-doc-receipt .usname ul {
    border-bottom: 1px solid #bbb;
    display: inline-block;
    min-width: 27.08cqw;  /* 260px / 960px */
    padding-bottom: 0.52cqw; /* 5px / 960px */
}
.wind .us-doc-receipt .usname ul li {
    font-size: 2.16cqw; /* 20px / 960px */
    font-weight: 500;
}
.wind .us-doc-receipt .usname ul li.min {
    font-size: 1.78cqw; /* 16.5px / 960px */
    line-height: 1.4;
    margin-bottom: 1.04cqw; /* 10px / 960px */
}

.wind .us-doc-receipt .uskingaku {
    background-color: #eee;
    padding: 1.56cqw 1.56cqw; /* 15px 20px / 960px */
    width: 100%;
    max-width: 46.58cqw;      /* 500px / 960px */
    margin: 0 auto;
    text-align: center;
}
.wind .us-doc-receipt .uskingaku p {
    font-size: 2.68cqw; /* 25px / 960px */
}
.wind .us-doc-receipt .uskingaku p strong {
    font-size: 3.02cqw; /* 28px / 960px */
    font-weight: 600;
}

.wind .us-doc-receipt .ustxt {
    margin-top: 1.56cqw; /* 15px / 960px */
}
.wind .us-doc-receipt .ustxt p {
    font-size: 1.56cqw; /* 14.5px / 960px */
    letter-spacing: 0.05em;
    font-weight: 500;
}

.wind .us-doc-receipt .usfotinfo {
    position: relative;
    display: table;
    width: 100%;
    margin-top: 8.33cqw; /* 80px / 960px */
}
.wind .us-doc-receipt .usfotinfo .lef {
    float: left;
}
.wind .us-doc-receipt .usfotinfo .lef ul {
}
.wind .us-doc-receipt .usfotinfo .lef ul li {
    padding-top: 1.04cqw; /* 10px / 960px */
    text-indent: -1em;
    padding-left: 1em;
    font-size: 1.51cqw;    /* 14.5px / 960px */
    line-height: 1.5;
    font-weight: 500;
}
.wind .us-doc-receipt .usfotinfo .lef ul li:first-of-type {
    padding-top: 0;
}

.wind .us-doc-receipt .usfotinfo .rig {
    float: right;
    font-size: 1.54cqw;
}
.wind .us-doc-receipt .usfotinfo .rig p {
}
.wind .us-doc-receipt .usfotinfo .rig .name {
    font-size: 2.16cqw; /* 20px / 960px */
    font-weight: 600;
}
.wind .us-doc-receipt .usfotinfo .rig .name span {
    font-size: 1.54cqw;  /* 14.8px / 960px */
    padding-right: 1.56cqw; /* 15px / 960px */
    font-weight: normal;
}

.wind .us-doc-receipt .usfotinfo .lef .uthiwake {
    display: table;
    min-width: 32.45cqw;
    width: 100%;
}
.wind .us-doc-receipt .usfotinfo .lef .uthi-lef {
    font-size: 1.46cqw; /* 13.5px / 960px */
    line-height: 1;
    font-weight: 500;
    display: table-cell;
    background-color: #e5e5e5;
    border: 1px solid #ccc;
    border-right: 0;
    vertical-align: middle;
    padding: 0.52cqw 1.04cqw; /* 5px 10px / 960px */
    text-align: center;
    width: 6.25cqw; /* 60px / 960px */
}
.wind .us-doc-receipt .usfotinfo .lef .uthi-rig {
    display: table-cell;
}
.wind .us-doc-receipt .usfotinfo .lef .uthi-rig table {
}
.wind .us-doc-receipt .usfotinfo .lef .uthi-rig table td {
    font-size: 1.46cqw;
    padding: 0.33cqw 1.06cqw;
}
.wind .us-doc-receipt .usfotinfo .lef p {
    font-size: 1.51cqw;  /* 14px / 960px */
    margin-top: 0.52cqw; /* 5px / 960px */
}

.wind .us-doc-receipt .inkan {
    bottom: auto;
    top: -3.25cqw; /* -20px / 960px */
    right: 0;
}


/* ------------------------------------
   入場証
--------------------------------------- */
.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;
    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-doc-ticket {
    max-width: 600px;
    margin: auto;
    margin-top: 40px;
    padding: 30px;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h5 {
    font-size: 1.15rem;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h4 {
    font-size: 2.6rem;
}
.us-doc-ticket .hedinfo .rig .tai .comp-name h6 {
    font-size: 1.0rem;
}
.us-doc-ticket .hedinfo .lef {
    font-size: 2.3rem;
}
.us-doc-ticket .usinfo dl dt {
    width: 100px;
}
.us-doc-ticket .qrcd {
    left: 40px;
}
.us-doc-ticket .inkan {
    right: 30px;
}


/* ------------------------------------
   入場証（スマホ）
--------------------------------------- */
.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.8rem;
    font-weight: 600;
    margin-bottom: 12px;
    margin-top: 10px;
}
.modal .us-doc-ticket .hedinfo-qrcd {
    display: block;
    text-align: center;
}
.modal .us-doc-ticket .hedinfo-qrcd svg {
    width: 125px;
    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;
}


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

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

.name-card-lef {
    position: absolute;
    width: 50%;
    height: 50%;
    top: 0;
    left: 0;
    z-index: 2;
}

.name-card-lefbox {
    position: absolute;
    top: 355px;
    left: 35px;
}

.name-card-nmb {
    font-size: 1.65rem;
    line-height: 1.2;
    font-weight: 500;
    margin-top: 25px;
}
.name-card-shimei {
    font-size: 3.1rem;
    line-height: 1.2;
    font-weight: 700;
    margin-top: 20px;
    margin-left: -4px;
    padding-right: 25px;
}
.name-card-kana {
    font-size: 1.65rem;
    line-height: 1.2;
    font-weight: 500;
    margin-top: 5px;
    padding-right: 25px;
}
.name-card-kikan {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: 600;
    padding-right: 25px;
}

.name-card-rig {
    position: absolute;
    width: 50%;
    height: 50%;
    top: 0;
    right: 0;
    z-index: 2;
}
.name-card-rigbox {
    position: absolute;
    width: 360px;
    top: 215px;
    left: 35px;
    z-index: 2;
}
.name-card-rig > ol > li {
    font-size: 1.7rem;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 10px;
}
.name-card-rig .name-card-inkan {
    position: absolute;
    top: 500px;
    right: 55px;
    width: 80px;
}

.name-card-rig .table-tick {
    margin-bottom: 15px;
}
.name-card-rig .table-tick th,
.name-card-rig .table-tick td { 
    border: 1px solid #ccc;
    font-size: 1.3rem;
    font-weight: 500;
}

.name-card-rig .table-tick th {
    font-feature-settings: "palt";
    width: 100px;
    padding: 10px 5px;
    text-align: center;
}
.name-card-rig .table-tick td {
    padding: 7px 10px;
}
.name-card-rig .table-tick .txt {
    font-size: 1.26rem;
    line-height: 1.4;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 10px;
}

/*//////// 画面用 wind ////////*/
.us-name-card.wind {
    position: relative;
    border: 1px solid #d4d4d4;
    border-radius: 4px;
    margin: 0 auto;
    margin-top: 40px;
    max-width: 860px;
    width: calc(100% - 50px);
    container-type: inline-size; /* コンテナクエリの基準に設定 */
}

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

.wind .name-card-lef {
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
}

.wind .name-card-lefbox {
    position: absolute;
    top: 41.28cqw; /* 355px / 860px */
    left: 4.07cqw;  /* 35px / 860px */
}

.wind .name-card-nmb {
    font-size: 1.92cqw; /* 16.5px / 860px */
    line-height: 1.2;
    font-weight: 500;
    margin-top: 2.92cqw; /* 30px / 860px */
}
.wind .name-card-shimei {
    font-size: 3.6cqw;  /* 31px / 860px */
    line-height: 1.2;
    font-weight: 700;
    margin-top: 2.32cqw;  /* 15px / 860px */
    margin-left: -0.47cqw;/* -4px / 860px */
    padding-right: 2.91cqw;/* 25px / 860px */
}
.wind .name-card-kana {
    font-size: 1.92cqw; /* 16.5px / 860px */
    line-height: 1.2;
    font-weight: 500;
    margin-top: 0.58cqw; /* 5px / 860px */
    padding-right: 2.91cqw;
}
.wind .name-card-kikan {
    font-size: 1.86cqw; /* 16px / 860px */
    line-height: 1.5;
    font-weight: 600;
    padding-right: 2.91cqw;
}

.wind .name-card-rig {
    position: absolute;
    width: 50%;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 2;
}
.wind .name-card-rigbox {
    position: absolute;
    width: 41.86cqw; /* 360px / 860px */
    top: 25.00cqw;   /* 210px / 860px */
    left: 4.07cqw;   /* 35px / 860px */
    z-index: 2;
}
.wind .name-card-rig > ol > li {
    font-size: 1.98cqw; /* 17px / 860px */
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 1.16cqw; /* 10px / 860px */
}
.wind .name-card-rig .name-card-inkan {
    position: absolute;
    top: 58.14cqw;  /* 500px / 860px */
    right: 6.4cqw;   /* 55px / 860px */
    width: 9.3cqw;   /* 80px / 860px */
}

.wind .name-card-rig .table-tick {
    margin-bottom: 1.75cqw; /* 20px / 860px */
}
.wind .name-card-rig .table-tick th,
.wind .name-card-rig .table-tick td { 
    border: 1px solid #ccc;
    font-size: 1.51cqw; /* 13px / 860px */
    font-weight: 500;
}

.wind .name-card-rig .table-tick th {
    font-feature-settings: "palt";
    width: 11.63cqw; /* 100px / 860px */
    padding: 1.16cqw 0.58cqw; /* 10px 5px / 860px */
    text-align: center;
}
.wind .name-card-rig .table-tick td {
    padding: 0.81cqw 1.16cqw; /* 7px 10px / 860px */
}
.wind .name-card-rig .table-tick .txt {
    font-size: 1.47cqw; /* 13px / 860px */
    line-height: 1.4;
    text-indent: -1em;
    padding-left: 1em;
    margin-top: 1.16cqw; /* 10px / 860px */
}


/* ------------------------------------
   マイページ hed
--------------------------------------- */
article.user .sidebg {
    min-height: calc(100vh - 435px);
}
.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)
}


/* ------------------------------------
   オンデマンド
--------------------------------------- */
.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%;
    padding: 2px 0 2px 10px;
    border-left: 3px solid #d5dbe6;
    margin: 4px 0 4px;
    line-height: 1.5;
}
.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;
}

.modal .movpop-are {
}
.modal .movpop-are .sess-card {
    margin: 0;
    margin-top: 10px;
}


/* ------------------------------------
   単位講習配信
--------------------------------------- */
.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: 500;
    color: #e46c05;
    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 13px 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;
}
.video-notice span:first-of-type {
    margin-bottom: 5px;
}

/* スキップボタン：デフォルト非表示 */
.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;
}
.test-form-area {
    border-top: 1px solid #cfd1d6;
    padding: 0 50px;
    padding-top: 20px;
    margin-top: 15px;
}

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

.test-intro {
    padding: 0 20px;
    margin-bottom: 20px;
}
.test-intro span {
    font-size: 1.5rem;
    font-weight: 500;
    color: #13628e;
    padding-left: 3px;
    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: 6px 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-title .kazu {
    font-size: 1.4rem;
    font-weight: 500;
}

.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;
}
.seminar-action p.red {
    font-size: 1.28rem;
    font-weight: 500;
}

.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配信・参加者TOP
--------------------------------------- */
.uspg-ondemand {
}
.uspg-ondemand .period {
    border: 1px solid #d1dbe5;
    border-radius: 6px;
    padding: 14px 15px 15px;
    margin-bottom: 16px;
}
.uspg-ondemand .period .tai {
    font-size: 1.5rem;
    font-weight: 600;
    margin: 0 0 12px 0;
    display: flex;
    align-items: center;
}
.uspg-ondemand .period .tai::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 2.4rem;
    background-color: #f5b04d;
    margin-right: 8px;
    /*border-radius: 2px;*/
}
.uspg-ondemand.mkblu .period .tai::before {
    background-color: #6faad7;
}

.uspg-ondemand .period .txt {
    color: #0a4c88;
    padding-left: 10px;
    margin-bottom: 12px;
}
.uspg-ondemand .period .list {
    padding-left: 20px;
    list-style-type: disc;
}
.uspg-ondemand .period .list li {
    margin-bottom: 3px;
}
.uspg-ondemand .period .list li:last-child {
    margin-bottom: 0;
}

.uspg-opmeg {
    margin-bottom: 15px;
}
.uspg-opmeg p {
    padding: 0 2px;
    font-size: 1.45rem;
    letter-spacing: 0.015em;
    font-weight: 500;
}


.video-controls-row {
    background: #e1e1e1;
    border-radius: 6px;
    margin-top: 4px;
    display: flex;
    min-height: 36px;
}
.js-vimeo-player-play {
    padding: 0 10px !important;
    width: auto;
    font-size: 1.4rem;
}
.js-vimeo-player-play::before {
    font-family: 'icomoon';
    content: "\e933";
    font-size: 2.4rem;
    padding-right: 4px;
}

.js-video-time {
    align-self: center;
    font-weight: 500;
    padding-left: 15px;
}


/* ------------------------------------
   準備中・終了
--------------------------------------- */
.uspg-prov-txt {
    display: flex;
    place-items: center;
    justify-content: center;
    background-color: #eef3f8;
    border: 1px solid #dce6ed;
    border-radius: 6px;
    padding: 15px;
    min-height: 120px;
}
.uspg-prov-txt p {
    font-weight: 500;
    color: #0d3b66;
}
.uspg-prov-txt p.red {
    color: #e02300;
    text-align: center;
}

.uspg-demand-txt {
    display: flex;
    place-items: center;
    justify-content: center;
    
    background-color: #4e4e4e;
    border-radius: 4px;
    padding: 15px;
    min-height: 300px;
}
.uspg-demand-txt p {
    font-weight: 500;
    color: #fff;
}

.sp-pdf-down {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.sp-pdf-down p {
    font-size: 1.35rem;
    font-weight: 500;
    color: #13628e;
}
.sp-pdf-down p i {
    font-size: 1.6rem;
    margin-right: 1px;
    position: relative;
    top: 1px;
}
.sp-pdf-down.ctr {
    justify-content: center;
}

.click-are {
    text-align: center;
}


/*  現在、非表示
-----------------------------------*/
/*.sp-pdf .regt-btn {
    background: #b3b3b3;
    pointer-events: none;
}
*/
/*
.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;
}




















