 @charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;500;600;700;800;900&display=swap");
/* ==================================================
レイアウト以外の基本的なルールと使い回しのできるパーツ
デザインにあわせてユニークページで微調整してください
=====================================================*/

/*-------------------- component --------------------*/
/* ページタイトル */
.page-ttl-wrap {
  background-image: url("/common/images/page_ttl_bg.jpg");
  background-size: cover;
  color: #E60039;
  height: 150px;
  line-height: 150px;
}
.page-ttl {
  font-size: 36px;
  font-weight: bold;
  max-width: 1200px;
  margin: 0 auto;
}
.ttl-bl-red {
  border-left: 2px solid #E60039;
  font-size: 24px;
  padding-left: 12px;
  font-weight: bold;
  height: max-content;
}

/* パンくず */
.pankuzu {
  max-width: 1200px;
  display: flex;
  color: #6E6E6E;
  margin: 100px auto 20px;
  flex-wrap: wrap;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.pankuzu-slash {
  margin: 0 5px;
}
.pankuzu:last-child {
  color: #323232;
}

/* 検索ボックス */
.search-wrap {
  width: 100%;
  padding: 20px 0;
  background: #F2F2F2;
}
.search-box-wrap {
  border-radius: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.search-input {
  width: calc(100% - 100px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 21px 22px;
  background-color: #ffffff;
  height: 50px;
  border-radius: 30px 0 0 30px;
}
.search-btn {
  width: 100px;
  background: #E60039;
  color: #ffffff;
  height: 50px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  border-radius: 0 30px 30px 0;
}
/* modal */
.modal-area {
  display: none;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal-bg {
  width: 100%;
  height: 200vh;
  background: rgba(3, 3, 3, 0.4);
}
.close-modal {
  color: #707070;
  position: absolute;
  top: 6px;
  right: 1rem;
  cursor: pointer;
  font-size: 28px;
}
.modal-wrapper {
  position: absolute;
  top: 13%;
  left: 50%;
  transform: translate(-50%,0);
  width: 92%;
  background-color: #fff;
  border-radius: 8px;
}


@media screen and (max-width: 768px) {
  .page-ttl-wrap {
    height: 90px;
    line-height: 90px;
    padding:0 4%;
  }
  .page-ttl {
    font-size: 25px;
  }
  .pankuzu {
    padding: 0 4%;
    margin-top: 50px;
  }
  .ttl-bl-red {
    font-size: 19px;
    padding-left: 12px;
  }
  .search-wrap {
    /* width: 100%;
    padding: 20px 0;
    background: #F2F2F2; */
  }
  .search-input {
    width: calc(100% - 48px);
    padding: 16px  50px 16px 22px;
    height: 50px;
  }
  .search-btn {
    width: 48px;
    background: #E60039;
    color: #ffffff;
    height: 50px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    border-radius: 0 30px 30px 0;
    position: relative;
  }
  .search-btn::after {
    content: '';
    background-image: url("/common/images/icon_search_white.svg");
    background-size: contain;
    position: absolute;
    width: 18px;
    height: 18px;
    top: 35%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    right: 7px;
  }

  /* spのみmodalの場合 */
  .sp-modal-area {
    display: none;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .sp-modal-bg {
    width: 100%;
    height: 200vh;
    background: rgba(3, 3, 3, 0.4);
  }
  .sp-close-modal {
    color: #707070;
    position: absolute;
    top: 6px;
    right: 1rem;
    cursor: pointer;
    font-size: 28px;
  }
  .sp-modal-wrapper {
    position: absolute;
    top: 13%;
    left: 50%;
    transform: translate(-50%,0);
    width: 92%;
    background-color: #fff;
    border-radius: 8px;
  }
}

/* ページネーション */

.pager-wrap {
  height: 50px;
  margin-bottom: 40px;
}

.pager-wrap .pagination {
  text-align: center;
}

.pager-wrap .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  background:#fff;
  width: 40px;
  height: 40px;
  text-align: center;
  position: relative;
  border-radius: 5px;
  border: 2px solid #E1E1E1;
}

.pager-wrap .pagination li.pager-first,
.pager-wrap .pagination li.pager-pre,
.pager-wrap .pagination li.pager-next,
.pager-wrap .pagination li.pager-last {
  display: inline-block;
  width: 40px;
  height: 40px;
  text-align: center;
  border: none;
  border-radius: 50px;
}

.pager-wrap .pagination li.pager-pre {
  margin-left: 3px;
  margin-right: 16px;
}
.pager-wrap .pagination li.pager-next {
  margin-right: 3px;
  margin-left: 16px;
}

.pager-wrap .pagination li a,
.pager_first_ico,
.pager_pre_ico,
.pager_next_ico,
.pager_last_ico {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  color: #6E6E6E;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}

.pager-wrap .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

.pager-wrap .pagination li a:hover,
.pager-wrap .pagination li a.active{
  color: #000;
  background: #E1E1E1;
}

.pager-wrap .pagination li.pager-first a:hover,
.pager-wrap .pagination li.pager-pre a:hover,
.pager-wrap .pagination li.pager-next a:hover,
.pager-wrap .pagination li.pager-last a:hover {
  border-radius: 50px;
}
@media only screen and (max-width: 768px){
  .pager-wrap .pagination {
    width: 100%;
    vertical-align:middle;
    font-size: 16px;
    font-weight: bold;
  }
  .pager-wrap .pagination li {
    display: none;
  }

  .pager-wrap .pagination li.sp-only {
    display: inline-block !important;
    border: none;
    width: 50px;
  }

  .pager-wrap .pagination li.sp-only,
  .pager-wrap .pagination li.pager-first,
  .pager-wrap .pagination li.pager-pre,
  .pager-wrap .pagination li.pager-next,
  .pager-wrap .pagination li.pager-last,
  .pager_first_ico,
  .pager_pre_ico,
  .pager_next_ico,
  .pager_last_ico  {
    display: inline-block;
    width: 48px;
    height: fit-content;
    text-align: center;
    line-height: 48px;
  }

  .pager-wrap .pagination li.sp-only a,
  .pager-wrap .pagination li.pager-first a,
  .pager-wrap .pagination li.pager-pre a,
  .pager-wrap .pagination li.pager-next a,
  .pager-wrap .pagination li.pager-last a,
  .pager_first_ico,
  .pager_pre_ico,
  .pager_next_ico,
  .pager_last_ico {
    width: 48px;
    text-align: center;
    border-radius: 50px;
  }

  .pager-wrap .pagination li a:hover,
  .pager-wrap .pagination li a.active{
    color: #000;
    background: none;
  }

  .pager-wrap .pagination li.pager-pre {
    margin-right: 0px;
  }
  .pager-wrap .pagination li.pager-next {
    margin-left: 0px;
  }
}


/*-------------------- action --------------------*/
.hover-text {
  text-decoration: none;
}

.hover-text:hover {
  color: #E60039;
  text-decoration: underline;
}

.hover-pointer:hover {
  cursor: pointer;
}

.hover-thin {
  opacity: 1;
  -webkit-transition: .4s;
  transition: .4s;
}

.hover-thin:hover {
  opacity: 0.7;
  -webkit-transition: .4s;
  transition: .4s;
}

.hover-shadow {
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: .4s;
  transition: .4s;
}

.hover-shadow:hover {
  -webkit-box-shadow: 0 0 10px #DCDCDC;
          box-shadow: 0 0 10px #DCDCDC;
  -webkit-transition: .4s;
  transition: .4s;
}

.hover-img {
  overflow: hidden;
}

.of-hidden {
  overflow: hidden;
}

.hover-img img {
  -webkit-transition: .4s all;
  transition: .4s all;
}

.hover-img:hover img {
  -webkit-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1);
  -webkit-transition: .4s all;
  transition: .4s all;
}

/* hover時右下に三角をつける */
/* 親要素に付与 position:rerative;がない場合*/
.hover-triangle-parent {
  position: relative;
}

/* 子要素に付与 */
.hover-triangle-child {
  position: relative;
}
.hover-triangle-child::after {
  content: '';
  position: absolute;
  bottom: 8px;
  right: 8px;
  border-left: 8px solid transparent;
  border-bottom: 8px solid #E60039;
  visibility: hidden;
}

.hover-triangle-child:hover::after {
  visibility: visible;
}

/* PC */
@media screen and (min-width: 768px) {
  .hover-line-pc {
    display: inline-block;
    position: relative;
  }
  .hover-line-pc::before {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #E60039;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
  }
  .hover-line-pc:hover::before {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
/* SP */
@media screen and (max-width: 768px) {
  .sp-of-hidden {
    overflow: hidden;
  }

  .hover-triangle-child::after {
    border-left: 12px solid transparent;
    border-bottom: 12px solid #E60039;
  }
}

/*-------------------- tag --------------------*/
/*--- 飲料・食品 ---*/
.tag-00 {
  display: inline-block;
  background-color: #DE4636;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 医療品 ---*/
.tag-01 {
  display: inline-block;
  background-color: #39A85D;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 化粧品 ---*/
.tag-02 {
  display: inline-block;
  background-color: #DE791F;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 国際 ---*/
.tag-03 {
  display: inline-block;
  background-color: #A16ED6;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 研究開発 ---*/
.tag-04 {
  display: inline-block;
  background-color: #2E99DB;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 経営・人事 ---*/
.tag-05 {
  display: inline-block;
  background-color: #DE6898;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- CSR ---*/
.tag-06 {
  display: inline-block;
  background-color: #4674ED;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- その他 ---*/
.tag-07 {
  display: inline-block;
  background-color: #595959;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 財務・業績 ---*/
.tag-08 {
  display: inline-block;
  background-color: #D54A00;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- IR資料室 ---*/
.tag-09 {
  display: inline-block;
  background-color: #4CA30D;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 経営方針 ---*/
.tag-10 {
  display: inline-block;
  background-color: #CB8C00;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- IRカレンダー ---*/
.tag-11 {
  display: inline-block;
  background-color: #7348D1;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 株式情報 ---*/
.tag-12 {
  display: inline-block;
  background-color: #0093BF;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- お知らせ ---*/
.tag-13 {
  display: inline-block;
  background-color: #d14f84;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- リリース ---*/
.tag-14 {
  display: inline-block;
  background-color: #ae590d;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- ガバナンス ---*/
.tag-15 {
  display: inline-block;
  background-color: #167714;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- IR説明会 ---*/
.tag-16 {
  display: inline-block;
  background-color: #580ba9;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}

/*--- 株主総会 ---*/
.tag-17 {
  display: inline-block;
  background-color: #7d7000;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  width: 100px;
  height: 24px;
  border-radius: 4px;
  margin: 0 0 0 20px;
}



/*-------------------- icon --------------------*/
/* fontawesome読み込み */
.use-icon {
  display: inline-block;
  /* font-family: "FontAwesome"; */
  font-family: "Font Awesome 5 Free";
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #707070;
}

.icon-blank-thin::after {
  content: url("/common/images/icon_blank_thin.svg")!important;
  margin-left: 5px;
}

.icon-blank-normal::after {
  content: url("/common/images/icon_blank_normal.svg");
  margin-left: 5px;
}

.icon-blank-normal-12::after {
  content: url("/common/images/icon_blank_normal_12px.svg");
  margin-left: 5px;
}

.icon-blank-normal-16::after {
  content: url("/common/images/icon_blank_normal_16px.svg");
  margin-left: 5px;
}

.icon-blank-important::after {
  content: url("/common/images/icon_blank_imp.svg");
  margin-left: 5px;
}

.icon-search::after {
  content: url("/common/images/icon_search.svg");
  vertical-align: middle;
}

.icon-search-red-bef::before {
  content: url("/common/images/icon_search_red.svg");
  vertical-align: middle;
}

.icon-search:hover:after {
  content: url("/common/images/icon_search_active.svg");
}

.js-open.icon-search:after {
  content: url("/common/images/icon_search_active.svg");
}

.icon-arrow-circle::before {
  content: url("/common/images/icon_arrow_circle.svg");
  margin-right: 6px;
  vertical-align: middle;
}

.icon-arrow-circle-16px::before {
  content: url("/common/images/icon_arrow_circle_16px.svg");
  margin-right: 6px;
  vertical-align: middle;
}

.icon-arrow-circle-small {
  position: relative;
  padding-left: 25px;
}

.icon-arrow-circle-small::before {
  position: absolute;
  content: '';
  background-image: url("/common/images/icon_arrow_circle_16px.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  top: 3px;
  left: 0;
  vertical-align: middle;
}

.icon-cart::before {
  content: url("/common/images/icon_cart.svg");
  margin-right: 6px;
  vertical-align: sub;
}
.icon-tel::before {
  content: url("/common/images/icon_tel.svg");
  margin-right: 6px;
  vertical-align: sub;
}

.icon-mail::before {
  content: url("/common/images/icon_mail.svg");
  margin-right: 8.5px;
  vertical-align: middle;
}

.icon-mail-red::before {
  content: url("/common/images/icon_mail_red.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-arrow::after {
  content: url("/common/images/icon_arrow.svg");
}

.icon-arrow-16px {
  position: relative;
}

.icon-arrow-16px:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 29px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: url("/common/images/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
  -webkit-transition: .3s;
  transition: .3s;
}

.icon-arrow-16px:hover:after {
  right: 26px;
  -webkit-transition: .3s;
  transition: .3s;
}

.icon-pdf::after {
  content: url("/common/images/icon_pdf.svg");
  margin-left: 5px;
  vertical-align: middle;
}

.icon-pdf-red {
  position: relative;
}
.icon-pdf-red::after {
  content: url("/common/images/icon_pdf_red.svg");
  position: absolute;
}

.icon-orange {
  background: #FF5F00;
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  border-radius: 2px;
  display: inline-block;
  width: 40px;
  height: 20px;
  text-align: center;
}

.icon-todoketenet {
  position: fixed;
  max-width: 260px;
  z-index: 10;
  position: fixed;
  bottom: 12%;
  right: 10px;
}

.icon-totop {
  display: none;
  position: fixed;
  z-index: 10;
  position: fixed;
  bottom: 10%;
  right: 10px;
  cursor: pointer;
}

.icon-pickup {
  position: relative;
}

.icon-pickup::before {
  position: absolute;
  content: '';
  background-image: url("/common/images/icon_pickup.svg");
  background-size: contain;
  width: 91px;
  height: 31px;
  top: -3px;
  left: -3px;
}

.icon-arrow-white {
  position: relative;
}

.icon-arrow-white:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 56px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: url("/common/images/icon_arrow_white.svg");
  background-size: contain;
  width: 40px;
  height: 40px;
}

.icon-arrow-white-normal {
  position: relative;
}

.icon-arrow-white-normal:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 29px;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  background: url("/common/images/icon_arrow_white_normal.svg");
  background-size: contain;
  width: 16px;
  height: 16px;
  -webkit-transition: .3s;
  transition: .3s;
}

.icon-arrow-white-normal:hover:after {
  right: 26px;
  -webkit-transition: .3s;
  transition: .3s;
}

.icon-arrow-red {
  position: relative;
}

.icon-arrow-red:after {
  content: url("/common/images/icon_arrow_red.svg");
  position: absolute;
  top: 13px;
  right: 15px;
  -webkit-transition: .2s;
  transition: .2s;
}

.icon-arrow-red:hover:after {
  right: 12px;
  -webkit-transition: .2s;
  transition: .2s;
}

.icon-home::after {
  content: url("/common/images/icon_home.svg");
  vertical-align: middle;
}

.icon-decoration {
  position: relative;
}
.icon-decoration::after {
  content: url("/common/images/icon_decoration.svg");
  position: absolute;
}

.icon-tel-black::before {
  content: url("/common/images/icon_tel_black.svg");
}

.icon-decoration-dots {
  position: relative;
}
.icon-decoration-dots::after {
  position: absolute;
  content: url("/common/images/icon_decoration_dots.svg");
}

.icon-yubin:before {
  content: url("/common/images/icon_yubin.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-map:before {
  content: url("/common/images/icon_map.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-hatena:before {
  content: url("/common/images/icon_hatena.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-yklt:before {
  content: url("/common/images/icon_yklt_single.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-funnel:before {
  content: url("/common/images/icon_funnel.svg");
  margin-right: 8px;
  vertical-align: middle;
}

.icon-tel-red::before {
  content: url("/common/images/icon_tel_red.svg");
  vertical-align: -webkit-baseline-middle;
  margin-right: 5px;
}
.icon-arrow-circle-18px::before {
  content: url(/common/images/icon_arrow_circle_18px.svg);
  margin-right: 6px;
  vertical-align: middle;
}

/* 右下に三角をつける */
/* 親要素に付与 position:rerative;がない場合*/
.icon-triangle-parent {
  position: relative;
}

/* 子要素に付与 */
.icon-triangle-child::after {
  content: '';
  position: absolute;
  bottom: 8px;
  right: 8px;
  border-left: 8px solid transparent;
  border-bottom: 8px solid #E60039;
}

@media screen and (max-width: 768px) {
  .icon-dainari-sp::after {
    content: url("/common/images/dainari.svg");
  }
  .icon-totop {
    position: fixed;
    width: 40px;
    bottom: 35px;
    right: 10px;
  }
  .icon-todoketenet {
    position: fixed;
    bottom: 23%;
    right: 10px;
  }
  .icon-todoketenet img {
    width: 170px;
  }
  .icon-arrow-white:after {
    right: 24px;
    width: 32px;
    height: 32px;
  }
  .icon-new {
    position: relative;
  }
  .icon-new:after {
    content: '';
    position: absolute;
    background-image: url("/common/images/icon_new.svg");
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    top: -14px;
    left: -18px;
  }

  .icon-decoration::after {
    content: url("/common/images/icon_decoration_sp.svg");
    position: absolute;
  }

  .icon-tel-black::before {
    content: url("/common/images/icon_tel_black_sp.svg");
  }

  .sp-icon-tel-red::before {
    content: url("/common/images/icon_tel_red.svg");
    vertical-align: -webkit-baseline-middle;
    margin-right: 5px;
  }
}

/*-------------------- button --------------------*/
.btn-w180 {
  display: block;
  width: 180px;
  height: 28px;
  border-radius: 14px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 26px;
  cursor: pointer;
}

.btn-w200 {
  display: block;
  width: 200px;
  height: 34px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 31px;
  cursor: pointer;
}

.btn-w210 {
  display: block;
  width: 210px;
  height: 40px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 37px;
  cursor: pointer;
}

.btn-w280 {
  display: block;
  width: 280px;
  height: 50px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 46px;
  cursor: pointer;
}

.btn-w320 {
  display: block;
  width: 320px;
  height: 60px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 57px;
  cursor: pointer;
}

.btn-w340 {
  display: block;
  width: 340px;
  height: 50px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 46px;
  cursor: pointer;
}

.btn-w360 {
  display: block;
  width: 360px;
  height: 50px;
  border-radius: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 46px;
  cursor: pointer;
}

.btn-w400 {
  display: block;
  width: 400px;
  height: 50px;
  border-radius: 40px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  line-height: 46px;
  cursor: pointer;
}

.btn-w400.btn-c-normal,
.btn-w360.btn-c-important{
  border: 2px solid #E60039;
}

.btn-arrow {
  position: relative;
  margin: 0 auto;
}
.btn-arrow.icon-blank-normal::after,
.btn-arrow.icon-blank-normal-12::after,
.btn-arrow.icon-blank-normal-16::after {
  position: absolute;
  right: 20px;
  -webkit-transition: .2s;
  transition: .2s;
}

.btn-arrow.icon-arrow::after {
  position: absolute;
  right: 20px;
  -webkit-transition: .2s;
  transition: .2s;
}

.btn-arrow.icon-arrow:hover:after {
  right: 17px;
  -webkit-transition: .2s;
  transition: .2s;
}

.icon-arrow-bottom::after {
    content: url(/common/images/icon_arrow.svg);
    transform: rotate(90deg);
}

.btn-arrow.icon-arrow-bottom::after {
  position: absolute;
  right: 20px;
  -webkit-transition: .2s;
  transition: .2s;
}

.btn-arrow.icon-arrow-bottom:hover:after {
  top: 2px;
  -webkit-transition: .2s;
  transition: .2s;
}


.btn-c-normal {
  color: #E60039;
  border: 2px solid #E60039;
}

.btn-c-important {
  color: #ffffff;
  background-color: #E60039;
  border: 2px solid #E60039;
}

.btn-anc {
  position: relative;
  display: block;
  width: 232px;
  height: 50px;
  font-size: 16px;
  font-weight: bold;
  border-radius: 8px;
  line-height: 50px;
  color: #6E6E6E;
  padding-left: 20px;
  background: #F2F2F2;
}
.btn-anc::after {
  content: url(/common/images/icon_ank.svg);
  position: absolute;
  top: 0;
  right: 20px;
  transition: .2s;
}
.btn-anc:hover {
  opacity: .7;
  transition: .2s;
}
.btn-anc:hover:after {
  top: 7px;
  transition: .2s;
}
.btn-beige {
  position: relative;
  background-color: #FBF6EC;
  height: 70px;
  font-size: 16px;
  font-weight: bold;
  line-height: 70px;
  border-radius: 8px;
  padding-left: 20px;
}
.btn-beige::after {
  position: absolute;
  content: '';
  background-image: url("/common/images/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 11px;
  top: 30px;
  right: 15px;
  vertical-align: middle;
  transition: .2s;
}
.btn-beige:hover:after {
  right: 12px;
  transition: .2s;
}

.btn-white {
  position: relative;
  background-color: #ffffff;
  height: 70px;
  font-size: 16px;
  line-height: 70px;
  border-radius: 8px;
  padding-left: 20px;
}
.btn-white::after {
  position: absolute;
  content: '';
  background-image: url("/common/images/icon_arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 11px;
  top: 30px;
  right: 15px;
  vertical-align: middle;
  transition: .2s;
}
.btn-white:hover:after {
  right: 12px;
  transition: .2s;
}
/* コメントアウト項目は個別に設定 */
.btn-red {
  display: block;
  /* width: 600px; */
  /* height: 70px; */
  /* line-height: 66px; */
  color: #E60039;
  border: 2px solid #E60039;
  border-radius: 35px;
  margin: 0 auto;
  /* font-size: 20px; */
  font-weight: bold;
  text-align: center;
}

.icon-required {
  display: inline-block;
  width: 60px;
  height: 24px;
  color: #ffffff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  background: #E60039;
  border-radius: 2px;
}
.icon-any {
  display: inline-block;
  width: 60px;
  height: 24px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px;
  background: #E1E1E1;
  border-radius: 2px;
}
/* もっと見るボタン */
.btn-arrow.btn-w360.btn-c-normal {
  border: 2px solid #E60039;
}

@media screen and (max-width: 768px) {
  /* もっと見るボタン */
  .btn-c-normal.btn-arrow.btn-w360 {
    width: 275px;
    height: 48px;
    line-height: 44px;
  }
  .btn-c-normal.btn-arrow.btn-w400 {
    width: 275px;
    height: 48px;
    line-height: 44px;
  }

  /* アンカーボタン */
  .btn-anc {
    width: 30%;
    height: 48px;
    font-size: 11px;
    border-radius: 4px;
    padding: 9px 16px 0 10px;
    line-height: initial;
  }
  .btn-anc::after {
    content: url("/common/images/icon_anc_sp.svg");
    top: 13px;
    right: 9px;
  }
  .btn-anc:hover:after {
    top: 18px;
  }
  .btn-anc {
    line-height: initial;
  }
  .line01.btn-anc {
    line-height: 30px;
  }
  .line01.btn-anc::after {
    top: 8px;
  }
  .line01.btn-anc:hover:after {
    top: 13px;
  }

  .btn-beige {
    font-size: 14px;
    padding-left: 12px;
    height: 48px;
    line-height: 48px;

  }
  .btn-beige::after {
    top: 18px;
  }
  .btn-white {
    font-weight: normal;
  }
}

/*-------------------- text-align --------------------*/
.ta-center {
  text-align: center;
}

/*-------------------- display --------------------*/
.d-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex !important;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

@media screen and (max-width: 768px) {
  .sp-fd-column {
    flex-direction: column;
  }
  .sp-d-block {
    display: block !important;
  }
}

/*-------------------- color --------------------*/
.c-thin {
  color: #6E6E6E;
}

.c-important {
  color: #E60039;
}

.c-white {
  color: #ffffff;
}

/*-------------------- font --------------------*/
.ff-montserrat {
  font-family: 'Montserrat', sans-serif;
}

.fw-bold {
  font-weight: bold;
}

.fsz-clump {
  font-size: clamp(0.5rem, 1vw, 2rem);
}

/*-------------------- width height --------------------*/
.w-fit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.h-fit {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

/*-------------------- border --------------------*/
.bt-none {
  border-top: none !important;
}
.bb-none {
  border-bottom: none !important;
}
.bt-dashed {
  border-top: 1px dashed #DCDCDC;
}
.br-dashed {
  border-right: 1px dashed #DCDCDC;
}
.bb-dashed {
  border-bottom: 1px dashed #DCDCDC;
}
.bt-solid-C8 {
  border-top: 1px solid #C8C8C8 !important;
}
.bb-solid-C8 {
  border-bottom: 1px solid #C8C8C8 !important;
}
.bb-dashed-E1 {
  border-bottom: 1px dashed #E1E1E1;
}
@media screen and (min-width: 768px) {
  .pc-bt-none {
    border-top: none !important;
  }
  .pc-bb-none {
    border-bottom: none !important;
  }
  .pc-bt-dashed {
    border-top: 1px dashed #DCDCDC;
  }
  .pc-br-dashed {
    border-right: 1px dashed #DCDCDC;
  }
  .pc-bb-dashed {
    border-bottom: 1px dashed #DCDCDC;
  }
  .pc-bt-solid-C8 {
    border-top: 1px solid #C8C8C8 !important;
  }
  .pc-bb-solid-C8 {
    border-bottom: 1px solid #C8C8C8 !important;
  }
  .pc-bb-dashed-E1 {
    border-bottom: 1px dashed #E1E1E1;
  }
}

@media screen and (max-width: 768px) {
  .sp-bb-none {
    border-bottom: none !important;
  }
  .sp-br-none {
    border-right: none !important;
  }
  .sp-bt-solid {
    border-top: 1px solid #DCDCDC !important;
  }
  .sp-bb-solid {
    border-bottom: 1px solid #DCDCDC !important;
  }
  .sp-bb-dashed {
    border-bottom: 1px dashed #DCDCDC !important;
  }
  .sp-br-dashed {
    border-right: 1px dashed #DCDCDC !important;
  }
}

/*-------------------- other --------------------*/
.pointer {
  cursor: pointer;
}
.pe-none {
  pointer-events: none;
}
.link-color {
  color: #6E6E6E;
  text-decoration: underline;
}
.link-color:hover {
  color: #E60039;
}

.red-box {
  display: inline-block;
  font-size: 20px;
  width: 28px;
  height: 28px;
  text-align: center;
  color: #ffffff;
  background-color: #E60039;
  border-radius: 4px;
  margin-right: 12px;
}

.dots-red {
  position: relative;
  padding-left: 16px;
}
.dots-red::before {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  background-color: #E60039;
  top: 8px;
  left: 5px;
  border-radius: 20px;
}

.fd-column {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}

.td-under {
  text-decoration: underline;
}

sup,sub {
  font-size: 0.8em !important;
}

/* アスペクト比を1:1にする asp-parentを親要素 asp-childを子要素につける */
.asp-parent {
  position: relative;
  width: 100%;
}

.asp-parent:before {
  content: "";
  display: block;
  padding-top: 100%;
}

.asp-child-center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.js-fillter {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 800;
  background: rgba(3, 3, 3, 0.4);
  display: block;
}

.txt-indent {
  padding-left:1em;
	text-indent:-1em;
}

.super {
  vertical-align: super;
}

@media screen and (max-width: 768px) {
  .red-box {
    width: 22px;
    height: 24px;
    font-size: 18px;
    margin-top: 3px;
  }
  
  /*----- order -----*/
  .order0 {
    -webkit-box-ordinal-group: 1;
    -webkit-order: 0;
        -ms-flex-order: 0;
            order: 0;
  }
  .order01 {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
  .order02 {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
  .fd-column-sp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .hidden-scroll {
    overflow-y: scroll;
    max-height: 92vh;
  }
}

/*-------------------- margin --------------------*/
.m-auto {
  margin: 0 auto !important;
}

@media screen and (max-width: 768px) {
  .m-auto-sp {
    margin: 0 auto;
  }
  .mt-10-sp {
    margin-top: 10px;
  }
}

/*-------------------- slick --------------------*/
.slick-prev, .slick-next {
  z-index: 100;
}

.base-slider .slick-dots li.slick-active button:before {
  color: #E60039;
}

.base-slider .slick-dots li {
  width: 8px;
  margin: 0 6px 0 0;
}

/*-------------------- border --------------------*/
@media screen and (max-width: 768px) {
  .bb-none {
    border-bottom: none !important;
  }
  .bb-sp {
    border-bottom: 1px solid #E6E6E6;
  }
  .bb-sp-header {
    border-bottom: 1px solid #DCDCDC !important;
  }
}


/*-------------------- campaign関連 --------------------*/
.campaign .l-col-03 .col-ttl {
  font-size: 18px;
  font-weight: bold;
  margin-top: 16px;
  margin-bottom: 7px;
}

.campaign .l-col-03 .l-col-item {
  overflow: hidden;
  /*white-space: nowrap;*/
  white-space: initial;
  letter-spacing: .03em;
}

.campaign .l-col-03 .col-sub {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .l-col-03 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .l-col-03 .l-col-item {
    width: 100%;
    height: auto;
    margin-right: 0%;
  }
  .campaign .l-col-03 .l-col-item {
    overflow: initial;
    white-space: initial;
    margin-bottom: 32px;
  }
  .campaign .l-col-03 .l-col-item a {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .campaign .l-col-03 .l-col-item:last-child {
    margin-bottom: 0;
  }
  .campaign .l-col-03 .col-ttl {
    font-size: 16px;
  }
}

/*-------------------- responsive --------------------*/
.sp-only {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
  .sp-only {
    display: block !important;
  }
}

/*-------------------- accordion --------------------*/

/*-------------------- radiobtn 共通--------------------*/
.radio-hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}
.form-wrap label {
  position: relative;
  cursor: pointer;
  padding-left: 23px;
}
.form-wrap label::before,
.form-wrap label::after {
  content: "";
  display: block; 
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
.form-wrap label::before {
  background-color: #fff;
  border: 1px solid #7f7f7f;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  left: 5px;
}
.form-wrap label::after {
  background-color: #E60039;
  border-radius: 50%;
  opacity: 0;
  width: 6px;
  height: 6px;
  left: 8px
}
.form-wrap input:checked + label::after{
  opacity: 1;
}
.form-wrap input:checked + label::before{
  border: 1px solid #E60039;
}

.form-wrap label.checkbox:before{
  width:16px; /* チェックボックスの幅 */
  height:16px; /* チェックボックスの高さ */
  left:5px; 
  border:1px solid #ccc; /* チェックボックスの枠 */
  border-radius:3px; 
}
.form-wrap label.checkbox:after,
.form-wrap label.checkbox:before{
  position:absolute;
  content:"";
  top:50%
}
.form-wrap input:checked + label.checkbox::after {
  position: absolute;
  width: 7px;
  height: 14px;
  top: 50%;
  left: 11px;
  border-radius: initial;
  border-top: none;
  border-left: none;
  border-right: 2px solid #E60039;
  border-bottom: 2px solid #E60039;
  content: '';
  margin-top: -9px;
  opacity: 1;
  transform: rotate(45deg);
  background-color: initial;
}

.form-wrap select {
  border: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("/common/images/icon_select.svg");
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 13px 13px;
}

.form-wrap .input-half {
  width: 240px;
  height: 50px;
  border-radius: 4px;
  background-color: #F2F2F2;
  padding: 12px;
}
.form-wrap .input-half02 {
  width: 335px;
  height: 50px;
  border-radius: 4px;
  background-color: #F2F2F2;
  padding: 12px;
}

.form-wrap .input-half + .input-half {
  margin-left: 8px;
}

.form-wrap .input-half-btn-red {
  border-radius: 4px;
  border: 1px solid #E60039;
  padding: 13.5px 20px;
  font-size: 14px;
  color: #E60039;
  box-sizing: border-box;
}

.form-wrap .input-half-btn-red:hover {
  cursor: pointer;
  opacity: .7;
}

.form-wrap .input-all {
  width: 670px;
  height: 50px;
  border-radius: 4px;
  background-color: #F2F2F2;
  padding: 16px;
}

.form-wrap .form-annotation {
  display: block;
  font-size: 12px;
  color: #323232;
  margin-top: 8px;
}

.form-wrap .form-error-text {
  color: #E60039;
  font-size: 12px;
  margin-top: 8px;
  display: block;
}

.form-wrap .form-error input ,
.form-wrap .form-error textarea,
.form-wrap .form-error select,
.form-wrap .form-error .input-half,
.form-wrap .form-error .input-half02,
.form-wrap .form-error .input-all,
.form-wrap .form-error label::before {
  border: 1px solid #E60039 !important;
  background-color: #FFF8F8;
}

.form-wrap .form-textarea {
  width: 670px;
  height: 140px;
  border-radius: 4px;
  background-color: #F2F2F2;
  padding: 16px;
  resize: none;
}

.form-wrap .form-btn-wrap {
  display: flex;
  margin: 0 auto;
  width: max-content;
}

.form-wrap .form-btn-wrap .btn-w360 {
  height: 60px;
  line-height: 56px;
  font-size: 20px;
}

.form-wrap .form-btn-wrap .btn-w360:first-child {
  margin-right: 16px;
}

@media screen and (max-width: 768px) {
  .form-wrap label::after {
    left: 18px;
  }
  
  .form-wrap .input-half,
  .form-wrap .input-half02 {
    width: 100%;
  }
  
  .form-wrap .input-half + .input-half {
    margin: 8px 0 0;
  }
  
  .form-wrap .input-all {
    width: 100%;
  }
  
  .form-wrap .form-textarea {
    width: 100%;
  }

  .form-wrap .form-btn-wrap {
    flex-direction: column;
  }

  .form-wrap .form-btn-wrap .btn-w360 {
    width: 345px;
  }
  
  .form-wrap .form-btn-wrap .btn-w360:first-child {
    margin-right: 0;
    margin-bottom: 8px;
    font-size: 19px;
  }

  .form-wrap input:checked + label.checkbox::after {
    left: 20px;
  }
}



/* ==================================================
CO
=====================================================*/

/* ページタイトル */
.co-page-ttl-wrap {
  background-color: #FBF6EC;
  color: #323232;
  padding: 48px 0;
}
.co-page-ttl {
  font-size: 36px;
  line-height: 36px;
  font-weight: bold;
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 20px;
  border-left: 4px solid #E60039;
}

.left-line-ttl {
  font-size: 28px;
  font-weight: bold;
  padding-left: 53px;
  position: relative;
}

.left-line-ttl::before {
  content: '';
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  left: 0;
  width: 40px;
  height: 2px;
  background-color: #E60039;
}

@media screen and (max-width: 768px) {
  .co-page-ttl-wrap {
    line-height: 90px;
    padding:30px 4%;;
  }
  .co-page-ttl {
    font-size: 25px;
    line-height: 32px;
  }

  .left-line-ttl {
    font-size: 23px;
    padding-left: 40px;
  }
  
  .left-line-ttl::before {
    width: 30px;
  }
}

/*--- 2col ---*/

.company-2col .l-inner {
  /* margin: 64px auto; */
  display: flex;
  justify-content: space-between;
}

.company-2col .l-inner-side {
  width: 250px;
  margin-top: -12px;
}

.company-2col .l-inner-s {
  width: 864px;
}

.company-2col .co-page-ttl-wrap {
  margin-bottom: 64px;
}


@media screen and (max-width: 768px){
  .company-2col .l-inner {
    width: 100%;
    flex-wrap: wrap;
    padding: 0 4%;
    margin: 0;
  }
  .company-2col .l-inner-s {
    width: 100%;
    margin: 0;
  }
  .company-2col .l-inner-side {
    width: 92vw;
    padding: 8% 0 0;
    margin-top: 0;
  }
  .company-2col .co-page-ttl-wrap {
    margin-bottom: 32px;
  }
}

/* h2 title */

.company-2col .l-inner-s h2,
.h2-base {
  font-size: 28px;
  font-weight: bold;
  border-bottom: solid 2px #DCDCDC;
  position: relative;
  line-height: 2.4;
}
.company-2col .l-inner-s h2:after,
.h2-base:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 180px;
  border-bottom: 2px solid #E60039;
}

@media screen and (max-width: 768px){
  .company-2col .l-inner-s h2:first-child,
  .company-2col .l-inner-s h2,
  .h2-base {
      font-size: 23px;
      line-height: 1.5;
      padding-bottom: 10px;
  }

  .company-2col .l-inner-s h2:after,
  .h2-base:after {
    width: 80px;
  }
}


/*--- company data ---*/

.company .co-companydata-link-wrap{
  background-color: #F2F2F2;
  padding: 32px;
  border-radius: 8px;
 
 }
 
 @media screen and (max-width: 768px){
  .company .co-companydata-link-wrap{
  padding: 24px 16px 20px;
  }
 }
 
 
 .company .co-companydata-link-wrap .co-companydata-ttl{
  font-size: 24px;
  margin-bottom:24px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:left;
  border-bottom:none;
 }
 
 .company .co-companydata-link-wrap .co-companydata-ttl::after{
  border-bottom:none;
 }
 
 @media screen and (max-width: 768px){
  .company .co-companydata-link-wrap .co-companydata-ttl{
   font-size: 21px;
  }
 }
 .company .co-companydata-link-wrap .co-companydata-ttl:before{
   content: "";
   display: inline-block;
   border-top: 1px solid #E60039;
   width: 30px;
   margin-right: 8px;
 }
 
 .company .co-companydata-link-wrap .l-col-03 .l-col-item:nth-of-type(1),
 .company .co-companydata-link-wrap .l-col-03 .l-col-item:nth-of-type(2),
 .company .co-companydata-link-wrap .l-col-03 .l-col-item:nth-of-type(3){
    margin-bottom:10px;
 }
 
 
@media screen and (max-width: 768px){
   .company .co-companydata-link-wrap .l-col-03 .l-col-item{
    margin-bottom:8px;
   }
   .company .co-companydata-link-wrap .l-col-03 .l-col-item:nth-last-child{
    margin-bottom:0;
   }
 }

 /* CO IR ナビ*/
 .grey-link {
  font-size: 20px;
  font-weight: bold;
  padding: 33px 64px 33px 32px;
  background-color: #F2F2F2;
  border-radius: 8px;
  position: relative;
 }

 .grey-link:nth-child(n+3) {
  margin-top: 24px;
 }

 .grey-link.icon-pdf-red::after {
  right: 30px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media screen and (max-width: 768px){
  .grey-link {
    font-size: 19px;
    padding: 19px 50px 19px 20px;
   }
   .grey-link.icon-arrow-16px::after {
    right: 20px;
   }
   .grey-link.icon-pdf-red::after {
    right: 20px;
   }
  .link-wrap.l-col-02 {
    flex-direction: column;
  }
  .link-wrap.l-col-02 .l-col-item {
    width: 100%;
  }
  .grey-link:nth-child(n+2) {
    margin-top: 8px;
  }

  .co-stockchart .sec01 {
    height: 900px;
  }
}