@charset "utf-8";
.sp {
  display: none !important;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
* {
  outline: none
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 87px;
}
body {
  font-size: 1.0em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: left;
  color: #231815;
  width: 100%;
  min-width: 1200px;
  word-break: normal;
  word-wrap: break-word;
  position: relative;
  overflow-x: hidden;
}
header {
  background-color: #fff;
  width: 100%;
	top:0;
  z-index: 999;
}
.normal {
  font-weight: normal;
}
p, dt, dd, li, th, td {
  line-height: 1.5;
}
.shadow {
  box-shadow: 0px 0px 7px 3px #eee;
}
ul li {}
/*clearfix */
.clearfix:after {
  display: block;
  font-size: 0em;
  content: " ";
  clear: both;
  height: 0;
  min-height: 0px;
}
h1 {
  margin-bottom: inherit;
  background: inherit;
  padding: inherit;
  border-radius: inherit;
  font-size: 0em;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  display: inherit;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: inherit;
  text-rendering: inherit;
  font-size: inherit;
  font-weight: normal;
}
input[type="submit"], input[type="checkbox"], label, button, select {
  cursor: pointer;
}
input[type="submit"] {
  border: none;
}
input, button, select {
  background-color: #fff;
  border-radius: 0;
}
button {
  border: none;
}
/*.slick-slider {
    overflow: hidden;
}*/
img {
  border: none;
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}
li {
  margin: 0px;
  padding: 0px;
}
a {
  color: #231815;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}
a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.hover:hover {
  transition: 0.2s;
  opacity: 0.8;
  cursor: pointer;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb20 {
  margin-bottom: 20px !important;
}
.mb60 {
  margin-bottom: 60px !important;
}
.mt0 {
  margin-top: 0 !important;
}
.link01 {
  text-decoration: underline;
}
.link01:hover {
  text-decoration: none;
}
.link02 {
  color: #fff;
  background-color: #B80045;
  font-size: 0.7em;
  border-radius: 20px;
  padding: 3px 12px;
}
.link03 {
  color: #3186BA;
}
.link03:hover {
  opacity: 0.8;
}
.linkn {
  cursor: default;
}
.caption {
  font-size: 0.81em;
}
.tar {
  text-align: right;
}
.tal {
  text-align: left;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
.bold {
  font-weight: bold;
}
.center {
  text-align: center !important;
}
table {
  border-collapse: collapse;
}
iframe {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
}
.acccont {
  display: none;
  -webkit-transition: none;
  -ms-transition: none;
  -o-transition: none;
  -ms-transition: none;
  transition: none;
}
.pn {}
.headerwrap {
  width: 1080px;
  z-index: 9000;
  min-width: 1080px;
  background-color: #FFF;
  position: relative;
  margin-right: auto;
  margin-left: auto;
}
.headertop {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.headerleft {
  float: left;
}
.headerright {
  text-align: right;
}
.logo {}
.gnavwrap {
  text-align: right;
  padding-top: 10px;
}
.gnav {}
.gnav > li {
  vertical-align: bottom;
  display: inline-block;
  position: relative;
  margin-right: 0px;
  margin-left: 17px;
}
.gnav > li > a {
  font-size: 0.87em;
  text-align: center;
  display: block;
  position: relative;
  color: #036eb8;
  font-weight: bold;
}
.gnav > li > a span {
  display: inline-block;
}
.gnav .fa-chevron-right {
  font-size: 1.12em;
  padding-right: 5px;
  display: inline-block;
  vertical-align: top;
  padding-top: 2px;
}
.rightnav01 {
  display: flex;
  justify-content: flex-end;
  vertical-align: top;
  padding-top: 0px;
  text-align: right;
}
.rightnav01 li {
  vertical-align: middle;
  font-weight: bold;
  line-height: 1;
}
.rightnav01 .type01 a {
  font-weight: bold;
  color: #FFF;
  background-color: #01756c;
  text-align: center;
  display: inline-block;
  padding-top: 9px;
  padding-right: 20px;
  padding-bottom: 8px;
  margin-top: 0px;
  padding-left: 20px;
  border-radius: 50px;
  font-size: 0.9em;
}
.rightnav01 .type02 a {
  font-weight: bold;
  color: #FFF;
  background-color: #26AEE3;
  text-align: center;
  display: inline-block;
  padding-top: 9px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  font-size: 0.9em;
  margin-top: 0px;
  border-radius: 50px;
  margin-right: 6px;
}
.rightnav01 .type03 a {
  font-weight: bold;
  color: #FFF;
  background-color: #ef7b1a;
  text-align: center;
  display: inline-block;
  padding-top: 9px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  font-size: 0.9em;
  margin-top: 0px;
  border-radius: 50px;
  margin-right: 6px;
}
.rightnav01 .type04 a {
  font-weight: bold;
  color: #0166B1;
  background-color: #fff;
  text-align: center;
  display: inline-block;
  padding-top: 9px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  font-size: 0.9em;
  margin-top: 26px;
  border: 1.5px solid #0166B1;
  border-radius: 50px;
  margin-right: 6px;
}
.rightnav01 li a span {
  position: relative;
}
.rightnav01 .fa-chevron-right {
  font-size: 1.12em;
  padding-right: 5px;
  display: inline-block;
  vertical-align: top;
  margin-top: 0px;
}
.rightnav01.type02 li a {
  background-color: #01756c;
  padding-top: 12;
  padding-right: 25px;
  padding-bottom: 12;
  padding-left: 25px;
  font-size: 1.00em;
}
.rightnav01.type02 .fa-chevron-right {
  vertical-align: middle;
}
.headerright02 {
  overflow: hidden;
}
.footerblock01 {
  position: relative;
}
.footerblock02 {
  padding-top: 35px;
  padding-bottom: 60px;
  text-align: center;
}
.footer01 {
  text-align: center;
  margin-bottom: 40px;
  background-color: #eaf8f9;
  padding-top: 24px;
  padding-bottom: 20px;
}
.footer01 img {
  max-width: 224px;
}
.footer02 {
  font-size: 1.06em;
  margin-bottom: 10px;
}
.footer03 {
  font-size: 1.06em;
  color: #3767A4;
  font-weight: bold;
  margin-bottom: 5px;
}
.footer04 {
  font-size: 1.81em;
}
.footer05 {
  font-size: 1.06em;
  margin-bottom: 6px;
}
.footer06 {
  font-size: 0.9em;
  margin-bottom: 12px;
}
.footer06 .cmnbox01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.footer06 a {
  color: #012E68 !important;
}
.copy {
  text-align: center;
  font-size: 0.73em;
  color: #FFFFFF;
  font-weight: normal;
  background-color: #3767A4;
  padding-top: 17px;
  padding-bottom: 16px;
}
.pagetop {
  position: fixed;
  right: 30px;
  bottom: 110px;
  z-index: 1000;
}
.fa-chevron-circle-up {
  font-size: 3.8em;
  color: #A5BAD6;
}
.typekigyo .footer03 {
  color: #01756c;
}
.typekigyo .footer04 {
  color: #01756c;
}
.typekigyo .copy {
  background-color: #01756c;
}
.typekigyo .fa-chevron-circle-up {
  color: #95DBBB;
}
.cmnbox01 {
  position: relative;
  max-width: 1080px;
  padding-left: 0px;
  padding-right: 0px;
  margin: 0 auto;
}
.flow01 .cmnbox01 {
  position: relative;
  max-width: 1080px;
  padding-left: 0px;
  padding-right: 0px;
  margin: 0 auto;
  border-radius: 24px;
}
.flow01 .riyou {
  padding: 40px !important;
}
.flow02 .cmnbox01 {
  border: #115EAE 1px solid;
  position: relative;
  max-width: 1080px;
  padding-left: 0px;
  padding-right: 0px;
  margin: 0 auto;
}
.flow02 ul {
  margin: 12px 0;
}
.flow02 li {
  margin-left: 1em;
  text-indent: -1em;
  padding: 6px 0;
}
.slide01 {
  position: relative;
}
.topmain01 {
  background-color: #EFEFEF;
  background-image: url(../img/common/bg_top_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
#anc01 {
  background-color: #F1F7FB;
}
.abt01 {
  padding-top: 60px;
  padding-bottom: 20px;
}
.abt02 {
  font-size: 1.8em;
  font-weight: bold;
  color: #036eb8;
  text-align: center;
  margin-bottom: 1.8em;
}
.abt03 {
  font-size: 1.22em;
  text-align: left;
  margin-bottom: 35px;
}
.abt04 {
  text-align: center;
  margin-bottom: 20px;
}
.abt04 li {
  display: inline-block;
  width: 380px;
  margin-left: 5px;
  margin-right: 5px;
}
.abt04 .cl01 a {
  background-color: #00B0E8;
}
.abt04 .cl02 a {
  background-color: #00776C;
}
.abt04 .cl03 a {
  background-color: #a40b5d;
}
.abt04 li a {
  font-size: 1.1em;
  color: #FFF;
  text-align: center;
  display: block;
  padding-top: 12px;
  padding-bottom: 12px;
  border-radius: 8px;
}
.abt04 .fa-chevron-right {
  font-size: 1.32em;
  padding-right: 5px;
  display: inline-block;
  vertical-align: top;
  margin-top: 1px;
}
.abt05 {
  background-color: #FFFBD7;
  padding-top: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  padding-left: 20px;
  border-radius: 12px;
  border: 1px solid #01756C;
}
.abt05 dt {
  font-size: 1.22em;
  text-align: center;
  font-weight: bold;
  color: #01756c;
  margin-bottom: 15px;
}
.abt05 dd {
  font-size: 1.22em;
  text-align: center;
}
.abt06 {
  font-size: 1.47em;
  font-weight: bold;
  color: #3767A4;
  text-align: center;
  margin-bottom: 35px;
}
.abt07, .abt08 {
  padding-top: 40px;
  padding-bottom: 40px;
}
.abt09 {
  font-size: 1.47em;
  font-weight: bold;
  color: #28B0A6;
  text-align: center;
  margin-bottom: 15px;
}
.mrt01 {
  background-image: url(../img/common/bg_01.png);
  padding-top: 65px;
  padding-bottom: 65px;
}
.mrt02 {
  box-shadow: 0 1.5rem 1rem -2rem hsl(200 50% 20% / 40%);
}
.mrt03 {
  width: 340px;
  float: left;
  background-color: #FFF;
  padding-top: 30px;
  padding-right: 20px;
  padding-bottom: 30px;
  padding-left: 20px;
  margin-left: 30px;
  border-radius: 16px;
  font-weight: 600;
}
.mrt03:first-child {
  margin-left: 0;
}
.mrt03 dt {
  text-align: center;
  margin-bottom: 30px;
}
.mrt03 dd {}
.mrt03 img {
  max-width: 70%;
}
.mrt04 {
  width: 100%;
  align-items: center;
  background-color: #FFF;
  padding-top: 30px;
  padding-right: 20px;
  padding-bottom: 30px;
  padding-left: 20px;
  margin-bottom: 30px;
  border-radius: 16px;
}
.mrt04:last-child {
  margin-bottom: 0;
}
.mrt04 dt {
  text-align: left;
  margin-right: 20px;
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 1.4em;
  color: #296D45;
}
.mrt04 dd {
  font-size: 1.1em;
}
.mrt04 img {
  max-width: 146px;
}
.toptitle01 {
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 45px;
  background-image: url(../img/common/icon_01.png);
  background-repeat: no-repeat;
  background-position: center bottom;
}
.toptitle02 {
  font-size: 2.47em;
  font-weight: bold;
  color: #036eb8;
  display: table;
  text-align: center;
  margin: 0 auto;
}
.toptitle03 {
  display: table-cell;
  vertical-align: middle;
  background-image: url(../img/common/bg_title_01.png);
  background-repeat: repeat-x;
  background-position: left center;
  height: 6px;
  width: 100px;
}
.toptitle04 {
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 20px;
}
.toptitle05 {
  display: table-cell;
  vertical-align: middle;
  background-image: url(../img/common/bg_title_01.png);
  background-repeat: repeat-x;
  background-position: left center;
  height: 6px;
  width: 100px;
}
.toptitle01.type02 {
  background-image: url(../img/common/icon_02.png);
}
.toptitle01.type02 .toptitle02 {
  color: #FFF;
  margin: 0 auto;
}
.toptitle01.type02 .toptitle03 {
  background-image: url(../img/common/bg_title_02.png);
}
.toptitle01.type02 .toptitle05 {
  background-image: url(../img/common/bg_title_02.png);
}
.flow01 {
  padding-top: 65px;
  padding-bottom: 65px;
  background-image: url(../img/common/bg_flow01.jpg);
  background-position: 0% 0%;
  background-size: cover;
}
.flow02 {
  background-color: #F9F8F8;
  padding: 20px;
  border-radius: 7px;
  margin-top: 30px;
  border: 1px solid #CCCCCC;
}
.flow03 {
  font-size: 1.2em;
  font-weight: bold;
  color: #036eb8;
  margin-bottom: 10px;
}
.flow03 .fa-check-circle {
  padding-right: 5px;
}
.flow04 {
  text-align: center;
  font-size: 1.12em;
  margin-bottom: 25px;
}
.flow04 a {
  color: #3767A4;
}
.flow05 {
  display: flex;
  justify-content: space-around;
  background-color: #E8F6FF;
  border-radius: 7px;
  text-align: center;
  margin-top: 0;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-top: 20px;
  padding-right: 5px;
  padding-bottom: 20px;
  padding-left: 5px;
}
.flow06 {
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
  margin-left: 10px;
}
.flow07 {
  font-size: 1.12em;
  margin-bottom: 15px;
}
.flow08 {
  width: 45%;
  padding: 0px !important;
  margin: 0 auto;
}
.flow08 a {
  font-size: 1.22em;
  color: #FFF;
  background-color: #A80046;
  text-align: center;
  display: block;
  padding: 15px;
}
.flow08 .fa-chevron-right {
  font-size: 1.47em;
  padding-right: 5px;
  display: inline-block;
  vertical-align: top;
  margin-top: 4px;
}
.flow09 {
  font-size: 1.87em;
  color: #3767A4;
}
.flow09 a {
  color: #3767A4;
}
.flow10 {
  font-size: 1.12em;
}
.flow11 {
  text-align: center;
  line-height: 1.2;
  font-size: 2.47em;
  color: #FFF;
}
.flow12 {
  text-align: center;
  font-size: 1.12em;
}
.flow12.type02 {
  text-align: left;
}
.flow13 {
  padding-top: 65px;
  padding-bottom: 65px;
  background-image: url(../img/common/bg_flow02.jpg);
  background-position: 0% 0%;
  background-size: cover;
}
.int01 {
  background-image: url(../img/common/bg_01.png);
  padding-top: 65px;
  padding-bottom: 25px;
}
.int02 {
  margin-bottom: 10px;
}
.int03 {
  font-size: 1.75em;
  font-weight: bold;
  color: #FFF;
  background-color: #125FAE;
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
}
.int05 {
  background-color: #FFF;
  padding: 25px;
}
.int06 {
  margin-bottom: 35px;
}
.int07 {
  width: 505px;
  float: left;
}
.int08 {
  width: 400px;
  float: right;
}
.int09 {}
.int10 {
  width: 100%;
  display: table;
  margin-bottom: 12px;
}
.int10 dt {
  display: table-cell;
  vertical-align: top;
  width: 100px;
  font-size: 1.0em;
  font-weight: bold;
  color: #3767A4;
  padding-top: 2px;
}
.int10 dt span {
  display: block;
  text-align: center;
  border: 1px solid #3767a4;
  padding-top: 2px;
  padding-bottom: 2px;
}
.int10 dd {
  display: table-cell;
  vertical-align: top;
  padding-left: 15px;
  font-size: 1.57em;
  font-weight: bold;
  color: #3767A4;
}
.comingsoon {
  background-color: #3768A5;
  padding: 16px;
  color: #fff;
  text-align: center;
}
.floating_btn .int11 {
  display: flex;
  justify-content: space-around;
  gap: 6px;
}
.floating_btn .int11 a {
  width: 33% !important;
}
.int11 a {
  font-size: 1.22em;
  color: #FFF;
  background-color: #3767A4;
  text-align: center;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 12px;
}
.int11 .fa-chevron-right {
  font-size: 1.47em;
  padding-right: 5px;
  display: inline-block;
  vertical-align: top;
  margin-top: 4px;
}
.int12 {
  font-size: 1.22em;
  text-align: center;
  margin-bottom: 20px;
}
.int13 {
  font-size: 1.47em;
  font-weight: bold;
  color: #FFF;
  background-color: #3767A4;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-bottom: 12px;
}
.int11.type02 a {
  color: #E3007F;
  background-color: #fff;
  border: 2px solid #E3007F;
}
.int11.type04 a {
  font-size: 1.22em;
  color: #FFF;
  background-color: #00776C;
  text-align: center;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 12px;
}
.int14 {
  border: 4px solid #E3007F;
  margin-bottom: 20px;
}
.int14.type02 {
  border: 4px solid #D6E2FF;
  padding: 20px;
}
.int14 a {
  position: relative;
  padding: 20px;
  display: block;
}
.type02 .yotei a {
  position: initial !important;
  padding: initial !important;
  display: initial !important;
  font-weight: normal;
  color: #0E87C6;
}
/*
.int14 a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 10px;
    height: 10px;
    margin-top: -10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    border-top-width: 3px;
    border-right-width: 3px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #e1374a;
    border-right-color: #e1374a;
}
*/
.int15 {
  width: 100%;
  display: table;
}
.int16 {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.47em;
  font-weight: bold;
  color: #FFF;
  background-color: #E3007F;
  text-align: center;
  width: 125px;
}
.int14.type02 .int16 {
  background-color: #EEF1AC;
  color: #3767A4;
}
.int17 {
  display: table-cell;
  vertical-align: middle;
  padding-left: 20px;
}
.int18 {
  font-size: 23px;
  font-weight: bold;
  color: #E3007F;
}
.int19 {
  font-size: 1.43em;
  margin-bottom: 7px;
}
.int20 {}
.int21 {
  margin-bottom: 10px;
  width: 100%;
  display: table;
}
.int21 dt {
  width: 65px;
  display: table-cell;
  vertical-align: top;
}
.int14.type02 .int21 dt {}
.int21 dt span {
  display: inline-block;
  font-weight: bold;
  font-size: 0.73em;
  color: #FFF;
  background-color: #E3007F;
  padding-top: 3px;
  padding-right: 7px;
  padding-bottom: 2px;
  padding-left: 7px;
}
.int14.type02 .int21 dt span {
  background-color: #009FE8;
}
.int21 dd {
  display: table-cell;
  vertical-align: top;
  font-size: 1.22em;
  padding-left: 20px;
}
.int22 {
  font-size: 1.00em;
  line-height: 160% !important;
}
.int23 {
  font-size: 1.22em;
  text-align: center;
  margin-bottom: 25px;
}
.int24 {
  text-align: right;
}
.maps {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding-top: 90%;
}
.maps.type02 {
  padding-top: 56.25%;
}
.maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
.main01 {
  text-align: center;
  padding-top: 35px;
  padding-bottom: 35px;
  margin-bottom: 30px;
}
.main02 {
  font-size: 1.47em;
  font-weight: bold;
  color: #FFF;
}
.main02 img {
	width: 100%;
	max-width: 1400px;
}
.topicpath01 {
  margin-bottom: 30px;
  font-size: 0.87em;
}
.topicpath01 .fa-home {
  font-size: 1.00em;
  color: #3767A4;
}
.topicpath01 .fa-chevron-right {
  font-size: 0.63em;
  color: #3767A4;
  position: relative;
  top: -1px;
  margin-left: 10px;
  margin-right: 10px;
}
.detail01 {
  font-size: 1.12em;
  margin-bottom: 60px;
}
.detail02 {
  text-align: center;
  margin-bottom: 30px;
}
.detail03 {
  margin-bottom: 40px;
}
.detail03-border {
  padding-bottom: 40px;
  border-bottom: solid 1px #3767A4;
}
.detail04 {
  margin-bottom: 60px;
}
.detail04 table {
  width: 100%;
}
.detail04 table th {
  width: 160px;
  background-color: #F1F5FD;
  padding-top: 30px;
  padding-right: 5px;
  padding-bottom: 30px;
  padding-left: 20px;
  border-top: 1px solid #3767A4;
  border-bottom: 1px solid #3767A4;
  font-weight: bold;
  color: #3767A4;
}
.detail04 table td {
  background-color: #F1F5FD;
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  border-top: 1px solid #3767A4;
  border-bottom: 1px solid #3767A4;
}
.detail04 table tr:nth-child(even) th {
  background-color: #FFF;
}
.detail04 table tr:nth-child(even) td {
  background-color: #FFF;
}
.detail04 table a {
  color: #3767A4;
}
.detail04 ul.flow_list {
  list-style: none !important;
  padding: 0;
  margin: 0;
}
.detail04 ul.flow_list li {
  background-color: #B0F1E3;
  border-radius: 10px;
  margin-bottom: 35px;
  padding: 4px 10px;
  position: relative;
}
.detail04 ul.flow_list li::after {
  bottom: -34px;
  color: #17BBB3;
  content: "▼";
  font-size: 24px !important;
  left: 48%;
  position: absolute;
}
.detail04 ul.flow_list li.last::after { /*最後の▼を外す*/
  content: "";
}
.detail04 ul.flow_list li h3::first-letter { /*1文字めを大きく*/
  font-size: 1.5rem;
  font-style: italic;
  letter-spacing: 0.15em;
}
.detail05 {
  font-size: 1.93em;
  font-weight: normal;
  color: #FFF;
  background-color: #3767A4;
  text-align: center;
  margin-bottom: 25px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.detail06 {
  margin-bottom: 20px;
}
.detail06 li {
  float: left;
  width: 315px;
  margin-left: 7.5px;
  margin-bottom: 7.5px;
  font-weight: bold;
  text-align: center;
  padding-top: 10px;
  padding-right: 5px;
  padding-bottom: 10px;
  padding-left: 5px;
  background-color: #F1F5FD;
}
.detail06 li:nth-child(3n+1) {
  margin-left: 0;
  clear: both;
}
.detail07 {
  text-align: right;
  margin-bottom: 50px;
}
.detail08 {
  font-size: 1.47em;
  font-weight: bold;
  color: #3767A4;
  margin-bottom: 5px;
}
.detail09 {
  margin-bottom: 10px;
}
.detail10 {
  margin-bottom: 30px;
}
.detail10.type02 {
  margin-bottom: 0;
}
.detail10 li {
  text-indent: -1em;
  margin-left: 1em;
}
.detail11 {
  margin-bottom: 40px;
}
.detail12 {
  background-color: #F1F5FD;
  margin-bottom: 60px;
  padding-top: 30px;
  padding-right: 35px;
  padding-bottom: 30px;
  padding-left: 35px;
}
.detail14 {
  font-size: 1.47em;
  font-weight: bold;
  color: #3767A4;
  margin-bottom: 20px;
}
.detail15 {
  background-color: #FCEED2;
  margin-bottom: 60px;
  padding-top: 30px;
  padding-right: 35px;
  padding-bottom: 30px;
  padding-left: 35px;
}
.detail16 {
  font-size: 1.47em;
  font-weight: bold;
  color: #e1374a;
  margin-bottom: 5px;
}
.detail17 {
  margin-bottom: 60px;
}
.detail17 table {
  width: 100%;
}
.detail17 table th {
  width: 130px;
  background-color: #FDF7FA;
  padding-top: 30px;
  padding-right: 5px;
  padding-bottom: 30px;
  padding-left: 20px;
  border-top: 1px solid #D985A2;
  border-bottom: 1px solid #D985A2;
  font-weight: bold;
  color: #e1374a;
}
.detail17 table td {
  background-color: #FDF7FA;
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  border-top: 1px solid #D985A2;
  border-bottom: 1px solid #D985A2;
}
.detail17 table tr:nth-child(even) th {
  background-color: #FFF;
}
.detail17 table tr:nth-child(even) td {
  background-color: #FFF;
}
.kigyomain01 {
  text-align: center;
}
.kigyomain02 {
  text-align: center;
}
.kigyomain02 img {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}
.typekigyo .abt02 {
  color: #13AE67;
}
.typekigyo .mrt01 {
  background-image: url(../img/common/bg_02.png);
}
.toptitle01.type03 {
  background-image: url(../img/common/icon_04.png);
}
.toptitle01.type03 .toptitle02 {
  color: #13AE67;
}
.toptitle01.type03 .toptitle03 {
  background-image: url(../img/common/bg_title_03.png);
}
.toptitle01.type03 .toptitle05 {
  background-image: url(../img/common/bg_title_03.png);
}
.kgy01 {
  padding-top: 65px;
  padding-bottom: 65px;
}
.kgy02 {}
.kgy03 {
  width: 570px;
  float: left;
  padding-left: 20px;
}
.kgy04 {
  width: 350px;
  float: right;
}
.kgy05 {}
.kgy05 dt {
  color: #13AE67;
  font-size: 1.37em;
  margin-bottom: 3px;
  font-weight: bold;
}
.kgy05 dd {
  font-size: 1.37em;
  margin-bottom: 3px;
}
.kgy06 li {
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 5px;
}
.typekigyo .flow01 {
  background: rgb(19, 174, 103);
  background: linear-gradient(180deg, rgba(19, 174, 103, 1) 0%, rgba(19, 174, 103, 1) 36%, rgba(113, 178, 48, 1) 100%);
}
.typekigyo .flow03 {
  color: #01756c;
  font-size: 1.3em;
}
.typekigyo .flow08 {
  width: 100% !important;
  margin: auto;
}
.kbtm01 .flow08 {
  width: 30% !important;
}
.typekigyo .flow08 a {
  background-color: #01756c;
  border-radius: 50px;
}
.typekigyo .flow09 {
  color: #007F6E;
}
.typekigyo .flow09 a {
  color: #007F6E;
}
.kbtm01 {
  padding-top: 60px;
  padding-bottom: 60px;
}
.kbtm01 h4 {
  font-weight: bold;
  margin-bottom: 16px;
}
.kbtm01 ul {
  margin-bottom: 40px;
  margin-left: 1em;
}
.kbtm01 li {
  margin: 12px auto;
  text-indent: -1em;
}
.recruiting-table table th {
  width: 150px;
}
.target-person-container {
  display: flex;
  margin-bottom: 50px;
}
.target-person-item {
  margin-bottom: 0px;
}
.target-person-image {
  width: 260px;
  height: auto;
  margin-left: 20px;
}
.btn-margin {
  margin-left: 45px;
  margin-right: 45px;
  margin-bottom: 50px
}
.soudan-table {
  margin-bottom: 30px;
}
.soudan-table a {
  color: #3767A4;
}
.soudan-table ul.flow_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.soudan-table ul.flow_list li {
  background-color: #B0F1E3;
  border-radius: 10px;
  margin-bottom: 35px;
  padding: 4px 10px;
  position: relative;
}
.soudan-table ul.flow_list li::after {
  bottom: -34px;
  color: #17BBB3;
  content: "▼";
  font-size: 24px !important;
  left: 48%;
  position: absolute;
}
.soudan-table ul.flow_list li.last::after { /*最後の▼を外す*/
  content: "";
}
.soudan-table ul.flow_list li h3::first-letter { /*1文字めを大きく*/
  font-size: 1.5rem;
  font-style: italic;
  letter-spacing: 0.15em;
}
/* 20201001 IDH */
.company {
  list-style-type: disc;
  margin: 12px 0;
}
.company li {
  font-size: 1.0em;
  margin-left: 24px !important;
  font-weight: bold;
}
/*20201027 IDH */
.soudan-end {
  opacity: 0.5;
}
.soudan-end .int14 {
  padding: 20px;
}
.soudan-end-btn a {
  background-color: #037434;
}
.goudou-end-btn a {
  background-color: #457BB4;
}
/*20201118 IDH */
.sanka h2 {
  background-color: #457BB4;
  padding: 12px;
  color: #fff;
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 16px;
}
.sanka h3 {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 9px;
}
.sanka h3 span {
  font-size: 0.7em;
  font-weight: normal;
  color: #000000;
  margin-left: 16px;
}
.sanka .comapny_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 16px;
  position: relative;
  justify-content: space-between;
}
.sanka .comapny_list div {}
.sanka .comapny_list .lowline {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sanka .comapny_list2 {
  margin: 6px;
}
/*--
.sanka a {
	display: block;
	padding: 12px;
}
.sanka a:hover {
	background-color: #A4EBF7;
}
--*/
.sanka .comapny_list a {
  color: #1260D2;
  text-decoration: underline;
}
.sanka .comapny_list2 a {
  color: #1260D2;
  text-decoration: underline;
}
.sanka .comapny_list div {
  margin: 6px;
  width: 48.5%;
  text-align: center;
  padding: 12px;
}
.sanka .comapny_list2 div {
  margin: 0px;
  width: 99.5%;
  text-align: center;
  padding: 12px;
}
.sanka .medical-care .comapny_list div {
  background-color: #c7e8fa;
}
.sanka .medical-care h3 {
  color: #0569B3;
}
.sanka .sales .comapny_list div {
  background-color: #fce3cd;
}
.sanka .sales h3 {
  color: #ED801F;
}
.sanka .service .comapny_list div {
  background-color: #fadce9;
}
.sanka .service h3 {
  color: #BD5FB0;
}
.sanka .it .comapny_list div {
  background-color: #c9e6d7;
}
.sanka .it h3 {
  color: #338F33;
}
.sanka .real-estate .comapny_list div {
  background-color: #e8d2c7;
}
.sanka .real-estate h3 {
  color: #953537;
}
.sanka .manufacturing .comapny_list div {
  background-color: #c7c8e5;
}
.sanka .manufacturing h3 {
  color: #6955AF;
}
.sanka .construction .comapny_list div {
  background-color: #fff3c3;
}
.sanka .construction h3 {
  color: #908D47;
}
.sanka .life .comapny_list div {
  background-color: #D7C7DD;
}
.sanka .life .comapny_list2 div {
  background-color: #D7C7DD;
}
.sanka .life h3 {
  color: #8337A0;
}
.sanka .retail .comapny_list div {
  background-color: #D5F3BC;
}
.sanka .retail h3 {
  color: #82BC1B;
}
.sanka .other .comapny_list div {
  background-color: #F1F2C3;
}
.sanka .other h3 {
  color: #BFC338;
}
.sanka .cancel .comapny_list div {
  background-color: #eee;
  padding: 12px;
}
.sanka .cancel h3 {
  color: #424242;
}
.buttons {
  display: flex;
  justify-content: center;
}
.buttons .button {
  margin: 8px;
  border: 1px solid #115FAE;
  padding: 4px;
  font-size: 0.6em;
  text-align: center;
  width: 8em;
  color: #115FAE;
  transition: all 300ms ease;
}
.buttons .button:hover {
  cursor: pointer;
  background-color: #115FAE;
  color: #fff;
  transition: all 300ms ease;
}
/*  20201127追加    */
.entry_area {
  display: flex;
  align-items: center;
  justify-content: center;
}
.entry_soudan {
  width: 100%;
  margin-bottom: 30px;
}
.entry_job {
  width: 100%;
  margin-bottom: 0px;
}
.entry_area h5 {
  font-size: 1.8em;
  margin: 12px;
  color: #A90046;
  font-weight: bold;
}
.minittl {
  background-color: #037434 !important;
}
.flow08 .ttype01 {
  font-size: 0.8em;
}
/*  20201208追加     */
.add1 {
  font-size: 0.8em;
}
.light-txt {
  font-weight: normal !important;
}
/*   20210106追加    */
.osirase {
  border: 1px solid #D00003;
  padding: 20px;
  margin-bottom: 30px;
}
.osirase h4 {
  color: #D00003;
  margin-bottom: 10px;
}
.osirase p {
  margin-bottom: 0px;
}
/*   20210127追加    */
.detailonline {
  margin-bottom: 60px;
}
.detailonline table {
  width: 100%;
}
.detailonline table th {
  width: 130px;
  background-color: #EBFFFB;
  padding-top: 30px;
  padding-right: 5px;
  padding-bottom: 30px;
  padding-left: 20px;
  border-top: 1px solid #00a99d;
  border-bottom: 1px solid #00a99d;
  font-weight: bold;
  color: #00a99d;
}
.detailonline table td {
  background-color: #EBFFFB;
  padding-top: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 30px;
  border-top: 1px solid #00a99d;
  border-bottom: 1px solid #00a99d;
}
.detailonline table tr:nth-child(even) th {
  background-color: #FFF;
}
.detailonline table tr:nth-child(even) td {
  background-color: #FFF;
}
.intonline2 {
  border: 4px solid #00B4A2;
  margin-bottom: 20px;
}
.intonline2.type02 {
  border: 4px solid #00B4A2;
  padding: 20px;
}
.intonline2 a {
  position: relative;
  padding: 20px;
  display: block;
}
.intonline2 a {}
.intonline2 a:after {
  display: block;
  position: absolute;
  top: 50%;
  right: 30px;
  width: 10px;
  height: 10px;
  margin-top: -10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  content: "";
  border-top-width: 3px;
  border-right-width: 3px;
  border-top-style: solid;
  border-right-style: solid;
  border-top-color: #00B4A2;
  border-right-color: #00B4A2;
}
.intonline2 .int16 {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.47em;
  font-weight: bold;
  color: #FFF;
  background-color: #00B4A2;
  text-align: center;
  width: 125px;
}
.intonline2 .int18 {
  color: #00B4A2;
}
.intonline2 .int21 dt span {
  background-color: #00B4A2;
}
/*   20120128追加　　*/
.file_download {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.file_download .flex-item2 {}
.flex-item1 {
  flex-basis: 100% !important; /* flexアイテムの幅を割合で指定 */
}
.flex-item2 {
  flex-basis: 49.9% !important; /* flexアイテムの幅を割合で指定 */
}
/*  20210229追加  */
.detail04 li {
  text-indent: -1em;
}
.detail04 .company li {
  text-indent: 0em !important;
}
/*   20120216追加   */
.sanka .medical-care h3 a {
  display: inline-block;
  background-color: #007EC0;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .sales h3 a {
  display: inline-block;
  background-color: #F39227;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .service h3 a {
  display: inline-block;
  background-color: #CB78BE;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .it h3 a {
  display: inline-block;
  background-color: #3D9D42;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .real-estate h3 a {
  display: inline-block;
  background-color: #A74847;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .manufacturing h3 a {
  display: inline-block;
  background-color: #7D6CBC;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .construction h3 a {
  display: inline-block;
  background-color: #A6A362;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.sanka .life h3 a {
  display: inline-block;
  background-color: #9D59B4;
  color: #fff;
  font-size: 0.6em;
  font-weight: normal;
  padding: 12px 12px 9px 12px;
  vertical-align: text-bottom;
  border-radius: 8px;
  line-height: 0;
  margin-left: 12px;
}
.information {
  font-size: 1.3em;
  width: 1080px;
  background-color: #F84904;
  margin: 0 auto 40px auto;
  text-align: center;
  color: #fff;
  padding: 12px;
}
/*  20210513 IDH追加    */
.intmini {
  border: 4px solid #01756c;
  margin-bottom: 20px;
}
.intmini.type02 {
  border: 4px solid #01756c;
  padding: 20px;
}
.intmini a {
  position: relative;
  padding: 20px;
  display: block;
}
.intmini a {}
/*
.intmini a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 30px;
    width: 10px;
    height: 10px;
    margin-top: -10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    content: "";
    border-top-width: 3px;
    border-right-width: 3px;
    border-top-style: solid;
    border-right-style: solid;
    border-top-color: #01756c;
    border-right-color: #01756c;
}
*/
.intmini .int16 {
  display: table-cell;
  vertical-align: middle;
  font-size: 1.47em;
  font-weight: bold;
  color: #FFF;
  background-color: #01756c;
  text-align: center;
  width: 125px;
}
.intmini .int18 {
  color: #01756c;
}
.intmini .int21 dt span {
  background-color: #01756c;
}
/*  20120514 IDH追加   */
.toptitle01.type04 {
  background-image: url(../img/common/icon_05.png);
}
.toptitle01.type04 .toptitle02 {
  color: #01756c;
  margin: 0 auto;
}
.toptitle01.type04 .toptitle03 {
  background-image: url(../img/common/bg_title_04.png);
}
.toptitle01.type04 .toptitle05 {
  background-image: url(../img/common/bg_title_04.png);
}
.kigyo_event {
  border: 1px solid #296D45;
  width: 100%;
  margin-bottom: 30px;
  border-radius: 8px;
  overflow: hidden;
}
.kigyo_event:last-child {
  margin-bottom: 0px;
}
.kigyo_event h3 {
  background-color: #296D45;
  color: #fff;
  font-weight: normal;
  font-size: 1.4em;
  padding: 15px;
  margin: 0;
}
.kigyo_event .gaiyo {
  margin: 30px;
}
.kigyo_event dl {
  display: flex;
  margin-bottom: 16px;
  font-size: 1.2em;
}
.kigyo_event dt {
  width: 15%;
  font-weight: bold;
}
.kigyo_event h4 {
  background-color: #ffebfb;
  color: #e61673;
  padding: 9px;
  font-weight: normal !important;
  margin: 20px 0 12px 0;
}
.kigyo_seminar {
  border: 1px solid #E61673;
  width: 100%;
  margin-bottom: 30px;
  border-radius: 8px;
  overflow: hidden;
}
.kigyo_seminar:last-child {
  margin-bottom: 0px;
}
.kigyo_seminar h3 {
  background-color: #E61673;
  color: #fff;
  font-weight: normal;
  font-size: 1.4em;
  padding: 15px;
  margin: 0;
}
.kigyo_seminar h5 {
  font-size: 0.9em;
  font-weight: 600;
  margin: 12px 0 0 0;
  color: #012E68;
}
.kigyo_seminar .gaiyo {
  margin: 30px;
}
.kigyo_seminar dl {
  display: flex;
  margin-bottom: 16px;
  font-size: 1.2em;
}
.kigyo_seminar dt {
  width: 12%;
  font-weight: bold;
}
.kigyo_seminar h4 {
  background-color: #ffebfb;
  color: #e61673;
  padding: 9px;
  font-weight: normal !important;
  margin: 20px 0 12px 0;
}
.back-home {
  font-size: 1.2em;
  text-align: center !important;
}
.back-home a {
  color: #3767A4;
}
/*   20210527追加　　*/
.file_jobcard {
  display: flex;
  margin-left: 18px;
  flex-direction: row;
}
.file_jobcard a {
  font-size: 0.8em;
  color: #fff !important;
  padding: 9px;
  margin: 0 6px;
}
.file_jobcard div {
  margin: 5px 0px;
}
/*.flex-item3 {
flex-basis: 30%!important; /flexアイテムの幅を割合で指定 
}*/
.file_jobcard .flex-item3 {
  flex-basis: 33% !important;
}
.exlink {
  margin-top: 0px;
  padding-bottom: 15px;
  background-color: #FFFBF1;
  flex-grow: 1;
}
.exlink h4 {
  font-size: 1.8em;
  padding: 12px;
  font-weight: bold;
  color: #036EB8;
  text-align: center;
}
.exlink h5 {
  color: #036EB8;
  text-align: center;
  font-size: 1.4em;
  margin-bottom: 30px;
}
.exlink h6 {
  color: #fff;
  padding: 12px;
  text-align: center;
  font-weight: bold;
}
.exlink .row {
  margin: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.exlink_ttl {
  display: inline-block;
  background-color: #fff;
  padding: 5px;
  border: 1px solid #000;
  line-height: 1em;
  font-size: 0.8em;
  font-weight: 600;
  margin: 0 20px 6px 20px !important;
}
.exlink_time {
  font-weight: 600;
}
.exlink_phone {
  font-size: 1.2em;
  font-weight: 600;
}
.whats_new {
  padding: 20px;
  margin: 0 auto;
  height: 150px;
  overflow: auto;
  overflow-y: scroll;
  overflow-x: hidden;
  border: solid 1px #ccc;
}
.whats_new dl {
  display: flex;
  font-size: 1.2em;
}
.whats_new dt {
  margin-bottom: 12px;
  padding: 6px;
  border-bottom: solid #ccc 1px;
}
.whats_new dd {
  margin-bottom: 12px;
  padding: 6px;
  border-bottom: solid #ccc 1px;
}
.whats_new dt {
  color: #036eb8;
  font-weight: bold;
  width: 15%;
}
.abt08 .whats_new dt {
  color: #01756c;
  font-weight: bold;
  width: 15%;
}
.whats_new dd {
  width: 85%;
}
.whats_new a :hover {
  opacity: 0.8;
}
.abt07 h3 {
  color: #036eb8;
  font-weight: bold;
  margin-bottom: 12px;
  border-bottom: solid #036eb8 1px;
}
.abt08 h3 {
  color: #01756c;
  font-weight: bold;
  margin-bottom: 12px;
  border-bottom: solid #01756c 1px;
}
.sns {
  display: flex;
  justify-content: center;
}
.sns img {
  width: 36px;
}
.sns a {
  margin: 12px;
}
/*  20210824追加   */
.syousai {
  font-size: 1.22em;
  color: #FFF;
  background-color: #A80046;
  text-align: center;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 12px;
  margin-top: 20px;
}
.intmini .syousai {
  font-size: 1.22em;
  color: #FFF;
  background-color: #02756C;
  text-align: center;
  display: block;
  padding-top: 15px;
  padding-bottom: 15px;
  border-radius: 12px;
  margin-top: 20px;
}
/*  20210909    */
.event_cat {
  display: flex;
  justify-content: space-between;
}
.event_cat div {
  width: 100%;
  margin: 30px 0 0 0;
}
.event_cat .talk h3 {
  color: #fff;
  padding: 8px;
  background-color: #E30080;
  text-align: center;
  font-size: 1.2em;
}
.event_cat .mini h3 {
  color: #fff;
  padding: 8px;
  background-color: #02756C;
  text-align: center;
  font-size: 1.2em;
}
.event_cat p {
  padding: 12px;
}
.int14 h3 {
  background-color: #FEE2F2;
  text-align: center;
  padding: 12px;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 18px;
}
.intonline2 h3 {
  background-color: #FEE2F2;
  text-align: center;
  padding: 12px;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 18px;
}
.intmini h3 {
  background-color: #D0F4F1;
  text-align: center;
  padding: 12px;
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 18px;
}
/* 20211018 IDH追加   */
.detail18 {
  margin: 30px auto;
  width: 100%;
  background-color: #F6F6F6;
  border-radius: 12px;
  overflow: hidden;
}
.detail18 h4 {
  background-color: #009944;
  color: #fff;
  text-align: center;
  font-size: 1.2em;
  padding: 6px;
}
.detail18 h5 {
  font-weight: bold;
  color: #0368B6;
  margin-bottom: 6px;
}
.detail18 .event-container {
  padding: 20px;
}
.photo_gallery {
  margin: 30px 0;
}
.photo_gallery ul {
  display: flex;
  justify-content: space-between;
}
.photo_gallery ul li {
  width: 48%;
}
.ex_link_blc {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
.ex_link_blc_sp {
  display: none;
}
.table-wrap {
  width: 100%;
}
.ex_link_blc a {
  display: flex;
  width: 32%;
  border-radius: 10px;
}
.ex_link_blc p {
  margin: 3px 20px;
}
.ex_link_blc .gr {
  border: 2px solid #296D45;
}
.ex_link_blc .gr h6 {
  background-color: #296D45;
}
.ex_link_blc .or {
  border: 2px solid #FF643C;
}
.ex_link_blc .or h6 {
  background-color: #FF643C;
}
.ex_link_blc .pp {
  border: 2px solid #8039AB;
}
.ex_link_blc .pp h6 {
  background-color: #8039AB;
}
/* 20231208IDH追加  */
.point_list {
  font-weight: normal !important;
  font-size: 0.9em !important;
}
.point_list li {
  font-weight: normal !important;
  text-indent: -0.9em;
  margin: 3px 0;
}
.point_box {
  background: #fff;
  padding: 12px;
  border: 1px #00B4A2 solid;
  border-radius: 9px;
}
/*  20231225IDH追加   */
.company_box {
  background-color: #fff !important;
  padding: 0 !important;
  margin: 0 0 18px 0 !important;
  width: 49% !important;
  box-sizing: border-box;
}
.company_box .pdf_link {
  background-color: #f2f5fc !important;
  text-align: center !important;
  display: block;
  margin: 12px;
  border-radius: 6px;
  padding: 12px;
  border: 1px #B1BCCE solid;
}
.company_box .company_box_name {
  margin: 0 !important;
  text-align: center;
  width: 100% !important;
}
.company_box p {
  margin: 12px;
  text-align: left;
  font-size: 0.9em;
}
.medical-care .company_box {
  background-color: #c7e8fa;
  border: #c7e8fa solid 1px;
}
.sales .company_box {
  background-color: #fce3cd;
  border: #fce3cd solid 1px;
}
.service .company_box {
  background-color: #fadce9;
  border: #fadce9 solid 1px;
}
.it .company_box {
  background-color: #c9e6d7;
  border: #c9e6d7 solid 1px;
}
.real-estate .company_box {
  background-color: #e8d2c7;
  border: #e8d2c7 solid 1px;
}
.manufacturing .company_box {
  background-color: #c7c8e5;
  border: #c7c8e5 solid 1px;
}
.construction .company_box {
  background-color: #fff3c3;
  border: #fff3c3 solid 1px;
}
.life .company_box {
  background-color: #D7C7DD;
  border: #D7C7DD solid 1px;
}
.retail .company_box {
  background-color: #D5F3BC;
  border: #D5F3BC solid 1px;
}
.other .company_box {
  background-color: #F1F2C3;
  border: #F1F2C3 solid 1px;
}
.cancel .company_box {
  background-color: #eee;
  padding: 12px;
  border: #eee solid 1px;
}
/*固定ボタン  */
.floating_btn {
  position: fixed;
  bottom: 0;
  z-index: 10;
  padding: 20px;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
}
.floating_btn a {
  width: 50%;
  margin: 0 auto;
}
.floating_btn a:hover {
  opacity: 100 !important;
  background-color: #C1272E;
}
.kigyo_schedule_tbl {
  display: table;
  width: 100%;
  white-space: wrap;
}
.kigyo_schedule_tbl th {
  background-color: #CCCCCC;
  padding: 6px;
  border: 1px solid #fff;
}
.kigyo_seminar .kigyo_schedule_tbl {
  font-size: 1.1em;
}
.kigyo_seminar .kigyo_schedule_tbl th {
  background-color: #28B1A6;
  color: #fff;
  padding: 6px;
  border: 1px solid #fff;
}
#kyuusyoku .kigyo_schedule_tbl {
  width: 100%;
}
.kigyo_event .kigyo_schedule_tbl {
  margin-bottom: 20px;
}
#kyuusyoku .kigyo_schedule_tbl td {
  border: 1px solid #86CEC8;
}
#kyuusyoku .wrap_normal {
  white-space: normal;
}
#kyuusyoku .kigyo_schedule_tbl th {
  background-color: #28B1A6;
  color: #fff;
  padding: 6px;
  border: 1px solid #86CEC8;
}
#kyuusyoku .kigyo_schedule_tbl tr:nth-child(odd) {
  background-color: #F7FFFE;
}
#kyuusyoku .bk {
  background-color: #E0F9F7;
}
.kigyo_schedule_tbl tr {
  background-color: #F7FFFE;
  width: 100% !important;
}
.kigyo_schedule_tbl tr:nth-child(odd) {
  background-color: #E0F9F7;
}
.kigyo_schedule_tbl td {
  padding: 9px;
}
.kigyo_event .kigyo_schedule_tbl tr {
  background-color: #fff;
  width: 100% !important;
}
.kigyo_event .kigyo_schedule_tbl tr:nth-child(odd) {
  background-color: #F7F7F7;
}
.kigyo_schedule_tbl span {
  background-color: #E71672;
  color: #fff;
  font-weight: 600;
  padding: 3px 8px;
  font-size: 0.8em;
  border-radius: 4px;
}
.kigyo_schedule_tbl .end {
  background-color: #8F8F8F;
  color: #fff;
  font-weight: 600;
  padding: 3px 8px;
  font-size: 0.8em;
  border-radius: 4px;
}
.nbe_box {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.nbe01 a {
  display: block;
  width: 530px;
  background-color: #26ADE4;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 12px;
  font-size: 1.8em;
}
.nbe02 a {
  display: block;
  width: 530px;
  background-color: #02756C;
  color: #fff;
  text-align: center;
  border-radius: 8px;
  padding: 12px;
  font-size: 1.8em;
}
.nbe_box img {
  width: 80px;
  margin-bottom: 6px;
}
.event2024_box {
  border: #26ADE4 3px solid;
  border-radius: 16px;
  overflow: hidden;
  margin: 30px auto 0 auto;
}
.event_title_box {
  padding: 6px;
  font-size: 1.6em;
}
.event_title_box h2 {
  font-weight: bold;
}
.event_header {
  background-color: #F7F7F7;
  display: flex;
  border-bottom: 3px solid #26ADE4;
}
.event_areabox {
  width: 200px;
  height: 100%;
  background-color: #26ADE4;
  color: #fff;
  text-align: center;
  font-size: 2.1em;
}
.event2025_box {
  border: #FF643C 3px solid;
  border-radius: 16px;
  overflow: hidden;
  margin: 30px auto 0 auto;
}
.event2025_box .event_header {
  border-bottom: 3px solid #FF643C;
}
.event2025_box .event_areabox {
  background-color: #FF643C;
}
.event_contents_box {
  margin: 30px;
}
.event_detail_btn {
  margin-top: 30px;
  display: block;
  background-color: #3767A4;
  text-align: center;
  color: #fff;
  padding: 18px;
  border-radius: 100px;
  font-size: 1.4em;
}
.event_company {
  margin-bottom: 20px;
}
.loc_term {
  margin-bottom: 30px;
}
.loc_term dl {
  display: flex;
  margin-bottom: 12px;
  align-items: left;
  flex-direction: column;
}
.loc_term dl dt {
  width: 80px;
  color: #fff;
  background-color: #26ADE4;
  text-align: center;
  padding: 3px;
  border-radius: 6px;
  margin-right: 18px;
  margin-bottom: 6px;
}
.event2025_box .loc_term dl dt {
  background-color: #FF643C;
}
.company_timecate {
  border: 1px solid #F0F0F0;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
}
.company_timecate:first-child {
  margin-bottom: 14px;
}
.event_am {
  background-color: #B9D9BF;
  padding: 6px 12px;
  font-weight: bold;
}
.event_pm {
  background-color: #C2C4E4;
  padding: 6px 12px;
  font-weight: bold;
}
.company_timecate dl {
  margin: 25px;
  border-bottom: 1px solid #F0F0F0;
}
.company_timecate span {
  font-weight: normal;
  color: #012E68;
}
.company_timecate dt {
  border-bottom: 2px solid #4851D8;
  padding-bottom: 3px;
}
.company_timecate dl {
  margin: 14px;
}
.company_timecate dt a {
  text-decoration: none;
  color: #012E68;
}
.company_timecate dl dt {
  font-weight: bold;
  margin-bottom: 6px;
}
.company_timecate dd {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.event_seminar_contents {
  margin: 20px;
}
.event_seminar_contents h4 {
  font-size: 1.1em;
  font-weight: bold;
}
.event_seminar_contents h5 {
  font-size: 1.0em;
  font-weight: 600;
  margin: 6px 0;
  color: #012E68;
}
.event_Annotation {
  margin: 20px
}
.event_timeline {
  text-align: center !important;
}
.event_timeline img {
  width: 100%;
  max-width: 800px;
}
.event_speaker {
  border: 1px solid #F2F2F2;
  margin: 20px;
  border-radius: 8px;
  overflow: hidden;
}
.kigyo_seminar .event_speaker {
  border: 1px solid #E71672;
  margin: 20px 0;
}
.event_speaker h4 {
  padding: 6px;
  font-weight: 600;
  background-color: #F2F2F2;
  margin-top: 0 !important;
  color: #000000;
}
.kigyo_seminar .event_speaker h4 {
  background-color: #E71672;
  color: #fff;
}
.event_speaker p {
  margin: 10px;
}
.flow24_pc {
  padding-bottom: 30px !important;
}
.gaiyopdf_btn {
  background-color: #4A51D0;
  color: #fff;
  text-align: center;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 50px;
  margin: 14px 0;
}
.seminar_profile {
  display: flex;
  align-items: flex-start;
}
.seminar_profile img {
  max-width: 100px;
  margin: 12px;
}
.event_onegai {
  margin: 20px 0;
  background-color: #FFF1C8;
  border-radius: 8px;
  padding: 18px;
}
.event_onegai h3 {
  font-size: 1.0em;
  margin-bottom: 8px;
  font-weight: 600;
  color: #C1272E;
}
.event_onegai li {
  margin-left: 1em;
  text-indent: -1em;
}
.event_syokusyu {
  margin: 18px 0;
  display: flex;
  align-items: center;
}
.event_bosyu_ttl {
  margin-right: 20px;
  background-color: #E0E1F0;
  padding: 12px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  min-width: 100px;
  display: flex;
  justify-content: center;
}
.event_syokusyu ul {
  padding-left: 1em;
  list-style: disc !important;
}
.event_syokusyu li {
  text-indent: -1em;
  padding-left: 0.5em;
}
.hallo_link {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.hallo_link a {
  display: block;
  width: auto;
  border-radius: 4px;
  padding: 6px 12px;
  /*text-indent: -5em;*/
  background-color: #012E68;
  color: #fff;
  text-align: left;
}
.hallo_link ul {
  margin: 0px -1.5em;
}
.hallo_link li {
  list-style: none;
  text-indent: 0;
  margin: 6px 0 0 0;
}
.seminar_navi {
  display: flex;
  justify-content: center;
	flex-wrap: wrap;
  gap: 12px;
  margin: 20px auto;
}
.seminar_navi a {
  color: #fff;
  background-color: #296D45;
  padding: 12px 18px;
  border-radius: 100px;
  font-size: 1.2em;
}
.seminar_navi li {
	margin: 6px 0;
}
.seminar_navi span {
  font-weight: bold;
}
/*  20240826追加   */
.seminar_mensetu_box {
  border: 1px solid #006F41;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
}
.seminar_mensetu_box_data {
  margin: 20px;
}
.seminar_mensetu_box_data dl {
  font-size: 1.0em;
}
.seminar_discription {
  margin: 20px;
  padding: 20px;
  border: 1px solid #D7D7D7;
  border-radius: 12px;
  color: #012E68;
  font-weight: bold;
}
.handbook {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.handbook_txt {
  max-width: 640px;
}
.company_column {
  width: 100%;
}
.company_table {
  width: calc(100% - 40px);
  margin: 20px;
  table-layout: auto;
}
.company_table .number {
  width: 5%;
}
.company_table td, .company_table tr {
  border: 1px solid #ccc;
  padding: 12px;
}
.company_table th {
  border: 1px solid #ccc;
  padding: 6px;
  background-color: #E1E2F1;
}
.sub_menu_area {
  background-color: #DCE6F6;
}
.sub_menu_select {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.sub_menu_area a {
  display: block;
  text-align: center;
  padding: 12px;
  width: 50%;
  margin: 12px 6px;
  border-radius: 100px;
}
.sub_menu_area .kigyo_blue_off {
  background-color: #fff;
  color: #0066b1;
  border: 2px solid #DCE6F6;
}
.sub_menu_area .kigyo_green_off {
  background-color: #fff;
  color: #01756c;
  border: 1px solid #DCE6F6;
}
.sub_menu_area .kigyo_blue {
  background-color: #0066b1;
  color: #fff;
  border: 1px solid #0066b1;
}
.sub_menu_area .kigyo_green {
  background-color: #01756c;
  color: #fff;
  border: 1px solid #01756c;
}
.sub_menu_area a:hover {
  opacity: 0.8;
}
.seminar_hukugyo_box {
  background-color: #fff;
  overflow: hidden;
  border-radius: 8px;
}
.seminar_hukugyo_box:nth-last-child(n) {}
.seminar_hukugyo_box h2 {
  background-color: #036eb8;
  padding: 12px;
  font-weight: bold;
  color: #fff;
  font-size: 1.4em;
}
.seminar_hukugyo_box h3 {
  font-weight: bold;
  color: #036eb8;
  margin-bottom: 12px;
}
.seminar_hukugyo_box h2 span {
  font-size: 0.7em;
  font-weight: normal !important;
  margin-left: 1em;
}
.seminar_hukugyo_taiken_box {
  background-color: #fff;
  overflow: hidden;
  border-radius: 8px;
}
.seminar_hukugyo_taiken_box h2 {
  background-color: #02756C;
  padding: 12px;
  font-weight: bold;
  color: #fff;
  font-size: 1.4em;
}
.seminar_hukugyo_taiken_box h3 {
  font-weight: bold;
  color: #02756C;
  margin-bottom: 12px;
  font-size: 1.2em;
}
.seminar_hukugyo_taiken_box h2 span {
  font-size: 0.7em;
  font-weight: normal !important;
  margin-left: 1em;
}
.seminar_hukugyo_profile {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #ccc;
  padding: 12px;
  margin: 12px 0;
  border-radius: 8px;
  background-color: #F9F8F8;
}
.seminar_hukugyo_profile img {
  width: 100%;
  max-width: 120px;
  margin: 12px;
}
.seminar_hukugyo_column {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.0em;
  gap: 40px;
}
.seminar_hukugyo_column li {
  list-style: disc !important;
  margin-left: 0.9em;
  margin: 6px 0 6px 1rem;
}
.seminar_hukugyo_column div p {
  max-width: 640px;
}
.seminar_hukugyo_column img {
  width: 100%;
  max-width: 340px;
}
.hukugyo_btn {
  display: inline-block;
  padding: 3px 6px;
  font-size: 0.8em;
  color: #0082C4;
  font-weight: bold;
  border-left: 1.5px solid #0082C4;
  border-right: 1.5px solid #0082C4;
  border-bottom: 1.5px solid #0082C4;
  border-radius: 0 0 9px 9px;
  margin-bottom: 6px;
}
.taiken_detail {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 30px;
}
.taiken_detail div {
  border: 1px solid #04756C;
  border-radius: 12px;
  overflow: hidden;
  width: 32%;
}
.taiken_detail h3 {
  background-color: #04756C;
  color: #fff;
  padding: 6px;
  height: 80px !important;
  display: flex;
  align-items: center;
  padding-left: 2em;
  text-indent: -1.3em;
}
.taiken_detail ul {
  padding: 9px 18px;
}
.taiken_detail li {
  margin-bottom: 6px;
}
.taiken_list {
  list-style: disc !important;
  margin-left: 1em;
}
.hukugyo_anken {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.hukugyo_anken_box {
  max-width: 525px;
  border: 1px solid #E2E2E2;
  border-radius: 14px;
  box-shadow: 1px 1px 2px #ccc;
  position: relative;
}
.anken_contents {
  margin: 20px;
}
.anken_contents h5 {
  font-weight: 600;
  font-size: 1.13em;
  margin: 12px 0;
}
.anken_company {
  font-weight: 500;
}
.anken_kikan {
  margin-bottom: 6px;
}
.anken_kikan li {
  display: inline-block;
  color: #fff;
  font-size: 0.8em;
  padding: 3px 12px 0px 12px;
  background-color: #00776C;
  margin-bottom: 6px;
  border-radius: 20px;
}
.anken_lv {
  width: 100px;
  z-index: 100;
  position: absolute;
  right: 6px;
  top: 3px;
}
.anken_img {
  width: 100%;
  margin-bottom: 20px;
}
.anken_gaiyo {
  font-weight: normal;
}
.voice_user {
  padding: 40px;
}
.voice_user dt {
  display: flex;
  column-gap: 10px;
  align-items: center;
  margin-bottom: 40px;
}
.voice_user dt img {
  width: 100%;
  max-width: 100px;
}
.voice_ttl h2 {
  font-weight: 600;
}
.voice_name {
  font-size: 0.8em;
  margin: 0.5em 0 0 0.5em;
}
.voice_work {
  border: 2px solid #01756c;
  border-radius: 12px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.voice_work img {
  width: 100%;
  max-width: 300px;
}
.voice_work h5 {
  font-weight: bold;
  color: #296D45;
  font-size: 1.1em;
}
.voice_work p {
  margin: 6px 0;
}
.voice_icon {
  background-color: #01756c;
  color: #fff;
  font-weight: bold;
  font-size: 0.8em;
  padding: 3px 8px 2px 8px;
  display: inline-block;
  margin-bottom: 12px;
}
.voice_article {
  margin: 40px 0;
}
.voice_article h6 {
  color: #296D45;
  font-weight: 500;
  font-size: 1.1em;
  border-bottom: 2px #01756c solid;
  margin-bottom: 0.7em;
}
.voice_article p {
  margin-bottom: 0.5em;
}
.voice_article:last-child {
  margin-bottom: 0;
}
.voice_person {
  border: 2px solid #01756c;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 40px !important;
}
.voice_person h5 {
  background-color: #01756c;
  padding: 0.2em 0.8em;
  color: #fff;
  font-weight: 500;
}
.voice_person_flex {
  display: flex;
  align-items: flex-start;
  column-gap: 20px;
  padding: 20px;
}
.voice_person_flex img {
  width: 100%;
  max-width: 200px;
}
.voice_menu {
  margin: 40px auto 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 12px;
}
.voice_menu a {
  background-color: #01756c;
  color: #fff;
  padding: 12px;
  display: inline-block;
  width: 530px;
  font-size: 0.9em;
  border-radius: 50px;
  text-align: center;
}
.voice_cap {
  text-align: center;
  font-size: 0.6em;
}
.voice_mainimage {
  min-width: 300px;
}
.voice_bktop {
  text-align: center;
}
.voice_bktop a {
  display: inline-block;
  border: 2px solid #01756c;
  border-radius: 50px;
  padding: 6px 24px;
  color: #01756c;
}
.voice_company, .voice_tantou {
  font-size: 0.9em;
  font-weight: 600;
}
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
:root {
  --nav-bg: #ffffff;
  --nav-border: #e0e0e0;
  --text-primary: #333;
  --text-secondary: #666;
  --accent-original: #036eb8;
  --accent-job: #3767a4;
  --accent-fukugyo: #E8760A;
  --accent-digital: #00a99d;
  --hover-bg: #f5f7fa;
  --header-height: 87px;
  --tr: .25s ease;
}
/* ========== Header ========== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: var(--nav-bg);
  border-bottom: 1px solid var(--nav-border);
}
.header-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-height);
  padding: 0 16px;
}
.site-logo-text {
  font-size: 15px;
  font-weight: 700;
  color: var(--accent-job);
  letter-spacing: .02em;
  white-space: nowrap;
}
/* ========== PC top-bar links ========== */
.pc-nav {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 0;
}
.nav-top-link {
  display: flex;
  align-items: center;
  height: 100% !important;
  padding: 30px 14px;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: color var(--tr), border-color var(--tr);
}
.nav-top-link:hover {
  color: var(--accent-job);
  border-bottom-color: var(--accent-job);
}
/* Mega trigger */
.mega-trigger {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  padding: 30px 14px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  border-bottom: 3px solid transparent;
  transition: color var(--tr), border-color var(--tr);
  white-space: nowrap;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  color: var(--text-primary);
  font-family: inherit;
}
.mega-trigger .arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  transition: transform var(--tr);
}
.mega-trigger:hover, .mega-trigger[aria-expanded="true"] {
  color: var(--accent-job);
  border-bottom-color: var(--accent-job);
}
.mega-trigger[aria-expanded="true"] .arrow {
  transform: rotate(180deg);
}
/* ========== Mega Menu Panel ========== */
.mega-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .18);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility .2s;
}
.mega-overlay.is-visible {
  opacity: 1;
  visibility: visible;
}
.mega-panel {
  position: absolute;
  top: var(--header-height);
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid var(--nav-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .10);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .22s, visibility .22s, transform .22s;
}
.mega-panel.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mega-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  padding: 0;
}
/* Column */
.mega-col {
  padding: 24px 20px 20px;
  border-right: 1px solid #eee;
}
.mega-col:last-child {
  border-right: none;
}
.mega-col-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--nav-border);
  font-size: 16px;
  font-weight: 700;
}
.mega-col-head .col-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.mega-col[data-cat="job"] .mega-col-head {
  border-bottom-color: var(--accent-job);
}
.mega-col[data-cat="job"] .col-dot {
  background: var(--accent-job);
}
.mega-col[data-cat="fukugyo"] .mega-col-head {
  border-bottom-color: var(--accent-fukugyo);
}
.mega-col[data-cat="fukugyo"] .col-dot {
  background: var(--accent-fukugyo);
}
.mega-col[data-cat="digital"] .mega-col-head {
  border-bottom-color: var(--accent-digital);
}
.mega-col[data-cat="digital"] .col-dot {
  background: var(--accent-digital);
}
.mega-col .mega-link {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 10px;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.5;
  transition: background var(--tr);
}
.mega-col .mega-link:hover {
  background: var(--hover-bg);
}
.mega-col .nolink:hover {
  background: none !important;
  opacity: 100 !important;
}
.mega-link .dd-badge {
  font-size: 10px;
  font-weight: 700;
  padding: 2px 7px 0px 7px;
  border-radius: 3px;
  color: #fff;
  flex-shrink: 0;
  margin-top: 2px;
  width: 6em;
  text-align: center;
}
.dd-badge.badge-seeker {
  background: #69aa00;
}
.dd-badge.badge-corp {
  background: var(--accent-job);
}
.dd-badge.badge-facility {
  background: #7b61a1;
}
.dd-badge.badge-women {
  background: #c84678;
}
.dd-badge.badge-senior {
  background: #6a6aff;
}
.dd-badge.badge-new {
  background: var(--accent-digital);
  border-radius: 4px;
  text-box: trim-both cap alphabetic;
  padding: 4px !important;
}
/* ========== Hamburger ========== */
.hamburger {
  display: none;
  width: 36px;
  height: 36px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
}
.hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--text-primary);
  border-radius: 2px;
  transition: transform var(--tr), opacity var(--tr);
}
.hamburger.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.hamburger.is-active span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}
/*   デジタルスキル    */
.typedigital_woman .main01 {
  padding: 0;
  background-image: linear-gradient(90deg, #fff9df, #dffcff) !important;
}
.typedigital_woman .main01 img {
  width: 100%;
  padding: 40px 0 80px 0;
  max-width: 1000px;
}
.typedigital_woman .top_card {
  z-index: 1000;
  margin-top: -120px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.typedigital_woman .top_card img {
  max-width: 340px;
  width: 100%;
}
.typedigital_woman .event_info {
  border: 1px solid #da65a2;
  border-radius: 8px;
  background-color: #fffadd;
  overflow: hidden;
}
.typedigital_woman .event_info h2 {
  font-size: 1.4em;
  font-weight: 500;
  padding: 12px;
  background-color: #fff1f1;
  border-bottom: 3px solid #da65a2;
}
.typedigital_woman .event_info h2::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("../img/digital_woman/icon_info.svg") no-repeat center / contain;
  margin-right: 8px;
  vertical-align: -3px;
}
.typedigital_woman .grid-container {
  display: grid;
  grid-template-columns: repeat(2, auto);
  margin-bottom: 0px;
  width: 100%;
}
.typedigital_woman .int11 {
  margin: 30px auto;
}
.typedigital_woman .subgrid-container {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 5fr;
}
.typedigital_woman .subgrid-container > * {
  outline: solid 1px #da48a2;
}
.typedigital_woman .grid-item {
  background: #fff;
  padding: 1em;
}
.typedigital_woman .grid-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.typedigital_woman .event_info_contents {
  padding: 24px 24px 0 24px;
}
.typedigital_woman .event_info_contents h3 {
  border-left: 6px solid var(--flow-color-primary);
  padding: 6px;
  font-size: 1.4em;
  margin-bottom: 12px;
  font-weight: 600;
}
.typedigital_woman .event_data {
  font-size: 1.4em;
  font-weight: 500;
}
.typedigital_woman .event_info span {
  font-weight: 600;
}
.typedigital_woman .int11 a {
  background-color: #da48a2;
}
.typedigital_woman .cmnbox01 {
  padding: 10px 0;
}
.typedigital_woman .large_img {
  width: 100%;
  max-width: 870px;
  margin: 30px auto;
}
.typedigital_woman #about {
  margin-top: 0px;
}
.typedigital_woman .btn_platina {
  margin-bottom: 0px;
}
.typedigital_woman .btn_platina a {
  display: flex;
  max-width: 450px;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 0.9em;
  background-color: #fffa77;
  padding: 12px;
  border: 1px solid #000;
  border-radius: 100px;
}
.typedigital_woman #course {
  background-image: linear-gradient(90deg, #fff9df, #dffcff);
  padding-bottom: 40px;
}
.typedigital_woman .abt10 {
  font-size: 2.4em;
  font-weight: 600;
  text-align: center;
  color: #036eb8;
  margin: 20px auto;
}
.typedigital_woman .course_box {
  padding: 0px 25px 0 25px;
}
.typedigital_woman .course_box h4 span {
  font-weight: 400 !important;
}
.typedigital_woman .course_data {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.typedigital_woman .course_subtitle {
  font-weight: 600;
}
.typedigital_woman .digital_course01 {
  background-color: #fff;
  border: 1px solid #da48a2;
  border-radius: 8px;
  overflow: hidden;
  margin: 40px auto;
}
.typedigital_woman .digital_course01 h2 {
  background-color: #da48a2;
  color: #fff;
  font-weight: 600;
  font-size: 1.4em;
  padding: 16px;
}
.typedigital_woman .digital_course01 h2 span {
  background-color: #fff;
  color: #da48a2;
  font-size: 0.7em;
  font-weight: 400;
  padding: 4px 6px;
  border-radius: 4px;
  margin-right: 12px;
}
.typedigital_woman .digital_course01 .course_data_grid {
  border: 1px solid #da48a2;
  border-radius: 8px;
  padding: 12px;
  background-color: #fff8fb;
}
.typedigital_woman .digital_course01 h4 {
  background-color: #ffe9ec;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  margin-bottom: 20px;
}
.typedigital_woman .digital_course01 .elearning_course span {
  display: block;
  width: 5em;
  font-size: 1.1em;
  background-color: #da48a2;
  padding: 4px 2px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  text-align: center;
}
.typedigital_woman .digital_course01 .elearning_course h5 {
  font-weight: 600;
  font-size: 1.2em;
  color: #da48a2;
  margin: 6px 0;
}
.typedigital_woman .digital_course02 {
  background-color: #fff;
  border: 1px solid #00a99d;
  border-radius: 8px;
  overflow: hidden;
  margin: 20px auto;
}
.typedigital_woman .digital_course02 h2 {
  background-color: #00a99d;
  color: #fff;
  font-weight: 600;
  font-size: 1.4em;
  padding: 16px;
}
.typedigital_woman .digital_course02 h2 span {
  color: #fff;
  font-size: 0.7em;
  font-weight: 400;
  margin-right: 6px;
}
.typedigital_woman .digital_course02 .course_data_grid {
  border: 1px solid #00a99d;
  border-radius: 8px;
  padding: 12px;
}
.typedigital_woman .digital_course02 h4 {
  background-color: #e8f2de;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  margin-bottom: 20px;
}
.typedigital_woman .digital_course02 .elearning_course span {
  display: block;
  width: 5em;
  font-size: 1.1em;
  background-color: #00a99d;
  padding: 4px 2px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  text-align: center;
}
.typedigital_woman .digital_course02 .elearning_course h5 {
  font-weight: 600;
  font-size: 1.2em;
  color: #00a99d;
  margin: 6px 0;
}
.typedigital_woman .soon {
  border-radius: 8px;
  border: 2px solid #ccc;
  padding: 12px;
  text-align: center;
  color: #717171;
  background-color: #F7F7F7;
  margin: 25px;
}
/*  プラチナ世代   */
.typedigital_platina .main01 {
  padding: 0;
}
.typedigital_platina .top_card {
  z-index: 1000;
  margin-top: -120px;
  display: flex;
  justify-content: center;
  gap: 10px;
}
.typedigital_platina .top_card img {
  max-width: 340px;
  width: 100%;
}
.typedigital_platina .event_info {
  border: 1px solid #da65a2;
  border-radius: 8px;
  background-color: #fffadd;
  overflow: hidden;
}
.typedigital_platina .event_info h2 {
  font-size: 1.4em;
  font-weight: 500;
  padding: 12px;
  background-color: #fff1f1;
  border-bottom: 3px solid #da65a2;
}
.typedigital_platina .platina_taisyo {
  background-color: #e8ffd9;
  margin: 0px 0 40px 0;
  padding: 30px;
  border-radius: 14px;
  border: 1px solid #43aa00;
}
.typedigital_platina .platina_taisyo h5 {
  background-color: #43aa00;
  padding: 6px;
  margin: 0 auto;
  text-align: center;
  display: block;
  width: 300px;
  color: #fff;
  font-weight: bold;
  border-radius: 100px;
}
.typedigital_platina .platina_taisyo_list {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
.typedigital_platina .platina_taisyo_list li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 20vw;
  text-align: center;
}
.typedigital_platina .platina_taisyo_list li::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url("../img/digital_platina/icon_check.svg") no-repeat center / contain;
}
.typedigital_platina .grid-container {
  display: grid;
  grid-template-columns: repeat(1, auto);
  width: 100%;
  min-width: 800px; /* これ以下になったらスクロール発生 */
}
.typedigital_platina .subgrid-container {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 80px 160px 160px 1fr 120px;
}
.typedigital_platina .subgrid-container > * {
  outline: solid 1px #43aa00;
}
.typedigital_platina .subgrid-container_all {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr;
}
.typedigital_platina .subgrid-container_all > * {
  outline: solid 1px #43aa00;
}
.typedigital_platina .grid-item {
  background: #fff;
  padding: 1em;
}
.typedigital_platina .subgrid-container_all .grid-item {
	text-align: center;
	background-color:#FFF7E8;
}
.typedigital_platina .subgrid-container_all .grid-item span {
	font-weight: bold;
	color: #F25C0D;
	font-size: 1.2em;
}
.typedigital_platina .grid-ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  background:#e8ffd9;
}
.typedigital_platina .event_info_contents {
  padding: 24px;
}
.typedigital_platina  .event_info_contents h3 {
  border-left: 6px solid var(--flow-color-primary);
  padding: 6px;
  font-size: 1.4em;
  margin-bottom: 12px;
  font-weight: 600;
}
.typedigital_platina .event_info .event_data {
  font-size: 1.3em;
}
.typedigital_platina .event_info span {
  font-weight: 600;
}
.typedigital_platina .int11 a {
  background-color:#F25C0D;
}
.typedigital_platina .cmnbox01 {
  padding: 10px 0;
}
.typedigital_platina .large_img {
  width: 100%;
  max-width: 870px;
  margin: 30px auto;
}
.typedigital_platina #about {
  margin-top: 0px;
}
.typedigital_platina .btn_platina {
  margin: 30px 0;
}
.typedigital_platina .btn_platina a {
  display: flex;
  max-width: 600px;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 1.2em;
  background-color: #fffa77;
  padding: 12px;
  border: 1px solid #000;
  border-radius: 100px;
}
.typedigital_platina #course {
  background-image: linear-gradient(90deg, #fff9df, #dffcff);
  padding-bottom: 40px;
}
.typedigital_platina .abt10 {
  font-size: 2.4em;
  font-weight: 600;
  text-align: center;
  color: #f0664c;
  margin: 20px auto;
}
.typedigital_platina .course_box {
  padding: 30px 30px 0px 30px;
}
.typedigital_platina .course_data {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.typedigital_platina .course_subtitle {
  font-weight: 600;
}
.typedigital_platina .digital_course01 {
  background-color: #fff;
  border: 1px solid #43aa00;
  border-radius: 8px;
  overflow: hidden;
  margin: 20px auto;
}
.typedigital_platina .digital_course01 h2 {
  background-color: #e8ffd9;
  color: #43aa00;
  font-weight: 600;
  font-size: 1.4em;
  padding: 16px;
  border-bottom: 2px solid #43aa00;
}
.typedigital_platina .digital_course01 h2 span {
  background-color: #fff;
  color: #da48a2;
  font-size: 0.7em;
  font-weight: 400;
  padding: 4px 6px;
  border-radius: 4px;
  margin-right: 12px;
}
.typedigital_platina .digital_course01 .course_data_grid {
  border: 1px solid #43aa00;
  border-radius: 8px;
  padding: 12px;
  background-color: #fff;
}
.typedigital_platina .digital_course01 h4 {
  background-color: #e8ffd9;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  margin-bottom: 20px;
}
.typedigital_platina .digital_course01 .elearning_course span {
  display: block;
  width: 5em;
  font-size: 1.1em;
  background-color: #da48a2;
  padding: 4px 2px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  text-align: center;
}
.typedigital_platina .digital_course01 .elearning_course h5 {
  font-weight: 600;
  font-size: 1.2em;
  color: #da48a2;
  margin: 6px 0;
}
.typedigital_platina .digital_course02 {
  background-color: #fff;
  border: 1px solid #00a99d;
  border-radius: 8px;
  overflow: hidden;
  margin: 20px auto;
}
.typedigital_platina .digital_course02 h2 {
  background-color: #00a99d;
  color: #fff;
  font-weight: 600;
  font-size: 1.4em;
  padding: 16px;
}
.typedigital_platina .digital_course02 h2 span {
  background-color: #fff;
  color: #00a99d;
  font-size: 0.7em;
  font-weight: 400;
  padding: 4px 6px;
  border-radius: 4px;
  margin-right: 12px;
}
.typedigital_platina .digital_course02 .course_data_grid {
  border: 1px solid #00a99d;
  border-radius: 8px;
  padding: 12px;
}
.typedigital_platina .digital_course02 h4 {
  background-color: #e8f2de;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  margin-bottom: 20px;
}
.typedigital_platina .digital_course02 .elearning_course span {
  display: block;
  width: 5em;
  font-size: 1.1em;
  background-color: #00a99d;
  padding: 4px 2px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 12px;
  text-align: center;
}
.typedigital_platina .digital_course02 .elearning_course h5 {
  font-weight: 600;
  font-size: 1.2em;
  color: #00a99d;
  margin: 6px 0;
}
.typedigital_platina .soon {
  border-radius: 8px;
  border: 2px solid #ccc;
  padding: 12px;
  text-align: center;
}
/* FAQ */
.faq-section {
  margin: 56px 0;
}
.faq-item {
  border-bottom: 1px solid var(--nav-border);
}
#qa .cmnbox01 {
  margin: 50px auto;
}
.faq-q {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 18px 0;
  background: none;
  border: none;
  font-size: 16px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
  color: var(--text-primary);
}
.faq-q .q-mark {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--accent-original);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
  flex-shrink: 0;
}
.faq-q .q-icon {
  margin-left: auto;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
}
.faq-q .q-icon::before, .faq-q .q-icon::after {
  content: "";
  position: absolute;
  background: var(--text-secondary);
  border-radius: 1px;
  transition: transform var(--tr);
}
.faq-q .q-icon::before {
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-q .q-icon::after {
  width: 2px;
  height: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.faq-item.is-open .faq-q .q-icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease;
}
.faq-a-inner {
  padding: 0 0 18px 40px;
  font-size: 16px;
  color: var(--text-secondary);
}
.faq-item.is-open .faq-a {
  max-height: 300px;
}
/*   フロー図   */ :root {
  --fc-primary-woman: #b03e78;
  --fc-primary-platina: #43aa00;
  --fc-primary-dark: #b03e78;
  --fc-light-bg-woman: #ffe9ec;
  --fc-light-bg-platina: #e8ffd9;
  --fc-text: #333;
  --fc-note: #555;
  --fc-white: #fff;
  --fc-bw: 2px;
  --fc-radius: 10px;
  --fc-arrow: clamp(10px, 1.5vw, 15px);
  --fc-gap: calc(var(--fc-arrow) * 2 + 6px);
  --fc-branch-cols: 2fr 3fr;
}
.flow,.flow *,.flow *::before,.flow *::after{box-sizing:border-box;}

/* ------- コンテナ ------- */
.flow {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: clamp(1rem, 3vw, 2rem) clamp(0.5rem, 2vw, 1rem);
  display: flex;
  flex-direction: column;
  gap: var(--fc-gap);
  font-family: "Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Meiryo",sans-serif;
  color: var(--fc-text);
  line-height: 1.7;
}
 
/* ------- ステップ ------- */
.typedigital_woman .flow__step {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(0.6rem, 1.0vw, 1.2rem);
  padding: clamp(0.85rem, 2vw, 1.3rem) clamp(1rem, 2.5vw, 1.8rem);
  border: var(--fc-bw) solid var(--fc-primary-woman);
  border-radius: var(--fc-radius);
  background: var(--fc-white);
}
.typedigital_platina .flow__step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(0.6rem, 1.0vw, 1.2rem);
  padding: clamp(0.85rem, 2vw, 1.3rem) clamp(1rem, 2.5vw, 1.8rem);
  border: var(--fc-bw) solid var(--fc-primary-platina);
  border-radius: var(--fc-radius);
  background: var(--fc-white);
}
 
/* ▼矢印 */
.typedigital_woman .flow__step:not(:last-child)::after,
.typedigital_woman .flow__step--arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(-1 * var(--fc-arrow) - 4px);
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: var(--fc-arrow) solid transparent;
  border-right: var(--fc-arrow) solid transparent;
  border-top: var(--fc-arrow) solid var(--fc-primary-woman);
}
.typedigital_platina .flow__step:not(:last-child)::after,
.typedigital_platina .flow__step--arrow::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(-1 * var(--fc-arrow) - 4px);
  transform: translateX(-50%);
  width: 0; height: 0;
  border-left: var(--fc-arrow) solid transparent;
  border-right: var(--fc-arrow) solid transparent;
  border-top: var(--fc-arrow) solid var(--fc-primary-platina);
}
.flow__step--no-arrow::after { display: none !important; }
 
/* ------- テキスト ------- */
.flow__content { flex: 1; min-width: 0; }
 
.typedigital_woman .flow__title {
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  font-weight: 700;
  text-align: left;
  color: var(--fc-primary-woman);
  margin: 0;
}
.typedigital_platina .flow__title {
  font-size: clamp(0.95rem, 2vw, 1.15rem);
  font-weight: 700;
  text-align: center;
  color: var(--fc-primary-platina);
  margin: 0;
}
.flow__sub {
  font-size: clamp(0.8rem, 1.55vw, 0.9rem);
  margin: 0.15em 0 0;
  font-weight: 600;
}
.typedigital_woman .flow__desc {
  font-size: clamp(0.8rem, 1.6vw, 0.9rem);
  margin: 0.35em 0 0;
  text-align: left;
}
.typedigital_platina .flow__desc {
  font-size: clamp(0.8rem, 1.6vw, 0.9rem);
  margin: 0.35em 0 0;
	text-align: center;
}
.flow__note {
  font-size: clamp(0.76rem, 1.45vw, 0.84rem);
  color: var(--fc-note);
  margin: 0.25em 0 0;
}
 
/* ------- アイコン ------- */
.typedigital_woman .flow__icon {
  flex-shrink: 0;
  width: clamp(36px, 5.2vw, 48px);
  height: clamp(36px, 5.2vw, 48px);
  border-radius: 50%;
  background: var(--fc-primary-woman);
  color: var(--fc-white);
  display: flex; align-items: center; justify-content: center;
}

.typedigital_platina .flow__icon {
  flex-shrink: 0;
  width: clamp(36px, 5.2vw, 48px);
  height: clamp(36px, 5.2vw, 48px);
  border-radius: 50%;
  background: var(--fc-primary-platina);
  color: var(--fc-white);
  display: flex; align-items: center; justify-content: center;
}
.flow__icon svg { width: 56%; height: 56%; fill: currentColor; }
 
/* ------- バリエーション ------- */
.flow__step--compact {
  padding: clamp(0.65rem, 1.5vw, 0.9rem) clamp(1rem, 2.5vw, 1.8rem);
  justify-content: center;
}
.flow__step--compact .flow__title { text-align: center; }
 
.typedigital_woman .flow__step--light { background: var(--fc-light-bg-woman); }
 
.typedigital_woman .flow__step--filled {
  background: var(--fc-primary-woman);
  border-color: var(--fc-primary-woman);
}

.typedigital_platina .flow__step--light { background: var(--fc-light-bg-platina); }
 
.typedigital_platina .flow__step--filled {
  background: var(--fc-primary-platina);
  border-color: var(--fc-primary-platina);
}
.flow__step--filled .flow__title {
  color: var(--fc-white);
  text-align: center;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
}
.digital_lesson_menu {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 20px;
  margin-bottom: 50px;
}
.digital_lesson_menu a {
  padding: 12px;
  border-radius: 50px;
  color: #fff;
  font-weight: 600;
  width: 500px;
  font-size: 1.6em;
  text-align: center;
}
.btn_elearning {
  background-color: #da65a2;
}
.btn_class {
  background-color: #00a99d;
}
.typedigital_woman .job_support {
  gap: 10px;
  display: flex;
  flex-direction:row;
  border: var(--fc-bw) solid var(--fc-primary-woman);
  border-radius: var(--fc-radius);
	
}
.typedigital_platina .job_support {
  gap: 10px;
  display: flex;
	align-items: center;
	justify-content: center;
  line-height: 140%;
  border: var(--fc-bw) solid var(--fc-primary-platina);
  border-radius: var(--fc-radius);
	
}

.typedigital_woman .job_support .flow__content {
  background-color: var(--fc-light-bg-woman);
  padding: 20px;
  border-radius: 8px;
}
.typedigital_platina .job_support .flow__content {
  background-color: var(--fc-light-bg-platina);
  padding: 20px;
  border-radius: 8px;
}

/* ===== かながわjobフェア当日の流れ ===== */

.flow-wrapper {
    display: flex;
    align-items: stretch;
    width:100%;
    margin: 0 auto;
    overflow: hidden;
  }

.nagare_ttl {
	color: #2b4b7e;
	margin:20px auto;
	font-size: 1.4em;
	font-weight: 600;
	text-align: center;
}

  .nagare_section {
    flex: 1;
    padding: 20px 20px 18px;
    position: relative;
	    border: 2px solid #2b4b7e;
    border-radius: 6px;
  }

  .section--part1 {
    background: #fff;
  }

  .section--part2 {
    background: #fff;
  }

  /* 中央の矢印エリア */
  .arrow-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    flex-shrink: 0;
    background: #fff;
  }

  .arrow-divider::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 16px 0 16px 22px;
    border-color: transparent transparent transparent #2b4b7e;
  }

  .section-title {
    font-size: 20px;
	color:#2b4b7e;
    font-weight: 600;
    margin-bottom: 18px;
    line-height: 1.4;
    border-bottom: 3px solid #2b4b7e;
    padding-bottom: 10px;
  }

  .section-title .bracket {
    font-weight: 600;
  }

  .section-title .sub {
    font-size: 14px;
    font-weight: 500;
  }

  .feature-list {
    list-style: none;
  }

  .feature-list li {
    font-size: 15px;
    line-height: 1.7;
    color: #1a1a1a;
    margin-bottom: 8px;
    padding-left: 1.2em;
    text-indent: -1.2em;
  }

  .feature-list li::before {
    content: "●";
    color: #1a1a1a;
    margin-right: 0.2em;
  }

.flow__sub {
  font-size: clamp(0.8rem, 1.55vw, 0.9rem);
  margin: 0.15em 0 0;
  font-weight: 600;
}

/* =================================================================
   分岐セクション
   ================================================================= */
.flow__branch-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  /* 親の gap で既にスペースがあるので、内側の fork/merge は控えめに */
  margin-top: calc(-0.5 * var(--fc-gap));
  margin-bottom: calc(-0.5 * var(--fc-gap));
}
 
/* --- フォーク／マージ矢印行 --- */
.flow__fork,
.flow__merge {
  display: grid;
  grid-template-columns: var(--fc-branch-cols);
  padding: 6px 0;
}
.flow__fork > span,
.flow__merge > span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.typedigital_woman .flow__fork > span::after,
.typedigital_woman .flow__merge > span::after {
  content: "";
  width: 0; height: 0;
  border-left: var(--fc-arrow) solid transparent;
  border-right: var(--fc-arrow) solid transparent;
  border-top: var(--fc-arrow) solid var(--fc-primary-woman);
}
.typedigital_platina .flow__fork > span::after,
.typedigital_platina .flow__merge > span::after {
  content: "";
  width: 0; height: 0;
  border-left: var(--fc-arrow) solid transparent;
  border-right: var(--fc-arrow) solid transparent;
  border-top: var(--fc-arrow) solid var(--fc-primary-platina);
}
 
/* --- 2列レイアウト --- */
.flow__branch {
  display: grid;
  grid-template-columns: var(--fc-branch-cols);
  gap: 0 clamp(0.4rem, 1.2vw, 0.8rem);
}
 
/* 左カラム */
.flow__branch-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0.25rem 0;
}
.typedigital_woman .flow__branch-side::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 50.7%;
  transform: translateX(-50%);
  width: 3px;
  background: repeating-linear-gradient(
    to bottom,
    var(--fc-primary-woman) 0, var(--fc-primary-woman) 7px,
    transparent 7px, transparent 13px
  );
  border-radius: 2px;
}
.typedigital_woman .flow__branch-label {
  position: relative;
  z-index: 1;
  background: var(--fc-white);
  border: var(--fc-bw) solid var(--fc-primary-woman);
  border-radius: 6px;
  padding: 0.35em 0.7em;
  font-size: clamp(1.0rem, 1.8vw, 1.2rem);
  font-weight: 700;
  color: var(--fc-primary-woman);
  text-align: center;
  line-height: 1.45;
  white-space: nowrap;
}
.typedigital_platina .flow__branch-side::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: 50.7%;
  transform: translateX(-50%);
  width: 3px;
  background: repeating-linear-gradient(
    to bottom,
    var(--fc-primary-platina) 0, var(--fc-primary-platina) 7px,
    transparent 7px, transparent 13px
  );
  border-radius: 2px;
}
.typedigital_platina .flow__branch-label {
  position: relative;
  z-index: 1;
  background: var(--fc-white);
  border: var(--fc-bw) solid var(--fc-primary-platina);
  border-radius: 6px;
  padding: 0.35em 0.7em;
  font-size: clamp(1.0rem, 1.8vw, 1.2rem);
  font-weight: 700;
  color: var(--fc-primary-platina);
  text-align: center;
  line-height: 1.45;
  white-space: nowrap;
}
 
/* 右カラム */
.flow__branch-main {
  display: flex;
  flex-direction: column;
  gap: var(--fc-gap);
  padding: 0.25rem 0;
}
.flow__branch-main .flow__step:not(:last-child)::after { content: ""; display: block; }
.flow__branch-main .flow__step:last-child::after { display: none; }
 
/* =================================================================
   モバイル微調整
   ================================================================= */
@media (max-width: 520px) {
  :root { --fc-branch-cols: 1fr 2.5fr; }
  .flow__step { padding: 0.75rem 0.85rem; gap: 0.55rem; }
  .flow__branch { gap: 0 0.35rem; }
  .flow__branch-label { font-size: 1.4rem; padding: 0.25em 0.45em; }
}

/* ===== Digital Platina会場案内モーダル ===== */
.venue-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}
.venue-modal.is-open {
  display: block;
}
.venue-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
}
.venue-modal__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 480px);
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.venue-modal__close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: rgba(0,0,0,0.45);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  font-size: 15px;
  cursor: pointer;
  line-height: 1;
  z-index: 1;
}
.venue-modal__body {
  padding: 32px 28px 28px;
}
.venue-modal__date {
  font-size: 18px;
  color: #fff;
  margin: 0 0 6px;text-align: center;
  background-color: #167204;
	padding: 6px;
}
.venue-modal__name {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0 10px;
  line-height: 1.5;
  color: #222;
}
.venue-modal__info {
  margin: 0 0 24px;
  display: grid;
  grid-template-columns: 4em 1fr;
  gap: 10px 12px;
  font-size: 14px;
  line-height: 1.7;
}
.venue-modal__info dt {
  font-weight: bold;
  color: #555;
  padding-top: 1px;
}
.venue-modal__info dd {
  margin: 0;
  color: #333;
}
.venue-modal__map-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  padding: 12px;
  background: #2979c4;
  color: #fff;
  border-radius: 6px;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  box-sizing: border-box;
}
.venue-modal__map-btn svg {
  width: 18px;
  height: 18px;
  fill: #fff;
  flex-shrink: 0;
}
.venue-modal__map-btn:hover {
  background: #1a5fa3;
  color: #fff;
}





/* ------- 小さい画面向けの微調整 ------- */
@media (max-width: 480px) {
  .flow__step {
    padding: 0.9rem 1rem;
    gap: 0.75rem;
  }
  .flow__icons {
    gap: 0.4rem;
  }
}