@charset "utf-8";

/* ==================================================== */
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");

/*  フォントサイズ
/* ==================================================== */
/* 1920pxで割る */
:root {
  /* カラーパレット */
  --color-text: #222;
  --color-accent: #015790;
  --color-link-hover: 0.7;
  /* フォント */
  --font-base: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  --font-serif: "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", "Noto Serif JP", serif;
  --font-en: "Outfit", "Helvetica Neue", Helvetica, Arial, sans-serif;
  /* サイズ関連 */
  --fs68: clamp(4rem, 3.02rem + 2.63vw, 6.8rem);
  --fs58: clamp(3.4rem, 2.55rem + 2.25vw, 5.8rem);
  --fs50: clamp(3rem, 2.3rem + 1.88vw, 5rem);
  --fs42: clamp(2.6rem, 2.04rem + 1.5vw, 4.2rem);
  --fs40: clamp(2.4rem, 1.84rem + 1.5vw, 4rem);
  --fs38: clamp(2.4rem, 1.91rem + 1.31vw, 3.8rem);
  --fs32: clamp(2.2rem, 1.85rem + 0.94vw, 3.2rem);
  --fs30: clamp(2rem, 1.65rem + 1.06vw, 3rem);
  --fs28: clamp(1.8rem, 1.45rem + 1.06vw, 2.8rem);
  --fs26: clamp(1.8rem, 1.52rem + 0.82vw, 2.6rem);
  --fs24: clamp(1.7rem, 1.45rem + 0.66vw, 2.4rem);
  --fs23: clamp(1.6rem, 1.35rem + 0.66vw, 2.3rem);
  --fs22: clamp(1.6rem, 1.39rem + 0.56vw, 2.2rem);
  --fs20: clamp(1.5rem, 1.32rem + 0.47vw, 2rem);
  --fs18: clamp(1.5rem, 1.39rem + 0.28vw, 1.8rem);
  --fs17: clamp(1.5rem, 1.43rem + 0.19vw, 1.7rem);
  --fs16: clamp(1.5rem, 1.46rem + 0.09vw, 1.6rem);
  --fs15: clamp(1.4rem, 1.36rem + 0.09vw, 1.5rem);
  --fs14: clamp(1.3rem, 1.26rem + 0.09vw, 1.4rem);
  --fs13: clamp(1.2rem, 1.16rem + 0.09vw, 1.3rem);
}
/* ==================================================== */

/*  基本
/* ==================================================== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}
html,
body {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
}
body {
  position: relative;
  font-family: var(--font-base);
  font-size: var(--fs16);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.06em;
  color: #000;

  -webkit-font-smoothing: antialiased;
}
body.active {
  /*ハンバーガーメニューを開いたら背景固定*/
  position: fixed;
  width: 100%;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}
a:hover {
  transition: opacity 0.3s ease;
  opacity: 0.7;
}
@media screen and (max-width: 1024px) {
  a a[href^="tel"] {
    pointer-events: none;
  }
  a:hover {
    transition: opacity 0.3s ease;
    opacity: 0.7;
  }
}
img {
  width: 100%;
  height: auto;
}
img[src$=".svg"] {
  /*IEでimgタグのsrcにsvgを指定した時に崩れる防止*/
  width: 100%;
  height: auto;
}
sup {
  position: relative;
  top: -0.1em;
  font-size: 70%;
  vertical-align: top;
}
sub {
  position: relative;
  bottom: -0.1em;
  font-size: 70%;
  vertical-align: bottom;
}

/* ==================================================== */

/*  全ページ共通（common）クラス
/* ==================================================== */
.flex {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flexbox;
  display:    -moz-flexbox;
  display:     -ms-flexbox;
  display: -webkit-flex;
  display:    -moz-flex;
  display:         flex;

  -js-display: flex;
}
.c-pc-only {
  display: inline-block !important;
}
.c-tab-only {
  display: none !important;
}
.c-sp-only {
  display: none !important;
}
.c-tab-over {
  display: inline-block !important;
}
.c-tab-less {
  display: none !important;
}
.clear {
  clear: both !important;
}
.c-justify {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .c-pc-only {
    display: none !important;
  }
  .c-tab-only {
    display: inline-block !important;
  }
  .c-sp-only {
    display: none !important;
  }
  .c-tab-over {
    display: inline-block !important;
  }
  .c-tab-less {
    display: inline-block !important;
  }
}
@media screen and (max-width: 767px) {
  .c-pc-only {
    display: none !important;
  }
  .c-tab-only {
    display: none !important;
  }
  .c-sp-only {
    display: inline-block !important;
  }
  .c-tab-over {
    display: none !important;
  }
  .c-tab-less {
    display: inline-block !important;
  }
}

/* ==================================================== */

/*  全ページ共通レイアウト
/* ==================================================== */

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  padding: 40px 0;
  background-color: #fff;
  transition: padding 0.6s ease,
  background-color 0.6s ease,
  box-shadow 0.6s ease;
}

.home header {
  background-color: transparent;
}

header.is-fixed {
  padding: 10px 0;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  color: #000;
}

.l-header-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  padding: 0 2%;
}

.l-header-area .logo {
  position: relative;
  z-index: 5;
  max-width: 255px;
  transition: width 0.3s ease;
}

.l-header-area .logo a {
  display: block;
}

.home .l-header-area .logo a .logo_b {
  display: none;
}

header.is-fixed .l-header-area .logo {
  max-width: 200px;
}
.home header.is-fixed .l-header-area .logo .logo_b {
  display: block;
}
.home header.is-fixed .l-header-area .logo .logo_w {
  display: none;
}
.l-header-area .logo {
  position: relative;
  z-index: 5;
  max-width: 255px;
}
.l-header-area .logo a {
  display: block;
}
.header-nav {
  width: auto;
}
.header-nav .nav-parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}
.header-nav .nav-parent > li {
  padding: 10px 30px 10px 0;
  font-size: var(--fs16);
  font-weight: 700;
}
.home .header-nav .nav-parent > li {
  color: #fff;
  transition: color 0.3s ease;
}
.home header.is-fixed .header-nav .nav-parent > li {
  color: #000;
  transition: color 0.3s ease;
}
.header-nav .nav-parent > li:hover,
header.is-fixed .header-nav .nav-parent > li:hover {
  color: var(--color-accent);
}
.header-nav .nav-parent > li.header-nav-contact {
  padding: 0;
  transition: transform 0.2s ease;
}

.header-nav .nav-parent > li.header-nav-contact a {
  padding: 15px 30px;
  border-radius: 4px;
  background: linear-gradient(135deg, #045a92, #3ea9bd);
  color: #fff;
}
.header-nav .nav-parent > li.header-nav-contact a::after {
  content: none;
}

.header-nav .nav-parent > li.sp-only-nav {
  display: none;
}
.header-hamburger {
  display: none;
}

.sp-nav-contact {
  display: none;
}
.l-header-area.is-fixed .sp-nav-contact {
  display: block;
}
.l-header-area.is-fixed .sp-nav-contact .c-btn a {
  padding: 8px 36px 9px;
}
.l-header-area.is-fixed .logo-pc {
  display: none;
}
@media (max-width: 1100px) {
  header {
    padding: 24px 0;
  }
  header.is-fixed {
    padding: 12px 0;
  }
  .l-header-area {
    position: relative;
    z-index: 993;
    padding: 0 5%;
  }
  .l-header-area .logo {
    width: 56vw;
  }
  header.is-fixed .l-header-area .logo {
    width: 52vw;
  }
  .header-nav {
    display: block;
  }
  .header-nav.active {
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  .header-nav.active li {
    font-size: var(--fs16);
    font-weight: 700;
    text-align: center;
  }
  .header-nav .nav-parent {
    display: none;
  }
  .header-nav .nav-parent > li {
    padding: 20px 0;
  }
  .home .header-nav .nav-parent > li {
    color: #000;
  }
  .header-nav .nav-parent > li.header-nav-parent {
    display: none;
  }
  .header-nav .nav-parent > li.header-nav-contact {
    margin-top: 20px;
  }
  .header-nav .nav-parent > li.header-nav-contact {
    text-align: center;
  }
  .header-nav .nav-parent > li.sp-only-nav {
    display: block;
    padding: 20px 0;
    color: #000;
  }
  .header-nav .nav-parent > li a {
    position: relative;
    display: block;
  }
  .header-nav .nav-parent > li a::after {
    position: absolute;
    top: 0;
    right: 0;
    width: 12.281px;
    height: 11.7622px;
    content: url("../img/common/nav_sp_arrow.svg");
  }
  .header-nav .nav-parent > li.logo-pc {
    display: none;
  }
  .header-nav .nav-parent > li.logo-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 13px;
    padding-bottom: 39px;
  }
  .header-nav .nav-parent > li.logo-sp .logo-hibari {
    width: 36.17%;
    max-width: 150px;
    margin-right: 11.32%;
  }
  .header-nav .nav-parent > li.logo-sp .logo-toyoura {
    width: 35.89%;
    max-width: 150px;
    margin-left: 11.32%;
  }
  .header-nav .nav-parent > li.logo-sp a::after {
    content: none;
  }
  .header-hamburger {
    position: fixed;
    top: 35px;
    right: 5%;
    z-index: 998;
    display: block;
    width: 40px;
    height: 20px;
    cursor: pointer;
  }
  header.is-fixed .header-hamburger {
    top: 25px;
  }
  .header-hamburger span {
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: #000;
    -webkit-transition: 0.5s;
            transition: 0.5s;
  }
  .home .header-hamburger span {
    background-color: #fff;
  }
  .home .header-hamburger.active span {
    background-color: #000;
  }
  .home .is-fixed .header-hamburger span {
    background-color: #000;
  }
  .header-hamburger span:first-of-type {
    top: 0;
  }
  .header-hamburger span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
  }
  .header-hamburger span:last-of-type {
    top: auto;
    bottom: 0;
  }
  .header-hamburger.active span:first-of-type {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header-hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .header-hamburger.active span:last-of-type {
    top: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }

  .active .header-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 990;
    overflow-y: scroll;
    width: 100%;
    height: 100vh;
    padding: 100px 0 0;
    background-color: #fff;
  }
  .active .l-header-area {
    padding: 0;
  }
  .header-nav .nav-parent.active {
    position: relative;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    padding: 0 10%;
    background-color: #fff;
  }
  .active .header-nav .nav-parent > li a {
    display: block;
  }
  .active .header-nav .nav-parent > li.nav a:after {
    display: inline-block;
    width: 16.49px;
    height: 12.41px;
    margin: 8px 0 0 0;
    background-image: url(../img/common/arrow_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .header-hamburger.active:after {
    content: none;
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  .header-hamburger.active span:first-of-type {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header-hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .header-hamburger.active span:last-of-type {
    top: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .active .l-header-area .logo {
    position: fixed;
    top: 24px;
    left: 6%;
    z-index: 999;
  }
  .home.active .l-header-area .logo a .logo_b {
    display: block;
  }
  .home.active .l-header-area .logo a .logo_w {
    display: none;
  }
  .active .header-nav .nav-parent > li.sp-nav-contact {
    display: block;
    margin-top: 40px;
    text-align: center;
  }
  .active .header-nav .nav-parent > li.sp-nav-contact .c-btn a {
    width: 100%;
    padding: 12px 36px 12px;
  }
  .header-nav .nav-parent > li.sp-nav-contact a::after {
    content: none;
  }
  .l-header-area.is-fixed {
    position: relative;
    box-shadow: none;
    background: transparent;
    animation: none;
  }

  .l-header-area.is-fixed .logo {
    width: 22vw;
    padding: 0;
  }

  .l-header-area.is-fixed .sp-nav-contact {
    display: none;
  }
}

/* ====================================================
footer
==================================================== */
.footer {
  width: 90%;
  max-width: 1182px;
  margin: 80px auto 0;
  padding: 60px 0 30px;
  border-top: 1px solid #e5e5e5;
}

.footer-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 30px;
}

.footer-logo img {
  max-width: 240px;
}

.footer-nav ul {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;

  gap: 30px;
}

.footer-nav a {
  font-size: var(--fs15);
  font-weight: bold;
  transition: color 0.3s ease;
}
.footer-nav a:hover {
  color: var(--color-accent);
}

.footer-address {
  margin-bottom: 20px;
  font-size: var(--fs14);
}

.footer-address dl {
  display: flex;
}

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

.footer-policy {
  margin-bottom: 10px;
  font-size: 1.3rem;
}

.footer-certs {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;

  gap: 22px;
}

.footer-certs li img {
  display: block;
  width: auto;
  height: 76px;
}

.footer-certs li.certification-text {
  font-size: var(--fs13);
  text-align: left;
}

.copyright {
  font-size: var(--fs13);
}

@media screen and (max-width: 1024px) {
  .footer {
    padding: 30px 0 10px;
  }
  .footer-nav {
    display: none;
  }
  .footer-bottom {
    display: block;
  }
  .footer-certs {
    flex-wrap: wrap;
    justify-content: left;
    margin-bottom: 60px;
  }
}

/* ====================================================
contents-page-head
==================================================== */

main {
  display: block;
  margin-top: 200px;
}
.home main {
  margin-top: 0;
}
main figure {
  margin: 0;
}

.l-page-header {
  width: 100%;
  margin-bottom: 80px;
}

.l-page-header .inner {
  position: relative;
  max-width: 1182px;
  margin: 0 auto;
  padding: 0 20px;
}

.page-title {
  margin-bottom: 40px;
  line-height: 1.2;
}

.page-title__en {
  display: block;
  margin-bottom: 10px;
  font-family: var(--font-en, sans-serif);
  font-size: var(--fs50);
  font-weight: bold;
  color: var(--color-accent);
}

.page-title__ja {
  display: block;
  font-size: var(--fs26);
  font-weight: bold;
}

/* --- パンくずリスト --- */
.breadcrumb-area {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 20px;
  font-size: var(--fs13);
  color: #666;
}

.breadcrumb-area ol {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb-area li {
  display: flex;
  align-items: center;
}

/* リンクがあるアイテム */
.breadcrumb-area li a {
  text-decoration: none;
  color: inherit;
  color: var(--color-accent);
  transition: opacity 0.3s;
}
.breadcrumb-area li a:hover {
  opacity: 0.7;
}

/* 区切り線 (-) の生成 */
.breadcrumb-area li:not(:last-child)::after {
  margin: 0 10px;
  color: #999;
  content: "-";
}

/* contents_box */
.contents_box .text_inner {
  width: 90%;
  max-width: 1000px;
  margin: 80px auto 150px;
}

@media screen and (max-width: 767px) {
  .contents_box .text_inner {
    margin: 0 auto 60px;
  }
}

/* ====================================
   レスポンシブ (スマホ表示)
   ==================================== */
@media screen and (max-width: 767px) {
  main {
    margin-top: 80px;
  }
  .home main {
    margin-bottom: 80px;
  }
  .l-page-header {
    margin-bottom: 20px;
    padding: 20px 0 20px;
  }

  .page-title {
    margin-bottom: 20px;
  }

  .breadcrumb-area {
    justify-content: end;
  }
}

/* ====================================================
contact-area
==================================================== */
.contact-area {
  position: relative;
  width: 90%;
  max-width: 1182px;
  margin: 120px auto 60px;
  padding: 80px 8%;
  border-radius: 12px;
  background: #e6eef4;
}

.contact-area h1 {
  margin-bottom: 20px;
  font-size: var(--fs32);
  font-weight: bold;
}

.contact-area .c-button {
  position: absolute;
  right: 8%;
  bottom: 80px;
}

@media screen and (max-width: 1024px) {
  .contact-area {
    margin: 0 auto;
    padding: 40px 8%;
  }
  .contact-area p {
    margin-bottom: 20px;
  }
  .contact-area .c-button {
    position: relative;
    right: auto;
    bottom: auto;
  }
}

/* ====================================================
共通ボタン
==================================================== */
.c-button {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 236px;
  height: 56px;
  border-radius: 4px;
  background: var(--color-accent);
}
.c-button-w {
  border: 2px solid #fff;
  background: none;
}

.c-button:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .c-button {
    width: 90%;
  }
}

.c-round-button {
  display: inline-block;
  margin-left: auto;
  text-decoration: none;
}

.c-round-button__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 2px solid #015790;
  border-radius: 50%;
  background-color: #fff;
}

.c-round-button__icon svg {
  width: 14px;
  height: auto;
}

.c-button__text {
  padding-right: 20px;
  font-weight: bold;
  color: #fff;
}

.c-button__icon {
  position: absolute;
  right: 15px;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 2px;
  background-color: #fff;
}

.c-button__icon svg {
  width: 14px;
  height: auto;
  transition: transform 0.3s ease;
}
.c-button:hover .c-button__icon svg {
  animation: sideOutIn 0.4s forwards;
}

@keyframes sideOutIn {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  49% {
    transform: translateX(150%); /* 右へ消える */
    opacity: 0;
  }
  50% {
    transform: translateX(-150%); /* 一瞬で左側にワープ */
    opacity: 0;
  }
  100% {
    transform: translateX(0); /* 左から中央へ戻る */
    opacity: 1;
  }
}

/* =========================================
   テキストリンク
========================================= */
.c-button.c-button--text {
  justify-content: flex-start;
  width: auto;
  height: auto;
  padding: 5px 0;
  border-radius: 0;
  background: transparent;
}

.c-button.c-button--text .c-button__text {
  padding-right: 20px;
  font-weight: bold;
  color: var(--color-accent);
}

.c-button.c-button--text .c-button__icon {
  position: relative;
  right: auto;
  border-radius: 4px;
  background-color: var(--color-accent);
}

.c-button.c-button--text .c-button__icon svg path {
  fill: #fff;
}

.c-button.c-button--text:hover {
  opacity: 0.7;
}

/* ====================================================
アニメーション
==================================================== */
.fade-up {
  transition: opacity 1.3s,
  transform 1.3s;
  transform: translateY(70px);
  opacity: 0;
}

.fade-up.active {
  transform: translateY(0);
  opacity: 1;
}

/* ====================================================
ローデイング
==================================================== */
#loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  transition: opacity 0.5s ease,
  visibility 0s 0.5s;
}

.loading-logo img {
  width: 180px;
  height: auto;
  transition: opacity 1s ease-in-out;
  opacity: 0;
}

#loading-screen.logo-fade-in .loading-logo img {
  opacity: 1;
}

#loading-screen.loaded {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}

/* ====================================================
モーダル
==================================================== */
.home .modal-trigger {
  display: block;
  cursor: pointer;
  transition: opacity 0.3s;
}
.home .modal-trigger:hover {
  opacity: 0.8;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  display: flex;
  visibility: hidden;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  transition: opacity 0.5s,
  transform 0s 0.5s,
  visibility 0s 0.5s;
  transform: scale(0);
  opacity: 0;
}

.modal.is-open {
  visibility: visible;
  transition: opacity 0.5s,
  transform 0s 0s,
  visibility 0s 0s;
  transform: scale(1);
  opacity: 1;
}

.modal-wrapper {
  position: relative;
  z-index: 10000;
  overflow-y: auto;
  width: 80%;
  max-width: 960px;
  max-height: 90vh;
  margin: auto;
  padding: 80px 20px 20px;
  border-radius: 5px;
}

/* 閉じるボタン */
.close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10001;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
  color: #fff;
  cursor: pointer;
}

/* 背景クリックで閉じるためのエリア */
.modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: default;
}

/* モーダル内の画像調整 */
.modal-content img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
.modal-content p {
  font-size: 14px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .modal-wrapper {
    width: 100%;
  }
}

/* ====================================================
404 error
==================================================== */
.error {
  text-align: center;
}
.error h1 {
  margin-bottom: 40px;
  font-size: var(--fs28);
  font-weight: bold;
}

.error p {
  margin-bottom: 60px;
}

.error .c-button {
  margin: 0 auto;
}

/* ====================================================
アイコン
==================================================== */
a[href*=".pdf"]:after {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 0 2px 8px;
  background-image: url(../../img/common/icon_pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}

a[href$=".xlsx"]:after,
a[href$=".xls"]:after {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 0 2px 8px;
  background-image: url(../../img/common/icon_excel.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}

a[href$=".doc"]:after,
a[href$=".docx"]:after {
  display: inline-block;
  width: 21px;
  height: 21px;
  margin: 0 0 2px 8px;
  background-image: url(../../img/common/icon_word.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}
