@charset "utf-8";
/*
* ベースカラーの設定 *
ヒアリングシートのベースカラーはここに設定してください
*/
:root {
  --color01: #2b4777;
  --color02: #8b6e5e;
  --color03: #90d5ba;
  --color04: #ff9068;
  --color05: #fc7b7f;
  --color06: #ff9068;
}
/*
Theme Name: portals_responsive
Author: portals
*/
/*==================================
* reset
* html5doctor.com Reset Stylesheet
* v1.6.1
* Last Updated: 2010-09-17
* Author: Richard Clark - http://richclarkdesign.com
* Twitter: @rich_clark
==================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
ol,
ul {
  list-style: none;
}
img {
  vertical-align: top;
  line-height: 0;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
address {
  font-style: normal;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/*==================================
  base
==================================*/
.clear {
  clear: both;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.center {
  text-align: center;
}
.img_left,
.img_right {
  margin: 0 auto 16px;
}
.img_center {
  display: block;
  margin: 0 auto 16px;
}
.only_pc {
  display: none;
}
img {
  display: block;
  margin: 0 auto;
  width: auto;
  max-width: 100%;
  height: auto;
}
a:link {
  color: #83a139;
}
a:visited {
  color: #fcafa7;
}
a:hover {
  color: #baea83;
}
a:active {
  color: #baea83;
}
body {
  overflow-x: hidden;
  background: #fff;
  color: #6c482a;
  font-size: 15px;
  line-height: 1.5;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue",
    HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo,
    sans-serif;
  font-weight: 500;
}
@media screen and (min-width: 480px) {
  .img_left,
  .img_right {
    width: 40%;
  }
  .img_left {
    float: left;
    margin: 0 3% 3% 0;
  }
  .img_right {
    float: right;
    margin: 0 0 3% 3%;
  }
}
@media screen and (min-width: 680px) {
  .img_left,
  .img_right {
    width: 40%;
  }
  .only_sp {
    display: none !important;
  }
  .only_pc {
    display: block;
  }
  a:hover img,
  a:active img {
    -webkit-opacity: 0.7;
    opacity: 0.7;
  }
  body {
    width: 100%;
    font-size: 18px;
    line-height: 1.6;
  }
}
@media screen and (min-width: 1364px) {
  body {
    min-width: 1364px;
  }
}
/*==================================
  layout
==================================*/
#contents {
  margin: -3.5vw auto 24px;
  width: 98%;
  max-width: 1090px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.inner {
  margin: 0 calc(50% - 50vw);
  padding: 3em calc(50vw - 48%);
}
.conts {
  margin: 0 12px 16px;
}
.conts:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: "";
  clear: both;
  height: 0;
}
.conts .conts_inner {
  overflow: hidden;
}
.conts p:not([class]) {
  margin-bottom: 8px;
}
.bnr {
  margin: clamp(16px, 4vw, 48px) auto;
}
.ttl {
  margin: clamp(24px, 7vw, 100px) auto clamp(16px, 4vw, 48px);
}
/*色のみ変更すればチェックの色を変更可能*/
.bg01 {
  background: url(image/bg01.png) #ffe3db;
}
a:active img {
  -webkit-opacity: 0.7;
  opacity: 0.7;
}
.contact_gmap {
  margin-top: 1em;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.contact_gmap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (min-width: 680px) {
  .inner {
    padding: 5em calc(50vw - 48%);
  }
  .conts {
    margin: 0 24px 24px;
  }
}
@media screen and (min-width: 960px) {
  #contents {
    margin: max(-3.5vw, -50px) auto 40px;
  }
}
.no_toppadding {
  padding-top: 0;
}
/*==================================
Header
==================================*/
#header {
  position: relative;
  z-index: 999999;
  border-top: solid 10px var(--color04);
  background: #fff;
}
.h_inner {
  overflow: hidden;
  margin: 0 auto;
  padding: 8px 0;
  width: 95%;
  max-width: 1240px;
  box-sizing: border-box;
}
.h_upper_txt {
  font-size: 13px;
}
.h_logo {
  margin: 12px auto 0;
  width: 70%;
}
@media screen and (min-width: 480px) {
  .h_logo {
    margin: 16px autox;
  }
}
@media screen and (min-width: 680px) {
  #header {
    border-top: none;
  }
  .h_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 16px 0;
  }
  .h_upper_txt {
    font-size: min(5vw, 23px);
  }
  .h_logo h1 {
    width: 60%;
    margin: 0.5em 16px 8px 0;
  }
  .h_logo h1 img {
    margin: 0;
  }
  .h_contact img {
    max-width: none;
  }
}
@media screen and (min-width: 940px) {
  .h_logo h1 {
    width: 100%;
  }
}
/*==================================
  Navigation
==================================*/
nav {
  width: 100%;
  background: #fff;
}
.gnav_sp {
  width: 100%;
  display: flex;
  justify-content: space-around;
  margin: 0 auto;
}
.gnav_sp li {
  padding: 8px 0;
  width: 20%;
}
.gnav_sp img {
  width: 85%;
}
.fixed {
  position: fixed;
  top: 0;
  z-index: 999999;
  -webkit-box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 7px -2px rgba(0, 0, 0, 0.2);
}
/*ページ内リンク対策*/
#contact,
#cause,
#ba,
#flow,
#faq {
  margin-top: -128px;
  padding-top: 128px;
}
@media screen and (min-width: 480px) {
  .gnav_sp img {
    width: 75%;
  }
}
@media screen and (min-width: 680px) {
  ul.gnav_pc {
    display: flex;
    margin: 0 auto;
    max-width: 1240px;
  }
  ul.gnav_pc li {
    position: relative;
    flex-grow: 1;
    box-sizing: border-box;
  }
  ul.gnav_pc li::before,
  .gnav_pc li:last-child::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translatey(-50%);
    width: 0;
    padding-top: 2em; /*区切り線の長さ*/
    border-left: solid 1px #3a2b22; /*区切り線の色*/
    box-sizing: border-box;
  }
  ul.gnav_pc li::before {
    left: 0;
  }
  ul.gnav_pc li:last-child::after {
    right: 0;
  }
  ul.gnav_pc li a {
    display: block;
    padding: 0.5em 0;
    color: inherit;
    font-size: clamp(16px, 2.2vw, 22px);
    text-decoration: none;
    text-align: center;
  }
}
@media screen and (min-width: 960px) {
  ul.gnav_pc li {
    width: 20%;
    box-sizing: border-box;
  }
}
/*==================================
  mainimg
==================================*/
.main_img {
  display: block;
  width: 100%;
  margin: 0 auto;
  background-color: #f9f9f8;
}
/*==================================
  heading
==================================*/
.heading01 {
  position: relative;
  margin: 0 calc(50% - 50vw) clamp(24px, 6vw, 80px);
  padding: 0.5em calc(50vw - 49%) !important;
  background: var(--color02);
  text-align: center;
  font-size: clamp(18px, 4.3vw, 48px);
  color: #fff;
}
.heading01::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-top: clamp(10px, 3vw, 35px) solid var(--color02);
  border-left: clamp(17px, 5vw, 60px) solid transparent;
  border-right: clamp(17px, 5vw, 60px) solid transparent;
}
.heading01.heading_line2:first-line {
  font-size: 79%;
  line-height: 1.2;
}
/*問い合わせh3・悩み見出し*/
.heading02,
.nayami02 h3 {
  position: relative;
  margin: 0 auto 2em;
  padding: 1.5em 0 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(0.03deg);
  font-size: clamp(22px, 4vw, 48px);
  text-align: center;
}
.heading02::after {
  position: absolute;
  bottom: -0.4em;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 5em;
  height: 0.2em;
  background-image: radial-gradient(
    ellipse at center,
    var(--color02) 0%,
    var(--color02) 40%,
    transparent 70%
  );
  background-position: center center;
  background-repeat: no-repeat;
}
.heading02.heading_line2:first-line,
.nayami02 h3:first-line {
  font-size: 79%;
  line-height: 1.2;
}
.nayami02 h3 {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-size: clamp(18px, 4vw, 48px);
  margin-bottom: 1em;
  padding-top: 0;
}
.nayami02 h3::before,
.nayami02 h3::after {
  display: block;
  content: "";
  width: 0.3em;
  height: 1.5em;
  background-image: radial-gradient(var(--color02) 40%, transparent 10%);
  background-size: 0.3em 0.3em;
  background-position: 0 center;
  background-repeat: repeat-y;
}
.nayami02 h3::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}
.nayami02 h3::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}
/*問い合わせh4*/
.heading03 {
  margin: 0 auto 0.5em;
  padding-left: 0.4em;
  font-size: clamp(18px, 3vw, 40px);
  border-left: solid 0.4em var(--color04);
}
/*==================================
  ビフォーアフター
==================================*/
.ba {
  background: #fbe7df;
}
.ba_list li {
  margin: 12px auto;
  padding: 12px;
  background: #fff;
  box-sizing: border-box;
}
.ba_list figure {
  position: relative;
  margin: 16px auto 0;
  display: flex;
  justify-content: space-between;
}
.ba_list li figure::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "▲";
  color: var(--color04);
  font-size: clamp(20px, 14vw, 100px);
  transform: translate(-55%, -50%) scale(0.7, 1) rotate(90deg);
}
.ba_list figure img {
  margin: 0;
  width: 48%;
}
.ba_prof {
  border-bottom: solid 1px #6c482a;
  font-size: clamp(20px, 5vw, 52px);
  text-align: center;
}
.menseki {
  margin: 1em auto 0;
  font-size: clamp(10px, 2.5vw, 13px);
  text-align: right;
}
@media screen and (min-width: 480px) {
  .ba_list {
    display: flex;
    flex-wrap: wrap;
  }
  .ba_list li {
    width: 50%;
    padding: min(5vw, 48px);
  }
  .ba_list li:nth-child(2n + 1) {
    padding-right: min(2.5vw, 24px);
  }
  .ba_list li:nth-child(2n) {
    padding-left: min(2.5vw, 24px);
  }
  .ba_list li figure::after {
    font-size: clamp(20px, 7.5vw, 90px);
  }
}
@media screen and (min-width: 1240px) {
  .ba_list {
    margin: 0 -80px;
  }
}
/*==================================
  オファーバナー
==================================*/
.offer {
  background: #ff9068;
}
/*==================================
  お悩み
==================================*/
.nayami {
  background: #eff0f0;
}
.nayami_list {
  display: flex;
  justify-content: space-around;
}
.nayami_list li {
  width: 32%;
}
.nayami02 {
  position: relative;
  background: #eff0f0;
}
.nayami02::after {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  transform: translateY(100%);
  border-top: min(10vw, 100px) solid #eff0f0;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
}
.nayami02_conts {
  padding: 12px;
  background: #fff;
  border-radius: 10px;
}
.nayami02_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.nayami02_list li {
  margin: 3% 0;
  width: 49%;
}
.nayami_img08 {
  margin-top: -5%;
}
@media screen and (min-width: 480px) {
  .nayami02_conts {
    padding: min(4vw, 48px);
  }
}
/*==================================
  このような方が通われている
==================================*/
.case_box,
.case_list {
  border-radius: 10px;
}
.case_box {
  padding: 20px;
  background: #def2f1;
}
.case_list {
  padding: 12px;
  background: #fff;
}
.case_list li {
  display: flex;
  align-items: flex-start;
  padding: 0.5em;
  border-bottom: solid 1px #5f4741;
  font-size: clamp(16px, 2.8vw, 31px);
  font-weight: bold;
}
.case_list li::before {
  position: relative;
  top: -0.1em;
  display: block;
  flex-shrink: 0;
  content: "";
  margin: 0.1em 0.5em 0 0;
  width: 1.5em;
  height: 1.5em;
  background: url(image/ico_check01.png) no-repeat center center;
  background-size: contain;
}
.case_txt {
  margin: 1.5em 0.5em;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(0.03deg);
}
.case_txt br {
  display: none;
}
.case_txt .em01 {
  font-size: 125%;
  text-decoration: underline;
}
@media screen and (min-width: 480px) {
  .case_box,
  .case_list {
    padding: min(4vw, 48px);
  }
}
@media screen and (min-width: 680px) {
  .case_txt {
    text-align: center;
    font-size: clamp(18px, 2.7vw, 30px);
  }
  .case_txt br {
    display: inline;
  }
}
/*==================================
  原因
==================================*/
.cause {
  background: #eff0f0;
}
.cause_list {
  counter-reset: cause_list;
}
.cause_list li {
  padding: 2em 0;
  border-bottom: dotted 4px #b5b5b5;
}
.cause_list li h3 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.3em 0 0.3em 3.8em;
  font-size: clamp(20px, 3vw, 40px);
  font-weight: bold;
  line-height: 1.2;
  min-height: 2.4em;
}
.cause_list li h3::before,
.cause_list li h3::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(0.03deg);
  display: block;
  color: #fff;
  text-align: center;
}
.cause_list li h3::before {
  content: "原因";
  left: 0.2em;
  width: 5.1em;
  height: 5.1em;
  font-size: 60%;
  line-height: 2.5em;
  background: #859b9a;
  border-radius: 50%;
}
.cause_list li h3::after {
  left: 0.05em;
  counter-increment: cause_list;
  content: counter(cause_list);
  font-size: 200%;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 2;
  width: 1.53em;
  height: 1.53em;
}
.cause_txt {
  margin: 1em auto 0;
}
/*==================================
  4つの理由
==================================*/
/*背景のストライプはCSSで色を変更してください*/
.reason {
  padding-bottom: 5em;
  background-image: repeating-linear-gradient(
    -45deg,
    #fbfaf2 0,
    #fbfaf2 20px,
    #f8f6e5 20px,
    #f8f6e5 24px
  );
}
.reason_list {
  padding: clamp(12px, 4vw, 56px) clamp(16px, 5vw, 72px);
  counter-reset: reason_list;
  background: #fff;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
  margin: 14px 0;
}
.reason_inner {
  overflow: hidden;
}
.reason_list h3 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  margin: 1em auto;
  padding: 0.5em 0.3em 0.5em 2.8em;
  color: #5f4741;
  /*reason_h3_innerと同じフォントサイズにしてください*/
  font-size: clamp(16px, 3.3vw, 46px);
  line-height: 1.3;
}
.reason_list > :first-child h3 {
  margin-top: 0;
}
.reason_h3_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 2.6em;
  font-size: clamp(16px, 3.3vw, 46px);
  padding-left: 0.5em;
  line-height: 1.3;
  border-left: solid 2px #5f4741;
}
.reason_h3_inner::before,
.reason_h3_inner::after {
  position: absolute;
  display: block;
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(0.03deg);
  color: var(--color04);
}
.reason_h3_inner::before {
  left: 0;
  top: 50%;
  transform: translate(-105%, -50%);
  content: "理由";
  font-size: 75%;
  width: 3.5em;
  height: 3.5em;
}
.reason_h3_inner::after {
  left: 0;
  top: 50%;
  transform: translate(-105%, -50%);
  counter-increment: reason_list;
  /*content: "0" counter(reason_list);*/
  font-size: 202%;
  line-height: 1.8;
  width: 1.3em;
  height: 1.3em;
}
.reason_list:first-of-type .reason_h3_inner::after {
  content: "01";
}
.reason_list:nth-of-type(2) .reason_h3_inner::after {
  content: "02";
}
.reason_list:nth-of-type(3) .reason_h3_inner::after {
  content: "03";
}
.reason_list:nth-of-type(4) .reason_h3_inner::after {
  content: "04";
}
.reason_list:nth-of-type(5) .reason_h3_inner::after {
  content: "05";
}
.reason_list h3 .em01 {
  display: contents;
  color: #ec6941;
}
.reason_list h3 br {
  display: none;
}
.reason_pic img {
  width: 100%;
  max-width: 100%;
}
.reason_list p {
  padding: 16px;
}
.reason_point_txt {
  font-size: clamp(18px, 2.5vw, 26px);
  line-height: 1.4;
  color: #ec6941;
  font-weight: bold;
}
@media screen and (min-width: 480px) {
  .reason_list h3 br {
    display: inline;
  }
  .reason_pic {
    width: 38%;
  }
}
@media screen and (max-width: 680px) {
  .reason_pic figure {
    width: 80%;
  }
  .reason_pic.wp-block-image .alignright,
  .reason_pic.wp-block-image .alignleft {
    float: none;
    margin: 0.5em auto 1em;
  }
}
@media screen and (min-width: 960px) {
  .reason_conts {
    overflow: hidden;
  }
}
@media screen and (min-width: 1240px) {
  .reason_list {
    margin: 46px -80px;
    padding: 56px 72px;
  }
}
/*==================================
  6つのこだわり
==================================*/
/*背景のストライプはCSSで色を変更してください*/
.commit {
  padding-bottom: 5em;
  background-image: repeating-linear-gradient(
    -45deg,
    #fbfaf2 0,
    #fbfaf2 20px,
    #f8f6e5 20px,
    #f8f6e5 24px
  );
}
.commit_list {
  padding: clamp(12px, 4vw, 56px) clamp(16px, 5vw, 72px);
  counter-reset: commit_list;
  background: #fff;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
}
.commit_inner {
  overflow: hidden;
}
.commit_list h3 {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  margin: 1em auto;
  padding: 0.5em 0.3em 0.5em 3.5em;
  color: #5f4741;
  /*commit_h3_innerと同じフォントサイズにしてください*/
  font-size: clamp(16px, 3.3vw, 46px);
  line-height: 1.3;
}
.commit_list > :first-child h3 {
  margin-top: 0;
}
.commit_h3_inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 2.6em;
  font-size: clamp(16px, 3.3vw, 46px);
  padding-left: 0.5em;
  line-height: 1.3;
  border-left: solid 2px #5f4741;
}
.commit_h3_inner::before {
  counter-increment: commit_list;
  content: "0" counter(commit_list);
  display: block;
  position: absolute;
  left: -0.15em;
  top: 50%;
  width: 1.1em;
  height: 1.1em;
  transform: translate(-105%, -50%) rotate(0.03deg);
  text-align: center;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  color: var(--color04);
  font-size: 246%;
  line-height: 1.2;
}
.commit_list h3 br {
  display: none;
}
.commit_pic img {
  width: 100%;
  max-width: 100%;
}
.commit_list p {
  padding: 16px;
}
@media screen and (min-width: 480px) {
  .commit_list h3 br {
    display: inline;
  }
  .commit_pic {
    width: 38%;
  }
}
@media screen and (max-width: 680px) {
  .commit_pic figure {
    width: 80%;
  }
  .commit_pic.wp-block-image .alignright,
  .commit_pic.wp-block-image .alignleft {
    float: none;
    margin: 0.5em auto 1em;
  }
}
@media screen and (min-width: 960px) {
  .commit_conts {
    overflow: hidden;
  }
}
@media screen and (min-width: 1240px) {
  .commit_list {
    margin: 0 -80px;
    padding: 56px 72px;
  }
}
/*==================================
  流れ
==================================*/
.flow_list {
  counter-reset: flow_list;
}
.flow_list li {
  margin: 1.5em auto;
  padding: 1em 0.8em;
  box-sizing: border-box;
}
.flow_list li > :first-child {
  margin: 8px 0 0 0;
  font-size: clamp(20px, 2.8vw, 32px);
  font-weight: bold;
  text-align: center;
  color: var(--color04);
  white-space: nowrap;
}
.flow_list li > :first-child::before {
  counter-increment: flow_list;
  content: "0" counter(flow_list) ".";
}
.flow_list li > :last-child {
  padding: 0.5em;
  font-size: 16px;
}
@media screen and (min-width: 480px) {
  .flow_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .flow_list li {
    margin: 1.5em auto;
    width: 49%;
    padding: 1em 0.8em;
    box-sizing: border-box;
  }
  .flow_list li > :first-child {
    margin: 8px 0 0 -0.5em;
    width: 110%;
    font-size: 20px;
    text-align: left;
    transform: scale(0.9, 1);
  }
}
@media screen and (min-width: 680px) {
  .flow_list li {
    width: 33%;
  }
  .flow_list li > :first-child {
    font-size: clamp(19px, 2.5vw, 32px);
  }
}
/*==================================
  マイクロスコープ
==================================*/
.microscope {
  background: #fcf1ec;
}
.microscope_box {
  padding: 5%;
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow: 0px 0px 38px 0px rgba(128, 88, 49, 0.11);
}
.microscope_box h2 {
  order: 0;
  color: #99d5cd;
  font-size: clamp(24px, 3.5vw, 46px);
  font-weight: bold;
}
.microscope_txt {
  margin-top: 3%;
  order: 2;
}
.microscope_box figure {
  margin-top: 3%;
  order: 1;
}
.microscope_txt p {
  margin: 0.5em auto;
}
@media screen and (min-width: 480px) {
  .microscope_box {
    overflow: hidden;
    display: block;
  }
  .microscope_box figure {
    margin: 0 0 1em 1em;
    width: 40%;
    float: right;
  }
}
@media screen and (min-width: 680px) {
  .microscope_box h2 {
    float: left;
  }
  .microscope_box figure {
    width: 50%;
  }
  .microscope_txt {
    clear: left;
  }
}
@media screen and (min-width: 960px) {
  .microscope_txt {
    overflow: hidden;
  }
}
@media screen and (min-width: 1240px) {
  .microscope_box {
    margin: 0 -80px;
    padding: 56px 72px;
  }
}

/*==================================
  発毛施術への想い
==================================*/
/*必要に応じて画像横幅指定*/
.greet .img_left {
  width: 60%;
  max-width: 314px;
}
.greet_txt {
  margin-top: 1em;
}
.greet_txt_main {
  font-size: clamp(20px, 6vw, 35px);
  font-weight: bold;
  line-height: 1.2;
}
@media screen and (min-width: 480px) {
  .greet .img_left {
    width: 40%;
  }
}
@media screen and (min-width: 680px) {
  .greet_txt {
    margin-top: 0;
  }
  .greet_txt_main {
    font-size: clamp(20px, 2.8vw, 35px);
  }
}
@media screen and (min-width: 1240px) {
  .greet .conts {
    margin: 0 -48px;
    padding: 0;
  }
  .greet_txt {
    overflow: hidden;
  }
}
/*==================================
  よくある質問
==================================*/
.faq_list_box {
  padding: clamp(12px, 4vw, 40px) 0;
  border-bottom: solid 1px #5f4741;
}
.faq_list dt,
.faq_list dd {
  align-items: flex-start;
  display: flex;
}
.faq_list dt {
  font-size: clamp(18px, 3.5vw, 37px);
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(0.03deg);
  font-weight: bold;
}
.faq_list dd {
  padding: clamp(12px, 4vw, 40px) 0 0;
}
.faq_list dt::before,
.faq_list dd::before {
  position: relative;
  display: block;
  font-size: clamp(20px, 5vw, 64px);
}
.faq_list dt::before {
  top: -0.3em;
  content: "Q.";
  margin-right: 0.5em;
}
.faq_list dd::before {
  top: -0.2em;
  content: "A.";
  margin-right: 0.5em;
  flex-shrink: 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  transform: rotate(0.03deg);
  font-weight: bold;
  color: var(--color04);
}
@media screen and (min-width: 680px) {
  .faq_list dd {
    font-size: 19px;
  }
  .faq_list dd::before {
    top: -0.3em;
  }
}
/*==================================
  お問合せ
==================================*/
/*共通*/
/*お問合せボタン共通スタイル*/
.contact_tel,
.contact_line,
.contact_net {
  position: relative;
  top: 0;
  left: 0;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
  box-sizing: border-box;
}
.contact_tel a,
.contact_line a,
.contact_net a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
}
.contact_tel a::before,
.contact_line a::before,
.contact_net a::before {
  content: "";
  display: block;
  margin-right: 0.5em;
  width: 1.6em;
  height: 1.6em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
/*横並びにしたときに高さをそろえるためliに色や線を設定*/
.contact_tel {
  background: #c0191f;
}
.contact_tel_inner {
  line-height: 1.2;
}
.contact_line {
  background: #06c755;
}
.contact_net {
  background: #ffa280;
}
.contact_tel a .num {
  display: block;
  font-size: 61%;
}
.contact_tel a::before {
  background-image: url(image/contact_ico_tel.png);
}
.contact_line a::before {
  background-image: url(image/contact_ico_line.png);
}
.contact_net a::before {
  background-image: url(image/contact_ico_net.png);
}
@media screen and (min-width: 680px) {
  .contact_tel:hover,
  .contact_line:hover,
  .contact_net:hover {
    opacity: 0.7;
  }
}

/*お問合せのボタン*/
.contact_bt {
  margin: 1em auto 0;
  max-width: 500px;
  width: 98%;
}
.contact_bt li {
  display: block;
  margin: 0.2em auto;
  font-size: clamp(32px, 8vw, 48px);
  text-decoration: none;
  text-align: center;
}
/*電話ボタン*/
.contact_bt .contact_tel {
  padding: 0.3em 0.1em;
  line-height: 1;
}
.contact_bt .contact_tel a .num {
  display: block;
  font-size: 61%;
}
/*LINEボタン*/
.contact_bt .contact_line {
  padding: 0.3em 0.1em;
  line-height: 1;
}
/*Web予約ボタン*/
.contact_bt .contact_net {
  padding: 0.2em 0.1em;
  line-height: 1;
}
@media screen and (min-width: 680px) {
  .contact_bt li {
    font-size: clamp(32px, 4vw, 48px);
  }
}
/*予約ボタン横並び*/
.contact_bt {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contact_bt_s {
  width: 100%;
}
.contact_bt_d {
  width: 100%;
}
.contact_bt li.contact_bt_d a::before {
  font-size: 90%;
}

/*1院用*/
.contact_single_add {
  margin: 1em auto;
}
@media screen and (min-width: 480px) {
  .contact_single_add br {
    display: none;
  }
}
@media screen and (min-width: 680px) {
  .contact_single {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .contact_single > * {
    width: 48%;
  }
  .contact_single .contact_bt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
  }
  .contact_single ul.contact_bt li:first-child a {
    margin-top: 0;
  }
  .contact_single_add {
    margin: 2em auto;
    font-size: 20px;
    line-height: 1.4;
  }
}
/*複数院用*/
.contact_multiple > li {
  margin-top: 1.5em;
}
.contact_uketsuke_txt {
  margin-top: 1em;
  font-weight: bold;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1.2;
}
.contact_uketsuke_txt > p:first-child {
  margin: 0 auto 0.5em;
  padding: 0 1.5em 0.1em;
  display: inline-block;
  background: #362e2b;
  color: #fff;
}
.contact_multiple .contact_add {
  margin-top: 0.5em;
  padding-top: 0.5em;
  border-top: dotted 1px #7c6754;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1.2;
}
@media screen and (min-width: 680px) {
  .contact_multiple > li {
    margin-top: 2.5em;
  }
  .contact_multiple {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contact_multiple > * {
    width: 48%;
    max-width: 554px;
  }
  .contact_multiple .contact_add {
    margin-top: 1em;
    padding-top: 1em;
  }
}
@media screen and (min-width: 1240px) {
  .contact_multiple {
    margin: 0 -80px;
  }
  .contact_multiple .contact_bt li a {
    max-width: 554px;
  }
  .contact_uketsuke_txt {
    margin-top: 1em;
  }
}

/* 受付時間の表 */
table.contact_uketsuke {
  margin: 2em auto;
  width: 98%;
  overflow: hidden;
  box-sizing: border-box;
  font-family: YuGothic, "Yu Gothic", -apple-system, BlinkMacSystemFont, Roboto,
    "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, "Segoe UI", Verdana,
    Meiryo, sans-serif;
  font-weight: 500;
}
.contact_uketsuke th,
.contact_uketsuke td {
  padding: 12px 8px;
  border: solid 2px #b49d8f;
  text-align: center;
  vertical-align: middle;
  font-size: clamp(14px, 2.5vw, 39px);
}
.contact_uketsuke th {
  background: #fbe7df;
}
.contact_uketsuke tr:not(:first-child) th,
.contact_uketsuke tr:not(:first-child) td {
  font-weight: 500;
}
.contact_uketsuke tr > :first-child {
  width: 7em;
}
/*==================================
Footer
==================================*/
.copyright {
  background: var(--color02);
  color: #fff;
  text-align: center;
  /* margin: 10% 0 20%; 下に固定ボタンを設置するときはコメントアウト解除してください。*/
}
.copyright small {
  font-size: 1rem;
  font-size: 10px;
}
@media screen and (min-width: 680px) {
  .copyright {
    padding: 8px 0;
    margin: 0;
  }
  .copyright small {
    font-size: 14px;
  }
  .copyright a {
    color: inherit;
  }
  .copyright a:hover,
  .copyright a:active {
    color: #baea83;
  }
}
