/***************************************
 * Swell Child Theme CSS *
 * Swellテンプレート変更時のオリジナル追加分 *
 ***************************************/

/***　共通 ***/
body {
    font-family: "Noto Sans JP",sans-serif;
}

.l-container__side {
   margin-left: 50px; 
}

 /*** global nav ***/
.l-header__inner {
    justify-content: flex-start;
    padding: 0 1vw;
}

.l-header__inner .l-header__logo {
    margin-right: 0;
}

.l-header__gnav.c-gnavWrap {
    display: flex !important;
    align-items: center;
}

.c-gnav {
    align-items: center;
}

.c-gnav>.menu-item {
    height: 30px;
}

.c-gnav>.menu-item>a {
    padding: 0;
    margin: 0 12px;
}

.l-header__gnav.c-gnavWrap .gnav_contact {
    display: flex;
    align-items: center;
    margin-top: -10px;
    position: absolute;
    right: 0;
}

.l-header__gnav.c-gnavWrap .gnav_contact a:after {
    background: none; 
}

.l-header__gnav.c-gnavWrap .gnav_contact a {
    padding: 0 20px 0 40px;
    font-size: .6vw;
    border-radius: 100px;
    background-color: #182eab !important;
    color: #fff;
    height: 30px;
    line-height: 1;
}

.l-header__gnav.c-gnavWrap .gnav_contact a:before {
    content: "";
    background: url(../img/common/icon_mail.png) no-repeat center;
    width: 16px;
    height: 12px;
    position: absolute;
    left: 15px;
    background-size: contain;    
}

.l-header__gnav.c-gnavWrap .gnav_contact a .ttl {
    padding-top: 10px;
}

.c-gnav>.menu-item>a .ttl {
    font-size: .8vw;
    font-family: "Noto Sans JP",sans-serif;
    font-weight: 500;
    padding-bottom: 10px;
}

.p-spMenu .c-widget__title {
    display: none;
}

@media screen and (min-width: 1700px) {
    .c-gnav>.menu-item>a .ttl {
        font-size: 14px;
    }
}

@media screen and (min-width: 980px) {
    .-series .l-header__inner {
        max-width: 1400px;
        gap: 0;
    }
}

@media screen and (max-width: 980px) {
    .l-header {
        padding: 0 20px;
    }

    .-series .l-header__inner{
        padding-top: 5px;
        flex-direction: row;
    }

    .-series .l-header__logo {
        justify-content: flex-start;
        padding: 0;
        min-width: 100px;
    }

    .l-header__gnav.c-gnavWrap {
        display: none !important;
    }

    .l-header__menuBtn.sp_ {
        display: block !important;
        margin-top: 5px;
    }
    
    .c-iconBtn {
        color: #232893;
    }

    .p-spMenu__closeBtn .c-iconBtn__icon {
        color: #fff;
    }
 }

/*** パンくず ***/
/* SWELL標準は非表示 */
#breadcrumb {
    display: none !important;
}

.c-bread {
    margin-left: 0;
}

.c-bread.c-bread--pb-l {
    padding-bottom: 40px !important;
}

/*** footer ***/
.l-footer-c .l-footer-c__link span {
    color: #fff !important;
}

.l-footer-c .l-footer-c__link.l-footer-c__link--dl span {
    color: #182EAb !important;
}

.l-footer .l-footer__inner {
    display: block;
}

.l-footer .l-footer__inner .l-container {
    padding: 0;
    display: flex !important;
}

.l-footer__widgetArea .w-footer__box:nth-child(1) {
    min-width: 370px;
}
.l-footer__widgetArea .w-footer__box:nth-child(2) {
    display: flex;
    justify-content: space-between;
    margin-left: 50px;
    max-width: none;
    width: 80%;
    flex-basis: 50%;
}

.l-footer__widgetArea .w-footer__box .c-listMenu {
    margin-top: 0;
}

.l-footer__widgetArea .w-footer__box .c-listMenu:nth-child(2) {
    max-width: 300px;
    width: 50%;
}

.l-footer__widgetArea .w-footer__box .c-listMenu ul li.current-menu-item a:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -18px;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #232893;
}

.l-footer__widgetArea .w-footer__box .c-listMenu ul li a {
    padding: 0.6em 0;
    border: none;
}

.l-footer__widgetArea .w-footer__box .c-listMenu ul li a:hover {
    background: none;
    opacity: 0.8;
}

.l-footer__widgetArea .w-footer__box .c-listMenu ul li a:before {
    content: "";
}

 @media screen and (max-width: 767px) {
    .l-footer__widgetArea .w-footer__box:nth-child(2) {
        display: block;
        width: 98%;
        margin-left: 1%;
    }

    .l-footer__widgetArea .w-footer__box .c-listMenu:nth-child(2) {
        width: 100%;
    }

    .l-footer__copy {
        margin-bottom: 0;
    }

    #fix_bottom_menu .spfooter_contact a {
        display: flex;
        flex-direction: row;
    }

    #fix_bottom_menu .spfooter_contact span {
        font-size: 16px;
        margin-top: 0;
        line-height: 18px;
    }

    #fix_bottom_menu .spfooter_contact span:before {
        content: "";
        background: url(../img/common/icon_mail.png) no-repeat center;
        width: 21px;
        height: 21px;
        background-size: contain;
        display: inline-block;
        margin-right: 8px;
        vertical-align: top;
    }
}

 @media screen and (max-width: 370px) {
    .l-footer__widgetArea .w-footer__box:nth-child(1) {
        min-width: auto;
    }   
 }

/*** main visual ***/
#main_visual .p-mainVisual__inner {
    margin-top: 82px;
}

#main_visual .p-mainVisual__textLayer {
    display: flex !important;
    justify-content: flex-end;
    padding-bottom: 3%;
}

#main_visual .p-mainVisual__inner .p-mainVisual__slideTitle {
    text-shadow: 1px 1px 16px #00000050;
    display: block;
    font-family: "dunbar-low", sans-serif;
    font-weight: bold;
    font-size: calc(4.5vw + 1.5rem);
    line-height: 1.125em;
    padding-bottom: 2rem;    
}

#main_visual .p-mainVisual__inner .p-mainVisual__slideText {
    display: block;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: calc(1.3vw + 1.5rem);
    line-height: 1.375em;
    margin-top: 0;
}

#main_visual .p-mainVisual__inner .p-mainVisual__slideText br.sp {
    display: none;
}  

@media screen and (max-width: 980px) {
  #main_visual .p-mainVisual__inner {
    margin-top: 7.63547svh;
  }

  .p-mainVisual__video {
    height: calc(100vh - 60px);
  }

  #main_visual .p-mainVisual__textLayer {
    padding: 0 3%;
    padding-bottom: 8%;
  }

  #main_visual .p-mainVisual__inner .p-mainVisual__slideTitle {
    font-size: calc(5vw + 1.5rem);
    padding-bottom: 1rem;
  }

  #main_visual .p-mainVisual__inner .p-mainVisual__slideText {
    font-size: calc(1vw + 1.5rem);
  }
 
  #main_visual .p-mainVisual__inner .p-mainVisual__slideText br.sp {
      display: block;
  }  
}

/*** トップページ ***/
.top #content.l-content.l-container {
    padding: 0;
}

.p-fv__fixed-footer-cta {
    position: relative;
    z-index: 100;
}

/*** 下層ページ ***/
.l-content.l-container {
    flex-wrap: wrap;
    padding-top: 100px;
}

.l-content.l-container .c-bread {
    width: 100%;
}

figure {
    margin-bottom: 20px !important;
    font-size: 1.8rem !important;
}

.wp-block-buttons {
    margin-bottom: 20px !important;
}

.wp-block-button {
    margin-bottom: 20px !important;
}

.wp-block-list li {
    font-size: 1.8rem !important;
}

.space_saiyo {
    margin-top:32px;
}

.text_liberosight a {
	display: inline;
}

/* リベロ情報局 */
.c-member-header__link {
    margin-bottom: 10px;
}

.post-type-archive-blog .p-sidebar {
    display: none;
}

.c-postAuthor.p-postList__author .c-postAuthor__figure {
    width: 30px;
    height: 30px;
}

.c-postAuthor.p-postList__author span {
    font-size: 16px;
}

/* 投稿者ページ */
.author .l-content.l-container {
    padding-top: 120px;
}

@media (max-width: 767px) {
    main {
        width: 100vw;
    }

    .l-content.l-container {
        padding-top: 120px;
        padding-right: 0;
    }

    .l-content {
        margin-bottom: 0;
        padding-left: 0;
    }

    .l-container {
        padding: 0;
    }

    .l-container__side {
        margin-left: 0;
    }

    /* トップページ */
    .l-footer__copy--home {
        margin-bottom: 14vw;
    }

    /* 下層ページ */
    figure {
        font-size: 1.6rem !important;
    }

    .wp-block-list li {
        font-size: 1.6rem !important;
    }

    /* リベロ情報局 */
    .c-member-header{
        padding-bottom: 0;    
    }

    .c-card-blog {
        flex-direction: column;
    }

    .c-card-blog .c-card-blog__img {
        order: 3;
        position: absolute;
        top: 12px;
        right: 12px;
    }

    .c-postAuthor.p-postList__author .c-postAuthor__figure {
        width: 20px;
        height: 20px;
    }

    .c-postAuthor.p-postList__author span {
        font-size: 1.4rem;
    }

    /* メンバー紹介 */
    .c-member-header {
        padding-top: 0;
    }

    /* 求人情報 */
    .space_saiyo{
        margin-top:24px;
    }
	.p-top {
        margin-top: 32px;
    }

    /* 投稿者ページ */
    .author .l-content.l-container {
        padding-top: 100px;
        width: 90%;
    }
}

/*コンタクトページ追加*/
    .page-template-page-contact .l-content.l-container,
    .page-template-page-Liberosight_contact .l-content.l-container,
    .page-template-page-contact_sougou .l-content.l-container,
    .page-template-page-thanks_contact .l-content.l-container,
    .page-template-page-thanks_contact_sougou .l-content.l-container,
    .page-template-page-thanks_download .l-content.l-container,
    .page-template-page-thanks_liberosight .l-content.l-container {
        display: block;
    }

    .page-template-page-contact .c-title,
    .page-template-page-Liberosight_contact .c-title,
    .page-template-page-contact_sougou .c-title,
    .page-template-page-thanks_contact .c-title,
    .page-template-page-thanks_contact_sougou .c-title,
    .page-template-page-thanks_download .c-title,
    .page-template-page-thanks_liberosight .c-title {
        text-align: center!important;
    }

    .ls_banner {
      max-width: 990px;
      width: 100%;
      background-color: #F3F7FB;
      border-radius: 16px;
      padding: 40px;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-family: 'Noto Sans CJK JP', sans-serif;
      margin: 0 auto;
      margin-bottom:52px;
    }

    .ls_banner-left {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .ls_top-text {
      font-size: 14px;
      font-weight: 500;
      color: #000;
    }

    .ls_logo-line {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .ls_logo-line img {
      height: 32px;
			width: auto!important;
    }

    .ls_brand {
      font-size: 20px;
      font-weight: 700;
      color: #000;
    }

    .ls_bottom-text {
      font-size: 16px;
      font-weight: 700;
      color: #000;
    }

    .ls_arrow {
      width: auto;
      height: 32px;
    }

   /* a {
      text-decoration: none;
      display: block;
    }*/

.lwptoc_toggle a{
      display: inline!important;
}

    /* &#x2705; スマホ対応 */
    @media (max-width: 600px) {
      .ls_banner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 16px 24px;
        width: 100%;
        height: auto;
      }

      .ls_top-text {
        font-size: 13px;
      }

      .ls_brand {
        font-size: 18px;
      }

      .ls_bottom-text {
        font-size: 14px;
      }

      .ls_logo-line img {
        height: 24px;
				width:auto;
      }

      .ls_arrow {
        height: 20px;
      }
			
    .ls_banner-left {
        padding-top: 8px;
    }
}

/*リベロサイトフォーム*/
.logo-libero {
  max-width: 40%;
  height: auto;
  display: block;
	margin: 0 auto;
	margin-bottom:8px;
}
.liberosight__main {
font-size: 24px;
color:#000;
font-weight:600;
}

.text_liberosight {
font-size: 1.6rem;
line-height: 2;
letter-spacing: 0;
font-weight: 500;
margin-bottom: 60px;
text-align:center;
}

.ls-form {
max-width: 990px;
margin: 0 auto 100px;
padding-top: 0;
background: #f3f7fb;
padding: 32px 60px; 
border-radius: 12px;
margin-bottom:32px;
}
@media (min-width: 601px) {
.ls-form input {
background: #fff;
border:none;
border-radius:8px;
}

.ls-form textarea {
background: #fff;
border:none;
border-radius:8px;
}

.ls-form__cau{
    margin-left: 0px;
    color: #3c89d4;
    font-size: 1.25rem;
}


.ls-form__cau2{
    margin-left: 0px;
    color: #747f89;
    font-size: 1.25rem;
}
	
	
.ls-form input::placeholder {
  color: #879196; 
  opacity: 1; 
}

.ls-form textarea::placeholder {
  color: #879196; 
  opacity: 1; 
	}}

.ls-form__submit {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 60%;
    margin: 0 auto;
    padding: 17px;
    border-radius: 30px !important;
    background-color: #000;
    color: #fff;
    font-weight: 700;
    font-size: 2rem;
	margin-top:32px
}


/*チェックボックス*/
/* まずテーマ側の擬似要素だけ無効化 */
input[type="checkbox"]::before,
input[type="checkbox"]::after {
  content: none !important;
}

/* MW WP Form のチェックボックス専用デザイン */
/* チェックボックス初期デザイン */
.mw_wp_form input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 20px !important;
  height: 20px !important;
  border: 1px solid #004AAF !important;
  border-radius: 4px !important;
  margin-right: 12px !important;
  position: relative !important;
  cursor: pointer !important;
  background-color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important; /* ✓のバランス調整 */
  line-height: 1 !important;
  font-family: Arial, sans-serif !important; /* フォントを固定することでズレを防ぐ */
}

/* チェックON時の見た目 */
.mw_wp_form input[type="checkbox"]:checked {
  background-color: #004AAF !important;
  color: #fff !important;
}

/* チェックマークの描画 */
.mw_wp_form input[type="checkbox"]:checked::after {
  content: "✓" !important;
}


.ls-form__radio label {
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    letter-spacing: .1em;
}

/*フォームレスポンシブ*/
@media screen and (max-width: 600px) {
.logo-libero {
  max-width: 60%;
	margin-top:16px;
}
.liberosight__main {
font-size: 20px;
color:#000;
font-weight:600;
}

.text_liberosight {
font-size: 14px;
line-height: 1.8em;
text-align:left;
margin-top:-16px;
	}	
.ls-form {
padding:0px;
	background:none;}
	
.ls-form__cau{
    margin-left: 0px;
    font-size: 1rem;
}
	
.ls-form__cau2{
    margin-left: 0px;
    font-size: 1rem;
}
	
    .ls-form__submit {
        width: 83%;
        padding: 18px;
        font-size: 1.6rem;
    }
}
	

/*Thanks*/
.liberosight__main2{
text-align:center;
}




	

/*面談申込*/
.text_casualform{
font-size: 1.6rem;
line-height: 2;
letter-spacing: 0;
font-weight: 500;
margin-bottom:60px;
}

.title_casualform{
font-size: 2.25rem;
    font-weight: bold;
    margin-bottom: 16px;
    display: inline-block;
    padding: 8px 12px;
    background: #00178f;
    margin-bottom: 40px;
    color: #fff;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 600px) {
.text_casualform{
font-size: 14px;
	line-height: 1.8em;}

	.title_casualform{
font-size: 2rem;
	}}


/*1119改良*/
.p-sidebar__job-information>div.apply-button>a{
font-size:14px;
}

.future_box_l{
margin-top:60px!important;
}
@media screen and (max-width: 768px) {
.future_box_l{
margin-top:0px!important;
	}}


/*スライド*/
.frame {
margin-bottom:60px;
/*border: 2px solid #727272;*/
border-radius: 8px; 
}

.speakerdeck-iframe{
box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 15px;!important}


@media screen and (max-width: 768px) {
.frame {
margin-bottom:40px;
}}



/*行数制限解除*/

.c-card-top__title {
  display: block; 
  overflow: visible; 
  text-overflow: unset;
  white-space: normal !important;  
  line-height: 1.6; 

  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
}


/*記事サムネイルサイズ*/

.c-card__img {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 18px;
    padding-bottom: 0; 
	box-shadow: none;
    aspect-ratio: 1.91 / 1!Important;
}

.c-card-top__img{
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: .8rem;
    padding-bottom: 0; 
	box-shadow: none;
   aspect-ratio: 1.91 / 1!Important;
}

/*タグ全面*/
.c-card-top {
  position: relative;
}

.c-card-top__link {
  z-index: 1; /* 背面に */
}

.c-card-top__cat {
  z-index: 2; /* 前面に */
}

/*サイズ*/

.p-top-reason__rate img {
    height: 30.5rem;
}

.recruit-item img{
width:100%;
height:100%;
}
/*brクラス*/
.br-saiyoupc {
  display: none;
}

@media screen and (min-width: 768px) {
.br-saiyoupc {
    display: inline;
  }
}


/*間隔*/

.c-card-top { position: relative; }
.c-card-top__link {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 5; /* 透明リンク下 */
}

.c-card-top__img-link {
  display: block;   
  line-height: 0;  
  z-index: 10;     
}

/*タグ外へ*/
.c-card-top__date,
.c-card-top__title {
  margin: .05em; 
}


.c-card-top__cat {
position: static; 
  bottom: 10px;
  left: 0;
  display: inline-block;  
  width: auto;  
  max-width: max-content;  
  padding: 5px 10px;
  background-color: #232893;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  border-radius: 100px; 
  line-height: 1;
	white-space: nowrap;  
	margin-bottom:4px;
}

.c-card-top__img {
		margin-bottom:8px;
}


/*フォーム

@media (min-width: 1200px) {
   .p-form {
        max-width: 72vw;
	}}*/



/*プロダクト*/
 .p-top-products__cts {
    z-index: 20;
}

@media (min-width: 821px) {
 .p-top-products__cts {
        width: 50%;
    }
}
 .p-top-products__cts {
    display: inline;
    flex-direction: column;
    justify-content: space-between;
}

@media (min-width: 821px) {
    .p-top-products__img {
     width: 50%;
		border-radius: 3rem !important;
    }
}
@media (min-width: 1200px) {
    .p-top-service__wrap {
        align-items: center;
    }
}

.p-top-products__wrap {
display: flex;
 justify-content: space-between;
 margin-bottom: 80px;
gap:40px;
}

.p-top-products__wrap img{
border-radius:32px;
}

.p-top-products__cts {
    display: flex;
	    justify-content: center;
}

/*レスポンシブ*/
@media (max-width: 820px) {
    .p-top-products__wrap {
        display:grid;
    }
    .p-top-service__title {
		line-height:1.4em;
    }
}