@charset "utf-8";
/* -------------------------------------
     Site CSS
 (c) Copyright 2024 Sketches of Design
     version 2024-07-04
------------------------------------- */
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
/*
*{
  outline: 2px solid red;
}
*/
html{
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
 }
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 300;
  src: local('Noto Sans JP'),
      url("../font/NotoSansJP-Light.woff") format('woff'),
      url("../font/NotoSansJP-Light.otf") format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans JP'),
      url("../font/NotoSansJP-Regular.woff") format('woff'),
      url("../font/NotoSansJP-Regular.otf") format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 500;
  src: local('Noto Sans JP'),
      url("../font/NotoSansJP-Medium.woff") format('woff'),
      url("../font/NotoSansJP-Medium.otf") format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: local('Noto Sans JP'),
      url("../font/NotoSansJP-Bold.woff") format('woff'),
      url("../font/NotoSansJP-Bold.otf") format('opentype');
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-Thin.woff2') format('woff2'),
       url('../fonts/inter-Thin.woff') format('woff');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-Light.woff2') format('woff2'),
       url('../fonts/inter-Light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-regular.woff2') format('woff2'),
       url('../fonts/inter-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-Medium.woff2') format('woff2'),
       url('../fonts/inter-Medium.woff') format('woff');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('../fonts/inter-bold.woff2') format('woff2'),
       url('../fonts/inter-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/*  General Rules
--------------------------------------*/
body{
  font-family: 'Inter','Noto Sans JP', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 1.6;
  font-weight: 400;
}
/* Defalut Settings */
.box{
  margin: 15px 0 !important;
  padding: 20px;
  background: #fff;
}
img{
  margin: 0 0 1em 0;
  border: 0;
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}
br{
  letter-spacing: 0;
}
.first{
  margin-left: 0 !important;
}
#content p{
  margin-top: 0;
  margin-bottom: 0.7em;
  letter-spacing:0.06em;
  line-height: 1.7;
}
#content p:last-child{
  margin-bottom: 0;
}
.image{
  margin:0;
  text-indent:0;
}
.copy{
  text-indent:0;
  text-align:center;
}
.right, .posted {
  margin-top: 2em !important;
  text-indent: 0;
  text-align: right;
  font-size: 85%;
}
.fLeft{
  float: left;
  display: inline;
  margin: 0 1.5em 0.5em 0;
}
.fRight{
  float: right;
  display: inline;
  margin: 0 0 0.5em 1.5em;
}
#btt{
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  margin: 0;
  z-index: 5000;
  width: 40px;
  height: 40px;
}
#btt a{
  background: url("../img/nav-btt.svg") 0 0 no-repeat;
	background-size: 40px 40px !important;
}
#btt a:hover{
  filter: alpha(opacity=60);
  -moz-opacity:0.60;
  opacity:0.60;
}
.external {
    background: url("../img/nav_external.png") right center no-repeat;
    margin-right: 4px;
    padding-right: 14px;
}
a[href$=".pdf"]{
  background: url("../img/nav-pdf.gif") no-repeat 100% 50%; 
  padding-right: 20px; 
} 
/* Accessibility */
.skip{
  position:absolute;
  left:-10000px;
  width:0;
  /* \*/
  overflow: hidden !important;
  /* */
}
.accesibilty{
  display:none;
}
/* Form */
form{
  margin: 0 0 1em 0;
}
fieldset{
  padding: 0.25em 0.5em;
}
form dl{
  margin: 0 0 0.5em 0;
}
form dl dt{
  font-weight: normal;
}
form dl dd{
  margin-left: 0;
}
/* Defalut Link Design */
a{
  transition: .3s;
}
/*a:hover{
  opacity: 0.5;
  transform: translateY(5px);
}*/
a:link,
a:visited,
a:active{
  color: #1f5299;
  text-decoration: underline;
}
a:hover{
  color: #1f5299;
  text-decoration: none;
}
/* list */
ul{
  margin: 0 0 0.5em 0;
  padding-left: 1.5em;
  list-style:disc;
}
ul ul{
  margin:0;
  list-style:circle;
  padding-left:1em;
}
ol{
  margin: 0 0 0.5em 0;
  list-style: decimal;
  padding-left: 2.5em;
}
dl{
  margin: 0 0 0.5em 0;
}
dt{
  font-weight: bold;
}
dd{
  padding-left:1em;
}
#content ul,
#content ol{
  margin: 0 0 0 1em;
  padding: 0;
}
#content ul{
  list-style-type: none;
}
#content ol{
  margin: 0 0 1em 40px;
  list-style-position: outside;
}
#content ol li,
#content ul li{
  margin: 0 0 0.8em 0;
}
#content ol li:last-child,
#content ul li:last-child{
  margin-bottom: 0;
}
#content ul li{
  position: relative;
  padding: 0 0 0 10px;
}
#content ul li:before{
  position: absolute;
  content: "";
  background-color: #1f5299;
  left: 0;
  top: 0.55em;
  margin: auto;
  height: 5px;
  width: 5px;
}
ol.bc{
  margin: 0 auto !important;
  padding: 5px 0;
  width: 960px;
  font-size: 79%;
  list-style: none;
  border-bottom: none;
  text-align: left;
}
ol.bc li span.arrow{
  margin: 0 0 0 0.2em;
}
ol.bc li a{
  color: #4d4d4d;
}
ol.bc li{
  display: inline;
  color: #999;
  margin: 0;
  padding: 0;
}
ol.bc li.first{
  background: none;
  padding-left: 0;
}
ol.bc li strong{
  color: #333;
  font-weight: normal;
}
ol.bc span{
  margin: 0 0 0 5px;
}
ul.flat{
  margin: 0 !important;
  list-style: none !important;
}
ul.flat li{
/*  display: inline;*/
}
ul.flat li:before{
  display: none;
}
/* table */
table{
  margin: 0 0 10px 0;
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  line-height: 1.6;
  /* \*/
  width: 100%;
  /* */
  border-top: 1px solid #e0e0e0;
}
table col.digit{
  text-align: right;
}
table col.centering{
  text-align: center;
}
/*table tr{
  background: #fff;
}
table tr:nth-child(odd){
  background: #F7F7F7;
}*/
/*
table tr.odd{
  background: #F7F7F7;
}
table tr.even{
  background: #fff;
}*/
table thead tr th,
table thead tr td{
  margin: 1px;
  color: #1E1F1E;
  text-align: center;
  font-weight: 700;
  border: none;
}
table thead tr th{
  text-align: center;
}
table thead tr{
  background: #eee !important;
}
table tr th,
table tr td{
  border: none;
  border-bottom: 1px solid #e0e0e0;
  padding: 20px 0;
  text-align: left;
}
table tr th{
  color: #303130;
}
caption{
  text-align: left;
}
th, td{
  border: none;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0.1em 0.4em;
}
table ul, table ol, table dl{
  margin: 0;
}
table ul{
  padding: 0;
  list-style: none;
}
table caption{
  text-align: center;
}
table p.nav{
  margin-bottom: 0 !important;
}
table tr .left{
  text-align: left;
}
table tr .center{
  text-align: center;
}
table tr .right{
  text-align: right;
}
table tr th p:last-child,
table tr td p:last-child{
  margin: 0;
/*  margin: 0 !important;
  padding: 0 !important;*/
}
/*table ul li{
  margin: 0 !important;
}*/
table tr td ol{
  margin: 0 0 0 20px;
}
/* headline */
h1, h2, h3, h4, h5, h6{
  font-size: 100%;
  font-weight: normal;
  text-align: left;
  color: #303130;
}
h1{
  font-size: 8.0rem;
  color: #fff;
  font-weight: 300;
  letter-spacing: 0.08em;
}
h1 span{
  margin: 0 0 0 10px;
  font-size: 1.6rem;
  font-weight: 500;
}
body:not(#home,.recruit) #main-pic{
  margin: 0 30px;
  background: url("../img/bg-h1.webp") center center no-repeat;
  background-size: cover !important;
  border-radius: 30px;
}
body#company-idx #main-pic{
  background: url("../img/bg-company.webp") center center no-repeat;
}
body#business-idx #main-pic{
  background: url("../img/bg-business.webp") center center no-repeat;
}
#main-pic .inner{
  padding: 40px 60px;
}
body.recruit #main-pic{
  margin: 0;
  background: none;
}
body.recruit #main-pic .inner{
  padding: 0;
}
h2{
  margin: 60px 0 40px 0;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
}
h3{
  margin: 60px 0 20px 0;
  font-size: 2.4rem;
}
h4{
  margin: 0 0 15px 0;
  font-size: 1.8rem;
}
/* decoration */
.banners a:hover,
.banners a:hover img{
  filter: alpha(opacity=75);
  -moz-opacity:0.75;
  opacity:0.75;
}
em{
  color: #3c62a1;
  font-weight: bold;
}
strong{
  color: #303130;
  font-size: 108%;
  font-weight: bold;
}
.nav{
  text-align: right;
  font-size: 85%;
}
.nav a{
  padding: 0 0 0 12px;
  background: url("../img/nav-arrow.png") left center no-repeat;
}
.weak{
  font-size: 85%;
  _font-size: small;
}
#content blockquote{
  background-color: #f4f5f5;
  border: 1px solid #d2d2d2;
  color: #677880;
  margin: 1em 0 1.5em 0;
  padding: 0.5em 1em;
}
*:focus {
  outline: none;
}

/*----- clearfix -----*/
/* for modern browsers: Firefox, Safari, Opera */
.CFX:after{
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
/* for win IE7 ,mac IE */
.CFX{
  display: inline-table;
  min-height: 1%;
}
/* for win IE6 */
/* \*/
* html .CFX{height: 1% !important;}
.CFX{display: block;}
/* */

/*----- FIR -----*/
.FIR{
  text-indent: -10000px !important;
  /* \*/
  overflow: hidden !important;
  /* */
  background-repeat: no-repeat;
  background-position: 0 0;
}
.FIR a{
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  outline: 0;
}
ul.FIR, ol.FIR{
  margin: 0;
  padding: 0;
  list-style: none;
}

/*  Font
////////////////////////////////////////// */
html { font-size: 62.5%; } /* 10px */
body { font-size: 1.6rem; } /* 16px */


/*  Layout
////////////////////////////////////////// */
/* body */
body{
  background-image: linear-gradient(90deg, rgba(242, 245, 249, 1), rgba(245, 242, 245, 1));
  text-align: left;
  color: #666766;
  word-wrap: break-word;
}
/* wrapper */
#wrapper{
  margin: 0 auto !important;
  width: 100%;
  height: 100%;
  text-align: left;
}
/*----- header -----*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
/*  background-image: linear-gradient(90deg, rgba(242, 245, 249, 1), rgba(245, 242, 245, 1));*/
}
header .inner {
  margin: 0 auto;
  padding: 30px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: all 0.3s ease; 
}
header #b-logo {
  margin: 0;
}
header #b-logo img {
  margin: 0 15px 0 0;
  transition: all 0.3s ease; 
  vertical-align: middle;
}
header #hmenu a,
header #b-logo a{
  color: #1e1f1e;
  text-decoration: none;
  font-weight: 500;
}
header #b-logo a {
  display: flex;
  align-items: center;
  font-size: 2.4rem;
}
#hmenu{
  position: relative;
}
#hmenu ul {
  list-style: none;
  display: flex;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
#hmenu li {
  margin: 0 0 0 40px;
}
#ftmenu a,
#hmenu ul li a {
	position: relative;
	display: inline-block;
	text-decoration: none;
	padding-bottom: 4px;
	transition: color 0.3s;
}
#ftmenu a::after,
#hmenu ul li a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height:1px;
	background: #1e1f1e;
	transition: width 0.3s ease;
}
#ftmenu a:hover::after,
#hmenu ul li a:hover::after,
#hmenu ul li a.active::after {
	width: 100%;
}
.menu-toggle {
  display: none;
}
header.scroll{
}
header.scroll .inner{
  position: relative;
  padding: 20px;
  background-image: linear-gradient(90deg, rgba(242, 245, 249, .9), rgba(245, 242, 245, .9));
}
body.recruit header.scroll .inner::before{
  position:absolute;
  content:'';
  left: 0;
  right: 0;
  bottom: -41px;
  margin: auto;
  background-image: linear-gradient(90deg, rgba(242, 245, 249, .9), rgba(245, 242, 245, .9));
  width: 100%;
  height: 41px;
}
header.scroll img{
  width: auto;
  height: 20px;
}

/*----- content -----*/
#content{
  margin: 0 auto;
  padding: 0;
}
main section .inner{
  margin: auto;
  padding: 20px 0;
  width: 1200px;
}

/**/
.col2,
.col3{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.col2 > *{
  width: calc(50% - 20px);
}
.col3 > *{
  width: calc(33.33% - 20px);
}
.col2 img,
.col3 img{
  max-width: 100%;
  height: auto;
  width /***/:auto;
}
.col3::after{
  content:"";
  display: block;
  width: calc(33.33% - 20px);
}
/**/
.more{
  position: relative;
  display: block;
  background: #e63368;
  z-index: 200;
  overflow: hidden;
  margin: 30px 0 0 auto;
  border-radius: 50px; 
  -webkit-border-radius: 50px; 
  -moz-border-radius: 50px; 
  text-align: right;
  width: 200px;
}
.more a {
  position: relative;
  display: block;
  z-index: 2;
  padding: 5px 20px 10px 20px;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
.more a:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: #009fd9;
  transition: all 300ms linear;
}
.more a:hover:before {
  left: 0;
}
.more span{
    position: relative;
    display: inline-block;
    padding: 0 16px 0 0;
    vertical-align: middle;
    text-decoration: none;
}
.more span::before{
    position: absolute;
    top: 4px;
    right: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/**/
.effect-fade{
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1200ms;
}
.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}
/**/
br.sp{
  display: none;
}



/* diagram */
.diagram .sp,
.diagram .FIR,
.diagram span{
  display: none;
}
.diagram .image{
  margin: 0 !important;
}
.diagram{
  text-align: center;
}

/*----- footer -----*/
footer{
  margin: 0;
  text-align: center;
  width: 100%;
  overflow: hidden;
}
body:not(#home) footer{
  margin: 60px 0 0 0;
}
footer .copy{
  margin: 0;
  padding: 20px 0;
  font-size: 1.1rem;
  color: #666766;
  width: 100%;
}
footer #ftmenu ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
footer .inner{
  justify-content: space-between;
  margin: auto;
  padding: 60px 0;
  max-width: 1200px;
}
#ftmenu ul,
#ftmenu li{
  margin: 0;
  background: none;
  padding: 0;
  list-style-type: none;
}
footer #ftmenu a{
  text-decoration: none;
  color: #1e1f1e;
}
#ftmenu li{
  margin-right: 30px;
  font-size: 1.4rem;
}






/*  home
////////////////////////////////////////// */
body#home #main-pic .inner{
  position: relative;
  display: flex;
  align-items: center;
  margin: auto;
  background: url("../img/bg-home-mainpic.webp") center 0 no-repeat;
  background-size: cover;
  padding: 0 0 60px 0;
  width: 1200px;
  height: 100%;
}
body#home #main-pic h1{
  padding: 60px 0 110px 0;
  font-size: 11.0rem;
  text-align: left;
  color: #1f5299;
  line-height: 1.2;
/*  display: flex;
  justify-content: flex-start;
  align-items: center;*/
  font-weight: 300;
}
body#home #main-pic h1 span{
  display: block;
  margin: 30px 0 0 5px;
  font-size: 2.2rem;
}
body#home .newsarea {
  position: absolute;
  right: 0;
  bottom: 60px;
  width: 50%;
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 20px 0;
  border-radius: 100px;
  box-sizing: border-box;
}
.newsarea ul {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
  transition: transform 0.5s ease;
}
.newsarea li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 0 0 100%;
  box-sizing: border-box;
  padding: 0 60px 0 40px;
}
.newsarea li p {
  margin: 0;
  display: inline-block;
  font-size: 1.4rem;
}
.newsarea li .date{
  width: 7em;
  color: #1f5299;
  font-family: 'Inter', sans-serif;
}
.newsarea li .text{
  width: calc(100% - 7em);
}
body#home .newsarea li .text,
body#home .newsarea a{
  color: #303130;
}
.newsarea a{
  text-decoration: none;
}
.newsarea a:hover{
  text-decoration: underline;
}
.news-arrow {
  position: absolute;
  margin: 5px 0 0 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  cursor: pointer;
}
body#home .news-arrow {
  top: 50%;
}
.news-arrow.prev {
  right: 30px;
}
.news-arrow.next {
  right: 15px;
}
.news-arrow.prev::before,
.news-arrow.next::before{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #666766;
  margin: auto;
}
.news-arrow.prev::before {
  border-left: 1px solid #666766;
  transform: rotate(-45deg);
}
.news-arrow.next::before {
  border-right: 1px solid #666766;
  transform: rotate(45deg);
}

/**/
body#home h2{
  margin: 0 0 20px 0;
  font-size: 5.0rem;
  font-weight: 300;
}
body#home h2 span{
  margin: 0 0 0 10px;
  color: #1f5299;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0;
}
body#home section{
  margin: 0 30px 60px 30px;
  background: #fff;
  border-radius: 30px;
}
body#home section .inner{
  padding: 0;
}
body#home section .inner a{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;
  color: #303130;
  text-decoration: none;
}
body#home section p{
  font-size: 2.0rem;
}
body#home section .images{
  margin: 0;
  width: 400px;
  overflow:hidden;
  border-radius: 30px;
}
body#home section .images img{
  margin: 0;
  transition: all 1s ease-out;
}
body#home section a:hover img{
  transform:scale(1.2,1.2);
  transition: all 1s ease-out;
}
body#home section .inner div{
  width: calc(100% - 440px);
}
body#home #business-area .inner a{
  flex-direction: row-reverse;
}
body#home #recruit-area{
  margin: 0;
  border-radius: 0;
}
body#home #recruit-area .inner{
  padding: 60px 0;
}
#hmenu li a.disabled{
  color: #ccc;
}
#hmenu li a.disabled,
body#home #recruit-area a.disabled {
  pointer-events: none;
  cursor: default;
}
body#home #recruit-area .inner a{
  position: relative;
  overflow: hidden;
  padding: 60px;
  border-radius: 30px;
}
body#home #recruit-area .inner a:after{
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  background: url("../img/bg-home-recruit.webp") center center no-repeat;
  background-size: cover;
  transition: all 1s ease-out;
}
body#home #recruit-area .inner a:hover:after {
  transform: scale(1.1);
}
body#home #recruit-area .box{
  position: relative;
  margin: 0 !important;
  background: none;
  padding: 0;
  width: 100%;
  z-index: 2;
}
body#home #recruit-area .box h2,
body#home #recruit-area .box h2 span,
body#home #recruit-area .box p{
  color: #fff;
}
/*
body#home #recruit-area .box{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}*/
body#home #recruit-area .box img{
  margin: 0;
}
body#home #recruit-area .box a{
  padding: 0;
}
body#home #recruit-area .box h2{
  width: 100%;
}
body#home #recruit-area .box .banners{
  text-align: center;
}
.arrow{
	position: relative;
  display: block;
  margin: 20px 0 0 auto;
  border: 1px solid #1f5299;
  width: 40px;
  height: 40px;
  border-radius: 100px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow::before{
	left: 12px;
	width: 15px;
	height: 1px;
	background: #1f5299;
}
.arrow::after{
	left: 5px;
	right: 0;
	width: 10px;
	height: 10px;
	border-top: 1px solid #1f5299;
	border-right: 1px solid #1f5299;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
body#home #recruit-area .arrow{
  border: 1px solid #fff;
}
body#home #recruit-area .arrow::before{
	background: #fff;
}
body#home #recruit-area .arrow::after{
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
body#home #recruit-area .inner a:hover img{
    transform: scale(1.0);
}





/*  company
////////////////////////////////////////// */
body#company-idx section table th{
  width: 10em;
}
body#company-idx #about table{
  margin-top: 40px;
}
body#company-idx #history dl{
  position: relative;
}
body#company-idx #history dl:before{
  position: absolute;
  content: "";
  top: 0;
  left: 114px;
  background: #ab0179;
  width: 1px;
  height: 100%;
}
body#company-idx #history dt{
  position: relative;
  padding: 0;
  color: #303130;
  width: 130px;
}
body#company-idx #history dt:before{
  position: absolute;
  content: "";
  background-color: #ab0179;
  right: 10px;
  top: 0.45em;
  margin: auto;
  height: 11px;
  width: 11px;
  border-radius: 100px;
}
body#company-idx #history dd{
  margin: -1.6em 0 20px 0;
  padding: 0 0 0 150px;
}
body#company-idx #message h2{
  width: 100%;
}
body#company-idx #message .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#company-idx #message .images{
  width: 400px;
}
/*body#company-idx #message .images img{
  height: 100%;
  object-fit: cover;
}*/
body#company-idx #message .text{
  width: calc(100% - 440px);
}
body#company-idx #message .posted{
  color: #000;
  font-size: 1.6rem;
}
body#company-idx #message .posted em{
  font-size: 150%;
  font-style: normal;
  color: #000;
}







/*  business
////////////////////////////////////////// */
body#business-idx #lead{
  margin-top: 60px;
}
body#business-idx #lg-cas .inner,
body#business-idx section .block{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#business-idx section .block{
  align-items: center;
}
body#business-idx section .block div,
body#business-idx section .block .image{
  width: 50%;
}
body#business-idx section .block .image img{
  margin: 0;
}
body#business-idx section .block h3{
  margin: 0 0 20px 0;
  color: #ab0179;
}
body#business-idx #lg-cas{
  margin-top: 60px;
}
body#business-idx #lg-cas .inner{
  padding: 40px;
  background: #fff;
  border-radius: 30px;
}
body#business-idx #lg-cas h2{
  margin: 0 0 20px 0;
  font-size: 2.0rem;
  text-align: center;
}
body#business-idx #lg-cas h2 br{
  display: none;
}
body#business-idx #lg-cas em{
  font-style: normal;
}
body#business-idx #lg-cas h2 em{
  font-size: 150%;
  color: #303130;
  font-weight: 400;
}
body#business-idx #lg-cas h2{
  width: 100%;
}
body#business-idx #lg-cas .inner div{
  width: calc(50% - 20px);
}
body#business-idx #lg-cas p{
  margin: 0;
}
body#business-idx .images{
  overflow: hidden;
  border-radius: 20px;
}
body#business-idx #lg-cas img{
  margin: 0; 
  transition: transform 0.4s ease; 
}
body#business-idx a:hover .images img {
  transform: scale(1.1);
}
body#business-idx #lg-cas a{
  text-decoration: none;
}
body#business-idx #lg-cas .inner a div{
  position: relative;
  width: 100%;
}
body#business-idx #lg-cas .result h3,
body#business-idx #lg-cas .result a div p{
  color: #000;
  text-align: center;
  text-shadow: 0px 0px 7px rgba(255, 255, 255, 1);
}
body#business-idx #lg-cas .result h3{
  margin: 0;
  font-size: 2.0rem;
  width: 100%;
}
body#business-idx #lg-cas .result p{
  font-size: 2.0rem;
}
body#business-idx #lg-cas .result em{
  font-size: 5.0rem;
  color: #ab0179;
}
body#business-idx #lg-cas .result div div{
  position: absolute;
  top: 0;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
body#business-idx #lg-cas p.link{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  margin-top: 20px;
  font-size: 1.8rem;
  text-align: right;
}
body#business-idx #lg-cas .link .arrow{
  margin: 0 0 0 10px;
}


/*  contact
////////////////////////////////////////// */
body#contact-idx #lv02-01 .inner{
/*  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  margin-top: 40px;
}
body#contact-idx #lv02-01 .inner div{
  margin: auto;
  background: #fff;
  padding: 30px 20px;
  border-radius: 20px;
/*  width: calc(50% - 20px);*/
}
body#contact-idx #lv02-01 p,
body#contact-idx #lv02-01 h3{
  text-align: center;
}
body#contact-idx #lv02-01 h3{
  margin: 0 0 20px 0;
}
body#contact-idx #lv02-01 .lv03-01 p{
  color: #000;
}
body#contact-idx #lv02-01 .lv03-01 em{
  font-size: 2.4rem;
  font-weight: 600;
  color: #000;
  font-style: normal;
}
body#contact-idx #lv02-01 .lv03-02 a{
  font-size: 2.4rem;
  font-weight: 600;
  text-decoration: none;
}
body#contact-idx #lv02-01 .lv03-02 a:hover{
  text-decoration: underline;
}




/*  news
////////////////////////////////////////// */






/*  policy
////////////////////////////////////////// */
body#policy-next h4{
  margin: 40px 0 15px 0;
}
body#policy-next .lv04-01 h4{
  margin-top: 0;
}
body#policy-tms #lv02-01,
body#policy-cookie #lv02-01{
  margin-top: 40px;
}
body#policy-idx .mark img{
  width: 80px;
}
body#policy-idx #content .lv03-04 h4{
  margin-top: 30px;
}
body#policy-compliance #lead{
  margin-top: 60px;
}
body#policy-customer #lv02-03 .weak{
  margin-top: 20px;
}
body#policy-next .linkarea .link a{
  position: relative;
  padding: 0 0 0 15px;
}
body#policy-next .linkarea .link a::before{
  position: absolute;
  content: "";
  display: block;
  left: 0;
  right: auto;
  top: 2px;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 5px;
  border-top: 1px solid #666766;
  border-right: 1px solid #666766;
  transform: rotate(45deg);
}




/* Cookie Agreement
========================================================================== */
#cookie_alert{
  letter-spacing:1px;
  box-sizing:border-box;
  position:fixed;
  bottom:20px;
  left:20px;
  right: 20px;
  width: auto;
  background:#fff;
  padding: 10px 30px 10px 15px;
  border:solid 1px #999;
  color:#666;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s;
  z-index:6000;
/*
  background:#fbf2f8;
    box-shadow:0 0 10px rgba(19,76,127,0.2);
  border-radius: 5px;*/
  text-align: left;
  font-size: 1.2rem;
}
#cookie_alert.on{
  opacity:1;
  pointer-events:auto;
}
#cookie_alert .tx{
  line-height:20px;
}
#cookie_alert .tx.en{
  font-size:12px;
}
#cookie_alert .tx p{
  margin:0;
}
#cookie_alert p a{
  position: relative;
  padding-left: 16px;
  color:#303130;
}
#cookie_alert p a::after,
#cookie_alert p a::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
}
#cookie_alert p a::before{
  left: 2px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
#cookie_alert p a::after{
  background: #666;
  width: 10px;
  height: 1px;
}
#cookie_alert .tx a:hover{
/*	text-decoration:none;*/
}
/*#cookie_alert .tx p:last-child{
  margin-top:15px;
}*/
#cookie_alert .tx p a{
/*  background: url("../img/nav-arrow-ft.png") 0 center no-repeat;
  padding: 0 0 0 8px;*/
}
#cookie_alert .btn{
/*  position:absolute;
  bottom:10px;
  right:10px;*/
  display:block;
  padding: 0 15px;
  height: 30px;
  line-height:30px;
  color:#303130;
  border: 1px solid #303130;
  background:#fff;
  text-align:center;
  cursor:pointer;
/*  border-radius: 5px;*/
  transition: .3s;
}
#cookie_alert .btn:hover{
  background: #303130;
  color:#fff;
}
#cookie_alert .flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: 5px;
}
#cookie_alert .close{
  display:block;
  position:absolute;
  top: 10px;
  right: 10px;
  width:16px;
  height:16px;
  cursor:pointer;
}
#cookie_alert .close::before,
#cookie_alert .close::after{
  position:absolute;
  top:0;
  left:calc( 50% - 1px );
  display:block;
  content:'';
  width:2px;
  height:16px;
  background:#666;
}
#cookie_alert .close::before{
  transform:rotate(45deg);
}
#cookie_alert .close::after{
  transform:rotate(-45deg);
}

@media all and (max-width: 667px) {
  #cookie_alert{
    bottom: 10px;
    left: 10px;
    right: 10px;
    font-size: 1.1rem;
  }
}

/*
@media all and (max-width: 599px) {
  #cookie_alert{
    left:0;
    bottom:0;
    width:auto;
    height:auto;
    padding:24px 8px 8px
  }
  #cookie_alert .btn{
    right:8px;
    bottom:8px;
  }
  #cookie_alert .close{
    right:8px;
    top:8px;
  }
}
*/




/* recruit
========================================================================== */
/*  recruit - menu
////////////////////////////////////////// */
#recruit-menu{
  padding: 0 60px;
  transition: all 0.3s ease; 
}
#recruit-menu a{
  text-decoration: none;
  color: #ab0179;
}
#recruit-menu div{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.2), rgba(189, 19, 141, 0.2));
  border-radius: 20px 20px 0 0;
  min-height: 41px;
}
#recruit-menu #recruit-logo{
  margin: 10px 0 10px 30px;
  font-size: 1.3rem;
}
#recruit-menu #recruit-logo img{
  margin: 0 15px 0 0;
}
#recruit-menu .entry{
  margin-right: 10px;
}
#recruit-menu .entry a{
  display: inline-block;
  background: #fff;
  padding: 5px 20px;
  line-height: 1;
  border-radius: 50px;
  font-size: 1.7rem;
  font-weight: 700;
}
#recruit-menu ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 0;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.6), rgba(189, 19, 141, 0.6));
  padding: 0;
  list-style: none;
  border-radius: 0 0 20px 20px;
  min-height: 50px;
}
#recruit-menu ul li{
  margin: 0 15px;
}
#recruit-menu ul a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  height: 50px;
}
#recruit-menu ul a::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: #bd138d;
	transition: width 0.3s ease;
}
#recruit-menu ul a:hover::after,
#recruit-menu ul a.active::after{
	width: 100%;
}
header.scroll #recruit-menu ul a{
  font-size: 1.3rem;
}
header.scroll #recruit-menu{
  padding: 0 20px;
}
header.scroll #recruit-menu #recruit-logo img{
  width: auto;
  height: 18px;
}
header.scroll #recruit-menu div{
  position: relative;
  z-index: 10;
}
header.scroll #recruit-menu ul{
  min-height: auto;
}

/*  recruit - mainpic
////////////////////////////////////////// */
body.recruit #main-pic em{
  font-style: normal;
}
body.recruit #main-pic h1{
  color: #fff;
  line-height: 1;
}
body.recruit #main-pic h1 span{
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
body.recruit #main-pic h1 em{
  color: #fff;
  font-size: 11.0rem;
  font-weight: 300;
}
body.recruit #main-pic:not(.people-mainpic){
  margin: -50px 0 0 0 !important;
  background: url("../img/bg-recruit.webp") center center no-repeat;
  background-size: cover !important;
  border-radius: 0 0 30px 30px;
}
body.recruit #main-pic:not(.people-mainpic) .inner{
  padding: 120px 4% 100px 4%;
}



/*  recruit - home
////////////////////////////////////////// */
body#recruit-idx footer{
  margin: 0;
}
body#recruit-idx #main-pic{
  position: relative;
  background: none;
}
body#recruit-idx #main-pic::before{
  position: absolute;
  content: "";
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.3), rgba(189, 19, 141, 0.3));
  width: 100%;
  height: 100%;
  z-index: 1;
}
body#recruit-idx #main-pic .inner{
  position: relative;
  background: #101a29;
  padding: 0;
  z-index: 2;
  border-radius: 0 0 100px 100px;
  overflow: hidden;
}
.slider-container {
  position: relative;
  width: 100%;
  height: 500px;
  overflow: hidden;
}
.slider-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}
.slider-container img.active {
  opacity: 1;
}
/**/
body#recruit-idx .newsarea{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  left: 0;
  right: 0;
  margin: -25px auto 0 auto;
  background: #fff;
  padding: 10px 20px;
  width: 1200px;
  border-radius: 50px;
  z-index: 10;
}
body#recruit-idx .newsarea ul,
body#recruit-idx .newsarea li{
  margin: 0;
  padding: 0;
}
body#recruit-idx .newsarea li::before{
  display: none;
}
body#recruit-idx .newsarea p{
  margin: 0;
}
body#recruit-idx .newsarea h2{
  position: relative;
  margin: 0;
  color: #ab0179;
  font-weight: 500;
  font-size: 1.7rem;
  width: 70px;
}
body#recruit-idx .newsarea h2::before{
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  background: #c6c9c6;
  width: 1px;
  height: 16px;
}
body#recruit-idx .newsarea .list{
  margin-right: 40px;
  padding: 0 0 0 20px;
  width: calc(100% - 180px);
  overflow: hidden;
}
body#recruit-idx .newsarea .text{
  padding: 0 20px 0 0;
}
body#recruit-idx .newsarea .text a,
body#recruit-idx .newsarea p{
  color: #666766;
}
body#recruit-idx .newsarea .text a{
  color: #666766;
}
body#recruit-idx .newsarea .more{
  background: none;
  width: 70px;
}
body#recruit-idx .newsarea .more a{
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.2), rgba(189, 19, 141, 0.2));
  padding: 4px 0;
  font-size: 1.4rem;
  text-align: center;
  color: #ab0179;
  font-weight: 500;
  text-decoration: none;
}
body#recruit-idx .newsarea .more a::before{
  display: none;
}
body#recruit-idx .newsarea .more a:hover{
  background: #ab0179;
  color: #fff;
}
body#recruit-idx .news-arrow.prev,
body#recruit-idx .news-arrow.next{
margin: auto;
  top: 20px;
  bottom: 0;
}
body#recruit-idx .news-arrow.prev {
  right: 110px;
}
body#recruit-idx .news-arrow.next {
  right: 95px;
}
body#recruit-idx .news-arrow.prev::before,
body#recruit-idx .news-arrow.next::before{
  border-color: #ab0179;
  top: 0;
  bottom: 0;
  position: absolute;
}
/**/
body#recruit-idx #pickup{
  position: relative;
  padding: 80px 0 160px 0;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.3), rgba(189, 19, 141, 0.3));
}
body#recruit-idx #pickup .inner{
  background: url("../img/bg-recruit-idx-pickup.webp") center 0 no-repeat;
  background-size: cover;
  padding: 40px 0 60px 0;
  border: 20px solid #fff;
  border-radius: 50px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}
body#recruit-idx #pickup h2{
  margin: 0 0 20px 0;
  text-align: center;
  color: #fff;
}
body#recruit-idx #pickup .list{
  position: relative;
  z-index: 2;
}
body#recruit-idx #pickup .hand{
  position: absolute;
  right: 29%;
  bottom: 0;
  z-index: 1;
}
body#recruit-idx #pickup .hand img{
  margin: 0;
  width: 400px;
  height: auto;
}
body#recruit-idx #pickup .list{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 40px 0;
}
body#recruit-idx #pickup .list{
  margin: auto;
  width: 1000px;
}
body#recruit-idx #pickup .list a{
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
body#recruit-idx #pickup .pic{
  margin: 0 0 10px 0;
  background: #fff;
  padding: 20px;
  border-radius: 40px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
  transition: .3s;
}
body#recruit-idx #pickup .list > div{
  width: calc(33.33% - 20px);
}
body#recruit-idx #pickup .text{
  margin: 0;
  font-weight: 500;
  font-size: 1.8rem;
}
body#recruit-idx #pickup .list a:hover{
  transform: translateY(5px);
}
body#recruit-idx #pickup .list a:hover .pic{
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}
body#recruit-idx #pickup .pic img{
  margin: 0;
}



/**/
#people-area{
  position: relative;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.05), rgba(189, 19, 141, 0.05));
}
#people-area::before{
  position: absolute;
  content: "";
  left: 0;
  right: 0;
  bottom: 80px;
  width: 100%;
  height: 140px;
  background-image: linear-gradient(0deg, rgba(112, 87, 106, .5), rgba(112, 87, 106, 0));
}
#people-area h2{
  text-align: center;
}
#people-area .swiper{
  padding-top: 60px;
  z-index: 2;
}
/**/
.swiper-slide {
  width: 300px !important;
  opacity: 0 !important;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  backface-visibility: hidden;
}
.swiper-slide-active,
.swiper-slide-next,
.swiper-slide-prev {
  opacity: 1 !important;
  visibility: visible;
}
.mySwiper {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0 150px;
  overflow: hidden; 
  position: relative;
  --swiper-navigation-color: #ab0179;
  --swiper-navigation-size: 30px;
}
.slide-link {
  display: block;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  transform-origin: bottom center;
  transition: transform 0.4s ease;
}
.slide-link:hover {
/*  transform: translateY(-5px);*/
}
.slide-link img {
  width: 100%;
  height: auto;
  display: block;
  transition: opacity 0.3s ease;
  margin: 0;
}
.img-on {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0; 
}
.slide-link:hover .img-on {
  opacity: 1;
}
.slide-link:hover .img-off {
  opacity: 0;
}
#people-area .swiper-button-next,
#people-area .swiper-button-prev {
/*  width: 17px !important;
  height: 30px !important;
  color: #ab0179 !important;*/
  z-index: 20;
  width: 40px !important;
  height: 20px !important;
}
.swiper-slide-active .slide-link {
  transform: translateY(-60px);
}
.swiper-slide-active .slide-link:hover {
/*  transform: translateY(-65px);*/
}
#people-area .swiper-button-prev::after,
#people-area .swiper-button-next::after {
  content: "";
  font-family: inherit;
  display: block;
  width: 25px !important;
  height: 25px !important;
  border-top: 2px solid #ab0179;
  border-right: 2px solid #ab0179;
}
#people-area .swiper-button-next::after {
  transform: rotate(45deg);
}
#people-area .swiper-button-prev::after {
  transform: rotate(-135deg);
}

/**/
#ctf-area{
  position: relative;
  z-index: 10;
  margin-top: -120px;
  background: #fff;
  padding: 0 0 60px 0;
}
#ctf-area h2{
  text-align: center;
}
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/**/
#entry-area{
  position: relative;
  z-index: 10;
/**  margin-top: -120px;*/
  background: #fff url("../img/bg-entry-area.webp") center center no-repeat;
  background-size: cover !important;
}
#entry-area .inner{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 120px 0;
}
#entry-area .inner div{
}
#entry-area a{
  display: inline-block;
  padding: 20px 100px;
  background: #fff;
  font-size: 3.0rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  border-radius: 50px;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
}
#entry-area a:hover{
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transform: translateY(5px);
}
#entry-area .guide a{
  color: #1f5299;
}
#entry-area .entry a{
  color: #ab0179;
}
#entry-area span{
  display: inline-block;
  padding: 0 0 0 40px;
  background-size: 27px 40px !important;
  min-height: 40px;
}
#entry-area .guide span{
  background: url("../img/nav-entry-area-guide.svg") 0 center no-repeat;
}
#entry-area .entry span{
  background: url("../img/nav-entry-area-entry.svg") 0 center no-repeat;
}





/*  recruit - people
////////////////////////////////////////// */
body.recruit #main-pic.people-mainpic{
  padding: 0 60px;
}
body.recruit #main-pic.people-mainpic .inner{
  position: relative;
  margin: 0 auto;
  padding: 40px 0 0 0;
  max-width: 1200px;
}
body.recruit #main-pic.people-mainpic .inner div{
  position: absolute;
  z-index: 3;
}
body.recruit #main-pic.people-mainpic h1{
  color: #bd138d;
}
body.recruit #main-pic.people-mainpic h1 em{
  display: block;
  color: #bd138d;
}
body.recruit #main-pic.people-mainpic .images{
  position: relative;
  margin: 0 0 0 auto;
  width: 70%;
  z-index: 2;
}
body.recruit #main-pic.people-mainpic .images img{
  margin: 0;
  border-radius: 30px;
}
body.recruit #main-pic.people-mainpic .name{
  margin-top: 30px;
  font-size: 1.5rem;
  color: #1e1f1e;
  font-weight: 500;
}
body.recruit #main-pic.people-mainpic .name em{
  font-size: 4.0rem;
  color: #1e1f1e;
  font-weight: 500;
}
body.recruit #main-pic.people-mainpic .weak{
  margin: 20px 0 0 0;
  text-align: right;
}

/**/
body.recruit.people #careerpath{
  position: relative;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
}
body.recruit.people #careerpath::after{
	content: "";
  position: absolute;
  left: 0;
  top: -60px;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  width: 100%;
  height: 60px;
}
body.recruit.people #careerpath .inner{
  padding: 10px 0 50px 0;
}
body.talk #profile h2,
body.recruit.people #careerpath h2{
  margin: 0 0 30px 0;
  font-size: 5.0rem;
  font-weight: 100;
}
body.recruit.people #careerpath ul{
  display: flex;
  flex-wrap: wrap;
/*  align-items: center;
  justify-content: center;*/
  gap: 30px 40px;
  margin: 0;
  padding: 0;
}
body.recruit.people #careerpath ul li{
/*  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;*/
  position: relative;
  margin: 0;
  background: #fff;
  padding: 15px;
  width: calc(33.33% - 30px);
  border-radius: 10px;
}
body.recruit.people #careerpath ul li::after{
	position: absolute;
	content: "";
	top: 0;
	bottom: 0;
	right: -21px;
	margin: auto;
	width: 12px;
	height: 12px;
	border-top: 1px solid #ab0179;
	border-right: 1px solid #ab0179;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
body.recruit.people #careerpath ul li:last-child:after,
body.recruit.people #careerpath ul li::before{
  display: none;
}
body.recruit.people #careerpath ul li .date{
  display: inline-block;
  margin: 0 0 5px 0;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  padding: 5px 12px;
  border-radius: 100px;
  color: #ab0179;
  font-size: 80%;
  line-height: 1;
  font-weight: 600;
/*  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 110px;
  height: 110px;
  color: #1e1f1e;*/
}
body.recruit.people #careerpath ul li .text{
  padding: 0;
/*  width: calc(100% - 140px);*/
  color: #1e1f1e;
}
body.recruit.people #content-inner {
  position: relative;
  margin: 0 auto;
  padding: 0;
  max-width: 1200px;
  --content-inner-width: 1200px; /* CSS変数として定義 */
}
body.recruit.people #sidemenu {
  position: absolute;
  top: 100px;
  left: 0;
  width: 350px;
}
body.recruit.people #sidemenu.is-fixed {
  position: fixed;
  top: 180px;
  left: 0;
  z-index: 5;
}
body.recruit.people #sidemenu.is-bottom {
  position: absolute;
  bottom: auto;
}
body.recruit.people #sidemenu ul {
  margin: 0;
  background: white;
  padding: 10px 0;
  border: 1px solid #ddd;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
body.recruit.people #sidemenu ul li::before{
  display: none;
}
body.recruit.people #sidemenu li {
  margin: 0;
  padding: 0;
}
body.recruit.people #sidemenu li:last-child {
  border-bottom: none;
}
body.recruit.people #sidemenu a {
  display: block;
  position: relative;
  padding: 10px 20px 10px 50px;
  color: #333;
  text-decoration: none;
  transition: all 0.3s;
}
body.recruit.people #sidemenu a:hover {
/*  background: #f5f5f5;*/
  color: #ab0179;
}
body.recruit.people #sidemenu li.active a {
  color: #ab0179;
  font-weight: 700;
}
body.recruit.people #sidemenu li.active a::after{
	content: "";
  position: absolute;
  top: 0;
  left: 20px;
  bottom: 0;
  background: #bd138d;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 20px;
}
body.recruit.people #content-inner .block {
  padding: 60px 0 0 0;
}
body.recruit.people #content-inner .block .inner {
  padding: 0 0 0 410px;
/*  background: #f9f9f9;
  border-radius: 8px;*/
  --content-inner-block-inner-padding-left: 410px;
}
body.recruit.people #content-inner .images{
  margin: 40px 0 0 0;
}
body.recruit.people #content-inner .images img{
  margin: 0;
  border-radius: 20px;
}
body.recruit.people #pic02{
  margin: 0 calc(50% - 50vw);
  margin-top: 60px;
  height: 500px;
  background-size: cover !important;
  background-attachment: fixed !important;
  width: 100vw;
}
body#recruit-people-si #pic02{
  background: url("../img/p-people-si-02.webp") center center no-repeat;
}
body#recruit-people-ak #pic02{
  background: url("../img/p-people-ak-02.webp") center center no-repeat;
}
body#recruit-people-ry #pic02{
  background: url("../img/p-people-ry-02.webp") center center no-repeat;
}

body.recruit.people #movarea{
  position: relative;
  background: transparent;
  margin: 0;
  padding: 0;
}
body.recruit.people #movarea::before{
  content: "";
  position: absolute;
  top: 0;
  left: calc( -1 * ( (100vw - var(--content-inner-width, 1200px)) / 2 ) - var(--content-inner-block-inner-padding-left, 410px) );
  width: 100vw;
  height: 100%;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  z-index: 0;
}
body.recruit.people #movarea .video {
  position: relative; 
  max-width: 960px;
  margin: 0 auto 40px auto;
  z-index: 1;
}
#movarea .video {
  width: 100%;
  max-width: 800px;
  aspect-ratio: 16 / 9;
}
#movarea .video video{
  width: 100%;
  height: 100%;
  vertical-align: top;
  border: 0;
  margin: 0;
  padding: 0;
}

body.recruit.people #schedule > div{
  display: flex;
  flex-wrap: wrap;
}
body.recruit.people #schedule .time{
  position: relative;
  margin: 0;
  width: 110px;
  color: #000;
  font-size: 1.8rem;
  font-family: 'Inter';
  font-weight: 700;
}
body.recruit.people #schedule .time::after{
  content: "";
  position: absolute;
  background: #c6c9c6;
  top: 0;
  right: 20px;
  width: 1px;
  height: 100%;
}
body.recruit.people #schedule .time::before{
  content: "";
  position: absolute;
  background: #bd138d;
  top: 8px;
  right: 15px;
  width: 11px;
  height: 11px;
  border-radius: 50px;
  z-index: 1;
}
body.recruit.people #schedule .text{
  margin: 0 0 20px 0;
  width: calc(100% - 320px);
}
body.recruit.people #schedule .text h3{
  margin: 0 0 5px 0;
  color: #000;
  font-size: 1.6rem;
  font-weight: 700;
}
body.recruit.people #lv02-06{
  position: relative;
}
body.recruit.people #lv02-06 .inner{
  padding-bottom: 40px !important;
}
body.recruit.people #lv02-06 .images{
  position: absolute;
  bottom: 0;
  right: 0;
}
body.recruit.people #lv02-06 .images img{
  border-radius: 0;
}
body.recruit.people #lv02-07{
  position: relative;
  padding: 0 !important;
}
body.recruit.people #lv02-07::before{
  content: "";
  position: absolute;
  margin: 0 calc(50% - 50vw);
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  width: 100vw;
  height: 100%;
  z-index: 0;
}
body.recruit.people #lv02-07 .inner{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 60px 0 !important;
  z-index: 1;
}
body.recruit.people #lv02-07 .text{
  width: calc(100% - 390px);
}
body.recruit.people #lv02-07 .text h2{
  margin-bottom: 0;
}
body.recruit.people #lv02-07 .text h3 {
  margin: 40px 0 20px 0;
}
body.recruit.people #people-list h2{
  margin: 60px 20px 0 0;
  width: 100%;
  text-align: center;
}
body.recruit.people #people-list .inner{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
body.recruit.people #people-list .people{
  width: calc(33.33% - 20px);
}
body.recruit.people #people-list a{
  display: block;
  position: relative;
  color: #1e1f1e;
  text-decoration: none;
  border: 2px solid #F5F2F5;
  border-radius: 20px;
  overflow: hidden;
  transition: box-shadow 0.4s ease;
}
body.recruit.people #people-list a:hover{
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
body.recruit.people #people-list .active a{
  border: 2px solid #ab0179;
}
body.recruit.people #people-list .people div{
  padding: 20px;
  background: #fff;
}
body.recruit.people #people-list img{
  margin: 0;
}
body.recruit.people #people-list p{
  margin: 0;
  font-size: 1.5rem;
}
body.recruit.people #people-list .name{
  font-size: 2.0rem;
  font-weight: 600;
}

body.recruit.people #people-list .people-img {
  display: block;
  width: 100%;
  aspect-ratio: 380 / 450;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}
body.recruit.people #people-list .people-img::after {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.4s ease;
}
body.recruit.people #people-list .people a:hover .people-img::after {
  opacity: 1;
}
.people-ak .people-img {
  background-image: url('../img/p-people-list-ak.webp');
}
.people-ak .people-img::after {
  background-image: url('../img/p-people-list-ak_on.webp');
}
.people-ry .people-img {
  background-image: url('../img/p-people-list-ry.webp');
}
.people-ry .people-img::after {
  background-image: url('../img/p-people-list-ry_on.webp');
}
.people-si .people-img {
  background-image: url('../img/p-people-list-si.webp');
}
.people-si .people-img::after {
  background-image: url('../img/p-people-list-si_on.webp');
}



/*  recruit - talk
////////////////////////////////////////// */
body.talk #profile{
  position: relative;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
}
body#recruit-talk-newcomer #profile .inner{
  padding-bottom: 40px;
}
body.talk #profile::after{
	content: "";
  position: absolute;
  left: 0;
  top: -60px;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  width: 100%;
  height: 60px;
}
body.talk #profile ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 40px;
  margin: 0;
  padding: 0;
}
body.talk #profile li{
  margin: 0;
  padding: 0;
  text-align: center;
  width: calc(33.33% - 30px);
}
body.talk #profile li::before{
  display: none;
}
body.talk #profile img{
  margin: 0;
  width: 120px;
}
body.talk #profile li p{
  margin: 0;
  color: #1e1f1e;
  font-weight: 500;
  font-size: 1.4rem;
}
body.talk #profile li p span{
  font-weight: 700;
  color: #1e1f1e;
}
body.talk #profile li .data p{
  color: #1e1f1e;
}
body.talk #profile li .text{
  margin: 10px 0 0 0;
  background-color: rgba(255,255,255,0.5);
  padding: 15px;
  text-align: left;
}
body.talk #profile li div p{
  color: #666;
}
body.talk #profile .name{
  font-size: 4.0rem;
}
body.talk #profile .special{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 40px 0;
  background: #fff;
  padding: 30px;
}
body.talk #profile .special img{
  width: 120px;
}
body.talk #profile .special .text{
  width: calc(100% - 140px);
}
body.talk #profile .special h3{
  margin: 0 0 10px 0;
  font-size: 1.9rem;
  font-weight: 600;
}
body.talk #lead{
  background: #fff;
  padding: 40px 0;
  color: #1E1F1E;
  font-size: 1.8rem;
}
body.talk .pic{
  margin: 40px 0;
  text-align: center;
}
/*body.talk #lv02-02 .pic{
  margin: 20px 0;
}*/
body.talk .pic img{
  margin: 0;
}
.chat-list {
  display: flex;
  flex-direction: column;
  gap: 28px;
  max-width: 1025px;
  margin: 0 auto;
}
.chat-list h2{
  margin: 60px 0 20px 0;
}
.chat-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
}
.chat-row.chat-left{
  padding-right: 110px;
}
.chat-row.chat-right {
  padding-left: 110px;
  flex-direction: row-reverse;
}
.avatar-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.avatar-wrap img {
  margin: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  background: #c8d0e7;
}
.avatar-wrap .name {
  font-weight: 700;
  color: #1e1f1e;
  letter-spacing: 0.05em;
}
.bubble {
  position: relative;
  background: #fff;
  padding: 20px;
  color: #666;
  width: calc(100% - 110px);
}
.chat-row.chat-left .bubble::before,
.chat-row.chat-right .bubble::before{
  content: '';
  position: absolute;
  border-style: solid;
}
.chat-row.chat-left .bubble::before {
  left: -19px;
  top: 26px;
  border-width: 8px 19px 8px 0;
  border-color: transparent #ffffff transparent transparent;
  filter: drop-shadow(-2px 1px 2px rgba(100,110,160,0.08));
}
.chat-row.chat-right .bubble::before {
  right: -19px;
  top: 26px;
  border-width: 8px 0 8px 19px;
  border-color: transparent transparent transparent #ffffff;
  filter: drop-shadow(2px 1px 2px rgba(100,110,160,0.08));
}
.chat-row {
  opacity: 0;
  transform: translateY(16px);
  animation: fadeUp 0.5s ease forwards;
}
.chat-row:nth-child(1) { animation-delay: 0.05s; }
.chat-row:nth-child(2) { animation-delay: 0.2s; }
.chat-row:nth-child(3) { animation-delay: 0.35s; }
@keyframes fadeUp {
  to { opacity: 1; transform: translateY(0); }
}

body.talk #content-inner .bg{
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.05), rgba(189, 19, 141, 0.05));
}
body.talk #content-inner .bg .inner{
  padding: 0 0 60px 0;
}
body.talk #content-inner .picarea{
  margin: 0 calc(50% - 50vw);
  height: 500px;
  background-size: cover !important;
  background-attachment: fixed !important;
  width: 100vw;
}
body#recruit-talk-game #pic02{
  background: url("../img/p-recruit-talk-game-02.webp") center center no-repeat;
}
body#recruit-talk-game #pic05{
  background: url("../img/p-recruit-talk-game-05.webp") center center no-repeat;
}
body#recruit-talk-game #pic06{
  background: url("../img/p-recruit-talk-game-06.webp") center center no-repeat;
}
body#recruit-talk-game #pic08{
  background: url("../img/p-recruit-talk-game-08.webp") center center no-repeat;
}
body#recruit-talk-newcomer #pic02{
  background: url("../img/p-recruit-talk-newcomer-02.webp") center center no-repeat;
}
body#recruit-talk-newcomer #pic04{
  background: url("../img/p-recruit-talk-newcomer-04.webp") center center no-repeat;
}
body.talk h2.special{
  margin: 0;
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
  font-size: 5.0rem;
  font-weight: 200;
}
body.talk h2.special span{
  display: block;
  margin: 0 auto;
  padding: 60px 0;
  width: 1025px;
}
body.talk #message .inner{
  padding: 20px 0 100px 0;
}
#talk-list h2{
  text-align: center;
  width: 100%;
}
#talk-list .inner{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
#talk-list .inner .talk{
  width: calc(50% - 20px);
}
#talk-list img{
  margin: 0;
}
#talk-list a{
  display: block;
  text-decoration: none;
  border: 2px solid #F5F2F5;
  color: #1e1f1e;
  font-size: 1.6rem;
  border-radius: 20px;
  overflow: hidden;
  transition: box-shadow 0.4s ease;
}
#talk-list a:hover{
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
#talk-list .active a{
  border: 2px solid #ab0179;
}
#talk-list .talk div{
  background: #fff;
  padding: 20px;
}
#talk-list .talk .title{
  margin: 0 0 5px 0;
  font-size: 2.0rem;
  font-weight: 700;
}
body#recruit-people-idx #people-list,
body#recruit-talk-idx #talk-list{
  margin: 60px 0 0 0;
}
body.talk #mov-area .inner{
  padding:60px 0 !important;
}
body.talk #mov-area h2{
  margin: 0 0 20px 0;
}
body.talk #movarea{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body.talk #movarea .mov{
  width: calc(33.33% - 20px);
}
body.talk #movarea p{
}
body.talk #mov-area .name{
  margin: 10px 0 5px 0;
  color: #1E1F1E;
  font-weight: 700;
}
body#recruit-talk-newcomer #lv02-07 .inner,
body#recruit-talk-newcomer #lv02-06 .inner,
body#recruit-talk-newcomer #lv02-05 .inner{
  padding: 20px 0 60px 0;
}
body#recruit-talk-newcomer .column{
  padding: 10px;
  background-image: linear-gradient(90deg, rgba(242, 245, 249, 1), rgba(245, 242, 245, 1));
  font-size: 85%;
}



/*  recruit - message
////////////////////////////////////////// */
body#recruit-message #lv02-01 .inner{
  padding: 60px 0;
  width: 700px;
}
body#recruit-message #lv02-01 .images{
  margin: auto;
  width: 1000px;
}



/*  recruit - benefits
////////////////////////////////////////// */
body#recruit-benefits section ul,
body#recruit-benefits section li{
  margin: 0;
  padding: 0;
}
body#recruit-benefits section li::before{
  display: none;
}
body#recruit-benefits #lv02-03 .pic,
body#recruit-benefits section ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 20px;
  gap: 30px;
}
body#recruit-benefits section li{
  background: #fff;
  padding: 20px;
  width: calc(50% - 20px);
  text-align: center;
}
body#recruit-benefits h3{
  margin: 0 0 10px 0;
  text-align: center;
}
body#recruit-benefits #lv02-03 .pic figure,
body#recruit-benefits #lv02-01 li{
  width: calc(33.33% - 20px);
}
body#recruit-benefits #lv02-02 p{
  text-align: left;
}
body#recruit-benefits #lv02-03 ul{
  gap: 15px;
}
body#recruit-benefits #lv02-03 li{
  width: calc(50% - 10px);
  color: #303130;
  text-align: left;
}
body#recruit-benefits #lv02-03 .pic{
  margin-top: 40px;
}
body#recruit-benefits #lv02-03 img{
  margin: 0 0 5px 0;
}
body#recruit-benefits #lv02-03 figcaption{
  text-align: center;
}




/*  recruit - 3min
////////////////////////////////////////// */
body#recruit-3min #lead{
  background: #fff;
}
body#recruit-3min #lead .inner{
  padding: 60px 0;
}
body#recruit-3min h2{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  color: #ab0179;
  font-weight: 700;
}
body#recruit-3min h2 img{
  margin: 0 10px 0 0;
}
body#recruit-3min h3{
  text-align: center;
}
/*body#recruit-3min h2 span{
  display: inline-block;
  margin: 0 10px 0 0;
  background: #ab0179;
  color: #fff;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 100px;
  text-align: center;
}*/
body#recruit-3min #content .flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#recruit-3min #lv02-01 .lv03-01 h3{
  text-align: left;
}
body#recruit-3min #lv02-01 .lv03-01 .images{
  width: 230px;
  height: auto;
}
body#recruit-3min #lv02-01 .lv03-01 .images img{
  max-width: 100%;
  height: auto;
}
body#recruit-3min #lv02-01 .lv03-01 div{
  width: calc(100% - 270px);
}
body#recruit-3min #lv02-01 h3{
  margin: 0 0 20px 0;
}
body#recruit-3min #lv02-01 .lv03-02{
  margin-top: 40px;
  background: #fff;
  padding: 30px 0;
}
body#recruit-3min #lv02-01 .lv03-02 h3{
  margin: 0;
  text-align: center;
}
body#recruit-3min #lv02-01 .lv03-02 img{
  margin: 0;
}
body#recruit-3min #lv02-01 .balloon{
  margin: 0 30px;
  background: #f9edf6;
  padding: 30px;
}
body#recruit-3min #lv02-01 .balloon .flex{
  align-items: flex-end;
}
body#recruit-3min #lv02-01 .balloon .text{
  margin-top: 20px;
  color: #1e1f1e;
  text-align: center;
}
body#recruit-3min #lv02-01 .company{
  margin-top: 40px;
}
body#recruit-3min #lv02-01 .company table{
  width: calc(100% - 270px);
}
body#recruit-3min #lv02-01 .company table tr th,
body#recruit-3min #lv02-01 .company table tr td{
  padding: 10px 0;
}
body#recruit-3min #lv02-02 .lv03-03 .flex > div,
body#recruit-3min #lv02-02 .lv03-01 .flex div{
  background: #fff;
  padding: 20px;
  width: calc(50% - 20px);
}
body#recruit-3min #lv02-02 .lv03-01 .flex div{
  margin: 10px 0 0 0;
  text-align: center;
}
body#recruit-3min #lv02-02 .lv03-03 h4,
body#recruit-3min #lv02-02 .lv03-01 h4{
  text-align: center;
  font-weight: 600;
}
body#recruit-3min #lv02-02 .lv03-03 h4{
  font-size: 2.0rem;
}
body#recruit-3min #lv02-02 .registry ul,
body#recruit-3min #lv02-02 .registry li{
  margin: 0;
  padding: 0;
}
body#recruit-3min #lv02-02 .registry li::before{
  display: none;
}
body#recruit-3min #lv02-02 .registry li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
body#recruit-3min #lv02-02 .registry img{
  width: 80px;
}
body#recruit-3min #lv02-02 .registry li p{
  width: calc(100% - 100px);
  color: #1E1F1E;
  font-weight: 600;
}
body#recruit-3min #lv02-02 .lv05-02{
  border-top: 1px solid #e0e0e0;
}
body#recruit-3min #lv02-02 .lv05-02 h5{
  margin: 20px 0 10px 0;
  text-align: center;
  font-size: 1.8rem;
  color: #1E1F1E;
  font-weight: 600;
}
body#recruit-3min #lv02-02 .lv05-02 div{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
body#recruit-3min #lv02-02 .lv05-02 div div{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 150px;
  text-align: center;
  border-radius: 500px;
}
body#recruit-3min #lv02-02 .lv05-02 em{
  font-style: normal;
  font-size: 200%;
}
body#recruit-3min #lv02-02 .lv05-02 p{
  line-height: 1.4;
}
body#recruit-3min #lv02-02 .total{
  margin-bottom: 10px;
  font-size: 1.8rem;
}
body#recruit-3min #lv02-02 .lg-cas .total{
  background: #ab0179;
}
body#recruit-3min #lv02-02 .lg-cas .place{
  border: 1px solid #ab0179;
  color: #ab0179;
}
body#recruit-3min #lv02-02 .lg-cas .place em{
  color: #ab0179;
}
body#recruit-3min #lv02-02 .registry .total{
  background: #1e4e90;
}
body#recruit-3min #lv02-02 .registry .place{
  border: 1px solid #1e4e90;
  color: #1e4e90;
}
body#recruit-3min #lv02-02 .registry .place em{
  color: #1e4e90;
}
body#recruit-3min #lv02-02 .total,
body#recruit-3min #lv02-02 .total em{
  color: #fff;
}
body#recruit-3min #lv02-02 .place span,
body#recruit-3min #lv02-02 .total em{
  display: block;
}
body#recruit-3min #lv02-02 .lv03-04 .lv04-01 div{
  width: calc(100% - 260px);
}
body#recruit-3min #lv02-02 .lv03-04 .lv04-01 .images{
  width: 200px;
}
body#recruit-3min #lv02-02 .lv03-04 .lv04-01 em{
  font-style: normal;
  color: #000;
}
body#recruit-3min #lv02-03 .services,
body#recruit-3min #lv02-03 .business{
  margin: 0 0 40px 0;
  background: #fff;
  padding: 20px;
}
body#recruit-3min #lv02-03 .business{
  align-items: center;
}
body#recruit-3min #lv02-03 .business img{
  margin: 0;
}
body#recruit-3min #lv02-03 .business div{
  width: calc(100% - 540px);
}
body#recruit-3min #lv02-03 .services h4,
body#recruit-3min #lv02-03 .business h4{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
body#recruit-3min #lv02-03 .services h4 span,
body#recruit-3min #lv02-03 .business h4 span{
  display: inline-block;
  margin-right: 10px;
  background: #ab0179;
  padding: 2px 5px;
  color: #fff;
  font-size: 70%;
  font-weight: 600;
}
body#recruit-3min #lv02-03 #service{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#recruit-3min #lv02-03 .services{
  width: calc(50% - 20px);
}
body#recruit-3min #lv02-03 .services .image{
  display: flex;
  justify-content: center;
  align-items: center;
}
body#recruit-3min #lv02-03 .lv03-02 .flex div{
  padding: 20px;
  background: #fff;
  width: calc(33.33% - 20px);
  text-align: center;
}
body#recruit-3min #lv02-03 .lv03-02 .flex p{
  text-align: left;
}





/*  recruit - data
////////////////////////////////////////// */
body#recruit-data #lead .inner{
  padding: 60px 0;
}
body#recruit-data .block:nth-child(even) {
  background-image: linear-gradient(90deg, rgba(31, 82, 153, 0.1), rgba(189, 19, 141, 0.1));
}
body#recruit-data section h2{
  margin: 0 0 20px 0;
}
body#recruit-data section h3{
  font-weight: 700;
  text-align: center;
}
body#recruit-data section .inner{
  padding: 20px 0 80px 0;
}
body#recruit-data section h2 span{
  color: #f2d0e8;
  font-size: 8.0rem;
}
body#recruit-data .block:nth-child(even) h2 span{
  color: #fff;
}
body#recruit-data section .flex{
  display: flex;
  flex-wrap: wrap;
/*  align-items: center;*/
  justify-content: space-between;
}
body#recruit-data section .flex > div{
  width: calc(33.33% - 20px);
}
body#recruit-data .ranking{
  width: calc(100% - 320px);
}
body#recruit-data #lv02-05 .ranking,
body#recruit-data #lv02-05 .others{
  width: calc(50% - 160px);
}
body#recruit-data .ranking #lv02-05 .flex > img{
  margin-right: 40px;
}
body#recruit-data .ranking ul,
body#recruit-data .ranking li{
  margin: 0;
  padding: 0;
}
body#recruit-data .ranking li::before{
  display: none;
}
body#recruit-data .ranking li{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
  font-size: 2.4rem;
  color: #000;
  font-weight: 700;
}
body#recruit-data .ranking li img{
  margin: 0 10px 0 0;
}
body#recruit-data .ranking li span{
  width: calc(100% - 68px);
}
body#recruit-data .ranking li:nth-child(1) span{
  padding-top: 15px;
}
body#recruit-data .others h3{
  margin: 0 0 10px 0;
  color: #000;
  font-size: 2.0rem;
  text-align: left;
}
body#recruit-data .others li{
  color: #000;
  font-weight: 500;
}
body#recruit-data .others li::before{
  background-color: #ab0179;
}
body#recruit-data .ranking li:nth-child(4),
body#recruit-data .ranking li:nth-child(5){
  font-size: 2.0rem;
  font-weight: 400;
}
body#recruit-data #lv02-02 .flex > div{
  text-align: center;
}
body#recruit-data #lv02-02 .flex p{
  color: #000;
  font-size: 2.0rem;
  font-weight: 600;
}
body#recruit-data #lv02-02 .flex em{
  color: #000;
  font-size: 3.0rem;
  font-style: normal;
}
body#recruit-data #lv02-02 .flex span{
  font-size: 1.6rem;
  font-weight: 500;
}
body#recruit-data #lv02-03 dt{
  color: #000;
}
body#recruit-data #lv02-03 dd{
  padding: 0;
  margin-bottom: 15px;
}
body#recruit-data #lv02-03 img{
  width: 400px;
}
body#recruit-data #lv02-03 .images{
  text-align: center;
}
body#recruit-data #lv02-03 .stack{
/*  width: 60%;*/
}
/*body#recruit-data #lv02-03 .qualifications{
  width: calc(40% - 20px);
}*/
body#recruit-data #lv02-03 .stack h3{
  margin: 0 0 30px 0;
  width: 100%;
}
body#recruit-data #lv02-03 .stack dl{
  width: calc(33.33% - 10px);
}
body#recruit-data #lv02-04 .inner div{
  margin-bottom: 30px;
  background: #fff;
  padding: 30px;
}
body#recruit-data #lv02-04 h3{
  margin: 0 0 20px 0;
}
body#recruit-data #lv02-04 ul,
body#recruit-data #lv02-04 li{
  margin: 0;
  padding: 0;
}
body#recruit-data #lv02-04 li::before{
  display: none;
}
body#recruit-data #lv02-04 ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
body#recruit-data #lv02-04 li{
  position: relative;
  margin: 0 0 30px 0;
  background: #e9eef5;
  padding: 15px;
  width: calc(33.33% - 20px);
  color: #1e1f1e;
}
body#recruit-data #lv02-04 li::before {
  content: "";
  display: block;
  position: absolute;
  background: none;
  top: auto;
  left: 50%;
  bottom: -20px;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 12px solid transparent;
  border-top: 20px solid #e9eef5;
  border-bottom-width: 0;
}
body#recruit-data #lv02-04 li:nth-child(odd){
  background: #f8e7f4;
}
body#recruit-data #lv02-04 li:nth-child(odd)::before{
  border-top: 20px solid #f8e7f4;
}
body#recruit-data #lv02-04 img,
body#recruit-data #lv02-04 .inner .images{
  margin: 0;
  padding: 0;
}
body#recruit-data #lv02-04 .inner .images{
  margin-top: 20px;
  text-align: center;
}
body#recruit-data .nav{
  margin-top: 20px;
}


/*body#recruit-data .ranking li span{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 10px 0 0;
  width: 44px;
  height: 44px;
  color: #fff;
  font-weight: 700;
}
body#recruit-data .ranking li:nth-child(1){
  margin-bottom: 10px;
}
body#recruit-data .ranking li:nth-child(1) span{
  margin: 0 0 15px 0;
  padding-top: 18px;
  width: 58px;
  height: 48px;
  background: url("../img/bg-recruit-data-ranking-01.svg") 0 center no-repeat;
}
body#recruit-data .ranking li:nth-child(2) span{
  background: #adadad;
  border-radius: 50px;
}
body#recruit-data .ranking li:nth-child(3) span{
  background: #9e663f;
  border-radius: 50px;
}
*/

body#recruit-data .flex-area{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#recruit-data .flex-area .block{
  width: 33.33%;
}
body#recruit-data .flex-area .inner{
  padding: 0 4% 20px 4%;
  width: auto;
}
body#recruit-data .flex-area .images{
  text-align: center;
}
body#recruit-data .flex-area .ranking{
  width: 100%;
}






/*  recruit - news
////////////////////////////////////////// */
body#news-idx #newslist dt{
  color: #999;
  font-weight: 500;
}
body#news-idx #newslist dd{
  margin: 5px 0 20px 0;
  border-bottom: 1px solid #ccc;
  padding: 0 0 20px 0;
  color: #303130;
}


