@charset "UTF-8";
/* CSS Document */
html {
  margin: 0 !important;
  scroll-behavior: smooth;}

body {
  margin: 0;
  padding: 0;
  font-family: 'Zen Kaku Gothic New','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  background-color: #f5f5f5;
  color: #333333
  }
  
.display_sp {
    display: none;
}
.section_wrap {
  margin: 80px auto; /* センター配置 */
}

.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

.er-content{
width: 90%;
margin: 80px auto;
max-width: 1000px;
text-align: center;
display: flex;
flex-wrap: wrap;
justify-content: center;
}

.er-content h1{
margin-bottom: 40px;
border-bottom: dashed 2px #C1C1C1;
padding-bottom: 40px;
display: inline-block;
}

.er-content p{
line-height: 1.6rem;
margin-bottom: 80px;
}

/* スマホ対応（100%幅に） */
@media (max-width: 768px) {
  section {
    width: 100%;
  }
}

body {
	animation: fadein 3s forwards;
}

@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}




.navi_logo{
position: absolute;
top: 60px;
right: 0;
left: 0;
margin: 0 auto;
width: 120px;
}

.navi_sns{
position: absolute;
bottom: 60px;
right: 0;
left: 0;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
}

.navi_sns div{
width: 40px;
height: auto;
margin: 0 20px;
}

/*navi*/
/* ナビゲーションの基本スタイル */
#g-nav {
    position: fixed;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* フェードイン時のスタイル */
#g-nav.panelactive {
    opacity: 1;
    visibility: visible;
    z-index: 999;
}

/* フェードアウト時のスタイル */
#g-nav.fade-out {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* ナビゲーションの縦スクロール */
#g-nav.panelactive #g-nav-list {
    position: fixed;

    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/* ナビゲーションリストの表示位置 */
#g-nav ul {
    width: 100%;
    margin: 0 auto;
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* メニューが開いたときにリストをフェードイン */
#g-nav.panelactive ul {
    opacity: 1;
}

/* ナビゲーションのリスト */
#g-nav li {
    list-style: none;
    text-align: center;
}

#g-nav li a {
    color: #333;
    text-decoration: none;
    padding: 24px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
    display: inline-block;
}

/* ハンバーガーメニューボタン */
.openbtn1 {
    position: fixed;
    z-index: 9999;
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
}

/* ハンバーガーメニューの3本線 */
.openbtn1 span {
    display: inline-block;
    transition: all 0.4s;
    position: absolute;
    left: 10px;
    height: 2px;
    background-color: #000;
    width: 30px;
}

/* 3本線の位置 */
.openbtn1 span:nth-of-type(1) {
    top: 10px;
}

.openbtn1 span:nth-of-type(2) {
    top: 19px;
    transition: all 0.1s;
}

.openbtn1 span:nth-of-type(3) {
    top: 28px;
}

/* メニュー開いた時のバツ印変化 */
.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    transform: rotate(45deg);
    background-color: #000;
}

.openbtn1.active span:nth-of-type(2) {
    visibility: hidden;
}

.openbtn1.active span:nth-of-type(3) {
    top: 18px;
    transform: rotate(-45deg);
    background-color: #000;
}


/*header*/
.site-header{
width: 100%;
}















/* セクション全体をフルスクリーンに */
#top_header {
  position: relative;
  width: 100vw;
  height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white; /* テキストを白に */
  z-index: 1;
}

/* 背景画像の設定 */
#main_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('https://raburi.jp/wp-content/themes/raburi/img/top-bg.png'); /* 画像のパスを指定 */
  background-size: contain; /* 画像を縦横比を維持したままカバー */
  background-position: bottom; /* 画像を中央配置 */
  background-repeat: no-repeat;
  z-index: -1; /* 背景として配置 */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}

#main_img img {
width: 60%;
margin: 0 auto;
}


#top_header_text{
margin: 120px auto;
width: 80%;
text-align:left;
line-height: 2;
font-size: 16px;
}



 

/* contact */
.contact-section {
  margin: 0 auto 80px;
  padding-top: 60px;
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  }

.contact-title {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px; }

/*.contact-title::before {
  content: "";
  width: 60px;
  margin: 0 16px;border: 1px solid; }

.contact-title::after {
  content: "";
  width: 60px;
  margin: 0 16px;
  margin: 0 16px;border: 1px solid;}*/

.contact-top-text {
  font-size: 18px;
  text-align: left;
  line-height: 24px;
  margin-bottom: 40px; }

.contact-form {
  margin: 0 auto;
  padding: 24px; }

.contact-form p {
  font-size: 13px;
  font-weight: 500;
  margin-bottom: 20px;
  text-align: center; }
  

.form-left p{
margin-bottom: 8px;
}

input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
select,
textarea,
.field {
  display: block;
  width: 100%;
  height: 40px;
  margin-bottom: 0;
  padding: 0 12px;border: 1px solid #B0B0B0;
  border-radius: 3px;
  box-shadow: none;
  font-size: 1em;
  vertical-align: middle;
  line-height: 45px;
  transition: background-color 0.24s ease-in-out;
  outline: 0; }

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
  padding: 0.5em;
  overflow: auto;
  text-align: left !important;
  padding: 10px !important;}

.form {
  font-size: 12px; }

.form-content,.form-content2 {
  display: block;
  margin-bottom: 40px; }

.form-left {
  width: 100%;
  margin-bottom: 10px; }

.form-right {
  width: 100%; }

.wpcf7-form-control-wrap {
  position: relative;
  display: block; }

.wpcf7-not-valid-tip {
  position: absolute; }

.wpcf7-list-item {
  display: block !important;
  margin-bottom: 12px !important;
  margin-left: 0 !important; }
  
.wpcf7-checkbox{
text-align: left;
}

.wpcf7-text{
padding: 10px;
text-align: left;
}

.form-button {
width: 240px;
  height: 40px;
  color: #fff;
  text-align: center;
  background-color: #87377F;
  margin: 20px auto;
  position: relative;
  border-radius: 10px;
  }

.form-button input {
  margin: 0 !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); }

.form-button span {
  margin: 0 !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%); }

.recaptcha {
  font-size: 12px;
  text-align: left;
  margin: 40px auto; }

.contact-bottom-text {
  font-size: 14px;
  text-align: left;
  margin: 40px auto;
  line-height: 32px; }

.wpcf7-response-output {
  text-align: center;
  padding: 10px !important; }
  
.rirekisyo_button{
width: 180px;
height: 40px;
margin: 0 auto 80px;
border-radius: 8px;
background-color: #FFB71C;
color: #fff;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}

.rirekisyo_p p{
margin: 0!important;
font-size: 16px!important;
}

#autozip {
   display: none !important;
}

.top-privacypolicy{
text-align: center;
margin: 20px auto;
}

  
/*footer*/
.footer_box{
width: 90%;
margin: 0 auto 40px;
}

.footer_box01{
margin-bottom: 40px;
text-align: center;
}

.footer_box01_img{
width: 180px;
margin: 0 auto 20px;
}

.footer_box02{
margin-bottom: 40px;
text-align: center;
}

.footer_box02_text{
margin-bottom: 10px;
}

.footer_box02_01{

padding-bottom: 10px;
margin-bottom: 20px;
}

.tel{
font-size: 32px;
font-weight: bold;
}

.company_name{
margin-bottom: 10px;
}

.copyrights p{
text-align: center;
font-size: 12px;
margin-bottom: 10px;
}

.line_pop01{
width: 90%;
margin: 40px auto;
}

.footer_sns{
margin: 40px auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: center;
}

.footer_sns div{
width: 40px;
height: auto;
margin: 0 20px;
}



/*TOP求人一覧*/

/*TOP選ばれる理由*/
/* セクション全体のスタイル */
#reason {
  background-color: #F6F0FF;
  position: relative;
  padding: 80px 0 ;
  background-image: url(https://raburi.jp/wp-content/themes/raburi/img/about-bg.png);
  background-size: 90%;
  background-repeat: nrepeat;
}

.custom-shape-divider-top-1739161435 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-top-1739161435 svg {
    position: relative;
    display: block;
    width: calc(139% + 1.3px);
    height: 46px;
}

.custom-shape-divider-top-1739161435 .shape-fill {
    fill: #FFFFFF;
}

/* セクションタイトル */
.reason_title{
text-align: center;
width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.reason_title h2 {
font-size: 18px;
  font-weight: 500;
  padding: 20px 8px;
  margin: 0 auto 40px;
  line-height: 1.6;
    color: #fff;
    margin-bottom: 40px;
    border: 12px double #fff;
    background: rgba(208,113,213,1.00);
    border-radius: 16px;
}



/* 理由ボックスの共通スタイル */
.reason_box01 {
  background: white;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* 見出し（h3）のスタイル */
.reason_box01 h3 {
  font-size: 20px;
  color: #0066cc;
  margin-bottom: 10px;
  line-height: 1.6;
}

/* 段落のスタイル */
.reason_box p{
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  text-align: left;
}

.reason_box {
  background-color: #ffffff; /* bg-white */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
  transition: box-shadow 0.3s ease-in-out; /* transition-shadow duration-300 */
  border-radius: 0 40px 0 40px;
  margin-bottom: 40px;
  width: 90%;
  max-width: 1200px;
  margin: 40px auto;
}

.reason_box_contents{
padding: 40px 20px;
}

.reason_box_flex01 {
  padding-bottom: 20px;
  margin: 0 5% 20px;
  border-bottom: 3px dashed #F86279; 
  text-align: center;
}

.reason_box_flex02 {
  padding-bottom: 20px;
  margin: 0 5% 20px;
  border-bottom: 3px dashed #705DF1; 
  text-align: center;
}

.reason_box_flex03 {
  padding-bottom: 20px;
  margin: 0 5% 20px;
  border-bottom: 3px dashed #2EA66C; 
  text-align: center;
}

.reason_box_number {
width: 160px;
margin: 0 auto;
font-size: 2rem;
font-weight: 700;
color: #F86279;
line-height: 1;
display: block;
margin-bottom: 16px;
}

/*.reason_box_number02 {
  font-size: 2rem;
  font-weight: 700;
  color: #705DF1;
  margin-right: 1rem;
  line-height: 1;
  display: block;
  margin-bottom: 16px;
}


.reason_box_number03 {
  font-size: 2rem;
  font-weight: 700;
  color: #2EA66C;
  margin-right: 1rem;
  line-height: 1;
  display: block;
  margin-bottom: 16px;
}*/

.reason_box h3 {
font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}

.reason_box_h3_01{
  color: #F86279;
}

/*.reason_box_h3_01:after {
content: '';
display: inline-block;
width: 20px;
height: 55px;
background-image: url(https://raburi.jp/wp-content/themes/raburi/img/text-icon01.png);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-left: 10px;
}*/

.reason_box_h3_02{
  color: #705DF1;
}

/*.reason_box_h3_02:after {
content: '';
display: inline-block;
width: 20px;
height: 55px;
background-image: url(https://raburi.jp/wp-content/themes/raburi/img/text-icon02.png);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-left: 10px;
}*/

.reason_box_h3_03{
  color: #2EA66C;
}

/*.reason_box_h3_03:after {
content: '';
display: inline-block;
width: 20px;
height: 55px;
background-image: url(https://raburi.jp/wp-content/themes/raburi/img/text-icon03.png);
background-size: contain;
background-repeat: no-repeat;
vertical-align: middle;
margin-left: 10px;
}*/

.reason-box-description {
  color: #4b5563; /* text-gray-600 */
  line-height: 1.625; /* leading-relaxed */
}

.button_list_wrap{
width: 90%;
margin: 80px auto 0px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-content: center;
}

.button_list_wrap{
width: 100%;
}

.button01{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}

.button02{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}


.button03{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}

.button04{
width: 320px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}



/*TOPお仕事の流れ*/
/* ステップ全体のスタイル */
#flow{
margin-bottom: 120px;
}

.flow_title{
text-align: center;
width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.flow_title h2{
display: inline-block;
  font-size: 24px;
  font-weight: 500;
  padding: 1rem 2rem;
  text-align: center;
  color: #333;
  margin-bottom: 40px;
  position: relative;
}

.flow_title h2:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 7px;
  background: -webkit-repeating-linear-gradient(-45deg, #FCAF17, #FCAF17 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #FCAF17, #FCAF17 2px, #fff 2px, #fff 4px);
}

.flow-flex{
width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.step {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-item: center;
  width: 100%;
  max-width: 1200px;
  background-color: #f29199;
}

.step_box-wrap{
width: 90%;
margin: 40px 20px;
border-radius: 0px 10px 0 10px;
background-color: #fff;
position: relative;
}

.step_number{
width: 100px;
  margin: 0 auto;
  position: absolute;
  top: 100px;
  left: 20px;
}


#step01_box{
background-color: #FFE6E9;
}

#step02_box{
background-color: #E4E4FF;
}

#step03_box{
background-color: #D6FFE6;
}

#step04_box{
background-color: #FFF2E0;
}

/* 左側のステップ番号（Step1, Step2, ...） */
.step_box01 {
  width: 90%; 
  height: auto;
  font-size: 20px;
  line-height: 30px;
  font-weight: 500;
  border-radius: 8px;
  margin: 20px auto 40px;
  padding: 1rem 0;
  text-align: center;
}

/* 右側の説明文部分 */
.step_box02 {
  width: 100%;
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  padding: 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.step_box02 img{
width: 40%;
margin: 40px auto;
}

.step_box02 p{
width: 100%;
margin: 0 20px;
}


#step01{
color: #fff;
background-color: #f2637e;
}

#step02{
color: #fff;
background-color: #635ef2;
}

#step03{
color: #fff;
background-color: #2ea662;
}

#step04{
color: #fff;
background-color: #e69d5a;
}

.arrow_box{
text-align: center;
}

.arrow_down {
  display: inline-block;
  vertical-align: middle;
  color: #6F6F6F;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
  border-top: 20px solid #6F6F6F;
  border-bottom: 0;
  margin: 40px auto;
}




/*TOPよくある質問*/
#top_faq{
margin-bottom: 120px;
}

.p-faq__headinner {
  display: block;
  padding-left: 30px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q．";
  color: #000;
  font-size: 14px;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 16px;
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A．";
  color: #000;
  font-size: 14px;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 16px;
}
 
.accordion_area {
margin: 0 auto 80px;
width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border: 2px solid #aaa;
  padding: 1.5rem 3rem 1.5rem 1rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
  margin-bottom: 8px;
  border-radius: 4px;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: ;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: ;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: ;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 1px solid #000;
  width: 15px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 1px solid #000;
  width: 0;
  height: 15px;
  top: 0;
  bottom: 0;
  right: 7px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 1rem 1.5rem 1rem;
  box-sizing: border-box;
  background: #fff;
}

/*TOPバナー*/

/*TOP採用企業*/
/* セクション全体 */
#top_about02 {
  padding: 80px 20px;
  text-align: center;
  background-color: #fffff0;
}

/* タイトル */
#top_about02 h2 {
font-size: 16px;
  font-weight: 500;
  padding: 20px 8px;
  margin: 0 auto 40px;
  line-height: 1.6;
  color: #fff;
  border: 12px double #fff;
  background-color: #5669DB;
  border-radius: 16px;
}

/* 親コンテナ（横並び） */
.top_about02_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  width: 90%;
  margin: 0 auto;
}

/* 各ボックス（共通デザイン） */
.about_box01, .about_box02 {
  display: flex;
  align-items: center;
  background: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 49%; /* 2カラムレイアウト */
}

/* 画像部分のスタイル */
.about_box01_img, .about_box02_img {
  width: 70%; /* 画像の横幅を50% */
  display: flex;
  justify-content: center;
  align-items: center;
}

.about_box01_img img, .about_box02_img img {
  width: 100%; /* 画像を親要素いっぱいに */
  height: auto;
  object-fit: cover;
  border-radius: 8px;
}

/* テキスト部分 */
.about_box01_text, .about_box02_text {
  width: 50%; /* テキストの横幅を50% */
  text-align: left;
  padding: 15px;
}

/* h3 のスタイル */
.about_box01_text h3, .about_box02_text h3 {
  font-size: 24px;
  color: #0066cc;
  margin-bottom: 5px;
}

/* p のスタイル */
.about_box01_text p, .about_box02_text p {
  font-size: 16px;
  color: #555;
  line-height: 1.5;
}

/* スマホ対応（縦並びに変更） */
@media (max-width: 768px) {
  .top_about02_box {
    flex-direction: column;
    gap: 15px;
  }

  .about_box01, .about_box02 {
    width: 100%;
    flex-direction: column;
    text-align: center;
  }

  .about_box01_img, .about_box02_img,
  .about_box01_text, .about_box02_text {
    width: 100%; /* スマホでは全幅に */
  }

  .about_box01_img img, .about_box02_img img {
    width: 80%; /* スマホでは画像サイズを調整 */
  }
}













/*privacy-policy*/
.privacy{
margin: 40px auto;
width: 90%;
max-width: 1000px;
}

.privacy-top{
margin-top: 40px auto;
}

.privacy-top h1{
font-size: 32px;
text-align: center;
  margin-bottom: 40px;
}

.privacy-top p{
font-size: 16px;
line-height: 1.4rem;
}

.privacy-contents{
margin: 40px auto;
}

.privacy-list{
margin: 40px auto;
}

.privacy-list div{
margin: 20px auto;
}

.privacy-list div h3{
margin: 0px auto 10px;
}

.privacy-list h2{
font-size: 16px;
font-weight: normal;
margin-bottom: 20px;
}

.privacy-list ol{
font-size: 16px;
font-weight: normal;
list-style-type: disc;
}

.privacy-list li{
margin-bottom: 8px;
line-height: 1.2rem;
}

.privacy-list p{
line-height: 1.4rem;
}

.return_top{
width: 180px;
height: 60px;
border-radius: 8px;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
color: #fff;
background-color: #B364EF;
font-size: 18px;
font-weight: bold;
}

.return_top a{
height: 100%;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}

.grecaptcha-badge { visibility: hidden; }


/*求職者お問い合わせ*/
.register{
}

.page_h1{
text-align: center;
background-color: #F3E4FF;
padding: 40px 0;
  color: #5B287F;
    background-image:  repeating-linear-gradient(45deg, #ffc107 25%, transparent 25%, transparent 75%, #F3E4FF 75%, #F3E4FF), repeating-linear-gradient(45deg, #F3E4FF 25%, #F7EDFF 25%, #F7EDFF 75%, #F3E4FF 75%, #F3E4FF);
  background-position: 0 0, 30px 30px;
  background-size: 60px 60px;
}


.page_h1 h1{
font-size: 22px;
font-weight: 500;
}

/*事業者お問い合わせ*/
.business{

}

#business_about01{
margin: 0;
}

#business_about01 h2{
text-align: center;
font-size: 20px;
font-weight: bold;
color: rgba(40,45,108,1.00);
margin: 40px auto;
padding: 0 40px;
}

#circle_box{
width: 90%;
max-width: 1200px;
margin: 40px auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.circle{
width: 200px;
height: 200px;
font-size: 32px;
background-color: rgba(52,57,118,1.00);
color: #fff;
font-weight: bold;
border-radius: 120px;
text-align: center;
line-height: 40px;
 display: grid;
  place-items: center;
margin: 20px auto;
}

.business_point_box{
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.business_point {
margin: 20px 0;
background-color: #F56264;
width: 280px;
height: 100px;
text-align: center;
border-radius: 16px;
position: relative;
}

.business_point div{
position: absolute;
top: -14px;
left: -4px;
font-size: 48px;
color: #FFF4D7;
-webkit-text-stroke: 8px #F56264;
text-stroke: 8px #F56264;
font-family: "Anton", sans-serif;
letter-spacing: 2px;
}

#business_point01::before{
content: "01";
-webkit-text-stroke: 0;
position: absolute;
top: -14px;
left: -4px;
font-size: 48px;
color: #FFF4D7;
text-stroke: 0px;
font-family: "Anton", sans-serif;
z-index: 10;
letter-spacing: 2px;
}

#business_point02::before{
content: "02";
-webkit-text-stroke: 0;
position: absolute;
top: -14px;
left: -4px;
font-size: 48px;
color: #FFF4D7;
text-stroke: 0px;
font-family: "Anton", sans-serif;
z-index: 10;
letter-spacing: 2px;
}

#business_point03::before{
content: "03";
-webkit-text-stroke: 0;
position: absolute;
top: -14px;
left: -4px;
font-size: 48px;
color: #FFF4D7;
text-stroke: 0px;
font-family: "Anton", sans-serif;
z-index: 10;
letter-spacing: 2px;
}

.business_point p{
color: #fff;
line-height: 24px;
padding: 24px;
font-weight: bold;
font-size: 18px;
letter-spacing: 1px;
}

.business_about01_text01{
margin: 0px auto;
}

.business_about01_text01 h3{
font-size: 20px;
text-align: center;
font-weight: bold;
color: #343976;
margin: 20px 10px;
padding: 40px 0 10px;
}

.business_about01_text01 p{
font-size: 24px;
text-align: center;
font-weight: bold;
color: #F56264;
margin: 0px auto;
letter-spacing: 1px;
}

.business_about01_text01 p span{
font-size: 32px;
}

.business_about01_box01{
margin-bottom: 80px;
}

.business_about01_box02{
margin-bottom: 80px;
}

.business_about01_text02{
font-size: 16px;
text-align: center;
font-weight: bold;
color: #343976;
margin: 20px auto;
line-height: 24px;
}

/*job*/
.top-job-archive-wrap{
width: 90%;
max-width: 1200px;
margin: 0px auto 80px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.top-job-archive-list{
width: 100%;
margin: 0 auto 40px;
border: 1px solid #ddd;
border-radius: 10px;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
}

.job-title{
width: 90%;
margin: 40px auto;
}

.job-title h2{
font-size: 22px;
text-align: left;
font-weight: bold;
}

.job-page-image{
width: 80%;
margin: 0 auto;
}

.job-page-contents{
width: 90%;
max-width: 1000px;
margin: 80px auto;
}

.job-page-text{
margin-bottom: 40px;
}

.job-page-text h3{
display: block;
font-size: 24px;
font-weight: 500;
padding: 1rem;
color: #333;
position: relative;
}

.job-page-text h3:after{
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 7px;
background: -webkit-repeating-linear-gradient(-45deg, #FCAF17, #FCAF17 2px, #fff 2px, #fff 4px);
background: repeating-linear-gradient(-45deg, #FCAF17, #FCAF17 2px, #fff 2px, #fff 4px);
}

.job-page-text p{
font-size: 18px;
line-height: 1.6em;
padding: 1rem;
}

.line_contact{
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: #06c755;
color: #fff;
text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}


.back-list{
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;
text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}

.button_list_wrap2{
width: 100%;
margin: 0 auto;
max-width: 1000px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-content: center;
}

.button_list_wrap2 a{
width: 100%;
}

.job-archive-wrap{
width: 90%;
max-width: 1000px;
margin: 80px auto;
display: flex;
justify-content: center;
align-items: space-between;
flex-wrap: wrap;
}

.job-archive-list{
width: 100%;
margin: 0 auto 80px;
border: 1px solid #ddd;
border-radius: 10px;
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
display: flex;
flex-direction: column;
}

.job-list-text{
margin: 20px auto 0;
padding: 10px;
display: flex;
flex-direction: column;
flex-grow: 1;
}

.job-list-title-flex{
flex-grow: 1;
}

.job-list-text h2{
font-size: 16px;
font-weight: 500;
padding-bottom: 16px;
line-height: 1.6rem;
}

.job-list-text p{
font-size: 14px;
margin-left: 8px;
margin-bottom: 8px;
}

.job-list-text div{
display: flex;
justify-content: flex-start;
align-content: space-between;
flex-wrap: wrap;
}

.job-list-text .material-symbols-outlined{
font-size: 20px;
}

.job-archive-list-img a img{
border-radius: 10px 10px 0 0;
}

.archive_button{
width: 100%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.archive_button a{
width: 100%;
}

.archive_button p{
width: auto;
border-radius: 10px;
margin: 10px 10px 20px 10px ;
background-color: rgba(208,113,213,1.00);
color: #fff;
text-align: center;
font-size: 18px;
font-weight: bold;
padding: 14px 20px;
}

.banner_wrap{
width: 100%;
max-width: 980px;
margin: 80px auto 0px;
}



@media screen and (min-width: 780px) {


.business_point {
margin:20px;
background-color: #F56264;
width: 220px;
height: 100px;
text-align: center;
border-radius: 16px;
position: relative;
}

.about_box01{
width: 100%;
}

.about_box02{
width: 100%;
}
}


@media screen and (min-width: 1025px) {
.display_pc {
display: none;
}

.display_sp {
display: block;
}

#main_img img {
width: 50%;
}


/* セクション全体をフルスクリーンに */
#top_header {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white; /* テキストを白に */
  z-index: 1;
}

#top_header_text{
margin: 240px auto;
width: 80%;
text-align: center;
line-height: 2;
font-size: 20px;
}

/* contact */
  .contact-section {
    max-width: 1000px;
    margin: 0 auto 120px;
    padding-top: 80px; }

  .contact-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    }


  .contact-top-text {
    font-size: 18px;
    text-align: center;
}

  .contact-form {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px; }

  .contact-form p {
    font-size: 18px;
    margin-bottom: 40px;
    text-align: center; }

  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="url"],
  input[type="search"],
  input[type="tel"],
  input[type="color"],
  select,
  textarea,
  .field {
    display: block;
    width: 100%;
    height: 40px;
    margin-bottom: 0;
    padding: 0 12px;
    border: 1px solid #B0B0B0;
    border-radius: 3px;
    box-shadow: none;
    font-size: 1em;
    vertical-align: middle;
    line-height: 45px;
    transition: background-color 0.24s ease-in-out;
    outline: 0; }

  textarea {
    max-width: 100%;
    min-height: 120px;
    line-height: 1.5em;
    padding: 0.5em;
    overflow: auto; }

  .form-content {
    display: flex;
    align-items: center;
    margin-bottom: 32px; }
    
  .form-content2 {
    display: flex;
    align-items: flex-start;
    margin-bottom: 32px; }

  .form-top {
    align-items: flex-start; }

  .form-left {
    width: 30%;
    text-align: left; }

  .form-right {
    width: 80%; }

  .wpcf7-form-control-wrap {
    position: relative;
    display: block; }

  .wpcf7-not-valid-tip {
    position: absolute; }

  .wpcf7-list-item {
    display: block !important;

    margin-bottom: 20px !important;
    margin-left: 0 !important; }


  .form-button input {
    margin: 0 !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }

  .form-button span {
    margin: 0 !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }

  .recaptcha {
    font-size: 12px;
    text-align: center;
    margin: 40px auto; }

  .contact-bottom-text {
    margin: 60px auto;
    text-align: center;
    line-height: 32px; }

  .wpcf7-response-output {
    text-align: center;
    padding: 10px !important; }
    
    
    
.footer_box{

}

.footer_box01{

}

.footer_box01_img{
width: 240px;
}

.footer_box02_01 {
display: inline-block;
}
  
  

  
  
/*privacy-policy*/
.privacy{
margin: 80px auto;
}

.privacy-top{
margin-top: 80px auto;
}

.privacy-top h1{
font-size: 32px;
margin-bottom: 80px;
}

.privacy-contents{
margin: 80px auto;
}

.privacy-list{
margin: 40px auto;
}


.step_box02 img{
width: 25%;
margin: 0px auto 40px;
}

.step_box02 p{
margin: 0 20px;
}









/*TOP求人一覧*/

/*TOP選ばれる理由*/
/* セクション全体のスタイル */
#reason {
  padding: 180px 20px;
}

/* セクションタイトル */
.reason_title{
text-align: center;
}

.reason_title h2 {
  font-size: 30px;
  font-weight: 500;
  line-height: 50px;
  padding: 1.2rem 2rem;
  margin: 0 auto 80px;
  border-radius: 80px;
  width: 80%;
  max-width: 1000px;
}



/* 理由ボックスの共通スタイル */
.reason_box01 {
  background: white;
  padding: 20px;
  margin-bottom: 20px;
  border-radius: 8px;
  box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}

/* 見出し（h3）のスタイル */
.reason_box01 h3 {
  font-size: 20px;
  color: #0066cc;
  margin-bottom: 10px;
}

/* 段落のスタイル */
.reason_box p{
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  text-align: center;
}

.reason_box {
  background-color: #ffffff; /* bg-white */
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-lg */
  transition: box-shadow 0.3s ease-in-out; /* transition-shadow duration-300 */
  margin-bottom: 40px;
  border-radius: 0 80px 0 80px;
}

.reason_box_contents{
padding: 40px;
}

.reason_box_flex {
  display: flex;
  align-items: flex-end; /* items-end */
  justify-content: center;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 2px dashed #999; 
}

.reason_box_number01 {
  font-size: 2.4rem; /* text-3xl */
  font-weight: 700; /* font-bold */
  color: #F86279; /* text-pink-400 */
  line-height: 1; /* leading-none */
}

.reason_box_number02 {
  font-size: 2.4rem; /* text-3xl */
  font-weight: 700; /* font-bold */
  color: #705DF1; /* text-pink-400 */
  margin-right: 1rem; /* mr-4 */
  line-height: 1; /* leading-none */
}

.reason_box_number03 {
  font-size: 2.4rem; /* text-3xl */
  font-weight: 700; /* font-bold */
  color: #2EA66C; /* text-pink-400 */
  margin-right: 1rem; /* mr-4 */
  line-height: 1; /* leading-none */
}

.reason_box h3 {
  font-size: 1.6rem;
}

.reason_box_h3_01{
  color: #F86279;
}

.reason_box_h3_02{
  color: #705DF1;
}

.reason_box_h3_03{
  color: #2EA66C;
}

.reason-box-description {
  color: #4b5563; /* text-gray-600 */
  line-height: 1.625; /* leading-relaxed */
}

.button_list_wrap{
width: 80%;
margin: 80px auto 0px;
max-width: 1000px;
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-content: center;
}

.button01{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}

.button02{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}


.button03{
width: 240px;
height: 60px;
border-radius: 10px;
margin: 20px auto;
background-color: rgba(208,113,213,1.00);
color: #fff;text-align: center;
font-size: 18px;
font-weight: bold;
padding: 18px 0;
}





/*TOPお仕事の流れ*/
/* ステップ全体のスタイル */

#flow{
margin-bottom: 160px;
}
.flow_title{
text-align: center;
}

.flow_title h2{
display: inline-block;
  font-size: 24px;
}

.flow-flex {
  width: 100%;
  max-width: 80%;
  margin: 0 auto;
/*  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-item: center;*/
}

.step {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.step_box-wrap{
margin: 40px;
}

.step_number{
width: 120px;
  top: 40px;
  left: 40px;
}

/* 左側のステップ番号（Step1, Step2, ...） */
.step_box01 {
display: inline-block;
  width: 50%; /* ビューポート幅の50% */
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 20px;
  line-height: 32px;
  font-weight: 500;
  border-radius: 8px;
  margin: 40px auto;
  padding: 1rem 0;
}

/* 右側の説明文部分 */
.step_box02 {
  width: 100%;
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  padding: 10px 20px;
  text-align: center;
}

.step_box02 img{
width: 160px;
}

.arrow_box{
text-align: center;
}






/*TOPよくある質問*/
#top_faq{
margin-bottom: 160px;
}

.p-faq__headinner {
  display: block;
  padding-left: 30px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q．";
  color: #000;
  font-size: 14px;
  font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 16px;
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A．";
  color: #000;
  font-size: 14px;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 16px;
}
 
.accordion_area {
margin: 0 auto 80px;
}

.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border: 2px solid #aaa;
  padding: 1.5rem 3rem 1.5rem 1rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
  margin-bottom: 8px;
  border-radius: 4px;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: ;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: ;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: ;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 1.5rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 1px solid #000;
  width: 15px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 1px solid #000;
  width: 0;
  height: 15px;
  top: 0;
  bottom: 0;
  right: 7px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 1rem 1.5rem 1rem;
  box-sizing: border-box;
  background: #fff;
}

/*TOPバナー*/

/*TOP採用企業*/
/* セクション全体 */
#top_about02 {
  padding: 160px 20px;
  text-align: center;
}

/* タイトル */
#top_about02 h2 {
font-size: 30px;
    font-weight: 500;
    line-height: 50px;
    padding: 1.2rem 2rem;
    margin: 0 auto 80px;
    width: 80%;
    max-width: 1000px;
}

/* 親コンテナ（横並び） */
.top_about02_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

/* 各ボックス（共通デザイン） */
.about_box01, .about_box02 {
  display: flex;
  align-items: center;
  background: white;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  width: 49%; /* 2カラムレイアウト */
}

/* 画像部分のスタイル */
.about_box01_img, .about_box02_img {
  width: 70%; /* 画像の横幅を50% */
  display: flex;
  justify-content: center;
  align-items: center;
}

.about_box01_img img, .about_box02_img img {
  width: 100%; /* 画像を親要素いっぱいに */
  height: auto;
  object-fit: cover;
  border-radius: 8px;
}

/* テキスト部分 */
.about_box01_text, .about_box02_text {
  width: 50%; /* テキストの横幅を50% */
  text-align: left;
  padding: 15px;
}

/* h3 のスタイル */
.about_box01_text h3, .about_box02_text h3 {
  font-size: 24px;
  color: #0066cc;
  margin-bottom: 5px;
}

/* p のスタイル */
.about_box01_text p, .about_box02_text p {
  font-size: 16px;
  color: #555;
  line-height: 1.5;
}

/*事業者お問い合わせ*/
.business{

}

#business_about01{
margin: 0;
}

#business_about01 h2{
text-align: center;
font-size: 28px;
font-weight: bold;
color: rgba(40,45,108,1.00);
margin: 80px auto;
}

#circle_box{
width: 90%;
max-width: 1200px;
margin: 80px auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.circle{
width: 200px;
height: 200px;
font-size: 32px;
background-color: rgba(52,57,118,1.00);
color: #fff;
font-weight: bold;
border-radius: 120px;
text-align: center;
line-height: 40px;
 display: grid;
  place-items: center;
margin: 0 20px;
}

.business_point_box{
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}

.business_point {
margin: 0 20px;
background-color: #F56264;
width: 260px;
height: 100px;
text-align: center;
border-radius: 16px;
position: relative;
}


.business_point p{
color: #fff;
line-height: 24px;
padding: 24px;
font-weight: bold;
font-size: 18px;
letter-spacing: 1px;
}

.business_about01_text01{
width: 80%;
margin: 0px auto;
}

.business_about01_text01 h3{
font-size: 40px;
text-align: center;
font-weight: bold;
color: #343976;
margin: 20px 80px;
padding: 40px 0 10px;
}

.business_about01_text01 p{
font-size: 36px;
text-align: center;
font-weight: bold;
color: #F56264;
margin: 0px 80px;
padding: 40px 0 0px;
letter-spacing: 1px;
}

.business_about01_text01 p span{
font-size: 48px;
}

.business_about01_box01{
margin-bottom: 80px;
padding: 80px 0 0;
}

.business_about01_box02{
margin-bottom: 120px;
}

.business_about01_text02{
font-size: 18px;
text-align: center;
font-weight: bold;
color: #343976;
margin: 20px auto;
line-height: 24px;
}

.line_pop{
width: 240px;
margin: 0 auto;
position: fixed;
bottom: 40px;
right: 20px;
z-index: 1000;
opacity: 0;  /* 最初は透明 */
visibility: hidden; /* 最初は非表示 */
transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out;
}

.job-archive-wrap::after{
content:"";
display: block;
width:40%;
margin: 0 auto 80px;
}

.top-job-archive-list{
width: 30%;
margin: 80px auto;
}


.job-page-image{
width: 60%;
}

.job-archive-list{
width: 40%;
}

.job-title {
  margin: 120px auto 40px;
}

.job-title h2{
text-align: center;
}

.job-list-text h2{
font-size: 18px;
}

.job-list-text p{
font-size: 16px;
line-height: 1rem;
margin-left: 8px;
margin-bottom: 8px;
}

.banner_wrap{
margin: 120px auto 0px;
}

}

