* {
    box-sizing:border-box;
}
body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;
    background:#ffffff;
    margin:0;
}
a {
    color: #007bff;
    text-decoration: none;
}
.br-pc{
    display: initial;
}
.br-sp{
    display: none;
}
/* -- Header -- */
header {
    width:100%;
    height:75px;
    display: flex;
    justify-content:space-between;
}
header h1 {
    margin:0;
}
header h1 a {
    padding: 16px 45px 21px 45px;
    display: block;
}
header h1 img {
    width:120px;
    height:auto;
    margin: 0;
}
.head-a02{
}
.head-a02 ul{
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}
.head-a02 ul li{
    
}
.head-a02 ul li a {
    text-decoration: none;
    padding: 29px 45px;
    color: #000;
    display: block;
}
.head-a02 ul li a:hover {
   color: #007bff;
}
li.head-a02-3 a {
    background: #000;
}
li.head-a02-3 a:hover {
    background: #999999;
}
.head-a02 ul li.head-a02-3 a {
    color:#ffffff;
}


/* -- TOP -- */
.rec-top{
    background:url(/recruit/wp-content/themes/inforich-recruit2025/images/rec-top.jpg);
    background-size: cover;
    aspect-ratio: 2 / 1;
    background-color: rgba(0, 0, 0, 0.3);
    background-blend-mode: overlay;
    position: relative;
}
.red-top-title{
    color: #fff;
    font-size: 7vw;
    margin: 0;
    position: absolute;
    bottom: 50px;
    left: 45px;
    text-align: left;
}
.rec-top-d1{
    text-align: center;
    padding: 110px 0;
}
.rec-top-d1 h2{
    font-size: 46px;
}
.rec-top-d1-txt{
    font-size: 18px;
    line-height: 1.5em;
}
.rec-top-img1{
    margin-bottom: 110px;
}
.rec-top-img1 img{
    width:100%;
    height:auto;
}
.rec-top-d2 {
    display: flex;
    gap: 70px;
    width: 80%;
    margin: 0 auto 200px auto;
    line-height: 1.5em;
}
.rec-top-d2-l img {
    width: 300px;
    height: auto;
    border-radius: 1000px;
}
.rec-top-d2-r h2 {
    font-size: 2.2vw;
    margin: 0 0 30px 0;
}
.rec-top-d2-r1 {
    font-weight: 700;
    font-size: 1.4vw;
    margin-bottom: 21px;
}
.rec-top-d2-r2 {
    margin-bottom: 30px;
    font-size: 18px;
}
.rec-ct {
    text-align: center;
}
.rec-btn a,
.rec-btn2 a {
    text-decoration: none;
    border: 1px solid #000;
    border-radius: 30px;
    padding: 15px 31px;
    font-size: 18px;
    display: inline-block;
    background: #fff;
    color: #000;
}
.rec-btn a:hover,
.rec-btn2 a:hover {
    background: #000;
    color: #fff;
    transition-duration: 0.3s;
}
.rec-btn2 {
    text-align: center;
    margin-bottom:30px;
}
.rec-top-d3 {
    background: #eee;
    padding: 120px 5%;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.rec-top-d3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.rec-top-d3-l {
    display: flex;
    align-items: center;
    justify-content: center;
}
.rec-top-d3-l h2 {
    font-size: 2.3vw;
}

/* -- About Us -- */

.about-d1 {
    margin: 100px 10%;
}
.about-d1 h1{
    font-size: 46px;
}
.about-d1-txt {
    font-size: 18px;
    line-height: 1.5em;
}
.about-d2 {
    margin-bottom: 120px;
}
.about-d2 img {
    width: 100%;
    height: auto;
}
.about-d3,
.about-d4 {
    text-align: center;
}
.about-d4 {
    margin-bottom:120px;
}
.about-d3 h2,
.about-d4 h2 {
    font-size: 2.5vw;
    line-height: 1.5em;
}
.about-d3-txt,
.about-d4-txt {
    font-size: 18px;
    line-height: 1.5em;
    margin-bottom: 120px;
}
.about-d4-txt {
    margin-bottom: 40px;
}
.about-d4-img {
    width: 65%;
    margin: 0 auto 40px auto;
}
.about-d4-img img{
    width: 100%;
    height: auto;
}
.about-d5 {
    margin-bottom:150px;
}
.about-d5a {
    display: flex;
    gap: 50px;
    width: 80%;
    margin: 0 auto 50px auto;
}
.about-d5a-img {
    text-align: left;
    margin-bottom: 0;
}
.about-d5a-img img {
    width: 300px;
    height:auto;
}
.about-d5a-txt1 {
    margin: 0 0 20px 0;
    font-size: 1.5vw;
}
.about-d5a-txt2 {
    font-size: 16px;
    line-height: 1.5em;
}
.about-d5b {
    text-align: center;
}
.about-d6,
.about-d8 {
    width: 80%;
    margin: 0 auto 150px auto;
}
.about-d6 h2 {
    margin: 0 0 40px 0;
    font-size: 2.1vw;
}
.about-d6a {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
.about-d6b {
    display: flex;
    gap: 10px;
    font-size: 18px;
    margin-bottom: 10px;
}
.about-d6b1 {
    font-weight: bold;
}
.about-d6c {
    font-size: 14px;
    margin-top: 40px;
}
.about-d7 {
    text-align: center;
    margin-bottom: 150px;
}
.about-d8 {
    margin-bottom:150px;
}
.about-d8 h2 {
    font-size:2.2vw;
    margin: 0 0 50px 0;
}
.about-d8a {
    display: flex;
    gap:50px;
    margin-bottom: 50px;
}
.about-d8a-img {
    text-align: left;
    margin-bottom: 0;
}
.about-d8a-img img {
    width: 210px;
    height:auto;
}
.about-d8a-txt1 {
    margin: 0 0 30px 0;
    font-size: 26px;
    text-align: left;
}
.about-d8a-txt2 {
    font-size: 18px;
    line-height: 1.5em;
}

/* -- Inside INFORICH -- */

.life-d1 {
    margin: 100px 10%;
}
.life-d1 h1{
    font-size: 46px;
}
.life-d1-txt {
    font-size: 18px;
    line-height: 1.5em;
}
.life-d2 {
    margin-bottom: 120px;
}
.life-d2 img {
    width: 100%;
    height: auto;
}
.life-d3 {
    display: flex;
    gap: 60px;
    width: 80%;
    margin: 0 auto 120px auto;
}
.life-d3a {
    text-align: left;
    margin-bottom: 0;
}
.life-d3a img {
    width: 250px;
    height: auto;
    border-radius: 100%;
}
.life-d3b h2 {
    margin: 0 0 30px 0;
    font-size: 26px;
}
.life-d3b h2 a {
    color:#000;
    text-decoration: none;
}
.life-d3b h2 a:hover {
    color:#007bff;
}
.life-d3b-1 {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}
.life-d3b-1 h3 {
    margin: 0;
    font-size: 2vw;
    white-space: nowrap;
}
.life-d3b-1 h4 {
    margin: 0;
    font-size: 1.4vw;
    padding-top: 7px;
    color:#000;
}
.life-d3b-2 {
    line-height: 1.5em;
    font-size: 17px;
    margin-bottom: 30px;
}

/* -- footer -- */

footer {
    background:#eee;
    text-align: center;
    font-size:18px;
}
.footer01 {
    padding: 40px 0;
}
.footer02,
.footer03 {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}
.footer02 div,
.footer03 div {
    margin-bottom:0;
}
.footer02 a,
.footer03 a {
    color: #000;
    text-decoration: none;
}
.footer02 a:hover,
.footer03 a:hover {
    color: #007bff;
}
.footer04 {
    font-size: 10px;
    padding-bottom: 20px;
}
/* -- Interview -- */

.lv-a {
    margin-bottom: 80px;
}
.lv-a img,
.lv-d img {
    width: 100%;
    height:auto;
}
.lv-b {
    display: none;
}
.lv-c {
    font-size: 18px;
    line-height: 1.6em;
    margin: 0 10% 80px 10%;
}
.lv-c h2 {
    margin: 60px 0;
}
.lv-c h3 {
    margin:70px 0;
}
.lv-c div {
    margin:0 0 30px 0;
}
.lv-d {
    margin-bottom:100px;
}
.lv-d p {
    text-align: center;
    margin: 20px 8% 0 8%;
}
.lv-e {
    text-align: center;
    margin-bottom: 200px;
}

/* ------------------------------------------------------- */
@media (max-width:750px){

.br-pc{
    display: none;
}
.br-sp{
    display: initial;
}
/* -- TOP -- */
.red-top-title {
    font-size: 9.3vw;
    text-align: center;
    left: 7vw;
}
.rec-top-d1 h2 {
    font-size: 6.8vw;
}
.rec-top-d1-txt {
    padding: 0 30px;
    text-align: left;
}
.rec-top-d1-txt br {
    display: none;
}
.rec-top-d2 {
    display: block;
    gap: 0;
}
.rec-top-d2-l {
    text-align: center;
}
.rec-top-d2-l img {
    width: 60%;
    margin-bottom: 40px;
}
.rec-top-d2-r h2 {
    font-size: 4.7vw;
}
.rec-top-d2-r1 {
    text-align: center;
    font-size: 4.5vw;
}
.rec-btn {
    text-align: center;
}
.rec-top-d3 {
    display: block;
}
.rec-top-d3-l h2 {
    font-size: 5.5vw;
}

/* -- About US -- */
.about-d1 h1 {
    font-size:32px;
}
.about-d1-txt br,
.about-d3-txt br,
.about-d4-txt br {
    display: none;
} 
.about-d3 h2, .about-d4 h2 {
    font-size:28px;
}
.about-d3-txt {
    width: 85%;
    margin: 0 auto 120px auto;
}
.about-d4-txt {
    width: 85%;
    margin:0 auto 40px auto;
}
.about-d5a {
    display: block;
    gap: 0;
}
.about-d5a-img {
    text-align: center;
    margin-bottom: 30px;
}
.about-d5a-txt1 {
    font-size: 20px;
}
.about-d6 h2 {
    font-size: 28px;
}
.about-d6b {
    display: block;
    gap: 0;
}
.about-d6a {
    margin-bottom:20px;
}
.about-d6b {
    margin-bottom: 20px;
}
.about-d8 h2 {
    font-size: 28px;
}
.about-d8a {
    display: block;
    gap: 0;
}
.about-d8a-img {
    text-align: center;
    margin-bottom: 30px;
}
.about-d8a-txt1 {
    text-align: center;
}
.about-d7 {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.about-d7 iframe {
    width: 100%;
    height: 100%;
}

/* -- Lnside INFORICH -- */

.life-d1 h1 {
    font-size: 32px;
}
.life-d1-txt br {
    display:none;
}
.life-d3 {
    display: block;
    gap: 0;
}
.life-d3a {
    text-align: center;
    margin-bottom: 30px;
}
.life-d3a img {
    width: 200px;
}
.life-d3b-1 {
    display: block;
    gap: 0;
    margin-bottom: 22px;
}
.life-d3b h2 {
    margin: 0 0 20px 0;
}
.life-d3b-1 h3 {
    font-size: 22px;
}
.life-d3b-1 h4 {
    font-size: 16px;
    color: #616161;
}
.life-d3b-2 {
    margin-bottom: 20px;
}

/* -- footer -- */

.footer02,
.footer03 {
    display: block;
    gap: 0;
}
.footer02 div,
.footer03 div {
    margin-bottom:10px;
}

/* -- インタビュー -- */

.lv-b {
    display: block;
    margin-bottom: 30px;
}
.lv-b h1 {
    font-size: 28px;
    margin: 0 8% 30px 8%;
}
.lv-b h2,
.lv-b h3 {
    margin: 0 8%;
}
.lv-b h3 {
    font-weight: 300;
    font-size: 18px;
}
.lv-c {
    margin: 0 8% 50px 8%;
}

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

.menu-wrapper {
  position: relative;
}

.menu-icon {
  width: 40px;
  height: 30px;
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 4px;
  margin: 6px 0;
  background: #333;
  border-radius: 2px;
  transition: 0.4s;
}

#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}
#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
  pointer-events: auto;
}

.menu {
  position: fixed;
  top: 0;
  padding-right: -250px;
  width: 250px;
  height: 100%;
  background: #fff;
  transition: left 0.4s ease;
  z-index: 2;
}

#menu-toggle:checked ~ .menu {
  right: 0;
}

.menu ul {
  list-style: none;
  padding: 60px 20px;
}

.menu li {
  margin: 20px 0;
}

.menu a {
  text-decoration: none;
  color: #333;
  font-size: 1.2rem;
  transition: color 0.3s;
}

.menu a:hover {
  color: #007bff;
}

} /* ------------------------------------------------------- */