@charset "UTF-8";
#to_top.back-to-top {
  position: fixed;
  right: 0;
  bottom: 0;
  aspect-ratio: 1;
  width: 6vw;
  display: block;
  z-index: 20;
  background: linear-gradient(135deg, transparent 0%, transparent 50%, #53301d 50%, #53301d 100%);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #to_top.back-to-top {
    width: 9vw;
  }
}
@media screen and (max-width: 520px) {
  #to_top.back-to-top {
    width: 12vw;
    bottom: 80px;
  }
}
#to_top.back-to-top::before {
  content: "";
  position: absolute;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  width: 0.5vw;
  height: 0.5vw;
  transform: rotate(45deg);
  z-index: 25;
  bottom: 1.5vw;
  right: 1.5vw;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #to_top.back-to-top::before {
    width: 1vw;
    height: 1vw;
    bottom: 2vw;
    right: 2vw;
  }
}
@media screen and (max-width: 520px) {
  #to_top.back-to-top::before {
    width: 1.5vw;
    height: 1.5vw;
    bottom: 2vw;
    right: 2vw;
  }
}

@-webkit-keyframes move-wheel {
  from {
    transform: translateX(-50%) translateY(0);
  }
  to {
    transform: translateX(-50%) translateY(5px);
  }
}

@keyframes move-wheel {
  from {
    transform: translateX(-50%) translateY(0);
  }
  to {
    transform: translateX(-50%) translateY(5px);
  }
}
@-webkit-keyframes img-wrap {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes img-wrap {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@-webkit-keyframes img-wrap2 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(-100%);
  }
}
@keyframes img-wrap2 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(-100%);
  }
}
.btnlinestretch {
  width: 15%;
  margin-top: 4.5em;
  margin-left: 1em;
  position: relative;
}

/*線の設定*/
.btnlinestretch::before {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 1em;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #fff;
}

/*矢印の設定*/
.btnlinestretch::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: calc(1em - 4px);
  /*矢印の形状*/
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}

a .btnlinestretch::before,
a .btnlinestretch::after {
  opacity: 0;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  a .btnlinestretch::before {
    opacity: 1;
    width: 50px;
  }
  a .btnlinestretch::after {
    opacity: 1;
    left: 40px;
  }
}
@media screen and (max-width: 520px) {
  a .btnlinestretch::before {
    opacity: 1;
    width: 40px;
  }
  a .btnlinestretch::after {
    opacity: 1;
    left: 30px;
  }
}

a:hover .btnlinestretch::before {
  -webkit-animation: arrowlong01 1.5s ease infinite;
          animation: arrowlong01 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch::before {
    -webkit-animation: none;
            animation: none;
  }
}
a:hover .btnlinestretch::after {
  -webkit-animation: arrowlong02 1.5s ease infinite;
          animation: arrowlong02 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch::after {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}

@keyframes arrowlong01 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}
@-webkit-keyframes arrowlong02 {
  0% {
    left: -10%;
    opacity: 0;
  }
  20% {
    left: -10%;
    opacity: 1;
  }
  80% {
    left: 95%;
    opacity: 1;
  }
  100% {
    left: 95%;
    opacity: 0;
  }
}
@keyframes arrowlong02 {
  0% {
    left: -10%;
    opacity: 0;
  }
  20% {
    left: -10%;
    opacity: 1;
  }
  80% {
    left: 95%;
    opacity: 1;
  }
  100% {
    left: 95%;
    opacity: 0;
  }
}
.btnlinestretch2 {
  width: 20%;
  margin-top: 1.5em;
  margin-right: 0.5em;
  position: relative;
}

/*線の設定*/
.btnlinestretch2::before {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #fff;
}

/*矢印の設定*/
.btnlinestretch2::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -4px;
  /*矢印の形状*/
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}

a .btnlinestretch2::before,
a .btnlinestretch2::after {
  opacity: 0;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  a .btnlinestretch2::before {
    opacity: 1;
    width: 50px;
  }
  a .btnlinestretch2::after {
    opacity: 1;
    left: 40px;
  }
}
@media screen and (max-width: 520px) {
  a .btnlinestretch2::before {
    opacity: 1;
    width: 50px;
  }
  a .btnlinestretch2::after {
    opacity: 1;
    left: 40px;
  }
}

a:hover .btnlinestretch2::before {
  -webkit-animation: arrowlong03 1.5s ease infinite;
          animation: arrowlong03 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch2::before {
    -webkit-animation: none;
            animation: none;
  }
}
a:hover .btnlinestretch2::after {
  -webkit-animation: arrowlong04 1.5s ease infinite;
          animation: arrowlong04 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch2::after {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes arrowlong03 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}

@keyframes arrowlong03 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}
@-webkit-keyframes arrowlong04 {
  0% {
    left: -9.5%;
    opacity: 0;
  }
  20% {
    left: -9.5%;
    opacity: 1;
  }
  80% {
    left: 95.5%;
    opacity: 1;
  }
  100% {
    left: 95.5%;
    opacity: 0;
  }
}
@keyframes arrowlong04 {
  0% {
    left: -9.5%;
    opacity: 0;
  }
  20% {
    left: -9.5%;
    opacity: 1;
  }
  80% {
    left: 95.5%;
    opacity: 1;
  }
  100% {
    left: 95.5%;
    opacity: 0;
  }
}
.btnlinestretch3 {
  width: 20%;
  margin-top: 1em;
  margin-right: 0.5em;
  position: relative;
}

/*線の設定*/
.btnlinestretch3::before {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 0;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #fff;
}

/*矢印の設定*/
.btnlinestretch3::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: -4px;
  /*矢印の形状*/
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}

a.btnlinestretch3::before, a.btnlinestretch3::after {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  a.btnlinestretch3::before {
    opacity: 1;
    width: 65px;
  }
  a.btnlinestretch3::after {
    opacity: 1;
    left: 55px;
  }
}

a.btnlinestretch3:hover::before {
  -webkit-animation: arrowlong05 1.5s ease infinite;
          animation: arrowlong05 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a.btnlinestretch3:hover::before {
    -webkit-animation: none;
            animation: none;
  }
}
a.btnlinestretch3:hover::after {
  -webkit-animation: arrowlong06 1.5s ease infinite;
          animation: arrowlong06 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a.btnlinestretch3:hover::after {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes arrowlong05 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}

@keyframes arrowlong05 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}
@-webkit-keyframes arrowlong06 {
  0% {
    left: -12.5%;
    opacity: 0;
  }
  20% {
    left: -12.5%;
    opacity: 1;
  }
  80% {
    left: 92.5%;
    opacity: 1;
  }
  100% {
    left: 92.5%;
    opacity: 0;
  }
}
@keyframes arrowlong06 {
  0% {
    left: -12.5%;
    opacity: 0;
  }
  20% {
    left: -12.5%;
    opacity: 1;
  }
  80% {
    left: 92.5%;
    opacity: 1;
  }
  100% {
    left: 92.5%;
    opacity: 0;
  }
}
@-webkit-keyframes fade-nav {
  0% {
    margin-top: -2em;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    opacity: 1;
  }
}
@keyframes fade-nav {
  0% {
    margin-top: -2em;
    opacity: 0;
  }
  100% {
    margin-top: 0;
    opacity: 1;
  }
}
.btnlinestretch4 {
  width: 15%;
  margin-top: 4.5em;
  margin-left: 1em;
  position: relative;
}

/*線の設定*/
.btnlinestretch4::before {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 1em;
  /*線の形状*/
  width: 100%;
  height: 1px;
  background: #fff;
}

/*矢印の設定*/
.btnlinestretch4::after {
  content: "";
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: calc(1em - 4px);
  /*矢印の形状*/
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  transform: rotate(45deg);
}

a .btnlinestretch4::before,
a .btnlinestretch4::after {
  opacity: 0;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  a .btnlinestretch4::before {
    opacity: 1;
    width: 50px;
  }
  a .btnlinestretch4::after {
    opacity: 1;
    left: 40px;
  }
}
@media screen and (max-width: 520px) {
  a .btnlinestretch4::before {
    opacity: 1;
    width: 40px;
  }
  a .btnlinestretch4::after {
    opacity: 1;
    left: 30px;
  }
}

a:hover .btnlinestretch4::before {
  -webkit-animation: arrowlong07 1.5s ease infinite;
          animation: arrowlong07 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch4::before {
    -webkit-animation: none;
            animation: none;
  }
}
a:hover .btnlinestretch4::after {
  -webkit-animation: arrowlong08 1.5s ease infinite;
          animation: arrowlong08 1.5s ease infinite;
}
@media screen and (max-width: 768px) {
  a:hover .btnlinestretch4::after {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes arrowlong07 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}

@keyframes arrowlong07 {
  0% {
    width: 0;
    opacity: 0;
  }
  20% {
    width: 0;
    opacity: 1;
  }
  80% {
    width: 105%;
    opacity: 1;
  }
  100% {
    width: 105%;
    opacity: 0;
  }
}
@-webkit-keyframes arrowlong08 {
  0% {
    left: -5%;
    opacity: 0;
  }
  20% {
    left: -5%;
    opacity: 1;
  }
  80% {
    left: 100%;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}
@keyframes arrowlong08 {
  0% {
    left: -5%;
    opacity: 0;
  }
  20% {
    left: -5%;
    opacity: 1;
  }
  80% {
    left: 100%;
    opacity: 1;
  }
  100% {
    left: 100%;
    opacity: 0;
  }
}
/*=============================================================
下層共通
=============================================================*/
#container {
  position: relative;
}

footer {
  box-sizing: border-box;
  border-top: 1px solid #514541;
}

#kv.sub .outer {
  aspect-ratio: 100/18;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #kv.sub .outer {
    aspect-ratio: 3/1;
  }
}
@media screen and (max-width: 520px) {
  #kv.sub .outer {
    aspect-ratio: 2/1;
  }
}
#kv.sub.recruit .outer {
  background-image: url(../images/kvsub_recruit.jpg);
}
#kv.sub.interview .outer {
  background-image: url(../images/kvsub_interview.jpg);
}
#kv.sub.occupations .outer {
  background-image: url(../images/kvsub_occupations.jpg);
}
#kv.sub.news .outer {
  background-image: url(../images/kvsub_news.jpg);
}
#kv.sub.blog .outer {
  background-image: url(../images/kvsub_blog.jpg);
}
#kv.sub.entry .outer {
  background-image: url(../images/kvsub_entry.jpg);
}
#kv.sub.contact .outer {
  background-image: url(../images/kvsub_contact.jpg);
}
#kv.sub.coolingoff .outer {
  background-image: url(../images/kvsub_coolingoff.jpg);
}
#kv.sub.partners .outer {
  background-image: url(../images/kvsub_partners.jpg);
}
#kv.sub.message .outer {
  background-image: url(../images/kvsub_message.jpg);
}
#kv.sub.cs .outer {
  background-image: url(../images/kvsub_cs.jpg);
}
#kv.sub.business .outer {
  background-image: url(../images/kvsub_business.jpg);
}
#kv.sub.company .outer {
  background-image: url(../images/kvsub_company.jpg);
}
#kv.sub.confirm .outer {
  background-image: url(../images/kvsub_contact.jpg);
}
#kv.sub.thanks .outer {
  background-image: url(../images/kvsub_contact.jpg);
}
#kv.sub .hd_wrap {
  display: flex;
  height: 100%;
  justify-content: center;
  align-items: flex-end;
  box-sizing: border-box;
  padding: 0 0 4vw 0;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #kv.sub .hd_wrap {
    align-items: center;
    padding: 4vw 0 0 0;
  }
}
@media screen and (max-width: 520px) {
  #kv.sub .hd_wrap {
    align-items: center;
    padding: 4vw 0 0 0;
  }
}
#kv.sub .hd_wrap h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#kv.sub .hd_wrap h1 span {
  display: inline-block;
}
#kv.sub .hd_wrap h1 .en {
  width: auto;
  height: 3.25vw;
  color: #fff;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-size: clamp(1.25rem, 0.844rem + 2.03vw, 2.875rem);
  font-weight: bold;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #kv.sub .hd_wrap h1 .en {
    height: 4.375vw;
  }
}
@media screen and (max-width: 520px) {
  #kv.sub .hd_wrap h1 .en {
    height: 5.5vw;
  }
}
#kv.sub .hd_wrap h1 .en img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#kv.sub .hd_wrap h1 .jp {
  font-size: clamp(0.813rem, 0.464rem + 0.73vw, 1.625rem);
  color: #fff;
  font-weight: 700;
  margin-top: 1em;
  letter-spacing: 0.05em;
}
#kv.sub .breadcrumb {
  background-color: #f6f5f4;
}
#kv.sub .breadcrumb ul {
  display: flex;
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  padding: 1em 3%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #kv.sub .breadcrumb ul {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 520px) {
  #kv.sub .breadcrumb ul {
    font-size: 0.875rem;
  }
}
#kv.sub .breadcrumb ul li {
  display: flex;
  align-items: center;
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  font-weight: 700;
  margin-right: 1em;
  box-sizing: border-box;
  position: relative;
  color: #514541;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #kv.sub .breadcrumb ul li {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 520px) {
  #kv.sub .breadcrumb ul li {
    font-size: 0.875rem;
  }
}
#kv.sub .breadcrumb ul li a {
  color: #514541;
}
#kv.sub .breadcrumb ul li:not(:first-child)::before {
  content: "";
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  border-right: 1px solid #514541;
  border-top: 1px solid #514541;
  display: inline-block;
  transform: rotate(45deg);
}

/*=============================================================
動的ブログページ　news, news/detail, blog, blog/detail
=============================================================*/
section.blog {
  background-color: #fff;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  section.blog {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  section.blog {
    padding: 10vw 0 12vw;
  }
}
section.blog .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
section.blog .inner h2 {
  width: 100%;
  font-size: 1.25rem;
  font-weight: bold;
  color: #514541;
  letter-spacing: 0.025em;
  box-sizing: border-box;
  padding-bottom: 0.5em;
  border-bottom: 2px solid #514541;
}
section.blog .inner .text h2 {
border-style: none;
}


@media screen and (max-width: 520px) {
  section.blog .inner h2 {
    font-size: 1.125rem;
  }
}
section.blog main {
  font-size: 1rem;
  width: calc(100% - max(15em, 25%));
  box-sizing: border-box;
  padding: 0 6% 0 0;
}
@media screen and (max-width: 768px) {
  section.blog main {
    width: 100%;
    padding: 0 0 0 0;
  }
}
@media screen and (max-width: 520px) {
  section.blog main {
    font-size: 0.875rem;
  }
}
section.blog aside {
  width: max(15em, 25%);
}
@media screen and (max-width: 768px) {
  section.blog aside {
    width: 100%;
  }
}
section.blog aside .box {
  font-size: 1rem;
  margin-top: calc(min(3vw, 36px) + 1.125em);
}
@media screen and (max-width: 520px) {
  section.blog aside .box {
    margin-top: 12vw;
  }
}
section.blog aside .box h3 {
  font-size: 1em;
  color: #fff;
  background-color: #514541;
  box-sizing: border-box;
  padding: 1em;
}
section.blog aside .box ul {
  background-color: #f6f5f4;
  box-sizing: border-box;
  padding: 1em 1em 1.5em;
}
section.blog aside .box ul li {
  font-size: 0.875rem;
  box-sizing: border-box;
  padding: 1em 0;
  border-bottom: 1px dotted #514541;
}
section.blog aside .box ul li a {
  transition: opacity 0.2s ease;
}
section.blog aside .box ul li a p {
  text-decoration: underline;
  color: #514541;
}
section.blog aside .box ul li a .date {
  font-size: 0.75rem;
  font-weight: bold;
}
section.blog aside .box ul li a .title {
  font-size: 1em;
}
section.blog aside .box ul li a:hover {
  opacity: 0.7;
}
section.blog aside .box.search .btn_wrap {
  display: flex;
  font-size: 1rem;
  margin-top: 1.5em;
}
section.blog aside .box.search .btn_wrap form {
display: flex;
max-width: 100%;
flex-grow: 1;
}

@media screen and (max-width: 520px) {
  section.blog aside .box.search .btn_wrap {
    box-sizing: border-box;
    padding: 0 3vw;
    margin-top: 2.5em;
  }
}
section.blog aside .box.search .btn_wrap input[type=search] {
  flex-grow: 1;
  line-height: 2;
  box-sizing: border-box;
  border-radius: 4px 0 0 4px;
  border-top: 1px solid #86746E;
  border-right: 0 solid transparent;
  border-bottom: 1px solid #86746E;
  border-left: 1px solid #86746E;
		font-family: initial;
		width: 100%;
}
section.blog aside .box.search .btn_wrap input[type=search]:focus {
  outline: none;
  background-color: #f6f5f4;
}
section.blog aside .box.search .btn_wrap button {
  width: 3.4em;
  background-color: #514541;
  box-sizing: border-box;
  border-radius: 0 4px 4px 0;
  border: 1px solid #514541;
  transition: background-color 0.2s ease;
}
section.blog aside .box.search .btn_wrap button img {
  width: 1.75em;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
}
section.blog aside .box.search .btn_wrap button:hover {
  cursor: pointer;
  background-color: rgba(81, 69, 65, 0.75);
}
section.blog aside .box.categories ul li a,
section.blog aside .box.archives ul li a {
  text-decoration: underline;
}

section.blog aside .box.archives ul li.year_tab {
  padding: 0;
  border-bottom: unset;
  margin-bottom: 1rem;
}
section.blog aside .box.archives ul li.year_tab .year {
  padding: 0.25em;
  display: block;
  background-color: #514541;
  font-size: 1rem;
  text-align: center;
  color: #fff;
  position: relative;
  cursor: pointer;
}
section.blog aside .box.archives ul li.year_tab .year.active::after {
  transform: translateY(-50%) rotate(180deg);
}
section.blog aside .box.archives ul li.year_tab .year::after {
  content: "";
  display: inline-block;
  width: .5rem;
  aspect-ratio: 1/1;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: .5rem;
  transition: all .5s;
  transform: translateY(-50%);
}
section.blog aside .box.archives ul li.year_tab .inner_tab {
  padding: 0 0.75rem;
  width: 100%;  
}

section.list main ul.articles {
  margin-top: min(3vw, 36px);
}
@media screen and (max-width: 520px) {
  section.list main ul.articles {
    margin-top: 6vw;
  }
}
section.list main ul.articles li {
  border-bottom: 1px dotted #514541;
  font-size: 1rem;
  padding: 1.125em 0;
}
section.list main ul.articles li a {
  transition: opacity 0.2s ease;
}
section.list main ul.articles li a p {
  text-decoration: underline;
  color: #514541;
}
section.list main ul.articles li a .date {
  font-size: 1em;
  font-weight: bold;
}
@media screen and (max-width: 520px) {
  section.list main ul.articles li a .date {
    font-size: 0.75rem;
  }
}
section.list main ul.articles li a .title {
  font-size: 1.125em;
}

section.list main ul.articles li a .title span.category {
  font-size: 0.875rem;
  line-height: 1.5;
  background-color: #93848b;
		  margin-right: 1em;
  padding: 0.25em 0.5em;
		color: #fff;
		display: inline-block;
}

section.list main ul.articles li a .title span.blog {
 background-color: #b79854;
}

@media screen and (max-width: 768px) {
section.list main ul.articles li a .title span.category {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 520px) {
  section.list main ul.articles li a .title {
    font-size: 0.875rem;
  }	
}
section.list main ul.articles li a:hover {
  opacity: 0.7;
}
section.list main .pagination {
  margin-top: min(6vw, 72px);
}
@media screen and (max-width: 520px) {
  section.list main .pagination {
    margin-top: 12vw;
  }
}
section.list main .pagination ul {
  display: flex;
  justify-content: center;
  font-size: 1rem;
  gap: 0 0.75em;
}
@media screen and (max-width: 520px) {
  section.list main .pagination ul {
    font-size: 0.875rem;
  }
}
section.list main .pagination ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.4em;
  height: 100%;
  aspect-ratio: 1/1;
  font-size: 1em;
  font-weight: bold;
  color: #514541;
  text-decoration: underline;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  border: 1px solid #ccc;
  filter: drop-shadow(2px 2px 2px rgba(153, 153, 153, 0.6));
  transition: background-color 0.2s ease;
}
section.list main .pagination ul li a:hover {
  background-color: #d3c3be;
}
section.list main .pagination ul li a.current {
  background-color: #514541;
  color: #fff;
  pointer-events: none;
}
section.list main .pagination ul li.prev a,
section.list main .pagination ul li.next a {
  width: 3.6em;
  aspect-ratio: auto;
}

section.detail main article p, section.detail main article ul, section.detail main article li {
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (max-width: 520px) {
  section.detail main article p, section.detail main article ul, section.detail main article li {
    font-size: 0.875rem;
  }
}
section.detail main article img {
  width: 100%;
  max-width: 600px;
  margin: 2em 0 1em;
}
section.detail main article p.date {
  font-size: 1.125rem;
  color: #514541;
  font-weight: bold;
}
@media screen and (max-width: 520px) {
  section.detail main article p.date {
    font-size: 0.875rem;
  }
}
section.detail main article h1 {
  font-family: "Shippori Mincho", serif;
  font-size: 1.375rem;
  color: #514541;
  line-height: 1.5;
  letter-spacing: 0.025em;
  box-sizing: border-box;
  border-bottom: 1px dotted #514541;
  padding-bottom: 1.125rem;
}
@media screen and (max-width: 520px) {
  section.detail main article h1 {
    font-size: 1rem;
  }
}
section.detail main .btn_wrap {
  margin-top: min(6vw, 72px);
}
@media screen and (max-width: 520px) {
  section.detail main .btn_wrap {
    margin-top: 12vw;
  }
}
section.detail main .btn_wrap .btn_back {
  text-align: center;
}
section.detail main .btn_wrap .btn_back a {
  display: inline-block;
  font-size: 1.125rem;
  line-height: 1;
  color: #514541;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 8px;
  border: 2px solid #514541;
  padding: 1em 2.5em 1em 3em;
  position: relative;
  transition: background-color 0.2s ease;
}
section.detail main .btn_wrap .btn_back a::before {
  content: "";
  position: absolute;
  width: 0.5em;
  aspect-ratio: 1/1;
  background-image: url(../images/icon_back.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 1.25em;
  left: 1.75em;
}
@media screen and (max-width: 520px) {
  section.detail main .btn_wrap .btn_back a {
    font-size: 1rem;
  }
}
section.detail main .btn_wrap .btn_back a:hover {
  background-color: #d3c3be;
}

/*=============================================================
recruit
=============================================================*/
#recruit .outer {
  min-height: min(36vw, 36rem);
  box-sizing: border-box;
  padding: min(5vw, 60px) 0;
  background-image: url(../images/recruit/bg_recruit.jpg);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #recruit .outer {
    padding: 7vw 0;
  }
}
@media screen and (max-width: 520px) {
  #recruit .outer {
    padding: 10vw 0;
  }
}
#recruit .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#recruit .inner p {
  font-size: 1rem;
  font-family: "Shippori Mincho", serif;
  text-align: center;
  line-height: 2.7;
  color: #514541;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #recruit .inner p {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 520px) {
  #recruit .inner p {
    font-size: 0.875rem;
    text-align: left;
    line-height: 1.8;
  }
}
#recruit .inner p:nth-of-type(2) {
  margin-top: min(2vw, 24px);
}
@media screen and (max-width: 520px) {
  #recruit .inner p:nth-of-type(2) {
    margin-top: 4vw;
  }
}
#recruit .inner p.slogan {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  font-weight: 700;
  margin-top: min(4vw, 48px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #recruit .inner p.slogan {
    margin-top: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #recruit .inner p.slogan {
    margin-top: 8vw;
  }
}

/*=============================================================
recruit entry_list
=============================================================*/
#entry_list .outer {
  background-color: #f6f5f4;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry_list .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #entry_list .outer {
    padding: 10vw 0 12vw;
  }
}
#entry_list .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#entry_list .inner h2 + p {
  font-size: 1rem;
  font-weight: 700;
  margin-top: min(4vw, 48px);
  text-align: center;
  color: #514541;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry_list .inner h2 + p {
    font-size: 0.875rem;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #entry_list .inner h2 + p {
    font-size: 0.875rem;
    margin-top: 8vw;
    text-align: left;
  }
}
#entry_list .inner .boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#entry_list .inner .boxes .box {
  width: 31%;
  background-color: #fff;
  margin-top: min(4vw, 48px);
  filter: drop-shadow(6px 6px 6px rgba(204, 204, 204, 0.75));
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry_list .inner .boxes .box {
    margin-top: 5vw;
    width: 48%;
  }
}
@media screen and (max-width: 520px) {
  #entry_list .inner .boxes .box {
    margin-top: 8vw;
    width: 100%;
  }
}
#entry_list .inner .boxes .box a {
  width: 100%;
  aspect-ratio: 1/1;
  display: flex;
  box-sizing: border-box;
  transition: ease-out 0.2s;
}
#entry_list .inner .boxes .box a .text {
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  box-sizing: border-box;
  padding: 0.5em;
}
#entry_list .inner .boxes .box a h3 {
  font-size: clamp(0.875rem, 0.644rem + 0.48vw, 1.125rem);
  font-family: "Shippori Mincho", serif;
  font-weight: 600;
  line-height: 1.6;
  color: #514541;
  text-align: center;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry_list .inner .boxes .box a h3 {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 520px) {
  #entry_list .inner .boxes .box a h3 {
    font-size: 1rem;
  }
}
#entry_list .inner .boxes .box a p {
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  color: #514541;
  text-align: center;
  margin-top: 1em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry_list .inner .boxes .box a p {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 520px) {
  #entry_list .inner .boxes .box a p {
    font-size: 0.875rem;
  }
}
#entry_list .inner .boxes .box a figure {
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  overflow: hidden;
}
#entry_list .inner .boxes .box a figure img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  transition: ease-out 0.3s;
}
#entry_list .inner .boxes .box a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  #entry_list .inner .boxes .box a:hover {
    opacity: 1;
  }
}
#entry_list .inner .boxes .box a:hover figure img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  #entry_list .inner .boxes .box a:hover figure img {
    transform: scale(1);
  }
}
#entry_list .inner .boxes .box:nth-child(1) a {
  flex-direction: column;
}
#entry_list .inner .boxes .box:nth-child(1) a .text {
  height: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#entry_list .inner .boxes .box:nth-child(1) a figure {
  width: 100%;
  height: 50%;
}
#entry_list .inner .boxes .box:nth-child(2) a {
  flex-direction: row-reverse;
}
#entry_list .inner .boxes .box:nth-child(2) a .text {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#entry_list .inner .boxes .box:nth-child(2) a figure {
  width: 50%;
  height: 100%;
}
#entry_list .inner .boxes .box:nth-child(3) a {
  flex-direction: column;
  justify-content: center;
  padding: 0.5em;
}
#entry_list .inner .boxes .box:nth-child(3) a figure {
  aspect-ratio: 2/1;
  margin-top: 0.5em;
}
@media screen and (max-width: 520px) {
  #entry_list .inner .boxes .box:nth-child(3) a figure {
    margin-top: 5vw;
  }
}
#entry_list .inner .boxes .box:nth-child(4) a {
  flex-direction: column-reverse;
}
#entry_list .inner .boxes .box:nth-child(4) a .text {
  height: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#entry_list .inner .boxes .box:nth-child(4) a figure {
  width: 100%;
  height: 50%;
}
#entry_list .inner .boxes .box:nth-child(5) a {
  flex-direction: row;
}
#entry_list .inner .boxes .box:nth-child(5) a .text {
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#entry_list .inner .boxes .box:nth-child(5) a figure {
  width: 50%;
  height: 100%;
}
#entry_list .inner .boxes .box:nth-child(6) a {
  position: relative;
}
#entry_list .inner .boxes .box:nth-child(6) a .text {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
#entry_list .inner .boxes .box:nth-child(6) a figure {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/*=============================================================
recruit voice_list
=============================================================*/
#voice_list .outer {
  background-color: #f6f5f4;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #voice_list .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #voice_list .outer {
    padding: 10vw 0 12vw;
  }
}
#voice_list .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#voice_list .inner h2 + p {
  font-size: 1rem;
  font-weight: 700;
  margin-top: min(4vw, 48px);
  text-align: center;
  color: #514541;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #voice_list .inner h2 + p {
    font-size: 0.875rem;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #voice_list .inner h2 + p {
    font-size: 0.875rem;
    margin-top: 8vw;
  }
}
#voice_list .inner .boxes {
  display: flex;
}
@media screen and (max-width: 768px) {
  #voice_list .inner .boxes {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#voice_list .inner .boxes .box {
  width: 16.66%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #voice_list .inner .boxes .box {
    width: 33%;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 520px) {
  #voice_list .inner .boxes .box {
    width: 48%;
    margin-top: 4vw;
  }
}
#voice_list .inner .boxes .box a {
  width: 100%;
  height: 100%;
  transition: 0.2s ease;
}
#voice_list .inner .boxes .box a p {
  text-align: center;
  color: #514541;
}
#voice_list .inner .boxes .box a .name {
  font-size: 1.125rem;
  font-weight: 700;
}
#voice_list .inner .boxes .box a .job {
  font-size: 0.875rem;
  font-family: "Shippori Mincho", serif;
}
#voice_list .inner .boxes .box a .job span {
  display: inline-block;
}
#voice_list .inner .boxes .box a:hover {
  opacity: 0.8;
}

/*=============================================================
共通・アコーディオン
=============================================================*/
section.accos {
  /*開閉時挙動*/
}
section.accos details summary {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
  box-sizing: border-box;
  padding: 2em 1em;
  margin-top: min(5vw, 60px);
  transition: 0.5s ease;
}
@media screen and (max-width: 520px) {
  section.accos details summary {
    margin-top: 6vw;
  }
}
section.accos details summary .text {
  display: inline-block;
  font-size: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: bold;
  color: #fff;
}
section.accos details summary::before, section.accos details summary::after {
  content: "";
  position: absolute;
  left: 2.3em;
  top: 2.3em;
  width: 2px;
  height: 1.4em;
  background-color: #fff;
  transition: all 0.3s;
}
section.accos details summary::after {
  transform: rotate(90deg);
}
section.accos details .accordion_content {
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.5s ease;
}
section.accos details summary::-webkit-details-marker {
  /* Safariで表示されるデフォルトの三角形アイコンを非表示 */
  display: none;
}
section.accos details summary:hover {
  cursor: pointer;
  opacity: 0.8;
}
section.accos details.is-opened summary::before {
  transform: rotate(45deg);
}
section.accos details.is-opened summary::after {
  transform: rotate(135deg);
}
section.accos details.is-opened .accordion_content {
  opacity: 1;
}

/*=============================================================
occupations occupations
=============================================================*/
#occupations .outer {
  background-color: #fff;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #occupations .outer {
    padding: 10vw 0 12vw;
  }
}
#occupations .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#occupations details summary {
  background-size: cover;
  overflow: hidden;
}
#occupations details:nth-of-type(1) summary {
  background-image: url(../images/occupations/bg_toggle01.jpg);
}
#occupations details:nth-of-type(2) summary {
  background-image: url(../images/occupations/bg_toggle02.jpg);
}
#occupations details:nth-of-type(3) summary {
  background-image: url(../images/occupations/bg_toggle03.jpg);
}
#occupations details:nth-of-type(4) summary {
  background-image: url(../images/occupations/bg_toggle04.jpg);
}
#occupations details:nth-of-type(5) summary {
  background-image: url(../images/occupations/bg_toggle05.jpg);
}
#occupations details:nth-of-type(6) summary {
  background-image: url(../images/occupations/bg_toggle06.jpg);
}
#occupations details .accordion_content {
  box-sizing: border-box;
  padding: min(3vw, 36px) min(3vw, 36px);
}
@media screen and (max-width: 520px) {
  #occupations details .accordion_content {
    padding: 3vw 3vw 10vw;
  }
}
#occupations details .tag_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 520px) {
  #occupations details .tag_wrap::after {
    content: "";
    display: block;
    width: 31.5%;
  }
}
#occupations details .tag_wrap li {
  width: 19%;
  background-color: #53301d;
  color: #fff;
  font-size: clamp(0.875rem, 0.644rem + 0.48vw, 1.125rem);
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
  padding: 0.5em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations details .tag_wrap li {
    font-size: clamp(0.625rem, 0.098rem + 1.62vw, 0.875rem);
  }
}
@media screen and (max-width: 520px) {
  #occupations details .tag_wrap li {
    width: 31.5%;
    font-size: 0.75rem;
    margin-top: 3vw;
  }
}
#occupations details figure {
  margin-top: min(1.5vw, 18px);
}
@media screen and (max-width: 520px) {
  #occupations details figure {
    margin-top: 3vw;
  }
  #occupations details figure img {
    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#occupations details .catchphrase {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  color: #514541;
  font-family: "Shippori Mincho", serif;
  text-align: center;
  box-sizing: border-box;
  border-bottom: 1px solid #53301d;
  padding-bottom: min(2.5vw, 30px);
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations details .catchphrase {
    text-align: left;
    font-size: 1rem;
    margin-top: 5vw;
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #occupations details .catchphrase {
    text-align: left;
    font-size: 1rem;
    margin-top: 5vw;
    padding-bottom: 5vw;
  }
}
#occupations details .catchphrase + p {
  font-size: clamp(0.875rem, 0.644rem + 0.48vw, 1.125rem);
  font-weight: bold;
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations details .catchphrase + p {
    font-size: 0.875rem;
    margin-top: 5vw;
  }
  #occupations details .catchphrase + p br {
    display: none;
  }
}
@media screen and (max-width: 520px) {
  #occupations details .catchphrase + p {
    font-size: 0.875rem;
    margin-top: 5vw;
  }
  #occupations details .catchphrase + p br {
    display: none;
  }
}
#occupations details h3 {
  display: inline-block;
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-family: "Shippori Mincho", serif;
  color: #53301d;
  background-color: #d3c3be;
  box-sizing: border-box;
  padding: 0.5em 1em;
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations details h3 {
    font-size: 1rem;
    line-height: 1.8;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #occupations details h3 {
    font-size: 1rem;
    line-height: 1.8;
    margin-top: 5vw;
    background-color: transparent;
    padding: 0 0;
    text-decoration: underline;
    text-decoration-thickness: 0.75em;
    -webkit-text-decoration-color: rgba(211, 195, 190, 0.75);
            text-decoration-color: rgba(211, 195, 190, 0.75);
    text-underline-offset: -0.25em; /* 線の位置。テキストに重なるようにやや上部にする */
    -webkit-text-decoration-skip-ink: none;
            text-decoration-skip-ink: none;
    margin-top: 5vw;
  }
}
#occupations details h3 + p {
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations details h3 + p {
    font-size: 0.875rem;
    text-align: justify;
  }
}
@media screen and (max-width: 520px) {
  #occupations details h3 + p {
    font-size: 0.875rem;
    text-align: justify;
  }
}
#occupations dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  margin-top: min(5vw, 60px);
}
#occupations dl dt {
  display: flex;
  align-items: center;
  width: 14em;
  font-size: 1em;
  color: #53301d;
  font-family: "Shippori Mincho", serif;
  background-color: #d3c3be;
  box-sizing: border-box;
  padding: 1em;
  margin-top: 0.2em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations dl dt {
    width: 8em;
  }
}
@media screen and (max-width: 520px) {
  #occupations dl dt {
    width: 100%;
    margin-top: 1em;
  }
}
#occupations dl dd {
  width: calc(100% - 14em);
  box-sizing: border-box;
  padding: 1em;
  margin-top: 0.2em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations dl dd {
    width: calc(100% - 8em);
  }
}
@media screen and (max-width: 520px) {
  #occupations dl dd {
    width: 100%;
    padding: 0.5em 0.5em;
    font-size: 0.875rem;
  }
}
#occupations dl dd ul li {
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 520px) {
  #occupations dl dd ul li {
    text-align: justify;
  }
}
@media screen and (max-width: 520px) {
  #occupations dl dd p {
    text-align: justify;
  }
}
#occupations dl dd ul:not(:first-child),
#occupations dl dd p:not(:first-child) {
  margin-top: 1em;
}
#occupations dl dd.branches p span {
  display: inline-block;
  min-width: 6em;
}
#occupations .btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations .btn_wrap {
    font-size: 1rem;
    margin-top: 2vw;
  }
}
@media screen and (max-width: 520px) {
  #occupations .btn_wrap {
    flex-direction: column-reverse;
    font-size: 0.875rem;
  }
}
#occupations .btn_wrap .btn_close {
  margin: min(2.5vw, 30px) 1em 0;
}
#occupations .btn_wrap .btn_close button {
  font-size: 1em;
  color: #fff;
  line-height: 1;
  background-color: #53301d;
  box-sizing: border-box;
  border-radius: 1.5em;
  border: 1px solid #53301d;
  padding: 0.75em 2em;
  transition: 0.2s ease;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}
#occupations .btn_wrap .btn_close:hover button {
  cursor: pointer;
  color: #53301d;
  border: 1px solid #d3c3be;
  background-color: #d3c3be;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations .btn_wrap .btn_close {
    margin: 5vw 1em 0;
  }
}
@media screen and (max-width: 520px) {
  #occupations .btn_wrap .btn_close {
    margin: 10vw 0 0;
  }
}
#occupations .btn_wrap .btn_entry {
  margin: min(2.5vw, 30px) 1em 0;
}
#occupations .btn_wrap .btn_entry a {
  font-size: 1em;
  color: #53301d;
  box-sizing: border-box;
  border-radius: 1.5em;
  border: 1px solid #53301d;
  background-color: #fff;
  padding: 0.75em 3.5em;
  transition: 0.2s ease;
}
#occupations .btn_wrap .btn_entry:hover a {
  border: 1px solid #d3c3be;
  background-color: #d3c3be;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #occupations .btn_wrap .btn_entry {
    margin: 5vw 1em 0;
  }
}
@media screen and (max-width: 520px) {
  #occupations .btn_wrap .btn_entry {
    margin: 10vw 0 0;
  }
}

/*=============================================================
occupations flow
=============================================================*/
#flow .outer {
  background-color: #fff;
  padding: min(5vw, 60px) 0;
}
#flow .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#flow .inner .box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #flow .inner .box_wrap {
    width: 92%;
    margin-top: 3vw;
  }
}
@media screen and (max-width: 520px) {
  #flow .inner .box_wrap {
    width: 90%;
    margin-top: 6vw;
  }
}
#flow .inner .box_wrap .box {
  width: 12.5%;
  margin-top: min(3vw, 36px);
  font-size: clamp(0.625rem, 0.394rem + 0.48vw, 0.875rem);
  position: relative;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #flow .inner .box_wrap .box {
    width: 27%;
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 520px) {
  #flow .inner .box_wrap .box {
    width: 42%;
    font-size: 2vw;
  }
}
#flow .inner .box_wrap .box figure {
  width: 100%;
}
#flow .inner .box_wrap .box figure img {
  aspect-ratio: 1/1;
  overflow: hidden;
  background-color: #f6f5f4;
  box-sizing: border-box;
  border-radius: 8px;
  border: 3px solid #53301d;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #flow .inner .box_wrap .box figure img {
    border: 2px solid #53301d;
  }
}
#flow .inner .box_wrap .box figure figcaption {
  text-align: center;
  font-weight: bold;
  color: #53301d;
  font-size: 1em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #flow .inner .box_wrap .box figure figcaption {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 520px) {
  #flow .inner .box_wrap .box figure figcaption {
    font-size: 1.8em;
  }
}
#flow .inner .box_wrap .box:not(:last-of-type)::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 1.5em solid #53301d;
  border-top: 1.5em solid transparent;
  border-bottom: 1.5em solid transparent;
  right: -27.5%;
  top: 35%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #flow .inner .box_wrap .box:not(:last-of-type)::before {
    right: -22%;
  }
}
@media screen and (max-width: 520px) {
  #flow .inner .box_wrap .box:not(:last-of-type)::before {
    top: 37%;
    right: -23%;
  }
}

/*=============================================================
interview
=============================================================*/
#interview .outer {
  background-color: #fff;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #interview .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #interview .outer {
    padding: 10vw 0 12vw;
  }
}
#interview .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#interview details summary {
  background-size: cover;
  overflow: hidden;
  background-color: #d3c3be;
  position: relative;
  display: flex;
  align-items: center;
  padding: 0.75em 1em;
}
@media screen and (max-width: 520px) {
  #interview details summary {
    padding: 1em 1.5em;
  }
  #interview details summary::before {
    top: 1em;
    left: 1.5em;
  }
  #interview details summary::after {
    top: 1em;
    left: 1.5em;
  }
}
#interview details summary .text {
  color: #53301d;
  display: block;
  width: calc(100% - 4.5em);
  text-align: center;
  box-sizing: border-box;
  padding-left: 5em;
}
@media screen and (max-width: 520px) {
  #interview details summary .text {
    width: 100%;
    padding-left: 1em;
    font-size: 0.875rem;
  }
}
#interview details summary .face_icon {
  content: "";
  display: block;
  width: 4.5em;
  aspect-ratio: 1/1;
  background-size: contain;
  background-position: center;
}
@media screen and (max-width: 520px) {
  #interview details summary .face_icon {
    display: none;
  }
}
#interview details:nth-of-type(1) .face_icon {
  background-image: url(../images/interview/icon01.png);
}
#interview details:nth-of-type(2) .face_icon {
  background-image: url(../images/interview/icon02.png);
}
#interview details:nth-of-type(3) .face_icon {
  background-image: url(../images/interview/icon03.png);
}
#interview details:nth-of-type(4) .face_icon {
  background-image: url(../images/interview/icon04.png);
}
#interview details:nth-of-type(5) .face_icon {
  background-image: url(../images/interview/icon05.png);
}
#interview details:nth-of-type(6) .face_icon {
  background-image: url(../images/interview/icon06.png);
}
#interview details .accordion_content {
  box-sizing: border-box;
  padding: min(3vw, 36px) min(3vw, 36px);
}
@media screen and (max-width: 520px) {
  #interview details .accordion_content {
    padding: 3vw 3vw 10vw;
  }
}
#interview details .catchphrase {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  color: #514541;
  font-family: "Shippori Mincho", serif;
  text-align: center;
  box-sizing: border-box;
  border-bottom: 1px solid #53301d;
  padding-bottom: min(2.5vw, 30px);
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #interview details .catchphrase {
    text-align: left;
    font-size: 1rem;
    margin-top: 5vw;
    padding-bottom: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #interview details .catchphrase {
    text-align: left;
    font-size: 1rem;
    margin-top: 5vw;
    padding-bottom: 5vw;
  }
}
#interview details .content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#interview details .content figure {
  width: 25%;
  order: 1;
  margin-top: 2rem;
}
@media screen and (max-width: 520px) {
  #interview details .content figure {
    width: 40%;
    order: 0;
    max-width: 250px;
    margin: 1rem auto 0;
  }
}
#interview details .content figure img {
  -o-object-position: center;
     object-position: center;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
#interview details .content dl {
  width: 100%;
  order: 2;
  margin-top: 2rem;
}
#interview details .content dl dt {
  background-color: #d3c3be;
  color: #514541;
  font-size: 1.125rem;
  font-family: "Shippori Mincho", serif;
  box-sizing: border-box;
  padding: 0.25em 0.5em;
}
@media screen and (max-width: 520px) {
  #interview details .content dl dt {
    font-size: 1rem;
    padding: 0.5em 1em;
  }
}
#interview details .content dl dd {
  font-size: 1rem;
  margin-top: 0.5em;
}
#interview details .content dl dd p {
  font-size: 1em;
  margin-top: 1em;
}
@media screen and (max-width: 520px) {
  #interview details .content dl dd p {
    font-size: 0.875rem;
  }
}
#interview details .content dl.profile {
  order: 0;
  width: 72%;
}
@media screen and (max-width: 520px) {
  #interview details .content dl.profile {
    width: 100%;
    order: 1;
  }
}
#interview details .content dl.profile dd p {
  letter-spacing: 0.025em;
}
#interview details .content dl.profile dd p span {
  margin-right: 0.5em;
}
#interview details .btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.125rem;
  margin-top: min(2.5vw, 30px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #interview details .btn_wrap {
    font-size: 1rem;
    margin-top: 2vw;
  }
}
@media screen and (max-width: 520px) {
  #interview details .btn_wrap {
    flex-direction: column-reverse;
    font-size: 0.875rem;
  }
}
#interview details .btn_wrap .btn_close {
  margin: min(2.5vw, 30px) 1em 0;
}
#interview details .btn_wrap .btn_close button {
  font-size: 1em;
  color: #fff;
  line-height: 1;
  background-color: #53301d;
  box-sizing: border-box;
  border-radius: 1.5em;
  border: 1px solid #53301d;
  padding: 0.75em 2em;
  transition: 0.2s ease;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
}
#interview details .btn_wrap .btn_close:hover button {
  cursor: pointer;
  color: #53301d;
  border: 1px solid #d3c3be;
  background-color: #d3c3be;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #interview details .btn_wrap .btn_close {
    margin: 5vw 1em 0;
  }
}
@media screen and (max-width: 520px) {
  #interview details .btn_wrap .btn_close {
    margin: 10vw 0 0;
  }
}

/*=============================================================
フォーム関連
=============================================================*/
/*===========================================================*/
form .alert {
  font-size: 0.875rem;
  color: #cc050f;
  font-weight: bold;
}
form dl dd .wd_100 {
  width: 100%;
}
form dl dd .wd_80 {
  width: 80%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form dl dd .wd_80 {
    width: 100%;
  }
}
@media screen and (max-width: 520px) {
  form dl dd .wd_80 {
    width: 100%;
  }
}
form dl dd .wd_60 {
  width: 60%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form dl dd .wd_60 {
    width: 100%;
  }
}
@media screen and (max-width: 520px) {
  form dl dd .wd_60 {
    width: 100%;
  }
}
form dl dd .wd_30 {
  width: 30%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form dl dd .wd_30 {
    width: 40%;
  }
}
@media screen and (max-width: 520px) {
  form dl dd .wd_30 {
    width: 50%;
  }
}
form dl dd .wd_15 {
  width: 15%;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form dl dd .wd_15 {
    width: 20%;
  }
}
@media screen and (max-width: 520px) {
  form dl dd .wd_15 {
    width: 30%;
  }
}
form dl dd .wd_8em {
  width: 8em;
}
form dl dd .wd_6em {
  width: 6em;
}
form dl dd input[type=date],
form dl dd input[type=email],
form dl dd input[type=number],
form dl dd input[type=password],
form dl dd input[type=tel],
form dl dd input[type=text],
form dl dd input[type=url],
form dl dd textarea {
  margin: 0 0 0 0;
  padding: 0.5em 0.5em;
  box-sizing: border-box;
  border-radius: 4px;
  line-height: 1.25;
  border: 1px solid #bababa;
}
form dl dd input[type=date]:focus,
form dl dd input[type=email]:focus,
form dl dd input[type=number]:focus,
form dl dd input[type=password]:focus,
form dl dd input[type=tel]:focus,
form dl dd input[type=text]:focus,
form dl dd input[type=url]:focus,
form dl dd textarea:focus {
  outline: none;
  border-color: #666;
}
form dl dd span {
  margin: 0 0.5em;
}
@media screen and (max-width: 520px) {
  form dl dd span {
    margin: 0 0.25em;
  }
}
form dl dd span:first-child {
  margin: 0 0.5em 0 0;
}
@media screen and (max-width: 520px) {
  form dl dd span:first-child {
    margin: 0 0.25em 0 0;
  }
}
form dl dd select {
  padding: 0.5em 0.5em;
  box-sizing: border-box;
  border-radius: 4px;
  line-height: 1.25;
  border: 1px solid #bababa;
  background-color: #f6f5f4;
}
@media screen and (max-width: 520px) {
  form dl dd select {
    width: 100%;
  }
}
form dl dd select:focus {
  outline: none;
  border-color: #999;
}
@media screen and (max-width: 520px) {
  form dl dd select.date {
    width: auto;
  }
}
form dl dd .note {
  margin-top: 0.5em;
}
form dl dd.radio_wrap ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
form dl dd.radio_wrap ul .radio01 label {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  box-sizing: border-box;
  padding: 0.5em;
  background-color: #f6f5f4;
  box-sizing: border-box;
  border-radius: 0.3em;
  transition: background-color 0.2s ease;
  position: relative;
}
form dl dd.radio_wrap ul .radio01 label::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #bababa;
}
form dl dd.radio_wrap ul .radio01 label::after {
  content: "";
  position: absolute;
  width: 0.6em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  background-color: #f72f2f;
  border-radius: 50%;
  opacity: 0;
  top: calc(1em - 1px);
  left: 0.8em;
}
form dl dd.radio_wrap ul .radio01 label span {
  line-height: 1.5;
}
form dl dd.radio_wrap ul .radio01 label:hover {
  cursor: pointer;
  background-color: #f0efef;
}
form dl dd.radio_wrap ul .radio01 input[type=radio] {
  display: none;
}
form dl dd.radio_wrap ul .radio01 input[type=radio]:checked + label::after {
  opacity: 1;
}
form dl dd.checkbox_wrap .checkbox01 {
  display: inline-block;
}
form dl dd.checkbox_wrap .checkbox01 label {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  box-sizing: border-box;
  padding: 0.5em 2em 0.5em 0.5em;
  background-color: #f6f5f4;
  box-sizing: border-box;
  border-radius: 0.3em;
  transition: background-color 0.2s ease;
  position: relative;
}
@media screen and (max-width: 520px) {
  form dl dd.checkbox_wrap .checkbox01 label {
    padding: 1em 2em 1em 1em;
  }
}
form dl dd.checkbox_wrap .checkbox01 label::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 0.4em;
  background: #fff;
  border: 2px solid #bababa;
}
form dl dd.checkbox_wrap .checkbox01 label::after {
  content: "";
  position: absolute;
  width: 0.6em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  background-color: #f72f2f;
  border-radius: 50%;
  opacity: 0;
  top: calc(1em - 1px);
  left: 0.8em;
}
@media screen and (max-width: 520px) {
  form dl dd.checkbox_wrap .checkbox01 label::after {
    top: calc(1.5em - 1px);
    left: calc(1.25em + 1px);
  }
}
form dl dd.checkbox_wrap .checkbox01 label span {
  line-height: 1.5;
}
form dl dd.checkbox_wrap .checkbox01 label:hover {
  cursor: pointer;
  background-color: #f0efef;
}
form dl dd.checkbox_wrap .checkbox01 input[type=checkbox] {
  display: none;
}
form dl dd.checkbox_wrap .checkbox01 input[type=checkbox]:checked + label::after {
  opacity: 1;
}
form dl dd.checkbox_wrap .checkbox01:not(:last-of-type) {
  margin-right: 1em;
}
form dl dd.checkbox_wrap .checkbox02 {
  display: inline-block;
}
form dl dd.checkbox_wrap .checkbox02 label {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  box-sizing: border-box;
  padding: 0.5em 1em 0.5em 0.5em;
  background-color: #f6f5f4;
  border-radius: 0.3em;
  transition: background-color 0.2s ease;
  position: relative;
}
@media screen and (max-width: 520px) {
  form dl dd.checkbox_wrap .checkbox02 label {
    padding: 0.5em 0.5em 0.5em 1em;
  }
}
form dl dd.checkbox_wrap .checkbox02 label::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 0.4em;
  background: #fff;
  border: 2px solid #bababa;
}
form dl dd.checkbox_wrap .checkbox02 label::after {
  content: "";
  position: absolute;
  width: 0.6em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  background-color: #f72f2f;
  border-radius: 50%;
  opacity: 0;
  top: calc(1em - 1px);
  left: 0.8em;
}
@media screen and (max-width: 520px) {
  form dl dd.checkbox_wrap .checkbox02 label::after {
    left: calc(1.25em + 1px);
  }
}
form dl dd.checkbox_wrap .checkbox02 label span {
  line-height: 1.5;
}
form dl dd.checkbox_wrap .checkbox02 label:hover {
  cursor: pointer;
  background-color: #f0efef;
}
form dl dd.checkbox_wrap .checkbox02 input[type=checkbox] {
  display: none;
}
form dl dd.checkbox_wrap .checkbox02 input[type=checkbox]:checked + label::after {
  opacity: 1;
}
form dl dd.checkbox_wrap .checkbox02:not(:last-of-type) {
  margin-right: 1em;
}
form .agree {
  text-align: center;
  margin-top: 3rem;
}
form .agree .checkbox01 {
  display: inline-block;
}
form .agree .checkbox01 label {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  box-sizing: border-box;
  padding: 0.5em 2em 0.5em 0.5em;
  background-color: #f6f5f4;
  box-sizing: border-box;
  border-radius: 0.3em;
  transition: background-color 0.2s ease;
  position: relative;
}
@media screen and (max-width: 520px) {
  form .agree .checkbox01 label {
    padding: 1em 2em 1em 1em;
  }
}
form .agree .checkbox01 label::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 0.4em;
  background: #fff;
  border: 2px solid #bababa;
}
form .agree .checkbox01 label::after {
  content: "";
  position: absolute;
  width: 0.6em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  background-color: #f72f2f;
  border-radius: 50%;
  opacity: 0;
  top: calc(1em - 1px);
  left: 0.8em;
}
@media screen and (max-width: 520px) {
  form .agree .checkbox01 label::after {
    top: calc(1.5em - 1px);
    left: calc(1.25em + 1px);
  }
}
form .agree .checkbox01 label span {
  line-height: 1.5;
}
form .agree .checkbox01 label:hover {
  cursor: pointer;
  background-color: #f0efef;
}
form .agree .checkbox01 input[type=checkbox] {
  display: none;
}
form .agree .checkbox01 input[type=checkbox]:checked + label::after {
  opacity: 1;
}
form .agree .checkbox01:not(:last-of-type) {
  margin-right: 1em;
}
form .submit_wrap {
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 520px) {
  form .submit_wrap {
    margin-top: 2rem;
  }
}
form .submit_wrap .btn_submit {
  display: inline-block;
}
form .submit_wrap .btn_submit input[type=submit] {
  background-color: #cc050f;
  font-size: 1.125rem;
  color: #fff;
  font-weight: bold;
  box-sizing: border-box;
  border: 1px solid #cc050f;
  border-radius: 0.3em;
  padding: 0.5em 3em;
  transition: 0.2s ease;
}
@media screen and (max-width: 520px) {
  form .submit_wrap .btn_submit input[type=submit] {
    padding: 1em 3em;
  }
}
form .submit_wrap .btn_submit input[type=submit]:hover {
  cursor: pointer;
  background-color: #fff;
  color: #cc050f;
}

form #privacy {
  margin-top: 3rem;
}
@media screen and (max-width: 520px) {
  form #privacy {
    margin-top: 2rem;
  }
}
form #privacy > p {
  font-size: 1rem;
  text-align: center;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form #privacy > p {
    text-align: justify;
  }
}
@media screen and (max-width: 520px) {
  form #privacy > p {
    text-align: justify;
  }
}
form #privacy .box {
  aspect-ratio: 100/30;
  overflow-y: scroll;
  box-sizing: border-box;
  border: 1px solid #bababa;
  background-color: #fff;
  padding: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form #privacy .box {
    padding: 1rem;
    aspect-ratio: 3/2;
  }
}
@media screen and (max-width: 520px) {
  form #privacy .box {
    padding: 1rem 3vw;
    aspect-ratio: 4/3;
  }
}
form #privacy .box h3 {
  background-color: #d3c3be;
  font-size: 1.25rem;
  color: #fff;
  font-weight: bold;
  line-height: 1.6;
  box-sizing: border-box;
  padding: 0.5em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form #privacy .box h3 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 520px) {
  form #privacy .box h3 {
    font-size: 1rem;
  }
}
form #privacy .box h3:not(:first-of-type) {
  margin-top: 3rem;
}
form #privacy .box h4 {
  font-size: 1.125rem;
  font-weight: bold;
  color: #53301d;
  line-height: 1.6;
  box-sizing: border-box;
  border-bottom: 1px solid #53301d;
  padding-bottom: 0.25em;
  margin-top: 2rem;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  form #privacy .box h4 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 520px) {
  form #privacy .box h4 {
    font-size: 0.875rem;
  }
}
form #privacy .box ul, form #privacy .box p {
  margin-top: 1em;
}
@media screen and (max-width: 520px) {
  form #privacy .box li, form #privacy .box p {
    font-size: 0.875rem;
  }
}
form #privacy .box ul {
  list-style-type: disc;
  box-sizing: border-box;
  padding-left: 1em;
}

section.form_area .form_content dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 1rem;
  box-sizing: border-box;
  border-left: 1px solid #bababa;
  border-top: 1px solid #bababa;
}
@media screen and (max-width: 768px) {
  section.form_area .form_content dl {
    width: 100%;
    border-left: none;
    border-top: none;
  }
}
section.form_area .form_content dl dt {
  font-size: 1em;
  width: 15em;
  box-sizing: border-box;
  background-color: #f6f5f4;
  padding: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  section.form_area .form_content dl dt {
    width: 100%;
  }
}
section.form_area .form_content dl dt .required {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #ff6300;
  font-weight: bold;
  color: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 0.3em 0.5em;
}
section.form_area .form_content dl dt:last-of-type {
  border-bottom: 1px solid #bababa;
}
@media screen and (max-width: 768px) {
  section.form_area .form_content dl dt:last-of-type {
    border-bottom: none;
  }
}
section.form_area .form_content dl dd {
  font-size: 1em;
  width: calc(100% - 15em);
  background-color: #fff;
  box-sizing: border-box;
  border-right: 1px solid #bababa;
  border-bottom: 1px solid #bababa;
  padding: 1em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  section.form_area .form_content dl dd {
    width: 100%;
    border-right: none;
    border-bottom: none;
    padding: 1.5em 1em;
  }
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd {
    width: 100%;
    border-right: none;
    border-bottom: none;
    padding: 2em 3vw;
  }
}
section.form_area .form_content dl dd.address_wrap .address {
  margin-top: 0.5em;
}
@media screen and (max-width: 768px) {
  section.form_area .form_content dl dd.faculty .unit {
    display: flex;
    align-items: center;
  }
  section.form_area .form_content dl dd.faculty .unit input[type=text] {
    flex-grow: 1;
  }
  section.form_area .form_content dl dd.faculty .unit span {
    width: 3em;
    margin-left: 1em;
  }
}
section.form_area .form_content dl dd.faculty .unit:not(:first-of-type) {
  margin-top: 0.5em;
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.dob .unit {
    display: flex;
    flex-wrap: wrap;
  }
  section.form_area .form_content dl dd.dob .unit input[type=text] {
    margin-top: 1em;
  }
  section.form_area .form_content dl dd.dob .unit span {
    margin-top: 1.5em;
  }
  section.form_area .form_content dl dd.dob .unit span:first-of-type {
    display: inline-block;
    width: 100%;
    margin-top: 0;
  }
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.dog .unit {
    display: flex;
    flex-wrap: wrap;
  }
  section.form_area .form_content dl dd.dog .unit input[type=text] {
    margin-top: 1em;
  }
  section.form_area .form_content dl dd.dog .unit span {
    margin-top: 1.5em;
  }
  section.form_area .form_content dl dd.dog .unit span:first-of-type {
    display: inline-block;
    width: 100%;
    margin-top: 0;
  }
}
section.form_area .form_content dl dd.tel span {
  display: inline-block;
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.tel span {
    margin: 0;
  }
}
section.form_area .form_content dl dd.quotation .wrap {
  display: flex;
  align-items: center;
}
section.form_area .form_content dl dd.quotation .wrap .unit {
  margin-right: 1em;
}
section.form_area .form_content dl dd.inquiry_type {
  padding: 0 1em 1em 1em;
}
section.form_area .form_content dl dd.inquiry_type .wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap {
  width: calc(100% - 14em);
  min-width: 28em;
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap {
    width: 100%;
    min-width: auto;
  }
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 {
  display: inline-block;
  margin-top: 1em;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 0.5em;
  box-sizing: border-box;
  padding: 0.5em 1em 0.5em 0.5em;
  background-color: #f6f5f4;
  box-sizing: border-box;
  border-radius: 0.3em;
  transition: background-color 0.2s ease;
  position: relative;
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label {
    padding: 0.5em 0.5em 0.5em 1em;
  }
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label::before {
  content: "";
  display: block;
  width: 1.2em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  border-radius: 0.4em;
  background: #fff;
  border: 2px solid #bababa;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label::after {
  content: "";
  position: absolute;
  width: 0.6em;
  aspect-ratio: 1/1;
  box-sizing: border-box;
  background-color: #f72f2f;
  border-radius: 50%;
  opacity: 0;
  top: calc(1em - 1px);
  left: 0.8em;
}
@media screen and (max-width: 520px) {
  section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label::after {
    left: calc(1.25em + 1px);
  }
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label span {
  line-height: 1.5;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 label:hover {
  cursor: pointer;
  background-color: #f0efef;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 input[type=checkbox] {
  display: none;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02 input[type=checkbox]:checked + label::after {
  opacity: 1;
}
section.form_area .form_content dl dd.inquiry_type .wrap ul.checkbox_wrap li.checkbox02:not(:last-of-type) {
  margin-right: 1em;
}
section.form_area .form_content dl dd.inquiry_type .wrap .btn_coolingoff {
  width: 13em;
  margin-top: 1em;
}
section.form_area .form_content dl dd.inquiry_type .wrap .btn_coolingoff a {
  display: inline-block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
  color: #fff;
  background-color: #53301d;
  box-sizing: border-box;
  border-radius: 0.4em;
  padding: 0.5em 1em;
}
section.form_area .form_content dl dd.building_age .wrap {
  display: flex;
  gap: 1em;
  align-items: center;
}

/*=============================================================
フォーム個別
=============================================================*/
#entry .outer,
#contact .outer,
#coolingoff .outer,
#confirm .outer,
#thanks .outer,
#form_partners .outer,
#form_cs .outer {
  background-color: #fff;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #entry .outer,
#contact .outer,
#coolingoff .outer,
#confirm .outer,
#thanks .outer,
#form_partners .outer,
#form_cs .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #entry .outer,
#contact .outer,
#coolingoff .outer,
#confirm .outer,
#thanks .outer,
#form_partners .outer,
#form_cs .outer {
    padding: 10vw 0 12vw;
  }
}
#entry .inner h2,
#contact .inner h2,
#coolingoff .inner h2,
#confirm .inner h2,
#thanks .inner h2,
#form_partners .inner h2,
#form_cs .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#entry .inner > .text,
#contact .inner > .text,
#coolingoff .inner > .text,
#confirm .inner > .text,
#thanks .inner > .text,
#form_partners .inner > .text,
#form_cs .inner > .text {
  font-size: 1rem;
  font-weight: bold;
  margin-top: 2rem;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 520px) {
  #entry .inner > .text,
#contact .inner > .text,
#coolingoff .inner > .text,
#confirm .inner > .text,
#thanks .inner > .text,
#form_partners .inner > .text,
#form_cs .inner > .text {
    text-align: justify;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 520px) {
  #entry .inner h2 + .text,
#contact .inner h2 + .text,
#coolingoff .inner h2 + .text,
#confirm .inner h2 + .text,
#thanks .inner h2 + .text,
#form_partners .inner h2 + .text,
#form_cs .inner h2 + .text {
    margin-top: 2rem;
  }
}
#entry .inner > .attention,
#contact .inner > .attention,
#coolingoff .inner > .attention,
#confirm .inner > .attention,
#thanks .inner > .attention,
#form_partners .inner > .attention,
#form_cs .inner > .attention {
  color: #cc050f;
  margin-top: 2rem;
  line-height: 2;
  text-align: center;
}
#entry .inner > .attention .required,
#contact .inner > .attention .required,
#coolingoff .inner > .attention .required,
#confirm .inner > .attention .required,
#thanks .inner > .attention .required,
#form_partners .inner > .attention .required,
#form_cs .inner > .attention .required {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  background-color: #ff6300;
  font-weight: bold;
  color: #fff;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 0.3em 0.5em;
  margin: 0 0.25em;
}
@media screen and (max-width: 520px) {
  #entry .inner > .attention,
#contact .inner > .attention,
#coolingoff .inner > .attention,
#confirm .inner > .attention,
#thanks .inner > .attention,
#form_partners .inner > .attention,
#form_cs .inner > .attention {
    font-size: 0.875rem;
    text-align: justify;
    margin-top: 1.5rem;
  }
}
#entry .inner .form_content,
#contact .inner .form_content,
#coolingoff .inner .form_content,
#confirm .inner .form_content,
#thanks .inner .form_content,
#form_partners .inner .form_content,
#form_cs .inner .form_content {
  margin-top: 3rem;
}

#contact .form_content form > h3,
#coolingoff .form_content form > h3,
#confirm .form_content form > h3,
#form_partners .form_content form > h3,
#form_cs .form_content form > h3 {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: bold;
  box-sizing: border-box;
  padding: 0 1em 0.25em 1em;
  border-bottom: 2px solid #514541;
  position: relative;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #contact .form_content form > h3,
#coolingoff .form_content form > h3,
#confirm .form_content form > h3,
#form_partners .form_content form > h3,
#form_cs .form_content form > h3 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 520px) {
  #contact .form_content form > h3,
#coolingoff .form_content form > h3,
#confirm .form_content form > h3,
#form_partners .form_content form > h3,
#form_cs .form_content form > h3 {
    font-size: 1rem;
  }
}
#contact .form_content form > h3::before,
#coolingoff .form_content form > h3::before,
#confirm .form_content form > h3::before,
#form_partners .form_content form > h3::before,
#form_cs .form_content form > h3::before {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  width: 3px;
  background-color: #bababa;
  left: 0;
  bottom: -2px;
}
#contact .form_content form > h3:not(:first-of-type),
#coolingoff .form_content form > h3:not(:first-of-type),
#confirm .form_content form > h3:not(:first-of-type),
#form_partners .form_content form > h3:not(:first-of-type),
#form_cs .form_content form > h3:not(:first-of-type) {
  margin-top: 3rem;
}
#contact .form_content form dl,
#coolingoff .form_content form dl,
#confirm .form_content form dl,
#form_partners .form_content form dl,
#form_cs .form_content form dl {
  margin-top: 2rem;
}

#form_partners .outer,
#form_cs .outer {
  background-color: #f6f5f4;
}

/*=============================================================
partners
=============================================================*/
#partners .outer {
  background-color: #fff;
  background-image: url(../images/partners/bg_partners.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #partners .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #partners .outer {
    padding: 10vw 0 12vw;
    background-size: auto 100vw;
    background-position: center top;
  }
}
#partners .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#partners .inner p {
  font-size: 1rem;
  text-align: center;
  margin-top: min(3vw, 36px);
}
@media screen and (max-width: 520px) {
  #partners .inner p {
    font-size: 0.875rem;
    text-align: left;
  }
}
#partners .inner h2 + p {
  font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
  font-family: "Shippori Mincho", serif;
  color: #514541;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: min(5vw, 60px);
}
@media screen and (max-width: 520px) {
  #partners .inner h2 + p {
    font-size: 1rem;
    text-align: left;
  }
  #partners .inner h2 + p br {
    display: none;
  }
}
#partners .inner h3 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-family: "Shippori Mincho", serif;
  color: #514541;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: min(6vw, 72px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #partners .inner h3 {
    font-size: 1rem;
    margin-top: 9vw;
  }
}
@media screen and (max-width: 520px) {
  #partners .inner h3 {
    font-size: 1rem;
    text-align: left;
    margin-top: 12vw;
  }
}
#partners .inner .box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  box-sizing: border-box;
  padding: 0 5%;
}
@media screen and (max-width: 520px) {
  #partners .inner .box_wrap {
    justify-content: center;
  }
}
#partners .inner .box_wrap .box {
  width: 23%;
  margin-top: min(3.5vw, 42px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #partners .inner .box_wrap .box {
    width: 48.5%;
    margin-top: 6vw;
  }
}
@media screen and (max-width: 520px) {
  #partners .inner .box_wrap .box {
    width: 80%;
    margin-top: 9vw;
  }
}
#partners .inner dl {
  box-sizing: border-box;
  border: 1px solid #53301d;
  margin-top: min(5vw, 60px);
  padding: min(3.5vw, 42px) min(3vw, 36px);
}
#partners .inner dl dt {
  text-align: center;
  font-size: 1.125rem;
  color: #fff;
  background-color: #53301d;
  padding: 0.25em 1em;
}
#partners .inner dl dt:not(:first-of-type) {
  margin-top: min(3.5vw, 42px);
}
#partners .inner dl dd p {
  font-family: "Shippori Mincho", serif;
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  #partners .inner dl dd p {
    font-size: 0.875rem;
  }
}
#partners .inner dl dd p span {
  display: inline-block;
}
#partners .inner dl dd.job_types ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1rem;
  margin-top: 1em;
}
@media screen and (max-width: 768px) {
  #partners .inner dl dd.job_types ul {
    margin-top: 0.25em;
  }
}
#partners .inner dl dd.job_types ul li {
  width: 18.5%;
  background-color: #f6f5f4;
  font-size: 1rem;
  box-sizing: border-box;
  padding: 1em;
  margin-top: 1em;
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  #partners .inner dl dd.job_types ul li {
    width: 22.5%;
    font-size: clamp(0.75rem, 0.519rem + 0.48vw, 1rem);
  }
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #partners .inner dl dd.job_types ul li {
    width: 31.5%;
    font-size: clamp(0.75rem, 0.223rem + 1.62vw, 1rem);
  }
}
@media screen and (max-width: 520px) {
  #partners .inner dl dd.job_types ul li {
    width: 48.5%;
    font-size: clamp(0.625rem, 0.025rem + 3vw, 1rem);
  }
}
#partners .inner dl dd.job_types ul li span {
  display: flex;
  align-items: center;
  font-weight: bold;
  position: relative;
}
#partners .inner dl dd.job_types ul li span::before {
  content: "";
  display: block;
  width: 2em;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-right: 1em;
}
#partners .inner dl dd.job_types ul li:nth-child(1) span::before {
  background-image: url(../images/partners/icon01.png);
}
#partners .inner dl dd.job_types ul li:nth-child(2) span::before {
  background-image: url(../images/partners/icon02.png);
}
#partners .inner dl dd.job_types ul li:nth-child(3) span::before {
  background-image: url(../images/partners/icon03.png);
}
#partners .inner dl dd.job_types ul li:nth-child(4) span::before {
  background-image: url(../images/partners/icon04.png);
}
#partners .inner dl dd.job_types ul li:nth-child(5) span::before {
  background-image: url(../images/partners/icon05.png);
}
#partners .inner dl dd.job_types ul li:nth-child(6) span::before {
  background-image: url(../images/partners/icon06.png);
}
#partners .inner dl dd.job_types ul li:nth-child(7) span::before {
  background-image: url(../images/partners/icon07.png);
}
#partners .inner dl dd.job_types ul li:nth-child(8) span::before {
  background-image: url(../images/partners/icon08.png);
}
#partners .inner dl dd.job_types ul li:nth-child(9) span::before {
  background-image: url(../images/partners/icon09.png);
}
#partners .inner dl dd.job_types ul li:nth-child(10) span::before {
  background-image: url(../images/partners/icon10.png);
}
#partners .inner dl dd.job_types ul li:nth-child(11) span::before {
  background-image: url(../images/partners/icon11.png);
}
#partners .inner dl dd.job_types ul li:nth-child(12) span::before {
  background-image: url(../images/partners/icon12.png);
}
#partners .inner dl dd.job_types ul li:nth-child(13) span::before {
  background-image: url(../images/partners/icon13.png);
}
#partners .inner dl dd.job_types ul li:nth-child(14) span::before {
  background-image: url(../images/partners/icon14.png);
}
#partners .inner dl dd.job_types ul li:nth-child(15) span::before {
  background-image: url(../images/partners/icon15.png);
}
#partners .inner dl dd.job_types ul li:nth-child(16) span::before {
  background-image: url(../images/partners/icon16.png);
}
#partners .inner dl dd.job_types ul li:nth-child(17) span::before {
  background-image: url(../images/partners/icon17.png);
}
#partners .inner dl dd.job_types ul li:nth-child(18) span::before {
  background-image: url(../images/partners/icon18.png);
}
#partners .inner dl dd.job_types ul li:nth-child(19) span::before {
  background-image: url(../images/partners/icon19.png);
}
#partners .inner dl dd.job_types ul li.spacer {
  display: block;
  height: 0;
  background-color: none;
  padding: 0;
}

/*=============================================================
confirm・thanks
=============================================================*/
#confirm form .submit_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #confirm form .submit_wrap {
    flex-direction: column;
  }
}
#confirm form .submit_wrap .btn_back {
  margin: 0 1.5em;
}
#confirm form .submit_wrap .btn_back input[type=submit] {
  min-width: 240px;
  background-color: #666;
  font-size: 1.125rem;
  color: #fff;
  font-weight: bold;
  box-sizing: border-box;
  border: 1px solid #666;
  border-radius: 0.3em;
  padding: 0.5em 3em;
  transition: 0.2s ease;
}
@media screen and (max-width: 520px) {
  #confirm form .submit_wrap .btn_back input[type=submit] {
    padding: 1em 3em;
  }
}
#confirm form .submit_wrap .btn_back input[type=submit]:hover {
  cursor: pointer;
  background-color: #fff;
  color: #666;
}
#confirm form .submit_wrap .btn_submit {
  min-width: 240px;
  margin: 0 1.5em;
}
@media screen and (max-width: 768px) {
  #confirm form .submit_wrap .btn_submit {
    margin: 1.5em 1.5em 0;
  }
}
#confirm form .submit_wrap .btn_submit input[type=submit] {
  min-width: 240px;
}

#thanks .inner .info_wrap {
  box-sizing: border-box;
  margin-top: 2rem;
  font-weight: bold;
}
#thanks .inner .info_wrap p {
  text-align: center;
}
#thanks .inner .back_to_top {
  margin-top: 2rem;
  text-align: center;
}
#thanks .inner .back_to_top a {
  display: inline-block;
  text-decoration: underline;
  color: #514541;
  font-weight: bold;
}

/*=============================================================
Subnavページ一覧↓↓
=============================================================*/
/*=============================================================
Subnavページ　代表メッセージ
=============================================================*/
#message .outer {
  background-color: #fff;
  background-image: url(../images/message/bg_message.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #message .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #message .outer {
    padding: 10vw 0 12vw;
    background-size: auto 100vw;
    background-position: center top;
  }
}
#message .inner p {
  font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
  font-family: "Shippori Mincho", serif;
  color: #514541;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: min(5vw, 60px);
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  #message .inner p {
    font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  }
}
@media screen and (max-width: 520px) {
  #message .inner p {
    font-size: 1rem;
    text-align: left;
  }
  #message .inner p br {
    display: none;
  }
}

#achievements .outer {
  background-color: #fff;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #achievements .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #achievements .outer {
    padding: 10vw 0 12vw;
  }
}
#achievements .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#achievements .inner .box_wrap {
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap;
}
#achievements .inner .box_wrap .box {
  width: 48%;
  margin-top: min(5vw, 60px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #achievements .inner .box_wrap .box {
    margin-top: 7.5vw;
  }
}
@media screen and (max-width: 520px) {
  #achievements .inner .box_wrap .box {
    width: 100%;
    margin-top: 10vw;
  }
}

/*=============================================================
Subnavページ　カスタマーサポート
=============================================================*/
#cs .outer {
  background-color: #fff;
  background-image: url(../images/cs/bg_cs.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: top;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  #cs .outer {
    padding: 10vw 0 12vw;
    background-size: auto 100vw;
    background-position: center top;
  }
}
#cs .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
#cs .inner h2 + p {
  font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
  font-family: "Shippori Mincho", serif;
  color: #514541;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: min(5vw, 60px);
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  #cs .inner h2 + p {
    font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  }
}
@media screen and (max-width: 520px) {
  #cs .inner h2 + p {
    font-size: 1rem;
    text-align: left;
  }
  #cs .inner h2 + p br {
    display: none;
  }
}
#cs .inner .inner_narrow ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 1rem;
  margin-top: min(2vw, 24px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .inner_narrow ul {
    margin-top: 4vw;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .inner_narrow ul {
    margin-top: 5vw;
  }
}
#cs .inner .inner_narrow ul li {
  width: 21%;
  aspect-ratio: 3/2;
  text-align: center;
  background-color: #514541;
  box-sizing: border-box;
  border-radius: 1em;
  padding: 0.5em;
  margin-top: min(3vw, 36px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .inner_narrow ul li {
    width: 47.5%;
    margin-top: 5vw;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .inner_narrow ul li {
    width: 47.5%;
    margin-top: 7vw;
  }
}
#cs .inner .inner_narrow ul li img {
  width: auto;
  height: 100%;
}
#cs .inner .btn_wrap {
  margin-top: min(6vw, 72px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .btn_wrap {
    margin-top: 9vw;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .btn_wrap {
    margin-top: 12vw;
  }
}
#cs .inner .btn_wrap .btn {
  margin: 0 auto;
  width: 36%;
  min-width: 300px;
  height: 50px;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .btn_wrap .btn {
    min-width: 280px;
    height: 42px;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .btn_wrap .btn {
    width: 60%;
    min-width: 240px;
    height: 38px;
  }
}
#cs .inner .btn_wrap .btn a {
  z-index: 1;
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  color: #514541;
  text-decoration: none;
  border: 1px solid #514541;
  border-radius: 100px;
  background-color: #fff;
  transition: color 0.5s ease 0.08s;
}
@media screen and (max-width: 768px) {
  #cs .inner .btn_wrap .btn a {
    color: #fff;
    background-color: #514541;
  }
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .btn_wrap .btn a {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .btn_wrap .btn a {
    font-size: 0.75rem;
  }
}
#cs .inner .btn_wrap .btn a span {
  display: inline-block;
  text-align: center;
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 2;
}
#cs .inner .btn_wrap .btn a::after {
  content: "";
  position: absolute;
  top: 0;
  left: -200%;
  z-index: -1;
  width: 150%;
  height: 450%;
  border-radius: 50%;
  background-color: #514541;
  transition: top 0.65s ease, left 0.65s ease;
}
#cs .inner .btn_wrap .btn a:hover {
  color: #fff;
  transition: color 0.5s ease 0.08s;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  #cs .inner .btn_wrap .btn a:hover {
    color: #fff;
    background-color: #514541;
  }
}
#cs .inner .btn_wrap .btn a:hover:after {
  top: -100%;
  left: -20%;
}
@media screen and (max-width: 768px) {
  #cs .inner .btn_wrap .btn a:hover:after {
    top: 0;
    left: 0;
  }
}
#cs .inner .tel_wrap {
  margin-top: min(6vw, 72px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .tel_wrap {
    margin-top: 9vw;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .tel_wrap {
    margin-top: 12vw;
  }
}
#cs .inner .tel_wrap h3 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  text-align: center;
  font-weight: bold;
  color: #514541;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .tel_wrap h3 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .tel_wrap h3 {
    font-size: 1rem;
  }
}
#cs .inner .tel_wrap .tel {
  width: 33.3333%;
  margin: min(3vw, 36px) auto 0;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .tel_wrap .tel {
    width: 50%;
    min-width: 21rem;
    margin: 4.5vw auto 0;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .tel_wrap .tel {
    width: 75%;
    margin: 6vw auto 0;
  }
}
#cs .inner .tel_wrap p {
  font-size: clamp(0.75rem, 0.519rem + 0.48vw, 1rem);
  text-align: center;
  font-weight: bold;
  color: #514541;
  margin-top: 1em;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #cs .inner .tel_wrap p {
    font-size: 1rem;
  }
}
@media screen and (max-width: 520px) {
  #cs .inner .tel_wrap p {
    font-size: 0.875rem;
  }
}

#form_cs .inner > p {
  text-align: center;
  margin-top: min(5vw, 60px);
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  #form_cs .inner > p {
    margin-top: 7.5vw;
  }
}
@media screen and (max-width: 520px) {
  #form_cs .inner > p {
    text-align: left;
    margin-top: 10vw;
  }
}
#form_cs .inner .open24_7 {
  color: #514541;
  font-weight: bold;
  font-size: clamp(1.25rem, 0.787rem + 0.96vw, 1.75rem);
}
@media screen and (max-width: 520px) {
  #form_cs .inner .open24_7 {
    text-align: center;
  }
}
#form_cs .inner .attention {
  color: #514541;
  font-weight: bold;
  margin-top: 0;
}

/*=============================================================
Subnavページ　事業紹介
=============================================================*/
section.business .outer {
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center;
  box-sizing: border-box;
  padding: min(5vw, 60px) 0 min(10vw, 120px);
  position: relative;
}
@media screen and (min-width: 521px) and (max-width: 768px) {
  section.business .outer {
    padding: 7vw 0 12vw;
  }
}
@media screen and (max-width: 520px) {
  section.business .outer {
    padding: 10vw 0 12vw;
    background-size: auto 100vw;
  }
}
section.business .outer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(#fff 0, rgba(255, 255, 255, 0.7) 80%, #fff 100%);
  top: 0;
  left: 0;
}
section.business .inner {
  position: relative;
}
section.business .inner h2 {
  font-size: clamp(1rem, 0.769rem + 0.48vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  box-sizing: border-box;
  padding: 2em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #53301d;
  border-bottom: 1px solid #53301d;
  color: #514541;
}
section.business .inner h3 {
  font-size: clamp(1.25rem, 0.787rem + 0.96vw, 1.75rem);
  font-family: "Shippori Mincho", serif;
  color: #514541;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: min(5vw, 60px);
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
  section.business .inner h3 {
    font-size: clamp(1.125rem, 0.778rem + 0.72vw, 1.5rem);
  }
}
@media screen and (max-width: 520px) {
  section.business .inner h3 {
    font-size: 1.125rem;
    text-align: left;
  }
  section.business .inner h3 br {
    display: none;
  }
}
section.business .inner > p {
  font-size: 1rem;
  text-align: center;
  margin-top: 1em;
}
section.business .inner > a.page_link {
  font-size: 1rem;
  text-align: center;
		display: block;
  background-color: #d3c3be;
  color: #fff;
  width: 30%;
  margin: 40px auto 0;
		padding: 4px 0;
  border-radius: 20px;
		transition : all 0.5s ease 0s;
}
section.business .inner > a.page_link:hover {
background-color: #514541;
}
@media screen and (max-width: 520px) {
  section.business .inner > p {
    font-size: 0.875rem;
    text-align: left;
  }
		section.business .inner > a.page_link {
font-size: 0.875rem;
width: 60%;
}
}
section.business .inner > p:first-of-type {
  margin-top: 2em;
}
section.business .large_btn_wrap {
  position: relative;
  box-sizing: border-box;
  padding-bottom: 3.25vw;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap {
    padding-bottom: 6vw;
  }
}
section.business .large_btn_wrap::before {
  content: "";
  position: absolute;
  width: calc(100% - max(6vw, (100% - 1000px) / 2));
  aspect-ratio: 100/31;
  background-color: #f6f5f4;
  top: 3.25vw;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap::before {
    aspect-ratio: 16/9;
    top: 6vw;
  }
}
section.business .large_btn_wrap .large_btn {
  position: relative;
  width: calc(100% - max(6vw, (100% - 1000px) / 2));
  aspect-ratio: 100/31;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn {
    aspect-ratio: 16/9;
  }
}
section.business .large_btn_wrap .large_btn a {
  display: block;
  width: 100%;
  aspect-ratio: 100/31;
  box-sizing: border-box;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn a {
    aspect-ratio: 16/9;
  }
}
section.business .large_btn_wrap .large_btn a figure {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  background-color: #000;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn a figure {
    aspect-ratio: 16/9;
    height: auto;
  }
}
section.business .large_btn_wrap .large_btn a figure img {
  transition: 0.3s ease;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn a figure img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    width: auto;
    height: 100%;
  }
}
section.business .large_btn_wrap .large_btn a .hd_wrap {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.business .large_btn_wrap .large_btn a .hd_wrap h3 {
  display: flex;
  flex-direction: column;
}
section.business .large_btn_wrap .large_btn a .hd_wrap h3 span {
  align-self: flex-end;
}
section.business .large_btn_wrap .large_btn a .hd_wrap h3 .jp {
  color: #fff;
  font-weight: bold;
  margin-bottom: 1em;
  font-size: clamp(0.75rem, 0.589rem + 0.34vw, 1.125rem);
}
section.business .large_btn_wrap .large_btn a .hd_wrap h3 .jp_sub {
   color: rgba( 255, 255, 255, 0.6);
			letter-spacing: 0.2em;
  margin-top: 1em;
  font-size: clamp(1.2rem, 1.8vw, 1.7rem);
		font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn a .hd_wrap h3 .jp {
    font-size: 0.625rem;
  }
		section.business .large_btn_wrap .large_btn a .hd_wrap h3 .jp_sub {
    font-size: 0.8rem;
  }
}
section.business .large_btn_wrap .large_btn a .hd_wrap h3 .en img {
  width: auto;
  height: 100%;
  max-height: 4vw;
}
@media screen and (max-width: 520px) {
  section.business .large_btn_wrap .large_btn a .hd_wrap h3 .en img {
    max-height: 5.5vw;
  }
}
section.business .large_btn_wrap .large_btn a:hover figure img {
  opacity: 0.8;
  transform: scale(1.05);
}

#option .outer {
  background-image: url(../images/business/bg01.png);
}
#option .large_btn_wrap::before {
  left: 0;
}
#option .large_btn_wrap .large_btn {
  margin: 0 0 0 auto;
}

#reform .outer {
  background-image: url(../images/business/bg02.png);
}
#reform .large_btn_wrap::before {
  right: 0;
}
#reform .large_btn_wrap .large_btn {
  margin: 0 auto 0 0;
}

#container #cs .outer{
  min-height: 50vh;
}
#container #cs .outer #thanks{
  padding: 5% 0 0;
  margin: 0 auto;
  width: 90%;
}
