@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

html {
	font-size: 62.5%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000;
}
body {
	padding: 0;
	margin: 0;
	overflow-x: hidden;
}

:root {
	--color-blue: #1e23aa;
	--color-yellow: #fff100;
	--color-dark-blue: #1d0683;
	--color-soft-blue: #004d98;
	--color-dark-yellow: #bfb90b;
	--color-white: #fff;
}

a {
	color: #000;
	text-decoration: none;
	position: relative;
}
a:visited , a:active {
    color: #000;
}
a:hover {
	color: var(--color-blue);
}
a[href^="tel:"] {
	pointer-events: none;
}


.is-disabled {/* 非リンク対応 */
	pointer-events: none;
	color: #999;
	text-decoration: none;
	cursor: default;
}


img{
	width: 100%;
	height: auto;
	border: solid 0;
}
img a {
	border: solid 0;
}

.hp_pc {
	display: block;
}
.hp_sp {
	display: none;
}


.clearfix::after {
	content: "";
	display: block;
	clear: both;
}


/* 青いボタン */
.bt-blue {
	display: inline-block;  
	background-color: var(--color-blue);
	border-radius: 5px; 	
}

.bt-blue--entry { /* モディファイア */
	background-color: var(--color-yellow);
	margin: 0 60px;
}
.bt-blue--white { /* モディファイア 白 */
	background-color: var(--color-white);
	margin: 10px 0px;
}
.bt-blue--top-company { /* モディファイア TOP会社概要 */
	width: 100%;
	background-color: var(--color-yellow);

	text-align: center;
	border-top: 1px solid #fff;
	border-radius: 0 0 10px 10px;
}
.bt-blue a {
	display: block;
	font-size: 1.8rem;
	text-decoration: none;
	color: #fff;
	padding: 10px 80px;
}
.bt-blue:hover {
	background-color: var(--color-dark-blue);
}

.bt-blue--entry a { /* モディファイア */
	font-weight: bold;
	color: #000;
	padding: 30px 80px;
}
.bt-blue--white a { /* モディファイア 白 */
	font-weight: bold;
	color: var(--color-blue);
}
.bt-blue--top-company a { /* モディファイア TOP会社概要 */
	font-weight: bold;
	color: #000;
	padding: 30px 0px !important;
}
.bt-blue--entry:hover { /* モディファイア */
	background-color: var(--color-dark-yellow);
}
.bt-blue--white:hover { /* モディファイア 白 */
	background-color: #4169e1;
}
.bt-blue--white a:hover { /* モディファイア 白 */
	color: #fff;
}
.bt-blue--top-company:hover { /* モディファイア TOP会社概要 */
	background-color: var(--color-dark-yellow);
}

.bt-blue__link {
  position: relative;
  padding: 0 80px;

}
.bt-blue__link__arrow {
  overflow: hidden;
  position: absolute;
  top: 30%;
  right: 10px;
  bottom: 0;
  width: 14px;
  margin: auto 0;
  line-height: 1;
}

.bt-blue__link__arrow--entry { /* モディファイア */
	top: 35px;
}

.bt-blue__link__arrow:before,
.bt-blue__link__arrow:after {
  content: url(../images/common/img_bt-arrow.png);
  position: absolute;
  top: 0;
  right: 0;
  animation-fill-mode: forwards;
  animation-duration: 0.6s;
}

.bt-blue__link__arrow--entry:before, /* モディファイア */
.bt-blue__link__arrow--entry:after {
  content: url(../images/common/img_bt-arrow-bk.png);
}
.bt-blue__link__arrow--white:before, /* モディファイア 白 */
.bt-blue__link__arrow--white:after {
  content: url(../images/common/img_bt-arrow-blue.png);
}

.bt-blue__link__arrow:after {
  transform: translateX(-100%);
}
.bt-blue__link:hover .bt-blue__link__arrow:before {
  animation-name: transformRightLeft; /* 修正: hover時のアニメーションを指定 */
  animation-delay: 0s;
}
.bt-blue__link:hover .bt-blue__link__arrow:after {
  animation-name: transformLeftRight; /* 修正: hover時のアニメーションを指定 */
  animation-delay: 0.2s;
}

@keyframes transformLeftRight {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes transformRightLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

.bt-blue img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

/* 青いボタン end */

/* 円アイコン付きテキストリンク */
.textlink-circle a {
	color: #fff;
}
.textlink-circle__link {
  position: relative;
  font-size: 2.4rem;
  font-weight: bold;
  padding-right: 60px;

  --tx-before: 0%;        /* 手前の矢印 */
  --tx-after: -180%;      /* 奥の矢印（左に隠す） */
}
.textlink-circle__link::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #fff;
  z-index: 0;
  border-radius: 50%;
  border: 1px solid #fff;
  background: transparent;
  z-index: 0;

}

.textlink-circle__link__arrow {
  position: absolute;
  top: 50%;
  right: 0;
  width: 40px;
  height: 40px;
  transform: translateY(-50%);
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
  pointer-events: none;
}

.textlink-circle__link__arrow::before,
.textlink-circle__link__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 18px;
  height: 18px;
  transform: translate(var(--tx, 0), -50%);
  background: url(../images/common/img_bt-arrow.png) center/contain no-repeat;
  will-change: transform;
  /* 逆再生を避けるため、通常時（ホバーしていない時）は transition 無効 */
  transition: none;
}
.textlink-circle__link__arrow::before { --tx: var(--tx-before); }
.textlink-circle__link__arrow::after  { --tx: var(--tx-after);  }

.textlink-circle__link:hover {
  --tx-before: 180%;
  --tx-after: 0%;
}
.textlink-circle__link:hover .textlink-circle__link__arrow::before,
.textlink-circle__link:hover .textlink-circle__link__arrow::after {
  transition: transform .6s ease;
}
.textlink-circle__link:hover .textlink-circle__link__arrow::before {
  transition-delay: 0s;
}
.textlink-circle__link:hover .textlink-circle__link__arrow::after {
  transition-delay: .2s;                 /* 少し遅れて入ってくる */
}

/* 円アイコン付きテキストリンク end */

/* スクロールで出現する */
.fadein_scroll {
	opacity: 0;
  	transform: translateY(30px);
}
.fadein_scroll.is-active {
	animation: fadein_scroll 0.8s ease 0s forwards;/* ショートハンド　名前、掛かる時間、変化する速度、0.5秒遅れて動作、1回のみ、最後のスタイル */
}

@keyframes fadein_scroll {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  	transform: translateY(0px);
  }
}
/* スクロールで出現する end */

/* スクロールしなくても出現する */
.fadein_scroll--quick {
	opacity: 0;
  	transform: translateY(30px);
	animation: fadein_scroll 0.8s ease 0s forwards;
}
/* スクロールしなくても出現する end */

/* フェードアップ */

.fadein_scroll.company_first.is-active {
  animation: fadein_scroll_os 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.fadein_scroll.company_second.is-active {
	animation: fadein_scroll_os 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: .3s;/* タイミングを0.2秒ずらす */
}
.fadein_scroll.company_third.is-active {
	animation: fadein_scroll_os 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
	animation-delay: .6s;/* タイミングを0.2秒ずらす */
}
@keyframes fadein_scroll_os {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  	transform: translateY(0px);
  }
}

/* 文字がぬるりと現れる */

.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}
 
.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}
 
.matrix .bg-wrap + .bg-wrap {
  margin-top: 10px;
}
 
.matrix .bg-wrap .inn.delay {
	transition-delay: 0.5s;
}
 
.matrix .bg-wrap .inn {
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
 
.matrix.is-active .bg-wrap {
  opacity: 1;
}
 
.matrix.is-active .bg-wrap .inn {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

/* 文字がぬるりと現れる end */

/* ハンバーガーメニュー */

.hamburger {
  position: fixed;
  top: 35px;
  right: 30px;
  width: 30px;
  cursor: pointer;
  z-index: 23; /* メニューより前に表示 */
}

.hamburger span {
  display: block;
  height: 2px;
  width: 100%;
  background-color: #000;
  margin: 6px 0;
  transition: 0.4s;
}

/* メニューのスタイル */
.global-menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-blue);
  opacity: 0; /* 初期状態は透明 */
  pointer-events: none; /* クリック不可 */
  transition: opacity 0.5s ease; /* フェードインのアニメーション */
  padding: 20px;
  box-sizing: border-box;
  z-index: 22;
}

/* メニューが開いたとき */
.global-menu.open {
  opacity: 1; /* 不透明にする */
  pointer-events: auto; 
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.hamburger.active span:nth-child(1) {
  background-color: #fff;
  transform: rotate(45deg) translate(5px, 5px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  background-color: #fff;
  transform: rotate(-45deg) translate(6px, -6px);
}

.global-menu__outer {
	width: 70%;
	margin: 200px auto 0;
}
.global-menu__outer::after {
	content: "";
	display: block;
	clear: both;
}
.global-menu__outer__box {
	width: 33%;
	float: left;
	margin-bottom: 50px;
}
.global-menu__outer__box:first-child {
	margin-top: -78px;
}
.global-menu__outer__box__link {
	margin-top: 50px;
}
.global-menu__outer__box__link a {
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
}
.global-menu__outer__box__sub-link {
	margin-bottom: 30px;
}
.global-menu__outer__box__sub-link ul {
	padding: 0;
}
.global-menu__outer__box__sub-link ul li {
	list-style-type: none;
	margin-bottom: 15px;
}
.global-menu__outer__box__sub-link ul li a {
	font-size: 1.6rem;
	color: #fff;
}

.global-menu_logo {
	width: 600px; position: fixed; top: 30px; left: 30px;
}
.global-menu__entry {
	position: fixed; top: 20px; right: 120px;
}

/* ハンバーガーメニュー end */

/* TOPメインビジュアル */

.slider {
	z-index: 12;
}
.slider div {
	padding: 0 30px;
}
.slider div img {
	width: 500px;
	border-radius: 30px;
}
.slider div:nth-child(odd) {
	margin-top: 50px;
}

.slash {
	z-index: 9; position: absolute; top: 100px; left: 100px;
}
.slash_2 {
	z-index: 9; position: absolute; top: 300px; right: -200px;
}
.slash_under {
	z-index: 9; position: absolute; top: 100px; left: 100px;
}

.slidein-blue {
	animation: slidein-blue 0.4s ease-out 1 forwards;
    transform: translate(0px,0px);
    opacity: 0;
    width: 500px;
}
.slidein-yellow {
	animation: slidein-yellow 0.4s ease-out 1 forwards;
	animation-delay: .2s;/* タイミングを0.2秒ずらす */
    transform: translate(300px,0px);
    opacity: 0;
    width: 500px;
}

.slidein-blue--2 {
	animation-delay: .3s;
}
.slidein-yellow--2 {
	animation-delay: .4s;
}

.slidein-blue--under {
	animation: slidein-blue--under 0.4s ease-out 1 forwards;
    transform: translate(0px,-80px);
    opacity: 0;
    width: 300px;
}
.slidein-yellow--under {
	animation: slidein-yellow--under 0.4s ease-out 1 forwards;
	animation-delay: .2s;
    transform: translate(240px,-380px);
    opacity: 0;
    width: 300px;
}


@keyframes slidein-blue {
  0% {
    transform: translate(0px,0px);
    opacity: 0;
  }
  100% {
    transform: translate(-50px,50px);
    opacity: 1;
  }
}
@keyframes slidein-yellow {
  0% {
    transform: translate(180px,-380px);
    opacity: 0;
  }
  100% {
    transform: translate(50px,-300px);
    opacity: 1;
  }
}

@keyframes slidein-blue--under {
  0% {
    transform: translate(0px,-80px);
    opacity: 0;
  }
  100% {
    transform: translate(-80px,0px);
    opacity: 1;
  }
}
@keyframes slidein-yellow--under {
  0% {
    transform: translate(240px,-380px);
    opacity: 0;
  }
  100% {
    transform: translate(90px,-280px);
    opacity: 1;
  }
}

.catch-copy {
	font-size: 6.5rem; font-weight: bold; 
	margin-top: 5px;
	margin-left: 30px; 
	position: relative; z-index: 12;
	text-shadow: 
	2px 2px 0 #fff,
	-2px 2px 0 #fff,
	2px -2px 0 #fff,
	-2px -2px 0 #fff;
}
.catch-copy__blue {
	color: var(--color-blue);
}

.copy-anime {
opacity: 0;
/* 	color: transparent;*/

display: inline-block;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	transition: color 0ms 0.5s;
}
.copy-anime::after{
	content: "";
	left: 0;
	display: block;
	position: absolute;
	top: 0;
	transform: translateX(-100%);
	width: 101%;
	height: 100%;
	background: linear-gradient(90deg,rgba(44, 16, 169, 1) 0%, rgba(87, 150, 199, 1) 50%, rgba(251, 244, 35, 1) 100%);
}
.copy-anime.active{
	opacity: 1;
	transition: opacity 0ms 0.3s;

}
.copy-anime.active::after{
	animation: lineAnime 1s;
}
@keyframes lineAnime {
  0% {
    transform: translateX(-100%)
  }
  50% {
    transform: translateX(0)
  }
  100% {
    transform: translateX(100%)
  }
}

/* TOPメインビジュアル end */

.container {
	padding-top: 95px;
	/*overflow: hidden;*/
}

/* ヘッダー */
.header {
	width: 100%;
	height: auto;
	background-color: #fff;
	position: fixed;
	padding: 30px 20px 20px 30px;
	z-index: 20;
}
.header__logo {
	width: 70%;
	float: left;
}
.header__logo a {
	color: #000;
}
.header__logo__img {
	width: 250px;
	float: left;
}
.header__logo__text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	margin-left: 10px;
	float: left;
	position: relative;
}
.header__logo__text--white a {
	color: #fff;
}
.header__logo__text__jp {
	width: 250px; margin: 3px 0 3px 0;
}
.header__entry {
	width: 30%;
	float: right;
	text-align: right;
	padding-right: 100px;
}

/* ヘッダー end */

/* TOP セクションblock */

.top-content {
	width: 100%;
	padding: 60px 0;
	margin-bottom: 60px;
}
.top-content__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 5%; /* レスポンシブデザインのため両サイドに余白を入れる */
}
.top-content--bg-blue { /* 背景青のモディファイア */
	background-color: var(--color-blue);
	z-index: 1;
}
.top-content--bg-cut { /* 背景青・下白三角でカットするモディファイア */
	padding-bottom: 280px;
	background: var(--color-blue);
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
}

.top-content::after {
	content: "";
	display: block;
	clear: both;
}
.top-content__inner__left {
	width: 47%;
	float: left;
	font-size: 1.8rem;
	line-height: 2;
}
.top-content__inner__left p {
	margin-bottom: 30px;
}
.top-content__inner__right {
	width: 47%;
	float: right;
}

.top-content__inner__left--top-president {
		width: 58%;
}
.top-content__inner__right--top-president {
		width: 37%;
}

.top-content__inner__title {
	font-size: 6.3rem;
	font-weight: bold;
	color: var(--color-blue);
	margin-bottom: 30px;
}
.top-content__inner__title__jp {
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--color-blue);
	margin-left: 30px;
}

.top-content__inner__title--white { /* 白文字のモディファイア */
	color: var(--color-white);
}
.top-content__inner__title__jp--white { /* 白文字のモディファイア */
	color: var(--color-white);
}

.top-content__inner__explanation {
	font-size: 1.8rem;
	margin-bottom: 30px;
}
.top-content__inner__explanation--white { /* 白文字のモディファイア */
	color: #fff;
}

/* TOP セクションblock end */

/* TOP Company */

.top-content__inner__company {
	margin-top: 60px;
}
.top-content__inner__company__img {
	margin-bottom: 30px;
}

.top-content__company-boxouter {
	margin-top: 60px;
}
.top-content__company-boxouter__box {
	width: 30%;
	float: left;
	margin-right: 5%;
}
.top-content__company-boxouter__box:nth-child(3) {
	margin-right: 0%;
}
.top-content__company-boxouter__box a {
	display: block;
	padding: 0;
	overflow: hidden;
}

.top-content__company-boxouter__box__img {
	cursor: pointer;
	max-width: 500px;
	width: 100%;
	border-radius: 10px 10px;
}
.top-content__company-boxouter__box__img img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .6s ease;/* ゆっくり変化させる */
}
.top-content__company-boxouter__box__img:hover img {
  transform: scale(1.1);/* 拡大 */
}
.top-content__company-boxouter__box__text {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 18px;
	padding: 30px 5px;
	background: url(../images/common/img_bt-arrow-bk.png) no-repeat right 10px center;
	background-color: var(--color-yellow);
	text-align: center;
	border-top: 1px solid #fff;
	border-radius: 0 0 10px 10px;
}


/* TOP Company end */


/* TOP Business */
.top-content__inner__business {
	width: 100%;
}

.top-content__inner__business__outer-box {
	display: block;
	width: 46%;
	margin-right: 8%;
	margin-bottom: 50px;
	float: left;
}
.top-content__inner__business__outer-box:nth-child(even) {
	margin-right: 0;
}

.top-content__inner__business__outer-box__box a {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	box-shadow: 10px 10px 0px 0px var(--color-yellow);
	margin-bottom: 30px;
	overflow: hidden;
}

.top-content__inner__business__outer-box__box img {
	height: auto;
	transition: transform .6s ease;/* ゆっくり変化させる */
	width: 100%;
}
.top-content__inner__business__outer-box__box:hover img {
	transform: scale(1.1);/* 拡大 */
}


.top-content__inner__business__outer-box:nth-child(even) {
	margin-right: 0px;
}

/* TOP Business end */

/* TOP People */

.top-content--people {
	margin-top: -220px;
}
.top-content__inner__people {
	position: relative;
	min-height: 1400px;
}
.top-content__inner__people__box {
	width: 40%;
	position: absolute;
}
.top-content__inner__people__box--first {
	top: 200px;
	left: 5%;
}
.top-content__inner__people__box--second {
	top: 600px;
	right: 5%;
}
.top-content__inner__people__box--third {
	top: 900px;
	left: 5%;
}
.top-content__inner__people__box__message {
	font-size: 2.4rem;
	color: #fff;
	background-color: var(--color-blue); 
	padding: 10px;
	position: absolute; 
	bottom: 120px; left: -10%;
	z-index: 5;
}
.top-content__inner__people__box__message a {
	color: #fff;
}
.top-content__inner__people__box__img {
	width: 80%;
	float: right;
}
.top-content__inner__people__box__img a {
	display: block;
	width: 100%;
	height: auto;
	overflow: hidden;
	border-radius: 10px;
}
.top-content__inner__people__box__img img {
	height: auto;
	transition: transform .6s ease;/* ゆっくり変化させる */
	width: 100%;
}
.top-content__inner__people__box__img:hover img {
	transform: scale(1.1);/* 拡大 */
}
.top-content__inner__people__box__name {
	display: block;
	font-size: 1.6rem;
	margin-top: 10px;
	text-align: right;
}

/* TOP People end */


/* TOP 働く環境を知る・募集要項 */

.top-content__inner__other-box {
	cursor: pointer;
	/*max-width: 500px;*/
	overflow: hidden;
	position: relative;
	border-radius: 10px;
}
.top-content__inner__other-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .6s ease;
}
.top-content__inner__other-box:hover img {
	transform: scale(1.1);
}
.top-content__inner__left.top-content__inner__other-box h2 , .top-content__inner__right.top-content__inner__other-box h2 {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 36px;
	color: #fff;
	padding-right: 30px;
	position: absolute;
	bottom: 50px;
	right: 30px;
	background: url(../images/common/img_bt-arrow-l.png) no-repeat right top 13px;
	z-index: 2;
}

/* TOP 働く環境を知る・募集要項 end */


/* Entry */

.entry-box {
	text-align: center;
}
.entry-box__title {
	font-size: 6.3rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.entry-box__explanation {
	font-size: 1.8rem;
	color: #fff;
	margin: 20px 0 40px;
}


.entry-box__bt-box__bt a {
	
}

/* Entry end */




/* フッター */

footer {
	font-size: 1.5rem;
	max-width: 1280px;
	padding: 0px 5% 120px;
	margin: 0 auto;
	position: relative;
}
.footer__left {
	float: left;
	text-align: left;
}
.footer__right {
	float: right;
}
.link_corporate a {
	font-size: 1.5rem;
	position: relative;
}
.link_corporate a:after {
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	color: #000;
	font-weight: 600;
	position: absolute;
	right: -15px;
	transform: rotate(-45deg);
}
.link_corporate--menu {
	margin-top: 30px;
}
.link_corporate--menu a {
	color: #fff;
}
.link_corporate--menu a:after {
	color: #fff;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: absolute;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 1px #00008b;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid var(--color-blue);
    border-right: 3px solid var(--color-blue);
    transform: translateY(20%) rotate(-45deg);
}
.pagetop:hover {
    background: var(--color-dark-blue);
}
.pagetop:hover .pagetop__arrow {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
/* フッター end */



/* 下層 セクションblock */

/* 下層メインビジュアル */
.under-kv {
	background-color: #e5ecf1;
	padding: 30px 30px;
}
.under-kv::after {
	content: "";
	display: block;
	clear: both;
}
.under-kv--simple {
	background-color: #e5ecf1;
	padding: 60px 0px;
	text-align: center;
}
.under-kv__left {
	width: 60%;
	min-height: 320px;
	float: left;
	position: relative;
}
.under-kv__right {
	width: 40%;
	float: right;
}
.under-kv__left__box {
	position: absolute;
	top: 30%;
	left: 20%;
	transform: translateY(30%);
	z-index: 10;
}
.under-kv__left__box__title {
	font-size: 4.8rem;
	text-wrap: initial;
}
.under-kv__left__box__sub-heading {
	font-size: 2.0em;
	font-weight: bold;
	display: inline-block; 
	background-color: var(--color-yellow);
	border-radius: 60px; padding: 10px 30px;
	margin-top: 10px;
}
.under-under-kv__left__box__description {
	font-size: 1.4rem;
	margin-top: 10px;
}


.under-kv-people {
	width: 100%;
	height: 60vh; /* 例：画面高さの○% */
	background-image: url("../images/people/img_people_kv_general_affairs.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
.under-kv-people--sales_section1 {
	background-image: url("../images/people/img_people_kv_sales_section1.jpg");
}
.under-kv-people--sales_section2 {
	background-image: url("../images/people/img_people_kv_sales_section2.jpg");
}
.under-kv-people__text {
	max-width: 450px;
	font-size: 3.0rem;
	font-weight: bold;
	background-color: #fff;
	padding: 30px;
	position: absolute;
	top: 50%;
	left: 2%;
	transform: translateY(-50%);
}
.under-kv-people__text__name {
	font-size: 1.4rem;
	font-weight: normal;
	margin-top: 15px;
	text-align: right;
}
.under-kv-people__text--sp {
	display: none;
}

/* 下層メインビジュアル end */

.under-heading {
	font-size: 3.6rem;
	font-weight: bold;
	margin-bottom: 60px;
}
.under-heading::before{
  content: "";
  display: inline-block;  
  background: url(../images/common/icon_under-heading.png) no-repeat left 10px center;
  background-repeat: no-repeat;
  width: 60px;
  height: 32px;
}
.under-heading--with-explanation {
	margin-bottom: 25px;
}
.under-heading--entry {
	font-size: 2.4rem;
	margin-bottom: 40px;
}
.under-heading--entry::before{
  background: url(../images/common/icon_under-heading.png) no-repeat left 0px center;
  background-size: 30px auto;
  background-repeat: no-repeat;
  width: 36px;
  height: 24px;
}
.under-explanation {
	font-size: 1.6rem;
	margin-bottom: 60px;
}

.under-content {
	width: 100%;
	padding: 60px 0;
	margin-bottom: 30px;
}
.under-content::after {
	content: "";
	display: block;
	clear: both;
}

.under-content__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 5%; /* レスポンシブデザインのため両サイドに余白を入れる */
}
.under-content__inner--entry {
	font-size: 1.6rem;
	margin-bottom: 60px;
}

.under-content__inner__box {
	font-size: 1.6rem;
	line-height: 2;
	display: flex;
	align-items: flex-start;
	gap: 60px;
	margin-bottom: 70px;
}
.under-content__inner__box--reverse { /* PCで左右入れ替えたい場合 */
	flex-direction: row-reverse;
}

.under-content__inner__box__item {
	flex: 1 1 0;
	min-width: 0; 

}
.under-content__inner__box h3 {
	font-size: 3.0rem;
	line-height: 1.5;
	margin-bottom: 20px;
	text-wrap: initial;
}

/* 分割されてサイドナビがあるレイアウト */
.under-content__inner__division-l {
	width: 15%; float: left;
	margin-top: -90px;/* スクロールされるまでは上に配置 */
}
.under-content__inner__division-r {
	width: 80%; float: right;
}
.under-content__inner__division-r__inner {
	padding-right: 120px;
}

.js-sticky {
	display: block;
	margin-top: 90px;
	padding: 0 10px;
}
.js-sticky__title {
	font-size: 2.0rem;
	font-weight: bold;
}
nav.js-sticky__nav ul {
  position: sticky;
  top: 0;
  left: 0;
  display: grid;
  gap: 1em;
  padding: 0;
}

nav.js-sticky__nav ul li {
  list-style-type: none;
}

nav.js-sticky__nav ul li a {
  display: inline-block;
  width: 100%;
  font-size: 1.3rem;
  color: #fff;
  text-decoration: none;
  padding: 10px 15px;
  margin-bottom: 10px;
  background-color: var(--color-blue);
  overflow: hidden;
  position: relative;
  z-index: 1;
}

nav.js-sticky__nav ul li a::after {
  background: var(--color-yellow);
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}

nav.js-sticky__nav ul li a:hover {
  font-weight: bold;
  color: var(--color-blue);
}

nav.js-sticky__nav ul li a:hover::after {
  transform: scale(1, 1);
}

nav.js-sticky__nav ul li.is-active a {
  /* active時のスタイル */
}
/* 分割されてサイドナビがあるレイアウト end */

.breadcrumbs {
	font-size: 1.6rem;
	margin-bottom: 20px;
}

/* 一覧ページのボタンリンク */
.top-content--list .top-content__inner__other-box {
	height: 250px;
}
.top-content--list .top-content__inner {
	margin-bottom: 60px;
}
.top-content--list .top-content__inner::after {
	content: "";
	display: block;
	clear: both;
}
.top-content--list .top-content__inner h3 {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 36px;
	color: #fff;
	padding-right: 30px;
	position: absolute;
	bottom: 50px;
	right: 30px;
	background: url(../images/common/img_bt-arrow-l.png) no-repeat right top 13px;
	z-index: 2;
}
.top-content--list .top-content__inner__other-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(20, 60, 120, 0.60);
  pointer-events: none;
}


/* 関連バナーリンク */
.box-relation {
	display: flex;
	gap: 30px;
}
.box-relation__item {
	flex: 1;
}
.box-relation__item__img {
	display: block;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

.box-relation__item__img::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(20, 60, 120, 0.60);
  pointer-events: none;
}

.box-relation__item__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .6s ease;
}
.box-relation__item__img:hover img {
	transform: scale(1.1);/* 拡大 */
}
.box-relation__item__img__title {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 36px;
	color: #fff;
	padding-right: 30px;
	position: absolute;
	bottom: 10px;
	right: 10px;
	background: url(../images/common/img_bt-arrow-l.png) no-repeat right top 13px;
	z-index: 2;
}

/* バナー4つの場合、2カラムにする */
.box-relation.four {
	display: flex;
	flex-wrap: wrap;
}
.box-relation.four .box-relation__item {
	flex: 0 0 calc(50% - 30px);
}


/* 下層 セクションblock end */



/* ALSOK保険サービスについて */

.about__box {
	font-size: 1.6rem;
	line-height: 2;
}
.about__box__figure {
	font-size: 1.4rem;
	margin: 30px 0 20px;
}
.about__box__figure__left {
	width: 48%; float: left;
}
.about__box__figure__right {
	width: 48%; float: right;
}
.about__box__figure__text-box {
	font-weight: bold;
	display: inline-block;
	background-color: #1eb8ed;
	padding: 2px 10px;
	margin-bottom: 5px;
}
.about__box__figure__text-box--yellow {
	background-color: #fff100;
}

/* ALSOK保険サービスについて end */

/* データで見るALSOK保険サービス */

.data_box {
	font-size: 1.6rem;
	line-height: 2;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 70px;
}
.data_box__item {
	padding: 30px;
	border: solid 1px #1f4a97;
}
.data_box__item--shell {
	padding: 0px;
	border: solid 0px;
}
.data_box__item--shell .data_box__item:nth-child(1) {
	margin-bottom: 20px;
}

.data_box.column2-1 {
	margin-top: -40px;
}
.data_box.column2-1 > .data_box__item:first-child {
	grid-column: 1 / 3;
}
.data_box.column2-1 > .data_box__item:last-child {
	grid-column: 3 / 4;
}

.data_box.column2 {
	font-size: 1.6rem;
	line-height: 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-top: -40px;
	margin-bottom: 70px;
}

.data_box__item__title {
	font-size: 2.0rem;
	line-height: 1.5;
	font-weight: bold;
	color: #1f4a97;
	text-align: center;
}
.data_box__item__img {
	width: 80px;
	height: auto;
	margin: 30px auto 10px;
	text-align: center;
}
.data_box__item__num {
	font-size: 4.8rem;
	line-height: 1.5;
	font-weight: bold;
	color: #1f4a97;
	text-align: center;
}
.data_box__item__num__s {
	font-size: 2.4rem;
	color: #4b4b4b;
}

.data_box__item__supplement {
	font-size: 1.1rem;
	line-height: 1.5;
	text-align: center;
}


.japanmap {
	position: relative;
	margin: 0px auto 0;

}

.japanmap__stage{
  position: relative;
  width: min(90vw, 350px); /* 地図の最大幅はここで管理（好きに調整） */
  margin: 60px auto 0;
}

.japanmap__img{
  width: 100%;
  height: auto;
  display: block; /* 画像下の謎の隙間対策 */
}



.japanmap__map-image {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}


.birthplace-num {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
  aspect-ratio: 1 / 1;   /* 正円を維持 */
  height: auto;
  color: var(--color-soft-blue);
  border: 2px solid #e5de28;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.0rem, 2.2vw, 1.4rem); /* 文字も比率で追従 */
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
.birthplace-num--hokkaido {
	width: 20%;/* 「地図に対する比率」 */
	top: 10%;
	left: 70%;
	animation-delay: 0.3s;
}
.birthplace-num--tohoku {
	width: 12%;/* 「地図に対する比率」 */
	top: 35%;
	left: 85%;
	animation-delay: 0.6s;
}
.birthplace-num--kanto {
	width: 30%;/* 「地図に対する比率」 */
	top: 65%;
	left: 90%;
	animation-delay: 0.5s;
}
.birthplace-num--chubu {
	width: 15%;/* 「地図に対する比率」 */
	top: 60%;
	left: 60%;
	animation-delay: 0.3s;
}
.birthplace-num--kinki {
	width: 20%;/* 「地図に対する比率」 */
	top: 80%;
	left: 50%;
	animation-delay: 0.4s;
}
.birthplace-num--chugoku {
	width: 12%;/* 「地図に対する比率」 */
	top: 60%;
	left: 40%;
	animation-delay: 0.2s;
}
.birthplace-num--shikoku {
	width: 15%;/* 「地図に対する比率」 */
	top: 100%;
	left: 35%;
	animation-delay: 0.6s;
}
.birthplace-num--kyushu {
	width: 20%;/* 「地図に対する比率」 */
	top: 90%;
	left: 0%;
	animation-delay: 0.3s;
}

.japanmap__stage.is-active .birthplace-num {
	animation-name: pop;
	animation-duration: 0.2s;
	animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
	animation-fill-mode: both;
}

@keyframes pop {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0;
  }
  60% {
    transform: translate(-50%, -50%) scale(1.15);
    opacity: 1;
  }
  80% {
    transform: translate(-50%, -50%) scale(0.95);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}





/* 縦棒グラフ */

.vertical-bar-container {
  display: flex;
  gap: 20px; /* 子要素の間隔を20pxに設定 */
  align-items: flex-end; /* 縦棒を下に揃える */
  justify-content: center; /* 縦棒グラフ自体を横方向で中央に配置 */
  height: clamp(160px, 30vh, 160px);
  width: 80%; /* コンテナの幅は80% */
  box-sizing: border-box; /* パディングを含めたサイズ計算 */
  margin: 30px auto 20px;
  padding-bottom: 30px; /* グラフの下に30pxの余白を追加 */
}

/* 各縦棒のスタイル */
.vertical-bar {
  position: relative; /* ラベルやパーセンテージの位置を調整するために必要 */
  width: 100px; /* 各縦棒の幅を60pxに設定 */
  background-color: var(--color-soft-blue);
  border-radius: 0px; /* 縦棒に丸みを付ける */
  height: 0; /* 初期状態で縦棒の高さを0に設定 */
  --height: 50%; /* 高さをカスタムプロパティで指定（仮の値） */
}
.vertical-bar--no1 {
	background-color: var(--color-yellow);
}
.vertical-bar-container.is-active .vertical-bar {
	animation: vertical-growBar 1s forwards;
}
.vertical-bar:nth-child(1) {
	--height: 25.1%;
}
.vertical-bar:nth-child(2) {
	--height: 50.1%;
}
.vertical-bar:nth-child(3) {
	--height: 58.4%;
}
.vertical-bar:nth-child(4) {
	--height: 100%;
}
.vertical-bar:nth-child(5) {
	--height: 8.3%;
}

/* グラフの高さを相対的に変換する。
9.7 → 25.1%
19.4 → 50.1%
22.6 → 58.4%
38.7 → 100%
3.2 → 8.3%
*/
@keyframes vertical-growBar {
	from {
		height: 0;
	}
	to {
		height: var(--height);
	}
}

/* 各縦棒のラベル（項目名）のスタイル */
.vertical-label {
	position: absolute; /* ラベルの位置を調整 */
	bottom: -40px; /* ラベルを縦棒の下に少し余裕を持たせて配置 */
	width: 100%; /* ラベルを縦棒と同じ幅にする */
	text-align: center; /* ラベルを中央に配置 */
	font-size: 16px; /* フォントサイズを14pxに設定 */
	font-weight: bold;
	color: #4b4b4b;
}

/* 各縦棒のパーセンテージ（数値）のスタイル */
.vertical-percentage {
	position: absolute; /* パーセンテージを絶対位置で配置 */
	top: 50%; /* 棒の中央に表示 */
	width: 100%; /* パーセンテージも縦棒の幅に合わせる */
	text-align: center; /* パーセンテージを中央に配置 */
	font-size: 16px; /* フォントサイズを12pxに設定 */
	font-weight: bold;
	color: white; /* パーセンテージの文字色を白に設定 */
	transform: translateY(-50%); /* 完全に中央に配置 */
}
.vertical-percentage--no1 {
	color: var(--color-soft-blue);
}

/* 縦棒グラフ end */



/* 横棒グラフ */
.bar-container {
	width: 100%; /* グラフ全体の幅を80%に設定 */
	margin: 30px auto 0px;
}
.bar { 
	display:flex; align-items:center; gap: 12px; 
	margin-bottom: 10px;
}

.bar-label { width:100px; font-weight:bold; flex: 0 0 100px; }

.bar-fill{
  flex: 1;                 /* ←残り幅を全部担当 */
  height: 30px;
  background: transparent; /* 器は透明でOK（必要なら薄いグレーなど） */
}

.bar-fill__inner {
  height: 100%;
  background-color:var(--color-soft-blue);
  font-weight: bold;
  color:#fff;
  border-radius:0px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-right:10px;
  box-sizing:border-box;
  transform: scaleX(0);
  transform-origin: left center;
}
.bar-fill__inner--no1 {
	color: var(--color-soft-blue);
	background-color: var(--color-yellow);
}

.bar-container.is-active .bar-fill__inner {
	animation: growBar 2s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}
@keyframes growBar {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

/* 各棒に個別のアニメーション時間を設定 */
.bar:nth-child(1) .bar-fill {
  animation-duration: 2s;
}
.bar:nth-child(2) .bar-fill {
  animation-duration: 2.5s;
}
.bar:nth-child(3) .bar-fill {
  animation-duration: 3s;
}
.bar:nth-child(4) .bar-fill {
  animation-duration: 3.5s;
}
.bar:nth-child(5) .bar-fill {
  animation-duration: 4s;
}
.bar:nth-child(6) .bar-fill {
  animation-duration: 4.5s;
}


.bar:nth-child(1) .bar-fill__inner {
	width: 100%;
}
.bar:nth-child(2) .bar-fill__inner {
	width: 45.95%;
}
.bar:nth-child(3) .bar-fill__inner {
	width: 54.05%;
}
.bar:nth-child(4) .bar-fill__inner {
	width: 27.03%;
}
.bar:nth-child(5) .bar-fill__inner {
	width: 15%;
}
.bar:nth-child(6) .bar-fill__inner {
	width: 35.14%;
}

/* 比率を変換

37%
17%
20%
10%
3%
13%
↓
100%
45.95%
54.05%
27.03%
8.11%　※グラフの数字が入りきらないので多少変更
35.14%

*/


/* 横棒グラフ end */



/* データで見るALSOK保険サービス end */

/* トップメッセージ */

.top-message__comment {
	font-size: 3.6rem;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}
.top-message__name {
	font-size: 1.6rem;
}
.top-message__signature {
	font-size: 1.6rem;
	display: inline-block;
	text-align: right;
	float: right;
}
.top-message__signature img {
	width: 150px;
	float: right;
	margin-top: 5px;
}
.under-content__inner__box__item--message {
	position: relative;
}
.under-content__inner__box__item--message__text {
	position: absolute;
	top: 50%;
	left: 0%;
	transform: translateY(50%);
}

/* トップメッセージ end */

/* 仕事を知る */

ul.ul--business {
	margin: 0;
}
ul.ul--business li {
	margin-left: -10px;
}

.h2--people {
	font-size: 1.8rem;
	margin: 60px 0 30px 20px;
	position: relative;
	display: inline-block;
	padding-bottom: 12px;
}
.h2--people::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: linear-gradient(
    to right,
    #fbf423 0%,
    #fbf423 30%,
    #2c10a9 30%,
    #2c10a9 100%
	);
}
.h2--people--business {
	margin: 60px 0 5px 20px;
}

.h3--business {
	font-size: 3.6rem;
	margin-bottom: 50px;
	text-align: center;
}

.business-name {
	font-size: 4.8rem;
	font-weight: bold;
	margin: 0px 0 30px 20px;
	position: relative;
	display: block;
	padding-bottom: 12px;
}

.business_schedule-box__left {
	width: 75%; float: left; border-left: solid 2px #d3d3d3; padding: 0 0 0px 0px;
	font-size: 1.6rem;
	line-height: 2.0;
	margin-right: 5%;
}
.business_schedule-box__right {
	width: 20%; float: right;
}
.business_schedule-box__right img {
	margin-bottom: 30px;
}

.business_schedule-box__left__item {
	margin-bottom: 40px;
	position: relative;
}
.business_schedule-box__left__item::after {
	content: "";
	display: block;
	clear: both;
}
.business_schedule-box__left__item.last {
	margin-bottom: 0;
}
.business_schedule-box__left__item.last .business_schedule-box__time {
	top: 0%;
	margin-top: -3px;
}
.business_schedule-box__left__item.last .business_schedule-box__left__item__space-text__title {
	margin-bottom: 0;
}

.business_schedule-box__time {
	font-size: 2.0rem;
	font-weight: bold;
	color: var(--color-blue);
	line-height: 24px;
	padding-left: 40px;
	margin-top: -5px;
	margin-left: -13px;
	position: absolute; top: 0; left: 0;
	background: url( "../images/business/business_schedule-box__time-icon.png" ) 0% 0% / 24px 24px no-repeat ;
}
.business_schedule-box__left__item__space-time {
	width: 20%; min-height: 1px; float: left;
}
.business_schedule-box__left__item__space-text {
	width: 80%; float: right;
}
.business_schedule-box__left__item__space-text__title {
	font-size: 2.0rem; 
	line-height: 1;
	font-weight: bold; color: var(--color-blue);
	margin-bottom: 20px;
}

/* 仕事を知る end */

/* 働く社員を知る */

.people-q {
	font-size: 1.6rem;
	font-weight: bold;
	color: var(--color-blue);
	margin-bottom: 15px;
}
.people-message {
	margin-top: 120px;
	position: relative;
	display: flex;
	align-items: flex-start;
}
.people-message__contents {
	width: 80%;
	background-color: var(--color-blue);
	padding: 50px 60px;
	z-index: 1;
}
.people-message__contents__inner {
	width: 75%;
	color: #fff;
}
.people-message__contents__inner__title-en {
	font-size: 3.6rem;
	line-height: 1.5;
	font-weight: bold;
}
.people-message__contents__inner__title-jp {
	font-size: 1.6rem;
	margin-bottom: 25px;
}
.people-message__contents__inner h3 {
	font-size: 3.6rem;
	margin-bottom: 25px;
}
.people-message__contents__inner__text {
	font-size: 1.6rem;
}

.people-message__img {
	width: 40%;
	position: absolute;
	top: -30px;
	margin-left: auto;
	right: 0;
	z-index: 2;
}

/* 働く社員を知る end */

/* 働く環境を知る */

.environment h4 {
	font-size: 2.4rem;
	line-height: 1.5;
	color: var(--color-blue);
	margin-bottom: 20px;
	text-wrap: initial;
}
.under-content__inner__box__item {
	flex: 1 1 0;
	min-width: 0; 
}
.under-content__inner__box__item--environment:nth-child(1) {
	  flex: 1 1 60%;
}
.under-content__inner__box__item--environment:nth-child(2) {
	  flex: 1 1 40%;
}

/* 働く環境を知る end */

/* 募集要項 */

.requirement {

}
.requirement__box {
	border-bottom: solid 1px #b0b0b0;
	padding-bottom: 20px;
	margin-bottom: 30px;
}
.requirement__box::after {
	content: "";
	display: block;
	clear: both;
}
.requirement__box:last-child {
	margin-bottom: 90px;
}
.requirement__box__left {
	width: 15%;
	float: left;
}
.requirement__box__left h4 {
	font-size: 1.6rem;
	line-height: 2;
}
.requirement__box__right {
	font-size: 1.6rem;
	line-height: 2;
	width: 75%;
	float: right;
}

.requirement section {
	margin-bottom: 90px;
}
.requirement__entry {
	text-align: center;
}
.requirement__entry .bt-blue.bt-blue--entry{
	margin: 20px auto 0; 
	text-align: center;
}

/* 募集要項 end */

/* エントリーフォーム */

select {
	-webkit-appearance:none;
	appearance: none;
	width: 240px;
	background: url("../images/common/icon_ya.png") no-repeat right 8px center / 13px auto;
	font-size: 16px;
	color: #000;
	background-color: #fff;
	border: solid 1px #ccc;
	border-radius: 5px;
	padding: 5px 10px;
}
.s select {
	width: 90px;
}

input[type=checkbox] {
	transform: scale(1.5);
	margin-right: 10px;
}

input[type="text"] {
	width: 300px;
	font-size: 16px;
	padding: 5px 10px;
	border: solid 1px #ccc;
	border-radius: 5px;
}
.s input[type="text"] {
	width: 100px;
	padding: 5px 10px;
	border: solid 1px #ccc;
	border-radius: 5px;
}
textarea {
	font-size: 16px;
	width: 100%;
	height: 150px;
	padding: 10px;
	border: solid 1px #ccc;
	border-radius: 5px;
	margin-top: 10px;
}

.under-content__inner__entry-box {
	margin-bottom: 20px;
}
.under-content__inner__entry-box::after {
	content: "";
	display: block;
	clear: both;
}
.under-content__inner__entry-box__left {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2;
	width: 25%;
	float: left;
}
.under-content__inner__entry-box__right {
	font-size: 1.6rem;
	line-height: 2;
	width: 70%;
	float: right;
}
.icon-must {
	font-size: 1.2rem;
	font-weight: normal;
	color: #fff;
	background-color: #b22222;
	border-radius: 5px;
	padding: 2px 8px;
	margin-left: 10px;
	white-space: nowrap;
}
.caution {
	color: #b22222;
}
.caution-file {
	font-size: 1.1rem;
	background-color: #f5f5f5;
	padding: 10px;
	margin-top: 20px;
}

.under-content__inner__entry-box__in {
	margin-bottom: 10px;
}
.under-content__inner__entry-box__in::after {
	content: "";
	display: block;
	clear: both;
}
.under-content__inner__entry-box__in__left {
	width: 20%;
	float: left;
}
.under-content__inner__entry-box__in__right {
	width: 78%;
	float: right;
}

.link_corporate.entry-privacy a {
	font-size: 1.6rem !important;
	margin: 0 0 0 20px;
}

.bt_submit{
	max-width: 250px;
	margin: 60px auto 0;
}

.bt_submit .submit {
  display: block;
  width: 250px;
  padding: 20px;
  font-size: 18px;
  color: #fff;
  background: var(--color-blue);
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
.bt_submit .submit:hover{
	background: var(--color-dark-blue);
}

.bt_submit .back {
  display: block;
  width: 250px;
  padding: 20px;
  font-size: 18px;
  color: #fff;
  background: #666;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}

.bt_submit--conf {
	display: flex;
	max-width: 600px;
	justify-content: space-between;
	gap: 20px;
}

.bt_submit--conf .bt_submit .submit {
	float: left;
}
.bt_submit--conf .bt_submit .back {
	float: right;
}

.bt_submit .back:hover{
	background: var(--color-dark-blue);
}

.bt_submit .submit:focus-visible,
.bt_submit .back:focus-visible{
	box-shadow: 0 0 0 4px rgba(0, 112, 150, .25);
}

.bt_entry-post_code {
	padding: 5px 10px;
    font-size: 14px;
    color: #fff;
	background: var(--color-blue);
    border: solid 0px;
	border-radius: 5px;
	margin-left: 10px;
}
.bt_entry-post_code:hover {
	background: var(--color-dark-blue);
}

.privacy-text {
	border: solid 1px #ccc; padding: 10px; margin: 10px 0;
}

/* エントリーフォーム end */

@media screen and (max-width: 768px) {

html {
	font-size: 50.0%;
}

.hp_pc {
	display: none;
}
.hp_sp {
	display: block;
}

/* 青いボタン */

.bt-blue--entry { /* モディファイア */
	width: 100%;
	margin: 0 0px 30px;
}
.bt-blue--entry a { /* モディファイア */
	padding: 30px 0px;
}

/* 青いボタン end */

.container--top {
	padding-top: 10px;
}

/* ヘッダー */

.header {
	padding: 30px 10px 10px 10px;
}

.header__logo {
	width: 100%;
}
.header__logo__img {
	width: 100px;
}
.header__logo__text {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
	margin-left: 10px;
	float: left;
}
.header__logo__text__jp {
	width: 160px;
	margin: 0px 0 3px 0;
}
.header__entry {
	display: none;
}

/* ヘッダー end */

/* ハンバーガーメニュー */

.hamburger {
  top: 25px;
  right: 30px;
}

/* メニューが開いたとき */
.global-menu__outer {
	width: 95%;
	margin: 60px auto 0;
}
.global-menu__outer__box {
	width: 46%;
	margin-right: 8%;
	margin-bottom: 0px;
}
.global-menu__outer__box:first-child {
	margin-top: 0px;
}
.global-menu__outer__box:nth-child(even) {
	margin-right: 0;
}
.global-menu__outer__box:nth-child(3) {
	width: 100%;
}
.global-menu__outer__box__link {
	margin-top: 20px;
}
.global-menu__outer__box__link a {
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
}
.global-menu__outer__box__sub-link {
	margin-top: 20px;
	margin-bottom: 0px;
}
.global-menu__outer__box__sub-link ul {
	padding: 0;
}
.global-menu__outer__box__sub-link ul li {
	list-style-type: none;
	margin-bottom: 10px;
}


.global-menu_logo {
	width: 600px; position: fixed; top: 30px; left: 10px;
}
.global-menu__entry {
	display: none;
}

/* ハンバーガーメニュー end */

/* TOPメインビジュアル */

.slash {
	display: none;
	z-index: 9; position: absolute; top: 100px; left: 100px;
}
.slash_2 {
	display: none;
	z-index: 9; position: absolute; top: 300px; right: -200px;
}
.slash_under {
	display: none;
}

.catch-copy {
	font-size: 7.0rem; font-weight: bold; margin-left: 30px; position: relative; z-index: 12;
	text-shadow: 
	2px 2px 0 #fff,
	-2px 2px 0 #fff,
	2px -2px 0 #fff,
	-2px -2px 0 #fff;
}
.catch-copy__blue {
	color: var(--color-blue);
}

/* TOPメインビジュアル end */

/* TOP セクションblock */

.top-content {
	width: 100%;
	padding: 60px 0;
	margin-bottom: 30px;
}
.top-content__inner {
	padding: 0 5%;
}

.top-content--bg-cut { /* 背景青・下白三角でカットするモディファイア */
	padding-bottom: 60px;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
	/*
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 85%);
	*/
}

.top-content__inner__title__jp {
	display: block;
	margin-top: 10px;
	margin-left: 0;
}

.top-content__inner__left {
	width: 100%;
	float: none;
	margin-bottom: 60px;
}
.top-content__inner__right {
	width: 100%;
	float: none;
}

/* TOP セクションblock end */

/* TOP Company */

.top-content__inner__company {
	margin-top: 30px;
}
.top-content__inner__company__img {
	margin-bottom: 30px;
}

.top-content__company-boxouter {
	margin-top: 60px;
}
.top-content__company-boxouter__box {
	width: 100%;
	float: none;
	margin-right: 5%;
	margin-bottom: 30px;
}
.top-content__company-boxouter__box:nth-child(3) {
	margin-right: 0%;
}
.top-content__company-boxouter__box a {
	display: block;
	padding: 0;
	overflow: hidden;
}

.top-content__company-boxouter__box__img {
	cursor: pointer;
	max-width: 500px;
	width: 100%;
	border-radius: 10px 10px;
}
.top-content__company-boxouter__box__img img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .6s ease;/* ゆっくり変化させる */
}
.top-content__company-boxouter__box__img:hover img {
  transform: scale(1.1);/* 拡大 */
}
.top-content__company-boxouter__box__text {
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 18px;
	padding: 30px 5px;
	background: url(../images/common/img_bt-arrow-bk.png) no-repeat right 10px center;
	background-color: var(--color-yellow);
	text-align: center;
	border-top: 1px solid #fff;
	border-radius: 0 0 10px 10px;
}


/* TOP Company end */


/* TOP Business */
.top-content__inner__business {
	width: 100%;
}

.top-content__inner__business__outer-box {
	display: block;
	width: 100%;
	margin-right: 8%;
	margin-bottom: 50px;
	float: none;
}
.top-content__inner__business__outer-box:nth-child(even) {
	margin-right: 0;
}

.top-content__inner__business__outer-box__box a {
	display: block;
	width: 100%;
	height: auto;
	background-color: #fff;
	box-shadow: 10px 10px 0px 0px var(--color-yellow);
	margin-bottom: 30px;
	overflow: hidden;
}

.top-content__inner__business__outer-box__box img {
	height: auto;
	transition: transform .6s ease;/* ゆっくり変化させる */
	width: 100%;
}
.top-content__inner__business__outer-box__box:hover img {
	transform: scale(1.1);/* 拡大 */
}


.top-content__inner__business__outer-box:nth-child(even) {
	margin-right: 0px;
}

/* TOP Business end */

/* TOP People */

.top-content--people {
	margin-top: 0px;
}
.top-content__inner__people {
	position: relative;
	min-height: 1500px;
}
.top-content__inner__people__box {
	width: 100%;
	position: relative;
}
.top-content__inner__people__box--first {
	top: 0px;
	left: 0%;
}
.top-content__inner__people__box--second {
	top: 0px;
	right: 0%;
}
.top-content__inner__people__box--third {
	top: 0px;
	left: 0%;
}
.top-content__inner__people__box__message {
	position: absolute; 
	bottom: 120px; left: 0%;
}
.top-content__inner__people__box__message a {
	color: #fff;
}
.top-content__inner__people__box__img {
	width: 80%;
	float: none;
	margin: 0 auto 60px;
}

/* TOP People end */

/* Entry */

.entry-box {
	text-align: center;
}
.entry-box__title {
	font-size: 6.3rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.entry-box__explanation {
	font-size: 1.8rem;
	color: #fff;
	margin: 20px 0 40px;
}


.entry-box__bt-box__bt a {
	
}

/* Entry end */



/* フッター */

.footer {
	padding: 0px 5% 30px;
}
.footer__left {
	float: none;
	margin-bottom: 30px;
}
.footer__right {
	float: none;
}

/* フッター end */


/* 下層 セクションblock */

/* 下層メインビジュアル */
.under-kv {
	padding: 20px 15px;
}
.under-kv__left {
	width: 55%;
	min-height: auto;
}
.under-kv__right {
	width: 40%;
	float: right;
}
.under-kv__left__box {
	position: absolute;
	top: 30%;
	left: 5%;
	transform: translateY(20%);
	z-index: 10;
}

.under-kv__left__box__title {
	font-size: 3.2rem;
}


.under-kv-people {
	height: 30vh;
	position: static;
}
.under-kv-people__text {
	display: none;
	width: 100%;
	padding: 0px;
	position: static;
	bottom: 0%;
	left: 0%;
	transform: translateY(0%);
}
.under-kv-people__text--sp {
	display: block;
	max-width: 100%;
	color: #fff;
	background-color: #2c10a8;
	padding: 30px;
}

/* 下層メインビジュアル end */




.under-content__inner__box {
	flex-direction: column;
	gap: 30px;                /* 縦の間隔 */
}

.under-content__inner__box--reverse {
	flex-direction: column;
}
.under-content__inner__box--maintain {
	flex-direction: row;
}


/* 分割されてサイドナビがあるレイアウト */
.under-content__inner__division-l {
	width: 100%; float: none;
	padding: 0 5%;
	margin-top: 0;
}
.under-content__inner__division-r {
	width: 100%; float: none;
	padding: 0 5%;
}
.under-content__inner__division-r__inner {
	padding-right: 0px;
}

.js-sticky {
	margin-top: 0px;
	margin-bottom: 60px;
	padding: 0 0px;
	position: static !important; /* staticにして固定を解除 */
}
.js-sticky__title {
	text-align: center;
}
nav.js-sticky__nav ul {
  position: static;
  top: 0px;
  left: 0;
  display: block;
  gap: 0em;
  padding: 0em;
}

nav.js-sticky__nav ul li {
  width: 46%;
  float: left;
  margin: 0 2%;
}

nav.js-sticky__nav ul li a {
  display: inline-block;
  width: 100%;
  font-size: 1.4rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  padding: 10px 2%;
  margin-bottom: 10px;
}

/* 分割されてサイドナビがあるレイアウト end */

/* 関連バナーリンク */
.box-relation {
	display: block;
}
.box-relation__item {
	margin-bottom: 30px;
}


/* トップメッセージ */
.under-content__inner__box__item--message__text {
	position: static;
	top: 0%;
	transform: translateY(0%);
}
/* トップメッセージ end */

/* データで見るALSOK保険サービス */

.data_box {
	font-size: 1.6rem;
	line-height: 2;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 70px;
}
.data_box__item {
	padding: 30px;
	border: solid 1px #1f4a97;
}

.data_box__item--sp1column {/* スマホの時だけ1カラムにする */
	grid-column: 1 / -1;
}


.data_box__item--shell {
	padding: 0px;
	border: solid 0px;
}
.data_box__item--shell .data_box__item:nth-child(1) {
	margin-bottom: 20px;
}

.data_box.column2-1 {
	margin-top: 0px;
}
.data_box.column2-1 > .data_box__item:first-child {
	grid-column: 1 / -1;
}
.data_box.column2-1 > .data_box__item:last-child {
	grid-column: 1 / -1;
}

.data_box.column2 {
	font-size: 1.6rem;
	line-height: 2;
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 30px;
	margin-top: 0px;
	margin-bottom: 70px;
}

.data_box__item__title {
	font-size: 2.0rem;
	line-height: 1.5;
	font-weight: bold;
	color: #1f4a97;
	text-align: center;
}
.data_box__item__img {
	width: 80px;
	height: auto;
	margin: 30px auto 10px;
	text-align: center;
}
.data_box__item__num {
	font-size: 4.8rem;
	line-height: 1.5;
	font-weight: bold;
	color: #1f4a97;
	text-align: center;
}
.data_box__item__num__s {
	font-size: 2.4rem;
	color: #4b4b4b;
}

.data_box__item__supplement {
	font-size: 1.1rem;
	line-height: 1.5;
	text-align: center;
}






/* 縦棒グラフ全体のコンテナ */
.vertical-bar-container {
  display: flex;
  gap: 20px; /* 子要素の間隔を20pxに設定 */
  align-items: flex-end; /* 縦棒を下に揃える */
  justify-content: center; /* 縦棒グラフ自体を横方向で中央に配置 */
  height: clamp(160px, 30vh, 320px);
  width: 80%; /* コンテナの幅は80% */
  box-sizing: border-box; /* パディングを含めたサイズ計算 */
  margin: 30px auto 20px;
  padding-bottom: 30px; /* グラフの下に30pxの余白を追加 */
}

/* 各縦棒のスタイル */
.vertical-bar {
  position: relative; /* ラベルやパーセンテージの位置を調整するために必要 */
  width: 60px; /* 各縦棒の幅を60pxに設定 */
  background-color: #1f4a97; /* 縦棒の色を緑色に設定 */
  border-radius: 0px; /* 縦棒に丸みを付ける */
  height: 0; /* 初期状態で縦棒の高さを0に設定 */
  --height: 50%; /* 高さをカスタムプロパティで指定（仮の値） */
}

.vertical-bar--no1 {
	background-color: var(--color-yellow);
}

@keyframes vertical-growBar {
	from {
		height: 0;
	}
	to {
		height: var(--height);
	}
}

/* 各縦棒のラベル（項目名）のスタイル */
.vertical-label {
	position: absolute; /* ラベルの位置を調整 */
	bottom: -40px; /* ラベルを縦棒の下に少し余裕を持たせて配置 */
	width: 100%; /* ラベルを縦棒と同じ幅にする */
	text-align: center; /* ラベルを中央に配置 */
	font-size: 16px; /* フォントサイズを14pxに設定 */
	font-weight: bold;
	color: #4b4b4b;
}

/* 各縦棒のパーセンテージ（数値）のスタイル */
.vertical-percentage {
	position: absolute; /* パーセンテージを絶対位置で配置 */
	top: 50%; /* 棒の中央に表示 */
	width: 100%; /* パーセンテージも縦棒の幅に合わせる */
	text-align: center; /* パーセンテージを中央に配置 */
	font-size: 16px; /* フォントサイズを12pxに設定 */
	font-weight: bold;
	color: white; /* パーセンテージの文字色を白に設定 */
	transform: translateY(-50%); /* 完全に中央に配置 */
}
.vertical-percentage--no1 {
	color: #1f4a97;
}




/* データで見るALSOK保険サービス end */

/* 仕事を知る */

.business_schedule-box__left {
	width: 100%; float: none;
	margin-right: 0%;
}
.business_schedule-box__right {
	width: 100%; float: none;
	margin-top: 60px;
}
.business_schedule-box__right img {
	width: 48%;
	margin-right: 4%;
	float: left;
}
.business_schedule-box__right img:nth-child(even) {
	margin-right: 0;
}

/* 仕事を知る end */


/* 働く社員を知る */

.h2--people {
	margin: 0px 0 30px 20px;
}
.people-message {
	margin-top: 0px;
	position: static;
}
.under-content__inner__box.people-message {
	gap: 0;
}
.people-message__contents {
	width: 100%;
	padding: 30px 30px;
}
.people-message__contents__inner {
	width: 100%;
	color: #fff;
}


.people-message__img {
	width: 100%;
	position: static;
	top: 0px;
	margin-left: auto;
	right: 0;
	z-index: 2;
}

/* 働く社員を知る end */



/* 募集要項 */
.requirement__box__left {
	width: 100%;
	float: none;
}
.requirement__box__left h4 {
	font-size: 1.8rem;
}
.requirement__box__right {
	width: 100%;
	float: none;
}

/* 募集要項 end */


/* エントリーフォーム */

select {
	background: url("../images/common/icon_ya.png") no-repeat right 8px center / 8px auto;
}
		
input[type="text"] {
	width: 90%;
	padding: 5px 5%;
}
.s input[type="text"] {
	width: 100px;
}

.under-content__inner__entry-box {
	margin-bottom: 20px;
}
.under-content__inner__entry-box__left {
	width: 100%;
	float: none;
	margin-bottom: 20px;
}
.under-content__inner__entry-box__right {
	width: 100%;
	float: none;
}
.bt_entry-post_code {
	margin-left: 0px;
	margin-top: 10px;
	margin-bottom: 10px;
}

.bt_submit--conf {
	max-width: 90%;
	padding: 0 5%;
}

/* エントリーフォーム end */




}








