@charset "UTF-8";

/*//////////////////////////////////////////////////

Title : teiki_trilogy CSS

//////////////////////////////////////////////////*/


/* ========================================================
                      * Layout style *
========================================================= */

html {
  font-size: 62.5%;
}

main {
  max-width: 100%;
}

#Header,
#Foot {
  display: none;
}

#Contents {
  margin-bottom: 0;
}

#teiki a {
  text-decoration: none;
}

#teiki p, 
#teiki ul, 
#teiki ol, 
#teiki dl {
  margin: 0;
}

.topic-path {
  margin-right: 0;
  margin-left: 0;
}

/* ===================
      ROOTS
=================== */
:root {
  --font-futura: "futura-pt", sans-serif;
  --font-Pragmatica: "pragmatica", sans-serif;
  --font-hiragino: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --color-red: #C10016;
  --color-gray: #555555;
  --color-bg: #fafaf5;
  --color-black: #606060;
  --color-green: #078920;
}
/* ===================
      #teiki
=================== */

#teiki {
  margin: 0 auto;
  padding-bottom: 12rem;
  color: var(--color-black);
  font-family: var(--font-hiragino);
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  overflow: hidden;
}

#FooterWrap {
  position: relative;
  z-index: 2;
}

#teiki *,
#teiki *:before,
#teiki *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#teiki ul,
#teiki li {
  list-style: none;
}

#teiki a:hover {
  opacity: 0.6;
}

#teiki img {
  width: 100%;
  /* width: auto; */
}

#teiki sup {
  font-size: 1rem;
}

#teiki a,
#teiki a:before,
#teiki a:after,
#teiki a img {
  transition: opacity .3s ease-in-out,
  color .3s ease-in-out,
  background-color .3s ease-in-out,
  background-image .3s ease-in-out,
  border-color .3s ease-in-out,
  text-shadow .3s ease-in-out,
  text-weight .3s ease-in-out;
}

#teiki h1 {
  padding: 0;
}

/* ===================
  　　　Animation
=================== */

.js-fade {
  transition-duration: 1.5s;
  opacity: 0;
}

.js-fade.active {
  opacity: 1;
}

/* MV item  */
.js-fade.active._1 {
  transition-delay: 0.25s;
}
.js-fade.active._2 {
  transition-delay: 0.5s;
}
.js-fade.active._3 {
  transition-delay: 0.75s;
}
.js-fade.active._4 {
  transition-delay: 1s;
}
.js-fade.active._5 {
  transition-delay: 1.25s;
}
.js-fade.active._6 {
  transition-delay: 1.5s;
}

/* Point */
.js-fade.active._point_1 {
  transition-delay: 0.5s;
}
.js-fade.active._point_2 {
  transition-delay: 1s;
}
.js-fade.active._point_3 {
  transition-delay: 1.5s;
}
.js-fade.active._point_4 {
  transition-delay: 2s;
}
.js-fade.active._point_5 {
  transition-delay: 2.5s;
}
.js-fade.active._point_6 {
  transition-delay: 3s;
}
/* ===================
  　Section Common
=================== */

#teiki .inner_sec {
  width: 120rem;
  margin: 0 auto;
}

#teiki .sec_width {
  width: 120rem;
  max-width: 100%;
  margin: 0 auto 10rem;
}

#teiki .section {
  margin-bottom: 10rem;
}

/* ===================
      Button Setting
=================== */
#teiki .btn {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  width: fit-content;
  max-width: 100%;
}

#teiki .btn:hover {
  background: none;
  border: none;
  color: #000;
}

#teiki .btn a:hover {
  opacity: 0.6;
}

#teiki .btn_subscribe a {
  width: 26rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 1rem;
  background-color: #DFFD4D;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1;
  border: 1px solid;
  transition: all 0.1s ease-in-out;
  border-radius: 100px;
}

/* ===================
  　　　  MV 
=================== */

#teiki .mv_sec {
  margin-bottom: 6rem;
  background-color: #d5e9d8;
}

#teiki .mv_sec .mv_pic {
  /* idth: 105rem; */
  /* margin-left: 2rem; */
}

#teiki .mv_sec .mv_pic picture {
  display: flex;
}

/* ===================
  　　　  campaign 
=================== */

#teiki .campaign_sec{
  width: 80rem;
  padding: 4rem;
  margin: 4rem auto 8rem;
  background-color: var(--color-bg);
  border-radius: 1rem;
  border: 1px solid var(--color-red);
}

#teiki .campaign_sec p{
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}

#teiki .campaign_sec p big{
  font-size: 2.4rem;
  font-weight: bold;
  color: #C10016;
}

#teiki .campaign_sec p small{
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: left;
  margin: 2rem auto 0;
  width: fit-content;
  display: block;
}

/* ===================
        POINT
=================== */
#teiki .itm_group_fv {
  display: block;
  width: 100rem;
  margin: 6rem auto;
}

#teiki .itm_group_fv ul {
  display: flex;
}

#teiki .itm_group_fv ul li:nth-of-type(1) {
  margin: 0 0 0 -.8rem;
}

#teiki .itm_group_fv ul li:nth-of-type(2) {
  margin: 0 0 0 -5rem;
}

#teiki .itm_group_fv ul li:nth-of-type(3) {
  position: relative;
  z-index: -1;
  margin: 0 0 0 -8rem;
}

#teiki .itm_group_fv ul li:nth-of-type(4) {
  margin: 0 0 0 -7.9rem;
}

#teiki .itm_group_fv ul li:nth-of-type(5) {
  margin: 0 0 0 -9rem;
}

#teiki .itm_group_fv ul li:nth-of-type(6) {
  position: relative;
  z-index: -1;
  margin: -.3rem 0 0 -9rem;
}

#teiki .itm_group_fv ul li img {
  width: 17.7rem;
}

#teiki .logo {
  width: 20rem;
  margin: 0 auto 2rem;
}

#teiki .sec_ttl {
  margin: 0 auto 4rem;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-green);
  text-align: center;
}

#teiki .point_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100rem;
  margin: 0 auto;
  justify-content: center;
}

#teiki .point_list li {
  width: 49rem;
  height: 24rem;
  padding: 4rem 1rem;
  border: 1px solid var(--color-black);
  border-radius: 1rem;
}

#teiki .point_num {
  margin-bottom: 2rem;
  font-family: var(--font-futura);
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.07;
  letter-spacing: 0.05em;
  color: var(--color-green);
  text-transform: uppercase;
  text-align: center;
}

#teiki .point_ttl {
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.07;
  letter-spacing: 0.05em;
  color: var(--color-green);
  text-align: center;
}

#teiki .point_cont {
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: var(--color-black);
  text-align: center;
} 

#teiki .point_note {
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: var(--color-black);
  text-align: center;
}

#teiki .underline {
  text-decoration: underline;
}

/* ===================
    　ITEM 
=================== */
#teiki .item_sec {
  padding: 10rem 0;
  background-color: var(--color-bg);
}

#teiki .itm_group {
  /* margin-bottom: 5rem; */
}

#teiki .item_sec .sec_ttl {
  margin-bottom: 5rem;
}

#teiki .itm_group_ttl {
  margin-bottom: 3rem;
}

#teiki .itm_group_en {
  margin-bottom: 1rem;
  font-family: var(--font-futura);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color-green);
  text-align: center;
}

#teiki .itm_group_jp {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-black);
  text-align: center;
}

#teiki .itm_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  width: 100rem;
  margin: 0 auto;
}

#teiki .itm_wrap li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 32rem;
  padding: 2rem 3rem 3rem;
  background-color: #fff;
  border-radius: 2rem;
  box-shadow: 0 0 10px rgb(0,0,0,0.16);
}

#teiki .itm_pic {
  margin-bottom: 2rem;
  width: 26rem;
  text-align: center;
  filter: brightness(1.01);
}


#teiki  .itm_upper_group {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#teiki .itm_shipping {
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--color-red);
}

#teiki .itm_name {
  margin-bottom: 2rem;
  display: block;
  height: 4.5rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

#teiki .itm_price {
  margin-bottom: .8rem;
  font-family: var(--font-Pragmatica);
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-decoration-line: line-through;
}

#teiki .itm_sale_price {
  display: flex;
  margin-bottom: 2rem;
}

#teiki .itm_sale {
  display: inline-block;
  width: auto;
  margin-left: 1rem;
  padding: 0 0.5rem;
  font-family: var(--font-futura);
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 3rem;
  letter-spacing: 0.1em;
  border-radius: 0.4rem;
  border: 1px solid var(--color-black);
  color: var(--color-black);
  text-align: center;
  white-space: nowrap;
  background: #EFF8C0;
  height: 3rem;
}

#teiki .itm_sub_price {
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.8;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

#teiki .itm_price_bold {
  margin-left: 0.6rem;
  font-family: var(--font-Pragmatica);
  font-size: 1.7rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.1em;
}

#teiki .itm_price_tax {
  margin-left: -.2rem;
  font-family: var(--font-Pragmatica);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}

#teiki .oil_group .itm_wrap li:first-of-type{
  position: relative;
}

#teiki .oil_group .itm_wrap li:first-of-type:before{
  position: absolute;
  top: 2.1rem;
  left: 2rem;
  width: 8rem;
  height: 8rem;
  background: url(../Contents/ImagesPkg/teiki_trilogy/icn_recommend.svg) center center / contain no-repeat;
  z-index: 5;
  content: "";
}

/* ===================
      REGISTER
=================== */
#teiki .sec_ttl_sml {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-green);
  text-align: center;
}

#teiki .sec_ttl_large {
  margin-bottom: 4rem;
  font-size: 3rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-green);
  text-align: center;
}

#teiki .timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

#teiki .border_line {
  position: absolute;
  left: 3.9rem;
  top: 6rem;
  width: 0.15rem;
  height: 0;
  background: #888;
  z-index: 10;
}

#teiki .step_list {
  position: relative;
  padding: 4rem 0;
  background-color: var(--color-bg);
  border-radius: 1rem;
}

#teiki .timeline .step_list::after {
  content: '';
  position: absolute;
  top: 4.7rem;
  left: 3.25rem;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--color-green);
  border-radius: 50%;
  z-index: 10;
}

#teiki .step_num {
  margin: -.3rem 0 0 6.25rem;
  font-family: var(--font-futura);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-green);
}

#teiki .step_cont {
  margin: -3.8rem auto 2.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}

#teiki .timeline .step_list:last-of-type .step_cont {
  margin: -2rem 0 1.2rem 0;
}

#teiki .step_pic {
  display: block;
  width: 80rem;
  margin: 0 auto;
  box-shadow: 0 3px 6px rgb(0,0,0,0.16);
}

/* ===================
      RECOMMEND
=================== */
#teiki .cycle_pic{
  display: block;
  margin: 0 auto 3rem;
}

#teiki .cycle_pic img{
  width: 120rem;
}

#teiki .amount_group {
  padding: 4rem 0;
  background-color: #f9ffdc;
  border-radius: 1rem;
}

#teiki .amount_ttl {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--color-green);
}

#teiki .amount_cont {
  width: 35rem;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.05em;
  /* text-align: center; */
}

#teiki .amount_pic {
  width: 35rem;
  margin: 0 4rem 0 0;
}

/* ===================
        CHANGE
=================== */
#teiki .change_sec {
  margin-bottom: 9rem;
}

#teiki .change_step_box {
  padding: 4rem 0 5rem;
  box-shadow: 0 0 10px rgb(0,0,0,0.16);
  border-radius: 1rem;
}




#teiki .change_step_pic {
  display: block;
  filter: drop-shadow(0 3px 6px rgb(0,0,0,0.16));
}


#teiki .change_step_cont {
  margin-bottom: 2.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}


#teiki .change_step_group {
  display: flex;
  gap: 7.5rem;
  margin: 0 0 0 7.6rem;
}

#teiki .change_step_list {
  position: relative;
  margin-top: 0.1rem;
}

#teiki .case2 .change_step_list {
  margin-top: 3.5rem;
}

#teiki .change_step_list li {
  position: relative;
  display: flex;
  align-items: center;
}

#teiki .change_step_list li:nth-of-type(1) {
  margin-bottom: 8.3rem
}

#teiki .change_step_list li:nth-of-type(2) {
  /* margin-bottom: 7.6rem; */
}

#teiki .change_step_list li:after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -3.5rem;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--color-green);
  border-radius: 50%;
  z-index: 10;
}

#teiki .change_step_list .line01 {
  left: -2.8rem;
  top: 2rem;
  height: 24rem;
}

#teiki .change_step_list .line02 {
  left: -2.8rem;
  top: 2rem;
  height: 12rem;
}

/* BOX1 */
#teiki .change_step_box.box1 {
  margin-bottom: 4rem;
}

#teiki .box1 .change_step_pic {
  width: 80rem;
  margin: 0 auto;
}

/* BOX2 */
#teiki .box2 .change_step_pic {
  width: 60rem;
}

#teiki .case1{
  position: relative;
  /* margin-bottom: 10rem; */
}

#teiki .case2{
  margin-bottom: 2.5rem;
}

#teiki .case1:after{
  content: '';
  position: absolute;
  bottom: -5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100rem;
  height: 2px;
  background-color: #F1F1F1;
}

#teiki .change_step_box_ttl {
  margin: 1rem 0 3rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--color-green);
}

#teiki .change_step_num {
  margin-right: 2.2rem;
  font-family: var(--font-futura);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-green);
  white-space: nowrap;
}

#teiki .change_step_list li:nth-of-type(1) .change_step_num {
  margin-right: 2.4rem;
}

#teiki .change_step_txt {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: left;
}

#teiki .change_step_txt span {
  display: block;
  margin-top: .4rem;
  font-size: 1.1rem;
}

/* ===================
        QNA
=================== */
#teiki .sec_ttl_en {
  font-family: var(--font-futura);
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  color: var(--color-green);
}

#teiki label {
  position: relative;
  display: block;
  padding: 3rem 0rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  cursor: pointer;
  text-indent: 1em;
}

.qna_area .qna label::after {
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  right: 1.5rem;
  width: 1.2rem;
  height: 1.2rem;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  transform: translateX(-50%) rotate(135deg);
}

.qna_area .qna label::before {
  font-family: var(--font-futura);
  font-size: 2rem;
  padding: 0 1.7rem 0 0.3rem;
  font-weight: normal;
  color: var(--color-green);
  content: 'Q';
}

#teiki .qna_area {
  margin: 4rem auto 0;
  background-color: #fff;
  box-shadow: 0 0 10px rgb(0,0,0,0.16);
  border-radius: 1rem;
  padding: 2rem 4rem;
  text-align: left;
}

#teiki .qna_area .qna {
	position: relative;
	overflow: hidden;
	width: 100%;
  border-bottom: dashed 1px #CECBCB;
}

#teiki .qna_area .qna:last-child{
  border-bottom: none;
}

#teiki .qna_area .qna input {
	position: absolute;
	opacity: 0;
}

/* 答え */
#teiki .qna_area .qna .qna_a {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 3rem 0 7rem;
	-webkit-transition: max-height 0.2s;
  transition: max-height 0.2s;
}
#teiki .qna_area .qna .qna_a::before {
  font-family: var(--font-futura);
  font-size: 2rem;
  line-height: 1;
  position: absolute;
  margin: 2rem 0 0 -3rem;
  padding: 0;
  content: 'A';
  color: var(--color-green);
}
#teiki .qna_area .qna_a p {
	margin: 1.5rem 0;
  font-size: 1.6rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.75;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
#teiki .qna_area .qna input:checked ~ .qna_a {
	max-height: 40em;
	background-color: var(--color-bg);
}
/* 質問をクリックした時の+の動き */
#teiki .qna_area .qna input[type=checkbox]:checked + label::after {
  transform: translateX(-50%) rotate(-45deg);
}

#teiki .qna strong{
  font-weight: bold;
}

/* ===================
        NOTE
=================== */
#teiki .note_sec {
  margin-bottom: 0;
  padding: 4.5rem 0 5rem;
  background-color: #F3F3F3;
}

#teiki .ttl {
  margin-bottom: 3rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.1em;
  text-align: center;
}

#teiki .text {
  margin-left: 7.4rem;
  font-size: 1.3rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-align: left;
}

#teiki .note_sec strong {
  color: var(--color-red);
}

/*=======================================
               Responsive
========================================*/


/* only PC */

/*=======================================
                    PC
========================================*/

@media screen and (min-width: 769px) {

  #Wrap,
  .wrapBottom,
  .wrapTop,
  #Contents {
    width: 100%;
  }

  #teiki {
    overflow: hidden;
  }

  .sp_only {
    display: none;
  }

}

/* only tablet */

@media screen and (min-width: 769px) and (max-width: 1400px) {
  html {
    font-size: calc(10 * (100vw / 1400)) !important;
  }

}
/*=======================================
                    SP
========================================*/


/* only SP */

@media only screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }

  /* ===================
        #teiki
  =================== */

  #teiki {
    padding-bottom: calc(80 * (100vw / 430));
  }

  /* ===================
  　Section Common
  =================== */

  #teiki .inner_sec {
    width: 100%
  }

  #teiki .sec_width {
    width: calc(390 * (100vw / 430));
    max-width: 100%;
    margin: 0 auto calc(80 * (100vw / 430));
  }

  #teiki .section {
    margin-bottom: calc(80 * (100vw / 430));
  }

  /* ===================
      Button Setting
  =================== */
  #teiki .btn_subscribe a {
    width: calc(300 * (100vw / 430));
    padding: calc(15 * (100vw / 430)) calc(10 * (100vw / 430));
    font-size: calc(15 * (100vw / 430));
  }
  /* ===================
  　　　  MV 
  =================== */

  .js-fade.active._point_2 {
    transition-delay: 0.5s;
  }
  .js-fade.active._point_3 {
    transition-delay: 0.5s;
  }
  .js-fade.active._point_4 {
    transition-delay: 0.5s;
  }
  .js-fade.active._point_5 {
    transition-delay: 0.5s;
  }
  .js-fade.active._point_6 {
    transition-delay: 0.5s;
  }

  /* ===================
  　　　  MV 
  =================== */

  #teiki .mv_sec {
    margin-bottom: calc(39 * (100vw / 430));
  }

  #teiki .mv_sec .mv_pic {
    width: 100%;
    margin-left: 0;
  }

  /* ===================
    　　　  campaign 
  =================== */

  #teiki .campaign_sec{
    width: calc(390 * (100vw / 430));
    padding: calc(25 * (100vw / 430)) calc(20 * (100vw / 430)) ;
    border-radius: calc(10 * (100vw / 430));
    margin: calc(40 * (100vw / 430)) auto calc(80 * (100vw / 430));
  }

  #teiki .campaign_sec p{
    font-size: calc(15 * (100vw / 430));
  }

  #teiki .campaign_sec p big{
    font-size: calc(23 * (100vw / 430));
  }

  #teiki .campaign_sec p small{
    font-size: calc(11 * (100vw / 430));
    margin: calc(10 * (100vw / 430)) auto 0;
  }

  /* ===================
        POINT
  =================== */
  #teiki .itm_group_fv {
    width: 100%;
    margin: calc(40 * (100vw / 430)) auto;
  }

  #teiki .itm_group_fv ul {
    flex-wrap: wrap;
  }
  
  #teiki .itm_group_fv ul li:nth-of-type(1) {
    margin: 0 calc(0 * (100vw / 430)) 0 0;
  }

  #teiki .itm_group_fv ul li:nth-of-type(2) {
    margin: 0 0 0 calc(-30 * (100vw / 430));
  }

  #teiki .itm_group_fv ul li:nth-of-type(3) {
    margin: 0 calc(0 * (100vw / 430)) 0 calc(-45 * (100vw / 430));
  }

  #teiki .itm_group_fv ul li:nth-of-type(4) {
    margin: calc(-17 * (100vw / 430)) calc(0 * (100vw / 430)) 0 calc(12 * (100vw / 430));
  }

  #teiki .itm_group_fv ul li:nth-of-type(5) {
    margin: calc(-16 * (100vw / 430)) 0 0 calc(-48 * (100vw / 430));
  }

  #teiki .itm_group_fv ul li:nth-of-type(6) {
    margin: calc(-17 * (100vw / 430)) 0 0 calc(-50 * (100vw / 430));
  }
  
  #teiki .itm_group_fv ul li img {
    width: calc(124 * (100vw / 430));
  }

  #teiki .itm_group_fv ul li:nth-of-type(4) img,
  #teiki .itm_group_fv ul li:nth-of-type(5) img,
  #teiki .itm_group_fv ul li:nth-of-type(6) img {
    width: calc(128 * (100vw / 430));
  }
    
  #teiki .logo {
    width: calc(120 * (100vw / 430));
    margin: 0 auto calc(18.4 * (100vw / 430));
  }

  #teiki .sec_ttl {
    margin: 0 auto calc(40 * (100vw / 430));
    font-size: calc(23 * (100vw / 430));
  }

  #teiki .point_list {
    flex-direction: column;
    gap: calc(20 * (100vw / 430));
    width: calc(390 * (100vw / 430));
  }

  #teiki .point_list li {
    width: calc(390 * (100vw / 430));
    height: auto;
    padding: calc(28 * (100vw / 430)) calc(10 * (100vw / 430)) calc(26 * (100vw / 430));
    border-radius: calc(10 * (100vw / 430))
  }

  #teiki .point_num {
    margin-bottom: calc(13 * (100vw / 430));
    font-size: calc(22 * (100vw / 430));
    line-height: 1.36;
  }

  #teiki .point_ttl {
    margin-bottom: calc(15 * (100vw / 430));
    font-size: calc(18 * (100vw / 430));
    line-height: 1;
  }

  #teiki .point_cont {
    font-size: calc(13 * (100vw / 430));
    letter-spacing: 0.1em;
  } 

  #teiki .point_note {
    margin-top: calc(10 * (100vw / 430));
    font-size: calc(10 * (100vw / 430));
    line-height: 1;
  }

  /* ===================
    　ITEM 
  =================== */
  #teiki .item_sec {
    padding: calc(60 * (100vw / 430)) 0;
  }

  #teiki .itm_group {
    margin-bottom: calc(45 * (100vw / 430));
  }

  #teiki .item_sec .sec_ttl {
    margin-bottom: calc(43 * (100vw / 430));
  }

  #teiki .itm_group_ttl {
    margin-bottom: calc(20 * (100vw / 430));
  }

  #teiki .itm_group_en {
    margin-bottom: calc(10 * (100vw / 430));
    font-size: calc(18 * (100vw / 430));
  }

  #teiki .itm_group_jp {
    font-size: calc(22 * (100vw / 430));
  }

  #teiki .itm_wrap {
    flex-direction: column;
    gap: calc(20 * (100vw / 430));
    width: calc(390 * (100vw / 430));
  }

  #teiki .itm_upper_group {
    width: calc(300 * (100vw / 430));
  }

  #teiki .itm_wrap li {
    width: calc(390 * (100vw / 430));
    padding: calc(30 * (100vw / 430)) calc(44 * (100vw / 430)) calc(40 * (100vw / 430)) calc(46 * (100vw / 430));
    border-radius: calc(20 * (100vw / 430));
  }

  #teiki .itm_pic {
    margin: 0 auto calc(10 * (100vw / 430));
    width: calc(260 * (100vw / 430));
  }

  #teiki .itm_shipping {
    margin-bottom: calc(5 * (100vw / 430));
    font-size: calc(14 * (100vw / 430));
  }

  #teiki .itm_name {
    margin-bottom: calc(12 * (100vw / 430));
    display: block;
    height: auto;
    font-size: calc(16 * (100vw / 430));
    line-height: 1.68;
  }

  #teiki .itm_price {
    margin-bottom: calc(6 * (100vw / 430));
    font-size: calc(13 * (100vw / 430));
  }

  #teiki .itm_sale_price {
    margin-bottom: calc(30 * (100vw / 430));
  }

  #teiki .itm_sale {
	padding: 0 calc(5*(100vw / 430));
	font-size: calc(14 * (100vw / 430));
	line-height: calc(25 * (100vw / 430));
	border-radius: calc(4*(100vw / 430));
	height: calc(25*(100vw / 430));
  }

  #teiki .itm_sub_price {
    font-size: calc(13 * (100vw / 430));
  }

  #teiki .itm_price_bold {
    margin-left: calc(6 * (100vw / 430));
    font-size: calc(17 * (100vw / 430));
  }

  #teiki .itm_price_tax {
    margin-left: calc(-2 * (100vw / 430));
    font-size: calc(11 * (100vw / 430));
  }

  #teiki .oil_group .itm_wrap li:first-of-type:before{
    position: absolute;
    top: calc(40 * (100vw / 430));
    left: calc(40 * (100vw / 430));
    width: calc(80 * (100vw / 430));
    height: calc(80 * (100vw / 430));
  }

  /* ===================
      REGISTER
  =================== */
  #teiki .sec_ttl_sml {
    margin-bottom: calc(10 * (100vw / 430));
    font-size: calc(18 * (100vw / 430));
  }

  #teiki .sec_ttl_large {
    margin-bottom: calc(40 * (100vw / 430));
    font-size: calc(24 * (100vw / 430));
  }

  #teiki .timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(30 * (100vw / 430));
  }

  #teiki .border_line {
    left: calc(22 * (100vw / 430));
    top: calc(26 * (100vw / 430));
    width: 1.5px;
    height: 0;
  }

  #teiki .step_list {
    padding: calc(20 * (100vw / 430)) 0 calc(40 * (100vw / 430));
    border-radius: calc(10 * (100vw / 430));
  }

  #teiki .timeline .step_list::after {
    content: '';
    position: absolute;
    top: calc(23 * (100vw / 430));
    left: calc(16 * (100vw / 430));
    width: calc(14 * (100vw / 430));
    height: calc(14 * (100vw / 430));
  }

  #teiki .step_num {
    margin: calc(-1 * (100vw / 430)) 0 0 calc(46 * (100vw / 430));
    font-size: calc(20 * (100vw / 430));

  }

  #teiki .step_cont {
    margin: calc(23 * (100vw / 430)) 0 calc(19 * (100vw / 430)) calc(35 * (100vw / 430));
    font-size: calc(14 * (100vw / 430));
    line-height: 1.65;
  }

  #teiki .timeline .step_list:nth-of-type(3) .step_cont {
    margin: calc(25 * (100vw / 430)) 0 calc(19 * (100vw / 430)) calc(25 * (100vw / 430));
  }

  #teiki .timeline .step_list:last-of-type .step_cont {
    margin: calc(25 * (100vw / 430)) 0 calc(-4 * (100vw / 430)) calc(26 * (100vw / 430));
  }

  #teiki .step_pic {
    width: calc(310 * (100vw / 430));
    margin-left: calc(53 * (100vw / 430));
  }

  /* ===================
      RECOMMEND
  =================== */
  #teiki .cycle_pic{
    margin: 0 auto calc(40 * (100vw / 430));
  }

  #teiki .cycle_pic img{
    width: calc(390 * (100vw / 430));
  }

  #teiki .amount_group {
    padding: calc(40 * (100vw / 430)) 0;
    border-radius: calc(10 * (100vw / 430));
  }

  #teiki .amount_ttl {
    margin-bottom: calc(23 * (100vw / 430));
    font-size: calc(18 * (100vw / 430));
  }

  #teiki .amount_cont {
    /* margin-bottom: calc(23 * (100vw / 430)); */
    font-size: calc(14 * (100vw / 430));
    width: calc(300 * (100vw / 430));
    margin: 0 auto calc(20 * (100vw / 430));
  }

  #teiki .amount_pic {
    width: calc(280 * (100vw / 430));
    margin: 0 auto;
  }

  /* ===================
        CHANGE
  =================== */
  #teiki .change_sec {
    margin-bottom: calc(67 * (100vw / 430));
  }

  #teiki .change_step_box {
    padding: calc(36 * (100vw / 430)) 0 calc(40 * (100vw / 430));
    border-radius: calc(10 * (100vw / 430));
  }

  #teiki .change_step_cont {
    margin-bottom: calc(18 * (100vw / 430));
    font-size: calc(14 * (100vw / 430));
    font-weight: 600;
  }

  /* BOX1 */
  #teiki .change_step_box.box1 {
    margin-bottom: calc(30 * (100vw / 430));
  }
  
  #teiki .box1 .change_step_pic {
    width: calc(310 * (100vw / 430));
    margin: 0 auto;
  }

  /* BOX2 */
  #teiki .box2 .change_step_pic {
    width: calc(310 * (100vw / 430));
    margin: 0 auto;
  }

  #teiki .case1{
    /* margin-bottom: calc(77 * (100vw / 430)); */
  }

  #teiki .case1:after{
    bottom: calc(-38 * (100vw / 430));
    transform: translateX(-50%);
    width: calc(350 * (100vw / 430));
  }

  #teiki .case2{
    margin-bottom: calc(0 * (100vw / 430));
  }

  #teiki .change_step_box_ttl {
    margin: calc(0 * (100vw / 430)) 0 calc(25 * (100vw / 430));
    font-size: calc(18 * (100vw / 430));
  }

  #teiki .change_step_group {
    flex-direction: column;
    gap: calc(30 * (100vw / 430));
    width: fit-content;
    margin: 0 auto;
  }

  #teiki .change_step_list {
    position: relative;
    margin-top: calc(0 * (100vw / 430));
  }

  #teiki .case2 .change_step_list {
    margin-top: calc(0 * (100vw / 430));
  
  }
  #teiki .case2 .change_step_list li{
    padding-left: calc(45 * (100vw / 430));
  }

  _::-webkit-full-page-media, _:future, :root #teiki .case2 .change_step_list li{
    padding-left: calc(70 * (100vw / 430));
  }

  #teiki .change_step_list li {
    position: relative;
    display: flex;
    align-items: unset;
    padding-left: calc(86 * (100vw / 430));
  }

  #teiki .change_step_list li:nth-of-type(1) {
    margin-bottom: calc(35 * (100vw / 430));
  }

  #teiki .change_step_list li:nth-of-type(2) {
    /* margin-bottom: calc(35 * (100vw / 430)); */
  }

  #teiki .change_step_list li:after {
    left: calc(50 * (100vw / 430));
    top: calc(10 * (100vw / 430));
    width: calc(14 * (100vw / 430));
    height: calc(14 * (100vw / 430));
  }

  #teiki .case2 .change_step_list li:after {
    left: calc(10 * (100vw / 430));
  }

  _::-webkit-full-page-media, _:future, :root #teiki .case2 .change_step_list li:after {
    left: calc(33 * (100vw / 430));
    top: 19%;
  }

  #teiki .case2 .change_step_list li:nth-of-type(2) {
    margin-bottom: 0;
  }

  #teiki .change_step_list .line01 {
    left: calc(56 * (100vw / 430));
    top: calc(7 * (100vw / 430));
    height: calc(160 * (100vw / 430));
  }

  #teiki .change_step_list .line02 {
    left: calc(-30 * (100vw / 430));
    top: calc(0 * (100vw / 430));
    height: calc(100 * (100vw / 430));
  }

  #teiki .change_step_list .line02 {
    left: calc(40 * (100vw / 430));
    top: calc(0 * (100vw / 430));
  }

  #teiki .case2 .change_step_list .line02 {
    left: calc(17 * (100vw / 430));
    top: calc(10 * (100vw / 430));
  }

  _::-webkit-full-page-media, _:future, :root #teiki .case2 .change_step_list .line02 {
    left: calc(39 * (100vw / 430));
  }

  #teiki .change_step_num {
    margin-right: calc(21 * (100vw / 430));
    font-size: calc(20 * (100vw / 430));
  }

  #teiki .change_step_list li:nth-of-type(1) .change_step_num {
    margin-right: calc(22 * (100vw / 430));
  }

  #teiki .change_step_txt {
    font-size: calc(14 * (100vw / 430));
  }

  #teiki .change_step_txt span {
    margin-top: calc(2 * (100vw / 430));
    font-size: calc(10 * (100vw / 430));
    white-space: nowrap;
    display: block;
    transform: scale(0.9) translateX(-15px);
  }

  /* ===================
        QNA
  =================== */
  #teiki .sec_ttl_en {
    font-size: calc(18 * (100vw / 430));
    line-height: 2.4;
  }

  #teiki label {
    padding: calc(25 * (100vw / 430)) 0rem;
    font-size: calc(14 * (100vw / 430));
    letter-spacing: 0.05em;
  }

  .qna_area .qna label::after {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    right: calc(6 * (100vw / 430));
    width: 8px;
    height: 8px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
    transform: translateX(-50%) rotate(135deg);
  }

  .qna_area .qna label::before {
    font-size: calc(20 * (100vw / 430));
    padding: 0 calc(12 * (100vw / 430)) 0;
    margin-left: calc(-24 * (100vw / 430));
  }

  #teiki .qna_area {
    margin: calc(40 * (100vw / 430)) auto 0;
    border-radius: calc(10 * (100vw / 430));
    padding: calc(10 * (100vw / 430)) calc(20 * (100vw / 430));
  }


  /* 答え */
  #teiki .qna_area .qna .qna_a {
    position: relative;
    overflow: hidden;
    max-height: 0;
    padding: 0 calc(25 * (100vw / 430)) 0 calc(40 * (100vw / 430));
    -webkit-transition: max-height 0.2s;
    transition: max-height 0.2s;
  }
  #teiki .qna_area .qna .qna_a::before {
    font-size: calc(20 * (100vw / 430));
    margin: calc(22 * (100vw / 430)) 0 0 calc(-23 * (100vw / 430));
  }
  #teiki .qna_area .qna_a p {
    margin: calc(20 * (100vw / 430)) 0;
    letter-spacing: 0.1em;
    font-size: calc(13 * (100vw / 430));
  }

  /* 質問を開いた時の仕様 */
  /* --答えの高さ */
  #teiki .qna_area .qna input:checked ~ .qna_a {
    max-height: 40em;
    background-color: #F8F7F4;
  }

  #teiki .qna_area .qna:last-of-type input:checked ~ .qna_a {
    margin-bottom: calc(20* (100vw / 430));
  }
  /* 質問をクリックした時の+の動き */
  #teiki .qna_area .qna input[type=checkbox]:checked + label::after {
    transform: translateX(-50%) rotate(-45deg);
  }

  /* ===================
        NOTE
=================== */
  #teiki .note_sec {
    width: 100%;
    padding: calc(41 * (100vw / 430)) calc(20 * (100vw / 430)) calc(40 * (100vw / 430));
    margin-bottom: 0;
  }

  #teiki .ttl {
    margin-bottom: calc(31 * (100vw / 430));
    font-size: calc(20 * (100vw / 430));
    line-height: 1.6;
  }

  #teiki .text {
    margin: 0 auto;
    font-size: calc(12 * (100vw / 430));
    line-height: 1.66;
  }

}


  #teiki .change_step_list .line01 {
    height: 14rem;
  }
  .info_area {
    width: 100rem;
    max-width: 100%;
    margin: auto auto 6rem;
    padding: 4rem;
    background: #ffffde;
    border-radius: 1rem;
  }

  .info_area .info_ttl {
    margin: 0 auto 1.5rem;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1em;
    color: var(--color-green);
    text-align: center;
  }
  .info_area .info_cont {
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.08em;
    color: var(--color-green);
    text-align: center;
  }
  .info_area .info_cont_sub {
    margin-top: 1.5rem !important;
    font-size: 1.5rem;
    line-height: 1.8;
  }
  .info_area .info_cont .txt_bold {
    font-weight: 600;
  }
  .info_area .info_cont .txt_sm {
    font-size: 0.9em;
  }
  @media (max-width: 768px) {
    #teiki .change_step_list .line01 {
      height: calc(85 * (100vw / 430));
    }
    .info_area {
      margin-bottom: calc(40 * (100vw / 430));
      padding: calc(25 * (100vw / 430)) 0;
      /* border-radius: 0; */
      width: 90%;
    }
    .info_area .info_ttl {
      margin: 0 auto calc(10 * (100vw / 430));
      font-size: calc(20 * (100vw / 430));
      letter-spacing: 0.06em;
      line-height: 1.8;
    }
    .info_area .info_cont {
      margin-top: calc(10 * (100vw / 430)) !important;
      font-size: calc(15 * (100vw / 430));
      letter-spacing: 0.06em;
    }
    .info_area .info_cont_sub {
      font-size: calc(13 * (100vw / 430));
      line-height: 1.8;
    }
  }


/* Giovanni調整 */
#teiki .point_sec .fv_txt {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2;
}

#teiki .itm_wrap.one-column {
    display: block;
    width: 100rem;
}


#teiki .itm_wrap.one-column .itm_upper_group {
    display: block;
}

#teiki .itm_wrap.one-column .itm_pic {
    width: 30rem;
    margin: 0 4rem 0 0;
}


#teiki .itm_wrap.one-column .itm_price, #teiki .itm_wrap.one-column .itm_sub_price {
    font-size: 1.4rem;
}

#teiki .itm_wrap.one-column .itm_price_bold {
    font-size: 2.4rem;
}

#teiki .itm_wrap.one-column .itm_price_tax {
    font-size: 1.4rem;
    margin-left: 0;
}

#teiki .amount_group .inner {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    margin-top: 4rem;
    justify-content: center;
}

#teiki .amount_cont span {
    font-weight: bold;
    display: block;
    margin-bottom: 2rem;
    font-size: 1.6rem;
}
#teiki .case1:after {
    content: none;
}

@media screen and (min-width: 769px) {
#teiki .itm_wrap.one-column li {
    flex-direction: inherit;
    width: 100%;
    padding: 4rem 8rem;
    align-items: center;
}
#teiki .itm_wrap.one-column .itm_name {
    height: auto;
    font-size: 2rem;
    margin-bottom: 1.5rem;
}
#teiki .itm_wrap.one-column .itm_info {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 3rem;
}

#teiki .itm_wrap.one-column .itm_txt_group {
    width: 50rem;
}
}

@media screen and (max-width: 768px) {
#teiki .point_sec .fv_txt {
    font-size: calc(15 * (100vw / 430));
}

#teiki .itm_wrap.one-column li {
    margin: 0 calc(20 * (100vw / 430));
    width: calc(390 * (100vw / 430));
    padding: calc(30*(100vw / 430)) calc(30*(100vw / 430)) calc(40*(100vw / 430)) calc(30*(100vw / 430));
}

#teiki .itm_wrap.one-column .itm_name {
    font-size: calc(18 * (100vw / 430));
}

#teiki .itm_wrap.one-column .itm_info {
    margin-bottom: calc(26 * (100vw / 430));
}

#teiki .itm_wrap.one-column .itm_price_bold {
    font-size: calc(20 * (100vw / 430));
}

#teiki .itm_wrap.one-column .itm_price, #teiki .itm_wrap.one-column .itm_sub_price {
    font-size: calc(14 * (100vw / 430));
}

#teiki .itm_wrap.one-column .itm_price_tax {
    font-size: calc(12 * (100vw / 430));
}

#teiki .btn {
    margin: 0 auto;
}
#teiki .amount_group .inner {
    display: block;
    margin-top: calc(20 * (100vw / 430));
}

#teiki .amount_cont span {
    text-align: center;
    margin-bottom: calc(10 * (100vw / 430));
    font-size: calc(15 * (100vw / 430));
}	
}