/* ----------------------------------------------------- */
/* color */
/* ----------------------------------------------------- */
:root {
  --c-red1: #DC1428;
  --c-red2: #F4ECEC;
  --c-blue1: #0E4D96;
  --c-blue2: #ECF0F4;
  --c-yellow1: #f2f255;
  --c-gray1: #f4f4f4;
  --c-gray2: #D9D9D9;
  --c-gray3: #ccc;
}

.m-red1 {
  color: var(--c-red1);
}

.m-blue1 {
  color: var(--c-blue1);
}
ƒç
.m-yellow1 {
  color: var(--c-yellow1);
}


/* ----------------------------------------------------- */
/* reset */
/* ----------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
div,
ul,
ol,
li,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
p,
th,
td,
form,
input,
textarea,
fieldset,
pre,
blockquote,
figure,
figcaption {
  padding: 0;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  /* letter-spacing: 0.01em; */
  line-height: 1.7;
  font-weight: 500;
}

body {
  overscroll-behavior-y: none;
}

/* Chromeで、背景画像を印刷をデフォルトに設定 */
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }
}

header,
footer,
nav,
menu,
main,
article,
aside,
section,
details,
figcaption,
figure {
  display: block
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

th {
  font-weight: normal;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
}

caption,
th {
  text-align: left;
}

img {
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: inherit;
}

a img {
  border: none;
}

a:hover,
a:hover img {
  text-decoration: none;
}

i {
  font-style: normal;
}

strong {
  font-weight: normal;
}

@media screen and (min-width: 768px),
print {
  a[href^=tel] {
    cursor: default;
  }

  a[href^=tel]:hover {
    text-decoration: none;
  }
}

small {
  font-size: 1em;
}

.range {
  position: relative;
}

.range a::before {
  position: absolute;
  top: -1px;
  left: -1px;
  right: -1px;
  bottom: -1px;
  content: "";
}


/* ----------------------------------------------------- */
/* reset form */
/* ----------------------------------------------------- */
input[type=text],
input[type=tel],
input[type=email],
input[type=number],
textarea,
button {
  -webkit-appearance: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=number],
textarea,
select,
option,
button {
  max-width: 100%;
  padding: 0;
  border-radius: 0px;
  border: 1px solid #8b8b8b;
  background-color: #fff;
  background-image: none;
  box-shadow:
    0px 0px 0px rgba(0, 0, 0, 0),
    inset 0px 0px 0px rgba(0, 0, 0, 0);
  font-size: 18px;
}

@media screen and (min-width: 768px),
print {

  input[type=text],
  input[type=tel],
  input[type=email],
  input[type=number],
  textarea,
  select,
  option,
  button {
    font-size: 16px;
  }
}

select {
  background-color: #fff;
}

input[type=text]::-webkit-input-placeholder,
input[type=text]::-moz-input-placeholder,
input[type=text]:-ms-input-placeholder,
input[type=text]::placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=tel]::-moz-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=tel]::placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=email]::-moz-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=email]::placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=number]::-moz-input-placeholder,
input[type=number]:-ms-input-placeholder,
input[type=number]::placeholder,
textarea::-webkit-input-placeholder,
textarea::-moz-input-placeholder,
textarea:-ms-input-placeholder,
textarea::placeholder {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #999;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}


/* ----------------------------------------------------- */
/* init */
/* ----------------------------------------------------- */
input,
textarea,
select,
option {
  font-size: 16px;
}

html {
  scroll-behavior: smooth;
  font-size: 14px;
  color: #333;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.4;
}

p,
li,
dt,
dd,
th,
td {
  line-height: 1.7;
}

img {
  width: 100%;
  height: auto;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media screen and (min-width: 768px),
print {
  html {
    font-size: 16px;
  }
}

/* reCAPTCHA非表示 */
.grecaptcha-badge {
  display: none;
}


/* ----------------------------------------------------- */
/* common */
/* ----------------------------------------------------- */
/* 表示・非表示 */
@media screen and (max-width: 767px) {
  .m-hidden-sp {
    display: none !important;
  }
}

@media screen and (min-width: 768px),
print {
  .m-hidden-pc {
    display: none !important;
  }
}

/* 注釈 */
.m-small {
  display: inline-block;
  word-break: break-all;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
}

@media screen and (min-width: 768px),
print {
  .m-small {
    font-size: 12px;
  }
}

/* リンクテキスト */
.m-link {
  text-align: right;
}


.m-link span,
.m-link-red span,
.m-link-blue span {
  padding-left: 1.4em;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.m-link span{
  background: url(../img/icon-arrow-circle-r.svg) no-repeat left 4.5px / 1em;
}
.m-link-red span {
  background: url(../img/icon-arrow-circle-r-red.svg) no-repeat left 4.5px / 1em;
}
.m-link-blue span {
  background: url(../img/icon-arrow-circle-r-blue.svg) no-repeat left 4.5px / 1em;
}
@media screen and (min-width: 768px),
print {

  .m-link a:hover,
  .m-link-red a:hover,
  .m-link-blue a:hover {
    filter: brightness(120%);
  }
}


/* 見出し ---------------------------------------------- */
/* m-heading-a */
/* 左寄せ、span赤小文字 */
.m-heading-a {
  margin-bottom: 16px;
  font-size: 7vmin;
}

.m-heading-a span {
  display: table;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--c-red1);
  font-size: 0.5em;
  line-height: 1;
  color: var(--c-red1);
  text-transform: uppercase;
}

@media screen and (min-width: 768px),
print {
  .m-heading-a {
    font-size: 36px;
  }

  .m-heading-a span {
    font-size: 0.6em;
  }
}

/* m-heading-b */
/* 中央ぞろえ、spanは小サイズ */
.m-heading-b {
  margin-bottom: 50px;
  text-align: center;
  font-weight: 700;
  font-size: 6.5vmin;
}
.m-heading-b span:not(.red) {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1.3;
}
.m-heading-b span.red {
  color: var(--c-red1);
}

@media screen and (min-width: 768px),
print {
  .m-heading-b {
    margin-bottom: 70px;
    font-size: 44px;
  }
  .m-heading-b span:not(.red) {
    font-size: 0.65em;
  }
}

/* m-heading-c */
/* m-heading-bの小サイズ */
.m-heading-c {
  margin-bottom: 30px;
  text-align: center;
  font-size: 24px;
}
.m-heading-c span {
  display: inline-block;
  font-size: 16px;
}
@media screen and (min-width: 768px),
print {
  .m-heading-c {
    margin-bottom: 50px;
    font-size: 36px;
  }
  .m-heading-c span {
    font-size: 26px;
  }
}

/* m-heading-d */
/* SP中央ぞろえ、PC左寄せ */
.m-heading-d {
  margin-bottom: 20px;
  font-size: 7vmin;
  text-align: center;
}

@media screen and (min-width: 768px),
print {
  .m-heading-d {
    font-size: 36px;
    text-align: left;
  }
}

/* m-heading-e */
/* m-heading-bの余白違い。下層ページタイトル。 */
.m-heading-e {
  margin-bottom: 32px;
  text-align: center;
  /* font-weight: 800; */
  font-weight: 700;
  font-size: 6.5vmin;
}

.m-heading-e span:not(.red) {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1.3;
}

.m-heading-e span.red {
  color: var(--c-red1);
}

@media screen and (min-width: 768px),
print {
  .m-heading-e {
    margin-bottom: 40px;
    font-size: 44px;
  }

  .m-heading-e span:not(.red) {
    font-size: 0.65em;
  }
}

/* m-heading-f */
.m-heading-f{
  margin-bottom: 15px;
  padding-left: 12px;
  border-left: 4px solid var(--c-red1);
  font-size: 22px;
}
.m-heading-f span:nth-child(1){
  display: inline-block;
  font-family: "Roboto Condensed", sans-serif;
  color: var(--c-red1);
  font-weight: 400;
  font-size: 40px;
  line-height: 1;
}
.m-heading-f span:nth-of-type(1) i{
  margin-left: 5px;
  font-weight: 500;
  font-size: 0.45em;
  vertical-align: 3px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}
.m-heading-f span:nth-of-type(2){
  display: inline-block;
  font-size: 0.7em;
}
@media screen and (min-width: 768px), print{
  .m-heading-f{
    margin-bottom: 20px;
    padding-left: 18px;
    border-left: 5px solid var(--c-red1);
    font-size: 28px;
  }
  .m-heading-f span:nth-child(1){
    font-size: 51px;
  }
  .m-heading-f span:nth-of-type(1) i{
    margin-left: 8px;
    font-size: 0.4em;
    vertical-align: 4px;
  }
  .m-heading-f span:nth-of-type(2){
    font-size: 0.6em;
  }
}

/* m-heading-g */
/* 左に赤い線付き */
.m-heading-g{
  margin-bottom: 20px;
  padding-left: 8px;
  border-left: 5px solid var(--c-red1);
  font-size: 18px;
}
@media screen and (min-width: 768px), print{
  .m-heading-g{
    font-size: 20px;
  }
}


/* ----------------------------------------------------- */
/* レイアウト */
/* ----------------------------------------------------- */
/* #carrepair{ display: none; } */
#woodrepair {
  display: none;
}

/* l-layout-flex-a 1000px */
/* l-layout-flex-a 1200px */
.l-layout-flex-a,
.l-layout-flex-b {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media screen and (min-width: 768px),
print {
  .l-layout-flex-a,
  .l-layout-flex-b {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: min(100%, 1000px);
    margin: 0 auto;
  }

  .l-layout-flex-b {
    width: min(100%, 1200px);
  }

  .l-layout-flex-a>*,
  .l-layout-flex-b>* {
    width: 48%;
  }

  .l-layout-flex-a>.order1,
  .l-layout-flex-b>.order1 {
    order: 1;
  }
}

/* l-owner-list */
.l-owner-list ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.l-owner-list a {
  overflow: hidden;
  display: grid;
  /* grid-template-columns: 48% 48%; */
  grid-template-columns: 50% 50%;
  grid-template-rows: repeat(2, 1);
  /* grid-column-gap: 4%; */
  /* grid-row-gap: 20px; */
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
}

.l-owner-list a .img {
  grid-area: 1 / 1 / 2 / 2;
}

.l-owner-list a .heading {
  grid-area: 1 / 2 / 2 / 3;
}

.l-owner-list a .text {
  grid-area: 2 / 1 / 3 / 3;
}

.l-owner-list a .heading {
  align-self: center;
  text-align: center;
}

.l-owner-list a .heading p {
  font-size: 12px;
}

.l-owner-list a .text {
  /* padding: 0 5% 20px; */
  /* background-color: var(--c-gray1); */
  padding: 20px 5%;
}

.l-owner-list a .text .text {
  padding: 0;
}

.l-owner-list a .m-link {
  margin-top: 10px;
  text-align: center;
}

.l-owner-list .m-small {
  margin-top: 10px;
  text-align: right;
}

@media screen and (min-width: 768px),
print {
  .l-owner-list ul {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    width: min(100%, 1000px);
    margin-left: auto;
    margin-right: auto;
  }

  .l-owner-list li {
    width: 32%;
  }

  .l-owner-list a {
    display: block;
    transition: filter 0.5s;
  }

  .l-owner-list a:hover {
    filter: brightness(85%);
  }

  .l-owner-list a .heading {
    margin: 30px 0 10px;
  }

  .l-owner-list a .heading h3 {
    font-size: 22px;
  }

  .l-owner-list a .heading p {
    font-size: 16px;
  }

  .l-owner-list a .text {
    background-color: transparent;
    padding: 0 5% 0;
    margin-bottom: 30px;
  }

  .l-owner-list a .text p:first-of-type {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .l-owner-list a .m-link {
    margin-top: 10px;
  }

  .l-owner-list .m-small {
    display: block;
    width: min(100%, 1000px);
    margin: 10px auto 0;
  }
}

/* flex pc only */
@media screen and (min-width: 768px),
print {
  .l-flex-pc {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .l-flex-pc>* {
    width: 48%;
  }
}

/* l-key */
.l-key {
  position: relative;
}

.l-key h1 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  font-size: 8vmin;
  color: #fff;
}

.l-key h1 span {
  display: inline-block;
  font-size: 0.63em;
}

.l-key img {
  width: 100%;
}

@media screen and (min-width: 768px),
print {
  .l-key h1 {
    top: calc(50% + 35px);
    font-size: 44px;
  }

  .l-key h1 span {
    font-size: 28px;
  }

  .l-key img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    object-position: center;
  }
}

/* l-tab */
.l-tab-wrap {
  padding: 0 2%;
  border-bottom: 3px solid var(--c-red1);
}

.l-tab p {
  margin-bottom: 20px;
  font-weight: 700;
  text-align: center;
  font-size: 22px;
}

.l-tab p i {
  position: relative;
  left: -15px;
  top: 4px;
  z-index: -1;
  display: inline-block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: var(--c-yellow1);
}

.l-tab p i::before,
.l-tab p i::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--c-yellow1);
  animation: pulsate 2s linear infinite;
}

.l-tab p i::after {
  animation-delay: 1s;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(2);
    opacity: 0;
  }
}

.l-tab .m-angle-anime-column {
  display: table;
  margin: auto;
}

.l-tab .m-angle-anime-column span {
  font-size: 20px;
}

.l-tab ul {
  position: relative;
  height: 60px;
  display: flex;
  align-items: flex-end;
  gap: 5px;
  margin-top: 20px;
}

.l-tab li {
  width: 100%;
}

.l-tab li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  height: 40px;
  border-radius: 10px 10px 0 0;
  border: 2px solid var(--c-red1);
  border-bottom: none;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
  color: var(--c-red1);
}

.l-tab li.show a {
  height: 50px;
  background-color: var(--c-red1);
  color: #fff;
  font-size: 1.2em;
}

.l-tab li#carrepairBtn a::before {
  font-family: icomoon;
  content: "\e94a";
  font-size: 1.4em;
  font-weight: 500;
}

.l-tab li#woodrepairBtn a::before {
  font-family: icomoon;
  content: "\e93b";
  font-size: 1.4em;
  font-weight: 500;
}

.l-tab li a img {
  display: none;
  width: 1.3em;
}

@media screen and (min-width: 768px),
print {
  .l-tab-wrap {
    padding: 0 20px;
  }

  .l-tab {
    position: relative;
    width: min(100%, 1000px);
    margin: auto;
  }

  .l-tab p {
    margin-bottom: 35px;
    font-size: 36px;
  }

  .l-tab p i {
    left: -20px;
    top: 8px;
    width: 44px;
    height: 44px;
  }

  .l-tab p i::before,
  .l-tab p i::after {
    width: 44px;
    height: 44px;
  }

  .l-tab .m-angle-anime-column span {
    font-size: 30px;
  }

  .l-tab ul {
    height: 90px;
    margin-top: 40px;
  }

  .l-tab li a {
    transition: background-color .2s, color .2s;
  }

  .l-tab li:not(.show):hover a {
    background-color: var(--c-red1);
    color: #fff;
  }

  .l-tab li a {
    height: 65px;
    font-size: 18px;
  }

  .l-tab li.show a {
    height: 80px;
    background-color: var(--c-red1);
    color: #fff;
    font-size: 21px;
  }
}

@media screen and (min-width: 1300px),
print {
  .top-sec2-tab>img {
    position: absolute;
    right: -140px;
    bottom: 0;
    z-index: 1;
    display: block;
    width: 183px;
  }
}


/* ----------------------------------------------------- */
/* conversion */
/* ----------------------------------------------------- */
/* l-conversion-a */
.l-conversion-a {
  margin: 50px 10%;
}

.l-conversion-a .m-btn-cv br {
  display: none;
}

@media screen and (min-width: 768px),
print {
  .l-conversion-a {
    width: min(100%, 940px);
    margin: 40px auto;
    padding: 0 20px;
  }

  .l-conversion-a .m-btn-cv {
    flex-direction: row;
  }

  .l-conversion-a .m-btn-cv>* {
    width: 49%;
  }
}

/* l-conversion-b */
.l-conversion-b .m-btn-cv {
  flex-direction: row;
  justify-content: space-between;
  margin: 40px;
  margin: 50px 5%;
}

.l-conversion-b .m-btn-cv br {
  display: inline;
}

.l-conversion-b .m-btn-cv a {
  padding: 3vmin 0;
}

.l-conversion-b .m-btn-cv>* {
  width: 49%;
}

.l-conversion-b .m-btn-cv a {
  border-radius: 5px;
}

.l-conversion-b .m-btn-cv span {
  display: none;
}

.l-conversion-b .m-btn-cv .m-angle-anime {
  display: block;
}

@media screen and (min-width: 768px),
print {
  .l-conversion-b {
    width: min(100%, 940px);
    margin: 40px auto 0;
    padding: 0 20px;
  }

  .l-conversion-b .m-btn-cv {
    margin: 0;
  }

  .l-conversion-b .m-btn-cv span {
    display: block;
  }

  .l-conversion-b .m-btn-cv a {
    padding: 22px 0;
    border-radius: 9999px;
  }

  .l-conversion-b .m-btn-cv br {
    display: none;
  }
}

/* l-conversion-c */
.l-conversion-c .cv-catch {
  position: relative;
  display: table;
  margin: 0 auto 15px;
  font-weight: 600;
  font-size: 18px;
}

.l-conversion-c .cv-catch::before,
.l-conversion-c .cv-catch::after {
  content: "";
  position: absolute;
  display: block;
  height: 100%;
  border-left: 1px solid #333;
}

.l-conversion-c .cv-catch::before {
  left: 0;
  top: 0;
  transform: translateX(-14px) rotate(-18deg);
}

.l-conversion-c .cv-catch::after {
  right: 0;
  top: 0;
  transform: translateX(14px) rotate(18deg);
}

.l-conversion-c .m-btn-cv {
  padding: 0 10%;
}

@media screen and (min-width: 768px),
print {
  .l-conversion-c .m-btn-cv {
    width: 437px;
    margin: auto;
    padding: 0;
  }
}

/* m-btn-cv2 -------------------------------------------- */
.m-btn-cv2-bg{
  padding: 50px 5%;
  background-color: var(--c-blue1);
}
.m-btn-cv2{
  padding: 30px 20px;
  background-color: #fff;
}
.m-btn-cv2 li{
  margin-bottom: 0.5em;
  padding: 0.4em 0;
  background-color: #333;
  text-align: center;
  color: #fff;
}
.m-btn-cv2 li span{
  padding-left: 1.6em;
  background: #333 url(../img/icon-check.svg) no-repeat left center / auto 1.2em;
}
.m-btn-cv2 .head-read{
  margin: 20px 0 0;
  font-family: "Noto Sans JP",sans-serif;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
  font-weight: 700;
  text-align: center;
  font-size: 20px;
  line-height: 1.4;
}
.m-btn-cv2 .read{
  margin: 16px 0;
  text-align: center;
}
@media screen and (min-width: 768px), print{
  .m-btn-cv2-bg{ padding: 60px 20px; }
  .m-btn-cv2{
    width: min(100%, 1000px);
    margin: auto;
    padding: 35px;
    padding-right: 370px;
    border-radius: 15px;
    background: #fff url(../img/m-btn-cv2-bg-pc.png) no-repeat right bottom / contain;
  }
  .m-btn-cv2 ul{
    display: flex;
    /* justify-content: space-between; */
    justify-content: center;
    gap: 8px;
    margin-bottom: 22px;
  }
  .m-btn-cv2 li{
    width: 44%;
    margin-bottom: 0;
  }
  .m-btn-cv2 .head-read{
    margin: 0;
    margin-bottom: 0.3em;
    font-size: 30px;
    line-height: 1;
  }
  .m-btn-cv2 .read{
    margin: 0;
    margin-bottom: 16px;
  }
  .m-btn-cv2 .m-btn-inquiry a{
    width: 80%;
    margin: auto;
  }
}

/* l-footer-conversion */
/* .l-conversion-bの上下余白の調整 */
.l-footer-conversion {
  margin: 70px 10%;
}

@media screen and (min-width: 768px),
print {
  .l-footer-conversion {
    margin: 120px auto;
    padding: 0 20px;
  }
}

/* m-btn-cv cv共通 */
.m-btn-cv {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.m-btn-cv .br {
  display: none;
}

@media screen and (min-width: 768px),
print {
  .m-btn-cv {
    display: flex;
    flex-wrap: nowrap;
    gap: 3%;
  }

  .m-btn-cv .br {
    display: inline;
  }
}

/* conversion btn */
.m-btn-cv a,
.m-btn-cv2 a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5vmin 0;
  border-radius: 9999px;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
  text-align: center;
  font-weight: 700;
  font-size: 3.5vmin;
  line-height: 1.4;
  color: #fff;
}

.m-btn-siryo a {
  background-image: linear-gradient(135deg, #3646AB, #1C036F);
}

.m-btn-inquiry a {
  background-image: linear-gradient(135deg, #76E3B9, #3CBABF);
}

.m-btn-red a {
  background-color: var(--c-red1);
}

@media screen and (min-width: 768px),
print {
  .m-btn-cv a,
  .m-btn-cv2 a {
    padding: 22px 0;
    border-radius: 9999px;
    font-size: 16px;
    transition: filter 0.4s;
  }

  .btn-tap-tel img,
  .m-btn-cv li {
    filter: drop-shadow(2px 2px 8px rgba(0, 0, 0, 0.2));
  }

  .m-btn-cv a,
  .m-btn-cv2 a {
    transition: filter 0.6s;
  }

  .btn-tap-tel a {
    cursor: pointer;
  }

  .m-btn-siryo a:hover {
    filter: brightness(140%);
  }

  .m-btn-inquiry a:hover {
    filter: brightness(110%);
  }

  .m-btn-red a:hover {
    filter: brightness(110%);
  }
}

/* アニメーション */
.m-angle-anime {
  display: flex;
  position: absolute;
  transform: scale(0.8, 1);
  right: 5%;
  top: 50%;
  translate: 0 -50%;
  font-size: 0.8em;
}

.m-angle-anime i::before {
  font-family: icomoon;
  content: "\e91f";
}

.m-angle-anime i {
  animation-name: fade;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-duration: 0.8s;
}

.m-angle-anime i:nth-of-type(2) {
  animation-delay: 0.6s;
}

.m-angle-anime i:nth-of-type(1) {
  animation-delay: 1.2s;
}

@keyframes fade {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/* m-angle-anime-column */
.m-angle-anime-column span {
  display: flex;
  flex-direction: column;
  font-size: 15px;
}

.m-angle-anime-column i::before {
  font-family: icomoon;
  content: "\e900";
  color: #949494;
}

.m-angle-anime-column i {
  line-height: 0.9;
  transform: scale(2, 1);
  animation: fade2 0.8s both infinite linear;
}

.m-angle-anime-column i:nth-of-type(2) {
  animation-delay: 0.6s;
}

.m-angle-anime-column i:nth-of-type(1) {
  animation-delay: 1.2s;
}

@keyframes fade2 {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/* m-btn-conversion-wrap */
.m-btn-conversion-wrap {
  padding: 0 5%;
  margin-bottom: 25px;
  background-color: #e9e9e9;
}

.m-btn-conversion li a {
  display: block;
  height: 16vmin;
  line-height: 16vmin;
  border-radius: 8px;
  text-align: center;
  font-size: 6vmin;
  color: #000;
}

.m-btn-conversion li a span::before {
  margin-right: 3vmin;
}

.m-btn-conversion li:first-of-type {
  margin-bottom: 25px;
}

.m-btn-conversion li:first-of-type a {
  background-color: #005e3c;
  color: #fff;
}

.m-btn-conversion li:first-of-type span::before {
  font-family: icomoon;
  content: "\e940";
  vertical-align: middle;
  display: inline-block;
}

.m-btn-conversion li:last-of-type a {
  background-color: #c4000f;
  color: #fff;
}

.m-btn-conversion li:last-of-type span::before {
  font-family: icomoon;
  content: "\e941";
  vertical-align: middle;
  display: inline-block;
}

@media screen and (min-width: 768px),
print {
  .m-btn-conversion-wrap {
    width: min(100%, 1240px);
    margin: auto;
    margin-bottom: 70px;
    padding: 0 20px;
  }

  .m-btn-conversion {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .m-btn-conversion li {
    width: 48%;
  }

  .m-btn-conversion li a {
    overflow: hidden;
    position: relative;
    z-index: 1;
    height: 80px;
    line-height: 80px;
    padding-left: 0;
    border-radius: 8px;
    text-align: center;
    font-size: 26px;
  }

  .m-btn-conversion li a::after {
    transition: width 0.6s;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 0%;
    height: 100%;
    background-color: #c9b935;
  }

  .m-btn-conversion li a:hover::after {
    width: 100%;
  }

  .m-btn-conversion li a span::before {
    margin-right: 12px;
    font-size: 44px;
  }

  .m-btn-conversion li:first-of-type {
    margin-bottom: 0;
  }

  .m-btn-conversion li:first-of-type a::after {
    background-color: #002b1b;
  }

  .m-btn-conversion li:last-of-type a::after {
    background-color: #91000b;
  }

  .l-block1 .m-btn-conversion li a,
  .l-block2 .m-btn-conversion li a {
    height: 54px;
    line-height: 54px;
    padding-left: 0;
    text-align: center;
    font-size: 22px;
  }

  .l-block1 .m-btn-conversion li a::before,
  .l-block2 .m-btn-conversion li a::before {
    width: 28px;
    height: 28px;
    line-height: 28px;
    margin-right: 5px;
    font-size: 14px;
  }

  .l-block1 .m-btn-conversion li a span::before,
  .l-block2 .m-btn-conversion li a span::before {
    margin-right: 5px;
  }
}

/* m-btn-conversion-inquiry */
.m-btn-conversion-inquiry {
  text-align: center;
}

.m-btn-conversion-inquiry a {
  display: block;
  height: 16vmin;
  line-height: 16vmin;
  padding-left: 0;
  border-radius: 8px;
  text-align: center;
  font-size: 6vmin;
  color: #333;
}

.m-btn-conversion-inquiry a span::before {
  margin-right: 3vmin;
}

.m-btn-conversion-inquiry a {
  background-color: #005e3c;
  color: #fff;
}

.m-btn-conversion-inquiry span::before {
  font-family: icomoon;
  content: "\e940";
  vertical-align: middle;
  display: inline-block;
}

@media screen and (min-width: 768px),
print {
  .m-btn-conversion-inquiry a {
    overflow: hidden;
    position: relative;
    z-index: 1;
    height: 54px;
    line-height: 54px;
    padding-left: 0;
    border-radius: 8px;
    text-align: center;
    font-size: 22px;
  }

  .m-btn-conversion-inquiry a::after {
    transition: width .6s;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    display: block;
    width: 0%;
    height: 100%;
    background-color: #c9b935;
  }

  .m-btn-conversion-inquiry a:hover::after {
    width: 100%;
  }

  .m-btn-conversion-inquiry a span::before {
    margin-right: 12px;
    font-size: 44px;
  }

  .m-btn-conversion-inquiry a::before {
    width: 28px;
    height: 28px;
    line-height: 28px;
    margin-right: 5px;
    font-size: 14px;
  }

  .m-btn-conversion-inquiry a span::before {
    margin-right: 5px;
  }

  .m-btn-conversion-inquiry a::after {
    background-color: #002b1b;
  }

}


/* ----------------------------------------------------- */
/* 余白 */
/* ----------------------------------------------------- */
/* margin  */
.m-mb-70-120 { margin-bottom: 70px; }
.m-mb-60-100 { margin-bottom: 60px; }
@media screen and (min-width: 768px), print {
  .m-mb-70-120 { margin-bottom: 120px; }
  .m-mb-60-100 { margin-bottom: 100px; }
}

/* padding */
.m-plr-5p-20 {
  padding-left: 5%;
  padding-right: 5%;
}
.m-plr-10p-20 {
  padding-left: 10%;
  padding-right: 10%;
}
@media screen and (min-width: 768px), print {
  .m-plr-5p-20 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .m-plr-10p-20 {
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* ----------------------------------------------------- */
/* オーナーインタビュー パネル */
/* ----------------------------------------------------- */
.m-owner-interview-list {
  margin-bottom: 30px;
}

.m-owner-interview-list > li {
  display: flex;
  flex-direction: column;
  background: #FFF;
  margin-bottom: 40px;
}
.m-owner-interview-list > li:last-child {
  margin-bottom: 0;
}
.m-owner-interview-list > li a {
  display: flex;
  flex-direction: column;
  background-color: #FFF;
}
.m-owner-interview-list > li > div {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  flex-grow: 1;
}
.m-owner-interview-list > li > div > p {
  padding: 0 10px;
}

.m-owner-interview-list > li .img {
  min-height: 174px;
  margin-bottom: 15px;
}
.m-owner-interview-list > li .img img {
  /* aspect-ratio: 16 / 9; */
  object-fit: cover;
  object-position: center;
}
.m-owner-interview-list > li .ttl {
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-weight: bold;
  margin-bottom: 15px;
}
.m-owner-interview-list > li .description {
  font-size: 12px;
  color: #707070;
  margin-bottom: 15px;  
  flex-grow: 1;
}

@media screen and (min-width: 768px), print {
  .m-owner-interview-list {
    display: flex;
    flex-wrap: wrap;
  }
  .m-owner-interview-list > li {
    width: calc(33.3333333% - 10.3333333333px);
    margin-right: 15px;
    margin-bottom: 30px;
  }
  .m-owner-interview-list > li:nth-child(3n) {
    margin-right: 0;
  }
  .m-owner-interview-list > li:last-child {
    margin-bottom: 30px;
  }
  .m-owner-interview-list > li > a {
    transition: filter 0.5s;
  }
  .m-owner-interview-list > li > a:hover {
    filter: brightness(85%);
  }
}

@media screen and (min-width: 1024px), print {
  /* カテゴリー、特集のインタビューリスト */
  .m-owner-interview-list > li {
    width: calc(33.3333333% - 33.3333333333px);
    margin-right: 50px;
    margin-bottom: 80px;
  }
}

/* ----------------------------------------------------- */
/* オーナーインタビュー カテゴリー */
/* ----------------------------------------------------- */
.m-interview-category {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.m-interview-category > li a {
  color: #C4000F;
  font-weight: bold;
  border: solid 2px #C4000F;
  border-radius: 25px;
  padding: 5px 10px;
  margin-right: 15px;
  margin-bottom: 15px;
  transition: .4s;
  cursor: pointer;
}
.m-interview-category > li a:hover {
  color: #FFF;
  background: #C4000F;
  transition: .4s;
}
.m-interview-category > li.slim a  {
  display: block;
  border: solid 1px #C4000F;
  padding: 3px 14px;
  margin: 0 10px 10px 0;
}
.m-interview-category > li.slim a {
  font-size: 15px;
  font-weight: normal;
}

/* ----------------------------------------------------- */
/* オーナーインタビュー　ページネーション */
/* ----------------------------------------------------- */
.m-interview-pages .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.m-interview-pages .page-numbers > li a,
.m-interview-pages .page-numbers > li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  background-color: #F4F4F4;
  border-radius: 50%;
  font-size: 16px;
  margin-right: 15px;
  margin-bottom: 15px;
  transition: .5s;
}
.m-interview-pages .page-numbers > li span,
.m-interview-pages .page-numbers > li a:hover {
  background-color: #000;
  color: #FFF;
  transition: .5s;
}


/* ----------------------------------------------------- */
/* オーナーインタビュー　特集 */
/* ----------------------------------------------------- */
.m-feature-list {
  width: min(100%, 1000px);
}

.m-feature-list li {
  border-bottom: solid 2px #D9D9D9;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.m-feature-list li:last-child {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.m-feature-list li a {
  background-color: #FFF;
}
.m-feature-list li .img {
  margin-bottom: 25px;
}
.m-feature-list li .img img {
  /* aspect-ratio: 16 / 9; */
  object-fit: cover;
  object-position: center;
}
.m-feature-list li .ttl {
  border-left: 4px solid var(--c-red1); 
  font-size: 16px;
  padding-left: 12px;
  margin-bottom: 15px;
}
.m-feature-list li .text {
  margin-bottom: 10px;
}
.m-feature-list li .m-link {
  text-align: left;
}

.m-feature-list  .m-btn-cv {
  margin: 65px 5%;
}

@media screen and (min-width: 768px) {
  .m-feature-list {
    margin: auto;
  }

  .m-feature-list li {
    padding-bottom: 70px;
    margin-bottom: 70px;
  }
  .m-feature-list li a {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    transition: filter 0.5s;
    padding: 30px 0;
  }
  .m-feature-list a:hover {
    filter: brightness(85%);
  }
  .m-feature-list li .img {
    width: calc( 45% - 40px );
    margin-bottom: 0;
  }
  .m-feature-list li .detail {
    width: 55%;
  }
  .m-feature-list li .ttl {
    font-size: 20px;
  }

  .m-feature-list .m-btn-cv {
    width: min(100%, 437px);
    margin: 65px auto;
  }
}


@media screen and (min-width: 1024px), print {
  .m-feature-list li .img {
    width: calc( 42% - 40px );
  }
  .m-feature-list li .detail {
    width: 58%;
  }
}

/* ----------------------------------------------------- */
/* オーナーインタビュー　特集パネル */
/* ----------------------------------------------------- */
.m-feature-panel li {
  background-color: #FFF;
  border-radius: 10px;
  margin-bottom: 40px;
}
.m-feature-panel li:last-child {
  margin-bottom: 0;
}
.m-feature-panel li a {
  display: block;
  background-color: #FFF;
  border-radius: 10px;
  padding-bottom: 20px;
}

.m-feature-panel li .tag {
  border-radius: 10px 10px 0 0;
  background-color: #BD000F;
  color: #FFF;
  text-align: center;
  white-space: nowrap;
  padding: 5px 20px;
}
.m-feature-panel li .ttl {
  color: #BD000F;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}
.m-feature-panel li .img {
  margin-bottom: 20px;
  overflow: hidden;
}
.m-feature-panel li .img img{
  scale: 1.1;
}
.m-feature-panel li .detail {
  padding: 0 5%;
  margin-bottom: 15px;
  flex-grow: 1;
}
.m-feature-panel li .m-link {
  text-align: center;
}
.m-feature-panel .m-btn-cv {
  margin: 65px 5%;
}

@media screen and (min-width: 768px) {
  .m-feature-panel ul {
    display: flex;
    flex-wrap: wrap;
    width: min(100%, 1000px);
    margin: auto;
  }
  .m-feature-panel li {
    display: flex;
    width: calc(50% - 15px);
    margin-right: 30px;
  }
  .m-feature-panel li a {
    display: flex;
    flex-direction: column;
    transition: filter 0.5s;
  }
  .m-feature-panel li a:hover {
    filter: brightness(85%);
  }  
  .m-feature-panel li:nth-child(2n) {
    margin-right: 0;
  }
  .m-feature-panel li:last-child {
    margin-bottom: 30px;
  }
  .m-feature-panel li .detail,
  .m-feature-panel li .detail .text{
    flex-grow: 1;
  }
  .m-feature-panel .m-btn-cv {
    width: min(100%, 437px);
    margin: 65px auto;
  }
}

@media screen and (min-width: 1024px), print {
  .m-feature-panel li {
    width: calc(33.3333333% - 13.3333333333px);
    margin: 0 20px 30px 0;
  }
  .m-feature-panel li:nth-child(2n) {
    margin-right: 20px;
  }
  .m-feature-panel li:nth-child(3n) {
    margin-right: 0;
  }
}
/* リスト
/* ----------------------------------------------------- */
.m-num-list {}
.m-num-list li{}
.m-num-list li:not(:last-of-type) {
  padding-bottom: 48px;
  margin-bottom: 48px;
  border-bottom: 1px solid var(--c-gray3);
}
.m-num-list .flex{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.m-num-list .flex img{
  width: 100%;
}
.m-num-list .flex .text{
}
.m-num-list .flex .text h3{
  margin-bottom: 16px;
  padding-left: 12px;
  border-left: 4px solid var(--c-red1);
  font-size: 22px;
}
.m-num-list .flex .text h3 > span{
  display: block;
  font-family: "Roboto Condensed", sans-serif;
  color: var(--c-red1);
  font-weight: 400;
  font-size: 40px;
  line-height: 1;
}
.m-num-list .flex .text h3 > span > span{
  display: inline-block;
  font-size: 18px;
  margin-left: 5px;
  transform: translateY(-1px);
}
.m-num-list .flex .text p{}

@media screen and (min-width: 768px), print{
  .m-num-list {
    width: min(100%, 1000px);
    margin-left: auto;
    margin-right: auto;
  }
  .m-num-list li{
  }
  .m-num-list li:not(:last-of-type) {
    padding-bottom: 56px;
    margin-bottom: 56px;
  }
  .m-num-list .flex{
    flex-direction: row-reverse;
    align-items: center;
    gap: 40px;
  }
  .m-num-list .flex img{
    width: 44%;
  }
  .m-num-list .flex .text{
  }
  .m-num-list .flex .text h3{
    padding-left: 16px;
    border-left: 5px solid var(--c-red1);
    font-size: 26px;
  }
  .m-num-list .flex .text h3 > span{
    font-size: 51px;
  }
  .m-num-list .flex .text h3 > span > span{
    font-size: 18px;
  }
  .m-num-list .flex .text p{}
}

/* ----------------------------------------------------- */
/* ポリシー文言　カスタマーハラスメント基本方針、プライバシーポリシー */
/* ---------------------------------------------------- */
.m-policy-list {
  margin-bottom: 40px;
}
.m-policy-list:last-child {
  margin-bottom: 0;
}
.m-policy-list h3 {
  border-left: 4px solid var(--c-red1);
  padding-left: 12px;
  margin-bottom: 15px;
}
.m-policy-list ol {
  counter-reset: section-num;
}
.m-policy-list li {
  margin-left: 15px;
}
.m-policy-list li::before {
  content: counter(section-num) ".";
  display: inline-block;
	counter-increment: section-num 1;
  margin-left: -15px;
  padding-left: 0;
  text-indent: 0;
}
.m-policy-list ol.double li {
  padding-left: 6px;
}
.m-policy-list ol.double li::before {
  width: 23px;
  margin-left: -21px;
}
.m-policy-list .note {
  font-size: 11px;
}

@media screen and (min-width: 768px), print{
  .m-policy-list  {
    margin-bottom: 55px;
  }
  .m-policy-list  h3 {
    padding-left: 16px;
    margin-bottom: 25px;
  }
  .m-policy-list .note {
    font-size: 13px;
  }
}