main.single {
 margin-bottom: 200px;
 padding-top: 30px;
}
@media screen and (max-width: 1024px) {
 main.single {
  margin-bottom: 100px;
  padding-top: 20px;
 }
}
main.single h1 {
 line-height: 1;
 margin-bottom: 20px;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 24px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 main.single h1 {
  font-size: 20px;
 }
}
main.single .breadcrumb_area {
 margin-bottom: 30px;
}
@media screen and (max-width: 1024px) {
 main.single .breadcrumb_area {
  margin-bottom: 15px;
 }
}

section {
 position: relative;
 width: 100%;

 --main_brs: 60px;
 padding-inline: 3%;
}
@media screen and (max-width: 1024px) {
 section {
  padding-inline: 5%;
 }
}
@media screen and (max-width: 600px) {
 section {
  --main_brs: 30px;
 }
}
section p.main_txt {
 line-height: 1.6666666667;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section p.main_txt {
  font-size: 16px;
 }
}
section p.main_txt +p.main_txt {
 margin-top: 1em;
}
section.staff_list {
 padding: 0;
}
section.staff_list .lead {
 padding: 0 5%;
 text-align: center;
}
section.staff_list .lead p {
 line-height: 1.9444444444;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.staff_list .lead p {
  font-size: 16px;
 }
}
section.staff_list .lead p +p {
 margin-top: 1em;
}
section.staff_list .lead p:first-child {
 margin-bottom: 2em;
}
section.staff_list .list_wrap {
 --wrap_bg: url(/common/img/main_bg.png);
 --wrap_brs: var(--main_brs) 0 0 0;
 --wrap_mg: auto 0;
 --pd-t: 40px;
 --pd-i: 40px;
 --wrap_pd: var(--pd-t) 0 0 var(--pd-i);
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap {
  --pd-t: 30px;
  --pd-i: 5%;
 }
}
section.staff_list .list_wrap .staff_block {
 padding: 70px 5%;
}
section.staff_list .list_wrap .staff_block:last-child {
 padding-bottom: 200px;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block:last-child {
  padding-bottom: 100px;
 }
}
@media screen and (min-width: 600px) {
 section.staff_list .list_wrap .staff_block:nth-child(2n) {
  --wrap_brs: 0 var(--main_brs) 0 0;
  --wrap_mg: 0;
  --wrap_pd: var(--pd-t) var(--pd-i) 0 0;
 }
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block {
  padding-block: 40px;
 }
}
section.staff_list .list_wrap .staff_block:nth-child(2n) {
 background: #feebd6;

 --wrap_bg: #feebd6;
}
section.staff_list .list_wrap .staff_block:nth-child(4n) {
 background: #fcf3cd;

 --wrap_bg: #fcf3cd;
}
section.staff_list .list_wrap .staff_block >.inner {
 width: 100%;
 max-width: 1000px;
 margin: 0 auto;
}
@media (hover) {
 section.staff_list .list_wrap .staff_block >.inner a:hover .img img {
  scale: 1.1;
 }
}
section.staff_list .list_wrap .staff_block >.inner .img {
 overflow: hidden;
 border-radius: 20px;
}
section.staff_list .list_wrap .staff_block >.inner .img img {
 width: 100%;
 object-fit: cover;
 transition: all 0.3s;

 aspect-ratio: 1000/450;
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap {
 display: grid;
 position: relative;
 width: 86%;
 grid-template-rows: auto auto auto;
 grid-template-columns: auto 1fr;
 row-gap: 20px;
 -moz-column-gap: 40px;
      column-gap: 40px;
 margin-top: -50px;
 padding: var(--wrap_pd);
 border-radius: var(--wrap_brs);
 background: var(--wrap_bg);

 margin-inline: var(--wrap_mg);
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap {
  width: 95%;
  row-gap: 10px;
  -moz-column-gap: 20px;
       column-gap: 20px;
 }
}
@media screen and (max-width: 600px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap {
  display: block;
  width: 100%;
  margin-top: 20px;
  padding: 0;
  border-radius: 0;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.story {
 position: relative;
 line-height: 1.25;
 align-self: flex-start;
 grid-column: 1/2;
 grid-row: 1/3;
 font-weight: 500;
 font-size: 24px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.story {
  font-size: 18px;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.story:after {
 content: "";
 display: block;
 position: absolute;
 bottom: -15px;
 left: 0;
 width: 35px;
 height: 2px;
 background: var(--c_rd);
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.story:after {
  bottom: -10px;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.story span {
 margin-left: 0.2em;
 font-size: 1.6em;
 letter-spacing: 0;
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap h2 {
 line-height: 1.6666666667;
 grid-column: 2/3;
 grid-row: 1/2;
 padding-top: 0.25em;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 24px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap h2 {
  font-size: 18px;
 }
}
@media screen and (max-width: 600px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap h2 {
  margin-top: 20px;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.name {
 line-height: 1;
 grid-column: 2/3;
 grid-row: 2/3;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.name {
  font-size: 14px;
 }
}
@media screen and (max-width: 600px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.name {
  margin: 10px 0;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.name span {
 margin-left: 0.5em;
 font-weight: bold;
 font-size: 1.4em;
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.link {
 grid-column: 1/3;
 grid-row: 3/4;
 text-align: right;
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.link span {
 display: flex;
 position: relative;
 line-height: 1;
 justify-content: flex-end;
 align-items: center;
 gap: 15px;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 16px;
 letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.link span {
  font-size: 14px;
 }
}
section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.link span:after {
 content: "";
 display: inline-block;
 width: 23px;
 -webkit-mask-image: url(/common/img/icon_arrow_wt.png);
         mask-image: url(/common/img/icon_arrow_wt.png);
 -webkit-mask-repeat: no-repeat;
         mask-repeat: no-repeat;
 -webkit-mask-position: center;
         mask-position: center;
 -webkit-mask-size: cover;
         mask-size: cover;
 background: var(--c_rd);

 aspect-ratio: 23/16;
}
@media screen and (max-width: 1024px) {
 section.staff_list .list_wrap .staff_block >.inner .txt_wrap p.link span:after {
  width: 18px;
 }
}
section.ttl_area {
 display: flex;
 width: 100%;
 margin-bottom: 120px;
 padding: 0;
}
@media screen and (max-width: 1024px) {
 section.ttl_area {
  flex-direction: column;
  margin-bottom: 60px;
  padding: 0 5%;
 }
}
section.ttl_area .main_img {
 width: 50%;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .main_img {
  width: 100%;
  order: -1;
 }
}
section.ttl_area .main_img img {
 width: 100%;
 border-radius: 20px 0 0 20px;
 object-fit: cover;

 aspect-ratio: 750/500;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .main_img img {
  border-radius: 20px;
 }
}
section.ttl_area .txt_wrap {
 display: flex;
 width: 50%;
 justify-content: flex-end;
 align-items: center;
 padding-left: 5vw;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap {
  display: block;
  width: 90%;
  margin-top: -50px;
  padding: 20px 5% 0 0;
  border-radius: 0 30px 0 0;
  background: url(/common/img/main_bg.png);
 }
}
section.ttl_area .txt_wrap .inner {
 width: 100%;
 max-width: 550px;
 padding-right: 50px;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap .inner {
  max-width: 100%;
  padding: 0;
 }
}
section.ttl_area .txt_wrap .inner p.story {
 position: relative;
 line-height: 1;
 font-weight: 500;
 font-size: 40px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap .inner p.story {
  font-size: 20px;
 }
}
section.ttl_area .txt_wrap .inner p.story:after {
 content: "";
 display: block;
 position: absolute;
 bottom: -25px;
 left: 0;
 width: 60px;
 height: 4px;
 background: var(--c_rd);
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap .inner p.story:after {
  bottom: -15px;
  width: 45px;
 }
}
section.ttl_area .txt_wrap .inner p.story span {
 margin-left: 0.15em;
 font-size: 1.675em;
 letter-spacing: 0;
}
section.ttl_area .txt_wrap .inner h2 {
 line-height: 1.5625;
 margin: 80px 0;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 32px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap .inner h2 {
  margin: 40px 0 20px;
  font-size: 18px;
 }
}
section.ttl_area .txt_wrap .inner p.name {
 display: inline-block;
 line-height: 1;
 padding: 20px 40px;
 background: #feebd6;
 font-weight: 500;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.ttl_area .txt_wrap .inner p.name {
  padding: 15px 20px;
  font-size: 16px;
 }
}
section.ttl_area .txt_wrap .inner p.name span {
 margin-left: 0.5em;
 font-weight: bold;
 font-size: 1.3em;
}
section.interview_area {
 margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
 section.interview_area {
  margin-bottom: 60px;
 }
}
section.interview_area >.inner {
 display: grid;
 width: 100%;
 max-width: 1000px;
 grid-template-columns: repeat(2, 1fr);
 row-gap: 90px;
 -moz-column-gap: 8%;
      column-gap: 8%;
 margin: 0 auto;
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner {
  grid-template-columns: 1fr;
  row-gap: 40px;
 }
}
@media screen and (min-width: 1024px) {
 section.interview_area >.inner .interview_block:has(.img) {
  grid-column: span 2;
 }
}
section.interview_area >.inner .interview_block:has(.img) .txt_wrap {
 position: relative;
 width: 86%;
 margin: -50px 0 0 auto;
 padding: 50px 0 0 60px;
 border-radius: var(--main_brs) 0 0 0;
 background: url(/common/img/main_bg.png);
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner .interview_block:has(.img) .txt_wrap {
  margin: -40px auto 0 0;
  padding: 20px 5% 0 0;
  border-radius: 0 30px 0 0;
 }
}
@media screen and (max-width: 600px) {
 section.interview_area >.inner .interview_block:has(.img) .txt_wrap {
  width: 100%;
  margin-top: 20px;
  padding: 0;
  border-radius: 0;
 }
}
section.interview_area >.inner .interview_block .img img {
 width: 100%;
 height: auto;
 border-radius: 20px;
}
section.interview_area >.inner .interview_block h2 {
 display: flex;
 position: relative;
 line-height: 1.6666666667;
 flex-direction: column;
 margin-bottom: 50px;
 color: var(--c_gy);
 font-weight: bold;
 font-size: 24px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner .interview_block h2 {
  margin-bottom: 35px;
  font-size: 18px;
 }
}
section.interview_area >.inner .interview_block h2:after {
 content: "";
 display: block;
 position: absolute;
 bottom: -15px;
 left: 0;
 width: 40px;
 height: 2px;
 background: var(--c_rd);
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner .interview_block h2:after {
  bottom: -10px;
 }
}
section.interview_area >.inner .interview_block h2 span {
 line-height: 1;
 margin-bottom: 10px;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 40px;
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner .interview_block h2 span {
  margin-bottom: 5px;
  font-size: 25px;
 }
}
section.interview_area >.inner .interview_block p {
 line-height: 1.875;
 font-size: 16px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.interview_area >.inner .interview_block p {
  font-size: 14px;
 }
}
section.interview_area >.inner .interview_block p br {
 content: "";
 display: block;
 height: 0.3em;
}
section.flow_area {
 margin-bottom: 60px;
 background: var(--c_rd);

 padding-block: 80px;
}
@media screen and (max-width: 1024px) {
 section.flow_area {
  margin-bottom: 40px;

  padding-block: 40px;
 }
}
section.flow_area .base_img {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 pointer-events: none;
}
section.flow_area .base_img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 opacity: 0.3;
}
section.flow_area >.inner {
 display: flex;
 position: relative;
 width: 100%;
 max-width: 1000px;
 justify-content: space-between;
 align-items: flex-start;
 margin: 0 auto;
 padding-right: 4%;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner {
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 60px;
  padding: 0;
 }
}
section.flow_area >.inner h2 {
 position: relative;
 line-height: 1;
 flex-shrink: 0;
 margin-right: 100px;
 color: #ffffff;
 font-weight: bold;
 font-size: 30px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner h2 {
  font-size: 24px;
 }
}
section.flow_area >.inner h2:after {
 content: "";
 display: block;
 position: absolute;
 bottom: -35px;
 left: 0;
 width: 60px;
 height: 4px;
 background: #ffffff;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner h2:after {
  bottom: -20px;
  width: 50px;
 }
}
section.flow_area >.inner ol.flow {
 position: relative;
 min-width: 40%;
 padding: 40px 0;
 color: #ffffff;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow {
  min-width: 0;
 }
}
section.flow_area >.inner ol.flow:before {
 content: "";
 display: block;
 position: absolute;
 top: 0;
 left: 87px;
 width: 1px;
 height: 100%;
 background: #ffffff;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow:before {
  left: 68px;
 }
}
section.flow_area >.inner ol.flow li {
 display: flex;
 gap: 60px;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow li {
  gap: 40px;
 }
}
section.flow_area >.inner ol.flow li:not(:last-child) {
 margin-bottom: 40px;
}
section.flow_area >.inner ol.flow li p.time {
 position: relative;
 width: 60px;
 line-height: 1.5;
 font-weight: bold;
 font-size: 20px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow li p.time {
  width: 50px;
  font-size: 16px;
 }
}
section.flow_area >.inner ol.flow li p.time:after {
 content: "";
 position: absolute;
 top: 0.45em;
 right: -35px;
 width: 15px;
 border-radius: 100%;
 background: #ffffff;

 aspect-ratio: 1;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow li p.time:after {
  right: -25px;
  width: 13px;
 }
}
section.flow_area >.inner ol.flow li p.works {
 line-height: 1.6666666667;
 flex: 1;
 font-weight: 500;
 font-size: 18px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.flow_area >.inner ol.flow li p.works {
  font-size: 14px;
 }
}
section.message_area {
 margin-bottom: 100px;
}
@media screen and (max-width: 1024px) {
 section.message_area {
  margin-bottom: 50px;
 }
}
section.message_area >.inner {
 width: 100%;
 max-width: 1000px;
 margin: 0 auto;
 padding-bottom: 110px;
 border-bottom: 1px solid #cccccc;
}
@media screen and (max-width: 1024px) {
 section.message_area >.inner {
  padding-bottom: 50px;
 }
}
section.message_area >.inner .message_box {
 display: grid;
 align-items: center;
 grid-template-columns: 180px 1fr;
 -moz-column-gap: 60px;
      column-gap: 60px;
 padding: 60px 80px;
 border-radius: 20px;
 background: #feebd6;
}
@media screen and (max-width: 1024px) {
 section.message_area >.inner .message_box {
  grid-template-columns: 120px 1fr;
  gap: 30px;
  padding: 30px 5%;
 }
}
@media screen and (max-width: 600px) {
 section.message_area >.inner .message_box {
  grid-template-columns: 1fr;
 }
}
@media screen and (max-width: 600px) {
 section.message_area >.inner .message_box .msg_icon {
  width: 100%;
  max-width: 120px;
  margin: 0 auto;
 }
}
section.message_area >.inner .message_box .msg_icon img {
 width: 100%;
 height: auto;
 border-radius: 100%;

 aspect-ratio: 1;
}
section.message_area >.inner .message_box .msg_txt h2 {
 line-height: 1.4583333333;
 margin-bottom: 20px;
 color: var(--c_rd);
 font-weight: bold;
 font-size: 24px;
 letter-spacing: 0.1em;
}
@media screen and (max-width: 1024px) {
 section.message_area >.inner .message_box .msg_txt h2 {
  margin-bottom: 10px;
  font-size: 18px;
 }
}
section.message_area >.inner .message_box .msg_txt p {
 line-height: 1.875;
 font-size: 16px;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.message_area >.inner .message_box .msg_txt p {
  font-size: 14px;
 }
}
section.message_area >.inner .message_box .msg_txt p br {
 content: "";
 display: block;
 height: 0.3em;
}
section.other_area {
 padding: 0;
}
section.other_area .inner {
 overflow: hidden;
}
section.other_area .inner h2 {
 position: relative;
 line-height: 1.3333333333;
 margin-bottom: 70px;
 color: var(--c_gy);
 font-weight: bold;
 font-size: 30px;
 text-align: center;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner h2 {
  margin-bottom: 50px;
  font-size: 20px;
 }
}
section.other_area .inner h2:after {
 content: "";
 display: block;
 position: absolute;
 bottom: -25px;
 left: 50%;
 width: 60px;
 height: 4px;
 background: var(--c_rd);
 translate: -50% 0;
}
@media screen and (max-width: 1024px) {
 section.other_area .inner h2:after {
  bottom: -15px;
  width: 45px;
 }
}
/*# sourceMappingURL=layout.css.map */