@charset "utf-8";
@import ('define.less');

body {
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 100%;
    line-height: 1.4;
    text-size-adjust: 100%;
    color: #000;
    -webkit-print-color-adjust: exact;
}

.popup_contents {
    text-align: left;
}

.popup_contents h2 {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.popup_contents p {
    margin-bottom: 15px;
    font-size: 14px;
}

.popup_contents ol li {
    padding-left: 20px;
    list-style-type: none;
    margin-bottom: 15px;
    position: relative;
    font-size: 14px;
}

.popup_contents ol li::before {
    position: absolute;
    left: 0;
    top: 0;
}

.popup_contents ol li:first-child::before {
    content: '1.';
}

.popup_contents ol li:nth-child(2)::before {
    content: '2.';
}

.popup_contents ol li:nth-child(3)::before {
    content: '3.';
}

.popup_contents ol li:nth-child(4)::before {
    content: '4.';
}

.popup_contents ol li:nth-child(5)::before {
    content: '5.';
}

.popup_contents ol li:nth-child(6)::before {
    content: '6.';
}

.popup_contents ol li:nth-child(7)::before {
    content: '7.';
}

.popup_contents ol li:last-child::before {
    content: '8.';
}

#wrap {
    position: relative;
}

#wrap img {
    width: 100%;
    height: auto;
}

.forSP {
    display: none;
}

.inner {
    width: 1000px;
    margin: 0 auto;
    position: relative;
}

#globalHeader {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    background-color: rgb(255 255 255 / 60%);
    z-index: 999;
}

#globalHeader .logo {
    width: 25%;
}

#mainVisual {
    background: url(../img/bg_mv01.jpg) 50% top no-repeat;
    background-size: contain;
    position: relative;
}

#mainVisual .inner {
    height: 500px;
}

#mainVisual h1 {
    position: absolute;
    text-align: center;
    font-size: 24px;
    width: 55%;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: #036aa8;
    top: 45%;
    background-color: rgb(255 255 255 / 60%);
    padding: 20px 0;
    border: #036aa8 3px solid;
}

#mainVisual.complete {
    background: none;
    padding-top: 70px;
}

#mainVisual.complete .inner {
    height: 130px;
}

#mainVisual.complete h1 {
    border: none;
    color: #000;
    padding-top: 0;
    padding-bottom: 0;
}

#globalFooter {
    background-color: #dcdddd;
    text-align: center;
}

#globalFooter .copy {
    font-size: 12px;
    text-align: center;
    padding: 25px 0;
    border-top: #000 1px solid;
    margin-top: 55px;
}

#btn_pagetop {
    position: fixed;
    right: 20px;
    bottom: 40px;
    width: 50px;
}

#btn_pagetop a {
    background-color: #dcdddd;
}

.col02 .col02List {
    width: 48%;
}

.col02 .col02List:first-child {
    float: left;
}

.col02 .col02List:last-child {
    float: right;
}

.Tbl-title-01 {
    color: #036aa8;
}

.Tbl-title-02 {
    color: #036aa8;
    font-weight: 300;
}

.secTbl01 {
    background-color: #f5f5f5;
    padding: 20px 0;
    margin-top: 20px;
    margin-bottom: 10px;
}

.secTbl01 table {
    margin: 0 auto;
}

.secTbl01 table tr th,
.secTbl01 table tr td {
    padding-bottom: 10px;
    line-height: 1.75;
    font-size: 16px;
}

.secTbl01 table tr th {
    width: 20%;
    font-weight: 400;
    text-align: left;
}

.secTbl01 table tr td {
    width: 80%;
}

.secTbl01 table tr:last-child th,
.secTbl01 table tr:last-child td {
    padding-bottom: 0;
}

.secTbl02 .msg01 {
    width: 90%;
    margin: 0 auto 5px;
    font-size: 12px;
}

.secTbl02 .msg01 span,
.secTbl02 .noticeA {
    color: #df0c0f;
}

.secTbl02 .noticeB {
    color: #036aa8;
}

.secTbl02 .noticeflame {
    font-size: 12px;

    /* border: 1px solid #efefef;
    background-color: #fff;
    padding: 1em; */
}

.secTbl02 .noticeflame-ul {
    margin-left: 3em;
}

.secTbl02 .noticeflame-titleA {
    font-size: 1.2em;
}

.secTbl02 .noticeflame-titleB {
    font-size: 1.1em;
}

.secTbl02 table {
    width: 90%;
    margin: 0 auto 30px;
    display: block;
    position: relative;
}

.secTbl02 table tbody {
    display: block;
    width: 100%;
}

.secTbl02 table tr {
    display: block;
    width: 100%;
    overflow: hidden;
    margin-bottom: 20px;
}

.secTbl02 table tr th,
.secTbl02 table tr td {
    vertical-align: middle;
    display: block;
    padding: 10px 1.11111111%;
}

.secTbl02 table tr th {
    font-weight: 400;
    width: 22.22222222%;
    float: left;
    text-align: left;
    background-color: #eee;
}

.secTbl02 table tr th.required {
    position: relative;
}

.secTbl02 table tr th.required::after {
    content: '※';
    color: #f00;
    font-size: 12px;
    position: absolute;
}

.secTbl02 table tr td {
    width: 71.11111111%;
    float: right;
    background-color: #f5f5f5;
}

.secTbl02 table tr td.postalCode input[type='text'] {
    width: 25%;
    margin: 0 10px;
}

.secTbl02 table tr td.telCode input[type='text'] {
    width: 28.33333333%;
    margin: 0 10px;
}

.secTbl02 table.close::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgb(0 0 0 / 60%);
    z-index: 99;
}

.secTbl02 table.close::after {
    content: '受付は終了致しました。';
    font-size: 18px;
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 45%;
    z-index: 99;
}

.secTbl02 input[type='text'] {
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #ccc;
    line-height: 1.2;
    padding: 8px;
}

.secTbl02 input[type='radio'] {
    padding-top: 0;
    margin-top: 0;
    vertical-align: top;
    height: 24px;
}

.secTbl02 textarea {
    width: 97%;
    border: 1px solid #ccc;
    line-height: 1.2;
    padding: 8px;
    display: block;
    resize: none;
}

.secTbl02.close table::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgb(0 0 0 / 60%);
    z-index: 99;
}

.secTbl02.close table::after {
    content: '受付は終了致しました。';
    font-size: 18px;
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 45%;
    z-index: 99;
}

.secTbl03 {
    width: 63%;
    margin: 20px auto 0;
}

.secTbl03 table {
    width: 100%;
}

.secTbl03 table tr th,
.secTbl03 table tr td {
    border: #666 1px solid;
    padding: 7px;
}

.secTbl03 table tr th {
    font-weight: 400;
    text-align: left;
    width: 30%;
    background-color: #eee;
}

.secTbl03 table tr td {
    width: 70%;
}

.sec h2 {
    text-align: center;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
    position: relative;
    margin-bottom: 40px;
}

.sec h2::after {
    content: '';
    width: 100px;
    display: block;
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-bottom: #000 1px solid;
}

.sec .txt01 {
    margin-left: 2em;
    font-size: 16px;
    line-height: 1.75;
}

.sec .txtMsg {
    color: red;
}

.sec .cmmnt01 {
    margin-left: 2em;
    padding-left: 20px;
    font-size: 14px;
    position: relative;
}

.sec .cmmnt01::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
}

.sec .cmmnt02 {
    padding-left: 15px;
    font-size: 12px;
    position: relative;
    margin-top: 5px;
}

.sec .cmmnt02::before {
    content: '※';
    position: absolute;
    left: 0;
    top: 0;
}

.sec .privacyArea {
    width: 45%;
    margin: 0 auto 30px;
    border: #000 1px solid;
    text-align: center;
    padding: 10px 0;
}

.sec .privacyArea .p_required {
    position: relative;
}

.sec .privacyArea .p_required::after {
    content: '必須';
    font-size: 12px;
    background-color: #f00;
    color: #fff;
    padding: 3px;
    line-height: 1;
}

.sec .privacyArea .lnk01 {
    margin-bottom: 10px;
}

.sec .privacyArea .lnk01 a {
    color: #000;
    text-align: left;
}

.sec .list01 li {
    list-style-type: none;
    padding-left: 20px;
    line-height: 1.75;
    position: relative;
}

.sec .list01 li::before {
    position: absolute;
    left: 0;
    top: 0;
}

.sec .list01 li:first-child::before {
    content: '①';
}

.sec .list01 li:nth-child(2)::before {
    content: '②';
}

.sec .list01 li:nth-child(3)::before {
    content: '③';
}

.sec .list01 li:nth-child(4)::before {
    content: '④';
}

.sec .list01 li:nth-child(5)::before {
    content: '⑤';
}

.sec .btn01 {
    width: 220px;
    margin: 20px auto 0;
}

.sec .btn01 input[type='submit'] {
    display: block;
    width: 100%;
    padding: 14px 0;
    font-size: 14px;
    text-decoration: none;
    background-color: #666;
    transition: 0.6s;
    color: #fff;
    border: none;
    cursor: pointer;
}

.sec .btn01 input[type='submit']:hover {
    transition: 0.6s;
    background-color: #2e92cd;
}

.sec .closeMsg {
    width: 220px;
    margin: 20px auto 0;
    text-align: center;
    color: #fff;
    background-color: #666;
    padding: 14px 0;
}

.sec#sec01 {
    width: 90%;
    margin: 0 auto 60px;
}

.sec#sec01 table {
    width: 93%;
    margin: 0 auto;
}

/* -------------------------------------------------------------------
#breadcrumbs
------------------------------------------------------------------- */
#breadcrumbs {
    padding: 10px 0;
}

#breadcrumbs ol {
    overflow: hidden;
}

#breadcrumbs ol li {
    list-style-type: none;
    font-size: 14px;
    float: left;
    margin-right: 10px;
    color: #000;
}

#breadcrumbs ol li a {
    text-decoration: none;
    color: #000;
}

#breadcrumbs ol li a span {
    transition: 0.6s;
}

#breadcrumbs ol li a:hover span {
    color: #036aa8;
    transition: 0.6s;
}

#breadcrumbs ol li::after {
    content: '>';
    padding-left: 10px;
    vertical-align: top;
}

#breadcrumbs ol li:last-child::after {
    content: '';
}

.errMsg {
    margin: 20px 0;
}

.error_messe {
    color: #f00;
    font-weight: 700;
}

.btnTop {
    width: 200px;
    margin: 0 auto;
}

.btnTop a {
    display: block;
    width: 100%;
    padding: 14px 0;
    background-color: #666;
    color: #fff;
    text-align: center;
    text-decoration: none;
}

.btnBack,
.btnSubmit {
    width: 300px;
    border: none;
    display: block;
    margin: 0 auto;
    padding: 10px 0;
    color: #fff;
}

.btnBack {
    background: #666;
}

.btnSubmit {
    background: #036aa8;
}

.btnArea {
    width: 600px;
    margin: 40px auto 0;
}

.btnArea .btnBack,
.btnArea .btnSubmit {
    width: 280px;
}

.btnArea .btnBack {
    float: left;
}

.btnArea .btnSubmit {
    float: right;
}

/* ========================================================

======================================================== */
@media screen and (min-width: 481px) and (max-width: 1025px) {
    .forSP {
        display: none;
    }

    .inner {
        width: 96%;
        margin: 0 auto;
    }
}

/* ========================================================

======================================================== */
@media screen and (max-width: 480px) {
    .inner {
        width: 93.75%;
        margin: 0 auto;
    }

    img {
        width: 100%;
        height: auto;
    }

    .forSP {
        display: block;
    }

    .forPC {
        display: none !important;
    }

    #wrap #globalHeader {
        padding: 10px 0;
        background-color: rgb(255 255 255 / 80%);
        position: fixed;
    }

    #wrap #globalHeader .logo {
        width: 150px;
    }

    #wrap #mainContents #mainVisual {
        background-position: 25% 50%;
        background-size: cover;
        margin-bottom: 30px;
    }

    #wrap #mainContents #mainVisual .inner {
        height: 270px;
    }

    #wrap #mainContents #mainVisual .inner h1 {
        top: 40%;
        width: 80%;
        font-size: 18px;
    }

    #wrap #mainContents #mainVisual.complete {
        margin-bottom: 20px;
    }

    #wrap #mainContents #mainVisual.complete .inner {
        height: auto;
    }

    #wrap #mainContents #mainVisual.complete .inner h1 {
        position: static;
        top: auto;
        padding-top: 70px;
    }

    #wrap #mainContents #breadcrumbs {
        display: none;
    }

    #wrap #mainContents .secTbl01 table {
        width: 90%;
        table-layout: fixed;
        margin: 0 auto;
    }

    #wrap #mainContents .secTbl01 table tr th,
    #wrap #mainContents .secTbl01 table tr td {
        float: none;
        display: block;
    }

    #wrap #mainContents .secTbl01 table tr th {
        padding-bottom: 0;
        width: 100%;
        font-weight: 700;
    }

    #wrap #mainContents .secTbl01 table tr td {
        padding-bottom: 20px;
        width: 100%;
    }

    #wrap #mainContents .secTbl01 table tr:last-child td {
        padding-bottom: 0;
    }

    #wrap #mainContents .secTbl02 .cmmnt02 {
        width: 92%;
    }

    #wrap #mainContents .secTbl02 .col02 {
        width: 100%;
    }

    #wrap #mainContents .secTbl02 table {
        width: 100%;
        table-layout: fixed;
    }

    #wrap #mainContents .secTbl02 table tr {
        background-color: #f5f5f5;
        margin-bottom: 0;
    }

    #wrap #mainContents .secTbl02 table tr.formLine01 th {
        padding-top: 20px;
    }

    #wrap #mainContents .secTbl02 table tr.formLine10 td {
        padding-bottom: 20px;
    }

    #wrap #mainContents .secTbl02 table tr th,
    #wrap #mainContents .secTbl02 table tr td {
        float: none;
        padding: 10px 4%;
        width: 92%;
        background: none;
        font-size: 14px;
    }

    #wrap #mainContents .secTbl02 table tr th {
        padding-bottom: 0;
    }

    #wrap #mainContents .secTbl02 table tr td.postalCode input[type='text'] {
        width: 50%;
    }

    #wrap #mainContents .secTbl02 table tr td.telCode input[type='text'] {
        width: 58.5%;
        margin-left: 0;
    }

    #wrap #mainContents .secTbl02 table tr td textarea {
        width: 95%;
    }

    #wrap #mainContents .secTbl03 {
        width: 100%;
    }

    #wrap #mainContents .btnArea {
        width: 100%;
    }

    #wrap #mainContents .btnArea .btnSubmit,
    #wrap #mainContents .btnArea .btnBack {
        width: 100%;
        float: none;
    }

    #wrap #mainContents .btnArea .btnBack {
        margin-top: 7px;
    }

    #wrap #mainContents .sec {
        width: 100%;
    }

    #wrap #mainContents .sec .privacyArea {
        width: 100%;
    }

    #wrap #mainContents .sec .privacyArea p {
        font-size: 14px;
    }

    #wrap #mainContents .sec .list01 {
        width: 100%;
    }

    #wrap #mainContents .sec .list01 li {
        font-size: 14px;
    }
}












/* 20250819 */


.Tbl-content {
    line-height: 1.6;
}

.Tbl-content .name {
    display: inline-block;
    padding-left: 6.2em;
}


.participant-info dt {
    font-weight: bold;
    color: #036aa8;
    margin-top: 1em;
  }

  .participant-info dd {
    margin: 0 0 1em 1.5em;
  }

  .note {
    margin-bottom: 1.5em;
    color: #222;
    font-size: 0.9em;
  }




.pconly{
    display: block;
}
.sponly{
    display: none;
}


/* マスク（フォームセクションだけ覆う想定） */
.form-mask-wrapper {
    position: relative; 
  }
  
  .form-mask-wrapper .mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.7);
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}
  
  /* .form-mask-wrapper .mask::after {
    content: '受付は終了致しました。';
    font-size: 18px;
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99;
} */

  

  

@media screen and (max-width: 768px) {
    .Tbl-content {
        line-height: 1.6;
            }

    .Tbl-content .name {
        display: block;
       margin-left: 0;
       margin-top: 2px; 
    }

    .participant-info dd {
        margin: 0;
      }

      .form-mask-wrapper .mask::after {
        top: 10%;
    }

    .pconly{
        display: none;
    }
    .sponly{
        display: block;
    } 

}







