body {
  font-family: "Zen Old Mincho", "游ゴシック", "游ゴシック体", YuGothic,
    "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#conversion {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  width: 75rem;
  margin: 0 auto;
  display: none;
  background: rgba(255, 255, 255, 0.7);
  /* padding: 2rem 0 1.2rem 0; */
}

/*きらっと光る*/
.btnshine {
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  outline: none;
  overflow: hidden;
}

/*キラッと光る*/
.btnshine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-25deg);
}

/*hoverした際の移動のアニメーション*/
.btnshine::before {
  animation: shine 1.5s infinite;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

.zenKakuGothicNew {
  font-family: "Zen Kaku Gothic New", "游明朝", "Yu Mincho", YuMincho,
    "Hiragino Mincho Pro", serif;
}

.ZenOldMincho {
  font-family: "Zen Old Mincho", "游ゴシック", "游ゴシック体", YuGothic,
    "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ",
    Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.gBlock {
  padding: 3rem 0;
  background-color: #fff;
}

.gBlockTT {
  color: #594c1f;
}

.gBlockBox {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2rem;
}

.gBlockBox a {
  width: 34rem;
  display: block;
  margin: 0 auto;
}

.header {
  padding: 0;
  padding-bottom: 2rem;
  width: 75rem;
  background: #fff;
  z-index: 101;
  top: 0;
  background: url(../img/header_bg.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding-top: 5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.logo {
  display: inline-block;
  width: 24.7rem;
  margin-left: 2.3rem;
  padding-top: 1.5rem;
}

.btnHeader {
  width: 42.7rem;
  display: block;
  margin: 0 auto;
}

.txtBtnWeb {
  position: absolute;
  display: inline-block;
  white-space: nowrap;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #594c1f;
}

.txtBtnWebTime {
  position: relative;
  top: -0.5rem;
}

.txtBtnWeb2 {
  position: absolute;
  display: inline-block;
  white-space: nowrap;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #594c1f;
}

.bg1 {
  background: url(../img/bg1.webp);
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.fvNote {
  color: #594c1f;
  text-align: right;
  margin-right: 1.7rem;
  margin-top: 4rem;
}
.fv {
  padding-bottom: 3rem;
}

.fv p {
  padding: 0 2rem;
  margin-top: 1rem;
  font-size: 1.6rem;
  color: #808080;
}

.chosen {
  padding: 0 1.3rem;
  box-sizing: border-box;
  margin-top: -3rem;
}

.chosenContent {
  width: 100%;
  background: url(../img/chosen_bg.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 4.6rem 0 0 0;
  box-sizing: border-box;
}

.chosenHeader {
  display: flex;
  align-items: center;
}

.chosenHeader img {
  width: 11rem;
  margin-left: 5.5rem;
}

.chosenHeaderText {
  width: 45.2rem;
  display: inline-block;
  text-align: center;
}

.chosenHeaderText p {
  font-size: 7.1rem;
  color: #594c1f;
  background-image: linear-gradient(to bottom, #dcc894 0%, #dcc894 100%);
  background-repeat: no-repeat;
  background-position-y: 83%;
  background-size: 100% 2.5rem;
  padding: 0 2.9rem;
  display: inline-block;
  margin-left: 1.5rem;
}

.chosenHeaderText p big {
  font-size: 7.1rem;
}

.chosenTitle {
  text-align: center;
}

.numberAnimation .count-size {
  display: none;
}

.numberAnimation {
  font-size: 4.5rem;
  position: relative;
  top: -2.8rem;
}

.numberAnimation .showNumber {
  font-size: 10rem;
  font-style: italic;
  color: #a98a46;
  z-index: 1;
  position: relative;
  margin-right: 2rem;
}

.chosenContent ul {
  padding-bottom: 1.5rem;
  color: #000;
}

.chosenContent li {
  position: relative;
  margin-bottom: 1.5rem;
}

.chosenContent li:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background: url(../img/line.png);
  width: 59.1rem;
  height: 0.5rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.chosenContent li:nth-child(1) .showNumber {
  margin-left: 10.8rem;
}

.chosenContent li:nth-child(1) .numberAnimation:before {
  content: "";
  position: absolute;
  bottom: 1.2rem;
  left: 2.8rem;
  background: url(../img/c_img2.webp);
  width: 20.5rem;
  height: 17.9rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.chosenContent li:nth-child(2) .numberAnimation:before {
  content: "";
  position: absolute;
  bottom: 0.2rem;
  left: 4rem;
  background: url(../img/c_img3.webp);
  width: 14.85rem;
  height: 17.39rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.chosenContent li:nth-child(2) .showNumber {
  margin-left: 12rem;
}

.chosenContent li:nth-child(3) .numberAnimation:before {
  content: "";
  position: absolute;
  bottom: -1.8rem;
  left: 7.9rem;
  background: url(../img/c_img4.webp);
  width: 9.62rem;
  height: 20.35rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.chosenContent li:nth-child(3) .showNumber {
  margin-left: 23rem;
}

.chosenContent li:last-child:after {
  display: none;
}

.noteContactUs {
  color: #594c1f;
  margin-top: 3rem;
}

.worry {
  position: relative;
  display: block;
  margin: -10rem auto 0;
  width: 75rem;
  overflow: hidden;
  z-index: 5;
}

.worryImg {
  position: absolute;
  display: block;
  margin: 0 auto;
  width: 67rem;
  left: 4.2rem;
}

.worryImg01 {
  position: absolute;
  top: 46rem;
  z-index: 3;
}

.worryImg02 {
  position: absolute;
  top: 68rem;
  z-index: 4;
}

.worryImg03 {
  position: absolute;
  top: 92.5rem;
  z-index: 4;
}

.bg2 {
  background: url(../img/bg2.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  box-sizing: border-box;
  height: 37rem;
}

.choiceImg {
  position: relative;
}

.choiceImg ul {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 16rem;
  right: 4rem;
}

.choiceImg li {
  color: #2d2610;
  font-size: 5rem;
  writing-mode: vertical-rl;
  text-orientation: upright;
  display: inline-block;
}

.choiceImg li span {
  font-weight: 900;
}

.choiceImgCircle {
  padding-right: 12px;
  box-sizing: border-box;
  margin-top: 3rem;
}

.btnStyle {
  /*display: block;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    width: 100%;*/
  display: block;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  width: 100%;
  height: 14rem;
  border-radius: 7rem;
  margin: 2.5rem auto;
  width: 70rem;
}

img.CTAImg {
  width: 100%;
  margin-top: -24rem;
}

.btnStyle:hover {
  text-decoration: none;
  opacity: 0.7;
}

.btnStyle::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -18rem;
  left: 0;
  width: 3rem;
  height: 80%;
  background-color: #fff;
  animation: btnStyle 3s ease-in-out infinite;
}

@-webkit-keyframes btnStyle {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

.choiceDesc {
  text-align: center;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 17.5rem;
}

.choiceDesc img {
  width: 26.6rem;
}

.choiceDesc p {
  color: #594c1f;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  border-bottom: 0.2rem solid #594c1f;
  width: 55rem;
  padding-bottom: 1rem;
}

.reason {
  background-color: #a98a46;
}

.reasonHeader img {
  position: relative;
  z-index: 2;
}

.reasonItem {
  width: 93.2%;
  background-color: #ddd7c5;
  margin: 13rem auto 0 auto;
  padding: 1rem 0.9rem;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.reasonBg {
  position: relative;
}

.reasonBg1 {
  position: absolute;
  top: -10.5rem;
  left: 0;
  width: 100%;
}

.reasonBg2 {
  position: absolute;
  top: -21.5rem;
  left: 0;
  width: 100%;
}

.reasonBg3 {
  position: absolute;
  top: 84rem;
  left: 0;
  width: 100%;
}

.reasonBg4 {
  position: absolute;
  top: -91rem;
  left: 0;
  width: 100%;
}

.reasonBg5 {
  position: absolute;
  top: -2.3rem;
  left: 0;
  width: 100%;
}

.reasonBg6 {
  position: absolute;
  top: -68rem;
  left: 0;
  width: 100%;
}

.reasonBg7 {
  position: absolute;
  top: -84.5rem;
  left: 0;
  width: 100%;
}

.reasonTag {
  position: absolute;
  width: 13.978rem;
  top: -7rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
}

.reasonContent {
  padding: 10rem 0 8rem 0;
  border-left: 0.35rem solid #bd9f80;
  border-right: 0.35rem solid #9b8368;
  position: relative;
  background-color: #ddd7c5;
  z-index: 1;
}

.reasonContent:before {
  content: "";
  position: absolute;
  background: url(../img/border1.png);
  width: 67.7rem;
  height: 0.3rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
}

.reasonContent:after {
  content: "";
  position: absolute;
  background: url(../img/border2.png);
  width: 67.7rem;
  height: 0.3rem;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  bottom: 0;
  left: 0;
}

.reasonTitle {
  font-weight: bold;
  font-size: 5.4rem;
  color: #594c1f;
  text-align: center;
  line-height: 1.11;
}

.reasonTitle span {
  font-size: 4.5rem;
}

.reasonImg {
  display: block;
  width: 63rem;
  margin: 0 auto;
  margin-top: 4.5rem;
}

.reasonImgP {
  padding: 0 1.5rem;
  box-sizing: border-box;
  margin-top: 4.5rem;
}

.reasonContent > p {
  padding: 0 3rem;
  box-sizing: border-box;
  margin-top: 4rem;
  text-align: justify;
}

.reasonDesc {
  padding: 0 2rem;
  box-sizing: border-box;
}

.reasonDescContentTT {
  background-color: #a98a46;
  padding: 2rem 0;
}

.r01 {
  display: block;
  margin: 3rem auto 3rem;
  width: 12.7rem;
}

.r01Txt {
  display: block;
  font-size: 4.5rem;
  font-weight: 600;
  color: #a98a46;
}

.reasonDescContent {
  background-color: #fff;
  padding: 0 0 3rem 0;
  margin-top: 4rem;
}

.reasonContent4 {
  padding-bottom: 4rem;
}

.reasonDescContent p {
  line-height: 1.75;
  font-size: 2.8rem;
  padding: 0 4.4rem;
  box-sizing: border-box;
  margin-top: 2rem;
  color: #000;
}

.reasonDescImg {
  padding: 0 0.7rem;
  box-sizing: border-box;
  margin-top: 3.5rem;
}

.reasonDescContent .reasonText {
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.58;
  margin-top: 3rem;
}

.reasonText span {
  position: relative;
}

.reasonText span:after {
  content: "※2";
  position: absolute;
  right: -20px;
  top: -8px;
  font-size: 1.4rem;
  color: #1a1a1a;
}

.reasonDescContent .reasonNote {
  color: #4d4d4d;
  font-size: 1.6rem;
  text-align: right;
  margin-top: 5rem;
  margin-right: -1.3rem;
}

.reasonInfoTitle {
  color: #a98a46;
  margin-top: 4.7rem;
}

.reasonInfoImg {
  width: calc(100% + 5rem);
  margin-left: -3rem;
  padding: 0 2rem 0 3rem;
  box-sizing: border-box;
  margin-top: 5rem;
}

.reasonInfoImg p {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.758;
  color: #4d4d4d;
  text-align: right;
  width: 100%;
  margin-top: 2rem;
}

.r02Img {
  width: calc(100% + 2.6rem);
  margin-left: 0;
  margin-top: 4.5rem;
}

.doctor {
  padding: 0 0 6rem 0;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #a98a46;
  width: calc(100% - 3.2rem);
  margin: 6rem auto 0 auto;
}

.doctorTag {
  padding: 0 2.3rem;
  box-sizing: border-box;
  position: relative;
}

.doctorTag span {
  font-size: 5rem;
  color: #fff;
  position: absolute;
  top: 44%;
  left: 48%;
  transform: translate(-50%, -50%);
}

.doctor .dTitle {
  font-size: 4rem;
  color: #000;
  line-height: 1.5;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  margin-top: 2rem;
}

.doctor .dTitle.dSecond {
  margin-top: 3rem;
}

.doctor p {
  padding: 0 3rem;
  box-sizing: border-box;
  font-size: 3rem;
  line-height: 1.5333;
  color: #333333;
  margin-top: 2.5rem;
}

.doctorImg {
  margin-top: 6rem;
}

.moreoverTag {
  text-align: center;
  margin-top: 2.5rem;
}

.moreoverTag img.bg3Img00 {
  width: 41.76rem;
}

.bg3 {
  background: url(../img/bg3.webp);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto;
  padding-top: 0.1rem;
  /*	padding-bottom: 2.8rem;*/
  box-sizing: border-box;
  position: relative;
}

p.bg3Mb {
  margin-bottom: 70rem;
}

.bg3Line01 {
  background: url(../img/bg3Line01.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto 11.4rem;
}

img.bg3Img01 {
  margin: 4rem 0 3rem 0;
}

.bg4 {
  /*background: url(../img/bg4.webp);
	background-repeat: no-repeat;
	background-position: top;
	background-size: 100% auto;
	padding-top: 17rem;
	padding-bottom: 3rem;
	box-sizing: border-box;
    margin-top: -6rem;*/
}

p.bg4Text01 {
  color: #a98a46;
  margin-bottom: 12rem;
  background: url(../img/bg4Line01.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto 4rem;
  display: inline-block;
  padding: 0 3rem;
}

.bg4Item {
  border: 0.2rem solid #a98a46;
  width: 66rem;
  margin: 0 auto;
}

.bg4Item h3 {
  line-height: 9.2rem;
  background-color: #a98a46;
}

.bg4Item p {
  padding: 3rem 3rem 4rem 3rem;
  box-sizing: border-box;
  background-color: #fff;
}

.bg4Item.bg4ItemSe {
  margin: 3rem auto 0 auto;
}

.bg4Item.bg4ItemSe p {
  background: url(../img/bg4Img02.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.bg4Img {
  display: block;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}

.bg4Lst {
  display: block;
  margin: 0 auto;
  width: 63rem;
}

.bg4 p {
  color: #2d2610;
}

.slider {
  background-color: #ffe0c5;
}

.sliderTT {
  -webkit-box-shadow: 0px 0.7rem 0.4rem 0px rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 0px 0.7rem 0.4rem 0px rgba(0, 0, 0, 0.4);
  box-shadow: 0px 0.7rem 0.4rem 0px rgba(0, 0, 0, 0.4);
}

.slTT p {
  display: inline-flex;
  margin: 0 auto;
  align-items: center;
  justify-content: space-around;
}

.slTT span {
  color: #fff;
  font-size: 3rem;
  display: inline-block;
  margin-right: 4rem;
  background-color: #594c1f;
  line-height: 4.5rem;
  width: 10.5rem;
  text-align: center;
}

.slContent {
  padding-top: 5rem;
}

.sliderImg {
  width: 65rem;
  margin: 0 auto;
  display: block;
}

.afterBefore {
  width: 49rem;
  display: block;
  margin: -18rem 0 4rem 10rem;
}

.sliderItem {
  width: 75rem;
}

.slContent {
  background-image: url(../img/sliderBg.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.sliderLine {
  display: flex;
  padding: 0 0 0 10rem;
}

.sliderLine p:nth-child(1) {
  width: 14rem;
  text-align: center;
  margin-right: 7rem;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0;
  font-weight: 500;
}

.sliderLine p:nth-child(2) {
  width: 41rem;
  text-align: center;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0;
  font-weight: 500;
}

.rsSlickItem-item-arrow .slick-arrow {
  width: 5.6rem;
  cursor: pointer;
  position: absolute;
  z-index: 9;
  top: 5rem;
  left: 2rem;
}

.rsSlickItem-item-arrow .slick-arrow.rsbtnNext {
  right: 2rem;
  left: initial;
}

.rsSlickItem-item-arrow ul {
  position: relative;
}

.chart {
  padding: 34rem 0 3.5rem 0;
  box-sizing: border-box;
  background-image: url(../img/chartBg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.chartLbl {
  width: 54.7rem;
  display: block;
  margin: 0 auto;
  position: absolute;
  top: 3rem;
  right: 4rem;
}

.chartNumber {
  width: 63rem;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3rem;
}

.chartImg {
  width: 67.3rem;
  display: block;
  margin: 0 auto;
}

.chartTT,
.chartTTGold {
  line-height: 10rem;
  background-image: url(../img/chartTT.png);
  background-repeat: no-repeat;
  background-size: auto 10rem;
  background-position: center;
  margin-bottom: 5rem;
}

.chartTTGold {
  background-image: url(../img/chartTTGold.png);
  background-repeat: no-repeat;
  background-size: auto 10rem;
  background-position: center;
  margin-top: 1.5rem;
}

.chartTbl{
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 69rem;
}

.ranking {
  background-image: url(../img/rankingBg.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 8rem 2.5rem 0rem 2.5rem;
  box-sizing: border-box;
  margin-top: -0.1rem;
  height: 123rem;
}

.ranking p.rp {
  margin: 0 auto;
  margin-left: 3.5rem;
  max-width: 61rem;
}

.rankingImg {
  display: block;
  width: 46rem;
  margin-bottom: 5rem;
}

.rankingItem {
  display: flex;
}

.rankingCtn {
  width: 100%;
  height: 40rem;
  overflow: hidden;
  position: relative;
  left: 3rem;
  bottom: 6.5rem;
}

.rankingPerson {
  width: 33.9rem;
  height: auto;
  position: relative;
  right: 5rem;
}

.flow {
  background-image: url(../img/flowBg.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  padding: 6.5rem 0;
}

.flowContent {
  width: 66rem;
  margin: 0 auto;
}

.stepLbl {
  width: 10.7rem;
  display: inline-block;
  position: relative;
}

.stepTT {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.stepTT p {
  width: 56rem;
  background-image: url(../img/stepTTBg.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  line-height: 8rem;
}

.flowflex {
  display: flex;
  justify-content: space-between;
  padding: 0 2rem;
  box-sizing: border-box;
  margin-top: 2rem;
}

.flowflex p {
  max-width: 37rem;
  display: inline-block;
}

.stepImg {
  width: 21.8rem;
  display: inline-block;
  margin-top: -1rem;
  align-self: baseline;
}

.peopleThink {
  padding: 3rem 0 0 0;
}

.ptFlex {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 4.7rem;
  margin-top: 3rem;
}

.dtText {
  display: inline-block;
  margin-left: -2.5rem;
}

.dtText p:last-child {
  margin-top: -3rem;
}

.dtImg {
  width: 30.5rem;
}
