/* ============================
   ワークライフバランス用スタイル
   ファイル名：workLifeBalance.css
============================ */

.mainbox.WLB {
  background-color: #fcedf0;
  padding: 60px 20px 100px;
  box-sizing: border-box;
  border-radius: 30px;
}

.company-wrapper {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
  color: #333;
}

/* タイトル */
.company-title {
  font-family: 'GothamBook', "Noto Sans JP", sans-serif;
  font-size: clamp(0.938rem, 0.804rem + 0.6vw, 1.25rem);
  font-weight: 400;
  color: #0054a7;
  margin-bottom: 40px;
  line-height: 1.6;
}

.company-title span {
  display: block;
  font-size: clamp(1.25rem, 1.143rem + 0.48vw, 1.5rem);
  font-weight: bold;
  color: #0054a7;
  margin-top: 4px;
}

/* セクション見出し */
.subtitle {
  border: 1px solid #0054a7;
  border-radius: 20px;
  display: inline-block;
  padding: 6px 30px;
  font-size: 18px;
  color: #0054a7;
  margin-bottom: 20px;
  width: 90%;
}

.company-message {
  font-weight: bold;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 30px;
}

/* 中央のメイン画像 */
.main-image img {
  max-width: 100%;
  height: auto;
  margin: 0 auto 50px;
  display: block;
}

/* 行動指針 */
.policy-section {
  margin-top: 60px;
}

.policy-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: left;
}

.policy-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  max-width: 700px;
  text-align: left;
}

.policy-item img {
  width: 50px;
  flex-shrink: 0;
}

.policy-item p {
  font-size: 15px;
  line-height: 1.8;
  margin: 0;
}

.n1 {
  margin-left: 15%;
}

.n2 {
  margin-left: 10%;
}

.n3 {
  margin-left: 20%;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .company-message {
    font-size: 15px;
  }

  .policy-item {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .policy-item img {
    width: 40px;
  }

  .policy-item p {
    font-size: 14px;
  }
}



/* ============================
	タブ切り替え
============================ */
.tab-2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 10px;
    width: 100%;
    position: relative;
    top: -70px;
}

.tab-2 > label {
    flex: 1 1;
    order: -1;
    opacity: .5;
    max-width: 45%;
    padding: .6em 1em;
    border-left: 1px #ee869a solid;
    border-right: 1px #ee869a solid;
    border-top: 1px #ee869a solid;
    border-radius: 15px 15px 0 0;
    background-color: #fff;
    color: #ee869a;
    text-align: center;
    cursor: pointer;
	  z-index: 2;
}

.tab-2 > label:hover {
    opacity: .8;
}

.tab-2 input {
    display: none;
}

.tab-2 > div {
    display: none;
    width: 100%;
    padding: 1.5em 1em;
    background-color: none;
}

.tab-2 label:has(:checked) {
    opacity: 1;
}

.tab-2 label:has(:checked) + div {
    display: block;
    background: #fff;
    border-top: 1px #ee869a solid;
    position: relative;
    top: -1px;
    z-index: 0;
}

/* ============================
	全体css
============================ */

.bold {
	font-weight: bold;
}
.colB {
	color: #0054a7;
}
.mb20 {
	margin-bottom: 20px;
}
.mb50 {
	margin-bottom: 50px;
}
.min {
	font-size: 13px;
}
.mid {
	font-size: 18px;
}
.left {
	text-align: left;
}

.wlbMain {
	line-height: 2.2em;
	text-align:center;
}
.wlbMain section.WLB {
	width: 980px;
	margin: 80px auto 0;
}

.actionPlan {
	display: grid;
	grid-template-columns: 25% 1fr;
	grid-auto-flow: row;
	width: 100%;
	border: 1px #0054a7 solid;
	border-radius: 20px;
	overflow: hidden;
	margin: auto;
	align-items: stretch;
}
.actionPlan .ttl {
	background:#0054a7;
	color:#fff;
	border-bottom: 1px #fff dotted;
	padding:12px;
	display:flex;
	align-items:center;
	justify-content: center;
}
.actionPlan .detail {
	border-bottom: 1px #0054a7 dotted;
	padding:12px;
	text-align: left;
}
.actionPlan > :nth-last-child(-n+2) {
	border-bottom: none;
}
.actionPlan+p a {
    color: #0072bc;
    text-decoration: underline
}

.noticeA {
	display: grid;
	grid-template-columns: 1fr auto 1fr; /* 左余白 / 見出し / 右余白 */
	align-items: center;
	column-gap: 16px;
	width: 100%;
}
.noticeA div {
	grid-column: 2;
	justify-self: center;
	text-align: center;
	margin: 0;
}
.noticeA img {
	grid-column: 3;
	justify-self: start;
	width: 110px;
	height: auto;
}

.attempt {
	display: grid;
	grid-template-columns: 135px auto;
	align-items: left;
}
.attempt .listStyle::before {
	content: "・";
}

.ratio {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
.average {
	display: grid;
	grid-template-columns: 50% 50%;
	align-items: start;
	justify-items: center;
	width: 100%;
}
.ratio img,
.average img {
	margin-bottom: 50px;
}
.ratio p,
.average p {
	display: block;
	background: #fcedf0;
	color: #0054a7;
	font-size: 19px;
	max-width: 450px;
	border: none;
	border-radius: 50px;
	margin-bottom: 20px;
}
.ratio p {
	width: 450px;
}

.ratio img.pc {
  display: block;
}

.ratio img.sp {
  display: none;
}

h3.plan {
	display: block;
	background: none;
	color: #0054a7;
	font-size: 20px;
	font-weight: normal;
	width: 100%;
	border: 1px #0054a7 solid;
	border-radius: 50px;
	margin: 0 auto 20px;
	text-align:center;
}

.noticeB {
	display: grid;
	grid-template-columns: 1fr auto 1fr; /* 左余白 / 見出し / 右余白 */
	align-items: center;
	column-gap: 16px;
	width: 100%;
}
.noticeB h3 {
	grid-column: 2;
	justify-self: center;
	text-align: center;
	margin: 0;
}
.noticeB img {
	grid-column: 3;
	justify-self: start;
	width: 110px;
	height: auto;
}

.benefits {
	display: grid;
	grid-template-columns: 25% 1fr;
	width: 100%;
	margin: auto;
	border: 1px #0054a7 solid;
	border-radius: 20px;
	overflow: hidden;
}
.benefits dt {
	padding: 12px;
	margin: 0;
	border-bottom: 1px #fff dotted;
}
.benefits dd {
	padding: 12px;
	margin: 0;
	border-bottom: 1px #0054a7 dotted;
}

.benefits dt {
	background: #0054a7;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.benefits dd {
	background: #fff;
	text-align: left;
}

/* 最終行の下線を消す（dt, ddの2要素が最後の行） */
.benefits :nth-last-child(-n+2) {
	border-bottom: none;
}


@media screen and (max-width: 768px) {
  
  /* main {
    
    padding: 24vw 0 0
    padding: 0;
  }*/

  .mainbox.WLB {
    padding: 22.6666666667vw 2.6666666667vw 26.6666666667vw;
    /* border-radius: 0 */
  }

  .company-title {
    font-size: 3.7333333333vw;
    margin-bottom: 0
  }

  .company-title span {
    font-size: 4.2666666667vw;
    margin-top: 1.3333333333vw
  }

  .tab-2 {
    gap: 0 3.3333333333vw;
    top: -9.3333333333vw
  }

  .tab-2>label {
    max-width: 42vw;
    padding: .8vw 1.3333333333vw;
    font-size: 3.7333333333vw;
    border-radius: 3.3333333333vw 3.3333333333vw 0 0
  }

  .tab-2>div {
    padding: 13.3333333333vw 6.6666666667vw
  }

  .mb20 {
    margin-bottom: 7.3333333333vw
  }

  .mb50 {
    margin-bottom: 12vw
  }

  .min {
    font-size: 3.3333333333vw
  }

  .mid {
    font-size: 3.6vw
  }

  .wlbMain {
    line-height: 1.8214285714
  }

  .wlbMain section.WLB {
    width: 100%;
    margin: 0 auto
  }

  .wlbMain section.WLB+.WLB {
    margin: 13.3333333333vw auto 0
  }

  .wlbMain section.WLB:nth-of-type(4) h3 {
    font-size: 3.6vw;
    line-height: 1.6296296296
  }

  .wlbMain section.WLB:nth-of-type(4) p {
    margin-bottom: 2.6666666667vw;
    font-size: 3.3333333333vw;
    line-height: 1.36
  }

  .wlbMain section.WLB:nth-of-type(4) .actionPlan .detail .colB.mid {
    text-indent: -9vw;
    padding-left: 9vw
  }

  .wlbMain section.WLB:nth-of-type(4) .actionPlan .detail .min {
    text-indent: -3.5vw;
    padding-left: 3.5vw
  }

  .WLB h3 {
    font-size: 3.7333333333vw;
    line-height: 1.8214285714
  }

  .WLB p {
    font-size: 3.2vw;
    line-height: 2
  }

  .actionPlan {
    grid-template-columns: 20% 1fr;
    border-radius: 3.3333333333vw
  }

  .actionPlan+p {
    margin-top: 3.3333333333vw;
    font-size: 3.3333333333vw;
    text-align: center
  }

  .actionPlan .ttl {
    padding: 2.6666666667vw .6666666667vw;
    font-size: 3.2vw;
    line-height: 2
  }

  .actionPlan .detail {
    padding: 2.6666666667vw 2.6666666667vw;
    font-size: 3.2vw;
    line-height: 1.5833333333
  }

  .actionPlan .detail p {
    text-indent: -13vw;
    padding-left: 13vw;
    margin-bottom: 2vw;
    font-size: 3.6vw;
    line-height: 1.4814814815
  }

  .actionPlan .detail .attempt+p {
    margin-top: 8vw
  }

  .noticeA {
    display: block;
    margin-bottom: 8vw
  }

  .noticeA h3 {
    font-size: 3.6vw;
    line-height: 1.6296296296
  }

  .noticeA p {
    margin-bottom: 2.6666666667vw;
    font-size: 3.3333333333vw;
    line-height: 1.36
  }

  .noticeA img {
    width: 25.3333333333vw;
    margin: 2.6666666667vw auto 0
  }

  .attempt {
    display: block
  }

  .attempt .listStyle+div {
    padding-left: 2vw
  }

  .ratio {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%
  }

  .average {
    display: block
  }

  .average div {
    width: 100%;
    margin: 0 auto
  }

  .average div:first-of-type img {
    width: 51.6vw
  }

  .average div:last-of-type img {
    width: 53.0666666667vw
  }

  .ratio img,
  .average img {
    display: block;
    margin: 0 auto 8.6666666667vw
  }

  .ratio p,
  .average p {
    font-size: 4.5333333333vw;
    max-width: 100%;
    font-weight: 600;
    border-radius: 6.6666666667vw;
    margin-bottom: 7.3333333333vw
  }

  .ratio p {
    width: 100%
  }

  .ratio img.pc {
    display: none
  }

  .ratio img.sp {
    display: block
  }

  .average p {
    margin-bottom: 5.3333333333vw
  }

  h3.plan {
    padding: 1.3333333333vw .6666666667vw;
    font-size: 3.7333333333vw;
    border-radius: 6.6666666667vw;
    margin: 0 auto 4vw
  }

  .noticeB {
    display: block;
    margin: 0 auto 6.6666666667vw
  }

  .noticeB img {
    width: 19.7333333333vw;
    margin: 3.3333333333vw auto 0
  }

  .benefits {
    grid-template-columns: 37% 1fr;
    border-radius: 3.3333333333vw
  }

  .benefits dt {
    padding: 2.6666666667vw .6666666667vw;
    font-size: 3.2vw;
    line-height: 1.375
  }

  .benefits dt span {
    font-size: 2.4vw
  }

  .benefits dd {
    padding: 2.6666666667vw 2vw;
    font-size: 3.2vw;
    line-height: 1.375
  }
}

@media screen and (max-width: 480px) {
	main {
		padding: 0;
	}
	.mainbox.WLB {
		border-radius: 0;
	}
}