@charset "UTF-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,700;0,900;1,700;1,900&display=swap");

/* --
font-family: 'Noto Sans JP', sans-serif;
400 500 700 900

font-family: 'Jost', sans-serif;
700

font-family: 'Lato', sans-serif;
700 900
-- */
:root {
  --color-primary: #0549A9;
  --color-primary-tint: #EDF6FF;
  --color-secondary: #F24B09;
  --color-secondary-tint: #FDF1EB;
  --color-sub: #7E8086;
  --color-sub-tint: #F1F1F1;
  --color-font: #222;
  --font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* ----------------------
全体
---------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

body {
  min-width: 1279px;
  min-width: inherit;
  font-feature-settings: "palt";
  font-family: var(--font-family);
  font-weight: 500;
  font-size: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
  /* -- 1920 16px 375 14px -- */
  letter-spacing: normal;
  overflow: visible;
  /* counter-reset: number; */
}

body:not(.mobile).sticky-header {
  padding-top: min(calc(100px + (1vw - 19.2px) * 1.6741), 100px);
  /* -- 1920 100px 1024 85px -- */
}

@media screen and (max-width: 1023px) {
  body:not(.mobile).sticky-header {
    padding-top: 0;
  }
}

@media screen and (max-width: 768px) {
  body {
    min-width: 100%;
  }
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

.post a {
  transition: color 0.3s, opacity 0.3s, background-color 0.3s;
}

div.post a {
  text-decoration: underline;
}

div.post a:hover {
  text-decoration: none;
}

body:not(.mobile) a[href^="tel:"] {
  pointer-events: none;
}

#editor-style a[href^="tel:"] {
  pointer-events: auto !important;
}

em {
  /* color: #fc42a8; */
  font-style: normal;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=submit],
input[type=date],
input[type=url],
input[type=number] {
  -webkit-appearance: none;
  border-radius: 0;
  margin-bottom: 0;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=number],
select {
  min-height: 34px;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=number],
select,
textarea {
  padding: 2px 5px;
}

textarea {
  -webkit-appearance: none;
}

input,
textarea,
select {
  border-radius: 0;
  font-family: var(--font-family);
  font-size: 16px;
  letter-spacing: normal;
}

/* エディターの背景色 */
/* #editor-style {
  background: #002060;
} */
/* -- body -- */
body.mobile {
  margin-top: 0;
}

body.mobile #mainImg,
body.mobile #breadcrumb {
  margin-top: 0;
}

/* @media screen and (min-width: 1024px) {

  body.mobile {
    margin-top: 0;
  }

} */
/* -- body終わり -- */
/* -- コンテンツ幅 -- */
#wrapper {
  position: relative;
  max-width: 100%;
  /* 〇最大幅 */
  width: 100%;
  /* 左右余白7.5% */
  margin: 0 auto;
  padding: 60px 5% 130px;
  /* 〇上下余白 */
  overflow: visible;
}

#wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: min(calc(70px + (1vw - 19.2px) * 3.2362), 70px);
  /* -- 1920 70px 375 20px -- */
  left: 30px;
  right: 30px;
  background-color: var(--color-primary-tint);
  z-index: -1;
}

#wrapper::after {
  content: "";
  display: block;
  clear: both;
}

#content {
  background-color: #fff;
  /* 〇背景色 */
  border: 2px solid var(--color-primary);
  border-radius: 6px;
  width: calc(100% - 250px);
  padding: min(calc(66px + (1vw - 19.2px) * 2.9773), 66px) min(calc(63px + (1vw - 19.2px) * 3.1068), 63px);
  /* -- 1920 66px 375 20px -- */
  /* -- 1920 63px 375 15px -- */
  /* 〇上下余白 */
}

.archive #content {
  background-color: transparent;
  border: none;
  padding: 0;
}

.home #content {
  max-width: none !important;
  border: none;
  border-radius: 0;
  margin: 0 auto;
  padding: 0;
}

#content.wide {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

#full-wrapper #content {
  width: 100%;
}

#sidebar {
  width: 225px;
  padding: 0;
}

div.post {
  margin: 0;
  padding: 0;
  line-height: 2;
  /* 〇テキスト行間 */
}

@media screen and (max-width: 1023px) {
  #sidebar {
    padding: 0;
  }
}

@media screen and (max-width: 959px) {
  #content {
    width: 100%;
  }

  #sidebar {
    width: 100%;
    margin: 60px 0 0;
    padding: 0;
  }
}

@media screen and (max-width: 768px) {
  #wrapper {
    width: 100%;
    padding: min(calc(60px + (1vw - 19.2px) * 2.2654), 60px) 4% min(calc(130px + (1vw - 19.2px) * 5.8252), 130px);
    /* -- 1920 60px 375 25px -- */
    /* -- 1920 130px 375 40px -- */
  }

  #wrapper::before {
    left: 10px;
    right: 10px;
    z-index: -1;
  }

  #content.wide {
    width: 95%;
  }

  #sidebar {
    margin: 40px 0 0;
    padding: 0;
  }
}

/* -- コンテンツ幅終わり -- */
/* -- パラグラフ -- */
div.post p,
#editor-style p {
  padding-bottom: 0;
  margin-bottom: 0;
}

div.post p+p,
#editor-style p+p {
  margin-top: 1em;
  /* 〇上余白 */
}

/* -- パラグラフ終わり -- */
/* -- リスト -- */
.post ul,
.post ol {
  margin: 0;
}

.post ul:not([class]) li {
  margin-bottom: 0;
}

.post ul:not([class]) li+li {
  margin-top: 0.5em;
}

.post ol[class] li {
  list-style: none;
}

.post ol:not([class]) {
  padding: 0 0 0 2em;
}

.post ol:not([class]) li {
  margin: 0;
}

.post ol:not([class]) li+li {
  margin-top: 0.5em;
}

.post ul.comma_list li {
  display: inline-block;
  margin-bottom: 0;
}

.post ul.comma_list li::after {
  content: "、";
}

.post ul.comma_list li:last-child::after {
  content: none;
}

.post ul.indent_list li {
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.65;
}

.post ul.indent_list li::before {
  content: "・";
}

.post ul.indent_list li+li {
  margin-top: 0.25em;
}

.post ul.indent_list li {
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
}

.post ul.indent_list li::before {
  content: "・";
}

.post ul.indent_list_row {
  display: flex;
  gap: 0 1.25em;
}

.post ul.indent_list_row li+li {
  margin: 0;
}

.post ul.kome_list li {
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
}

.post ul.kome_list li::before {
  content: "※";
}

.post ul.order_list li {
  list-style: decimal;
  margin-bottom: 0;
  margin-left: 1.1em;
}

.post .maru_list {
  margin: 0;
  padding: 0;
  --gap: 10px;
}

.post .maru_list li {
  margin: 0;
  padding: 0;
}

.maru_list_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #DAE8F9;
  border-radius: 500px;
  height: 100%;
  padding: 1.08em 1em;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 17px;
  text-align: center;
  line-height: 1.29;
}

.post .arrow_list {
  margin: 0;
  padding: 0;
}

.post .arrow_list li {
  display: flex;
  align-items: flex-start;
  margin: 0;
  padding: 0;
  line-height: 1.65;
}

.post .arrow_list li+li {
  margin-top: 0.4em;
}

.post .arrow_list li:before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  color: var(--color-secondary);
  font-weight: 700;
  margin-right: 7px;
}

@media screen and (max-width: 768px) {
  .post .maru_list {
    --gap: 8px;
  }

  .maru_list_item {
    min-height: 4.38em;
    padding: 0.9em 1em;
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1942), 17px);
    /* -- 1920 17px 375 14px -- */
  }
}

/* -- リスト終わり -- */
/* -- テーブル -- */
.post table {
  margin-bottom: 0;
  font-size: 100%;
  border: none;
  font-weight: 500;
  font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
  /* -- 1920 15px 375 14px -- */
  word-break: break-all;
}

.post table th,
.post table td {
  border: none;
  padding: 20px 2em 20px 0;
  line-height: 1.8;
}

.post table tr {
  border-top: 1px dashed var(--color-sub);
  border-bottom: 1px dashed var(--color-sub);
}

.post table.responsive {
  max-width: none;
}

.post table.responsive th,
.post table.responsive td {
  text-align: left;
}

.post .tag_table tr {
  border-top: 1px solid #D9D9D9;
  border-bottom: 1px solid #D9D9D9;
}

.post .tag_table .bg {
  display: block;
  background-color: var(--color-primary);
  border-radius: 500px;
  min-width: 120px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.4em 1em 0.5em;
  color: #fff;
  text-align: center;
  letter-spacing: normal;
}

.post .tag_table th,
.post .tag_table td {
  border: none;
  padding: 48px 40px 48px 0;
  line-height: 1.85;
  vertical-align: middle;
  letter-spacing: 0.02em;
}

.post .tag_table th {
  font-size: 15px;
}

.post .tag_table td {
  font-size: 17px;
}

.post .tag_table .em {
  color: var(--color-secondary);
  font-weight: 700;
}

.post .tag_table .middle {
  display: inline-block;
  font-size: 20px;
}

.post .tag_table .big {
  display: inline-block;
  margin-top: -30px;
  font-size: 30px;
}

.post .tag_table *+.kome_list {
  margin-top: 0.25em;
}

.post .tag_table .kome_list li {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.4;
}

.post .tag_table .indent_list li::before {
  color: var(--color-secondary);
}

.post .tag_table .indent_list li {
  font-size: 15px;
  line-height: 1.8;
}

.post .tag_table .indent_list li::before {
  color: var(--color-secondary);
}

.post .bg_table th,
.post .bg_table td {
  padding: 21px 10px;
}

.post .bg_table th {
  position: relative;
  z-index: 0;
}

.post .bg_table th::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  bottom: 10px;
  left: 0;
  right: 0;
  background-color: var(--color-primary-tint);
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .post table {
    font-size: 14px;
  }

  .post table th,
  .post table td {
    border: none;
    padding: 15px 1.5em 15px 0;
    line-height: 1.6;
  }

  .post .tag_table .bg {
    margin-left: 0;
    padding: 0.2em 1em 0.25em;
  }

  .post .tag_table th,
  .post .tag_table td {
    padding: min(calc(48px + (1vw - 19.2px) * 1.8123), 48px) min(calc(40px + (1vw - 19.2px) * 1.2945), 40px) min(calc(48px + (1vw - 19.2px) * 1.8123), 48px) 0;
    /* -- 1920 48px 375 20px -- */
    /* -- 1920 40px 375 20px -- */
  }

  .post .tag_table th {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
  }

  .post .tag_table td {
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1294), 17px);
    /* -- 1920 17px 375 15px -- */
  }

  .post .tag_table .middle {
    font-size: min(calc(20px + (1vw - 19.2px) * 0.2589), 20px);
    /* -- 1920 20px 375 16px -- */
  }

  .post .tag_table .big {
    margin-top: -8px;
    font-size: min(calc(30px + (1vw - 19.2px) * 0.2589), 30px);
    /* -- 1920 30px 375 26px -- */
  }

  .post .tag_table .kome_list li {
    font-size: min(calc(14px + (1vw - 19.2px) * 0.1294), 14px);
    /* -- 1920 14px 375 12px -- */
    line-height: 1.5;
  }

  .post .tag_table .indent_list li {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
  }
}

@media screen and (max-width: 640px) {
  .post table.responsive th {
    padding: 10px 5px 4px;
  }

  .post table.responsive td {
    padding: 4px 5px 10px;
  }

  .post table.tag_table.responsive th {
    padding: min(calc(48px + (1vw - 19.2px) * 1.8123), 48px) 5px min(calc(10px + (1vw - 19.2px) * 0.3236), 10px);
    /* -- 1920 48px 375 20px -- */
    /* -- 1920 10px 375 5px -- */
  }

  .post table.tag_table.responsive td {
    padding: min(calc(10px + (1vw - 19.2px) * 0.3236), 10px) 5px min(calc(48px + (1vw - 19.2px) * 1.8123), 48px);
    /* -- 1920 10px 375 5px -- */
    /* -- 1920 48px 375 20px -- */
  }

  .post .bg_table.responsive th {
    padding: min(calc(21px + (1vw - 19.2px) * 0.3883), 21px) 10px min(calc(15px + (1vw - 19.2px) * 0.3236), 15px);
  }

  .post .bg_table.responsive td {
    padding: min(calc(15px + (1vw - 19.2px) * 0.3236), 15px) 10px;
  }

  .post .bg_table.responsive th::before {
    top: 6px;
    bottom: 0;
  }
}

/* -- テーブル 終わり -- */
/* ----------------------
汎用クラス
---------------------- */
.on-sp {
  display: none;
}

.on-tab {
  display: none;
}

.mb16 {
  margin-bottom: 160px !important;
}

.mb10 {
  margin-bottom: 100px !important;
}

.mb9 {
  margin-bottom: 90px !important;
}

.mb8 {
  margin-bottom: 80px !important;
}

.mb7 {
  margin-bottom: 70px !important;
}

.mb6 {
  margin-bottom: 60px !important;
}

.mb5_6 {
  margin-bottom: 56px !important;
}

.mb5 {
  margin-bottom: 50px !important;
}

.mb4_8 {
  margin-bottom: 48px !important;
}

.mb4 {
  margin-bottom: 40px !important;
}

.mb3 {
  margin-bottom: 30px !important;
}

.mb2_4 {
  margin-bottom: 24px !important;
}

.mb2 {
  margin-bottom: 20px !important;
}

.mb1_6 {
  margin-bottom: 16px !important;
}

.mb1 {
  margin-bottom: 10px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.text_center {
  text-align: center !important;
}

.text_center_nsp {
  text-align: center !important;
}

.content_box+.content_box {
  margin-top: min(calc(80px + (1vw - 19.2px) * 2.589), 80px);
  /* -- 1920 80px 375 40px -- */
}

.fz_18 {
  font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
  /* -- 1920 18px 375 15px -- */
}

.fz_14 {
  font-size: 14px;
}

.fw_700 {
  font-weight: 700;
}

.ind {
  padding-left: 1em;
  text-indent: -1em;
}

.ind05 {
  padding-left: 1.25em;
  text-indent: -1.25em;
}

.anchor {
  position: relative;
  top: -80px;
  height: 1px;
}

.line_box_wrap .anchor {
  top: -150px;
}

@media screen and (max-width: 1023px) {
  .on-tab {
    display: block;
  }

  .off-tab {
    display: none;
  }

  .mb16 {
    margin-bottom: 120px !important;
  }

  .mb10 {
    margin-bottom: 80px !important;
  }

  .mb9 {
    margin-bottom: 72px !important;
  }

  .mb8 {
    margin-bottom: 64px !important;
  }

  .mb7 {
    margin-bottom: 56px !important;
  }

  .mb6 {
    margin-bottom: 48px !important;
  }

  .mb5_6 {
    margin-bottom: 44px !important;
  }

  .mb5 {
    margin-bottom: 40px !important;
  }

  .mb4_8 {
    margin-bottom: 36px !important;
  }

  .mb4 {
    margin-bottom: 32px !important;
  }

  .mb3 {
    margin-bottom: 24px !important;
  }

  .mb2_4 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 768px) {
  .on-sp {
    display: block;
  }

  .off-sp {
    display: none;
  }

  .mb16 {
    margin-bottom: 60px !important;
  }

  .mb10 {
    margin-bottom: 60px !important;
  }

  .mb9 {
    margin-bottom: 45px !important;
  }

  .mb8 {
    margin-bottom: 40px !important;
  }

  .mb7 {
    margin-bottom: 35px !important;
  }

  .mb6 {
    margin-bottom: 30px !important;
  }

  .mb5_6 {
    margin-bottom: 28px !important;
  }

  .mb5 {
    margin-bottom: 25px !important;
  }

  .mb4_8 {
    margin-bottom: 24px !important;
  }

  .mb4 {
    margin-bottom: 20px !important;
  }

  .mb2_4 {
    margin-bottom: 16px !important;
  }

  .text_center_nsp {
    text-align: left !important;
  }

  .anchor {
    position: relative;
    top: -80px;
  }
}

/* ----------------------
flexbox columnbox
---------------------- */
/* -- flexbox -- */
.flexbox {
  display: flex;
  gap: 0 var(--gap);
}

.reverse {
  flex-direction: row-reverse;
}

.jc-between {
  justify-content: space-between;
}

.ai-self-center {
  align-self: center;
}

.w90 {
  width: 90%;
}

.w80 {
  width: 80%;
}

.w70 {
  width: 70%;
}

.w60 {
  width: 60%;
}

.w50 {
  width: 50%;
}

.w40 {
  width: 40%;
}

.w30 {
  width: 30%;
}

.w20 {
  width: 20%;
}

.w10 {
  width: 10%;
}

@media screen and (max-width: 768px) {
  .flexbox {
    flex-direction: column;
  }

  .reverse_sp {
    flex-direction: column-reverse;
  }

  .flexbox>* {
    width: 100%;
  }

  .flexbox>*+* {
    margin-top: min(calc(4rem + (1vw - 7.68px) * 3.8168), 4rem);
    /* -- 768 4rem 375 2.5rem -- */
  }

  .reverse>*:last-child,
  .reverse_sp>*:last-child {
    margin-top: 0;
  }

  .reverse>*:not(:last-child),
  .reverse_sp>*:not(:last-child) {
    margin-top: min(calc(4rem + (1vw - 7.68px) * 3.8168), 4rem);
    /* -- 768 4rem 375 2.5rem -- */
  }
}

/* -- columnbox -- */
:root {
  --gap: 0px;
}

.post .columnbox,
.columnbox {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0;
  gap: 0 var(--gap);
}

.pcgap8 {
  --gap: 8%;
}

.pcgap6 {
  --gap: 6%;
}

.pcgap5 {
  --gap: 5%;
}

.pcgap4 {
  --gap: 4%;
}

.pcgap3 {
  --gap: 3%;
}

.pcgap2 {
  --gap: 2%;
}

.pcgap30px {
  --gap: 30px;
}

.pcgap20px {
  --gap: 20px;
}

.pcgap10px {
  --gap: 10px;
}

.pcvgap8 {
  --vgap: 8%;
}

.pcvgap6 {
  --vgap: 6%;
}

.pcvgap5 {
  --vgap: 5%;
}

.pcvgap4 {
  --vgap: 4%;
}

.pcvgap3 {
  --vgap: 3%;
}

.pcvgap2 {
  --vgap: 2%;
}

.pcvgap30px {
  --vgap: 30px;
}

.pcvgap20px {
  --vgap: 20px;
}

.pcvgap10px {
  --vgap: 10px;
}

.pcvgap0 {
  --vgap: 0px;
}

.post .columnbox .column_item,
.columnbox .column_item {
  display: block;
  margin: 0;
  padding: 0;
}

/* -- PC column -- */
.pc1>.column_item {
  width: 100%;
}

.pc1>.column_item:nth-child(n+2) {
  margin-top: var(--vgap, var(--gap));
}

.pc2>.column_item {
  width: calc((100% - var(--gap)) / 2);
}

.pc2>.column_item:nth-child(n+3) {
  margin-top: var(--vgap, var(--gap));
}

.pc2_1>.column_item {
  width: calc((100% - var(--gap)) / 2);
}

.pc2_1>.column_item:nth-child(3) {
  width: 100%;
}

.pc2_1>.column_item:nth-child(n+3) {
  margin-top: var(--vgap, var(--gap));
}

.pc3>.column_item {
  width: calc((100% - 1px - var(--gap) * 2) / 3);
}

.pc3>.column_item:nth-child(n+4) {
  margin-top: var(--vgap, var(--gap));
}

.pc4>.column_item {
  width: calc((100% - var(--gap) * 3) / 4);
}

.pc4>.column_item:nth-child(n+5) {
  margin-top: var(--vgap, var(--gap));
}

.pc5>.column_item {
  width: calc((100% - 1px - var(--gap) * 4) / 5);
}

.pc5>.column_item:nth-child(n+6) {
  margin-top: var(--vgap, var(--gap));
}

.pc6>.column_item {
  width: calc((100% - var(--gap) * 5) / 6);
}

.pc6>.column_item:nth-child(n+7) {
  margin-top: var(--vgap, var(--gap));
}

.pc7>.column_item {
  width: calc((100% - 1px - var(--gap) * 6) / 7);
}

.pc7>.column_item:nth-child(n+8) {
  margin-top: var(--vgap, var(--gap));
}

.pc8>.column_item {
  width: calc((100% - var(--gap) * 7) / 8);
}

.pc8>.column_item:nth-child(n+9) {
  margin-top: var(--vgap, var(--gap));
}

@media screen and (max-width: 1023px) {
  .tabgap8 {
    --gap: 8%;
  }

  .tabgap6 {
    --gap: 6%;
  }

  .tabgap5 {
    --gap: 5%;
  }

  .tabgap4 {
    --gap: 4%;
  }

  .tabgap3 {
    --gap: 3%;
  }

  .tabgap2 {
    --gap: 2%;
  }

  .tabgap30px {
    --gap: 30px;
  }

  .tabgap20px {
    --gap: 20px;
  }

  .tabgap10px {
    --gap: 10px;
  }

  .tabgap0 {
    --gap: 0px;
  }

  .tabvgap8 {
    --vgap: 8%;
  }

  .tabvgap6 {
    --vgap: 6%;
  }

  .tabvgap5 {
    --vgap: 5%;
  }

  .tabvgap4 {
    --vgap: 4%;
  }

  .tabvgap3 {
    --vgap: 3%;
  }

  .tabvgap2 {
    --vgap: 2%;
  }

  .tabvgap30px {
    --vgap: 30px;
  }

  .tabvgap20px {
    --vgap: 20px;
  }

  .tabvgap10px {
    --vgap: 10px;
  }

  .tabvgap0 {
    --vgap: 0px;
  }

  /* -- Tablet column -- */
  .tab1>.column_item:nth-child(n),
  .tab2>.column_item:nth-child(n),
  .tab3>.column_item:nth-child(n),
  .tab4>.column_item:nth-child(n),
  .tab5>.column_item:nth-child(n),
  .tab6>.column_item:nth-child(n),
  .tab7>.column_item:nth-child(n),
  .tab8>.column_item:nth-child(n) {
    margin-top: 0;
  }

  .tab1>.column_item {
    width: 100%;
  }

  .tab1>.column_item:nth-child(n+2) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab2>.column_item {
    width: calc((100% - var(--gap)) / 2);
  }

  .tab2>.column_item:nth-child(n+3) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab3>.column_item {
    width: calc((100% - 1px - var(--gap) * 2) / 3);
  }

  .tab3>.column_item:nth-child(n+4) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab4>.column_item {
    width: calc((100% - var(--gap) * 3) / 4);
  }

  .tab4>.column_item:nth-child(n+5) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab5>.column_item {
    width: calc((100% - 1px - var(--gap) * 4) / 5);
  }

  .tab5>.column_item:nth-child(n+6) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab6>.column_item {
    width: calc((100% - var(--gap) * 5) / 6);
  }

  .tab6>.column_item:nth-child(n+7) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab7>.column_item {
    width: calc((100% - 1px - var(--gap) * 6) / 7);
  }

  .tab7>.column_item:nth-child(n+8) {
    margin-top: var(--vgap, var(--gap));
  }

  .tab8>.column_item {
    width: calc((100% - var(--gap) * 7) / 8);
  }

  .tab8>.column_item:nth-child(n+9) {
    margin-top: var(--vgap, var(--gap));
  }
}

@media screen and (max-width: 768px) {
  .spgap8 {
    --gap: 8%;
  }

  .spgap6 {
    --gap: 6%;
  }

  .spgap5 {
    --gap: 5%;
  }

  .spgap4 {
    --gap: 4%;
  }

  .spgap3 {
    --gap: 3%;
  }

  .spgap2 {
    --gap: 2%;
  }

  .spgap30px {
    --gap: 30px;
  }

  .spgap20px {
    --gap: 20px;
  }

  .spgap10px {
    --gap: 10px;
  }

  .spgap0 {
    --gap: 0px;
  }

  .spvgap8 {
    --vgap: 8%;
  }

  .spvgap6 {
    --vgap: 6%;
  }

  .spvgap5 {
    --vgap: 5%;
  }

  .spvgap4 {
    --vgap: 4%;
  }

  .spvgap3 {
    --vgap: 3%;
  }

  .spvgap2 {
    --vgap: 2%;
  }

  .spvgap30px {
    --vgap: 30px;
  }

  .spvgap20px {
    --vgap: 20px;
  }

  .spvgap10px {
    --vgap: 10px;
  }

  .spvgap0 {
    --vgap: 0px;
  }

  /* -- SP column -- */
  .sp1>.column_item:nth-child(n),
  .sp2>.column_item:nth-child(n),
  .sp3>.column_item:nth-child(n),
  .sp4>.column_item:nth-child(n),
  .sp5>.column_item:nth-child(n),
  .sp6>.column_item:nth-child(n),
  .sp7>.column_item:nth-child(n),
  .sp8>.column_item:nth-child(n) {
    margin-top: 0;
  }

  .sp1>.column_item {
    width: 100%;
  }

  .sp1>.column_item:nth-child(n+2) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp2>.column_item {
    width: calc((100% - var(--gap)) / 2);
  }

  .sp2>.column_item:nth-child(n+3) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp3>.column_item {
    width: calc((100% - 1px - var(--gap) * 2) / 3);
  }

  .sp3>.column_item:nth-child(n+4) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp4>.column_item {
    width: calc((100% - var(--gap) * 3) / 4);
  }

  .sp4>.column_item:nth-child(n+5) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp5>.column_item {
    width: calc((100% - 1px - var(--gap) * 4) / 5);
  }

  .sp5>.column_item:nth-child(n+6) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp6>.column_item {
    width: calc((100% - var(--gap) * 5) / 6);
  }

  .sp6>.column_item:nth-child(n+7) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp7>.column_item {
    width: calc((100% - 1px - var(--gap) * 6) / 7);
  }

  .sp7>.column_item:nth-child(n+8) {
    margin-top: var(--vgap, var(--gap));
  }

  .sp8>.column_item {
    width: calc((100% - var(--gap) * 7) / 8);
  }

  .sp8>.column_item:nth-child(n+9) {
    margin-top: var(--vgap, var(--gap));
  }
}

/* ----------------------
ボタン
---------------------- */
.linkBtn,
.post .linkBtn {
  display: block;
  position: static;
  background: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  transition: none;
}

.linkBtn::after,
.post .linkBtn::after {
  content: none;
}

.linkBtn:hover,
.post .linkBtn:hover {
  background: none;
}

*+.linkBtn,
.post *+.linkBtn {
  margin-top: 55px;
}

.linkBtn a,
.post .linkBtn a {
  display: block;
  background-color: var(--color-secondary);
  border-radius: 8px;
  max-width: 100%;
  width: min(540px, 100%);
  margin: 0 auto;
  padding: 19px 30px 17px;
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 28px;
  text-align: center;
  line-height: 1.4;
  text-decoration: none !important;
  box-shadow: 0 7px 0 rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s, box-shadow 0.3s;
}

.linkBtn a .deco {
  display: flex;
  justify-content: center;
  position: relative;
  margin: 0 0 2px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: normal;
  gap: 2px;
}

.linkBtn a .deco span,
.post .linkBtn a .deco span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary);
  margin: 0;
  padding: 3px 2px 4px;
  width: 26px;
  line-height: 1;
}

.linkBtn a .deco::before,
.linkBtn a .deco::after,
.post .linkBtn a .deco::before,
.post .linkBtn a .deco::after {
  content: "/";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-primary);
  width: 17px;
}

.linkBtn a .deco::before,
.post .linkBtn a .deco::before {
  transform: scale(-1, 1);
}

.linkBtn a .txt,
.post .linkBtn a .txt {
  display: flex;
  align-items: center;
  justify-content: center;
}

.linkBtn a .txt::before,
.post .linkBtn a .txt::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin-right: 10px;
}

.linkBtn a .sub,
.post .linkBtn a .sub {
  display: block;
  margin-top: 6px;
  margin-bottom: 3px;
  font-size: 16px;
}

.post .linkBtn a .mail_icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.post .linkBtn a .mail_icon::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 400;
  margin-right: 10px;
}

.post .linkBtn a .dl_icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.post .linkBtn a .dl_icon::before {
  content: none;
}

.post .linkBtn a .dl_icon::after {
  font-family: "Font Awesome 5 Free";
  content: "\f019";
  font-weight: 700;
  margin-left: 5px;
}

.linkBtn a:hover,
.post .linkBtn a:hover {
  color: #fff;
  transform: translateY(7px);
  box-shadow: none;
}

.linkBtn_m a,
.post .linkBtn_m a {
  width: min(370px, 100%);
  padding: 24px 30px;
  font-size: 16px;
}

.linkBtn_s a,
.post .linkBtn_s a {
  width: min(300px, 100%);
  padding: 15px 30px;
  font-size: 15px;
}

.post .btn_box {
  display: flex;
  margin-top: 30px;
  gap: 20px;
}

.post .btn_box>.linkBtn {
  width: 100%;
  margin: 0 !important;
}

@media screen and (max-width: 768px) {

  *+.linkBtn,
  .post *+.linkBtn {
    margin-top: min(calc(55px + (1vw - 19.2px) * 1.9417), 55px);
    /* -- 1920 55px 375 25px -- */
  }

  .linkBtn a,
  .post .linkBtn a {
    padding: 17px 30px 12px;
    font-size: min(calc(28px + (1vw - 19.2px) * 0.6472), 28px);
    /* -- 1920 28px 375 18px -- */
  }

  .linkBtn a .deco {
    display: flex;
    justify-content: center;
    position: relative;
    margin: 0 0 2px;
    font-weight: 700;
    font-size: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
    /* -- 1920 16px 375 14px -- */
    letter-spacing: normal;
    gap: 2px;
  }

  .linkBtn a .deco span,
  .post .linkBtn a .deco span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    margin: 0;
    padding: 3px 2px 4px;
    width: 26px;
    line-height: 1;
  }

  .linkBtn a .deco::before,
  .linkBtn a .deco::after,
  .post .linkBtn a .deco::before,
  .post .linkBtn a .deco::after {
    content: "/";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    width: 17px;
  }

  .linkBtn a .deco::before,
  .post .linkBtn a .deco::before {
    transform: scale(-1, 1);
  }

  .linkBtn a .sub,
  .post .linkBtn a .sub {
    margin-top: 4px;
    margin-bottom: 10px;
    font-size: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
    /* -- 1920 16px 375 14px -- */
  }

  .linkBtn_m a,
  .post .linkBtn_m a {
    padding: 22px 25px;
    font-size: 15px;
  }

  .linkBtn_s a,
  .post .linkBtn_s a {
    padding: 14px 20px;
    font-size: 14px;
  }

  .post .btn_box {
    flex-direction: column;
    gap: 20px;
  }

  .post .btn_box>.linkBtn {
    width: 100%;
    margin: 0 !important;
  }
}

/* -- moreBtn -- */
.post .moreBtn {
  margin: 0;
  padding: 0;
}

.post .moreBtn a {
  display: flex;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0 auto;
  padding: 0;
  color: var(--color-font);
  font-weight: 700;
  font-size: min(calc(16px + (1vw - 19.2px) * 0.0647), 16px);
  /* -- 1920 16px 375 15px -- */
  text-decoration: none !important;
  line-height: 1.5;
}

.post .moreBtn a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f138";
  margin-top: 0.2em;
  margin-right: 6px;
  color: var(--color-secondary);
  font-size: 0.875em;
  transition: transform 0.3s;
}

.post .moreBtn a:hover::before {
  transform: translateX(3px);
}

/* ----------------------
見出し
---------------------- */
/* -- h1 -- */
/* -- 通常 カテゴリー -- */
.post h1 {
  padding: 0;
}

.post h1 span {
  padding: 0;
}

.post h1:not([class]),
.post .title_1 {
  background: none;
  border: none;
  margin: 0 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
  /* -- 1920 45px 375 25px -- */
  color: var(--color-primary);
  font-weight: 900;
  font-size: min(calc(30px + (1vw - 19.2px) * 0.5178), 30px);
  /* -- 1920 30px 375 22px -- */
  text-align: center;
  text-shadow: none;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.post h1:not([class]) .ja,
.post .title_1 .ja {
  display: block;
}

.post h1:not([class]) .en,
.post .title_1 .en {
  display: block;
  mask-type: 0.3em;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: min(calc(16px + (1vw - 19.2px) * 0.1942), 16px);
  /* -- 1920 16px 375 13px -- */
  letter-spacing: 0.05em;
}

/* -- lean_ttl -- */
.post .lean_ttl {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 50px;
  padding: 0 98px 0 0;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 35px;
  text-align: left;
  line-height: 1.5;
  letter-spacing: normal;
  transform: none;
  gap: 0 6px;
}

.post .lean_ttl::before,
.post .lean_ttl::after {
  content: none;
}

.post .lean_ttl .ico {
  flex-shrink: 0;
  width: 95px;
}

.post .lean_ttl .txt_wrap {
  margin-top: 8px;
}

.post .lean_ttl .sub {
  display: block;
  font-size: 22px;
  line-height: 1.6;
  transform: rotate(-2deg);
  transform-origin: left bottom;
}

.post .lean_ttl .txt {
  display: block;
  margin-top: -4px;
}

@media screen and (max-width: 768px) {
  .post .lean_ttl {
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto min(calc(50px + (1vw - 19.2px) * 1.6181), 50px);
    /* -- 1920 50px 375 25px -- */
    padding: 0;
    font-size: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
    line-height: 1.55;
    gap: 0 10px;
  }

  .post .lean_ttl .ico {
    width: 42px;
  }

  .post .lean_ttl .txt_wrap {
    display: contents;
  }

  .post .lean_ttl .sub {
    display: block;
    font-size: min(calc(22px + (1vw - 19.2px) * 0.4531), 22px);
    /* -- 1920 22px 375 15px -- */
    line-height: 1.6;
    transform: rotate(0);
    transform-origin: left bottom;
  }

  .post .lean_ttl .txt {
    width: 100%;
    margin-top: 0.1em;
    text-align: center;
  }
}

/* -- 投稿・サーチ・404 -- */
h1.title {
  background: none;
  margin: 0 0 64px;
  padding: 0;
  font-size: 40px;
  line-height: 1.2;
}

.single h1.title,
.error404 h1.title,
.category h1.title,
.archive h1.title {
  margin: 0 0 40px;
  font-size: 24px;
  text-align: left;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  h1.title {
    margin: 0 0 min(calc(64px + (1vw - 19.2px) * 2.8479), 64px);
    /* -- 1920 64px 375 20px -- */
    font-size: min(calc(40px + (1vw - 19.2px) * 1.0356), 40px);
    /* -- 1920 40px 375 24px -- */
  }

  .single h1.title,
  .error404 h1.title,
  .category h1.title,
  .archive h1.title {
    margin: 0 0 min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);
    /* -- 1920 40px 375 20px -- */
    font-size: min(calc(24px + (1vw - 19.2px) * 0.5178), 24px);
    /* -- 1920 24px 375 16px -- */
    line-height: 1.7;
  }
}

/* -- アイキャッチ内 -- */
header h1.title,
header#h1Header h1.title {
  background: none;
  margin: 0;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 35px;
  text-align: center;
  text-shadow: none;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-shadow: none;
}

header h1.title b,
header#h1Header h1.title b {
  display: block;
  font-size: 20px;
  letter-spacing: normal;
}

@media screen and (max-width: 768px) {

  header h1.title,
  header#h1Header h1.title {
    font-size: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
  }

  header h1.title b,
  header#h1Header h1.title b {
    margin-top: 2px;
    font-size: min(calc(20px + (1vw - 19.2px) * 0.3236), 20px);
    /* -- 1920 20px 375 15px -- */
  }
}

/* -- h2 -- */
.post h2::before,
.post h2::after {
  content: none;
  visibility: visible;
}

.post h2 {
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
}

.post h2 span {
  margin: 0;
  padding: 0;
}

.post h2:not([class]),
.post .title_2 {
  display: flex;
  align-items: center;
  position: relative;
  background: none;
  background-color: var(--color-primary);
  border: none;
  min-height: 90px;
  margin: 0 auto 40px;
  padding: 0.55em 1em 0.65em;
  color: #fff;
  font-weight: 700;
  font-size: 19px;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.post h2:not([class])::before,
.post .title_2::before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  right: auto;
  background-color: var(--color-secondary);
  width: 4px;
  height: auto;
  transform: none;
}

@media screen and (max-width: 768px) {

  .post h2:not([class]),
  .post .title_2 {
    min-height: 70px;
    margin: 0 auto min(calc(40px + (1vw - 19.2px) * 0.9709), 40px);
    /* -- 1920 40px 375 25px -- */
    font-size: min(calc(19px + (1vw - 19.2px) * 0.0647), 19px);
    /* -- 1920 19px 375 18px -- */
  }

  .post h2:not([class])::before,
  .post .title_2::before {
    top: 10px;
    bottom: 10px;
  }
}

/* -- h3 -- */
.post h3::before,
.post h3::after {
  content: none;
}

.post h3,
.post h3 span {
  padding: 0;
}

.post h3:not([class]),
.post .title_3 {
  display: flex;
  align-items: center;
  position: relative;
  background: none;
  background-color: var(--color-primary-tint);
  border: none;
  min-height: 70px;
  margin: 0 auto 20px;
  padding: 0.5em 20px;
  color: var(--color-primary);
  font-weight: 900;
  font-size: 17px;
  text-align: left;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.post h3:not([class])::before,
.post .title_3::before {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  bottom: 20px;
  left: 0;
  background-color: var(--color-primary);
  width: 3px;
  height: auto;
  transform: none;
}

.post .em_ttl {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: none;
  border: none;
  min-height: 0;
  margin: 0 0 32px;
  padding: 0;
  color: var(--color-secondary);
  font-weight: 900;
  font-size: 23px;
  text-align: center;
  line-height: 1.5217;
  transform: none;
  gap: 5px;
}

.post .em_ttl::before,
.post .em_ttl::after {
  content: "";
  display: block;
  position: static;
  background: none;
  background-image: url(/wp-content/uploads/slash_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  width: 28px;
  height: 42px;
  transform: none;
}

.post .em_ttl::after {
  transform: scale(-1, 1);
}

@media screen and (max-width: 768px) {

  .post h3:not([class]),
  .post .title_3 {
    min-height: 56px;
    margin: 0 auto 18px;
    padding: 0.5em 18px;
    font-size: min(calc(17px + (1vw - 19.2px) * 0.0647), 17px);
    /* -- 1920 17px 375 16px -- */
    line-height: 1.65;
  }

  .post h3:not([class])::before,
  .post .title_3::before {
    top: 15px;
    bottom: 15px;
  }

  .post .em_ttl {
    margin: 0 0 min(calc(32px + (1vw - 19.2px) * 1.1003), 32px);
    /* -- 1920 32px 375 15px -- */
    padding: 0;
    font-size: min(calc(23px + (1vw - 19.2px) * 0.4531), 23px);
    /* -- 1920 23px 375 16px -- */
  }

  .post .em_ttl::before,
  .post .em_ttl::after {
    width: 22.4px;
    height: 33.6px;
  }
}

/* -- h4 -- */
.post h4::before {
  content: none;
}

.post h4:not([class]),
.post .title_4 {
  background: none;
  border: none;
  border-bottom: 1px solid #D9D9D9;
  margin: 0 0 min(calc(18px + (1vw - 19.2px) * 0.3883), 18px);
  /* -- 1920 18px 375 12px -- */
  padding: 0 0 0.75em 1em;
  color: var(--color-primary);
  font-weight: 700;
  font-size: min(calc(16px + (1vw - 19.2px) * 0.0647), 16px);
  /* -- 1920 16px 375 15px -- */
  line-height: 1.65;
}

.post h4::before,
.post .title_4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.25em;
  bottom: 0.75em;
  left: 0;
  right: auto;
  background: none;
  background-color: var(--color-primary);
  border: none;
  width: 3px;
  height: 1.25em;
  transform: none;
}

/* -- h5 h6 -- */
.post h5:not([class]) {
  border-bottom: 1px solid #B3B3B3;
  margin: 0 0 min(calc(1.6rem + (1vw - 19.2px) * 0.3883), 1.6rem);
  /* -- 1920 1.6rem 375 1rem -- */
  padding: 0 0 0.15em 0.5em;
  font-weight: 400;
  font-size: min(calc(2rem + (1vw - 19.2px) * 0.2589), 2rem);
  /* -- 1920 2rem 375 1.6rem -- */
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.post h6:not([class]) {
  margin: 0 0 min(calc(1.6rem + (1vw - 19.2px) * 0.3883), 1.6rem);
  /* -- 1920 1.6rem 375 1rem -- */
  font-size: min(calc(1.8rem + (1vw - 19.2px) * 0.1942), 1.8rem);
  /* -- 1920 1.8rem 375 1.5rem -- */
  line-height: 1.6;
}

/* -- underline_ttl -- */
.post .underline_ttl {
  display: block;
  position: relative;
  background: none;
  border: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 35px;
  padding: 0 0 1em;
  color: var(--color-primary);
  font-weight: 900;
  font-size: 27px;
  text-align: center;
  line-height: 1.6296;
  letter-spacing: 0.05em;
}

.post .underline_ttl::before {
  content: none;
}

.post .underline_ttl::after {
  content: "";
  display: block;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 50%;
  right: auto;
  background-color: var(--color-secondary);
  width: 100px;
  height: 3px;
  transform: translateX(-50%);
}

.line_box .underline_ttl {
  background-color: #fff;
  padding-left: 85px;
  padding-right: 85px;
}

@media screen and (max-width: 768px) {
  .post .underline_ttl {
    margin: 0 auto min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
    padding: 0 0 0.75em;
    font-size: min(calc(27px + (1vw - 19.2px) * 0.6472), 27px);
    /* -- 1920 27px 375 17px -- */
    line-height: 1.65;
  }

  .post .underline_ttl::after {
    width: 80px;
  }

  .line_box .underline_ttl {
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* ----------------------
アニメーション
---------------------- */
@media screen and (max-width: 768px) {
  .animated {
    -webkit-animation-delay: 0s !important;
    animation-delay: 0s !important;
  }
}

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -15px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -15px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* ----------------------
共通
---------------------- */
/* -- home_box -- */
.home_box {
  display: flex;
  flex-direction: column;
  --color-content: var(--color-secondary);
  height: 100%;
}

.home_box_bl {
  --color-content: var(--color-primary);
}

.home_box_head {
  display: flex;
  justify-content: space-between;
  background-color: var(--color-content);
  min-height: 90px;
  margin: 0;
}

.home_box_head::before,
.home_box_head::after {
  content: "";
  display: block;
  width: 45px;
  height: auto;
  background: linear-gradient(to bottom right, var(--color-primary-tint) 50%, var(--color-content) 50%);
}

.home_box_head::after {
  background: linear-gradient(to bottom left, var(--color-primary-tint) 50%, var(--color-content) 50%);
}

.post .home_box_head .home_box_ttl {
  align-self: center;
  background: none;
  border: none;
  margin: 0;
  padding: calc(0.5em + 2px) 0 0.4em;
  font-weight: 900;
  font-size: 24px;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}

.post .home_box_head .home_box_ttl::before,
.post .home_box_head .home_box_ttl::after {
  content: none;
}

.post .home_box_head .home_box_ttl .sub {
  display: block;
  font-size: 14px;
}

.post .home_box_head .home_box_ttl .txt {
  display: block;
}

.home_box_body {
  flex-grow: 1;
  background-color: #fff;
  border: 2px solid var(--color-content);
  padding: 25px 25px 35px;
}

.home_box_l .home_box_body {
  padding: 50px 25px 65px;
}

.home_box_body_layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 27px;
}

.home_box_body_ttl {
  flex-shrink: 0;
  margin-bottom: 10px;
  font-weight: 700;
  font-size: 27px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: normal;
}

.home_box_body_price {
  max-width: 280px;
  margin: 0 auto 20px;
}

.home_box_body_price:last-child {
  margin-bottom: 0;
}

.home_box_body_txt {
  font-size: 15px;
}

.post .home_box_body_txt p+p {
  margin-top: 0.5em;
}

.home_box_body_txt_l {
  font-size: 17px;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .home_box_head {
    min-height: 78px;
  }

  .home_box_head::before,
  .home_box_head::after {
    width: 30px;
  }

  .post .home_box_head .home_box_ttl {
    font-size: min(calc(24px + (1vw - 19.2px) * 0.2589), 24px);
    /* -- 1920 24px 375 20px -- */
  }

  .post .home_box_head .home_box_ttl .sub {
    margin-bottom: 0.1em;
    font-size: min(calc(14px + (1vw - 19.2px) * 0.0647), 14px);
    /* -- 1920 14px 375 13px -- */
  }

  .home_box_body {
    padding: 20px 15px 25px;
  }

  .home_box_l .home_box_body {
    padding: 20px 15px 25px;
  }

  .home_box_body_layout {
    flex-direction: column;
    gap: 15px;
  }

  .home_box_body_ttl {
    margin-bottom: 18px;
    font-size: min(calc(27px + (1vw - 19.2px) * 0.3236), 27px);
    /* -- 1920 27px 375 22px -- */
  }

  .home_box_body_price {
    width: 70%;
    margin: 0 auto 15px;
  }

  .home_box_body_price:last-child {
    margin-bottom: 0;
  }

  .home_box_body_txt {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
  }

  .post .home_box_body_txt p+p {
    margin-top: 0.5em;
  }

  .home_box_body_txt_l {
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1294), 17px);
    /* -- 1920 17px 375 15px -- */
  }
}

/* -- line_box -- */
.line_box_wrap {
  padding-top: 37px;
}

.line_box_wrap+.line_box_wrap {
  margin-top: min(calc(65px + (1vw - 19.2px) * 2.589), 65px);
  /* -- 1920 65px 375 25px -- */
}

.line_box {
  border: 3px solid #fff;
  padding: 65px;
}

.line_box_bl {
  border: 3px solid var(--color-primary-tint);
  border-radius: 10px;
}

.post .line_box .line_box_head_ttl {
  background-color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: -65px auto 25px;
  padding: 0 70px;
  font-weight: 900;
  font-size: min(calc(35px + (1vw - 19.2px) * 0.8414), 35px);
  /* -- 1920 35px 375 22px -- */
  text-align: center;
}

.toppage .line_box .line_box_head_ttl {
  background-color: var(--color-primary-tint);
}

.post .line_box .line_box_head_ttl_bl {
  color: var(--color-primary);
}

.line_box_head_txt {
  background-color: var(--color-primary-tint);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: -105px auto 40px;
  padding: 0 70px;
  font-size: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
  /* -- 1920 16px 375 14px -- */
  text-align: center;
  line-height: 2;
}

.line_box_head_ttl .fukidashi {
  display: block;
  position: relative;
  background-color: var(--color-secondary);
  border-radius: 500px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(300px, 100%);
  margin: 0 auto 20px;
  padding: 0.25em 1em 0.58em;
  color: #fff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
}

.line_box_head_ttl .fukidashi .big {
  display: inline-block;
  font-size: 25px;
  transform: translateY(1px);
}

.line_box_head_ttl .fukidashi::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: auto;
  bottom: -14px;
  border-style: solid;
  border-width: 15px 7.5px 0 7.5px;
  border-color: var(--color-secondary) transparent transparent transparent;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  z-index: 10;
}

.line_box_txt b {
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .line_box_wrap {
    padding-top: 27px;
  }

  .line_box {
    padding: min(calc(65px + (1vw - 19.2px) * 2.589), 65px) min(calc(65px + (1vw - 19.2px) * 3.4304), 65px) min(calc(65px + (1vw - 19.2px) * 2.2654), 65px);
    /* -- 1920 65px 375 25px -- */
    /* -- 1920 65px 375 12px -- */
    /* -- 1920 65px 375 30px -- */
  }

  .post .line_box .line_box_head_ttl {
    margin: -30px auto 25px;
    padding: 0 15px;
    font-size: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
  }

  .line_box_head_txt {
    margin: -60px auto 25px;
    padding: 0 15px;
    font-size: min(calc(16px + (1vw - 19.2px) * 0.1294), 16px);
    /* -- 1920 16px 375 14px -- */
    line-height: 1.9;
  }

  .line_box_head_ttl .fukidashi {
    min-width: min(260px, 100%);
    padding: 0.1em 1em 0.35em;
    font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
    /* -- 1920 18px 375 15px -- */
    line-height: 1.5;
  }

  .line_box_head_ttl .fukidashi .big {
    font-size: min(calc(25px + (1vw - 19.2px) * 0.3236), 25px);
    /* -- 1920 25px 375 20px -- */
  }

  .line_box_txt b {
    font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
    /* -- 1920 18px 375 15px -- */
  }
}

/* -- blue_line_box -- */
.blue_line_box {
  font-size: 16px;
}

.blue_line_head {
  position: relative;
  background-color: var(--color-primary);
  border-radius: 500px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto -1.25em;
  padding: 0.5em 1em;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  z-index: 2;
}

.post .blue_line_head h2,
.post .blue_line_head h3 {
  display: block;
  background: none;
  border: none;
  border-radius: 0;
  width: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  text-align: inherit;
  line-height: inherit;
}

.blue_line_head h2::before,
.blue_line_head h2::after,
.blue_line_head h3::before,
.blue_line_head h3::after {
  content: none !important;
}

.blue_line_box_l {
  padding-top: calc(1.8181em - 2px);
  font-size: 22px;
}

.blue_line_box_l+.blue_line_box_l {
  margin-top: 25px;
}

.blue_line_head_l {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 80px;
  margin: calc(-1.8181em - 32px) auto 23px;
  padding: 0.82em 1.5em;
  font-weight: 900;
  font-size: 22px;
  line-height: 1.4545;
}

.blue_line_head_l::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -14px;
  border-style: solid;
  border-width: 15px 7.5px 0 7.5px;
  border-color: var(--color-primary) transparent transparent transparent;
  width: 0;
  height: 0;
  transform: translateX(-50%);
}

.post .blue_line_head_l h2,
.post .blue_line_head_l h3 {
  background: none;
  border: none;
  min-height: 0;
  margin: 0;
  padding: 0;
  font-weight: inherit !important;
  font-size: inherit !important;
  text-align: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.post .blue_line_head_l h2::before,
.post .blue_line_head_l h2::after {
  content: none;
}

.blue_line_body {
  position: relative;
  background-color: #fff;
  border: 3px solid var(--color-primary);
  border-radius: 6px;
  padding: 32px 35px 25px;
  font-size: 15px;
}

@media screen and (max-width: 768px) {
  .blue_line_box {
    font-size: min(calc(16px + (1vw - 19.2px) * 0.0647), 16px);
    /* -- 1920 16px 375 15px -- */
  }

  .blue_line_head {
    font-size: min(calc(16px + (1vw - 19.2px) * 0.0647), 16px);
    /* -- 1920 16px 375 15px -- */
  }

  .blue_line_box_l {
    font-size: min(calc(22px + (1vw - 19.2px) * 0.3883), 22px);
    /* -- 1920 22px 375 16px -- */
  }

  .blue_line_head_l {
    min-height: 0;
    font-size: min(calc(22px + (1vw - 19.2px) * 0.4531), 22px);
    /* -- 1920 22px 375 15px -- */
  }

  .post .blue_line_head_l h2 {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    font-weight: inherit !important;
    font-size: inherit !important;
    line-height: inherit;
  }

  .blue_line_body {
    padding: 25px 12px 20px;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
  }

  .blue_line_body .txt {
    line-height: 1.8;
  }
}

/* -- blue_box -- */
.blue_box {
  background-color: var(--color-primary-tint);
  padding: min(calc(32px + (1vw - 19.2px) * 0.7767), 32px) min(calc(40px + (1vw - 19.2px) * 1.6181), 40px) min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
  /* -- 1920 32px 375 20px -- */
  /* -- 1920 40px 375 15px -- */
  /* -- 1920 35px 375 20px -- */
}

.post .blue_box_ttl {
  background: none;
  border: none;
  margin: 0 0 10px;
  padding: 0;
  color: var(--color-primary);
  font-family: "Lato", var(--font-family);
  font-weight: 900;
  font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
  /* -- 1920 18px 375 15px -- */
  letter-spacing: 0.05em;
}

.post .blue_box_ttl::before,
.post .blue_box_ttl::after {
  content: none;
}

.blue_box_txt {
  font-size: min(calc(14px + (1vw - 19.2px) * 0.0647), 14px);
  /* -- 1920 14px 375 13px -- */
}

/* -- white_box -- */
.white_box {
  background-color: #fff;
  padding: 65px;
}

.white_box+.white_box {
  margin-top: 70px;
}

.post .fukidashi_ttl {
  background: none;
  background-color: var(--color-secondary);
  border-radius: 500px;
  margin: 0;
  padding: 0;
  color: #fff;
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  letter-spacing: normal;
  transform: none;
}

.post .fukidashi_ttl_l {
  position: relative;
  max-width: 540px;
  margin: 0 auto;
  padding: 0.62em 105px 0.67em;
  font-size: 22px;
  line-height: 1.45;
}

.post .fukidashi_ttl_l::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: auto;
  bottom: -14px;
  border-style: solid;
  border-width: 15px 7.5px 0 7.5px;
  border-color: var(--color-secondary) transparent transparent transparent;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  z-index: 10;
}

.post .fukidashi_ttl_l .deco {
  display: block;
  position: absolute;
  bottom: 9px;
  right: 12px;
  width: 85px;
}

@media screen and (max-width: 768px) {
  .white_box {
    padding: min(calc(65px + (1vw - 19.2px) * 3.2362), 65px) min(calc(65px + (1vw - 19.2px) * 3.2362), 65px);
    /* -- 1920 65px 375 15px -- */
  }

  .white_box+.white_box {
    margin-top: 50px;
  }

  .post .fukidashi_ttl {
    font-size: min(calc(22px + (1vw - 19.2px) * 0.3236), 22px);
    /* -- 1920 22px 375 17px -- */
  }

  .post .fukidashi_ttl_l {
    padding: 0.5em 30px 0.55em;
    font-size: min(calc(22px + (1vw - 19.2px) * 0.3883), 22px);
    /* -- 1920 22px 375 16px -- */
    line-height: 1.55;
  }

  .post .fukidashi_ttl_l::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: auto;
    bottom: -14px;
    border-style: solid;
    border-width: 15px 7.5px 0 7.5px;
    border-color: var(--color-secondary) transparent transparent transparent;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    z-index: 10;
  }

  .post .fukidashi_ttl_l .deco {
    bottom: 0;
    right: -25px;
    width: 46.75px;
  }
}

/* -- triangle_box -- */
.triangle_box {
  position: relative;
  height: 100%;
  padding: 18px 30px 70px;
}

.triangle_box::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 415px 160px 415px;
  border-color: transparent transparent #fff transparent;
  z-index: -1;
}

.triangle_box::after {
  content: "";
  display: block;
  position: absolute;
  top: 160px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: -1;
}

.triangle_box .triangle_box_ttl {
  background: none;
  border: none;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 28px;
  text-align: center;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.triangle_box .triangle_box_ttl::before,
.triangle_box .triangle_box_ttl::after {
  content: none;
}

.triangle_box .triangle_box_ttl .txt {
  display: block;
  margin-bottom: 20px;
}

.triangle_box .triangle_box_ttl .bg {
  display: block;
  background-color: var(--color-primary);
  border-radius: 500px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(540px, 90%);
  margin: 0 auto;
  padding: 0.06em 1em 0.3em;
  color: #fff;
  font-size: 18px;
}

.triangle_box .triangle_box_ttl .bg b {
  font-size: 30px;
}

.middle_txt {
  font-weight: 700;
  font-size: 19px;
  text-align: center;
}

.triangle_box_low {
  padding: 50px 30px 35px;
}

.triangle_box_low::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 212.5px 20px 212.5px;
  border-color: transparent transparent #fff transparent;
  z-index: -1;
}

.triangle_box_low_long::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 432px 20px 432px;
  border-color: transparent transparent #fff transparent;
  z-index: -1;
}

.triangle_box_low::after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: -1;
}

.triangle_box_low_num {
  position: absolute;
  top: -9px;
  right: 30px;
  width: 52px;
}

.post .triangle_box .triangle_box_low_ttl {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  margin: 0 0 min(calc(20px + (1vw - 19.2px) * 0.3236), 20px);
  /* -- 1920 20px 375 15px -- */
  padding: 0;
  font-weight: 700;
  font-size: min(calc(22px + (1vw - 19.2px) * 0.3236), 22px);
  /* -- 1920 22px 375 17px -- */
  text-align: left;
  line-height: 1.4545;
  letter-spacing: normal;
  gap: 20px;
}

.post .triangle_box_low_ttl .icon {
  flex-shrink: 0;
}

.post .triangle_box_low_ttl .icon_1 {
  width: 55px;
}

.post .triangle_box_low_ttl .icon_2 {
  width: 60px;
}

.post .triangle_box_low_ttl .icon_3 {
  width: 59px;
}

.post .triangle_box_low_ttl .icon_4 {
  width: 55px;
}

.post .triangle_box_low_ttl .icon_5 {
  width: 55px;
}

.triangle_box_low_txt {
  font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
  /* -- 1920 15px 375 14px -- */
}

@media screen and (max-width: 768px) {
  .triangle_box {
    padding: 80px 15px min(calc(70px + (1vw - 19.2px) * 2.589), 70px);
    /* -- 1920 70px 375 30px -- */
  }

  .triangle_box::before {
    width: 100%;
    height: 50px;
    background: linear-gradient(to bottom right, transparent 50%, #fff 50%) no-repeat top left/50% 100%, linear-gradient(to bottom left, transparent 50%, #fff 50%) no-repeat bottom right/50% 100%;
    border: none;
  }

  .triangle_box::after {
    top: 50px;
  }

  .triangle_box .triangle_box_ttl {
    font-size: min(calc(28px + (1vw - 19.2px) * 0.5178), 28px);
    /* -- 1920 28px 375 20px -- */
  }

  .triangle_box .triangle_box_ttl .txt {
    display: block;
    margin-bottom: 20px;
  }

  .triangle_box .triangle_box_ttl .bg {
    min-width: min(540px, 100%);
    padding: 0.05em 1.25em 0.35em;
    font-size: min(calc(18px + (1vw - 19.2px) * 0.1942), 18px);
    /* -- 1920 18px 375 15px -- */
    letter-spacing: 0.02em;
  }

  .triangle_box .triangle_box_ttl .bg b {
    font-size: min(calc(30px + (1vw - 19.2px) * 0.3236), 30px);
    /* -- 1920 30px 375 25px -- */
  }

  .middle_txt {
    font-size: min(calc(19px + (1vw - 19.2px) * 0.1294), 19px);
    /* -- 1920 19px 375 17px -- */
  }

  .triangle_box_low {
    padding: 45px 20px 20px;
  }

  .triangle_box_low::before {
    width: 100%;
    height: 30px;
    background: linear-gradient(to bottom right, transparent 50%, #fff 50%) no-repeat top left/50% 100%, linear-gradient(to bottom left, transparent 50%, #fff 50%) no-repeat bottom right/50% 100%;
    border: none;
  }

  .triangle_box_low::after {
    top: 30px;
  }

  .triangle_box_low_num {
    top: 0;
    right: 25px;
    width: 41.6px;
  }

  .post .triangle_box .triangle_box_low_ttl {
    margin: 0 0 min(calc(20px + (1vw - 19.2px) * 0.3236), 20px);
    /* -- 1920 20px 375 15px -- */
    font-size: min(calc(22px + (1vw - 19.2px) * 0.3236), 22px);
    /* -- 1920 22px 375 17px -- */
    line-height: 1.55;
    gap: 15px;
  }

  .post .triangle_box_low_ttl .icon {
    flex-shrink: 0;
  }

  .post .triangle_box_low_ttl .icon_1 {
    width: 33px;
  }

  .post .triangle_box_low_ttl .icon_2 {
    width: 36px;
  }

  .post .triangle_box_low_ttl .icon_3 {
    width: 35.4px;
  }

  .post .triangle_box_low_ttl .icon_4 {
    width: 33px;
  }

  .post .triangle_box_low_ttl .icon_5 {
    width: 33px;
  }

  .triangle_box_low_txt {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
    line-height: 1.8;
  }
}

/* -- gray_box -- */
.gray_box {
  background-color: var(--color-sub-tint);
  padding: 30px;
}

@media screen and (max-width: 768px) {
  .gray_box {
    padding: min(calc(30px + (1vw - 19.2px) * 0.9709), 30px) min(calc(30px + (1vw - 19.2px) * 1.165), 30px);
    /* -- 1920 30px 375 15px -- */
    /* -- 1920 30px 375 12px -- */
  }
}

/* ----------------------
メインビジュアル
---------------------- */
.main {
  background-color: var(--color-primary-tint);
  background-image: url(/wp-content/uploads/image-ill-building.png);
  background-repeat: repeat-x;
  background-position: center;
}

.main_inner {
  padding: 55px 0 125px;
}

.main_content {
  max-width: 1060px;
  width: 88%;
  margin: 0 auto;
}

.main_txt {
  margin: 0 0 35px;
}

.main_txt p {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 21px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

.main_txt_logo {
  display: block;
  max-width: 220px;
  margin-right: 19px;
  margin-bottom: 0.25em;
  text-align: center;
}

.main_txt .txt {
  display: block;
}

.main_lead {
  background-color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 800px;
  margin: 0 auto 35px;
  padding: 0.55em 1em;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 23px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: normal;
}

.main_imgs {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 80px;
}

.post .main_img_place {
  flex-shrink: 0;
  width: 90px;
  margin: 16px 24px 0 0;
}

.post .main_img_plan {
  flex-shrink: 0;
  width: 250px;
  margin: 19px 9px 0 0;
}

.post .main_img_price {
  flex-shrink: 0;
  width: 532px;
  margin: 0;
}

.post .main_check_list {
  --gap: 20px;
  justify-content: center;
}

.post .main_check_list li {
  margin: 0;
  padding: 0;
}

.main_check_list_item {
  display: block;
  position: relative;
  background-color: #fff;
  border: 2px solid var(--color-primary);
  border-radius: 5px;
  width: 250px;
  height: 100%;
  min-height: 100px;
  text-decoration: none !important;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
}

.main_check_list_check {
  position: absolute;
  top: -16px;
  left: 12px;
  width: 68px;
  margin: 0;
  padding: 0;
  line-height: 1;
  z-index: 1;
}

.main_check_list_check::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -4px;
  background-color: #fff;
  width: 75px;
  height: 4px;
  z-index: -1;
}

.main_check_list_content {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 100%;
  padding: 1em calc(0.5em + 10px) 1em 0.5em;
  overflow: hidden;
}

.main_check_list_content::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -26px;
  right: -30px;
  background-color: var(--color-primary);
  border-radius: 100%;
  width: 60px;
  height: 60px;
}

.main_check_list_content::after {
  position: absolute;
  right: 5px;
  bottom: 5px;
  font-family: "Font Awesome 5 Free";
  content: "\f063";
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  line-height: 1;
}

.main_check_list_ico {
  flex-shrink: 0;
  margin: 0;
}

.main_check_list_ico_1 {
  width: 35px;
  margin-right: 12px;
}

.main_check_list_ico_2 {
  width: 46px;
  margin-right: 12px;
}

.main_check_list_ico_3 {
  width: 55px;
  margin-right: 8px;
}

.main_check_list_ico_4 {
  width: 52px;
  margin-right: 11px;
}

.main_check_list_txt {
  color: var(--color-primary);
  font-weight: 700;
  font-size: 15px;
  text-align: left;
  line-height: 1.4666;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 768px) {
  .main_inner {
    padding: 50px 0 90px;
  }

  .main_content {
    width: 92%;
  }

  .main_txt {
    margin: 0 0 4vw;
  }

  .main_txt p {
    font-weight: 700;
    font-size: 2.9333333333vw;
    text-align: left;
    line-height: 1.4285;
  }

  .main_txt_logo {
    max-width: 35.7333333333vw;
    margin-right: 2.9333333333vw;
  }

  .main_lead {
    background-color: #fff;
    min-width: 0;
    margin: 0 auto 7.2vw;
    padding: 0.75em 1.7em;
    font-size: 2.6666666667vw;
    letter-spacing: -0.02em;
  }

  .main_imgs {
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0 0 8vw;
  }

  .post .main_img_place {
    width: 12vw;
    margin: 5px 10px 0 0;
  }

  .post .main_img_plan {
    width: 41.3333333333vw;
    margin: 0;
  }

  .post .main_img_price {
    width: 70.9333333333vw;
    margin-top: 6.4vw;
  }

  .post .main_check_list {
    --vgap: calc(20 / 375 * 100vw);
    width: 90%;
  }

  .main_check_list_item {
    width: 100%;
    height: 100%;
    min-height: 0;
  }

  .main_check_list_check {
    top: -3.2vw;
    left: 2.6666666667vw;
    width: 11.7333333333vw;
  }

  .main_check_list_check::before {
    bottom: -0.8vw;
    left: -1.0666666667vw;
    width: 13.8666666667vw;
    height: 1.0666666667vw;
  }

  .main_check_list_content {
    justify-content: flex-start;
    padding: 1em 5.3333333333vw;
  }

  .main_check_list_content::before {
    bottom: -3.4666666667vw;
    right: -2.9333333333vw;
    width: 8vw;
    height: 8vw;
  }

  .main_check_list_content::after {
    right: 0.8vw;
    bottom: 0.5333333333vw;
    font-size: 2.6666666667vw;
  }

  .main_check_list_ico_1 {
    width: 4.8vw;
    margin-right: 2.4vw;
  }

  .main_check_list_ico_2 {
    width: 6.1333333333vw;
    margin-right: 1.8666666667vw;
  }

  .main_check_list_ico_3 {
    width: 7.4666666667vw;
    margin-right: 1.0666666667vw;
  }

  .main_check_list_ico_4 {
    width: 6.9333333333vw;
    margin-right: 1.6vw;
  }

  .main_check_list_txt {
    font-size: 3.2vw;
    letter-spacing: -0.04em;
  }
}

@media screen and (max-width: 500px) {
  .main_check_list_check {
    top: -12px;
    left: 10px;
    width: 44px;
  }

  .main_check_list_check::before {
    bottom: 0;
    left: -4px;
    width: 52px;
    height: 4px;
  }
}

/* -- top_news -- */
.top_news {
  margin-top: -60px;
}

.top_news_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.top_news_box {
  display: flex;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  min-height: 130px;
  padding: 45px 35px;
  box-shadow: 0 7px 0 var(--color-primary-tint);
}

.top_news_box .listTitle h1 {
  width: 42px;
  margin: 0 40px 0 0;
  font-size: inherit;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .top_news_content {
    width: 90%;
  }

  .top_news_box {
    flex-direction: column;
    border-radius: 5px;
    min-height: 125px;
    padding: min(calc(45px + (1vw - 19.2px) * 1.7476), 45px) min(calc(35px + (1vw - 19.2px) * 1.4887), 35px);
    /* -- 1920 45px 375 18px -- */
    /* -- 1920 35px 375 12px -- */
    box-shadow: 0 4px 0 var(--color-primary-tint);
  }

  .top_news_box .listTitle h1 {
    width: 40px;
    margin: 0 0 min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
  }
}

/* ----------------------
トップ
---------------------- */
.toppage {
  padding: 0 30px;
}

@media screen and (max-width: 768px) {
  .toppage {
    padding: 0 8px;
  }
}

/* -- top_case -- */
.top_case {
  position: relative;
  z-index: 5;
}

.top_case::before {
  content: "";
  display: block;
  position: absolute;
  top: 164px;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--color-primary-tint);
  z-index: -1;
}

.top_case_inner {
  padding: 95px 0 85px;
}

.top_case_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .top_case::before {
    top: min(calc(164px + (1vw - 19.2px) * 7.3786), 164px);
    /* -- 1920 164px 375 50px -- */
  }

  .top_case_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(85px + (1vw - 19.2px) * 3.2362), 85px);
    /* -- 1920 95px 375 35px -- */
    /* -- 1920 85px 375 35px -- */
  }

  .top_case_content {
    max-width: 1000px;
    width: 92%;
    margin: 0 auto;
  }
}

/* -- top_case1 -- */
.top_case1 .top_case_inner {
  padding-bottom: 160px;
}

.post .top_case1 .lean_ttl {
  margin-bottom: 55px;
}

.top_case1 .line_box_head_txt {
  margin-bottom: 45px;
}

.post .top_case_plan_list {
  --gap: 30px;
  max-width: 830px;
  margin: 0 auto;
}

.top_case_comparison {
  max-width: 830px;
  margin: 38px auto 0;
}

.top_case_comparison .middle_txt {
  margin-bottom: 25px;
}

.post .top_case_comparison_num {
  max-width: 427px;
  margin: 0 auto 38px;
}

.top_case_comparison_fig {
  position: relative;
  max-width: 398px;
  margin: 0 auto;
}

.top_case_comparison_img_sub {
  position: absolute;
  top: 8px;
  right: -131px;
  max-width: 292px;
}

.top_case_comparison .ind {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1.5em;
  margin-left: auto;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
}

.top_case_comparison *+.linkBtn {
  margin-top: 43px;
  margin-bottom: -115px;
}

@media screen and (max-width: 768px) {
  .top_case1 .top_case_inner {
    padding-bottom: 80px;
  }

  .post .top_case1 .lean_ttl {
    margin-bottom: 45px;
  }

  .top_case1 .line_box_head_txt {
    margin-bottom: 25px;
  }

  .post .top_case_plan_list {
    --gap: 20px;
  }

  .top_case_comparison {
    margin: 35px auto 0;
  }

  .top_case_comparison .triangle_box_ttl {
    margin-top: -50px;
  }

  .top_case_comparison .middle_txt {
    margin-bottom: 20px;
    line-height: 1.65;
  }

  .post .top_case_comparison_num {
    width: 98%;
    margin: 0 auto 28px;
  }

  .top_case_comparison_fig {
    width: 98%;
  }

  .top_case_comparison_img_sub {
    top: 10%;
    right: 0%;
    width: 55%;
  }

  .top_case_comparison .ind {
    margin-top: 1em;
    font-size: 12px;
  }

  .top_case_comparison *+.linkBtn {
    margin-top: 25px;
    margin-bottom: -70px;
  }
}

/* -- top_case2 -- */
.post .top_case2 .lean_ttl {
  margin-bottom: 176px;
}

.post .top_case2 .line_box_head_ttl {
  margin: -182px auto 20px;
  font-size: 27px;
  text-align: center;
  line-height: 1.5925;
}

.top_case2_point1_ttl_deco {
  position: absolute;
  bottom: -25px;
  left: -28px;
  width: 93px;
  height: 90px;
}

.top_case2 .line_box+.line_box {
  margin-top: 180px;
}

.top_case2_box1 .blue_line_list {
  margin-top: 55px;
}

.top_case2_box1 {
  padding-bottom: 55px;
}

.post .blue_line_list {
  --gap: 10px;
}

.blue_line_list .blue_line_box {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.blue_line_list .blue_line_head {
  margin-top: -1.35em;
  padding: 0.6em 1em;
  font-size: 13px;
}

.blue_line_list .blue_line_body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.55em 1em 1.25em;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  letter-spacing: normal;
}

.top_case2_box2 {
  margin-bottom: 55px;
}

.top_case2_box2 .blue_line_box {
  position: relative;
  margin-top: 30px;
}

.top_case2_box2 .blue_line_body {
  padding: 32px 80px 25px;
}

.top_case2_box2 .blue_line_content {
  display: flex;
  justify-content: center;
  gap: 0 1.25em;
}

.top_case2_point2_deco {
  position: absolute;
  bottom: -32px;
  right: -22px;
  width: 85px;
  width: 93px;
}

.top_case2_box3 {
  padding-bottom: 45px;
}

.top_case2_point3_fig {
  max-width: 693px;
  margin: 35px auto 0;
}

.top_case2_point4_img {
  max-width: 733px;
  margin: 25px auto 0;
}

.top_case2_box4 .maru_list {
  margin-top: 42px;
}

@media screen and (max-width: 768px) {
  .post .top_case2 .lean_ttl {
    margin-bottom: 86px;
  }

  .post .top_case2 .line_box_head_ttl {
    margin: -100px auto 20px;
    font-size: min(calc(27px + (1vw - 19.2px) * 0.5825), 27px);
    /* -- 1920 27px 375 18px -- */
    line-height: 1.6;
  }

  .top_case2_point1_ttl_deco {
    bottom: 0;
    left: -44px;
    width: 46.5px;
    height: 45px;
  }

  .top_case2 .line_box+.line_box {
    margin-top: 90px;
  }

  .top_case2_box1 .blue_line_list {
    margin-top: 30px;
  }

  .top_case2_box1 {
    padding-bottom: min(calc(65px + (1vw - 19.2px) * 2.2654), 65px);
    /* -- 1920 65px 375 30px -- */
  }

  .post .blue_line_list {
    --gap: 26px;
  }

  .blue_line_list .blue_line_head {
    font-size: 12px;
  }

  .blue_line_list .blue_line_body {
    padding: 1.5em 1em 1.15em;
  }

  .top_case2_box2 {
    margin-bottom: 55px;
  }

  .top_case2_box2 .blue_line_box {
    margin-top: 20px;
  }

  .top_case2_box2 .blue_line_body {
    padding: 28px min(calc(80px + (1vw - 19.2px) * 4.2071), 80px) 25px;
    /* -- 1920 80px 375 15px -- */
  }

  .top_case2_box2 .blue_line_content {
    flex-direction: column;
  }

  .top_case2_point2_deco {
    bottom: -28px;
    right: -18px;
    width: 46.75px;
    width: 51.15px;
  }

  .top_case2_box3 {
    padding-bottom: min(calc(65px + (1vw - 19.2px) * 2.2654), 65px);
    /* -- 1920 65px 375 30px -- */
  }

  .top_case2_point3_fig {
    margin: 25px auto 0;
  }

  .top_case2_point4_img {
    margin: 20px auto 0;
  }

  .top_case2_box4 .maru_list {
    margin-top: 30px;
  }
}

/* -- top_case3 -- */
.post .top_case3_box1_list {
  --gap: 20px;
}

.post .top_case3 .line_box_head_ttl {
  margin: -115px auto 75px;
  font-weight: 900;
  line-height: 1.4571;
}

.top_case3_box2 {
  padding-top: 50px;
}

.top_case3_box2 .white_box {
  padding: 45px;
}

.top_case3_box2 .fukidashi_ttl {
  margin: calc(-45px - 1.375em) auto 32px;
}

.blue_line_item+.blue_line_item {
  margin-top: 25px;
}

.top_case3_box2 .blue_line_head {
  min-width: min(160px, 100%);
  padding: 0.42em 1em;
  font-size: 15px;
}

.top_case3_box2 .blue_line_body {
  border-width: 2px;
  padding: 29px 35px 19px;
}

.top_case3_box2 .blue_line_box .txt {
  color: var(--color-primary);
  font-weight: 900;
  font-size: 20px;
  text-align: center;
  line-height: 1.45;
}

.blue_line_item_txt {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .post .top_case3_box1_list {
    --gap: 25px;
    --vgap: 25px;
  }

  .post .top_case3 .line_box_head_ttl {
    margin: -65px auto 40px;
    line-height: 1.5;
  }

  .top_case3_box2 {
    padding-top: 30px;
  }

  .top_case3_box2 .white_box {
    padding: 45px 12px 20px;
  }

  .top_case3_box2 .fukidashi_ttl {
    margin: calc(-45px - 1.375em) auto 26px;
  }

  .blue_line_item+.blue_line_item {
    margin-top: 20px;
  }

  .top_case3_box2 .blue_line_head {
    padding: 0.4em 1em;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.1294), 15px);
    /* -- 1920 15px 375 13px -- */
  }

  .top_case3_box2 .blue_line_body {
    padding: 22px 10px 12px;
  }

  .top_case3_box2 .blue_line_box .txt {
    font-size: min(calc(20px + (1vw - 19.2px) * 0.2589), 20px);
    /* -- 1920 20px 375 16px -- */
    line-height: 1.55;
  }

  .blue_line_item_txt {
    margin-top: min(calc(20px + (1vw - 19.2px) * 0.5178), 20px);
    /* -- 1920 20px 375 12px -- */
    line-height: 1.8;
  }
}

/* -- top_case4 -- */
.top_case4 .top_case_inner {
  padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(85px + (1vw - 19.2px) * 3.2362), 85px);
  /* -- 1920 95px 375 35px -- */
  /* -- 1920 85px 375 35px -- */
}

.top_case4 .white_box {
  padding-top: 42px;
}

.top_case4 .blue_line_body {
  border-width: 2px;
  border-radius: 0;
  padding-left: 43px;
  padding-right: 43px;
  padding-bottom: 60px;
}

.top_case4 .blue_line_body *+.linkBtn {
  margin-top: 25px;
}

.top_case4_box1 .blue_line_body {
  position: relative;
  z-index: 5;
}

.top_case4_box1 .blue_line_body::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% + 2px);
  right: 11px;
  background-image: url(/wp-content/uploads/asock_men02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  width: 93px;
  height: 117px;
  pointer-events: none;
  z-index: -1;
}

.top_case4_box2 {
  position: relative;
}

.top_case4_box2::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 2px;
  right: 123px;
  background-image: url(/wp-content/uploads/asock_men03.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 106px;
  height: 127px;
  pointer-events: none;
  z-index: 5;
}

@media screen and (max-width: 768px) {
  .post .top_case4 .top_case4_ttl {
    margin-bottom: 32px;
  }

  .top_case4 .top_case_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(85px + (1vw - 19.2px) * 3.2362), 85px);
    /* -- 1920 95px 375 35px -- */
    /* -- 1920 85px 375 35px -- */
  }

  .top_case4 .blue_line_body {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 35px;
  }

  .top_case4 .blue_line_body *+.linkBtn {
    margin-top: 20px;
  }

  .top_case4_box1 .blue_line_body::before {
    bottom: calc(100% + 20px);
    right: 50%;
    width: 55.8px;
    height: 70.2px;
    transform: translateX(50%);
  }

  .top_case4_box2::before {
    bottom: 2px;
    right: 5px;
    width: 53px;
    height: 63.5px;
  }

  .top_case4_fig {
    width: 96%;
    margin: 0 auto;
  }
}

/* -- top_voice -- */
.top_voice_inner {
  padding: 90px 0 110px;
}

.top_voice_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.post .top_voice_ttl,
.top_voice_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  width: 100%;
  margin: 0 auto 43px;
  padding: 0;
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 50px;
  text-align: center;
  line-height: 1.12;
  letter-spacing: normal;
  gap: 14px;
}

.post .top_voice_ttl::before,
.post .top_voice_ttl::after,
.top_voice_ttl::before,
.top_voice_ttl::after {
  flex-shrink: 0;
  content: "";
  display: block;
  position: static;
  width: 135px;
  height: 93px;
  background-repeat: no-repeat;
  background-size: contain;
}

.post .top_voice_ttl::before,
.top_voice_ttl::before {
  background-image: url(/wp-content/uploads/girl_fukidashi.png);
  background-position: left center;
  margin-right: 8px;
}

.post .top_voice_ttl::after,
.top_voice_ttl::after {
  background-image: url(/wp-content/uploads/boy_fukidashi.png);
  background-position: right center;
}

.post .top_voice_ttl .en,
.top_voice_ttl .en {
  display: block;
  font-family: "Jost", sans-serif;
}

.post .top_voice_ttl .ja,
.top_voice_ttl .ja {
  display: block;
  color: var(--color-primary);
  font-size: 22px;
  line-height: 1.5;
}

.post .top_voice_box {
  --gap: 20px;
  margin-bottom: 50px;
}

.post .top_voice_box .blue_line_box {
  height: 100%;
}

.post .top_voice_box .blue_line_body {
  display: flex;
  flex-direction: column;
  border-width: 2px;
  height: 100%;
  padding: 30px 25px 35px;
}

.top_voice_item_ttl_wrap {
  display: flex;
  flex-direction: row-reverse;
  min-height: 134px;
  margin: 0 0 10px;
  gap: 25px;
}

.top_voice_item_ico {
  flex-shrink: 0;
  width: 90px;
}

.top_voice_item_ico figcaption {
  margin-top: 10px;
  font-size: 13px;
  text-align: center;
  line-height: 1.3;
}

.post .top_voice_item_ttl_wrap .top_voice_item_ttl {
  margin: 0;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
}

.post .top_voice_item_ttl_wrap .top_voice_item_ttl .bg {
  display: block;
  background-color: var(--color-primary);
  border-radius: 500px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 10px;
  padding: 0.2em 1.25em 0.25em;
  color: #fff;
  font-size: 15px;
}

.post .top_voice_item_ttl_wrap .top_voice_item_ttl .bg .txt {
  line-height: 1.65;
}

.top_voice_item_txt {
  margin-bottom: auto;
  font-size: 15px;
}

.post .top_voice_box .blue_line_body .moreBtn {
  margin-top: 1em;
}

@media screen and (max-width: 768px) {
  .top_voice_inner {
    padding: min(calc(90px + (1vw - 19.2px) * 3.5599), 90px) 0 min(calc(110px + (1vw - 19.2px) * 4.8544), 110px);
    /* -- 1920 90px 375 35px -- */
    /* -- 1920 110px 375 35px -- */
  }

  .top_voice_content {
    width: 92%;
  }

  .post .top_voice_ttl,
  .top_voice_ttl {
    margin: 0 0 min(calc(43px + (1vw - 19.2px) * 1.165), 43px);
    /* -- 1920 43px 375 25px -- */
    padding: 0;
    font-size: min(calc(50px + (1vw - 19.2px) * 1.4239), 50px);
    /* -- 1920 50px 375 28px -- */
    line-height: 1.1;
    gap: 5px;
  }

  .post .top_voice_ttl::before,
  .post .top_voice_ttl::after,
  .top_voice_ttl::before,
  .top_voice_ttl::after {
    flex-shrink: 1;
    width: 67.5px;
    height: 46.5px;
  }

  .post .top_voice_ttl::before,
  .top_voice_ttl::before {
    margin-right: 4px;
  }

  .post .top_voice_ttl .ja,
  .top_voice_ttl .ja {
    margin-top: 0.15em;
    font-size: min(calc(22px + (1vw - 19.2px) * 0.3883), 22px);
    /* -- 1920 22px 375 16px -- */
  }

  .post .top_voice_box {
    --gap: min(calc(20px + (1vw - 19.2px) * 0.5178), 20px);
    /* -- 1920 20px 375 12px -- */
    margin-bottom: min(calc(50px + (1vw - 19.2px) * 1.2945), 50px);
    /* -- 1920 50px 375 30px -- */
  }

  .post .top_voice_box .blue_line_body {
    padding: 20px 12px;
  }

  .top_voice_item_ttl_wrap {
    justify-content: flex-end;
    min-height: 0;
    gap: min(calc(25px + (1vw - 19.2px) * 0.6472), 25px);
    /* -- 1920 25px 375 15px -- */
  }

  .top_voice_item_ico {
    width: 64px;
  }

  .top_voice_item_ico figcaption {
    font-size: min(calc(13px + (1vw - 19.2px) * 0.1942), 13px);
    /* -- 1920 13px 375 10px -- */
  }

  .post .top_voice_item_ttl_wrap .top_voice_item_ttl {
    font-size: min(calc(18px + (1vw - 19.2px) * 0.1294), 18px);
    /* -- 1920 18px 375 16px -- */
  }

  .post .top_voice_item_ttl_wrap .top_voice_item_ttl .bg {
    margin: 0 0 8px;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.1294), 15px);
    /* -- 1920 15px 375 13px -- */
  }

  .post .top_voice_item_ttl_wrap .top_voice_item_ttl .txt {
    line-height: 1.8;
  }

  .top_voice_item_txt {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
    line-height: 1.8;
  }
}

/* -- top_faq -- */
.top_faq {
  background-color: var(--color-primary-tint);
}

.top_faq_inner {
  padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(120px + (1vw - 19.2px) * 5.178), 120px);
  /* -- 1920 95px 375 35px -- */
  /* -- 1920 120px 375 40px -- */
}

.top_faq_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

/* -- アコーディオン -- */
.post .vision_accordion {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  background: #fff;
  border: 2px solid var(--color-primary);
  border-radius: 10px;
  width: 100%;
  margin: 0;
  padding: 35px 25px 35px;
  font-family: var(--font-family);
  font-size: inherit;
  overflow: hidden;
}

.post .vision_accordion+.vision_accordion {
  margin-top: 15px;
}

.post .accordion_content_box::after {
  content: "";
  flex-shrink: 0;
  position: absolute;
  top: auto;
  bottom: -40px;
  left: auto;
  right: 0;
  background-image: url(/wp-content/uploads/asock_men02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  width: 93px;
  height: 122px;
  margin-right: 33px;
  color: var(--color-secondary);
  font-family: "Jost", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 19px;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  letter-spacing: normal;
}

.post .accordion_heading {
  display: flex !important;
  align-items: flex-start;
  position: relative;
  border: none !important;
  border-radius: 0;
  background: transparent !important;
  width: 100%;
  margin: 0;
  padding: 0 85px 0 0 !important;
  color: var(--color-font);
  font-family: var(--font-family);
  font-weight: 700 !important;
  font-size: 17px;
  line-height: 1.8;
}

.post .accordion_heading::after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  right: 27px;
  background-image: url(/wp-content/uploads/faq_open.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 36px;
  height: 51px;
  color: var(--color-font);
  font-weight: 700;
  font-size: 36px;
  line-height: 1;
  letter-spacing: normal;
}

.post .accordion_heading>span {
  align-self: center;
  display: block;
  margin-top: -0.25em;
  padding: 0;
}

.post .ui-accordion-header-active {
  margin-bottom: 0;
}

.post .ui-accordion-header-active::after {
  background-image: url(/wp-content/uploads/faq_close.png);
}

.post .accordion_content,
.post .ui-accordion .ui-accordion-content {
  position: relative;
  border: none;
  border-radius: 0;
  background: none !important;
  width: 100%;
  padding: 0 !important;
  font-family: inherit !important;
  overflow: initial;
}

.post .accordion_content_box_wrap {
  position: relative;
  padding-top: 25px;
}

.post .accordion_content_box_wrap::before {
  content: "";
  display: block;
  position: absolute;
  top: 25px;
  left: 0;
  right: 0;
  background-color: #D9D9D9;
  height: 1px;
}

.post .accordion_content_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background-color: var(--color-primary-tint);
  min-height: 117px;
  margin-top: 37px;
  padding: 32px 145px 32px 20px;
}

.post .accordion_txt {
  align-self: center;
  width: 100%;
  margin-top: -0.25em;
  padding: 0;
  font-weight: 500;
  font-size: 15px;
}

.post .accordion_txt>*+* {
  margin-top: 1em;
}

.post .accordion_heading::before {
  content: "Q.";
  flex-shrink: 0;
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  height: auto;
  margin-right: 10px;
  color: var(--color-primary);
  font-family: "Jost", sans-serif;
  font-weight: 700;
  font-size: 40px;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  letter-spacing: normal;
}

.post .accordion_content_box::before {
  content: "";
  flex-shrink: 0;
  position: absolute;
  top: -7px;
  bottom: auto;
  left: 14px;
  right: auto;
  background-image: url(/wp-content/uploads/faq_answer.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 80px;
  height: 15px;
  margin-right: 33px;
  color: var(--color-secondary);
  font-family: "Jost", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 19px;
  font-weight: 600;
  text-align: center;
  line-height: 1;
  letter-spacing: normal;
}

.post .ui-accordion .ui-accordion-content * {
  line-height: 2;
}

.post .partner_logo_list {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  gap: 10px 25px;
}

.post .partner_logo_list li {
  margin: 0;
  padding: 0;
}

.post .partner_logo img {
  max-width: none;
  width: auto;
  height: 50px;
}

.post .vision_accordion .blue_line_head p {
  min-width: 120px;
  line-height: 1.5;
}

.post .vision_accordion .blue_line_body {
  border: none;
}

@media screen and (max-width: 768px) {
  .top_faq_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(120px + (1vw - 19.2px) * 5.178), 120px);
    /* -- 1920 95px 375 35px -- */
    /* -- 1920 120px 375 40px -- */
  }

  .top_faq_content {
    width: 92%;
  }

  /* -- アコーディオン -- */
  .post .vision_accordion {
    padding: 16px 10px;
  }

  .post .vision_accordion+.vision_accordion {
    margin-top: min(calc(15px + (1vw - 19.2px) * 0.3236), 15px);
    /* -- 1920 15px 375 10px -- */
  }

  .post .accordion_content_box::after {
    bottom: -54px;
    width: 46.5px;
    height: 61px;
    margin-right: 0;
  }

  .post .accordion_heading {
    padding: 0 50px 0 0 !important;
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1942), 17px);
    /* -- 1920 17px 375 14px -- */
    line-height: 1.75;
  }

  .post .accordion_heading::after {
    top: -2px;
    right: 5px;
    width: 28.8px;
    height: 40.8px;
    font-size: 36px;
  }

  .post .accordion_content_box_wrap {
    padding-top: 15px;
  }

  .post .accordion_content_box_wrap::before {
    top: 15px;
  }

  .post .accordion_content_box {
    min-height: 0;
    margin-top: 26px;
    margin-bottom: 35px;
    padding: 26px 15px 30px;
  }

  .post .accordion_txt {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.1294), 15px);
    /* -- 1920 15px 375 13px -- */
  }

  .post .accordion_heading::before {
    font-size: 32px;
  }

  .post .accordion_content_box::before {
    top: -7px;
    left: 14px;
    width: 64px;
    height: 12px;
    margin-right: 33px;
    font-size: none;
  }

  .post .ui-accordion .ui-accordion-content * {
    line-height: 1.8;
  }

  .post .partner_logo_list {
    gap: 16px 20px;
  }

  .post .partner_logo img {
    height: 44px;
  }

  .post .vision_accordion .blue_line_head {
    padding: 0.25em 1.25em 0.3em;
    font-size: min(calc(16px + (1vw - 19.2px) * 0.1942), 16px);
    /* -- 1920 16px 375 13px -- */
  }

  .post .vision_accordion .blue_line_head p {
    min-width: 0;
    letter-spacing: 0.1em;
  }
}

/* -- top_service -- */
.top_service_inner {
  padding: 125px 0 135px;
}

.top_service_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.post .top_service h1 {
  margin: 0 0 60px;
}

.top_service_job_desc_list_wrap {
  display: flex;
  gap: 0 1em;
}

@media screen and (max-width: 768px) {
  .top_service_inner {
    padding: min(calc(125px + (1vw - 19.2px) * 5.5016), 125px) 0 min(calc(135px + (1vw - 19.2px) * 6.1489), 135px);
    /* -- 1920 125px 375 40px -- */
    /* -- 1920 135px 375 40px -- */
  }

  .top_service_content {
    width: 92%;
  }

  .post .top_service h1 {
    margin: 0 0 min(calc(60px + (1vw - 19.2px) * 1.9417), 60px);
    /* -- 1920 60px 375 30px -- */
  }

  .top_service_job_desc_list_wrap {
    flex-direction: column;
  }
}

/* -- top_contact -- */
.top_contact {
  background-color: var(--color-primary-tint);
}

.top_contact_inner {
  padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(105px + (1vw - 19.2px) * 4.5307), 105px);
}

.top_contact_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.top_contact_desc {
  margin: 0 0 min(calc(68px + (1vw - 19.2px) * 2.7832), 68px);
  /* -- 1920 68px 375 25px -- */
}

.post .top_contact_desc h1 {
  margin-bottom: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);
  /* -- 1920 30px 375 20px -- */
}

.top_contact_txt {
  margin-bottom: min(calc(22px + (1vw - 19.2px) * 0.7767), 22px);
  /* -- 1920 22px 375 10px -- */
}

.top_contact_note {
  margin-top: min(calc(20px + (1vw - 19.2px) * 0.6472), 20px);
  /* -- 1920 20px 375 10px -- */
  font-size: min(calc(13px + (1vw - 19.2px) * 0.1294), 13px);
  /* -- 1920 13px 375 11px -- */
}

/* -- タブ -- */
.vision_tab,
.vision_tab * {
  /*background: none;*/
  box-sizing: border-box;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}

div.vision_tab {
  border-radius: 0;
  border: 0 !important;
  padding: 0;
}

.vision_tab ul.tab_menu {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  background: none !important;
  width: 100%;
  margin: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
}

.vision_tab .tab_menu>li {
  width: 50%;
  background: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0;
  border: none;
  color: #fff;
  font-weight: 700;
  font-size: min(calc(19px + (1vw - 19.2px) * 0.3236), 19px);
  /* -- 1920 19px 375 14px -- */
  text-align: center;
  float: none !important;
}

.vision_tab .tab_menu>li>a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #fff;
  border: 3px solid var(--color-primary);
  width: 100%;
  height: 100%;
  min-height: 70px;
  padding: 0.95em !important;
  color: var(--color-primary);
  line-height: 1.5;
  float: none !important;
  white-space: break-spaces;
  transition: none;
}

.vision_tab .tab_menu>li:nth-child(1)>a {
  border-radius: 10px 0 0 0;
}

.vision_tab .tab_menu>li:nth-child(2)>a {
  border-radius: 0 10px 0 0;
}

.vision_tab .tab_menu>li>a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  margin-right: 10px;
  font-weight: 900;
}

.vision_tab .tab_menu>li.ui-tabs-active>a {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  min-height: 90px;
  color: #fff;
}

.vision_tab .tab_contents {
  padding: 0 !important;
}

.wpcf7-spinner {
  top: -25px;
}

@media screen and (max-width: 768px) {
  .wpcf7-spinner {
    top: -25px;
    left: -35px;
  }
}

@media screen and (max-width: 768px) {
  .top_contact_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(105px + (1vw - 19.2px) * 4.5307), 105px);
    /* -- 1920 95px 375 35px -- */
    /* -- 1920 105px 375 35px -- */
  }

  .top_contact_content {
    width: 92%;
  }

  /* -- タブ -- */
  .vision_tab .tab_menu>li {
    font-size: min(calc(19px + (1vw - 19.2px) * 0.3883), 19px);
    /* -- 1920 19px 375 13px -- */
  }

  .vision_tab .tab_menu>li>a {
    flex-direction: column;
    padding: 0.5em 0.95em !important;
  }

  .vision_tab .tab_menu>li>a::before {
    margin-right: 0;
  }
}

/* -- top_message -- */
.top_message {
  overflow: hidden;
}

.top_message_inner {
  padding: 95px 0 114px;
}

.top_message_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.top_message_layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 55px;
}

.top_message_desc {
  width: 47%;
}

.post .top_message_desc h1 {
  margin-bottom: 22px;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.6;
  text-align: left;
}

.post .top_message_desc h1 .en {
  margin: 0 0 0.3em;
  font-size: 18px;
}

.top_message_name {
  margin: 0 0 50px;
  color: var(--color-primary);
  font-weight: 500;
  font-size: 30px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.top_message_name p {
  display: flex;
  align-items: center;
  gap: 0.25em 20px;
}

.top_message_name .maru {
  display: block;
  border: 1px solid var(--color-primary);
  border-radius: 500px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 6px;
  padding: 0.35em 1.54em;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
}

.top_message_name .txt {
  display: block;
}

.top_message_txt {
  font-size: 15px;
}

.top_message_img {
  width: 47%;
}

@media screen and (max-width: 768px) {
  .top_message_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 5.178), 95px) 0 min(calc(114px + (1vw - 19.2px) * 5.1133), 114px);
    /* -- 1920 95px 375 15px -- */
    /* -- 1920 114px 375 35px -- */
  }

  .top_message_content {
    width: 92%;
  }

  .top_message_layout {
    position: relative;
    margin: 0 0 min(calc(55px + (1vw - 19.2px) * 1.6181), 55px);
    /* -- 1920 55px 375 30px -- */
  }

  .top_message_desc {
    position: relative;
    width: 100%;
    margin-top: 12%;
    z-index: 5;
  }

  .top_message_desc_top {
    position: absolute;
    right: -3vw;
    width: 61%;
    z-index: 6;
  }

  .post .top_message_desc h1 {
    font-weight: 900;
    font-size: 5vw;
  }

  .post .top_message_desc h1 .en {
    font-size: min(calc(18px + (1vw - 19.2px) * 0.2589), 18px);
    /* -- 1920 18px 375 14px -- */
  }

  .top_message_name {
    margin: 0 0 min(calc(50px + (1vw - 19.2px) * 1.9417), 50px) 5vw;
    /* -- 1920 50px 375 20px -- */
    font-size: min(calc(30px + (1vw - 19.2px) * 0.7767), 30px);
    /* -- 1920 30px 375 18px -- */
    letter-spacing: 0.1em;
  }

  .top_message_name p {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: center;
    gap: 0.6em 20px;
  }

  .top_message_name .maru {
    padding: 0.3em 1.54em;
    font-size: 12px;
  }

  .top_message_txt {
    position: relative;
    background-color: var(--color-sub-tint);
    margin-top: 84%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: min(6%, 35px) calc(50vw - 50%);
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
    line-height: 1.8;
  }

  .top_message_img {
    position: absolute;
    top: 0;
    left: -20%;
    border: none;
    width: 71%;
    margin-top: 0;
    z-index: 0;
  }
}

/* -- top_company -- */
.top_company {
  background-color: var(--color-primary-tint);
}

.top_company_inner {
  padding: 95px 0 142px;
}

.top_company_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.top_company_content table th {
  white-space: nowrap;
}

.top_company table .order_list li {
  line-height: inherit;
}

@media screen and (max-width: 768px) {
  .top_company_inner {
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(142px + (1vw - 19.2px) * 6.6019), 142px);
    /* -- 1920 95px 375 35px -- */
    /* -- 1920 142px 375 40px -- */
  }

  .top_company_content {
    width: 92%;
  }
}

/* -- top_store -- */
.top_store_inner {
  padding: 110px 0 142px;
}

.top_store_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.top_store_layout {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.top_store_info {
  width: 47%;
}

.top_store_map {
  width: 48%;
}

.post .top_store_list {
  --gap: 30px;
  --vgap: 35px;
}

.top_store_list_txt {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.85;
}

@media screen and (max-width: 768px) {
  .top_store_inner {
    padding: min(calc(110px + (1vw - 19.2px) * 4.5307), 110px) 0 min(calc(142px + (1vw - 19.2px) * 6.6019), 142px);
    /* -- 1920 110px 375 40px -- */
    /* -- 1920 142px 375 40px -- */
  }

  .top_store_content {
    width: 92%;
  }

  .top_store_layout {
    flex-direction: column-reverse;
  }

  .top_store_info {
    width: 100%;
  }

  .top_store_map {
    width: 100%;
    margin-bottom: min(calc(50px + (1vw - 19.2px) * 1.6181), 50px);
    /* -- 1920 50px 375 25px -- */
  }

  .post .top_store_list {
    --gap: min(calc(30px + (1vw - 19.2px) * 1.2945), 30px);
    /* -- 1920 30px 375 10px -- */
    --vgap: min(calc(35px + (1vw - 19.2px) * 1.2945), 35px);
    /* -- 1920 35px 375 15px -- */
  }

  .top_store_list_txt {
    font-size: min(calc(14px + (1vw - 19.2px) * 0.1294), 14px);
    /* -- 1920 14px 375 12px -- */
  }
}

/* ----------------------
ACF
---------------------- */
/* -- 一覧 -- */
.voice_a {
  max-width: 870px;
  margin: 0 auto;
}

.post .voice_a .top_voice_ttl,
.voice_s .top_voice_ttl {
  margin-top: -100px;
  margin-bottom: 80px;
}

.voice_list,
.post .voice_list {
  --gap: 30px;
  --vgap: 35px;
}

.top_voice .voice_list {
  justify-content: center;
}

.voice_list_item {
  display: flex;
  flex-direction: column-reverse;
  text-decoration: none !important;
  cursor: pointer;
}

.voice_list_img {
  border: 2px solid var(--color-primary);
  border-radius: 10px;
  margin: 0;
  overflow: hidden;
}

.voice_list_img img {
  max-width: none;
  width: 100.1%;
  height: 100.1%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  transition: transform 0.3s, opacity 0.3s;
}

a.voice_list_item:hover .voice_list_img img {
  transform: scale(1.08);
  opacity: 0.7;
}

.voice_list_name {
  position: relative;
  background-color: var(--color-secondary);
  border-radius: 500px;
  padding: 0.4em 1em 0.42em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(190px, 100%);
  margin: 0 auto;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
  transform: translateY(-50%);
  z-index: 5;
}

.voice_list_txt {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5555;
  letter-spacing: -0.01em;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* -- 詳細 -- */
.voice_s .content_box+.content_box {
  margin-top: 60px;
}

.voice_overview_layout {
  display: flex;
  gap: 40px;
}

.voice_overview_img {
  flex-shrink: 0;
  width: 270px;
}

.voice_overview .voice_list_name {
  margin-top: -2.4em;
  transform: translateY(50%);
}

.voice_overview_desc {
  flex-grow: 1;
}

.voice_overview_comment {
  display: flex;
  align-items: center;
  position: relative;
  background-color: var(--color-secondary);
  border-radius: 500px;
  min-height: 80px;
  margin: 0 0 35px;
  padding: 0.7em 43px;
  color: #fff;
  font-weight: 700;
  line-height: 1.8;
}

.voice_overview_comment::before {
  content: "";
  display: block;
  position: absolute;
  left: -16px;
  top: 50%;
  border-style: solid;
  border-width: 15px 30px 15px 0;
  border-color: transparent var(--color-secondary) transparent transparent;
  width: 0;
  height: 0;
  transform: translateY(-50%);
  z-index: 10;
}

.cf_commission {
  border: 2px solid var(--color-primary);
  background-color: var(--color-primary-tint);
  padding: 22px 20px;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 14px;
}

.cf_commission_ttl {
  background-color: var(--color-secondary);
  border-radius: 500px;
  min-width: 220px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: -38px 0 15px;
  padding: 0.31em 1em;
  color: #fff;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: normal;
}

.qa_box+.qa_box {
  margin-top: 35px;
}

.post .question {
  display: flex;
  align-items: center;
  background-color: var(--color-primary-tint);
  min-height: 65px;
  margin: 0 0 15px;
  padding: 0.5em 20px;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
}

.post .question::before {
  content: "Q";
  position: static;
  background: none;
  border: none;
  width: auto;
  height: auto;
  margin-right: 9px;
  color: var(--color-secondary);
  font-family: "Jost", sans-serif;
  font-weight: 700;
  font-size: 22px;
}

@media screen and (max-width: 768px) {
  .voice_a {
    width: 98%;
  }

  .post .voice_a .top_voice_ttl,
  .voice_s .top_voice_ttl {
    margin-top: 0;
    margin-bottom: min(calc(80px + (1vw - 19.2px) * 3.5599), 80px);
    /* -- 1920 80px 375 25px -- */
  }

  .voice_list,
  .post .voice_list {
    --gap: min(calc(30px + (1vw - 19.2px) * 1.2945), 30px);
    /* -- 1920 30px 375 10px -- */
    --vgap: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
  }

  .voice_list_txt {
    font-size: min(calc(18px + (1vw - 19.2px) * 0.2589), 18px);
    /* -- 1920 18px 375 14px -- */
    line-height: 1.6;
  }

  /* -- 詳細 -- */
  .voice_s .content_box+.content_box {
    margin-top: min(calc(60px + (1vw - 19.2px) * 1.9417), 60px);
    /* -- 1920 60px 375 30px -- */
  }

  .voice_overview_layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .voice_overview_img {
    flex-shrink: 0;
    width: 270px;
    margin: 0 auto 50px;
    order: 2;
  }

  .voice_overview_desc {
    display: contents;
  }

  .voice_overview_comment {
    justify-content: center;
    min-height: 60px;
    margin: 0 0 35px;
    padding: 0.7em 20px;
    text-align: center;
    line-height: 1.5;
  }

  .voice_overview_comment::before {
    left: 50%;
    top: auto;
    bottom: -14px;
    border-width: 15px 7.5px 0 7.5px;
    border-color: var(--color-secondary) transparent transparent transparent;
    transform: translateX(-50%);
    z-index: 10;
  }

  .cf_commission {
    padding: 20px 18px;
    font-size: 13px;
    order: 3;
  }

  .cf_commission_ttl {
    margin: -38px auto 15px;
    padding: 0.25em 0.75em;
  }

  .cf_commission .indent_list_row {
    justify-content: center;
  }

  .qa_box+.qa_box {
    margin-top: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
  }

  .post .question {
    padding: 0.6em 18px;
    font-size: 16px;
  }
}

/* ----------------------
下層　共通
---------------------- */
/* -- アイキャッチ -- */
header#h1Header {
  background-color: var(--color-primary-tint);
  background-image: url(/wp-content/uploads/image-ill-building.png);
  background-repeat: repeat-x;
  background-position: center;
  background-size: auto 106px;
  height: 200px;
  margin: 0 30px;
}

#h1Header #thumb,
#thumbImg {
  position: relative;
  height: min(calc(300px + (1vw - 19.2px) * 11.6505), 300px);
  /* -- 1920 300px 375 120px -- */
  overflow: hidden;
}

#h1Header #thumb img,
#thumbImg img {
  position: absolute;
  max-width: none;
  width: auto;
  height: 100%;
  top: 0;
  left: 50%;
  margin: 0;
  transform: translateX(-50%);
}

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

  #h1Header #thumb,
  #thumbImg {
    position: relative;
    overflow: hidden;
  }

  #h1Header #thumb img,
  #thumbImg img {
    width: 100%;
    height: auto;
  }
}

@media screen and (max-width: 1023px) {

  #h1Header #thumb img,
  #thumbImg img {
    margin-left: 0;
  }
}

@media screen and (max-width: 768px) {
  header#h1Header {
    height: 140px;
    margin: 0 10px;
  }
}

/* ----------------------
下層　経営理念
---------------------- */
.philosophy {
  padding-top: 35px;
}

.philosophy .content_box+.content_box {
  margin-top: 85px;
}

.philosophy .line_box {
  padding: 40px 45px;
}

.philosophy_box1 .blue_line_body::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% + 3px - 9px);
  right: 33px;
  background-image: url(/wp-content/uploads/asock_men02.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  width: 100px;
  height: 130px;
  pointer-events: none;
  z-index: -1;
}

.philosophy_box2 .blue_line_body::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% + 3px - 9px);
  right: 31px;
  background-image: url(/wp-content/uploads/asock_men01.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  width: 85px;
  height: 128px;
  pointer-events: none;
  z-index: -1;
}

.philosophy_box4 .blue_line_body::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(100% + 3px - 9px);
  right: 30px;
  background-image: url(/wp-content/uploads/asock_men03.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  width: 100px;
  height: 120px;
  pointer-events: none;
  z-index: -1;
}

.philosophy .line_box .underline_ttl {
  margin-top: -60px;
}

.post .philosophy .philosophy_underline_ttl4::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  bottom: auto;
  left: auto;
  right: -70px;
  background: none;
  background-image: url(/wp-content/uploads/asock_men04.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  border: none;
  width: 129px;
  height: 96px;
}

.philosophy .line_box .btn_box {
  margin-top: 40px;
  padding: 0 20px;
}

.post .philosophy .blue_line_box_l {
  position: relative;
  padding-top: calc(2.2em - 2px);
  font-size: 17px;
  z-index: 0;
}

.post .philosophy .blue_line_head_l {
  width: min(600px, 100%);
  min-height: 70px;
  margin-top: calc(-2.1em - 32px);
  font-weight: 700;
  font-size: 17px;
  text-align: center;
  line-height: 1.65;
  letter-spacing: normal;
}

.post .philosophy_box_wrap {
  --gap: 20px;
}

.philosophy .column_item .blue_line_box {
  height: 100%;
}

.philosophy .column_item.blue_line_head_l {
  letter-spacing: -0.01em;
}

.philosophy .column_item .blue_line_body {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 25px;
}

.philosophy .column_item .blue_line_body .txt {
  padding-left: 5px;
  padding-right: 5px;
}

.philosophy .column_item .blue_line_body .linkBtn {
  margin-top: auto;
}

@media screen and (max-width: 768px) {
  .philosophy .content_box+.content_box {
    margin-top: 54px;
  }

  .philosophy .line_box {
    margin-left: -3px;
    margin-right: -3px;
    padding: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px) min(calc(40px + (1vw - 19.2px) * 1.8123), 40px);
    /* -- 1920 40px 375 20px -- */
    /* -- 1920 40px 375 12px -- */
  }

  .philosophy_box1 .blue_line_body {
    padding-bottom: 64px;
  }

  .philosophy_box1 .blue_line_body::before {
    bottom: 0;
    right: 50%;
    width: 50px;
    height: 65px;
    transform: translateX(50%);
    z-index: 1;
  }

  .philosophy_box2 .blue_line_body {
    padding-bottom: 64px;
  }

  .philosophy_box2 .blue_line_body::before {
    bottom: 0;
    right: 50%;
    width: 42.5px;
    height: 64px;
    transform: translateX(50%);
    z-index: 1;
  }

  .philosophy_box4 .blue_line_body {
    padding-bottom: 62px;
  }

  .philosophy_box4 .blue_line_body::before {
    bottom: 0;
    right: 50%;
    width: 50px;
    height: 60px;
    transform: translateX(50%);
    z-index: 1;
  }

  .philosophy .line_box .underline_ttl {
    margin-top: -50px;
  }

  .post .philosophy .philosophy_underline_ttl4 {
    margin-bottom: 90px;
  }

  .post .philosophy .philosophy_underline_ttl4::before {
    top: auto;
    bottom: -75px;
    right: calc(50% + 8px);
    width: 77.4px;
    height: 57.6px;
    transform: translateX(50%);
  }

  .philosophy .line_box .btn_box {
    margin-top: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);
    /* -- 1920 40px 375 20px -- */
    padding: 0 5px;
  }

  .post .philosophy .blue_line_head_l {
    min-height: 0;
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1294), 17px);
    /* -- 1920 17px 375 15px -- */
  }

  .post .philosophy_box_wrap {
    --gap: 30px;
  }

  .philosophy .column_item .blue_line_body {
    padding: 20px 12px;
  }

  .philosophy .column_item .blue_line_body .txt {
    padding-left: 3px;
    padding-right: 3px;
  }
}

/* ----------------------
下層　採用情報
---------------------- */
.recruit .content_box+.content_box {
  margin-top: 35px;
}

.post .recruit .recruit_ttl1 {
  margin-bottom: 5px;
}

.post .recruit .top_voice_ttl {
  margin-bottom: 30px;
}

.job_desc_box+.job_desc_box {
  margin-top: 26px;
}

.cta_box {
  margin-top: 100px;
  padding: 50px 45px;
  color: var(--color-primary);
}

.post .cta_box .underline_ttl {
  margin-top: -96px;
  margin-bottom: 25px;
  padding-bottom: 0.6em;
}

.cta_box .middle_txt {
  margin-bottom: 30px;
  font-size: 17px;
  line-height: 1.85;
}

.cta_box .blue_line_box_l {
  padding-top: 0;
}

.cta_box .blue_line_body {
  padding: 40px 30px;
}

.cta_box .cta_tel {
  margin-top: 35px;
  font-family: "Lato", var(--font-family);
  font-weight: 900;
  font-size: 42px;
  text-align: center;
  line-height: 1;
}

.cta_box .cta_tel .sub {
  display: block;
  margin-bottom: 5px;
  font-size: 15px;
  line-height: 1.65;
}

.cta_box .cta_tel .tel {
  display: block;
}

.cta_box .cta_tel a {
  color: inherit !important;
  text-decoration: none !important;
}

.cta_box .cta_tel .num {
  display: flex;
  align-items: center;
  justify-content: center;
  font-style: italic;
  line-height: 1;
}

.cta_box .cta_tel .num::before {
  content: "";
  display: block;
  background-image: url(/wp-content/uploads/head_telicon.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  border-right: 2px solid var(--color-primary);
  margin-right: 10px;
  width: 51px;
  height: 35px;
  margin-top: 2px;
}

@media screen and (max-width: 768px) {
  .recruit .content_box+.content_box {
    margin-top: 30px;
  }

  .post .recruit .recruit_ttl1 {
    margin-bottom: 15px;
  }

  .post .recruit .top_voice_ttl {
    margin-bottom: 25px;
  }

  .cta_box {
    margin-top: 80px;
    padding: 30px min(calc(45px + (1vw - 19.2px) * 2.1359), 45px);
    /* -- 1920 45px 375 12px -- */
  }

  .post .cta_box .underline_ttl {
    margin-top: -64px;
    margin-bottom: 20px;
    padding-bottom: 0.9em;
    font-size: min(calc(27px + (1vw - 19.2px) * 0.5825), 27px);
    /* -- 1920 27px 375 18px -- */
  }

  .cta_box .middle_txt {
    margin-bottom: min(calc(30px + (1vw - 19.2px) * 0.6472), 30px);
    /* -- 1920 30px 375 20px -- */
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1942), 17px);
    /* -- 1920 17px 375 14px -- */
    line-height: 1.8;
  }

  .cta_box .blue_line_box_l {
    padding-top: 0;
  }

  .cta_box .blue_line_body {
    padding: min(calc(40px + (1vw - 19.2px) * 1.6181), 40px) min(calc(30px + (1vw - 19.2px) * 1.165), 30px);
    /* -- 1920 40px 375 15px -- */
    /* -- 1920 30px 375 12px -- */
  }

  .cta_box .cta_tel {
    margin-top: min(calc(35px + (1vw - 19.2px) * 0.9709), 35px);
    /* -- 1920 35px 375 20px -- */
    font-size: min(calc(42px + (1vw - 19.2px) * 1.165), 42px);
    /* -- 1920 42px 375 24px -- */
  }

  .cta_box .cta_tel .sub {
    font-size: min(calc(15px + (1vw - 19.2px) * 0.1942), 15px);
    /* -- 1920 15px 375 12px -- */
  }

  .cta_box .cta_tel .num::before {
    margin-right: 10px;
    width: 35.7px;
    height: 24.5px;
  }
}

/* ----------------------
下層　資料ダウンロード
---------------------- */
.document_txt {
  margin: 0 0 45px;
  font-weight: 700;
  font-size: 20px;
}

.document_txt a {
  color: var(--color-secondary);
}

.post .document_list {
  --gap: 20px;
  --vgap: 40px;
}

.document_list_item {
  height: 100%;
}

.document_list_item .blue_line_head {
  width: min(280px, 88%);
  margin: 0 auto calc(-1.5em - 1px);
  padding: 0.82em 1em;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  letter-spacing: normal;
}

.document_list_item .blue_line_body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: calc(1.5em + 1px + 20px) 20px 45px;
  color: var(--color-font);
  font-weight: 500;
  font-size: 15px;
  text-align: left;
  line-height: 1.8666;
  letter-spacing: normal;
}

.document_list_item .blue_line_body *+.linkBtn {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .document_txt {
    margin: 0 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
    /* -- 1920 45px 375 25px -- */
    font-size: min(calc(20px + (1vw - 19.2px) * 0.3236), 20px);
    /* -- 1920 20px 375 15px -- */
  }

  .post .document_list {
    --vgap: 25px;
  }

  .document_list_item .blue_line_head {
    font-size: min(calc(16px + (1vw - 19.2px) * 0.0647), 16px);
    /* -- 1920 16px 375 15px -- */
  }

  .document_list_item .blue_line_body {
    padding: calc(1.5em + 1px + 15px) 20px 32px;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.0647), 15px);
    /* -- 1920 15px 375 14px -- */
  }

  .document_list_item .blue_line_body *+.linkBtn {
    margin-top: 20px;
  }
}

/* ----------------------
下層　アソークの人材
---------------------- */
.member_txt {
  margin: 0 0 45px;
  color: var(--color-primary);
  font-weight: 700;
}

.post .member_list {
  margin: 0 0 55px;
  --gap: 15px;
}

.member_list_item {
  display: flex;
  align-items: center;
  position: relative;
  border: 3px solid var(--color-primary);
  height: 100%;
  padding: 12px 35px 12px 12px;
  text-decoration: none !important;
  gap: 15px;
}

.member_list_item.on {
  background-color: var(--color-primary-tint);
  transition: background-color 0.3s;
  pointer-events: none;
}

.member_list_item:hover {
  background-color: var(--color-primary-tint);
}

.member_list_item::before {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  color: var(--color-secondary);
  font-weight: 700;
  font-size: 17px;
  transform: translateY(-50%);
}

.member_list_ico {
  width: 70px;
}

.member_list_ico img {
  opacity: 1 !important;
}

.member_list_txt {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.member_list_txt .position {
  display: block;
  margin-top: 2px;
  color: var(--color-sub);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: normal;
}

.member_profile_box {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin: 0 0 45px;
}

.member_profile_img {
  max-width: 440px;
  width: 51%;
}

.member_profile_desc {
  align-self: center;
  width: 44.2528%;
  padding-bottom: 16px;
}

.post .member_profile_ttl {
  background: none;
  border: none;
  min-height: 0;
  margin: 0 0 16px;
  padding: 0;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.post .member_profile_ttl::before,
.post .member_profile_ttl::after {
  content: none;
}

.member_profile_position {
  background-color: var(--color-primary);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 22px;
  padding: 0.25em 1.25em;
  color: #fff;
  line-height: 1.5;
}

.member_profile_txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.9285;
}

.member_qa {
  margin: 0 0 70px;
}

.member_qa_box+.member_qa_box {
  margin-top: 30px;
}

.post .member_question {
  display: flex;
  align-items: center;
  position: relative;
  background: none;
  background-color: var(--color-primary);
  border: none;
  min-height: 90px;
  margin: 0 auto 15px;
  padding: 0.55em 20px 0.65em;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  text-align: left;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.post .member_question::before {
  content: "Q.";
  position: static;
  background: none;
  border: none;
  width: auto;
  height: auto;
  margin-right: 6px;
  color: var(--color-secondary);
  font-family: "Jost", sans-serif;
  font-weight: 700;
  font-size: 30px;
  line-height: 1;
}

.post .member_question::after {
  content: none;
}

.post .member_answer {
  display: flex;
  align-items: center;
  background-color: var(--color-primary-tint);
  min-height: 75px;
  margin: 0 0 20px;
  padding: 0.5em 20px;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 17px;
  line-height: 1.65;
}

.post .member_answer::before {
  content: "A.";
  margin-right: 4px;
  color: var(--color-secondary);
  font-family: "Jost", sans-serif;
  font-weight: 700;
  font-size: 22px;
}

.member_answer_txt {
  font-size: 14px;
  line-height: 1.9285;
}

.member_img:not(:first-child) {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .member_txt {
    margin: 0 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
    /* -- 1920 45px 375 25px -- */
    line-height: 1.85;
  }

  .post .member_list {
    margin: 0 0 min(calc(55px + (1vw - 19.2px) * 1.6181), 55px);
    /* -- 1920 55px 375 30px -- */
    --gap: 5px;
  }

  .member_list_item {
    flex-direction: column;
    align-items: flex-start;
    border: 2px solid var(--color-primary);
    padding: min(calc(20px + (1vw - 19.2px) * 0.9709), 20px) min(calc(20px + (1vw - 19.2px) * 0.9709), 20px) min(calc(35px + (1vw - 19.2px) * 0.6472), 35px);
    /* -- 1920 20px 375 5px -- */
    /* -- 1920 35px 375 25px -- */
    gap: 8px;
  }

  .member_list_item::before {
    content: "\f078";
    top: auto;
    bottom: min(calc(10px + (1vw - 19.2px) * 0.4531), 10px);
    /* -- 1920 10px 375 3px -- */
    right: 50%;
    font-size: 15px;
    line-height: 1;
    transform: translateX(50%);
  }

  .member_list_ico {
    width: 100%;
    text-align: center;
  }

  .member_list_txt {
    font-size: min(calc(16px + (1vw - 19.2px) * 0.1942), 16px);
    /* -- 1920 16px 375 13px -- */
  }

  .member_list_txt .position {
    font-size: min(calc(14px + (1vw - 19.2px) * 0.1942), 14px);
    /* -- 1920 14px 375 11px -- */
  }

  .member_profile_box {
    flex-direction: column-reverse;
    margin: 0 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
    /* -- 1920 45px 375 25px -- */
  }

  .member_profile_img {
    max-width: none;
    width: 100%;
    margin: 0 0 min(calc(40px + (1vw - 19.2px) * 1.6181), 40px);
    /* -- 1920 40px 375 15px -- */
  }

  .member_profile_desc {
    width: 100%;
    padding-bottom: 0;
  }

  .member_profile_name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 15px;
    gap: 10px 1em;
  }

  .post .member_profile_ttl {
    min-height: 0;
    margin: 0;
    font-weight: 700;
    font-size: min(calc(32px + (1vw - 19.2px) * 0.6472), 32px);
    /* -- 1920 32px 375 22px -- */
    line-height: 1.4;
  }

  .member_profile_position {
    margin: 0;
    padding: 0.25em 1em;
  }

  .member_profile_txt {
    font-size: min(calc(14px + (1vw - 19.2px) * 0.0647), 14px);
    /* -- 1920 14px 375 13px -- */
  }

  .member_qa {
    margin: 0 0 min(calc(70px + (1vw - 19.2px) * 2.2654), 70px);
    /* -- 1920 70px 375 35px -- */
  }

  .member_qa_box+.member_qa_box {
    margin-top: 20px;
  }

  .post .member_question {
    min-height: 65px;
    padding: 0.55em 18px 0.65em;
    font-size: min(calc(20px + (1vw - 19.2px) * 0.2589), 20px);
    line-height: 1.55;
  }

  .post .member_question::before {
    font-size: min(calc(30px + (1vw - 19.2px) * 0.5178), 30px);
    /* -- 1920 30px 375 22px -- */
    line-height: 1;
  }

  .post .member_answer {
    min-height: 55px;
    margin: 0 0 15px;
    padding: 0.6em 1em;
    font-size: min(calc(17px + (1vw - 19.2px) * 0.1294), 17px);
    /* -- 1920 17px 375 15px -- */
    line-height: 1.7;
  }

  .post .member_answer::before {
    margin-right: 8px;
    font-size: min(calc(22px + (1vw - 19.2px) * 0.2589), 22px);
    /* -- 1920 22px 375 18px -- */
  }

  .member_img:not(:first-child) {
    margin-top: 20px;
  }
}

/* ----------------------
下層　お問い合わせ
---------------------- */
.form_area {
  position: relative;
  background-color: #fff;
  border: 3px solid var(--color-secondary);
  padding: 40px 40px 32px;
}

.form_area::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: calc(50% + 170px);
  background-image: url(/wp-content/uploads/asock_men03.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right bottom;
  width: 106px;
  height: 127px;
  pointer-events: none;
  z-index: 5;
}

.contact_form .table_wrap+.table_wrap {
  margin-top: 40px;
}

.form_area table th {
  background-color: var(--color-secondary-tint);
  font-weight: 700;
  vertical-align: middle;
}

.form_area table th,
.form_area table td {
  padding: 2em 10px;
  font-size: 14px;
}

.wpcf7-form {
  padding: 0;
}

.wpcf7-checkbox,
.wpcf7-select,
.wpcf7-text,
.wpcf7-date {
  display: inline-block;
  margin: 5px 0 !important;
}

.form_area textarea {
  height: 80px;
  margin: 5px 0;
}

.wpcf7-form .must {
  display: inline-block;
  background-color: var(--color-secondary);
  padding: 0.25em 0.5em 0.35em;
  font-weight: 500;
  font-size: 12px;
  text-align: center;
  line-height: 1;
}

span.wpcf7-list-item {
  margin: 0.2em 0.75em 0.2em 0;
}

.wpcf7-radio label,
.wpcf7-checkbox label {
  display: flex;
  align-items: flex-start;
  gap: 5px;
}

.wpcf7-radio label input,
.wpcf7-checkbox label input {
  transform: translateY(.3em);
}

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

.form_time_item_1 {
  display: block;
  margin-right: 5px;
}

.form_time_item_2 {
  display: block;
  position: relative;
  margin-right: 25px;
}

.form_time_item_2 input {
  width: 160px;
  margin-right: 31px !important;
}

.form_time_item_2 .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}

.form_time_item_2 .wpcf7-form-control-wrap::after {
  font-family: "Font Awesome 5 Free";
  content: "\f073";
  position: absolute;
  top: 0;
  left: 166px;
  color: #999;
  font-size: 25px;
}

.form_time_item_3 {
  display: block;
  position: relative;
  margin-right: 20px;
}

.form_time_item_3 .wpcf7-form-control-wrap {
  display: block;
  position: relative;
}

.form_time_item_3 select {
  width: 120px;
}

.form_time_item_3 .txt {
  position: absolute;
  top: 8px;
  left: 125px;
}

.form_money_item {
  display: flex;
  align-items: center;
  gap: 10px;
}

.form_money_item input {
  width: 10em;
}

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

.form_price_item .price-1 {
  position: relative;
  margin-right: calc(1em + 20px);
}

.form_price_item .price-1::after {
  content: "～";
  position: absolute;
  top: 8px;
  left: calc(15em + 10px);
}

.form_price_item select {
  width: 15em;
}

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

.form_area_item .area-1 {
  position: relative;
  margin-right: calc(1em + 20px);
}

.form_area_item .area-1::after {
  content: "～";
  position: absolute;
  top: 8px;
  left: calc(15em + 10px);
}

.form_area_item select {
  width: 15em;
}

div.wpcf7 .ajax-loader {
  display: block;
  margin: 8px auto 0;
}

.wpcf7-not-valid-tip {
  margin-top: 5px;
}

.form_area .form_privacy {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto 35px;
  padding: 10px;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
}

.form_area .form_privacy div {
  font-weight: 700;
}

.form_area .form_privacy .wpcf7-list-item {
  display: inline-block !important;
  margin: 0;
}

.wpcf7-form .must_fn {
  float: none;
}

.form_area .sendBtn {
  text-align: center;
}

.form_area .sendBtn input[type=submit] {
  background: var(--color-secondary);
  border-radius: 8px;
  max-width: 370px;
  width: 100%;
  padding: 1.5em 1em;
  font-family: var(--font-family);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: normal;
  line-height: 1;
  box-shadow: 0 7px 0 rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s, box-shadow 0.3s;
}

.form_area .sendBtn input[type=submit]:hover {
  transform: translateY(7px);
  box-shadow: none;
}

.form_area .sendBtn input[type=submit][disabled] {
  background: #bbb;
  transform: none !important;
  box-shadow: none;
}

.form_area .em15 {
  max-width: 15em;
}

/* #contact input[type=file] {
  max-width: 400px;
  width: 100%;
} */
@media screen and (max-width: 768px) {

  .wpcf7-radio label input,
  .wpcf7-checkbox label input {
    transform: translateY(.2em);
  }

  .form_area {
    padding: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px) min(calc(40px + (1vw - 19.2px) * 1.8123), 40px) min(calc(32px + (1vw - 19.2px) * 1.1003), 32px);
    /* -- 1920 40px 375 20px -- */
    /* -- 1920 40px 375 12px -- */
    /* -- 1920 32px 375 15px -- */
  }

  .form_area::before {
    left: calc(50% + 60px);
    width: 74.2px;
    height: 88.9px;
  }

  .contact_form .table_wrap+.table_wrap {
    margin-top: min(calc(40px + (1vw - 19.2px) * 0.9709), 40px);
    /* -- 1920 40px 375 25px -- */
  }

  .form_area table.responsive th,
  .form_area table.responsive td {
    padding: 10px;
    font-size: 13px;
  }

  .form_time_item {
    flex-wrap: wrap;
  }

  .form_time_item+.form_time_item {
    margin-top: 5px;
  }

  .form_time_item_1 {
    width: 100%;
    margin-right: 0;
  }

  .form_time_item_2 {
    margin-right: 20px;
  }

  .form_time_item_2 .wpcf7-date {
    max-width: 12em !important;
  }

  .form_time_item_2 .wpcf7-form-control-wrap::after {
    font-size: 22px;
  }

  .form_time_item_3 .txt {
    top: 12px;
  }

  .form_money_item {
    gap: 8px;
  }

  .form_money_item .wpcf7-text {
    max-width: 12em !important;
  }

  .form_price_item select {
    width: 9.5em;
  }

  .form_price_item .price-1 {
    margin-right: calc(1em + 10px);
  }

  .form_price_item .price-1::after {
    top: 10px;
    left: calc(100% + 5px);
  }

  .form_price_item .wpcf7-text {
    width: 100%;
  }

  .form_area_item select {
    width: 9.5em;
  }

  .form_area_item .area-1 {
    margin-right: calc(1em + 10px);
  }

  .form_area_item .area-1::after {
    top: 10px;
    left: calc(100% + 5px);
  }

  .form_area_item .wpcf7-text {
    width: 100%;
  }

  .form_area .form_privacy {
    margin: 20px auto;
    padding: 5px;
  }

  .form_area .sendBtn input[type=submit] {
    max-width: 200px;
    padding: 1.5em 1em;
    font-size: 16px;
  }
}

@media screen and (max-width: 359px) {
  .form_price_item {
    flex-direction: column;
    align-items: flex-start;
  }

  .form_price_item select {
    width: 15em;
  }

  .form_price_item .price-1 {
    margin-right: 0;
    margin-bottom: calc(1em + 10px);
  }

  .form_price_item .price-1::after {
    top: auto;
    bottom: -1px;
    left: 7em;
    transform: translateY(100%) rotate(90deg);
  }

  .form_area_item {
    flex-direction: column;
    align-items: flex-start;
  }

  .form_area_item select {
    width: 15em;
  }

  .form_area_item .area-1 {
    margin-right: 0;
    margin-bottom: calc(1em + 10px);
  }

  .form_area_item .area-1::after {
    top: auto;
    bottom: -1px;
    left: 7em;
    transform: translateY(100%) rotate(90deg);
  }
}

/* ----------------------
下層　プライバシーポリシー
---------------------- */
#privacy .content_box+.content_box {
  margin-top: 40px;
}

#privacy h2:not([class]) {
  display: block;
  background: none;
  border: none;
  min-height: 0;
  margin: 0 0 20px;
  padding: 0;
  color: inherit;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.65;
  text-align: left;
  letter-spacing: normal;
}

#privacy h2:not([class])::before,
#privacy h2:not([class])::after {
  content: none;
}

#privacy h3:not([class]) {
  background: none;
  background-color: var(--color-primary-tint);
  border: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 20px;
  /* -- 1920 2rem 375 1.5rem -- */
  padding: 0.2em 0.5em;
  color: var(--color-primary);
  font-weight: 700;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: normal;
}

#privacy h3:not([class])::before,
#privacy h3:not([class])::after {
  content: none;
}

@media screen and (max-width: 768px) {
  #privacy .content_box+.content_box {
    margin-top: min(calc(40px + (1vw - 19.2px) * 1.2945), 40px);
    /* -- 1920 40px 375 20px -- */
  }

  #privacy h2:not([class]) {
    margin: 0 0 min(calc(20px + (1vw - 19.2px) * 0.6472), 20px);
    /* -- 1920 20px 375 10px -- */
    font-size: min(calc(24px + (1vw - 19.2px) * 0.3883), 24px);
    /* -- 1920 24px 375 18px -- */
  }

  #privacy h3:not([class]) {
    margin: 0 0 min(calc(20px + (1vw - 19.2px) * 0.3236), 20px);
    /* -- 1920 20px 375 15px -- */
    font-size: min(calc(20px + (1vw - 19.2px) * 0.2589), 20px);
    /* -- 1920 2px 375 16px -- */
  }
}

/* ----------------------
下層　サイトマップ
---------------------- */
.post ul#sitemap_list,
.post ul.sitemap_list {
  margin: 0 auto;
}

.post ul#sitemap_list li,
.post ul.sitemap_list li {
  position: relative;
  margin: 0 0 1em;
  padding: 0 0 0 1.2em;
  color: var(--color-primary);
  text-indent: -1.2em;
}

.post ul#sitemap_list li::before,
.post ul.sitemap_list li::before {
  content: "・ ";
  display: inline;
  background: none;
  width: auto;
  height: auto;
  color: var(--color-secondary);
  font-weight: bold;
}

.post ul#sitemap_list li a,
.post ul.sitemap_list li a {
  color: var(--color-primary);
  text-decoration: none !important;
}

.post ul#sitemap_list li a:hover,
.post ul.sitemap_list li a:hover {
  opacity: 0.6;
}

.post ul#sitemap_list li b,
.post ul.sitemap_list li b {
  font-weight: 500;
}

.post ul#sitemap_list ul,
.post ul.sitemap_list ul {
  margin: 1em 0 0 1em;
}

/* ----------------------
投稿一覧
---------------------- */
.front_post_list .linkBtn {
  margin-top: min(calc(50px + (1vw - 19.2px) * 1.6181), 50px);
  /* -- 1920 50px 375 25px -- */
}

.listTitle .frontlist a {
  background: none;
  color: inherit;
  transition: opacity 0.3s;
}

.listTitle .frontlist a:hover {
  opacity: 0.6;
}

.postlist a {
  transition: opacity 0.3s;
}

.postlist a:hover {
  color: inherit;
  opacity: 0.7;
}

ul.post,
.post2b,
.post4b,
.postlist {
  margin: 0 auto;
  padding: 0;
  font-size: 15px;
}

ul.post li,
.post2b li,
.post4b li,
.postlist li {
  font-size: inherit;
}

.ul.post .time,
.post2b .time,
.post4b .time,
.postlist .time {
  font-size: 100%;
}

.postlist .ttls,
.postlist .date {
  font-size: 100%;
}

@media screen and (max-width: 768px) {
  .front_post_list .linkBtn {
    margin-top: 25px;
  }

  ul.post,
  .post2b,
  .post4b,
  .postlist {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    font-size: 14px;
  }
}

/* -- postlist -- */
.postlist {
  background: none;
  border: none;
  margin: 0;
}

.postlist li {
  border: none;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  color: var(--color-primary);
}

.postlist li+li {
  margin-top: 12px;
}

@media screen and (max-width: 768px) {
  .postlist li+li {
    margin-top: 8px;
  }
}

/* -- post_text -- */
.postlist .post_text {
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
}

ul.post .post_text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
}

.post4b_text,
.post2b_text {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 799px) {

  .post4b_text70,
  .post2b_text70 {
    margin-right: 0;
  }
}

@media screen and (max-width: 768px) {
  .postlist .post_text {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 640px) {
  #content ul.post .post_text {
    width: 100%;
  }

  #content .post4b_text70,
  #content .post2b_text70 {
    width: 100%;
  }
}

/* -- cat-loop bottom-loop -- */
h2.top-loop,
h2.bottom-loop,
h2.cat-loop {
  width: 100%;
  margin: 0 0 0.8rem;
  padding: 0;
  font-size: 1.25em;
  text-overflow: clip;
  line-height: 1.65;
  white-space: normal;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

h2.top-loop a,
h2.bottom-loop a,
h2.cat-loop a {
  font-size: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}

/* -- time -- */
ul.post .time,
.postlist .time,
.post2b .time,
.post4b .time {
  max-width: 100%;
  border-radius: 0;
  margin: 0 0 1.4rem;
  padding: 2px 12px;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: normal;
}

.postlist .time {
  margin: 0 14px 0 0;
  white-space: nowrap;
  order: 2;
}

ul.post .time {
  display: inline-block;
}

@media screen and (max-width: 799px) {

  .post2b .time,
  .post4b .time {
    margin-bottom: 0.8rem;
  }
}

@media screen and (max-width: 768px) {

  .post .time,
  .postlist .time,
  .post2b .time,
  .post4b .time {
    margin: 0 0 1rem;
    font-size: 1.2rem;
  }

  .postlist .time {
    margin: 0;
  }
}

@media screen and (max-width: 640px) {

  ul.post .time,
  .post2b .time,
  .post4b .time {
    margin: 0 0 1.2rem;
  }
}

/* -- cat -- */
ul.post .cat,
.post2b .cat,
.post4b .cat {
  margin: 0 0 0 5px;
}

/* -- .post_link -- */
.post_link,
.post2b_link,
.post4b_link {
  float: none;
  clear: none;
  margin: auto 0 0 auto;
  font-size: 100%;
}

/* -- postlistのみ -- */
/* -- date -- */
.postlist .date {
  margin: 0 14px 0 0;
  padding: 0;
  font-weight: 500;
  order: 1;
}

@media screen and (max-width: 768px) {
  .postlist .date {
    margin: 0;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.2589), 15px);
    /* -- 1920 15px 375 11px -- */
  }
}

/* -- ttl -- */
.postlist .ttls {
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  order: 3;
}

.postlist .ttls a {
  color: inherit;
  text-decoration: none !important;
}

@media screen and (max-width: 768px) {
  .postlist .ttls {
    display: block;
    width: 100%;
    margin: 0.25em 0 0 !important;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.2589), 15px);
    /* -- 1920 15px 375 11px -- */
  }
}

/* -- postlistのみ 終わり -- */
/* -- post_img -- */
ul.post .post_img {
  position: relative;
  height: 0;
  min-height: 0%;
  padding-top: 22.0171%;
  overflow: hidden;
  z-index: 1;
}

ul.post .post_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}

.post4b .post4b_img,
.post2b .post2b_img {
  position: relative;
  max-width: none;
  height: 0;
  min-height: 0%;
  margin-bottom: 1rem;
  padding-top: 70.8222%;
  overflow: hidden;
  z-index: 1;
}

.post4b .post4b_img img,
.post2b .post2b_img img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: none;
  width: auto;
  height: 100%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 799px) {

  .post4b .post4b_img,
  .post2b .post2b_img {
    margin-bottom: 1rem;
    padding-top: 22.0171%;
  }
}

@media screen and (max-width: 640px) {

  #content ul.post .post_img,
  #content .post4b_img,
  #content .post2b_img {
    max-width: none;
    float: none;
    width: 100%;
    min-height: 0%;
    margin: 0 auto 1rem;
    padding-top: 70.8222%;
  }

  #content ul.post .post_img img,
  #content .post4b_img img,
  #content .post2b_img img {
    max-width: none;
  }
}

/* -- post_contents -- */
li .post_contents {
  max-width: 100%;
  margin: 0 0 2.5rem;
  padding: 0;
}

li .post4b_contents,
li .post2b_contents {
  max-width: 100%;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 640px) {
  li .post_contents {
    margin: 0 0 2rem;
  }

  li .post4b_contents,
  li .post2b_contents {
    margin-bottom: 2rem;
  }
}

/* -- ul.post -- */
ul.post li {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5%;
}

ul.post li.clearfix:after {
  content: none;
}

@media screen and (max-width: 640px) {
  ul.post li {
    flex-direction: column;
    margin-bottom: 8%;
  }
}

/* -- 2b -- */
.post2b {
  display: flex;
  flex-wrap: wrap;
}

.post2b li {
  display: flex;
  flex-direction: column;
  border: none !important;
  margin: 0 0 4% 3%;
  padding: 0 0 0 0;
  line-height: inherit;
  width: 48.5%;
}

.post2b li:nth-child(2n+1) {
  margin-left: 0;
}

.post2b li.clearfix:after {
  content: none;
}

@media screen and (max-width: 799px) {
  .post2b li {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 5%;
    margin-left: 0;
  }
}

@media screen and (max-width: 640px) {
  .post2b li {
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 8%;
  }
}

/* -- 4b -- */
.post4b {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
}

.post4b li {
  display: flex;
  flex-direction: column;
  border: none !important;
  margin: 0 0 0 1.9166%;
  padding: 0 0 0 0;
  line-height: inherit;
  width: 23.5625%;
}

.post4b li:nth-child(4n+1) {
  margin-left: 0;
}

.post4b li:nth-child(n+5) {
  margin-top: 5%;
}

.post4b li.clearfix:after {
  content: none;
}

@media screen and (max-width: 959px) {
  .post4b li {
    width: 48.5%;
    margin: 0 0 0 3%;
  }

  .post4b li:nth-child(4n+1) {
    margin-left: 3%;
  }

  .post4b li:nth-child(2n+1) {
    margin-left: 0;
  }

  .post4b li:nth-child(n+3) {
    margin-top: 5%;
  }
}

@media screen and (max-width: 799px) {
  .post4b li {
    flex-direction: row;
    width: 100%;
    margin: 0;
  }

  .post4b li:nth-child(4n+1) {
    margin-left: 0;
  }

  .post4b li:nth-child(n+2) {
    margin-top: 5%;
  }
}

@media screen and (max-width: 640px) {
  .post4b li {
    flex-direction: column;
    width: 100%;
    margin-bottom: 0;
    margin-left: 0 !important;
  }

  .post4b li:nth-child(n+2) {
    margin-top: 8%;
  }
}

/* -- pagenav dateLabel -- */
.dateLabel {
  margin: 40px 0 60px;
}

.pagenav {
  margin: 80px 0 0;
}

.pagenav a {
  transition: opacity 0.3s;
}

.pagenav a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 768px) {
  .dateLabel {
    margin: min(calc(40px + (1vw - 19.2px) * 1.6181), 40px) 0 min(calc(60px + (1vw - 19.2px) * 2.589), 60px);
    /* -- 1920 40px 375 15px -- */
    /* -- 1920 60px 375 20px -- */
  }

  .pagenav {
    margin: min(calc(80px + (1vw - 19.2px) * 2.589), 80px) 0 0;
    /* -- 1920 80px 375 40px -- */
  }
}

/* ----------------------
パンくず
---------------------- */
#breadcrumb {
  padding: 25px 30px 45px;
}

#breadcrumb br {
  display: none;
}

#breadcrumb ul {
  max-width: none;
  width: 100%;
  padding: 0;
}

#breadcrumb ul li {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: normal;
}

#breadcrumb ul li:first-child {
  margin-left: 0;
}

#breadcrumb ul li b {
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  #breadcrumb {
    padding: min(calc(25px + (1vw - 19.2px) * 0.9709), 25px) 10px min(calc(45px + (1vw - 19.2px) * 1.9417), 45px);
    /* -- 1920 25px 375 10px -- */
    /* -- 1920 45px 375 15px -- */
  }

  #breadcrumb ul li {
    font-size: 10px;
  }
}

/* ----------------------
ハンバーガーメニュー調整
---------------------- */
/* -- PC -- */
nav#mainNav a.menu,
nav#mainNav a.menu:before {
  color: #fff;
}

nav#mainNav a.menu {
  background-color: var(--color-secondary);
}

nav#mainNav a#menu span {
  margin-top: -42px;
  font-family: "Lato", sans-serif;
}

/* -- SP -- */
/* .mobile #header .logo .spmenu {
  width: 70px;
}

.spmenu #menu {
  width: 25px;
  height: 16px;
  padding: 0;
} */
.spmenu #menu p {
  bottom: -2px;
  font-size: 10px;
  letter-spacing: normal;
}

/* .spmenu #menu span,
.spmenu #menu span:before,
.spmenu #menu span:after {
	border-radius: 0;
  width: 25px;
  height: 1px;
} */
@media screen and (min-width: 1024px) {
  .spmenu {
    display: none;
  }
}


@media (max-width: 1023px) {

  /* -- 画面の高さから、ヘッダーとフッタータブメニューの高さをマイナス -- */
  .mobile nav#mainNav .panel>ul {
    overflow-y: scroll;
    max-height: calc(100vh - 85px - 64px);
    max-height: calc(100dvh - 60px);
    padding-bottom: 64px;
  }
}

/* ----------------------
スクロール調整　リキャプチャ
---------------------- */
.icon-up-open:before {
  transform: translateY(-8%);
}

a#scrollUp {
  bottom: 100px !important;
  width: 44px !important;
  height: auto;
}

a#scrollUp::after {
  content: 'TOPへ';
  display: block;
  margin-top: -6px;
  padding-bottom: 7px;
  color: #fff;
  font-weight: 700;
  font-size: 10px;
  text-align: center;
  line-height: 1;
}

.scroll-top {
  display: flex;
  align-items: center;
  justify-content: center;
}

.scroll-top svg {
  width: auto;
  height: auto;
  margin-top: -3px;
}

.mobile #scrollUp {
  bottom: 160px !important;
}

.grecaptcha-badge {
  z-index: 9999;
}

.mobile .grecaptcha-badge {
  bottom: 80px !important;
}

/* ----------------------
header
---------------------- */
/* -- PC・SP共通 -- */
.bg .inner {
  width: auto;
}

#header {
  z-index: 9999;
  overflow: visible;
}

/* -- PC・SP共通 キャッチフレーズ -- */
#header .bg,
.bg {
  background: none;
  margin: 0 auto;
}

#header h1,
#header .description,
#header-upper h1,
#header-upper .description {
  color: #000;
  /*文字色変更*/
  font-size: calc(1.2rem + (1vw - 1.92rem) * 0.2232);
  /* フォントサイズ：1.2rem → 1rem */
}

@media print,
screen and (min-width: 1024px) {

  /* -- ヘッダー上部 -- */
  #header-upper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0 calc(20px + (1vw - 19.2px) * 1.1161);
    /* 可変：20px → 10px */
  }

  .header__socialicon ul,
  #header-upper .header__catchphrase,
  #header-upper .bg,
  #header-upper .bg .inner,
  #header-upper h1,
  #header-upper .description {
    height: 100%;
  }

  /* -- キャッチフレーズ -- */
  #header-upper h1,
  #header-upper .description {
    display: flex;
    flex-direction: row;
    align-items: center;
  }

  /* -- SNS -- */
  .header__socialicon ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }

  .header__socialicon ul li:not(:last-child) {
    margin-right: 10px;
  }

  .header__socialicon ul li a {
    display: block;
    line-height: 0;
  }

  /* -- ヘッダー -- */
  #header {
    width: 100%;
    position: static;
    margin: auto;
  }

  #header .inner,
  #header-layout,
  #header .logo,
  #header .sticky-logo,
  #header .logo a,
  nav#mainNav,
  #mainNav .inner,
  nav div.panel,
  nav#mainNav ul,
  nav#mainNav ul li,
  nav#mainNav ul li a {
    height: 100%;
    float: none;
  }

  #header .inner {
    width: 100%;
  }

  #header-layout {
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 23px 30px 22px;
  }

  /* -- ロゴ -- */
  #header .logo {
    display: block;
    max-width: min(calc(183px + (1vw - 19.2px) * 5.1482), 183px);
    /* -- 1920 183px 1279 150px -- */
    margin-right: 15px;
    line-height: 0;
    padding: 0;
    clear: none;
  }

  #header .logo a {
    display: flex;
    align-items: center;
  }

  #header .logo img {
    width: auto;
    height: auto;
    max-width: min(calc(183px + (1vw - 19.2px) * 5.1482), 183px);
    /* -- 1920 183px 1279 150px -- */
    max-height: 100%;
  }

  /* -- グローバルナビ -- */

  nav#mainNav {
    background: rgb(255, 255, 255);
    /* 背景色変更 */
    margin: 0;
  }

  nav#mainNav ul {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: auto;
  }

  nav#mainNav div.panel>ul {
    gap: min(calc(20px + (1vw - 19.2px) * 1.248), 20px);
    /* -- 1920 20px 1279 12px -- */
  }

  nav#mainNav div.panel>ul>li {
    padding-top: 10px;
  }

  nav#mainNav ul li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: auto;
    font-family: inherit;
    font-weight: 700;
    font-size: min(calc(16px + (1vw - 19.2px) * 0.312), 16px);
    /* -- 1920 16px 1279 14px -- */
    padding: 0;
    line-height: 1.5;
    letter-spacing: normal;
    overflow: visible;
  }

  nav#mainNav ul li a b {
    font-family: inherit;
    font-weight: inherit;
  }

  nav#mainNav ul li a b::after {
    font-family: "Font Awesome 5 Free";
    content: "\f107";
    font-weight: 700;
    margin-left: 5px;
    color: #81a3d3;
  }

  nav#mainNav ul li.nav_tel {
    align-self: center;
    margin-left: 15px;
    padding: 0 !important;
    line-height: 1.25;
  }

  nav#mainNav ul li.nav_tel a {
    align-items: flex-start;
  }

  nav#mainNav ul li.nav_tel a b {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-family: "Lato", sans-serif;
    font-style: italic;
    font-weight: 800;
    font-size: min(calc(32px + (1vw - 19.2px) * 1.5601), 32px);
    /* -- 1920 32px 1279 22px -- */
    text-align: left;
  }

  nav#mainNav ul li.nav_tel a b::before {
    content: "";
    display: block;
    background-image: url(/wp-content/uploads/head_telicon.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    border-right: 2px solid var(--color-primary);
    margin-right: 8px;
    width: 34px;
    height: 24px;
  }

  nav#mainNav ul li.nav_tel a b::after {
    content: none;
  }

  nav#mainNav ul li.nav_tel a span {
    display: block;
    margin-top: -4px;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.5;
  }

  nav#mainNav ul ul.sub-menu {
    left: 50%;
    height: auto;
    padding-top: 17px;
    transform: translateX(-50%);
    overflow: hidden;
  }

  nav#mainNav ul li:hover ul.sub-menu {
    top: 100%;
    left: 50%;
  }

  nav#mainNav ul li:hover ul.sub-menu a {
    display: block;
    font-size: min(calc(15px + (1vw - 19.2px) * 0.312), 15px);
    /* -- 1920 15px 1279 13px -- */
  }

  /* -- スティッキーヘッダー -- */
  .sticky-header .site-header {
    z-index: 9999;
  }

  .sticky-header #header>.inner {
    height: auto;
    background: #fff;
    /* 背景色変更 */
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    /* 不要なら削除 */
  }

  .sticky-header #header-layout {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .sticky-header nav#mainNav {
    background: none;
    margin: 0;
  }

  .sticky-header nav#mainNav div.panel>ul>li {
    padding-top: 0;
  }

  .sticky-header nav#mainNav ul li {
    margin-top: 0;
  }
}

/* -- レスポンシブ -- */
@media print,
screen and (max-width: 1023px) {

  #header-upper .header__socialicon,
  #header .sticky-logo,
  #header ul.header__contact {
    display: none;
  }

  #header h1,
  #header .description,
  #header-upper h1,
  #header-upper .description {
    display: block;
    float: none;
    text-align: center;
    padding: 20px 0 10px;
  }

  #header .inner {
    width: 100%;
  }

  #header-layout {
    padding: 0;
  }

  #header .logo {
    display: block;
    max-width: 140px;
    text-align: center;
    margin: 0 auto;
    padding: 20px 0;
  }

  .mobile #header .logo {
    padding: 0;
  }

  #header .logo img {
    max-width: 140px;
    max-height: 100%;
  }

  .mobile #header .logo {
    background-color: transparent;
    max-width: 100%;
    transition: background-color 0s;
    transition-delay: .4s;
    z-index: 5;
  }

  .mobile #header .logo.menuOpen {
    background-color: #fff;
    transition-delay: 0s;
  }

  /* .mobile.home #header .logo.menuOpen {
    background-color: var(--color-primary-tint);
  } */

  /* .mobile #header .logo.menuOpen,
  .mobile.sticky-header #header .logo.menuOpen {
    background-color: #fff;
    transition-delay: 0s;
  } */

  body.mobile #header .logo .mark {
    /* height: 50px; */
    padding: 8px 0 8px 10px;
    text-align: left;
  }

  /* -- レスポンシブ__スティッキーヘッダー -- */
  .mobile #header {
    background: transparent;
    /* 背景色変更 */
    z-index: 9999;
  }

  body.mobile #header .logo .mark {
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s;
  }

  .mobile.sticky-header #header {
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  }

  body.mobile.sticky-header #header .logo .mark,
  body.mobile #header .logo.menuOpen .mark {
    visibility: visible;
    opacity: 1;
    transition-delay: 0s;
  }
}

/* ----------------------
side_nav
---------------------- */
.side_nav {
  position: fixed;
  top: 50%;
  left: 15px;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-50%);
  transition: opacity 0.3s;
  z-index: 9999;
}

.sticky-header .side_nav {
  visibility: visible;
  opacity: 1;
}

.post .side_nav_list {
  margin: 0;
  padding: 0;
}

.post .side_nav_list li {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

.post .side_nav_list li+li {
  margin-top: 15px;
}

.post .side_nav_list li a {
  display: inline-block;
  position: relative;
  padding-left: 15px;
  color: var(--color-sub);
  font-weight: 700;
  font-size: 12px;
  text-decoration: none !important;
  transition: color 0.3s, opacity 0.3s;
}

.post .side_nav_list li a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.75em;
  left: 0;
  background-color: var(--color-sub);
  border-radius: 5px;
  width: 5px;
  height: 5px;
  transform: translateY(-2px);
  transition: background-color 0.3s;
}

.post .side_nav_list li a:hover {
  opacity: 0.6;
}

.post .side_nav_list li a.active {
  color: var(--color-primary);
}

.post .side_nav_list li a.active::before {
  background-color: var(--color-secondary);
}

@media screen and (max-width: 1023px) {
  .side_nav {
    display: none;
  }
}

/* ----------------------
side_fix_btn
---------------------- */
.side_fix_btn {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  z-index: 9999;
}

.side_fix_btn_list {
  margin: 0;
  padding: 0;
}

.side_fix_btn_list li {
  margin: 0;
  padding: 0;
}

.side_fix_btn_list li+li {
  padding-top: 10px;
}

.side_fix_btn_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--color-secondary);
  border-radius: 6px 0 0 6px;
  min-width: 85px;
  min-height: 100px;
  padding: 1em 0.25em;
  color: #fff !important;
  font-weight: 500;
  font-size: 12px;
  text-align: center;
  line-height: 1.3333;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
}

.side_fix_btn_item_bl {
  background-color: var(--color-primary);
}

.side_fix_btn_item_gr {
  background-color: #8EC223;
}

.side_fix_btn_item.icon_mail::before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  margin-bottom: 8px;
  font-size: 26px;
  line-height: 1;
}

.side_fix_btn_item.icon_building::before {
  font-family: "Font Awesome 5 Free";
  content: "\f095";
  margin-bottom: 6px;
  font-size: 26px;
  line-height: 1;
  font-weight: 600;
}

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

/* ----------------------
フッタータブメニュー
---------------------- */
.fa-envelope-o:before {
  font-family: "Font Awesome 5 Free";
  content: "\f0e0";
  font-weight: 400;
}

.fa-building-o:before {
  font-family: "Font Awesome 5 Free";
  content: "\f1ad";
  font-weight: 400;
}

#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li a {
  font-weight: 400;
}

#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li.footer_nav_rent a {
  background: var(--color-secondary);
}

#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li.footer_nav_company a {
  background: #8EC223;
}

/* ----------------------
footer
---------------------- */
/* -- reset -- */
#footer {
  padding: 0;
}

#footer ul {
  padding: 0;
  font-size: 100%;
}

#footer ul li {
  margin: 0;
  padding: 0;
}

#footer ul li::before {
  content: none;
}

#footer ul li:last-child::before {
  content: none;
}

/* -- reset終わり -- */
.footer_inner {
  padding: 40px 0;
}

.footer_content {
  max-width: 1000px;
  width: 88%;
  margin: 0 auto;
}

.footer_layout {
  display: flex;
  justify-content: space-between;
}

#footer .footnav {
  display: block;
  margin: 0;
}

#footer .footnav ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -1em;
  font-weight: 400;
  font-size: 11px;
  gap: 0.2em 0;
}

#footer .footnav ul li {
  position: relative;
  padding: 0 1em;
  font-weight: inherit;
  font-size: inherit;
}

#footer .footnav ul li::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 0;
  background: #fff;
  width: 1px;
  height: 12.1px;
  transform: translateY(-50%);
}

#footer .footnav ul li:last-child:after {
  content: none;
}

#footer .footnav ul li a {
  display: block;
  padding: 0;
  overflow: hidden;
  text-decoration: none;
  transition: opacity 0.3s;
}

#footer .footnav ul li a:hover {
  opacity: 0.6;
}

#copyright {
  padding: 0;
  font-size: 11px;
}

@media screen and (max-width: 768px) {
  .footer_inner {
    padding: min(calc(40px + (1vw - 19.2px) * 1.9417), 40px) 0;
    /* -- 1920 40px 375 10px -- */
  }

  .footer_content {
    width: 90%;
  }

  .footer_layout {
    flex-direction: column;
    align-items: center;
  }

  #footer .footnav ul {
    margin: 0 0 10px;
  }

  #copyright {
    font-size: 10px;
  }
}

/* 20230707追加 */
.max-90 {
  max-width: 90% !important;
  margin-right: auto !important;
  margin-left: auto !important;
}


/*---20240724仲介業者様へ（内見申込フォーム）---*/
.page-id-560 .title02 {
  width: 100%;
  padding: 15px 0;
  background-color: var(--color-primary);
  border-radius: 30px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  margin: 3rem 0 0 0;
}

.page-id-560 .form-row p {
  text-align: center;
}

.page-id-560 .form-block {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0;
}

.page-id-560 .form-block table {
  width: 45%;

}

.page-id-560 .form-block table.w100 {
  width: 100%;

}

.page-id-560 .form-block table tr {
  display: flex;
  flex-flow: column;
  border: none;
}

.page-id-560 .post table th,
.page-id-560 .post table td {
  padding: 0;
}

.page-id-560 .red {
  color: red;
}

.page-id-560 .form_privacy>p {
  text-align: center;
}

.page-id-560 .form_privacy>div {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

.page-id-560 .sendBtn {
  text-align: center;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .page-id-560 .form-block {
    flex-flow: column;
    margin: 0;

  }

  .page-id-560 .form-block table {
    width: 100%;
    margin: 1rem 0;
  }

}

/*---20240724仲介業者様へ（内見申込フォーム）---*/
/* .page-id-567 header {
  display: none;
} */
.page-id-567 .title02 {
  width: 100%;
  padding: 15px 0;
  background-color: var(--color-primary);
  border-radius: 30px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  margin: 3rem 0 0 0;
}

.page-id-567 .red {
  color: red;
}

.page-id-567 .post table tr {
  border-top: 0px;
  border-bottom: 0px;
  display: flex;
}

.page-id-567 .post table th,
.page-id-567 .post table td {
  padding: 1em;
}

.page-id-567 .post table th {
  width: 25%;
}

.page-id-567 .post table td {
  width: 75%;
}

.page-id-567 .post table th {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.page-id-567 .form-block .title02 {
  margin: 0;
  margin-top: 2rem;
}

.page-id-567 .form_privacy>p {
  text-align: center;
}

.page-id-567 .form_privacy>div {
  width: 100%;
  max-width: 350px;
  text-align: center;
  margin: 0 auto;
}

.page-id-567 .sendBtn {
  text-align: center;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .page-id-567 .post table tr {
    flex-flow: column;
    margin: 1rem 0;
  }

  .page-id-567 .form-block table th,
  .page-id-567 .form-block table td {
    width: 100%;
    padding: 0;
  }

}


/*---20240724仲介業者様へ（申込）---*/

.page-id-575 #content {
  border: none;
}

.page-id-575 .application-wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  row-gap: 24px;
}

.page-id-575 .top_case4_box2 {
  width: 48%;
  display: flex;
}

.page-id-575 .blue_line_box_l+.blue_line_box_l {
  margin-top: 0;
}

.page-id-575 .top_case4_box2::before {
  display: none;
}

.page-id-575 .blue_line_body .txt p {
  margin: 20px 0 !important;
}

.page-id-575 .blue_line_body {
  display: flex;
  flex-flow: column;
  position: relative;
  width: 100%;
}

.page-id-575 *+.linkBtn,
.page-id-575 .post *+.linkBtn {
  margin-top: auto;
}

.page-id-575 .linkBtn a {
  padding: 10px 30px;
  font-size: 20px;
  width: min(300px, 100%);
  padding: 15px 30px;
  font-size: 15px;
}

.page-id-575 .blue_line_head_l {
  min-height: unset;
  margin: 0;
  padding: 0.5em 0;
  font-size: 22px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  width: min(280px, 88%);
  margin: 0 auto calc(-1.5em - 1px);
  padding: 0.82em 1em;
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  letter-spacing: normal;
}

.page-id-575 .notes-purple .blue_line_head {
  background-color: #955ad7;
}

.page-id-575 .notes-purple .blue_line_body {
  border: 3px solid #955ad7;
}

.page-id-575 .linkBtn a .txt::before {
  display: none;
}

.page-id-575 .linkBtn a .txt {
  position: relative;
}

.page-id-575 .linkBtn a .txt::after {
  font-family: "Font Awesome 5 Free";
  content: "\f2f6";
  padding-bottom: 0rem;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translate(0, -50%) rotate(90deg);
}

.page-id-575 .notes-purple .blue_line_head_l::before {
  border-width: 15px 7.5px 0 7.5px;
  border-color: #955ad7 transparent transparent transparent;
}


.page-id-575 .notes-purple .linkBtn a .txt::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .page-id-575 .top_case4_box2 {
    width: 100%;
    display: flex;
  }
}

/* cf7カスタムバリデーションメッセージ */
.validation_message_area {
  border: 1px solid blue;
  padding: 10px 10px 10px 10px;

}

.post h3:not([class]) {
  margin: 20px auto 5px;
}

/* 　マーカー
-----------------------------------*/
.linemarker {
  background: linear-gradient(transparent 60%, #ffb2d6 60%);
  padding-left: 10px;
  padding-right: 10px;
  line-height: 1.3em;
}

.post .time {
  padding-left: 0;
}

.post .columnbox .flex_item {
  display: flex;
  flex-direction: row-reverse;
}

/* 入力禁止時 */

input[disabled] {
  background-color: #cccccc;
  /* 背景色をグレーに */
  color: #999999;
  /* テキスト色を薄いグレーに */
  border: 1px solid #ccc;
  /* 枠線を薄いグレーに */
  cursor: not-allowed;
  /* カーソルを「禁止」のアイコンに */
  opacity: 0.6;
  /* 半透明に */
}

/* 　メニュー色調整
-----------------------------------*/
@media print,
screen and (min-width: 1024px) {
  nav#mainNav ul li li {
    border-bottom: 1px solid #fff;
  }

  nav#mainNav ul li li a,
  nav#mainNav ul li.current-menu-item li a,
  nav#mainNav ul li.current-menu-ancestor li a,
  nav#mainNav ul li li.current-menu-item li a {
    background: #c7d7ed;
  }

  nav#mainNav ul li li a:hover,
  nav#mainNav ul li li.current-menu-item a,
  nav#mainNav ul li li.current-menu-item li a:hover,
  nav#mainNav ul li.current-menu-item li a:hover,
  nav#mainNav ul li.current-menu-ancestor li.current-menu-item a,
  nav#mainNav ul li.current-menu-ancestor li a:hover {
    background: #3f74bf;
    color: #ffffff;
  }
}

/*---20241022入居申込フォーム---*/
.page-id-811 .title02 {
  width: 100%;
  padding: 15px 0;
  background-color: var(--color-primary);
  border-radius: 30px;
  font-size: 20px;
  color: #fff;
  text-align: center;
  margin: 3rem 0 0 0;
}

.page-id-811 .form-row p {
  text-align: center;
}

.page-id-811 .form-block {
  display: flex;
  justify-content: space-between;
  margin: 2rem 0;
}

.page-id-811 .form-block table {
  width: 45%;

}

.page-id-811 .form-block table.w100 {
  width: 100%;

}

.page-id-811 .form-block table tr {
  display: flex;
  flex-flow: column;
  border: none;
}

.page-id-811 .post table th,
.page-id-811 .post table td {
  padding: 0;
}

.page-id-811 .red {
  color: red;
}

.page-id-811 .form_privacy>p {
  text-align: center;
}

.page-id-811 .form_privacy>div {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

.page-id-811 .sendBtn {
  text-align: center;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  .page-id-811 .form-block {
    flex-flow: column;
    margin: 0;

  }

  .page-id-811 .form-block table {
    width: 100%;
    margin: 1rem 0;
  }

}

.page-id-811 #content {
  border: none;
}

.codedropz-btn-wrap {
  margin-bottom: 10px;
}

.codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn {
  border: 1px solid gray;
  padding: 4px 10px;
  background: #ededed;
}


/*-----20241204-----*/
body .side_fix_btn a[href^="tel:"] {
  pointer-events: all;
}

.linkBtn a.mail_icon_red {
  background-color: #ff2525;
}

/*-----20250528-----*/
.front_bottom_wrap {
  background-color: var(--color-primary-tint);

  .front_bottom_inner {
    max-width: 1000px;
    width: 88%;
    margin: 0 auto;
    padding: min(calc(95px + (1vw - 19.2px) * 3.8835), 95px) 0 min(calc(120px + (1vw - 19.2px) * 5.178), 120px);

  }

  .front_bottom_inner,
  .front_bottom_inner02 {
    .listTitle {
      h1 {
        background: none;
        border: none;
        margin: 0 0 min(calc(45px + (1vw - 19.2px) * 1.2945), 45px);
        color: var(--color-primary);
        font-weight: 900;
        font-size: min(calc(30px + (1vw - 19.2px) * 0.5178), 30px);
        text-align: center;
        text-shadow: none;
        line-height: 1.5;
        letter-spacing: 0.1em;
      }
    }

    ul.post4b {
      li {

        h2.bottom-loop {
          font-size: 15px;
          font-weight: 700;

          a {
            display: block;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            text-decoration: unset;
          }
        }

        p.time {
          font-size: 15px;
          margin: 0 !important;

          .tag-noindex {
            display: none !important;
          }

          a {
            text-decoration: unset;
          }
        }

        .post4b_link {
          a {
            text-decoration: unset;
          }
        }
      }
    }
  }
}

.top_case2 {
  .top_case_inner {
    .pc4 {
      &.pc4_ul {
        @media screen and (max-width: 768px) {
          gap: 10px;
        }

        >.column_item {
          width: calc(60% - 10px);

          @media screen and (max-width: 768px) {
            width: 100%;
          }
        }

        .column_item {
          align-items: flex-start !important;

          .txt {
            display: flex;
            align-items: center;
            justify-content: flex-start;
            column-gap: 1rem;

            img {
              width: 100%;
              max-width: 60px;
            }

            p {
              text-align: left;
            }
          }
        }

        .blue_line_body {
          align-items: flex-start !important;
          justify-content: flex-start !important;

          &.blue_line_body02 {
            justify-content: space-between !important;
          }
        }
      }
    }

    .column_3col {
      width: 40%;
      display: flex;
      flex-flow: column;
      gap: 10px;

      @media screen and (max-width: 768px) {
        width: 100%;
      }
    }
  }

  .gray_scale {
    color: #666;
    text-align: right;
    width: 100%;

    &._fs08 {
      font-size: 70%;
    }
  }

  img.aligncenter.size-full.wp-image-1035 {
    width: 50%;
    margin: 2rem auto;

    @media screen and (max-width: 768px) {
      width: 80%;
      margin: 1rem auto;
    }
  }

  .fc_bk {
    color: #222;
  }
}