@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
/* box-sizing: border-box;を設定 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* フォントサイズの拡大を防ぐ */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* リストのスタイルを削除、これはデフォルトのスタイルが削除されることを示唆します */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* bodyのデフォルトを設定 */
body {
  min-height: 100vh;
  line-height: 1.5;
  margin: 0;
}

/* 見出しやインタラクティブ要素のline-heightを設定 */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* 見出しのテキスト折り返しをbalanceに設定 */
/* classを持たないa要素はデフォルトのスタイルを継承 */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* 画像の扱いを簡単にする */
img,
picture {
  max-width: 100%;
  display: block;
}

/* inputやbuttonなどのfontは継承 */
input,
button,
textarea,
select {
  font: inherit;
}

/* rows属性のないtextareasが小さくならないようにする */
textarea:not([rows]) {
  min-height: 10em;
}

/* アンカーされている要素には余分なスクロールマージンが必要 */
:target {
  scroll-margin-block: 5ex;
}

.css-reset * {
  margin: 0;
  padding: 0;
}
.css-reset body,
.css-reset h1,
.css-reset h2,
.css-reset h3,
.css-reset h4,
.css-reset p,
.css-reset figure,
.css-reset blockquote,
.css-reset dl,
.css-reset dd {
  margin: 0;
}
.css-reset p,
.css-reset h1,
.css-reset h2,
.css-reset h3,
.css-reset h4,
.css-reset h5,
.css-reset h6 {
  overflow-wrap: break-word;
}
.css-reset a {
  text-decoration: none;
}
.css-reset img {
  height: auto;
  object-fit: cover;
}
.css-reset input,
.css-reset button,
.css-reset select,
.css-reset textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
.css-reset textarea {
  resize: vertical;
}
.css-reset input[type=checkbox],
.css-reset input[type=radio] {
  display: none;
}
.css-reset input[type=submit],
.css-reset input[type=button],
.css-reset label,
.css-reset button,
.css-reset select {
  cursor: pointer;
}
.css-reset select::-ms-expand {
  display: none;
}

:root {
  --header-height: 64px;
  --font_family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Hiragino Kaku Gothic StdN', 'Meiryo', 'Noto Sans JP', sans-serif;
  --font_family-ja: 'Zen Kaku Gothic New', sans-serif;
  --font_family-en: 'Montserrat', sans-serif;
  --color_wh: #ffffff;
  --color_wh_rgb: 255, 255, 255;
  --color_wh-siro: #f1f1f1;
  --color_wh-siro_rgb: 241, 241,
    241;
  --color_bl: #000000;
  --color_bl_rgb: 0, 0, 0;
  --color_bl-kuro: #222222;
  --color_bl-kuro_rgb: 34, 34,
    34;
  --color_gr: #888888;
  --color_gr_rgb: 136, 136, 136;
  --color_gr-light: #d9d9d9;
  --color_gr-light_rgb: 217, 217,
    217;
  --color_gr-dark: #646464;
  --color_gr-dark_rgb: 100, 100,
    100;
  --color_theme: #e9eeef;
  --color_theme_rgb: 233, 238, 239;
  --color_theme-light: #d9cca6;
  --color_theme-light_rgb: 217, 204,
    166;
  --color_theme-dark: #483f34;
  --color_theme-dark_rgb: 72, 63,
    52;
  --color_theme-c1: #add8e6;
  --color_theme-c1_rgb: 173, 216,
    230;
  --color_theme-c2: #ffa07a;
  --color_theme-c2_rgb: 255, 160,
    122;
  --color_theme-c3: #f5deb3;
  --color_theme-c3_rgb: 245, 222,
    179;
  --color_theme-c4: #c5c56a;
  --color_theme-c4_rgb: 197, 197,
    106;
  --color_theme-c5: #9370db;
  --color_theme-c5_rgb: 147, 112,
    219;
  --color_theme-c6: #dc143c;
  --color_theme-c6_rgb: 220, 20,
    60;
  --color_theme-c7: #b4b4b9;
  --color_theme-c7_rgb: 180, 180,
    185;
  --color_theme-c8: #9ba0aa;
  --color_theme-c8_rgb: 155, 160,
    170;
  --color_twitter: #1da1f2;
  --color_twitter_rgb: 29, 161, 242;
  --color_facebook: #1877f2;
  --color_facebook_rgb: 24, 119, 242;
  --color_pintarest: #bd081c;
  --color_pintarest_rgb: 189, 8, 28;
  --color_line: #00b900;
  --color_line_rgb: 0, 185, 0;
  --color_instagram: #cf2e92;
  --color_instagram_rgb: 207, 46, 146;
}

.kaku {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

html {
  font-size: 100%;
}

.pis-li {
  padding-inline-start: 1.25em;
}

.img100 img {
  width: 100%;
}

.grad {
  background: linear-gradient(180deg, rgba(153, 47, 59, 0.86) 0%, #992f3b 57.81%, #641921 100%);
}

.ancher-links ul {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
  list-style-type: none;
}
@media screen and (min-width: 768px) {
  .ancher-links ul {
    flex-direction: row;
    gap: 30px 30px;
  }
  .ancher-links ul > * {
    width: calc((100% - 30px * 2) / 3);
  }
}
.ancher-links ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
  border-width: 4px;
  border-style: solid;
  border-color: var(--color-accent1);
  border-radius: 10px;
  background-color: var(--color-white);
  box-shadow: 10px 10px rgba(0, 0, 0, 0.25);
  text-align: center;
  text-decoration: none;
  transition: all 0.5s ease;
  padding-block: 1em;
  padding-inline: 1em;
}
.ancher-links ul li a.contact {
  background-color: var(--color-primary);
  border-color: var(--color-white);
  color: var(--color-white);
}
.ancher-links ul li a:hover {
  background-color: var(--color-primary);
  border-color: var(--color-white);
  color: var(--color-white);
  opacity: 0.8;
}

.note__contact p {
  font-size: 4vw;
}
@media screen and (min-width: 480px) {
  .note__contact p {
    font-size: 20rem;
  }
}
@media screen and (min-width: 768px) {
  .note__contact p {
    font-size: 30rem;
  }
}

.btn--contact {
  margin-top: 40px;
}
.btn--contact.--fixed {
  bottom: 0;
  right: 0;
  margin-top: 0px;
  position: sticky;
  z-index: 100;
}
@media screen and (min-width: 480px) {
  .btn--contact.--fixed {
    display: none;
    position: fixed;
    top: 50%;
    right: 0%;
    bottom: auto;
    transform: translate(0%, -50%);
    z-index: 100;
  }
}
.btn--contact.--fixed .wrapper {
  width: 100%;
  padding: 0;
}

.btn--contact a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
  max-width: 830px;
  height: 100%;
  margin: 0 auto;
  padding: 20px 0;
  border-radius: 10px;
  background-color: #add8e6;
  box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.25);
  font-weight: 500;
  line-height: 1.2;
  color: #ffffff;
  text-align: center;
  transition: all 0.3s;
  font-size: 2rem;
}
.btn--contact.--fixed a {
  font-size: 4vw;
  padding: 1em 1em;
  border-radius: 0;
  box-shadow: none;
  align-items: center;
  flex-direction: row;
  text-align: left;
  background-image: linear-gradient(180deg, #67cbeb 0%, #2c9dc1 100%);
  box-shadow: 0px 0px 9px 4px rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 480px) {
  .btn--contact.--fixed a {
    background-image: none;
    padding: 0.5em 1em;
    text-align: center;
    align-items: center;
    flex-direction: column;
    border-radius: 10px 0px 0px 10px;
    font-size: 16rem;
  }
}
@media screen and (min-width: 768px) {
  .btn--contact.--fixed a {
    font-size: 12rem;
  }
}

@media screen and (min-width: 480px) {
  .btn--contact a {
    flex-direction: row;
  }
}
.btn--contact a:hover {
  background-color: #ffa07a;
  color: #ffffff;
}
.btn--contact a::before {
  content: "";
  display: block;
  width: 1.2em;
  height: 1.2em;
  margin-right: 0em;
  margin-bottom: 10px;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: center center;
  background-size: contain;
  background-color: #ffffff;
  mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='m30.56,3.12c.11-.39.37-.73.72-.94.35-.21.77-.26,1.17-.16,3.72,1,7.12,2.96,9.85,5.69,2.73,2.73,4.69,6.12,5.69,9.85.05.2.07.4.04.6-.03.2-.09.4-.19.57-.1.18-.24.33-.4.45-.16.12-.35.21-.54.26l-.38.05c-.34,0-.67-.11-.94-.32-.27-.21-.46-.5-.54-.83-.87-3.2-2.56-6.12-4.9-8.46-2.34-2.34-5.26-4.03-8.46-4.9-.39-.11-.72-.36-.93-.71-.2-.35-.27-.76-.17-1.15Zm-1.02,9.76c1.81.5,3.47,1.46,4.8,2.79,1.33,1.33,2.29,2.98,2.79,4.8.08.33.28.62.54.83s.6.32.94.32l.38-.05c.39-.11.72-.37.93-.73.2-.35.27-.77.17-1.17-.63-2.34-1.86-4.47-3.58-6.18-1.71-1.71-3.84-2.95-6.18-3.58-.4-.09-.81-.03-1.17.17-.35.2-.61.54-.73.93-.1.39-.04.81.16,1.16.21.35.54.6.93.71Zm20.44,25.06c-.43,3.33-2.05,6.39-4.57,8.61-2.52,2.22-5.76,3.45-9.12,3.45C16.28,50,0,33.72,0,13.72c0-3.36,1.23-6.6,3.45-9.12C5.67,2.08,8.73.45,12.06.02c.77-.09,1.54.07,2.21.46.67.39,1.19.98,1.5,1.69l5.14,11.98c.23.54.33,1.13.28,1.72-.05.59-.24,1.16-.56,1.65l-4.27,6.49c-.04.07-.07.16-.07.24,0,.08.01.17.05.25,1.96,4.02,5.22,7.27,9.25,9.22.08.04.16.05.25.04.09,0,.17-.04.24-.09l6.41-4.27c.49-.33,1.06-.53,1.65-.58.59-.05,1.18.04,1.73.28l11.98,5.14c.71.3,1.3.83,1.69,1.5.39.67.55,1.44.46,2.21Zm-3.04-.38c0-.11-.02-.21-.07-.3-.06-.09-.14-.16-.24-.21l-11.98-5.14c-.08-.03-.16-.04-.25-.03s-.17.04-.24.08l-6.39,4.27c-.52.34-1.11.54-1.73.59s-1.24-.07-1.8-.33c-4.65-2.26-8.41-6.01-10.68-10.65-.27-.55-.38-1.17-.34-1.78.04-.61.24-1.21.57-1.72l4.24-6.49c.05-.07.08-.15.09-.24,0-.09,0-.17-.04-.25L12.95,3.37c-.04-.09-.1-.17-.18-.22-.08-.05-.18-.08-.27-.09h-.05c-2.59.34-4.96,1.61-6.69,3.57-1.72,1.96-2.68,4.48-2.69,7.09,0,8.81,3.51,17.25,9.74,23.48,6.23,6.23,14.67,9.73,23.48,9.74,2.61,0,5.13-.96,7.09-2.69,1.96-1.72,3.23-4.1,3.57-6.69Z'/%3E%3C/svg%3E") no-repeat center center;
  -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Cpath d='m30.56,3.12c.11-.39.37-.73.72-.94.35-.21.77-.26,1.17-.16,3.72,1,7.12,2.96,9.85,5.69,2.73,2.73,4.69,6.12,5.69,9.85.05.2.07.4.04.6-.03.2-.09.4-.19.57-.1.18-.24.33-.4.45-.16.12-.35.21-.54.26l-.38.05c-.34,0-.67-.11-.94-.32-.27-.21-.46-.5-.54-.83-.87-3.2-2.56-6.12-4.9-8.46-2.34-2.34-5.26-4.03-8.46-4.9-.39-.11-.72-.36-.93-.71-.2-.35-.27-.76-.17-1.15Zm-1.02,9.76c1.81.5,3.47,1.46,4.8,2.79,1.33,1.33,2.29,2.98,2.79,4.8.08.33.28.62.54.83s.6.32.94.32l.38-.05c.39-.11.72-.37.93-.73.2-.35.27-.77.17-1.17-.63-2.34-1.86-4.47-3.58-6.18-1.71-1.71-3.84-2.95-6.18-3.58-.4-.09-.81-.03-1.17.17-.35.2-.61.54-.73.93-.1.39-.04.81.16,1.16.21.35.54.6.93.71Zm20.44,25.06c-.43,3.33-2.05,6.39-4.57,8.61-2.52,2.22-5.76,3.45-9.12,3.45C16.28,50,0,33.72,0,13.72c0-3.36,1.23-6.6,3.45-9.12C5.67,2.08,8.73.45,12.06.02c.77-.09,1.54.07,2.21.46.67.39,1.19.98,1.5,1.69l5.14,11.98c.23.54.33,1.13.28,1.72-.05.59-.24,1.16-.56,1.65l-4.27,6.49c-.04.07-.07.16-.07.24,0,.08.01.17.05.25,1.96,4.02,5.22,7.27,9.25,9.22.08.04.16.05.25.04.09,0,.17-.04.24-.09l6.41-4.27c.49-.33,1.06-.53,1.65-.58.59-.05,1.18.04,1.73.28l11.98,5.14c.71.3,1.3.83,1.69,1.5.39.67.55,1.44.46,2.21Zm-3.04-.38c0-.11-.02-.21-.07-.3-.06-.09-.14-.16-.24-.21l-11.98-5.14c-.08-.03-.16-.04-.25-.03s-.17.04-.24.08l-6.39,4.27c-.52.34-1.11.54-1.73.59s-1.24-.07-1.8-.33c-4.65-2.26-8.41-6.01-10.68-10.65-.27-.55-.38-1.17-.34-1.78.04-.61.24-1.21.57-1.72l4.24-6.49c.05-.07.08-.15.09-.24,0-.09,0-.17-.04-.25L12.95,3.37c-.04-.09-.1-.17-.18-.22-.08-.05-.18-.08-.27-.09h-.05c-2.59.34-4.96,1.61-6.69,3.57-1.72,1.96-2.68,4.48-2.69,7.09,0,8.81,3.51,17.25,9.74,23.48,6.23,6.23,14.67,9.73,23.48,9.74,2.61,0,5.13-.96,7.09-2.69,1.96-1.72,3.23-4.1,3.57-6.69Z'/%3E%3C/svg%3E") no-repeat center center;
}
@media screen and (min-width: 480px) {
  .btn--contact a::before {
    margin-right: 0.5em;
    margin-bottom: 0px;
  }
}
.btn--contact.--fixed a::before {
  width: 1.5em;
  height: 1.5em;
  margin-right: 1em;
  margin-bottom: 0em;
}
@media screen and (min-width: 480px) {
  .btn--contact.--fixed a::before {
    margin-bottom: 0.5em;
    margin-right: 0em;
  }
}

.btn--contact a br {
  display: block;
}
@media screen and (min-width: 480px) {
  .btn--contact a br {
    display: none;
  }
}
.btn--contact.--fixed a br {
  display: block;
}
.btn--contact.--fixed a br.sp---none {
  display: none;
}
@media screen and (min-width: 480px) {
  .btn--contact.--fixed a br.sp---none {
    display: block;
  }
}

.checkup .heading3.v2 {
  text-align: center;
}

footer a {
  color: #ffffff;
}

.user__voice {
  background-image: url(../images/pat-dot.png);
  background-repeat: repeat;
  background-position: center center;
}

.contacts .tel__set .tel__header {
  display: flex;
  overflow: hidden;
  align-items: stretch;
  flex-direction: column;
  flex-wrap: wrap;
  border-radius: 10px 10px 10px 10px;
  background-color: var(--color-primary);
  cursor: pointer;
  gap: 0px 0px;
}
.contacts .tel__set .tel__header > *:nth-child(2n-1) {
  width: calc((100% - 0px * 0) * 10 / 10);
}
.contacts .tel__set .tel__header > *:nth-child(2n) {
  width: calc((100% - 0px * 0) * 10 / 10);
}
@media screen and (min-width: 768px) {
  .contacts .tel__set .tel__header {
    flex-direction: row;
    gap: 0px 0px;
  }
  .contacts .tel__set .tel__header > *:nth-child(2n-1) {
    width: calc((100% - 0px * 1) * 3 / 10);
  }
  .contacts .tel__set .tel__header > *:nth-child(2n) {
    width: calc((100% - 0px * 1) * 7 / 10);
  }
}
.contacts .tel__set.is__active .tel__header {
  border-radius: 10px 10px 0px 0px;
}

.contacts .tel__set .tel__header .flex__block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 20px;
}
.contacts .tel__set .tel__header h3 {
  width: 100%;
  height: 100%;
  padding: 10px;
  background-color: var(--color-tertiary);
  line-height: 1.25;
  color: var(--color-accent2);
  text-align: center;
}
.contacts .tel__set .tel__header p {
  color: #ffffff;
  text-align: left;
}
.contacts .tel__set .tel__header .tel__btn {
  position: relative;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50%;
  background-color: #ffffff;
  cursor: pointer;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__header .tel__btn {
    width: 50px !important;
    height: 50px !important;
  }
}
.contacts .tel__set .tel__header .tel__btn::before, .contacts .tel__set .tel__header .tel__btn::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  background-color: #add8e6;
  content: "";
  transform: translate(-50%, -50%);
}
.contacts .tel__set .tel__header .tel__btn::before {
  width: 10px;
  height: 2px;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__header .tel__btn::before {
    width: 20px;
    height: 5px;
  }
}
.contacts .tel__set .tel__header .tel__btn::after {
  width: 2px;
  height: 10px;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__header .tel__btn::after {
    width: 5px;
    height: 20px;
  }
}
.contacts .tel__set.is__active .tel__header .tel__btn::after {
  display: none;
}

.contacts .tel__set .tel__list {
  display: none;
  padding: 20px;
  border-radius: 0px 0px 10px 10px;
  background: #ffffff;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__list {
    padding: 30px;
  }
}
@media screen and (min-width: 768px) {
  .contacts .tel__set .tel__list {
    padding: 40px;
  }
}
.contacts .tel__set .tel__list h4 {
  margin-bottom: 20px;
  padding: 0.5em;
  background-color: #cccccc;
  font-weight: 500;
  text-align: center;
}
.contacts .tel__set .tel__list ul {
  list-style: none;
  align-items: center;
  flex-direction: column;
  padding: 0 10px;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__list ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0px 0px;
  }
  .contacts .tel__set .tel__list ul > * {
    width: calc((100% - 0px * 2) / 3);
  }
}
.contacts .tel__set .tel__list ul + h4 {
  margin-top: 30px;
  text-align: center;
}
.contacts .tel__set .tel__list ul li {
  margin-bottom: 10px;
  padding-left: 20px;
  font-weight: 500;
  text-align: left;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__list ul li {
    margin-bottom: 20px;
    padding-left: 0em;
  }
}
@media screen and (min-width: 768px) {
  .contacts .tel__set .tel__list ul li {
    margin-bottom: 20px;
  }
}
.contacts .tel__set .tel__list ul li span {
  display: block;
}
.contacts .tel__set .tel__list ul li a {
  padding-left: 1em;
  text-decoration: underline;
}
@media screen and (min-width: 480px) {
  .contacts .tel__set .tel__list ul li a {
    padding-left: 0;
  }
}

.heading-primary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  border-radius: 20px;
  background: var(--color-accent1);
}
@media screen and (min-width: 768px) {
  .heading-primary {
    background: transparent;
    justify-content: flex-end;
    flex-direction: row;
  }
}
.heading-primary h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1em;
  border-radius: 20px;
  background: var(--color-accent1);
  color: var(--color-white);
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (min-width: 480px) {
  .heading-primary h2 {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .heading-primary h2 {
    padding: 1em 5em 1em 1em;
    font-size: 2.4rem;
    position: absolute;
    z-index: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.heading-primary figure {
  z-index: 1;
  width: 32%;
}
@media screen and (min-width: 768px) {
  .heading-primary figure {
    margin-inline-end: 5%;
    width: 22%;
  }
}

.kensa-table table {
  width: calc(100% + 12px);
  margin: auto -6px;
  border-spacing: 6px;
  border-collapse: separate;
}
.kensa-table thead th {
  padding: 10px;
  background-color: var(--color-light-red);
  font-weight: 500;
  text-align: center;
}
.kensa-table tbody th {
  padding: 10px;
  background-color: var(--color-light-yellow);
  font-weight: 500;
  text-align: center;
}
.kensa-table tbody td {
  padding: 10px;
  background-color: var(--color-light-blue);
  font-weight: 500;
  text-align: center;
}