@charset "UTF-8";
/*
Author: 株式会社メックコミュニケーションズ
Author URI: https://www.mec-com.co.jp
Last Up Date: 2023-05-01
*/


/*  CSS Index
--------------------------------------------------------------
ヘッダーのロゴは縦の長さで横幅を自動調整します。
比率に注意してください。
--------------------------------------------------------------
@media print, screen and (min-width: 768px) {pc/print}
@media screen and (max-width: 767px) {sp}
1 : base
 	  : body
 	  : frame(pc=max-width:1200px || sp=max-width:480px)
 	  : clearfix
 	  : accordion
 	  : pc/sp
 	  : print
2 : header
 	  : pc
 	 	  : header_logo
 	 	  : globalnav
 	 	 	  : nav
 	 	 	  : header_toi
 	  : sp
 	 	  : header_logo
 	 	  : globalnav
 	 	 	  : nav
 	 	 	  : header_toi
3 : main
 	  : path
 	  : sidebar
 	  : pager
4 : footer
 	  : footer_logo
 	  : footer_data
 	  : footer_nav
 	  : pagetop
 	  : copyright
-----------------------------------------------------------------------------------------*/


/*base
-----------------------------------------------------------------------------------------*/
*{
	margin: 0; 
	padding: 0; 
	list-style-type: none; 
	font-weight: normal;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html{
	height:100%;
	font-size:10px;
}
body{
	font-family: "HummingStd-L", Meiryo, "メイリオ", "Lucida Grande", Verdana, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	color:#000;
	text-align:center;
	font-size:1.8rem;
	line-height:1.5;
	height:100%;
	min-width:375px;
	-webkit-text-size-adjust:none;
}
ruby{
	ruby-position:under; 
}
ruby rt{
	margin:5px 0;
	letter-spacing:1px;
}
img{
	border-width: 0px;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
	width /***/:auto;
}
* html img{
	border-width: 0px;
	vertical-align: top;
	padding:-1px;
}
*:first-child+html img {
	border-width: 0px;
	vertical-align: middle;
	padding:-1px;
}
h1,h2,h3,h4,h5,h6,p,ul,dl,input,table,th,td,figure,ol,.dot{
	font-size:1.8rem;
	line-height:1.5;
	margin:0;
}
p{
	color:#333;
}
table p{
	color:inherit;
}
@media screen and (max-width: 767px) {h1,h2,h3,h4,h5,h6,p,ul,dl,input,table,th,td,figure,ol,.dot{font-size:1.6rem;}}
ul > li,
dl > dt,
dl > dd{
	font-size:inherit
}
span{
	font-weight:inherit;
	display:inline-block;
	text-decoration:inherit;
}
em{
	font-weight:bold;
	font-style:inherit;
	color:#FF0000;
}
strong{
	font-weight:bold;
	color:#000;
}
i{
	font-style:normal;
	font-size:inherit;
	vertical-align:middle;
	display:inline;
}
a{
	color:inherit;
	font-weight:inherit;
	text-decoration: none;
	outline:none;
}
a:hover {
	text-decoration: none;
	outline:none;
}
a:link,a:visited,a:hover,a:active {
	outline:none;
}
@media screen and (max-width: 767px) {hr{margin:30px 0;}}
#wrapper{
	width:100%;
	min-height:100vh;
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
/*-------------------------frame*/
.frame{
	max-width:1200px;
	margin:0 auto;
	text-align:left;
	position:relative;
	padding:0 50px;
}
.frame::after {
	display: block;
	clear: both;
	content: "";
}
@media screen and (max-width: 767px) {.frame{padding:0 20px;}}
/*-------------------------clearfix*/
.clearfix::after{
	display: block;
	clear: both;
	content: "";
}
/*-------------------------accordion*/
.accordion{
	display:none;
}
.accordion.open{
	display:block;
}
.acc_btn{
	cursor:pointer;
}
/*-------------------------pc/sp*/
@media screen and (max-width: 767px) {#wrapper .pc{display:none;}}
@media print, screen and (min-width: 768px) {#wrapper .sp{display:none;}}
/*-------------------------print*/
@media print{
	#wrapper.scroll{padding-top:0;}
	#wrapper header{display:none;}
}
/*-------------------------base/utility*/
body .tx_brown{
	color:#B45F06 !important;
}
body .tx_belt{
	display:block;
}
body .mw1000{
	max-width:1000px;
}
body .mw900{
	max-width:900px;
}
.th_t th{
	vertical-align:top;
}
@media screen and (max-width: 767px) {
.sp_th_lh1 th{line-height:1.1;width:2em;}
}
.youtube iframe{
	width:100%;
	aspect-ratio:16 / 9;
}
.logolist img{
	height:60px;
	width:auto;
}
body .img_r{float:right;margin:5px 0 5px 40px}
body .img_l{float:left;margin:5px 40px 5px 0}
body .img_c{text-align:center;margin:30px auto}
@media screen and (max-width:640px){
body .img_r,
body .img_l,
body .img_c{float:none;text-align:center;margin:15px auto;}
}

/*header
-----------------------------------------------------------------------------------------*/
/*headerのカスタムプロパティ*/
body{
	--hdr_pc:100px;/*ヘッダーの高さ(pc)*/
	--hdr_sc_pc:80px;/*スクロール後のヘッダーの高さ(pc)*/
}
/*----------------------------------------------------------------------------------------pc*/
@media print, screen and (min-width: 768px) {
header{
	z-index:1000;
	background:#FFF;
	display:flex;
}
.scroll header{
	position:fixed;
	width:100%;
	top:-80px;/*上から-80px*/
	transition:0.5s;
	transform:translateY(80px);/*上から80px下ろす*/
    box-shadow: 0 2px 2px rgba(0,0,0,0.1);
}
#wrapper.scroll{
	padding-top:var(--hdr_sc_pc);
}
/*-------------------------header_logo(pc)*/
.header_logo{
	flex-shrink:0;
}
.header_logo a{
	display:flex;
	align-items:center;
	height:var(--hdr_pc);
	padding:10px 15px;
}
@media screen and (max-width: 867px) {
	.header_logo a{padding:15px;}
}
.header_logo img{
	max-height:100%;
}
.header_logo a:hover{
	background:rgba(0,0,0,0.05);
}
.scroll .header_logo a{
	height:var(--hdr_sc_pc);
}
/*-------------------------globalnav nav(pc)*/
.globalnav{
	display:flex;
	width:100%;
}
.globalnav nav{
	margin-left:auto;
}
.globalnav nav > ul{
	display:flex;
	padding-right:1vw;
	gap:0.5vw;
}
@media screen and (max-width: 867px) {
	.globalnav nav > ul > li{font-size:1.6rem;}
}
.globalnav nav > ul > li{
	position:relative;
}
.globalnav nav > ul > li > a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:var(--hdr_pc);
	padding:0 1vw;
}
/*hoverで線*/
.globalnav nav > ul > li > a:after{
	content: "";
	display: block;
	position:absolute;
	bottom:calc(50% - 25px);
	left:50%;
	margin-left:-40%;
	width:80%;
	height:3px; 
	background:#006DEB;
	transition: all 0.3s;
	transform:scale(0,1)
}
.globalnav nav > ul > li:hover > a:after,
.globalnav nav > ul > li.current > a:after{
	transform:scale(1)
}
/*scroll*/
.scroll .globalnav nav > ul > li > a{
	height:var(--hdr_sc_pc);
}
}
/*----------------------------------------------------------------------------------------sp*/
@media screen and (max-width: 767px) {
header{
	position:fixed;
	top:0;
	z-index:1000;
	width:100%;
	background:#FFF;
    box-shadow: 0 2px 2px rgba(0,0,0,0.1);
}
#wrapper{
	padding-top:110px;
}
/*-------------------------header_logo(sp)*/
.header_logo a{
	display:flex;
	flex-direction:column;
	justify-content:center;
	height:60px;
	min-height:60px;
	padding:5px 0;
}
.header_logo img{
	max-height:100%;
}
/*-------------------------globalnav nav(pc)*/
.globalnav ul{
	background:#E0E0E0;
	display:flex;
	width:100%;
	gap:1px;
	padding-top:1px;
}
.globalnav li{
	flex:1 0 auto;
}
.globalnav li a{
	display:block;
	font-size:14px;
	line-height:19px;
	font-weight:bold;
	background:#FFF;
	color:#000;
	padding:15px 0;
}
.globalnav li a:hover,
.globalnav nav > ul > li.current > a{
	padding-bottom:10px;
	border-bottom:5px solid #006DEB;
}
}

/*localnav
-----------------------------------------------------------------------------------------*/
.localnav ul{
	display:flex;
	gap:1px;
}
.localnav ul li{
	width:100%;
}
.localnav ul li a{
	display:flex;
	justify-content:center;
	align-items:center;
	height:80px;
	padding-bottom:10px;
	line-height:1.3;
	color:#FFF;
	background:url(images/ya_b_w.svg) bottom center no-repeat;
	background-size:30px;
}
.localnav ul li a:hover{
	background-color:rgba(0,0,0,0.2);
}
@media print, screen and (min-width: 900px) {
	.localnav ul li a br{display:none;}
}
@media screen and (max-width: 400px) {
	.localnav ul{margin-left:-20px;margin-right:-20px;}
	.localnav ul li{font-size:14px;}
}
/*main
-----------------------------------------------------------------------------------------*/
main{
	display:block;
}
@media screen and (max-width: 1200px) {
	#wrapper main{display:block;}
}
/*-------------------------path*/
.path{
	padding:6px 10px;
	height:0;
	position:absolute;
	z-index:10;
}
.path p{
	font-size:1.3rem;
	text-align:left;
	color:#555;
}
.path p strong{
	font-weight:normal;
}
.path p a:hover{
	text-decoration:underline;
}
@media screen and (max-width: 767px) {
	.path{display:none;}
}

/*-------------------------mainimg_img*/
.mainimg_img{
}
.mainimg_copy_t,
.mainimg_copy_b{
	width:900px;
	margin:0 auto;
}
.mainimg_copy_t{
	background:#63A186;
	font-size:50px;
	height:100px;
	margin-top:-100px;
}
.mainimg_copy_b{
	font-size:30px;
	height:80px;
	margin-bottom:-80px;
}
@media screen and (max-width: 1600px) {
.mainimg_copy_t,
.mainimg_copy_b{
	width:56vw;
}
.mainimg_copy_t{
	font-size:3.5vw;
	height:7vw;
	margin-top:-7vw;
}
.mainimg_copy_b{
	font-size:2vw;
	height:5vw;
	margin-bottom:-5vw;
}
}
@media screen and (max-width: 767px) {
.mainimg_copy_t,
.mainimg_copy_b{
	width:100%;
	margin:0 auto;
}
.mainimg_copy_t{
	font-size:min(5.5vw,30px);
	height:auto;
	padding:2vw 0;
}
.mainimg_copy_b{
	font-size:min(3.8vw,18px);
	height:auto;
	padding:2vw 0;

}

}

/*-------------------------mainimg*/
.mainimg{
	position:relative;
	height:calc(100vh - var(--hdr_pc));
	min-height:300px;
}
.mainimg figure,
.mainimg p{
	position:absolute;
}
.mainimg figure{
	height:calc(50% + 60px);
	width:calc(50% - 20px);
}
.mainimg p{
	height:calc(50% - 80px);
	width:50%;
	padding:5px;
	font-size:20px;
	display:flex;
	flex-direction:column;
	gap:10px;
	justify-content:center;
}
.mainimg figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.mainimg .item1{
	left:0;
	top:0;
}
.mainimg .item4{
	background:#F1F8E9;
	left:0;
	bottom:0;
}
.mainimg .item3{
	right:0;
	bottom:0;
}
.mainimg .item2{
	background:#E9FBFF;
	right:0;
	top:0;
}
@media screen and (max-height: 767px) {
	.mainimg{height:calc(100vh - 10vw);}
	.mainimg figure{height:calc(50% + 20px);}
	.mainimg p{width:calc(50% + 10px);height:calc(50% - 30px);font-size:15px;gap:5px;}
	.mainimg p img{max-width:40vw;}
}
@media screen and (max-width: 767px) {
	.mainimg{height:calc(100vh - 10vw);}
	.mainimg figure{height:calc(50% + 20px);}
	.mainimg p{width:calc(50% + 10px);height:calc(50% - 30px);font-size:min(3.6vw , 18px);}
	.mainimg p img{max-width:100%;}
@media (orientation: landscape){
	.mainimg p{font-size:15px;gap:5px;}
	.mainimg p img{max-width:200px;}
}
}
@media screen and (max-width: 600px) {
	.mainimg{height:calc(100vh - 60px);}
}
/*-------------------------bosyulist*/
.bosyulist{
	margin:15px auto;
}
.bosyulist th{
	background:#DEEBF6;
	padding:0.8em;
}
.bosyulist tr:first-child th{
	background:#E2EFD9;
	text-align:center;
}
.bosyulist tr:first-child th:first-child{
	background:#FFF;
}
.bosyulist th:first-child{
	width:40%;
}
.bosyulist td{
	position:relative;
}
.bosyulist a.nasi,
.bosyulist a.fin,
.bosyulist a.more{
	display:block;
	width:180px;
	line-height:50px;
	text-align:center;
	margin:5px auto;
	background:#434343;
	color:#FFF;
	border-radius:25px;
}
.bosyulist a.more{
	background:#8CB60D url(images/ya_w.svg) right 5px center no-repeat;
	background-size:20px;
}
.bosyulist a.more:hover{
	background-color:#288900;
}
.bosyulist a.fin{
	background-color:#BFBFBF;
}
.bosyulist a.fin:hover{
	background-color:#999;
}
.bosyulist a.more::before{content:"詳細はこちら";}
.bosyulist a.fin::before{content:"募集終了";}
.bosyulist a.nasi::before{content:"募集なし";}
@media screen and (max-width: 767px) {
	.bosyulist th{padding:0.4em;}
	.bosyulist a.nasi,
	.bosyulist a.fin,
	.bosyulist a.more{width:100%;min-width:75px;font-size:14px;line-height:40px;font-weight:bold;margin:0 auto;}
	.bosyulist a.more{background-position:right;padding-right:0.3em;letter-spacing:0.2em;}
	.bosyulist a.more::before{content:"詳細";}
}
/*dayservice*/
.bosyulist.dayservice tr:nth-child(n+2) th{
	background:#FDE9D9;
}
/*-------------------------miryoku*/
.miryoku ul{
	display:grid;
	grid-template-columns: repeat( auto-fit, minmax(300px,1fr) );
	gap:60px min(4vw , 60px) ;
}
/*-------------------------interview*/
.interview .tab_btn{
	cursor:pointer;
	color:#666;
	position:relative;
	padding-bottom:1em;
	border-bottom:0.05em solid #B3B3B3;
}
.interview .tab_btn::before{
	width:0;
	height:0;
	background:none !important;
	border-top:0.25em solid transparent !important;
	border-bottom:0.25em solid transparent !important;
	border-left:0.6em solid #666;
	content:"";
	display:inline-block;
	flex-shrink:0;
	position:absolute;
	bottom:0.4em;
	left:50%;
	transform:rotate(90deg);
	transition: all 0.3s;
}
.interview .tab_btn:hover{
	filter:brightness(0%);
}
.interview .tab_btn.open::before,
.interview .tab_btn:hover::before{
	bottom:0.1em;
}
.interview .tab_btn.open{
	background:none;
	filter:brightness(0%);
	border-bottom:0.2em solid #000;
}
.interview .tab_area div{
	gap:min(4vw , 50px);
}
.interview .tab_area figure{
	width:min(40vw , 360px);
	flex-shrink:0;
}
@media screen and (max-width: 600px) {
	.interview .tab_area div{flex-direction:column;gao:30px;}
	.interview .tab_area figure{width:300px;}
}
/*-------------------------patetitle*/
.patetitle{
	position:relative;
}
.patetitle figure{
	height:300px;
}
.patetitle figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}
.patetitle h2{
	padding-top:10px;
	background:#FFF;
	width:220px;
	font-size:3.6rem;
	position:absolute;
	bottom:0;
	left:calc(50% - 600px);
}
@media screen and (max-width: 1200px) {
	.patetitle h2{left:10px;}
}
@media screen and (max-width: 767px) {
	.patetitle h2{width:140px;font-size:2.4rem;padding-top:3px;}
	.patetitle figure{height:auto;}
}
/*-------------------------bosyuarea*/
.bosyuarea{
	background:#F2F2F2;
	margin:50px auto;
	padding-top:40px;
	padding-bottom:40px;
}
.bosyuarea h3{
	padding:10px;
}
.bosyuarea#clinic{background:#D4F6FE;}
.bosyuarea#naishikyo{background:#F2F1E9;}
.bosyuarea#dayservice{background:#F1F8E9;}
@media screen and (max-width: 1200px) {
	.bosyuarea h3{padding:5px;}
	.bosyuarea{padding:30px 20px 20px 20px;margin:5px auto;}
}
/*-------------------------bosyubox*/
.bosyubox{
	background:#FFF;
	margin-top:10px;
	border:1px solid #CCC;
}
.bosyubox .acc_btn{
	padding:1em 2.5em 1em 1em;
	position:relative;
	font-size:2.1rem;
}
.bosyubox .acc_btn em{
	color:#ED1C24;
}
.bosyubox .acc_btn::after{
	position:absolute;
	right:0.5em;
	margin-top:0.5em;
	width:0.66em;
	height:0.66em;
	background:none !important;
	border-right:0.125em solid #006DEB;
	border-top:0.125em solid #006DEB;
	transform:scale(1, 0.66) rotate(45deg) ;
	content:"";
	display:inline-block;
	flex-shrink:0;
	transition: all 0.2s;
	margin-right:0.4em;
	transform:rotate(135deg) !important;
}
.bosyubox .acc_btn.open::after{
	transform:rotate(-45deg) !important;
}
.bosyubox .accordion{
	padding:20px;
	border-top:1px solid #CCC;
}
.bosyubox .accordion th{
	width:150px;
	text-align:center;
}
@media screen and (max-width: 767px) {
	.bosyubox .acc_btn{padding:0.8em 2em 0.8em 0.8em;font-size:1.6rem;}
	.bosyubox .accordion{padding:10px;}
	.bosyubox .accordion th{width:80px;font-size:90%;}
}
/*-------------------------gaiyou*/
.gaiyou{
	background:#EFEFEF;
}
.gaiyou div,
.gaiyou ul{
	display:flex;
	gap:20px;
}
.gaiyou div{
	padding:50px;
}
.gaiyou ul{
	flex-wrap:wrap;
	width:100%;
}
.gaiyou li{
	background:#FFF;
	flex-grow:1;
	padding-top:40px;
	height:200px;
}
.gaiyou li.w100p{
	height:270px;
}
.gaiyou li h2{
	margin-bottom:5px;
}
@media screen and (max-width:1100px) {
	.gaiyou div{flex-direction:column;}
}
@media screen and (max-width: 767px) {
	.gaiyou div{padding:20px;}
	.gaiyou div,.gaiyou ul{gap:10px;}
	.gaiyou li,.gaiyou li.w100p{padding:20px 0 10px 0;height:auto;}
}
/*-------------------------kyujitsu*/
.kyujitsu .maru{
	position:absolute;
	left:calc(50% - 450px);
	top:50px;
}
.kyujitsu ul{
	margin-top:40px;
	display:flex;
	gap:10px;
	justify-content:center;
	align-items:center;
}
.kyujitsu ul li p{
	height:0;
}
@media screen and (max-width:1000px) {
	.kyujitsu .maru{left:2vw;top:2vw;max-width:19vw;}
}
@media screen and (max-width: 767px) {
	.kyujitsu .tx{text-align:left;padding-left:calc(21vw - 10px);}
	.kyujitsu ul{margin-top:20px;}
}
@media screen and (max-width: 600px) {
	.kyujitsu .maru{position:static;max-width:150px;margin:10px auto;}
	.kyujitsu .tx{text-align:center;padding:0;}
	.kyujitsu ul{flex-direction:column;padding-bottom:2em;}
}
/*-------------------------patetitle*/
.work{
	border-top:10px solid #EFEFEF;
}
.work ul{
	display:grid;
	grid-template-columns: repeat(3 , 1fr);
	gap:min(1vw , 20px);
	margin-top:30px;
}
.work li{
	background:#D4F6FE;
	padding:40px 10px 30px 10px;
}
.work h3{
	font-size:2.4rem;
	margin:10px 0;
}
.work h3 + p{
	display:inline-block;
	text-align:left;
}
@media screen and (max-width: 1000px) {
	.work li{padding:20px 2vw 20px 10px;}
	.work h3{font-size:2rem;margin:5px -5px;}
	.work figure{max-width:100px;margin:0 auto}
	.work p.tx{font-size:14px;}
}
@media screen and (max-width: 767px) {
	.work ul{grid-template-columns: repeat(2 , 1fr);margin-top:15px;}
}
@media screen and (max-width: 480px) {
	.work ul{display:block;}
	.work li{margin-bottom:5px;display:flex;gap:10px;padding:15px;align-items:center;}
	.work figure{margin-left:0;}
	.work div{margin-right:auto;}
}
/*-------------------------seido*/
.seido{
	background:#EFEFEF;
}
.seido td.bg{
	background:#D4F6FE;
	font-weight:bold;
	
}
/*-------------------------room*/
.room ul{
	display:grid;
	grid-template-columns: repeat( auto-fit, minmax(320px,1fr) );
	gap:min(4vw , 40px) ;
	max-width:1000px;
	margin:20px auto 0 auto;
}
/*-------------------------sinboku*/
.sinboku ul{
	display:grid;
	grid-template-columns: repeat( auto-fit, minmax(320px,1fr) );
	gap:min(4vw , 40px) ;
	max-width:1000px;
	margin:20px auto 0 auto;
}
/*-------------------------flow_n/flow_y*/
.flow_n{
	line-height:1.25 !important;
	display:flex;
	align-items:center;
	gap:5px;
}
.flow_n span{
	width:40px;
	height:40px;
	display:flex;
	justify-content:center;
	align-items:center;
	background:#006DEB;
	color:#FFF;
	flex-shrink:0;
	border-radius:5px;
}
.flow_y{
	color:#FF0000;
	margin:-1px 0 3px 19px;
	padding:12px 0 15px 24px;
	border-left:2px solid #666;
	position:relative;
}
.flow_y::before {
	display:block;
	content:"";
	background:#666;
	height:calc(tan(60deg) * 15px / 2);
	width:15px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position:absolute;
	left:-9px;
	bottom:-3px;
}


/*footer
-----------------------------------------------------------------------------------------*/
footer{
	margin-top:auto;
}
/*-------------------------footer_logo*/
.footer_logo{
	filter: brightness(0) invert(1);
}
.footer_logo{
	width:260px;
	margin:0 auto;
}
/*-------------------------footer_nav*/
.footer_nav{
	margin:10px auto;
}
.footer_nav li a{
	display:inline-block;
	line-height:1.25;
	font-size:16px;
	font-weight:bold;
	color:#FFF;
	padding:0.5em 1em;
	border-radius:100px;
}
.footer_nav li a:hover{
	background:none;
	color:#FFF;
	outline:1px solid #FFF;
}
/*-------------------------pagetop*/
.pagetop a{
	position:fixed;
	bottom:0;
	right:0;
	z-index:20;
	opacity:0.5;
	transition: 0.5s;
}
.pagetop a:hover{
	opacity:1;
}
@media screen and (max-width: 767px) {
	.pagetop a{width:50px;height:50px;width:max(8vw,50px);height:max(8vw,50px);}
}
/*-------------------------copyright*/
.copyright{
	display:block;
}
.copyright a:hover{
	text-decoration:underline;
}
