@charset "utf-8";
/* CSS関数設定 */
:root {
	/* カラーパレット --color-  */
	--c-white: #FFFFFF;
	--c-white-op50: rgba(255, 255, 255, 0.5);
	--c-black: #000000;
	--c-black-op50: rgba(0, 0, 0, 0.5);

	--c-gray-100: #F5F5F5;
	--c-gray-200: #DEDEDE;
	--c-gray-300: #A7A7A7;

	--c-dark-700: #2E2E2E;

	--c-red-500: #dc3b3b;

	--c-pink-300: #ee8899;

	--c-yellow-400: #FFD700;

	/* カラーテーマ --color-theme- */
	--theme-c-main: var(--c-green-500);

	/* テキストカラー --text-color- */
	--txt-c-base: var(--c-dark-700);
	--txt-c-white: var(--c-white);
	--txt-c-addon: var(--c-gray-300);
	--txt-c-emphasis: var(--c-red-500);

	/* ボーダーカラー --border-color- */
	--bd-c-gray: var(--c-gray-200);

	/* 背景カラー --background-color- */
	--bg-c-gray: var(--c-gray-100);

	/* ランキングカラー --ranking-color */
	--ranking-c-1st: #BA9700;
	--ranking-c-2nd: #A7A7A7;
	--ranking-c-3rd: #B75400;
	--ranking-c-other: #002C1B;

	/* 共通角丸 --border-radius- */
	--bdrs-sm: 5px;
	--bdrs-md: 10px;
	--bdrs-lg: 20px;

	/* 共通ボックス影 --box-shadow- */
	--bxsd-default: 0px 0px 15px -5px var(--bg-c-gray);
	--bxsd-bottom: 0px 5px 15px -5px var(--bg-c-gray);

	/* ベース文字間隔 --letter-spacing */
	--ls-default: 0.1em;

	/* フォント --font-family- */
	--ff-base: "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック体","游ゴシック","Yu Gothic","YuGothic","メイリオ","Meiryo", sans-serif;
	--ff-noto: "Noto Sans JP", serif;

	/* 英数字フォント --font-family- */
	--ff-en: var(--ff-noto);
	--ff-num: var(--ff-noto);

	/* フォントウェイト --font-weight- */
	--fw-base: 500;
	
	/* アニメーション */
	--anime-fade-in: fadeIn .5s ease-in-out 0s forwards;
	--anime-fade-out: fadeOut .5s ease-in-out 0s forwards;

	/* フォントサイズ --font-size */
	--fz-9: clamp(8px, 0.8vw, 9px);
	--fz-10: clamp(8px, 0.8vw, 10px);
	--fz-11: clamp(10px, 1.1vw, 11px);
	--fz-12: clamp(10px, 1.1vw, 12px);
	--fz-13: clamp(11px, 1vw, 13px);
	--fz-14: clamp(12px, 1.2vw, 14px);
	--fz-15: clamp(13px, 1.4vw, 15px);
	--fz-16: clamp(14px, 1.5vw, 16px);
	--fz-18: clamp(15px, 1.6vw, 18px);
	--fz-20: clamp(16px, 1.8vw, 20px);
	--fz-22: clamp(18px, 2vw, 22px);
	--fz-25: clamp(20px, 2vw, 25px);
	--fz-28: clamp(22px, 2.5vw, 28px);
	--fz-30: clamp(25px, 3vw, 30px);
	--fz-35: clamp(25px, 3vw, 35px);
	--fz-38: clamp(30px, 3.5vw, 38px);
	--fz-40: clamp(30px, 3.5vw, 40px);
	--fz-43: clamp(30px, 4vw, 43px);
	--fz-50: clamp(30px, 4vw, 50px);
	--fz-60: clamp(40px, 5vw, 60px);
	--fz-70: clamp(50px, 6vw, 70px);
	--fz-14-const: 14px;
	--fz-15-const: 15px;

	--fz-xs: var(--fz-10); /* extra small */
	--fz-ss: var(--fz-12); /* super small */
	--fz-sm: var(--fz-14); /* small */
	--fz-md: var(--fz-16); /* medium */
	--fz-lg: var(--fz-25); /* large */
	--fz-xl: var(--fz-38); /* extra large */
	--fz-xxl: var(--fz-50); /* double extra large */

	/* ブロック間 --space */
	--spc-10: clamp( 5px, 1.1vw, 10px);
	--spc-15: clamp( 10px, 1.2vw, 15px);
	--spc-20: clamp( 15px, 1.7vw, 20px);
	--spc-25: clamp( 15px, 1.7vw, 25px);
	--spc-35: clamp( 20px, 2.5vw, 35px);
	--spc-30: clamp( 20px, 2.5vw, 30px);
	--spc-40: clamp( 30px, 3.5vw, 40px);
	--spc-50: clamp( 30px, 3.5vw, 50px);
	--spc-60: clamp( 40px, 4.5vw, 60px);
	--spc-65: clamp( 50px, 5.5vw, 65px);
	--spc-75: clamp( 60px, 6.5vw, 75px);
	--spc-80: clamp( 50px, 5.5vw, 80px);
	--spc-90: clamp( 60px, 6.5vw, 90px);
	--spc-100: clamp( 70px, 7.5vw, 100px);

	--spc-xs: var(--spc-10); /* extra small */
	--spc-ss: var(--spc-15); /* super small */
	--spc-sm: var(--spc-20); /* small */
	--spc-md: var(--spc-30); /* medium */
	--spc-lg: var(--spc-50); /* large */
	--spc-xl: var(--spc-80); /* extra large */
	--spc-xxl: var(--spc-100); /* double extra large */


	/* PCマックス幅 --pc-max-width */
	--pc-maw: var(--pc-maw-md);
	--pc-maw-ss: 800px;
	--pc-maw-sm: 1000px;
	--pc-maw-md: 1200px;
	--pc-maw-lg: 1440px;

	/* 親要素を超えて幅100% */
	--full-width: calc(50% - 50vw);

	/* セクション間隔半分 --section-space */
	--sec-spc-half: calc(var(--sec-spc) / 2);
}


*{margin:0;padding:0;}
article, header, footer, aside, figure, figcaption, nav, section, main { 
  display:block;
}
html{
  height: 100%;
  font-size: var(--fz-16);
}
body{
  font-family: var(--ff-base);
  font-weight: 500;
  height: 100%;
  width: 100%;
  color: #363636;
  background: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
img{
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
a{
  text-decoration: none;
  color: #242424;
  outline: none;
}
a:hover{
  color: #1f7eec;
}
ul li{list-style: none;}
ol,ul{list-style: none;list-style-type: none;}
main{margin: 0px auto;display: block;}
.center{text-align: center;}
.mgt0{margin-top:0 !important}
.imgmax {
	width: 100%;
	height: auto;
	line-height: 1rem;
	display: block;
}


/* header */
header{
}
.headinner{
	max-width: 1180px;
	width: 92%;
	margin: 20px auto 20px;
	display: flex;
	justify-content: space-between;
}
.headlogoarea{
	display: flex;
	align-items: center;
}
header .h-logo{
	width:200px;
	font-size: inherit;
	margin-right: 15px;
}
header .h-logotitle {
	font-size:14px;
	padding-top: 5px;
}
.head-rightarea{
	display: flex;
}
.head-rightarea p{
	margin-left: 10px;
}
.head-rightarea__web{
	margin-bottom: 7px;
}
.head-rightarea__web a{
	padding:9px 23px 7px;
	border-radius: 3px;
	color:#fff;
}



/* footer */
footer{
	margin-top: 90px;
	padding:35px 0 18px;
	color:#fff;
}
.footcontents{
	text-align: center;
}
.footcontents .corp{
	font-size: 1.2em;
	font-weight: bold;
	padding-bottom: 6px;
}
.footcontents .corp-add span{
	padding-left: 10px;
}
.footcontents .corp-tel{
}
.footcontents .corp-charge{
	padding-left:35px;
}


footer copy{
	text-align: center;
	display: block;
	font-size:0.8em;
	padding-top: 30px;
}


/* 共通 */
.inner{
 margin: 0 auto;
 width:90%;
 max-width: 1050px;
 position: relative;
}
main{
	margin: 0 auto;
}
.wrapper{
	margin: 0 auto;
 max-width: 1180px;
 width:90%;
}
.maintitle{
	font-size:20px;
	margin-bottom: 15px;
}
.maincatch h2{
	text-align: center;
	max-width: 600px;
	margin:20px auto;
}
.maincatch__contents{
	max-width: 600px;
	margin:20px auto;
	/* text-align: center; */
}
.mission{
	background-size: cover;
	background-position: center center;
	padding:80px 0;
	margin:60px 0 80px;
}
.mission__box{
	background:rgba(255, 255, 255, 0.91);
	max-width:600px;
	margin:0 auto;
	/* text-align: center; */
}
.mission__box__title{
	display: flex;
	align-items: center;
	font-size: var(--fz-22);
 font-weight: bold;
	margin-bottom: 20px;
}
.mission__box__title:before,
.mission__box__title:after {
	content: "";
	height: 1px;
	flex-grow: 1;
}
.mission__box__title:before {
	margin-right: 1rem;
}
.mission__box__title:after {
    margin-left: 1rem;
}
.mission__box__contents {
 font-size: var(--fz-18);
}
.mission__box__maintitle{
	margin-bottom: 30px;
	font-weight: bold;
}
.message{
	margin-bottom: 80px;
}
.message__box{
	display: flex;
}
.message__contents{
	flex:1;
}
.message__contents h2{
	font-size:var(--fz-22);
}
.message__contents h3{
	font-size:var(--fz-18);
	margin-bottom: 20px;
}
.message__contents__title{
	font-weight: bold;
	margin-bottom: 20px;
}
.about-back{
	margin:80px 0;
	padding:80px 0;
}
.about-back h2{
	text-align: center;
	font-size: var(--fz-22);
	margin-bottom: 20px;
}
.about-back h3{
	text-align: center;
	font-size: var(--fz-25);
	margin-bottom: 30px;
}
.about__contents{
	display: flex;
}
.about__contents__desc{
	flex:1;
	font-size: var(--fz-18);
}
.about__feature,.about__education{
	margin-bottom: 70px;
}
.about-back section:last-child{
	margin-bottom: 0;
}
.reserveflex{
	flex-direction: row-reverse;
}
.freearea{
	margin-bottom: 80px;
}
.freearea h2{
	text-align: center;
	font-size: var(--fz-25);
	margin-bottom: 20px;
}
.freearea h3{
	text-align: center;
	font-size: var(--fz-20);
	margin-bottom: 30px;
}
.freearea__img{
	max-width: 800px;
	margin:0 auto;
}
.freearea__contents{
	margin-top:20px;
 font-size: var(--fz-18);
}
h2.bgcolortitle{
	text-align:center;
	padding:10px 0 8px;
	margin-bottom: 25px;
}
.requirements__btn{
	text-align: center;
	margin-bottom: 80px;
}
.requirements__btn a{
	display: inline-block;
	color:#fff;
	padding:15px 100px;
	border-radius:3px;
}

.superiorvoice{
	margin:80px 0;
}
/* タブメニュー */
.tab_content {display:none;}
.tab_content.active {display:block;}
.superior-thum{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width:90%;
	margin:0 auto 20px;
}
.superior-thum li{
	margin-right:2.5%;
  width:18%;
  text-align:center;
	display: block;
	cursor: pointer;
	text-decoration: none;
	position: relative;
	font-size: 14px;
}
.superior-thum li:last-child{
	margin-right: 0;
}
.superior-thum li img{
	margin-bottom: 7px;
}
#tabcontents{
	width:90%;
	margin:0 auto;
}
.superior__imgarea{
	position: relative;
}
.superior__imgarea__name{
	position: absolute;
	right:0;
	top: 50%;
	transform: translateY(-50%) ;
	-webkit-transform: translateY(-50%) ;
	background: rgba(255, 255, 255, 0.81);
	padding:30px 0;
	width: 400px;
}
.superior__imgarea__name__name{
	display: inline-block;
	padding:13px 80px;
	color:#fff;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 30px;
}
.superior__imgarea__name__name span{
	display: block;
	font-size:0.8em;
}
.superior__imgarea__name__note{
	width: 200px;
	margin-left:auto;
	text-align: center;
}
.superior__imgarea__name__note p{
	font-size:14px;
}
.superior__imgarea__name__note p.superior__imgarea__name__note__year{
	border-bottom: 1px solid #636363;
	padding-bottom: 4px;
	margin-bottom: 6px;
	font-size:16px;
}
.superiorvoice h3{
	padding:10px 0 8px 17px;
	margin:20px 0;
}
.superior__contentsbox{
	display: flex;
}
.superior__contentsbox__contents{
	flex:1
}
.superior__contentsbox__contents__title{
	font-weight: bold;
	font-size:20px;
	margin-bottom: 20px;
}
.superior__contentsbox__interview dt{
	font-weight: bold;
}
.superior__contentsbox__interview dt::before{
	content:"■";
	margin-bottom: 20px;
	padding-right: 5px;
}
.superior__contentsbox__interview dd{
	font-size:0.9em;
	margin-bottom: 20px;
}
.superior__contentsbox__img img{
	display	:block;
	margin-bottom: 15px;
}




table.superior__contentsbox__contents__schedule {
 width: 100%;
 margin: 0px auto 50px;
 border-collapse:collapse;
 border-spacing:0;
 empty-cells:show;
}
.superior__contentsbox__contents__schedule th {
	font-size: 14px;
	font-weight:normal;
 text-align: left;
 padding:7px 0 6px;
 width:120px;
}
.superior__contentsbox__contents__schedule td {
 font-size: 14px;
 padding:7px 10px 6px 15px;
}

.faqsec {
 margin: 80px auto;
 overflow: hidden;
}
.faqsec dl{
	margin:0 5%;
}
.faqsec dd {
 display: none;
 padding: 10px 0 10px 1em;
	margin-left: 23px;
	font-size: 14px;
}
.faqsec dt {
 margin-bottom: 10px;
 cursor: pointer;
 border-bottom: 1px solid #e3e3e3;
}
.faqsec dt::before{
	content: "■";
 font-weight: bold;
 margin-right: .5em;
 font-size: var(--fz-18);
 vertical-align: middle;
}
.faqsec dd a{
	text-decoration: underline;
}

.joblist{
	
}
.joblist__contents{
	margin:0 5% 40px;
	border:1px solid #bebebe;
}
.joblist__contents h3{
	padding:8px 0 6px;
	text-align: center;
}
table.joblist__contents__table {
 width: 92%;
 margin: 25px auto 10px;
 border-collapse:collapse;
 border-spacing:0;
 empty-cells:show;
}
.joblist__contents__table th {
	font-size: 14px;
	font-weight:normal;
 text-align: center;
 padding:10px 0 10px;
 width: 160px;
}
.joblist__contents__table td {
 font-size: 14px;
 border-bottom:1px solid #e8e8e8;
 padding:10px 10px 10px 15px;
}
.morebtn{
	text-align: center;
	margin:30px auto 20px;
}
.morebtn a{
	display: inline-block;
	text-align: center;
	padding:9px 70px 8px;
	color:#fff;
	border-radius: 3px;
}
.superior__contentsbox__interview dd {
 font-size: var(--fz-16);
}
.superior__contentsbox__interview dt {
 font-size: var(--fz-18);
}

@media screen and (min-width: 768px){
 .mainimg{
  margin-bottom:50px;
 } 
 .maincatch h2{
  font-size: var(--fz-28);
 }
 .maincatch__contents {
  font-size: var(--fz-20);
 }
 .mission__box{
  width:70%;
  padding:40px 30px;
 }
 .mission__box__maintitle{
  font-size: var(--fz-20);
 }
 .message__img{
  width:30%;
  margin-right: 3%;
 }
 .reserveflex .about__contents__img{
  margin-left:0;
  margin-right:2%;
 }
 .about__contents__img{
  width:35%;
  margin-left:2%;
 }
 .superior__contentsbox__img{
  margin-right: 3%;
  width:35%;
 }
 .message__contents__title{
  font-size:var(--fz-20);
 }
 .faqsec dt {
  padding: 10px 0 0 1em;
 }
 .joblist__contents__table th {
  border-right:1px solid #e8e8e8;
  border-bottom:1px solid #e8e8e8;
 }


}
@media screen and (max-width: 767px){
 .headinner {
  flex-wrap: wrap;
  gap: 20px;
 }
 .headlogoarea {
  justify-content: center;
  gap: 20px;
  width: 100%;
 }
 .head-rightarea {
  justify-content: center;
  width: 100%;
 }
 .h-logo {
  max-width: 80px;
 }
 .mainimg{
  margin-bottom:30px;
 }
 .maincatch h2{
  font-size: var(--fz-22);
 }
 .maincatch__contents {
  font-size: var(--fz-18);
 }
 .mission__box{
  width: 80%;
  padding:30px 20px;
 }
 .mission__box__maintitle{
  font-size: var(--fz-18);
 }
 .message__box {
  flex-direction: column;
 }
 .message__img{
  margin-bottom: 20px;
 }
 .about__contents.reserveflex {
  flex-direction: column-reverse;
 }
 .about__contents__img{
  margin-bottom: 20px;
 }
 .about__contents {
  flex-direction: column-reverse;
 }
 .superior__contentsbox {
  flex-direction: column;
 }
 .superior__contentsbox__img{
  margin-bottom: 20px;
 }
 .message__contents__title{
  font-size:var(--fz-18);
 }

 table.superior__contentsbox__contents__schedule th,
 table.superior__contentsbox__contents__schedule td{
  width: 100%;
  display: block;
  box-sizing: border-box;
  line-height: 1.4;
 }
 table.superior__contentsbox__contents__schedule th {
  font-weight: bold;
 }
 table.superior__contentsbox__contents__schedule td {
  margin-block: 0 20px;
  padding: 5px 0 20px;
  border-bottom: 1px solid #ccc;
 }
 .faqsec dt {
  padding: 10px 0;
 }
 table.joblist__contents__table th,
 table.joblist__contents__table td {
  display: block;
  width: 100%;
  box-sizing: border-box;
 }
 .joblist__contents__table th {
  background: #eee;
 }
}

/* スライダー関連 */
.slick-initialized .slick-slide{
	width:330px;
	margin:0 20px;
}
.superior-thum li{
	display: block;
	cursor: pointer;
	text-decoration: none;
	position: relative;
}
.superior-thum li img{
	width:100%;
}
.superior-thum .slick-prev,
.superior-thum .slick-next{
	top: auto;
	width: 32px;
 height:32px;
 top:40%;
 z-index:99;
}
.superior-thum .slick-prev{
	left:20px;
}
.superior-thum .slick-next{right: 20px;}
.superior-thum .slick-prev:before,
.superior-thum .slick-next:before{
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	display: block;
	border-radius: 50%;
	border:1px solid #909090;
	text-align: center;
	font-size: 14px;
 width: 30px;
 height: 30px;
 line-height: 31px;
 color: #2e2e2e;
}
.superior-thum .slick-prev:before{
	content: "\f053";
}
.superior-thum .slick-next:before{
	content: "\f054";
}


/* 募集要項 */

.joblist-upper{
	margin:70px 0;
}
.joblist-upper h1.jobtitle{
	text-align: center;
	font-size:19px;
	margin-bottom: 25px;
}
.joblist-upper__contents{
	max-width:600px;
	margin: 0 auto;
}
.joblist-upper__contents h2{
	font-size:16px;
	margin-bottom: 6px;
}
.morelink{
	text-align: center;
	margin:40px 0;
}

.morelink a{
	text-decoration: underline;
}
.requirements  .joblist__contents{
	border:none;
}
.requirements  .joblist__contents .joblist__contents__table{
	border-top:1px solid #bbbbbb;
 border-left:1px solid #bbbbbb;
}
.requirements  .joblist__contents .joblist__contents__table th{
	border-right:1px solid #bbbbbb;
 border-bottom:1px solid #bbbbbb;
}
.requirements  .joblist__contents .joblist__contents__table td{
 border-right:1px solid #bbbbbb;
 border-bottom:1px solid #bbbbbb;
}
