@charset "UTF-8";

/*------------------------------------------------------------
  PCSP調整
------------------------------------------------------------*/
.pc-only {display: none;}
.sp-only {display: block;}
.pc-block {display: none;}
.sp-block {display: block;}
.pc-inline {display: none;}
.sp-inline {display: inline;}
.pc-hidden {display: block;}

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


/* ================================================
   ボタン共通
================================================ */
.section-cta-wrap {display: flex;justify-content: center;padding: 40px 0px 4px;}
.btn-primary {display: inline-flex;align-items: center;justify-content: center;gap: 8px;background:#009B46;color: #fff;font-size: 16px;font-weight: 700;border-radius: 50px;padding: 14px 32px;cursor: pointer;border: none;transition: opacity 0.2s;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);position: relative;}
.btn-primary::after{content: "";background: url(../img/area/ehime-new/arrow_w_r.svg) no-repeat center/contain;width: 6px;height: 9px;position: absolute;display: block;right: 27px;top: 50%;transform: translateY(-50%);}
.btn-primary:hover {opacity: 0.85;}

.btn-orange {display: inline-flex;align-items: center;justify-content: center;gap: 8px;background:#F56E00;color: #fff;font-size: 16px;font-weight: 700;border-radius: 50px;padding: 14px 32px;cursor: pointer;border: none;transition: opacity 0.2s;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);position: relative;}
.btn-orange::after{content: "";background: url(../img/area/ehime-new/arrow_w_r.svg) no-repeat center/contain;width: 6px;height: 9px;position: absolute;display: block;right: 27px;top: 50%;transform: translateY(-50%);}
.btn-orange:hover {opacity: 0.85;}
.btn-orange.in-balloon{}
.btn-orange.in-balloon img{position: absolute;top: -14px;left: 50%;transform: translateX(-50%);}
.btn-wide {/*min-width: 287px;*/width: 100%;}
.arrow {font-size: 14px;}

@media screen and (min-width: 520px){
  .section-cta-wrap {display: flex;justify-content: center;padding: 40px 0px;}
  .btn-orange::after{content: "";background: url(../img/area/ehime-new/arrow_w_r.svg) no-repeat center/contain;width: 6px;height: 9px;position: absolute;display: block;right: 27px;top: 50%;transform: translateY(-50%);}
  .btn-wide {min-width: 320px;width: auto;}
}

/* ================================================
  一部共通
================================================ */
  .info .newjob_ctabtn{margin-top: 32px;}
  .tel-link{width: fit-content;}


@media screen and (min-width: 520px){
  .info{margin-bottom: 80px;}
  .info .section-cta-wrap{padding-bottom: 20px;}
  .info .newjob_ctabtn{margin-top: 16px;}
  .tel-link{pointer-events: none;}
}

/* -------------------------------
  メインビジュアル
-------------------------------- */
.mainvisual img{width: 100%; max-width: 100%;}

/* -------------------------------
  優良企業ロゴスライダー
-------------------------------- */
.logos-slider-unit{margin: 8px 0 20px;}
.logos-slider-unit h3{font-size: 1.5rem;text-align: center;font-weight: bold;color: #002A22;margin-bottom: 4px;line-height: 1.6;}

.logos-slider-unit .logos-slider{margin-bottom: 4px;}
.logos-slider-unit .logos-slider .logo-item{width: 91px;height: 32px;}
.logos-slider-unit .logos-slider .logo-item img{width: 100%;height:100%;max-width: 67px;object-fit: contain;display: block;margin: auto;}

.logos-slider-unit .link-kigyou{color: #009B46;font-size: 1.4rem;line-height: 1.6;width: fit-content;margin: auto;padding-bottom: 4px;position: relative;display:flex;justify-content: center;align-items: center;}
.logos-slider-unit .link-kigyou img{margin-left: 14px;}
.logos-slider-unit .link-kigyou::after{content:"";height: 1px;width: 100%;background:#009B46;display: block;position: absolute;bottom: 0;}

@media screen and (min-width: 520px) {
  .logos-slider-unit{margin: 24px 0 32px;}
  .logos-slider-unit h3{font-size: 2rem;margin-bottom: 33px;}
  .logos-slider-unit .logos-slider{margin-bottom:33px;}
  .logos-slider-unit .logos-slider .logo-item{width: 180px;height: 63px;}
  .logos-slider-unit .logos-slider .logo-item img{max-width: 119px;}
}


/* -------------------------------
  新着求人
-------------------------------- */
.info .city_area{color: #009B46;margin: 20px 0;font-size: 1.4rem;font-weight: 400;}

.info.newjob_section{background: #F2F7F1;padding: 64px 0;}

.newarrival__list_genre {display: flex;justify-content: flex-start;gap: 8px;margin-bottom: 8px;}
.info-list__tag li{width: auto;padding: 4px 9px;line-height: 1;font-size: 1.2rem;font-weight: 500;}
.info-list__tag .newarrival__list_new {background: #F01D1D;color: #FFF;}
.info-list__tag .newarrival__list_pickup {background: #F84F14;color: #FFF;}
.info-list__tag .newarrival__list_haken {background: #FFF;border: 1px solid #5AC080;color: #5AC080;}
.info-list__tag .newarrival__list_syoukai {background: #FFF;border: 1px solid #78B70A;color: #78B70A;}
.info-list__tag .newarrival__list_syain {background: #FFF;border: 1px solid #2C74D8;color: #2C74D8;}
.info-list__tag .newarrival__list_syokutaku {background: #FFF;border: 1px solid #A06960;color: #A06960;}
.info-list__tag .newarrival__list_keiyaku {background: #FFF;border: 1px solid #835CBD;color: #835CBD;}

.info-list__ttl{margin-bottom: 12px;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}

.info-list__name,.info-list__city,.info-list__wage{font-size: 1.4rem;margin-right: 16px;display: block;}
.info-list__name::before,.info-list__city::before,.info-list__wage::before{content:"";display: inline-block;margin-right:8px;aspect-ratio: 1/1;width: 16px;transform: translateY(2px);}
.info-list__name::before{background: url(../img/area/ehime-new/icon_category01.svg) no-repeat center/contain;}
.info-list__city::before{background: url(../img/area/ehime-new/icon_category02.svg) no-repeat center/contain;}
.info-list__wage::before{background: url(../img/area/ehime-new/icon_category03.svg) no-repeat center/contain;}

@media screen and (min-width: 520px){
  .info.newjob_section{background: #F2F7F1;padding: 80px 0;}
  .info-list__name,.info-list__city,.info-list__wage{display: inline-block;}
}

/* ================================================
   理由セクション
================================================ */
.reason-section {
  background: linear-gradient(145deg,rgba(255, 252, 235, 1) 0%, rgba(241, 228, 175, 1) 100%);
  padding: 64px 20px;
  margin-bottom: 64px;
}

.reason-top {
  display: block;
  margin-bottom: 16px;
}

.reason-heading-area {
  flex: 0 0 548px;
  margin-bottom: 10px;
}

.reason-first-card {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.reason-cards {
  display:block;
  margin-bottom: 40px;
}

.reason-card {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 16px;
}
.reason-card:last-of-type{margin-bottom: 0;}

.reason-main-img {
  width: 100%;
  height: auto;
  display: block;
  
}

.reason-card-inner {
  padding: 28px 28px 32px;
  text-align: center;
}

.reason-card-icon {
  width: 190px;
  height: 152px;
  display: block;
  margin: 0 auto 20px;
}

.reason-card-title {
  font-size: 20px;
  font-weight: 700;
  color: #009B46;
  line-height: 1.4;
  margin-bottom: 16px;
}

.reason-card-body {
  font-size: 1.4rem;
  line-height: 1.75;
  text-align: left;
  color: #000;
}

.text-green {
  color: #009B46;
  font-weight: 700;
}

.reason-cta {
  text-align: center;
}

.cta-note {
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 12px;
}

.reason-cta-btns {
  display: block;
  gap: 16px;
  justify-content: center;
}

.reason-cta-btns a:first-of-type{margin-bottom:16px;}

@media screen and (min-width: 520px){
  .reason-section {
    padding: 80px 60px;
    margin-bottom: 100px;
  }
  
  .reason-top {
    display: flex;
    gap: 24px;
    align-items: stretch;
    margin-bottom: 32px;
  }
  
  .reason-heading-area {
    flex: 0 0 548px;
    max-width: 50%;
    padding-left: 24px;
    box-sizing: border-box;
  }
  
  .reason-first-card {
    flex: 1;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  }
  
  .reason-cards {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 32px;
  }
  
  .reason-card {
    flex: 1;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  }
  
  .reason-main-img {
    width: 100%;
    height: auto;
    display: block;
  }
  
  .reason-card-inner {
    padding: 28px 28px 32px;
    text-align: center;
  }
  
  .reason-card-icon {
    width: 190px;
    height: 152px;
    display: block;
    margin: 0 auto 20px;
  }
  
  .reason-card-title {
    font-size: 2rem;
    font-weight: 700;
    color: #009B46;
    line-height: 1.4;
    margin-bottom: 8px;
  }
  
  .reason-card-body {
    font-size: 16px;
    line-height: 1.75;
    text-align: left;
    color: #000;
  }
  
  .text-green {
    color: #009B46;
    font-weight: 700;
  }
  
  .reason-cta {
    text-align: center;
  }
  
  .cta-note {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 12px;
  }
  
  .reason-cta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
  }
  .reason-cta-btns a:first-of-type{margin-bottom:0;}
}

/* ================================================
   転職イベント
================================================ */
.info .desc{font-size: 1.6rem;margin-top: 16px;}
.info .info-content__ttl{font-size: 2.4rem;}
@media screen and (min-width: 520px){
  .info .desc{font-size: 1.8rem;margin-top: 20px;}
}


/* ================================================
   ご利用の流れセクション
================================================ */
.flow-section {
  /* background:#F2F7F1; */
  /* padding-top: 64px; */
  /* padding-bottom: 64px; */
  margin-bottom: 80px;
}
.flow-content {padding: 0 20px;}

.flow-content .info-content__ttl{margin-bottom: 24px;font-size: 2.4rem;line-height: 1.5;}

.flow-content .lead-tit{color: #009B46;font-size: 1.6rem;font-weight: 700;margin-bottom: 4px;line-height: 1.6;}
.flow-content .lead-desc{font-size: 1.4rem;font-weight: 400;margin-bottom: 24px;line-height: 1.75;}


/* CTA バナー */
.flow-cta-banner {
  background: url('../img/area/ehime-new/flow_cta_bg.png') center / cover no-repeat;
  border-radius: 8px;
  margin-bottom: 24px;
  padding: 32px 24px;
}

.flow-cta-inner {
  display: block;
  gap: 24px;
  max-width: 677px;
  margin: auto;
}

.flow-cta-text{
  margin-bottom: 40px;
}

.flow-cta-title {
  font-size:2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
  text-align: center;
}

.flow-cta-desc {
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.7;
  
}

.flow-cta-btn-wrap {
  text-align: center;
  flex-shrink: 0;
}

.flow-cta-note {
  display: inline-block;
  background: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 20px;
  margin-bottom: 8px;
}

/* フロー図 */
.flow-diagram-wrap {
  position: relative;
}

.flow-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.flow-step {
  background: #FDF8DC;
  border-radius: 8px;
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  min-height: 140px;
  width: calc((100%/2) - (16px/2));
}

.flow-step-1{padding-bottom: 120px;}
.flow-step-2{padding-bottom: 120px;}
.flow-step-3{padding-top: 120px;order: 4;}
.flow-step-3 img{order: 1;}
.flow-step-4{padding-top: 120px;order: 3;}
.flow-step-4 img{order: 1;}

.flow-icon {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
}

.flow-step-num {
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--color-main);
  margin-bottom: 4px;
  letter-spacing: 0.05em;
}

.flow-step-title {
  font-size: 1.6rem;
  font-weight: 700;
  color:#009B46;
  text-align: center;
  margin-bottom: 6px;
  text-align: center;
}

.flow-step-body{
}

.flow-step-desc {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  font-weight: 500;
}

.flow-support {
  position: absolute;
  top: 0;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  pointer-events: none;
  z-index: 2;
}

.flow-support-img {
  width: 165px;
  height: auto;
}

@media screen and (min-width: 520px){
  .flow-section {
    /* background:#F2F7F1; */
    /* padding-top: 80px; */
    /* padding-bottom: 80px; */
    margin-bottom: 100px;
  }
  
  .flow-content {
    padding: 0 60px;
  }
  
  .flow-content .info-content__ttl{
    margin-bottom: 24px;
  }
  
  .flow-content .lead-tit{font-size: 2rem;}
  .flow-content .lead-desc{font-size: 1.6rem;}

  /* CTA バナー */
  .flow-cta-banner {
    background: url('../img/area/ehime-new/flow_cta_bg.png') center / cover no-repeat;
    border-radius: 8px;
    margin-bottom: 24px;
    padding: 32px 56px;
  }
  
  .flow-cta-inner {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    max-width: none;
    justify-content: center;
    margin: auto;
  }
  .flow-cta-text{margin-bottom:0;}
  .flow-cta-title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: left;
  }
  
  .flow-cta-desc {
    font-size: 16px;
    color: #fff;
    line-height: 1.7;
  }
  
  .flow-cta-btn-wrap {
    text-align: center;
    flex-shrink: 0;
  }
  
  .flow-cta-note {
    display: inline-block;
    background: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 12px;
    border-radius: 20px;
    margin-bottom: 8px;
  }
  
  /* フロー図 */
  .flow-diagram-wrap {
    position: relative;
    /* max-width: 1080px;
    margin: auto; */
  }
  
  .flow-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  
  .flow-step {
    border-radius: 8px;
    padding:20px 58px 20px 58px;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    min-height: 140px;
    width: calc((100%/2) - (16px/2));
  }
  
  .flow-step-1 {}
  .flow-step-1 .flow-step-body{margin-right:min(18%, 75px);}

  .flow-step-2 {justify-content: flex-end;}
  .flow-step-2 img{order: 1;}
  .flow-step-2 .flow-step-body{margin-left:min(18%, 75px);}

  .flow-step-3 {order: 4;justify-content: flex-end;}
  .flow-step-3 img {order: 1;}
  .flow-step-3 .flow-step-body{margin-left:min(18%, 75px);}

  .flow-step-4 {order: 3;}
  .flow-step-4 img{order: 0;}
  .flow-step-4 .flow-step-body{margin-right:min(18%, 75px);}

  .flow-icon {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
  }
  
  .flow-step-num {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--color-main);
    margin-bottom: 4px;
    letter-spacing: 0.05em;
  }
  
  .flow-step-title {
    font-size: 20px;
    font-weight: 700;
    color:#009B46;
    text-align: center;
    margin-bottom: 6px;
    text-align: center;
  }
  
  .flow-step-body{
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width:100%;
    text-align: center;
  }
  
  .flow-step-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
    display: inline-block;
    text-align: left;
  }
  
  .flow-support {
    position: absolute;
    top: 0;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
    z-index: 2;
  }
  
  .flow-support-img {
    width: 165px;
    height: auto;
  }
}


/* ================================================
  アクセスセクション
================================================ */
.access-section {
  background: #fff;
  padding:0 20px;
  margin-bottom: 63px;
  margin-top: 68px;
}
.access-section .info-content__ttl{margin-bottom: 24px;font-size: 2.4rem;}
.access-inner {display: block;}
.access-info {margin-bottom: 48px;}

.access-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--color-main);
  margin-bottom: 16px;
}

.access-address {
  font-size: 1.4rem;
  line-height: 1.7;
  margin-bottom: 8px;
}

.access-map-link{color: #009B46;font-size: 1.4rem;line-height: 1.6;width: fit-content;padding-bottom: 4px;position: relative;display:flex;justify-content: center;align-items: center;margin-bottom: 16px;}
.access-map-link img{margin-left: 14px;}
.access-map-link::after{content:"";height: 1px;width: 100%;background:#009B46;display: block;position: absolute;bottom: 0;}
.access-map-link.mt {
  margin-top: 12px;
}

.access-detail {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  font-size: 1.4rem;
  margin-bottom: 20px;
}

.access-detail dt {
  font-weight: 700;
  white-space: nowrap;
}

.access-detail dd {
  line-height: 1.7;
}

.access-office-img-wrap {
  overflow: hidden;
  max-width: 100%;
  width: 340px;
}

.access-office-img {
  width: 100%;
  max-width: 340px;
  height: auto;
}

.access-map-wrap{
  flex: 1;
  min-width: 0;
  aspect-ratio: 335/300;
  max-width: 100%;
}
.access-map-wrap iframe{width: 100%;height: 100%;max-width: 100%;max-height: 100%;}

.access-map-img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  display: block;
}

@media screen and (min-width: 520px){
  .access-section {
    background: #fff;
    padding: 0 60px;
    margin-bottom: 105px;
    margin-top: 100px;
  }
  
  .access-section .info-content__ttl{
    margin-bottom: 24px;
  }
  
  .access-inner {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    align-items: flex-start;
  }
  
  .access-info {max-width: 100%;margin-bottom: 0;}
  
  .access-title {
    font-size: 24px;
    font-weight: 700;
    color: var(--color-main);
    margin-bottom: 16px;
  }
  
  .access-address {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 8px;
  }
  
  .access-map-link{color: #009B46;font-size: 1.4rem;line-height: 1.6;width: fit-content;padding-bottom: 4px;position: relative;display:flex;justify-content: center;align-items: center;}
  .access-map-link img{margin-left: 14px;}
  .access-map-link::after{content:"";height: 1px;width: 100%;background:#009B46;display: block;position: absolute;bottom: 0;}
  .access-map-link.mt {
    margin-top: 12px;
  }
  
  .access-detail {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 16px;
    font-size: 16px;
    margin-bottom: 20px;
  }
  
  .access-detail dt {
    font-weight: 700;
    white-space: nowrap;
  }
  
  .access-detail dd {
    line-height: 1.7;
  }
  
  .access-office-img-wrap {
    overflow: hidden;
    max-width: 100%;
    width: 340px;
  }
  
  .access-office-img {
    width: 100%;
    max-width: 340px;
    height: auto;
  }
  
  .access-map-wrap{
    flex: 1;
    min-width: 0;
    aspect-ratio: 640/441;
    margin-left: 60px;
    /* max-width: 640px; */
  }
  .access-map-wrap iframe{width: 100%;height: 100%;max-width: 100%;max-height: 100%;}
  
  .access-map-img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    display: block;
  }
}


/* ================================================
   コラムセクション
================================================ */
.column-section {
  background:#F2F7F1;
  padding: 64px 20px;
  margin-bottom: 80px;
}

.column-label {
  font-size: 1.2rem;
  font-weight: 500;
  color:#82BC27;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
  text-align: center;
  text-transform: uppercase;
}
.section-title{font-size: 2rem;text-align: center;color: #009B46;font-weight: 700;margin-bottom: 24px;}

.column-lead{text-align: left;padding:0 24px}

.column-list {
  display:block;
  margin-top: 24px;
  margin-bottom: 8px;
}

.column-item {
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 16px;
}

.column-link {
  display: flex;
  gap: 16px;
  padding: 16px;
  transition: opacity 0.2s;
}

.column-link:hover {
  opacity: 0.75;
}

.column-thumb {
  flex: 0 0 120px;
  height: 80px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.thumb-text {
  font-size: 11px;
  font-weight: 700;
  color: #555;
  text-align: center;
  line-height: 1.4;
  padding: 4px;
}

.column-body {
  flex: 1;
  min-width: 0;
}

.column-title {
  font-size: 16px;
  font-weight: 700;
  color: #000;
  line-height: 1.5;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.column-date {
  font-size: 12px;
  color:#7B7B7B;
}

@media screen and (min-width: 520px){
  .column-section {
    padding: 80px 60px 40px;
  }
  .section-title{font-size: 2.4rem;}
  .column-lead{text-align: center;padding: 0;}
  .column-list {
    display:flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  .column-item{
    margin: 0;
    width: calc((100%/2) - (16px/2));
  }
}


/* ================================================
   CTAセクション
================================================ */
.cta-section {
  background: url(../img/area/ehime-new/flow_cta_bg.png) center / cover no-repeat;
  /* margin-bottom: 64px; */
  padding: 32px 24px;
}

.cta-inner {
  display: block;
  max-width: 677px;
  margin: auto;
}

.cta-text{margin-bottom: 40px;}
.cta-heading {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 16px;
  text-align: center;
}

.cta-desc {
  font-size: 1.4rem;
  color: #fff;
  line-height: 1.7;
  margin-left: 1.5em;
}

.cta-btn-wrap {
  flex-shrink: 0;
  text-align: center;
}

.cta-main-btn {
  font-size: 16px;
}

@media screen and (min-width: 520px){
  .cta-section {
    background: url(../img/area/ehime-new/flow_cta_bg.png) center / cover no-repeat;
    /* margin-bottom: 100px; */
    padding: 60px 56px;
  }
  
  .cta-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    max-width:none;
    justify-content: center;
    margin: auto;
  }
  .cta-text{margin-bottom: 0;}
  .cta-heading {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: left;
  }
  
  .cta-desc {
    font-size: 16px;
    color: #fff;
    line-height: 1.7;
    margin-left: 0;
  }
  
  .cta-btn-wrap {
    flex-shrink: 0;
    text-align: center;
  }
  
  .cta-note-badge {
    font-size: 12px;
    font-weight: 700;
    color: #000;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
  }
  
  
  .cta-main-btn {
    font-size: 16px;
  }
}



/*------------------------------------------------------------
    faq
------------------------------------------------------------*/
.faq{margin-bottom: 100px!important;;}

.faq .info-content__ttl{margin-bottom: 20px;}

.faq__wrap {
  display: flex;
  flex-direction: column;
}

.faq__wrap .items_wrap{
  border: 1px solid #E0E0E0;
  border-radius: 4px;
  margin-bottom: 12px;
  padding: 12px;
}

.faq__wrap .faq__question {
  display: flex;
  justify-content: flex-start;
  font-size: 1.4rem;
  font-weight: 700;
  gap: 12px;
  position: relative;
  padding: 0 46px 0 0;
  cursor: pointer;
}
.faq__wrap .faq__question::before {
  content: "Q";
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 32px;
  height: 32px;
  font-size: 1.8rem;
  font-weight: 500;
  background: #009B46;
  border-radius: 50%;
  color: #FFF;
  flex-shrink: 0;
  padding-bottom: 2px;
  font-family:"Maven Pro","abi",sans-serif;
}
.faq__wrap .faq__question::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 18px;
  height: 18px;
  background: url("../img/area/ehime-new/icon_accordion.svg") center/cover no-repeat;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: center;
  /* transition: transform 0.3s ease; */
}
.faq__wrap .faq__question.is-active::after {
  /* transform: translateY(-50%) rotate(45deg); */
  transform: translateY(-50%) rotate(0deg) scale(1, 0.1);
  background: #009b46;
}

.faq__wrap .faq__answer {
  display: none;
  border-top: 1px solid #E0E0E0;
  padding-top: 8px;
  margin-top: 8px;
}
.faq__wrap .faq__answer p {
  display: flex;
  justify-content: flex-start;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  gap: 12px;
  padding: 0;
  margin-bottom: 20px;
}
.faq__wrap .faq__answer p::before {
  content: "A";
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 32px;
  height: 32px;
  font-size: 1.8rem;
  font-weight: 500;
  background: #F2F7F1;
  border-radius: 50%;
  color: #009B46;
  flex-shrink: 0;
  padding-bottom: 2px;
  font-family:"Maven Pro","abi",sans-serif;

}

.faq__wrap .faq__answer:last-of-type p {
  margin-bottom: 0;
}

@media screen and (min-width: 520px) {
  .faq{margin-bottom: 100px!important;}
  .faq__wrap .faq__question {
    font-size: 1.6rem;
    gap: 16px;
    align-items: center;
  }
  .faq__wrap .faq__question::before {
    width: 42px;
    height: 42px;
    font-size: 2.2rem;
  }
  .faq__wrap .faq__question::after {
    width: 20px;
    height: 20px;
    right: 28px;
  }
  .faq__wrap .faq__answer {
    padding-top: 16px;
    margin-top: 16px;
  }
  .faq__wrap .faq__answer p {
    font-size: 1.6rem;
    line-height: 1.6;
    margin-bottom: 32px;
  }
  .faq__wrap .faq__answer p::before {
    width: 42px;
    height: 42px;
    font-size: 2.4rem;
  }
}