@charset "UTF-8";
/*---------------------------------------------------------
base
---------------------------------------------------------*/
.mv:before {
  display: none;
}
.mv .page-title {
  text-align: center;
}
.mv .page-title small {
  display: block;
  font-size: 2.8rem;
}
@media print, screen and (min-width: 768px) {
  .mv .page-title small {
    font-size: 28px;
  }
}

.container {
  letter-spacing: 0.075em;
}
@media print, screen and (min-width: 768px) {
  .container:before {
    left: 0;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    width: calc( 50% + 66.0rem );
    border-radius: 0 0.6rem 0 0;
  }
}

.breadcrumb {
  text-align: left;
}

/*---------------------------------------------------------
parts
---------------------------------------------------------*/
.jf-sec {
  margin-top: 13.0rem;
}
@media print, screen and (min-width: 768px) {
  .jf-sec {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 14.0rem;
  }
}
.jf-sec .jf-title {
  position: relative;
  font-size: 4.4rem;
  font-family: "游明朝", YuMincho, 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  text-align: center;
  padding-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  .jf-sec .jf-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 110px;
    font-size: 36px;
    letter-spacing: 0.2em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    padding-top: 3.0rem;
  }
}
.jf-sec .jf-title:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #00adba;
  width: 6.0rem;
  height: 1px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media print, screen and (min-width: 768px) {
  .jf-sec .jf-title:before {
    width: 1px;
    height: 60px;
    -webkit-transform: translateX(0);
    transform: translateX(0);
    left: auto;
    right: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .jf-sec .jf-body {
    width: 96.0rem;
    margin-top: 5.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  .jf-sec:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    padding-right: 5.0rem;
  }
}

/*---------------------------------------------------------
jf-about
---------------------------------------------------------*/
#jf-about {
  position: relative;
  padding-top: 5.5rem;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  #jf-about {
    padding-top: 10.0rem;
  }
}
#jf-about:before {
  position: absolute;
  display: block;
  content: " ";
  background: no-repeat center center / contain;
  width: 44.1rem;
  height: 48.2rem;
  width: 58.8vw;
  height: 64.2666666667vw;
  top: 0;
  right: -4.0rem;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  #jf-about:before {
    background-image: url(../img/jfscp/jf-about-bg-sp.jpg);
  }
}
@media print, screen and (min-width: 768px) {
  #jf-about:before {
    background-image: url(../img/jfscp/jf-about-bg-pc.jpg);
    width: 66.0rem;
    height: 88.2rem;
    top: 20.4rem;
    right: -6.0rem;
  }
}
#jf-about #jf-about-catch {
  width: 23.7333333333vw;
  margin-left: 6.9333333333vw;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-catch {
    width: 14.5rem;
    margin-left: 21.0rem;
  }
}
#jf-about #jf-about-lead {
  margin-top: 14.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-lead {
    margin-top: 5.0rem;
    width: 55.0rem;
    font-size: 18px;
  }
}
#jf-about #jf-about-list {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list {
    margin-top: 5.0rem;
    width: 83.0rem;
  }
}
#jf-about #jf-about-list li {
  position: relative;
}
#jf-about #jf-about-list li:nth-child(n+2) {
  margin-top: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list li:nth-child(n+2) {
    margin-top: 2.0rem;
  }
}
#jf-about #jf-about-list li .num {
  display: block;
  width: 4.2rem;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list li .num {
    position: absolute;
    top: 4.3rem;
    left: 4.0rem;
    width: 25px;
    font-size: 0;
  }
}
#jf-about #jf-about-list li dl {
  margin-top: 3.5rem;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list li dl {
    margin-top: -0.5rem;
  }
}
#jf-about #jf-about-list li dl dt {
  font-size: 3.0rem;
  line-height: 1.6666666667;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.04em;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list li dl dt {
    position: relative;
    font-size: 18px;
    letter-spacing: 0.06em;
    text-align: left;
    padding-left: 85px;
  }
}
#jf-about #jf-about-list li dl dt:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #000000;
  width: 20px;
  height: 1px;
  top: 14px;
  left: 45px;
}
@media only screen and (max-width: 767px) {
  #jf-about #jf-about-list li dl dt:before {
    display: none;
  }
}
#jf-about #jf-about-list li dl dd {
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-about #jf-about-list li dl dd {
    margin-top: 2.0rem;
  }
}

/*---------------------------------------------------------
jf-greet
---------------------------------------------------------*/
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head,
  #jf-greet #jf-greet-table-box {
    padding-left: 19.0rem;
  }
}
#jf-greet .jf-greet-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head {
    position: relative;
    display: block;
  }
}
#jf-greet .jf-greet-head figure {
  width: 15.9rem;
  border-radius: 0.6rem;
  overflow: hidden;
  margin-right: 4.5rem;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head figure {
    position: absolute;
    top: 2.0rem;
    left: 0;
    width: 14.0rem;
  }
}
#jf-greet .jf-greet-head .jf-greet-name-box {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-family: "游明朝", YuMincho, 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head .jf-greet-name-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: -2.0rem;
  }
}
#jf-greet .jf-greet-head .jf-greet-name-box span {
  display: block;
  font-size: 2.6rem;
  color: #00adba;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head .jf-greet-name-box span {
    font-size: 14px;
  }
}
#jf-greet .jf-greet-head .jf-greet-name-box .jf-greet-name {
  font-size: 3.6rem;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head .jf-greet-name-box .jf-greet-name {
    font-size: 24px;
    margin-left: 20px;
  }
}
#jf-greet .jf-greet-head .jf-greet-name-box .jf-greet-name small {
  font-size: 2.6rem;
}
@media print, screen and (min-width: 768px) {
  #jf-greet .jf-greet-head .jf-greet-name-box .jf-greet-name small {
    font-size: 14px;
  }
}
#jf-greet #jf-greet-table-box table {
  margin-top: 5.0rem;
}
@media only screen and (max-width: 767px) {
  #jf-greet #jf-greet-table-box table {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-greet #jf-greet-table-box table {
    margin-top: 2.0rem;
  }
}
#jf-greet #jf-greet-table-box table th, #jf-greet #jf-greet-table-box table td {
  text-align: left;
  vertical-align: top;
  line-height: 1.7307692308;
}
@media only screen and (max-width: 767px) {
  #jf-greet #jf-greet-table-box table th, #jf-greet #jf-greet-table-box table td {
    display: block;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-greet #jf-greet-table-box table th, #jf-greet #jf-greet-table-box table td {
    font-size: 14px;
    line-height: 2;
  }
}
#jf-greet #jf-greet-table-box table th {
  white-space: nowrap;
}
#jf-greet #jf-greet-table-box table td {
  padding-bottom: 2.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-greet #jf-greet-table-box table td {
    padding: 0 0 1.5rem 2em;
  }
}
#jf-greet #jf-greet-txt {
  margin-top: 5.0rem;
  padding-top: 5.0rem;
  border-top: 1px solid #cfedf0;
}
@media print, screen and (min-width: 768px) {
  #jf-greet #jf-greet-txt {
    margin-top: 3.0rem;
    padding-top: 0;
    border: none;
  }
}

/*---------------------------------------------------------
jf-line
---------------------------------------------------------*/
#jf-line {
  position: relative;
  z-index: 1;
}
#jf-line:before {
  position: absolute;
  display: block;
  content: " ";
  background: no-repeat center center / contain;
  width: 12.5rem;
  height: 90.5rem;
  top: -6.5rem;
  right: 0;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  #jf-line:before {
    background-image: url(../img/jfscp/jf-line-bg-sp.gif);
  }
}
@media print, screen and (min-width: 768px) {
  #jf-line:before {
    background-image: url(../img/jfscp/jf-line-bg-pc.gif);
    width: 115.9rem;
    height: 16.1rem;
    top: 22.3rem;
    right: -17.1rem;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list {
    margin-top: 1.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#jf-line #jf-line-list li:nth-child(n+2) {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li:nth-child(n+2) {
    margin-top: 7.0rem;
  }
}
#jf-line #jf-line-list li .num {
  position: relative;
  display: block;
  width: 4.2rem;
  font-size: 0;
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li .num {
    width: 25px;
    -ms-flex-item-align: start;
    align-self: flex-start;
  }
}
#jf-line #jf-line-list li .num:before {
  position: absolute;
  display: block;
  content: " ";
  background-color: #333333;
  width: 6.0rem;
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li .num:before {
    width: 5.0rem;
    left: 5.5rem;
  }
}
#jf-line #jf-line-list li .txt {
  margin-top: 4.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: -15px 0 0 12.0rem;
  }
}
#jf-line #jf-line-list li .txt span {
  font-size: 4.0rem;
  line-height: 1.725;
  font-family: "游明朝", YuMincho, 'Noto Serif JP', "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 600;
  padding-bottom: 0;
  background-size: 1px 100%;
  background-position: 0 100%;
  background-repeat: repeat-x;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#cfedf0), to(#cfedf0));
  background-image: linear-gradient(#cfedf0 0%, #cfedf0 100%);
}
@media print, screen and (min-width: 768px) {
  #jf-line #jf-line-list li .txt span {
    font-size: 24px;
    line-height: 1.8333333333;
    padding: 0.1em 0;
  }
}

/*---------------------------------------------------------
jf-develop
---------------------------------------------------------*/
#jf-develop #jf-line-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 9.0rem -1.6rem -9.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-develop #jf-line-list {
    margin: 0 -1.5rem -9.0rem;
  }
}
#jf-develop #jf-line-list li {
  padding: 1px 3.0rem 3.0rem;
  width: calc( (100% - 6.4rem) / 2 );
  margin: 0 1.6rem 9.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-develop #jf-line-list li {
    width: calc( (100% - 9.0rem) / 3 );
    margin: 0 1.5rem 9.0rem;
  }
}
#jf-develop #jf-line-list li .img {
  display: block;
  width: 12.6rem;
  height: 12.6rem;
  border-radius: 100vw;
  border: 2px solid #cfedf0;
  overflow: hidden;
  margin: -4.8rem auto 0;
}
@media print, screen and (min-width: 768px) {
  #jf-develop #jf-line-list li .img {
    width: 9.6rem;
    height: 9.6rem;
  }
}
#jf-develop #jf-line-list li .txt {
  margin-top: 2.0rem;
  line-height: 1.5384615385;
}
@media print, screen and (min-width: 768px) {
  #jf-develop #jf-line-list li .txt {
    margin-top: 1.5rem;
  }
}

/*---------------------------------------------------------
jf-act
---------------------------------------------------------*/
#jf-act #jf-act-list {
  margin-top: 6.0rem;
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list {
    margin-top: 5.0rem;
    padding: 0;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
#jf-act #jf-act-list li:nth-child(n+2) {
  margin-top: 7.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li:nth-child(n+2) {
    margin-top: 3.0rem;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li figure {
    width: 23.0rem;
  }
}
#jf-act #jf-act-list li .txt-box {
  margin-top: 3.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li .txt-box {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 0 0 3.0rem;
  }
}
#jf-act #jf-act-list li .txt-box .title {
  font-size: 3.2rem;
  line-height: 1.625;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li .txt-box .title {
    font-size: 18px;
    line-height: 1.5555555556;
  }
}
#jf-act #jf-act-list li .txt-box .txt {
  font-size: 3.0rem;
  margin-top: 1.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li .txt-box .txt {
    font-size: 16px;
    margin-top: 0.5rem;
  }
}
#jf-act #jf-act-list li .txt-box .icon-line {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  #jf-act #jf-act-list li .txt-box .icon-line {
    margin-top: 1.0rem;
  }
}

/*---------------------------------------------------------
jf-member
---------------------------------------------------------*/
#jf-member .jf-body {
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-member .jf-body {
    padding: 0;
  }
}
#jf-member #jf-member-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 2.0rem 0 -3.5rem;
}
@media print, screen and (min-width: 768px) {
  #jf-member #jf-member-list {
    margin: 0 0 -1.0rem;
  }
}
#jf-member #jf-member-list li {
  width: 50%;
  margin-bottom: 3.5rem;
}
@media print, screen and (min-width: 768px) {
  #jf-member #jf-member-list li {
    width: 100%;
    margin-bottom: 1.0rem;
  }
}
#jf-member #jf-member-list li:nth-child(n+5) {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  #jf-member #jf-member-list li dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#jf-member #jf-member-list li dl dt {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  #jf-member #jf-member-list li dl dt {
    min-width: 7em;
    padding-right: 0.5em;
  }
}
@media print, screen and (min-width: 768px) {
  #jf-member #jf-member-list li dl dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}
#jf-member .jf-note {
  display: block;
  margin-top: 2em;
}

#jf-btn-box {
  margin-top: 7.0rem;
  padding: 0 5.0rem;
}
@media print, screen and (min-width: 768px) {
  #jf-btn-box {
    margin-top: 8.0rem;
    text-align: center;
  }
}
#jf-btn-box .btn {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.6153846154;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #jf-btn-box .btn {
    width: 60.0rem;
    font-size: 18px;
    line-height: 1.7222222222;
  }
}


