/*
Theme Name: youand RECRUIT
Description: youand RECRUIT
Author: ACEWEB

Version:1.0
License:ACEWEB
License URI:http://aceweb.jp

Tags:
*/

@charset "utf-8";

/* ===========================================================
 *
 * ユーアンドリクルート スタイルシート
 * Last UpDate : 2026/02/18
 *
=========================================================== */

/* ----------------------------------------------------------
	style.css
---------------------------------------------------------- */
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  src: url('./fonts/noto-sans-jp-v56-japanese-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/noto-sans-jp-v56-japanese-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-900 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 900;
  src: url('./fonts/noto-sans-jp-v56-japanese-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}


/* ----------------------------------------------------------
 common
---------------------------------------------------------- */

html{ font-size: 62.5%; scroll-behavior: smooth; scroll-padding-top: 120px; }
body {
	color: #333;
	background-color: #fff;
	font-family: 'Noto Sans JP',"Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 1px;
	font-feature-settings: "palt";
	font-size: 16px;
	font-size: 1.6rem;
	margin: 0;
	padding-top: 70px;
}

html, body{ overflow-x: hidden; position: relative; }

:root{
	--main-color: #e60012;
	--btn-color: #c63540;
}


/* 非表示用 */
.noneSP		{ display: none !important; }

/* ----------------------------------------------------------
 link
---------------------------------------------------------- */
a:link		{ color: #333; text-decoration: none; }
a:visited	{ color: #333; text-decoration: none; }
a:hover		{ color: var(--main-color); text-decoration: none; }
a:active	{ color: var(--main-color); text-decoration: none; }

a { transition: 0.5s ease-in-out; }

/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 70px; background-color: #fff; display: flex; align-items: center; padding: 0 20px; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); z-index: 999; }
.header_logo{ flex-basis: 20%; }
.header_logo img{ max-width: 150px; height: auto; }
.header_logo span{ display: block; font-size: 1.2rem; }




.recruit_nav{ display: none; }

.header_btn{ display: none; }






/*ACCORDION toggle*/
	.toggle{
	-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    z-index: 1000;
    margin: 0;
    padding: 0;
    width: 100px;
    height: 100px;
    border: none;
    transition: background-color 0.2s ease;
    cursor: pointer;
    background-color: #fff;
  border-radius: 5px;}

	
.toggle:before, .toggle:after{
    content: "";
	  display: block;
    background-color: var(--main-color);
    position: absolute;
    top: 40%;
    left: 50%;
    width: 22px;
    height: 1px;
    margin: -1px 0 0 -11px;}
	.toggle:before{transform: translateY(-3px);}
	.toggle:after{transform: translateY(3px);}


  .toggle .toggle_menu{
    position: absolute;
    color: #fff;
    left: 50%;
    bottom: 15px;
    transform: translate(-50%, 0);
    top: initial;
    margin: initial;
    width: initial;
    height: initial;
    background-color: initial;}

.toggle {
  position: fixed;
  width: 50px;
  height: 50px;
  transition: .5s;
	border: 1px solid var(--main-color);
}

.toggle[aria-expanded=true] { transition: .5s;}

.toggle span{ position: absolute; left: 50%; bottom: 10px; transform: translatex(-50%); /* height: 1px; display: block; background: var(--main-color); width: 22px; */ }


.menu_list {
 	display: none; 
	position: fixed;
	width: 100%;
	height: 100vh;
	margin: 0;
	list-style: none;
	top: 10px;
	left: 10px;
	padding: 60px 25px;
  background-color: #fff;
  
    }

.toggle[aria-expanded=true] > span { display: none; }
.toggle[aria-expanded=true]::before, .toggle[aria-expanded=true]::after {}
.toggle[aria-expanded=true]::before {
  animation: 0.3s ease closeBar1 forwards;
	top: 50%;
}
.toggle[aria-expanded=true]::after {
  animation: 0.3s ease closeBar2 forwards;
	top: 50%;
}
.toggle.-close::before {
  animation: 0.3s ease closeBar1Rev forwards;
}
.toggle.-close::after {
  animation: 0.3s ease closeBar2Rev forwards;
}

@keyframes closeBar1 {
  0% {
    transform: translateY(-3px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(45deg);
  }
}
	
@keyframes closeBar2 {
  0% {
    transform: translateY(3px);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(-45deg);
  }
}
@keyframes closeBar1Rev {
  0% {
    transform: translateY(0) rotate(45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(-3px);
  }
}
@keyframes closeBar2Rev {
  0% {
    transform: translateY(0) rotate(-45deg);
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  100% {
    transform: translateY(3px);
  }
}


.nav {
	position: fixed;
	top: 0;
    right: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	padding: 60px 40px;
    border: 1px solid #f5f5f5;
	justify-content: center;
	align-items: center;
	overflow: scroll;
	background-color: rgba(207, 46, 46, 0.9);
	color: #fff;
	transition: opacity 0.3s ease, visibility 0.3s ease;
    /* スクロールバー非表示 */
    /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}


 /*Google Chrome、Safariへの対応*/
.nav::-webkit-scrollbar{
  display: none;

}

.nav[aria-hidden=true] {
  	visibility: hidden;
  	opacity: 0;
 	pointer-events: none;
    
}
.nav[aria-hidden=false] {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
    overflow: scroll;
}

.toggle_menu li {

}
.toggle_menu li a {
	color: #fff;
	transition: .5s;
	display: block;
	padding: 12px 0;
  font-size: 1.8rem;
  font-weight: 500;
  border-bottom: 1px solid #fff;
}

.header_accordion span::before{content: "MENU"; color: var(--main-color); font-size: 1rem; font-weight: 700; }
.toggle[aria-expanded=true] span::before{content: "close";}

.toggle[aria-expanded=true] span::before{ display: none; }
.toggle_menu i{margin-right: 10px;}
.toggle_menu li a:hover{}
.menu_sub{ padding: 8px 0;}
.menu_sub li{line-height: 2rem;}
.menu_sub li a{font-size: 1.7rem; padding: 8px 20px; border-bottom: none; position: relative;}
.menu_sub li a:after{content: ""; background-color: #fff; width: 8px; height: 11px; clip-path: polygon(0 0, 0% 100%, 100% 50%); position: absolute; top: 12px; left: 5px;}







/* パンくずリスト */
.breadcrumbs_sec{ margin-left: 0; letter-spacing: 2px; text-align: center; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #666; font-size: 1.2rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #666; font-size: 1.1rem; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #666; font-size: 1.1rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

.footer_entry{ background-color: var(--main-color); padding: 40px 0 20px 0; margin: 100px 0 0 0; }
.footer_entry_sec{ width: 90%; margin: 0 auto; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.footer_entry_tit{ font-size: 5.5rem; color: #fff; font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); margin-bottom: 40px; }
.footer_entry_list{ flex-basis: 70%; display: flex; justify-content: space-between; flex-wrap: wrap; }

.footer_entry_item{ width: 300px; flex-basis: 300px; margin-bottom: 20px; }
.footer_entry_item a{ position: relative; display: block; font-size: 1.6rem; font-weight: 700; color: var(--main-color);  background-color: #fff; padding: 15px; border-radius: 5px; border: 2px solid #fff; }
.footer_entry_item a:hover{ background-color: var(--main-color); color: #fff; }
.footer_entry_item a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.footer_entry_item a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }


footer{ position: relative; padding: 40px 0 60px 0; }
.footer_sec_wrap{ width: 90%; margin: 0 auto; text-align: center; }
.footer_sec{ margin-right: 0; flex-basis: 100%; text-align: center; }
.footer_logo{ margin-bottom: 40px; }
.footer_logo img{ width: 60%; height: auto; }
.footer_logo span{ display: block; margin-left: 0; margin-top: 20px; font-size: 2.5rem; }
.footer_nav{ display: none; margin-bottom: 40px; }
.footer_nav_list{ display: flex; }
.footer_nav_item{ flex: 1 0 auto; margin: 0 3% 0 0; }
.footer_nav_item a{ display: block; font-size: 1.8rem; font-weight: 700; margin: 0 1%; white-space: nowrap; }
.footer_copyright{ position: absolute; bottom: 20px; font-size: 1.2rem; left: 0; right: 0; margin: 0 auto; }
.footer_sec_txt{ width: 90%; position: initial; right: 0; left: 0; margin: 0 auto; bottom: 100px; font-size: 3.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); }






/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */

.h1_bg{}
.h1_bg img{ width: 100%; height: auto; max-height: 70px; object-fit: cover; }

.h1_01{ position: absolute; left: 0; right: 0; margin: 0 auto; top: 20%; width: 90%; font-size: 5.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; transform: rotate(-10deg); z-index: 5; text-align: center; }

.h1_wrapper{ position: relative; margin-bottom: 30px; }

.h1_wrap_sec h1{ margin-left: 0; margin-top: 70px; font-size: 2.5rem; font-weight: 700; text-align: center; }


/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ padding-top: 0; }


.top_img{
  position: relative;
  text-align: center;
  margin-bottom: 20px;
  overflow: visible;
}

.top_img_tit{

  width: max-content;
  max-width: 100%;
  text-align: center;

  font-size: 4rem; /* SP用サイズ */
  color: var(--main-color);

  line-height: 1;
  z-index: 2;
  margin: 0 auto;
  pointer-events: none;
  font-weight: 900;
}

.top_img_list{ margin-bottom: 40px; }

/* slick 周り（安定） */
.top_img_list .slick-list{
  overflow: hidden;
}

.top_img_list .slick-slide{
  margin: 0 !important;
  box-sizing: border-box;
  padding: 0 12px;
}

.top_img_item img{
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}






.top_catch{ width: 90%; max-width: 1000px; margin: 0 auto 100px auto; }
.top_catch_tit01{ font-size: 2.4rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
.top_catch_txt01{ font-size: 1.6rem; line-height: 1.8; letter-spacing: 2px; margin-bottom: 20px; }
.top_catch_btn01{ width: 350px; }
.top_catch_btn01 a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #eee; padding: 15px; border-radius: 5px; }
.top_catch_btn01 a:hover{ background-color: var(--main-color); color: #fff; }
.top_catch_btn01 a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.top_catch_btn01 a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }

.top_about{ position: relative; margin-bottom: 100px; }
.top_about_sec{ width: 100%; margin: 0; background-color: #eee; border-radius: 0; padding: 40px 0 60px 0; }
.top_about_tit{ position: absolute; left: 0; right: 0; margin: 0 auto; top: -30px; font-size: 5.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); text-align: center; }
.top_about_img01{ position: absolute; left: auto; right: -60px; top: 100px; z-index: 3; width: 90%; }
.top_about_img01 img{ border-radius: 15px 0 0 15px; width: 80%; height: auto; }
.top_about_img02 img{ border-radius: 0 15px 15px 0; }
.top_about_img03 img{ border-radius: 15px; }
.top_about_img02{ position: absolute; left: -50px; right: auto; top: 220px; z-index: 4; width: 230px; height: auto; }
.top_about_img02 img{ width: 100%; height: auto; }
.top_about_bg01{ position: absolute; right: 200px; top: 170px; z-index: 2; }
.top_about_img03{ display: none; position: absolute; left: 0; top: 350px; }
.top_about_txt{ width: 90%; max-width: 100% !important; margin: 0 auto; }
.top_about_tit01{ font-size: 3rem; font-weight: 700; margin-bottom: 400px; text-align: center; }
.top_about_txt01{ font-size: 1.6rem; letter-spacing: 1px; line-height: 2; font-weight: 700; margin-bottom: 40px; }
.top_about_btn01{ width: 300px; }
.top_about_btn01 a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #fff; padding: 15px; border-radius: 5px; }
.top_about_btn01 a:hover{ background-color: var(--main-color); color: #fff; }
.top_about_btn01 a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.top_about_btn01 a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }

.top_about_tit02{ font-size: 2.2rem; font-weight: 700; margin-bottom: 20px; text-align: center; }


.top_interview{ position: relative; background-color: #eee; height: auto; margin-bottom: 100px; }
.top_interview_sec{ padding: 80px 0 60px 0; }
.top_interview_tit{ position: absolute; left: 0; right: 0; margin: 0 auto; top: -30px; font-size: 5.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); text-align: center; }

.top_interview_sec .top_about_tit01{ margin-bottom: 20px; }
.top_interview_sec .top_about_txt01{ width: 90%; margin: 0 auto; }

.top_interview_list{ display: flex; justify-content: space-between; margin-top: 60px; margin-bottom: 60px; }
.top_interview_item{ flex-basis: 23%; position: relative; margin: 0 .2%; }
.top_interview_tit01{ position: absolute; bottom: 20%; left: 0; right: 0; width: 80%; color: #fff; font-size: 2.2rem; font-weight: 700; z-index: 2; margin: 0 auto; }
.top_interview_date01{ position: absolute; bottom: 6%; left: 35%; right: 0; width: 80%; font-size: 1.5rem; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_katagaki01{ position: absolute; bottom: 11%; left: 35%; right: 0; width: 80%; font-size: 1.5rem; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_name01{ position: absolute; bottom: 5%; left: 0; right: 0; width: 80%; font-size: 3.5rem; font-weight: 700; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_img01{ position: relative; z-index: 1; }
.top_interview_img01 img{ width: 100%; height: auto; border-radius: 15px; }
.top_interview_img01:before{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 60%); border-radius: 0 0 15px 15px; }

.top_interview .top_catch_btn01{ display: block; margin: 20px auto 0 auto; }
.top_interview .top_catch_btn01 a{ background-color: #fff; }

.top_interview .top_interview_btn01{ display: none; }


.top_education{ position: relative; background-color: #eee; height: auto; margin-bottom: 100px; padding-bottom: 40px; }
.top_education_tit{ position: absolute; left: 0; right: 0; margin: 0 auto; top: -30px; font-size: 5.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); text-align: center;  }
.top_education_txt{ position: relative; padding: 50px 5% 0 5%; z-index: 2; }
.top_education_img01{ position: initial; left: 0; top: -100px; z-index: 2; margin: 20px 0; text-align: center; }
.top_education_img01 img{ width: 90%; height: auto; border-radius: 15px; }
.top_education_bg01{ display: none; position: absolute; left: 250px; top: 60px; z-index: 1; }
.top_education_img02{ display: none; position: absolute; right: 0; bottom: -40px; z-index: 1; }
.top_education_img02 img{ border-radius: 15px 0 0 15px; }

.top_education .top_about_tit01{ margin-bottom: 20px; }


.about .top_img_tit{ top: 40vh; left: 50%; }
.about .top_about_txt{ width: 100%; }

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

.about_sec .top_about_img01{ display: none; position: absolute; right: -40px; top: 62vh; z-index: 3; width: 100%; }
.about_sec .top_about_img01 img{ border-radius: 15px; }
.about_sec .top_about_img02{ display: none; position: absolute; right: 250px; top: 80vh; z-index: 4; }
.about_sec .top_about_img02 img{ width: 100%; height: auto; }
.about_sec .top_about_bg01{ display: none; position: absolute; right: 40px; top: 66vh; z-index: 2; }
.about_sec .top_about_img03{ display: none; position: initial; left: 0; top: 100%; }

.about_sec .top_about_txt01{ margin-top: 40px; font-size: 1.5rem; letter-spacing: 1px; }

.about_img_list{ display: block; }
.about_img_item img{ width: 98%; height: auto; border-radius: 15px; margin: 0 1%; }

.message_sec{ width: 90%; margin: 0 auto 100px auto; }
.message_sec h2{ font-size: 3rem; color: var(--main-color); font-weight: 700; margin-bottom: 20px; text-align: center; }
.message_sec h3{ font-size: 2.2rem; font-weight: 700; margin-bottom: 30px; text-align: center; }
.message_sec_img{ margin-bottom: 10px; }
.message_sec_img img{ border-radius: 10px; width: 100%; height: auto; }
.message_sec_name{ font-size: 1.8rem; text-align: center; margin-bottom: 30px; }
.message_sec_name span{ font-size: 1.4rem; margin-right: 20px; }
.message_sec_txt{ font-size: 1.6rem; letter-spacing: 2px; line-height: 2; font-weight: 700; margin-bottom: 60px; }


.corporate_sec{ width: 90%; margin: 0 auto 100px auto; }
.corporate_sec table{ width: 100%; }
.corporate_sec th{ width: 30%; font-size: 1.5rem; padding: 15px; border-bottom: 2px solid #ffe4e1; font-weight: 700; text-align: left; }
.corporate_sec td{ font-size: 1.5rem; padding: 15px; border-bottom: 2px solid #ffe4e1; }


.staff_sec{ width: 90%; margin: 100px auto 0 auto; }
.staff_list{}
.staff_item{ display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: 130px; }
.staff_sec h2{ font-size: 2.5rem; color: var(--main-color); font-weight: 700; margin-bottom: 10px; text-align: center; }
.staff_item_img{ position: relative; flex-basis: 100%; margin-right: 0; margin-bottom: 70px; }
.staff_item_img img{ position: relative; z-index: 2; }
.staff_item_img > span{ display: block; position: absolute; left: 0; right: 0; top: -40px; font-size: 6rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; transform: rotate(-10deg); z-index: 3; margin: 0 auto; text-align: center; }
.staff_item_img01{ text-align: center; width: 90%; margin: 0 auto; }
.staff_item_img01 img{ width: 100%; height: auto; }
.staff_item_bg01{ display: none; position: absolute; left: -140px; top: 100px; z-index: 1; }
.staff_item_name{ position: absolute; left: 0; right: 0; margin: 0 auto; bottom: -40px; width: 270px; height: 80px; background-color: var(--main-color); padding: 10px; display: flex; align-items: flex-end; flex-wrap: wrap; z-index: 3; }
.staff_item_katagaki01{ flex-basis: 100%; color: #fff; font-size: 1.5rem; }
.staff_item_name01{ color: #fff; font-size: 3rem; font-weight: 700; letter-spacing: 2px; line-height: 1; margin-right: 10px; }
.staff_item_info01{}
.staff_item_info01 span{ display: block; font-size: 1.5rem; color: #fff; }
.staff_item_txt{ position: relative; flex-basis: 100%; }
.staff_item_txt01{ font-size: 1.5rem; letter-spacing: 2px; line-height: 2; margin-bottom: 40px; }
.staff_item_img02{ position: initial; right: -50%; bottom: -400px; }
.staff_item_img02 img{ border-radius: 15px; width: 100%; height: auto; }


.oneday_sec{ width: 90%; margin: 40px auto 100px auto; }
.oneday_sec h2{ font-size: 2.4rem; color: var(--main-color); font-weight: 700; text-align: center; margin-bottom: 20px; }

.oneday_sec_table{ width: 100%; }
.oneday_sec_table th{ display: block; width: 100%; padding: 10px; font-size: 4rem; color: var(--main-color); font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal; text-align: center; }
.oneday_sec_table td{ display: block; width: 100%; padding: 10px; font-size: 2.5rem; font-weight: 700; text-align: center; }

.oneday_sec_txt01{ font-size: 1.6rem; letter-spacing: 2px; line-height: 2; margin-bottom: 20px; text-align: left; }

.oneday_sec_list{ display: flex; justify-content: space-between; }
.oneday_sec_item{ flex-basis: 32%; }
.oneday_sec_item img{ width: 100%; height: auto; border-radius: 10px; }


/* table内での横崩れ防止（このページ全体で効かせるならこれでOK） */
.oneday_sec_table{
  width: 100%;
  table-layout: fixed;
}
.oneday_sec_table td{
  overflow: hidden;
}

/* slick共通：はみ出し防止＋余白10px（左右5pxずつ） */
ul.oneday_sec_list01.slick-slider,
ul.oneday_sec_list02.slick-slider{
  max-width: 100%;
}

ul.oneday_sec_list01 .slick-list,
ul.oneday_sec_list02 .slick-list{
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin: 0 -5px; /* 端だけ詰まるのを防ぐ（padding相殺） */
}

ul.oneday_sec_list01 .slick-slide,
ul.oneday_sec_list02 .slick-slide{
  padding: 0 5px;       /* スライド間10px */
  box-sizing: border-box;
}

/* 画像が押し広げないように＆スライド幅にフィット */
ul.oneday_sec_list01 img,
ul.oneday_sec_list02 img{
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

/* flex指定が混ざっている時の保険 */
ul.oneday_sec_list01,
ul.oneday_sec_list02{
  min-width: 0;
}







/* よくある質問 */
.faq_sec{ max-width: 1000px; width: 90%; margin: 60px auto 80px auto !important; }

.faq_accordion{ margin-bottom: 15px; border-radius: 10px; background-color: #f5f5f5; }
.faq_accordion summary{	display: flex;justify-content: space-between; align-items: center; position: relative; padding: 20px 20px 20px 55px; color: #131f43; font-size: 1.8rem; font-weight: 400; cursor: pointer; line-height: 1.3; }

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker{	display: none; }

/* ▼矢印アイコン（after） */
.faq_accordion summary::after{ content: ''; display: inline-block; width: 7px; height: 7px;	margin-left: 8px;	border-bottom: 3px solid var(--main-color);	border-right: 3px solid var(--main-color); transform: rotate(45deg); transition: transform .3s;	align-self: center; }

/* ▼Qマーク（before） */
.faq_accordion summary::before{
	content: "Q.";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 20px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.5rem;
	color: var(--main-color);
	font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 20px;
	transition: transform .5s, opacity .5s;
	
	background-color: #eee;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}



.number_sec{ max-width: 1200px; width: 90%; margin: 60px auto 80px auto !important; }
.number_sec_list{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.number_sec_item{ position: relative; flex-basis: 100%; border: 1px solid var(--main-color); border-radius: 10px; padding: 120px 10px 40px 10px; margin: 0 0 100px 0; text-align: center; }
.number_sec_img01{ position: absolute; top: -50px; left: 0; right: 0; margin: 0 auto; }
.number_sec_tit01{ font-size: 2.5rem; font-weight: 700; color: var(--main-color); text-align: center; letter-spacing: 3px; margin-bottom: 20px; }
.number_sec_num01{ font-size: 6rem; color: var(--main-color); font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal; line-height: 1; }
.number_sec_num01 span{ font-size: 2.5rem; color: #222; font-weight: 700; margin: 0 10px; }
.number_sec_txt01{ font-size: 2rem; }
.number_sec_txt02{ font-size: 1.6rem; }
.number_sec_num01s{ font-size: 5rem;}


.regulation_sec{ max-width: 1000px; width: 90%; margin: 0 auto 100px auto; }
.regulation_sec table{ width: 100%; }
.regulation_sec th{ width: 30%; font-size: 1.6rem; color: var(--main-color); padding: 15px; border-bottom: 1px solid #ccc; font-weight: 700; text-align: left; }
.regulation_sec td{ font-size: 1.6rem; padding: 15px; border-bottom: 1px solid #ccc; }



/* フォーム */
.contact_sec{ width: 90%; margin: 0 auto 100px auto; }
.contact_item{ display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_tit{ flex-basis: 100%; font-weight: 700!important; position: relative; padding-left: 60px; text-align: left!important; margin-bottom: 5px; }
.contact_txt,
.contact_txtarea{ flex-basis: 100%; width: 100%; }

.contact_tit span{ position: absolute;  background-color: #ffe7e7; color: var(--main-color); margin-right: 15px; border: 1px solid var(--main-color); padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.5rem; line-height: 1.2; }
.contact_tit span.nomust{ position: absolute;  background-color: #aaa; color: #fff; margin-right: 15px; border: 1px solid #fff; padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.5rem; line-height: 1.2; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_adress_sub p{padding: 15px 0;}

.contact_tit p,
.contact_txt p,
.contact_txtarea p{ width: auto !important; margin: 0 !important; }

.contact_submit_btn input:hover{opacity: 0.7;}

.contact_txt input[type="checkbox"]{ width: 20px; margin-right: 5px; }
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 10px;}

::placeholder{ color: #999; }
.wpcf7-spinner {
	display: block !important;
	margin: 0 auto !important;
}

.contact_name_row{ display:flex; gap:1rem; align-items:flex-start; flex-wrap:nowrap; }
.contact_name_row .contact_txt{ flex:1 1 0; min-width:0; }
.contact_label{ display:block; margin-bottom:.35rem; font-size:.95em; color:#444; }
.wpcf7 form input[type="submit"]{ display:block; margin:0 auto; max-width:18rem; width:100%; }
.wpcf7 form .wpcf7-spinner{ display:block; margin:.6rem auto 0; float:none; }
.wpcf7 form input[type="submit"]+.wpcf7-spinner{ display:block; }


/* =========================================================
   Contact Form 7 統一スタイル（背景 #f5f5f5）
   貼り付け先：テーマの style.css or 外観 > 追加CSS
   ========================================================= */

/* カラートークン */
:root{
  --c-bg: #f5f5f5;        /* 入力欄の背景 */
  --c-fg: #111;           /* 文字色 */
  --c-border: #ddd;       /* 枠線 */
  --c-border-hover: #cfcfcf;
  --c-ring: rgba(59,130,246,.2); /* フォーカス時のアウトライン */
  --c-brand: #2563eb;     /* フォーカス時の枠色・ボタン色 */
  --c-muted: #eee;        /* 無効時背景 */
  --c-error: #dc2626;     /* エラー色 */
}

/* 共通：入力要素（select含む） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="search"],
.wpcf7 input[type="number"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;

  width:100%;
  box-sizing:border-box;
  font:inherit;
  color:var(--c-fg);
  background-color:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:.6rem;
  line-height:1.2;
  padding:.65em 2.6em .65em .9em; /* 右はselect矢印分を確保 */
  box-shadow:none; /* フラットに */
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}

/* hover / focus */
.wpcf7 input[type="text"]:hover,
.wpcf7 input[type="email"]:hover,
.wpcf7 input[type="tel"]:hover,
.wpcf7 input[type="url"]:hover,
.wpcf7 input[type="search"]:hover,
.wpcf7 input[type="number"]:hover,
.wpcf7 input[type="password"]:hover,
.wpcf7 textarea:hover,
.wpcf7 select:hover{
  border-color:var(--c-border-hover);
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  outline:none;
  border-color:var(--c-brand);
  box-shadow:0 0 0 3px var(--c-ring);
}

/* select の矢印（SVGインライン） */
.wpcf7 select{
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")
      no-repeat right .8em center / 1em,
    var(--c-bg);
}
/* 旧IEアイコン非表示（不要なら削除可） */
.wpcf7 select::-ms-expand{ display:none; }

/* textarea は矢印が不要なため右余白を調整＆高さ確保 */
.wpcf7 textarea{
  min-height:8rem;
  padding-right:.9em;
  resize:vertical;
}

/* 無効状態 */
.wpcf7 input:disabled,
.wpcf7 textarea:disabled,
.wpcf7 select:disabled{
  color:#999;
  background-color:var(--c-muted);
  cursor:not-allowed;
}

/* プレースホルダー色 */
.wpcf7 ::placeholder{ color:#9ca3af; }

/* 自動入力背景（Safari/Chrome） */
.wpcf7 input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--c-bg) inset !important;
  -webkit-text-fill-color:var(--c-fg) !important;
  transition: background-color 9999s ease-out 0s;
}

/* バリデーション（エラー時） */
.wpcf7 .wpcf7-form-control.wpcf7-not-valid,
.wpcf7 .wpcf7-not-valid input,
.wpcf7 .wpcf7-not-valid textarea,
.wpcf7 .wpcf7-not-valid select{
  border-color:var(--c-error) !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
}
.wpcf7 .wpcf7-not-valid-tip{
  margin-top:.35rem;
  color:var(--c-error);
  font-size:.9em;
}

/* 送信後メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:1rem 0 0;
  padding:.8rem 1rem;
  border-radius:.5rem;
  border:1px solid var(--c-border);
  background:#fafafa;
}

/* 送信ボタン（任意：フォームとトーン合わせ） */
.wpcf7 input[type="submit"]{
  display:inline-block;
  font:inherit;
  color:#fff;
  background:var(--main-color);
  border:1px solid var(--main-color);
  border-radius:.6rem;
  padding:.7em 1.2em;
  cursor:pointer;
  transition:filter .2s, box-shadow .2s, transform .02s;
	letter-spacing: 1px;
}
.wpcf7 input[type="submit"]:hover{ filter:brightness(1.05); }
.wpcf7 input[type="submit"]:active{ transform:translateY(1px); }
.wpcf7 input[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; }

/* （任意）フォーム行間隔を整えるユーティリティ */
.wpcf7 .form-row + .form-row{ margin-top:1rem; }

/* ===== 送信ボタン＆スピナーのセンタリング ===== */

/* ボタンを中央寄せ（ブロック化＋左右auto） */
.wpcf7 form input[type="submit"]{
  display: block;
  margin: 20px auto 5px auto;           /* 中央寄せ */
}

/* スピナーも中央寄せ（下に配置） */
.wpcf7 form .wpcf7-spinner{
  display: block;           /* 改行してボタンの下へ */
  margin: .6rem auto 0;     /* 上に少し余白を取りつつ中央寄せ */
  float: none;              /* 念のためフロート解除 */
}

/* （任意）ボタンとスピナーの横並びを避けたいテーマ向けの保険 */
.wpcf7 form input[type="submit"] + .wpcf7-spinner{
  display: block;
}

/* （任意）ボタン最大幅を控えめにして中央寄せ感を強調したい場合 */
.wpcf7 form input[type="submit"]{
  max-width: 30rem;         /* 好みで調整 */
  width: 100%;
}


.thanks_sec{ max-width: 1000px; width: 90%; margin: 0 auto 100px auto; padding-top: 40px; font-size: 1.8rem; letter-spacing: 2px; line-height: 2; }


.privacy_sec{ max-width: 1000px; width: 90%; margin: 0 auto 100px auto; padding-top: 0px; }
.privacy_sec h2{ font-size: 2rem; font-weight: 700; color: var(--main-color); border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; padding: 15px 0; margin-bottom: 20px; }
.privacy_sec p{ font-size: 1.5rem; letter-spacing: 2px; line-height: 2; margin-bottom: 40px; }



/* ----------------------------------------------------------
 TAB CSS
---------------------------------------------------------- */
@media screen and (min-width: 521px){

/* フォントサイズ10px=62.5% */
html{ font-size: 50%; }

/* 基本のフォントサイズ */
body{ font-size: 1.8rem; padding-top: 0; }

/* 非表示用 */
.noneTAB		{ display: none !important; }


/* ----------------------------------------------------------
 header
---------------------------------------------------------- */

.header_logo span{ display: block; font-size: 1.4rem; margin-top: 5px; }

/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */


.footer_entry_sec{ justify-content: space-between; }
.footer_entry_tit{ font-size: 6.5rem; }
.footer_entry_list{ flex-basis: 60%; display: flex; justify-content: space-between; flex-wrap: wrap; }

.footer_entry_item{ width: 250px; flex-basis: 250px; margin-bottom: 20px; }

.footer_logo img{ width: 50%; height: auto; max-width: 300px; }
.footer_logo span{ display: block; margin-left: 0; margin-top: 20px; font-size: 2.5rem; }

.footer_sec_txt{ width: 90%; position: initial; right: 0; left: 0; margin: 0 auto; bottom: 100px; font-size: 4.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); }





/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */

.h1_wrap_sec h1{ font-size: 3rem; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */

.wrapper{ padding-top: 70px; }


.top_img{
  position: relative;
  text-align: center;
  margin-bottom: 40px;
  overflow: visible;
}

.top_img_tit{
width: max-content;
max-width: 100%;
text-align: center;

/* ここだけ追加/変更 */
font-size: clamp(6rem, 4rem + 3vw, 10rem);

color: var(--main-color);

line-height: 1;
z-index: 4;
margin: 0 auto;
pointer-events: none;
}




.top_catch_tit01{ font-size: 2.8rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
.top_catch_tit01 br{ display: none; }


.top_interview_sec{ padding: 40px 0 60px 0; }

.top_interview_list .slick-slide{
  display: block !important;
}

.top_about_tit02 br{ display: none; }



.about .top_img_tit{ top: 35vh; left: 0; }

.top_about{ position: relative; margin-bottom: 100px; }
.top_about_sec{ width: 100%; margin: 0; background-color: #eee; border-radius: 0; padding: 40px 0 60px 0; }
.top_about_tit{ position: absolute; left: 0; right: 0; margin: 0 auto; top: -30px; font-size: 5.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); text-align: center; }
.top_about_img01{ position: absolute; left: auto; right: 0px; top: 100px; z-index: 3; width: 50%; }
.top_about_img01 img{ border-radius: 15px 0 0 15px; width: 100%; height: auto; }
.top_about_img02 img{ border-radius: 0 15px 15px 0; width: auto; max-height: 200px; }
.top_about_img03 img{ border-radius: 15px; }
.top_about_img02{ position: absolute; left: 50px; right: auto; top: 220px; z-index: 4; width: 230px; height: auto; }
.top_about_bg01{ position: absolute; right: 250px; top: 170px; z-index: 2; }
.top_about_img03{ display: none; position: absolute; left: 0; top: 350px; }
.top_about_txt{ width: 90%; max-width: 500px; margin: 0 auto; }
.top_about_tit01{ font-size: 3rem; font-weight: 700; margin-bottom: 400px; text-align: center; }
.top_about_txt01{ font-size: 1.6rem; letter-spacing: 1px; line-height: 2; font-weight: 700; margin-bottom: 40px; }
.top_about_btn01{ width: 300px; }
.top_about_btn01 a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #fff; padding: 15px; border-radius: 5px; }
.top_about_btn01 a:hover{ background-color: var(--main-color); color: #fff; }
.top_about_btn01 a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.top_about_btn01 a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }

.top_about_tit02{ font-size: 2.2rem; font-weight: 700; margin-bottom: 20px; text-align: center; }

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

.about_sec .top_about_txt01{ margin-top: 40px; font-size: 1.8rem; letter-spacing: 1px; }

.about .top_about_txt{ width: 500px; max-width: 100% !important; }

.about_sec .top_about_img01,
.about_sec .top_about_img02,
.about_sec .top_about_img03,
.about_sec .top_about_bg01{ display: none; }


.about_img_list{ display: block; }
.about_img_item img{ width: 98%; height: auto; border-radius: 15px; margin: 0 1%; }


.top_interview .top_interview_btn01{ display: none; }


.oneday_sec h2{ text-align: center; }


.number_sec{ max-width: 1200px; width: 90%; margin: 60px auto 80px auto !important; }
.number_sec_list{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.number_sec_item{ position: relative; flex-basis: 46%; border: 1px solid var(--main-color); border-radius: 10px; padding: 120px 10px 40px 10px; margin: 0 2% 100px 2%; text-align: center; }
.number_sec_img01{ position: absolute; top: -50px; left: 0; right: 0; margin: 0 auto; }
.number_sec_tit01{ font-size: 2rem; font-weight: 700; color: var(--main-color); text-align: center; letter-spacing: 3px; margin-bottom: 20px; }
.number_sec_num01{ font-size: 5.5rem; color: var(--main-color); font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal; line-height: 1; }
.number_sec_num01 span{ font-size: 2.5rem; color: #222; font-weight: 700; margin: 0 5px; }
.number_sec_txt01{ font-size: 2rem; }
.number_sec_txt02{ font-size: 1.6rem; }
.number_sec_num01s{ font-size: 5rem;}


.message_sec h3{ font-size: 2.2rem; font-weight: 700; margin-bottom: 30px; text-align: center; }
.message_sec h3 br{ display: none; }


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


}
/* ----------------------------------------------------------
TAB CSS END
---------------------------------------------------------- */

/* ----------------------------------------------------------
PC CSS
---------------------------------------------------------- */
@media print, screen and (min-width: 1400px){

/* フォントサイズ10px */
html{ font-size: 62.5%; }

/* 基本のフォントサイズ */
body{ font-size: 16px; font-size: 1.8rem; }

/* 非表示用 */
.nonePC		{ display: none !important; }


/* ----------------------------------------------------------
 header
---------------------------------------------------------- */
header{ position: fixed; top: 0; width: 100%; height: 100px; background-color: #fff; display: flex; align-items: center; padding: 0 20px; box-shadow: 0px 8px 16px -6px rgba(0,0,0,0.1); z-index: 999; }
.header_logo{ flex-basis: 20%; }
.header_logo img{ max-width: 200px; height: auto; }
.header_logo span{ display: block; font-size: 2.2rem; }




.recruit_nav{ display: block; flex-basis: 50%; margin-left: 5%; }
.nav_list{ display: flex; }
.nav_item{ flex: 1 0 auto; margin-right: 20px; }
.nav_item a{ display: block; font-size: 1.8rem; font-weight: 700; }
.nav_item a:hover{}

.header_btn{ display: block; width: 230px; margin: 0 0 0 auto; }
.header_btn a{ display: block; font-size: 1.8rem; color: #fff; font-weight: 700; background-color: var(--main-color); border: 1px solid var(--main-color); padding: 10px; text-align: center; border-radius: 10px; }
.header_btn a:hover{ background-color: #fff; color: var(--main-color); }



/* パンくずリスト */
.breadcrumbs_sec{ margin-left: 10%; letter-spacing: 2px; text-align: left; } 
.breadcrumbs_sec > span{ display: inline-block; position: relative; color: #666; font-size: 1.2rem; }
.breadcrumbs_sec > span span{ margin-left: 15px; }
.breadcrumbs_sec > span a span{ margin-left: 0; }
.breadcrumbs_sec > span:first-child span{ margin-left: 0; }
.breadcrumbs_sec > span br{ display: none; }
.breadcrumbs_sec > span:before{ content: "/"; display: block; position: absolute; top: 0; left: 5px; color: #666; font-size: 1.5rem; }
.breadcrumbs_sec span:first-child:before{ content: ""; margin-left: 0; }
.breadcrumbs_sec > span a{ color: #666; font-size: 1.5rem; margin: 0 0 0 20px; }
.breadcrumbs_sec > span:first-child a{ margin: 0 0 0 0; }
.breadcrumbs_sec span a:hover{ opacity: 0.6; }


/* ----------------------------------------------------------
 footer
---------------------------------------------------------- */

.footer_entry{ background-color: var(--main-color); padding: 60px 0; }
.footer_entry_sec{ width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.footer_entry_tit{ font-size: 11.5rem; color: #fff; font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); }
.footer_entry_list{ flex-basis: 70%; display: flex; justify-content: space-between; }

.footer_entry_item{ width: 400px; flex-basis: 400px; }
.footer_entry_item a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #fff; padding: 15px; border-radius: 5px; border: 2px solid #fff; }
.footer_entry_item a:hover{ background-color: var(--main-color); color: #fff; }
.footer_entry_item a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.footer_entry_item a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }


footer{ position: relative; padding: 80px 0; }
.footer_sec_wrap{ width: 1200px; margin: 0 auto; display: flex; text-align: left; }
.footer_sec{ margin-right: 1%; text-align: left; }
.footer_logo{ margin-bottom: 40px; }
.footer_logo img{ width: 20%; height: auto; }
.footer_logo span{ display: inline-block; margin-left: 20px; }
.footer_nav{ display: block; width: 70%; margin-bottom: 40px; }
.footer_nav_list{ display: flex; flex-wrap: wrap; }
.footer_nav_item{ flex: 1 0 auto; margin: 0 3% 20px 0; }
.footer_nav_item a{ display: block; font-size: 1.8rem; font-weight: 700; margin: 0 1%; white-space: nowrap; }
.footer_copyright{ font-size: 1.2rem; text-align: center; }
.footer_sec_txt{ position: absolute; width: auto; right: 10px; left: auto; bottom: 100px; font-size: 5.8rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); margin: 0; }






/* ----------------------------------------------------------
 hx
---------------------------------------------------------- */
.h1_bg{}
.h1_bg img{ width: 100%; height: auto; max-height: 160px; }

.h1_01{ position: absolute; right: 0; left: auto; top: 35%; width: 50%; font-size: 11.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; transform: rotate(-10deg); z-index: 5; margin: 0; }

.h1_wrapper{ position: relative; }

.h1_wrap_sec h1{ margin-left: 10%; margin-top: 80px; font-size: 2.4rem; text-align: left; }

/* ----------------------------------------------------------
 contents
---------------------------------------------------------- */
.wrapper{ padding-top: 100px; }

.top_img_tit{ width: 60%; font-size: 9rem; color: var(--main-color); line-height: 1; z-index: 2; margin: 0 auto; text-align: center; }

.top_img{ position: relative; text-align: center; margin-bottom: 50px; overflow: hidden; }
.top_img_list{ }
.top_img_item{}
.top_img_item img{ width: 98%; height: auto; border-radius: 10px; margin: 0 1%; }

.top_img{}

.top_img_tit{	line-height: 1.05; }




.top_catch{ width: 80%; max-width: 1000px; margin: 0 auto 160px auto; }
.top_catch_tit01{ font-size: 3.2rem; font-weight: 700; margin-bottom: 20px; text-align: center; }
.top_catch_tit01 br{ display: none; }
.top_catch_txt01{ font-size: 2.2rem; line-height: 1.8; letter-spacing: 2px; margin-bottom: 20px; }
.top_catch_btn01{ width: 400px; }
.top_catch_btn01 a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #eee; padding: 15px; border-radius: 5px; }
.top_catch_btn01 a:hover{ background-color: var(--main-color); color: #fff; }
.top_catch_btn01 a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.top_catch_btn01 a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }

.top_about{ position: relative; margin-bottom: 350px; }
.top_about_sec{ width: 90%; margin: 0 0 0 auto; background-color: #eee; border-radius: 20px 0 0 20px; padding: 80px 0 180px 0px; }
.top_about_tit{ position: absolute; left: 5%; top: -30px; font-size: 11.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); margin: auto; right: auto; text-align: left; }
.top_about_img01{ display: block; position: absolute; right: 50px; top: -50px; z-index: 3; left: auto; width: 600px; }
.top_about_img01 img{ width: 600px; height: 470px; }
.top_about_img01 img,
.top_about_img02 img,
.top_about_img03 img{ border-radius: 15px; }
.top_about_img02{ display: block; position: absolute; right: 300px; top: 350px; z-index: 4; width: 460px; height: 400px; left: auto; }
.top_about_img02 img{ width: 100%; height: 400px; max-height: 400px; }
.top_about_bg01{ display: block; position: absolute; right: 180px; top: 320px; z-index: 2; }
.top_about_img03{ display: block; position: absolute; left: -180px; top: 350px; }
.top_about_txt{ position: relative; z-index: 4; }
.top_about_tit01{ font-size: 4.5rem; font-weight: 700; margin-bottom: 20px; text-align: left; }
.top_about_txt01{ width: 100% !important; margin-top: 1vh !important; font-size: 1.6rem; letter-spacing: 2px; line-height: 2; font-weight: 700; margin-bottom: 40px; }
.top_about_btn01{ width: 400px; }
.top_about_btn01 a{ position: relative; display: block; font-size: 1.8rem; font-weight: 700; color: var(--main-color);  background-color: #fff; padding: 15px; border-radius: 5px; }
.top_about_btn01 a:hover{ background-color: var(--main-color); color: #fff; }
.top_about_btn01 a:before{ position: absolute; top: 23px; right: 20px; transform: rotate(45deg); display: block; content: ''; width: 8px; height: 8px; border-top: solid 2px var(--main-color); border-right: solid 2px var(--main-color); transition: .3s all; }
.top_about_btn01 a:hover:before{ border-top: solid 2px #fff; border-right: solid 2px #fff; }

.top_about_tit02{ font-size: 3rem; font-weight: 700; margin-bottom: 20px; text-align: left; }
.top_about_tit02 br{ display: none; }

.about .top_about_txt{ width: 800px; max-width: 100% !important; }

.about_img_list{ display: none !important; }

.top_interview{ position: relative; background-color: #eee; height: 700px; margin-bottom: 200px; }
.top_interview_sec{ padding: 80px 0 60px 10%; }
.top_interview_tit{ position: absolute; left: 5%; top: -160px; font-size: 11.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); margin: 0; text-align: left; }


.top_interview_list{ display: flex; justify-content: space-between; margin-top: 30px; }
.top_interview_item{ flex-basis: 23%; margin: 0; position: relative; }
.top_interview_tit01{ position: absolute; bottom: 20%; left: 0; right: 0; width: 80%; color: #fff; font-size: 2.2rem; font-weight: 700; z-index: 2; margin: 0 auto; }
.top_interview_katagaki01{ position: absolute; bottom: 12%; left: 36%; right: 0; width: 80%; font-size: 1.5rem; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_date01{ position: absolute; bottom: 6%; left: 36%; right: 0; width: 80%; font-size: 1.5rem; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_name01{ position: absolute; bottom: 5%; left: 0; right: 0; width: 80%; font-size: 3.5rem; font-weight: 700; color: #fff; z-index: 2; margin: 0 auto; }
.top_interview_img01{ position: relative; z-index: 1; }
.top_interview_img01 img{ width: 100%; height: auto; border-radius: 15px; }
.top_interview_img01:before{ content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 60%); border-radius: 0 0 15px 15px; }

.top_interview .top_catch_btn01{ display: none; }
.top_interview .top_interview_btn01{ display: block; margin: 30px auto auto 0; }

/* カード化（角丸は a 側に付ける） */
.top_interview_item > a.hvr-border-fade{
  display: block;
  position: relative;
  border-radius: 15px;   /* ここは今の角丸に合わせて調整 */
  overflow: hidden;      /* 画像も角丸で切る */
}

/* hover.css の box-shadow を無効化（中身に隠れる原因） */
.top_interview_item > a.hvr-border-fade,
.top_interview_item > a.hvr-border-fade:hover,
.top_interview_item > a.hvr-border-fade:focus,
.top_interview_item > a.hvr-border-fade:active{
  box-shadow: none !important;
	margin: 10px;
}

/* 枠線を“上に”被せて描画 */
.top_interview_item > a.hvr-border-fade::after{
  content:"";
  position: absolute;
  inset: 0;
  border: 4px solid rgba(32,152,209,0); /* 非表示 */
  border-radius: inherit;
  transition: border-color .2s ease;
  pointer-events: none;
  z-index: 3; /* 中身より上に */
}

.top_interview_item > a.hvr-border-fade:hover::after{
  border-color: var(--main-color); /* 表示 */
}

.top_interview_item > a.hvr-border-fade:hover::after{
  border-color: var(--main-color);
}







.top_education{ position: relative; background-color: #eee; height: 620px; margin-bottom: 200px; }
.top_education_tit{ position: absolute; left: 47%; top: -60px; font-size: 11.5rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; z-index: 2; transform: rotate(-10deg); }
.top_education_txt{ position: relative; padding: 100px 0 0 50%; z-index: 2; }
.top_education_img01{ position: absolute; left: 0; top: -100px; z-index: 2; width: 600px; height: auto; }
.top_education_img01 img{ border-radius: 0 15px 15px 0; width: 100%; height: auto; }
.top_education_bg01{ display: block; position: absolute; left: 50px; top: 60px; z-index: 1; }
.top_education_img02{ display: block; position: absolute; right: 0; bottom: -40px; z-index: 1; }
.top_education_img02 img{ border-radius: 15px 0 0 15px; }


.about .top_img_tit{ position: relative; z-index: 5; top: 0; left: -10vw; text-align: left;}

.about_sec{ width: 900px; margin: 60px auto 200px auto; }

.about_sec .top_about_img01{ display: block; position: absolute; right: -40px; top: 23%; z-index: 3; width: 500px; }
.about_sec .top_about_img01 img{ border-radius: 15px 0 0 15px; width: 100%; height: auto; }
.about_sec .top_about_img02{ display: block; position: absolute; right: -60px; top: 42%; z-index: 4; }
.about_sec .top_about_img02 img{ width: 300px; height: 260px; max-width: 460px; max-height: 400px; }
.about_sec .top_about_bg01{ display: block; position: absolute; right: 0; top: 45%; z-index: 2; }
.about_sec .top_about_img03{ display: block; position: absolute; left: -80px; top: 50%; }

.about_sec .top_about_txt01{ font-size: 2rem; }


.message_sec{ width: 1000px; margin: 0 auto 100px auto; }
.message_sec h2{ font-size: 4rem; color: var(--main-color); font-weight: 700; margin-bottom: 30px; text-align: left; }
.message_sec h3{ font-size: 3.2rem; font-weight: 700; margin-bottom: 30px; text-align: left; }
.message_sec h3 br{ display: none; }
.message_sec_img{ margin-bottom: 10px; }
.message_sec_img img{ border-radius: 10px; }
.message_sec_name{ font-size: 2rem; text-align: center; margin-bottom: 30px; }
.message_sec_name span{ font-size: 1.5rem; margin-right: 20px; }
.message_sec_txt{ font-size: 2.2rem; letter-spacing: 2px; line-height: 2; font-weight: 700; margin-bottom: 60px; }


.corporate_sec{ width: 1000px; margin: 0 auto 100px auto; }
.corporate_sec table{ width: 100%; }
.corporate_sec th{ font-size: 1.5rem; padding: 15px; border-bottom: 2px solid #ffe4e1; font-weight: 700; text-align: left; }
.corporate_sec td{ font-size: 1.5rem; padding: 15px; border-bottom: 2px solid #ffe4e1; }


.staff_sec{ width: 100%; margin: 100px auto 0 auto; }
.staff_list{}
.staff_item{ display: flex; justify-content: space-between; flex-wrap: nowrap; margin-bottom: 300px; }
.staff_sec h2{ font-size: 3.5rem; color: var(--main-color); font-weight: 700; margin-bottom: 20px; text-align: left; margin-right: 10%; }
.staff_item_img{ position: relative; flex-basis: 35%; margin-right: 5%; margin-left: 10%; }
.staff_item_img img{ position: relative; z-index: 2; }
.staff_item_img > span{ display: block; position: absolute; left: -20px; top: -50px; font-size: 8rem; color: var(--main-color); font-family: austin-pen, sans-serif; font-weight: 400; font-style: normal; line-height: 1; transform: rotate(-10deg); z-index: 3; text-align: left; }
.staff_item_img01{}
.staff_item_bg01{ display: block; position: absolute; left: -100px; top: 100px; z-index: 1; }
.staff_item_bg01 img{ width: 100%; height: auto; }
.staff_item_name{ position: absolute; left: -40px; bottom: 60px; width: 270px; height: 80px; background-color: var(--main-color); padding: 10px; display: flex; align-items: flex-end; flex-wrap: wrap; z-index: 3; margin: auto; right: auto; }
.staff_item_katagaki01{ flex-basis: 100%; color: #fff; font-size: 1.5rem; }
.staff_item_name01{ color: #fff; font-size: 3.5rem; font-weight: 700; letter-spacing: 2px; line-height: 1; margin-right: 10px; }
.staff_item_info01{}
.staff_item_info01 span{ display: block; font-size: 1.5rem; color: #fff; }
.staff_item_txt{ position: relative; }
.staff_item_txt01{ font-size: 1.8rem; letter-spacing: 2px; line-height: 2; margin-bottom: 40px; margin-right: 10%; }
.staff_item_img02{ position: absolute; right: 0; bottom: -400px; }
.staff_item_img02 img{ border-radius: 15px 0 0 15px; width: 100%; height: auto; }


.oneday_sec{ width: 1200px; margin: 40px auto 100px auto; }
.oneday_sec h2{ font-size: 3.5rem; color: var(--main-color); font-weight: 700; text-align: left; margin-bottom: 20px; }

.oneday_sec_table{}
.oneday_sec_table th{ display: inline-block; width: auto; padding: 10px; font-size: 6rem; color: var(--main-color); font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal; text-align: left; }
.oneday_sec_table td{ display: inline-block; width: auto; padding: 10px; font-size: 2.5rem; font-weight: 700; vertical-align: sub; }

.oneday_sec_txt01{ font-size: 2rem; letter-spacing: 2px; line-height: 2; margin-bottom: 20px; }

.oneday_sec_list{ display: flex; justify-content: space-between; }
.oneday_sec_item{ flex-basis: 32%; }
.oneday_sec_item img{ width: 350px; height: 256px; border-radius: 10px; }








/* よくある質問 */
.faq_sec{ width: 1000px; margin: 60px auto 80px auto !important; }

.faq_accordion{ margin-bottom: 15px; border-radius: 10px; background-color: #f5f5f5; }
.faq_accordion summary{	display: flex;justify-content: space-between; align-items: center; position: relative; padding: 20px 20px 20px 55px; color: #131f43; font-size: 2rem; font-weight: 400; cursor: pointer; line-height: 1.3; }

/* デフォルトマーカー非表示 */
.faq_accordion summary::-webkit-details-marker{	display: none; }

/* ▼矢印アイコン（after） */
.faq_accordion summary::after{ content: ''; display: inline-block; width: 7px; height: 7px;	margin-left: 8px;	border-bottom: 3px solid var(--main-color);	border-right: 3px solid var(--main-color); transform: rotate(45deg); transition: transform .3s;	align-self: center; }

/* ▼Qマーク（before） */
.faq_accordion summary::before{
	content: "Q.";
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 20px;
	top: 45%;
	transform: translateY(-50%); /* ←縦中央揃え */
	width: 20px; /* アイコン領域確保 */
	height: 20px;
	font-size: 2.5rem;
	color: var(--main-color);
	font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal;
}

.faq_accordion[open] summary::after {
	transform: rotate(225deg);
}

.faq_accordion p {
	transform: translateY(-10px);
	opacity: 0;
	margin: 0;
	padding: 20px;
	transition: transform .5s, opacity .5s;
	
	background-color: #eee;
	border-radius: 0 0 10px 10px;
}

.faq_accordion[open] p {
	transform: none;
	opacity: 1;
	margin: 0;
}



.number_sec{ width: 1200px; margin: 60px auto 80px auto !important; }
.number_sec_list{ display: flex; justify-content: flex-start; flex-wrap: wrap; }
.number_sec_item{ position: relative; flex-basis: 30%; border: 1px solid var(--main-color); border-radius: 10px; padding: 120px 10px 40px 10px; margin: 0 1.5% 100px 1.5%; text-align: center; }
.number_sec_img01{ position: absolute; top: -50px; left: 0; right: 0; margin: 0 auto; }
.number_sec_tit01{ font-size: 3rem; font-weight: 700; color: var(--main-color); text-align: center; letter-spacing: 3px; margin-bottom: 20px; }
.number_sec_num01{ font-size: 10rem; color: var(--main-color); font-family: azo-sans-web, sans-serif; font-weight: 400; font-style: normal; line-height: 1; }
.number_sec_num01 span{ font-size: 3rem; color: #222; font-weight: 700; margin: 0 10px; }
.number_sec_txt01{ font-size: 2.2rem; }
.number_sec_txt02{ font-size: 1.8rem; }
.number_sec_num01s{ font-size: 8rem;}


.regulation_sec{ width: 1000px; margin: 0 auto 100px auto; }
.regulation_sec table{ width: 100%; }
.regulation_sec th{ width: 20%; font-size: 1.7rem; color: var(--main-color); padding: 15px; border-bottom: 1px solid #ccc; font-weight: 700; text-align: left; }
.regulation_sec td{ font-size: 1.7rem; padding: 15px; border-bottom: 1px solid #ccc; }



/* フォーム */
.contact_sec{ width: 50%; margin: 0 auto 100px auto; }
.contact_item{ display: flex; flex-wrap: wrap; width: 100%; padding: 20px 0; border-bottom: 1px solid #ccc; max-width: 1100px; margin: 0 auto;}
.contact_tit{ flex-basis: 100%; font-weight: 700!important; position: relative; padding-left: 60px; text-align: left!important; margin-bottom: 5px; }
.contact_txt,
.contact_txtarea{ flex-basis: 100%; width: 100%; }

.contact_tit span{ position: absolute;  background-color: #ffe7e7; color: var(--main-color); margin-right: 15px; border: 1px solid var(--main-color); padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.5rem; line-height: 1.2; }
.contact_tit span.nomust{ position: absolute;  background-color: #aaa; color: #fff; margin-right: 15px; border: 1px solid #fff; padding: 2px 8px; left: 0; top: 3px; border-radius: 30px; font-size: 1.5rem; line-height: 1.2; }
.contact_tit .optional{background-color: #999; border: 1px solid #999;}
.contact_adress_sub p{padding: 15px 0;}

.contact_tit p,
.contact_txt p,
.contact_txtarea p{ width: auto !important; margin: 0 !important; }

.contact_submit_btn input:hover{opacity: 0.7;}

.contact_txt input[type="checkbox"]{ width: 20px; margin-right: 5px; }
.contact_check{display: flex;}
.contact_submit .contact_tit{width: 30%;}
.wpcf7-spinner{display: block;}

.contact_adress_sub p span{margin-left: 10px;}

::placeholder{ color: #999; }
.wpcf7-spinner {
	display: block !important;
	margin: 0 auto !important;
}

.contact_name_row{ display:flex; gap:1rem; align-items:flex-start; flex-wrap:nowrap; }
.contact_name_row .contact_txt{ flex:1 1 0; min-width:0; }
.contact_label{ display:block; margin-bottom:.35rem; font-size:.95em; color:#444; }
.wpcf7 form input[type="submit"]{ display:block; margin:0 auto; max-width:18rem; width:100%; }
.wpcf7 form .wpcf7-spinner{ display:block; margin:.6rem auto 0; float:none; }
.wpcf7 form input[type="submit"]+.wpcf7-spinner{ display:block; }


/* =========================================================
   Contact Form 7 統一スタイル（背景 #f5f5f5）
   貼り付け先：テーマの style.css or 外観 > 追加CSS
   ========================================================= */

/* カラートークン */
:root{
  --c-bg: #f5f5f5;        /* 入力欄の背景 */
  --c-fg: #111;           /* 文字色 */
  --c-border: #ddd;       /* 枠線 */
  --c-border-hover: #cfcfcf;
  --c-ring: rgba(59,130,246,.2); /* フォーカス時のアウトライン */
  --c-brand: #2563eb;     /* フォーカス時の枠色・ボタン色 */
  --c-muted: #eee;        /* 無効時背景 */
  --c-error: #dc2626;     /* エラー色 */
}

/* 共通：入力要素（select含む） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="search"],
.wpcf7 input[type="number"],
.wpcf7 input[type="password"],
.wpcf7 textarea,
.wpcf7 select{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;

  width:100%;
  box-sizing:border-box;
  font:inherit;
  color:var(--c-fg);
  background-color:var(--c-bg);
  border:1px solid var(--c-border);
  border-radius:.6rem;
  line-height:1.2;
  padding:.65em 2.6em .65em .9em; /* 右はselect矢印分を確保 */
  box-shadow:none; /* フラットに */
  transition:border-color .2s, box-shadow .2s, background-color .2s;
}

/* hover / focus */
.wpcf7 input[type="text"]:hover,
.wpcf7 input[type="email"]:hover,
.wpcf7 input[type="tel"]:hover,
.wpcf7 input[type="url"]:hover,
.wpcf7 input[type="search"]:hover,
.wpcf7 input[type="number"]:hover,
.wpcf7 input[type="password"]:hover,
.wpcf7 textarea:hover,
.wpcf7 select:hover{
  border-color:var(--c-border-hover);
}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
  outline:none;
  border-color:var(--c-brand);
  box-shadow:0 0 0 3px var(--c-ring);
}

/* select の矢印（SVGインライン） */
.wpcf7 select{
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>")
      no-repeat right .8em center / 1em,
    var(--c-bg);
}
/* 旧IEアイコン非表示（不要なら削除可） */
.wpcf7 select::-ms-expand{ display:none; }

/* textarea は矢印が不要なため右余白を調整＆高さ確保 */
.wpcf7 textarea{
  min-height:8rem;
  padding-right:.9em;
  resize:vertical;
}

/* 無効状態 */
.wpcf7 input:disabled,
.wpcf7 textarea:disabled,
.wpcf7 select:disabled{
  color:#999;
  background-color:var(--c-muted);
  cursor:not-allowed;
}

/* プレースホルダー色 */
.wpcf7 ::placeholder{ color:#9ca3af; }

/* 自動入力背景（Safari/Chrome） */
.wpcf7 input:-webkit-autofill{
  -webkit-box-shadow:0 0 0 1000px var(--c-bg) inset !important;
  -webkit-text-fill-color:var(--c-fg) !important;
  transition: background-color 9999s ease-out 0s;
}

/* バリデーション（エラー時） */
.wpcf7 .wpcf7-form-control.wpcf7-not-valid,
.wpcf7 .wpcf7-not-valid input,
.wpcf7 .wpcf7-not-valid textarea,
.wpcf7 .wpcf7-not-valid select{
  border-color:var(--c-error) !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.12) !important;
}
.wpcf7 .wpcf7-not-valid-tip{
  margin-top:.35rem;
  color:var(--c-error);
  font-size:.9em;
}

/* 送信後メッセージ */
.wpcf7 form .wpcf7-response-output{
  margin:1rem 0 0;
  padding:.8rem 1rem;
  border-radius:.5rem;
  border:1px solid var(--c-border);
  background:#fafafa;
}

/* 送信ボタン（任意：フォームとトーン合わせ） */
.wpcf7 input[type="submit"]{
  display:inline-block;
  font:inherit;
  color:#fff;
  background:var(--main-color);
  border:1px solid var(--main-color);
  border-radius:.6rem;
  padding:.7em 1.2em;
  cursor:pointer;
  transition:filter .2s, box-shadow .2s, transform .02s;
	letter-spacing: 1px;
}
.wpcf7 input[type="submit"]:hover{ filter:brightness(1.05); }
.wpcf7 input[type="submit"]:active{ transform:translateY(1px); }
.wpcf7 input[type="submit"]:disabled{ opacity:.6; cursor:not-allowed; }

/* （任意）フォーム行間隔を整えるユーティリティ */
.wpcf7 .form-row + .form-row{ margin-top:1rem; }

/* ===== 送信ボタン＆スピナーのセンタリング ===== */

/* ボタンを中央寄せ（ブロック化＋左右auto） */
.wpcf7 form input[type="submit"]{
  display: block;
  margin: 20px auto 5px auto;           /* 中央寄せ */
}

/* スピナーも中央寄せ（下に配置） */
.wpcf7 form .wpcf7-spinner{
  display: block;           /* 改行してボタンの下へ */
  margin: .6rem auto 0;     /* 上に少し余白を取りつつ中央寄せ */
  float: none;              /* 念のためフロート解除 */
}

/* （任意）ボタンとスピナーの横並びを避けたいテーマ向けの保険 */
.wpcf7 form input[type="submit"] + .wpcf7-spinner{
  display: block;
}

/* （任意）ボタン最大幅を控えめにして中央寄せ感を強調したい場合 */
.wpcf7 form input[type="submit"]{
  max-width: 30rem;         /* 好みで調整 */
  width: 100%;
}


.thanks_sec{ width: 1000px; margin: 0 auto 100px auto; padding-top: 40px; font-size: 1.8rem; letter-spacing: 2px; line-height: 2; }


.privacy_sec{ width: 1000px; margin: 0 auto 100px auto; padding-top: 40px; }
.privacy_sec h2{ font-size: 2rem; font-weight: 700; color: var(--main-color); border-top: 2px solid #ffbabd; border-bottom: 2px solid #ffbabd; padding: 15px 0; margin-bottom: 20px; }
.privacy_sec p{ font-size: 1.6rem; letter-spacing: 2px; line-height: 2; margin-bottom: 40px; }





}
/* ----------------------------------------------------------
 PC CSS END
---------------------------------------------------------- */
/* =========================
   1900px以上：1400pxの形に寄せる
   ========================= */
@media screen and (min-width: 1900px){

  /* ① 中身の基準幅を 1400px に固定（1400の形に近づけるコア） */
  .page_wrapper{
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
  }

  .interview .page_wrapper{ max-width: 100%; }

  /* ② ただし、背景は “画面いっぱい” を維持したいブロックだけ 100vw にする */
  .top_interview,
  .top_education{
    background: transparent; /* 元の背景色は消す */
    position: relative;
  }

  .top_interview::before,
  .top_education::before{
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: #eee; /* 元の背景色 */
    z-index: -1;
  }


}









