@charset "UTF-8";

/* common */
.bg {
  width: 100%;
  height: 640px;
  position: absolute;
  z-index: -1;
  top: 70px;
  left: 0;
}

.flex_box {
  display: flex;
}

.pc_flex_box {
  display: flex;
  max-width: 1400px;
  margin: 0 auto;
}

.hide_pc {
  display: none;
}

.hide_sp {
  display: block;
}

.pc_position_sticky {
  position: sticky;
  top: 128px;
}

/* 全体 */
#desc_agency {
  margin: 170px 40px 120px;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.08);
  border-radius: 30px;
  overflow: clip;
}

.agency_body {
  padding: 48px;
}

/* 左側 */
.section_left {
  width: 56%;
}

.thumbnail_image_wrapper img {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.intro_agency {
  margin-top: 32px;
}

.intro_agency img {
  width: 140px;
  height: 140px;
  object-fit: contain;
  border-radius: 50%;
  overflow: hidden;
  border: solid 1px #DCE2EA;
}

.intro_agency .intro_text {
  margin-left: 32px;
  width: calc(100% - 172px);
}

.intro_agency .intro_text h2 {
  margin-bottom: 24px;
  font-weight: 700;
  font-size: 24px;
}

.intro_agency .intro_text p {
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  line-height: 23px;
  color: #4E4F52;
  text-align: justify;
}

.apply_button {
  display: block;
  margin-top: 56px;
  background: linear-gradient(269.62deg, #1EAEFF 0%, #1DC9FF 100%);
  border: 1px solid #009DF8;
  box-shadow: 0px 6px 0px #009DF8, inset 0px 0px 44px 14px rgba(213, 230, 255, 0.35);
  border-radius: 80px;
  color: #ffffff;
  font-weight: 600;
  font-size: 20px;
  padding: 32px 0;
  position: relative;
  cursor: pointer;
  text-align: center;
}

.apply_button::before {
  content: '';
  width: 40px;
  position: absolute;
  left: 6%;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url(../../img/common/line-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* 右側 */
.section_right {
  width: 36%;
  margin-left: 8%;
}

.info_wrapper {
  padding: 48px 32px;
  border: 1px solid #DDDDDD;
  border-radius: 30px;
}

.section_right h3 {
  font-weight: 700;
  font-size: 24px;
}

.section_right .divider {
  margin-top: 24px;
  width: 100%;
  height: 1px;
  background: #DDDDDD;
}

.section_right .info_item:not(:first-child) {
  margin-top: 24px;
}

.section_right .info_item {
  font-style: normal;
  font-weight: 400;
  font-size: 15px;
  align-items: center;
}

.section_right .info_item .info_item_header {
  width: 140px;
  font-size: 15px;
  line-height: 1.3;
}

.section_right .info_item .info_item_content {
  width: calc(100% - 164px);
  margin-left: 24px;
  font-size: 15px;
  line-height: 1.3;
}

.corporate_info {
  margin-top: 64px;
}

.agency_posts_wrapper {
  margin-top: 48px;
  padding: 48px 32px;
  border: 1px solid #DDDDDD;
  border-radius: 30px;
}

.agency_post {
  display: block;
  cursor: pointer;
  margin-top: 24px;
}

.agency_post:not(:first-child) {
  margin-top: 32px;
}

.agency_post img {
  width: 100%;
  filter: drop-shadow(0px 24px 32px rgba(0, 0, 0, 0.07));
  border-radius: 12px;
}

.agency_post p {
  margin-top: 24px;
  font-weight: 700;
  font-size: 15px;
  line-height: 21px;
}

/* 下部 */
.agency_footer {
  margin-top: 88px;
}

.agency_footer_title {
  padding: 24px;
  text-align: center;

  font-style: normal;
  font-weight: 700;
  font-size: 20px;
  color: #FFFFFF;
}

.agency_footer_cta_wrapper {
  text-align: center;
  padding: 48px 0;
  gap: 0 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.application_wrapper {
  background: #1EAEFF;
}

.transfer_wrapper {
  background: #FFFFFF;
}

.application_wrapper, .transfer_wrapper {
  border-radius: 30px;
  width: 380px;
  padding: 32px 50px;
}

.application_wrapper h3 {
  color: #FFFFFF;
}

.application_wrapper h3, .transfer_wrapper h3 {
  font-weight: 700;
  font-size: 24px;
}

.application_wrapper div {
  color: #FFFFFF;
}

.application_wrapper div, .transfer_wrapper div {
  margin-top: 20px;
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
}

.application_wrapper a, .transfer_wrapper a {
  display: block;
  width: 220px;
  cursor: pointer;
  margin: 24px auto 0;
  box-shadow: 0px 8px 24px rgba(0, 0, 0, 0.08);
  border-radius: 80px;
  padding: 16px 0;

  font-family: 'Noto Sans CJK JP';
  font-weight: 700;
  font-size: 15px;
  color: #FFFFFF;
}

/*---------------------------------------------------------------*\
$1260px
\*---------------------------------------------------------------*/
@media screen and (max-width: 1260px) {

  .section_left {
    width: 52%;
  }

  .section_right {
    width: 43%;
    margin-left: 5%;
  }
}

/*---------------------------------------------------------------*\
$1080px
\*---------------------------------------------------------------*/
@media screen and (max-width: 1080px) {

  /* common */
  .bg {
    top: 48px;
    height: 240px;
  }

  .pc_flex_box {
    display: block;
  }

  /* 全体 */
  #desc_agency {
    margin: 110px 40px 120px;
  }

  .agency_body {
    padding: 0;
  }

  /* 左側 */
  .section_left {
    width: 100%;
  }

  .thumbnail_image_wrapper img {
    border-radius: 0
  }

  .intro_agency {
    padding: 0 40px;
  }

  .intro_agency .intro_text h2 {
    margin-bottom: 16px;
    font-size: 20px;
  }

  .apply_button_wrapper {
    padding: 0 40px;
  }

  .apply_button {
    margin: 32px auto 0;
    padding: 24px 0;
  }

  /* 右側 */
  .section_right {
    width: 100%;
    margin-top: 48px;
    margin-left: 0;
    padding: 0 40px;
  }

  .info_wrapper {
    padding: 40px 24px;
  }

  .section_right h3 {
    font-size: 20px;
    line-height: 20px;
  }

  .section_right .divider {
    margin-top: 24px;
  }

  .section_right .info_item:not(:first-child) {
    margin-top: 24px;
  }

  .section_right .info_item {
    font-size: 13px;
    line-height: 13px;
  }

  .corporate_info {
    margin-top: 64px;
  }

  .agency_posts_wrapper {
    margin-top: 48px;
    padding: 0;
    border: none;
  }

  .agency_posts {
    display: flex;
    gap: 0 24px;
  }

  .agency_post:not(:first-child) {
    margin-top: 24px;
  }

  .agency_post p {
    font-size: 14px;
    line-height: 22px;
  }

  /* 下部 */
  .agency_footer {
    margin-top: 64px;
  }

  .agency_footer_title {
    padding: 16px 0;
    font-size: 15px;
  }

  .agency_footer_cta_wrapper {
    padding: 40px;
    display: block;
  }

  .transfer_wrapper {
    margin-top: 40px;
  }

  .application_wrapper, .transfer_wrapper {
    width: 100%;
    padding: 32px 100px;
  }

  .application_wrapper h3, .transfer_wrapper h3 {
    font-size: 20px;
  }
}

/*--------------------------------------------------------------*\
$600px
\*---------------------------------------------------------------*/
@media screen and (max-width: 600px) {

  /* common */
  .bg {
    top: 48px;
    height: 160px;
  }

  .pc_flex_box {
    display: block;
  }

  .hide_pc {
    display: block;
  }

  .hide_sp {
    display: none;
  }

  .pc_position_sticky {
    position: block;
  }

  /* 全体 */
  #desc_agency {
    margin: 56px 16px 80px;
    box-shadow: none;
    background-color: inherit;
    border-radius: 0;
    overflow: inherit;
  }

  .agency_body {
    padding: 0px;
  }

  /* 左側 */
  .section_left {
    width: 100%;
  }

  .thumbnail_image_wrapper img {
    border-radius: 12px 12px 0 0;
  }

  .intro_agency {
    padding: 0;
  }

  .intro_agency img {
    width: 90px;
    height: 90px;
  }

  .intro_agency .intro_text {
    margin-left: 16px;
    width: calc(100% - 106px);
  }

  .intro_agency .intro_text h2 {
    margin-bottom: 16px;
    font-size: 19px;
  }

  .intro_agency .intro_text p {
    font-size: 13px;
    line-height: 21px;
  }

  .apply_button_wrapper {
    padding: 0;
  }

  .apply_button {
    box-shadow: 0px 3.44444px 0px #009DF8, inset 0px 0px 22.127px 7.37568px rgba(213, 230, 255, 0.35);
    font-size: 15px;
  }

  .apply_button::before {
    width: 32px;
  }

  /* 右側 */
  .section_right {
    width: 100%;
    margin: 48px 0 0 0;
    padding: 0;
  }

  .info_wrapper {
    padding: 32px 20px;
  }

  .section_right h3 {
    font-size: 19px;
  }

  .section_right .divider {
    margin-top: 20px;
  }

  .section_right .info_item:not(:first-child) {
    margin-top: 20px;
  }

  .section_right .info_item .info_item_header {
    font-size: 13px;
  }

  .section_right .info_item .info_item_content {
    font-size: 13px;
  }

  .corporate_info {
    margin-top: 48px;
  }

  .agency_posts_wrapper {
    margin-top: 48px;
    padding: 0;
    border: none;
  }

  .agency_posts {
    display: block;
  }

  .agency_post p {
    font-size: 14px;
    line-height: 22px;
  }

  /* 下部 */
  .agency_footer {
    margin-top: 64px;
  }

  .agency_footer_title {
    padding: 16px 0;
    font-size: 14px;
  }

  .agency_footer_cta_wrapper {
    padding: 24px 16px;
  }

  .transfer_wrapper {
    margin-top: 24px;
  }

  .application_wrapper, .transfer_wrapper {
    width: 100%;
    padding: 32px;
  }

  .application_wrapper h3, .transfer_wrapper h3 {
    font-size: 19px;
  }

  .application_wrapper div, .transfer_wrapper div {
    font-size: 13px;
    line-height: 19px;
  }
}
