@CHARSET "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

/* フォント設定 */
@font-face {
  	font-family: 'KozGo';
  	src: url(../fonts/KozGoPr6N-Regular.otf);
}
@font-face {
  	font-family: 'KozGoBold';
  	src: url(../fonts/KozGoPro-Bold.otf);
}
@font-face {
  	font-family: 'KozGoReg';
  	src: url(../fonts/KozGoPro-Regular.otf);
}

/* 全体 */
html {
    overflow: auto;
}

body {
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    overflow-x: hidden;
    width: 100%;
}

a {
    word-break: break-all;
}

.pdf-link-wrap {
    position: relative;
}
.pdf-link-wrap:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 22px;
    background-image: url(../img/users/icon_pdf.png);
    background-size: contain;
    position: absolute;
    top: 2px;
    left: 0;
    z-index: 11;
}
.pdf-link-wrap a.pdf {
    color: #000;
    text-decoration: none;
    position: relative;
    margin-left: 24px;
    display: inline-block;
}
.pdf-link-wrap a.pdf:hover {
    color: #D1705C;
    border-bottom: 1px solid #D1705C;
}

.to-english {
    position: absolute;
    top: 20px;
    right: 20px;
    border: 1px solid #D1705C;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
    background-color: #fff;
    z-index: 100;
}
.to-english a {
    display: block;
    padding: 5px 10px;
    font-size: 16px;
    color: #D1705C;
    text-decoration: none;
}
.to-english:hover {
    background-color: #D1705C;
}
.to-english:hover > a {
    color: #fff;
}

.wrap {
    position: relative;
}

.contents {
    zoom: 1;
}
.contents:before, .contents:after {
    content: "";
    display: table;
}
.contents:after {
    clear: both;
}

.background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.inproduction {
    width: 90%;
    margin: 20px auto;
    margin-bottom: 600px;
    padding: 10px;
    font-size: 18px;
    font-family: KozGo;
}

.modal-dialog .modal-content {
    border: 2px solid #0C8683;
    padding: 30px;
}
.modal-backdrop {
    background-color: #fff;
}
.modal-dialog p.alert-title {
    background: #0C8683;
    color: #fff;
    padding: 10px 12px;
    font-family: KozGo;
    font-size: 16px;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -o-border-radius: 8px;
}
.modal-dialog p.alert-span {
    color: red;
    font-family: KozGoBold;
    padding: 10px;
    font-size: 16px;
    position: relative;
}
.modal-dialog p.alert-span:after {
    content: "";
    background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 6px);
    background-size: 6px 1px;
    background-repeat: repeat-x;
    position: absolute;
    top: 41px;
    bottom: 0;
    left: 0;
    right: 0;
}
.modal-dialog p:not(.alert-title) {
    margin-bottom: 20px;
}
.modal-dialog .close-wrap {
    width: 50%;
    margin: 40px auto 0;
}
.modal-dialog .close-wrap a {
    font-size: 16px;
}

/* ヘッダー関連 */
.header a {
    width: 50%;
    display: block;
    padding: 20px 0;
    margin-left: 2%;
}

/* グローバルメニュー関連 */
.global-menu {
    width: 20%;
    background: #fff;
    float: left;
}
.global-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    border-right: 1px solid #727171;
}
.global-menu li {
    position: relative;
    color: #000;
    vertical-align: middle;
    position: relative;
    border-bottom: 1px solid #727171;
    background: #e8e5de; /* Old browsers */
    background: -moz-linear-gradient(top, #e8e5de 0%, #eae4d1 40%, #c9beaf 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e8e5de 0%,#eae4d1 40%,#c9beaf 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #e8e5de 0%,#eae4d1 40%,#c9beaf 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8e5de', endColorstr='#c9beaf',GradientType=0 ); /* IE6-9 */
}
.global-menu li a {
    color: #AF3824;
    font-size: 1.2vw;
    font-weight: bold;
    display: block;
    font-family: KozGoBold;
    text-decoration: none;
    height: 100%;
    padding: 15px 0 15px 36px;
}
.global-menu li.spacing a {
    letter-spacing: 4px;
}
.global-menu li .icon {
    width: 20px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 8px;
    border: 2px solid #AF3824;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}
.global-menu li .icon:before, .global-menu li .icon:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.global-menu li .icon:before {
    left: 8px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #AF3824;
}
.global-menu li .icon:after {
    left: 4px;
    width: 6px;
    height: 4px;
    border-left: 4px solid #AF3824;
}
.global-menu li.active {
    background: #E685B3;
}
.global-menu li.active .icon {
    border-color: #fff;
}
.global-menu li.active .icon:before {
    border-left-color: #fff;
}
.global-menu li.active .icon:after {
    border-color: #fff;
}
.global-menu li.active a {
    color: #fff;
}
.global-menu li:hover {
    background: #E685B3;
}
.global-menu li:hover .icon {
    border-color: #fff;
}
.global-menu li:hover .icon:before {
    border-left-color: #fff;
}
.global-menu li:hover .icon:after {
    border-color: #fff;
}
.global-menu li:hover a {
    color: #fff;
}

.global-bottom-menu {
    margin-top: 20px;
    padding: 0 20px;
}

/* ドロワーメニュー関連 */
.overlay {
    content: "";
    display: block;
    width: 0;
    height: 0;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 101;
    opacity: 0;
    transition: opacity .5s;
}
.overlay.open {
    width: 100%;
    height: 100%;
    opacity: 1;
}
main {
    height: 100%;
    min-height: 100vh;
    padding: 0 50px;
    background-color: #eee;
    transition: all .5s;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
main.open {
    transform: translateX(-250px);
}
main h1 {
    text-align: center;
    font-weight: 500;
}
main p {
    text-align: center;
}
.menu-trigger {
    display: inline-block;
    width: 24px;
    height: 20px;
    vertical-align: middle;
    cursor: pointer;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 103;
}
.menu-trigger.active {
    position: fixed;
}
.menu-trigger span {
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #D1705C;
    transition: all .5s;
}
.menu-trigger p {
    position: absolute;
    bottom: -16px;
    left: -2px;
    margin: 0;
    font-size: 10px;
    font-family: KozGo;
    color: #D1705C;
}
.menu-trigger p.active {
    display: none;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger.active span:nth-of-type(1) {
    transform: translateY(12px) rotate(-45deg);
}
.menu-trigger span:nth-of-type(2) {
    top: 8px;
}
.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-12px) rotate(45deg);
    bottom: auto;
    top: 24px;
}

.main-contents .about-wrap h4.about-title .small {
    color: #1A539C;
}

nav {
    width: 100%;
    height: 100%;
    padding-top: 60px;
    background-color: rgb(255, 255, 255, 0.8);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 102;
    transform: translate(-100%);
    transition: all .5s;
}
nav.open {
    transform: translateZ(0);
}
nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 96%;
    margin: auto;
    border-bottom: 1px solid #D1705C;
}
nav li {
    position: relative;
    padding: 8px 0 8px 36px;
    color: #000;
    vertical-align: middle;
    position: relative;
    border-top: 1px solid #D1705C;
}
nav li.spacing {
    letter-spacing: 5px;
}
nav li a {
    color: #D1705C;
    font-family: KozGoBold;
    font-size: 18px;
    display: block;
    text-decoration: none;
}
nav li .icon {
    width: 20px;
    height: 20px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 8px;
    border: 2px solid #D1705C;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
}
nav li .icon:before, nav li .icon:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
nav li .icon:before {
    left: 8px;
    box-sizing: border-box;
    width: 5px;
    height: 5px;
    border: 5px solid transparent;
    border-left: 5px solid #D1705C;
}
nav li .icon:after {
    left: 4px;
    width: 6px;
    height: 4px;
    border-left: 4px solid #D1705C;
}
nav li:hover > a {
    color: #718CC7;
    text-decoration: none;
}
nav li:hover .icon {
    border-color: #718CC7;
}
nav li:hover .icon:before {
    border-left-color: #718CC7;
}
nav li:hover .icon:after {
    border-left-color: #718CC7;
}

/* トップページ関連 */
.top-main-contents {
    width: 50%;
    padding: 10px 0 40px 30px;
    margin-bottom: 50px;
}
.top-main-contents.english {
    width: 60%;
}
.top-main-contents h1 {
    font-family: KozGo;
    font-size: 5.2vw;
    position: relative;
}
.top-main-contents h1 span {
    display: block;
    font-size: 2.3vw;
}
.top-main-contents h1 i {
    display: block;
    font-size: 1vw;
}
.top-main-contents h1 isha {
    font-size: 3.4vw;
    position: relative;
    top: -20px;
}
.top-main-contents h1 i.isha {
    position: relative;
    top: -24px;
    width: 15vw;
}

.main-contents-wrap {
    margin-left: 20%;
    background-image: url("../img/users/background_line.jpg");
    background-repeat: repeat-y;
}
.main-contents {
    padding: 0;
    position: relative;
    background-image: url("../img/users/background_main.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top right;
}
.main-contents.sub {
    background-image: url("../img/users/background_sub.jpg");
}
.main-contents .flower, .main-contents .human {
    position: absolute;
}
.main-contents .flower {
    top: 0;
    right: 0;
    width: 19vw;
}
.main-contents .human {
    width: 25vw;
    top: 15vw;
    right: 20vw;
}
.main-contents h2 {
    margin: 30px;
    font-size: 20px;
    color: #D80E19;
    border-bottom: 1px solid #727171;
    padding-bottom: 5px;
    position: relative;
    padding-left: 44px;
    padding-top: 18px;
}
.main-contents h2 span.title-icon {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    left: 0;
}
.main-contents .fixed-message-wrap {
    margin: 15px 30px 30px;
    border: 2px solid #D1705C;
    padding: 20px;
    background: #fff;
    font-size: 18px;
}
.main-contents .news-wrap {
    margin: 15px 30px;
    height: 250px;
    overflow-y: scroll;
}
.main-contents .news-wrap table {
    width: 100%;
}
.main-contents .news-wrap th, .main-contents .news-wrap td {
    text-align: left;
    vertical-align: top;
    padding-bottom: 10px;
}
.main-contents .news-wrap th {
    width: 110px;
    font-size: 18px;
    color: #D80E19;
}
.main-contents .news-wrap td {
    font-size: 18px;
}
.main-contents .news-wrap a {
    color: #000;
    text-decoration: underline;
}

.banner-wrap {
    margin: 30px 30px 0 30px;
    background: none;
}
.banner-wrap [class^="col-"],
.banner-wrap [class*=" col-"] {
    margin-bottom: 15px;
}

/* 下層ページ関連 */
.main-contents h3.subpage-title {
    margin: 0;
    font-size: 18px;
    color: #fff;
    background: #0C8683;
    padding: 8px 12px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 10px;
    width: 96%;
    margin: auto auto 10px;
}
.main-contents .about-wrap {
    width: 96%;
    margin: auto;
    margin-bottom: 100px;
}
.main-contents .about-wrap h4.about-title {
    margin-bottom: 0;
}
.main-contents .about-wrap table {
    width: 100%;
}
.main-contents .about-wrap.for-about th, .main-contents .about-wrap.for-about td {
    position: relative;
}
.main-contents .about-wrap th, .main-contents .about-wrap td {
    font-family: KozGo;
    font-size: 16px;
    padding: 15px 10px;
}
.main-contents .about-wrap.for-about th:before, .main-contents .about-wrap.for-about td:before {
    content: "";
    background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 6px);
    background-image: -ms-linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 6px);
    background-size: 6px 1px;
    background-repeat: repeat-x;
    position: absolute;
    top: 51px;
    bottom: 0;
    left: 0;
    right: 0;
}
.main-contents .about-wrap th {
    font-weight: normal;
    width: 120px;
    font-family: KozGoBold;
}
.main-contents .about-wrap th.about-title {
    color: #1A539C;
    font-weight: bold;
    font-family: KozGo;
    font-size: 18px;
}
.main-contents .about-wrap h4.about-title,
.main-contents .greeting-wrap h4.greeting-title {
    padding: 12px;
    font-family: KozGo;
    color: #1A539C;
    margin-bottom: 30px;
    position: relative;
}
.main-contents .about-wrap h4.about-title:before,
.main-contents .greeting-wrap h4.greeting-title:before {
    content: "";
    background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 6px);
    background-size: 6px 1px;
    background-repeat: repeat-x;
    position: absolute;
    top: 42px;
    bottom: 0;
    left: 0;
    right: 0;
}
.main-contents .greeting-wrap .master-image {
    width: 25%;
    padding: 0 20px 20px 0;
    float: left;
}
.main-contents .greeting-wrap {
    zoom: 1;
    width: 90%;
    margin: auto;
    margin-bottom: 50px;
}
.main-contents .greeting-wrap:before, .main-contents .greeting-wrap:after {
    content: "";
    display: table;
}
.main-contents .greeting-wrap:after {
    clear: both;
}
.main-contents .greeting-wrap p.greeting-message {
    font-size: 16px;
    line-height: 1.6;
}

.detail-news-wrap {
    margin: 30px auto;
    width: 90%;
}
.detail-news-wrap p.news-date {
    font-size: 22px;
    color: #ff0000;
}
.detail-news-wrap .news-title {
    font-size: 22px;
    font-family: KozGo;
    margin-bottom: 20px;
}
.detail-news-wrap .news-title:first-letter {
    font-size: 34px;
}
.detail-news-wrap .news-contents {
    font-size: 16px;
    font-family: KozGo;
    margin-bottom: 40px;
}

.pager {
    text-align: right;
    width: 90%;
    margin: auto;
}
.pager a, .pager span {
    font-size: 14px;
    color: #574E3F!important;
    border-radius: 0px!important;
    -webkit-border-radius: 0px!important;
    -moz-border-radius: 0px!important;
    -o-border-radius: 0px!important;
}
.pager li.current > span {
    background-color: #eb6f6c;
    color: #fff!important;
}
.pager.top {
    top: 0;
    right: 0;
    margin-top: 30px;
}
.pager.bottom {
    position: relative;
    text-align: right;
    margin-bottom: 50px;
}
.pagination {
    margin: 0;
}

.pagenator {
    text-align: right;
    width: 90%;
    margin: 20px auto;
}
.pagination > li > span.disabled {
    /*display: none;*/
}
li.page-item.current span {
    background-color: #0b8683;
    color: #fff;
}
li.page-item span.disabled {
    color: #aaa;
    background-color: #eee;
}

.abstracts-wrap {
    font-family: KozGo;
    font-size: 16px;
    padding: 0 12px;
    line-height: 1.8;
}
.abstracts-wrap span,
.basic-information-alert span {
    color: red;
}
.abstracts-wrap span a {
    color: red;
    text-decoration: underline;
}
p.indent {
    margin-left: 16px;
    text-indent: -16px;
}

.abstracts-wrap ul > li > ul {
    margin-top: 5px;
    margin-bottom: 5px;
}

.inpage-link.btn {
    display: inline-block;
    margin-bottom: 5px;
    margin-right: 5px;
}

p.reserve-mail {
    margin-top: 10px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
p.contact-phone {
    text-align: center;
}

.main-contents .about-wrap h4.about-title {
    margin-bottom: 15px;
}

/* 英語ページ全体 */
.main-contents .about-wrap.english tr.multi th:before,
.main-contents .about-wrap.english tr.multi td:before {
    top: 70px;
}
@media all and (-ms-high-contrast: none) {
    .main-contents .about-wrap.english tr.multi th:before,
    .main-contents .about-wrap.english tr.multi td:before {
        top: 51px;
    }
}

/* 2020.03.31 追加CSS */
.inproduction.above {
    margin-bottom: 20px;
    line-height: 1.8;
}
.inproduction.above a {
    text-decoration: underline;
}
.inpage-banner-wrap {
    margin: 20px 5% 20px 30px;
}

/* 企業・団体の皆様へ */
.main-contents .organization-wrap h4.about-title {
    margin-bottom: 20px;
}
.main-contents .organization-wrap h5.organization-alert {
    color: #D1705C;
    font-weight: normal;
    font-size: 18px;
    border: 2px solid #D1705C;
    padding: 5px;
    background: #fff;
    width: 464px;
    margin-bottom: 10px;
}
.main-contents .organization-wrap .organization-sub-alert {
    border: 2px solid #D1705C;
    padding: 5px 8px;
    background: #fff;
    margin-bottom: 20px;
    font-size: 18px;
    color: #D1705C;
}
.main-contents .organization-wrap .organization-sub-alert p {
    margin-bottom: 0;
    padding-left: 1em;
    color: #000;
    font-size: 16px;
}

.organization-wrap p.scroll-table {
    margin-bottom: 5px;
    position: relative;
    display: inline-block;
    padding-left: 30px;
    display: none;
}
.organization-wrap p.scroll-table:before,
.organization-wrap p.scroll-table:after {
    content: "";
    width: 0;
    height: 0;
    border: 10px solid transparent;
    position: absolute;
    top: 0;
}
.organization-wrap p.scroll-table:before {
    border-right: 13px solid #8FC31F;
    left: 0;
}
.organization-wrap p.scroll-table:after {
    border-left: 13px solid #8FC31F;
    right: auto;
}
.organization-wrap .organization-table-wrap {
    width: 100%;
    overflow-x: scroll;
}
.organization-wrap table {
    min-width: 1280px;
    box-sizing: border-box;
}
.organization-wrap th {
    font-size: 13px!important;
    color: #fff;
    background: #0A8683;
    text-align: center;
    padding: 5px!important;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
}
.organization-wrap th.prospectus {
    border-left: none;
    width: 220px;
}
.organization-wrap th.limit {
    width: 170px;
}
.organization-wrap th.document {
    width: 300px;
}
.organization-wrap th.schedule, .organization-wrap th.date, .organization-wrap th.item {
    background: #18529C;
}
.organization-wrap th.date {
    width: 170px;
}
.organization-wrap th.item {
    width: 420px;
}
.organization-wrap th:before {
    display: none;
}
.organization-wrap td:before {
    display: none;
}
.organization-wrap td {
    font-size: 13px!important;
    padding: 10px!important;
    border-bottom: 1px solid #00A29A;
}
.organization-wrap td.link {
    line-height: 2.2;
}
.organization-wrap td.schedule {
    border-bottom-color: #036EB8;
}
.organization-wrap td p.limit-date {
    margin: 0;
    font-size: 14px;
    color: #D1705C;
    font-family: KozGoBold;
}
.organization-wrap td p.limit-date.schedule {
    color: #18529C;
}
.organization-wrap td .item-notes {
    color: #525252;
    font-size: 12px;
}
.organization-wrap td .item-notes.box {
    border: 1px solid #525252;
    margin-top: 5px;
    padding: 5px;
}
.organization-wrap p.for-paid {
    margin: 15px 0;
}
.organization-wrap p.for-paid span {
    border: 1px solid #000;
    background: #fff;
    padding: 2px 5px;
    margin-right: 5px;
}
.organization-wrap p.for-paid .ctr-br {
    display: none;
}
.organization-wrap td span.no-link {
    color: #000;
    position: relative;
    padding-left: 22px;
}
.organization-wrap td span.no-link:before {
    content: "";
    position: absolute;
    left: 5px;
    top: -1px;
    width: 14px;
    height: 14px;
    background: #000;
    border-radius: 50%;
}

/* 2020.09.21 追加CSS */
.all-visitors-wrap h4.greeting-title {
}
.all-visitors-wrap p.signing {
    text-align: right;
}

p.covid-alert-title {
    position: relative;
    display: inline-block;
    height: 34px;
    margin-left: 20px;
    padding: 0.5rem 2rem 0.5rem 2rem;
    color: #fff;
    background: #d1705b;
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 5px;
}
p.covid-alert-title:before {
    position: absolute;
    top: 0;
    left: -20px;
    content: '';
    border-width: 17px 20px 17px 0;
    border-style: solid;
    border-color: transparent #d1705b transparent transparent;
}
p.covid-alert-title:after {
    position: absolute;
    top: calc(50% - 7px);
    left: 0px;
    width: 14px;
    height: 14px;
    content: '';
    border-radius: 50%;
    background: #fff;
}

ul.covid-alert-list {
    padding-left: 40px;
    margin: 5px 0 20px;
}
ul.covid-alert-list li {
    font-size: 16px;
    padding: 2px 0;
}

.important-message-wrap {
    margin: 15px 30px 10px;
    border: 2px solid #d1705b;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
}
.important-message-wrap p {
    margin-bottom: 0;
}
.important-message-wrap p.important-title {
    background: #d1705b;
    color: #fff;
    font-size: 18px;
    padding: 10px 20px;
}
.important-message-wrap p.important-message {
    padding: 10px 20px;
    background: #fff;
}
.important-message-wrap p.important-message a {
    color: #000;
    font-size: 18px;
}
.important-message-wrap p.important-message a:before {
    content: "●";
    display: inline-block;
    margin-right: 5px;
    top: 1px;
    color: #d1705a;
}

.main-contents .greeting-wrap p.greeting-message span.notice {
    background: yellow;
}

/* 2020.09.25 追加CSS */
.main-contents .organization-wrap .organization-sub-alert .pdf-link-wrap {
    padding-left: 1em;
    font-size: 16px;
    margin-top: 5px;
    color: #000;
}
.main-contents .organization-wrap .organization-sub-alert .pdf-link-wrap:before {
    left: 1em;
    top: -1px;
}
.main-contents .organization-wrap .organization-sub-alert .pdf-link-wrap a.pdf {
    color: #d1705b;
}

/* 2020.10.19 追加CSS */
p.hybrid-notice {
    width: 96%;
    margin: auto;
    text-align: center;
    line-height: 2;
    margin-top: 20px;
    margin-bottom: 0;
    font-size: 18px;
    color: #b03824;
    font-weight: bold;
}

.abstracts-wrap ul {
    padding-left: 30px;
    margin: 20px 0;
}
.abstracts-wrap ul li {
    padding: 5px 0;
}
.abstracts-wrap ul.numbering > li {
    list-style-type: none;
    counter-increment: cnt;
    position: relative;
}
.abstracts-wrap ul.numbering > li:before {
    content: counter(cnt) "）";
    display: inline-block;
    margin-left: -1.5em;
    width: 1.5em;
}

p.abstracts-button-title {
    margin-top: 20px;
    font-weight: bold;
    color: #1b539c;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
}

.main-contents .about-wrap.english th {
    width: 230px;
}
.main-contents .about-wrap h3.about-all-title {
    padding: 10px;
    border-left: 5px solid #0f8683;
    background: #f4f4f4;
    font-size: 18px;
    position: relative;
}
.main-contents .about-wrap h3.about-all-title .news-date {
    position: absolute;
    color: #ff0000;
    right: 10px;
}
.main-contents .greeting-wrap p.greeting-message span.hide {
    display: inline-block!important;
    opacity: 0;
}

.abstracts-wrap ul.check-list {
    list-style: none;
}
.abstracts-wrap ul.check-list li {
    position: relative;
}
.abstracts-wrap ul.check-list li:before {
    position: absolute;
    content:"";
    width: 7px;
    height: 15px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    display:inline-block;
    left: -20px;
    top: 10px;
    transform:rotateZ(45deg);
}
.abstracts-wrap ul.dot-numbering {
    list-style: decimal;
}

/* 2020.11.24 追加CSS */
.abstracts-information {
    margin: 15px 30px 30px;
}
.abstracts-information p {
    font-size: 18px;
    padding: 1rem 2rem;
    color: #fff;
    background: #d1705a;
    -webkit-box-shadow: 5px 5px 0 #a25542;
    box-shadow: 5px 5px 0 #a25542;
    font-weight: bold;
    line-height: 26px;
}
.abstracts-information p span {
    display: inline-block;
    margin-left: 10px;
    font-size: 16px;
}

.global-menu li.sp-menu {
    background: #d29688;
    background: -moz-linear-gradient(top, #d29688 0%, #d1705a 30%, #d1705a 70%, #d29688 100%);
    background: -webkit-linear-gradient(top, #d29688 0%,#d1705a 30%,#d1705a 70%,#d29688 100%);
    background: linear-gradient(to bottom, #d29688 0%,#d1705a 30%,#d1705a 70%,#d29688 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d29688', endColorstr='#d1705a',GradientType=0 );
}

.global-menu li.sp-menu span.icon {
    border-color: #fff;
}

.global-menu li.sp-menu span.icon:before, .global-menu li.sp-menu span.icon:after {
    border-left-color: #fff;
}

.global-menu li.sp-menu a {
    color: #fff;
    position: relative;
}
.global-menu li.sp-menu a span.abstracts-alert {
    position: absolute;
    display: block;
    top: 50%;
    right: 20px;
    border: 1px solid #fff;
    font-size: 140%;
    padding: 5px 10px;
    margin: 0;
    margin-top: -24px;
}

nav li.sp-menu {
    background: rgba(209,112,90,0.5);
}
nav li.sp-menu span.icon {
    border-color: #fff;
}
nav li.sp-menu span.icon:before,
nav li.sp-menu span.icon:after {
    border-left-color: #fff;
}
nav li.sp-menu a {
    color: #fff;
    position: relative;
}
nav li.sp-menu a span.abstracts-alert {
    position: absolute;
    border: 1px solid #fff;
    padding: 2px 4px;
    font-size: 80%;
    top: 50%;
    right: 20px;
    margin-top: -11px;
}

.sponsor-wrap {
    margin: 0 30px;
    border-top: 1px solid #b3a0a4;
    border-bottom: 1px solid #b3a0a4;
    padding-bottom: 25px;
}
.sponsor-wrap p.platinum-title i, .sponsor-wrap p.gold-title i {
    display: inline-block;
    margin-right: 5px;
    font-size: 18px;
    position: relative;
    top: 1px;
}
.sponsor-wrap p.platinum-title, .sponsor-wrap p.gold-title {
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
}
.sponsor-wrap p.platinum-title i {
    color: #b3bbbe;
}
.sponsor-wrap p.gold-title i {
    color: #c0aa44;
}
.sponsor-wrap .sponsor-banner .row {
    margin-right: -10px;
    margin-left: -10px;
}
.sponsor-wrap .sponsor-banner [class^=col-] {
    padding-right: 10px;
    padding-left: 10px;
}
.sponsor-wrap .sponsor-banner a {
    display: block;
    -webkit-box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.2);
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.2);
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.sponsor-wrap .sponsor-banner a:hover {
    -webkit-box-shadow: 0 14px 20px rgba(0,0,0,0.3), 0 10px 12px rgba(0,0,0,0.22);
    box-shadow: 0 14px 20px rgba(0,0,0,0.3), 0 10px 12px rgba(0,0,0,0.22);
}

/* 2021.02.10 追加CSS */
.global-menu ul.sub-menu-wrap {
    position: absolute;
    width: 100%;
    top: -1px;
    left: 100%;
    z-index: 12;
    border-top: 1px solid #727171;
    border-left: 1px solid #727171;
    display: none;
}
.global-menu ul.sub-menu-wrap li {
    background: #f6f7d3;
    background: -moz-linear-gradient(top, #f6f7d3 0%, #f8ecb0 40%, #fcd563 100%);
    background: -webkit-linear-gradient(top, #f6f7d3 0%,#f8ecb0 40%,#fcd563 100%);
    background: linear-gradient(to bottom, #f6f7d3 0%,#f8ecb0 40%,#fcd563 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f7d3', endColorstr='#fcd563',GradientType=0 );
}
.global-menu ul.sub-menu-wrap li:hover {
    background: #fcd563;
}
.global-menu ul.sub-menu-wrap li a {
    color: #963F2C;
}
.global-menu ul.sub-menu-wrap li span.icon {
    border-color: #963F2C;
}
.global-menu ul.sub-menu-wrap li span.icon:before,
.global-menu ul.sub-menu-wrap li span.icon:after {
    border-left-color: #963F2C;
}
.global-menu ul.sub-menu-wrap li.has-more-menu-2 {
    height: 116px;
}
.global-menu ul.sub-menu-wrap li.has-more-menu-2 {
    line-height: 85px;
}
.global-menu ul.more-menu-wrap {
    position: absolute;
    width: 100%;
    top: -1px;
    left: 100%;
    border-top: 1px solid #727171;
    border-left: 1px solid #727171;
    display: none;
}
.global-menu ul.more-menu-wrap li {
    height: 58px;
    background: #f6f7d3;
    background: -moz-linear-gradient(top, #f7ef6d 0%, #f9db47 40%, #f6b005 100%);
    background: -webkit-linear-gradient(top, #f7ef6d 0%,#f9db47 40%,#f6b005 100%);
    background: linear-gradient(to bottom, #f7ef6d 0%,#f9db47 40%,#f6b005 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7ef6d', endColorstr='#f6b005',GradientType=0 );
}
.global-menu ul.more-menu-wrap li a {
    line-height: 27px;
}

.special-alert-wrap {
    position: absolute;
    z-index: 10;
    top: 20px;
    right: 7vw;
}
.special-alert-link {
    position: absolute;
    z-index: 10;
    top: 20px;
    right: 28vw;
}
.special-alert-link a {
    color: #ff0000;
    font-size: 1.4vw;
    text-decoration: underline;
}

.menu-trigger-wrap {
    height: 60px;
    position: relative;
    z-index: 103;
    display: none;
}

.sp-sub-menu {
    border-top: 1px solid #d1705b;
    margin-left: 33px;
}
.sp-sub-menu a {
    color: #d1705b;
    padding: 5px 0;
    display: block;
}
.sp-sub-menu a:before {
    content: "▶︎";
    display: inline-block;
    margin-right: 5px;
    font-size: xx-small;
    position: relative;
    top: -2px;
}

.main-contents .howto-join-wrap table {
    width: 100%;
    border-collapse: collapse;
}
.main-contents .howto-join-wrap table th {
    width: 220px!important;
}
.main-contents .howto-join-wrap table th,
.main-contents .howto-join-wrap table td {
    padding: 5px 0;
    vertical-align: top;
}
.main-contents .howto-join-wrap th:before,
.main-contents .howto-join-wrap td:before {
    content: none;
}

.join-price-wrap {
    margin-top: 20px;
    margin-bottom: 20px;
}
.join-price-wrap table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.join-price-wrap table th,
.join-price-wrap table td {
    padding: 5px 10px!important;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    text-align: center;
    vertical-align: middle;
}
.join-price-wrap table th {
    background: #bce0ff;
    width: auto!important;
}
.join-price-wrap table th.up-border-wrap {
    padding: 0!important;
    position: relative;
    width: 220px!important;
}
.join-price-wrap table th .up-border {
    height: 100%;
    width: 100%;
    border-top: 1px solid #000;
    transform: matrix(1, 0.17, 0, 1, 0, 15);
    position: absolute;
    top: 4px;
    left: 0;
}
.join-price-wrap table th.up-border-wrap span {
    color: #000;
    font-size: 14px;
    position: absolute;
}
.join-price-wrap table th.up-border-wrap span.right {
    top: 0;
    right: 10px;
}
.join-price-wrap table th.up-border-wrap span.left {
    bottom: 0;
    left: 10px;
}
.join-price-wrap table td {
    background: #fff;
}
.main-contents .join-price-wrap th:before,
.main-contents .join-price-wrap td:before {
    content: none;
}

p.indent-text {
    padding: 0 16px;
    line-height: 1.8;
    margin-left: 1em;
    text-indent: -1em;
}

.join-submit-wrap {
    margin-top: 30px;
    padding: 0 16px;
}

.basic-information-alert {
    width: 96%;
    margin: 20px auto;
    border: 1px solid #000;
    padding: 10px 15px;
    background: #fff2cd;
}
.basic-information-alert p {
    margin: 0;
}
.basic-information-alert p.title {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.basic-information-alert p.sub-title {
    text-align: center;
    margin: 10px 0;
    font-size: 18px;
    color: #b13824;
}
.basic-information-alert p.body {
    line-height: 1.8;
}
.basic-information-alert p.body a {
    color: red;
    text-decoration: underline;
}

.abstracts-wrap ul.numbering.circle > li {
    padding-left: 10px;
}
.abstracts-wrap ul.numbering.circle > li:before {
    content: counter(cnt);
    text-align: center;
    border: 1px solid #000;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    width: 30px;
    height: 30px;
    position: absolute;
    top: auto;
    left: -5px;
}

.meeting-price-wrap {
    margin-bottom: 30px;
}
.meeting-price-wrap table {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.meeting-price-wrap table th, .meeting-price-wrap table td {
    padding: 10px!important;
    width: auto!important;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
}
.meeting-price-wrap table th {
    text-align: center;
    background: #c1d9ff;
}
.meeting-price-wrap:not(.content) table tr:nth-child(1) th:nth-child(1) {
    width: 500px!important;
}
.main-contents .meeting-price-wrap th:before,
.main-contents .meeting-price-wrap td:before {
    content: none;
}
.meeting-price-wrap.content table th {
    width: auto!important;
}

.meeting-notice-wrap table {
    width: 100%;
    border: 1px solid #999;
}
.meeting-notice-wrap table th, .meeting-notice-wrap table td {
    padding: 10px!important;
}
.meeting-notice-wrap table th {
    border-right: 1px solid #999;
    width: 4em!important;
    text-align: center;
}
.main-contents .meeting-notice-wrap th:before,
.main-contents .meeting-notice-wrap td:before {
    content: none;
}

.num-link {
    margin: 20px 0;
}
.num-link a {
    font-size: 16px;
    display: inline-block;
}

a.btn-special-alert {
    display: block;
    text-decoration: none;
    background: #ff3131;
    font-size: 24px;
    padding-top: 35px;
    line-height: 1.6;
    color: #FFF;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    text-align: center;
    font-weight: bold;
    overflow: hidden;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
    border-bottom: solid 3px #bd6565;
    transition: .4s;
    animation: flash 2s linear infinite;
}
a.btn-special-alert:active {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0.15);
    border-bottom: none;
}
@keyframes flash {
    0%,100% {
        opacity: 0.5;
    }
    50% {
        opacity: 1;
    }
}

a.btn-special-alert.btn-after {
    padding-top: 68px;
    width: 240px;
    height: 240px;
    line-height: 2;
}

.board-image-wrap {
    float: right;
    width: 200px;
    margin: 20px 30px;
}

.presenter-box {
    border: 2px solid #337ab7;
    padding: 8px 12px;
    margin-top: 10px;
}
.presenter-box p {
    margin-bottom: 0;
}

/* 2021.02.23 追加CSS */
.program-buttons-wrap {
    margin-bottom: 20px;
    padding: 0 8px;
}
.program-buttons-wrap button {
    border: 2px solid #18529C;
    background: #fff;
    color: #18529C;
    display: inline-block;
    padding: 5px 9px;
    font-size: 14px;
    margin-bottom: 5px;
    margin-right: 5px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -o-border-radius: 6px;
    transition: all 0.3s 0s ease;
}
.program-buttons-wrap button:hover,
.program-buttons-wrap button.active {
    background: #18529C;
    color: #FFF;
}

.main-contents .program-table-wrap th:before,
.main-contents .program-table-wrap td:before {
    content: none;
}

.program-table-wrap {
    overflow-x: scroll;
}
.program-table-wrap table {
    width: 100%;
    border-top: 1px solid #18529C;
    border-left: 1px solid #18529C;
}
.program-table-wrap table th, .program-table-wrap table td {
    border-right: 1px solid #18529C;
    border-bottom: 1px solid #18529C;
    padding: 8px!important;
    font-size: 14px!important;
}
.program-table-wrap table th {
    text-align: center;
    font-size: 14px!important;
    font-weight: normal!important;
    font-family: auto!important;
    background: #BAE3F9;
}
.program-table-wrap table td {
    background: #FFF;
}
.program-table-wrap table th.web {
    background: #F7C9DD;
    color: #C30D23;
}
.program-table-wrap table tbody.program-contents {
    display: none;
}
.program-table-wrap table td.live:before {
    content: "LIVE";
    background: none;
    position: relative;
    display: block;
    background: #E60012;
    color: #fff;
    top: 0;
    left: 0;
    padding: 0px 10px;
    margin-bottom: 3px;
    width: 46px;
}

.program-table-wrap.nomination-web table th:nth-child(1) {
    width: 130px!important;
}
.program-table-wrap.nomination-web table th:nth-child(2) {
    width: 130px!important;
}
.program-table-wrap.nomination-web table th:nth-child(4) {
    width: 100px!important;
}
.program-table-wrap.nomination-web table th:nth-child(5) {
    width: 150px!important;
}

.program-table-wrap.seminar-local table th:nth-child(1) {
    width: 130px!important;
}
.program-table-wrap.seminar-local table th:nth-child(3) {
    width: 100px!important;
}
.program-table-wrap.seminar-local table th:nth-child(4) {
    width: 150px!important;
}

.program-table-wrap.seminar-web table {
    min-width: 1200px!important;
}
.program-table-wrap.seminar-web table th:nth-child(1) {
    width: 130px!important;
}
.program-table-wrap.seminar-web table th:nth-child(2) {
    width: 130px!important;
}
.program-table-wrap.seminar-web table th:nth-child(4) {
    width: 100px!important;
}
.program-table-wrap.seminar-web table th:nth-child(5) {
    width: 130px!important;
}
.program-table-wrap.seminar-web table th:nth-child(6) {
    width: 250px!important;
}

.main-contents .roll-and-ask-wrap th:before,
.main-contents .roll-and-ask-wrap td:before {
    content: none;
}
.roll-and-ask-wrap {
    margin-top: 15px;
}
.roll-and-ask-wrap table {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.roll-and-ask-wrap table th, .roll-and-ask-wrap table td {
    padding: 6px 10px!important;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    font-family: auto!important;
}
.roll-and-ask-wrap table th {
    text-align: center;
    font-weight: bold;
}

.to-faq {
    margin-top: 20px;
    padding: 0 10px;
}
.to-faq a {
    text-decoration: underline;
    font-size: 16px;
}

/* 2021.03.02 追加CSS */
.tech-support-wrap {
    border: 2px solid #000;
    margin-bottom: 50px;
    padding: 15px 10px;
    width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.tech-support-wrap p.title {
    font-size: 16px;
    margin-bottom: 20px;
    text-align: center;
}
.tech-support-wrap p.body {
    margin-bottom: 0;
    font-size: 16px;
    text-align: center;
    line-height: 1.6;
}

.abstracts-wrap ul.numbering.double > li:before {
    content: "（" counter(cnt) "）";
    margin-left: -2.5em;
    width: 2.5em;
}

.modal-dialog p.alert-body {
    font-size: 16px;
    line-height: 2;
    margin: 50px 0;
    text-align: center;
}

/* 2020.03.11 追加CSS */
.send-alert-wrap {
    margin-top: 10px;
}
.send-alert-wrap table {
    box-sizing: border-box;
}
.send-alert-wrap table th, .send-alert-wrap table td {
    padding: 0!important;
    vertical-align: top;
    color: red;
    font-size: 14px!important;
}
.send-alert-wrap table th:before, .send-alert-wrap table td:before {
    content: none!important;
}
.send-alert-wrap table th {
    width: 13em!important;
    text-align: left!important;
}

/* 2021.03.25 追加CSS */
p.hybrid-notice a {
    color: #b03824;
    text-decoration: underline;
}

.main-contents .information-wrap th:before,
.main-contents .information-wrap td:before {
    content: none;
}

.information-wrap {
    margin: 20px 0;
    overflow-x: scroll;
}
.information-wrap table {
    width: 100%;
    border-top: 1px solid #aaa;
    border-left: 1px solid #aaa;
    box-sizing: border-box;
    min-width: 1000px;
}
.information-wrap table th,
.information-wrap table td {
    border-bottom: 1px solid #aaa;
    border-right: 1px solid #aaa;
    font-size: 14px!important;
    vertical-align: top;
}
.information-wrap table th {
    background: #337ab7;
    color: #fff;
    text-align: center;
}
.information-wrap table td.left {
    background: #e2f2ff;
}
.information-wrap th:nth-child(1) {
    width: 150px;
}
.information-wrap th:nth-child(2) {
    width: 120px;
}
.information-wrap table td span {
    color: #337ab7;
}
.information-wrap table td a {
    color: #000;
    text-decoration: underline;
}

.main-contents .hosroom-wrap th:before,
.main-contents .hosroom-wrap td:before {
    content: none;
}

.hosroom-wrap {
    margin: 20px 0;
}

.hosroom-wrap table {
    width: 100%;
    border-top: 1px dashed #aaa;
}
.hosroom-wrap table tr {
    border-bottom: 1px dashed #aaa;
}
.hosroom-wrap table th, .hosroom-wrap table td {
    vertical-align: top;
    line-height: 1.6;
}
.hosroom-wrap table th {
    width: 8em!important;
}
.hosroom-wrap table td a {
    color: #b03824;
}

/* 2021.04.20 追加CSS */
.sponsor-wrap.in-page {
    border: none;
    margin-top: 30px;
}
.sponsor-wrap.in-page .sponsor-banner > div > div {
    margin-bottom: 20px;
}

.venue-map-wrap {
    margin: 30px;
    text-align: center;
}

a.btn.inproduction {
    margin-bottom: 0;
    width: 100%;
}

.abstracts-wrap b {
    font-family: KozGoBold;
}

.to-store-wrap {
    margin-top: 30px;
}
.to-store-wrap p.store-title {
    font-size: 18px;
    border-left: 5px solid #138683;
    border-bottom: 1px solid #138683;
    padding: 5px 8px;
}
.to-store-wrap .qr-wrap {
    width: 160px;
    margin: auto;
}
.to-store-wrap .btn-wrap {
    width: 200px;
    margin: auto;
}
.to-store-description {
    margin-top: 20px;
}
.to-store-description table {
    border-top: 1px solid #178683;
    border-left: 1px solid #178683;
    box-sizing: border-box;
}
.to-store-description table th,
.to-store-description table td {
    border-bottom: 1px solid #178683;
    border-right: 1px solid #178683;
}
.to-store-description table th {
    text-align: center;
    background: #f4f4f4;
}

.app-contact-wrap {
    margin-top: 30px;
    text-align: center;
}

/* 2021.04.27 追加CSS */
.special-alert-wrap.participation-change {
    right: 22.5vw;
}
.special-alert-wrap.participation-change a.btn-special-alert {
    background-color: #f0ad4e;
    border-bottom-color: #946625;
    line-height: 2;
    padding-top: 48px;
}

.modal-dialog p.alert-body a {
    color: red;
    text-decoration: underline;
}

.movie-wrap table {
    width: 100%;
    box-sizing: border-box;
}
.movie-wrap table td {
    width: 25%!important;
    position: relative;
    vertical-align: top;
}
.movie-wrap table td a.play {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #fff;
    text-shadow: 2px 2px 1px black;
    font-size: 44px;
    margin-top: -22px;
    margin-left: -22px;
}

p.signing {
    text-align: right;
}

.global-bottom-menu a.btn {
    font-size: 1.3vw;
}

a.btn-special-alert.disabled {
    pointer-events: none;
    opacity: .65;
    transition: none;
    animation: none;
}

p.subpage-alert {
    width: 96%;
    margin: auto;
    color: #ff0000;
    font-size: 16px;
    padding-left: 10px;
}

.colon-table table th,
.colon-table table td {
    padding: 0!important;
    vertical-align: top;
}
.colon-table table th {
    font-family: 'KozGo'!important;
}

.basic-howto-table {
    margin-top: 10px;
    margin-bottom: 10px;
}
.basic-howto-table table {
    width: 500px!important;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
}
.basic-howto-table table th,
.basic-howto-table table td {
    padding: 5px!important;
    text-align: center;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}
.basic-howto-table table th {
    width: 200px!important;
}

.basic-howto-table table td {
    width: 300px!important;
}

.colon-table.w-mx table {
    width: 100%;
}
.colon-table.w-mx table th {
    width: 12em;
    text-align: left;
}
.colon-table.w-mx table th:before {
    content: "■";
}
.colon-table.w-mx.w-8-1 table th {
    width: 8.1em;
}

.movie-box {
    position: relative;
    margin-bottom: 10px;
}
p.movie-title {
    text-align: center;
    border: 1px solid #0f8683;
    font-size: 12px;
    color: #0f8683;
    font-weight: bold;
}
p.movie-content {
    font-size: 12px;
    padding: 0 5px;
}
p.movie-title.lg {
    font-size: 16px;
}
p.movie-content.lg {
    font-size: 16px;
}

/* 2021.05.25 追加CSS */
.no-watch-cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
}

video::-internal-media-controls-download-button {
    display:none;
}
video::-webkit-media-controls-enclosure {
    overflow:hidden;
}

.radio-wrap input,
.radio-wrap label,
.checkbox-wrap input,
.checkbox-wrap label {
    display: inline-block;
    width: auto;
    border: none;
    box-shadow: none;
    margin: 0 5px 0 3px;
}
.radio-wrap input,
.checkbox-wrap input {
    width: 20px;
}
.radio-wrap label,
.checkbox-wrap label {
    position: relative;
    top: -12px;
    margin-right: 15px;
}

.text-input-group input {
    margin-bottom: 10px;
}

.howto-image-wrap {
    width: 400px;
}

a.disabled-link {
    cursor: none;
    pointer-events: none;
    color: gray;
    text-decoration: underline;
}

.to-enquete-wrap {
    width: 50%;
    margin: auto;
}

.error-message {
    font-size: 16px;
    color: #ff0000;
    font-weight: bold;
    margin-bottom: 10px;
}
.error-message:before {
    content: "※";
}

.special-alert-box {
    border: 2px solid #ff0000;
    padding: 10px;
    background: #fbe8f1;
}
.special-alert-box p.title {
    text-align: center;
    font-size: 18px;
    color: #ff0000;
    font-weight: bold;
}
.special-alert-box .body {
    font-size: 16px;
    line-height: 1.8;
}

a.bold-link {
    color: #b03824;
    font-weight: bold;
    text-decoration: underline;
}

.banner-wrap-noheight {
    margin: 30px;
    border-top: none;
}

/* フッター関連 */
.footer {
    bottom: 0;
    left: 0;
}
.footer .about-contact {
    padding: 15px 30px;
    position: relative;
}

.footer .about-contact table {
    width: 100%;
    position: relative;
    z-index: 10;
}
.footer .about-contact th {
    width: 80px;
}
.footer .about-contact td {
    width: auto;
    padding-left: 30px;
}
.footer .about-contact td p.contact-title {
    font-size: 14px;
    margin-bottom: 0;
}
.footer .about-contact td p.contact-body a {
    color: #000;
}
.footer .about-contact td p.contact-body {
    font-size: 10px;
}
.footer .about-contact .build-image {
    position: absolute;
    bottom: 0;
    right: 40px;
    width: 40%;
}
.footer .about-contact .sp-image {
    display: none;
}
.footer .security {
    background: #D1705C;
    margin: 0;
    text-align: right;
    padding: 10px 15px;
    font-family: KozGo;
    color: #fff;
    font-size: 12px;
    letter-spacing: 2px;
}
.footer .security a {
    color: #fff;
}

p.security {
    width: 100%;
    margin: 0;
    text-align: right;
    padding: 15px 30px;
    background: #D1705C;
    color: #fff;
    font-family: KozGo;
    letter-spacing: 2px;
}
p.security a {
    color: #fff;
}

/* メンテナンスページ用CSS */
.maintenance-wrap {
    border-top: 40px solid #056FB8;
}
.maintenance-wrap .mt-logo {
    width: 200px;
    margin: 20px auto;
}
.maintenance-wrap h3 {
    text-align: center;
    font-size: 2.2em;
    margin: 50px 0;
    color: #232555;
}
.maintenance-wrap p {
    text-align: center;
    line-height: 2;
    font-size: 1.1em;
}
.maintenance-wrap p span {
    font-size: 1.4em;
    font-weight: bold;
}
