@charset "UTF-8";
/* ***************************************************
 PC / SP共通
*************************************************** */
/* ////////////////// タグ初期値 ////////////////// */
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.flex {
  display: flex;
}
.flex.align-items-center {
  align-items: center;
}
.flex.reverse {
  flex-direction: row-reverse;
}

.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}

.pt0 {
  padding-top: 0;
}

.pb0 {
  padding-bottom: 0 !important;
}

small {
  font-size: 80%;
}

.pc_only,
.sp_only {
  display: none !important;
}

a:not([href]) {
  cursor: none;
  pointer-events: none;
}
a:not([href]):hover {
  opacity: 1;
}

.pc_only,
.sp_only {
  display: none;
}

.top .ttl h2 img {
  margin-bottom: 10px;
}
.top .ttl span {
  display: block;
  font-size: 30px;
}

body.home section.news .inner {
  padding: 80px 40px;
  gap: 100px;
}

body.home section.news .ttl {
  margin-right: 0;
  text-align: left;
}

.square_btn {
  width: 100%;
  padding: 10px 10px;
  max-width: 360px;
}
.square_btn.long_btn {
  max-width: 500px;
}

body.home section.news .news_list_wrap {
  height: auto;
}

.news_info {
  display: flex;
  gap: 20px;
}
.news_info .category {
  background-color: #FFEEB7;
  padding: 0 10px;
  border-radius: 8px;
  font-weight: bold;
  font-size: 90%;
  display: flex;
  align-items: center;
}

/* ***************************************************
 PARTS
*************************************************** */
header.is-fixed {
  translate: 0 0;
}

header .global_list {
  gap: 20px;
}

.global_list li {
  position: relative;
}
.global_list li ul.menuSub {
  position: absolute;
  padding: 0 0 5px;
  display: none;
  width: 140%;
  min-width: 220px;
  background-color: #fff;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.2);
}
.global_list li ul.menuSub li {
  padding: 0 5px;
}
.global_list li ul.menuSub li a {
  padding: 0 10px;
  padding: 5px;
  display: block;
  text-decoration: none;
  position: relative;
  padding-left: 1.4em;
}
.global_list li ul.menuSub li a::before {
  content: "";
  display: block;
  width: 4px;
  height: 2px;
  background-color: #000;
  position: absolute;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}
header .global_list li + li {
  margin-left: 0;
}

footer {
  background: #fff;
  padding: 60px 0px;
}
footer .footer_container {
  display: flex;
  justify-content: space-between;
}
footer .logo {
  margin-left: 0;
}
footer .footer_external_link {
  display: flex;
  gap: 15px;
}
footer .footer_external_link .sns_list {
  display: flex;
  gap: 15px;
}
footer .footer_external_link .sns_list li {
  width: 20px;
  height: auto;
}
footer .footer_external_link .lang_list {
  display: flex;
}
footer .footer_external_link .lang_list a {
  text-decoration: none;
}
footer .footer_external_link .lang_list li {
  padding-right: 7px;
  margin-right: 5px;
  font-size: 16px;
  font-weight: bold;
  position: relative;
}
footer .footer_external_link .lang_list li::after {
  content: "";
  display: block;
  width: 2px;
  height: 18px;
  background-color: #000;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
footer .footer_external_link .lang_list li:last-of-type::after {
  content: none;
}
footer .copyright {
  margin-top: 56px;
}

.f_global_nav_container {
  display: flex;
  gap: 50px;
}

.f_global_list > li {
  margin-bottom: 10px;
}
.f_global_list li {
  font-size: 16px;
  font-weight: bold;
}
.f_global_list li a {
  text-decoration: none;
}
.f_global_list li > ul li {
  padding-left: 1em;
  font-weight: normal;
  margin-top: 5px;
}

main .page {
  padding: 160px 0 120px;
}

.page_ttl {
  font-family: "superclarendon", serif;
  font-weight: bold;
  font-style: normal;
  font-size: 36px;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 60px;
}
.page_ttl span {
  font-family: initial;
  font-size: 20px;
  display: block;
}

.page_contents_wrap {
  background-color: #fff;
  padding: 80px 40px;
}

.page section.news .news_list_wrap {
  background: #fff;
  padding: 80px 40px;
}

.page section.news .category_list_wrap {
  margin-bottom: 25px;
}
.page section.news .category_list_wrap .category_list {
  display: flex;
  align-items: center;
  gap: 25px;
}
.page section.news .category_list_wrap .category_list a {
  text-decoration: none;
}

.page section.news .news_list {
  border-top: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
  border-bottom: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
}
.page section.news .news_list li + li {
  border-top: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
}
.page section.news .news_list .date {
  font-weight: bold;
}
.page section.news .news_list .txt {
  display: block;
  letter-spacing: 0.07em;
  position: relative;
}
.page section.news .news_list .txt::before, .page section.news .news_list .txt::after {
  content: "";
  margin: auto;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
}
.page section.news .news_list .txt::before {
  width: clamp(14.494875549px, 1.6105417277vw, 22px);
  height: clamp(14.494875549px, 1.6105417277vw, 22px);
  right: clamp(-30px, -2.196193265vw, -19.7657393851px);
  background: #000;
  border-radius: 50%;
}
.page section.news .news_list .txt::after {
  width: clamp(7.9063px, 0.878477vw, 12px);
  height: clamp(9.88287px, 1.0981vw, 15px);
  right: clamp(-26px, -1.90337vw, -17.1303px);
  mask-image: url(../img/icon_arrow.svg);
  mask-repeat: no-repeat;
  mask-size: contain;
  background: #fff;
  mask-position: center center;
}

.page section.news .news_list a {
  padding: clamp(13.8360175695px, 1.5373352855vw, 21px) clamp(39.5314787701px, 4.39238653vw, 60px) clamp(13.8360175695px, 1.5373352855vw, 21px) clamp(13.17715959px, 1.4641288433vw, 20px);
  display: block;
  text-decoration: none;
}

section.vision {
  position: relative;
  margin-top: 320px;
}
section.vision::before {
  content: "";
  width: clamp(849.9267935578px, 94.4363103953vw, 1290px);
  height: clamp(693.1185944363px, 77.0131771596vw, 1052px);
  display: block;
  pointer-events: none;
  position: absolute;
  top: calc(50% - clamp(32.9428989751px, 3.6603221083vw, 50px));
  left: calc(50% - clamp(26.3543191801px, 2.9282576867vw, 40px));
  translate: -50% -50%;
  z-index: -1;
  background-image: url(../img/about_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
section.vision .vision_mv {
  margin-bottom: clamp(38.2137628111px, 4.2459736457vw, 58px);
}
section.vision .lead {
  margin-bottom: clamp(19.7657393851px, 2.196193265vw, 30px);
  font-size: clamp(16.4714494876px, 1.8301610542vw, 25px);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.84;
  text-align: center;
}
section.vision .intro {
  text-align: center;
}

section.policy {
  margin-top: 240px;
}
section.policy .policy_contents_wrap_bg {
  overflow: hidden;
}
section.policy .policy_contents_wrap_bg + .bg_wh {
  margin-top: -100px;
}
section.policy .policy_contents_wrap {
  background-color: #fff;
  border-radius: 2000px 2000px 0 0/400px 400px 0 0;
  margin: 16px -100px 0;
  min-height: 300px;
}
section.policy .group {
  text-align: center;
}
section.policy .group img {
  width: clamp(647.6573938507px, 71.9619326501vw, 983px);
}
section.policy .bg_wh {
  background-color: #fff;
  border-bottom: 1px solid #000;
  padding-bottom: 100px;
}
section.policy .lead {
  font-size: clamp(16.4714494876px, 1.8301610542vw, 25px);
  padding-top: 40px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.84;
  text-align: center;
}

section.project h3 {
  font-size: 32px;
}
section.project .intro {
  margin-bottom: 40px;
}

section.project .policy_list {
  margin-bottom: clamp(55.3440702782px, 6.149341142vw, 84px);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}

@media (max-width: 767px) {
  section.project .policy_list {
    margin-bottom: min(14.358974359vw, 71.7948717949px);
    flex-wrap: wrap;
  }
}
section.project .policy_list > li {
  width: 23.8%;
  display: flex;
  flex-direction: column;
  background: #c89e45;
}

@media (max-width: 767px) {
  section.project .policy_list > li {
    width: 48%;
  }
}
@media (max-width: 767px) {
  section.project .policy_list > li:nth-of-type(n + 3) {
    margin-top: min(3.0769230769vw, 15.3846153846px);
  }
}
section.project .policy_list .ttl {
  padding: clamp(29.6486090776px, 3.2942898975vw, 45px) 0 clamp(30.3074670571px, 3.3674963397vw, 46px);
  font-size: clamp(13.8360175695px, 1.5373352855vw, 21px);
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
  color: #fff;
}

@media (max-width: 767px) {
  section.project .policy_list .ttl {
    padding: min(7.6923076923vw, 38.4615384615px) 0 min(6.6666666667vw, 33.3333333333px);
    font-size: min(3.8461538462vw, 19.2307692308px);
    line-height: 1.5333333333;
    letter-spacing: 0.07em;
  }
}
section.project .policy_list .ttl .num {
  margin-bottom: clamp(17.7891654466px, 1.9765739385vw, 27px);
  display: block;
  text-align: center;
}

@media (max-width: 767px) {
  section.project .policy_list .ttl .num {
    margin-bottom: min(4.1025641026vw, 20.5128205128px);
  }
}
section.project .policy_list .ttl .num img {
  height: clamp(40.1903367496px, 4.4655929722vw, 61px);
  -o-object-fit: contain;
  object-fit: contain;
}

@media (max-width: 767px) {
  section.project .policy_list .ttl .num img {
    height: min(10.2564102564vw, 51.2820512821px);
  }
}
section.project .policy_list .plan {
  margin-bottom: clamp(-30px, -2.196193265vw, -19.7657393851px);
  padding: clamp(27.0131771596px, 3.0014641288vw, 41px) 0 clamp(26.3543191801px, 2.9282576867vw, 40px);
  font-size: clamp(13.8360175695px, 1.5373352855vw, 21px);
  font-weight: 700;
  line-height: 1.4285714286;
  text-align: center;
  background: #e6c666;
  color: #fff;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% clamp(16.4714494876px, 1.8301610542vw, 25px));
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% clamp(16.4714494876px, 1.8301610542vw, 25px));
}

@media (max-width: 767px) {
  section.project .policy_list .plan {
    margin-bottom: max(-5.1282051282vw, -25.641025641px);
    padding: min(7.6923076923vw, 38.4615384615px) 0 min(7.4358974359vw, 37.1794871795px);
    font-size: min(3.8461538462vw, 19.2307692308px);
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% min(4.358974359vw, 21.7948717949px));
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% min(4.358974359vw, 21.7948717949px));
  }
}
section.project .policy_list .project {
  padding: clamp(28.3308931186px, 3.1478770132vw, 43px) clamp(6.588579795px, 0.7320644217vw, 10px) clamp(19.7657393851px, 2.196193265vw, 30px);
  display: flex;
  flex: 1;
  align-items: center;
  background: #fff5d8;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% clamp(16.4714494876px, 1.8301610542vw, 25px));
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% clamp(16.4714494876px, 1.8301610542vw, 25px));
}

@media (max-width: 767px) {
  section.project .policy_list .project {
    min-height: min(62.0512820513vw, 310.2564102564px);
    padding: min(6.6666666667vw, 33.3333333333px) min(1.2820512821vw, 6.4102564103px) min(5.1282051282vw, 25.641025641px);
    -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% min(4.358974359vw, 21.7948717949px));
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 0, 50% min(4.358974359vw, 21.7948717949px));
  }
}
@media (max-width: 767px) {
  section.project .policy_list .project ul {
    margin: auto;
  }
}
section.project .policy_list .project li + li {
  margin-top: clamp(15.8125915081px, 1.756954612vw, 24px);
}

@media (max-width: 767px) {
  section.project .policy_list .project li + li {
    margin-top: min(3.5897435897vw, 17.9487179487px);
  }
}
section.project .policy_list .project p {
  margin-bottom: clamp(2.635431918px, 0.2928257687vw, 4px);
  font-size: clamp(7.906295754px, 0.878477306vw, 12px);
  font-weight: 700;
  line-height: 1.5;
}

@media (max-width: 767px) {
  section.project .policy_list .project p {
    margin-bottom: 0;
    font-size: min(2.8205128205vw, 14.1025641026px);
    letter-spacing: -0.02em;
    line-height: 1.3636363636;
  }
}
section.project .policy_list .project img {
  width: 100%;
  height: clamp(19.1068814056px, 2.1229868228vw, 29px);
  -o-object-fit: contain;
  object-fit: contain;
  -o-object-position: left;
  object-position: left;
}

@media (max-width: 767px) {
  section.project .policy_list .project img {
    height: min(4.8717948718vw, 24.358974359px);
  }
}
section.message .page_contents_wrap {
  padding-bottom: 220px;
  position: relative;
}
section.message .sign {
  width: clamp(89.6046852123px, 9.9560761347vw, 136px);
  pointer-events: none;
  position: absolute;
  bottom: clamp(22.4011713031px, 2.4890190337vw, 34px);
  right: 20px;
  rotate: 17deg;
}
section.message h3,
section.message p {
  font-family: "superclarendon", serif;
}
section.message h3 {
  font-size: 32px;
  margin-bottom: 40px;
}

section.corp dl {
  margin-bottom: clamp(32.9428989751px, 3.6603221083vw, 50px);
  border-top: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
  border-bottom: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
}

@media (max-width: 767px) {
  section.corp dl {
    margin-bottom: min(10.2564102564vw, 51.2820512821px);
    border-width: min(0.2564102564vw, 1.2820512821px);
  }
}
section.corp dl div {
  min-height: clamp(79.0629575403px, 8.78477306vw, 120px);
  padding: clamp(18.4480234261px, 2.0497803807vw, 28px) clamp(46.1200585652px, 5.1244509517vw, 70px) clamp(18.4480234261px, 2.0497803807vw, 28px) clamp(26.3543191801px, 2.9282576867vw, 40px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

@media (max-width: 767px) {
  section.corp dl div {
    min-height: 0;
    padding: min(5.8974358974vw, 29.4871794872px) min(2.5641025641vw, 12.8205128205px) min(6.6666666667vw, 33.3333333333px);
    display: block;
  }
}
section.corp dl div + div {
  border-top: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #000;
}

@media (max-width: 767px) {
  section.corp dl div + div {
    border-width: min(0.2564102564vw, 1.2820512821px);
  }
}
section.corp dl dt {
  width: clamp(105.4172767204px, 11.7130307467vw, 160px);
  flex-shrink: 0;
  font-weight: 700;
  line-height: 1.6875;
}

@media (max-width: 767px) {
  section.corp dl dt {
    width: 100%;
    margin-bottom: min(2.5641025641vw, 12.8205128205px);
  }
}
section.corp dl dd {
  width: 100%;
}

section.member h3 {
  font-size: 24px;
  padding-left: 1em;
  margin-bottom: 5px;
  border-bottom: 2px solid #e6c666;
  position: relative;
  line-height: 2.6;
}
section.member h3::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 70%;
  background-color: #e6c666;
}
section.member h3:not(:first-of-type) {
  margin-top: 60px;
}
section.member .member_list {
  display: flex;
  align-items: center;
  gap: 30px 20px;
  margin-top: 40px;
  flex-wrap: wrap;
}
section.member .member_list > li {
  width: calc((100% - 80px) / 5);
}
section.member .member_list .member_info {
  text-align: center;
  font-weight: bold;
  margin-top: 10px;
  line-height: 1.4;
}
section.member .member_list .position {
  font-size: 12px;
}
section.member .member_list .name {
  font-size: 16px;
}

section.recruitment {
  margin-bottom: 0;
  border-bottom: 1px solid #000;
}
section.recruitment .recruitment_contents_wrap_bg {
  overflow: hidden;
}
section.recruitment .recruitment_contents_wrap_bg + .bg_wh {
  margin-top: -100px;
  background-color: #fff;
}
section.recruitment .recruitment_contents_wrap {
  background-color: #fff;
  border-radius: 2000px 2000px 0 0/400px 400px 0 0;
  margin: 16px -100px 0;
  min-height: 300px;
}
section.recruitment .page_contents_wrap {
  padding-top: 0;
}

@media (max-width: 767px) {
  section.recruitment {
    margin-bottom: min(26.9230769231vw, 134.6153846154px);
  }
}
section.recruitment::before {
  content: "";
  width: clamp(513.2503660322px, 57.027818448vw, 779px);
  height: clamp(411.1273792094px, 45.6808199122vw, 624px);
  display: block;
  pointer-events: none;
  position: absolute;
  bottom: clamp(-283px, -20.7174231332vw, -186.4568081991px);
  left: calc(50% - clamp(654.2459736457px, 72.6939970717vw, 993px));
  rotate: -20deg;
  z-index: -1;
  background-image: url("../img/bg_deco.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (max-width: 767px) {
  section.recruitment::before {
    width: min(111.2820512821vw, 556.4102564103px);
    height: min(89.7435897436vw, 448.7179487179px);
    bottom: max(-40.2564102564vw, -201.2820512821px);
    left: calc(50% - min(92.8205128205vw, 464.1025641026px));
  }
}
section.recruitment h2 {
  margin-bottom: clamp(22.4011713031px, 2.4890190337vw, 34px);
  font-size: clamp(23.0600292826px, 2.5622254758vw, 35px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 767px) {
  section.recruitment h2 {
    margin-bottom: min(7.9487179487vw, 39.7435897436px);
    font-size: min(7.9487179487vw, 39.7435897436px);
  }
}
section.recruitment .intro {
  margin-bottom: clamp(25.0366032211px, 2.7818448023vw, 38px);
  font-size: clamp(13.17715959px, 1.4641288433vw, 20px);
  line-height: 1.9;
  text-align: center;
}

@media (max-width: 767px) {
  section.recruitment .intro {
    margin-bottom: min(4.358974359vw, 21.7948717949px);
    font-size: min(4.1025641026vw, 20.5128205128px);
    line-height: 1.8125;
    text-align: left;
  }
}
section.recruitment .img {
  width: clamp(610.7613469985px, 67.8623718887vw, 927px);
  margin: 0 auto clamp(26.3543191801px, 2.9282576867vw, 40px);
}

@media (max-width: 767px) {
  section.recruitment .img {
    width: min(97.4358974359vw, 487.1794871795px);
    margin: 0 0 min(8.9743589744vw, 44.8717948718px);
    position: relative;
    left: calc(50% - min(48.4615384615vw, 242.3076923077px));
  }
}
section.recruitment .partner_list {
  margin-bottom: clamp(54.6852122987px, 6.0761346999vw, 83px);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

@media (max-width: 767px) {
  section.recruitment .partner_list {
    margin-bottom: min(14.8717948718vw, 74.358974359px);
    display: block;
  }
}
section.recruitment .partner_list > div {
  width: 48%;
}

@media (max-width: 767px) {
  section.recruitment .partner_list > div {
    width: 100%;
  }
}
@media (max-width: 767px) {
  section.recruitment .partner_list > div + div {
    margin-top: min(5.641025641vw, 28.2051282051px);
  }
}
section.recruitment .partner_list dt {
  margin-bottom: clamp(11.2005856515px, 1.2445095168vw, 17px);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}

@media (max-width: 767px) {
  section.recruitment .partner_list dt {
    margin-bottom: min(4.8717948718vw, 24.358974359px);
  }
}
section.recruitment .partner_list dt span {
  padding: clamp(5.270863836px, 0.5856515373vw, 8px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(11.859443631px, 1.317715959vw, 18px);
  font-weight: 700;
  color: #fff;
}

@media (max-width: 767px) {
  section.recruitment .partner_list dt span {
    padding: min(1.0256410256vw, 5.1282051282px);
    letter-spacing: -0.02em;
    font-size: min(4.358974359vw, 21.7948717949px);
  }
}
section.recruitment .partner_list dt span:nth-of-type(1) {
  width: 54%;
  margin-right: -6%;
}

@media (max-width: 767px) {
  section.recruitment .partner_list dt span:nth-of-type(1) {
    padding-right: 5%;
  }
}
section.recruitment .partner_list dt span:nth-of-type(2) {
  width: 52%;
  padding-left: 5%;
  -webkit-clip-path: polygon(100% 0, 100% 100%, 0 100%, 10% 50%, 0 0);
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 10% 50%, 0 0);
}

section.recruitment .partner_list dt .your {
  background: #c89e45;
}

section.recruitment .partner_list dt .our {
  background: #e6c666;
}

section.recruitment .partner_list dd {
  font-size: clamp(13.17715959px, 1.4641288433vw, 20px);
  line-height: 1.5;
}

@media (max-width: 767px) {
  section.recruitment .partner_list dd {
    font-size: min(4.1025641026vw, 20.5128205128px);
    line-height: 1.5625;
  }
}
section.recruitment .partner_list dd ul {
  margin-bottom: clamp(7.906295754px, 0.878477306vw, 12px);
}

@media (max-width: 767px) {
  section.recruitment .partner_list dd ul {
    margin-bottom: min(2.0512820513vw, 10.2564102564px);
  }
}
section.recruitment .partner_list dd li {
  padding-left: 1em;
  text-indent: -1em;
}

section.recruitment .partner_list dd li::before {
  content: "・";
}

section.recruitment .partner_list dd li + li {
  margin-top: clamp(7.906295754px, 0.878477306vw, 12px);
}

@media (max-width: 767px) {
  section.recruitment .partner_list dd li + li {
    margin-top: min(2.0512820513vw, 10.2564102564px);
  }
}
@media (min-width: 768px) {
  section.recruitment .partner_list div:nth-of-type(2) dd {
    font-size: clamp(11.859443631px, 1.317715959vw, 18px);
    line-height: 1.5;
  }
}
section.recruitment .square_btn {
  flex-direction: column;
  left: 50%;
  translate: -50% 0;
}

@media (max-width: 767px) {
  section.recruitment .square_btn {
    padding: min(2.3076923077vw, 11.5384615385px) min(9.2307692308vw, 46.1538461538px) min(2.5641025641vw, 12.8205128205px) min(3.8461538462vw, 19.2307692308px);
  }
}
@media (max-width: 767px) {
  section.recruitment .square_btn::before {
    right: min(1.7948717949vw, 8.9743589744px);
  }
}
@media (max-width: 767px) {
  section.recruitment .square_btn::after {
    right: min(2.8205128205vw, 14.1025641026px);
  }
}
section.recruitment .square_btn span {
  margin-bottom: clamp(5.9297218155px, 0.6588579795vw, 9px);
  padding-bottom: clamp(6.588579795px, 0.7320644217vw, 10px);
  display: block;
  border-bottom: clamp(0.6588579795px, 0.0732064422vw, 1px) solid #fff;
}

@media (max-width: 767px) {
  section.recruitment .square_btn span {
    margin-bottom: min(1.7948717949vw, 8.9743589744px);
    padding-bottom: min(1.7948717949vw, 8.9743589744px);
    font-size: min(3.3333333333vw, 16.6666666667px);
  }
}
section.profile .profile_contents {
  display: flex;
  flex-direction: row-reverse;
  gap: 60px;
  margin-bottom: 80px;
}
section.profile .profile_contents .profile_text {
  width: 60%;
}
section.profile .profile_contents .profile_text h3 {
  font-size: 48px;
  line-height: 1.4;
}
section.profile .profile_contents .profile_text h3 span {
  font-size: 24px;
  display: block;
}
section.profile .profile_contents .profile_text h4 {
  font-size: 22px;
  margin: 40px 0 5px;
}
section.profile .profile_contents .profile_image {
  width: 40%;
}

section.single h3 {
  font-size: 24px;
  padding-left: 1em;
  margin-bottom: 20px;
  border-bottom: 2px solid #e6c666;
  position: relative;
  line-height: 2.6;
}
section.single h3::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 5px;
  height: 70%;
  background-color: #e6c666;
}
section.single .single_contents {
  margin-bottom: 80px;
}

a.text_line {
  padding: 0 2px 5px;
  position: relative;
}
a.text_line::after {
  background: #333;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
a.text_line:hover {
  opacity: 1;
}
a.text_line:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* ***************************************************
 SP
*************************************************** */
@media (max-width: 850px) {
  header .global_list {
    margin: min(20.5128205128vw, 71.7948717949px);
  }
  .global_list li {
    position: relative;
  }
  .global_list li .menuSub_head {
    display: none;
  }
  .global_list li ul.menuSub {
    display: block;
    width: 100%;
    background-color: #fff;
    position: static;
    box-shadow: none;
  }
  .global_list li ul.menuSub li {
    padding: 0;
    border-bottom: none;
  }
  .global_list li ul.menuSub li a {
    padding: 0;
    display: block;
    position: relative;
    padding-left: 0;
  }
  .global_list li ul.menuSub li a::before {
    content: none;
  }
  .global_list li ul.menuSub li a:hover {
    background: none;
  }
  footer {
    padding: 40px 0px;
  }
  footer .footer_container {
    display: block;
  }
  footer .logo {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  footer .logo img {
    max-width: 100px;
  }
  footer .footer_external_link {
    justify-content: center;
  }
  footer .f_global_nav_container {
    display: block;
    margin-top: 40px;
  }
}
@media (max-width: 767px) {
  .sp_only {
    display: block !important;
  }
  body.home section.news .inner {
    padding: 80px 0px;
  }
  body.home section.news .ttl {
    text-align: center;
  }
  body.home section.news .ttl h2 {
    margin-left: auto;
    margin-right: auto;
  }
  .top .ttl span {
    text-align: center;
  }
  body.home section.news .news_list_wrap {
    margin-bottom: 40px;
  }
  .news_info {
    display: flex;
    gap: 10px;
  }
  main .page {
    padding: 120px 0 120px;
  }
  .page_ttl h2 {
    font-size: 28px;
  }
  .page_ttl span {
    font-size: 18px;
  }
  .page_contents_wrap {
    padding: 60px 20px;
  }
  .page section.news .news_list_wrap {
    padding: 80px 10px;
  }
  .page section.news .news_list a {
    font-size: min(3.5897435897vw, 17.9487179487px);
    line-height: 1.5;
  }
  .page section.news .news_list .news_info {
    margin-bottom: 10px;
  }
  .page section.news .news_list .news_info .date {
    font-weight: bold;
  }
  section.vision {
    margin: 80px 0;
  }
  section.vision .vision_mv {
    text-align: center;
  }
  section.policy {
    margin-top: 80px;
  }
  section.policy .policy_contents_wrap_bg + .bg_wh {
    margin-top: -100px;
  }
  section.policy .policy_contents_wrap {
    min-height: 200px;
  }
  section.project h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  section.message h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  section.project h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  section.member h3 {
    font-size: 20px;
  }
  section.member h3:not(:first-of-type) {
    margin-top: 40px;
  }
  section.member .member_list {
    display: block;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
  }
  section.member .member_list > li {
    margin-bottom: 40px;
    width: 100%;
  }
  section.recruitment {
    margin-bottom: 0;
    border-bottom: 1px solid #000;
  }
  section.recruitment .recruitment_contents_wrap_bg {
    overflow: hidden;
  }
  section.recruitment .recruitment_contents_wrap_bg + .bg_wh {
    margin-top: -100px;
    background-color: #fff;
  }
  section.recruitment .recruitment_contents_wrap {
    min-height: 200px;
  }
  section.recruitment .page_contents_wrap {
    padding-top: 0;
  }
  section.profile .profile_contents {
    display: block;
    margin-bottom: 40px;
  }
  section.profile .profile_contents .profile_text {
    width: 100%;
  }
  section.profile .profile_contents .profile_text h3 {
    font-size: 26px;
    text-align: center;
    margin-top: 20px;
  }
  section.profile .profile_contents .profile_text h3 span {
    font-size: 16px;
    display: block;
  }
  section.profile .profile_contents .profile_text h4 {
    font-size: 18px;
    margin: 30px 0 5px;
  }
  section.profile .profile_contents .profile_image {
    width: 100%;
  }
  section.single h3 {
    font-size: 20px;
  }
  section.single .single_contents {
    margin-bottom: 40px;
  }
}
/* ***************************************************
 PC
*************************************************** */
@media (min-width: 768px) {
  .pc_only {
    display: block !important;
  }
  .pc_flex {
    display: flex;
  }
  .pc_flex.align-items-center {
    align-items: center;
  }
  .pc_flex.justify-content-center {
    justify-content: center;
  }
  .pc_flex.justify-content-between {
    justify-content: space-between;
  }
  .pc_flex.flex-end {
    justify-content: flex-end;
  }
  .pc_text-center {
    text-align: center;
  }
}/*# sourceMappingURL=main.css.map */