@charset "UTF-8";
html {
  font-size: 62.5%;
}

@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 500;
  src: url(../fonts/ZenMaruGothic-Medium.woff) format("woff");
}
@font-face {
  font-family: "ZenMaruGothic";
  font-weight: 700;
  src: url(../fonts/ZenMaruGothic-Bold.woff) format("woff");
}
@font-face {
  font-family: "Noto Sans JP";
  font-weight: 400;
  src: url(../fonts/NotoSansJP-VariableFont_wght.woff) format("woff");
}
@font-face {
  font-family: "Noto Serif JP";
  font-weight: 400;
  src: url(../fonts/NotoSerifJP-Regular.woff) format("woff");
}
@font-face {
  font-family: "Noto Serif JP";
  font-weight: 500;
  src: url(../fonts/NotoSerifJP-Medium.woff) format("woff");
}
@font-face {
  font-family: "Noto Serif JP";
  font-weight: 700;
  src: url(../fonts/NotoSerifJP-Bold.woff) format("woff");
}
@font-face {
  font-family: "Oswald";
  font-weight: 500;
  src: url(../fonts/Oswald-VariableFont_wght.woff) format("woff");
}
@font-face {
  font-family: "KiwiMaru";
  font-weight: 300;
  src: url(../fonts/KiwiMaru-Light.woff) format("woff");
}
@font-face {
  font-family: "KiwiMaru";
  font-weight: 400;
  src: url(../fonts/KiwiMaru-Regular.woff) format("woff");
}
@font-face {
  font-family: "KiwiMaru";
  font-weight: bold;
  src: url(../fonts/KiwiMaru-Medium.woff) format("woff");
}
body {
  color: #141414;
  background: #f6f6f6;
  line-height: 2;
  font-family: YakuHanJP, "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  letter-spacing: 0.05rem;
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  body {
    letter-spacing: 0.05rem;
    font-size: 1.7rem;
  }
}
.sm_only {
  display: none !important;
}

@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  .sm_only {
    display: unset !important;
  }
}
.pc_flex {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

@media screen and (max-width: 480px) {
  .pc_flex {
    display: block;
  }
}
img {
  width: 100%;
}

/* 飾り */
.HL_text {
  background: linear-gradient(transparent 77%, #fff4ae 77%);
}

/* flex定義 */
.flex {
  display: flex;
  justify-content: space-around;
}

@media screen and (max-width: 768px) {
  .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }
}
.flex-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.flex-column {
  display: flex;
  flex-flow: column;
}

/* トップに戻るボタン */
#page-top a {
  background: #49bbfd;
  text-decoration: none;
  color: #fff;
  width: 60px;
  padding: 10px 0;
  text-align: center;
  display: block;
  border-radius: 5px;
  float: right;
  margin-bottom: 20px;
  border-radius: 50px;
  height: 60px;
}

#page-top {
  position: fixed;
  z-index: 100;
  bottom: 0px;
  right: 10px;
}

@media screen and (max-width: 768px) {
  #page-top a {
    background: #49bbfd;
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
    float: right;
    margin-bottom: 20px;
    border-radius: 50px;
    height: 50px;
  }
  #page-top {
    position: fixed;
    bottom: 0px;
    right: 10px;
  }
}
.gri_bg {
  position: relative;
  background: linear-gradient(259deg, #014c96 3.53%, #479cc1 69.13%, #9bc0dd 100%);
  z-index: 4;
  margin-top: -33px;
}

.grid_bg {
  background-image: linear-gradient(0deg, transparent 19px, #ccc 20px), linear-gradient(90deg, transparent 19px, #ccc 20px);
  background-size: 20px 20px;
}

/* コンテンツ共通 */
.contents {
  width: 900px;
  padding: 80px 0;
  margin: 0 auto;
}

.contents_title {
  line-height: 1.5;
  text-align: center;
  font-size: 3.5rem;
  margin: 0px 0 20px;
  color: rgb(107, 54, 34);
  padding: 15px 0;
  background-color: #07499e;
  color: white;
}

.contents_title_nosub {
  line-height: 1.5;
  text-align: center;
  font-size: 3.5rem;
  margin: 0px 0 80px;
  color: rgb(107, 54, 34);
  padding: 15px 0;
  background-color: #07499e;
  color: white;
}

.contents_subtitle {
  position: relative;
  display: block;
  text-align: center;
  margin: 55px 0 28px;
}
.contents_subtitle::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f10d";
  font-size: 30px;
  color: #808080;
  margin: -40px -50px;
}

@media screen and (max-width: 768px) {
  .contents {
    width: 100%;
    margin: 0px auto 0px;
    padding: 30px 13px;
  }
  .contents_title {
    width: 100%;
    font-size: 2.2rem;
    line-height: 1.4;
    padding: 18px 4px;
    font-weight: bold;
    letter-spacing: 1.2px;
  }
  .contents_title_nosub {
    font-size: 2.2rem;
    margin: 0px 0 40px;
    padding: 15px 0;
  }
  .contents_title2 {
    position: relative;
    line-height: 1.4;
    width: 100%;
    font-size: 2.2rem;
    padding: 18px 4px;
    margin-bottom: 40px;
  }
  .contents_title2::before {
    top: 95%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #751b15;
  }
  .contents_subtitle {
    font-size: 1.6rem;
    position: relative;
    display: block;
    text-align: left;
    margin: 60px 10px 20px 20px;
  }
  .contents_subtitle::before {
    font-size: 22px;
    margin: -42px -9px;
  }
}
/* FV */
header {
  width: 900px;
  margin: 0 auto;
}

header img {
  width: 200px;
  padding: 17px 0;
}

.header_back {
  background: no-repeat center center;
  background-size: cover;
  background-image: url(../images/back.webp);
}

.header_inner {
  margin: 0px auto 0;
  padding: 0;
}

@media screen and (max-width: 768px) {
  header {
    width: 100%;
    margin: 0 auto;
    background: #ffffff;
  }
  header img {
    padding: 10px;
    display: block;
    margin: 0 auto;
  }
  .header_inner {
    width: 100%;
    padding-top: 0;
  }
}
.header_inner img {
  width: 100vw;
}

.USP {
  padding: 30px 0;
  background: linear-gradient(331deg, #ba869c -6.47%, #e9ccdc 89.13%, #edd4e1 100%);
}
.USP img {
  width: 860px;
  margin: 0 auto;
  display: block;
}

/* アクションエリア */
.box_action {
  /* background: #fff url(../images/bg_diagonal.webp) repeat; */
  position: relative;
  margin: 0 auto;
  padding: 55px 0 20px 0;
}

.box_action_inner {
  width: 900px;
  margin: 0 auto;
}
.box_action_inner .lawyer_box {
  position: relative;
  padding: 15px 0;
  outline: 2px solid #1749a6;
  outline-offset: 5px;
  background: #1749a6;
  color: #fff;
  width: 600px;
  margin-bottom: 150px;
  margin-left: 40px;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .box_action_inner .lawyer_box {
    width: 95%;
    margin: 0 auto 110px;
    border-radius: 10px;
  }
}
.box_action_inner .lawyer_box::before {
  position: absolute;
  top: calc(100% + 2px);
  right: 50px;
  transform: skew(29deg);
  height: 20px;
  width: 15px;
  background-color: white;
  border-right: 3px solid #1749a6;
  content: "";
}
@media screen and (max-width: 768px) {
  .box_action_inner .lawyer_box::before {
    right: 130px;
  }
}
.box_action_inner .lawyer_box h1 {
  font-size: 3.3rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.box_action_inner .lawyer_box h1 span {
  color: #ffeb6d;
}
@media screen and (max-width: 768px) {
  .box_action_inner .lawyer_box h1 {
    font-size: 2rem;
    margin-bottom: 0;
  }
}

.box_action_01 {
  padding-bottom: 20px;
  margin: auto;
  margin-top: -45px;
}
.box_action_01 small {
  text-align: center;
  display: block;
  font-weight: bold;
  color: red;
}
.box_action_01 .flex {
  position: relative;
}

.action_top img {
  display: block;
  margin: 0 auto;
  width: 800px;
  margin-bottom: 90px;
}

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

.box_tel img,
.box_mail img {
  width: 420px;
}

.muryo {
  font-size: 4rem;
  font-weight: bold;
  color: #e57b00;
  text-align: center;
}

.flex_wrap {
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}

.action_area {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  padding: 40px 0;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  background-image: url(../images/action_back.webp);
}

.action_area_inner {
  width: 1000px;
  margin: 0 auto;
}

.action_area h1 {
  font-size: 3.5rem;
  color: #3596d2;
  font-weight: bold;
  padding: 15px 24px 15px;
  border-radius: 7px;
  border: 2px solid #3596d2;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  --webkit-backdrop-filter: blur(10px);
  /* background-color: #db994f; */
  text-align: center;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.4;
}

.action_box {
  width: 700px;
}

.action_area h2 {
  font-size: 3.5rem;
  margin-left: 40px;
  font-weight: bold;
  margin: 20px 0 40px;
  text-align: center;
  line-height: 1.6;
  margin-left: 28px;
}
.action_area h2 span {
  color: #688d02;
}

@media screen and (max-width: 768px) {
  .box_mail::before {
    display: none;
  }
  .box_action {
    padding: 30px 8px;
  }
  .box_tel img,
  .box_mail img {
    width: 100%;
  }
  .box_action_inner {
    width: 100%;
    margin: 0 auto;
  }
  .box_action_inner h1 {
    font-size: 2.3rem;
    margin-bottom: 20px;
    line-height: 1.4;
  }
  .box_action_01 {
    padding: 0 10px 50px;
    width: 100%;
    margin: auto;
    margin-top: 40px;
  }
  .action_top {
    display: block;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 20px;
  }
  .action_box {
    width: 100%;
  }
  .action_area h1 {
    font-size: 1.7rem;
    padding: 8px 10px;
    margin-top: 8px;
  }
  .muryo {
    font-size: 5vw;
  }
  .action_area h2 {
    font-size: 1.8rem;
    line-height: 1.8;
    margin: 15px 0 20px;
  }
  .action_area h2 span {
    color: #688d02;
    border-radius: 2px;
    margin: 0 4px;
  }
  .action_top img {
    display: block;
    margin: 0 auto;
    width: 98%;
  }
  .action_area {
    background: #f7f1e4 url(../images/bg_diagonal.webp) repeat;
    /* background: #fff url(../images/bg_diagonal.webp) repeat; */
    position: relative;
    margin: 0 auto;
    padding: 30px 10px;
  }
  .info {
    position: relative;
    z-index: 2;
  }
  .box_tel {
    position: relative;
    z-index: 2;
  }
  .box_tel img {
    position: relative;
    margin-top: -30px;
  }
}
/* お悩み */
#nayami .contents_title {
  color: rgb(255, 255, 255);
  text-shadow: 2px 0px 6px black;
  background-color: unset;
  font-size: 4.5rem;
}
@media screen and (max-width: 768px) {
  #nayami .contents_title {
    font-size: 2.5rem;
    padding-bottom: 20px;
  }
}

#nayami .contents_title span {
  color: #ffd05a;
  font-size: 2.7rem;
}
@media screen and (min-width: 769px) {
  #nayami .contents_title span {
    font-size: 5rem;
  }
}

#nayami img {
  width: 100%;
  margin: 0 auto;
  display: block;
}
@media screen and (min-width: 769px) {
  #nayami img {
    width: 90%;
  }
}

.onayami_box {
  margin: 10px 0;
  padding: 10px;
}
.onayami_box img {
  width: 500px;
}

#nayami .flex {
  margin-top: 50px;
  justify-content: space-around;
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .onayami_box {
    margin-bottom: 12px;
    padding: 3px;
    margin: 5px 0;
  }
  .onayami_box img {
    width: 90%;
  }
  #nayami .flex {
    margin-top: 0px;
  }
}
/* アピールコンテンツ〜〜横２ */
.pat_01 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.pat_01 li {
  background-color: white;
  width: 48%;
  margin-bottom: 50px;
  color: black(0, 13, 102);
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .pat_01 .pc_flex {
    width: 100%;
  }
  .pat_01 .pc_flex img {
    width: 300px;
    margin-left: 20px;
  }
}
.pat_01 img {
  width: 100%;
  height: 215px;
  -o-object-fit: cover;
     object-fit: cover;
}

.pat_01_text {
  text-align: justify;
  padding: 0px 20px 45px;
  position: relative;
}
.pat_01_text h1 {
  text-align: center;
  font-size: 12rem;
  line-height: 1.3;
  color: rgba(7, 73, 158, 0.1098039216);
  margin-bottom: 10px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.pat_01_text_title {
  color: #07499e;
  line-height: 1.5;
  font-size: 2.8rem;
  margin: 30px 0;
  text-align: center;
  font-weight: bold;
}

.pat_01_text span {
  background: linear-gradient(transparent 77%, #fff4ae 77%);
  font-weight: bold;
}

/* .pat_01 .pc-margin {
    margin-bottom: 0;
} */
@media screen and (max-width: 768px) {
  .pat_01 li {
    margin-bottom: 30px;
    width: 100%;
  }
  .pat_01_text {
    padding: 0px 20px 30px;
  }
  .pat_01_text_title {
    font-size: 2.4rem;
    margin-bottom: 15px;
  }
  .pat_01 img {
    width: 100%;
    height: 155px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* アピールコンテンツ〜〜縦図なし */
.pat_02 {
  background: #fff url(../images/bg_dot.webp) repeat;
  padding: 40px 80px;
  margin-bottom: 50px;
  padding-top: 20px;
}

.pat_02 .pat_02_content span {
  font-weight: bold;
}

.shiho {
  background: gainsboro;
  padding: 30px;
}

.bengo {
  background: #f6e1c3;
  padding: 30px;
  margin-top: 30px;
}

.bengo h1 {
  font-size: 3.5rem !important;
  color: #1d4e97;
  font-weight: bold;
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
  font-size: 3.2rem;
  letter-spacing: 0.1em;
  font-family: "YuMincho", "游明朝";
}

.pat_02 h1 {
  font-size: 2.5rem;
  font-weight: bold;
}

.pat_02 ul li {
  background-color: #fff;
  padding: 10px;
  margin-bottom: 10px;
  font-weight: bold;
  color: #282828;
  letter-spacing: 0.06em;
}

.pat_02 ul {
  margin: 20px 0;
}

.point_num {
  width: 20%;
  margin: 0 auto;
  display: block;
  /* margin-top: -50px; */
  margin-bottom: -30px;
}

.merit_num {
  text-align: center;
  color: #5b5b5b;
  font-size: 3rem;
  font-weight: bold;
}

.pat_02_title {
  color: #bf5637;
  font-weight: bold;
  /* background: linear-gradient(transparent 65%, #ccd7b6 65%); */
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
  text-align: center;
  font-size: 3.8rem;
  margin-bottom: 20px;
  position: relative;
  line-height: 1.4;
  font-family: "YuMincho", "游明朝";
}

@media screen and (max-width: 768px) {
  .pat_02 {
    background: #fff url(../images/bg_dot.webp) repeat;
    padding: 10px;
    margin-bottom: 50px;
    padding-top: 20px;
  }
  .pat_02 .pat_02_content span {
    font-weight: bold;
  }
  .pat_02 h1 {
    font-size: 2rem;
  }
  .pat_02 ul {
    margin: 20px 0;
  }
  .point_num {
    width: 35%;
    margin: 0 auto;
    display: block;
    /* margin-top: -50px; */
    margin-bottom: -30px;
  }
  .merit_num {
    text-align: center;
    color: #5b5b5b;
    font-weight: bold;
  }
  .pat_02_title {
    font-size: 2.5rem;
    text-align: left;
    margin-bottom: 20px;
    position: relative;
    line-height: 1.4;
    font-family: "YuMincho", "游明朝";
  }
  .shiho {
    background: gainsboro;
    padding: 10px;
  }
  .bengo {
    background: #f6e1c3;
    padding: 10px;
    margin-top: 20px;
  }
  .bengo h1 {
    font-size: 2.5rem !important;
    color: #1d4e97;
    font-weight: bold;
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
    font-feature-settings: "palt";
    font-size: 3.2rem;
    letter-spacing: 0.1em;
    font-family: "YuMincho", "游明朝";
  }
}
/* よくある質問〜〜折りたたみ式 */
.accordion-area {
  list-style: none;
  width: 96%;
  margin: 65px auto;
}
.accordion-area li {
  margin: 10px 0;
}
.accordion-area section {
  box-shadow: 0px 5px 11px 0px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(128, 128, 128, 0);
  background: white;
  border-radius: 5px;
  margin-bottom: 25px;
}

.title {
  position: relative;
  cursor: pointer;
  font-weight: 700;
  padding: 3% 3% 3% 85px;
  transition: all 0.5s ease;
}
.title::before, .title::after {
  position: absolute;
  content: "";
  width: 27px;
  height: 2px;
  background-color: #333;
}
.title::before {
  top: 48%;
  left: 30px;
  transform: rotate(0deg);
}
.title::after {
  top: 48%;
  left: 30px;
  transform: rotate(90deg);
}
.title.close::before {
  transform: rotate(45deg);
}
.title.close::after {
  transform: rotate(-45deg);
}

.accordion-area .box {
  opacity: unset;
  display: none;
  background: #fffbe2;
  margin: 0 3% 3% 3%;
  padding: 4% 5%;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .accordion-area .box {
    padding: 2%;
  }
}
.accordion-area .box b {
  font-weight: 600;
  color: #f25e2d;
}

@media screen and (max-width: 768px) {
  .accordion-area {
    margin: 30px auto;
    width: 100%;
  }
  .title {
    position: relative;
    cursor: pointer;
    font-weight: 700;
    padding: 3% 3% 3% 50px;
    transition: all 0.5s ease;
  }
  .title::before, .title::after {
    position: absolute;
    content: "";
    width: 15px;
    height: 2px;
    background-color: #333;
  }
  .title::before {
    top: 48%;
    left: 15px;
    transform: rotate(0deg);
  }
  .title::after {
    top: 48%;
    left: 15px;
    transform: rotate(90deg);
  }
}
/* 解決までの流れ */
.flow_box {
  background-color: white;
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
  display: flex;
  margin: 25px 8px;
  padding: 30px;
}

.flow_left {
  position: relative;
  width: 85px;
}

.flow_right {
  margin: 10px 20px 18px 35px;
  padding-top: 0px;
  position: relative;
}
.flow_right span {
  background: linear-gradient(transparent 77%, #fff4ae 77%);
  font-weight: bold;
}

.flow_right_h {
  font-size: 3rem;
  font-weight: bold;
  color: #000;
}

.flow_left p {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  background: #07499e;
  color: #fff;
  font-size: 2.4rem;
  padding: 16px 0px 0px 0px;
  line-height: 1.3;
  text-align: center;
  font-weight: bold;
}

.flow_left p span {
  display: block;
  font-size: 1.8rem;
}

.flow_right div p {
  margin: 16px 30px 16px 0px;
}

.flow_right img {
  padding: 10px;
  width: 315px;
}

.flow_right .flex {
  flex-wrap: nowrap;
  align-items: center;
}

.flow_right p {
  text-align: left;
}

.flow_right small {
  display: block;
  margin-top: 10px;
}
.flow_right .box_action_01 {
  margin-top: 20px;
  padding: 0;
}
.flow_right .box_tel::before {
  content: none;
}
.flow_right .box_mail::before {
  content: none;
}

@media screen and (max-width: 768px) {
  .flow_box {
    background-color: white;
    box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
    margin: 30px 8px;
    padding: 30px 10px 5px;
    display: flex;
    flex-flow: column;
  }
  .flow_right p {
    text-align: center;
  }
  .flow_left {
    position: relative;
    width: 60px;
    display: block;
    margin: 0 auto;
    text-align: center;
  }
  .flow_right div p {
    margin: 0px;
    text-align: left;
    width: 100%;
    margin-bottom: 10px;
  }
  .flow_right {
    margin: 10px 7px 18px 7px;
    padding-top: 0px;
    position: relative;
  }
  .flow_right_h {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 13px;
  }
  .import {
    font-weight: bolder;
  }
  .flow_left p {
    width: 60px;
    height: 60px;
    color: #fff;
    font-size: 1.9rem;
    padding: 16px 0px 0px 0px;
    line-height: 1;
    text-align: center;
    font-weight: bold;
  }
  .flow_left p span {
    display: block;
    font-size: 1.5rem;
  }
  .flow_right img {
    padding: 10px 0 0 0;
    width: 100%;
  }
  .flow_right .flex {
    flex-wrap: wrap;
    align-items: left;
  }
}
/* 費用について */
:root {
  --cost-blue: #005bac;
  --cost-red: #d90000;
  --cost-yellow-marker: #fff38a;
  --cost-yellow-bg: #ffc;
  --cost-blue-light-border: #a5b4fc;
}

/* * 1. セクション全体
 * IDセレクタで囲むことで、既存のLPのスタイルとの競合を防ぎます。
 */
#costSection {
  font-family: "Noto Sans JP", sans-serif;
  margin: 0 auto;
  padding: 1.5rem 0; /* py-6 */
  /* 汎用クラス */
  /* 料金表の共通スタイル */
  /* JSで切り替えるためのクラス */
  /* 1-1. セクション見出し */
  /* 1-2. セクション説明文 */
  /* 2. タブコントローラー */
  /* ★ v7 スライダー（青い背景が動く部分） を追加 */
  /* ★ 追加：「ある/ない」の強調スタイル */
  /* 3. パネルコンテナ */
  /* 3-1, 3-2. 各パネル */
  /* --- パネル1内部 --- */
  /* --- パネル2内部 --- */
}
@media (min-width: 768px) {
  #costSection { /* sm: */
    padding: 2.5rem 0; /* sm:py-10 */
  }
}
#costSection .cost-text-blue {
  color: var(--cost-blue);
}
#costSection .cost-bg-blue {
  background-color: var(--cost-blue);
}
#costSection .cost-border-blue {
  border-color: var(--cost-blue);
}
#costSection .cost-text-red {
  color: var(--cost-red);
}
#costSection .cost-marker-line {
  display: inline;
  background: linear-gradient(transparent 70%, var(--cost-yellow-marker) 70%);
  padding: 0 2px;
}
#costSection .cost-strong-zero {
  font-family: "Inter", sans-serif;
  font-weight: 900;
  color: var(--cost-red);
  font-size: 4rem;
  line-height: 1;
}
@media (min-width: 768px) {
  #costSection .cost-strong-zero { /* sm: */
    font-size: 4.5rem;
  }
}
#costSection .cost-strong-zero-unit {
  font-size: 2rem;
  font-weight: 700;
  color: #333;
  margin-left: 0.25rem;
}
@media (min-width: 768px) {
  #costSection .cost-strong-zero-unit { /* sm: */
    font-size: 3rem;
  }
}
#costSection .cost-zero-box {
  background-color: #fdf8f2;
  border: 3px dashed var(--cost-red);
}
#costSection .cost-price-table-header {
  background-color: var(--cost-blue);
  color: white;
  font-weight: bold;
  padding: 0.8rem;
  text-align: left;
  font-size: 1.7rem;
  min-width: 90px;
}
@media (min-width: 768px) {
  #costSection .cost-price-table-header { /* sm: */
    padding: 1rem;
    font-size: 2rem;
    min-width: 110px;
  }
}
#costSection .cost-price-table-content {
  font-weight: bold;
  padding: 0.8rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
@media (min-width: 768px) {
  #costSection .cost-price-table-content { /* sm: */
    padding: 1rem;
  }
}
#costSection .cost-panel--hidden {
  display: none;
}
#costSection .cost-section__title {
  font-size: 2.2rem; /* 基準の1.8remより大きく */
  line-height: 1.3;
  font-weight: 900; /* font-black */
  text-align: center;
  color: var(--cost-blue);
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  #costSection .cost-section__title { /* sm: */
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
@media (min-width: 1024px) {
  #costSection .cost-section__title { /* lg: */
    font-size: 3.2rem;
  }
}
#costSection .cost-section__description {
  text-align: center;
  color: #374151;
  /* 親の1.8remを継承 */
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  #costSection .cost-section__description { /* sm: */
    margin-bottom: 2rem;
  }
}
#costSection .cost-tabs__nav {
  position: relative;
  display: flex;
  background-color: #e5e7eb; /* bg-gray-200 */
  border-radius: 9999px; /* rounded-full */
  padding: 5px; /* p-1.5 相当 */
  margin-bottom: 1rem; /* mb-4 */
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05); /* shadow-inner */
  /* ★ v7 .right-active クラスがついた時のスライダーの動き を追加 */
}
#costSection .cost-tabs__nav.right-active .cost-tabs-v7__slider {
  transform: translateX(calc(100% + 0px));
}
#costSection .cost-tabs-v7__slider {
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  width: calc(50% - 5px); /* (コンテナpadding - スライダーpadding) / 2 */
  background-color: var(--cost-blue);
  border-radius: 9999px; /* rounded-full */
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease-in-out;
  z-index: 1;
}
#costSection .cost-tabs__btn {
  flex: 1 1 0%; /* flex-1 */
  padding: 0.8rem 0.6rem;
  text-align: center;
  border-radius: 9999px; /* rounded-full */
  font-weight: 700;
  border: none;
  cursor: pointer;
  font-size: 1.7rem;
  line-height: 1.4;
  background-color: transparent;
  z-index: 2; /* スライダーより手前に表示 */
  transition: color 0.3s ease-in-out;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  /* ★ v7 テキスト色と強調色の切り替え を追加 */
}
@media (min-width: 768px) {
  #costSection .cost-tabs__btn { /* sm: */
    padding: 1rem 0.8rem;
    font-size: 1.8rem;
  }
}
#costSection .cost-tabs__btn.active {
  color: white;
}
#costSection .cost-tabs__btn.active .cost-tab__emphasis {
  color: #ffdc00;
}
#costSection .cost-tabs__btn.inactive {
  color: var(--cost-blue);
}
#costSection .cost-tabs__btn.inactive .cost-tab__emphasis {
  color: var(--cost-blue);
}
#costSection .cost-tab__emphasis {
  font-weight: 900; /* 太字にする */
  font-size: 1.1em; /* 少しだけ大きく */
  transition: color 0.3s ease-in-out;
}
#costSection .cost-panels-container {
  background-color: #ffffff; /* bg-white */
  border-radius: 0.5rem; /* rounded-lg */
  box-shadow: 0 8px 12px 2px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); /* shadow-xl */
  overflow: hidden;
}
#costSection .cost-panel {
  padding: 1.5rem; /* p-4 */
}
@media (min-width: 768px) {
  #costSection .cost-panel { /* sm: */
    padding: 2.5rem; /* sm:p-6 */
  }
}
#costSection #tabPanel1 {
  /* 0円ボックス */
  /* 0円の理由ボックス */
  /* 説明文 */
  /* 補足情報ボックス */
}
#costSection #tabPanel1 .cost-zero-box {
  border-radius: 0.5rem; /* rounded-lg */
  text-align: center;
  padding: 1rem; /* p-4 */
  margin-bottom: 2rem; /* mb-6 */
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-zero-box { /* sm: */
    padding: 1.5rem;
    margin-bottom: 3rem;
  }
}
#costSection #tabPanel1 .cost-zero-box__text-large {
  display: block;
  font-size: 2rem;
  line-height: 2;
  font-weight: 700;
  color: #1f2937;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-zero-box__text-large { /* sm: */
    font-size: 2.5rem;
  }
}
#costSection #tabPanel1 .cost-zero-box__text-small {
  display: block;
  font-size: 1.8rem;
  line-height: 1.4;
  font-weight: 700;
  color: #1f2937;
  margin-top: 0.5rem;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-zero-box__text-small { /* sm: */
    font-size: 2.5rem;
  }
}
#costSection #tabPanel1 .cost-zero-box__price-wrapper {
  display: flex;
  justify-content: center;
  align-items: baseline;
}
#costSection #tabPanel1 .cost-zero-box__price-prefix {
  font-size: 2rem;
  line-height: 1.4;
  font-weight: 700;
  color: #1f2937;
  margin-right: 0.5rem;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-zero-box__price-prefix { /* sm: */
    font-size: 3rem;
    margin-right: 0.8rem;
  }
}
#costSection #tabPanel1 .cost-reason-box {
  margin-bottom: 1.5rem; /* mb-6 */
}
#costSection #tabPanel1 .cost-reason-box__inner {
  display: flex;
  flex-direction: column; /* mobile first */
  align-items: center;
  border: 1px solid;
  border-radius: 0.5rem; /* rounded-lg */
  overflow: hidden;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); /* shadow-sm */
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-reason-box__inner { /* md: */
    flex-direction: row; /* md:flex-row */
  }
}
#costSection #tabPanel1 .cost-reason-box__header {
  width: 100%; /* w-full */
  padding: 0.75rem; /* p-3 */
  text-align: center;
  background-color: var(--cost-blue);
  color: #ffffff; /* text-white */
  font-weight: 700; /* font-bold */
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-reason-box__header { /* md: */
    width: auto; /* md:w-auto */
    padding: 1.5rem;
  }
}
#costSection #tabPanel1 .cost-reason-box__header-text {
  font-size: 1.8rem;
  line-height: 1.4;
}
#costSection #tabPanel1 .cost-reason-box__body {
  flex: 1 1 0%;
  padding: 0.75rem;
  text-align: center;
}
#costSection #tabPanel1 .cost-reason-box__body-text {
  font-size: 2rem;
  font-weight: 700;
  color: var(--cost-blue);
}
#costSection #tabPanel1 .cost-panel__description {
  color: #374151;
  margin: 2rem 0;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-panel__description { /* sm: */
    margin: 3rem 0;
  }
}
#costSection #tabPanel1 .cost-panel__description-strong {
  font-weight: 700;
  color: var(--cost-blue);
}
#costSection #tabPanel1 .cost-info-box {
  background-color: #f0f9ff; /* bg-sky-50 */
  border: 2px solid var(--cost-blue);
  border-radius: 0.5rem; /* rounded-lg */
  padding: 1.5rem; /* p-3 */
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-info-box { /* sm: */
    padding: 2rem; /* sm:p-4 */
  }
}
#costSection #tabPanel1 .cost-info-box__title {
  font-weight: 700;
  text-align: center;
  color: var(--cost-blue);
  margin-bottom: 1.5rem;
  font-size: 2rem;
  line-height: 1.8;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-info-box__title { /* sm: */
    font-size: 2.5rem;
  }
}
#costSection #tabPanel1 .cost-info-box__icon {
  height: 3rem;
  width: 3rem;
  display: inline-block;
  margin-left: -4rem;
  vertical-align: middle;
}
#costSection #tabPanel1 .cost-info-box__br {
  display: block;
}
@media (min-width: 768px) {
  #costSection #tabPanel1 .cost-info-box__br { /* sm: */
    display: none;
  }
}
#costSection #tabPanel1 .cost-info-box__text {
  color: #374151;
}
#costSection #tabPanel1 .cost-info-box__text-strong {
  font-weight: 700; /* font-bold */
  color: var(--cost-blue);
}
#costSection #tabPanel2 {
  /* 結論ボックス */
  /* 料金表 */
  /* 注釈 */
}
#costSection #tabPanel2 .cost-conclusion-box {
  text-align: center;
  padding: 1rem; /* p-4 */
  margin-bottom: 1.5rem; /* mb-6 */
  border-radius: 0.5rem; /* rounded-lg */
  background-color: #fdf8f2; /* bg-gray-50 */
  border: 2px solid #09499e;
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-conclusion-box { /* sm: */
    margin-bottom: 3rem;
  }
}
#costSection #tabPanel2 .cost-conclusion-box__title {
  display: block;
  font-size: 2.2rem;
  line-height: 1.3;
  font-weight: 900;
  color: var(--cost-blue);
  margin: 1rem 0;
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-conclusion-box__title { /* sm: */
    font-size: 3rem;
  }
}
#costSection #tabPanel2 .cost-conclusion-box__subtitle {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: 700;
  color: var(--cost-red);
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-conclusion-box__subtitle { /* sm: */
    font-size: 2.5rem;
  }
}
#costSection #tabPanel2 .cost-price-table {
  border: 2px solid var(--cost-blue);
  border-radius: 0.5rem; /* rounded-lg */
  overflow: hidden;
}
#costSection #tabPanel2 .cost-price-table__row {
  display: flex;
  border-bottom: 2px solid var(--cost-blue);
}
#costSection #tabPanel2 .cost-price-table__row:last-child {
  border-bottom: 0;
}
#costSection #tabPanel2 .cost-price-table__content--col {
  flex-direction: column;
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 10px;
}
#costSection #tabPanel2 .cost-price-table__text-lg {
  font-size: 1.8rem;
  line-height: 1.4;
  margin-right: 0.5rem;
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-price-table__text-lg { /* sm: */
    font-size: 2rem;
  }
}
#costSection #tabPanel2 .cost-price-table__note-mark {
  font-size: 1.6rem;
  line-height: 1.4;
  margin-left: 0.5rem;
  color: #4b5563;
}
#costSection #tabPanel2 .cost-price-table__price-num {
  font-size: 2.2rem;
  color: var(--cost-red);
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-price-table__price-num { /* sm: */
    font-size: 2.6rem;
  }
}
#costSection #tabPanel2 .cost-price-table__price-plus {
  font-size: 1.8rem;
  line-height: 1.4;
  margin: 0 0.3rem;
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-price-table__price-plus { /* sm: */
    font-size: 2rem;
    margin: 0 0.5rem;
  }
}
#costSection #tabPanel2 .cost-price-table__tax-note {
  font-size: 1.4rem;
  line-height: 1.4;
  color: #4b5563;
}
#costSection #tabPanel2 .cost-price-table__zero {
  font-size: 2.2rem; /* smaller for mobile */
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-price-table__zero { /* sm: */
    font-size: 3rem;
  }
}
#costSection #tabPanel2 .cost-notes {
  padding: 0 0.25rem; /* px-1 */
}
@media (min-width: 768px) {
  #costSection #tabPanel2 .cost-notes { /* sm: */
    padding: 0 0.5rem; /* sm:px-2 */
  }
}
#costSection #tabPanel2 .cost-notes__note {
  font-size: 1.3rem;
  color: #4b5563;
  margin-bottom: 1rem;
}
#costSection #tabPanel2 .cost-notes__text {
  color: #1f2937;
}
#costSection #tabPanel2 .cost-notes__text-strong {
  font-weight: 700;
  color: var(--cost-blue);
}

/* 事務所のご案内 */
.t_center {
  text-align: center;
}
@media screen and (min-width: 769px) {
  .t_center {
    text-align: left;
  }
}

.office_img {
  padding: 8px;
  margin-top: 8px;
  text-align: center;
}

.office_table {
  padding: 8px;
  margin-top: 8px;
}
.office_table table {
  border: 1px solid #dadada;
  margin-top: 12px;
  display: grid;
}
.office_table table tr,
.office_table table th,
.office_table table td {
  display: grid;
}
.office_table table th {
  border-bottom: 1px solid #dadada;
  background: #f5e8d9;
  text-align: left;
  font-weight: bold;
}
.office_table table tr td {
  border-bottom: 1px solid #dadada;
}
.office_table table tr td p {
  margin-bottom: 8px;
}
.office_table table th,
.office_table table td {
  padding: 12px;
}
.office_table table tr:last-of-type td {
  border-bottom: none;
}

.office_subtabletitle {
  border-bottom: 1px solid #dadada;
  background: #f3f3f3;
  text-align: left;
  font-weight: bold;
  padding: 12px;
}

.office_subtable {
  padding: 8px;
  margin-top: 0;
}
.office_subtable p.txt {
  color: #cab795;
  font-weight: bold;
  font-size: 24px;
  line-height: 1.4;
  margin-top: 40px;
  border-bottom: 2px solid #cab795;
}
.office_subtable table {
  border: none;
  margin-top: 0px;
  display: flex;
}
.office_subtable table.txt {
  width: 70%;
}
.office_subtable table.pic {
  width: 20%;
}
.office_subtable table td.s-text {
  font-size: 13px;
}
.office_subtable table tr,
.office_subtable table th,
.office_subtable table td {
  display: flex;
}
.office_subtable table th {
  border-bottom: 1px solid #ffffff;
  text-align: left;
  font-weight: normal;
  width: 120px;
}
.office_subtable table tr td {
  border-bottom: 1px solid #ffffff;
  display: grid;
}
.office_subtable table tr td.smalla {
  width: 54px;
}
.office_subtable table th,
.office_subtable table td {
  padding: 4px;
}
.office_subtable p {
  margin-bottom: 12px;
}
.office_subtable .flex {
  justify-content: flex-start;
  align-items: unset;
  margin: 0 auto;
}
.office_subtable .area_box {
  background: #fff;
  width: 48%;
  margin: 14px 0;
  border: 1px solid #ccc;
  line-height: 1.2;
  padding: 20px;
}
.office_subtable .area_box h4 {
  font-size: 2rem;
  font-weight: bold;
  color: #2c5282;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 2px solid #2c5282;
}
@media screen and (max-width: 768px) {
  .office_subtable .area_box {
    width: 100%;
  }
}
.office_subtable .area_box a {
  color: #000;
  font-size: 1.6rem;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .office_subtable .area_box a {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
.office_subtable .area_box iframe {
  margin-top: 20px;
  margin-top: 15px;
  border-radius: 4px;
  width: 100%;
  height: 250px;
  max-width: 100%;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .office_subtable .area_box iframe {
    height: 200px;
    margin-top: 10px;
  }
}

/*office*/
.office_subtable .flex-wrap {
  display: flex;
  flex-wrap: wrap;
}

.chizu_box {
  border: 1px solid #ccc;
  padding: 8px;
  margin: 4px 4px 14px 4px;
  width: 32%;
}

.chizu_title {
  font-weight: bold;
  font-size: 15px;
}

.chizu_text {
  font-size: 13px;
}

.jusyo {
  display: none;
}

.chizu_btn {
  text-align: center;
  font-size: 13px;
  text-decoration: underline;
  color: #1d4e97;
}

@media screen and (max-width: 768px) {
  .office_box img {
    width: 70%;
    display: block;
    margin: 0 auto;
  }
  .office_subtabletitle {
    border-bottom: 1px solid #dadada;
    background: #e8ecef;
    text-align: left;
    font-weight: bold;
    padding: 12px;
  }
  .office_subtable {
    padding: 8px;
    margin-top: 14px;
    font-size: 1.4rem;
  }
  .office_subtable table {
    border: none;
    margin-top: 0px;
    display: flex;
  }
  .office_subtable table tr,
  .office_subtable table th,
  .office_subtable table td {
    display: flex;
  }
  .office_subtable table th {
    border-bottom: 1px solid #ffffff;
    background: #fff;
    text-align: left;
    font-weight: normal;
    width: 80px;
    white-space: nowrap;
  }
  .office_subtable table tr td {
    border-bottom: 1px solid #ffffff;
    display: grid;
    width: 238px;
  }
  .office_subtable table tr td.smalla {
    width: 16px;
  }
  .office_subtable table th,
  .office_subtable table td {
    padding: 4px;
  }
  .office_subtable p {
    margin-bottom: 12px;
    margin: 0px;
  }
  .office_subtable p span {
    font-size: 1.3rem;
  }
  /*office*/
  .office_subtable .flex-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: unset;
  }
  .chizu_box {
    border: 1px solid #ccc;
    padding: 8px;
    margin: 4px 4px 14px 4px;
    width: 100%;
  }
  .chizu_title {
    font-weight: bold;
    font-size: 14px;
  }
  .chizu_text {
    font-size: 14px;
  }
  .jusyo {
    display: none;
  }
  .chizu_btn {
    text-align: center;
    font-size: 14px;
  }
}
/* フッター */
footer {
  background-color: #2f4775;
  padding: 50px 0px;
  text-align: center;
  color: white;
}
@media screen and (max-width: 768px) {
  footer {
    font-size: 1.5rem;
  }
}

.privacy {
  text-decoration: underline;
}

/* 事例など、プルダウン */
.hosyo h1 {
  font-size: 4rem;
  text-align: center;
  margin-bottom: -30px;
  line-height: 1.4;
}

.son_img {
  width: 40%;
}

.son p {
  font-size: 3.5rem;
  margin-top: 40px;
}

.son {
  background-image: linear-gradient(90deg, #e5e5e5, rgba(255, 255, 255, 0));
  padding: 30px 30px 0 30px;
  margin-top: 50px;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.son_arrow {
  width: 150px;
  display: block;
  margin: 50px auto;
}

.son_first p {
  text-align: center;
  font-size: 2.7rem;
  font-weight: 600;
}

.son_first p:first-child {
  margin-bottom: 40px;
}

.son1 {
  background: #ebf1f2 url(../images/bg_diagonal.webp) repeat;
  padding: 100px 0;
  margin-left: calc((100vw - 100%) / 2 * -1);
  margin-right: calc((100vw - 100%) / 2 * -1);
}

.son1 .contents {
  margin: 0 auto;
}

.hosyo_point {
  width: 1080px;
  background: white;
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
  padding: 60px 100px;
  margin: 0 auto;
  margin-top: 80px;
}

.hosyo_point h2 span {
  font-size: 4rem;
  font-weight: 600;
  font-family: "Noto Serif JP";
  color: #bf5637;
  background: linear-gradient(transparent 65%, #faeec2 65%);
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
}

.hosyo_point h1 {
  margin-bottom: 10px;
  /* text-align: left; */
  font-weight: bold;
  font-size: 3rem;
}

.hosyo_point p {
  margin-top: 10px;
}

.hosyo .flex {
  align-items: center;
  width: 1080px;
  margin: 40px auto 0;
}

.son1 h3 {
  font-size: 8rem;
  text-align: left;
  color: rgba(215, 189, 182, 0.5411764706);
  width: 1080px;
  margin: 0 auto;
  margin-bottom: -136px;
  font-family: "Noto Serif JP";
  margin-top: 40px;
}

.son_bottom {
  width: 1080px;
  margin: 0 auto;
  margin-top: 110px;
}

.son_bottom .son_first p {
  text-align: left;
  width: 95%;
}

.son_bottom img {
  width: 320px;
}

.hosyo_point p span {
  font-weight: bold;
}

.son_first p span {
  font-size: 4rem;
  font-weight: 600;
  color: #bf5637;
  background: linear-gradient(transparent 65%, #ccd7b6 65%);
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
}

.way ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.way ul li {
  width: 45%;
  padding: 30px;
  background: #e1f1f5;
  margin: 20px;
}

.arrow {
  width: 210px;
  display: block;
  margin: 55px auto 0;
}

.bengoshi {
  width: 310px;
}

.bottom_text p {
  font-size: 4rem;
  font-weight: 600;
  font-family: "Noto Serif JP";
  color: #bf5637;
  text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
  font-feature-settings: "palt";
  margin-left: 0px;
  line-height: 1.8;
}

.bottom_text p span {
  background: linear-gradient(transparent 65%, #faeec2 65%);
}

@media screen and (max-width: 768px) {
  .hosyo h1 {
    font-size: 2rem;
    text-align: center;
    margin-bottom: -30px;
    line-height: 1.4;
  }
  .son_img {
    width: 40%;
  }
  .son p {
    font-size: 2.5rem;
    margin-top: 40px;
  }
  .son {
    background-image: linear-gradient(90deg, #e5e5e5, rgba(255, 255, 255, 0));
    padding: 30px 30px 0 30px;
    margin-top: 50px;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
  .son_arrow {
    width: 150px;
    display: block;
    margin: 50px auto;
  }
  .son_first p {
    text-align: center;
    font-size: 2.7rem;
    font-weight: 600;
  }
  .son_first p:first-child {
    margin-bottom: 40px;
  }
  .son1 {
    background: #ebf1f2 url(../images/bg_diagonal.webp) repeat;
    padding: 15px 10px;
    padding-bottom: 0;
    margin-left: calc((100vw - 100%) / 2 * -1);
    margin-right: calc((100vw - 100%) / 2 * -1);
  }
  .hosyo_point {
    width: 100%;
    background: white;
    box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
    padding: 30px 20px;
    margin: 0 auto;
    margin-top: 80px;
  }
  .hosyo_point h2 span {
    font-size: 2.5rem;
    font-weight: 600;
    font-family: "Noto Serif JP";
    color: #bf5637;
    background: linear-gradient(transparent 65%, #faeec2 65%);
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
    font-feature-settings: "palt";
  }
  .hosyo_point h1 {
    margin-bottom: 10px;
    /* text-align: left; */
    font-weight: bold;
    font-size: 2.2rem;
  }
  .hosyo_point p {
    margin-top: 10px;
  }
  .hosyo .flex {
    width: 100%;
  }
  .son1 h3 {
    font-size: 6rem;
    text-align: left;
    color: rgba(215, 189, 182, 0.5411764706);
    width: 100%;
    margin: 0 auto;
    margin-bottom: -118px;
    font-family: "Noto Serif JP";
    margin-top: 0px;
  }
  .son_bottom {
    width: 100%;
    margin: 0 auto;
    margin-top: 110px;
  }
  .son_bottom .son_first p {
    text-align: left;
    width: 95%;
  }
  .son_bottom img {
    width: 320px;
  }
  .hosyo_point p span {
    font-weight: bold;
  }
  .son_first p span {
    font-size: 4rem;
    font-weight: 600;
    color: #bf5637;
    background: linear-gradient(transparent 65%, #ccd7b6 65%);
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
    font-feature-settings: "palt";
  }
  .way ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  .way ul li {
    width: 100%;
    padding: 20px 10px;
    background: #e1f1f5;
    margin: 10px 0;
  }
  .arrow {
    width: 100px;
    display: block;
    margin: 30px auto;
  }
  .bengoshi {
    width: 200px;
    margin-top: -20px;
  }
  .bottom_text {
    align-items: center;
    margin-top: -30px;
  }
  .bottom_text p {
    font-size: 2.5rem;
    font-weight: 600;
    font-family: "Noto Serif JP";
    color: #bf5637;
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
    font-feature-settings: "palt";
    margin-left: 0;
  }
  .bottom_text p span {
    background: linear-gradient(transparent 65%, #faeec2 65%);
  }
}
/*アコーディオンで現れるエリア*/
#jirei .accordion-area .box {
  opacity: unset;
  display: none;
  /*はじめは非表示*/
  background: #fafafa;
  padding: 3%;
}
#jirei .soudan_mark1 {
  margin-bottom: 10px;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #5f5f5f;
  color: #5f5f5f;
  border-radius: 19px;
  padding: 0px 11px;
  font-size: 2.3rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #jirei .soudan_mark1 {
    font-size: 1.6rem;
  }
}
#jirei .soudan_mark2 {
  margin-bottom: 10px;
  background-color: #07499e;
  color: white;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0px 11px;
  font-size: 2.3rem;
  border-radius: 19px;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #jirei .soudan_mark2 {
    font-size: 1.6rem;
  }
}
#jirei .soudan_mark3 {
  background-color: #6f3a27;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 10px;
  color: white;
  border-radius: 14px;
  margin-bottom: 10px;
}
#jirei .soudan {
  margin: 35px 0 0;
}
#jirei .soudan b {
  color: #07499e;
}
#jirei .soudan_point {
  margin: 35px 0 0;
  background-color: #fcede8;
  padding: 13px 25px;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  #jirei .soudan_point {
    padding: 13px 10px;
  }
}
#jirei .accordion-area {
  list-style: none;
  margin: 30px auto;
}
#jirei.accordion-area li {
  margin: 10px 0;
}
#jirei .accordion-area section {
  box-shadow: 0px 5px 11px 0px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(128, 128, 128, 0);
  background: white;
  border-radius: 6px;
  margin-bottom: 25px;
}
#jirei h3 {
  font-size: 3rem;
}
#jirei .case_action {
  padding: 10px;
}
#jirei .case_action p {
  text-align: center;
  color: #f1f2f3;
  font-weight: bold;
  padding: 16px 8px 0px 8px;
  font-size: 17px;
}
#jirei .case_flow {
  background: #f5f5f5;
  width: 96%;
  margin: 24px auto;
  border-radius: 12px;
  padding: 8px;
}
#jirei .case_action_txt {
  display: flex;
  justify-content: space-between;
  display: flex;
  position: relative;
  top: 14px;
}
#jirei.case_flow p.casetitle {
  margin-right: 50px;
  padding: 12px;
  margin-left: 100px;
}
#jirei .case_flow .titleimg {
  width: 76px;
  position: absolute;
  top: 10px;
  left: 12px;
}
#jirei .case_flow .contentsimg img {
  width: 80px;
}
#jirei .case_contents {
  background: #fff;
}
#jirei .toggle_switch {
  position: relative;
  cursor: pointer;
  padding: 21px 0px;
}
#jirei .toggle_contents p {
  text-align: left;
  padding: 10px 45px;
  font-size: 1.6rem;
}
#jirei .toggle_switch::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 21px;
  background: url(../images/arrow_down.webp) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 34%;
  right: 28%;
  transition: transform 0.2s;
}
#jirei .toggle_switch.open::after {
  transform: rotateZ(180deg);
  top: 34%;
}
#jirei .question_box .toggle_switch::after {
  right: 3%;
}
#jirei .toggle_contents {
  display: none;
  padding: 8px 0px;
  background: #fff;
  width: 100%;
  margin: 0px auto 12px;
}
#jirei .toggle_contents span {
  background: linear-gradient(transparent 77%, #ffc8c8 60%);
}
#jirei .page-case__datelist-item--highlighted {
  background-color: #fefce8;
}
#jirei .page-case__datelist-item--highlighted dt {
  background-color: #fef9c3;
  border-right-color: #fef08a;
}
#jirei .page-case__datelist-item--highlighted dd {
  color: #854d0e;
  font-weight: 500;
  font-size: 0.95rem;
}
#jirei .page-case__datelist-item--highlighted dd .prefix {
  font-size: 0.875rem;
  margin-right: 0.25rem;
}
#jirei .page-case__datelist-item--highlighted dd .amount {
  font-weight: 700;
  font-size: 1.5rem; /* 24px */
  color: #713f12;
  line-height: 1.2;
  margin-right: 0.25rem;
}
#jirei .page-case__datelist-item--highlighted dd .unit {
  font-size: 0.875rem; /* 14px */
}

.comment {
  background: #cee2e7;
  padding: 15px;
  border-radius: 10px;
}

.detail_btn {
  cursor: pointer;
  text-align: center;
  color: #838383;
}

.detail_btn::before {
  content: "詳しく見る　▼";
  top: 10px;
  position: relative;
}

.detail_btn_ {
  text-align: center;
  color: #838383;
  margin: 20px 0;
  font-weight: bold;
  cursor: pointer;
}

.action_mark {
  display: block;
  width: 62%;
  margin: 0 auto 10px;
}

.kigyo {
  background-color: #ffffff;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding: 20px 83px;
  margin-top: 20px !important;
}

.kigyo .contents {
  margin: 0 auto;
}

.kigyo p {
  margin-bottom: 30px;
}

.job_icon {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-bottom: 40px;
}

.job_icon li img {
  width: 190px;
  margin-bottom: 50px;
}

.kigyo .contents_title01 {
  color: #688d02;
  font-size: 2.8rem;
  background-color: unset;
  font-weight: bold;
  font-size: 4rem;
  font-family: "YuMincho", "游明朝";
}

@media screen and (max-width: 768px) {
  .kigyo {
    background-color: #ffffff;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding: 20px;
    margin-top: 20px !important;
    margin-bottom: 0px;
  }
  .kigyo .contents {
    margin: 0 auto;
  }
  .kigyo p {
    margin-bottom: 15px;
  }
  .job_icon {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 0px;
  }
  .job_icon li img {
    width: 100px;
    margin-bottom: 20px;
  }
  .kigyo .contents_title01 {
    font-size: 2.5rem;
  }
  .action_mark {
    width: 80%;
  }
}
.voice_icon {
  width: 120px;
  margin-bottom: 30px;
}

.voice_pofile p {
  font-weight: bold;
}

#case_pulldown {
  position: relative;
}
#case_pulldown .box {
  margin: 0 auto 4.8rem;
  background: white;
}
#case_pulldown .box .tab {
  padding: 1.1rem 0 0.8rem;
  width: 17.2rem;
}
#case_pulldown .box .tab p {
  text-align: center;
  color: #dcdcdc;
  line-height: 1;
  font-weight: bold;
  font-family: "Noto Serif JP";
  font-size: 8.2rem;
  margin-bottom: -40px;
  margin-left: -30px;
}
#case_pulldown .box .tab p span {
  font-size: 6rem;
}
#case_pulldown .box .white {
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
  padding: 30px 50px 30px;
  /* border-radius: 0 3.2rem 3.2rem 3.2rem; */
  margin: 0 auto;
}

.aisatu #case_pulldown .box .white {
  padding: 10px 50px 30px;
}
.aisatu #case_pulldown .box .white .aisatu_text {
  margin-top: 20px;
}
.aisatu #case_pulldown .box .white .img {
  width: 57%;
}
@media screen and (max-width: 768px) {
  .aisatu #case_pulldown .box .white .img {
    width: 100%;
  }
}

#case_pulldown .box .white .profile {
  margin-bottom: 3.2rem;
}
#case_pulldown .box .white .profile li:first-child {
  margin-right: 3.2rem;
}
#case_pulldown .box .white .profile li:first-child img {
  max-width: 260px;
}
#case_pulldown .box .white .profile li:last-child {
  padding-top: 2.2rem;
}
#case_pulldown .box .white .profile li:last-child span {
  position: relative;
  display: inline-block;
  color: #393939;
  font-weight: bold;
  line-height: 1;
  padding-left: 2.4rem;
  margin: 0 1.6rem 1.3rem 0;
}
#case_pulldown .box .white .initial {
  display: flex;
  margin-bottom: 3rem;
}
#case_pulldown .box .white .initial li:first-child {
  color: #393939;
  margin-right: 2.2rem;
  align-items: flex-start;
}
#case_pulldown .box .white .initial li:first-child .t1 {
  font-weight: 400;
  margin-bottom: 10px;
  font-size: 2.3rem;
  line-height: 1.2;
}
#case_pulldown .box .white .initial li:first-child .t2 {
  text-align: center;
  font-weight: bold;
  margin-top: -20px;
}
#case_pulldown .box .white .initial li:first-child .t2 span {
  font-family: "Oswald", sans-serif;
  font-size: 4.5rem;
}
#case_pulldown .box .white .initial li:last-child .t3.sl {
  padding: 2.6rem 1.6rem 2.6rem !important;
}
#case_pulldown .box .white .initial li:last-child .t3 span {
  font-family: "Oswald", sans-serif;
  font-size: 6rem;
  font-weight: bold;
}
#case_pulldown .box .white .initial li:last-child .t3 img {
  position: absolute;
  right: -29px;
  top: -35px;
  width: 70px;
}
#case_pulldown .box .white .initial li:last-child .t3:after {
  position: absolute;
  left: 8.4rem;
  bottom: -5.2rem;
  content: "";
  border-top: 3.6rem solid #e6e8ec;
  border-right: 2.4rem solid transparent;
  border-bottom: 2.4rem solid transparent;
  border-left: 2.4rem solid transparent;
}
#case_pulldown .box .white .voice_title {
  font-weight: bold;
  font-size: 3rem;
  margin-bottom: 30px;
}
#case_pulldown .box .white .initial li.ss:first-child {
  width: 17.4rem;
  margin-right: 0;
}
#case_pulldown .box .white .initial li.ss:first-child .t2 {
  text-align: left;
  letter-spacing: -0.03em;
}
#case_pulldown .box .white .get {
  display: flex;
  justify-content: space-between;
  color: #393939;
  margin-bottom: 3.6rem;
  align-items: flex-end;
}
#case_pulldown .box .white .get li:first-child {
  margin-right: 1rem;
}
#case_pulldown .box .white .get li:first-child .t1 {
  text-align: center;
  width: 95px;
  padding: 17px;
  background: #faeec2;
  font-weight: bold;
  line-height: 1.14;
  font-size: 3rem;
}
#case_pulldown .box .white .get li:last-child {
  width: calc(100% - 9rem);
}
#case_pulldown .box .white .get li:last-child .t2 {
  line-height: 1.2;
  font-weight: bold;
}
#case_pulldown .box .white .get li:last-child .t2 span {
  position: relative;
  z-index: 1;
}
#case_pulldown .box .white .get li:last-child .t2 span.s1:after {
  position: absolute;
  left: 0;
  bottom: 1.1rem;
  width: 100%;
  height: 3.6rem;
  background: #faeec2;
  content: "";
  z-index: -1;
}
#case_pulldown .box .white .get li:last-child .t2 span.s1.sl {
  padding: 0.7rem 0.5rem 0;
  margin-right: 0.5rem;
  line-height: 1.45;
}
#case_pulldown .box .white .text {
  font-weight: 400;
  line-height: 2;
  color: #393939;
  letter-spacing: -0.02em;
  padding-bottom: 4rem;
  display: none;
  padding-top: 20px;
}
#case_pulldown .box .white .text br {
  display: block;
  content: "";
  margin: 10px 0;
}
#case_pulldown .box .white .text span {
  color: #d54b00;
  font-weight: 600;
}
#case_pulldown .box .white .answer-btn {
  text-align: center;
}
#case_pulldown .box .white .answer-btn img {
  margin: 0 auto;
  display: block;
}
#case_pulldown .box .white .answer-btn img.open {
  width: 8rem;
  margin-top: 20px;
}
@media screen and (max-width: 769px) {
  #case_pulldown .box .white .answer-btn img.open {
    width: 6rem;
  }
}
#case_pulldown .box .white .answer-btn img.close {
  width: 6rem;
  display: none;
  margin-top: 20px;
}
#case_pulldown .box .white .answer-btn img:hover {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  #case_pulldown {
    position: relative;
  }
  #case_pulldown .box {
    margin: 0 auto 4.8rem;
  }
  #case_pulldown .box .tab {
    padding: 1.1rem 0 0.8rem;
    width: 17.2rem;
  }
  #case_pulldown .box .tab p {
    text-align: center;
    color: #dcdcdc;
    line-height: 1;
    font-weight: bold;
    font-family: "Noto Serif JP";
    font-size: 8.2rem;
    margin-bottom: -40px;
    margin-left: -30px;
  }
  #case_pulldown .box .white {
    box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
    /* border-radius: 0 3.2rem 3.2rem 3.2rem; */
    margin: 0 auto;
    padding: 20px 10px;
  }
  .aisatu #case_pulldown .box .white {
    padding: 10px 20px 20px;
    margin-top: 20px;
  }
  #case_pulldown .box .white .profile {
    margin-bottom: 3.2rem;
  }
  #case_pulldown .box .white .profile li:first-child {
    margin-right: 3.2rem;
  }
  #case_pulldown .box .white .profile li:first-child img {
    max-width: 260px;
  }
  #case_pulldown .box .white .profile li:last-child {
    padding-top: 2.2rem;
  }
  #case_pulldown .box .white .profile li:last-child span {
    position: relative;
    display: inline-block;
    color: #393939;
    font-weight: bold;
    line-height: 1;
    padding-left: 2.4rem;
    margin: 0 1.6rem 1.3rem 0;
  }
  #case_pulldown .box .white .initial {
    display: flex;
    margin-bottom: 3rem;
  }
  #case_pulldown .box .white .initial li:first-child {
    color: #393939;
    margin-right: 2.2rem;
    align-items: flex-start;
  }
  #case_pulldown .box .white .initial li:first-child .t1 {
    font-weight: 400;
    margin-bottom: 10px;
    font-size: 2.3rem;
    line-height: 1.2;
  }
  #case_pulldown .box .white .initial li:first-child .t2 {
    text-align: center;
    font-weight: bold;
    margin-top: -20px;
  }
  #case_pulldown .box .white .initial li:first-child .t2 span {
    font-family: "Oswald", sans-serif;
    font-size: 4.5rem;
  }
  #case_pulldown .box .white .initial li:last-child .t3.sl {
    padding: 2.6rem 1.6rem 2.6rem !important;
  }
  #case_pulldown .box .white .initial li:last-child .t3 span {
    font-family: "Oswald", sans-serif;
    font-size: 6rem;
    font-weight: bold;
  }
  #case_pulldown .box .white .initial li:last-child .t3 img {
    position: absolute;
    right: -29px;
    top: -35px;
    width: 70px;
  }
  #case_pulldown .box .white .initial li:last-child .t3:after {
    position: absolute;
    left: 8.4rem;
    bottom: -5.2rem;
    content: "";
    border-top: 3.6rem solid #e6e8ec;
    border-right: 2.4rem solid transparent;
    border-bottom: 2.4rem solid transparent;
    border-left: 2.4rem solid transparent;
  }
  #case_pulldown .box .white .voice_title {
    margin-left: 0px;
    font-size: 2rem;
    margin-bottom: 10px;
  }
  #case_pulldown .box .white .initial li.ss:first-child {
    width: 17.4rem;
    margin-right: 0;
  }
  #case_pulldown .box .white .initial li.ss:first-child .t2 {
    text-align: left;
    letter-spacing: -0.03em;
  }
  #case_pulldown .box .white .get {
    display: flex;
    justify-content: space-between;
    color: #393939;
    margin-bottom: 3.6rem;
    align-items: flex-end;
  }
  #case_pulldown .box .white .get li:first-child {
    margin-right: 1rem;
  }
  #case_pulldown .box .white .get li:first-child .t1 {
    text-align: center;
    width: 95px;
    padding: 17px;
    background: #faeec2;
    font-weight: bold;
    line-height: 1.14;
    font-size: 3rem;
  }
  #case_pulldown .box .white .get li:last-child {
    width: calc(100% - 9rem);
  }
  #case_pulldown .box .white .get li:last-child .t2 {
    line-height: 1.2;
    font-weight: bold;
  }
  #case_pulldown .box .white .get li:last-child .t2 span {
    position: relative;
    z-index: 1;
  }
  #case_pulldown .box .white .get li:last-child .t2 span.s1:after {
    position: absolute;
    left: 0;
    bottom: 1.1rem;
    width: 100%;
    height: 3.6rem;
    background: #faeec2;
    content: "";
    z-index: -1;
  }
  #case_pulldown .box .white .get li:last-child .t2 span.s1.sl {
    padding: 0.7rem 0.5rem 0;
    margin-right: 0.5rem;
    line-height: 1.45;
  }
  #case_pulldown .box .white .text {
    font-weight: 400;
    line-height: 2;
    color: #393939;
    letter-spacing: -0.02em;
    display: none;
    padding: 0px 0;
  }
  #case_pulldown .box .white .text br {
    display: block;
    content: "";
    margin: 10px 0;
  }
  .answer-btn {
    text-align: center;
  }
  .answer-btn img {
    margin: 0 auto;
    display: block;
  }
  .answer-btn img.open {
    height: 25px;
    margin-top: 10px;
    width: auto;
  }
  .answer-btn img.close {
    height: 25px;
    width: auto;
    display: none;
  }
  .answer-btn img:hover {
    cursor: pointer;
  }
}
.voice_icon {
  width: 100px;
  margin-bottom: 10px;
  height: -moz-fit-content;
  height: fit-content;
}

.Paper_v2 {
  background-image: repeating-linear-gradient(to bottom, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px), repeating-linear-gradient(to right, transparent 25px, rgba(0, 0, 0, 0.04) 26px, rgba(0, 0, 0, 0.04) 26px, transparent 27px, transparent 51px, rgba(0, 0, 0, 0.04) 52px, rgba(0, 0, 0, 0.04) 52px, transparent 53px, transparent 77px, rgba(0, 0, 0, 0.04) 78px, rgba(0, 0, 0, 0.04) 78px, transparent 79px, transparent 103px, rgba(0, 0, 0, 0.04) 104px, rgba(0, 0, 0, 0.04) 104px, transparent 105px, transparent 129px, rgba(0, 0, 0, 0.04) 130px, rgba(0, 0, 0, 0.04) 130px);
}

.aisatu .flex {
  align-items: center;
}

.aisatu .casetitle {
  font-weight: bold;
  font-size: 3rem;
}
@media screen and (min-width: 768px) {
  .aisatu .casetitle {
    margin-left: 30px;
  }
}

.bengoshi_img {
  width: 250px;
}

@media screen and (max-width: 768px) {
  .good_timing {
    padding: 0;
  }
  .good_timing2 {
    margin: 40px 0;
  }
  .good_timing h1,
  .good_timing2 h1 {
    font-size: 2.5rem;
    font-weight: 600;
    font-family: "Noto Serif JP";
    text-align: center;
    color: #bf5637;
    text-shadow: 3px 3px 0 #fff, -3px -3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, 0px 3px 0 #fff, 0 -3px 0 #fff, -3px 0 0 #fff, 3px 0 0 #fff;
    font-feature-settings: "palt";
    margin: 15px 0;
    line-height: 1.5;
  }
  .good_timing h1::after {
    content: "相談のタイミング";
    color: #171717;
    font-size: 3.5rem;
    display: block;
    margin-top: -10px;
  }
  .good_timing h2 {
    text-align: left;
    font-size: 2rem;
    font-weight: bold;
  }
  .good_timing h2 span,
  .good_timing2 h2 span {
    padding: 0 4px;
    margin: 0 3px;
    background: #fff4ae;
    font-weight: bold;
  }
  .teokure_title {
    border-bottom: 3px solid;
    align-items: flex-end;
    margin-bottom: 30px;
  }
  .teokure_title p {
    font-size: 2rem;
    font-weight: bold;
  }
  .teokure_title img {
    width: 70px;
  }
  .teokure {
    background: #e9e9e9;
    padding: 25px 10px;
    line-height: 1.4;
    margin-top: 20px;
  }
  .teokure ul li {
    margin-bottom: 15px;
    margin-left: 5px;
  }
  .teokure ul li span {
    font-weight: bold;
  }
  .good_timing2 .sm_only img:first-child {
    width: 75px;
    margin: 0 auto;
    height: auto;
    display: block !important;
  }
  .good_timing2 .flex {
    align-items: center;
  }
  .timing_img {
    width: 100%;
    display: block;
    margin: 20px auto;
  }
  .ranking img {
    width: 30px;
    margin-right: 10px;
  }
  .ranking .flex {
    align-items: flex-end;
    justify-content: center;
  }
  .ranking .flex p {
    font-size: 2rem;
    line-height: 1;
  }
  .ranking .ranking_title {
    text-align: center;
    font-size: 2rem;
    margin: 15px 0;
    font-weight: bold;
    line-height: 1.4;
  }
  .bengoshi_img {
    width: 130px;
  }
  .aisatu .flex {
    display: flex;
    flex-flow: column;
    align-items: center;
  }
  .aisatu .flex .img {
    display: flex;
    flex-flow: column;
    align-items: center;
  }
  .aisatu .casetitle {
    font-weight: bold;
    font-size: 2rem;
  }
}
/* 質上げ施策 */
.info {
  background: rgba(255, 244, 244, 0.77);
  margin: 0px auto 15px;
  padding: 15px 100px;
  text-align: left;
  font-size: 1.7rem;
  border: 1px solid #a21f1f;
  font-family: "Noto sans JP";
  width: 900px;
  margin: 30px auto 0;
}
.info .refuse {
  text-align: center;
  color: #bc251d;
  font-weight: bold;
  text-decoration: underline;
  margin-top: 10px;
  font-size: 2rem;
}

.info h3 {
  text-align: center;
  background-color: #8b1000;
  padding: 6px 0;
  color: white;
  font-size: 25px;
  margin-bottom: 10px;
  font-size: 2rem;
  line-height: 1.3;
  font-weight: bold;
}
.info h3 b {
  color: yellow;
}

.info p.titlein {
  color: #c00;
  text-align: center;
  font-weight: bold;
}

ul.asterisk {
  margin-left: 100px;
  /* width: 800px; */
  /* margin: auto; */
  flex-wrap: wrap;
  justify-content: space-evenly;
}

ul.asterisk li {
  list-style-type: none;
  margin-bottom: 5px;
}
ul.asterisk li small {
  display: block;
}
@media screen and (min-width: 768px) {
  ul.asterisk li small {
    display: unset;
  }
}

ul.asterisk li:before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00d";
  font-size: 20px;
  color: #c64029;
  margin: -2px -24px;
}

.info span {
  background: linear-gradient(transparent 78%, #ffb19a 60%);
  font-weight: bold;
}

.titleinsub {
  text-align: center;
  background: white;
  color: #cc0200;
  margin-top: 5px;
}

@media screen and (max-width: 768px) {
  .info {
    padding: 15px 10px;
    width: 93%;
    margin-top: 15px;
    font-size: 1.5rem !important;
  }
  .info .refuse {
    font-size: unset;
  }
  .info h3 {
    font-size: 1.5rem;
  }
  ul.asterisk {
    margin-left: 35px;
  }
  ul.asterisk li:before {
    margin: -2px -25px;
  }
}
.solution {
  background: #fffdf9;
  background-image: linear-gradient(90deg, #fff7e5 1px, transparent 0), linear-gradient(#fff7e5 1px, transparent 0);
  background-size: 10px 10px;
  padding: 3px;
}

.solution .contents {
  margin: 100px auto 0;
}

.solution_title_pc {
  width: 80%;
  display: block;
  margin: 0 auto;
}

.solution .flex {
  align-items: flex-end;
  margin-top: 80px;
}

.solution .flex p {
  font-size: 2.3rem;
  font-weight: bold;
  margin-bottom: 100px;
}

.solution .flex span {
  color: #ff822d;
  background: linear-gradient(transparent 77%, #ffeec9 77%);
  border-radius: 2px;
  padding: 4px 8px;
  margin: 0px 4px;
}

/* .solution .flex img {
    width: 450px;
} */
.solution_bottom {
  background: #fff1ce;
  position: relative;
  font-weight: bold;
  text-align: center;
  border-radius: 7px;
  padding: 10px 0;
  font-size: 2.3rem;
}

.solution_bottom span {
  font-size: 3.6rem;
  color: #e57b00;
}

.solution_bottom::before {
  position: absolute;
  left: 50%;
  content: "";
  display: block;
  border: 20px solid transparent;
  border-top: 20px solid #fff1ce;
  transform: translateX(-50%);
  bottom: -40px;
}

@media screen and (max-width: 768px) {
  .solution_title_pc {
    width: 98%;
  }
  .solution .flex p {
    font-size: 2rem;
    margin-bottom: 30px;
  }
  .solution .flex {
    display: block;
    margin-top: 30px;
  }
  .solution .flex img {
    width: 200px;
    display: block;
    margin: 0 auto;
  }
  .solution .contents {
    margin: 30px 0 0;
    padding-bottom: 0;
  }
}
.chart img {
  width: 100%;
}

.page-top__meritTable {
  font-weight: bold;
  border-spacing: 0;
  border-collapse: separate;
}

.page-top__meritTable {
  width: 100%;
  margin: 0 auto 16px;
}

.page-top__meritTable .-tableHead {
  font-size: 2.6rem;
  font-weight: bold;
  padding: 1em 0;
  text-align: center;
  vertical-align: middle;
  line-height: 1.3;
}

.page-top__meritTable .-tableHead.-saimType {
  color: #163251;
  width: 28%;
  background: #e5e5e5;
}

.page-top__meritTable .-tableHead.-merit,
.page-top__meritTable .-tableHead.-demerit {
  color: #fff;
  width: 36%;
}

.page-top__meritTable .-tableHead.-merit {
  background: #ff822d;
}

.page-top__meritTable .-tableHead.-demerit {
  background-color: #7e7e7d;
}

.page-top__meritTable .-tableBody {
  position: relative;
  padding: 1em;
  border-bottom: 1px solid #e5e5e5;
  vertical-align: middle;
  z-index: 1;
}

.page-top__meritTable .-tableBody p {
  padding: 0px 0px 0px 14px;
  display: inline-flex;
}

.page-top__meritTable .-tableBody p::before {
  content: "・";
}

.page-top__meritTable .-tableBody.-saimType.-last {
  border-bottom: 5px solid #e5e5e5;
}

.page-top__meritTable .-tableBody.-merit.-last {
  border-bottom: 5px solid #ff822d;
}

.page-top__meritTable .-tableBody.-demerit.-last {
  border-bottom: 5px solid #7e7e7d;
}

.page-top__meritTable .-tableBody.-saimType {
  border-left: 5px solid #e5e5e5;
  text-align: center;
  line-height: 1.5;
  background: #fff;
}

.page-top__meritTable .-tableBody.-merit {
  background: #fff7e4;
  border-left: 4px solid #ff822d;
  border-right: 4px solid #ff822d;
}

.page-top__meritTable .-tableBody.-merit::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: inline-block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 25px solid #fff;
  z-index: -1;
}

.page-top__meritTable .-tableBody.-demerit {
  position: relative;
  background: #fff8f8;
  border-right: 4px solid #7e7e7d;
  z-index: 1;
}

.page-top__meritTable .-tableBody.-saimType {
  color: #163251;
  font-size: 1.25em;
  font-weight: bold;
}

.page-top__meritTable .-tableBody.-merit,
.page-top__meritTable .-tableBody.-demerit {
  font-size: 1em;
}

.page-top__meritTable .-tableBody.-batsu::before,
.page-top__meritTable .-tableBody.-batsu::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  display: block;
  height: 100px;
  width: 24px;
  background-color: #fff;
  z-index: -1;
}

.page-top__meritTable .-tableBody.-batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.page-top__meritTable .-tableBody.-batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.page-top__meritTable .-tableBody.-sankaku::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  background-image: url(/wp/wp-content/themes/saimu_seiri/img/top/img-sankaku.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  z-index: -1;
}

.page-case__article--icon img {
  width: 101px;
  height: auto;
}

.page-case__tag--personal {
  width: 12em;
}

.page-case__date--top {
  margin-bottom: 24px;
  align-items: center;
}

.page-case__personal {
  width: 30%;
}

.page-case__personal--icon {
  margin-bottom: 1em;
}

.page-case__personal--icon img {
  width: 140px;
  height: auto;
}

.page-case__datelist {
  border-radius: 5px;
  border: 2px solid #d2d2d2;
  overflow: hidden;
  color: #163251;
  width: 100%;
}

.page-case__datelist dt,
.page-case__datelist dd {
  padding: 8px;
}

.page-case__datelist dt {
  font-weight: bold;
  width: 45%;
  background-color: #f5f5f5;
}

.page-case__datelist dd {
  width: 55%;
}

.page-case__datelist div {
  display: flex;
}

.page-case__datelist div + div {
  border-top: 1px dashed #d2d2d2;
}

.page-case__datelist.-min dt,
.page-case__datelist.-min dd {
  padding: 8px;
}

.page-case__datelist.-min dt {
  width: 35%;
}

.jidan_kingaku {
  margin-bottom: 20px;
}

.jidan_kingaku .isharyou_box {
  font-size: 3rem;
  font-weight: 600;
  text-align: center;
  background: #e4e4e4;
  margin: 40px 0 10px;
  padding: 10px;
}

.jidan_kingaku .get {
  display: flex;
  justify-content: space-between;
  color: #393939;
  margin-bottom: 3.6rem;
  align-items: flex-end;
  margin: 0;
  padding: 0;
  list-style: none;
}

.jidan_kingaku .get li:first-child {
  margin-right: 1rem;
}

.jidan_kingaku .get .t1 {
  text-align: center;
  width: 95px;
  padding: 17px;
  color: rgb(48, 48, 48);
  font-weight: 600;
  line-height: 1.14;
  font-size: 3rem;
  background: #ffef31;
}

.jidan_kingaku .get .t2 {
  font-size: 2rem;
  font-weight: bold;
}

.jidan_kingaku .get .t2 .s1 {
  font-size: 4rem;
  color: #ff822d;
}

.jidan_kingaku .get .t2 span:not(.s1) {
  text-decoration: none;
  background: none;
  border: none;
}

@media screen and (min-width: 769px) {
  .jidan_kingaku .get {
    justify-content: center;
    margin-top: 20px;
  }
  .jidan_kingaku .get li:first-child {
    margin-right: 10px;
  }
}
.page-case__datetable {
  width: 100%;
  border-collapse: separate;
  border-bottom: 2px solid #d2d2d2;
}

.page-case__datetable--wrap + .page-case__datetable--wrap {
  border-top: 2px dashed #d2d2d2;
}

.page-case__datetable--head {
  width: 40%;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1.125em;
  padding: 16px 0;
}

.page-case__datetable--head.-before {
  background-color: #7e7e7d;
  border-radius: 5px 0 0 0;
}

.page-case__datetable--head.-after {
  background-color: #ff822d;
  border-radius: 0 5px 0 0;
}

.page-case__datetable--sidehead {
  width: 20%;
  text-align: right;
  color: #163251;
  font-weight: bold;
  border-right: 2px solid #d2d2d2;
  border-left: 2px solid #d2d2d2;
  vertical-align: middle;
  padding: 0 1em;
}

.page-case__datetable--sidehead.-first {
  border-radius: 5px 0 0 0;
  border-top: 2px solid #d2d2d2;
}

.page-case__datetable--value {
  text-align: center;
  font-weight: 900;
  line-height: 1;
  padding: 16px 32px;
  vertical-align: middle;
  border-right: 2px solid #d2d2d2;
}

.page-case__datetable--value.-before {
  position: relative;
  color: #a8a8a8;
}

.page-case__datetable--value.-before::before {
  position: absolute;
  right: -16px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  background-color: #7e7e7d;
  width: 45px;
  height: 24px;
}

.page-case__datetable--value.-before::after {
  position: absolute;
  right: -50px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  border: 20px solid transparent;
  border-left: 20px solid #7e7e7d;
}

.page-case__datetable--value.-after {
  color: #ff822d;
}

.page-case__datetable--value.-after small {
  color: #333;
  font-weight: normal;
}

.page-case__datetable--value.-after-plus {
  color: #f33939;
}

.page-case__datetable .-line th,
.page-case__datetable .-line td {
  border-top: 2px dashed #d2d2d2;
}

.page-case__datetable .-large {
  font-size: 3em;
}

.c-tag {
  display: inline-block;
  padding: 0.3em 1em 0.25em;
  min-width: 72px;
  border-radius: 3px;
  letter-spacing: 0;
  line-height: 1;
  font-weight: bold;
  text-align: center;
}

.c-tag.-debt {
  background-color: #fcf1c6;
  margin-right: 10px;
}

.page-case__case {
  color: #ff822d;
  font-weight: bold;
  padding: 4px 20px 2px;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  margin-right: 8px;
}

.c-tag.-type {
  background-color: #e6def9;
}

.page-case__article--tag {
  padding-bottom: 0.5em;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .page-top__meritTable .-tableBody p {
    padding: 0;
    display: inline-flex;
  }
  .page-top__meritTable .-tableBody.-merit,
  .page-top__meritTable .-tableBody {
    padding: 5px;
  }
  .page-top__meritTable .-tableBody.-merit,
  .page-top__meritTable .-tableBody.-demerit {
    font-size: 1.5rem;
  }
  .page-top__meritTable .-tableBody.-saimType {
    font-size: 1.7rem;
  }
  .page-top__meritTable .-tableBody.-merit {
    border-left: 2px solid #ff822d;
    border-right: 2px solid #ff822d;
  }
  .page-top__meritTable .-tableBody.-demerit {
    border-right: 2px solid #7e7e7d;
  }
  .page-top__meritTable .-tableBody.-merit.-last {
    border-bottom: 3px solid #ff822d;
  }
  .page-top__meritTable .-tableBody.-demerit.-last {
    border-bottom: 3px solid #7e7e7d;
  }
  .page-top__meritTable .-tableBody.-saimType {
    border-left: 2px solid #e5e5e5;
  }
  .page-top__meritTable .-tableBody.-saimType.-last {
    border-bottom: 3px solid #e5e5e5;
  }
  .page-case__date--top {
    display: flex;
    flex-flow: column;
  }
  .page-case__personal {
    width: 100%;
  }
  .c-center img {
    width: 120px;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 20px;
  }
  .page-case__datelist {
    width: 100%;
    font-size: 1.4rem;
  }
  .page-top__meritTable .-tableHead {
    font-size: unset;
  }
  .page-case__datetable {
    border-bottom: 1px solid #d2d2d2;
  }
  .page-case__datelist.-min dt {
    width: 39%;
  }
  .jidan_kingaku .isharyou_box {
    font-size: 2rem;
    margin-bottom: 10px;
  }
  .jidan_kingaku .get {
    justify-content: center;
    margin: 20px 0 0;
  }
  .jidan_kingaku .get li:first-child {
    margin-right: 1rem;
  }
  .jidan_kingaku .get .t1 {
    font-size: 2rem;
    width: 80px;
    padding: 12px;
  }
  .page-case__datetable--head {
    font-size: 1em;
    padding: 8px 0;
    width: 30%;
  }
  .page-case__datetable--head.-before {
    border-radius: 3px 0 0 0;
  }
  .page-case__datetable--head.-after {
    border-radius: 0 3px 0 0;
  }
  .page-case__datetable--sidehead.-first {
    border-radius: 3px 0 0 0;
    border-top: 1px solid #d2d2d2;
  }
  .page-case__datetable--sidehead {
    font-size: 0.75em;
    padding: 0 8px;
    text-align: left;
    letter-spacing: 0;
    border-right: 1px solid #d2d2d2;
    border-left: 1px solid #d2d2d2;
  }
  .page-case__datetable--value {
    padding: 14px 8px;
    font-weight: bold;
    border-right: 1px solid #d2d2d2;
  }
  .page-case__datetable .-large {
    font-size: 1em;
  }
  .page-case__datetable--value.-before::before,
  .page-case__datetable--value.-before::after {
    content: none;
  }
  .page-case__datetable--value.-after small {
    display: inline-block;
    text-align: left;
    margin-top: 4px;
  }
  .page-case__datetable .-line th,
  .page-case__datetable .-line td {
    border-top: 1px dashed #d2d2d2;
  }
  .page-case__article--tag {
    font-size: 1.3rem;
  }
  .c-tag {
    padding: 5px;
  }
}
.voice_pofile {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-bottom: 20px;
}

.voice_box:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 30px 30px 0; /* This trick side-steps a webkit bug */
  border-style: solid;
  border-color: #f6f6f6 #f6f6f6 #d7ceb3 #d7ceb3; /* A bit more verbose to work with .rounded too */
  background: #d7ceb3; /* For Opera when also applying a border-radius */
  display: block;
  width: 0; /* Only for Firefox 3.0 damage limitation */
  /* Optional: shadow */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
}

.case_05 {
  display: flex;
  background: #fff;
  position: relative;
  color: black(0, 13, 102);
  box-shadow: 0px 5px 30px 0px rgba(0, 0, 0, 0.1);
}

.case_05 img {
  height: auto;
  width: 400px;
}

.c-center {
  text-align: center;
}

.step_bottom {
  width: 100%;
  display: block;
  margin: 0 auto;
}

.merite {
  background: #fffdf9;
  background-image: linear-gradient(90deg, #fff7e5 1px, transparent 0), linear-gradient(#fff7e5 1px, transparent 0);
  background-size: 10px 10px;
  padding: 3px;
}

@media screen and (max-width: 768px) {
  .case_05 {
    display: block;
  }
  .case_05 img {
    width: 100%;
    height: 215px;
  }
  .voice_box {
    padding: 20px 10px;
  }
  .cost_table h1 {
    font-size: 2rem;
  }
  .cost_table h1 span {
    font-size: 2.3rem;
  }
}
.action_top_text {
  text-align: center;
  font-weight: bold;
  color: #688d02;
  padding: 10px 0 5px;
  width: 80%;
  margin: 0 auto 0px;
  line-height: 1.5;
}

.action_top_text.senyo {
  background: #688d02;
  color: white;
  padding: 5px 30px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 34px;
  margin-bottom: 0;
}

span.dot_text {
  display: inline-block;
  position: relative;
}

span.dot_text::before {
  position: absolute;
  top: -0.7em;
  left: 50%;
  transform: translate(-50%, 0);
  color: #688d02;
  font-size: 1em;
  content: "・";
}

.sp_left {
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .action_top_text {
    margin: 0;
    width: auto;
    text-align: center;
    display: block;
    font-size: 1.4rem;
    border-radius: 34px;
    margin-bottom: -10px;
  }
  .action_top_text.senyo {
    padding: 5px 15px;
    margin-bottom: -3px;
    border-radius: 12px;
  }
  .sp_left {
    text-align: left;
    display: inline-block;
    margin-left: 10px;
  }
}
.tel_area {
  position: fixed;
  right: 0;
  z-index: 504;
  top: 15%;
}

.tel_banner {
  background-color: #bf5637;
  padding: 30px 15px 30px;
  border-radius: 10px;
  color: white;
  font-size: 12px;
  text-align: center;
  line-height: 1.3;
}

.tel_ban_num {
  font-weight: bolder;
  font-size: 50px;
  margin: 0 auto;
  writing-mode: vertical-rl;
  text-wrap: nowrap;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  max-height: 300px;
  line-height: 1.2;
  margin-top: 18px;
  margin-bottom: 15px;
  margin-right: -5px;
  font-family: "Oswald";
}

.saitama {
  writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  text-align: initial;
  -webkit-writing-mode: vertical-rl;
  font-size: 18px;
  text-align: center;
  letter-spacing: 0.2em;
}

.saitama span {
  color: #f8ff09;
  font-weight: bold;
  padding: 6px 0;
  font-size: 2.4rem;
  letter-spacing: 0.2em;
}

.tel_ban_text {
  font-size: 14px;
  line-height: 1.2;
}

.tel_gif {
  width: 39px;
  display: block;
  margin: 0 auto;
  margin-bottom: 30px;
}

#footer_CTA {
  position: fixed;
  background-color: rgba(125, 125, 125, 0.7882352941);
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999999;
  /*はじめは非表示*/
  opacity: 0;
  transition: opacity 0.3s ease;
  padding: 6px 0;
}
#footer_CTA small {
  display: unset;
}
#footer_CTA img {
  width: 23px;
}
#footer_CTA .footer_CTA_call_img {
  width: 72%;
  margin: 7px 0;
  margin-left: 3px;
}
#footer_CTA .footer_CTA_mail_img {
  width: 80%;
  margin: 7px 0;
  margin-left: 3px;
}

.footer_CTA_call {
  display: flex;
  align-items: center;
  width: 48%;
  background: linear-gradient(180deg, #ff8845 0%, #c94800 100%);
  color: white;
  font-size: 80%;
  padding: 8px 13px;
  font-weight: 500;
  border-radius: 41px;
  justify-content: center;
}
.footer_CTA_call p {
  text-align: center;
  line-height: 1.3;
  font-size: 1.4rem;
  margin-left: 8px;
  font-weight: bold;
}

.footer_CTA_mail {
  display: flex;
  align-items: center;
  width: 52%;
  background: linear-gradient(180deg, #0680d8 0%, #004b81 100%);
  color: #fff;
  font-size: 80%;
  padding: 8px 10px 8px 18px;
  font-weight: 500;
  border-radius: 41px;
  justify-content: center;
  position: relative;
  font-weight: bold;
}
.footer_CTA_mail p {
  text-align: center;
  line-height: 1.3;
  font-size: 1.4rem;
  margin-left: 10px;
  font-weight: bold;
}

.footer_CTA_mail_night {
  width: 100%;
  font-size: 100%;
  font-weight: bold;
  border-radius: 69px;
  padding: 10px 0 12px;
  text-decoration: underline;
}
.footer_CTA_mail_night p {
  margin-left: 20px;
}
.footer_CTA_mail_night::before {
  left: 77px;
}

#footer_CTA .attention {
  text-align: center;
  padding: 5px 0;
}
#footer_CTA .attention img {
  width: 95%;
  display: block;
  margin: 0px auto;
}

.marquee {
  margin: 0px auto 5px;
  background: #980000;
  overflow: hidden;
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  gap: 1rem;
}

.marquee .marquee-inner {
  animation: marquee 20s linear infinite;
  font-size: 15px;
  letter-spacing: 0.12em;
  color: #fff;
}

@keyframes marquee {
  0% {
    translate: 0;
  }
  100% {
    translate: calc(-100% - 1rem);
  }
}
.zenkoku {
  padding: 0px 0 20px 0;
}
.zenkoku img {
  width: 940px;
  margin: 0px auto;
  display: block;
}

.action_soudan_img {
  width: 100%;
  display: block;
  margin: 10px 0 127px;
}

@media screen and (max-width: 768px) {
  .action_soudan_img {
    margin-bottom: 40px;
    margin-top: 20px;
  }
  .zenkoku {
    padding: 0px 0 20px 0;
  }
  .zenkoku img {
    width: 100%;
  }
}
.appeal_point.pc_flex {
  align-items: inherit;
  flex-wrap: wrap;
}

.appeal_point .appeal_point_img {
  width: 100%;
  height: 180px;
  margin-top: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}

.appeal_point .appeal_point_title {
  color: #07499e;
  font-size: 2.1rem;
  line-height: 1.6;
  font-weight: bold;
  margin: 45px 0 10px;
  text-align: center;
  letter-spacing: 0.04em;
}

.appeal_point .appeal_point_title + p {
  height: auto;
  line-height: 2;
}

.appeal_point .ap01_text {
  position: relative;
  line-height: 1.8;
  background-color: #ffffff;
  padding: 30px 20px 35px;
  margin-bottom: 50px;
}

.appeal_point .ap01_text::before {
  position: absolute;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f058";
  font-size: 40px;
  color: #07499e;
  margin: -25px 39%;
}

.ap01_text p {
  text-align: justify;
}

.ap01_text span {
  font-weight: 600;
  color: #f25e2d;
}

.ap01_text small {
  display: block;
  font-size: 1.2rem;
  margin-top: 15px;
}

@media screen and (min-width: 769px) {
  .appeal_point .appeal_point_img {
    height: 240px;
  }
  .appeal_point .ap01_text {
    width: 48%;
    justify-content: space-between;
  }
  .appeal_point .ap01_text:first-child {
    width: 100%;
  }
  .appeal_point .ap01_text:first-child::before {
    margin: -25px 45%;
  }
  .appeal_point .ap01_text:first-child .appeal_point_img {
    height: 300px;
  }
  .appeal_point .appeal_point_title {
    font-size: 2.8rem;
  }
  .appeal_point .appeal_point_title + p {
    line-height: 2;
  }
  .appeal_point .ap01_text::before {
    margin: -25px 41%;
  }
}
.al_top_bunner {
  background: #d20000;
  padding: 30px 0;
}

.al_top_bunner img {
  width: 800px;
  display: block;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .al_top_bunner {
    padding: 15px 0;
  }
  .al_top_bunner img {
    width: 95%;
    display: block;
    margin: 0 auto;
  }
}
.problem-appeal {
  position: relative;
  z-index: 10;
  margin-top: -88px;
  background-image: linear-gradient(#fff2d1, #f3da9e, #dcbc78);
}
@media screen and (max-width: 768px) {
  .problem-appeal {
    margin-top: -30px;
  }
}
.problem-appeal::before {
  content: "";
  display: block;
  width: 100%;
  background: #fff0e2 url(../images/bg_diagonal.webp) repeat;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: relative;
  z-index: 2;
  height: 90px;
}
@media screen and (max-width: 768px) {
  .problem-appeal::before {
    height: 40px;
  }
}
.problem-appeal::after {
  content: "";
  display: block;
  width: 100%;
  background-color: #fff;
  clip-path: polygon(0 0, 50% 100%, 100% 0, 100% 100%, 50% 100%, 0 100%);
  position: relative;
  z-index: 3;
  height: 90px;
  transform: translateY(1px);
}
@media screen and (max-width: 768px) {
  .problem-appeal::after {
    height: 40px;
  }
}

.problem-appeal-01::after {
  /* background: linear-gradient(259deg, #014c96 3.53%, #479cc1 69.13%, #9bc0dd 100%); */
  background: #fff0e2 url(../images/bg_diagonal.webp) repeat;
}

.problem-appeal-inner img {
  width: 750px;
  display: block;
}
.problem-appeal-inner h1 {
  text-align: center;
  font-size: 3.5rem;
  margin: 30px auto -43px;
  font-family: "Noto Serif JP";
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .problem-appeal-inner h1 {
    margin: 20px auto 0px;
    font-size: 2.3rem;
  }
}

.action_list {
  padding: 40px 0 0;
}
@media screen and (min-width: 768px) {
  .action_list.max_img_box img {
    width: 800px;
  }
}
.action_list .free_soudan {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .action_list {
    padding: 30px 10px 0;
  }
  .action_list .free_soudan {
    margin-bottom: 20px;
  }
}

.max_img_box img {
  width: 900px;
  margin: 0 auto;
  display: block;
  position: relative;
  z-index: 15;
}
@media screen and (max-width: 768px) {
  .max_img_box img {
    width: 100%;
  }
}

.atera_area .atera {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.atera_area .atera_QA {
  width: 600px;
  display: block;
  margin: 60px auto 30px;
}
@media screen and (max-width: 768px) {
  .atera_area .atera_QA {
    width: 100%;
    margin: 40px auto 30px;
  }
}
.atera_area .accordion-area {
  margin: 0;
}
.atera_area .accordion-area .box {
  background: #ffd05a;
}

.pattern-vertical-lines-sm {
  background-image: repeating-linear-gradient(to right, #d7d7d7, #d7d7d7 1px, transparent 1px, transparent);
  background-size: 12px 10px;
}

.gray_gradient {
  background-image: linear-gradient(359deg, rgb(255, 255, 255), rgb(172, 172, 172));
}

h2.action_top {
  position: relative;
  padding: 15px;
  border-radius: 5px;
  background-color: #fff4ae;
  color: #232323;
  font-weight: bold;
  font-size: 33px;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  h2.action_top {
    margin-bottom: 0;
    padding: 15px 0;
    line-height: 1.5;
    font-size: 19px;
  }
}
h2.action_top:before {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: traslateX(-50%) rotate(-20deg);
  border-left: 8px dotted #fff4ae;
  height: 36px;
  content: "";
}

.contact_flow {
  background: #fef4ea;
  width: 100%;
  margin: 8px auto 40px;
}

.toggle_switch {
  position: relative;
  cursor: pointer;
  padding: 12px 0px;
  border-bottom: 3px solid #cbab8c;
}

.toggle_contents p {
  text-align: left;
  padding: 10px 45px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .toggle_contents p {
    padding: 10px 20px;
  }
}

.toggle_switch::after {
  content: "";
  display: inline-block;
  width: 21px;
  height: 21px;
  background: url(../images/arrow_down.webp) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 34%;
  right: 28%;
  transition: transform 0.2s;
}

.toggle_switch.open::after {
  transform: rotateZ(180deg);
  top: 34%;
}

.toggle_switch::after {
  right: 3%;
}

.toggle_contents {
  display: none;
  padding: 8px 0px;
  background: #fef4ea;
  width: 100%;
  margin: 0px auto 12px;
}

.toggle_contents span {
  background: linear-gradient(transparent 77%, #ffc8c8 60%);
}

h2.kasan {
  position: relative;
  padding: 15px;
  outline: 2px solid #333;
  outline-offset: 2px;
  background: #d4e4ff;
  color: #333;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  h2.kasan {
    font-size: 1.5rem;
    padding: 8px;
  }
}
h2.kasan:before {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  height: 20px;
  width: 15px;
  background-color: white;
  border-right: 3px solid #333;
  content: "";
}

.yusen {
  width: 100%;
  margin: -40px 0 -20px;
}
@media screen and (max-width: 768px) {
  .yusen {
    margin: 0px 0 30px;
  }
}

.dial_img {
  position: absolute;
  width: 351px;
  top: -60px;
  z-index: 2;
  left: 68px;
}
@media screen and (max-width: 768px) {
  .dial_img {
    width: 57%;
    top: -47px;
    z-index: 8;
    left: 31px;
  }
}

.hosoku {
  font-size: small;
  background-color: rgb(238, 238, 238);
  padding: 8px;
  margin: 15px 0;
}

.yoyaku {
  position: relative;
  background: #fff0cd;
  box-shadow: 0px 0px 0px 5px #fff0cd;
  border: dashed 2px white;
  padding: 1em 2.5em 0;
  color: #454545;
  margin-top: 6px;
  font-family: "Noto sans JP";
}
.yoyaku::after {
  position: absolute;
  content: "";
  right: -7px;
  top: -7px;
  border-width: 0 15px 15px 0;
  border-style: solid;
  border-color: #ffdb88 #fff #ffdb88;
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .yoyaku {
    padding: 1em 6px 0.5em;
    width: 90%;
    margin: 0 auto;
    text-align: justify;
  }
  .yoyaku .action_mark {
    width: 100%;
    margin: 0 10px 15px;
  }
}
.yoyaku .flex {
  align-items: flex-start;
  flex-wrap: nowrap;
}
.yoyaku .flex > img {
  width: 100px;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .yoyaku .flex > img {
    width: 60px;
    margin-right: 10px;
  }
}
.yoyaku p {
  font-size: 1.8rem;
}
.yoyaku p span {
  color: #a50102;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .yoyaku p {
    font-size: 1.5rem;
  }
}

.readmore {
  background-color: white;
  position: relative;
  width: 98%;
  margin: 30px auto 0;
  border: 1px solid #236bc8;
  border-radius: 5px;
  padding: 20px 10px 55px;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .readmore {
    padding: 40px 60px 55px;
  }
}
.readmore label {
  position: absolute;
  display: table;
  left: 50%;
  bottom: 14px;
  margin: 0 auto;
  width: 109px;
  padding: 3px 0;
  color: #fff;
  text-align: center;
  border-radius: 45px;
  background-color: #236bc8;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  box-shadow: 1px 2px 2px rgba(0, 0, 0, 0.1098039216);
  font-size: 14px;
}
.readmore label::before {
  content: "続きを見る";
}
.readmore input[type=checkbox] {
  display: none;
}
.readmore input[type=checkbox]:checked ~ label::before {
  content: "元に戻す";
}

.readmore-content {
  position: relative;
  height: 250px;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.readmore-content p span {
  background: linear-gradient(transparent 78%, #fff4ae 60%);
  font-weight: bold;
}

.readmore input[type=checkbox]:checked ~ .readmore-content {
  height: auto;
  transition: max-height 0.5s ease;
}

.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 75px;
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
}

.readmore input[type=checkbox]:checked ~ .readmore-content::before {
  display: none;
}

.jirei_icon {
  width: 65px;
  margin-right: 15px;
}
@media screen and (min-width: 768px) {
  .jirei_icon {
    width: 80px;
    margin-right: 30px;
  }
}

.figureCase_label {
  width: -moz-fit-content;
  width: fit-content;
  background: #fff0f0;
  padding: 2px 12px;
  border-radius: 9px;
  color: #236bc8;
  margin-bottom: 10px;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .figureCase_label {
    font-size: unset;
  }
}

.readmore-content_title {
  border-bottom: 2px dashed #d9e0e5;
  padding-bottom: 13px;
  align-items: center;
  margin-bottom: 20px;
}
.readmore-content_title .flex {
  align-items: center;
  justify-content: flex-start;
  flex-wrap: nowrap;
}

.figureCase_title {
  font-size: 17px;
  font-weight: bold;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .figureCase_title {
    font-size: 2.4rem;
  }
}

.figureCase_before {
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid;
  border-radius: 16px;
  padding: 1px 15px;
  margin-bottom: 13px;
}

.figureCase_after {
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 16px;
  padding: 1px 15px;
  margin-bottom: 13px;
  width: fit-content;
  background: #fff4ae;
  color: #020202;
  margin-top: 30px;
}

.comment_laywer {
  background: #fff8e1;
  padding: 20px 20px;
  margin-top: 27px;
  border-radius: 15px;
}
.comment_laywer > div {
  display: flex;
  align-items: center;
  margin-bottom: 13px;
}
.comment_laywer img {
  width: 78px;
  margin-right: 20px;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.scroll-infinity__list--right {
  animation: infinity-scroll-right 40s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 16.6666666667vw;
}
.scroll-infinity__item > img {
  width: 100%;
  height: 150px;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .scroll-infinity__item {
    width: 33.3333333333vw;
  }
  .scroll-infinity__item > img {
    height: 90px;
  }
}

.area_box {
  background: #fff;
  width: 48%;
  margin: 14px 0;
  border: 1px solid #ccc;
  line-height: 1.2;
  padding: 21px;
}

.shiten_title {
  /* background-color: #051132; */
  text-align: center;
  /* padding: 5px; */
  font-weight: 600;
  color: #000;
}

.area_box a {
  color: #000;
  font-size: 1.4rem;
  text-decoration: underline;
}

@media screen and (max-width: 769px) {
  .area_box {
    width: 100%;
    margin: 14px 0;
    padding: 15px;
    height: unset;
  }
  .area_box h4 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #2c5282;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 3px solid #2c5282;
  }
}
.blue_gradient {
  background: linear-gradient(180deg, #3a79ee -53.42%, #002b7a 135.68%);
}

.tokuyaku {
  background-color: #fff;
}

.tokuyaku_title {
  padding: 21px 25px;
}
@media screen and (min-width: 769px) {
  .tokuyaku_title img {
    width: 600px;
  }
}

.tokuyaku_inner img {
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) {
  .tokuyaku_inner img {
    margin-bottom: 80px;
  }
}
.tokuyaku_inner img:nth-last-child(-n+2) {
  margin-bottom: 20px;
}

.action_bg {
  background-size: cover;
  background-image: url(../images/main_bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  margin: 0 auto;
  padding: 10px 8px 50px;
}
@media screen and (min-width: 769px) {
  .action_bg {
    padding: 50px 8px;
  }
}
@media screen and (max-width: 768px) {
  .action_bg .cta_area {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }
  .action_bg .cta_area .box_tel,
  .action_bg .cta_area .box_mail {
    width: 100%;
  }
  .action_bg .cta_area .info {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 769px) {
  .action_bg .cta_area {
    width: 1000px;
    margin: 0 auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }
  .action_bg .cta_area .info {
    width: 100%;
    order: -1;
    margin-bottom: 20px;
  }
  .action_bg .cta_area .box_tel,
  .action_bg .cta_area .box_mail {
    width: 48%;
  }
  .action_bg .cta_area .box_tel img,
  .action_bg .cta_area .box_mail img {
    width: 100%;
    height: auto;
  }
}

.r-i-hd {
  margin-top: 135px;
  padding: 30px 25px;
  display: inline-block;
  color: #fff;
  background: linear-gradient(to right, #ee7176, rgba(255, 175, 145, 0.6));
}

.r-i-hd-label {
  background: #fff;
  color: #ff6473;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  width: 80px;
}

.r-i-hd-tx {
  font-weight: bold;
  line-height: 1.8;
  font-size: 25px;
  margin-top: 10px;
}

.r-i-hd-p {
  margin-top: 30px;
}

.r-v-c {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  background: #fff url(../images/r-v-bg.webp) top center no-repeat;
  padding: 30px 0;
  background-size: cover;
}

.r-v-c .flex-column img {
  width: 70%;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .r-v-c .flex-column img {
    width: 50%;
    max-width: 600px;
  }
}

.slider {
  margin: 0 auto;
  max-width: 500px;
  width: 80%;
}
.slider .slide-arrow {
  bottom: 0;
  height: 0;
  margin: auto;
  position: absolute;
  top: 0;
  width: 0;
}
.slider .prev-arrow {
  border-bottom: 20px solid #eef5ff;
  border-left: 0;
  border-right: 20px solid #a00;
  border-top: 20px solid #eef5ff;
  left: -30px;
}
@media screen and (min-width: 769px) {
  .slider .prev-arrow {
    left: -45px;
  }
}
.slider .next-arrow {
  border-bottom: 20px solid #eef5ff;
  border-left: 20px solid #a00;
  border-right: 0;
  border-top: 20px solid #eef5ff;
  right: -30px;
}
@media screen and (min-width: 769px) {
  .slider .next-arrow {
    right: -45px;
  }
}
.slider button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
}

.voice_box {
  position: relative;
  padding: 10px 15px 20px;
  margin: 1em auto;
  background: #fff;
  overflow: hidden;
}
.voice_box .voice_text {
  font-size: 1.4rem;
}
.voice_box .voice_text h3 {
  color: #1749a6;
  font-weight: bold;
  border-bottom: 1px solid;
  margin-bottom: 10px;
  font-size: 1.6rem;
  margin-top: 20px;
}
.voice_box .voice_text h3:first-of-type {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .voice_box .voice_text {
    font-size: unset;
  }
}
.voice_box .voice_text .voice_main {
  position: relative;
  font-weight: bold;
  text-indent: 1em;
  font-size: 1.6rem;
  margin: 20px 0;
  color: #ab2300;
}
@media screen and (min-width: 769px) {
  .voice_box .voice_text .voice_main {
    font-size: 2rem;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    text-indent: unset;
    margin-bottom: 30px;
  }
}
.voice_box .voice_text .voice_main::before {
  content: "\f10d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.5em;
  color: rgba(171, 35, 0, 0.26);
  font-size: 1.7rem;
  position: absolute;
  top: -24px;
  left: -22px;
}
.voice_box .voice_text .voice_main::after {
  content: "\f10e";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: rgba(171, 35, 0, 0.26);
  font-size: 1.7rem;
  position: absolute;
}
@media screen and (min-width: 769px) {
  .voice_box .voice_text .voice_main::after {
    top: -19px;
    right: -22px;
  }
}
.voice_box .voice_text .case_note {
  font-size: 1.2rem;
  color: #666;
  margin-top: 20px;
  font-style: italic;
}
@media screen and (min-width: 769px) {
  .voice_box .voice_text .case_note {
    font-size: 1.3rem;
  }
}

.voice_icon {
  width: 120px;
  height: -moz-fit-content;
  height: fit-content;
}

.voice_pofile {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-bottom: 30px;
}
.voice_pofile p:last-child {
  text-align: center;
  line-height: 1.4;
  margin-top: 10px;
}

.slider {
  max-width: 500px;
}

@media screen and (min-width: 768px) {
  .slider {
    max-width: 720px;
  }
  .slider-content {
    width: 100% !important;
    max-width: 720px;
  }
}
.star {
  display: inline-block;
  margin-right: 1.2820512821vw;
  line-height: 1.2;
}

.star-group .all {
  margin-left: 2.5641025641vw;
}

.star::before {
  content: "★";
  display: block;
  color: #ffbd3a;
}

.slick-dots {
  top: -30px;
}

.slick-dots li button:before {
  font-size: 20px;
  line-height: unset;
  content: "●";
}
@media screen and (max-width: 768px) {
  .slick-dots li button:before {
    font-size: 13px;
  }
}

@media screen and (min-width: 768px) {
  .flow_bottom img {
    width: 700px;
  }
}

.contents01 img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.contents01 .contents01_inner {
  background: linear-gradient(to bottom, #f9fafb 0%, #eff3f8 70%, #b5c0d2 100%);
}
.contents01 .contents01_inner img {
  max-width: 1100px;
}

.contents02 {
  background-color: #E0F0F7;
  padding-bottom: 30px;
  /* --- ここから追加 --- */
  /* タイトルセクション全体のラッパー */
  /* 上部（質問）の水色セクション */
  /* 質問リストのスタイル */
  /* 質問アイコン（？） */
  /* 下部（回答）の黒セクション */
  /* 挿入する画像（男性と吹き出し）のスタイル */
  /* --- ここまで追加 --- */
}
.contents02 .c02_title_wrap {
  position: relative; /* z-index の基準 */
}
.contents02 .c02_title_top {
  background: #b5c0d2; /* 画像から抽出した水色 */
  padding: 60px 0 100px; /* 下部に余白を多めに取る */
  position: relative;
  z-index: 2;
  margin-top: -10px; /* 黒セクションより手前に表示 */
  /* 波形から中央の矢印（三角形）に変更 */
  clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 55% 85%, 50% 95%, 45% 85%, 0% 85%);
}
@media screen and (max-width: 768px) {
  .contents02 .c02_title_top {
    padding: 40px 0 80px;
  }
}
.contents02 .c02_concern_list {
  display: flex;
  flex-direction: column;
  gap: 20px; /* 各質問の間のスペース */
  max-width: 800px; /* テキストが横に広がりすぎないように */
  margin-left: auto;
  margin-right: auto;
}
.contents02 .c02_concern_item {
  display: flex;
  align-items: flex-start; /* アイコンとテキストの天を揃える */
  gap: 15px; /* アイコンとテキストの間のスペース */
}
.contents02 .c02_concern_item p {
  font-size: 3rem;
  font-weight: bold;
  color: #003366; /* 濃い青色 */
  line-height: 1.6;
  margin: 0; /* pタグのデフォルトマージンをリセット */
  /* 強調文字のスタイル */
}
@media screen and (max-width: 768px) {
  .contents02 .c02_concern_item p {
    font-size: 16px;
  }
}
.contents02 .c02_concern_item p strong {
  color: #005ab3; /* 画像の青色 */
}
.contents02 .c02_concern_q {
  flex-shrink: 0; /* 縮まないように */
  width: 40px;
  height: 40px;
  margin-top: 20px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  color: #464c50; /* すこし薄い色 */
}
@media screen and (max-width: 768px) {
  .contents02 .c02_concern_q {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
}
.contents02 .c02_title_bottom {
  background: #e0f1f7; /* 画像から抽出した黒 */
  padding: 60px 0 40px;
  position: relative;
  z-index: 1; /* 黒セクションより奥に表示 */
  /* 矢印の形状に合わせて、重なり具合を少し深く調整 */
  margin-top: -85px;
}
@media screen and (max-width: 768px) {
  .contents02 .c02_title_bottom {
    /* スマホでも同様に調整 */
    margin-top: -65px;
    padding-top: 80px; /* スマホでは画像が縦長になるため、上の余白を調整 */
  }
}
.contents02 .c02_solution_img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 500px; /* PCでも広がりすぎないように */
  height: auto; /* 縦横比を維持 */
}
.contents02 img {
  max-width: 1100px;
}
.contents02 .contents02_inner {
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .contents02 .contents02_inner {
    padding: 0 10px;
  }
}
.contents02 .contents02_inner img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.contents02 .contents02_inner_title {
  margin: 0 -20px;
}
@media screen and (max-width: 768px) {
  .contents02 .contents02_inner_title {
    margin: 0 -10px;
  }
}
.contents02 .contents02_inner_title img {
  width: 100%;
  display: block;
  margin: -10px auto;
}
.contents02 .contents02_inner_text img {
  width: 80%;
  display: block;
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .contents02 .contents02_inner_text img {
    width: 50%;
    margin: 40px auto 0;
  }
}
.contents02 .box_list {
  background-color: #eaeaea;
  padding: 40px 10px;
  margin: -15px 0px 20px;
  border-radius: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .contents02 .box_list {
    margin: -25px auto 0;
    padding: 40px 50px;
    gap: 40px;
  }
}
.contents02 .box {
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.contents02 .box img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .contents02 .box img {
    width: 85%;
  }
}
.contents02 .box .accordion_icon {
  width: 100%;
  display: block;
  margin: 30px auto 0;
  cursor: pointer;
  transition: transform 0.1s ease, opacity 0.2s ease;
}
@media screen and (min-width: 768px) {
  .contents02 .box .accordion_icon {
    width: 50%;
  }
}
.contents02 .box .accordion_icon:hover {
  transform: translateY(-2px);
  opacity: 0.95;
}
.contents02 .box .accordion_icon:active {
  transform: translateY(1px) scale(0.98);
  opacity: 0.85;
}
.contents02 li {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .contents02 li {
    font-size: 1.4rem;
  }
}
.contents02 .conclusion_text img {
  width: 70%;
  margin: -40px auto 0;
}
.contents02 .conclusion_text .sm_only {
  display: block !important;
}
@media screen and (min-width: 769px) {
  .contents02 .conclusion_text .sm_only {
    display: none !important;
  }
}
.contents02 .conclusion_text .pc_only {
  display: none !important;
}
@media screen and (min-width: 769px) {
  .contents02 .conclusion_text .pc_only {
    display: block !important;
    width: 60%;
  }
}
.contents02 .conclusion_icon {
  width: 100%;
  text-align: center;
  margin: 20px 0 0;
}
.contents02 .conclusion_icon img {
  width: auto;
  max-width: 70%;
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .contents02 .conclusion_icon img {
    width: 30%;
    margin: 20px auto 0;
  }
}
.contents02 .accordion-area {
  display: none;
  gap: 50px;
  flex-wrap: wrap;
}
.contents02 .accordion-area.open {
  display: flex;
}

.tokutyou .features_inner {
  padding: 20px 0 60px;
}
.tokutyou .features_inner img {
  width: 100%;
  max-width: 1000px;
  display: block;
  margin: 0 auto;
}

@media screen and (min-width: 769px) {
  .komonni .komonni_inner {
    padding: 50px 8px;
    background-size: cover;
    background-image: url(../images/kouininntei_bg_pc.webp);
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
    margin: 0 auto;
  }
}
.komonni .komonni_inner img {
  width: 100%;
  max-width: 1000px;
  display: block;
  margin: 0 auto;
}/*# sourceMappingURL=style.css.map */