/**
 * interview Single Page Styles
 * interview個別ページ用CSS
 */

.interview-single {
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 0px 0px 0px;
}

#interview-head {
}

#interview-head .cont-inner {
  position: relative;
  z-index: 1;
  display: flex;
  width: 100%;
  margin: 0 auto;
}
#interview-head .cont-inner .photo {
  width: 30%;
}
#interview-head .cont-inner .photo img {
  width: 100%;
}
#interview-head .cont-inner .cont {
  width: 70%;
}
#interview-head .cont-inner .cont h1 {
  color: #000;
  display: flex;
  font-size: 32px;
  font-size: clamp(
    24px,
    calc(24px + (100vw - 768px) * (32 - 24) / (1200 - 768)),
    32px
  );
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 5px;
  height: calc(100% - clamp(0px, 16.66vw, 200px));
  flex-direction: column;
  justify-content: center;
}
#interview-head .cont-inner .cont h1 span {
  display: inline-block;
}
#interview-head .cont-inner .title-cont {
  position: absolute;
  z-index: -1;
  left: 0;
  bottom: 0;
  width: 100%;
  height: clamp(0px, 16.66vw, 200px);
  background: url("../../assets/imgs/interview/title-bg.jpg") center/cover
    no-repeat;
}
#interview-head .cont-inner .title-cont .cont-inner {
  margin-left: 30%;
  width: 70%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#interview-head .cont-inner .title {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#interview-head .cont-inner .title .jp {
  color: #000;
  font-size: 18px;
  font-size: clamp(
    13px,
    calc(13px + (100vw - 768px) * (18 - 13) / (1200 - 768)),
    18px
  );
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 5px;
}
#interview-head .cont-inner .title .en {
  color: #000;
  text-align: center;
  font-family: "DIN Condensed", sans-serif;
  font-size: 60px;
  font-size: clamp(
    46px,
    calc(46px + (100vw - 768px) * (60 - 46) / (1200 - 768)),
    60px
  );
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 8px;
}

#profile {
  padding-top: 70px;
  background: #f7f7f7;
}
#profile h2 {
  margin-bottom: 15px;
  color: #000;
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 5px;
}
#profile .main-title {
  color: #000;
  text-align: center;
  font-size: 34px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 5px;
}
#profile .main-cont {
  display: flex;
  justify-content: space-between;
  width: calc(100% - 40px);
  margin: 40px auto 50px auto;
  padding-bottom: 60px;
}
#profile .main-cont .left {
  width: 49%;
}
#profile .main-cont .left img {
  width: 100%;
}
#profile .main-cont .right {
  width: 49%;
}
@media (max-width: 900px) {
  #profile .main-cont {
    display: flex;
    flex-direction: column;
    width: calc(100% - 40px);
    max-width: 600px;
    margin: 40px auto 50px auto;
    padding-bottom: 60px;
  }
  #profile .main-cont .left {
    width: 100%;
    margin: 0 auto 50px auto;
  }
  #profile .main-cont .right {
    width: 100%;
  }
}

#profile .table-cont {
  width: 100%;
}
#profile table {
  width: 100%;
  letter-spacing: 0.2em;
}
#profile table th {
  width: 150px;
  height: 70px;
  font-size: 20px;
  background: #fd8d1e;
  color: #fff;
  vertical-align: middle;
}
#profile table tr:first-child th {
  border-bottom: 1px solid #ddd;
}
#profile table td {
  width: calc(100% - 150px);
  font-size: 20px;
  background: #fff;
  padding-left: 30px;
  color: #000;
  vertical-align: middle;
  border-right: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
#profile table tr:first-child td {
  border-top: 1px solid #ddd;
}
#profile .input {
  width: 100%;
  margin-top: 30px;
  padding: 24px 0;
  border-radius: 28px;
  border: 2px solid #ddd;
  background: #fff;
  text-align: center;
  letter-spacing: 0.2em;
}
#profile .input .title {
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
}
#profile .input .cont {
  margin-top: 20px;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
}
#profile .input .cont span.check {
  display: inline-block;
  position: relative;
}

#profile .input .cont span.check:after {
  content: "";
  position: absolute;
  left: -22px;
  top: -11px;
  display: block;
  width: 100px;
  aspect-ratio: 164/120;
  background: url("../imgs/interview/check.png");
  background-size: 100% auto;
}
#profile .input-comment .cont {
  min-height: 100px;
  padding: 0 10px;
}
#profile .input-comment .cont img {
  width: 100%;
}

/* Interview Main Section */
#interview-main {
  padding: 60px 0 0px 0;
}
#interview-main .cont-inner {
  width: calc(100% - 40px);
  margin: 0 auto;
}

/* 2カラムレイアウト（r-cont, l-cont） */
#interview-main .r-cont,
#interview-main .l-cont {
  margin-bottom: 60px;
}

/* r-cont: 左が画像、右がコンテンツ */
#interview-main .r-cont {
}

/* l-cont: 左がテキスト、右が画像 */
#interview-main .l-cont {
}

#interview-main .cont-block {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}

/* 画像エリア（2カラム時） */
#interview-main .r-cont .img,
#interview-main .l-cont .img {
  width: calc(35% - 15px);
  flex-shrink: 0;
}

#interview-main .r-cont .img img,
#interview-main .l-cont .img img {
  width: 100%;
  height: auto;
  display: block;
}

/* コンテンツエリア（2カラム時） */
#interview-main .r-cont > .cont,
#interview-main .l-cont > .cont {
  width: calc(65% - 15px);
  flex-shrink: 0;
}

/* 1カラムレイアウト（all-cont） */
#interview-main .all-cont {
  margin-bottom: 60px;
}

#interview-main .all-cont > .cont {
  width: 100%;
}

/* タイトル */
#interview-main h3 {
  position: relative;
  color: #000;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin: 0;
  padding: 10px 20px 10px 40px;
  background: #f7f7f7;
}
#interview-main h3:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 10px;
  height: 100%;
  background: #666666;
}
/* テキスト */
#interview-main .text {
  color: #000;
  font-size: 18px;
  font-weight: 400;
  line-height: 160%;
  letter-spacing: 0.1em;
}

/* Contact Section */
h2.h2-common-color {
  position: relative;
  z-index: 1;
  width: calc(100% - 40px);
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
h2.h2-common-color:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 2px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 14px;
  margin: auto 0;
  background: #fad1ad;
}
h2.h2-common-color span {
  position: relative;
  z-index: 1;
  display: inline-block;
  background: #fff;
  padding: 0 40px;
}

#contact {
  padding-top: 80px;
}
#contact .cont-inner {
  width: calc(100% - 40px);
  margin: 0px auto 0 auto;
}
.contact-box {
  width: calc(100% - 40px);
  max-width: 800px;
  margin: 40px auto 0 auto;
  padding: 50px 0 50px 0;
  text-align: center;
  border: 1px dashed #ccc;
  border-radius: 10px;
  background: #fafafa;
}
#contact h2.h2-common-color:before {
  background: #a5cae7;
}
.contact-box .top-text {
  line-height: 180%;
  font-size: 24px;
}
.contact-box .top-text .strong {
  font-weight: 800;
}
.contact-box .top-text .at {
  color: #1771b9;
  font-weight: 800;
}
.contact-box .contact-select {
  display: flex;
  justify-content: center;
  margin: 20px 0 20px 0;
}
.contact-box .contact-select li {
  width: 160px;
  height: 150px;
  margin-right: 16px;
}
.contact-box .contact-select li:last-child {
  margin-right: 0px;
}
.contact-box .contact-select li a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid #68a4d2;
  border-radius: 10px;
  background: #fff;
  text-decoration: none;
  transition: opacity 0.3s linear;
}
.contact-box .contact-select li a:hover {
  opacity: 0.6;
}
.contact-box .contact-select li a:hover:before {
  transform: translateX(8px);
}
.contact-box .contact-select li a:before {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 20px;
  width: 40px;
  height: 12px;
  background: url("../imgs/top/contact-arrow.svg");
  background-size: 100% auto;
  transition: transform 0.3s ease;
}
.contact-box .contact-select li a .img {
  width: 60px;
  margin: 18px auto 0 auto;
}
.contact-box .contact-select li a .title-cont {
  margin-top: 5px;
  font-size: 18px;
  line-height: 120%;
  color: #000;
}
.contact-box .contact-select li a .title-cont .title {
  height: 43px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-box .attention {
  margin-bottom: 25px;
  font-size: 20px;
}
.contact-box .attention .at {
  color: #d05115;
  font-weight: 600;
}
.contact-box .tel {
  margin-bottom: 20px;
  font-size: 40px;
  font-family: "roboto", sans-serif;
  font-weight: 800;
}
.contact-box .tel .mini.mini-2 {
  font-size: 24px;
}
.business-hours {
  font-size: 18px;
  line-height: 140%;
}

/* Responsive for Contact Section */
@media screen and (max-width: 768px) {
  h2.h2-common-color {
    width: 100%;
    font-size: 22px;
  }
  h2.h2-common-color:before {
    top: 4px;
    height: 10px;
  }
  h2.h2-common-color span {
    padding: 0 20px;
  }

  .contact-box {
    width: calc(100% + 20px);
    transform: translateX(-10px);
  }
  .contact-box .top-text {
    line-height: 140%;
    font-size: 18px;
  }
  .contact-box .contact-select {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 440px;
    margin: 20px auto 20px auto;
  }
  .contact-box .contact-select li {
    width: 44%;
    height: 120px;
    margin: 2%;
  }
  .contact-box .contact-select li a:before {
    bottom: 12px;
    right: 10px;
    width: 20px;
    height: 5.6px;
  }
  .contact-box .contact-select li a .img {
    width: 50px;
    margin: 14px auto 0 auto;
  }
  .contact-box .contact-select li a .title-cont {
    margin-top: 5px;
    font-size: 15px;
  }
  .contact-box .contact-select li a .title-cont .title {
    height: 32px;
  }
  .contact-box .tel {
    font-size: 30px;
  }
  .contact-box .tel .mini.mini-2 {
    font-size: 18px;
  }
  .business-hours {
    line-height: 150%;
  }
}

#others h2.h2-common-color:before {
  background: #fad1ad;
}
#others h2.h2-common-color .h2-text {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex-direction: column;
  background: #fff;
}
#others h2.h2-common-color .h2-text .mini {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 13px;
}

#others .interview-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 760px;
  padding-top: 50px;
}
#others .interview-wrap a {
  text-decoration: none;
  color: #000;
  transition: opacity 0.3s;
}
#others .interview-wrap a:hover {
  opacity: 0.85;
}
#others .interview-wrap .model {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30%;
}
#others .interview-wrap .model img {
  width: 100%;
}
#others .interview-wrap .top {
  padding-left: 30%;
  margin-bottom: 1.5%;
}
#others .interview-wrap .top .history {
  font-size: 22px;
  letter-spacing: 0.1em;
}
#others .interview-wrap .bottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  aspect-ratio: 1100 / 300;
  padding: 3% 4% 2% 0;
  background: url("../../assets/imgs/interview/bg_others.jpg") center/cover
    no-repeat;
  background-size: cover;
}
#others .interview-wrap .bottom .comment-wrap {
  display: flex;
  flex-direction: column;
  height: 75%;
  padding-left: 30%;
}
#others .interview-wrap .bottom .comment-wrap .comment {
  position: relative;
  display: flex;
  align-items: center;
  height: calc(100% - 8%);
  padding: 3% 3%;
  border-radius: 22px;
  line-height: 1.6;
  font-size: 22px;
  letter-spacing: 0.1em;
  background: #fff;
}
#others .interview-wrap .bottom .comment-wrap .comment:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -24px;
  display: block;
  width: 25px;
  height: 23px;
  margin: auto 0;
  background: url("../../assets/imgs/interview/fukidashi.svg") center/cover
    no-repeat;
}
#others .interview-wrap .bottom .btn-wrap {
  display: flex;
  justify-content: flex-end;
  padding-left: 30%;
}
#others .interview-wrap .bottom .btn-wrap .btn {
  width: 70%;
}
#others .interview-wrap .bottom .btn-wrap .btn img {
  width: 100%;
}

/* Interview Slider Styles */
#others {
  margin-top: 80px;
}

.interview-slider {
  width: 100%;
  max-width: 100%;
  margin: 10px auto 0 auto;
  padding: 0;
  overflow: hidden;
}

/* Maintain interview-wrap width */
.interview-slider .interview-wrap {
  width: 760px !important;
  margin: 0 15px;
}

/* Slick Slider Custom Arrow Buttons */
.interview-slider .slick-prev,
.interview-slider .slick-next {
  position: absolute;
  top: calc(50% + 36px);
  transform: translateY(-50%);
  z-index: 10;
  width: 70px;
  height: 22px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.interview-slider .slick-prev {
  background: url("../../assets/imgs/interview/prev.svg") center/cover no-repeat;
  background-size: 100% auto;
}
.interview-slider .slick-next {
  background: url("../../assets/imgs/interview/next.svg") center/cover no-repeat;
  background-size: 100% auto;
}
.interview-slider .slick-prev:before,
.interview-slider .slick-next:before {
  display: none;
}
.interview-slider .slick-prev:after {
  content: "前へ";
  position: absolute;
  top: 1px;
  left: 30px;
  font-size: 18px;
  color: #000;
}
.interview-slider .slick-next:after {
  content: "次へ";
  position: absolute;
  top: 1px;
  right: 30px;
  font-size: 18px;
  color: #000;
}

.interview-slider .slick-prev:hover {
  opacity: 0.85;
  background: url("../../assets/imgs/interview/prev.svg") center/cover no-repeat;
  background-size: 100% auto;
}
.interview-slider .slick-next:hover {
  opacity: 0.85;
  background: url("../../assets/imgs/interview/next.svg") center/cover no-repeat;
  background-size: 100% auto;
}

.interview-slider .slick-prev {
  left: calc(50% - 460px);
}

.interview-slider .slick-next {
  right: calc(50% - 460px);
}

/* Slick Dots Navigation */
.interview-slider .slick-dots {
  position: relative;
  bottom: 0px;
  text-align: center;
  margin-top: 20px;
}

.interview-slider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.interview-slider .slick-dots li button {
  width: 12px;
  height: 12px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #d9d9d9;
  font-size: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}

.interview-slider .slick-dots li.slick-active button {
  background: #e99a4b;
  width: 14px;
  height: 14px;
}
.interview-slider .slick-dots li button:before {
  content: none;
}
/* Adjust width for slider items */
.interview-slider .slick-slide {
  margin: 0 50px;
}

.interview-slider .slick-list {
  margin: 0 -10px;
  padding: 0 !important;
}

.interview-slider .slick-track {
  display: flex;
  align-items: center;
}
.top-link-btn {
  width: calc(100% - 40px);
  max-width: 800px;
  margin: 60px auto 0 auto;
}
.top-link-btn a {
  display: flex;
  align-items: center;
  aspect-ratio: 40/7;
  border: 2px solid #ccc;
  border-radius: 16px;
  background-color: #ffffff;
  background-image: radial-gradient(circle, #f1f1f1 1.5px, transparent 1.5px),
    radial-gradient(circle, #f1f1f1 1.5px, transparent 1.5px);
  background-position: 0 0, 4.5px 9px;
  background-size: 9px 18px;
  text-decoration: none;
  color: #000;
  transition: opacity 0.3s;
}
.top-link-btn a:hover {
  opacity: 0.8;
}
.top-link-btn a .cont-inner {
  display: flex;
  align-items: center;
  width: calc(100% - 40px);
  margin: 0 auto;
}
.top-link-btn a .img {
  position: relative;
  width: 38%;
}
.top-link-btn a .img img {
  position: absolute;
  top: -300px;
  bottom: -300px;
  width: 100%;
  margin: auto 0;
}
.top-link-btn a .cont {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 62%;
  padding-right: 20px;
}
.top-link-btn a .cont .title {
  font-size: clamp(
    27px,
    calc(27px + (100vw - 768px) * (30 - 27) / (840 - 768)),
    30px
  );
  font-weight: 900;
  letter-spacing: 0.15em;
}
.top-link-btn a .cont .arrow {
  width: calc(100% + 0px);
  margin: -6px 0 6px 36px;
}
.top-link-btn a .cont .arrow img {
  width: 100%;
}
.top-link-btn a .cont .sub-title {
  font-size: clamp(
    18px,
    calc(18px + (100vw - 768px) * (20 - 18) / (840 - 768)),
    20px
  );
  font-weight: 600;
  letter-spacing: 0.2em;
}

@media (max-width: 950px) {
  .interview-slider .slick-prev {
    left: 10px;
    bottom: auto;
    top: calc(100% - 10px);
  }

  .interview-slider .slick-next {
    right: 10px;
    bottom: auto;
    top: calc(100% - 10px);
  }
}

@media (max-width: 768px) {
  .interview-single {
    padding-top: 60px;
  }
  #interview-head .cont-inner .cont h1 {
    font-size: 4vw;
    letter-spacing: 0.1em;
  }
  #interview-head .cont-inner .title-cont {
    height: 18vw;
    filter: brightness(1.06);
  }
  #interview-head .cont-inner .title .jp {
    font-size: 2.2vw;
  }
  #interview-head .cont-inner .title .en {
    font-size: 7vw;
    letter-spacing: 0.2em;
  }
  #profile {
    padding-top: 25px;
  }
  #profile h2 {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  #profile .main-title {
    font-size: 22px;
  }
  #profile .main-cont {
    margin-top: 10px;
  }
  #profile .main-cont .left {
    width: 90%;
    margin: 0 auto 30px auto;
  }
  #profile .table-cont {
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
  }
  #profile .input {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    border-radius: 20px;
  }
  #profile table th {
    width: 80px;
    height: 40px;
    font-size: 13px;
    letter-spacing: 0.1em;
  }
  #profile table td {
    font-size: 13px;
    line-height: 140%;
    padding: 0 12px;
    letter-spacing: 0.1em;
  }
  #profile .input .title {
    font-size: 12px;
  }
  #profile .input .cont {
    margin-top: 15px;
    font-size: 20px;
  }
  #profile .input .cont span.check:after {
    left: -15px;
    top: -8px;
    width: 69px;
  }

  #profile .input-comment .cont {
    margin-top: 2vw;
  }
  #interview-main {
    padding: 0px 0;
  }
  #interview-main h3 {
    position: relative;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.4;
    margin: 0;
    padding: 6px 10px 6px 20px;
    background: #f7f7f7;
  }
  #interview-main h3:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 5px;
    height: 100%;
    background: #666666;
  }
  #interview-main .text {
    font-size: 14px;
  }
  #interview-main .cont-block {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
  }
  #interview-main .r-cont,
  #interview-main .l-cont {
    margin-bottom: 60px;
  }
  /* 画像エリア（2カラム時） */
  #interview-main .r-cont .img,
  #interview-main .l-cont .img {
    width: 60%;
    margin: 0 auto;
  }
  #interview-main .l-cont .text {
    order: 2;
  }
  #interview-main .l-cont .img {
    order: 1;
  }

  /* Interview Slider Mobile Styles */
  #others {
    padding: 0px 0;
  }

  .interview-slider {
    width: 100%;
    padding: 0;
    margin: 0px auto 0 auto;
  }

  .interview-slider .interview-wrap {
    width: calc(100vw - 20px) !important;
    max-width: 500px;
    margin: 0 10px;
  }

  .interview-slider .slick-slide {
    margin: 0 10px;
  }

  .interview-slider .slick-list {
    margin: 0 -10px;
  }

  /* Mobile arrow positioning */
  .interview-slider .slick-prev {
    left: 10px;
    bottom: auto;
    top: calc(100% - 2vw);
  }

  .interview-slider .slick-next {
    right: 10px;
    bottom: auto;
    top: calc(100% - 2vw);
  }
  .interview-slider .slick-prev,
  .interview-slider .slick-next {
    width: 12vw;
    height: 4.2vw;
  }
  .interview-slider .slick-prev:after,
  .interview-slider .slick-next:after {
    font-size: 2.8vw;
    font-weight: 400;
  }
  .interview-slider .slick-prev:after {
    left: 5vw;
  }
  .interview-slider .slick-next:after {
    right: 5vw;
  }
  .interview-slider .slick-dots {
    margin-top: 10px;
  }

  .interview-slider .slick-dots li {
    margin: 0 2px;
  }

  .interview-slider .slick-dots li button {
    width: 8px;
    height: 8px;
  }

  .interview-slider .slick-dots li.slick-active button {
    width: 8px;
    height: 8px;
  }

  /* Adjust interview-wrap size for mobile slider */
  #others .interview-wrap .top .history {
    font-size: 2.6vw;
  }

  #others .interview-wrap .bottom {
    aspect-ratio: 1100 / 280;
    padding: 2% 4% 2% 0;
  }

  #others .interview-wrap .bottom .comment-wrap .comment {
    line-height: 1.4;
    font-size: 3.2vw;
    padding: 4% 4%;
    border-radius: 4vw;
  }
  #others .interview-wrap .bottom .comment-wrap .comment:before {
    left: -2.3vw;
    width: 2.5vw;
    height: 2.3vw;
  }

  #contact {
    padding-top: 40px;
  }

  .top-link-btn {
    width: calc(100% - 40px);
    max-width: 800px;
    margin: 60px auto 0 auto;
  }
  .top-link-btn a {
    display: flex;
    align-items: center;
    aspect-ratio: 40/9;
    border: 2px solid #ccc;
    border-radius: 16px;
    background-color: #ffffff;
    background-image: radial-gradient(circle, #f1f1f1 1.5px, transparent 1.5px),
      radial-gradient(circle, #f1f1f1 1.5px, transparent 1.5px);
    background-position: 0 0, 4.5px 9px;
    background-size: 9px 18px;
    text-decoration: none;
    color: #000;
    transition: opacity 0.3s;
  }
  .top-link-btn a .cont-inner {
    width: calc(100% - 20px);
  }
  .top-link-btn a .img {
    position: relative;
    width: 38%;
  }
  .top-link-btn a .img img {
    position: absolute;
    top: -300px;
    bottom: -300px;
    left: -300px;
    right: -300px;
    width: 115%;
    margin: auto;
  }
  .top-link-btn a .cont {
    padding-right: 2vw;
  }
  .top-link-btn a .cont .title {
    font-size: 3.6vw;
  }
  .top-link-btn a .cont .arrow {
    width: calc(100% + 0px);
    margin: -5px 0 5px 7vw;
  }
  .top-link-btn a .cont .sub-title {
    font-size: 2.8vw;
    letter-spacing: 0.05em;
  }
}
