@charset "utf=8";

span.marker {background: linear-gradient(transparent 50%, #ffd700 100%);}
.page-content .dsc-box {font-weight:normal;}

/* 学会テーブルCSS打消し */
#gakkai_schedule table th, table td {border-right:none;}
/**fix_20221210_uetani**/
main #right_column { margin-top: 80px;}
div#hospital section{margin-bottom:3.5rem;}
div#hospital { width: 100%;padding: 0 15px; box-sizing: border-box;}
@media screen and (min-width: 768px){
    #wrap { width:100%; max-width: 1220px;margin: 10px auto;}
    #container {width:100%; max-width: 1220px; box-sizing: border-box;}
    main #left_column {width: 30%;max-width: 300px; box-sizing: border-box; margin: 0;}
    main #right_column {width: 70%;flex: 1;box-sizing: border-box;margin: 0;}
    #pankuzu {padding: 0 15px;box-sizing: border-box; }
    div#hospital {width: 100%;max-width: 920px;padding: 0 15px; box-sizing: border-box; }
    div#hospital section#price dl.table dd, div#hospital section#deadline dl.table dd { max-width: 195px; }
    div#hospital section#deadline .box_wrap .box h4 {max-width: 190px;}
}
.page-content .dsc-box {font-weight:normal;}
.page-content .dsc-box B{font-weight:bold;}
.dsc-box {padding: 0 1rem;}
.dsc-box p {font-size:.89rem;margin:1rem .5rem;}
.dsc-box h3.area_h3 {font-size:1rem;margin:2rem 0 0;padding:.3rem .7rem;border-left:4px solid #0095ff;border-bottom: 3px solid #aed9f7;color: #333333;}
.dsc-box h4 {font-size:.95rem;border-bottom: 1px solid;margin-bottom: .5rem;font-weight: bold;color:#0000b4;}

.flex {display: flex;}
html{scroll-behavior:smooth;}

.f-j-dr-cl{display:flex;justify-content:center;align-items:center;}
.f-j-dr-cl >a{display:block;width:300px;max-width:45%;margin:.5rem;}
.f-j-dr-cl >a>img{display:block;width:100%;}
.div-p{padding:.5rem;}
@media screen and (max-width: 768px){
.f-j-dr-cl{max-width:90%;margin:0 auto}
}

/* リンクボタン */
.case-list {display: flex;flex-wrap: wrap;justify-content: flex-start;gap: 10px;max-width: 1000px;margin: 20px auto;padding: 10px;}
.case-list a {font-weight:bold; display: flex;align-items: center;justify-content: center;background: #00A1E9;color: #fff;text-decoration: none;padding: 12px 16px;border-radius: 6px;font-size: 1.2rem;text-align: center;transition: background 0.3s ease-in-out, transform 0.2s;width: calc(33.333% - 40px);min-width: 180px;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);line-height: 1.5;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.case-list a:hover {background: #0080C6;transform: scale(1.05);}
@media (max-width: 1100px) {.case-list a {width: calc(50% - 10px);}}
@media (max-width: 600px) {.case-list {justify-content: center;}
.case-list a {width: 100%;font-size: 1rem;padding: 10px 12px;white-space: normal;}}

/* topのボタン */
#area_genre_button{display:flex;justify-content:center;margin:2rem 0 .5rem;}
#area_genre_button >a{font-family:sans-serif;display:flex;align-items:center;justify-content:center;width:325px;max-width:45%;margin:.5rem;padding:1.25rem 1rem;text-align:center;border:2px solid #003aa2;border-radius:.5rem;font-size:1rem;font-weight:bold;}
#area_genre_button >a:hover{background-color:rgb(198 211 255 / 84%);transform:scale(1.04);}
.japan_area::before {content: '';display: inline-block;border: 1px solid #003aa2;width: 22px;height: 22px;margin-right: 7px;background-image: url(https://visipri.com/gakkai-setti/icon/map.svg);background-color: #003aa2;background-position: center;background-size: contain;background-repeat: no-repeat;border-radius: 20px;}
.famous_area::before {content: '';display: inline-block;width: 22px;height: 22px;margin-right: 7px;background-image: url(https://visipri.com/area_detail/img/ex_hotel.webp);background-position: center;background-size: contain;background-repeat: no-repeat;border-radius: 20px;}
.japan_area{background:#fff;}

/* 遷移ボタン */
.other_sd_h4{font-size:1.16rem;font-weight:bold;margin:2rem 0 13px;padding: .3rem .7rem;border-left: 4px solid #4123ff;border-bottom: 3px solid #aed9f7;color:#1b00c2;}
#other_button{display:flex;justify-content:center;flex-wrap:wrap;margin:2rem 0 .5rem;}
#other_button >a{background: #9dedff;font-family:sans-serif;display:flex;align-items:center;justify-content:center;width:215px;max-width:100%;margin:.5rem;padding:1.25rem 1rem;text-align:center;border-radius:.5rem;font-size:1rem;font-weight:bold;}
#other_button >a:hover{background-color:rgb(198 211 255 / 84%);transform:scale(1.04);box-shadow:0px 3px 6px #aaa;}
#other_button >a::before {content: '';display: inline-block;border: 1px solid #003aa2;width: 22px;height: 22px;margin-right: 7px;background-image: url(https://visipri.com/area_detail/img/ex_hotel.webp);background-color: #fff;background-position: center;background-size: contain;background-repeat: no-repeat;border-radius: 20px;}

:root {--ink: #223047;--muted: #64748b;--line: #dce3ec;--pink: #E4007F;--cyan: #009ce4;--silver: #3a3a3a;--navy: #233b66;--page: #f5f8fc;}
.app-shell {position: relative;overflow: hidden;padding: 36px 20px 48px;}
.page-wrap {font-family:sans-serif;position: relative;width: 100%;max-width: 1160px;margin: 0 auto;}
.hero-card,
.delivery-card {background: rgba(255, 255, 255, 0.92);box-shadow: 0 18px 48px rgba(35, 59, 102, 0.09);}
.hero-card {position: relative;overflow: hidden;padding:35px 25px;border-radius:24px 24px 0 0;background:rgb(198 211 255 / 84%);animation: rise-in 0.55s ease-out both;}
.hero-card::after {position: absolute;right: -74px;bottom: -128px;width: 220px;height: 220px;border:28px solid rgb(238 247 255 / 70%);border-radius: 50%;content: "";pointer-events: none;}
.eyebrow {display: inline-flex;align-items: center;gap: 8px;margin: 0 0 12px;color: #42628e;font-size: 0.76rem;font-weight: 700;letter-spacing: 0.1em;}
.pin-mark,
.title-icon,
.search-mark,
.external-mark {display: inline-flex;align-items: center;justify-content: center;}
.pin-mark {width: 15px;height: 15px;color: currentColor;}
.title-line {display: flex;align-items: center;gap: 13px;}
.title-icon {width: 43px;height: 43px;flex: 0 0 auto;border-radius: 14px;color: #ffffff;background:#003aa2;box-shadow: 0 8px 16px rgba(35, 59, 102, 0.2);}
.title-icon img {display: block;width: 30px;}
.title-icon svg,
.pin-mark svg,
.search-mark svg,
.external-mark svg {width: 100%;height: 100%;}
.title-icon svg {width: 23px;height: 23px;}
h4.area-text {font-size:1.25rem;font-weight:bold;margin: 0;line-height: 1.25;}
.page-description {margin: 8px 0 0;color:#514f4f;font-size: 0.92rem;line-height: 1.75;}
.delivery-card {overflow: hidden;padding-bottom: .75rem;border-radius:0 0 24px 24px;animation: rise-in 0.65s 0.08s ease-out both;}
.controls {display: flex;align-items: center;justify-content:center;padding: 24px 28px 20px;background: #ffffff;}
.legend {display: flex;flex: 1 1 auto;align-items: center;flex-wrap: wrap;gap: 8px;}
.legend-label {margin-right: 4px;color: var(--muted);font-size: 0.78rem;font-weight: 700;}
.legend-chip {display: inline-flex;align-items: center;gap: 6px;padding: 6px 10px;border-radius: 999px;color: #334155;font-size: 0.75rem;font-weight: 700;white-space: nowrap;}
.legend-dot {width: 8px;height: 8px;border-radius: 50%;background: currentColor;opacity: 0.65;}
.search-box {position: relative;width: 370px;flex: 0 370px;}
.search-mark {position: absolute;top: 50%;left: 12px;width: 17px;height: 17px;color: #718096;transform: translateY(-50%);pointer-events: none;}
.search-input {width: 100%;min-height: 42px;padding:.75rem 2rem;border:2px solid #7f97bd;border-radius: 12px;outline: none;color: var(--ink);background: #f9fbfe;font-size: 0.9rem;transition: border-color 0.2s ease, box-shadow 0.2s ease;}
.search-input:focus {border-color: #5d7ba6;box-shadow: 0 0 0 4px rgba(93, 123, 166, 0.14);}
.table-scroll {width:100%;overflow-x: auto;overscroll-behavior-x: contain;scrollbar-color: #aebccc #f1f4f8;scrollbar-width: thin;}
.area-table {width: 100%;padding:1rem;border-collapse: separate;border-spacing: 0;text-align: center;}
.area-table th {padding: 15px 14px;border-right: 1px solid rgba(35, 59, 102, 0.12);color: #31435e;font-size:1rem;font-weight: 700;letter-spacing: 0.03em;}
.area-table th:first-child {width:18%;background: #eff3f8;}
.area-table th:nth-child(2) {width:20%;color:#fff;background:linear-gradient(45deg, #E4007F, #ff56b4, #ff50b1, #ffcee9)/* var(--pink)*/;}
.area-table th:nth-child(3) {width:20%;color:#fff;background:linear-gradient(45deg, #006ee4, #5667ff, #50a9ff, #ced8ff)/* var(--cyan) */; }
.area-table th:nth-child(4) {width:20%;color:#fff;border-right: 0;background:linear-gradient(45deg, #121212, #606060, #595959, #535353) /* var(--silver) */;}
.area-table td {padding:.5rem .75rem;border-right: 1px solid var(--line);border-bottom: 1px solid var(--line);color: #40516b;background: #ffffff;font-size: 0.85rem;font-weight: 500;line-height: 1.65;}
.area-table tbody tr {transition: background-color 0.18s ease;}
.area-table tbody tr:hover td {background-color: #f8fbff;}
.area-table td:first-child {text-align:center;background: #fcfdff;}
.area-table td:last-child { border-right: 0; }
.pref-link {display: inline-flex;align-items: center;gap: 7px;color: #0900ff;font-size:.98rem;font-weight: 700;text-decoration: none;transition: color 0.18s ease, transform 0.18s ease;}
.pref-link:hover {color: #0e357c;transform: translateX(2px);text-decoration: underline;text-underline-offset: 4px;}
a.pref-link{color:#0900ff;}
a.pref-link:visited{color:#0900ff;}
.external-mark {width: 14px;height: 14px;}
.service-pill {display: inline-block;padding: 4px 10px;border-radius: 8px;background:rgb(255 255 255 / 85%);box-shadow: inset 0 0 0 1px rgba(35, 59, 102, 0.08);}
.gek-cell { background: #fff1ff !important; }
.nor-cell { background: #eaffff !important; }
.exp-cell { background: #f6f6f6 !important; }
.empty-state {display: none;padding: 48px 24px;color: var(--muted);background: #ffffff;text-align: center;}
.empty-state.is-visible { display: block; }
.visually-hidden {position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;clip-path: inset(50%);}
.pref-link:focus-visible,
.search-input:focus-visible {outline: 3px solid rgba(37, 82, 165, 0.35);outline-offset: 3px;}
@keyframes rise-in {from {  opacity: 0;transform: translateY(14px);}to {  opacity: 1;transform: translateY(0);}}
@media (max-width: 720px) {
	.pref-link {font-size:13px;width:100%;justify-content:center;}
	.app-shell {  padding:0;}
	.hero-card {margin-top: 2rem;padding: 24px 20px;border-radius: 20px;}
	.hero-card::after {  right: -92px;bottom: -148px;width: 190px;height: 190px;z-index:-1;}
	.title-line {  align-items: flex-start;gap: 11px;}
	.title-icon {  width: 39px;height: 39px;border-radius: 12px;}
	.page-description {  font-size: 0.86rem;}
	.delivery-card {  margin-top: 16px;border-radius: 20px;}
	/* .controls {  align-items: stretch;flex-direction: column;gap: 16px;padding: 18px;} */
	.legend {  gap: 7px;}
	.legend-label {  width: 100%;margin-right: 0;}
	.search-box {width:100%;max-width: none;flex-basis: auto;}
	.table-scroll {width:100%;overflow: visible;}
	.area-table{padding:0;}
	.area-table th{font-size:.7rem}
	.area-table td {font-size:11px;}
	.external-mark{display:none;}
	/* .area-table,
	.area-table tbody,
	.area-table tr,
	.area-table td {width: 100%;min-width: 0;}
	.area-table thead {  display: none;}
	.area-table {  padding: 12px;}
	.area-table tbody {  display: grid;gap:1.5rem;}
	.area-table tr {  overflow: hidden;border:2px solid #c9c9c9;border-radius: 15px;background: #ffffff;box-shadow: 0 4px 12px rgba(35, 59, 102, 0.04);}
	.area-table td {  display: flex;align-items: center;justify-content: space-around;min-height: 52px;padding: 11px 13px;border-right: 0;border-bottom: 1px solid var(--line);text-align: right;font-size: 0.82rem;}
	.area-table td::before {  flex: 0 0 5.5em;color: #fff;font-size:1.1rem;font-weight: 700;text-align: left;content: attr(data-label);}
	.area-table td:first-child {  display: block;min-height: auto;padding: 13px;background: #fff;}
	.area-table td:first-child::before {  display: none;}
	.area-table td:last-child {  border-bottom: 0;}
	.area-table tbody tr:hover td {  background-color: inherit;}
	.area-table tbody tr:hover td:first-child {  background-color: #f7faff;}
.gek-cell {background:linear-gradient(45deg, #d9368b, #ffa2d2)!important;}
.nor-cell {background:linear-gradient(45deg, #3478d4, #a2caff)!important;}
.exp-cell {background:linear-gradient(45deg, #000000, #8e8e8e)!important;} */
	/* .service-pill {width:45%;text-align:center;padding: 4px 8px;color: #a31616;
	text-shadow: 0 0 1px #000000, 0 0 1px #aaa, 0 0 1px #aaa, 0 0 1px #000000, 0 0 1px #aaa, 0 0 1px #000000, 0 0 1px #aaa;}
	.empty-state {  padding: 36px 18px;} */
}
@media (max-width: 390px) {
	.area-table td{font-size:.59rem;}
	/* .legend-chip {  padding: 5px 8px;font-size: 0.71rem;}
	.area-table {  padding: 9px;}
	.area-table td {padding: 10px 11px;}
	.area-table td::before {  flex-basis: 4.8em;}
	.service-pill {  max-width: calc(100% - 4.8em);font-size: 0.78rem;} */
}
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {scroll-behavior: auto !important;animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;}
}