@charset "UTF-8";
/* --------------------------------------------------
  めし丸元気つくし /genkitukusi/ 下層共通
-------------------------------------------------- */
body {
  background: url(../img/genkitukusi/sub-page-title-back.jpg) center/auto;
}
#globalNavi .has-sub > a.genkitukusi {
  color: #ffff00;
}
#sub-page-title .h-image {
  margin: 12px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
}
#sub-page-title h1 span {
  letter-spacing: 0.17em;
}
#sub-page-title h1 strong {
  letter-spacing: 0.12em;
}
#sub-page-title nav li a {
  box-shadow: 0 4px 0 #001141;
}
#sub-page-title nav li a span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
  align-items: center;
  font-size: 3.0rem;
  letter-spacing: 0.17em;
  line-height: 1.2;
}
#sub-page-title nav li a span span {
  font-size: 1.4rem;
  letter-spacing: 0.12em;
}
#sub-page-title nav li:nth-child(1) a {
  padding-left: 112px;
  background: #466da0 url(../img/genkitukusi/nav01.png) no-repeat 17px center / 65px auto;
}
#sub-page-title nav li:nth-child(2) a {
  padding-left: 83px;
  background: #466da0 url(../img/genkitukusi/nav02.png) no-repeat 17px 12px / 61.4px auto;
}
#sub-page-title nav li:nth-child(2) a span {
    letter-spacing: 0.02em;
}
#sub-page-title nav li:nth-child(3) a {
  padding-left: 88px;
  background: #466da0 url(../img/genkitukusi/nav03.png) no-repeat 20px center / 55.8px auto;
  font-size: 1.404rem;
  letter-spacing: .06em;
  line-height: 1.4;
}
#sub-page-title nav li a.active {
  background-color: #001141 !important;
}

.line {
  margin-bottom: 100px;
  text-align: center;
}

@media screen and (max-width: 1000px) {
  #globalNavi .has-sub > a.genkitukusi {
     color: #42210b;
  }
}
@media screen and (max-width: 767px) {
  #sub-page-title::after {
    height: 180vw;
  }
  #sub-page-title h1 span {
    letter-spacing: 0.07em;
  }
  #sub-page-title h1 strong {
    letter-spacing: 0.09em;
  }
  #sub-page-title nav li a {
    width: 110px;
    height: 118px;
  }
  #sub-page-title nav li:nth-child(1) a {
    padding: 10px 0;
    background: #466da0 url(../img/genkitukusi/nav01.png) no-repeat center bottom 5px / auto 54px;
  }
  #sub-page-title nav li:nth-child(2) a {
    padding: 10px 0;
    background: #466da0 url(../img/genkitukusi/nav02.png) no-repeat center bottom -10px / auto 69px;
  }
  #sub-page-title nav li:nth-child(2) a span {
    letter-spacing: 0;
  }
  #sub-page-title nav li:nth-child(3) a {
    padding: 10px 0;
    background: #466da0 url(../img/genkitukusi/nav03.png) no-repeat center bottom 8px / auto 49px;
  }
  #sub-page-title nav li:nth-child(3) a span {
    letter-spacing: 0.04em;
  }
  #sub-page-title nav li:nth-child(3) a span span {
    letter-spacing: 0.07em;
  }
  #sub-page-title nav li a span {
    font-size: 2.0rem;
    letter-spacing: 0.17em;
  }
  #sub-page-title nav li a span span {
    font-size: 1.0rem;
    letter-spacing: 0.04em;
  }
  .line {
    margin-bottom: 60px;
  }
  .line img {
    width: 152px;
    height: auto;
  }
}

/* --------------------------------------------------
  共通
-------------------------------------------------- */
#tokusei {
  padding: 100px 0 160px;
}
#tokusei h2 {
  text-align: center;
  margin-bottom: 60px;
}
#tokusei .point {
  padding-top: 40px;
  display: flex;
  flex-direction: column;
  gap: 100px;
}
#tokusei .point > li {
  padding: 60px 42px;
  width: 100%;
  background: #fff;
  border: solid 4px #79b625;
  border-radius: 20px;
  position: relative;
  list-style: none;
}
#tokusei .point .number {
  width: 80px;
  height: 80px;
  background: #79b625;
  border-radius: 50%;
  color: #fff;
  font-size: 4.5rem;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% -50%;
  padding-bottom: 1%; /* 調整 */
}
#tokusei h3 {
  margin-bottom: 30px;
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.37;
  text-align: center;
}
#tokusei h3 span {
  font-size: 3.0rem;
  display: block;
  line-height: 1.8;
}
#tokusei .point li > img {
  width: 100%;
  height: auto;
}
#tokusei .point li section {
  margin-top: 56px;
}
#tokusei .point h4 {
  margin-bottom: 36px;
  padding: 0 20px;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 2.0;
  border: solid 1px #42210b;
  border-radius: 10vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #tokusei {
    padding: 60px 0 120px;
  }
  #tokusei h2 {
    margin-bottom: 36px;
  }
  #tokusei .point {
    gap: 56px;
  }
  #tokusei .point > li {
    padding: 56px 24px 40px;
  }
  #tokusei .point .number {
    width: 58px;
    height: 58px;
    font-size: 3.6rem;
  }
  #tokusei h3 {
    font-size: 2.4rem;
    letter-spacing: 0.14em;
  }
  #tokusei h3 span {
    font-size: 1.6rem;
    letter-spacing: 0.14em;
  }
  #tokusei .point li section {
    margin-top: 40px;
  }
  #tokusei .point h4 {
    margin-bottom: 20px;
    padding: 8px 0;
    font-size: 1.8rem;
    line-height: 1.3;
    border-radius: 100vw;
  }
}

/* --------------------------------------------------
  01
-------------------------------------------------- */
#tokusei .point01 .s01 .flex {
  display: flex;
  justify-content: space-between;
}
#tokusei .point01 .s01 .right {
  margin-top: -4px;
  width: 39.5%;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
#tokusei .point01 .s01 .right p {
  font-size: 1.97rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
#tokusei .point01 .s01 .right dl {
  display: flex;
  gap: 20px;
}
#tokusei .point01 .s01 .right dl div {
  width: calc(50% - 10px);
}
#tokusei .point01 .s01 .right dt {
  margin-bottom: 10px;
  width: 100%;
  border-radius: 10px;
}
#tokusei .point01 .s01 .right dt img {
  width: 100%;
  height: auto;
}
#tokusei .point01 .s01 .right dd {
  padding: 10px;
  width: 100%;
  border-radius: 10vw;
  background: #42210b;
  color: #fff;
  font-size: 1.97rem;
  line-height: 1;
  text-align: center;
}
#tokusei .point01 .s01 .right div:nth-child(2) dd {
  background: #466da0;
}
#tokusei .point01 .s01 .left {
  width: 55%;
}
#tokusei .point01 .s01 .left img {
  width: 100%;
  height: auto;
}
#tokusei .point01 .s01 .annotations {
  margin-top: 30px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: right;
}

#tokusei .point01 .s02 p {
  margin-bottom: 20px;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-align: center;
}
#tokusei .point01 .s02 .annotations {
  margin-bottom: 40px;
  display: flex;
  gap: 0;
  justify-content: center;
}
#tokusei .point01 .s02 .annotations p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  text-align: left;
}
#tokusei .point01 .s02 img {
  width: 100%;
  height: auto;
}

#tokusei .point01 .s03 p {
  margin-bottom: 20px;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  text-align: center;
}
#tokusei .point01 .s03 dl {
  display: flex;
  gap: 33px;
}
#tokusei .point01 .s03 dl div {
  width: calc((100% - 33px)/2);
  display: flex;
  align-items: flex-end;
  gap: 20px;
} 
#tokusei .point01 .s03 dt img {
  border-radius: 8px;
}
#tokusei .point01 .s03 dd {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.66;
}
@media screen and (max-width: 767px) {
  #tokusei .point01 section.s01 {
    margin-top: 30px;
  }
  #tokusei .point01 .s01 .flex {
    flex-direction: column;
  }
  #tokusei .point01 .s01 .right {
    flex-direction: column-reverse;
    gap: 20px;
    width: 100%;
  }
  #tokusei .point01 .s01 .right dt {
    margin-bottom: 20px;
  }
  #tokusei .point01 .s01 .right dd {
    padding: 9px;
    font-size: 1.6rem;
  }
  #tokusei .point01 .s01 .right p {
    font-size: 1.6rem;
  }
  #tokusei .point01 .s01 .left {
    margin-top: 28px;
    width: 100%;
  }
  #tokusei .point01 .s01 .annotations {
    margin-top: 20px;
    font-size: 1.2rem;
  }
  #tokusei .point01 .s02 p {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  #tokusei .point01 .s02 .annotations p {
    font-size: 1.2rem;
    line-height: 1.3;
  }
  #tokusei .point01 .s03 p {
    margin-bottom: 30px;
    font-size: 1.8rem;
  }
  #tokusei .point01 .s03 dl {
    gap: 20px;
  }
  #tokusei .point01 .s03 dl div {
    width: calc((100% - 20px)/2);
    flex-direction: column;
    gap: 10px;
  }
  #tokusei .point01 .s03 dl dt {
    width: 100%;
  }
  #tokusei .point01 .s03 dt img {
    width: 100%;
    height: auto;
  }
  #tokusei .point01 .s03 dd {
    font-size: 1.2rem;
    letter-spacing: 0.07em;
  }
}

/* --------------------------------------------------
  02
-------------------------------------------------- */
#tokusei .point02 h4 sup {
  font-size: 1.5rem;
}
#tokusei .point02 ul {
  display: flex;
  justify-content: space-between;
  list-style: none;
}
#tokusei .point02 li {
  width: 32%;
  padding: 30px 25px 40px;
  background: #fff6e3;
  display: flex;
  flex-direction: column;
}
#tokusei .point02 li strong {
  margin-bottom: 20px;
  display: block;
  font-size: 3.5rem;
  font-weight: 900;
  letter-spacing: 0.17em;
  text-align: center;
}
#tokusei .point02 li p {
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: -0.04em;
  text-align: center;
}
#tokusei .point02 li .graph {
  margin: auto 0 0;
  padding-top: 26%;
  position: relative;
}
#tokusei .point02 li picture img {
  width: 100%;
  height: auto;
}
#tokusei .point02 li .mesimaru {
  width: 26.2%;
  height: auto;
  position: absolute;
  right: 17.8%;
}
#tokusei .point02 li:first-child .mesimaru {
  bottom: 57%;
}
#tokusei .point02 li:nth-child(2) .mesimaru {
  bottom: 67%;
}
#tokusei .point02 li:nth-child(3) .mesimaru {
  bottom: 79%;
}
#tokusei .point02 .annotations {
  margin: 20px 0 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: right;
}

@media screen and (max-width: 767px) {
    #tokusei .point li.point02 section {
      margin-top: 30px;
    }
    #tokusei .point02 ul {
      margin-top: 30px;
      flex-direction: column;
      gap: 20px;
    }
    #tokusei .point02 li {
      padding: 30px 18px;
      width: 100%;
      flex-direction: row;
      align-items: center;
      gap: 15px;
      justify-content: space-around;
    }
    #tokusei .point02 li strong {
      margin-bottom: 5px;
      font-size: 2.4rem;
    }
    #tokusei .point02 li p {
      font-size: 1.6rem;
      letter-spacing: 0.01em;
      line-height: 1.5;
      text-align: left;
    }
    #tokusei .point02 li .graph {
      margin: 0;
      padding-top: 0px;
    }
    #tokusei .point02 li picture img {
      margin: 0;
      width: 125px;
      flex-shrink: 0;
    }
    #tokusei .point02 li .mesimaru {
      width: 46px;
      right: 2.5%;
    }
    #tokusei .point02 li:first-child .mesimaru {
      bottom: auto;
      top: 0;
    }
    #tokusei .point02 li:nth-child(2) .mesimaru {
      bottom: auto;
      top: 0;
    }
    #tokusei .point02 li:nth-child(3) .mesimaru {
      bottom: auto;
      top: 0;
    }
    #tokusei .point02 .annotations {
      margin: 30px 0 0;
      font-size: 1.2rem;
      line-height: 1.3;
      letter-spacing: 0;
      text-align: left;
    }
}

/* --------------------------------------------------
  03
-------------------------------------------------- */
#tokusei .point03 > p {
  margin-top: 50px;
  font-size: 3.0rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 1.66;
  text-align: center;
}
#tokusei .point03 > p span {
  padding: 0 4px;
  background: linear-gradient(transparent 60%, #fff6b8 60%, #fff6b8 95%, transparent 95%);
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #tokusei .point03 > p {
    margin-top: 20px;
    font-size: 2.0rem;
    line-height: 1.5;
  }
}
/* --------------------------------------------------
  アニメーション
-------------------------------------------------- */
.scaleInWrap .scaleIn {
  opacity: 0;
  transform: scale(0);
  transition: transform 0.7s cubic-bezier(0.64, -0.12, 0.4, 1.24), opacity 0.7s cubic-bezier(0.64, -0.12, 0.4, 1.24);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.scaleInWrap.active .scaleIn {
  opacity: 1;
  transform: scale(1);
}


.img-onigiri {
  top: -190px;
  right: -220px;
}
.img-gohan {
  top: 29%;
  left: -180px;
}
.img-kome {
  top: 58%;
  right: -70px;
}
.img-hashi {
  rotate: -85deg;
  bottom: -240px;
  left: -126px;
}
@media screen and (max-width: 767px) {

  .img-onigiri {
    top: -170px;
    left: -90px;
  }
  .img-gohan {
    top: 35%;
    right: -75px;
    left: auto;
  }
  .img-kome {
    top: 54%;
    right: auto;
    left: -100px;
  }
  .img-hashi {
    top: auto;
    right: -70px;
    bottom: -130px;
    left: auto;
    rotate: -20deg;
  }
}