/* 個別のレイアウトで使います */
/* TOYAMA BOUSAIリスクマネジメントフォーラム 2024 */
.appeal {
    display: inline-block;
    border: solid;
    border-width: 1px;
    padding: 8px 12px;
}
.cms-article .cms-article__inner .appeal {
    margin-top: 0;
}
.intro_img {
    margin: 0 0 20px 20px;
    float: right;
}
.table_program {
    border-collapse: collapse;
    width: 95%;
    margin: 0 auto 24px;
    pointer-events: auto;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
}
.table_program caption {
    padding-bottom: 5px;
}
.table_program tbody {
    border-top: 1px solid #CDCFD0;
}
.table_program tr {
    border-bottom: 1px solid #CDCFD0;
}
.table_program tr th {
    width: 140px;
    text-align: left;
    vertical-align: top;
    padding: 10px 0 10px 10px;
}
.table_program tr td {
    padding: 10px 0 10px 16px;
}
.table_program.special tbody {
    border-top: 1px solid #0071BC;
    border-right: 1px solid #0071BC;
    border-left: 1px solid #0071BC;
}
.table_program.special tr {
    border-bottom: 1px solid #0071BC;
}
.program_title {
    font-size: 16.1px;
    font-size: 1.61rem;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #0071BC;
    padding: 8px 12px;
}
.capacity {
    color: #0071BC;
    font-weight: bold;
    padding: 4px 12px;
}
.capacity span {
    color: #000000;
    font-weight: normal;
    margin-left: 10px;
}
.profile {
    font-size: 90%;
    padding-top: 5px;
    line-height: 1.6;
    display: inline-flex;
}
.profile img {
    width: 150px;
    height: 150px;
    margin-left: 12px;
    margin-right: 12px;
}
.about_privacy {
    margin: 2em 1em;
    padding: 1em 1em;
    border: solid 1px #000000;
}
.cms-article .cms-article__inner .capacity, 
.cms-article .cms-article__inner .about_privacy ol {
    margin-top: 5px;
}
.about_privacy ol li {
    list-style-type:decimal;
	margin-left: 24px;
    margin-bottom: 5px;
    padding-left: 10px;
	text-align: left;
}
.about_privacy ol li:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 480px) { 
    .intro_img {
        margin: 0 auto 20px;
        clear:right;
    }
    .cms-article .cms-article__inner .imgRight { clear:right; }
}
@media screen and (max-width: 767px) {
    .table_program tbody {
        display: block;
    }
    .table_program tr {
        display: block;
        width: 100%;
    }
    .table_program tr th {
        padding-bottom: 0;
        padding-top: 16px;
    }
    .table_program tr td {
        padding: 8px 0 16px 10px;
    }
    .table_program tr th, .table_program tr td {
        display: block;
        width: 100%;
    }
    .profile {
        display: block;
    }
    .profile img {
        display: block;
        margin: 0 auto 15px;
    }
    .capacity span {
        display: block;
        margin-left: 0;
    }
}

.intro-saiyoudoukou-r6 {
    margin-bottom: 16px;
}
.intro-saiyoudoukou-r6 h3 {
    margin: 2em auto 1em;
    font-size: 16.1px;
    font-size: 1.61rem;
    font-weight: bold;
    text-align: center;
}
.intro-saiyoudoukou-r6 p:last-child {
    margin-bottom: 16px;
}

/* 富山地方鉄道　酒ところ富山を味わう3つのツアー参加者募集 */
.tour_box {
    width: 100%;
    margin-bottom: 20px;
}
.tour_box .tour_detail {
    margin-top: 0;
    padding: 10px 10px;
    border: solid 1px #0077d9;
}
@media screen and (min-width: 768px) {
    .tour_box .tour_detail {
        height: auto;
        margin-top: 0 !important;
    }
}
h3.tour_title {
    font-size: 16.1px;
    font-size: 1.61rem;
    font-weight: bold;
    color: #FFFFFF;
    background-color: #0077d9;
    padding: 8px 12px;
    margin: auto auto;
}
h4.day_title {
    font-size: 16.1px;
    font-size: 1.61rem;
    font-weight: bold;
    color: #000000;
    padding: 8px 0 4px 30px;
    margin: auto auto;
}
@media (max-width: 768px) {
    h4.day_title {
        padding: 10px 0 0;
    }
}
.tour_schedule {
    min-width: 90%;
    max-width: 90%;
    list-style: none;
    margin: 0 auto 0 0;
    box-sizing: border-box;
    line-height: 1.2;
}
@media (max-width: 768px) {
    .tour_schedule {
        min-width: 100%;
        max-width: 100%;
    }
}
.tour_schedule li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;
}
.tour_schedule .area {
    padding: 10px;
    display: block;
    width: 100%;
    border-left: 6px solid #ff0093;
}
.tour_schedule li .time {
    display: inline-flex;
    justify-content: flex-end;
    flex-basis: 12em;
    max-width: 12em;
    margin-right: 1em;
    margin-top: 20px;
    font-size: 16.1px;
    font-size: 1.61rem;
}
@media (max-width: 768px) {
    .tour_schedule li .time {
        flex-basis: 4em;
        max-width: 4em;
    }
}
.tour_schedule .sch_box {
    position: relative;
    min-height: 1em;
    padding: 1em;
    background: #ffd9e0;
    border-radius: 6px;
}
.tour_schedule .sch_box::before {
    content: "";
    position: absolute;
    left: -23px;
    top: 10px;
    background: #ff0093;
    width: 20px;
    height: 20px;
    border-radius: 10px;
}
.tour_schedule .sch_tx {
    font-size: 16.1px;
    font-size: 1.61rem;
    font-weight: normal;
}
.tour_img {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 2%;
}
.tour_img img {
    width:32%; /* 3列 */
}
@media (max-width: 768px) {
    .tour_img{
        gap:20px 0;
    }
    .tour_img img {
        width:100%; /* 1列 */
    }
}

/* えほんとこども写真コンテストフォーム */
.kodomo_ehon .info-container {
    margin: 0 auto;
    background-color: #fff;
    padding: 10px 20px;
    border: solid 1px #0077d9;
}
.cms-article .cms-article__inner dl dt,
.kodomo_ehon .info-container dl {
    display: flex;
    flex-wrap: wrap;
}

.kodomo_ehon .info-container dl dt {
    width: 100px;
    padding: 5px;
    font-weight: bold;
    color: #0077d9;
}
.kodomo_ehon .info-container dl dd {
    width: calc(100% - 100px);
    padding: 0 20px 5px;
}
.kodomo_ehon .info-container dl dd:last-child {
    padding-bottom: 0;
}
.ehon_kodomo_error {
    color:#d80000;
    font-weight:bold;
}
.cms-form .cms-form__inner .g_title {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 30px;
    /* color: #007f99; */
}
/* レスポンシブ対応 */
@media (max-width: 600px) {
    .kodomo_ehon .info-container {
        padding: 10px 10px;
    }
    .kodomo_ehon .info-container dl {
        margin-top: 0;
    }
    .kodomo_ehon .info-container dl dt {
        width: 100%;
        border-bottom: none;
        padding-bottom: 8px;
    }
    .kodomo_ehon .info-container dl dd {
        width: 100%;
        padding: 0 20px 10px;
    }
}