@charset "UTF-8";
.pagevisual {
  background: url(../img/pv.png) no-repeat center;
  background-size: cover;
}
.indent {
  display: block;
}
.block {display: block;}
.mb20 {margin-bottom: 20px;}
.mb40 {margin-bottom: 40px;}
.mb56 {margin-bottom: 56px;}
.ml17 {margin-left: 1.7em;}
.sec_h2 {letter-spacing: 4px;margin-bottom: 30px;}

.red_txt {color: #D91E1E;}

.minto_sec {
  position: relative;
  background: #F1EFE9;
  padding: 16px 0 80px;
  line-height: 1.7;
  letter-spacing: 1.6px;
  img {
    width: auto;
    height: auto;
  }
}
.minto_tel--link {
  position: relative;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  a {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 1.5em;
    display: flex;
    align-items: center;
    height: 24px;
  }
  img {
    height: auto;
  }
  @media screen and (max-width: 767px) {
    display: none;
    /* a {
      width: 35%;
    } */
  }
}
.minto_tel--sp {
  display: none;
  @media screen and (max-width: 767px) {
    position: relative;
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
    border: 8px solid #e8e5dd;
    background: #ffffff;
    padding: 20px 5%;
    display: block;
    .yoyaku_txt {
      font-size: min(1.6rem, 5vw);
      font-weight: bold;
      letter-spacing: 0.8px;
      margin-bottom: 10px;
      padding-left: 1.5em;
      text-indent: -1.5em;
      img {
        padding-right: 4px;
        object-fit: contain;
      }
    }
    .sp_indent {
      padding-left: 5.2em;
      text-indent: -5.2em;
      font-size: min(1.4rem, 3vw);
      letter-spacing: 0.5px;
      margin-bottom: 10px;
      & + p {
        display: flex;
        justify-content: center;
      }
    }
  }
}

.intro_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  &.rev {flex-direction: row-reverse;}
  & > figure {
    width: 100%;
    max-width: max-content;
  }
  figure {
    margin: 0;
    &:has(figcaption) {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 15px;
    }
  }
  figcaption {
    font-size: 1.6rem;
    letter-spacing: 0.8px;
  }
  @media screen and (max-width: 767px) {
    flex-direction: column;
    align-items: center;
    gap: 30px;
    &.rev {flex-direction: column-reverse;}
  }
}
.intro_flex--figure {
  width: 100%;
  max-width: 241px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  a {
    border-radius: 10px;
    background: #D8CFC2;
    color: #3A2206;
    padding: 15px 10px;
    width: 100%;
    font-weight: bold;
    text-align: center;
  }
  
}
.intro_flex--txt {
  width: 100%;
  max-width: 760px;
  p {
    margin-bottom: 20px;
  }
  p:last-of-type {
    margin-bottom: 0;
  }
}

.minto_block {
  position: relative;
  &:not(:last-child) {margin-bottom: 65px;}
  p {
    letter-spacing: 1.6px;
    span {letter-spacing: 1.6px;}
  }
  @media screen and (max-width: 767px) {
    &:not(:last-child) {margin-bottom: 45px;}
  }
}

.heartburn_lists {
  display: flex;
  gap: 20px;
  margin-block: 45px;
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    gap: 15px;
    margin-block: 35px;
  }
}
.heartburn_lists--item {
  width: calc(100%/3 - 40px/3);
  & > *:not(:last-child) {margin-bottom: 1em;}
  @media screen and (max-width: 767px) {
    width: calc(50% - 7.5px);
  }
}
.heartburn_lists--img {
  width: 100%;
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  padding-block: 15px 25px;
  figcaption {
    color: #533F3D;
    font-weight: bold;
    text-align: center;
    font-size: 1.8rem;
    letter-spacing: 1.8px;
  }
  @media screen and (max-width: 767px) {
    img {height: 100px;aspect-ratio: auto;}
    figcaption {
      padding-inline: 5%;
    }
  }
}
.heartburn_lists--des {
  width: 100%;
  max-width: max-content;
  margin-inline: auto;
}
.heartburn_whiteBlock {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 35px 65px;
  &:not(:last-child) {
    margin-bottom: 35px;
  }
  &:has(+ .minto_block) {margin-bottom: 65px;}
  @media screen and (max-width: 767px) {
    padding-inline: 5%;
    &:has(+ .minto_block) {margin-bottom: 45px;}
  }
}
.heartburn_subHead {
  color: #533F3D;
  letter-spacing: 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  margin-bottom: 20px;
  & ~ *:not(:last-child) {margin-bottom: 20px;}
  @media screen and (max-width: 767px) {
    align-items: flex-start;
    letter-spacing: 2.4px;
    img {
      position: relative;
      top: 4px;
    }
  }
}
.heartburn_checkLists {
  &.wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75em 20px;
    li {width: calc(50% - 10px);}
    li:not(:last-child) {margin-bottom: 0;}
  }
  li {
    display: flex;
    gap: 10px;
    &:not(:last-child) {margin-bottom: 0.75em;}
  }
  li::before {
    content: '';
    background: url(../img/check_icon.svg)no-repeat center / contain;
    width: 30px;
    min-width: 30px;
    height: 30px;
    aspect-ratio: 1;
  }
  @media screen and (max-width: 767px) {
    &.wrap li {width: 100%;}
  }
}
.heartburn_secItem {
  width: 100%;
  max-width: 450px;
}
.heartburn_secItem--head {
  margin: 0;
  color: #533F3D;
  font-size: 1.8rem;
  letter-spacing: 0.9px;
}
.heartburn_absImage {
  position: absolute;
  right: 65px;
  bottom: 35px;
  @media screen and (max-width: 767px) {
    position: initial;
    right: auto;
    bottom: auto;
    text-align: center;
  }
}
.heartburn_indentLists {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0 30px;
  width: 100%;
  max-width: 660px;
  li {
    width: calc(50% - 15px);
    display: flex;
    white-space: nowrap;
    &::before {content: '・';}
  }
  li:has(> img) {
    display: block;
    width: auto;
    position: absolute;
    right: -30px;
    &::before {content: '';}
  }
  @media screen and (max-width: 767px) {
    li {width: 100%;}
    li:has(> img) {
      position: initial;
      right: auto;
      margin: 0.5em auto 0;
    }
  }
}

/* faq */
.heartburn_card:not(:last-child) {margin-bottom: 30px;}
.heartburn_q {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 20px;
  background: #D8CFC2;
  color: #3A2206;
  font-weight: bold;
  padding: 20px;
  width: 100%;
  position: relative;
  list-style: none;
  &::-webkit-details-marker {display: none;}
  &::after {
    content: "";
    position: absolute;
    background: url(../img/arr.svg) no-repeat center / contain;
    width: 18px;
    height: 11px;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
  }
  @media screen and (max-width: 767px) {
    padding: 20px 40px 20px 20px;
    gap: 10px;
    &::after {right: 10px;}
  }
}
.heartburn_card[open] .heartburn_q::after {transform: rotate(180deg);}
.heartburn_q--icon, .heartburn_a--icon {
  letter-spacing: 3.2px;
  white-space: nowrap;
}
.heartburn_a {
  display: flex;
  gap: 20px;
  background: #F9F9F8;
  color: #3A2206;
  font-weight: bold;
  padding: 20px;
  width: 100%;
  @media screen and (max-width: 767px) {
    gap: 10px;
  }
}
.heartburn_q--para, .heartburn_a--cont {letter-spacing: 3.2px;}
.indent_num {
  padding-left: 2.15em;
  text-indent: -2.15em;
}

@media screen and (max-width: 767px) {
  .sec_h2 {letter-spacing: 2.4px;}
  .sec_h2.sec_h2--sp {font-size: min(2rem, 4.8vw);}
  .mb56 {margin-bottom: 40px;}
}

/* aside */
.yasashii_other {
	width: 100%;
	padding-bottom: 50px;
	@media screen and (max-width: 767px) {
		padding-bottom: 35px;
	}
}
.yasashii_other--pages {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.yasashii_other--item {
	max-width: calc(25% - 30px / 4);
	width: 100%;
	border: 3px solid #E8E5DD;
	display: flex;
	align-items: center;
  letter-spacing: 0;
	a {
		width: 100%;
		height: 100%;
		padding: 0.5em 1em;
		display: flex;
		flex-direction: column;
		justify-content: center;
		color: #000;
		/*background: rgba(255, 255, 255, 0.5);*/
		background: #594b3c;
		color: #fff;
		font-weight: bold;
		position: relative;
	}
	a::after {
		content: "";
		width: 0.5em;
		aspect-ratio: 1 / 1;
		border-top: 2px solid #E8E5DD;
		border-right: 2px solid #E8E5DD;
		position: absolute;
		right: 1em;
		top: 50%;
		transform: rotate(45deg) translateY(-50%);
	}
	span {
		font-size: 1.2rem;
	}
	@media screen and (max-width: 767px) {
		max-width: calc(50% - 5px);
		font-size: 1.4rem;
		height: 53px;
	}
}