@charset "UTF-8";
/* CSS Document */ :root {
  --m: #FDD000;
  --s: #F4F2EF;
  --p: #C4C4C4;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
  color: #222222;
  background-color: #E8E8E8;
  font-weight: 900;
  font-size: 1.6rem;
  font-feature-settings: "palt";
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; /* Safari */
  overflow-x: clip;
}
p {
  line-height: 1.9;
  letter-spacing: 0.08em;
}
img {
  max-width: 100%;
  height: auto;
  border-style: none;
  vertical-align: top;
}
.img100 {
  width: 100%;
}
a {
  text-decoration: none;
  color: #222222;
  letter-spacing: 0.04em;
}
ul {
  list-style-type: none;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
address {
  font-style: normal;
}
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.08em;
  line-height: 1.6;
  font-weight: 900;
}
/*ボタン*/
.btn01 {
  display: block;
  width: fit-content;
  position: relative;
  min-width: 270px;
  padding: 30px 80px 30px 30px;
  border-radius: 50px;
  background-color: var(--m);
  transition: 0.2s;
  white-space: nowrap;
  font-size: 1.8rem;
}
.btn01:before {
  content: "";
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.btn01::after {
  content: '';
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background-color: var(--p);
  position: absolute;
  right: 27px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
}
.btn01:hover {
  background-color: var(--p);
  color: #fff;
}
.btn01:hover:after {
  right: 15px;
  background-color: var(--m);
}
.btn02 {
  display: block;
  width: fit-content;
  margin: 0 auto;
  position: relative;
  min-width: 300px;
  padding: 30px 100px 30px 30px;
  border-radius: 50px;
  background-color: #fff;
  transition: 0.2s;
  white-space: nowrap;
  font-size: 1.8rem;
  border: 1px solid #222222;
}
.btn02:before {
  content: "";
  width: 32px;
  height: 31px;
  background: url("../images/arrow-right.svg") no-repeat;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.2s;
}
.btn02:hover:before {
  right: 0px;
}
/*アニメーション動き*/
.left_in {
  opacity: 0;
  transform: translate(-100px, 0px);
  transition-duration: 2s;
  transition-delay: 0.2s;
}
.right_in {
  opacity: 0;
  transform: translate(100px, 0px);
  transition-duration: 2s;
  transition-delay: 0.2s;
}
.fade_up {
  opacity: 0;
  transform: translate(0px, 120px);
  transition-duration: 2s;
}
.mv {
  opacity: 1.0;
  transform: translate3d(0, 0, 0);
}
/*////////////////ヘッダーフッター/////////////*/
.head {}
.logo img {
  width: max(9.2vw, 140px);
}
.nav {
  position: fixed;
  top: 1.6vw;
  right: max(4%, 40px);
  z-index: 999;
  background: #fff;
  border: 1px solid #222222;
  border-radius: 60px;
  padding: 13px 0px 13px 50px;
}
.menu {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-weight: 900;
}
.menu__single {
  margin-right: 1.8em;
  text-align: center;
  font-size: clamp(1.6rem, 0.42vw + 1.20rem, 2.00rem);
}
.menu__single a {
  position: relative;
}
.menu__single a:hover {
  color: var(--m);
}
.menu__single a:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: var(--m);
  transition: all .2s linear;
}
.menu__single a:hover:after {
  width: 100%;
}
.jp_menu {
  display: block;
  font-size: clamp(1.20rem, 0.21vw + 1.00rem, 1.40rem);
}
.menu__yellow {
  margin-right: -30px;
  background-color: var(--m);
  border-radius: 50px;
  padding: 12px 23px;
  text-align: center;
  font-size: clamp(1.60rem, 0.42vw + 1.20rem, 2.00rem);
}
.menu__yellow:hover {
  background-color: #939393;
  transition: 0.2s;
  a {
    color: #fff;
  }
}
.alps {
  position: relative;
  img {
    width: 100%;
  }
}
.copy {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 1.2rem;
}
.foot_cont {
  display: flex;
  align-items: flex-start;
  /*  flex-wrap: wrap;*/
  width: 85%;
  margin: 0 auto;
  padding: max(7.5%, 100px) 0 max(7.5%, 80px);
}
.foot_left {
  width: max(47%, 320px);
  margin-right: 3%;
  font-size: clamp(1.60rem, 1.04vw + 0.80rem, 2.60rem);
  padding-left: 0.7em;
  border-left: 7px solid var(--m);
  p:not(:last-of-type) {
    margin-bottom: 10px;
  }
}
.foot_nav {
  padding-left: 0.7em;
  border-left: 7px solid var(--m);
  width: max(50%, 500px);
}
.foot_menu {
  display: flex;
  &:first-of-type {
    margin-bottom: 40px;
  }
}
.foot_single_menu {
  margin-right: 1.8em;
  white-space: nowrap;
  font-size: clamp(1.60rem, 0.42vw + 1.20rem, 2.00rem);
  a:hover {
    color: var(--m);
  }
  &:last-of-type {
    margin-right: 0;
  }
}
/*///////////////////////top///////////////////////////*/
.catch {
  width: 95%;
  margin: max(5vw, 80px) 0 calc(8vw + 80px) auto;
  height: 49.843vw;
  position: relative;
  padding-left: 5vw;
  &::before {
    content: '';
    width: 87.5vw;
    height: 47.8vw;
    border-radius: max(10px, 1.2vw);
    z-index: -1;
    background-color: var(--m);
    position: absolute;
    left: -2.5vw;
    top: 8vw;
  }
}
.top_slider {
  border-radius: max(10px, 1.2vw) 0 0 max(10px, 1.2vw);
  background-color: #fff;
  overflow: clip;
  height: 49.843vw;
  width: 90vw;
  position: relative;
}
.top_slider ul li {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  animation-iteration-count: infinite;
  animation-duration: 9s;
  img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
.top_slider ul li:nth-child(1) {
  animation-name: slider;
  animation-delay: 0s;
}
.top_slider ul li:nth-child(2) {
  animation-name: slider;
  animation-delay: 3s;
  opacity: 0;
}
.top_slider ul li:nth-child(3) {
  animation-name: slider;
  animation-delay: 6s;
  opacity: 0;
}
@keyframes slider {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  20.83% {
    opacity: 1;
  }
  33.33% {
    opacity: 1;
  }
  45.83% {
    opacity: 0;
  }
  100% {
    opacity: 0;
    transform: scale(1.1);
  }
}
.catch_name {
  position: absolute;
  left: 0;
  bottom: 2%;
  width: 95%;
}
.catch_text {
  display: block;
  margin-bottom: 1.5%;
  font-size: clamp(3.00rem, 3.65vw + -0.50rem, 6.50rem);
  padding: 0 1.6%;
  width: fit-content;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background: rgba(255, 255, 255, 0.93);
  animation: leftIn 2.5s ease 1s 1 normal forwards;
  opacity: 0;
}
.catch_text:last-of-type {
  animation-delay: 1.5s;
}
@keyframes leftIn {
  0% {
    opacity: 0;
    transform: translateX(-5vw);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.y_catch {
  font-size: clamp(3.80rem, 4.38vw + -0.40rem, 8.00rem);
  color: var(--m);
}
.top01 {
  width: min(90%, 1728px);
  margin: 0 auto 90px;
  background-color: var(--s);
  padding: 5% 2.5%;
  border-radius: 10px;
}
.top01_title {
  font-size: clamp(5.00rem, 4.17vw + 2.00rem, 10.00rem);
  color: var(--m);
  letter-spacing: 0;
  line-height: 1.2;
  border-bottom: 8px solid var(--m);
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.jp_title {
  display: block;
  font-size: 2rem;
  color: #222222;
  letter-spacing: 0.08em;
}
.top01_inner {
  display: flex;
  justify-content: space-between;
}
.top01_left {
  width: 56%;
}
.top01_pic {
  width: 31.4%;
  padding-top: 3.5%;
}
.top01_text {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  letter-spacing: 0.1em;
  margin-bottom: 10%;
  line-height: 2.1;
}
.top02_inner {
  background-color: var(--s);
  padding: 5% 2.5%;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}
.top02_pic {
  width: 32.5%;
}
.top02_right {
  width: 60%;
}
.top02_title {
  font-size: clamp(4.00rem, 2.29vw + 1.80rem, 6.20rem);
  margin-bottom: 40px;
  padding: 0 0.3em;
  position: relative;
  width: fit-content;
  &::before {
    content: '';
    width: 50px;
    height: 50px;
    border-left: 1px solid #222222;
    border-top: 1px solid #222222;
    position: absolute;
    left: 0;
    top: 0;
  }
  &::after {
    content: '';
    width: 50px;
    height: 50px;
    border-right: 1px solid #222222;
    border-bottom: 1px solid #222222;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.top02_pic01 {
  width: 82%;
  margin-bottom: 15%;
}
.top02_pic02 {
  width: 60%;
  margin: 0 0 0 auto;
}
.top02 {
  width: min(90%, 1728px);
  margin: 0 auto max(15vw, 80px);
}
.top03_title {
  font-size: clamp(6.00rem, 4.17vw + 2.00rem, 10.00rem);
  color: var(--m);
  letter-spacing: 0;
  line-height: 1.2;
  margin-bottom: 40px;
  position: absolute;
  top: clamp(-13.00rem, -2.85vw + -1.00rem, -5.00rem);
  left: 7.5vw;
  .jp_title {
    color: #fff;
  }
}
.top03 {
  width: 92.5%;
  height: max(auto, 72.65vw);
  margin-bottom: max(15vw, 100px);
  position: relative;
  padding: 30vw 7.5vw 5vw 20vw;
  &::after {
    content: '';
    position: absolute;
    top: 5vw;
    left: 10vw;
    width: 87.5vw;
    height: 100%;
    background-color: var(--m);
    z-index: -2;
    border-radius: max(1.2vw, 10px);
  }
}
.top03_pic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  border-radius: 0 max(1.2vw, 10px) max(1.2vw, 10px) 0;
}
.top03_text {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: max(5vw, 30px);
}
.top03_textbox {
  max-width: 735px;
  margin: 0 0 0 auto;
}
.top04 {
  width: min(90%, 1728px);
  margin: 0 auto;
  background-color: var(--s);
  padding: 2.5% 2.5% 5%;
  border-radius: 10px;
}
.top_news_wrap {
  margin: max(5%, 40px) 0 5%;
}
.top_news_li {
  border-bottom: 1px solid #222222;
  margin-bottom: max(3%, 30px);
  padding-bottom: max(3%, 30px);
  font-size: clamp(1.60rem, 0.42vw + 1.20rem, 2.00rem);
}
.top_topic_list {
  display: flex;
}
.top_eyecatch {
  width: max(21%, 120px);
  aspect-ratio: 1;
  overflow: clip;
  z-index: 1;
}
.top_eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1s;
}
.top_news_li:hover .top_eyecatch img {
  transform: scale(1.1);
  filter: brightness(0.6);
}
.top_news_text {
  margin-left: 3%;
  width: 100%;
}
.top_list_date {
  display: block;
  margin-bottom: 15px;
}
/*////////////////サブページ共通/////////////////*/
.sub_catch {
  width: 95%;
  margin: max(5vw, 80px) 0 max(8vw, 80px) auto;
  img {
    border-radius: 10px 0 0 10px;
  }
}
.sub_title {
  font-size: clamp(5.00rem, 4.17vw + 1.00rem, 9.00rem);
  color: var(--m);
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 0 2.5vw;
  transform: translateY(-55%);
}
/*////////////////会社情報/////////////////*/
.about01 {
  width: min(90%, 1728px);
  margin: 0 auto max(10vw, 80px);
}
.about01_greeting {
  background-color: var(--s);
  padding: 2.5% 2.5% 25%;
  border-radius: 10px;
}
.about01_title {
  font-size: clamp(3.50rem, 2.08vw + 1.50rem, 5.50rem);
  border-bottom: 8px solid var(--m);
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.greet_wrap {
  display: flex;
  justify-content: space-between;
}
.greet_left {
  width: 47.6%;
  font-size: clamp(1.60rem, 0.83vw + 0.80rem, 2.40rem);
  margin-right: 3%;
}
.greet_right {
  width: 36.3%;
}
.prof_pic {
  padding: 0 0 8% 8%;
  margin-bottom: 20px;
  position: relative;
  z-index: 1;
  &::after {
    content: '';
    position: absolute;
    top: 8%;
    left: 0;
    width: 92%;
    height: 92%;
    background-color: var(--m);
    border-radius: min(1vw, 10px);
    z-index: -1;
  }
}
.prof_textbox {
  text-align: center;
  font-size: clamp(1.60rem, 0.42vw + 1.20rem, 2.00rem);
  padding: 0 4%;
  margin: 0 auto;
  p {
    margin-bottom: 15px;
  }
}
.name_yagi {
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
}
p.prof_text {
  text-align: justify;
  margin-bottom: 25px;
  a {
    word-break: break-all;
    line-height: 1.2;
    display: inline-block;
    margin-top: 5px;
  }
}
.about01_picbox {
  display: flex;
  padding-left: 2.5%;
  margin-top: -15vw;
}
.about01_pic01 {
  margin-right: 2.5vw;
  width: 43%;
}
.about01_pic02 {
  padding-top: 5vw;
  width: 43%;
}
.about02 {
  width: min(90%, 1326px);
  margin: 0 auto max(10vw, 80px);
  background-color: var(--s);
  padding: 2.5% min(3%, 70px) 5%;
  border-radius: 10px;
}
.about02_pic {
  margin: 0 0 20px 20px;
  width: 38%;
  float: right;
}
.about02_text {
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  line-height: 2.3;
  letter-spacing: 0.12em;
}
.about02_pic2 {
  float: left;
  width: 38%;
  margin: 0 20px 20px 0;
}
.ina_pic {
  margin: 0 0 max(15vw, 80px) 7.5%;
  img {
    width: 100%;
  }
}
.about03 {
  width: min(85%, 1728px);
  margin: 0 auto max(15vw, 80px);
}
.about03_title {
  font-size: clamp(3.50rem, 2.08vw + 1.50rem, 5.50rem);
  margin-bottom: 50px;
}
.history_box {
  display: flex;
  border-radius: 10px;
  background-color: #fff;
  min-height: 160px;
  margin-bottom: 35px;
}
.his_year {
  background-color: var(--m);
  color: #fff;
  padding: 20px 48px;
  font-size: clamp(3.00rem, 1.88vw + 1.20rem, 4.80rem);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-radius: 10px 0 0 10px;
}
.his_mon {
  display: block;
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
}
.his_text {
  padding: 2% 3%;
  display: flex;
  align-items: center;
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
}
.about04 {
  width: min(90%, 1728px);
  margin: 0 auto 60px;
  background-color: var(--s);
  padding: 5% 2.5%;
  border-radius: 10px;
}
.about04_inner {
  display: flex;
  justify-content: space-between;
}
.company_box {
  display: flex;
  align-items: center;
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  margin-bottom: 20px;
  &:last-of-type {
    margin-bottom: 0;
  }
}
.com_title {
  background-color: var(--p);
  color: #fff;
  width: 6em;
  padding: 10px;
  text-align: center;
  border-radius: 8px;
  margin-right: 1em;
}
.company {
  width: 50%;
}
.about04_pic {
  width: 41%;
}
.branch {
  display: grid;
  flex-wrap: wrap;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px 2.5%;
}
.branch_box {
  border-radius: 10px;
  border: 2px solid #222222;
  padding: 5% 3.5%;
  background-color: #fff;
}
.branch_name {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  border-bottom: 1px solid #222222;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
.branch_address {
  line-height: 1.5;
  font-size: clamp(1.60rem, 0.42vw + 1.20rem, 2.00rem);
  margin-bottom: 10px;
  &:last-of-type {
    margin-bottom: 0;
  }
}
/*////////////////求人一覧/////////////////*/
.sub_title2 {
  font-size: clamp(5.00rem, 4.17vw + 1.00rem, 9.00rem);
  color: var(--m);
  letter-spacing: 0;
  line-height: 1.2;
  margin: max(10vw, 80px) 7.5vw max(10vw, 80px);
}
.place_box {
  width: min(85%, 1728px);
  margin: 0 auto 80px;
}
.place_title {
  border-bottom: 2px dotted #222222;
  margin-bottom: 25px;
  padding-bottom: 5px;
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  width: fit-content;
}
.place_list {
  display: flex;
  gap: 20px 10px;
  flex-wrap: wrap;
}
.place_item {
  background-color: #fff;
  padding: 10px 15px;
  border: 1px solid #222222;
  border-radius: 10px;
  &:hover {
    background-color: var(--p);
    color: #fff;
  }
}
.job_list_wrap {
  width: min(85%, 1728px);
  margin: 0 auto 80px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(5.2vw, 100px) 5%;
}
.joblist_box{
  background-color: #fff;
  border-radius:10px;
  border: 2px solid #222222;
  overflow: clip;
}
.job_name {
  background-color: var(--m);
  padding: 4% 3%;
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
}
.joblist_inner {
  padding: 3% 3% max(5%, 50px);
  background-color: #fff;
  border-top: none;
}
.joblist_infowrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: max(5%, 50px);
}
.joblist_pic {
  width: 32%;
  aspect-ratio: 4/3;
  overflow: clip;
  img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 5px;
  }
}
.joblist_info {
  width: 63%;
}
.joblist_textbox {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  font-size: clamp(1.40rem, 0.59vw + 0.83rem, 1.60rem);
  line-height: 1.3;
  &:last-of-type {
    margin-bottom: 0;
  }
}
.joblist_label {
  background-color: #939393;
  width: max(20%, 90px);
  text-align: center;
  color: #fff;
  padding: 10px 5px;
  border-radius: 5px;
  margin-right: 5%;
  white-space: nowrap;
  display: block;
}
.joblist_text {
  width: 70%;
}
.btn_joblist {
  width: 156px;
  height: 46px;
  background-color: var(--m);
  border-radius: 30px;
  display: flex;
  align-items: center;
  padding-left: 1em;
  position: relative;
  margin: 0 auto;
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    background: url("../images/circle-right.svg") no-repeat;
    width: 24px;
    height: 24px;
  }
  &:hover {
    background-color: var(--p);
  }
}
/*ページャー*/
.joblist_pagination {
  margin-bottom: 150px;
}
.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .page-numbers {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .current {
  background: #939393;
  color: #fff;
}
.pagination .prev, .pagination .next {
  background: transparent;
  box-shadow: none;
}
.pagination .dots {
  background: transparent;
  box-shadow: none;
}
/*////////////////求人詳細/////////////////*/
.job_wrap {
  width: min(90%, 1000px);
  margin: max(10vw, 80px) auto 80px;
}
.job_title {
  background-color: var(--m);
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  padding: 4% 3%;
  border: 2px solid #222222;
  border-radius: 10px 10px 0 0;
}
.job_content {
  padding: 4% 4% 90px;
  border: 2px solid #222222;
  border-top: none;
  border-radius: 0 0 10px 10px;
  background-color: var(--s);
}
.job_pic {
  margin-bottom: 4%;
  aspect-ratio: 8/5;
  overflow: hidden;
  border-radius: 10px;
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.job_info_wrap {
  width: 100%;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-bottom: max(15%, 80px);
}
.job_info {
  border: 1px solid #222222;
  width: 13em;
  text-align: left;
  padding: 1em;
  background-color: #939393;
  color: #fff;
}
.job_text {
  border: 1px solid #222222;
  padding: 1em;
  background-color: #fff;
}
.job_message {
  padding: 4% 3%;
  border: 2px solid #222222;
  border-radius: 10px;
  position: relative;
  margin-bottom: 90px;
  background-color: #fff;
}
.job_message_label {
  position: absolute;
  top: -50px;
  left: 3%;
  background-color: var(--m);
  color: #fff;
  font-size: 30px;
  padding: 0.2em 0.5em;
  width: fit-content;
}
.message_title {
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  border-bottom: 8px solid var(--m);
  padding-bottom: 2%;
  margin-bottom: 3%;
}
.map {
  aspect-ratio: 8/3;
  margin-top: 15px;
  iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 8/3;
  }
}
.job_btn {
  background-color: var(--m);
  border-radius: 100px;
  height: 153px;
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.2s;
  &:hover {
    background-color: var(--p);
    color: #fff;
  }
}
/*////////////////問い合わせ、採用応募/////////////////*/
.form_title {
  font-size: clamp(3.00rem, 1.88vw + 1.20rem, 4.80rem);
  text-align: center;
  margin-bottom: 50px;
}
.formWrap {
  width: min(90%, 900px);
  margin: 0 auto 15vw;
}
.input_wrap {
  margin-bottom: 20px;
}
.require::after {
  content: "＊";
  color: var(--m);
  margin-left: 10px;
}
.input {
  width: 100%;
  height: 56px;
  padding: 5px 16px;
  font-size: 16px;
  margin-top: 15px;
  border-radius: 5px;
  border: #222222 1px solid;
}
.name_wrap {
  margin-bottom: 50px;
}
#textbox {
  height: 180px;
  font-size: 16px;
  border: #707070 1px solid;
}
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: #b9b9b9;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #b9b9b9;
}
::placeholder { /* Others */
  color: #b9b9b9;
}
/*ラジオボタン*/
.radiobutton {
  margin-left: 2px;
  padding-top: 30px;
  letter-spacing: 0.1em;
}
.radiobutton label {
  padding: 0 0 0 35px; /* ラベルの位置 */
  font-size: 16px;
  line-height: 30px; /* ボタンのサイズに合わせる */
  display: inline-block;
  cursor: pointer;
  position: relative;
  margin-right: 3em;
}
.radiobutton label:before {
  content: '';
  width: 30px; /* ボタンの横幅 */
  height: 30px; /* ボタンの縦幅 */
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  border: 2px solid #e5e5e5;
  border-radius: 50%;
}
.radiobutton input[type="radio"] {
  display: none;
}
.radiobutton input[type="radio"]:checked + label:after {
  content: '';
  width: 16px; /* マークの横幅 */
  height: 16px; /* マークの縦幅 */
  position: absolute;
  top: 7px;
  left: 7px;
  background-color: #222222;
  ;
  border-radius: 50%;
}
.radiobutton input {
  margin-right: 20px;
}
.submit_btn {
  color: #222222;
  font-weight: 900;
  letter-spacing: 0.1em;
  border-radius: 50px;
  padding: 20px 35px;
  width: 230px;
  display: inline-block;
  text-align: center;
  background-color: var(--m);
  transition: 0.2s;
  border: none;
  font-size: 1.6rem;
}
.submit_btn:hover {
  background-color: var(--p);
}
/* チェックボックス01 */
input[type=checkbox] {
  display: none;
}
.checkbox01 {
  cursor: pointer;
  display: inline-block;
  padding: 0 0 0 25px;
  position: relative;
  width: auto;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.checkbox01::before {
  background: #fff;
  border: 1px solid #231815;
  content: '';
  display: block;
  height: 17px;
  left: 0;
  position: absolute;
  top: 0.3em;
  width: 17px;
}
.checkbox01::after {
  border-right: 3px solid var(--m);
  border-bottom: 3px solid var(--m);
  content: '';
  display: block;
  height: 11px;
  left: 5px;
  opacity: 0;
  position: absolute;
  top: 0.33em;
  transform: rotate(45deg);
  width: 7px;
}
input[type=checkbox]:checked + .checkbox01::after {
  opacity: 1;
}
.check_privacy {
  vertical-align: middle;
}
.check_privacy a {
  color: var(--m);
  text-decoration: underline;
}
.mail_info {
  margin-bottom: 30px;
}
.mail_info span {
  color: var(--m);
}
/*////////////////お知らせ一覧/////////////////*/
.newslist_wrap {
  width: min(85%, 1728px);
  margin: 0 auto 5vw;
  background-color: var(--s);
  padding: 2.5% 2.5% 5%;
  border-radius: 10px;
}
/*////////////////////////お知らせ記事///////////////////////////*/
.news {
  width: min(90%, 1000px);
  margin: max(10vw, 80px) auto clamp(80px, 15vw, 170px);
  border: 2px solid #222222;
  border-radius: 10px;
  padding: min(5%, 50px) min(5%, 50px) min(10%, 80px);
  background-color: var(--s);
}
.news_head {
  padding-bottom: 5%;
  border-bottom: 1px solid #707070;
  margin-bottom: 5%;
}
.news_title {
  font-size: clamp(2.80rem, 1.04vw + 1.80rem, 3.80rem);
  margin-bottom: 20px;
}
.news_date {
  font-size: 1.4rem;
  margin-right: 1em;
}
.post_eyecatch img {
  margin-bottom: max(6%, 40px);
}
.post {
  margin-bottom: max(20%, 30px);
}
.post h2 {
  font-size: clamp(1.80rem, 1.13vw + 1.05rem, 2.40rem);
  margin: max(6%, 50px) 0 max(3%, 15px);
  position: relative;
  padding-left: 13px;
}
.post h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: var(--m);
}
.post h3 {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  margin: max(5%, 40px) 0 max(2%, 10px);
  padding-bottom: 0.3em;
  position: relative;
}
.post h3:after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #939393;
  position: absolute;
  bottom: 0;
  left: 0;
  border-left: 5em solid var(--m);
}
.post h4, .post h5, .post h6 {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  margin: max(5%, 40px) 0 max(1%, 10px);
}
.post p {
  margin-bottom: 1em;
  font-weight: 600;
}
.post a {
  color: var(--m);
}
.post figure {
  margin: max(7%, 40px) 0;
}
.post ul {
  list-style-type: square;
  list-style-position: outside;
  line-height: 1.5;
  margin: 0 0 20px 1.5em;
}
.post li {
  margin-bottom: 10px;
}
.news .btn01 {
  margin: 0 auto;
}
.bene01 {
  width: min(90%, 1728px);
  margin: 0 auto max(9vw, 80px);
  background-color: var(--s);
  padding: 5% 2.5%;
  border-radius: 10px;
}
.bene01_inner {
  display: flex;
  justify-content: space-between;
}
.bene01_text {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  width: 54.6%;
}
.bene01_pic {
  width: 38.3%;
}
.bene02 {
  width: min(90%, 1728px);
  margin: 0 auto max(10vw, 90px);
}
.bene02_box {
  display: flex;
  align-items: flex-end;
  margin-bottom: min(8vw, 180px);
  &:last-of-type {
    margin: 0;
    justify-content: flex-end;
  }
}
.bene02_pic {
  width: 46.4%;
  position: relative;
  &::after {
    content: '';
    position: absolute;
    top: 7%;
    left: 5.5%;
    width: 100%;
    height: 100%;
    background-color: var(--m);
    border-radius: min(1vw, 10px);
    z-index: -1;
  }
}
.bene02_textbox {
  width: min(53%, 815px);
  background-color: #fff;
  border-radius: min(1vw, 10px);
  padding: 2%;
  margin: 0 0 3% -8%;
  z-index: 2;
}
.bene02_title {
  font-size: clamp(2.80rem, 1.04vw + 1.80rem, 3.80rem);
  border-bottom: 5px solid var(--m);
  width: fit-content;
  margin-bottom: 15px;
}
.bene02_text {
  font-size: clamp(1.60rem, 0.83vw + 0.80rem, 2.40rem);
}
.bene03 {
  background-color: var(--m);
  padding: 5% 0;
}
.bene03_box {
  width: min(90%, 1632px);
  margin: 0 auto 5%;
}
.bene03_title {
  color: #fff;
  border-radius: 10px 10px 0 0;
  background-color: #222222;
  font-size: clamp(2.00rem, 1.56vw + 0.50rem, 3.50rem);
  width: fit-content;
  padding: 10px 15px;
}
.bene03_text_wrap {
  padding: 3%;
  background-color: #fff;
  font-size: clamp(1.60rem, 0.83vw + 0.80rem, 2.40rem);
  border-radius: 0 10px 10px;
}
.bene03_text_wrap ul {
  list-style-type: square;
  list-style-position: outside;
  line-height: 1.6;
  margin: 0 0 0 1.5em;
}
.bene03_text_wrap li {
  margin-bottom: 10px;
  &:last-of-type {
    margin-bottom: 0;
  }
}
.rec01_textbox {
  background-color: var(--m);
  width: 90%;
  margin: 0 auto;
  padding: 7% 7% 30%;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
}
.rec01_title {
  width: 38%;
  margin-right: 6%;
  white-space: nowrap;
  font-size: 3.64vw;
}
.rec01_text {
  font-size: max(1.04vw + 0.80rem, 1.80rem);
  padding-top: 7%;
}
.rec_loop {
  position: relative;
  display: flex;
  width: 100vw;
  overflow: hidden;
  margin-top: -18%;
}
.rec_loop__box {
  width: 150vw;
  display: flex;
  flex-shrink: 0;
}
.rec_loop__box:first-child {
  animation: slide1 60s -30s linear infinite;
}
.rec_loop__box:last-child {
  animation: slide2 60s linear infinite;
}
.rec_loop__item {
  width: 100%;
  margin-right: 2%;
  text-align: center;
}
.rec_loop__item:nth-last-of-type(2n) {
  padding-top: 3%;
}
.rec_loop__item img {
  width: 100%;
}
@keyframes slide1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.rec02 {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: min(90%, 1632px);
  margin: 0 auto max(10vw, 80px);
}
.rec01 {
  margin-bottom: max(10vw, 80px);
}
.rec02_textbox {
  width: 56.25%;
  border-left: 5px solid var(--m);
  padding-left: 15px;
  margin-bottom: 5%;
}
.rec02_textbox .btn02 {
  margin: 0;
}
.rec02_text {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  line-height: 2.2;
  margin-bottom: 80px;
}
.rec02_pic {
  width: 31.4%;
}
.rec03_title {
  font-size: clamp(3.50rem, 2.08vw + 1.50rem, 5.50rem);
  border-bottom: 8px solid var(--m);
  padding-bottom: 20px;
  margin-bottom: 40px;
}
.rec03 {
  width: min(90%, 1632px);
  margin: 0 auto max(10vw, 80px);
}
.interview {
  padding: 5% 4%;
  background-color: #fff;
  margin-bottom: 50px;
  border: 3px solid #222222;
  border-radius: min(2vw, 20px);
}
.interview_prof {
  text-align: center;
  width: max(23.5%, 250px);
  float: left;
  margin: 0 35px 35px 0;
  img {
    margin-bottom: 1em;
  }
}
.inter_name {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  line-height: 1.5;
  margin-bottom: 5px;
  span {
    font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  }
}
.age {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
  line-height: 1.5;
}
.interview_text {
  font-size: clamp(1.60rem, 0.83vw + 0.80rem, 2.40rem);
  line-height: 2.2;
  margin-bottom: 80px;
}
.comment_prof {
  text-align: center;
  width: max(23.5%, 250px);
  img {
    margin-bottom: 1em;
  }
}
.interview_comment {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.comment_text_box {
  width: 73%;
  margin-right: 3%;
  padding: 3%;
  border: 2px solid #222222;
  border-radius: 10px;
  background-color: var(--s);
  position: relative;
}
.comment_text_box:before {
  content: "";
  position: absolute;
  left: 100%;
  top: 30%;
  width: 3%;
  height: 3vw;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  background-color: #222222;
  z-index: 2;
}
.comment_text_box:after {
  content: "";
  position: absolute;
  left: calc(100% - 3px);
  top: 30%;
  width: 3%;
  height: 3vw;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  background-color: var(--s);
  z-index: 2;
}
.comment_title {
  background-color: var(--m);
  font-size: 3rem;
  width: fit-content;
  padding: 10px 15px;
  position: absolute;
  left: 3%;
  top: -50px;
}
.comment_text {
  font-size: clamp(1.60rem, 0.83vw + 0.80rem, 2.40rem);
}
.rec04 {
  width: min(90%, 1632px);
  margin: 0 auto max(10vw, 50px);
  .btn02 {
    margin: 0;
  }
}
.rec_infowrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: max(8%, 60px);
}
.rec_info_textbox {
  width: 60%;
}
.rec_info_title {
  font-size: clamp(3.50rem, 2.08vw + 1.50rem, 5.50rem);
  border-bottom: 5px solid var(--m);
  width: fit-content;
  padding-bottom: 10px;
  margin-bottom: 40px;
}
.rec_info_text {
  font-size: clamp(1.80rem, 1.04vw + 0.80rem, 2.80rem);
  margin-bottom: 3%;
}
.rec_little_text {
  font-size: clamp(1.60rem, 0.75vw + 1.10rem, 2.00rem);
}
.rec_info_pic {
  width: 32.7%;
}
.rec_contact_box {
  display: flex;
  align-items: center;
  font-size: clamp(1.80rem, 0.63vw + 1.20rem, 2.40rem);
  margin-bottom: 20px;
  &:last-of-type {
    margin-bottom: 0;
  }
}
.rec_contact_title {
  background-color: var(--p);
  color: #fff;
  width: 6em;
  padding: 10px;
  text-align: center;
  border-radius: 8px;
  margin-right: 1em;
}
.rec_mail {
  width: calc(100% - 7em);
}
@media (orientation: portrait) {
  .sub_anime {
    animation: fadeUp 2s ease 1.2s 1 normal forwards;
    opacity: 0;
  }
  @keyframes fadeUp {
    0% {
      opacity: 0;
      transform: translateY(70px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
/*スマホメニュー消す*/
.mobile {
  display: none;
}
#panel {
  display: none;
}
.sp-br {
  display: none;
}
.com_info {
  width: 70%;
}
.thanks {
  margin: clamp(250px, 10.00vw + 154px, 346px) auto clamp(80px, 10.00vw + 32px, 224px);
  width: fit-content;
  padding: 0 5%;
}
.thanks_p2 {
  margin-bottom: 80px;
}
.privacy_post {
  width: min(90%, 1000px);
  margin: 0 auto;
}