@charset "UTF-8";

:root {
    --main-color: #009b46;
}

:root {
    --btn-color: #ff8b02;
}

:root {
    --bg-color: #fafafa;
}

:root {
    --main-font: "noto-sans-jp", sans-serif;
}

:root {
    --sub-font: "Maven Pro", sans-serif;
}

html {
    font-size: 62.5%;
}

* {
    box-sizing: border-box;
    vertical-align: bottom;
}

body {
    font-family: "Noto Sans JP", "Maven Pro", serif;
    font-style: normal;
    color: #333;
    font-size: 1.6rem;
    font-feature-settings: "palt";
    line-height: 1.65;
    text-transform: capitalize;
    /*letter-spacing: 0.06rem;*/
    letter-spacing: 0.05em;
}

img {
    max-width: 100%;
    height: auto;
}

#adminBox img {
    width: auto;
}

a {
    text-decoration: none;
    color: #333;
}

p {
    margin: 0;
}

table {
    margin: 0;
}

th {
    text-align: unset;
}

ul {
    list-style: none;
    box-sizing: border-box;
}

.sp {
    display: none;
}

.pc {
    display: block;
}

h2 {
    color: #383838;
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

h2 span {
    display: block;
    font-family: var(--sub-font);
    color: var(--main-color);
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 30px;
}

h3 {
  font-weight: 700;
  font-size: 3rem;
  line-height: 20px;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--main-color);
  margin-bottom: 30px;
}

h4 {
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 1.2857142857142858;
  text-align: center;
  color: #333;
  margin-bottom: 50px;
}

h5 {
  font-weight: 700;
  font-size: 2.0rem;
  line-height: 0.8;
  color: var(--main-color);
  margin-bottom: 12px;
}

span {
    /*font-weight: bold;
    background: linear-gradient(transparent 65%, #fff87c 65%);*/
}

.btn,
.btn_arrow {
    display: block;
    position: relative;
    background: var(--btn-color);
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: normal;
    text-align: center;
    max-width: 470px;
    border-radius: 3px;
    margin: 0 auto;
    padding: 15px 0;
}

.btn_arrow::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 9px;
  background: center / contain no-repeat url("../../../img/lp/otsuka/icon-arrow-right.svg");
  margin-left: 20px;
}

.btn_arrow.sp {
    display: none;
}

sup {
  font-size: 0.625em;
}

/*--/SpecializeCss--*/
@media screen and (max-width: 860px) {
    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    .btn_arrow.pc {
        display: none;
    }

    .btn_arrow.sp {
        display: block;
    }
}

/*=========================================================================================*/
header {
    padding: 20px 40px;
    position: absolute;
    z-index: 100;
}

header h1 {
    max-width: 180px;
}

#header {
    height: 86px;
    position: fixed;
    background: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.04);
    z-index: 1000;
}

#header .btnBox {
    max-width: 260px;
}

#header .btnBox a {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 14px;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header .btnBox a .label {
  font-size: 1.2rem;
  line-height: 9.32px;
  letter-spacing: 0;
  background: #FFF;
  color: #FF8B02;
  padding: 4.35px 5px;
  margin-right: 10px;
  border-radius: 2.33px;
  display: inline-block;
}

main {
    padding-top: 86px;
}

/*----fv----*/
#fv {
}

#fv .inner_wrap {
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    min-height: 580px;
}

#fv .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 0 2%;
}

#fv .catch {
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1.4;
}

#fv .catch span {
    color: var(--main-color);
}

#fv .catch_sub {
    font-size: 2rem;
    font-weight: 500;
    margin-top: 50px;
}

#fv .emblem {
    max-width: 192px;
    position: absolute;
    bottom: 20px;
    right: 0;
}

@media screen and (max-width: 1300px) {
    #fv .emblem {
        padding-right: 2%;
        max-width: 210px;
    }
}

@media screen and (max-width: 860px) {
    #fv {
        background: center / cover no-repeat url("../../../img/lp/shikoku_kyujin/fv_sp.jpg");
    }

    #fv .inner {
        min-height: 475px;
        padding: 0 4%;
        top: 45%;
    }

    #fv .inner_wrap {
        min-height: 768px;
    }

    #fv .catch {
        font-size: 4.6rem;
    }

    #fv .catch_sub {
        margin-top: 30px;
    }

    #fv .emblem {
        left: 0;
        padding-right: 0;
        padding-left: 4%;
    }
}

@media screen and (max-width: 440px) {
    #fv .inner_wrap {
        min-height: 530px;
    }

    #fv .catch {
        font-size: 3rem;
    }

    #fv .catch_sub {
        font-size: 1.4rem;
        line-height: 1.8;
        margin-top: 20px;
    }

    #fv .inner {
        top: 58%;
    }

    #fv .emblem {
        width: 40%;
    }
}

/*----cta----*/
.cta {
    background: var(--main-color);
    padding: 50px 36px 36px;
}

.cta .btn .textBox {
    letter-spacing: 0.08em;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 28px 0 25px;
}

.cta .btn .label {
    color: var(--btn-color);
    font-size: 1.8rem;
    font-weight: 700;
    background: #fff;
    text-align: center;
    border-radius: 3px;
    padding: 2px 15px;
    margin-right: 15px;
}

.cta .btn {
    font-size: 2.2rem;
    position: relative;
    padding: 0;
    color: #fff;
    background: var(--btn-color);
    -webkit-box-shadow: 0 5px 0 var(--btn-color);
    box-shadow: 3px 3.5px 0 rgba(164, 89, 0, 1);
    cursor: pointer;
}

/*----ctaTop----*/
.cta .btn-top .textBox {
    padding: 28px 0 15px;
}

a.btn-top .fukidashi {
    position: absolute;
    top: -2.25rem;
    left: calc(47% - 100px);
    display: block;
    width: 230px;
    border: 2px solid var(--btn-color);
    border-radius: 100vh;
    background: #fff;
}

a.btn-top .fukidashi p {
    color: var(--btn-color);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.15rem;
    padding-bottom: 5px;
}

a.btn-top .fukidashi p span {
    vertical-align: text-bottom;
}

a.btn-top .fukidashi p span:first-of-type {
    font-size: 2.5rem;
}

a.btn-top .fukidashi p span:last-of-type {
    font-size: 2rem;
}

a.btn-top .fukidashi:before,
a.btn-top .fukidashi:after {
    position: absolute;
    left: calc(50% - 10px);
    content: "";
}

a.btn-top .fukidashi:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: var(--btn-color) transparent transparent transparent;
}

a.btn-top .fukidashi:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}

small {
    display: block;
    width: 100%;
    background: #1a1e1d;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    padding: 10px 0;
}

@media screen and (max-width: 1200px) {
    h2 {
        font-size: 3rem;
        margin-bottom: 20px;
    }

    h2 span {
        font-size: 1.5rem;
        margin-bottom: 15px;
    }

    #service ul li .imgBox {
        width: 420px;
        right: -100px;
    }
}

@media screen and (max-width: 860px) {
    body {
        font-size: 1.4rem;
    }

    main {
        padding-top: 80px;
    }

    #header {
        padding: 2% 4%;
    }

    #header h1 {
        width: 118px;
    }
  
    #header .btnBox {
        max-width: 188px;
    }
  
    #header .btnBox a {
        font-size: 1.3rem;
        line-height: 13px;
    }
  
    #header .btnBox a .label {
        padding: 3px 4px;
        margin-right: 4px;
    }

    h2 {
        font-size: 2.4rem;
        margin-bottom: 20px;
    }

    h2 span {
        font-size: 1.3rem;
        margin-bottom: 15px;
    }
  
    h3 {
        font-size: 2.4rem;
        line-height: 150%;
        margin-bottom: 20px;
    }
  
    h4 {
        font-size: 2.2rem;
        line-height: 1;
        margin-bottom: 20px;
    }
  
    h5 {
        font-size: 1.8rem;
        line-height: 1;
        margin-bottom: 12px;
    }

    /*----header----*/
    #header {
        height: 80px;
    }

    #header .btnBox {
        /*max-width: 200px;*/
    }

    .btn_arrow::after {
        /*right: 10px;*/
        margin-left: 4px;
    }

    /*----ctaTop----*/
    a.btn-top .fukidashi {
        left: calc(48% - 105px);
    }
}

@media screen and (max-width: 440px) {
    header h1 {
        width: 130px;
    }

    #header .btnBox {
        /*max-width: 175px;*/
    }

    /*----btnHead----*/
    .btn_arrow.sp {
        font-size: 1.3rem;
        padding: 12px 0;
    }

    .btn_arrow::after {
        /*right: 6px;
        width: 4px;*/
    }

    /*----ctaTop----*/
    #ctaTop.cta {
        padding: 45px 0 30px;
    }

    .cta .btn {
        /*font-size: 1.6rem;
        max-width: 300px;*/
    }

    .cta .btn .label {
        font-size: 1.3rem;
        padding: 2px 10px;
        margin-right: 10px;
    }

    a.btn-top .fukidashi p {
        font-size: 1.3rem;
    }

    a.btn-top .fukidashi p span:first-of-type {
        font-size: 1.8rem;
    }

    a.btn-top .fukidashi p span:last-of-type {
        font-size: 1.4rem;
    }

    a.btn-top .fukidashi {
        top: -2rem;
        left: calc(53% - 100px);
        width: 180px;
    }

    .cta .btn .textBox {
        letter-spacing: 0.08rem;
        padding: 20px 0;
    }

    .cta {
        padding: 30px 0;
    }
}

@media screen and (max-width: 380px) {
    header h1 {
        /*width: 120px;*/
    }

    #header .btnBox {
        /*max-width: 160px;*/
    }

    /*----btnHead----*/
    .btn_arrow.sp {
        letter-spacing: 0;
        padding-right: 4px;
    }

    /*----fv----*/
    #fv .inner_wrap {
        min-height: 480px;
    }

    #fv .inner {
        top: 62%;
    }

    #fv .emblem {
        bottom: 10px;
    }

    /*----case----*/
    
}

/* -------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
2025/5/27追加-------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------
------------------------------------------------------------------------------------- */
/*----common----*/
.txt-l {
}

.txt-ll {
  font-size: 1.4166666666666667em;
}

.inner_wrap {
  width: 1380px;
  max-width: calc(100% - (20px * 2));
  margin: 0 auto;
}

.btn-container {
  display: flex;
  justify-content: center;
  gap: 80px;
}

.btn-container.cta {
  background: none;
  padding: 0;
}
.btn-container.cta .btn-wrap {
  width: auto;
}
.btn-container.cta .btn {
  width: 470px;
  height: 90px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
.btn-container.cta.with-remarks .btn {
  width: 476px;
  height: 104px;
}
.cta .btn .textBox {
  font-size: 3.2rem;
  line-height: 1;
  letter-spacing: 0;
  padding: 0;
}
.cta .btn .label {
  font-weight: 700;
  padding: 8px 14px;
  margin-right: 20px;
  line-height: 16px;
  letter-spacing: 0;
}
.cta .btn .remarks {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1;
  margin-top: 16px;
}

.bold {
  font-weight: 700;
}

.underline {
  background: linear-gradient(transparent 65%, #fff87c 65%);
}

@media screen and (max-width: 1300px) {
  .btn-container {
    gap: 20px;
  }
  
  .btn-container.cta .btn-wrap {
    width: 100%;
  }
  
  .btn-container.cta .btn {
    width: auto;
  }
  .btn-container.cta.with-remarks .btn {
    width: auto;
  }
}

@media screen and (max-width: 860px) {
  .txt-l {
    font-size: 1.125em;
  }
  
  .txt-ll {
    font-size: 1.375em;
  }
  
  .inner_wrap {
    max-width: calc(100% - (20px * 2));
  }
  
  .btn-container {
    flex-wrap: wrap;
    gap: 20px;
  }
    
  .btn-container.cta {
  }
  
  .btn-container.cta .btn-wrap {
    width: 100%;
  }
  
  .btn-container.cta .btn {
    max-width: 290px;
    max-height: 70px;
  }
  .btn-container.cta.with-remarks .btn {
    max-width: 335px;
    max-height: 80px;
    width: 100%;
  }
  
  .cta .btn .textBox {
    font-size: 2.4rem;
    line-height: 25.25px;
  }
  
  .cta .btn .label {
    font-size: 1.5rem;
    line-height: 12.63px;
    letter-spacing: 0;
    padding: 6px 9px;
    margin-right: 16px;
  }
  
  .cta .btn .remarks {
    font-size: 1.4rem;
    line-height: 12.63px;
    letter-spacing: 0;
    margin-top: 12.63px;
  }
}

/*----header----*/
header h1 a {
  display: inline-block;
}

#otsuka-lp {
}

/*----mainvisual----*/
.mainvisual {
  margin-bottom: 100px;
}
.mainvisual__inner {
  display: flex;
  height: 700px;
}
.mainvisual__slider {
  /*flex: 1 1 33%;*/
  overflow: hidden;
}
.mainvisual__slider .slick-slide {
  margin: 0;
}
.mainvisual__slider--img {
  /*aspect-ratio: 640 / 700;*/
}
.mainvisual__slider img {
  width: 100%;
  height: 700px;
  object-fit: cover;
}
.mainvisual__center {
  flex: 0 0 624px;
  /*max-width: 624px;*/
  /*width: calc(100vw / (1440 / 624));*/
  background: linear-gradient(180deg, #00429B 0%, #0079C5 100%);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  text-align: center;
  padding: 50px 40px;
}
.mainvisual__center .mainvisual__text {
}
.mainvisual__center .red-line {
  display: inline-block;
  width: 90px;
  height: 12px;
  background: #C82121;
  margin: 0 auto;
  transform: rotate(-30deg);
}
.mainvisual__center .catch, .mainvisual__center .sub {
  font-family: "Zen Kaku Gothic New", "Noto Sans JP", "Maven Pro", sans-serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
}
.mainvisual__center .catch {
  margin-top: 50px;
  font-size: 4.4rem;
}
.mainvisual__center .sub {
  margin: 20px auto 60px;
  font-size: 3.0rem;
}

.mainvisual__center .badge-and-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
.mainvisual__center .badge-and-btn .mainvisual__badge {
  max-width: 160px;
}
.mainvisual__center .badge-and-btn .cta .btn {
  padding: 16px 24px;
  width: 356.89px;
  height: 86.45px;
}
.mainvisual__center .badge-and-btn .cta .btn .textBox {
  font-weight: 700;
  font-size: 2.6rem;
  line-height: 26.9px;
  letter-spacing: 0;
}
.mainvisual__center .badge-and-btn .cta .btn .label {
  font-size: 1.6rem;
  line-height: 13.45px;
  letter-spacing: 0;
}
.mainvisual__center .badge-and-btn .cta .btn .remarks {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 13.45px;
  letter-spacing: 0;
}

@media screen and (max-width: 1440px) {
  .mainvisual__slider--img {
    /*aspect-ratio: 180 / 310;*/
  }
}

@media screen and (max-width: 860px) {
  .mainvisual {
    margin-bottom: 40px;
  }
  .mainvisual__inner {
    flex-wrap: wrap;
    height: auto;
  }
  .mainvisual__slider {
    flex: none;
    width: 50%;
    display: inline-block;
    vertical-align: top;
  }
  .mainvisual__slider--img {
    aspect-ratio: 188 / 310;
  }
  .mainvisual__slider img {
    height: 100%;
  }
  .mainvisual__center {
    order: 3;
    padding: 40px 20px;
    flex: 100%;
    /*max-width: 100%;*/
  }
  .mainvisual__center .red-line {
    width: 44.02px;
    height: 5.87px;
  }
  .mainvisual__center .catch {
    margin-top: 20px;
    font-size: 2.8rem;
    line-height: 1.5;
    letter-spacing: -0.01em;
  }
  .mainvisual__center .sub {
    margin-bottom: 30px;
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .mainvisual__center .badge-and-btn {
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  .mainvisual__center .badge-and-btn .cta .btn {
    width: 100%;
    max-width: 335px;
  }
  .mainvisual__center .badge-and-btn .cta .btn .textBox {
    font-size: 2.4rem;
    line-height: 25.25px;
    letter-spacing: 0;
  }
  .mainvisual__center .badge-and-btn .cta .btn .label {
    font-size: 1.5rem;
    line-height: 12.63px;
    letter-spacing: 0;
    padding: 6px 9px;
    margin-right: 16px;
  }
  .mainvisual__center .badge-and-btn .cta .btn .remarks {
    font-size: 1.4rem;
    line-height: 12.63px;
    letter-spacing: 0;
  }
}

/*----slick（スライド式）----*/
.slick-prev, .slick-next {
  width: 40px;
  height: 40px;
  top: 50%;
}
.slick-prev::before, .slick-next::before {
  background: center / 100% no-repeat url("../../../img/lp/otsuka/sp_arrow_left.svg");
  width: 11px;
  height: 18px;
  left: 50%;
  transform: translateX(-50%);
}
.slick-next::before {
  transform: translateX(-50%) rotate(180deg);
}

@media screen and (max-width: 860px) {
  .slick-slide {
    margin: 0;
  }
}

/*----anchorLink----*/
#anchorLink {
  margin-bottom: 100px;
}

#anchorLink .anchorBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

#anchorLink .anchorBtn a {
  width: 460px;
  height: 60px;
  border: 2px solid var(--main-color);
  border-radius: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 60px 0 60px;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1;
  color: #009B46;
  position: relative;
  transition: .3s;
}
#anchorLink .anchorBtn a::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: center / 100% no-repeat url("../../../img/lp/otsuka/icon-arrow-bottom.svg");
  width: 20px;
  height: 10px;
  right: 30px;
}
#anchorLink .anchorBtn a:hover {
  background: var(--main-color);
  color: #FFF;
}
#anchorLink .anchorBtn a:hover::after {
  background-image: url("../../../img/lp/otsuka/icon-arrow-bottom-white.svg");
}

@media screen and (max-width: 860px) {
  #anchorLink {
    margin-bottom: 40px;
  }
  
  #anchorLink .anchorBtn {
    gap: 15px;
  }
  
  #anchorLink .anchorBtn a {
    font-size: 1.4rem;
    padding: 0 32px;
    height: 40px;
  }
  #anchorLink .anchorBtn a::after {
    background: url(../../../img/lp/otsuka/icon-arrow-bottom-sp.svg) no-repeat center / 100%;
    width: 10px;
    height: 7px;
    right: 12px;
  }
}

/*----introduction----*/
#introduction {
  text-align: center;
  margin-bottom: 107px;
}

#introduction p {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.5833333333333333;
}

@media screen and (max-width: 860px) {
  #introduction {
    margin-bottom: 67px;
  }
  
  #introduction p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

/*----recruitment----*/
#recruitment {
  margin-bottom: 120px;
}

.greenFrame {
  border: 2px solid #009B46;
  border-radius: 10px;
  border: 2px solid #009B46;
  box-shadow: 2px 4px 8px 0px #0000001A;
  padding: 80px 60px 60px;
  position: relative;
}

.greenFrameHeading {
  padding: 13px 50px;
  border-radius: 10px;
  background: linear-gradient(92.08deg, #009B46 -0.64%, #41922A 104.78%);
  text-align: center;
  font-weight: 700;
  font-size: 2.8rem;
  line-height: 100%;
  color: #FFF;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}

#recruitment .companyList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px 70px;
  margin-bottom: 80px;
}

#recruitment .companyList li {
  width: auto;
}

#recruitment .companyList li a {
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.5833333333333333;
  text-decoration: underline;
  color: #004098;
}
#recruitment .companyList li a:hover {
  text-decoration: none;
}

#recruitment .btn-container {
  margin-bottom: 60px;
}

#recruitment .recommendation {
  display: flex;
  padding: 30px 91px;
  justify-content: space-between;
  align-items: center;
  background: #F9FBF7;
  max-width: 1020px;
  margin: 0 auto;
}

#recruitment .recommendation-heading {
  width: 270px;
  min-width: 270px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background: #FFF;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: #009B46;
  position: relative;
}
#recruitment .recommendation-heading::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  transform: translateX(100%);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 16px solid #ffffff;
  border-right: 0;
}

#recruitment .recommendation ul {
  max-width: 485px;
}

#recruitment .recommendation ul li {
  margin-bottom: 10px;
  font-size: 1.8rem;
  line-height: 25px;
  letter-spacing: 0.04em;
  padding-left: 0.7em;
  text-indent: -0.7em;
}
#recruitment .recommendation ul li::before {
  content: "・";
  margin-right: 4px;
}
#recruitment .recommendation ul li:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 1300px) {
  #recruitment .recommendation {
    padding: 30px;
    gap: 20px;
  }
}

@media screen and (max-width: 860px) {
  #recruitment {
    margin-bottom: 60px;
  }
  
  .greenFrame {
    padding: 45px 20px 20px;
  }
  
  .greenFrameHeading {
    padding: 10px 30px;
    font-size: 2.2rem;
    white-space: nowrap;
  }
  
  #recruitment .companyList {
    gap: 30px;
    margin-bottom: 40px;
  }

  #recruitment .companyList li {
  }

  #recruitment .companyList li a {
    font-size: 2.0rem;
    line-height: 1;
  }
  #recruitment .companyList li a:hover {
  }
  
  #recruitment .btn-container {
    margin-bottom: 40px;
  }
  
  #recruitment .recommendation {
    padding: 20px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  
  #recruitment .recommendation-heading {
    padding: 13px;
    font-size: 2.0rem;
  }
  #recruitment .recommendation-heading::after {
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    border-top: 14px solid #ffffff;
    left: 50%;
    bottom: 3px;
    transform: translate(-50%, 100%);
  }
  
  #recruitment .recommendation ul {
  }
  
  #recruitment .recommendation ul li {
    font-size: 1.6rem;
    padding-left: 0.75em;
    text-indent: -0.75em;
  }
}

/*----appeal----*/
#appeal {
  margin-bottom: 100px;
}

#appeal h2 {
  margin-bottom: 60px;
}

#appeal h3 + p {
  font-size: 1.8rem;
  margin-bottom: 80px;
  text-align: center;
  line-height: 36px;
  letter-spacing: 0.05em;
}

#appeal .fieldContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  /*align-items: center;*/
  gap: 40px 50px;
  margin-bottom: 80px;
}

#appeal .fieldDetail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 35px 55.5px;
  gap: 46px;
  background: #F9FBF7;
  border: 1px solid #DDD;
  border-radius: 10px;
  width: calc((100% - 50px) / 2);
}

#appeal .fieldIcon {
  max-width: 100px;
  max-height: 100px;
}

#appeal .fieldText {
}

#appeal .fieldText h5 {
  line-height: 1.5;
}

#appeal .btn-container {
  margin-top: 120px;
}

@media screen and (max-width: 860px) {
  #appeal {
    font-size: 2.8rem;
    margin-bottom: 60px;
  }
  
  #appeal h2 {
    margin-bottom: 30px;
  }
  
  #appeal h3 + p {
    font-size: 1.5rem;
    margin-bottom: 40px;
    letter-spacing: 0;
    text-align: left;
    line-height: 2;
  }
  
  #appeal .fieldContainer {
    gap: 20px;
    margin-bottom: 40px;
  }
  
  #appeal .fieldDetail {
    flex-wrap: wrap;
    justify-content: center;
    padding: 20px;
    gap: 20px;
    width: 100%;
  }
  
  #appeal .fieldIcon {
    max-width: 80px;
    max-height: 80px;
  }
  
  #appeal .fieldText h5 {
    text-align: center;
  }
  
  #appeal .fieldText p {
    font-size: 1.5rem;
    line-height: 24px;
    letter-spacing: 0;
  }
  
  #appeal .btn-wrap {
    margin-top: 0;
  }
  
  #appeal .btn-container {
    margin-top: 0;
  }
}

/*----jobListings----*/
#jobListings {
  padding: 120px 0;
  background: #F9FBF7;
}

#jobListings h2 {
  margin-bottom: 80px;
}

#jobListings .jobWrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 80px 50px;
}

#jobListings .jobListingsCompany {
}
#jobListings .jobListingsCompany.jobSingle {
  width: calc((100% - 50px) / 2);
}

#jobListings .companyName {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  text-align: center;
  color: #FFF;
  padding: 13px;
  background: var(--main-color);
  width: 400px;
  max-width: 100%;
  margin-bottom: 40px;
}

#jobListings .jobContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 50px;
}

#jobListings .jobDetail {
  width: calc((100% - 50px) / 2);
  padding: 40px 50px;
  background: #FFF;
  border-radius: 10px;
  border: 1px solid #DDDDDD;
}
#jobListings .jobSingle .jobDetail {
  width: 100%;
}

#jobListings .jobTitle {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 2.0rem;
  line-height: 150%;
  margin-bottom: 30px;
}

#jobListings .jobImgData {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 30px;
}

#jobListings .jobImg {
  width: 250px;
  max-width: 100%;
}

#jobListings .jobData {
  font-size: 1.6rem;
  line-height: 1;
  width: 283px;
  max-width: 100%;
}

#jobListings .jobData p {
  margin-bottom: 10px;
}
#jobListings .jobData p:nth-of-type(3), jobListings .jobData p:nth-of-type(4) {
  padding-left: 4em;
  text-indent: -4em;
}
#jobListings .jobData p:last-of-type {
  margin-bottom: 0;
}

#jobListings .jobBtn {
}

#jobListings .jobBtn a {
  display: block;
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 2.0rem;
  line-height: 1;
  color: var(--main-color);
  padding: 20px;
  border-radius: 30px;
  border: 2px solid var(--main-color);
  position: relative;
}
#jobListings .jobBtn a::after {
  content: "";
  display: inline-block;
  position: absolute;
  background: center / 100% no-repeat url("../../../img/lp/otsuka/recruitment_arrow.svg");
  right: 30px;
  width: 37px;
  height: 18px;
}

@media screen and (max-width: 860px) {
  #jobListings {
    padding: 60px 0;
  }
  
  #jobListings h2 {
    margin-bottom: 30px;
    text-align: left;
  }
  
  #jobListings .jobWrapper {
    gap: 30px;
  }
  
  #jobListings .jobListingsCompany {
  }
  #jobListings .jobListingsCompany.jobSingle {
    width: 100%;
  }
  
  #jobListings .companyName {
    font-size: 2.2rem;
    line-height: 24px;
    margin-bottom: 20px;
    width: 100%;
  }
  
  #jobListings .jobDetail {
    width: 100%;
    padding: 20px;
  }
  
  #jobListings .jobTitle {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
  
  #jobListings .jobImgData {
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 20px;
  }
  
  #jobListings .jobImg {
    width: 100%;
    max-width: 295px;
  }
  
  #jobListings .jobData {
    font-size: 1.4rem;
  }
  
  #jobListings .jobBtn {
    max-width: 375px;
    margin: 0 auto;
  }
  
  #jobListings .jobBtn a {
    padding: 15px;
    font-size: 1.8rem;
    line-height: 20px;
  }
  #jobListings .jobBtn a::after {
    right: 20px;
  }
}

/*----consultant----*/
#consultant {
  padding: 120px 0;
}

#consultant h2 {
  margin-bottom: 80px;
}

#consultant .consultantIntroduction {
  display: flex;
  justify-content: space-between;
  gap: 80.25px;
  max-width: 1100px;
  margin: 0 auto 107px;
}

#consultant .consultantText {
}

#consultant .consultantText h3 {
  font-size: 2.4rem;
  line-height: 1;
  margin-bottom: 12px;
  text-align: left;
}

#consultant .consultantText p {
  line-height: 2;
}

#consultant .consultantText p + h3, #consultant .consultantText p + p {
  margin-top: 40px;
}

#consultant .consultantImg {
  max-width: 400px;
  margin: 0 auto;
}

#consultant .consultantImg img {
  margin-bottom: 10px;
}

#consultant .greenFrameHeading {
  letter-spacing: 0.1em;
}

#consultant .txtGreen {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 20px;
  text-align: right;
  margin-bottom: 16px;
  color: var(--main-color);
}

#consultant .consultantName {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 20px;
  text-align: right;
}

#consultant .greenFrame {
  max-width: 1100px;
  margin: 0 auto;
}

#consultant ul.canDoList {
  margin-bottom: 40px;
}

#consultant ul.canDoList li {
  font-size: 2.4rem;
  line-height: 200%;
  letter-spacing: 0;
  /*margin-bottom: 10px;*/
  padding-left: 0.6em;
  text-indent: -0.6em;
}
#consultant ul.canDoList li::before {
  content: "・";
  margin-right: 4px;
}

@media screen and (max-width: 860px) {
  #consultant {
    padding: 60px 0;
  }
  
  #consultant h2 {
    margin-bottom: 30px;
    line-height: 1.5;
  }
  
  #consultant .consultantIntroduction {
    flex-wrap: wrap;
    flex-direction: column-reverse;
    justify-content: center;
    margin-bottom: 57px;
    gap: 40px;
  }
  
  #consultant .consultantText p + h3, #consultant .consultantText p + p {
    margin-top: 30px;
  }
  
  #consultant .consultantText p {
    letter-spacing: 0;
    font-size: 1.5rem;
  }
  
  #consultant img {
    margin-bottom: 19px;
  }
  
  #consultant .txtGreen {
    font-size: 1.5rem;
    letter-spacing: 0;
  }
  
  #consultant ul.canDoList {
    margin-bottom: 20px;
  }
  
  #consultant ul.canDoList li {
    font-size: 1.6rem;
    line-height: 25px;
    margin-bottom: 10px;
    letter-spacing: 0.04em;
    padding-left: 0.75em;
    text-indent: -0.75em;
  }
  #consultant ul.canDoList li:last-of-type {
    margin-bottom: 0;
  }
}

/*----flow----*/
#flow {
  background: #f9fbf7;
  padding: 120px 0;
}

#flow h2 {
  margin-bottom: 80px;
}

#flow h2 + p {
  color: #8d8d8d;
  text-align: center;
  margin-bottom: 45px;
}

#flow .inner_wrap {
}

#flow .flowList {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  /*max-width: 1110px;*/
  margin: 0 auto;
}

#flow .flowList li {
  display: grid;
  max-width: 180px;
}

#flow .flowList li figure {
  max-width: 180px;
  position: relative;
  z-index: 100;
  margin-bottom: 20px;
}

#flow .flowList li figure::before {
  content: "1";
  background: var(--main-color);
  font-family: var(--sub-font);
  color: #fff;
  font-size: 2.8rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  width: 48px;
  height: 48px;
  border-radius: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
}

#flow .flowList li:nth-of-type(2) figure::before {
  content: "2";
}

#flow .flowList li:nth-of-type(3) figure::before {
  content: "3";
}

#flow .flowList li:nth-of-type(4) figure::before {
  content: "4";
}

#flow .flowList li:last-of-type figure::before {
  content: "5";
}

#flow .flowList li figure::after {
  content: "";
  display: block;
  background: url("../../../img/lp/shikoku_kyujin/care-dots.svg") no-repeat center center / contain;
  width: 140px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 99%;
  z-index: -99;
}

#flow .flowList li:last-of-type figure::after {
  display: none;
}

#flow .flowList li .textBox {
  text-align: center;
}

#flow .flowList li .textBox h5 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  min-height: 60px;
  display: flex;
  justify-content: center;
  color: #333;
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: 10px;
}

#flow .flowList li .textBox p {
  font-size: 1.4rem;
  line-height: 1.5;
  text-align: left;
}

@media screen and (max-width: 1200px) {
  #flow .flowList {
    padding: 0 2%;
  }

  #flow .flowList li .textBox h5 {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 1100px) {
  #flow .flowList li,
  #flow .flowList li figure {
    max-width: 140px;
  }

  #flow .flowList li figure::before {
    width: 40px;
    height: 40px;
    font-size: 2.2rem;
  }

  #flow .flowList li .textBox h5 {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 860px) {
  #flow {
    padding: 60px 0;
  }
  
  #flow .inner_wrap {
  }

  #flow .flowList li {
    max-width: 140px;
  }

  #flow .flowList li .textBox h5 {
    font-size: 1.6rem;
    height: 30px;
  }

  #flow .flowList li .textBox p {
    font-size: 1.4rem;
  }

  #flow .flowList li figure::before {
    font-size: 2rem;
    width: 40px;
    height: 40px;
  }

  #flow h2 {
    margin-bottom: 30px;
    line-height: 1.5;
  }

  #flow h2 + p {
    font-size: 1.3rem;
    margin-bottom: 20px;
  }

  #flow .flowList {
    display: block;
    max-width: fit-content;
    margin: 0 auto;
  }

  #flow .flowList li {
    display: flex;
    align-items: center;
    max-width: unset;
    margin-bottom: 40px;
  }

  #flow .flowList li:last-of-type {
    margin-bottom: 0;
  }

  #flow .flowList li .textBox h5 {
    font-size: 1.8rem;
    line-height: 24px;
    display: block;
    height: auto;
    min-height: auto;
  }

  #flow .flowList li figure {
    max-width: 110px;
    margin-bottom: 0;
  }

  #flow .flowList li figure::after {
    width: 120px;
    height: 6px;
    top: 100px;
    left: calc(87% - 100px);
    transform: rotate(-90deg);
  }

  #flow .flowList li .textBox {
    text-align: left;
    width: fit-content;
    margin-left: 20px;
    padding-top: 0;
  }

  #flow .flowList li figure::before {
    font-size: 1.7rem;
    width: 32px;
    height: 32px;
  }
}

@media screen and (max-width: 440px) {
  #flow .inner_wrap {
  }

  #flow .flowList li {
    margin-bottom: 35px;
  }

  #flow .flowList li figure {
    max-width: 110px;
  }

  #flow .flowList li figure::before {
    font-size: 1.6rem;
    width: 30px;
    height: 30px;
  }

  #flow .flowList li .textBox {
    width: 185px;
  }

  #flow .flowList li .textBox p {
    /*padding-top: 8px;*/
    line-height: 1.45;
  }
}

/*----faq----*/
#faq {
  padding: 120px 0;
}

#faq h2 {
  margin-bottom: 80px;
}

#faq .faqList {
}

#faq ul.faqList li {
  padding-bottom: 30px;
  border-bottom: 1px dashed #CCC;
  margin-bottom: 30px;
  position: relative;
}
#faq ul.faqList li:last-of-type {
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 0;
}
#faq ul.faqList li::before, #faq ul.faqList li::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 4px;
  top: 20px;
  right: 15px;
  left: auto;
  background: var(--main-color);
  transition: all .4s ease-in-out;
}
#faq ul.faqList li::before {
  transform: rotate(90deg);
}
#faq ul.faqList li.open::before {
  transform: rotate(180deg);
}

#faq ul.faqList li .faqQ, #faq ul.faqList li .faqA {
  display: flex;
  align-items: center;
}
#faq ul.faqList li .faqQ {
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1;
  color: var(--main-color);
  cursor: pointer;
}
#faq ul.faqList li .faqQ::before, #faq .faqA::before {
  min-width: 28px;
  min-height: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 8px;
  border-radius: 4px;
}
#faq ul.faqList li .faqQ::before {
  content: "Q";
  background: var(--main-color);
  color: #FFF;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 20px;
  align-items: flex-start;
}
#faq ul.faqList li .faqA {
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 200%;
  margin-top: 22px;
  /*display: none;*/
}
#faq ul.faqList li .faqA::before {
  content: "A";
  background: #FFF;
  color: var(--main-color);
  border: 1px solid;
  font-weight: 700;
  font-size: 2.0rem;
  line-height: 1;
}

@media screen and (max-width: 860px) {
  #faq {
    padding: 60px 0;
  }
  
  #faq h2 {
    margin-bottom: 30px;
  }
  
  #faq ul.faqList li {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  #faq ul.faqList li:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  #faq ul.faqList li::before, #faq ul.faqList li::after {
    top: 12px;
  }
  
  #faq ul.faqList li .faqQ, #faq ul.faqList li .faqA {
    align-items: flex-start;
  }
  #faq ul.faqList li .faqQ {
    font-size: 1.6rem;
    line-height: 150%;
    letter-spacing: 0;
  }
  #faq ul.faqList li .faqQ span {
    padding-right: 50px;
  }
  
  #faq ul.faqList li .faqA {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0;
    margin-top: 10px;
  }
}

/*----cta_bottom----*/
#ctaBottom {
  width: calc(100% - (40px * 2));
  margin: 0 auto;
  margin-top: 40px;
  border-radius: 10px;
}

#ctaBottom p {
  /*font-weight: 400;
  font-size: 2.0rem;
  line-height: 33px;
  margin-bottom: 30px;*/
  color: #FFF;
  text-align: center;
}

#ctaBottom p {
  text-align: center;
  line-height: 33px;
}

#ctaBottom .heading {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 12px;
}

#ctaBottom .text {
  font-size: 2.0rem;
  margin-bottom: 30px;
}

.cta.cta_bottom {
  border-radius: 10px;
}

@media screen and (max-width: 860px) {
  #ctaBottom {
    padding: 40px 20px;
    margin-top: 0;
    width: 100%;
    border-radius: 0;
  }
  
  #ctaBottom .heading {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: 0;
    margin-bottom: 20px;
  }
  
  #ctaBottom .text {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0;
    margin-bottom: 30px;
  }
}
/*@media screen and (max-width: 440px) {
  #ctaBottom .text {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }

  #ctaBottom {
    width: 100%;
    border-radius: 0;
    margin-top: 0;
    padding: 35px 0 40px;
  }
}*/

/*----footer----*/
#footer::before {
  content: "";
  display: block;
  border: solid 1px #eee;
  margin: 120px 0 50px;
}

#footer .inner_wrap {
  width: 1380px;
  max-width: calc(100% - (20px * 2));
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 0 80px;
}

#footer .company img {
  max-width: 260px;
}

#footer .company p {
  font-size: 1.3rem;
  padding-top: 40px;
}

#footer .privacy {
  width: 50px;
}

#footer .pageTop {
  position: fixed;
  right: 45.5px;
  bottom: 90px;
  width: auto;
}

#footer .pageTop a {
  display: inline-block;
  text-align: center;
}

#footer .pageTop img {
  width: 60px;
  height: 60px;
}

#footer .pageTop span {
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 100%;
  color: #3A942E;
  margin-top: 4px;
  display: block;
}

@media screen and (max-width: 860px) {
  #footer::before {
    margin-top: 80px;
  }

  #footer .inner_wrap {
    max-width: fit-content;
    display: block;
    text-align: center;
  }

  #footer .company p {
    padding: 30px 0;
  }

  #footer .privacy {
    margin: 0 auto;
  }
  
  #footer .pageTop {
    right: 20px;
    bottom: 50px;
  }
  
  #footer .pageTop span {
    font-size: 1.3rem;
  }
}

@media screen and (max-width: 440px) {
  #footer::before {
    margin-top: 60px;
  }

  #footer .inner_wrap {
    padding: 0 0 40px;
  }
}