@charset "utf-8";
/*
Theme Name: なかい予備校グループ
Theme URI: https://nakaiyobikou.jp/
Description: なかい予備校グループのテーマです
*/



/*採用
***************************************/
#recruit-entry-content #recruit01 {
	background:url(../../images/recruit/recruit01_bg.png) no-repeat bottom center;
	background-size:100%;
	position:relative;
	padding-top:4.5rem;
	padding-bottom:9rem;
}

#recruit-entry-content #recruit01 h2 {
	font-size:clamp(27px, 4.2vw, 72px);
	margin-bottom:6rem;
	letter-spacing:3px;
}

#recruit-entry-content #recruit01 h2 span {
	color:#FFF;
	font-weight:900;
	line-height:1.6;
	
	background: linear-gradient(transparent 0%,#17309b 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #fff;
	padding: 1rem 0 0.4rem 1rem;
}

#recruit-entry-content #recruit01 h2 strong {
	color:#fff100;
	font-weight:900;
}

#recruit-entry-content #recruit01 p {
	font-size:clamp(16px, 1.4vw, 20px);
	margin-bottom:4rem;
	line-height:1.7;
}

#recruit-entry-content #recruit01 .box1600 {
	position:unset;
}

#recruit-entry-content #recruit01 .column-outside-right {
	position:absolute;
	right:5%;
	bottom:0;
	width:50%;
	text-align:right;
}

#recruit-entry-content #recruit02 {
	background:url(../../images/recruit/recruit02_bg.jpg) no-repeat center center;
	background-size:cover;
	padding-top:15rem;
	padding-bottom:15rem;
}

#recruit-entry-content #recruit02 .box1600 {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

#recruit-entry-content #recruit02 h2 {
	font-size:clamp(27px, 4.2vw, 72px);
	margin-bottom:6rem;
	letter-spacing:3px;
}

#recruit-entry-content #recruit02 h2 span {
	color:#111;
	font-weight:900;
	line-height:1.6;
	
	background: linear-gradient(transparent 0%,#FFF 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	padding: 1rem 0 0.4rem 1rem;
}

#recruit-entry-content #recruit02 h2 strong {
	color:#17309b;
	font-weight:900;
}

#recruit-entry-content #recruit02 p {
	font-size:clamp(16px, 1.4vw, 20px);
	margin-bottom:4rem;
	line-height:1.7;
	color:#FFF;
}

#recruit-entry-content #recruit02 p strong {
	font-size:clamp(20px, 2.2vw, 28px);
	border-bottom:10px solid #fff100;
	line-height:2.2;	
}

#recruit-entry-content #recruit02 p:last-child {
	margin-bottom:0;
}


#recruit-entry-content #recruit02 .img-box {
	position:absolute;
	left:0;
	padding:0 5%;
}


#recruit-entry-content #recruit03 {
	background:url(../../images/recruit/recruit03_bg.jpg) no-repeat center center;
	background-size:cover;
	padding-top:18rem;
}

#recruit-entry-content #recruit03 h2 {
	text-align:center;
	margin-bottom:9rem;
}

#recruit-entry-content #recruit03 h2 span {
	font-size:clamp(18px, 2.4vw, 30px);
	display:block;
	font-weight:900;
	margin-bottom:1rem;
}

#recruit-entry-content #recruit03 h2 strong {
	font-size:clamp(30px, 4.8vw, 60px);
	display:block;
	color:#17309b;
	font-weight:900;
	
}

#recruit-entry-content #recruit03 p {
	font-size:clamp(16px, 1.4vw, 20px);
	margin-bottom:4rem;
	line-height:1.7;
}


#recruit-entry-content #recruit04 {
	padding-top:15rem;
}

#recruit-entry-content #recruit04 ul li {
	text-align:center;
	margin-bottom:3rem;
}

#recruit-entry-content #recruit04 ul li:last-child {
	margin-bottom:0;
}

#recruit-entry-content #recruit04 ul li a {
	display: inline-block;
	padding: 3.5rem 3rem;
	width: 100%;
	font-size: clamp(18px, 2.4vw, 36px);
	color: #17309b;
	border: 1px solid #17309b;
	text-align: center;
	position: relative;
	vertical-align: bottom;
	line-height:1.3;
	letter-spacing:0.5rem;
	font-weight:700;
	text-decoration:none !important;
}

#recruit-entry-content #recruit04 ul li a span {
	display:block;
	font-size: clamp(15px, 1.8vw, 24px);
}

#recruit-entry-content #recruit04 ul li a:after {
	content: url(../../images/arrow-blue.png);
	right: 4.5rem;
	position: absolute;
	top: 44%;
	transform: translateY(-44%);
	-webkit- transform: translateY(-44%);
	margin: auto;
	display: inline-block;
}

/* 矢印にアニメーション設定 */
#recruit-entry-content #recruit04 ul li a:after {
  transition: transform 0.3s ease;
}

/* ホバー時に少し右へ */
#recruit-entry-content #recruit04 ul li a:hover:after {
  transform: translate(10px, -44%);
}

#recruit-entry-content #recruit04 ul li a:hover {
	color:#17309b;
}


@media (max-width: 980px){
#recruit-entry-content #recruit01 {
	padding-top:0;
	padding-bottom:27rem;
}

#recruit01 .w75 {
	width:100%;
}

#recruit-entry-content #recruit01 .column-outside-right {
  width: 70%;
}

#recruit-entry-content #recruit01 h2 {
	line-height: 2;
	margin-bottom:3rem;
}

#recruit-entry-content #recruit01 p {
	margin-bottom:2rem;
	position:relative;
	z-index:1;
}

#recruit-entry-content #recruit02 {
	padding-top:9rem;
	padding-bottom:9rem;
}

#recruit-entry-content #recruit02 h2 {
	line-height:2;
	margin-bottom:3rem;
}

#recruit-entry-content #recruit02 p {
	margin-bottom:2rem;
}

#recruit-entry-content #recruit02 p br {
	display:none;
}

#recruit02 .w50.text-box {
	width:100%;
	margin-bottom:3rem;
}

#recruit02 .w50.img-box {
	width:70%;
	margin:0 auto;
}

#recruit-entry-content #recruit02 .img-box {
	position:inherit;
}

#recruit-entry-content #recruit03 {
	padding-top:9rem;
}

#recruit-entry-content #recruit03 h2 {
	margin-bottom:4.5rem;
}

#recruit-entry-content #recruit03 .text-box.w70 {
	width:100%;
}

#recruit-entry-content #recruit03 .img-box.w30 {
	width:50%;
	margin:0 auto;
	text-align:center;
}

#recruit-entry-content #recruit03 .img-box.w30 img {
	width:100%;
	max-width:300px;
	height:auto;
}

#recruit-entry-content #recruit03 p {
	margin-bottom:2rem;
}

#recruit-entry-content #recruit04 {	
	padding-top:9rem;
	padding-bottom:9rem;
}

#recruit-entry-content #recruit04 ul li a {
	padding:2.5rem 1.5rem 1.5rem 1.5rem;
}

#recruit-entry-content #recruit04 ul li a::after {
	position:relative;
	top:inherit;
	right:inherit;
	transform:none;
	display:block;
	text-align:center;
	margin-top:1rem;
}

}



/*採用情報 <水泳インストラクター>
***************************************/
#instructor-entry-content {
	padding-top:4.5rem;
}

#instructor-entry-content h1 {
	position:relative;
	text-align:center;
	margin-bottom:15rem;
}

#instructor-entry-content h1 strong {
	display:block;
	font-size: clamp(32px, 3.6vw, 48px);
	font-weight:900;
	margin-bottom:1rem;
}

#instructor-entry-content h1 span {
	display:block;
	font-size: clamp(24px, 2.4vw, 30px);
	color:#17309b;
	font-weight:900;
}

#instructor-entry-content #instructor01 {
	padding-bottom:15rem;
}

#instructor-entry-content #instructor01 h2 {
	font-size:clamp(30px, 3.6vw, 60px);
	margin-bottom:9rem;
	letter-spacing:3px;
	text-align:center;
	position:relative;
}

#instructor-entry-content #instructor01 h2 span {
	color:#FFF;
	font-weight:900;
	line-height:1.6;
	background: linear-gradient(transparent 0%,#17309b 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #fff;
	padding:1rem 2rem 0 2rem;
}

#instructor-entry-content #instructor01 h3 {
	margin-bottom:4.5rem;
	font-size:clamp(24px, 3.6vw, 48px);
	line-height:1.3;
	font-weight:900;
	color:#17309b;
}

#instructor-entry-content #instructor01 .column-outside-left {
  flex:1;
  margin-left:calc(50% - 50vw);
  margin-right:4%;
  padding-left:4%;
}

#instructor-entry-content #instructor01 .column-outside-left img {
  width:100%;
  height:auto
}

#instructor-entry-content #instructor01 p {
	font-size:clamp(16px, 1.4vw, 20px);
	margin-bottom:4rem;
	line-height:1.8;
	font-weight:700;
}

#instructor-entry-content #instructor01 p:last-child {
	margin-bottom:0;
}

#instructor-entry-content #instructor02 {
	background:url(../../images/recruit_ins/recruit_ins02_bg.jpg) no-repeat center top;
	background-size:100%;
	padding-top:51.2%;
	position:relative;
}

#instructor-entry-content #instructor02 .box1600 {
	position: unset;
}

#instructor-entry-content #instructor02 h2 {
	font-size:clamp(25px, 3.6vw, 60px);
	color:#17309b;
	background:rgba(255,255,255,0.9);
	padding: 1.5%;
	text-align:center;
	font-weight:900;
	width:100%;
	max-width:1480px;
	line-height:1.4;
	
	/*中央*/
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	margin: auto;
	display:inline-block;
}

#instructor-entry-content #instructor02 p {
	/*中央*/
	position: absolute;
	top: 77%;
	left: 50%;
	transform: translateY(-77%) translateX(-50%);
	-webkit- transform: translateY(-77%) translateX(-50%);
	margin: auto;
	display:inline-block;
	font-size:clamp(16px, 1.4vw, 20px);
	text-align:center;
	line-height:2;
	font-weight:700;
	width:100%;
}

#instructor-entry-content #instructor03 {
	background:#17309b;
	padding-top:15rem;
	padding-bottom:15rem;
}

#instructor-entry-content #instructor03 h2 {
	text-align:center;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor03 h2 span {
	display:inline-block;
	font-size:clamp(26px, 3.6vw, 60px);
	color:#17309b;
	background:#FFF;
	text-align:center;
	font-weight:900;
	line-height:1.4;
	padding:1rem 2rem 0 2rem;
}

#instructor-entry-content #instructor03 > .base > p {
	text-align:center;
	color:#FFF;
	font-size: clamp(24px, 2.4vw, 30px);
	font-weight:900;
	margin-bottom:9rem;
	line-height:1.6;
}

#instructor-entry-content #instructor03 .instructor_box {
	padding:3rem;
	background:#FFF;
	display: flex;
	gap: 3rem;
	flex-wrap: wrap;
	margin-bottom:3rem;
	position: relative;
	overflow: hidden;
}

#instructor-entry-content #instructor03 .instructor_box .img-box {
	width:calc(50% - 1.5rem);
	position:relative;
	z-index:1;
}

#instructor-entry-content #instructor03 .instructor_box .text-box {
	width:calc(50% - 1.5rem);
	position:relative;
	z-index:1;
}

#instructor-entry-content #instructor03 .instructor_box .text-box p.hongyo {
}

#instructor-entry-content #instructor03 .instructor_box .text-box span {
	font-size:clamp(16px, 1.4vw, 18px);
	color:#17309b;
	display:block;
	font-weight:700;
	margin-bottom:1rem;
}

#instructor-entry-content #instructor03 .instructor_box .text-box strong {
	font-size: clamp(22px, 2.2vw, 30px);
	display:block;
	font-weight:700;
	margin-bottom:1.5rem;
}

#instructor-entry-content #instructor03 .instructor_box .text-box h3 {
	margin-bottom:1rem;
}

#instructor-entry-content #instructor03 .instructor_box .text-box h3 span {
	display:inline-block;
	font-size:clamp(24px, 2vw, 24px);
	color:#FFF;
	background:#17309b;
	padding:0.5rem;
}

#instructor-entry-content #instructor03 .instructor_box .text-box p.msg {
	line-height:2.2;
  background-image: linear-gradient(transparent, transparent calc(100% - 1px), #EEE 1px);
  background-size: 100% 2.2em; /* 行の高さに合わせて調整 */
  background-repeat: repeat-y;
}

.instructor_box .slash {
	width:6vw;
	left: calc(50% - -5vw);
	overflow: clip;
	z-index:0;
}

#instructor-entry-content #instructor04 {
	padding-top:15rem;
	padding-bottom:15rem;
	background:url(../../images/recruit_ins/recruit_ins04_bg.jpg) no-repeat center center;
	background-size:cover;
}

#instructor-entry-content #instructor04 .box01 {
	display: flex;
	gap: 3rem;
	flex-wrap: wrap;
	margin-bottom:9rem;
	
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	flex-direction:row-reverse; /*逆順*/
}

#instructor-entry-content #instructor04 .img-box {
	width:calc(36% - 1.5rem);
}

#instructor-entry-content #instructor04 .text-box {
	width:calc(64% - 1.5rem);
}

#instructor-entry-content #instructor04 h2 {
	font-size:clamp(27px, 4.8vw, 60px);
	margin-bottom:3rem;
	letter-spacing:3px;
	position:relative;
}

#instructor-entry-content #instructor04 h2 span {
	color:#FFF;
	font-weight:900;
	line-height:1.6;
	background: linear-gradient(transparent 0%,#17309b 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #fff;
	padding:1rem 2rem 0 2rem;
}

#instructor-entry-content #instructor04 h2 strong {
	color:#fff100;
	font-weight:900;
}

#instructor-entry-content #instructor04 p {
	font-size:clamp(16px, 1.4vw, 20px);
	line-height:2;
	font-weight:700;
}

#instructor-entry-content #instructor04 .box02 {
}

#instructor-entry-content #instructor04 .box02 h3 {
	font-size:clamp(18px, 2vw, 24px);
	font-weight:700;
	border-left:5px solid #17309b;
	padding-left:1rem;
	margin-bottom:3rem;
}

#instructor-entry-content #instructor04 .box02 h4 {
	font-size:clamp(18px, 2vw, 24px);
	padding:1rem 1.5rem 0.5rem 1.5rem;
	text-align:center;
	color:#FFF;
	font-weight:700;
}

#instructor-entry-content #instructor04 .box02 .left_box .inner_left h4 { background:#17309b;}
#instructor-entry-content #instructor04 .box02 .left_box .inner_right h4 { background:#ff7898;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_left h4 { background:#9dc337;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_right h4 { background:#d0a248;}


.schedule {
    position: relative;
    font-size: 14px;
	padding:4.5rem 0;
}
.schedule::before {
    position: absolute;
    top: 0px;
    left: 8em;
    width: 6px;
    height: 100%;
    background-color: #e7eaf5;
    content: "";
}

.schedule ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
}

.schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.schedule li + li {
    margin-top: 2em;
}

.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 1.6em;
    border-radius: 6px;
    background-color: #17309b;
    color: #fff;
    text-align: center;
	font-size:clamp(18px, 1.6vw, 20px);
}

.schedule_time span {
	font-size:clamp(15px, 1.6vw, 15px);
	font-weight:700;
	position:relative;
	top:0;
}

.schedule_time.bg_none {
	background:none !important;
}

.schedule_time.bg_none:before {
	content:none !important;
}

.schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    background-color: #17309b;
    content: "";
}
.schedule_time::after {
    position: absolute;
    top: 50%;
    left: 10.5rem;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #17309b;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

.schedule_content {
    margin: 0px 0px 0px 3em;
    width: calc(100% - 8em);
}



#instructor-entry-content #instructor04 .box02 .left_box .inner_right .schedule::before { background-color: #ffe6ec;}
#instructor-entry-content #instructor04 .box02 .left_box .inner_right .schedule_time { background-color: #ff7898;}
#instructor-entry-content #instructor04 .box02 .left_box .inner_right .schedule_time::before { background-color: #ff7898;}
#instructor-entry-content #instructor04 .box02 .left_box .inner_right .schedule_time::after {background-color: #ff7898;}
 
#instructor-entry-content #instructor04 .box02 .right_box .inner_left .schedule::before { background-color: #f6ffdf;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_left .schedule_time { background-color: #9dc337;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_left .schedule_time::before { background-color: #9dc337;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_left .schedule_time::after {background-color: #9dc337;}
 
#instructor-entry-content #instructor04 .box02 .right_box .inner_right .schedule::before { background-color: #ffe9be;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_right .schedule_time { background-color: #d0a248;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_right .schedule_time::before { background-color: #d0a248;}
#instructor-entry-content #instructor04 .box02 .right_box .inner_right .schedule_time::after {background-color: #d0a248;}

@media (max-width: 980px){
#instructor-entry-content h1 {
	margin-bottom:6rem;
}

#instructor-entry-content #instructor01 {
	padding-bottom:9rem;
}

#instructor-entry-content #instructor01 h2 {
	line-height:2;
	margin-bottom:3rem;
}

#instructor-entry-content #instructor01 .column-outside-left {
	width:100%;
	text-align:center;
	flex:none;
	margin-left:0;
	margin-right: 0;
	margin-bottom:4.5rem;
	padding-left: 0;
}

#instructor-entry-content #instructor01 .w52 {
	width:100%;
}

#instructor-entry-content #instructor01 p {
	margin-bottom:2rem;
}

#instructor-entry-content #instructor02 {
	background:url(../../images/recruit_ins/recruit_ins02_bg_sp.jpg) no-repeat center top;
	background-size:100%;
	padding-top:122%;
	position:relative;
	padding-bottom:9rem;
}

#instructor-entry-content #instructor02 h2 {
	position:inherit;
	transform:none;
	padding:2rem;
	margin-bottom:3rem;
}

#instructor-entry-content #instructor02 p {
	position:inherit;
	transform:none;
}


#instructor-entry-content #instructor03 {
	padding-top:9rem;
	padding-bottom:9rem;
}

#instructor-entry-content #instructor03 h2 span {
	padding:1rem 2rem 1rem 2rem;
}

#instructor-entry-content #instructor03 .instructor_box {
	width:100%;
	display:block;
	padding:2rem;
}

#instructor-entry-content #instructor03 .instructor_box:last-child {
	margin-bottom:0;
}

#instructor-entry-content #instructor03 > .base > p {
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor03 .instructor_box .text-box {
	width:100%;
}
#instructor-entry-content #instructor03 .instructor_box .img-box {
	width:100%;
	margin-bottom:1.5rem;
	text-align:center;
}

#instructor-entry-content #instructor04 {
	padding-top:9rem;
	padding-bottom:4.5rem;
}

#instructor-entry-content #instructor04 h2 {
	line-height:2;
	text-align:center;
}

#instructor-entry-content #instructor04 h2 span {
	padding: 1rem 2rem 0 2rem;
}

#instructor-entry-content #instructor04 .box01 {
	display:block;
}

#instructor-entry-content #instructor04 .img-box {
	width:60%;
	margin:0 auto;
}

#instructor-entry-content #instructor04 .text-box {
	width:100%;
}

#instructor-entry-content #instructor04 .box02 .left_box.w48 {
	width:100%;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor04 .box02 .right_box.w48 {
	width:100%;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor04 .box02 .left_box .inner_left {
	width:100%;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor04 .box02 .left_box .inner_right {
	width:100%;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor04 .box02 .right_box .inner_left {
	width:100%;
	margin-bottom:4.5rem;
}

#instructor-entry-content #instructor04 .box02 .right_box .inner_right {
	width:100%;
}

}






/*採用情報 <本社・フリーランス>
***************************************/
#honsha #primary,
#instructor #primary {
	padding-bottom:0;
}

#honsha-entry-content {
	padding-top:15rem;
}

#honsha-entry-content h1 {
	position:relative;
	text-align:center;
	margin-bottom:15rem;
}

#honsha-entry-content h1 strong {
	display:block;
	font-size: clamp(32px, 3.6vw, 48px);
	font-weight:900;
	margin-bottom:1rem;
}

#honsha-entry-content h1 span {
	display:block;
	font-size: clamp(24px, 2.4vw, 30px);
	color:#17309b;
	font-weight:900;
}

#honsha-entry-content #honsha01 h2 {
	font-size:clamp(30px, 3.6vw, 60px);
	margin-bottom:6rem;
	letter-spacing:3px;
	text-align:center;
}

#honsha-entry-content #honsha01 h2 span {
	color:#FFF;
	font-weight:900;
	line-height:1.6;
	
	background: linear-gradient(transparent 0%,#17309b 0%);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #fff;
	padding: 1rem 0 0.4rem 1rem;
}

#honsha-entry-content #honsha01 h3 {
	text-align:center;
	font-size: clamp(24px, 3.6vw, 48px);
	font-weight:900;
	color:#17309b;
	line-height:1.4;
	margin-bottom:6rem;
}

#honsha-entry-content #honsha01 p {
	font-size:clamp(16px, 1.4vw, 20px);
	margin-bottom:4rem;
	line-height:1.7;
}

#honsha-entry-content .honsha02 {
	padding-top:15rem;
	padding-bottom:15rem;
	background:url(../../images/recruit_honsha/recruit_honsha02_bg01.jpg) no-repeat right top;
	background-size:cover;
}


/* H2 横並び＆下揃え */
#honsha-entry-content .honsha02 h2 {
  display: flex;
  align-items: flex-end; /* 下揃え */
  gap: 0.6em;
  flex-wrap: wrap;
  margin-bottom:6rem;
}

/* 大きい左テキスト（Design1 など） */
#honsha-entry-content .honsha02 h2 span {
  font-size: clamp(48px, 9vw, 150px);
  display: block;
  color: #FFF;
  line-height: 1; /* ← これ重要！巨大文字のベースライン安定 */
  width:25%;
}

/* 右側のテキスト */
#honsha-entry-content .honsha02 h2 strong {
	display: inline-block;
	position: relative;
	padding-bottom: 0.2em;
	line-height: 1.1; /* バランス良く */
	font-size: clamp(20px, 2.4vw, 30px);
	width:70%;
	color:#FFF;
	top:-1.6em;
}

/* strong の下に横いっぱいのボーダー */
#honsha-entry-content .honsha02 h2 strong::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0; /* ← テキスト幅ではなく strong 全体に伸ばす */
	bottom: -1.5rem;
	height: 8px;
	background: #fff100; /* 色は自由に */
}

#honsha-entry-content .honsha02 h3 {
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight:900;
	margin-bottom:3rem;
	color:#FFF;
}

#honsha-entry-content .honsha02 .left_box ol li {
}

#honsha-entry-content .honsha02 .left_box ol li:after {
	content:url(../../images/arrow_bottom01.png);
	display:block;
	text-align:left;
	padding:1.5rem 0 1rem 10%;
	width:100%;
}

#honsha-entry-content .honsha02 .left_box ol li .bg_wrapper {
	background:#FFF;
	padding:2rem;
	display: flex;
	gap: 0.6em;
	flex-wrap: wrap;
}

#honsha-entry-content .honsha02 .left_box ol li:last-child:after {
	content:none;
}

#honsha-entry-content .honsha02 .left_box ol li span {
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 0.8;
}

#honsha-entry-content .honsha02 .left_box ol li strong {
	font-size:clamp(16px, 1.4vw, 20px);
}

#honsha-entry-content .honsha02 .right_box .img-box {
	text-align:center;
	margin-bottom:9rem;
}

#honsha-entry-content .honsha02 .right_box .box01 {
	margin-bottom:4.5rem;
	padding-bottom:4.5rem;
	border-bottom:dotted 3px #FFF;
}

#honsha-entry-content .honsha02 .right_box .box01 h3:before {
    content: "\f0a4";
	font-weight:normal;
    font-family: FontAwesome;
    margin-right:1rem;
}

#honsha-entry-content .honsha02 .right_box .box01 ul {}

#honsha-entry-content .honsha02 .right_box .box01 ul li {
	font-size:clamp(16px, 1.4vw, 18px);
	line-height:1.8;
	color:#FFF;
	font-weight:700;
	text-indent: -3.7rem;
	padding-left: 3.7rem;
}

#honsha-entry-content .honsha02 .right_box .box01 ul li:before {
    content: "\f00c";
    font-family: FontAwesome;
    margin-right:1rem;
	font-size:1.4em;
}

#honsha-entry-content .honsha02 .right_box .box02 {}

#honsha-entry-content .honsha02 .right_box .box02 h3:before {
    content: "\f075";
    font-family: FontAwesome;
    margin-right:1rem;
}

#honsha-entry-content .honsha02 .right_box .box02 p {
	font-size:clamp(16px, 1.4vw, 18px);
	line-height:1.8;
	color:#FFF;
	font-weight:700;
}

#honsha-entry-content .honsha03 {
	padding-top:15rem;
	padding-bottom:15rem;
	background:url(../../images/recruit_honsha/recruit_honsha02_bg02.jpg) no-repeat left top;
	background-size:cover;
}

/* H2 横並び＆下揃え */
#honsha-entry-content .honsha03 h2 {
  display: flex;
  align-items: flex-end; /* 下揃え */
  gap: 0.6em;
  flex-wrap: wrap;
  margin-bottom:6rem;
}

/* 大きい左テキスト（Design1 など） */
#honsha-entry-content .honsha03 h2 span {
  font-size: clamp(48px, 9vw, 150px);
  display: block;
  color: #17309b;
  line-height: 1;
  width:25%;
}

/* 右側のテキスト */
#honsha-entry-content .honsha03 h2 strong {
	display: inline-block;
	position: relative;
	padding-bottom: 0.2em;
	line-height: 1.1;
	font-size: clamp(20px, 2.4vw, 30px);
	width:70%;
	color:#111;
	top:-1.6em;
}

/* strong の下のライン */
#honsha-entry-content .honsha03 h2 strong::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.5rem;
	height: 8px;
	background: #fff100;
}

#honsha-entry-content .honsha03 h3 {
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight:900;
	margin-bottom:3rem;
	color:#17309b;
}

#honsha-entry-content .honsha03 .right_box .box01 h3:before {
    content: "\f0a4";
	font-weight:normal;
    font-family: FontAwesome;
    margin-right:1rem;
}


#honsha-entry-content .honsha03 .left_box ol li {}

#honsha-entry-content .honsha03 .left_box ol li:after {
	content:url(../../images/arrow_bottom02.png);
	display:block;
	text-align:left;
	padding:1.5rem 0 1rem 10%;
	width:100%;
}

#honsha-entry-content .honsha03 .left_box ol li .bg_wrapper {
	background:#17309b;
	padding:2rem;
	display: flex;
	gap: 0.6em;
	flex-wrap: wrap;
	color:#FFF;
}

#honsha-entry-content .honsha03 .left_box ol li:last-child:after {
	content:none;
}

#honsha-entry-content .honsha03 .left_box ol li span {
	font-size: clamp(24px, 2.4vw, 30px);
	line-height: 1;
}

#honsha-entry-content .honsha03 .left_box ol li strong {
	font-size:clamp(16px, 1.4vw, 20px);
	line-height: 1.6;
}

#honsha-entry-content .honsha03 .right_box .img-box {
	text-align:center;
	margin-bottom:9rem;
}

#honsha-entry-content .honsha03 .right_box .box01 {
	margin-bottom:4.5rem;
	padding-bottom:4.5rem;
	border-bottom:dotted 3px #17309b;
}

#honsha-entry-content .honsha03 .right_box .box01 ul li {
	font-size:clamp(16px, 1.4vw, 18px);
	line-height:1.8;
	color:#111;
	font-weight:700;
	text-indent: -3.7rem;
	padding-left: 3.7rem;
}

#honsha-entry-content .honsha03 .right_box .box01 ul li:before {
    content: "\f00c";
    font-family: FontAwesome;
    margin-right:1rem;
	font-size:1.4em;
	color:#17309b;
}

#honsha-entry-content .honsha03 .right_box .box02 h3:before {
    content: "\f075";
    font-family: FontAwesome;
    margin-right:1rem;
}


#honsha-entry-content .honsha03 .right_box .box02 p {
	font-size:clamp(16px, 1.4vw, 18px);
	font-weight:700;
	line-height:1.8;
	color:#111;
}

@media (max-width: 980px){
#honsha-entry-content {
  padding-top: 4.5rem;
}

#honsha-entry-content h1 {
  margin-bottom: 6rem;
}

#honsha-entry-content #honsha01 {
	padding-bottom:4.5rem;
}

#honsha-entry-content #honsha01 h2 {
	line-height:2;
	margin-bottom:3rem;
}

#honsha-entry-content #honsha01 h2 span {
	padding: 1rem 1rem 0.4rem 1rem;
}

#honsha-entry-content #honsha01 h3 br {
	display:none;
}

#honsha-entry-content #honsha01 .img-box.w50 {
	width:100%;
	margin-bottom:4.5rem;
}

#honsha-entry-content #honsha01 .text-box.w45 {
	width:100%;
}

#honsha-entry-content #honsha01 p {
	margin-bottom:2rem;
}

#honsha-entry-content .honsha02,
#honsha-entry-content .honsha03 {
	padding-top:9rem;
	padding-bottom:9rem;
}

#honsha-entry-content .honsha02 .box_inner .left_box.w43,
#honsha-entry-content .honsha03 .box_inner .left_box.w43 {
	width:100%;
	margin-bottom:4.5rem;
}

#honsha-entry-content .honsha02 .box_inner .right_box.w52,
#honsha-entry-content .honsha03 .box_inner .right_box.w52 {
	width:100%;
}

#honsha-entry-content .honsha02 .right_box .img-box,
#honsha-entry-content .honsha03 .right_box .img-box {
	margin-bottom:4.5rem;
}

#honsha-entry-content .honsha02 h2 span,
#honsha-entry-content .honsha03 h2 span {
	width:100%;
}

#honsha-entry-content .honsha02 h2 strong,
#honsha-entry-content .honsha03 h2 strong {
	width:100%;
	top:inherit;
}

#honsha-entry-content .honsha02 h3,
#honsha-entry-content .honsha03 h3 {
	margin-bottom:2rem;
}

}

#recruit_info {
	padding-top:15rem;
	padding-bottom:15rem;
}

#recruit_info h2 {
	font-size:clamp(30px, 3.6vw, 60px);
	color:#17309b;
	text-align:center;
	font-weight:900;
	margin-bottom:6rem;
}

#recruit_info h2 span {
	display:block;
	font-size:clamp(18px, 2.2vw, 30px);
	font-weight:900;
	color:#111;
	margin-bottom:1rem;
}

#recruit_info .category-list {
	margin-bottom:6rem;
}

#recruit_info .category-list ul {
	display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
}

#recruit_info .category-list li {
	margin:0 0.5rem;
}

#recruit_info .category-list li a {
  display: block;
  padding: 1rem 3rem;
  color: #17309b;

  border-width: 1px;
  border-style: solid;
  border-color: #17309b;

  font-size: clamp(16px, 2vw, 24px);
  font-weight: 700;
  text-decoration: none !important;

  transition: color 0.3s ease, border-color 0.3s ease;
}

#recruit_info .category-list li a:hover {
  color: #ff4788;
  border-color: #ff4788;
}

#recruit_info section {
	margin-bottom:9rem;
}

#recruit_info section:last-child {
	margin-bottom:0;
}

#recruit_info h3 {
	font-size:clamp(18px, 2.2vw, 30px);
	font-weight:700;
	padding-bottom:1rem;
	border-bottom:3px solid #17309b;
	color:#17309b;
	margin-bottom:4.5rem;
}

#recruit_info .recruit_detail {
	margin-bottom:3rem;
	padding:4.5rem;
	background:#f9f9f9;
	border:1px solid #e3e3e3;
}

#recruit_info .recruit_detail:last-child {
	margin-bottom:0;
}

#recruit_info .recruit_detail dl:first-child {
	display: flex;
	gap: 3rem;
	flex-wrap: wrap;
	-webkit-align-items: center;
	align-items: center;
}

#recruit_info .recruit_detail dl:first-child dt {
	width:calc(20% - 1.5rem);
}

#recruit_info .recruit_detail dl:first-child dd {
	width:calc(80% - 1.5rem);
	line-height:1.6;
	font-size:clamp(18px, 2vw, 24px);
	font-weight:700;
}

#recruit_info .recruit_detail dl {
	margin-bottom:3rem;
	padding-bottom:3rem;
	border-bottom:1px solid #e3e3e3;
}

#recruit_info .recruit_detail dl:last-child {
	margin-bottom:0;
	padding-bottom:0;
	border-bottom:none;
}

#recruit_info .recruit_detail dl:nth-child(n + 2) dt {
	font-size:clamp(18px, 1.4vw, 20px);
	font-weight:700;
	margin-bottom:1.75rem;
	border-left:5px solid #17309b;
	padding-left:1rem;
	padding-top:0.25rem;
}

#recruit_info .recruit_detail dl:nth-child(n + 2) dd {
	font-size:clamp(16px, 1.4vw, 18px);
	font-weight:700;
	line-height:1.8;
}

#recruit_info .recruit_detail dl:nth-child(n + 2) dd strong {
	display:block;
	font-size:clamp(18px, 2vw, 24px);
}


@media (max-width: 980px){
#recruit_info {
	padding-top:9rem;
	padding-bottom:9rem;
}

#recruit_info .category-list li a {
	padding-left:1rem;
	padding-right:1rem;
}

#recruit_info section {
	margin-bottom:4.5rem;
}

#recruit_info .recruit_detail {
	padding:2rem;
}

#recruit_info .recruit_detail dl:first-child dt {
	width:100%;
	max-width:360px;
	margin:0 auto;
}

#recruit_info .recruit_detail dl:first-child dd {
	width:100%;
}

#recruit_info .recruit_detail dl:nth-child(n+2) dt {
}

}

#recruit_flow {
	padding-top:15rem;
	padding-bottom:15rem;
	background:url(../../images/flow_bg.jpg) no-repeat center center;
	background-size:cover;
	background-attachment:fixed;
}

#recruit_flow .box1000 {
	position:relative;
}

#recruit_flow h2 {
	font-size:clamp(30px, 3.6vw, 60px);
	color:#17309b;
	text-align:center;
	font-weight:900;
	margin-bottom:9rem;
}

.flow_design {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
}

.flow_design ul {
	padding-top:4.5rem;
	padding-bottom:3rem;
}

.flow_design li {
  list-style-type: none;
}

.flow_design dd {
  margin-left: 0;
}

.flow {
  position: relative;
}

.flow::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -129px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
  border-radius: 20px;
}

.flow > li {
  position: relative;
}

.flow > li:not(:last-child) {
  margin-bottom: 6rem;
}

.flow > li .flow-icon {
  font-size: 0.8em;
  width: 2em;
  height: 2em;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  border-radius: 100vh;
  color: #fff;
  background: #17309b;
  display: inline-block;
  margin-right: 1.5rem;
}

.flow > li dl {
  padding-left: 70px;
  position: relative;
}

.flow > li dl::before,
.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}

.flow > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background: #17309b;
  border-radius: 50%;
  left: -4px;
}

.flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}

.flow > li dl dt {
	font-size:clamp(18px, 2.2vw, 30px);
	font-weight: 600;
	margin-bottom: 0.5em;
	display: flex;
	position:relative;
	top:-0.5rem;
}

.flow > li dl dt strong {
	position:relative;
	line-height:1.6;
	font-weight:900;
	width: 83%;
}

#recruit_flow p.line-toroku {
	position:absolute;
	right:3rem;
	top:50%;
	width: 40%;
}

@media (max-width: 980px){
#recruit_flow {
	padding-top:9rem;
	padding-bottom:9rem;
}

#recruit_flow h2 {
	margin-bottom:4.5rem;
}

#recruit_flow p.line-toroku {
  position:relative;
  right: inherit;
  top: inherit;
  width: 80%;
  margin:4.5rem auto 0 auto;
}

.flow > li dl {
  padding-left: 40px;
}

.flow > li dl::after {
  width: 25px;
}

.flow > li dl dt {
	top:0;
}

}

.entry-btn {
	padding-top:15rem;
	padding-bottom:15rem;
	background:url(../../images/entry_bg.jpg) no-repeat center center;
	background-attachment:fixed;
	background-size:cover;
	text-align:center;
}

.entry-btn a {
	display: inline-block;
	padding: 4.5rem 3rem;
	width: 100%;
	font-size: clamp(20px, 2.4vw, 36px);
	color: #FFF;
	border: 1px solid #FFF;
	text-align: center;
	position: relative;
	vertical-align: bottom;
	line-height: 1.3;
	letter-spacing: 0.5rem;
	font-weight: 500;
	border-radius:100rem;
	color:#FFF !important;
	text-decoration:none !important;
}

.entry-btn a:after {
  content: url(../../images/arrow-white.png);
  right: 4.5rem;
  position: absolute;
  top: 44%;
  transform: translateY(-44%);
  -webkit- transform: translateY(-44%);
  margin: auto;
  display: inline-block;
}

@media (max-width: 980px){
.entry-btn {
	padding-top:6rem;
	padding-bottom:6rem;
}

.entry-btn a {
  padding: 2.5rem 3rem;
  letter-spacing: 0;
}

.entry-btn a:after {
  content: ">";
  top: 50%;
  transform: translateY(-50%);
  -webkit- transform: translateY(-50%);
}

}

/*会社案内
***************************************/
.rinen dl {
		display:flex;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
	align-items: center; /* 縦方向中央揃え */
	
	-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	justify-content: center; /* 横方向中央揃え */
	margin:0 auto 3rem auto;
}

.rinen dl dt {
	font-family: "Bebas Neue", "Noto Sans JP", sans-serif;
	font-weight:normal;
	font-size:clamp(24px, 2.4vw, 36px);
	text-align:center;
	color:#17309b;
}


.rinen dl dd {
	padding-left:4%;
	width:64%;
	font-size:clamp(18px, 1.8vw, 24px);
}

.rinen dl dd ul {
	margin:0;
	list-style:none;
}

#company #page-entry-content table th,
#company #page-entry-content table td {
	border-top:none;
	border-right:none;
	border-left:none;
	padding:3rem;
	border-bottom:1px solid #EEE;
	font-size:clamp(16px, 1.6vw, 20px);
}

#company #page-entry-content table td:nth-child(1) {
	font-weight:600;
}

@media (max-width: 980px){
#company #page-entry-content table th,
#company #page-entry-content table td {
	padding:1rem;
}

#company #page-entry-content table td:first-child {
	width:30%;
}

}

/*お問い合わせフォーム
***************************************/
table.contact {
	margin:0 auto 3rem auto;
}

table.contact th,
table.contact td:nth-child(1) {
	width:35%;
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom:none;
	font-weight:400;
	vertical-align:top;
	background:none;
	font-weight:600;
	font-size:clamp(18px, 1.6vw, 20px);
	padding:3rem 1.5rem
}

table.contact td {
	line-height:1.8;
	vertical-align:middle;
	background:none;
	border-top:none;
	border-right:none;
	border-left:none;
	border-bottom:none;
	font-size:clamp(18px, 1.6vw, 20px);
	padding:2rem 1.5rem;

}

table.contact td input,
table.contact td textarea {
	font-size:1.6rem;
    font-weight: 200;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"],
table.contact td input[type="date"] {
	height:50px;
	padding:0.25rem 1rem;
	width:80%;
	border:1px solid #DDD;
    box-sizing: border-box;
	font-size:clamp(18px, 1.6vw, 20px);
	background: #FAFAFA;
	border-radius:5px;
}

table.contact td select {
	padding:0.25rem;
	border:1px solid #DDD;
    box-sizing: border-box;
	font-size:1.6rem;
	background: #FAFAFA;
	border-radius:5px;
	font-size:clamp(18px, 1.6vw, 20px);
}

table.contact td input[type="date"] {
	border:1px solid #CCC;
	height:50px;
	padding:0.5rem;
	width:25%;
	background: #FAFAFA;
	border-radius:5px;
	font-size:clamp(18px, 1.6vw, 20px);
}

table.contact td input[type="checkbox"] {
	border:1px solid #CCC;
	height:35px;
	padding:0.5rem;
	width:30px;
	background: #FAFAFA;
	border-radius:5px;
}

table.contact td input[type="text"]:focus,
table.contact td input[type="email"]:focus,
table.contact td input[type="tel"]:focus,
table.contact td input[type="date"]:focus,
table.contact td textarea:focus {
	outline: 0;
	-moz-box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
	-webkit-box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.2);
	box-shadow: inner 0 0 4px rgba(0, 0, 0, 0.2);
}

table.contact td span.sp_btm10 {
	display:block;
	margin-bottom:0.5rem;
}

table.contact td span small {
	display:inline-block;
	padding:0.25rem 0.5rem;
	background:#135fa7;
	color:#FFF;
	font-size:0.8em;
	position:relative;
	top:-3px;
}

table.contact td p,
table.contact th p {
	margin-bottom:0 !important;
}

table.contact td p span.plan-check span.wpcf7-list-item,
table.contact td p span.size-check span.wpcf7-list-item {
	display:block;
}

table.contact td p small {
	display:block;
	font-size:0.9em;
}

table.contact td textarea {
	width:100%;
	border:1px solid #DDD;
	padding:0.5rem;
	background: #FAFAFA;
	border-radius:5px;
	font-size:clamp(18px, 1.6vw, 20px);
}

table.contact th span.required {
	background:#ce2e2e;
	color:#FFF;
	font-size:0.8em;
	padding:0.15rem 0.5rem;
	display:inline-block;
	margin-left:1rem;
	border-radius:5px;
}

p.submit {
	text-align:center !important;
	margin-top:4.5rem !important;
	margin-bottom:3rem !important;
}

p.submit input {
	font-size:clamp(18px, 2vw, 24px);
	padding:0.5rem 12rem;
	margin:0 1rem;
	border-radius:6rem;
	font-weight:600;
	color:#FFF;
	background:#17309b;
}


p.submit .wpcf7-spinner {
	display:block;
	margin-top:3rem;
	margin-left:auto;
	margin-right:auto;
}


div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing, div.wpcf7-response-output {
	border:2px solid #FF0000 !important;
	padding:2rem !important;
	text-align:center;
	background:#FFFFFF;
	color:#FF0000;
	margin:0 auto !important;
	font-size:1.4rem !important;
	width:80% !important;
	font-size:clamp(18px, 1.6vw, 20px) !important;
}

span.wpcf7-list-item {
	margin:0 2rem 0 0 !important;
}

span.wpcf7-not-valid-tip {
	font-size:clamp(18px, 1.6vw, 20px);
	margin-top: 0.25rem;
}

table.contact td strong {
	font-size:clamp(14px, 1.2vw, 16px);
	margin-bottom:1rem;
	display:block;
}

table.contact td label span {
	position:relative;
	top:3px;
	font-weight: 600;
}

table.contact td #privacy_box {
	font-size:0.8em;
	max-height:180px;
	overflow:auto;
	background:#FFF;
	padding:1rem;
}

table.contact td #privacy_box p {
	margin-bottom:0.5rem;
}

table.contact td.birth input[type="text"] {
	width:10%;
}

.caution_text {
	height:300px;
	overflow:auto;
	font-size:0.9em;
	background:#F7F7F7;
	padding:1.5rem;
}

.caution_text h5 {
	padding:0 1rem !important;
	border-bottom:none !important;
    margin-bottom: 1rem !important;
}

.caution_text .box {
	margin-bottom:1.5rem;
}

.caution_text ul {
	list-style:disc;
	list-style-position:outside;
	margin-left:3rem;
}

::placeholder {
  color: #CCC;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #CCC;
}
/* IE対応 */
:-ms-input-placeholder {
  color: #CCC;
}


@media (max-width: 980px){

.rinen dl dt {
	width:100%;
	margin-bottom:1.5rem;
}

.rinen dl dd {
	width:100%;
	padding-left:0;
	line-height:1.6;
}

.rinen dl dd ul li {
	text-indent:-4.2rem;
	padding-left:4.2rem;
}


table.contact {
	margin:0 0 3rem 0;
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
}

table.contact th,
table.contact td:nth-child(1) {
	width:100%;
	background:#FAFAFA;
	padding:1.5rem;
}

table.contact th,
table.contact td {
}

table.contact td:nth-child(1) {
	width:100%;
	border-bottom:none;
}

#omitsumori .content_wrapper p span {
	font-size:1em !important;
}

table.contact td input,
table.contact td textarea {
	font-size:16px !important;
}

table.contact td input[type="text"] ,
table.contact td input[type="email"],
table.contact td input[type="tel"] {
	width:100%;
}

table.contact td input[type="date"] {
	width:100%;
}

table.contact td.birth input[type="text"] {
	width:20%;
}

table.contact td span small {
	font-size:1em;
}

input[type=text],
textarea {
}

.wpcf7 table {
    border-bottom: 1px solid #EEE;
}

.wpcf7 table th,
.wpcf7 table td {
	width:100%;
	display:block;
	border-bottom:none;
}

p.submit input {
	font-size:1.2em;
	padding:0.5rem 6rem;
}
}
