/*
Theme Name: arc_base 2025
Theme URI: 
Version: 1.0
Author: ARCADIA SYSTEMS
Author URI: https://arc-mec.com/

/*	INDEX
-------------------------------------------------
	BASE
	HEADER
	CONTENT
	SIDE BAR
	FOOTER
	MISC
	Mobile
	HACK
*/

/*	BASE
-------------------------------------------------*/
* {margin: 0; padding: 0;}
html{}
body{}
main{
	min-height:calc(100vh - 240px);
}
.wp-block-group p{margin:0.5em 0;}

/*	HEADER
-------------------------------------------------*/

/*	CONTENT
-------------------------------------------------*/
.space-y-4 > .wp-block-group__inner-container > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}

.wp-block-file.fw-4 {
    font-size: 1rem !important;
}
.tw-grid-1-2-3 > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: 1.5rem;
}
.postg-for_student_and_doctor nav ul.grid li.group a{
	padding: 3rem 1.5rem;
    width: 100%;
    background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
    color: rgb(29 78 216 / var(--tw-text-opacity, 1));
}
.postg-for_student_and_doctor nav ul.grid li.group a:hover,
.postg-for_student_and_doctor nav ul.grid li.group a:active{
    background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}
.postg-for_student_and_doctor div.entry div.inpost-card{
	background-color: white;
    border-radius: 10px;
    padding: 25px;
    margin-bottom: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
}
.postg-for_student_and_doctor div.entry div.inpost-card h2{
    font-size: 1.8rem;
    font-weight: 700;
    color: #1e3a8a;
    margin-bottom: 20px;
    border-bottom: 3px solid #bfdbfe;
    padding-bottom: 10px;
	width: 100%;
}
.postg-for_student_and_doctor div.entry div.inpost-card h3{
	font-size: 1.4rem;
    font-weight: 600;
    color: #1c528a;
    margin-bottom: 15px;
}
.postg-for_student_and_doctor div.entry div.inpost-card.is-layout-flex ul{
	margin: 0 0 1rem 1.25rem;
}
.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
	width: 100%;
}
.postg-for_student_and_doctor div.entry div.inpost-card .flow-step {
	background-color: #dbeafe; /* Light blue for flow steps */
	border: 2px solid #60a5fa; /* Blue border for flow steps */
	border-radius: 8px;
	padding: 15px 10px;
	text-align: center;
	font-weight: 600;
	color: #1e40af; /* Darker blue text for flow steps */
	flex: 1 1 calc(33% - 40px); /* Adjusts for 3 columns, with gap */
	/*min-width: 280px; /* Minimum width for each step */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	position: relative;
}
.postg-for_student_and_doctor div.entry div.inpost-card .flow-step::after {
	content: '→';
	position: absolute;
	right: -25px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: #60a5fa; /* Blue for arrows */
}
.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart .flow-step:last-child::after {
	content: none;
}
.au-nav ul li,
.for-sa-nav ul li{
	padding: 0.25rem;
	flex:1 1 0%;
}
.au-nav ul li a:link,
.au-nav ul li a:visited,
.au-nav ul li a:hover,
.au-nav ul li a:active,
.for-sa-nav ul li a:link,
.for-sa-nav ul li a:visited,
.for-sa-nav ul li a:hover,
.for-sa-nav ul li a:active {
	--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	--tw-text-opacity: 1;
    color: rgb(55 65 81);
	text-align: center;
	padding: 0.5rem;
	background-color: #fff;
	border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
	border-radius: 0.25rem;
	width: 100%;
	height: 100%;
	display: inline-block;
	text-decoration: none;
}
.au-nav ul li a:focus,
.for-sa-nav ul li a:focus {
	--tw-ring-opacity: 0.5;
	--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity, 1));
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
	outline: 2px solid transparent;
    outline-offset: 2px;
}
.au-nav ul li.current_page_item a,
.au-nav ul li a:hover,
.au-nav ul li a:active,
.for-sa-nav ul li.current_page_item a,
.for-sa-nav ul li a:hover,
.for-sa-nav ul li a:active {
	color: #fff;
	background-color:#2563eb;
}


/*	post table
-------------------------------------------------*/
figure.wp-block-table,
.is-layout-flex figure.wp-block-table {
	margin: 20px 0;
}
figure.wp-block-table .has-fixed-layout{
	table-layout: auto;
}
figure.wp-block-table thead{
	border: 1px solid #e0e7ff;
}
figure.wp-block-table th,
figure.wp-block-table td{
	border: 1px solid #e0e7ff;
	padding: 12px;
	text-align: left;
}
figure.wp-block-table th{
	background-color: #eff6ff;
	font-weight: 600;
	color: #1e40af;
}
figure.wp-block-table tr:nth-child(even) {
    background-color: #f9fafb;
}

/*	post ol ul li
-------------------------------------------------*/
.wp-block-group ol,
.wp-block-group ul{
	margin: 0.5em 0 0.5em 1em;
}
ol.wp-block-list {list-style-type: decimal;}
ul.wp-block-list {list-style-type: disc;}
ol.wp-block-list ,
ul.wp-block-list {list-style-position: inside;}

/*	TOP
-------------------------------------------------*/

/*	page
-------------------------------------------------*/

/*	会社概要
-------------------------------------------------*/

/*	single
-------------------------------------------------*/

/*	FOOTER
-------------------------------------------------*/

/*	新着情報
-------------------------------------------------*/

/*	お問合せフォーム
-------------------------------------------------*/

/*	MISC
-------------------------------------------------*/

/*	ページング
-------------------------------------------------
*/
/*	ページング
------------------------------------------------*/
.pagination{
	font-size:1rem;
	display: flex;
	justify-content: center;
	margin:2rem 0;
}

.pagination .pagination__list{display:flex;align-items:center;order:2;}
.pagination .pagination__pos{display:none;}
.pagination .pagination__btn--first{display:none;}
.pagination .pagination__btn--prev{order:1;}
.pagination .pagination__btn--next{order:3;}
.pagination .pagination__btn--last{display:none;}
.pagination ul li{margin:0 0.4em;}
.pagination span,
.pagination a:link,
.pagination a:visited{
	color:#333;
	text-decoration:none;
	padding:0.5rem;
	margin:0 0.5em;
	text-align:center;
	min-width:20px;
	border:1px solid #ccc;
	border-radius:4px;
	background: #efefef;
	background: -moz-linear-gradient(top, #F9F9F9 0%, #ffffff 100%);
	background: -webkit-linear-gradient(top, #F9F9F9 0%,#ffffff 100%);
	background: linear-gradient(to bottom, #F9F9F9 0%,#ffffff 100%);
}
.pagination a:hover,
.pagination a:active{opacity:0.8;}
.pagination ul li a:link,
.pagination ul li a:visited{margin:0;}
.pagination span.current,
.pagination__item--current{font-weight:bold;}

@media screen and (max-width: 600px) {
	.pagination a:link,
	.pagination a:visited{padding:0.8rem;}
	.pagination .pagination__list{display:none;}
	.pagination .pagination__pos{display:initial;order:3;padding:0.8rem 0.5rem;}
	.pagination .pagination__btn--first{display:initial;order:1;}
	.pagination .pagination__btn--prev{order:2;}
	.pagination .pagination__btn--next{order:4;}
	.pagination .pagination__btn--last{display:initial;order:5;}
}

/*	Mobile
-------------------------------------------------*/
/*PC*/
@media (min-width: 769px) {
	.pc_none{display:none!important;}
}
@media (min-width: 768px){
	.tw-grid-1-2-3 > .wp-block-group__inner-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart{
		flex-wrap: wrap !important;
	}
	.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart .flow-step {
		flex: 1 1 100%; /* 1 column on mobile */
	}
	.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart .flow-step:last-child::after {
		content: none;
	}
}
@media (max-width: 1024px){
	.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart .flow-step::after {
		content: '↓';
		right: 50%;
		top: auto;
		bottom: -25px;
		transform: translateX(50%);
	}
}
@media (min-width: 1024px){
	.tw-grid-1-2-3 > .wp-block-group__inner-container {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.postg-for_student_and_doctor div.entry div.inpost-card .flow-chart{
		flex-wrap: nowrap !important;
	}
}

/*SP*/
@media (max-width: 768px) {
	.sp_none{display:none!important;}
}

/*	HACK
-------------------------------------------------*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}


/*	tailwindcss
-------------------------------------------------*/
body{
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #F0F8FF; /* Light Cyan / AliceBlue - a very light blue */
	color: #334155;
}
.font-roboto {
	font-family: 'Roboto', sans-serif;
}
.accent-color {
	background-color: #3B82F6; /* Blue 500 */
}
.accent-text {
	color: #2563EB; /* Blue 600 */
}
.hero-bg {
	background-image: url('https://placehold.co/1600x900/a0d8ef/ffffff?text=Okinawa+Community+Medicine+Support+Center');
	background-size: cover;
	background-position: bottom;
}
.chart-container {
	position: relative;
	height: 500px; /* Adjusted height for better display */
	max-height: 60vh;
	width: 100%;
	max-width: 900px; /* Increased max-width */
	margin: auto;
}
/* Specific override for graduatedSpecialtyChart container */
#for-track-doctors .chart-container:nth-of-type(3) { /* Targeting the 3rd chart container in this section */
	height: 600px; /* Even larger height for this specific chart */
	max-height: 80vh;
	max-width: 1000px; /* Even larger max-width for this specific chart */
}
.tab-button.active {
	border-color: #3B82F6; /* Blue 100 */
	color: #3B82F6; /* Blue 100 */
	font-weight: bold;
}
.text-outline {
	text-shadow: 
		-1.5px -1.5px 0 #ffffff,  
		1.5px -1.5px 0 #ffffff,
		-1.5px 1.5px 0 #ffffff,
		1.5px 1.5px 0 #ffffff;
}
/* Styles for the new doctor maldistribution page */
.kpi-value {
	color: #0077C2;
}
.kpi-shortfall {
	color: #D32F2F;
}
.accent-yellow {
	color: #FDB913;
}
.bg-accent-yellow {
	background-color: #FDB913;
}
.text-navy-blue {
	color: #00509E;
}
.bg-navy-blue-light {
	background-color: #F0F4F8; /* Light blue background for sections */
}

/* Styles for Career Program Details section */
#career-program-details .section-title {
	font-size: 1.8rem;
	font-weight: 700;
	color: #1e3a8a; /* Darker blue to match theme */
	margin-bottom: 20px;
	border-bottom: 3px solid #bfdbfe; /* Lighter blue border */
	padding-bottom: 10px;
}
#career-program-details .card {
	background-color: white;
	border-radius: 10px;
	padding: 25px;
	margin-bottom: 20px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease-in-out;
}
#career-program-details .card:hover {
	transform: translateY(-5px);
}
#career-program-details .sub-title {
	font-size: 1.4rem;
	font-weight: 600;
	color: #1c528a; /* Darker blue to match theme */
	margin-bottom: 15px;
}
#career-program-details ul {
	list-style-type: disc;
	margin-left: 20px;
	margin-bottom: 15px;
}
#career-program-details ol {
	list-style-type: decimal;
	margin-left: 20px;
	margin-bottom: 15px;
}
#career-program-details li {
	margin-bottom: 8px;
	line-height: 1.6;
}
#career-program-details .note {
	background-color: #e0f2f7; /* Light blue for notes */
	border-left: 4px solid #4fc3f7; /* Blue border for notes */
	padding: 15px;
	border-radius: 5px;
	margin-top: 20px;
	color: #01579b; /* Darker blue text for notes */
}
#career-program-details .table-container {
	overflow-x: auto;
	margin-top: 20px;
	margin-bottom: 20px;
}
#career-program-details table {
	width: 100%;
	border-collapse: collapse;
	min-width: 600px; /* Ensures table is not too narrow on small screens */
}
#career-program-details th, #career-program-details td {
	border: 1px solid #e0e7ff;
	padding: 12px;
	text-align: left;
}
#career-program-details th {
	background-color: #eff6ff; /* Lightest blue for table headers */
	font-weight: 600;
	color: #1e40af; /* Darker blue for table headers */
}
#career-program-details tr:nth-child(even) {
	background-color: #f9fafb; /* Slightly off-white for even rows */
}
#career-program-details .flow-chart {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin-top: 20px;
}
#career-program-details .flow-step {
	background-color: #dbeafe; /* Light blue for flow steps */
	border: 2px solid #60a5fa; /* Blue border for flow steps */
	border-radius: 8px;
	padding: 15px 20px;
	text-align: center;
	font-weight: 600;
	color: #1e40af; /* Darker blue text for flow steps */
	flex: 1 1 calc(33% - 40px); /* Adjusts for 3 columns, with gap */
	min-width: 280px; /* Minimum width for each step */
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	position: relative;
}
#career-program-details .flow-step::after {
	content: '→';
	position: absolute;
	right: -25px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	color: #60a5fa; /* Blue for arrows */
}
#career-program-details .flow-chart .flow-step:last-child::after {
	content: none;
}
@media (max-width: 768px) {
	#career-program-details .flow-step {
		flex: 1 1 calc(50% - 20px); /* 2 columns on tablets */
	}
}
@media (max-width: 480px) {
	#career-program-details .flow-step {
		flex: 1 1 100%; /* 1 column on mobile */
	}
	#career-program-details .flow-step::after {
		content: '↓';
		right: 50%;
		top: auto;
		bottom: -25px;
		transform: translateX(50%);
	}
	#career-program-details .flow-chart .flow-step:last-child::after {
		content: none;
	}
}

