@charset "utf8";
/*=============================
	- font-style
	- 汎用 color & background
	- 汎用 wrap & title
	- top.css  TOPページCSS
==============================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap');

/*----------------------------------------------------
	font-style
----------------------------------------------------*/
/*  全体 font  */
html {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
    "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.my-font01 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}

/*----------------------------------------------------
	汎用 color & background
----------------------------------------------------*/
/* color */
.white {
  color: #fff;
}
.base-color01 {
  /*--メイン文字カラー--*/
  color: #000;
}
.base-back01 {
  /*--メイン背景カラー--*/
  background: #fff;
}
.point-color01 {
  /*--ポイント文字カラー ターコイズ --*/
  color: #00afcc;
}
.point-color02 {
  /*--ポイント文字カラー 水色 --*/
  color: #2fbbdc;
}
.point-back01 {
  /*--ポイント背景カラー ホワイト --*/
  background: #fff;
}
.point-back02 {
  /*--ポイント背景カラー ターコイズ--*/
  background: #00afcc;
}
.point-back03 {
  /*--アクセント背景カラー 薄グレー--*/
  background: #f0f3f3;
}
.point-back04 {
  /*--ポイント背景カラー ブラック --*/
  background: #333;
}
.point-back05 {
  /*--ポイント背景カラー ダークグレー --*/
  background: #888;
}

.point_shadow {
  text-shadow: 0px -5px 8px #fff, -3px 3px 8px #fff, 5px 5px 8px #fff;
}

/*----------------------------------------------------
	汎用 buttton
----------------------------------------------------*/
/* 無料相談ボタン */
.btn01 {
  display: inline-block;
  text-align: center;
  min-width: 320px;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  border-radius: 8px;
  padding: 22px 0 21px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .btn01 {
    width: 80%;
    min-width: auto;
    padding: 18px 0;
  }
}

/* 青枠丸ボタン */
.btn02 {
  display: inline-block;
  text-align: center;
  letter-spacing: 0.05em;
  min-width: 330px;
  border-radius: 140px;
  padding: 22px 0 21px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .btn02 {
    width: 100%;
    min-width: 100%;
  }
}

/*----------------------------------------------------
	汎用 wrap & title
----------------------------------------------------*/
/*  width 管理  */
.mywidth {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1280px) {
  .mywidth {
    padding-left: 2.0vw;
    padding-right: 2.0vw;
  }
}
@media screen and (max-width: 767px) {
  .mywidth {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}

/*  メインコンテンツwrap   */
#main-wrapp {
  overflow-x: hidden;
}

/* title */
.content-title01 {
  color: #333;
  font-size: 30px;
  margin-bottom: 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.content-title01::before {
  content: attr(data-text) "";
  color: #b9b9b9;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 900;
}
@media screen and (max-width: 767px) {
    .content-title01 {
      font-size: clamp(22px,3.75vw,26px);
      margin-bottom: 30px;
    }
    .content-title01::before {
        font-size: clamp(16px, 3vw, 18px);
        line-height: 1.2em;
    }
}





/*----------------------------------------------------
	main-v
----------------------------------------------------*/
.main-v { 
    background: url("../images/main_v.png") no-repeat;
    background-position: top right;
    padding-bottom: 9em;
    position: relative;
}
.main-v::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient( to right, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,0.6) 55%, rgba(255,255,255,0) 75%),
    linear-gradient( to top, rgba(255,255,255,0.6) 0%, rgba(255,255,255,0) 40% );
    z-index: 1;
}

.main-v .main-title-wrap {
  width: fit-content;
  max-width: 1280px;
  padding: 3.5em 0;
  margin-left: calc((100vw - 1280px) / 2);
  position: relative;
  z-index: 2;
}

.main-v .main-title,
.main-v .main-title span {
    font-size: 56px;
    letter-spacing: 0.05em;
    line-height: 1.4em;
    text-shadow: 5px -1px 12px #fff, 5px 3px 12px #fff, 0 1px 12px #fff, 0 0 16px #fff;;
}
.main-v .main-title {
}
.main-v .main-title span {
    
}

.main-subtext {
    font-size: 20px;
    line-height: 1.5em;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}

.main-v .btn01 {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1380px) {
    .main-v {
        padding: 0 2.5vw 3.5em;
        background-size: contain;
        background-position: top right -7em;
    }
    .main-v .main-title-wrap {
        padding: 5em 0 30px;
        margin-left: 0;
    }
    .main-v .main-title, .main-v .main-title span {
        font-size: clamp(36px, 7.5vw, 42px);
        line-height: 1.4em;
    }
    
    .main-subtext {
        font-size: clamp(18px,1.5vw,20px);
    }
}
@media screen and (max-width: 1080px) {
    .main-v {
        padding: 0 2.5vw 3.5em;
        background-position: top right -12em;
    }
}
@media screen and (max-width: 991px) {
    .main-v { padding: 0 0; }
    .main-v .main-title-wrap {
        padding: 2em 2.5vw;
    }
    .main-v .main-title,
    .main-v .main-title span {
        font-size: clamp(30px, 7.5vw, 36px);
    }
    .main-subtext {
        font-size: clamp(16px, 1.75vw, 18px);
    }
}
@media screen and (max-width: 767px) {
    .main-v {
        background-position: top right -13.5em;
        background-size: cover;
        margin-top: 68px;
        padding: 0 0;
    }
    .main-v .main-title-wrap {
        width: 100%;
        padding: 1.5em 2.5vw;
        background: rgba(255, 255, 255, 0.3);
    }
    
    .main-v .main-title,
    .main-v .main-title span {
        font-size: clamp(20px, 6.5vw, 26px);
        line-height: 1.4em;
    }
    .main-subtext {
        font-size: clamp(13px, 3.75vw, 16px);
    }
    
}



.main-search-wrap {
    width: fit-content;
    max-width: 1280px;
    border-radius: 13px;
    padding: 1.5em 1em;
    margin-left: calc((100vw - 1280px) / 2);
    position: relative;
    z-index: 2;
}
.main-search-wrap .inner {
    display: flex;
    justify-content: center;
    align-items: stretch;
    /* flex-wrap: wrap; */
    gap: 0 15px;
}
.main-search-input {
    font-size: 16px;
    width: 200px;
    height: auto;
    padding: 10px 8px;
    margin: 0 0;
    background: url(../images/select_arrow.png) no-repeat #fff;
    background-position: 95% center;
    border: 1px solid #fff;
    border-radius: 8px;
    outline: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.main-search-x {
    width: 23px;
    height: 23px;
    vertical-align: middle;
    margin: 15px 0;
}
.main-search-btn {
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.1em;
    padding: 1em 1em 1em 2.25em;
    background: url(../images/i_search.png) no-repeat #000;
    background-position: left 23% center;
    border-radius: 50px;
    width: 130px;
    height: 55px;
    border: none;
    cursor: pointer;
}
@media screen and (max-width: 1380px) {
    .main-search-wrap { margin: 0 0; }
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .main-search-wrap {
        margin: 0 auto 30px;
    }
}
@media screen and (max-width: 767px) {
    .main-search-wrap {
        width: 100%;
        padding: 1em 0.75em;
        margin: 0 0 0;
        border-radius: 0;
    }
    .main-search-wrap .inner {
        flex-wrap: wrap;
        gap: 10px 10px;
    }
    
    .main-search-input {
        width: calc((100% - 36px) / 2);
    }
    .main-search-x {
        width: 16px;
        height: 16px;
    }
    .main-search-btn {
        height: auto;
        padding: 0.75em 1em 0.75em 2.25em;
    }
}




/*----------------------------------------------------
	main-v
----------------------------------------------------*/
.cta-section {
    padding: 3.5em 0;
    text-align: center;
}
.cta-lead {
    font-size: 30px;
    line-height: 1.6em;
    letter-spacing: 0.1em;
    margin-bottom: 30px;
}
.cta-btn {
    display: inline-block;
    text-align: center;
    width: 50%;
    max-width: 470px;
    font-feature-settings: "palt";
    letter-spacing: 0.05em;
    border-radius: 8px;
    padding: 22px 0;
    margin: 0 auto;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .cta-lead {
        font-size: clamp(18px, 4.5vw, 22px);
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 767px) {
    .cta-section {
        padding: 2.5em 0;
    }
    .cta-lead {
        font-size: clamp(16px,3.5vw,18px);
    }
    
    .cta-btn {
        width: 80%;
        padding: 15px 0;
    }
}



/*----------------------------------------------------
	top.css  TOPページCSS
----------------------------------------------------*/

.kyujin-item { transition: all 0.3s; }
.kyujin-item:hover {
    opacity: 1;
    transform: translateY(-2px);
}
.kyujin-item figure {
  width: 100%;
  height: 220px;
  overflow: hidden;
}
.kyujin-item figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 0;
}
.kyujin-item .inner {
    padding: 0.75em 0em 0.75em 0.75em;
    border-left: 5px solid #c9caca;
}
.kyujin-item-title {
    color: #333;
    font-size: 16px;
    line-height: 1.6em;
}
.kyujin-item-overview li {
    margin-top: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.kyujin-item-overview img {
    width: 16px;
    height: 19px;
    object-fit: contain;
    margin-right: 0.5em;
}
.kyujin-item-overview p {
    color: #737575;
    font-size: 14px;
}

.kyujin-item .tag {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 10px;
    margin-bottom: 15px;
}
.kyujin-item .tag .tag_item {
    color: #fff;
    font-size: 14px;
    background: #c9caca;
    padding: 0.25em 1em;
    border-radius: 50px;
}

@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .kyujin-item figure {
        /*height: auto;
        aspect-ratio: 4 / 3;*/
    }
}
@media screen and (max-width: 767px) {
    .kyujin-item figure {
        width: 100%;
        height: 50vw;
        /*aspect-ratio: inherit;
        height: 50vw;*/
    }
    
    .kyujin-item .inner {
        padding: 0.5em 0em 0.5em 0.75em;
        border-left: 3px solid #c9caca;
    }
    .kyujin-item-title {
        font-size: clamp(14px, 3.75vw, 16px);
        line-height: 1.6em;
    }
    
    .kyujin-item-overview li {
        margin-top: 6px;
    }
    .kyujin-item-overview img {
        width: 13px;
        height: 16px;
    }
    .kyujin-item-overview p {
        font-size: clamp(12px, 3vw, 14px);
    }
    
    .kyujin-item .tag .tag_item {
        font-size: clamp(11px, 3vw, 13px);
    }
}

.kyujin_slider  .slick-prev,
.kyujin_slider .slick-next {
    background: rgba(0,0,0,0.6);
    height: 45px;
    width: 45px;
    padding: 8px 10px;
}
.kyujin_slider .slick-prev:before,
.kyujin_slider .slick-next:before {
    width: 25px;
    height: 29px;
    background-size: contain;
}
@media screen and (max-width: 767px) {
    .kyujin_slider {
        margin-left: 20px;
        margin-right: 20px;
    }
    .kyujin_slider  .slick-prev,
    .kyujin_slider .slick-next {
        height: 35px;
        width: 35px;
        padding: 8px 10px;
    }
    .kyujin_slider .slick-prev:before,
    .kyujin_slider .slick-next:before {
        width: 15px;
        height: 19px;
    }
    
}


/* ピックアップ求人 */
#kyujin-pickup {}
#kyujin-pickup .kyujin-item {
    margin: 0 15px;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    
}
@media screen and (max-width: 767px) {
}

/* おすすめの求人 */
#kyujin-rec {}
#kyujin-rec .kyujin_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 50px;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    
}
@media screen and (max-width: 767px) {
    #kyujin-rec .kyujin_list {
        display: block;
    }
    #kyujin-rec .kyujin-item {
        margin: 0 10px;
    }
    #kyujin-rec .kyujin-item figure {
        height: 33vw;
    }
}


/*  content01  */
.search-outer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    gap: 50px;
}
.search-wrap.area {
    grid-area: 1 / 1 / 2 / 2;
}
.search-wrap.kodawari1 {
    grid-area: 1 / 2 / 2 / 3;
}
.search-wrap.job {
    grid-area: 2 / 1 / 3 / 3;
}

.search-wrap {
}
.search-title {
    color: #333;
    font-size: 26px;
    font-weight: bold;
    padding-left: 0.5em;
    border-left: 6px solid #00afcc;
    margin-bottom: 30px;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .search-outer { gap: 30px; }
    
    .search-title {
        font-size: clamp(18px, 3.5vw, 22px);
        border-left: 5px solid #00afcc;
        margin-bottom: 20px;
    }
}
@media screen and (max-width: 767px) {
    .search-outer {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
    .search-wrap.area,
    .search-wrap.kodawari1,
    .search-wrap.job {
        grid-area: auto;
    }
    
}

/* エリアから探す */
.outer .search-area-inner {
    margin-top: 15px;
}
.outer .search-area-inner:first-of-type {
    margin-top: 0;
}

.search-area-name {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}
.search-area-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 10px;
}
.search-area-card {
    color: #4f4f4f;
    font-size: 16px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 0.5em 1em;
    border-radius: 8px;
    transition: all 0.3s;
    position: relative;
    display: inline-block;
}
.search-area-card:hover {
    opacity: 1;
    transform: translateY(-2px);
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .search-area-name {
        font-size: clamp(14px, 3.25vw, 16px);
    }
    .search-area-card {
        font-size: clamp(12px, 3vw, 14px);
        padding: 0.25em 0.75em;
    }
}
@media screen and (max-width: 767px) {
    
}



/* 特許事務所・企業知財から探す */
.search-kodawari {
    width: fit-content;
    display: flex;
    flex-direction: column;
    gap: 15px 0;
}
.search-kodawari li {}
.search-kodawari-card {
    font-size: 18px;
    padding: 20px 15px;
    background: #fff;
    width: 300px;
    border-radius: 8px;
    transition: all 0.3s;
    position: relative;
    display: inline-block;
}
.search-kodawari-card::before {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    z-index: 1;
    position: absolute;
    right: 9px;
    top: 43%;
}
.search-kodawari-card::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 100%;
    background: #c9caca;
    border-radius: 0 8px 8px 0;
}
.search-kodawari-card:hover {
    opacity: 1;
    transform: translateY(-2px);
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .search-kodawari-card {
        font-size: clamp(12px, 3vw, 14px);
    }
}
@media screen and (max-width: 767px) {
    .search-kodawari {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 15px 10px;
    }
    .search-kodawari li {
        width: calc((100% - 10px) / 2);
    }
    .search-kodawari-card {
        width: 100%;
        padding: 1em 0.75em;
    }
}


/* 職種から求人を探す */
.search-job-outer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0 50px;
}
.search-job-inner {}

.search-job-title {
    color: #333;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
.search-job-list {}
.search-job-list li + li {
    margin-top: 10px;
}
.search-job-list li a {
    color: #4f4f4f;
    font-size: 16px;
    border-bottom: 1px solid #4f4f4f;
    display: inline-block;
    transition: all 0.3s;
    position: relative;
}
.search-job-list li a::before {
    content: "・";
}
.search-job-list li a:hover {
    opacity: 1;
    transform: translateY(-2px);
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .search-job-list li a {
        font-size: clamp(12px, 3vw, 14px);
    }
}
@media screen and (max-width: 767px) {
    .search-job-outer {
        flex-direction: column;
        gap: 20px 0;
    }
    .search-job-inner { width: 100%; }

    .search-job-title {
        font-size: clamp(16px, 3.25vw, 18px);
    }
    
    .search-job-list {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 10px;
    }
    .search-job-list li + li { margin: 0 0; }
    .search-job-list li a {
        border: 1px solid #4f4f4f;
        background: #fff;
        padding: 0.5em 0.75em;
        border-radius: 8px;
    }
    .search-job-list li a::before { content: none; }

}



/* intro-section */
.intro-section {
}
.intro-section__img {
    position: absolute;
    left: 0;
}
.intro-section .intro-section__content {
    width: fit-content;
    margin-left: auto;
    padding: 6em 0;
    position: relative;
    z-index: 1;
}
.intro-section__title {
    font-size: 48px;
    line-height: 1.6em;
    text-shadow: 0 0 3px #fff, 0 2px 5px #fff, 0 0 5px #fff, 3px 0px 5px #fff;
}
.intro-section__text {
    margin-top: 30px;
    font-size: 18px;
    line-height: 1.8em;
    text-shadow: 0 0 3px #fff, 0 1px 3px #fff, 0 0 3px #fff, 1px 0px 3px #fff;
}
@media screen and (max-width: 1380px) {
    .intro-section__img {
        width: 65vw;
    }
    .intro-section .intro-section__content {
        padding: 3em 0;
    }
    .intro-section__title {
        font-size: clamp(32px,7.5vw,38px);
        line-height: 1.4em;
    }
}
@media screen and (max-width: 1080px) {
    .intro-section__title {
        font-size: clamp(24px,7.5vw,26px);
    }
    .intro-section__text {
        margin-top: 20px;
        font-size: clamp(14px,3.25vw,16px);
    }
}
@media screen and (max-width: 991px) {
    .intro-section__img {
        width: 70vw;
    }
}
@media screen and (max-width: 767px) {
    .intro-section__img {
        width: 100%;
        position: static;
    }
    .intro-section .intro-section__content {
        padding: 0 0;
    }
    .intro-section__title {
        font-size: clamp(16px,5.5vw,18px);
        margin-top: 10px;
    }
    .intro-section__text {
        margin-top: 10px;
    }
}


/* #top-support */
#top-support {
    
}
.support-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 50px;
}
.support-card {
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}
.support-card .support-card-title {
    font-size: 26px;
    color: #333;
    text-align: center;
    height: 3.5em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.support-card .support-card-desc {
    color: #333;
    font-size: 16px;
    line-height: 1.8em;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .support-wrap {
        gap: 20px 20px;
    }
    .support-card .support-card-title {
        font-size: clamp(16px,3.5vw,18px);
    }
    .support-card .support-card-desc {
        font-size: clamp(13px,3.0vw,14px);
        line-height: 1.6em;
    }
    
}
@media screen and (max-width: 767px) {
  .support-wrap {
    grid-template-columns: 1fr;
  }
  .support-card .support-card-title {
    height: auto;
    margin: 15px 0 10px;
  }
  .support-card .support-card-desc {
    line-height: 1.6em;
  }
}


/* 知財転職の視点 */
.column-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 50px;
}
.column-list-card {}
.column-list-card figure {
    width: 100%;
    height: 250px;
}
.column-list-card figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.column-list-card .inner {
    padding: 0.75em 0em 0.75em 0.75em;
    border-left: 5px solid #c9caca;
}
.column-title {
    font-size: 18px;
    line-height: 1.6em;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .column-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 30px;
    }
    .column-title {
        font-size: clamp(16px,3.5vw,18px);
    }
}
@media screen and (max-width: 767px) {
    .column-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 20px;
    }
    .column-list-card figure {
        height: 30vw;
    }
}



/*  サイトからのお知らせ  */
.info-list {
    width: fit-content;
    min-width: 700px;
    margin: auto;
}
.info-list-card {
    font-size: 16px;
    margin-bottom: 20px;
    display: flex;
    justify-content: flex-start;
}
.info-list-card:last-of-type {
    margin-bottom: 0;
}
.info-list-card .date {
    width: 8em;
}
.info-list-card a {
    display: inline-block;
    transition: all 0.3s;
}
.info-list-card a:hover {
    opacity: 1;
    transform: translateY(-2px);
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    
}
@media screen and (max-width: 767px) {
    .info-list-card {
        font-size: clamp(13px,3.0vw,14px);
        margin-bottom: 0;
        padding: 15px 0;
        border-top: 1px dotted #ddd;
    }
    .info-list-card:last-of-type {
        border-bottom: 1px dotted #ddd;
    }
    .info-list-card .date {
        width: 7em;
    }
    
}




/*  role-section  */
.role-section {
    max-height: 630px;
    background: url("../images/role_back.png") no-repeat;
    background-size: cover;
}
.role-section .content-title01,
.role-section .content-title01::before { color: #fff; }

.role-section__content {
}
.role-section__title,
.role-section__text { color: #fff; }
.role-section__title {
    font-size: 30px;
    border-bottom: 1px  solid #fff;
    width: fit-content;
    margin-bottom: 40px;
}
.role-section__text {
    font-size: 16px;
    line-height: 2em;
}
@media screen and (max-width: 1380px) {
    
}
@media screen and (max-width: 1080px) {
    
}
@media screen and (max-width: 991px) {
    .role-section__title {
        font-size: clamp(16px,3.5vw,18px);
        margin-bottom: 20px;
    }
    .role-section__text {
        font-size: clamp(12px,3.25vw,14px);
    }
}
@media screen and (max-width: 767px) {
    .role-section {
        background-position: center;
    }
}
    

