@charset "UTF-8";
/*
Theme Name: kobemed-member2026
Author: 株式会社メックコミュニケーションズ
Author URI: https://www.mec-com.co.jp
Date: 2026-02
*/

/*parts
-----------------------------------------------------------------------------------------*/
body{
/*特色*/
	--color_mido:#00aabc;
	--color_mido2:#58c2cf;
	--color_mido3:#73D0DA;
	--color_ao:#1a61b0;
	--color_cha:#998675;
	--color_rose:#e24f76;
	--color_rose2:#EB95AD;
	--color_rose3:#ffe8e8;
	--color_rose4:#fff3f3;
	--color_hai:#f9f9fa;
	--color_aka:#DF354A;
/*リンクの色*/
	--color_link:#0071bc;
/*-------------------------base*/
/*text*/
	--tx_sen:var(--color_rose);
	--tx_waku:var(--color_rose2);
	--tx_kiji:var(--color_rose);
	--tx_belt:var(--color_rose);
	--tx_line:var(--color_rose2);
	--tx_bar:var(--color_rose);
	--tx_maru:var(--color_link);
/*ya*/
	--ya_tri:var(--color_link);
	--ya_sen:var(--color_rose);
	--ya_maru:var(--color_rose);
/*btn*/
	--btn:var(--color_rose);
/*list*/
	--list_line:#000;
	--list_box:#FFF;
	--list_mark:red;
/*sitemap*/
	--sitemap:var(--color_rose);
	--sitemap_ya:var(--color_rose);
/*parts*/
	--flow_no:#CCCCCC;
	--dtbox:#CCCCCC;
	--tab_btn:var(--color_rose);
/*etc*/
	--sya:var(--color_rose);
}



/*-------------------------------------------------------------------------------------------------parts*/
/*--------------------------------------------------table*/
table th,
table td{
	border:1px solid var(--color_rose2);
	font-weight:400;
	font-family: 'Inter', "Zen Kaku Gothic New", sans-serif;
	padding:1em;
}
table th{
	background-color:#f9dce4;
	font-weight:500;
	font-family: 'Inter', "Zen Maru Gothic", sans-serif;
}
table td{
	vertical-align:top;
}
@media screen and (max-width: 767px) {
	table th,
	table td{padding:0.5em;}
}

/*--------------------------------------------------tx*/
.tx a,
.tx_medi{
	font-weight:medium;
	font-family: "Zen Maru Gothic",serif;
}
.tx_line{
	margin-top:70px;
	border-bottom:1px solid var(--color_rose2);
	padding:0 0 13px 30px;
	background:url(images/tx_line.svg) left top no-repeat;
	background-size:20px calc(100% - 10px);
	margin-bottom:0.75em;
}
.tx_line.no{
	padding:0 0 0.4em 0;
	background:none;
}
.tx_line.no span{
	width:5em;
	margin-right:0.5em;
	height:1.6em;
	text-align:center;
}
.tx_waku{
	background:var(--color_hai);
	margin-top:50px;
	color:var(--color_rose);
	margin-bottom:0.5em;
}
.tx_dot{
	padding-left:1.2em;
}
.tx_dot:before{ 
	margin-left:-1.2em;
	display:inline-block; 
	content:'●';
	width:1.2em;
}
@media screen and (max-width: 1000px) {
	.tx_line{margin-top:50px;}
	.tx_waku{margin-top:40px;}
	.tx_line.no span{display:block;font-size:1.6rem;margin-bottom:0.2em;}
}
/*--------------------------------------------------kakko_no*/
.kakko_no li{
	margin-left:2em;
	text-indent:-2em;
	margin-top:0.5em;
}

/*--------------------------------------------------list_topics*/
.list_topics{
	border-top:1px dashed #B5B5B5;
}
.list_topics .list_line{
	border-top:none;
	border-bottom:1px dashed #B5B5B5;
}
.list_topics a{
	padding:1.3em 0.3em 1.4em 0.3em;
}
.list_topics .list_date{
	letter-spacing:0.05em;
}
.list_topics .list_cat{
	margin-top:0.1em;
	padding:0 0 0.1em 0;
	border-radius:100px;
	border:1px solid var(--color_rose);
	color:var(--color_rose);
	width:7em;
	font-weight:600;
}

body .btn::before{
filter: drop-shadow(0.5px 0 0.5px white) 
          drop-shadow(-0.5px 0 0.5px white) 
          drop-shadow(0 0.5px 0.5px white) 
          drop-shadow(0 -0.5px 0.5px white);
}

/*--------------------------------------------------btn_line*/
.btn_line{
	position:relative;
	padding-right:6px;
	padding-bottom:6px;
}
.btn_line::before{
	content:"";
	display:block;
	width:calc(100% - 7px);
	height:calc(100% - 7px);
	border-right:1px solid var(--color_rose2);
	border-bottom:1px solid var(--color_rose2);
	position:absolute;
	right:0;
	bottom:0;
}
.btn_line a{
	width:100%;
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	background:var(--color_hai);
	border:1px solid var(--color_rose2);
	font-weight:medium;
	font-family: "Zen Maru Gothic",serif;
	min-height:4em;
	color:#000;
	text-decoration:none;
}
.btn_line a::before{
	position:absolute;
	margin:0;
	right:0.5em;
}
.btn_line a:hover{
	transform: translate(6px, 6px);
	background:var(--color_rose3);
}
/*--------------------------------------------------more*/
.more a{
	display:inline-block;
	background:var(--color_cha) url(images/more.svg) 100px 18px no-repeat;
	width:150px;
	height:40px;
	text-align:left;
	font-weight:medium;
	font-family: "Zen Maru Gothic",serif;
	border-radius:100px;
	font-size:20px;
	letter-spacing:2px;
	line-height:1;
	color:#FFF;
	padding:10px 0 0 20px;
	transition:all 0.3s;
}
.more a:hover{
	filter:brightness(120%);
	background-position:110px 18px;
}
/*--------------------------------------------------imgbox*/
.imgbox{
	position:relative;
	display:block;
	padding-right:8px;
	padding-bottom:8px;
	margin-bottom:auto;
	z-index:1;
}
.imgbox img{
	border:1px solid var(--color_rose2);
}
.imgbox::before{
	content:"";
	display:block;
	width:calc(100% - 10px);
	height:calc(100% - 10px);
	border:1px solid var(--color_rose2);
	background:#FFF;
	position:absolute;
	z-index:-1;
	right:0;
	bottom:0;
}


/*-------------------------------------------------------------------------------------------------home*/
.home::before{
	height:600px;
}
/*--------------------------------------------------home_top*/
.home_top_img{
	position:absolute;
	right:0;
	left:calc(50% - 270px);
	overflow:hidden;
	height:640px;
	border-top-left-radius:320px;
	border-bottom-left-radius:320px;
}
.home_top_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
.home_top_img::before{
	content:"";
	display:block;
	width:300px;
	height:100%;
	position:absolute;
	bottom:0;
	left:0;
	background: linear-gradient(
	to right, 
	rgba(255, 255, 255, 0.8) 0%,
	rgba(255, 255, 255, 0.6) 60%,
	rgba(255, 255, 255, 0) 100%
	);
}
.home_top_copy{
	height:610px;
	padding-top:130px;
}
.home_top_copy p{
	text-shadow: 1px 1px 1px #FFF;
}
.home_top_copy .fs45{
	letter-spacing:0.1em;
	line-height:1.33;
	font-family: "Zen Maru Gothic",serif;
	font-weight:700;
	margin-bottom:30px;
}
.home_top_copy div{
	margin-top:90px;
	filter: drop-shadow(2px 2px 0 #FFF);
}
@media screen and (max-width: 1200px) {
	.home_top_img::before{width:250px;}
}
@media screen and (max-width: 1000px) {
.home_top{
	background:var(--color_rose4);
	margin-bottom:-40px;
}
.home_top_img{
	position:relative;
	left:0;
	width:100%;
	height:max(60vw , 400px);
	border-top-left-radius:0;
	border-bottom-left-radius:30%;
}
.home_top_img::before{
	width:100%;
	height:15%;
	background: linear-gradient(
	to bottom, 
	rgba(255, 255, 255, 0) 0%,
	rgba(255, 255, 255, 0.6) 60%,
	rgba(255, 255, 255, 0.7) 100%
	);
}
.home_top_copy{
	height:auto;
	padding-top: min(18vw, 180px);
	margin-top: max(-14vw, -140px);
}
.home_top_copy p{
	text-shadow: none;
}
.home_top_copy br.pc{
	display:none;
}
.home_top_copy .tx_bold{
	font-size:max(5vw , 3.3rem);
	margin-bottom:10px;
}
.home_top_copy p + p{
	padding-bottom:max(5vw , 20px);
}
.home_top_copy div{
	position:absolute;
	top:0;
	left:0;
	max-width:75%;
	margin:0;
}
}
/*--------------------------------------------------home_slider*/
.home_slider{
	margin-bottom:-50px;
}
.ban_slider{
	position:relative;
}
.ban_slider img{
	width:360px;
	max-width:calc(100vw - 30px);
}
.ban_slider .slick-slide{
	margin:0 10px;
}
.ban_slider button{
	border:1px solid var(--color_rose);
	text-indent:-9999em;
	cursor:pointer;
	border-radius:100em;
}
.ban_slider .slick-dots{
	padding:15px;
	width:100%;
	display:flex;
	justify-content:center;
	gap:10px;
}
.ban_slider .slick-dots button{
	width:10px;
	height:10px;
	background:#FFF;
}
.ban_slider .slick-dots button:hover,
.ban_slider .slick-active button{
	background:var(--color_rose);
}
@media screen and (max-width: 767px) {
.home_slider{
	margin-top:40px;
	margin-bottom:-50px;
	position:relative;
}
.home_slider::before{
	display:block;
	position:absolute;
	top:0;
	left:0;
	content:"";
	width:100%;
	height:110px;
	background:var(--color_rose4);
}
}
/*--------------------------------------------------home_school*/
.home_school{
	margin-top:50px;
	position:relative;
	overflow:hidden;
	background: linear-gradient(
	to bottom,
	rgba(233, 247, 249, 0.5),
	30%,
	rgba(255, 232, 232, 0.5)
  );
}
.home_school::before{
	content:"";
	display:block;
	width:800px;
	aspect-ratio:1 / 1;
	background:#FFF;
	border-radius:100%;
	position:absolute;
	top:-600px;
	left:calc(50% - 400px);
}
.home_school h2{
	position:relative;
	padding:40px 0 30px 0;
	margin:0 auto;
}
.home_school .frame{
	display:grid;grid-template-columns: repeat(2 , 1fr);
	gap:min(5vw , 70px);
	z-index:1;
}
.home_school .no{
	position:relative;
	margin-top:-40px;
	z-index:1;
}
.home_school h3{
	line-height:1.25;
	font-size:2.4rem;
	letter-spacing:0.01em;
	margin:0.2em 0 0.3em 0;
	text-align:center;
}
.home_school h3 + p{
	line-height:1.75;
	max-width:23em;
}
@media screen and (max-width:1000px) {
.home_school .no{width:46px;margin-top:-20px;}
.home_school h3{font-size:2rem;}
.home_school h3 + p{font-size:1.5rem;}
}
@media screen and (max-width:800px) {
	.home_school::before{width:240px;top:-120px;left:calc(50% - 120px);}
	.home_school h2{padding:20px 0 40px 0;width:160px;}
	.home_school .frame{display:grid;grid-template-columns: repeat(1 , 1fr);gap:45px;max-width:500px;}
}
/*--------------------------------------------------home_info*/
.home_info .list_topics{
	margin:30px 0;
}
.home_info .more{
	margin-bottom:40px;
}
@media print, screen and (min-width: 801px) {
	.home_info .more{position:absolute;right:80px;top:100px;}
	@media screen and (max-width: 1000px) {
	.home_info .more{right:40px;}
	}
}
@media screen and (max-width:800px) {
	.home_info h2{width:260px;}
}
/*--------------------------------------------------access_map*/
.access_map{
	margin-top:auto;
	display:flex;
	background:var(--color_rose4);
	text-align:left;
}
.access_map .googlemap iframe{
	height:400px;
}
@media print, screen and (min-width: 1001px) {
	.access_map .shr0{padding-right:70px;}
}

@media screen and (max-width: 767px) {
	.access_map{flex-direction:column;justify-content:center;height:auto;}
	.googlemap iframe{height:299px;}
}

/*footerとの間は0*/
.access_map + footer{
	margin-top:0;
}


/*-------------------------------------------------------------------------------------------------pageitem*/
.pageitem{
	width:100%;
}
.pageitem section{
	position:relative;
}
.pageitem section.area::after{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:50%;
	margin-left:-50vw;
	width:100vw;
	height:100%;
	z-index:-1;
	background:inherit;
}
@media screen and (max-width: 1000px) {
	.pageitem{max-width:767px;}
}
/*h要素*/
.pageitem h2{font-size:2.6rem;color:var(--color_rose);}
.pageitem h3{font-size:2.2rem;color:var(--color_rose);}
.pageitem h4{margin-bottom:0.25em;}
.pageitem .tx_w,
.pageitem .tx_belt{color:#FFF;}
@media screen and (max-width: 767px) {
	.pageitem h2{font-size:2.2rem;}
	.pageitem h3{font-size:1.8rem;}
}
/*--------------------------------------------------itembox*/
.itembox{
	display:flex;
	gap:min(4vw , 40px);
}
.itembox p{
	width:100%;
}
.itembox .imgbox{
	margin-top:0.3em;
}
@media screen and (max-width: 1000px) {
	.itembox{justify-content:center;flex-wrap:wrap;gap:20px;}
}

/*single
-----------------------------------------------------------------------------------------*/
.single{
	position:relative;
	margin:10px 0;
}
@media print, screen and (min-width: 768px) {
	.single{border:1px solid #BDBDBD;padding:40px 50px;}
}
/*-------------------------single_data*/
.single_data{
	font-size:1.6rem;
	display:flex;
	align-items:center;
	gap:1em;
	margin-top:0.5em;
}
.single_data time{
	font-weight:bold;
}
.single_data a{
	text-align:center;
	padding:0 0 0.1em 0;
	border-radius:100px;
	border:1px solid var(--color_rose);
	color:var(--color_rose);
	width:7em;
	font-weight:600;
}
.single_data a:hover{
	filter:brightness(75%);
}
/*-------------------------single_title*/
.single_title{
	font-weight:bold;
	font-size:2.6rem;
	color:#000;
	padding:0.75em 0;
	border-bottom:1px dashed #BDBDBD;
	margin-bottom:1.5em
}
/*-------------------------single_kiji*/
.single_kiji p{
	margin-bottom:0.5em;
}
/*見出し1*/
.single_kiji h2{
	font-weight:600;
	background:var(--color_rose);
	color:#FFF;
	padding:0.2em 0.5em;
	margin-top:1.5em;
	margin-bottom:0.5em;
}
/*見出し2*/
.single_kiji h3{
	font-weight:600;
	font-size:2rem;
	color:var(--color_rose);
	margin-top:1.5em;
	margin-bottom:0.5em;
}
/*見出し3*/
.single_kiji h4{
	font-weight:600;
	margin-top:1.5em;
	border-bottom:1px solid #BDBDBD;
	padding-bottom:0.3em;
	margin-bottom:0.5em;
}
.single_kiji h5{
	font-size:1.5rem;
	margin-bottom:0.5em;
}
/*番号なしリスト*/
.single_kiji ul{
	margin-bottom:0.5em;
}
.single_kiji ul li{
	font-size:inherit;
	margin-left:1em;
}
.single_kiji ul li:before{ 
	margin-left:-1em;
	display:inline-block; 
	content:'';
	width:1em;
	height:1em;
	background:rgba(0,0,0,1);
	border-radius:50%;
	transform:scale(0.5) translateY(0.4em);
}
.single_kiji ul > li + li{margin-top:0.25em;}



/*-------------------------------------------------------------------------------------------------school*/
/*--------------------------------------------------curriculum*/
.jugyo_table td:last-child,
.jugyo_table td:nth-last-child(2){
	text-align: center;
}
.jugyo_table td:nth-last-child(4){
  background:#FFF;
}
.jugyo_table tr:nth-child(even){
	background:var(--color_hai);
}

/*-------------------------------------------------------------------------------------------------examinee*/
/*--------------------------------------------------goukaku*/
.goukaku-box {
	background: #fff;
	width: 100%;
	padding:2% 0;
	font-size:10px;
	--pink: #f06292;
	--blue: #4a90e2;
	--orange: #ff6d00;
	--grid-color: #e0e0e0;
	text-align:center;
}
@media screen and (max-width: 1000px) {
	.goukaku-box {font-size:8px;}
}
@media screen and (max-width: 600px) {
	.goukaku-box {font-size:1.3vw;}
}
.goukaku-title {
	font-size: 3em; 
	font-weight: bold;
}
.goukaku-rei {
	display: flex;
	justify-content: flex-end;
	gap: 1em;
	margin-bottom: 3%;
	font-size: 1.8em; 
}
.goukaku-rei-item { display: flex; align-items: center; gap: 0.2em; }
.goukaku-rei-box { width: 1em; height:1em; }
.goukaku-rei-box.pink { background: var(--pink); }
.goukaku-rei-box.blue { background: var(--blue); }
.goukaku-area {
	display: flex;
	width: 100%;
	aspect-ratio: 16 / 8;
	margin-bottom: 5em;
}
.goukaku-y {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	padding-right:0.5em;
	font-size: 1.5em; 
	font-weight:bold;
	color: #888;
	  margin-bottom: -0.6em; 
	  margin-top: -0.6em;
}
.goukaku-x {
	position: absolute;
	bottom: 0; 
	font-size:1.6em;
	margin-bottom:-3em;
	line-height: 1.3;
	white-space: nowrap;
	font-family: 'Inter', "Zen Kaku Gothic New", sans-serif;
}
.goukaku-chart {
	flex: 1;
	position: relative;
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
	padding: 0 1%;
	background-image: linear-gradient(var(--grid-color) 1px, transparent 1px);
	background-size: 100% 10%; 
}
.goukaku-bar {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	flex: 1;
	position: relative;
}
.goukaku-bar > div {
	display: flex;
	align-items: flex-end;
	gap: 1px;
	height: 100%;
	width: 70%;
	justify-content: center;
}

.goukaku-bar > div > div {
	flex: 1;
	position: relative;
	z-index: 1;
}
.goukaku-pink { background: var(--pink); }
.goukaku-blue { background: var(--blue); }
.goukaku-value {
	position: absolute;
	left: 50%;
	top:-1.5em;
	transform: translateX(-50%);
	font-weight: bold;
	white-space: nowrap;
}
.goukaku-value::after{
	content:"%";
	font-size:66%;
}
.goukaku-pink .goukaku-value { 
	color: var(--orange); 
	font-size: 2em; 
}
.goukaku-blue .goukaku-value { 
	font-size:1.6em;
	margin-left:0.5em;
}



/*-------------------------------------------------------------------------------------------------特色border_color*/
body .sen_mido{border-color:var(--color_mido);}
body .sen_mido2{border-color:var(--color_mido2);}
body .sen_mido3{border-color:var(--color_mido3);}
body .sen_ao{border-color:var(--color_ao);}
body .sen_cha{border-color:var(--color_cha);}
body .sen_rose{border-color:var(--color_rose);}
body .sen_rose2{border-color:var(--color_rose2);}
body .sen_link{border-color:var(--color_link);}
body .sen_aka{border-color:var(--color_aka);}
/*-------------------------------------------------------------------------------------------------特色bg*/
body .bg_mido{background-color:var(--color_mido);}
body .bg_mido2{background-color:var(--color_mido2);}
body .bg_mido3{background-color:var(--color_mido3);}
body .bg_ao{background-color:var(--color_ao);}
body .bg_cha{background-color:var(--color_cha);}
body .bg_rose{background-color:var(--color_rose);}
body .bg_rose2{background-color:var(--color_rose2);}
body .bg_rose3{background-color:var(--color_rose3);}
body .bg_rose4{background-color:var(--color_rose4);}
body .bg_hai{background-color:var(--color_hai);}
body .bg_link{background-color:var(--color_link);}
body .bg_aka{background-color:var(--color_aka);}
/*-------------------------------------------------------------------------------------------------特色text_color*/
body .tx_mido{color:var(--color_mido);}
body .tx_mido2{color:var(--color_mido2);}
body .tx_ao{color:var(--color_ao);}
body .tx_cha{color:var(--color_cha);}
body .tx_rose{color:var(--color_rose);}
body .tx_rose2{color:var(--color_rose2);}
body .tx_hai{color:var(--color_hai);}
body .tx_link{color:var(--color_link);}
body .tx_aka{color:var(--color_aka);}
/*-------------------------------------------------------------------------------------------------特色ya*/
body .ya_mido::before{border-color:var(--color_mido);background-color:var(--color_mido);}
body .ya_ao::before{border-color:var(--color_ao);background-color:var(--color_ao);}
body .ya_cha::before{border-color:var(--color_cha);background-color:var(--color_cha);}
body .ya_rose::before{border-color:var(--color_rose);background-color:var(--color_rose);}
body .ya_hai::before{border-color:var(--color_hai);background-color:var(--color_hai);}
body .ya_link::before{border-color:var(--color_link);background-color:var(--color_link);}
body .ya_aka::before{border-color:var(--color_aka);background-color:var(--color_aka);}
/*-------------------------------------------------------------------------------------------------utility*/
body .li_m15 > li + li{margin-top:1.5em;}
body .tx_red{color:#DB3023;}
body .w360{width:360px;max-width:100%;}
@media screen and (max-width: 767px) {
	body .sp_w360{width:360px;max-width:100%;}
}
@media screen and (max-width: 1000px) {
body .face{width:60%;}
}
@media print, screen and (min-width: 768px) {
	.pc_col2{column-count: 2;column-gap: 20px;}
}
@media print, screen and (min-width: 768px) {
	.pc_waku_line{margin-top:30px;border:1px solid var(--color_rose2);padding:min(3vw, 50px);}
	.pc_waku_line :first-child{margin-top:0;}
}
@media screen and (max-width: 767px) {
	.pc_waku_line + .pc_waku_line::before{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:1px;background:#000;}
}
.hai_even tr:nth-child(even){
	background:var(--color_hai);
}