@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1. リセット
 * 2. CSS変数
 * 3. 共通設定
 * 4. レイアウト/テンプレートなど
 * 5. コンポーネント
 * 6.LP+
 * 7. 印刷用調整
 *
 ****************************************************/
/****************************************************
 * 1. リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #fff;
  line-height: 1.6;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
figure {
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset,
img,
svg {
  border: 0;
}

address,
caption,
cite,
dfn {
  font-style: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input,
textarea,
select,
button {
  font: inherit;
  color: inherit;
  margin: 0;
}

button {
  border: none;
  background: none;
  cursor: pointer;
}

input[type=submit],
input[type=button],
input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  cursor: pointer;
}

textarea {
  resize: vertical;
}

img,
svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

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

/****************************************************
 * 2. CSS変数
 ****************************************************/
:root {
  --base-font-family: "Noto Sans JP", sans-serif;
  --base-font-family-en: "Poppins", sans-serif;
  --base-font-color: #000000;
  --base-link-color: #000000;
  --base-background-color: #ffffff;
  --base-line-color: #cccccc;
  --contrast-color: #ffffff;
  --primary-color: #000000;
  --secondary-color: #666666;
  --tertiary-color: #999999;
  --primary-background-color: #fafafa;
  --secondary-background-color: #f0f0f0;
  --tertiary-background-color: #eaeaea;
}

/****************************************************
 * 3. 共通設定
 ****************************************************/
html {
  background-color: var(--base-background-color);
  background-image: none;
  font-family: var(--base-font-family);
  font-size: 10px;
  font-optical-sizing: auto;
  font-weight: 400;
  color: var(--base-font-color);
  scroll-behavior: smooth;
}
@media only screen and (max-width: 1280px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 960px) {
  html {
    font-size: 8px;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 780px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: var(--base-link-color);
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

@media only screen and (max-width: 960px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1280px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 780px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 961px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 781px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}

section {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 780px) {
  section {
    margin-bottom: 6rem;
  }
}

.section-ofh {
  overflow: hidden;
}

.section-bg01,
.section-bg02,
.section-bg03 {
  padding: 8rem 0;
}
@media only screen and (max-width: 780px) {
  .section-bg01,
  .section-bg02,
  .section-bg03 {
    padding: 6rem 0;
  }
}

.section-bg01 {
  background-color: var(--primary-background-color);
}

.section-bg02 {
  background-color: var(--secondary-background-color);
}

.section-bg03 {
  background-size: cover;
  background-position: center center;
  position: relative;
}
.section-bg03::after {
  content: "";
  opacity: 0.85;
  background-color: var(--base-background-color);
  position: absolute;
  inset: 0;
}
.section-bg03 .inner {
  position: relative;
  z-index: 1;
}

.section-box01 .inner {
  padding: 4rem;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
@media only screen and (max-width: 780px) {
  .section-box01 .inner {
    padding: 2rem;
  }
}

:where(.section-bg01, .section-bg02, .section-bg03):last-of-type {
  margin-bottom: 0;
}

p {
  line-height: 2;
}

.tab_content .tab_body > * {
  animation: tabDisp 1s;
}
.tab_content .tab_body > *:not(.current) {
  display: none;
  opacity: 0;
}
@keyframes tabDisp {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media only screen and (max-width: 780px) {
  .sp_scroll {
    width: 100%;
    padding-bottom: 2em;
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    -webkit-overflow-scrolling: touch;
  }
}
@media only screen and (min-width: 781px) {
  .sp_scroll .sp_scroll_guide {
    display: none !important;
  }
}
@media only screen and (max-width: 780px) {
  .sp_scroll .sp_scroll_guide {
    padding: 0.8em 1.2em;
    background-color: color-mix(in srgb, var(--base-font-color) 85%, transparent);
    color: var(--base-background-color);
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
    pointer-events: none;
    display: block;
    position: absolute;
    top: 1em;
    left: 50%;
    z-index: 10;
    border-radius: 0.5em;
    box-shadow: 0 0.3em 1em color-mix(in srgb, var(--base-font-color) 15%, transparent);
    transform: translateX(-50%);
  }
  .sp_scroll .sp_scroll_guide::after {
    margin-left: 0.8em;
    content: "↔";
    display: inline-block;
    animation: sp-scroll-guide 0.8s ease-in-out infinite alternate;
  }
}
@keyframes sp-scroll-guide {
  0% {
    transform: translateX(-0.3em);
  }
  100% {
    transform: translateX(0.3em);
  }
}
.pagination {
  margin-top: 5rem;
  text-align: center;
  letter-spacing: -0.4em;
}
.pagination > * {
  display: inline-block;
  letter-spacing: normal;
}
@media only screen and (max-width: 780px) {
  .pagination {
    margin-top: 3rem;
  }
}
.pagination :where(.page-numbers) {
  width: 2.5em;
  height: 2.5em;
  margin: 0 0.25em;
  padding: 0.5em;
  font-weight: 500;
  text-align: center;
  font-family: var(--base-font-family-en);
  border: solid 1px var(--base-line-color);
  vertical-align: middle;
}
.pagination :where(.page-numbers.dots) {
  margin: 0;
  border: none;
}
.pagination :where(.page-numbers.current) {
  color: var(--contrast-color);
  background-color: var(--primary-color);
}
.pagination :where(.page-numbers.prev),
.pagination :where(.page-numbers.next) {
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow01.svg");
  mask-image: url("../img/icon_arrow01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 1em auto;
  mask-size: 1em auto;
  -webkit-mask-position: center center;
  mask-position: center center;
  border: none;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
}
.pagination :where(.page-numbers.prev) {
  transform: scaleX(-1);
}
@media only screen and (min-width: 781px) {
  .pagination :where(a.page-numbers):hover {
    border-color: var(--primary-color);
  }
}

section:where([class^=c-], [class*=" c-"]) {
  animation: sectionFade 1s cubic-bezier(0.33, 1, 0.68, 1) both;
}
@keyframes sectionFade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.img_view {
  overflow: hidden;
  animation: imgView 1s cubic-bezier(0.33, 1, 0.68, 1) both;
}
.img_view img {
  display: block;
  width: 100%;
}
@keyframes imgView {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
.fadeUpView {
  animation: boxFadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) both;
}
@keyframes boxFadeUp {
  0% {
    opacity: 0;
    transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.c-subTtl01 {
  overflow: hidden;
  animation: subTtlView 1s cubic-bezier(0.33, 1, 0.68, 1) both;
}
@keyframes subTtlView {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0;
}
.editor-area p {
  margin-bottom: 2em;
}
.editor-area h2,
.editor-area h3,
.editor-area h4,
.editor-area h5,
.editor-area h6 {
  font-weight: 700;
}
.editor-area h2 {
  margin-bottom: 0.4em;
  font-size: 2.4rem;
}
.editor-area h3 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
}
.editor-area ul.wp-block-list,
.editor-area ol.wp-block-list {
  margin-bottom: 2em;
  padding-left: 1.5em;
}
.editor-area ul.wp-block-list > li,
.editor-area ol.wp-block-list > li {
  margin-bottom: 1em;
  padding-left: 1.5em;
  font-weight: 500;
}
.editor-area ul.wp-block-list > li:last-child,
.editor-area ol.wp-block-list > li:last-child {
  margin-bottom: 0;
}
.editor-area ul.wp-block-list > li {
  position: relative;
}
.editor-area ul.wp-block-list > li::before {
  width: 1em;
  height: 1em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_check.svg");
  mask-image: url("../img/icon_check.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  position: absolute;
  top: 0.25em;
  left: 0;
}
.editor-area ol.wp-block-list {
  counter-reset: list_num;
}
.editor-area ol.wp-block-list > li {
  counter-increment: list_num;
}
.editor-area ol.wp-block-list > li::before {
  width: 1em;
  margin: 0 0.5em 0 -1.5em;
  content: counter(list_num) ".";
  font-family: var(--base-font-family-en);
  display: inline-block;
  vertical-align: 0;
}
.editor-area .wp-block-image {
  margin-bottom: 2em;
}
.editor-area .wp-block-image.alignleft, .editor-area .wp-block-image.alignright,
.editor-area .wp-block-image .alignleft,
.editor-area .wp-block-image .alignright {
  max-width: 50%;
  margin-bottom: 1.5em;
}
.editor-area .wp-block-image.alignleft,
.editor-area .wp-block-image .alignleft {
  margin-right: 1.5em;
}
.editor-area .wp-block-image.alignright,
.editor-area .wp-block-image .alignright {
  margin-left: 1.5em;
}
.editor-area .wp-block-quote,
.editor-area blockquote:not([class]) {
  margin-bottom: 2em;
  padding-left: 1.5em;
  border-left: 0.25em solid var(--base-line-color);
}
.editor-area .wp-block-quote > *:last-child,
.editor-area blockquote:not([class]) > *:last-child {
  margin-bottom: 0;
}
.editor-area .wp-block-table {
  margin-bottom: 2em;
}
.editor-area .wp-block-table thead {
  border-bottom: none;
}
.editor-area .wp-block-table th,
.editor-area .wp-block-table td {
  padding: 1.25em;
  line-height: 2;
  vertical-align: top;
  border: solid 1px var(--base-line-color);
}
.editor-area .wp-block-table th {
  font-weight: 700;
}
.editor-area .wp-block-table thead th {
  padding: 1.2em;
  font-size: 1.8rem;
  text-align: center;
  background-color: var(--primary-background-color);
}
.editor-area .wp-block-columns {
  margin-bottom: 1.5em;
}
.editor-area .wp-block-column > *:last-child {
  margin-bottom: 0;
}
.editor-area a {
  text-decoration: underline;
  overflow-wrap: anywhere;
}
.editor-area .wp-block-button__link {
  text-decoration: none;
}
.editor-area pre {
  margin-bottom: 2em;
  overflow-x: auto;
}
.editor-area .wp-block-spacer {
  clear: both;
}

.swiper-wrapper {
  box-sizing: border-box !important;
}

/****************************************************
 * 4. レイアウト/テンプレートなど
 ****************************************************/
/* ヘッダー */
.l-header {
  width: 100%;
  margin-bottom: 1.5rem;
  padding: 3rem;
  background-color: var(--base-background-color);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.l-header :where(.logo) {
  flex: 0 0 32rem;
}
@media only screen and (max-width: 780px) {
  .l-header :where(.logo) {
    flex: 0 0 20rem;
  }
}
.l-header :where(.logo) a {
  display: block;
}
@media only screen and (min-width: 781px) {
  .l-header :where(.header_right) {
    padding-right: 8rem;
    flex: 1 1 0;
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .l-header :where(.header_right) {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 90;
  }
}
@media only screen and (min-width: 781px) {
  .l-header :where(.header_right) :where(.l-contact_btn01) {
    justify-content: flex-end;
  }
}
@media only screen and (min-width: 961px) {
  .l-header :where(.header_right) :where(.header_navi) {
    margin-top: 1em;
  }
  .l-header :where(.header_right) :where(.header_navi) ul {
    text-align: right;
    letter-spacing: -0.4em;
  }
  .l-header :where(.header_right) :where(.header_navi) ul > * {
    display: inline-block;
    letter-spacing: normal;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li {
    font-size: 0.9375em;
    font-weight: 500;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li::before {
    width: 1px;
    height: 1em;
    margin: 0 1em;
    content: "";
    background-color: var(--base-line-color);
    display: inline-block;
    vertical-align: -0.15em;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li:first-child::before {
    content: none;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li a {
    color: var(--base-link-color);
    display: inline-block;
    position: relative;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li a::after {
    width: 100%;
    height: 0.2rem;
    content: "";
    background-color: var(--base-link-color);
    position: absolute;
    bottom: -0.5em;
    left: 0;
    transform: scaleX(0);
    transition: transform 0.3s;
  }
  .l-header :where(.header_right) :where(.header_navi) ul li a:hover::after {
    transform: scaleX(1);
  }
}
.l-header :where(.menu_btn) {
  width: 6rem;
  height: 6rem;
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/menu_open.svg");
  mask-image: url("../img/menu_open.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  position: fixed;
  top: 3rem;
  right: 3rem;
  z-index: 99;
}

/* フッター */
.l-footer {
  border-top: solid 1px var(--base-line-color);
}
@media only screen and (min-width: 781px) {
  .l-footer :where(.fix_bnr) {
    width: 30rem;
    position: fixed;
    right: 1em;
    bottom: 1em;
    z-index: 90;
  }
}
@media only screen and (min-width: 781px) and (max-width: 960px) {
  .l-footer :where(.fix_bnr) {
    width: 25rem;
  }
}
@media only screen and (max-width: 780px) {
  .l-footer :where(.fix_bnr) {
    width: 100%;
    bottom: 0;
  }
}
@media only screen and (min-width: 781px) {
  .l-footer :where(.fix_bnr) dl {
    background-color: var(--base-background-color);
    border: solid 0.5rem var(--primary-color);
  }
}
@media only screen and (min-width: 781px) and (max-width: 960px) {
  .l-footer :where(.fix_bnr) dl {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-footer :where(.fix_bnr) dl dt {
    padding: 0.5em 0.5em 1em;
    font-size: 1.125em;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    color: var(--contrast-color);
    background-color: var(--primary-color);
    position: relative;
  }
  .l-footer :where(.fix_bnr) dl dt i {
    width: 1.8em;
    position: absolute;
    top: -0.9em;
    right: -0.9em;
  }
  .l-footer :where(.fix_bnr) dl dt i svg {
    width: 100%;
    fill: var(--tertiary-color);
  }
  .l-footer :where(.fix_bnr) dl dd {
    padding: 0.5em 1em;
  }
  .l-footer :where(.fix_bnr) dl dd p {
    margin-bottom: 1em;
    font-size: 0.9375em;
    line-height: 1.3;
  }
  .l-footer :where(.fix_bnr) dl dd :where(.btn) {
    text-align: center;
  }
  .l-footer :where(.fix_bnr) dl dd :where(.btn) a {
    min-width: 80%;
    max-width: 100%;
    padding: 0.4em 1em;
    font-weight: 700;
    text-align: center;
    color: var(--contrast-color);
    background-color: var(--primary-color);
    border-radius: 99px;
    display: inline-block;
    transition: opacity 0.3s;
  }
  .l-footer :where(.fix_bnr) dl dd :where(.btn) a:hover {
    opacity: 0.8;
  }
}
.l-footer :where(.footer_top) {
  padding: 6rem 0;
}
@media only screen and (min-width: 781px) {
  .l-footer :where(.footer_top) :where(.inner) {
    display: flex;
    justify-content: space-between;
  }
}
.l-footer :where(.footer_top) :where(.left, .right) {
  min-width: 0;
}
@media only screen and (max-width: 780px) {
  .l-footer :where(.footer_top) :where(.left) {
    margin-bottom: 3rem;
  }
}
.l-footer :where(.footer_top) :where(.left) :where(.logo) {
  width: 32rem;
  margin-bottom: 2em;
}
@media only screen and (max-width: 780px) {
  .l-footer :where(.footer_top) :where(.left) :where(.logo) {
    width: 20rem;
  }
}
.l-footer :where(.footer_top) :where(.left) :where(.logo) a {
  display: block;
}
.l-footer :where(.footer_top) :where(.left) :where(.company_name) {
  font-size: 1.8rem;
  font-weight: 500;
}
.l-footer :where(.footer_top) :where(.left) address {
  margin-top: 1em;
}
.l-footer :where(.footer_top) :where(.right) #holiday-calendar {
  margin-top: 1em;
  text-align: right;
}
.l-footer :where(.footer_top) :where(.right) #holiday-calendar :where(.holiday-calendar-month) table thead {
  background-color: var(--primary-background-color);
}
.l-footer :where(.footer_top) :where(.right) #holiday-calendar :where(.holiday-calendar-month) table th,
.l-footer :where(.footer_top) :where(.right) #holiday-calendar :where(.holiday-calendar-month) table td {
  border-color: var(--base-line-color);
}
.l-footer :where(.footer_top) :where(.right) #holiday-calendar :where(.holiday-calendar-info) {
  font-size: 1.2rem;
}
.l-footer :where(.footer_middle) {
  padding: 6rem 0;
  background-color: var(--primary-background-color);
}
.l-footer :where(.footer_bottom) {
  padding: 6rem 0;
}
@media only screen and (max-width: 780px) {
  .l-footer :where(.footer_bottom) {
    padding-bottom: 12rem;
  }
}
.l-footer :where(.footer_bottom) :where(.copyright) {
  font-size: 1.2rem;
  text-align: center;
}

/* Gナビ */
.l-gnavi {
  width: 100%;
  height: 0;
  background-color: var(--secondary-background-color);
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 98;
  overflow: hidden;
  transition: height 0.3s, opacity 0.3s;
}
.l-gnavi :where(.inner) {
  padding: 15rem 0;
}
@media only screen and (max-width: 780px) {
  .l-gnavi :where(.inner) {
    padding: 15rem 0 5rem;
  }
}

body.navi_open {
  overflow: hidden;
}
body.navi_open :where(.l-header .menu_btn) {
  -webkit-mask-image: url("../img/menu_close.svg");
  mask-image: url("../img/menu_close.svg");
}
body.navi_open :where(.l-gnavi) {
  height: 100vh;
  overflow-y: auto;
  opacity: 1;
}

/* サイトナビ */
@media only screen and (min-width: 781px) {
  .l-site_navi :where(.navigation) {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 2%;
    column-gap: 2%;
  }
}
@media only screen and (max-width: 780px) {
  .l-site_navi :where(.navigation) {
    border-top: solid 1px var(--base-line-color);
  }
}
.l-site_navi :where(.navigation) > li {
  font-size: 1.8rem;
}
@media only screen and (min-width: 1100px) {
  .l-site_navi :where(.navigation) > li {
    flex: 0 0 23.5%;
    margin-bottom: 4%;
  }
}
@media only screen and (max-width: 1099px) and (min-width: 781px) {
  .l-site_navi :where(.navigation) > li {
    flex: 0 0 32%;
    margin-bottom: 4%;
  }
}
@media only screen and (min-width: 781px) {
  .l-site_navi :where(.navigation) > li a:hover {
    color: var(--secondary-color);
  }
}
@media only screen and (max-width: 780px) {
  .l-site_navi :where(.navigation) > li {
    border-bottom: solid 1px var(--base-line-color);
  }
  .l-site_navi :where(.navigation) > li > a {
    padding: 1em 0;
    display: block;
  }
}
@media only screen and (min-width: 781px) {
  .l-site_navi :where(.navigation) > li ul {
    margin-top: 1em;
  }
}
@media only screen and (max-width: 780px) {
  .l-site_navi :where(.navigation) > li ul {
    margin-bottom: 1em;
  }
}
.l-site_navi :where(.navigation) > li ul li {
  font-size: 0.88em;
}
.l-site_navi :where(.navigation) > li ul li + li {
  margin-top: 1em;
}
.l-site_navi :where(.navigation) > li ul li a {
  padding-left: 1.3em;
}
.l-site_navi :where(.navigation) > li ul li a::before {
  width: 0.8em;
  height: 1px;
  margin: 0 0.5em 0 -1.3em;
  content: "";
  background-color: var(--base-link-color);
  display: inline-block;
  vertical-align: 0.25em;
}
@media only screen and (max-width: 780px) {
  .l-site_navi :where(.navigation) > li ul li a {
    display: inline-block;
  }
}

/* ヘッダーとフッターのコンタクトボタン */
.l-contact_btn01 {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .l-contact_btn01 {
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .l-contact_btn01 :where(.btn_tel, .btn_mail) {
    flex: 1 1 0;
    min-width: 0;
  }
}
.l-contact_btn01 :where(.btn_tel, .btn_mail) a::before {
  content: "";
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
}
.l-contact_btn01 :where(.btn_tel) a {
  display: inline-block;
}
.l-contact_btn01 :where(.btn_tel) a::before {
  width: 0.75em;
  height: 0.75em;
  margin-right: 0.25em;
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_tel.svg");
  mask-image: url("../img/icon_tel.svg");
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .l-contact_btn01 :where(.btn_tel) a {
    font-family: var(--base-font-family-en);
    font-size: 3rem;
    font-weight: 700;
  }
}
@media only screen and (max-width: 780px) {
  .l-contact_btn01 :where(.btn_tel) a {
    padding: 1em 1.5em;
    font-size: 1.8rem;
    font-weight: 500;
    background-color: var(--base-line-color);
  }
  .l-contact_btn01 :where(.btn_tel) a::before {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    vertical-align: -0.15em;
  }
}
@media only screen and (min-width: 781px) {
  .l-contact_btn01 :where(.btn_mail) {
    margin-left: 3rem;
  }
}
.l-contact_btn01 :where(.btn_mail) a {
  padding: 1em 1.5em;
  font-size: 1.8rem;
  font-weight: 500;
  background-color: var(--secondary-background-color);
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .l-contact_btn01 :where(.btn_mail) a {
    transition: background-color 0.3s;
  }
  .l-contact_btn01 :where(.btn_mail) a:hover {
    background-color: var(--base-line-color);
  }
}
.l-contact_btn01 :where(.btn_mail) a::before {
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_mail.svg");
  mask-image: url("../img/icon_mail.svg");
  vertical-align: -0.15em;
}
@media only screen and (max-width: 780px) {
  .l-contact_btn01 :where(.btn_tel a, .btn_mail a) {
    width: 100%;
    height: 100%;
    text-align: center;
    display: block;
  }
}

/* ヘッダーとフッターのSNSリンク */
@media only screen and (min-width: 781px) {
  .l-sns_links {
    margin-top: 10rem;
  }
}
@media only screen and (max-width: 780px) {
  .l-sns_links {
    margin-top: 5rem;
  }
}
.l-sns_links ul {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .l-sns_links ul {
    justify-content: flex-end;
  }
}
@media only screen and (max-width: 780px) {
  .l-sns_links ul {
    justify-content: center;
  }
}
.l-sns_links ul li {
  flex: 0 0 4rem;
  margin: 0 1rem;
}
.l-sns_links ul li a {
  width: 4rem;
  height: 4rem;
  background-color: var(--base-link-color);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: block;
}
.l-sns_links ul li a.icon-x {
  -webkit-mask-image: url("../img/icon_x.svg");
  mask-image: url("../img/icon_x.svg");
}
.l-sns_links ul li a.icon-facebook {
  -webkit-mask-image: url("../img/icon_facebook.svg");
  mask-image: url("../img/icon_facebook.svg");
}
.l-sns_links ul li a.icon-insta {
  -webkit-mask-image: url("../img/icon_insta.svg");
  mask-image: url("../img/icon_insta.svg");
}
.l-sns_links ul li a.icon-line {
  -webkit-mask-image: url("../img/icon_line.svg");
  mask-image: url("../img/icon_line.svg");
}
@media only screen and (min-width: 781px) {
  .l-sns_links ul li a {
    transition: opacity 0.3s;
  }
  .l-sns_links ul li a:hover {
    opacity: 0.6;
  }
}

/* TOP MV */
.l-top_mv {
  width: 100%;
  position: relative;
  z-index: 1;
}
.l-top_mv :where(.inner) {
  height: 63rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .l-top_mv :where(.inner) {
    height: 50rem;
  }
}
.l-top_mv :where(.inner) h1 {
  font-size: 4.8rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 780px) {
  .l-top_mv :where(.inner) h1 {
    font-size: 3rem;
  }
}
.l-top_mv :where(.swiper) {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.l-top_mv :where(.swiper) :where(.swiper-slide) {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.l-top_mv :where(.swiper) :where(.swiper-slide) > img,
.l-top_mv :where(.swiper) :where(.swiper-slide) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.l-top_mv :where(.swiper) :where(.swiper-pagination) {
  text-align: right;
}
.l-top_mv :where(.swiper) :where(.swiper-pagination) :where(.swiper-pagination-bullet) {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 0.5rem;
  background-color: var(--base-line-color);
  opacity: 1 !important;
}
.l-top_mv :where(.swiper) :where(.swiper-pagination) :where(.swiper-pagination-bullet-active) {
  background-color: var(--primary-color);
}

/* 下層ページタイトル */
.l-pagetitle {
  margin-bottom: 2.5rem;
  background-color: var(--tertiary-background-color);
  background-size: cover;
  background-position: center center;
}
.l-pagetitle :where(.inner) {
  height: 25rem;
  position: relative;
}
@media only screen and (max-width: 780px) {
  .l-pagetitle :where(.inner) {
    height: 20rem;
  }
}
.l-pagetitle :where(.inner) :where(.pagetitle) {
  font-size: 4rem;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 780px) {
  .l-pagetitle :where(.inner) :where(.pagetitle) {
    font-size: 2.6rem;
  }
}

/* パンくずリスト */
.l-pankuzu {
  margin-bottom: 10rem;
}
.l-pankuzu :where(.inner) {
  font-size: 1.2rem;
  letter-spacing: -0.4em;
}
.l-pankuzu :where(.inner) > * {
  display: inline-block;
  letter-spacing: normal;
}
.l-pankuzu :where(.inner) a::after {
  width: 1em;
  height: 1em;
  margin: 0 0.5em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow02.svg");
  mask-image: url("../img/icon_arrow02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: -0.15em;
}
.l-pankuzu :where(.inner) span {
  color: var(--tertiary-color);
}

/* ニュース・ブログ投稿ヘッダー */
.l-post_header :where(.inner) {
  padding-bottom: 10rem;
  border-bottom: solid 1px var(--base-line-color);
}
@media only screen and (max-width: 780px) {
  .l-post_header :where(.inner) {
    padding-bottom: 5rem;
  }
}
.l-post_header h1 {
  font-size: 3rem;
  font-weight: 700;
}
.l-post_header :where(.meta) {
  margin-top: 1.5em;
  letter-spacing: -0.4em;
}
.l-post_header :where(.meta) > * {
  display: inline-block;
  letter-spacing: normal;
}
.l-post_header :where(.meta) :where(.date) {
  margin-right: 0.5em;
  color: var(--tertiary-color);
  font-family: var(--base-font-family-en);
}
.l-post_header :where(.meta) :where(.cate) {
  display: inline-block;
}
.l-post_header :where(.meta) :where(.cate) span {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  font-size: 0.875em;
  border: solid 1px var(--base-line-color);
}
.l-post_header :where(.meta) :where(.cate) span:last-child {
  margin-right: 0;
}
.l-post_header :where(.icatch) {
  max-height: 60rem;
  margin-top: 2em;
  overflow: hidden;
}
.l-post_header :where(.icatch) > img,
.l-post_header :where(.icatch) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ニュース・ブログ投稿フッター */
.l-post_footer :where(.inner) {
  padding-top: 10rem;
  border-top: solid 1px var(--base-line-color);
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) {
    padding-top: 5rem;
  }
}
.l-post_footer :where(.inner) {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .l-post_footer :where(.inner) {
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) :where(.nav-list) {
    flex: 0 0 100%;
    padding-top: 2rem;
    text-align: center;
    order: 3;
  }
}
.l-post_footer :where(.inner) :where(.nav-previous, .nav-next) {
  min-width: 0;
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) :where(.nav-previous, .nav-next) {
    flex: 0 0 50%;
  }
}
.l-post_footer :where(.inner) :where(.nav-previous, .nav-next) a {
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) :where(.nav-previous, .nav-next) a {
    font-size: 1.3rem;
  }
}
.l-post_footer :where(.inner) :where(.nav-previous, .nav-next) a::before, .l-post_footer :where(.inner) :where(.nav-previous, .nav-next) a::after {
  width: 0.85em;
  height: 0.85em;
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow01.svg");
  mask-image: url("../img/icon_arrow01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) :where(.nav-previous) {
    order: 1;
  }
}
.l-post_footer :where(.inner) :where(.nav-previous) a::before {
  margin-right: 1em;
  content: "";
  transform: scale(-1, 1);
}
@media only screen and (max-width: 780px) {
  .l-post_footer :where(.inner) :where(.nav-next) {
    text-align: right;
    order: 2;
  }
}
.l-post_footer :where(.inner) :where(.nav-next) a::after {
  margin-left: 1em;
  content: "";
}

/* 404 */
.l-err-404 {
  padding: 6em 0;
  text-align: center;
}
@media only screen and (max-width: 960px) {
  .l-err-404 {
    padding: 3em 0;
  }
}
.l-err-404 :where(.ttl) {
  margin-bottom: 0.25em;
  font-family: var(--base-font-family-en);
  font-size: 6em;
  font-weight: 700;
  color: var(--tertiary-color);
}
@media only screen and (max-width: 960px) {
  .l-err-404 :where(.ttl) {
    font-size: 3em;
  }
}
.l-err-404 p a {
  text-decoration: underline;
  color: var(--base-link-color);
}

/****************************************************
 * 5. コンポーネント
 ****************************************************/
/* 共通見出し01 */
.c-subTtl01 {
  margin-bottom: 0.75em;
  padding-bottom: 0.5em;
  font-size: 3.2rem;
  font-weight: 700;
  position: relative;
}
.c-subTtl01::after {
  width: 2em;
  height: 0.1em;
  margin-top: 0.75em;
  content: "";
  background-color: var(--primary-color);
  display: block;
}
.c-subTtl01:where(.center) {
  text-align: center;
}
.c-subTtl01:where(.center)::after {
  margin-left: auto;
  margin-right: auto;
}

/* 共通見出し02 */
.c-subTtl02 {
  margin-bottom: 1em;
  padding-left: 0.75em;
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
}
.c-subTtl02::before {
  width: 0.2em;
  height: 1.2em;
  content: "";
  background-color: var(--secondary-color);
  position: absolute;
  top: 0.25em;
  left: 0;
}

/* 導入テキスト */
.c-read_text {
  margin-bottom: 2em;
  font-size: 1.25em;
  font-weight: 500;
  text-align: center;
}

/* 終了テキスト */
.c-end_text {
  margin-top: 2em;
  font-size: 1.25em;
  font-weight: 500;
  text-align: center;
}

/* 導入・終了テキスト共通 */
.c-read_text :where(small),
.c-end_text :where(small) {
  font-size: 0.8em;
  font-weight: 400;
}
.c-read_text :where(strong, b),
.c-end_text :where(strong, b) {
  font-size: 1.2em;
  font-weight: 700;
}

/* 終了ボタン */
.c-end_btn {
  margin-top: 2em;
  text-align: center;
}

/* 共通ボタン */
.c-btn01 {
  min-width: 30rem;
  padding: 1em 2em;
  font-size: 1.8rem;
  font-weight: 500;
  text-align: center;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
  border-radius: 0;
  display: inline-block;
  position: relative;
}
.c-btn01::after {
  width: 0.77em;
  height: 0.77em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow01.svg");
  mask-image: url("../img/icon_arrow01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
@media only screen and (min-width: 781px) {
  .c-btn01 {
    transition: background-color 0.3s;
  }
  .c-btn01:hover {
    background-color: var(--tertiary-background-color);
  }
}

/* 共通リスト01・02 */
.c-list-type01 :where(li),
.c-list-type02 :where(li) {
  margin-bottom: 1em;
  padding-left: 1.5em;
  font-weight: 500;
}
.c-list-type01 :where(li):last-child,
.c-list-type02 :where(li):last-child {
  margin-bottom: 0;
}

/* チェック付きリスト */
.c-list-type01 :where(li) {
  position: relative;
}
.c-list-type01 :where(li)::before {
  width: 1em;
  height: 1em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_check.svg");
  mask-image: url("../img/icon_check.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center center;
  mask-position: center center;
  position: absolute;
  top: 0.25em;
  left: 0;
}

/* 番号付きリスト */
.c-list-type02 {
  counter-reset: list_num;
}
.c-list-type02 :where(li) {
  counter-increment: list_num;
}
.c-list-type02 :where(li)::before {
  width: 1em;
  margin: 0 0.5em 0 -1.5em;
  content: counter(list_num) ".";
  font-family: var(--base-font-family-en);
  display: inline-block;
  vertical-align: 0;
}

/* 横並びタグリスト */
.c-list-type03 {
  letter-spacing: -0.4em;
}
.c-list-type03 > * {
  display: inline-block;
  letter-spacing: normal;
}
.c-list-type03 :where(li) {
  margin: 0 0.5em 1em;
  padding: 0.5em 1em;
  font-weight: 500;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}

/* ベースレイアウト */
.c-base-layout-content {
  --base-layout-img-width: 45%;
  --base-layout-gap: 5%;
  --base-layout-wide-img-basis: 82.2%;
  --base-layout-wide-img-offset: -37.2%;
  --base-layout-wide-img-sp-width: 105.5%;
  --base-layout-wide-img-sp-offset: -5.5%;
}
.c-base-layout-content :where(.img) {
  overflow: hidden;
}
.c-base-layout-content :where(.img) > img,
.c-base-layout-content :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content :where(.img) {
    flex: 0 0 var(--base-layout-img-width);
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-base-layout-content :where(.img) {
    margin-bottom: 2em;
  }
}
.c-base-layout-content :where(.text) {
  min-width: 0;
}
.c-base-layout-content :where(.text) > *:last-child {
  margin-bottom: 0 !important;
}
.c-base-layout-content :where(.text) :where(p, ul, ol, .btn, .text_in_img) {
  margin-bottom: 2em;
}
@media only screen and (max-width: 780px) {
  .c-base-layout-content :where(.text) :where(.text_in_img) {
    text-align: center;
  }
}
.c-base-layout-content:where(.text-center) {
  text-align: center;
}
.c-base-layout-content:where(.text-center) :where(.img) {
  width: 100%;
  margin-bottom: 2em;
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-center) :where(.img.width-max) {
    width: 100vw;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
  }
}
@media only screen and (max-width: 780px) {
  .c-base-layout-content:where(.text-center) :where(.img.width-max) {
    width: 111%;
    margin-left: -5.5%;
    margin-right: -5.5%;
  }
}
.c-base-layout-content:where(.text-center) :where(.text) {
  width: 100%;
}
.c-base-layout-content:where(.text-center) :where(.text) :where(.c-subTtl02) {
  margin-left: auto;
  margin-right: auto;
  display: table;
}
.c-base-layout-content:where(.text-center) :where(.text) :where(.c-list-type01, .c-list-type02) :where(li) {
  margin-left: auto;
  margin-right: auto;
  display: table;
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-left):not(:where(.no-image)) :where(.inner), .c-base-layout-content:where(.text-right) :where(.inner) {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-left):not(:where(.no-image)) :where(.text), .c-base-layout-content:where(.text-right) :where(.text) {
    flex: 1 1 0;
  }
}
.c-base-layout-content:where(.text-left):not(:where(.no-image)) :where(.img:not(.width-max)), .c-base-layout-content:where(.text-right) :where(.img:not(.width-max)) {
  align-self: flex-start;
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-left):not(:where(.no-image)) :where(.inner) {
    flex-direction: row-reverse;
    gap: var(--base-layout-gap);
  }
}
.c-base-layout-content:where(.text-left):where(.no-image) :where(.text) {
  width: 100%;
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-left) :where(.img.width-max) {
    flex-basis: var(--base-layout-wide-img-basis);
    margin-right: var(--base-layout-wide-img-offset);
  }
}
@media only screen and (max-width: 780px) {
  .c-base-layout-content:where(.text-left) :where(.img.width-max) {
    width: var(--base-layout-wide-img-sp-width);
    margin-right: var(--base-layout-wide-img-sp-offset);
  }
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-right) :where(.inner) {
    gap: var(--base-layout-gap);
  }
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-right) :where(.img.width-max) {
    flex-basis: var(--base-layout-wide-img-basis);
    margin-left: var(--base-layout-wide-img-offset);
  }
}
@media only screen and (max-width: 780px) {
  .c-base-layout-content:where(.text-right) :where(.img.width-max) {
    width: var(--base-layout-wide-img-sp-width);
    margin-left: var(--base-layout-wide-img-sp-offset);
  }
}
@media only screen and (min-width: 781px) {
  .c-base-layout-content:where(.text-right):where(.no-image) :where(.text) {
    flex: 0 0 50%;
  }
}

/* ボックスレイアウト */
.c-box-layout-content :where(.box) {
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
.c-box-layout-content :where(.box) + :where(.box) {
  margin-top: 3em;
}
.c-box-layout-content :where(.box) :where(h3) {
  padding: 0.5em 1em;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--contrast-color);
  background-color: var(--secondary-color);
}
.c-box-layout-content :where(.box) :where(.content) {
  padding: 1.5em 2em;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) {
  min-width: 0;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) > *:last-child {
  margin-bottom: 0 !important;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) :where(h4) {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) :where(p, ul, ol, .link) {
  margin-bottom: 2em;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) :where(.link) :where(a) {
  font-weight: 500;
  display: inline-block;
}
.c-box-layout-content :where(.box) :where(.content) :where(.text) :where(.link) :where(a)::after {
  width: 0.77em;
  height: 0.77em;
  margin-left: 0.5em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow02.svg");
  mask-image: url("../img/icon_arrow02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .c-box-layout-content :where(.box) :where(.content) :where(.text) :where(.link) :where(a)::after {
    transition: transform 0.3s;
  }
  .c-box-layout-content :where(.box) :where(.content) :where(.text) :where(.link) :where(a):hover::after {
    transform: translateX(0.5em);
  }
}
@media only screen and (min-width: 781px) {
  .c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 4%;
  }
}
.c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.img) {
  overflow: hidden;
}
.c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.img) > img,
.c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.img) {
    flex: 0 0 26%;
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.img) {
    margin-bottom: 2em;
  }
}
@media only screen and (min-width: 781px) {
  .c-box-layout-content :where(.box):where(.text-left, .text-right) :where(.content) :where(.text) {
    flex: 1 1 0;
  }
}
@media only screen and (min-width: 781px) {
  .c-box-layout-content :where(.box):where(.text-left) :where(.content) {
    flex-direction: row-reverse;
  }
}

/* カードレイアウト */
.c-card-layout-content {
  --card-column-gap: 4%;
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content :where(ul) {
    display: flex;
    flex-wrap: wrap;
  }
}
.c-card-layout-content :where(ul) :where(li) {
  padding: 1.5em;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
@media only screen and (max-width: 780px) {
  .c-card-layout-content :where(ul) :where(li) + :where(li) {
    margin-top: 2em;
  }
}
.c-card-layout-content :where(ul) :where(li) :where(.img) {
  overflow: hidden;
}
.c-card-layout-content :where(ul) :where(li) :where(.img) > img,
.c-card-layout-content :where(ul) :where(li) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 780px) {
  .c-card-layout-content :where(ul) :where(li) :where(.img) {
    margin-bottom: 1.5em;
    aspect-ratio: 16/9;
  }
}
.c-card-layout-content :where(ul) :where(li) :where(.text) {
  min-width: 0;
}
.c-card-layout-content :where(ul) :where(li) :where(.text) :where(h3) {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
}
.c-card-layout-content :where(ul) :where(li) :where(.text) :where(.link) {
  margin-top: 1em;
}
.c-card-layout-content :where(ul) :where(li) :where(.text) :where(.link) :where(a) {
  font-weight: 500;
  display: inline-block;
}
.c-card-layout-content :where(ul) :where(li) :where(.text) :where(.link) :where(a)::after {
  width: 0.77em;
  height: 0.77em;
  margin-left: 0.5em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow02.svg");
  mask-image: url("../img/icon_arrow02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content :where(ul) :where(li) :where(.text) :where(.link) :where(a)::after {
    transition: transform 0.3s;
  }
  .c-card-layout-content :where(ul) :where(li) :where(.text) :where(.link) :where(a):hover::after {
    transform: translateX(0.5em);
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) {
    -moz-column-gap: var(--card-column-gap);
    column-gap: var(--card-column-gap);
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) :where(li) {
    flex: 0 0 calc((100% - var(--card-column-gap)) / 2);
    margin-bottom: 4%;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    gap: 5%;
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) :where(li) :where(.img) {
    flex: 0 0 30%;
    min-width: 0;
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) :where(li) :where(.text) {
    flex: 1 1 0;
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) :where(li):where(.no-image) {
    display: block;
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.two_columns) :where(ul) :where(li):where(.no-image) :where(.text) {
    width: 100%;
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.three_columns) :where(ul) {
    -moz-column-gap: var(--card-column-gap);
    column-gap: var(--card-column-gap);
  }
}
@media only screen and (min-width: 781px) {
  .c-card-layout-content:where(.three_columns) :where(ul) :where(li) {
    flex: 0 0 calc((100% - var(--card-column-gap) * 2) / 3);
    margin-bottom: 4%;
  }
}
.c-card-layout-content:where(.three_columns) :where(ul) :where(li) :where(.img) {
  margin-bottom: 1.5em;
  aspect-ratio: 16/9;
}

/* リストコンテンツ */
.c-list-layout-content {
  --list-layout-gap: 2rem;
}
.c-list-layout-content :where(.list_contents) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--list-layout-gap);
}
.c-list-layout-content :where(.list_contents) > li {
  padding: 1.5rem;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
  display: flex;
  align-items: center;
  gap: 2rem;
  min-width: 0;
}
.c-list-layout-content :where(.list_contents) > li :where(.img) {
  flex: 0 0 8rem;
}
.c-list-layout-content :where(.list_contents) > li :where(.img) :where(img) {
  width: 100%;
  height: auto;
  display: block;
}
.c-list-layout-content :where(.list_contents) > li :where(.text) {
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.c-list-layout-content :where(.list_contents) > li :where(.text) :where(.title) {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-list-layout-content :where(.list_contents) > li :where(.text) :where(.note) {
  margin-top: 0.5em;
  font-size: 0.875em;
  line-height: 1.5;
}
.c-list-layout-content:where(.one_columns) :where(.list_contents) > li {
  flex: 0 0 100%;
}
.c-list-layout-content:where(.one_columns) :where(.list_contents) > li :where(.img) {
  flex: 0 0 10rem;
}
.c-list-layout-content:where(.two_columns) :where(.list_contents) > li {
  flex: 0 0 calc((100% - var(--list-layout-gap)) / 2);
}
@media only screen and (max-width: 780px) {
  .c-list-layout-content:where(.two_columns) :where(.list_contents) > li {
    flex-basis: 100%;
  }
}
@media only screen and (max-width: 450px) {
  .c-list-layout-content :where(.list_contents) > li {
    gap: 1.5rem;
  }
  .c-list-layout-content :where(.list_contents) > li :where(.img) {
    flex-basis: 6rem;
  }
  .c-list-layout-content :where(.list_contents) > li :where(.text .title) {
    font-size: 1.6rem;
  }
}

/* リンクリスト */
.c-link-list-layout-content {
  --link-list-gap: 2.3%;
}
@media only screen and (max-width: 780px) {
  .c-link-list-layout-content {
    --link-list-gap: 4%;
  }
}
.c-link-list-layout-content :where(ul) {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: var(--link-list-gap);
  column-gap: var(--link-list-gap);
}
.c-link-list-layout-content :where(ul) :where(li) {
  background-color: var(--base-background-color);
  margin-bottom: var(--link-list-gap);
}
@media only screen and (min-width: 781px) {
  .c-link-list-layout-content :where(ul) :where(li) {
    flex: 0 0 calc((100% - var(--link-list-gap) * 2) / 3);
  }
}
@media only screen and (max-width: 780px) {
  .c-link-list-layout-content :where(ul) :where(li) {
    flex: 0 0 calc((100% - var(--link-list-gap)) / 2);
  }
}
.c-link-list-layout-content :where(ul) :where(li) :where(a) {
  padding: 0.8em 3em 0.8em 0.8em;
  border: solid 1px var(--base-line-color);
  position: relative;
}
.c-link-list-layout-content :where(ul) :where(li) :where(a)::after {
  width: 0.77em;
  height: 0.77em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow02.svg");
  mask-image: url("../img/icon_arrow02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
@media only screen and (min-width: 781px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(a) {
    display: flex;
    align-items: center;
    gap: 2rem;
  }
  .c-link-list-layout-content :where(ul) :where(li) :where(a) :where(.img img) {
    transition: transform 0.3s;
  }
  .c-link-list-layout-content :where(ul) :where(li) :where(a):hover :where(.img img) {
    transform: scale(1.1);
  }
}
@media only screen and (max-width: 780px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(a) {
    display: block;
  }
}
.c-link-list-layout-content :where(ul) :where(li) :where(.img) {
  width: 10rem;
  height: auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.c-link-list-layout-content :where(ul) :where(li) :where(.img) > img,
.c-link-list-layout-content :where(ul) :where(li) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(.img) {
    flex: 0 0 10rem;
  }
}
@media only screen and (max-width: 780px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(.img) {
    margin: 0 auto 1em;
  }
}
.c-link-list-layout-content :where(ul) :where(li) :where(p) {
  line-height: 1.5;
}
@media only screen and (min-width: 781px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(p) {
    flex: 1 1 0;
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-link-list-layout-content :where(ul) :where(li) :where(p) {
    text-align: center;
  }
}

/* 画像ギャラリー */
.c-image-garrely-layout-content {
  --gallery-column-gap: 0;
  --gallery-row-gap: 2%;
  --gallery-item-width: 100%;
  --gallery-img-ratio: auto;
}
@media only screen and (max-width: 780px) {
  .c-image-garrely-layout-content {
    --gallery-row-gap: 4%;
  }
}
.c-image-garrely-layout-content :where(ul) {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: var(--gallery-column-gap);
  column-gap: var(--gallery-column-gap);
}
.c-image-garrely-layout-content :where(ul) :where(li) {
  flex: 0 0 var(--gallery-item-width);
  margin-bottom: var(--gallery-row-gap);
}
.c-image-garrely-layout-content :where(ul) :where(li) :where(a) {
  display: block;
}
@media only screen and (min-width: 781px) {
  .c-image-garrely-layout-content :where(ul) :where(li) :where(a) :where(.img img) {
    transition: transform 0.3s;
  }
  .c-image-garrely-layout-content :where(ul) :where(li) :where(a):hover :where(.img img) {
    transform: scale(1.1);
  }
}
.c-image-garrely-layout-content :where(ul) :where(li) :where(.img) {
  width: 100%;
  height: auto;
  aspect-ratio: var(--gallery-img-ratio);
  overflow: hidden;
}
.c-image-garrely-layout-content :where(ul) :where(li) :where(.img) > img,
.c-image-garrely-layout-content :where(ul) :where(li) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-image-garrely-layout-content :where(ul) :where(li) :where(p) {
  margin-top: 0.8em;
  text-align: center;
}
.c-image-garrely-layout-content :where(ul):where(.one_columns) {
  --gallery-item-width: 100%;
}
.c-image-garrely-layout-content :where(ul):where(.two_columns) {
  --gallery-column-gap: 2%;
  --gallery-item-width: 49%;
  --gallery-img-ratio: 16 / 9;
}
@media only screen and (max-width: 780px) {
  .c-image-garrely-layout-content :where(ul):where(.two_columns) {
    --gallery-column-gap: 0;
    --gallery-item-width: 100%;
  }
}
.c-image-garrely-layout-content :where(ul):where(.three_columns) {
  --gallery-column-gap: 2%;
  --gallery-item-width: 32%;
  --gallery-img-ratio: 16 / 9;
}
@media only screen and (max-width: 780px) {
  .c-image-garrely-layout-content :where(ul):where(.three_columns) {
    --gallery-column-gap: 0;
    --gallery-item-width: 100%;
  }
}
.c-image-garrely-layout-content :where(ul):where(.four_columns) {
  --gallery-column-gap: 1.86%;
  --gallery-row-gap: 1.86%;
  --gallery-item-width: 23.6%;
  --gallery-img-ratio: 1 / 1;
}
@media only screen and (max-width: 780px) {
  .c-image-garrely-layout-content :where(ul):where(.four_columns) {
    --gallery-column-gap: 4%;
    --gallery-row-gap: 4%;
    --gallery-item-width: 48%;
  }
}
.c-image-garrely-layout-content :where(ul):where(.five_columns) {
  --gallery-column-gap: 1.875%;
  --gallery-row-gap: 1.875%;
  --gallery-item-width: 18.5%;
  --gallery-img-ratio: 1 / 1;
}
@media only screen and (max-width: 780px) {
  .c-image-garrely-layout-content :where(ul):where(.five_columns) {
    --gallery-column-gap: 4%;
    --gallery-row-gap: 4%;
    --gallery-item-width: 48%;
  }
}

/* フロー */
.c-flow-layout-content :where(ol) {
  margin-left: 1.6rem;
  padding-left: 4.4rem;
  border-left: solid 0.2rem var(--base-font-color);
}
.c-flow-layout-content :where(ol) :where(li) {
  position: relative;
}
.c-flow-layout-content :where(ol) :where(li)::before {
  width: 3rem;
  height: 3rem;
  content: "";
  background-color: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: -6rem;
}
@media only screen and (min-width: 781px) {
  .c-flow-layout-content :where(ol) :where(li) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5%;
  }
}
.c-flow-layout-content :where(ol) :where(li) + :where(li) {
  margin-top: 4em;
}
.c-flow-layout-content :where(ol) :where(li) :where(.text) {
  min-width: 0;
}
@media only screen and (min-width: 781px) {
  .c-flow-layout-content :where(ol) :where(li) :where(.text) {
    flex: 1 1 0;
  }
}
.c-flow-layout-content :where(ol) :where(li) :where(.text) :where(.num) {
  font-family: var(--base-font-family-en);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.4;
}
.c-flow-layout-content :where(ol) :where(li) :where(.text) :where(h3) {
  margin-bottom: 0.8em;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .c-flow-layout-content :where(ol) :where(li) :where(.img) {
    flex: 0 0 21.5%;
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-flow-layout-content :where(ol) :where(li) :where(.img) {
    margin-top: 1em;
  }
}
@media only screen and (min-width: 781px) {
  .c-flow-layout-content :where(ol) :where(li):where(.no-image) :where(.text) {
    flex: 1 1 100%;
  }
}

/* 時系列リスト */
.c-date-order-layout-content {
  --date-order-padding-left: 4.4rem;
  --date-order-line-width: 0.2rem;
}
.c-date-order-layout-content :where(ol) {
  margin-left: 1.6rem;
  padding-left: var(--date-order-padding-left);
  border-left: solid var(--date-order-line-width) var(--base-font-color);
}
.c-date-order-layout-content :where(ol) :where(li) {
  position: relative;
}
.c-date-order-layout-content :where(ol) :where(li)::before {
  width: 3rem;
  height: var(--date-order-line-width);
  content: "";
  background-color: var(--base-font-color);
  position: absolute;
  top: 0.75em;
  left: calc(var(--date-order-padding-left) * -1);
}
.c-date-order-layout-content :where(ol) :where(li) + :where(li) {
  margin-top: 2em;
}
.c-date-order-layout-content :where(ol) :where(li) :where(.date) {
  color: var(--tertiary-color);
  font-family: var(--base-font-family-en);
}

/* FAQ */
.c-faq-content-layout {
  --faq-marker-size: 3.6rem;
}
.c-faq-content-layout :where(ul li) + li {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: solid 1px var(--base-line-color);
}
.c-faq-content-layout :where(ul li) :where(.faq_q, .faq_a) {
  min-height: var(--faq-marker-size);
  padding-top: 0.25em;
  padding-left: 5.6rem;
  position: relative;
}
.c-faq-content-layout :where(ul li) :where(.faq_q, .faq_a)::before {
  width: var(--faq-marker-size);
  height: var(--faq-marker-size);
  color: var(--contrast-color);
  font-size: 2rem;
  font-weight: 700;
  line-height: var(--faq-marker-size);
  text-align: center;
  border-radius: 50%;
  font-family: var(--base-font-family-en);
  position: absolute;
  top: 0;
  left: 0;
}
.c-faq-content-layout :where(ul li) :where(.faq_q) {
  margin-bottom: 2.3rem;
  font-size: 1.8rem;
  font-weight: 500;
}
.c-faq-content-layout :where(ul li) :where(.faq_q)::before {
  content: "Q";
  background-color: var(--primary-color);
}
.c-faq-content-layout :where(ul li) :where(.faq_a)::before {
  content: "A";
  background-color: var(--secondary-color);
}

/* テーブル01 */
.c-table-content-layout01 :where(.table table) {
  width: 100%;
  border-top: solid 1px var(--base-line-color);
}
.c-table-content-layout01 :where(.table table) :where(tbody tr) :where(th) {
  width: 30%;
  padding: 1.2em;
  font-size: 1.8rem;
  font-weight: 700;
  border-bottom: solid 1px var(--base-line-color);
  vertical-align: top;
}
.c-table-content-layout01 :where(.table table) :where(tbody tr) :where(td) {
  padding: 1.25em 0;
  line-height: 2;
  border-bottom: solid 1px var(--base-line-color);
  vertical-align: top;
}

/* テーブル02 */
.c-table-content-layout02 :where(.table table) {
  width: 100%;
  table-layout: fixed;
  background-color: var(--base-background-color);
}
.c-table-content-layout02 :where(.table table) :where(th) {
  padding: 1.2em;
  font-size: 1.8rem;
  font-weight: 700;
  border: solid 1px var(--base-line-color);
}
.c-table-content-layout02 :where(.table table) :where(thead tr th) {
  text-align: center;
  background-color: var(--secondary-background-color);
}
.c-table-content-layout02 :where(.table table) :where(tbody tr) :where(th) {
  background-color: var(--primary-background-color);
  vertical-align: top;
}
.c-table-content-layout02 :where(.table table) :where(tbody tr) :where(td) {
  padding: 1.25em;
  line-height: 2;
  vertical-align: top;
  border: solid 1px var(--base-line-color);
}
.c-table-content-layout02 :where(.table table):where(.columns-2.has-header-column) :where(thead th:first-child, tbody th) {
  width: 30%;
}
.c-table-content-layout02 :where(.table table):where(.columns-3.has-header-column, .columns-4.has-header-column) :where(thead th:first-child, tbody th) {
  width: 25%;
}

/* 投稿一覧01 */
.c-post01-content-layout ul {
  border-top: solid 1px var(--base-line-color);
}
.c-post01-content-layout ul li {
  padding: 1em;
  border-bottom: solid 1px var(--base-line-color);
}
.c-post01-content-layout ul li a {
  display: inline-block;
}
@media only screen and (min-width: 781px) {
  .c-post01-content-layout ul li a:hover p {
    text-decoration: underline;
  }
}
.c-post01-content-layout ul li .date {
  margin-right: 0.5em;
  color: var(--tertiary-color);
  font-family: var(--base-font-family-en);
  display: inline-block;
}
.c-post01-content-layout ul li .cate {
  display: inline-block;
}
.c-post01-content-layout ul li .cate span {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  font-size: 0.875em;
  border: solid 1px var(--base-line-color);
  display: inline-block;
}
.c-post01-content-layout ul li .cate span:last-child {
  margin-right: 0;
}
.c-post01-content-layout .btn {
  margin-top: 3em;
  text-align: center;
}

/* 投稿一覧02・03共通 */
.c-post02-content-layout,
.c-post03-content-layout {
  --post-card-column-gap: 2%;
}
.c-post02-content-layout :where(ul),
.c-post03-content-layout :where(ul) {
  display: flex;
}
@media only screen and (min-width: 781px) {
  .c-post02-content-layout :where(ul),
  .c-post03-content-layout :where(ul) {
    flex-wrap: wrap;
    -moz-column-gap: var(--post-card-column-gap);
    column-gap: var(--post-card-column-gap);
  }
}
@media only screen and (max-width: 780px) {
  .c-post02-content-layout :where(ul),
  .c-post03-content-layout :where(ul) {
    width: 100%;
    gap: 5rem;
  }
}
.c-post02-content-layout :where(ul) :where(li),
.c-post03-content-layout :where(ul) :where(li) {
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
@media only screen and (min-width: 781px) {
  .c-post02-content-layout :where(ul) :where(li),
  .c-post03-content-layout :where(ul) :where(li) {
    flex: 0 0 calc((100% - var(--post-card-column-gap) * 2) / 3);
    margin-bottom: 2%;
  }
}
@media only screen and (max-width: 780px) {
  .c-post02-content-layout :where(ul) :where(li),
  .c-post03-content-layout :where(ul) :where(li) {
    width: auto;
    margin: 0;
    flex: 0 0 min(100%, 354px);
  }
}
.c-post02-content-layout :where(ul) :where(li) :where(a),
.c-post03-content-layout :where(ul) :where(li) :where(a) {
  padding: 1.5em;
  display: block;
}
@media only screen and (min-width: 781px) {
  .c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img img),
  .c-post03-content-layout :where(ul) :where(li) :where(a) :where(.img img) {
    transition: transform 0.3s;
  }
  .c-post02-content-layout :where(ul) :where(li) :where(a):hover :where(.img img),
  .c-post03-content-layout :where(ul) :where(li) :where(a):hover :where(.img img) {
    transform: scale(1.1);
  }
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img),
.c-post03-content-layout :where(ul) :where(li) :where(a) :where(.img) {
  width: 100%;
  height: auto;
  margin-bottom: 1em;
  aspect-ratio: 353/250;
  overflow: hidden;
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img) > img,
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img) > video,
.c-post03-content-layout :where(ul) :where(li) :where(a) :where(.img) > img,
.c-post03-content-layout :where(ul) :where(li) :where(a) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img),
.c-post03-content-layout :where(ul) :where(li) :where(a) :where(.img) {
  position: relative;
}

/* 投稿一覧02 */
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img .cate) {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img .cate) :where(span) {
  margin-right: 0.5em;
  padding: 0.1em 0.5em;
  font-size: 0.875em;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
  display: inline-block;
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.img .cate) :where(span):last-child {
  margin-right: 0;
}
.c-post02-content-layout :where(ul) :where(li) :where(a) :where(.text .date) {
  color: var(--tertiary-color);
  font-family: var(--base-font-family-en);
  display: block;
}
.c-post02-content-layout :where(ul):where(.childpagesList) :where(li .text h3) {
  font-size: 2rem;
  font-weight: 700;
}
.c-post02-content-layout :where(.btn) {
  margin-top: 3em;
  text-align: center;
}

/* 投稿一覧03 */
.c-post03-content-layout :where(ul li a .text h3) {
  font-size: 2rem;
  font-weight: 700;
}

/* 拠点・店舗アクセス */
.c-access-list-content-layout :where(.access-list) :where(li) {
  padding: 2em;
}
@media only screen and (max-width: 780px) {
  .c-access-list-content-layout :where(.access-list) :where(li) {
    padding: 1em;
  }
}
.c-access-list-content-layout :where(.access-list) :where(li) {
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
@media only screen and (min-width: 781px) {
  .c-access-list-content-layout :where(.access-list) :where(li) {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 5%;
  }
}
.c-access-list-content-layout :where(.access-list) :where(li) + :where(li) {
  margin-top: 3em;
}
@media only screen and (max-width: 780px) {
  .c-access-list-content-layout :where(.access-list) :where(li) + :where(li) {
    margin-top: 2em;
  }
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) {
  min-width: 0;
}
@media only screen and (min-width: 781px) {
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.text) {
    flex: 1 1 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.text) {
    margin-bottom: 1.5em;
  }
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) > *:last-child {
  margin-bottom: 0 !important;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(h3) {
  font-size: 2.4rem;
  font-weight: 700;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(h3) + * {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: solid 1px var(--base-line-color);
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(h4) {
  margin-bottom: 0.75em;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.25;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(address) {
  margin-bottom: 1em;
  line-height: 2;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(p, .link) {
  margin-bottom: 1em;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(.link a) {
  font-weight: 500;
  display: inline-block;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(.link a)::after {
  width: 0.77em;
  height: 0.77em;
  margin-left: 0.5em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_arrow02.svg");
  mask-image: url("../img/icon_arrow02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(.link a)::after {
    transition: transform 0.3s;
  }
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.text) :where(.link a):hover::after {
    transform: translateX(0.5em);
  }
}
@media only screen and (min-width: 781px) {
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.map) {
    flex: 0 0 50%;
    min-width: 0;
  }
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.map) :where(img) {
  width: 100%;
}
.c-access-list-content-layout :where(.access-list) :where(li) :where(.map) :where(iframe) {
  width: 100%;
  height: 35rem;
}
@media only screen and (max-width: 780px) {
  .c-access-list-content-layout :where(.access-list) :where(li) :where(.map) :where(iframe) {
    height: 25rem;
  }
}

/* CTA */
.c-cta-content-layout :where(.inner) {
  padding: 3em;
}
@media only screen and (max-width: 780px) {
  .c-cta-content-layout :where(.inner) {
    padding: 1.5em;
  }
}
.c-cta-content-layout :where(.inner) {
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
.c-cta-content-layout :where(.inner) :where(h2) {
  margin-bottom: 1.3em;
}
@media only screen and (max-width: 780px) {
  .c-cta-content-layout :where(.inner) :where(h2) {
    margin-bottom: 0.5em;
  }
}
.c-cta-content-layout :where(.inner) :where(h2) {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
}
.c-cta-content-layout :where(.inner) :where(p) {
  margin-bottom: 3em;
  font-size: 1.25em;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .c-cta-content-layout :where(.inner) :where(p) {
    margin-bottom: 1.5em;
    text-align: left;
  }
}
.c-cta-content-layout :where(.inner) :where(.l-contact_btn01) > div {
  width: 50%;
  text-align: center;
}
.c-cta-content-layout :where(.inner) :where(.l-contact_btn01) > div:only-child {
  width: 100%;
}
@media only screen and (min-width: 781px) {
  .c-cta-content-layout :where(.inner) :where(.l-contact_btn01) :where(.btn_mail a) {
    width: 30rem;
  }
}

/* 自由エリア*/
/****************************************************
 * 6. LP+
 ****************************************************/
/* LPヘッダー */
.l-header_lp {
  --header-lp-menu-size: 6rem;
  width: 100%;
  margin-bottom: 1.5rem;
  padding: 1.5rem 0;
  background-color: var(--base-background-color);
}
.l-header_lp :where(.logo) {
  width: 32rem;
}
@media only screen and (max-width: 780px) {
  .l-header_lp :where(.logo) {
    width: 20rem;
  }
}
.l-header_lp :where(.logo) :where(a) {
  display: block;
}
@media only screen and (max-width: 960px) {
  .l-header_lp :where(.menu_btn) {
    width: var(--header-lp-menu-size);
    height: var(--header-lp-menu-size);
    background-color: var(--primary-color);
    -webkit-mask-image: url("../img/menu_open.svg");
    mask-image: url("../img/menu_open.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: cover;
    mask-size: cover;
    -webkit-mask-position: center center;
    mask-position: center center;
    position: fixed;
    top: 2.5rem;
    right: 3rem;
    z-index: 99;
  }
}
@media only screen and (min-width: 961px) {
  .l-header_lp :where(.anchor_link) {
    padding: 1.5em 2em;
    background-color: color-mix(in srgb, var(--base-background-color) 80%, transparent);
    border-radius: 0 0 0 1em;
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
  }
  .l-header_lp :where(.anchor_link) :where(ul) {
    display: table;
  }
  .l-header_lp :where(.anchor_link) :where(ul) > * {
    display: table-cell;
  }
  .l-header_lp :where(.anchor_link) :where(ul) :where(li) {
    padding: 0 1em;
  }
  .l-header_lp :where(.anchor_link) :where(ul) :where(li) :where(a) {
    font-weight: 500;
  }
  .l-header_lp :where(.anchor_link) :where(ul) :where(li) :where(a):hover {
    color: var(--primary-color);
  }
}
@media only screen and (max-width: 960px) {
  .l-header_lp :where(.anchor_link) {
    width: 100%;
    height: 0;
    background-color: var(--secondary-background-color);
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 98;
    overflow: hidden;
    transition: height 0.3s, opacity 0.3s;
  }
  .l-header_lp :where(.anchor_link) :where(ul) {
    width: 90%;
    margin: 0 auto;
    padding: 15rem 0 5rem;
  }
  .l-header_lp :where(.anchor_link) :where(ul) > li {
    border-bottom: solid 1px var(--base-line-color);
  }
  .l-header_lp :where(.anchor_link) :where(ul) > li:first-child {
    border-top: solid 1px var(--base-line-color);
  }
  .l-header_lp :where(.anchor_link) :where(ul) > li > a {
    padding: 1em 0;
    display: block;
  }
}

@media only screen and (max-width: 960px) {
  body.navi_open :where(.l-header_lp .menu_btn) {
    -webkit-mask-image: url("../img/menu_close.svg");
    mask-image: url("../img/menu_close.svg");
  }
}
@media only screen and (max-width: 960px) {
  body.navi_open :where(.l-header_lp .anchor_link) {
    height: 100vh;
    overflow-y: auto;
    opacity: 1;
  }
}

/* LPフッター */
.l-footer_lp {
  border-top: solid 1px var(--base-line-color);
}
.l-footer_lp :where(.fix_bnr) {
  overflow: visible;
}
@media only screen and (min-width: 781px) {
  .l-footer_lp :where(.fix_bnr) {
    width: 30rem;
    position: fixed;
    right: 1em;
    bottom: 1em;
    z-index: 90;
  }
}
@media only screen and (min-width: 781px) and (max-width: 960px) {
  .l-footer_lp :where(.fix_bnr) {
    width: 25rem;
  }
}
@media only screen and (max-width: 780px) {
  .l-footer_lp :where(.fix_bnr) {
    width: 100%;
    bottom: 0;
  }
}
.l-footer_lp :where(.fix_bnr) :where(dl) {
  overflow: visible;
}
@media only screen and (min-width: 781px) {
  .l-footer_lp :where(.fix_bnr) :where(dl) {
    background-color: var(--base-background-color);
    border: solid 0.5rem var(--primary-color);
  }
}
@media only screen and (min-width: 781px) and (max-width: 960px) {
  .l-footer_lp :where(.fix_bnr) :where(dl) {
    font-size: 1.5rem;
  }
}
@media only screen and (min-width: 781px) {
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dt) {
    padding: 0.5em 0.5em 1em;
    font-size: 1.125em;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    color: var(--contrast-color);
    background-color: var(--primary-color);
    position: relative;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dt) :where(i) {
    width: 1.8em;
    position: absolute;
    top: -0.9em;
    right: -0.9em;
    z-index: 1;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dt) :where(i) :where(svg) {
    width: 100%;
    fill: var(--tertiary-color);
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dd) {
    padding: 0.5em 1em;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dd) :where(p) {
    margin-bottom: 1em;
    font-size: 0.9375em;
    line-height: 1.3;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dd) :where(.btn) {
    text-align: center;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dd) :where(.btn) :where(a) {
    min-width: 80%;
    max-width: 100%;
    padding: 0.4em 1em;
    font-weight: 700;
    text-align: center;
    color: var(--contrast-color);
    background-color: var(--primary-color);
    border-radius: 99px;
    display: inline-block;
    transition: opacity 0.3s;
  }
  .l-footer_lp :where(.fix_bnr) :where(dl) :where(dd) :where(.btn) :where(a):hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 780px) {
  .l-footer_lp :where(.fix_bnr) :where(.fix_sp) {
    width: 100%;
    padding: 1em;
    color: var(--contrast-color);
    background-color: var(--primary-color);
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 90;
    display: flex;
    align-items: center;
  }
  .l-footer_lp :where(.fix_bnr) :where(.fix_sp) :where(p) {
    flex: 0 0 45%;
    font-size: 0.9375em;
    font-weight: 500;
    text-align: center;
  }
  .l-footer_lp :where(.fix_bnr) :where(.fix_sp) :where(.btn) {
    flex: 0 0 50%;
    margin-left: 5%;
  }
  .l-footer_lp :where(.fix_bnr) :where(.fix_sp) :where(.btn) :where(a) {
    padding: 0.5em;
    font-size: 1.125em;
    font-weight: 700;
    text-align: center;
    color: var(--primary-color);
    background-color: var(--contrast-color);
    display: block;
  }
}
.l-footer_lp :where(.footer_top) {
  padding: 6rem 0;
}
.l-footer_lp :where(.footer_top) :where(.logo) {
  width: 32rem;
}
@media only screen and (max-width: 780px) {
  .l-footer_lp :where(.footer_top) :where(.logo) {
    width: 20rem;
  }
}
.l-footer_lp :where(.footer_top) :where(.logo) {
  margin-bottom: 2em;
}
.l-footer_lp :where(.footer_top) :where(.logo) :where(a) {
  display: block;
}
.l-footer_lp :where(.footer_top) :where(.company_name) {
  font-size: 1.8rem;
  font-weight: 500;
}
.l-footer_lp :where(.footer_top) :where(address) {
  margin-top: 1em;
}
.l-footer_lp :where(.footer_top) :where(.site_link) {
  margin-top: 1em;
}
.l-footer_lp :where(.footer_middle) {
  padding: 6rem 0;
  background-color: var(--primary-background-color);
}
.l-footer_lp :where(.footer_bottom) {
  padding: 6rem 0;
}
@media only screen and (max-width: 780px) {
  .l-footer_lp :where(.footer_bottom) {
    padding-bottom: 12rem;
  }
}
.l-footer_lp :where(.footer_bottom) :where(.copyright) {
  font-size: 1.2rem;
  text-align: center;
}

/* LPファーストビュー */
.l-lp_fv {
  --lp-fv-text-width: calc(100% - 4rem);
  --lp-fv-bg-min-height: 60rem;
  --lp-fv-bg-padding: 10rem;
  --lp-fv-wide-img-offset: -37.2%;
  --lp-fv-wide-sp-width: 105.5%;
  overflow: hidden;
}
@media only screen and (max-width: 780px) {
  .l-lp_fv {
    --lp-fv-bg-min-height: 40rem;
    --lp-fv-bg-padding: 8rem;
  }
}
.l-lp_fv :where(.text) {
  animation: lpFvView 0.01s both;
}
.l-lp_fv :where(.text) > *:last-child {
  margin-bottom: 0 !important;
}
.l-lp_fv :where(.text) :where(h1) {
  margin-bottom: 0.5em;
  font-size: 4.8rem;
}
@media only screen and (max-width: 780px) {
  .l-lp_fv :where(.text) :where(h1) {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 450px) {
  .l-lp_fv :where(.text) :where(h1) {
    font-size: 2.8rem;
  }
}
.l-lp_fv :where(.text) :where(h1) {
  font-weight: 700;
  line-height: 1.4;
  overflow: hidden;
  opacity: 0;
}
@media only screen and (max-width: 780px) {
  .l-lp_fv :where(.text) :where(h1) :where(img) {
    max-width: 90%;
  }
}
.l-lp_fv :where(.text) :where(p, .btn) {
  margin-bottom: 2em;
  opacity: 0;
}
.l-lp_fv :where(.text)[style*="visibility: visible"] :where(h1) {
  animation: lpFvTitleView 1s cubic-bezier(0.33, 1, 0.68, 1) both;
}
.l-lp_fv :where(.text)[style*="visibility: visible"] :where(p, .btn) {
  animation: lpFvFadeView 0.8s ease 0.8s both;
}
.l-lp_fv:where(.bg-image) :where(.inner) {
  min-height: var(--lp-fv-bg-min-height);
  padding-top: var(--lp-fv-bg-padding);
  padding-bottom: var(--lp-fv-bg-padding);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.l-lp_fv:where(.bg-image) :where(.img) {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.l-lp_fv:where(.bg-image) :where(.img) > img,
.l-lp_fv:where(.bg-image) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.l-lp_fv:where(.bg-image) :where(.text) {
  width: var(--lp-fv-text-width);
  text-align: center;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.bg-image):where(.width-max) :where(.img) {
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.bg-image):where(.width-max) :where(.img) {
    width: 111%;
    left: -5.5%;
  }
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.inner) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5%;
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.inner) {
    min-height: var(--lp-fv-bg-min-height);
    padding-top: var(--lp-fv-bg-padding);
    padding-bottom: var(--lp-fv-bg-padding);
    display: flex;
    align-items: center;
    position: relative;
  }
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.img) {
    flex: 0 0 45%;
    min-width: 0;
    min-height: 40rem;
    align-self: stretch;
    overflow: hidden;
  }
  .l-lp_fv:where(.text-left, .text-right) :where(.img) > img,
  .l-lp_fv:where(.text-left, .text-right) :where(.img) > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.img) {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
  }
  .l-lp_fv:where(.text-left, .text-right) :where(.img) > img,
  .l-lp_fv:where(.text-left, .text-right) :where(.img) > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
}
.l-lp_fv:where(.text-left, .text-right) :where(.text) {
  min-width: 0;
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.text) {
    flex: 1 1 0;
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.text-left, .text-right) :where(.text) {
    width: var(--lp-fv-text-width);
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1;
  }
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left, .text-right):where(.width-max) :where(.img) {
    flex-basis: 82.2%;
  }
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left) :where(.inner) {
    flex-direction: row-reverse;
  }
}
.l-lp_fv:where(.text-left) :where(.text) {
  text-align: left;
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-left):where(.width-max) :where(.img) {
    margin-right: var(--lp-fv-wide-img-offset);
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.text-left):where(.width-max) :where(.img) {
    width: var(--lp-fv-wide-sp-width);
    left: 0;
  }
}
.l-lp_fv:where(.text-right) :where(.text) {
  text-align: right;
}
@media only screen and (min-width: 781px) {
  .l-lp_fv:where(.text-right):where(.width-max) :where(.img) {
    margin-left: var(--lp-fv-wide-img-offset);
  }
}
@media only screen and (max-width: 780px) {
  .l-lp_fv:where(.text-right):where(.width-max) :where(.img) {
    width: var(--lp-fv-wide-sp-width);
    left: -5.5%;
  }
}
@keyframes lpFvView {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes lpFvTitleView {
  0% {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
  }
}
@keyframes lpFvFadeView {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* LP問い合わせ */
.l-cta_contact {
  --cta-contact-links-gap: 2rem;
  --cta-contact-btn-padding: 1em 1.5em;
  margin-bottom: 0;
  padding: 8rem 0;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact {
    padding: 5rem 0;
  }
}
@media only screen and (max-width: 450px) {
  .l-cta_contact {
    padding: 4rem 0;
  }
}
.l-cta_contact {
  background-color: var(--primary-background-color);
}
.l-cta_contact :where(.inner) :where(h2) {
  margin-bottom: 0.75em;
  font-size: 3.6rem;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(h2) {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 450px) {
  .l-cta_contact :where(.inner) :where(h2) {
    font-size: 2.4rem;
  }
}
.l-cta_contact :where(.inner) :where(h2) {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.l-cta_contact :where(.inner) :where(.lead) {
  max-width: 80rem;
  margin: 0 auto 3em;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.lead) {
    margin-bottom: 2em;
  }
}
.l-cta_contact :where(.inner) :where(.lead) {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.lead) {
    text-align: left;
  }
}
.l-cta_contact :where(.inner) :where(.contact_links) {
  max-width: 90rem;
  margin: 0 auto 5rem;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.contact_links) {
    margin-bottom: 4rem;
  }
}
.l-cta_contact :where(.inner) :where(.contact_links) {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: var(--cta-contact-links-gap);
}
.l-cta_contact :where(.inner) :where(.contact_links) > div {
  flex: 0 0 calc((100% - var(--cta-contact-links-gap) * 2) / 3);
  min-width: 0;
  text-align: center;
}
.l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel) :where(a) {
  color: var(--base-font-color);
  display: inline-block;
}
.l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel) :where(a)::before {
  width: 0.75em;
  height: 0.75em;
  margin-right: 0.25em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-image: url("../img/icon_tel.svg");
  mask-image: url("../img/icon_tel.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel) :where(a) {
    font-family: var(--base-font-family-en);
    font-size: 3rem;
    font-weight: 700;
  }
}
.l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel) :where(p) {
  margin-top: 0.5em;
  font-size: 0.875em;
  line-height: 1.5;
}
.l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_line, .btn_other) :where(a) {
  width: 100%;
  min-height: 6rem;
  padding: var(--cta-contact-btn-padding);
  color: var(--contrast-color);
  background-color: var(--primary-color);
  border: solid 1px var(--primary-color);
  font-weight: 700;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s, color 0.3s;
}
@media only screen and (min-width: 781px) {
  .l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_line, .btn_other) :where(a):hover {
    color: var(--primary-color);
    background-color: transparent;
  }
}
.l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_line) :where(a)::before {
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  content: "";
  background-color: var(--contrast-color);
  -webkit-mask-image: url("../img/icon_line.svg");
  mask-image: url("../img/icon_line.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: -0.15em;
  transition: background-color 0.3s;
}
@media only screen and (min-width: 781px) {
  .l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_line) :where(a):hover::before {
    background-color: var(--primary-color);
  }
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.contact_links) {
    display: block;
  }
  .l-cta_contact :where(.inner) :where(.contact_links) > div {
    width: 100%;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }
  .l-cta_contact :where(.inner) :where(.contact_links) > div + div {
    margin-top: 1rem;
  }
  .l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel a) {
    width: 100%;
    padding: var(--cta-contact-btn-padding);
    color: var(--contrast-color);
    background-color: var(--primary-color);
    font-weight: 700;
    text-align: center;
    display: block;
  }
  .l-cta_contact :where(.inner) :where(.contact_links) :where(.btn_tel a)::before {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    background-color: var(--contrast-color);
    vertical-align: -0.15em;
  }
}
.l-cta_contact :where(.inner) :where(.form_area) {
  max-width: 90rem;
  margin: 0 auto;
}
.l-cta_contact :where(.inner) :where(.form_area) :where(h3) {
  margin-bottom: 0.75em;
  font-size: 2.8rem;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.form_area) :where(h3) {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 450px) {
  .l-cta_contact :where(.inner) :where(.form_area) :where(h3) {
    font-size: 2rem;
  }
}
.l-cta_contact :where(.inner) :where(.form_area) :where(h3) {
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.l-cta_contact :where(.inner) :where(.form_area) :where(.form_lead) {
  margin-bottom: 2em;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.form_area) :where(.form_lead) {
    text-align: left;
  }
}
.l-cta_contact :where(.inner) :where(.form_area) :where(.form_wrap) {
  padding: 4rem;
}
@media only screen and (max-width: 780px) {
  .l-cta_contact :where(.inner) :where(.form_area) :where(.form_wrap) {
    padding: 2rem;
  }
}
@media only screen and (max-width: 450px) {
  .l-cta_contact :where(.inner) :where(.form_area) :where(.form_wrap) {
    padding: 1.5rem;
  }
}
.l-cta_contact :where(.inner) :where(.form_area) :where(.form_wrap) {
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
.l-cta_contact :where(.inner) > :where(.note) {
  max-width: 90rem;
  margin: 1.5em auto 0;
  font-size: 0.875em;
  line-height: 1.6;
  text-align: center;
}

/* LPスライド共通テキスト */
.c-horizontal-slide-layout-content :where(.text) > *:last-child,
.c-text-img-slide-layout-content :where(.swiper-slide .text) > *:last-child,
.c-comparison-slide-layout-content :where(.swiper-slide .text) > *:last-child,
.c-talk-layout-content :where(.talk_text) > *:last-child,
.c-voice-layout-content :where(.voice_text) > *:last-child {
  margin-bottom: 0 !important;
}
.c-horizontal-slide-layout-content :where(.text) :where(h3),
.c-text-img-slide-layout-content :where(.swiper-slide .text) :where(h3),
.c-comparison-slide-layout-content :where(.swiper-slide .text) :where(h3),
.c-talk-layout-content :where(.talk_text) :where(h3),
.c-voice-layout-content :where(.voice_text) :where(h3) {
  margin-bottom: 0.5em;
  font-size: 2rem;
  font-weight: 700;
}
.c-horizontal-slide-layout-content :where(.text) :where(p),
.c-text-img-slide-layout-content :where(.swiper-slide .text) :where(p),
.c-comparison-slide-layout-content :where(.swiper-slide .text) :where(p),
.c-talk-layout-content :where(.talk_text) :where(p),
.c-voice-layout-content :where(.voice_text) :where(p) {
  margin-bottom: 1em;
}

/* 横スライドコンテンツ */
.c-horizontal-slide-layout-content {
  --horizontal-nav-offset: -3.5em;
}
.c-horizontal-slide-layout-content :where(.swiper-outer) {
  position: relative;
}
.c-horizontal-slide-layout-content :where(.swiper-outer):where(.inner) :where(.swiper-button-prev) {
  left: var(--horizontal-nav-offset);
}
.c-horizontal-slide-layout-content :where(.swiper-outer):where(.inner) :where(.swiper-button-next) {
  right: var(--horizontal-nav-offset);
}
.c-horizontal-slide-layout-content :where(.swiper-slide) {
  height: auto;
}
.c-horizontal-slide-layout-content :where(.swiper-slide) :where(a) {
  display: block;
}
.c-horizontal-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
  color: var(--primary-color);
}
@media only screen and (max-width: 780px) {
  .c-horizontal-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
    display: none !important;
  }
}
.c-horizontal-slide-layout-content :where(.swiper-pagination-bullet) {
  margin: 0 0.5em !important;
  background-color: var(--tertiary-color);
  opacity: 0.6 !important;
}
.c-horizontal-slide-layout-content :where(.swiper-pagination-bullet):where(.swiper-pagination-bullet-active) {
  background-color: var(--primary-color);
  opacity: 1 !important;
}
.c-horizontal-slide-layout-content:where(.no-navigation) :where(.swiper-button-prev, .swiper-button-next) {
  display: none;
}
.c-horizontal-slide-layout-content:where(.loop) :where(.swiper-wrapper) {
  transition-timing-function: linear !important;
}
.c-horizontal-slide-layout-content:where(.loop) :where(.swiper-slide) {
  width: auto;
  height: auto;
}
.c-horizontal-slide-layout-content:where(.loop) :where(.swiper-slide) :where(.img) {
  max-width: 25rem;
  min-width: 10rem;
}
.c-horizontal-slide-layout-content:where(.loop) :where(.swiper-slide) :where(.img) :where(img) {
  width: 100%;
}
@media only screen and (min-width: 781px) {
  .c-horizontal-slide-layout-content:where(.loop) :where(.swiper-slide) :where(a):hover {
    opacity: 0.8;
  }
}
.c-horizontal-slide-layout-content:not(:where(.loop)) :where(.swiper) {
  padding-bottom: 5rem;
}
.c-horizontal-slide-layout-content:not(:where(.loop)) :where(.swiper-slide) {
  padding: 1rem;
  background-color: var(--base-background-color);
}
@media only screen and (min-width: 781px) {
  .c-horizontal-slide-layout-content:not(:where(.loop)) :where(.swiper-slide) :where(a):hover::before {
    width: 100%;
    height: 100%;
    content: "";
    border: solid 1rem color-mix(in srgb, var(--base-link-color) 50%, transparent);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.c-horizontal-slide-layout-content :where(.img) {
  overflow: hidden;
}
.c-horizontal-slide-layout-content :where(.img) > img,
.c-horizontal-slide-layout-content :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-horizontal-slide-layout-content :where(.text) {
  padding: 1em;
}
.c-horizontal-slide-layout-content :where(.text) :where(ul, ol) {
  margin-bottom: 1em;
}
.c-horizontal-slide-layout-content:where(.no-pagination) :where(.swiper) {
  padding-bottom: 0;
}
.c-horizontal-slide-layout-content:where(.no-pagination) :where(.swiper-pagination) {
  display: none;
}

/* テキスト＋画像スライドコンテンツ */
.c-text-img-slide-layout-content {
  --text-img-slide-img-width: 40%;
  --text-img-slide-text-side-padding: 2em;
}
.c-text-img-slide-layout-content :where(.swiper-outer) {
  position: relative;
}
.c-text-img-slide-layout-content :where(.swiper) {
  padding-bottom: 5rem;
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content :where(.swiper-slide) {
    display: flex;
  }
}
.c-text-img-slide-layout-content :where(.swiper-slide) :where(.img) {
  overflow: hidden;
}
.c-text-img-slide-layout-content :where(.swiper-slide) :where(.img) > img,
.c-text-img-slide-layout-content :where(.swiper-slide) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content :where(.swiper-slide) :where(.img) {
    flex: 0 0 var(--text-img-slide-img-width);
    min-width: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content :where(.swiper-slide) :where(.img) {
    margin-bottom: 1em;
  }
}
.c-text-img-slide-layout-content :where(.swiper-slide) :where(.text) {
  min-width: 0;
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content :where(.swiper-slide) :where(.text) {
    flex: 1 1 0;
    padding-top: 5rem;
  }
}
.c-text-img-slide-layout-content :where(.swiper-slide) :where(.text) :where(ul, ol, .btn) {
  margin-bottom: 1em;
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.text_left) :where(.swiper-slide) {
    flex-direction: row-reverse;
  }
  .c-text-img-slide-layout-content:where(.text_left) :where(.swiper-slide) :where(.text) {
    padding-right: var(--text-img-slide-text-side-padding);
  }
}
.c-text-img-slide-layout-content:where(.text_left) :where(.swiper-number) {
  left: 0;
}
.c-text-img-slide-layout-content:where(.text_left) :where(.swiper-arrow) {
  right: 1rem;
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.text_right) :where(.swiper-slide) :where(.text) {
    padding-left: var(--text-img-slide-text-side-padding);
  }
}
.c-text-img-slide-layout-content:where(.text_right) :where(.swiper-number) {
  left: calc(var(--text-img-slide-img-width) + var(--text-img-slide-text-side-padding));
}
.c-text-img-slide-layout-content:where(.text_right) :where(.swiper-arrow) {
  left: 1rem;
}
.c-text-img-slide-layout-content :where(.swiper-number) {
  font-family: var(--base-font-family-en);
  font-weight: 500;
  font-style: italic;
  position: absolute;
  top: 0;
  z-index: 10;
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content :where(.swiper-number) {
    padding: 0.1em 0.5em;
    background-color: var(--base-background-color);
    top: 1rem !important;
    left: auto !important;
    right: 1rem !important;
  }
}
.c-text-img-slide-layout-content :where(.swiper-number) :where(.current) {
  font-size: 1.5em;
  color: var(--primary-color);
}
.c-text-img-slide-layout-content :where(.swiper-number) :where(.all) {
  color: var(--base-font-color);
}
.c-text-img-slide-layout-content :where(.swiper-number) :where(.all)::before {
  width: 0.2rem;
  height: 1em;
  margin: 0 0.5em;
  content: "";
  background-color: var(--base-font-color);
  display: inline-block;
  vertical-align: -0.1em;
  transform: rotate(45deg);
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content :where(.swiper-arrow) {
    position: absolute;
    bottom: 6rem;
    z-index: 20;
    letter-spacing: -0.4em;
  }
  .c-text-img-slide-layout-content :where(.swiper-arrow) > * {
    display: inline-block;
    letter-spacing: normal;
  }
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content :where(.swiper-arrow) {
    display: none !important;
  }
}
.c-text-img-slide-layout-content :where(.swiper-arrow) :where(.swiper-button-prev, .swiper-button-next) {
  position: static;
}
.c-text-img-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
  color: var(--primary-color);
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
    display: none !important;
  }
}
.c-text-img-slide-layout-content :where(.swiper-pagination-bullet) {
  margin: 0 0.5em !important;
  background-color: var(--tertiary-color);
  opacity: 0.6 !important;
}
.c-text-img-slide-layout-content :where(.swiper-pagination-bullet):where(.swiper-pagination-bullet-active) {
  background-color: var(--primary-color);
  opacity: 1 !important;
}
.c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) {
  padding: 5rem 5rem 3rem;
  background-color: var(--base-background-color);
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) {
    width: 111%;
    margin: 0 -5.5%;
    padding: 3rem 0;
  }
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) :where(.swiper) {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) :where(.swiper-number) {
  top: 5rem;
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) :where(.swiper-number) {
    top: 4rem !important;
  }
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) :where(.swiper-arrow) {
    bottom: 9rem;
  }
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_left) :where(.swiper-number) {
    left: 5rem;
  }
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_left) :where(.swiper-number) {
    right: 4rem !important;
  }
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_left) :where(.swiper-arrow) {
    right: 6rem;
  }
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_right) :where(.swiper-number) {
    left: calc(var(--text-img-slide-img-width) + 2.5em);
  }
}
@media only screen and (max-width: 780px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_right) :where(.swiper-number) {
    right: 4rem !important;
  }
}
@media only screen and (min-width: 781px) {
  .c-text-img-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03):where(.text_right) :where(.swiper-arrow) {
    left: 6rem;
  }
}

/* 左右比較スライドコンテンツ */
.c-comparison-slide-layout-content {
  --comparison-nav-offset: -3.5em;
}
.c-comparison-slide-layout-content :where(.swiper-outer) {
  position: relative;
}
.c-comparison-slide-layout-content :where(.swiper-outer) :where(.swiper-button-prev) {
  left: var(--comparison-nav-offset);
}
.c-comparison-slide-layout-content :where(.swiper-outer) :where(.swiper-button-next) {
  right: var(--comparison-nav-offset);
}
.c-comparison-slide-layout-content :where(.swiper) {
  padding-bottom: 5rem;
}
.c-comparison-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
  color: var(--primary-color);
}
@media only screen and (max-width: 780px) {
  .c-comparison-slide-layout-content :where(.swiper-button-prev, .swiper-button-next) {
    display: none !important;
  }
}
.c-comparison-slide-layout-content :where(.swiper-pagination-bullet) {
  margin: 0 0.5em !important;
  background-color: var(--tertiary-color);
  opacity: 0.6 !important;
}
.c-comparison-slide-layout-content :where(.swiper-pagination-bullet):where(.swiper-pagination-bullet-active) {
  background-color: var(--primary-color);
  opacity: 1 !important;
}
.c-comparison-slide-layout-content:where(.no-navigation) :where(.swiper-button-prev, .swiper-button-next) {
  display: none;
}
.c-comparison-slide-layout-content:where(.no-pagination) :where(.swiper) {
  padding-bottom: 0;
}
.c-comparison-slide-layout-content:where(.no-pagination) :where(.swiper-pagination) {
  display: none;
}
.c-comparison-slide-layout-content :where(.swiper-slide) {
  height: auto;
  display: flex;
  gap: 1rem;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.left, .right) {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.left .label) {
  left: 0;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.right .label) {
  right: 0;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.label) {
  padding: 0.2em 1em;
  font-size: 1.5rem;
}
@media only screen and (max-width: 780px) {
  .c-comparison-slide-layout-content :where(.swiper-slide) :where(.label) {
    font-size: 1.2rem;
  }
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.label) {
  font-weight: 500;
  color: var(--contrast-color);
  background-color: var(--primary-color);
  white-space: nowrap;
  position: absolute;
  top: 0;
  z-index: 10;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.img) {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  margin-bottom: 1em;
  overflow: hidden;
}
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.img) > img,
.c-comparison-slide-layout-content :where(.swiper-slide) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-comparison-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) {
  padding: 5rem;
  background-color: var(--base-background-color);
}
@media only screen and (max-width: 780px) {
  .c-comparison-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) {
    padding: 3rem 0;
    width: 111%;
    margin: 0 -5.5%;
  }
  .c-comparison-slide-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.swiper-outer) :where(.swiper) {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* 画像・見出し追従コンテンツ */
.c-content-fix-layout-content {
  --content-fix-item-gap: 3em;
}
.c-content-fix-layout-content :where(.contents_wrap) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4rem;
}
.c-content-fix-layout-content :where(.fix_side) {
  position: sticky;
  top: 2rem;
}
.c-content-fix-layout-content :where(.contents_side) {
  min-width: 0;
}
.c-content-fix-layout-content :where(.contents_side) :where(.content_block) + :where(.content_block) {
  margin-top: 2em;
}
.c-content-fix-layout-content :where(.contents_side) :where(.content_block) > *:last-child {
  margin-bottom: 0 !important;
}
.c-content-fix-layout-content :where(.contents_side) :where(.content_block) :where(p, ul, ol, .btn, .text_in_img) {
  margin-bottom: 2em;
}
@media only screen and (max-width: 780px) {
  .c-content-fix-layout-content :where(.contents_side) :where(.content_block) :where(.text_in_img) {
    text-align: center;
  }
}
.c-content-fix-layout-content:where(.type_text) :where(.fix_side) {
  flex: 0 0 25rem;
}
.c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li) {
  font-weight: 700;
}
@media only screen and (min-width: 781px) {
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li) {
    margin-bottom: 1em;
    padding: 0.5em 1em;
    font-size: 1.8rem;
    border: solid 1px var(--base-line-color);
  }
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li):not(.current) {
    cursor: pointer;
  }
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li):not(.current):hover {
    background-color: var(--secondary-background-color);
  }
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li):where(.current) {
    pointer-events: none;
    color: var(--contrast-color);
    background-color: var(--base-font-color);
    border-color: var(--base-font-color);
  }
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li):last-child {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 780px) {
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side) :where(li) {
    padding-bottom: 1em;
    font-size: 2rem;
    text-align: center;
    border-bottom: solid 1px var(--base-line-color);
  }
}
.c-content-fix-layout-content:where(.type_text) :where(.contents_side) {
  flex: 1 1 0;
}
.c-content-fix-layout-content:where(.type_text) :where(.contents_side) > ul > li + li {
  margin-top: var(--content-fix-item-gap);
}
.c-content-fix-layout-content:where(.type_img) :where(.fix_side) {
  flex: 0 0 45%;
  min-width: 0;
}
@media only screen and (min-width: 781px) {
  .c-content-fix-layout-content:where(.type_img) :where(.fix_side) > ul {
    display: grid;
  }
  .c-content-fix-layout-content:where(.type_img) :where(.fix_side) > ul > li {
    opacity: 0;
    pointer-events: none;
    grid-area: 1/1;
    transition: opacity 0.5s;
  }
  .c-content-fix-layout-content:where(.type_img) :where(.fix_side) > ul > li:where(.current) {
    opacity: 1;
    pointer-events: auto;
  }
}
.c-content-fix-layout-content:where(.type_img) :where(.fix_side) :where(img) {
  width: 100%;
  height: auto;
  display: block;
}
.c-content-fix-layout-content:where(.type_img) :where(.contents_side) {
  flex: 1 1 0;
}
.c-content-fix-layout-content:where(.type_img) :where(.contents_side) > ul > li + li {
  margin-top: var(--content-fix-item-gap);
}
@media only screen and (min-width: 781px) {
  .c-content-fix-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.contents_wrap) {
    padding: 5rem;
    background-color: var(--base-background-color);
  }
}
@media only screen and (max-width: 780px) {
  .c-content-fix-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.sp_scroll) {
    width: 111%;
    margin: 0 -5.5%;
    padding: 3rem;
    background-color: var(--base-background-color);
  }
}
@media only screen and (max-width: 780px) {
  .c-content-fix-layout-content :where(.contents_wrap) {
    position: relative;
    display: block;
  }
  .c-content-fix-layout-content :where(.fix_side, .contents_side) {
    width: 100% !important;
    min-width: 100%;
    position: static;
  }
  .c-content-fix-layout-content :where(.fix_side, .contents_side) > ul {
    width: 100%;
    display: grid;
    grid-template-columns: none;
    grid-template-rows: auto;
    gap: 5rem;
    grid-auto-flow: column;
    grid-auto-columns: min(100%, 354px);
  }
  .c-content-fix-layout-content :where(.fix_side, .contents_side) > ul > li {
    min-width: 0;
  }
  .c-content-fix-layout-content :where(.fix_side, .contents_side) > ul > li + li {
    margin-top: 0;
  }
  .c-content-fix-layout-content :where(.fix_side) {
    margin-bottom: 2em;
  }
  .c-content-fix-layout-content:where(.type_text) :where(.fix_side li) {
    cursor: default;
  }
  .c-content-fix-layout-content:where(.type_img) :where(.fix_side > ul > li) {
    opacity: 1;
    pointer-events: auto;
  }
}

/* ピックアップレイアウトコンテンツ */
.c-pickup-layout-content {
  --pickup-thumbnail-gap: 1rem;
  --pickup-thumbnail-columns: 5;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 780px) {
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) {
    margin-bottom: 3rem;
  }
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) {
  letter-spacing: -0.4em;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) > * {
  display: inline-block;
  letter-spacing: normal;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) {
  text-align: center;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) > li {
  margin: 0 1em 0.5em 0;
  padding: 0.5em 1em;
  font-size: 1.8rem;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
  cursor: pointer;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) > li:not(.current):hover {
  background-color: var(--secondary-background-color);
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_head) > li:where(.current) {
  pointer-events: none;
  color: var(--contrast-color);
  background-color: var(--base-font-color);
  border-color: var(--base-font-color);
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail):where(.current) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 5rem;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) {
  flex: 0 0 45%;
  min-width: 0;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.current_img) {
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
  position: relative;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.current_img) img, .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.current_img) video {
  width: auto;
  max-width: none;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.current_img) {
  text-align: center;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: var(--pickup-thumbnail-gap);
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) > li {
  flex: 0 0 calc((100% - var(--pickup-thumbnail-gap) * (var(--pickup-thumbnail-columns) - 1)) / var(--pickup-thumbnail-columns));
  height: auto;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) > li > img,
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) > li > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 781px) {
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) > li:not(.current) {
    cursor: pointer;
    transition: opacity 0.3s;
  }
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) :where(.thumbnail) > li:not(.current):hover {
    opacity: 0.8;
  }
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) {
  flex: 1 1 0;
  min-width: 0;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) > *:last-child {
  margin-bottom: 0 !important;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(h3) {
  margin-bottom: 1em;
  font-size: 2.8rem;
  font-weight: 700;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.point) {
  margin-bottom: 1em;
  letter-spacing: -0.4em;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.point) > * {
  display: inline-block;
  letter-spacing: normal;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.point) :where(span) {
  margin: 0 0.5em 0.5em 0;
  padding: 0.1em 1em;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--contrast-color);
  background-color: var(--primary-color);
  border-radius: 99px;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.price) {
  margin-bottom: 0.75em;
  font-size: 2rem;
  font-weight: 500;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.price) :where(span) {
  font-size: 1.3em;
  font-weight: 700;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(.price) :where(span):where(.number) {
  margin-right: 0.25em;
  font-family: var(--base-font-family-en);
  font-size: 2em;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(table) {
  width: 100%;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(table) :where(tbody) {
  font-size: 0.9375em;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(table) :where(tbody) :where(tr) :where(th) {
  padding: 0.6em 1.2em;
  font-weight: 700;
  background-color: var(--primary-background-color);
  border: solid 1px var(--base-line-color);
  vertical-align: top;
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(table) :where(tbody) :where(tr) :where(td) {
  padding: 0.625em 1.25em;
  font-size: 0.9375em;
  line-height: 2;
  vertical-align: top;
  border: solid 1px var(--base-line-color);
}
.c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.text) :where(p, ul, ol, .btn, table) {
  margin-bottom: 2em;
}
.c-pickup-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.pickup_contents .tab_body .detail) {
  padding: 5rem;
  background-color: var(--base-background-color);
}
@media only screen and (max-width: 780px) {
  .c-pickup-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.pickup_contents .tab_body .detail) {
    width: 111%;
    margin: 0 -5.5%;
    padding: 3rem 0;
  }
  .c-pickup-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.pickup_contents .tab_body .detail) :where(.img, .text) {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 780px) {
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail):where(.current) {
    display: block;
  }
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img, .text) {
    width: 100%;
  }
  .c-pickup-layout-content :where(.pickup_contents) :where(.tab_body .detail) :where(.img) {
    margin-bottom: 3rem;
  }
}

/* インタビュー・お客様の声 共通プロフィール */
.c-talk-layout-content :where(.headding) :where(.img),
.c-voice-layout-content :where(.headding) :where(.img) {
  aspect-ratio: 1/1;
  border: solid 1px var(--base-line-color);
  border-radius: 50%;
  overflow: hidden;
}
.c-talk-layout-content :where(.headding) :where(.img) > img,
.c-talk-layout-content :where(.headding) :where(.img) > video,
.c-voice-layout-content :where(.headding) :where(.img) > img,
.c-voice-layout-content :where(.headding) :where(.img) > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.c-talk-layout-content :where(.headding) :where(.img) + :where(.note),
.c-voice-layout-content :where(.headding) :where(.img) + :where(.note) {
  margin-top: 1em;
}
.c-talk-layout-content :where(.headding) :where(.note),
.c-voice-layout-content :where(.headding) :where(.note) {
  font-size: 1.3rem;
  font-weight: 500;
  display: inline-block;
  text-align: left;
}
.c-talk-layout-content :where(.headding) :where(.note) :where(span),
.c-voice-layout-content :where(.headding) :where(.note) :where(span) {
  padding: 0.2em 0.5em;
  font-size: 0.875em;
  color: var(--contrast-color);
  background-color: var(--tertiary-color);
  border-radius: 99px;
  display: inline-block;
}

/* インタビュー・対談・クロストーク */
.c-talk-layout-content :where(.thema-talk) :where(dt) {
  margin-bottom: 1.5em;
  padding: 0.5em;
  font-size: 2.8rem;
}
@media only screen and (max-width: 780px) {
  .c-talk-layout-content :where(.thema-talk) :where(dt) {
    font-size: 2.4rem;
  }
}
.c-talk-layout-content :where(.thema-talk) :where(dt) {
  font-weight: 700;
  background-color: var(--tertiary-background-color);
}
.c-talk-layout-content :where(.thema-talk) :where(dd) {
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: dashed 1px var(--base-line-color);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
}
.c-talk-layout-content :where(.thema-talk) :where(dd):last-child {
  margin-bottom: 0;
  border-bottom: none;
}
.c-talk-layout-content :where(.thema-talk) :where(dd):where(.text-left) {
  flex-direction: row-reverse;
}
.c-talk-layout-content :where(.thema-talk) :where(dd):where(.text-only) :where(.talk_text) {
  width: 100%;
}
.c-talk-layout-content :where(.thema-talk) :where(dd) :where(.headding) {
  flex: 0 0 13rem;
  text-align: center;
}
.c-talk-layout-content :where(.thema-talk) :where(dd) :where(.headding) :where(.img) {
  width: 90%;
  height: auto;
  margin: 0 auto;
}
.c-talk-layout-content :where(.thema-talk) :where(dd) :where(.headding) :where(.note small) {
  font-size: 0.875em;
  font-weight: 400;
}
.c-talk-layout-content :where(.thema-talk) :where(dd) :where(.talk_text) {
  flex: 1 1 0;
  min-width: 0;
  overflow-wrap: anywhere;
}
.c-talk-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.thema-talk) {
  padding: 5rem;
  background-color: var(--base-background-color);
}
@media only screen and (max-width: 780px) {
  .c-talk-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.thema-talk) {
    width: 111%;
    margin: 0 -5.5%;
    padding: 3rem 0;
  }
  .c-talk-layout-content:where(.section-bg01, .section-bg02, .section-bg03) :where(.thema-talk) :where(dt, dd) {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* お客様の声・メッセージ */
.c-voice-layout-content {
  --voice-gap: 2rem;
}
.c-voice-layout-content :where(.voice_list) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--voice-gap);
}
.c-voice-layout-content :where(.voice_list) > li {
  padding: 2rem;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
}
.c-voice-layout-content :where(.voice_list) > li :where(.headding) {
  text-align: center;
}
.c-voice-layout-content :where(.voice_list) > li :where(.voice_text) {
  min-width: 0;
  overflow-wrap: anywhere;
}
.c-voice-layout-content:where(.one_columns) :where(.voice_list) > li {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: var(--voice-gap);
}
.c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.headding) {
  flex: 0 0 13rem;
}
.c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.headding) :where(.img) {
  width: 90%;
  margin: 0 auto;
}
.c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.voice_text) {
  flex: 1 1 0;
}
.c-voice-layout-content:where(.two_columns) :where(.voice_list) > li {
  width: calc((100% - var(--voice-gap)) / 2);
}
.c-voice-layout-content:where(.two_columns) :where(.voice_list) > li :where(.headding) {
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-align: left;
}
.c-voice-layout-content:where(.two_columns) :where(.voice_list) > li :where(.headding) :where(.img) {
  flex: 0 0 10rem;
}
.c-voice-layout-content:where(.two_columns) :where(.voice_list) > li :where(.headding) :where(.img) + :where(.note) {
  margin-top: 0;
}
@media only screen and (max-width: 780px) {
  .c-voice-layout-content :where(.voice_list) {
    display: block;
  }
  .c-voice-layout-content :where(.voice_list) > li {
    width: 100% !important;
  }
  .c-voice-layout-content :where(.voice_list) > li + li {
    margin-top: var(--voice-gap);
  }
  .c-voice-layout-content:where(.one_columns) :where(.voice_list) > li {
    display: block;
  }
  .c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.headding) {
    margin-bottom: 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    text-align: left;
  }
  .c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.headding) :where(.img) {
    width: 10rem;
    margin: 0;
    flex-shrink: 0;
  }
  .c-voice-layout-content:where(.one_columns) :where(.voice_list) > li :where(.headding) :where(.img) + :where(.note) {
    margin-top: 0;
  }
}

/* 帯付きメッセージ */
.c-message-band-layout-content {
  padding: 5rem 0;
}
@media only screen and (max-width: 780px) {
  .c-message-band-layout-content {
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 450px) {
  .c-message-band-layout-content {
    padding: 3rem 0;
  }
}
.c-message-band-layout-content {
  color: var(--contrast-color);
  text-align: center;
  position: relative;
  z-index: 1;
}
.c-message-band-layout-content:where(.bg-color) {
  background-color: var(--primary-color);
}
.c-message-band-layout-content:where(.bg-image) {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-message-band-layout-content:where(.bg-image)::before {
  width: 100%;
  height: 100%;
  content: "";
  background: linear-gradient(to bottom, color-mix(in srgb, var(--primary-color) 70%, transparent) 50%, var(--primary-color));
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-message-band-layout-content:where(.has-triangle) {
  margin-bottom: 14rem;
}
@media only screen and (max-width: 780px) {
  .c-message-band-layout-content:where(.has-triangle) {
    margin-bottom: 8rem;
  }
}
.c-message-band-layout-content:where(.has-triangle)::after {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4rem 5rem 0 5rem;
  border-color: var(--primary-color) transparent transparent transparent;
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 780px) {
  .c-message-band-layout-content:where(.has-triangle)::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 2rem 3rem 0 3rem;
    border-color: var(--primary-color) transparent transparent transparent;
  }
}
.c-message-band-layout-content :where(h2) {
  margin-bottom: 0.75em;
  font-size: 3.2rem;
}
@media only screen and (max-width: 780px) {
  .c-message-band-layout-content :where(h2) {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 450px) {
  .c-message-band-layout-content :where(h2) {
    font-size: 2rem;
  }
}
.c-message-band-layout-content :where(h2) {
  font-weight: 700;
  line-height: 1.5;
}
.c-message-band-layout-content :where(p) {
  line-height: 1.8;
}
.c-message-band-layout-content :where(p):last-child {
  margin-bottom: 0;
}

/* 数字・実績 */
.c-results-layout-content {
  --results-gap: 2rem;
}
.c-results-layout-content :where(.results_list) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--results-gap);
}
.c-results-layout-content :where(.results_list) > li {
  flex: 0 0 calc((100% - var(--results-gap) * 2) / 3);
  min-width: 0;
  padding: 2rem;
  background-color: var(--base-background-color);
  border: solid 1px var(--base-line-color);
  text-align: center;
}
.c-results-layout-content :where(.results_list) > li :where(.icon) {
  width: 8rem;
  margin: 0 auto 1.5rem;
}
.c-results-layout-content :where(.results_list) > li :where(.icon) :where(img) {
  width: 100%;
  height: auto;
  display: block;
}
.c-results-layout-content :where(.results_list) > li :where(h3) {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
}
.c-results-layout-content :where(.results_list) > li :where(.value) {
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  font-weight: 700;
  gap: 0.3em;
}
.c-results-layout-content :where(.results_list) > li :where(.value) :where(strong) {
  font-size: 2.875em;
}
@media only screen and (max-width: 780px) {
  .c-results-layout-content :where(.results_list) > li :where(.value) :where(strong) {
    font-size: 2.2em;
  }
}
.c-results-layout-content :where(.results_list) > li :where(.value) :where(strong) {
  font-weight: 700;
  line-height: 1.2;
}
.c-results-layout-content :where(.results_list) > li :where(.value) :where(strong):where(.number) {
  font-family: var(--base-font-family-en);
}
.c-results-layout-content :where(.results_list) > li :where(.value) :where(span) {
  margin: 0 0.25em;
  font-size: 0.9375em;
  display: inline-block;
}
.c-results-layout-content :where(.results_list) > li > :where(p) {
  margin-bottom: 0;
  font-size: 0.875em;
  line-height: 1.3;
  text-align: left;
}
@media only screen and (max-width: 780px) {
  .c-results-layout-content :where(.results_list) > li {
    flex-basis: calc((100% - var(--results-gap)) / 2);
  }
}
@media only screen and (max-width: 450px) {
  .c-results-layout-content :where(.results_list) {
    display: block;
  }
  .c-results-layout-content :where(.results_list) > li {
    width: 100%;
  }
  .c-results-layout-content :where(.results_list) > li + li {
    margin-top: var(--results-gap);
  }
  .c-results-layout-content :where(.results_list) > li > :where(p) {
    text-align: center;
  }
}

/* LP CTA */
.c-lp-cta-content-layout {
  --lp-cta-btn-padding: 1em 1.5em;
  padding: 6rem 0;
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout {
    padding: 4rem 0;
  }
}
@media only screen and (max-width: 450px) {
  .c-lp-cta-content-layout {
    padding: 3rem 0;
  }
}
.c-lp-cta-content-layout {
  color: var(--contrast-color);
  text-align: center;
  position: relative;
}
.c-lp-cta-content-layout:where(.bg-color) {
  background-color: var(--primary-color);
}
.c-lp-cta-content-layout:where(.bg-image) {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.c-lp-cta-content-layout:where(.bg-image)::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: color-mix(in srgb, var(--primary-color) 70%, transparent);
  position: absolute;
  top: 0;
  left: 0;
}
.c-lp-cta-content-layout :where(.inner) {
  position: relative;
  z-index: 1;
}
.c-lp-cta-content-layout :where(.inner) :where(.label) {
  margin-bottom: 1em;
  padding: 0.3em 1em;
  border: solid 1px var(--contrast-color);
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1.4;
  display: inline-block;
  border-radius: 99px;
}
.c-lp-cta-content-layout :where(.inner) :where(h2) {
  margin-bottom: 0.75em;
  font-size: 3.6rem;
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout :where(.inner) :where(h2) {
    font-size: 2.8rem;
  }
}
@media only screen and (max-width: 450px) {
  .c-lp-cta-content-layout :where(.inner) :where(h2) {
    font-size: 2.4rem;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(h2) {
  font-weight: 700;
  line-height: 1.5;
}
.c-lp-cta-content-layout :where(.inner) :where(.lead) {
  max-width: 80rem;
  margin: 0 auto 2em;
  font-size: 1.125em;
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout :where(.inner) :where(.lead) {
    font-size: 1.6rem;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.lead) {
  font-weight: 500;
  line-height: 2;
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout :where(.inner) :where(.lead) {
    text-align: left;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.btn_tel) {
  margin-bottom: 2.5rem;
}
.c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(a) {
  color: var(--contrast-color);
  display: inline-block;
}
.c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(a)::before {
  width: 0.75em;
  height: 0.75em;
  margin-right: 0.25em;
  content: "";
  background-color: var(--contrast-color);
  -webkit-mask-image: url("../img/icon_tel.svg");
  mask-image: url("../img/icon_tel.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: 0;
}
@media only screen and (min-width: 781px) {
  .c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(a) {
    font-family: var(--base-font-family-en);
    font-size: 3.6rem;
    font-weight: 700;
  }
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(a) {
    width: 100%;
    max-width: 40rem;
    margin: 0 auto;
    padding: var(--lp-cta-btn-padding);
    color: var(--primary-color);
    background-color: var(--contrast-color);
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    display: block;
  }
  .c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(a)::before {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    background-color: var(--primary-color);
    vertical-align: -0.15em;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.btn_tel) :where(p) {
  margin-top: 0.5em;
  font-size: 0.875em;
  line-height: 1.5;
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) {
  max-width: 96rem;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) > div {
  max-width: 30rem;
  flex: 1 1 25rem;
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) > div :where(a) {
  width: 100%;
  height: 100%;
  min-height: 6rem;
  padding: var(--lp-cta-btn-padding);
  color: var(--primary-color);
  background-color: var(--contrast-color);
  border: solid 1px var(--contrast-color);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s, color 0.3s;
}
@media only screen and (min-width: 781px) {
  .c-lp-cta-content-layout :where(.inner) :where(.cta_btns) > div :where(a):hover {
    color: var(--contrast-color);
    background-color: transparent;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) :where(.btn_mail, .btn_line) :where(a)::before {
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  content: "";
  background-color: var(--primary-color);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-size: cover;
  -webkit-mask-position: center center;
  mask-position: center center;
  display: inline-block;
  vertical-align: -0.15em;
  transition: background-color 0.3s;
}
@media only screen and (min-width: 781px) {
  .c-lp-cta-content-layout :where(.inner) :where(.cta_btns) :where(.btn_mail, .btn_line) :where(a):hover::before {
    background-color: var(--contrast-color);
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) :where(.btn_mail a)::before {
  -webkit-mask-image: url("../img/icon_mail.svg");
  mask-image: url("../img/icon_mail.svg");
}
.c-lp-cta-content-layout :where(.inner) :where(.cta_btns) :where(.btn_line a)::before {
  -webkit-mask-image: url("../img/icon_line.svg");
  mask-image: url("../img/icon_line.svg");
}
@media only screen and (max-width: 780px) {
  .c-lp-cta-content-layout :where(.inner) :where(.cta_btns) {
    display: block;
  }
  .c-lp-cta-content-layout :where(.inner) :where(.cta_btns) > div {
    width: 100%;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
  }
  .c-lp-cta-content-layout :where(.inner) :where(.cta_btns) > div + div {
    margin-top: 1rem;
  }
}
.c-lp-cta-content-layout :where(.inner) :where(.note) {
  margin-top: 1.5em;
  font-size: 0.8125em;
  line-height: 1.5;
}

/****************************************************
 * 7. 印刷用調整
 ****************************************************/
@media print {
  @page {
    size: A4 portrait;
    margin: 3mm;
  }
  html {
    font-size: 10pt !important;
  }
  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
  body *,
  body *::before,
  body *::after {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
  }
  #header {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
  }
  .menu_btn,
  .fix_bnr {
    display: none !important;
  }
  .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
  img,
  svg,
  video,
  canvas {
    max-width: 100% !important;
  }
  img {
    height: auto !important;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    -moz-column-break-after: avoid;
    break-after: avoid;
    page-break-after: avoid;
  }
  p,
  li {
    orphans: 2;
    widows: 2;
  }
  img,
  figure,
  table {
    -moz-column-break-inside: avoid;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  table {
    max-width: 100%;
  }
  pre,
  code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
}