/* a {
        outline: none;
    }
    
    area:link {
        outline: none;
    }
    area:active {
        outline: none;
    }
    area:visited {
        outline: none;
    }
    a img {
        outline: none;
    }
    a:focus,
    button:focus {
        outline: none;
    } */
html {
        min-height: 100%;
        position: relative;
}

body {
        overflow: hidden;
        background-color: #fff;
		font-family: 'Noto Sans JP', sans-serif;
}

.navi_sp {
        display: none;
}

.drawr {
        display: none;
}

header {
        width: 100%;
        padding: 0;
        margin: 0 auto;
        background-color: #fff;
        height: 55px;
		position: fixed;
		top: 0;
		z-index: 99999;
		box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.logo {
        display: block;
        padding: 5px 0 0 0;
        width: 124px;
        height:43px;
        z-index: 1000;
        float: left;
}

.logo img {
        width: 100%;
        height: auto;
}

.logo_sp {
        display: none;
}

/*----------KV------------------------------------------------------------------*/

.main {
        width: 100%;
		height: 560px;
        padding: 60px 0 0 0;
        z-index: 10;
        position: relative;      
}

.main-inner{
        width: 1219px;
		height: 560px;
        margin: 0 auto;
        position: relative;
		background-image: url("../images/kv_pc.png");
		background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
}

.main-copy{
        position: absolute;
        top: 5%;
        left: 5%;
        text-align: left;
        width: 90%;
}

.main-copy p{
        color: #00438f;
        font-size: 2.4rem;
        text-align: left;
        line-height: 55px;
		letter-spacing: 0.5;
}

.main-copy span{
		background: linear-gradient(transparent 0%, #ffea00 0%);
		font-weight: 600;
		font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
		font-feature-settings: "palt";
		padding: 2px 10px 0;
}

.main_logo{
        width: 100%;
        height: auto;
		text-align: center;
		padding: 12% 0;
		display: block;
}

.main_logo img{
        width: 603px;
        height: 303px;
		margin: 0 auto;
		padding: 0 6% 0 0;
}

/*----------お知らせ------------------------------------------------------------------*/

.info-bg{
		max-width: 100%;
		-webkit-background-size: 10px 10px;
		-moz-background-size: 10px 10px;
		background-size: 10px 10px;
		background-color: #00438f;
		padding: 25px 0;
}

.info-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 10px 0 20px 5px;
        background: #fff;
        position: relative;
}

.info-con h2 {
       font-size: 1.4rem;
       color: #205bba;
       line-height: 2;
       padding: 0 0 0 0;
       margin: 0 0 10px 0;
       text-align: center;
       display: block;
       font-weight: bold;
}

.news01 {
       max-width: 815px;
       overflow-x: hidden;
       height:130px;
       overflow-wrap :normal;
       margin: 0 auto;
}

.news01 dl {
        font-size: .88rem;
        line-height: 1.5;
        border-top: 1px solid #00438f;
        width: 820px;
        float: left;
        padding: 8px 0 5px 0;
        margin-bottom: 5px;
}

.news01 dl:last-child {
        border-bottom: 1px solid #00438f;
        padding-bottom: 8px;
}

.news01 dl dt {
        width: 110px;
        color: #fff;
        float: left;
        padding: 0 0 0 0;
        margin-right: 30px;
		background-color: #00438f;
}

.news01 dl dd {
        color: #141414;
        float: left;
        width: 650px;
        padding: 0 0 0 0;
        overflow: auto;
		text-align: left;
}

.news01 dl dd a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		width: 18px;
		height: 18px;
		background-image: url("../images/yicon.png");
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateY(-50%);
}

.news01 dl dd a {
        color: #141414;
        display: block;
		text-decoration: none;
  		position: relative;
  		padding-right: 24px;
}

.news01 dl dd a:hover,.ichiran a:hover{
		text-decoration: underline;
}

/* スクロールバー */
.news01 {
  		--sb-track-color: #ffffff;
  		--sb-thumb-color: #00438f;
  		--sb-size: 10px;
}

.news01::-webkit-scrollbar {
  		width: var(--sb-size)
}

.news01::-webkit-scrollbar-track {
  		background: var(--sb-track-color);
  		border-radius: 1px;
}

.news01::-webkit-scrollbar-thumb {
  		background: var(--sb-thumb-color);
  		border-radius: 1px;
  		border: 2px solid #ffffff;
}

@supports not selector(::-webkit-scrollbar) {
  .news01 {
  		scrollbar-color: var(--sb-thumb-color)
                     var(--sb-track-color);
  }
}

/*----------ステートメント------------------------------------------------------------------*/

.statement-bg{
  		max-width: 100%;
  		-webkit-background-size: 10px 10px;
  		-moz-background-size: 10px 10px;
  		background:
			url(../images/st_bg.png)left top no-repeat,
			linear-gradient(to bottom, #ffffff, #cccccc);
  		padding: 30px 0 15px 0;
  		background-size: auto 100%, 100% 100%;
}

.statement-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 10px 0 10px 0;
        position: relative;
		font-family: 'Noto Serif JP', serif;
}

.statement-con .tight {
  		margin-right: -0.5em; /* 後ろを詰める */
}

.statement-con h2 {
       font-size: 2.5rem;
       color: #000;
       line-height: 2;
       padding: 0 0 0 15px;
       margin: 25px 0 35px 0;
       text-align: center;
       display: inline;
       font-weight: bold;
	   background: linear-gradient(transparent 70%, #f58a1e 70%);
}

.statement-con p {
    width: 100%;
    max-width: 850px;
    font-size: 1.3rem;
    line-height: 1.8;
    margin: 20px 0;
    text-align: center;
    font-weight: bold;
    text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}

/*----------デジタル人材とは------------------------------------------------------------------*/

.about-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 30px 0 30px 0;
        background: #fff;
        position: relative;
}

.about-con h2 {
       font-size: 2rem;
  	   position: relative;
       display: inline-block;
       margin: 0.8em 0 1.5em;
       padding: 10px 50px 15px;
       min-width: 250px;
       max-width: 100%;
       color: #fff;
       background: #00438f;
}

.about-con h2:before {
       content: "";
       position: absolute;
       top: 100%;
       left: 50%;
       margin-left: -15px;
       border: 10px solid transparent;
       border-top: 15px solid #00438f;
}

.about-con .txt {
       	color: #454545;
		text-align: left;
        font-size: 1.15rem;
       	margin: 0 0 30px 0;
       	padding: 0;
		line-height: 2;
		font-weight: 600;
		letter-spacing: 0.1px;
}

.about-con01 {
        width: 850px;
		height: auto;
        margin: 0 auto;
        padding: 0 0 0 0;
        display: flex;
        justify-content: space-between;
        position: relative;
}

.about-con01 .about-left{
		width: 47%;
}

.about-con01 .about-right{
		width: 48%;
}

.about-con01 h3 {
		width: 100%;
       	color: #fff;
       	background: #00438f;
		text-align: center;
        font-size: 1.3rem;
       	margin: 0;
       	padding: 5px 0 10px;
}

.about-con01 .about-img01 {
		text-align: center;
       	margin: 0;
       	padding: 20px 0 20px;
		width: 100%;
}

.about-con01 .about-img01 img{
		width: 300px;
		height: auto;
}

.about-con01 h4 {
       	color: #00438f;
       	background: #fff;
		border: #00438f solid 2px;
		border-radius: 30px;
		text-align: center;
        font-size: 1.1rem;
		font-weight: bold;
       	margin: 0;
       	padding: 3px;
}

.about-con01 p {
       	color: #454545;
		text-align: left;
        font-size: 1.06rem;
       	margin: 0;
       	padding: 15px 5px 30px;
		line-height: 2;
		font-weight: 600;
		letter-spacing: 0.1px;
}

.about-con01 p span {
		margin-left: 90%;
		font-weight: 600;
}

/*----------柔軟なワークスタイル------------------------------------------------------------------*/

.wstyle-bg{
  		max-width: 100%;
  		-webkit-background-size: 10px 10px;
  		-moz-background-size: 10px 10px;
  		background:
			url(../images/con1_bg.png)center top no-repeat;
  		padding: 0;
  		background-size: cover;
}

.wstyle-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 5px 0;
        position: relative;
}

.wstyle-con h2 {
       font-size: 1.8rem;
  	   position: relative;
       display: inline-block;
       margin: 1em 0;
       padding: 10px 0 0;
       min-width: 120px;
       max-width: 100%;
       color: #00438f;
	   font-weight: 600;
  		text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}

.wstyle-con h2 {
       display: flex;
       align-items: center; /* 垂直中心 */
       justify-content: center; /* 水平中心 */
}

.wstyle-con h2:before, .wstyle-con h2:after {
       border-top: 3px solid;
       content: "";
       width: 8.5em; /* 線の長さ */
}

.wstyle-con h2:before {
       margin-right: 1em; /* 文字の右隣 */
}

.wstyle-con h2:after {
       margin-left: 1em; /* 文字の左隣 */
}

.wstyle-con .txt {
       	color: #454545;
		text-align: left;
        font-size: 1.15rem;
       	margin: 0 0 30px 0;
       	padding: 0;
		line-height: 2;
		font-weight: 600;
		letter-spacing: 0.1px;
  		text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}

.wstyle-con .txt01 {
       	color: #454545;
		text-align: left;
        font-size: 1rem;
       	margin: 0 0 30px 0;
       	padding: 0;
		font-weight: 600;
		letter-spacing: 0.1px;
  		text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}


.wstyle-con01 {
        width: 850px;
		height: auto;
        margin: 0 auto;
        padding: 0 0 20px 0;
        display: flex;
        justify-content: space-between;
        position: relative;
}

.wstyle-con01 .wstyle-left{
		background: #fff;
		width: 48%;
		margin-right: 1%;
		border: solid 2px #00438f;
		border-radius: 15px;
}

.wstyle-con01 .wstyle-right{
		background: #fff;
		width: 49%;
		margin-left: 1%;
		border: solid 2px #00438f;
		border-radius: 15px;
}

.wstyle-con01 h3 {
		width: 100%;
       	color: #fff;
       	background: #00438f;
		text-align: center;
        font-size: 1.3rem;
       	margin: 0;
       	padding: 10px 0 15px;
		border-radius: 12px 12px 0 0;
}

.wstyle-con01 .wstyle-img01 {
		text-align: center;
       	margin: 0;
       	padding: 0 0 0;
		width: 100%;
}

.wstyle-con01 .wstyle-img01 img{
		width: 360px;
		height: auto;
		margin-bottom: 15px;
}

.wstyle-con01 h4 {
       	color: #00438f;
       	background: #fff;
		border: #00438f solid 2px;
		text-align: center;
        font-size: 1.1rem;
		font-weight: bold;
       	margin: 0 10px;
       	padding: 0px;
}

.wstyle-con01 h5 {
       	margin: 0 10px 15px;
       	padding: 3px;
		position: relative;
}

.wstyle-con01 .triangle1{
		background-color: #00438f;
		width: 15px;
		height: 19px;
		clip-path: polygon(0 0, 0 100%, 100% 50%);
}

.wstyle-con01 .text {
  		position: absolute;
  		left: 30px; /* 三角形から少し離す */
  		top: 0;
       	color: #00438f;
        font-size: 1.1rem;
		font-weight: bold;
}

.wstyle-con01 p {
       	color: #454545;
		text-align: left;
        font-size: 1.02rem;
       	margin: 0;
       	padding: 15px 15px;
		line-height: 1.5;
		font-weight: 600;
		letter-spacing: 0.1px;
}

.wstyle-con01 span {
        font-weight: bold;
        background: linear-gradient(transparent 65%, #f58a1e 65%);
}

/*----------チェックリスト------------------------------------------------------------------*/

.check-bg{
  		max-width: 100%;
  		-webkit-background-size: 10px 10px;
  		-moz-background-size: 10px 10px;
		background: #cee5ff;
  		padding: 0;
}

.check-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 5px 0;
        position: relative;
}

.check-con .txt {
       	color: #00438f;
		text-align: center;
        font-size: 1.15rem;
       	margin: 30px 0 30px 0;
       	padding: 0;
		line-height: 2;
		font-weight: 600;
		letter-spacing: 0.1px;
}

.check-con01 {
        width: 850px;
		height: auto;
        margin: 0 auto;
        padding: 0 0 20px 0;
        justify-content: space-between;
        position: relative;
}

.check-con01 .list-flex {
        display: flex;
        flex-wrap: wrap;
        list-style: none;
        margin: 0;
        padding: 0;
}

.check-con01 .list-flex li {
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 8px 10px 10px 10px;
        box-sizing: border-box;
        border-radius: 30px;
        background-color: #fff;
        margin-bottom: 15px;
        width: calc(50% - 5px);
        border: 3px solid #00438f;
        text-align: left;
        font-size: .9rem;
        font-weight: 600;
        font-feature-settings: "palt";
}

.check-con01 .list-flex li:nth-child(odd) {
        margin-right: 10px;
}

.check-con01 .list-flex img {
        width: 30px;
        height: 24px;
        object-fit: contain;
}

.check-con01 p {
       	color: #454545;
		text-align: left;
        font-size: 1.02rem;
       	margin: 0;
       	padding: 15px 15px;
		line-height: 1.5;
		font-weight: 600;
		letter-spacing: 0.1px;
}

/*----------FOCUS------------------------------------------------------------------*/

.focus-con {
  width: 850px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  padding: 30px 0 30px;  /* ← 下の余白はここでは最低限 */
  background: #fff;
  position: relative;       /* ペイジャーの基準にする */
}

.focus-con h2 {
  font-size: 2rem;
  display: inline-block;
  margin: 0.8em 0 1.5em;
  padding: 10px 50px 15px;
  color: #fff;
  background: #00438f;
  position: relative;
}

.focus-con h2:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 10px solid transparent;
  border-top: 15px solid #00438f;
}

/* -------------------- カルーセル2本横並び -------------------- */
.swiper-slide.focus-slide {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between;
  gap: 2%;
  box-sizing: border-box;
  padding-bottom: 30px;
}

.swiper-slide.focus-slide .focus-item {
  flex: 0 0 48% !important;
  max-width: 48% !important;
  text-align: center;
  box-sizing: border-box;
}

.focus-item h3 {
  width: 100%;
  text-align: center;
  font-size: 1.06rem;
  margin: 0;
  padding: 5px 0 10px;
  font-weight: 600;
}

.focus-item .focus-img01 {
  text-align: center;
  margin: 0;
  padding: 20px 0 5px;
  width: 100%;
}

.focus-item .focus-img01 img {
  width: 100% !important;
  height: auto !important;
  display: block;
  transition: all 0.3s;
}

/* ▼ 矢印＋ページャーのまとまり */
.focus-con .swiper-controls {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 0;
  z-index: 10;
}

/* ページネーション（ドット） */
.focus-con .swiper-controls .swiper-pagination {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 15px 0 0 0; /* ドットが下にずれない */
}

/* ドット */
.swiper-pagination-bullet {
  background: #ccc;
  opacity: 1;
  margin: 0 4px;
}

.swiper-pagination-bullet-active {
  background: #00438f;
}

/* 自動再生ボタン全体 */
.autoplay-toggle {
  position: absolute;         /* 絶対配置で右矢印の外側 */
  top: 50%;                  
  transform: translateY(-50%);
  right: -40px;               /* 右矢印の外側に配置 */
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 11;                /* 矢印より上 */
}

/* アイコンサイズ */
.icon {
  display: inline-block;
  width: 18px;
  height: 18px;
  position: relative;
}

/* ▶ 再生アイコン */
.icon.play::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 14px solid #0072ff;
}

/* ‖ 停止アイコン */
.icon.pause::before,
.icon.pause::after {
  content: "";
  position: absolute;
  top: 0;
  width: 3px; 
  height: 100%;
  background: #0072ff;
  border-radius: 1px;
}
.icon.pause::before { left: 3px; }
.icon.pause::after  { right: 3px; }

/* 矢印ボタン */
.nav-btn {
  width: 30px;
  height: 30px;
  border: none;
  display: grid;
  place-items: center;
  cursor: pointer;
  background: #fff;
}

/* くの字マーク */
.nav-btn::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border: 2px solid #00438f;
  border-top: 0;
  border-right: 0;
}

/* 左右の回転 */
.custom-prev::before { transform: rotate(45deg); }
.custom-next::before { transform: rotate(-135deg); }

/* 矢印の順序 */
.custom-prev { order: 0; }
.custom-next { order: 2; }


/*----------全国採用情報一覧日本地図------------------------------------------------------------------*/

.maps-bg{
  		padding: 30px 0 30px 0;
}

.maps-con {
        width: 850px;
		height: auto;
        margin: 0 auto;
		text-align: center;
        padding: 15px 0 0 0;
        position: relative;
}

.maps-con h2 {
       font-size: 2rem;
  	   position: relative;
       display: inline-block;
       margin: 0.8em 0 0.8em;
       padding: 10px 50px 15px;
       min-width: 250px;
       max-width: 100%;
       color: #fff;
       background: #00438f;
}

.maps-con h2:before {
       content: "";
       position: absolute;
       top: 100%;
       left: 50%;
       margin-left: -15px;
       border: 10px solid transparent;
       border-top: 15px solid #00438f;
}

.maps-con .txt {
		color: #454545;
		text-align: center;
        font-size: 1.15rem;
       	margin: 0 0 30px 0;
       	padding: 0 0;
		line-height: 2;
		font-weight: 600;
		letter-spacing: 0.1px;
  		text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}

.maps-con01 {
		position: relative;
        width: 850px;
		height: 600px;
        margin: 0 auto 0;
        padding: 30px 0 30px 0;
		display: block;
  		max-width: 100%;
  		-webkit-background-size: 10px 10px;
  		-moz-background-size: 10px 10px;
  		background:
			url(../images/maps_bg.png)center center no-repeat,#cee5ff;
  		background-size: 75%;
}

.maps-con .map-container {
		position: relative;
		width: 850px;
		margin: 0 auto;
}

.maps-con .region {
		position: absolute;
		background: #ffffff;
		border: 2px solid #00438f;
		padding: 0;
		width: 160px;
}

.maps-con .region h3 {
		background: #00438f;
		color: #fff;
		font-size: 16px;
		margin: 0 0 0;
		text-align: center;
}

.maps-con .region ul {
		list-style: none;
		padding: 0;
		margin: 0;
}

.maps-con .region ul li {
		padding: 4px 0;
		border-bottom : 2px solid #00438f;
}

.maps-con .region ul li:last-child {
		border-bottom : none;
}

.maps-con .region ul li a {
		text-decoration: none;
		color: #003366;
		display: flex;
		justify-content: space-evenly;
		font-weight: 600;
		position: relative;
		font-size: 18px;
}

.maps-con .region ul li a::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 5px;
		width: 18px;
		height: 18px;
		background-image: url("../images/yicon.png");
		background-size: contain;
		background-repeat: no-repeat;
		transform: translateY(-50%);
}
.maps-con .region ul li:hover {
		background: #bedcff;
}

.maps-con .region ul li.nlink{
		pointer-events: none;
		background: #919191;
}

.maps-con .new {
		content: "";
		position: absolute;
		top: 0;
		left: 5px;
		color: red;
		font-size: 16px;
		margin-right: 5px;
		font-weight: 600;
}

/* 地域ごとの配置（例） */
.北海道 {
  top: 0;
  left: 700px;
}

.東北 {
  top: 90px;
  left: 700px;
}

.関東 {
  top: 360px;
  left: 700px;
}

.甲信越・北陸 {
  top: 0px;
  left: 350px;
}

.東海 {
  top: 467px;
  left: 525px;
}

.近畿 {
  top: 395px;
  left: 350px;
}

.中国 {
  top: 0px;
  left: 175px;
}

.四国 {
  top: 467px;
  left: 175px;
}

.九州 {
  top: 0px;
  left: 0;
}

.沖縄 {
  top: 305px;
  left: 0;
}
.map-container {
  display: none;
}
.map-container.active {
  display: block;
}
/*----------全国採用情報一覧------------------------------------------------------------------*/

.list-bg{
  		max-width: 100%;
  		-webkit-background-size: 10px 10px;
  		-moz-background-size: 10px 10px;
  		padding: 0 0 15px 0;
}
.list-con {
        width: 850px;
		height: 900px;
        margin: 0 auto;
		text-align: center;
        padding: 0 0 10px 0;
        position: relative;
}

.list-con .txt01 {
       	color: #454545;
		text-align: center;
        font-size: 1rem;
       	margin: 0 0 30px 0;
       	padding: 0;
		font-weight: 600;
		letter-spacing: 0.1px;
  		text-shadow:
      -1px -1px 2px #fff,
       1px -1px 2px #fff,
      -1px  1px 2px #fff,
       1px  1px 2px #fff;
}

.button-area {
	   margin-bottom: 20px;
	   display: flex;
	   justify-content: space-between;
	   gap: 10px;
}

.soon-wrapper {
	   display: flex;
	   flex-direction: column;
	   align-items: center;
	   width: 48.6%;
}

.current {
	   font-size: 16px;
	   margin-bottom: 20px;
	   font-weight: bold;
	   height: 20px; /* 高さを固定して、上下でズレないように */
}

.coming-soon {
	   font-size: 14px;
	   color: #ff6600;
	   margin-bottom: 5px;
	   font-weight: bold;
	   height: 20px; /* 高さを固定して、上下でズレないように */
}

.coming-soon.invisible {
	   visibility: hidden; /* 都道府県側には見えないダミー */
}

.button-area button {
	   padding: 15px 20px;
	   font-size: 16px;
	   cursor: pointer;
	   width: 100%;
	   border-radius: 30px;
	   background-color: #fff;
	   color: #00438f;
	   font-weight: bold;
	   border: 3px #00438f solid;
}

.button-area button.active {
	   background-color: #00438f;
	   color: #fff;
	   border: 3px #00438f solid;
}


.table-container {
      display: none;
}

.table-container.active {
      display: block;
      overflow:auto;
 	  box-sizing: content-box; 
      height:800px;
}
.list-con .fixed-rowk {
       position: sticky;
       top: 0;
       z-index: 9999;
       background-clip: padding-box;
}
.list-con .fixed-row {
       position: sticky;
       top: 0;
       z-index: 9999;
       background-clip: padding-box;
}

.anchor-spacer {
       display: block;
       height: 85px;         /* 固定ヘッダーと同じ高さ */
       margin-top: -85px;
       visibility: hidden;
}

.list-con table {
     border-collapse: separate; /* 親要素に指定 */
     border-spacing: 0;
      width: 100%;
      table-layout: fixed;
      margin-top: 0;
    }

/* スクロールバー */
.list-con .table-container{
       --sb-track-color: #ffffff;
       --sb-thumb-color: #00438f;
       --sb-size: 10px;
}

.list-con .table-container::-webkit-scrollbar {
  		width: var(--sb-size)
}

.list-con .table-container::-webkit-scrollbar-track {
  		background: var(--sb-track-color);
  		border-radius: 1px;
}

.list-con .table-container::-webkit-scrollbar-thumb {
  		background: var(--sb-thumb-color);
  		border-radius: 1px;
}

.list-con table th, td {
       border-top: 2px solid #e5f1ff;
       border-bottom: 2px solid #e5f1ff;
       border-left: 1px solid #e5f1ff;
       border-right: 1px solid #e5f1ff;
       padding: 10px;
       text-align: center;
       position: relative;
}

.list-con table tr {
       background: #fff;
}

.list-con table tr.end {
		background: #f4f4f4;
}

.list-con table td span a{
       background: #00438f;
       color: #fff;
       border-radius: 15px;
       font-size: 12px;
       padding: 3px 10px 5px;
       text-decoration: none;	
}

.list-con table td span a:hover{
       background: #bedcff;
}

.list-con table th[data-sortable="true"] {
       background-color: #d3d3d3;
       cursor: pointer;
       color: #00438f;
       text-decoration:underline;
       padding: 15px 0;
       vertical-align:middle;
       line-height: 1.2;
}

.list-con table th:not([data-sortable="true"]) {
       background-color: #d3d3d3;
       color: #00438f;
       cursor: default;
       padding: 15px 0;
       vertical-align:middle;
       line-height: 1.2;
}

.list-con table .sort-icon {
       position: absolute;
       bottom: 4px;
       left: 50%;
       transform: translateX(-50%);
       font-size: 10px;
       color: #00438f;
       pointer-events: none;
       user-select: none;
}

.list-con table th.sorted .sort-icon {
       color: #000;
       font-weight: bold;
}

/*----------関連情報------------------------------------------------------------------*/

.link-con {
        width: 850px;
        margin: 0 auto;
		text-align: center;
        padding: 10px 0 50px 0;
        background: #fff;
        position: relative;
}

.link-con h2 {
        font-size: 1.5rem;
        position: relative;
        display: inline-block;
        margin: 0.8em 0 0.8em;
        padding: 0 0 5px;
        min-width: 850px;
        max-width: 100%;
        color: #fff;
        background: #00438f;
}

.link-con01 {
        width: 850px;
		height: auto;
        margin: 0 auto;
        padding: 0 30px 20px 30px;
        position: relative;
		text-align: left;
		line-height: 2;
}

.link-con01 p{
        font-size: 1.2rem;
}

.link-con01 a {
       	color: #00438f;
}

.link-con01 a:hover {
        opacity: 0.7;
}

.link-con01 a.external-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  flex-wrap: wrap; /* テキストだけ折り返す場合は wrap */
  max-width: 100%;
}

.link-con01 .external-icon {
  width: 1em;
  height: 1em;
  background-image: url('../images/icon_window_keycolor.svg');
  background-size: contain;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

/*----------footer------------------------------------------------------------------*/

.footer {
        width: 100%;
        font-size: .73rem;
        padding: 15px 0;
        text-align: center;
        overflow: hidden;
}

.footer_center {
        margin: 0 auto;
        text-align: center;
        width: 850px;
		height:auto;
		position:relative; 
}

.footer_center img {
		width: 30%;
}

.footer-p{
        padding: 30px 0 0 0;
        font-weight: bold;
        font-size: 0.9rem;
}

.indent{
        padding-left:1em;
        text-indent:-1em;
}

/*----------ナビ------------------------------------------------------------------*/

.navi {
        width:1200px;
        margin:0 auto;
        display: block;
}

.navi ul{
        width:1050px;
        margin: 0 0 0 580px;
        padding: 0;
        color: #fff;
}
.navi ul li {
        margin: 0 0 0 0;
        font-size: .9rem;
}

.navi ul li a{
        text-decoration: none;
		sans-serif;
        font-weight: 500;
        color: #fff;
        position: relative;
        display: block;
}
.navi ul#menu li{
        width:145px;
        position: relative;
        margin: 10px 5px;
        padding: 8px 0 10px 0;
        background-color: #00438f;
        border-radius: 30px;
        display: block;
        text-align: center;
        float:left;
        z-index:5000;
}
.navi ul#menu li a:hover {
        opacity: 0.7;
}

/* 追従バナー */
.fixed-banner {
        position: fixed;
        bottom: 125px;
        right: 5px;
        z-index: 9999;
        width: 168px; /* 固定幅 */
        animation: floatUpDown 3s ease-in-out infinite;
}

.fixed-banner img {
        width: 168px; /* 固定幅 */
        height: auto;
        display: block;
        margin: 0 auto;
}

.fixed-banner a {
        display: inline-block;
}
.fixed-banner a:hover {
        opacity: 0.7;
}

.fixed-banner.hidden {
  opacity: 0;
  pointer-events: none;
}

 /* アニメーション定義：上下にふわふわ動く */
 @keyframes floatUpDown {
      0%   { transform: translateY(0); }
      50%  { transform: translateY(-10px); }
      100% { transform: translateY(0); }
}

.go-top {
        position: fixed;
        /*固定表示*/
        bottom: 3em;
        right: 1em;
        border-radius: 100%;
        text-decoration: none;
        background-color: #00438f;
        padding: 1em;
        display: none;
        /*通常は非表示に*/
        height: 30px;
        width: 30px;
        z-index: 9999;
}

.go-top img {
        max-width: 100%;
}

.pcv {
        display: block!important;
}
.spv {
        display: none!important;
}


    .mt10 {
        margin-top: 10px;
    }
    .mt20 {
        margin-top: 20px;
    }
    .mt30 {
        margin-top: 30px;
    }
    .mt40 {
        margin-top: 40px;
    }
    .mt50 {
        margin-top: 50px;
    }
    .mt60 {
        margin-top: 60px;
    }
    .mt70 {
        margin-top: 70px;
    }
    .mt80 {
        margin-top: 80px;
    }
    .mt90 {
        margin-top: 90px;
    }
    .mt100 {
        margin-top: 100px;
    }

    .mb10 {
        margin-bottom: 10px;
    }
    .mb20 {
        margin-bottom: 20px;
    }
    .mb30 {
        margin-bottom: 30px;
    }
    .mb40 {
        margin-bottom: 40px;
    }
    .mb50 {
        margin-bottom: 50px;
    }
    .mb60 {
        margin-bottom: 60px;
    }
    .mb70 {
        margin-bottom: 70px;
    }
    .mb80 {
        margin-bottom: 80px;
    }
    .mb90 {
        margin-bottom: 90px;
    }


@media (min-width: 768px) and (max-width: 1024px) {

	
.logo {
        display: block;
        padding: 5px 0 0 15px;
        width: 124px;
        height:43px;
        z-index: 1000;
        float: left;
}

.logo img {
        width: 100%;
        height: auto;
}
		
/*----------KV------------------------------------------------------------------*/

.main {
        width: 100%;
		height: 560px;
        padding: 60px 0 0 0;
        z-index: 10;
        position: relative;      
}

.main-inner{
        width: 98%;
		height: auto;
        margin: 0 auto;
        position: relative;
		background-image: url("../images/kv_pc.png");
		background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
		border-radius: 50px;
}

.main-copy{
        position: absolute;
        top: 5%;
        left: 3%;
        text-align: left;
        width: 90%;
}

.main-copy p{
        color: #00438f;
        font-size: 2.4rem;
        text-align: left;
        line-height: 55px;
		letter-spacing: 0.5;
}

.main-copy span{
		background: linear-gradient(transparent 0%, #ffea00 0%);
		font-weight: 600;
		font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
		font-feature-settings: "palt";
		padding: 2px 10px 0;
}

.main_logo{
        width: 100%;
        height: auto;
		text-align: center;
		padding: 15% 0 10%;
		display: block;
}

.main_logo img{
        width: 603px;
        height: 303px;
		margin: 0 auto;
		padding: 0 6% 0 0;
}

/*----------ナビ------------------------------------------------------------------*/

.navi {
        width:100%;
        margin:0 auto;
        display: block;
}

.navi ul{
        width:100%;
        margin: 0 0 0 37%;
        padding: 0;
        color: #fff;
}
.navi ul li {
        margin: 0 0 0 0;
        font-size: .9rem;
}

.navi ul li a{
        text-decoration: none;
		sans-serif;
        font-weight: 500;
        color: #fff;
        position: relative;
        display: block;
}
.navi ul#menu li{
        width:145px;
        position: relative;
        margin: 10px 5px;
        padding: 8px 0 10px 0;
        background-color: #00438f;
        border-radius: 30px;
        display: block;
        text-align: center;
        float:left;
        z-index:5000;
}
/* 追従バナー */
.fixed-banner {
        position: fixed;
        bottom: 125px;
        right: 5px;
        z-index: 9999;
        width: 168px; /* 固定幅 */
        animation: floatUpDown 3s ease-in-out infinite;
}

.fixed-banner img {
        width: 168px; /* 固定幅 */
        height: auto;
        display: block;
        margin: 0 auto;
}

.fixed-banner a {
        display: inline-block;
}

}


    @media screen and (max-width:770px) { 
        

    }



