@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

svg,
img {
  max-width: 100%;
  vertical-align: middle;
}

li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: inherit;
}

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

:root {
  --color: $color;
  --header-height: 5.9375rem;
  --fadein-up-transition: opacity .4s $easeTheme , transform .6s $easeTheme;
  --section-padding--lgx: 5.5rem;
  --section-padding--lg: 5rem;
  --section-padding: 4rem;
  --section-padding--md: 3rem;
  --section-padding--sm: 1.75rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --header-height: 11.5rem;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --section-padding--lgx: 10rem;
    --section-padding--lg: 7.5rem;
    --section-padding: 6rem;
    --section-padding--md: 4rem;
    --section-padding--sm: 3rem;
  }
}

.is-section-dark,
.is-nav-open {
  --color: #fff;
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

input,
select,
label {
  vertical-align: middle;
  color: #333;
}

[type=text] {
  line-height: normal;
}

input[type=submit],
input[type=text],
input[type=email],
input[type=tel],
button {
  -webkit-appearance: none;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  color: #333;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}

input[type=submit],
button {
  cursor: pointer;
}

select,
input[type=submit],
button {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  resize: none;
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
}

*:focus {
  outline: none;
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  html {
    font-size: 2.1333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1601px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  color: #333;
}

.serif {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
@media screen and (min-width: 751px) {
  .sp {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .sp-tab {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .pc-tab {
    display: none;
  }
}

@media screen and (max-width: 750px) {
  .tab {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none;
  }
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
a {
  color: #333;
  text-decoration: none;
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  cursor: pointer;
}
a img {
  -webkit-transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: color 0.3s cubic-bezier(0.37, 0, 0.63, 1), background 0.3s cubic-bezier(0.37, 0, 0.63, 1), border 0.3s cubic-bezier(0.37, 0, 0.63, 1), opacity 0.3s cubic-bezier(0.37, 0, 0.63, 1), box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), transform 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-box-shadow 0.3s cubic-bezier(0.37, 0, 0.63, 1), -webkit-transform 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (hover: none) {
  a, button {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }
}
[data-scroll-target] {
  content: "";
  display: block;
  position: relative;
  pointer-events: none;
  top: calc(-1 * var(--header-height));
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/
.l-container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1600px;
}
@media screen and (max-width: 750px) {
  .l-container {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .l-container {
    padding-left: 10.6666666667vw;
    padding-right: 10.6666666667vw;
  }
}
@media screen and (min-width: 1024px) {
  .l-container {
    padding-left: 12.5vw;
    padding-right: 12.5vw;
  }
}
@media screen and (min-width: 1601px) {
  .l-container {
    padding-left: 200px;
    padding-right: 200px;
  }
}

/*----------------------------------------------------
	body
----------------------------------------------------*/
html {
  height: 100%;
}

body {
  position: relative;
  height: 100%;
}
body.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.l-body-wrap {
  width: 100%;
  min-height: 100%;
}
@media screen and (max-width: 1023px) {
  .l-body-wrap {
    overflow: hidden;
  }
}

/*----------------------------------------------------
	l-header-drawer
----------------------------------------------------*/
.l-header-drawer {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  background-color: #fff;
  overflow: auto;
  padding: var(--header-height) 20px;
  pointer-events: none;
  opacity: 0;
  -webkit-transition: 0.15s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.15s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-nav-open .l-header-drawer {
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.l-header-drawer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
.l-header-drawer__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.l-header-drawer__info ._title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.1875rem;
  font-weight: 500;
  font-size: 2rem;
}
.l-header-drawer__info ._title span:nth-child(1) {
  font-size: 1.25rem;
}
.l-header-drawer__info address {
  font-style: normal;
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .l-header-drawer__info {
    text-align: center;
  }
  .l-header-drawer__info ._title {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.l-header-drawer__copyright {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  color: #a6a6a6;
}
@media screen and (max-width: 1023px) {
  .l-header-drawer__copyright {
    text-align: center;
  }
}

/*----------------------------------------------------
	ヘッダー メニュー
----------------------------------------------------*/
@media screen and (max-width: 1023px) {
  .l-header-menu {
    position: fixed;
    right: 0.6875rem;
    top: 0.6875rem;
    z-index: 2;
    width: 2.5rem;
    height: 2.5625rem;
    cursor: pointer;
    background: url(../img/bg-header-menu.svg) center center/contain no-repeat;
  }
  .l-header-menu div {
    position: relative;
  }
  .l-header-menu span {
    display: block;
    position: absolute;
    left: 0.625rem;
    -webkit-transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.35s cubic-bezier(0.5, 1, 0.89, 1), transform 0s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0s cubic-bezier(0.5, 1, 0.89, 1);
    width: 1.25rem;
    height: 3px;
    border-radius: 1.5px;
    background: #333;
  }
  .l-header-menu span:nth-child(1) {
    top: calc(50% - 0.3125rem);
  }
  .l-header-menu span:nth-child(2) {
    top: calc(50% + 0.125rem);
  }
  .l-header-menu span:nth-child(3) {
    top: calc(50% + 0.5625rem);
  }
  .l-header-menu.is-nav-open span {
    -webkit-transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
    transition: top 0.2s cubic-bezier(0.5, 1, 0.89, 1), transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1), -webkit-transform 0.3s 0.2s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .l-header-menu.is-nav-open span:nth-child(1) {
    top: 50%;
    -webkit-transform: scale(-1, -1) rotate(-35deg);
            transform: scale(-1, -1) rotate(-35deg);
  }
  .l-header-menu.is-nav-open span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .l-header-menu.is-nav-open span:nth-child(3) {
    top: 50%;
    -webkit-transform: scale(-1, -1) rotate(35deg);
            transform: scale(-1, -1) rotate(35deg);
  }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
.l-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 500;
  height: var(--header-height);
}
@media screen and (min-width: 1024px) {
  .l-header {
    position: fixed;
    background-color: #fff;
  }
  .scrollDown .l-header {
    -webkit-animation: headerHide 0.5s forwards;
            animation: headerHide 0.5s forwards;
  }
  .scrollUp .l-header {
    -webkit-animation: headerShow 0.5s forwards;
            animation: headerShow 0.5s forwards;
  }
}

@-webkit-keyframes headerHide {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}

@keyframes headerHide {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@-webkit-keyframes headerShow {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes headerShow {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.l-header-logo {
  position: fixed;
  left: 0;
  top: 0;
  width: 3.875rem;
  z-index: 5;
}
@media screen and (min-width: 1024px) {
  .l-header-logo {
    position: absolute;
    width: 9.8125rem;
    left: 2rem;
  }
}

.l-header-desc {
  position: absolute;
  left: 4.5rem;
  top: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  font-weight: 500;
}
.l-header-desc ._txt1 {
  font-size: 0.8125rem;
}
.l-header-desc ._txt2 {
  font-size: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .l-header-desc {
    gap: 0.5rem;
    left: 13.75rem;
    top: 2rem;
  }
  .l-header-desc ._txt1 {
    font-size: 1.25rem;
  }
  .l-header-desc ._txt2 {
    font-size: 1rem;
  }
}

@media screen and (max-width: 1023px) {
  .l-header-cta {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .l-header-cta {
    position: absolute;
    right: 2rem;
    top: 2.75rem;
  }
  .l-header-cta ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
  }
  .l-header-cta li {
    position: relative;
  }
  .l-header-cta li:not(:first-child):before {
    content: "";
    display: block;
    width: 0;
    height: 1.5rem;
    position: absolute;
    left: -1.5rem;
    top: 0.5rem;
    pointer-events: none;
    border-left: 1px solid #bebebe;
  }
  .l-header-cta a {
    -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
    transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .l-header-cta a:hover {
    opacity: 0.7;
  }
}

.l-header-cta__link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem;
  font-weight: 500;
  font-size: 1.25rem;
}
.l-header-cta__link i {
  width: 1.375rem;
  font-size: 0;
}
.l-header-cta__link svg {
  width: 100%;
  height: auto;
}
.l-header-cta__tel {
  display: block;
  margin-top: -0.375rem;
}
.l-header-cta__tel ._tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  margin-right: 0.5rem;
  font-size: 1.875rem;
  line-height: 1;
}
.l-header-cta__tel ._tel i {
  margin-top: 0.5rem;
  width: 1.625rem;
  font-size: 0;
}
.l-header-cta__tel ._tel svg {
  width: 100%;
  height: auto;
}
.l-header-cta__tel ._open {
  margin-top: 0.125rem;
  font-weight: 500;
  font-size: 0.8125rem;
}
@media screen and (max-width: 1023px) {
  .l-header-nav {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .l-header-nav {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #faf8f5;
  }
  .l-header-nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2rem;
  }
  .l-header-nav a {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 4rem;
    padding: 0 0.75rem;
    font-weight: 500;
    font-size: 1.125rem;
  }
  .l-header-nav a:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    bottom: -1.5px;
    pointer-events: none;
    border-bottom: 3px solid #333;
    -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
    transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .l-header-nav a.is-current:after, .l-header-nav a:hover:after {
    width: 100%;
    left: 0;
  }
}

/*----------------------------------------------------
	main
----------------------------------------------------*/
.l-main {
  padding-top: var(--header-height);
}
.l-main__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
}
@media screen and (min-width: 1024px) {
  .l-main__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 5rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media screen and (min-width: 1024px) {
  .l-main__aside {
    width: 16.5rem;
  }
}

/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.l-footer {
  margin-top: 12.5rem;
}
@media screen and (min-width: 1024px) {
  .l-footer {
    margin-top: 18.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.l-footer-contact {
  position: relative;
  background: #faf8f5;
}
.l-footer-contact .l-container {
  position: relative;
}
.l-footer-contact__bg img {
  position: absolute;
  bottom: 100%;
  right: 0;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .l-footer-contact__bg img {
    right: 2.6875rem;
    width: 55.1875rem;
  }
}

.l-footer-contact__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  padding: 4rem 0;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-footer-contact__wrap {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "head lead" "head cta";
    -ms-grid-columns: 9.625rem 0 1fr;
    grid-template-columns: 9.625rem 1fr;
    -ms-grid-rows: auto 0 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    width: 55.625rem;
    padding: 5.125rem 0;
    margin-inline: auto;
  }
}

.l-footer-contact__top {
  position: absolute;
  right: 1.25rem;
  top: -10rem;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (min-width: 1024px) {
  .l-footer-contact__top {
    right: 12.5rem;
    top: -16.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer-contact__head {
    grid-area: head;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer-contact__lead {
    grid-area: lead;
  }
}

.l-footer-contact__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-contact__cta {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer-contact__cta {
    margin-top: auto;
    grid-area: cta;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.l-footer-content {
  position: relative;
  padding: 2rem 0 6rem;
}
@media screen and (min-width: 1024px) {
  .l-footer-content {
    padding: 5rem 0 7.6875rem;
  }
}

.l-footer-content__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .l-footer-content__wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 0 auto;
        grid-template-areas: "info nav" "copyright nav";
    -ms-grid-columns: 34.25rem 0 1fr;
    grid-template-columns: 34.25rem 1fr;
    gap: 0;
  }
}

.l-footer-content__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.l-footer-content__info ._title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.1875rem;
  font-weight: 500;
  font-size: 2rem;
}
.l-footer-content__info ._title span:nth-child(1) {
  font-size: 1.25rem;
}
.l-footer-content__info address {
  font-style: normal;
  font-size: 0.9375rem;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .l-footer-content__info {
    text-align: center;
  }
  .l-footer-content__info ._title {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer-content__info {
    grid-area: info;
    gap: 0.5rem;
  }
  .l-footer-content__info address {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1024px) {
  .l-footer-content__nav {
    grid-area: nav;
  }
}

.l-footer-content__copyright {
  margin-top: 20px;
  font-size: 0.875rem;
  color: #a6a6a6;
}
@media screen and (max-width: 1023px) {
  .l-footer-content__copyright {
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer-content__copyright {
    margin-top: auto;
    grid-area: copyright;
  }
}
@media screen and (min-width: 1024px){
  .l-footer-content__info {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .l-footer-content__nav {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 3;
  }
  .l-footer-content__copyright {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
}

.l-footer-content__top {
  position: absolute;
  right: 0.625rem;
  bottom: 0.625rem;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (min-width: 1024px) {
  .l-footer-content__top {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-404
----------------------------------------------------*/
.p-404__title {
  font-weight: 500;
  font-size: 2rem;
  text-align: center;
  color: #919191;
}
@media screen and (min-width: 1024px) {
  .p-404__title {
    font-size: 4rem;
  }
}

.p-404__lead {
  margin-top: 0.625rem;
  font-weight: 500;
  font-size: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-404__lead {
    margin-top: 1.25rem;
    font-size: 1.5rem;
  }
}

.p-404__txt {
  margin-top: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-404__txt {
    margin-top: 1.25rem;
    text-align: center;
  }
}

.p-404__nav {
  padding-top: var(--section-padding--md);
}
.p-404__nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.125rem 2rem;
  margin-inline: auto;
  overflow: hidden;
  font-size: 1rem;
}
.p-404__nav li {
  position: relative;
}
.p-404__nav li:before {
  content: "";
  display: block;
  position: absolute;
  left: -1rem;
  top: 0.25em;
  pointer-events: none;
  width: 0;
  height: 1.375rem;
  border-left: 1px solid #777;
}
@media screen and (min-width: 1024px) {
  .p-404__nav ul {
    max-width: 38.75rem;
    gap: 2rem 4rem;
    font-size: 1.125rem;
  }
  .p-404__nav li:before {
    left: -2rem;
  }
  .p-404__nav li:nth-child(5) {
    overflow: hidden;
  }
}

.p-404__top {
  padding-top: var(--section-padding--md);
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-about-roof
----------------------------------------------------*/
.p-roof__nav {
  padding-top: var(--section-padding--lg);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-roof-lead {
  padding-top: var(--section-padding);
}
.p-roof-lead__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-roof-lead__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-roof-lead__pic {
    width: 30.5rem;
  }
}

.p-roof-lead__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-roof-lead__body {
    gap: 1.25rem;
  }
}

.p-roof-list {
  padding-top: var(--section-padding--lg);
  display: -ms-grid;
  display: grid;
  gap: 1.875rem;
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-roof-list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1024px) {
  .p-roof-list {
    -ms-grid-columns: 1fr 3rem 1fr 3rem 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-roof-type__nav {
  padding-top: var(--section-padding);
}
.p-roof-type-section {
  margin-top: var(--section-padding);
}
.p-roof-type-section__items {
  margin-top: var(--section-padding--sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--section-padding--md);
}
.p-roof-type-section-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-roof-type-section-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}

.p-roof-type-section-item__pic img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-roof-type-section-item__pic {
    width: 33rem;
  }
}

.p-roof-type-section-item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (min-width: 1024px) {
  .p-roof-type-section-item__body {
    margin-top: -0.5rem;
  }
}

.p-roof-type-section__top {
  margin-top: var(--section-padding--md);
  text-align: right;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-blog
----------------------------------------------------*/
.p-blog__wrap {
  padding-top: var(--section-padding--lg);
}
.p-blog__list {
  display: -ms-grid;
  display: grid;
  gap: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-blog__list {
    -ms-grid-columns: 1fr 2.5rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 3.625rem 2.5rem;
  }
}

.p-blog__paginate {
  margin-top: var(--section-padding--lg);
}
.p-blog__paginate.u-border-h {
  padding-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-blog__paginate.u-border-h {
    padding-top: 1.5rem;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-company
----------------------------------------------------*/
.p-company__nav {
  padding-top: var(--section-padding--lg);
}
.p-company__content {
  padding-top: var(--section-padding);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-company-message-lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
.p-company-message-lead ._sign {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-weight: 500;
  font-size: 1.25rem;
}
.p-company-message-lead ._sign span:nth-child(1) {
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-company-message-lead {
    max-width: 53.5rem;
    margin-inline: auto;
  }
  .p-company-message-lead ._sign {
    font-size: 1.5rem;
  }
  .p-company-message-lead ._sign span:nth-child(1) {
    font-size: 1.25rem;
  }
}

.p-company-message-profile {
  position: relative;
  margin-top: var(--section-padding--lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  background: #faf8f5;
}
@media screen and (min-width: 1024px) {
  .p-company-message-profile {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media screen and (min-width: 1024px) {
  .p-company-message-profile__pic {
    width: 24.5rem;
  }
}

.p-company-message-profile__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-company-message-profile__body {
    padding: 1.875rem 3.5rem;
    gap: 1.25rem;
  }
}

.p-company-message-profile__title {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 2;
  text-align: left;
  color: #333;
}
@media screen and (min-width: 1024px) {
  .p-company-message-profile__title {
    font-size: 1.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-company-access__map iframe {
  width: 100%;
  height: 25rem;
}
@media screen and (min-width: 1024px) {
  .p-company-access__map iframe {
    height: 27.5rem;
  }
}

.p-company-access__address {
  margin-top: 24px;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-company-outline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--section-padding--sm);
}
.p-company-outline .c-heading-bar:not(:first-child), .p-company-outline .cm-main-entry__body h3:not(:first-child), .cm-main-entry__body .p-company-outline h3:not(:first-child) {
  margin-top: var(--section-padding--md);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-contact
----------------------------------------------------*/
.p-contact__lead {
  padding-top: var(--section-padding--lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2em;
}
.p-contact__nav {
  padding-top: var(--section-padding--md);
}
.p-contact__form {
  padding-top: var(--section-padding);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-entry
----------------------------------------------------*/
.p-entry__lead {
  padding-top: var(--section-padding--lg);
}
.p-entry__nav {
  padding-top: var(--section-padding--md);
}
.p-entry__form {
  padding-top: var(--section-padding);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	_p-news
----------------------------------------------------*/
.p-news-list {
  padding-top: var(--section-padding);
}
.p-news-paginate {
  padding-top: var(--section-padding);
}
.p-news-entry {
  padding-top: var(--section-padding--lg);
}

.p-news-pager {
  padding-top: var(--section-padding);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-privacy-policy
----------------------------------------------------*/
.p-privacy-policy__content {
  padding-top: var(--section-padding--lg);
}
.p-privacy-policy__content h2 {
  font-weight: 500;
}
.p-privacy-policy__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-privacy-policy__items h2 {
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-privacy-policy__items h2 {
    margin-top: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-recruit
----------------------------------------------------*/
.p-recruit-lead {
  position: relative;
  padding-top: var(--section-padding--lg);
  padding-bottom: 10rem;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-recruit-lead {
    padding-bottom: 15.3125rem;
  }
}

.p-recruit-lead__wrap {
  max-width: 53.5rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-recruit-lead__wrap {
    gap: 1.5rem;
  }
}

.p-recruit-lead__gallery {
  padding-top: var(--section-padding--lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
.p-recruit-lead__gallery figure {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-recruit-lead__gallery figure:nth-child(odd) {
  margin-top: 3.125rem;
}
@media screen and (max-width: 750px) {
  .p-recruit-lead__gallery {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.25rem;
  }
  .p-recruit-lead__gallery figure:nth-child(odd) {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-recruit-lead__gallery img {
    max-width: none;
    width: 150px;
  }
}
@media screen and (min-width: 1024px) {
  .p-recruit-lead__gallery {
    gap: 1rem;
  }
}

.p-recruit-detail {
  position: relative;
  background: #faf8f5;
  padding-bottom: var(--section-padding);
}
.p-recruit-detail__head {
  text-align: center;
  font-weight: 500;
  font-size: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-recruit-detail__head {
    font-size: 1.5rem;
  }
}

.p-recruit-detail__info {
  padding-top: var(--section-padding--sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--section-padding--sm);
}
.p-recruit-detail__more {
  padding-top: var(--section-padding--sm);
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-service
----------------------------------------------------*/
.p-service__nav {
  margin-top: var(--section-padding--lg);
}
.p-service-section-lead {
  margin-top: var(--section-padding--lg);
}
.p-service-section-lead__wrap {
  margin-top: var(--section-padding--sm);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 1024px) {
  .p-service-section-lead__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 4.5rem;
  }
  .p-service-section:nth-child(odd) .p-service-section-lead__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (min-width: 1024px) {
  .p-service-section-lead__pic {
    width: 30.5rem;
  }
}

.p-service-section-lead__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-service-section-lead__body .c-heading-2, .p-service-section-lead__body .cm-main-entry__body h1, .cm-main-entry__body .p-service-section-lead__body h1,
.p-service-section-lead__body .cm-main-entry__body h2,
.cm-main-entry__body .p-service-section-lead__body h2 {
  margin-bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-service-section-lead__body .c-heading-2, .p-service-section-lead__body .cm-main-entry__body h1, .cm-main-entry__body .p-service-section-lead__body h1,
  .p-service-section-lead__body .cm-main-entry__body h2,
  .cm-main-entry__body .p-service-section-lead__body h2 {
    margin-bottom: 1.5rem;
  }
}

.p-service-section-lead__more {
  margin-top: var(--section-padding--sm);
  text-align: right;
}
.p-service-section-menu {
  padding-top: var(--section-padding--md);
}
.p-service-section-menu__list {
  margin-top: 1.5rem;
  display: -ms-grid;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-service-section-menu__list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1024px) {
  .p-service-section-menu__list {
    margin-top: 2.5rem;
    gap: 1rem;
    -ms-grid-columns: 1fr 1rem 1fr 1rem 1fr 1rem 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}

.p-service-section-menu__top {
  text-align: right;
  margin-top: var(--section-padding--md);
}
.p-service-area {
  margin-top: var(--section-padding--lg);
  background: #faf8f5;
}
.p-service-area__wrap {
  padding: var(--section-padding) 0;
}
.p-service-area__after {
  margin-top: 1rem;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .p-service-area__after {
    margin-top: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-strength
----------------------------------------------------*/
.p-strength__items {
  padding-top: var(--section-padding--lg);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--section-padding--md);
}
.p-strength-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #faf8f5;
}
@media screen and (min-width: 1024px) {
  .p-strength-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-strength-item__pic {
  position: relative;
}
.p-strength-item__pic figcaption {
  position: absolute;
  left: 1.25rem;
  top: 0;
  width: 4.375rem;
}
.p-strength-item__pic svg {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .p-strength-item__pic img {
    width: 100%;
    height: 16.25rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 1024px) {
  .p-strength-item__pic {
    width: 24.5rem;
  }
  .p-strength-item__pic img {
    height: 100%;
  }
  .p-strength-item__pic figcaption {
    left: 2rem;
    width: 8.625rem;
  }
}

.p-strength-item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem 1.25rem 1rem;
}
@media screen and (min-width: 1024px) {
  .p-strength-item__body {
    padding: 3.5rem 3.5rem;
    gap: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-mv {
  position: relative;
  padding-top: 6.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv {
    padding-top: 8.875rem;
  }
}

.p-top-mv__bg {
  margin-inline: auto;
  opacity: 0;
}
.p-top-mv__bg img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__bg {
    width: 82.75rem;
  }
}

.p-top-mv__content {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.p-top-mv__type {
  position: absolute;
  top: 6.5rem;
  right: 0.25rem;
  -webkit-transform: rotate(14deg);
          transform: rotate(14deg);
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: #d5d5d5;
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-top-mv__type {
    top: 9.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__type {
    top: 15.625rem;
    right: calc(50% - 41.875rem);
    font-size: 1rem;
  }
}

.p-top-mv__head {
  padding-left: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__head {
    padding-top: 4.5rem;
    padding-left: 4rem;
  }
}

.p-top-mv__scroll {
  position: absolute;
  left: 0.625rem;
  top: 23.75rem;
  font-weight: 500;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  color: #d5d5d5;
}
.p-top-mv__scroll p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.p-top-mv__scroll i {
  width: 4.5rem;
  height: 1px;
  background: #d5d5d5;
  -webkit-animation: scroll 1.5s infinite;
          animation: scroll 1.5s infinite;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__scroll p {
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-top-mv__scroll {
    top: auto;
    bottom: 6.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__scroll {
    left: calc(50% - 47.25rem);
    top: auto;
    bottom: 4rem;
  }
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
  }
  100% {
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: 100% 0;
            transform-origin: 100% 0;
  }
}
.p-top-mv__area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.p-top-mv__area dt {
  text-align: center;
}
.p-top-mv__area ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-top-mv__area li {
  padding: 0.25rem 0.5rem;
  background: #f2f0ed;
  font-weight: 500;
  font-size: 1rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__area {
    margin-top: -3.875rem;
    padding: 0 2.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__area {
    width: 16.25rem;
    position: absolute;
    right: calc(50% - 40.75rem);
    bottom: 0.5rem;
  }
  .p-top-mv__area ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .p-top-mv__area li {
    padding: 0.25rem 0.5rem;
    font-size: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-strength {
  position: relative;
  padding-top: 15.25rem;
  padding-bottom: 34.375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength {
    padding-top: 15.625rem;
    padding-bottom: 18.75rem;
  }
}

.p-top-strength__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength__wrap {
    padding: 0 21.375rem 0 10.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 3.125rem;
  }
}

.p-top-strength__head {
  white-space: nowrap;
}
@media screen and (max-width: 1023px) {
  .p-top-strength__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.p-top-strength__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength__body {
    margin-top: 9rem;
    gap: 1.875rem;
    width: 22.5rem;
  }
}

.p-top-strength__more {
  margin-left: auto;
}
.p-top-strength__pic figure {
  position: absolute;
  z-index: 2;
}
.p-top-strength__pic figure svg {
  position: absolute;
  height: auto;
}
.p-top-strength__pic figure:nth-child(1) {
  width: 10.625rem;
  left: calc(50% - 11.75rem);
  top: 10.3125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength__pic figure:nth-child(1) {
    width: 19.875rem;
    left: calc(50% - 50rem);
    top: 19.6875rem;
  }
}

.p-top-strength__pic figure:nth-child(2) {
  width: 16.4375rem;
  bottom: 17.375rem;
  right: calc(50% - 11.6875rem);
}
@media screen and (min-width: 1024px) {
  .p-top-strength__pic figure:nth-child(2) {
    width: 28.25rem;
    right: calc(50% - 50rem);
    top: 10.875rem;
    bottom: auto;
  }
}

.p-top-strength__pic figure:nth-child(3) {
  width: 8.625rem;
  left: calc(50% - 3.875rem);
  top: 2rem;
}
.p-top-strength__pic figure:nth-child(3) svg {
  width: 3.6875rem;
  right: 0;
  bottom: -2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength__pic figure:nth-child(3) {
    width: 16.0625rem;
    left: calc(50% - 35.25rem);
    top: 4.25rem;
  }
  .p-top-strength__pic figure:nth-child(3) svg {
    width: 6.875rem;
    right: 0;
    bottom: -5rem;
  }
}

.p-top-strength__pic figure:nth-child(4) {
  width: 10.5625rem;
  left: calc(50% - 9.25rem);
  bottom: 7.5rem;
}
.p-top-strength__pic figure:nth-child(4) svg {
  width: 4.375rem;
  left: -0.625rem;
  top: -2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-strength__pic figure:nth-child(4) {
    width: 18.1875rem;
    left: calc(50% + 14.0625rem);
    bottom: 2rem;
  }
  .p-top-strength__pic figure:nth-child(4) svg {
    width: 8.75rem;
    left: -2.5rem;
    top: -5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-service {
  background: #faf8f5;
}
.p-top-service__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  padding-top: 1.875rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-top-service__wrap {
    padding-top: 4.375rem;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 0 auto;
        grid-template-areas: "head body" "head area";
    -ms-grid-columns: 11rem 0 1fr;
    grid-template-columns: 11rem 1fr;
    gap: 0;
  }
  .p-top-service__wrap > .l-footer-contact__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-service__head {
    grid-area: head;
  }
}

.p-top-service__figure {
  position: absolute;
  left: 0.625rem;
  top: 5.125rem;
  width: 3.8125rem;
  z-index: 2;
}
.p-top-service__figure svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-top-service__figure {
    width: 6rem;
    left: 11.875rem;
    top: 0.625rem;
  }
}

.p-top-service__body {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-top-service__body {
    grid-area: body;
    margin-top: 3.125rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-service__area {
    grid-area: area;
    margin-top: 3rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-works {
  position: relative;
  overflow: hidden;
  padding-top: var(--section-padding--lgx);
  padding-bottom: var(--section-padding--lgx);
  background: #faf8f5;
}
.p-top-works__body {
  padding-top: var(--section-padding--md);
  padding-bottom: var(--section-padding);
}
.p-top-works__slide .swiper {
  width: 13.75rem;
  overflow: initial;
  margin-inline: 5rem 0;
}
.p-top-works__slide .is-even {
  margin-top: 1.75rem;
}
@media screen and (min-width: 1024px) {
  .p-top-works__slide .swiper {
    width: 53.5rem;
    margin-inline: auto;
  }
  .p-top-works__slide .is-even {
    margin-top: 3.25rem;
  }
}

.p-top-works__ctrl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.875rem;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .p-top-works__ctrl {
    margin-top: 3.25rem;
    gap: 2rem;
  }
}

.p-top-works__indicator {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-top-works__indicator #TopWorksIndicator {
  position: relative;
  width: 100%;
  height: 0.25rem;
  background: #fff;
}
.p-top-works__indicator #TopWorksIndicator .swiper-pagination-progressbar-fill {
  background: #d5d5d5;
}
.p-top-works__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-works__nav {
    gap: 0.75rem;
  }
}

.p-top-works__more {
  margin-top: 2.375rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-works__more {
    margin-top: 3.0625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-roof {
  position: relative;
  padding-bottom: var(--section-padding--lgx);
}
.p-top-roof__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
  padding-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-roof__wrap {
    padding-top: 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 6.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-roof__head {
    margin-top: -4.375rem;
  }
}

.p-top-roof__figure {
  position: absolute;
  right: 0.75rem;
  top: -1.25rem;
  width: 3.875rem;
}
.p-top-roof__figure svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-top-roof__figure {
    width: 6.125rem;
    top: auto;
    bottom: 0;
    right: -2rem;
  }
}

.p-top-roof__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-top-roof__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-recruit {
  position: relative;
}
.p-top-recruit__content {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  color: #fff;
}
.p-top-recruit__wrap {
  padding: 4.375rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-top-recruit__wrap {
    padding: 1.875rem 0 0;
    gap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__wrap {
    padding: 6.75rem 9.125rem 0 26.875rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 4.5rem;
  }
}

.p-top-recruit__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
}
.p-top-recruit__body p {
  font-weight: 500;
}
.p-top-recruit__body ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-top-recruit__body {
    padding-top: 9.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-company {
  position: relative;
  padding-top: var(--section-padding--lg);
}
.p-top-company__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-company__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-company__head {
    grid-area: head;
    width: 5rem;
  }
}

.p-top-company__figure {
  position: absolute;
  left: 0;
  top: -1.25rem;
  width: 4.5rem;
  pointer-events: none;
}
.p-top-company__figure svg {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-top-company__figure {
    grid-area: figure;
    width: 8.75rem;
    left: -3.75rem;
    bottom: 0.625rem;
    top: auto;
  }
}

.p-top-company__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.25rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.p-top-company__body ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-company__body {
    margin-top: 8rem;
    grid-area: body;
    gap: 2.625rem;
    padding-right: 2rem;
  }
  .p-top-company__body ul {
    gap: 1rem;
  }
}

@media screen and (max-width: 750px) {
  .p-top-company__pic {
    margin-inline: calc(50% - 50vw);
  }
}
@media screen and (min-width: 1024px) {
  .p-top-company__pic {
    margin-top: 4.125rem;
    grid-area: pic;
    margin-right: -12.5rem;
    width: 46.5625rem;
  }
}

.p-top-company__map {
  margin-top: var(--section-padding--md);
}
.p-top-company__map iframe {
  width: 100%;
  height: 25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-company__map iframe {
    height: 27.5rem;
  }
}

.p-top-company__blog {
  padding-top: var(--section-padding--lg);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-top-news {
  padding-top: var(--section-padding--lg);
}
@media screen and (min-width: 1024px) {
  .p-top-news__wrap {
    display: -ms-grid;
    display: grid;
        grid-template-areas: "head body" "head foot";
    -ms-grid-columns: 9.375rem 1fr;
    grid-template-columns: 9.375rem 1fr;
  }
  .p-top-news__wrap > .l-footer-contact__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-top-news__wrap > .p-top-service__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-top-news__wrap > .p-top-service__body {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-top-news__wrap > .p-top-company__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-top-news__wrap > .p-top-company__body {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-news__head {
    grid-area: head;
  }
}

.p-top-news__body {
  margin-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .p-top-news__body {
    margin-top: -1.25rem;
    grid-area: body;
  }
}

.p-top-news__foot {
  margin: 1.5625rem 0 0 auto;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .p-top-news__foot {
    grid-area: foot;
  }
}
@media screen and (min-width: 1024px){
  .l-footer-contact__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .l-footer-contact__lead {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .l-footer-contact__cta {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .p-top-service__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-service__wrap > .p-top-service__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-service__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-top-service__area {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .p-top-company__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-service__wrap > .p-top-company__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-company__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-top-news__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-service__wrap > .p-top-news__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .p-top-news__wrap > .p-top-news__head {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1;
  }
  .p-top-news__body {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-top-news__wrap > .p-top-news__body {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-top-news__foot {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-works
----------------------------------------------------*/
.p-works__list {
  padding-top: var(--section-padding--lg);
  display: -ms-grid;
  display: grid;
  gap: 2.5rem;
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .p-works__list {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 1024px) {
  .p-works__list {
    -ms-grid-columns: 1fr 3rem 1fr 3rem 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.5rem 3rem;
  }
}

.p-works__paginate {
  margin-top: var(--section-padding);
  padding-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-works__paginate {
    padding-top: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-works-detail {
  padding-top: var(--section-padding--lg);
}

.p-works-ba {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 1024px) {
  .p-works-ba {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.p-works-ba-item {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
  background: #faf8f5;
}
.p-works-ba-item img {
  width: 100%;
  aspect-ratio: 3/2;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-works-ba-item figcaption {
  position: absolute;
  bottom: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 6.25rem;
  height: 2rem;
  background: #333;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-align: center;
  color: #fff;
}
.is-single .p-works-ba-item figcaption {
  display: none;
}
.p-works-ba-item:nth-child(2) figcaption {
  right: auto;
  left: 0;
}
.p-works-content{
	margin: 30px 0;
}
.p-works-content h2{
	margin-bottom: 30px;
	padding: 0.75rem 1rem;
    background: #faf8f5;
    border-left: 0.5rem solid #333;
    font-weight: 500;
    font-size: 1.25rem;
}
.p-works-content h3{
	margin-bottom: 18px;
	padding: 0.5em 0;
    font-weight: 500;
    font-size: 1.125rem;
    border-bottom: 1px solid #333;
}
.p-works-content h4{
	margin-bottom: 18px;
	font-weight: 500;
    font-size: 1.25rem;
    color: #333;
}
.p-works-content p{	
	margin-bottom: 18px;
}
@media screen and (min-width: 1024px) {
  .p-works-ba-item figcaption {
    width: 8rem;
    height: 2.5rem;
    font-size: 1.125rem;
  }
}

.p-works-info {
  padding-top: var(--section-padding--md);
}
.p-works-pager {
  padding-top: var(--section-padding--lg);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-contact
----------------------------------------------------*/
.cm-contact-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-contact-nav {
    gap: 9.75rem;
  }
}

.cm-contact-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  height: 2.625rem;
  background: #faf8f5;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-weight: 500;
  font-size: 1rem;
}
.cm-contact-nav__list:before {
  content: "";
  display: block;
  position: absolute;
  left: -1.5625rem;
  top: 50%;
  pointer-events: none;
  width: 1.25rem;
  height: 1px;
  background: #333;
}
.cm-contact-nav__list:first-child:before {
  display: none;
}
.cm-contact-nav__list.is-current {
  color: #fff;
  background-color: #333;
}
@media screen and (min-width: 1024px) {
  .cm-contact-nav__list {
    padding: 0 1.5rem;
    height: 3.5rem;
    font-size: 1.125rem;
  }
  .cm-contact-nav__list:before {
    left: -7.125rem;
    width: 4.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-contact-nav__no {
    position: absolute;
    left: 1.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-contact-nav__title {
    padding-left: 0.625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-entry
----------------------------------------------------*/
body figure {
  margin-bottom: 0;
}

.cm-entry {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  font-size: 1rem;
  line-height: 2;
  word-break: break-all;
}
@media screen and (min-width: 1024px) {
  .cm-entry {
    gap: 2.25rem;
  }
}
.cm-entry h1 {
  font-size: 2em;
  margin-top: 0.67em;
  font-weight: bold;
}
.cm-entry h2 {
  font-size: 1.5em;
  margin-top: 0.83em;
  font-weight: bold;
}
.cm-entry h3 {
  display: block;
  font-size: 1.17em;
  margin-top: 1em;
  font-weight: bold;
}
.cm-entry h4 {
  font-size: 1em;
  margin-top: 1.33em;
  font-weight: bold;
}
.cm-entry h5 {
  font-size: 0.83em;
  margin-top: 1.67em;
  font-weight: bold;
}
.cm-entry strong {
  font-weight: bold;
}
.cm-entry em {
  font-style: italic;
}
.cm-entry ul, .cm-entry ol {
  margin-left: 1.5em;
}
.cm-entry li {
  list-style: disc;
}
.cm-entry ol li {
  list-style: decimal;
}
.cm-entry table th {
  font-weight: bold;
}
.cm-entry table th,
.cm-entry table td {
  padding: 0.5em 0.5em;
  border: 1px solid #ccc;
}
.cm-entry a {
  color: #1DA1F2;
  text-decoration: underline;
}
.cm-entry a:hover {
  text-decoration: none;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
.cm-entry .wp-block-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1023px) {
  .editor-styles-wrapper.editor-styles-wrapper.editor-styles-wrapper .wp-block-gallery,
  .cm-entry .wp-block-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-main
----------------------------------------------------*/
.cm-main-mv {
  position: relative;
}
.cm-main-mv__bg {
  position: relative;
  overflow: hidden;
}
.cm-main-mv__bg img {
  width: 100%;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
  opacity: 0;
  will-change: opacity, transform;
}
.is-visible .cm-main-mv__bg img {
  -webkit-transition: opacity 0.3s ease-out, -webkit-transform 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0.3s ease-out, -webkit-transform 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0.3s ease-out, transform 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 0.3s ease-out, transform 1.6s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
.cm-main-mv__bg:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(51, 51, 51, 0.27)), to(rgba(51, 51, 51, 0)));
  background: linear-gradient(to bottom, rgba(51, 51, 51, 0.27) 0%, rgba(51, 51, 51, 0) 100%);
}
.is-visible .cm-main-mv__bg:before {
  -webkit-transition: height 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  transition: height 1.6s cubic-bezier(0.61, 1, 0.88, 1);
  height: 6.5rem;
}
.cm-main-mv__bg:after {
  content: "";
  display: block;
  width: 100%;
  height: 10.3125rem;
  position: absolute;
  left: 0;
  bottom: -0.5px;
  pointer-events: none;
  background-color: #fff;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
@media screen and (max-width: 1023px) {
  .cm-main-mv__bg:before {
    height: 3.75rem;
  }
  .cm-main-mv__bg:after {
    width: 100%;
    height: 2.5rem;
  }
  .cm-main-mv__bg img {
    width: 100%;
    height: 10rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.cm-main-mv__breadcrumb {
  width: 100%;
  position: absolute;
  left: 0;
  top: 0.625rem;
  font-weight: 500;
  font-size: 0.75rem;
  color: #fff;
}
.cm-main-mv__breadcrumb ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.cm-main-mv__breadcrumb li + li:before {
  content: "/";
  margin-inline: 0.375rem;
}
.cm-main-mv__breadcrumb a {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__breadcrumb {
    top: 1rem;
    font-size: 0.875rem;
  }
}

.cm-main-mv__title {
  position: relative;
  margin-top: 0rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv__title {
    margin-top: -2.5rem;
  }
}

.cm-main-mv--noImg {
  padding-top: 6.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-mv--noImg {
    padding-top: 12.5rem;
  }
}
.cm-main-mv--noImg .cm-main-mv__breadcrumb {
  color: #333;
}
.cm-main-mv--noImg .cm-main-mv__breadcrumb a {
  color: #333;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-paginate__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__list {
    gap: 1.125rem;
  }
}

.cm-main-paginate__ctrl a, .cm-main-paginate__ctrl span {
  width: 1.5rem;
  height: 1.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
}
.cm-main-paginate__ctrl svg {
  width: 44%;
  height: auto;
  fill: #333;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__ctrl a, .cm-main-paginate__ctrl span {
    width: 2.25rem;
    height: 2.25rem;
  }
}

.cm-main-paginate__page a, .cm-main-paginate__page span {
  width: 1.5rem;
  height: 1.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
  font-weight: 500;
  font-size: 1rem;
}
.cm-main-paginate__page.is-current a, .cm-main-paginate__page.is-current span {
  color: #fff;
  background: #333;
}
.cm-main-paginate__page a:hover {
  color: #fff;
  background: #333;
}
@media screen and (min-width: 1024px) {
  .cm-main-paginate__page a, .cm-main-paginate__page span {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-pager {
  padding-top: 1rem;
  background: url(../img/line.svg) 0 0/auto 0.125rem no-repeat;
  font-weight: 500;
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-pager {
    padding-top: 1.5rem;
    font-size: 1.125rem;
  }
  .cm-main-pager a:hover {
    opacity: 0.7;
  }
}

.cm-main-pager__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cm-main-pager__ctrl a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.cm-main-pager__ctrl svg {
  width: 0.75rem;
  height: auto;
  fill: #333;
}
@media screen and (min-width: 1024px) {
  .cm-main-pager__ctrl a {
    gap: 0.75rem;
  }
}

.cm-main-pager__top {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-align: center;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-area {
  max-width: 64rem;
  margin-inline: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  background: #fff;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .cm-main-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.125rem;
  }
}

.cm-main-area__list {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1.5rem 1.5rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
.cm-main-area__list dt {
  font-weight: 500;
  font-size: 1.25rem;
}
.cm-main-area__list dd ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.cm-main-area__list dd li {
  padding: 0.25rem 0.875rem;
  background: #f2f0ed;
  font-weight: 500;
  font-size: 1rem;
}
.cm-main-area__list ._ex {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-area__list {
    gap: 1.25rem;
    padding: 3.625rem 0 3.125rem 3.5rem;
  }
  .cm-main-area__list dt {
    font-size: 1.5rem;
  }
  .cm-main-area__list dd ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .cm-main-area__list dd li {
    padding: 0.25rem 1rem;
    font-size: 1.125rem;
  }
  .cm-main-area__list ._ex {
    margin-top: 1.25rem;
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-main-area__pic {
    width: 24rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-main-entry__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.cm-main-entry__date {
  font-size: 18px;
  color: #a6a6a6;
}
.cm-main-entry__body {
  padding-top: var(--section-padding--md);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--section-padding--md);
}
.cm-main-entry__body h1 + *,
.cm-main-entry__body h2 + * {
  margin-top: -1.5rem;
}
.cm-main-entry__body h3 + * {
  margin-top: -1.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-main-entry__body h1 + *,
  .cm-main-entry__body h2 + *,
  .cm-main-entry__body h3 + * {
    margin-top: -2rem;
  }
}

.cm-main-entry--news .cm-main-entry__body {
  padding-top: 1.25rem;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	cm-nav
----------------------------------------------------*/
.cm-nav-main {
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  background-color: #fff;
}
@media screen and (max-width: 1023px) {
  .cm-nav-main {
    gap: 0.125rem;
    margin-inline: -1.25rem;
    background: url(../img/line-sm-ver.svg) center 0/1px auto no-repeat;
  }
  .cm-nav-main:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -0.125rem;
    pointer-events: none;
    background: url(../img/line-sm.svg) center 0/auto 1px no-repeat;
  }
}
@media screen and (min-width: 1024px) {
  .cm-nav-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.75rem 3rem;
  }
  .cm-nav-main a {
    -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
    transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .cm-nav-main a:hover {
    opacity: 0.7;
  }
}

.cm-nav-main__list {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .cm-nav-main__list:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: -0.125rem;
    pointer-events: none;
    background: url(../img/line-sm.svg) center 0/auto 1px no-repeat;
  }
  .cm-nav-main__list._col2 {
    -ms-grid-column-span: 2;
    grid-column: span 2;
  }
}

.cm-nav-main__link {
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .cm-nav-main__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 3.5rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
  }
}
@media screen and (max-width: 1023px) {
  .cm-nav-main__child {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .cm-nav-main__child {
    margin-top: 0.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1rem;
    line-height: 2;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-nav-page ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
.cm-nav-page li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-nav-page a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2.5rem;
  background: #faf8f5;
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.cm-nav-page a:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .cm-nav-page a:hover, a:hover .cm-nav-page a {
    color: #fff;
    background: #333;
  }
}
.cm-nav-page .is-current a {
  color: #fff;
  background: #333;
}
@media screen and (min-width: 1024px) {
  .cm-nav-page ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .cm-nav-page a {
    height: 3.5rem;
    font-size: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-nav-anchor ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.cm-nav-anchor li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-nav-anchor li:not(:first-child) {
  border-left: 1px solid #333;
}
.cm-nav-anchor a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2.5rem;
  border-bottom: 1px solid #333;
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.cm-nav-anchor a i {
  width: 0.75rem;
  font-size: 0;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.cm-nav-anchor a svg {
  width: 100%;
  height: auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.cm-nav-anchor a:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .cm-nav-anchor a:hover i, a:hover .cm-nav-anchor a i {
    -webkit-transform: translateY(0.3125rem);
            transform: translateY(0.3125rem);
  }
}
@media screen and (min-width: 1024px) {
  .cm-nav-anchor a {
    height: 3.5rem;
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-nav-aside {
  background: #faf8f5;
  padding: 1.25rem 1.25rem;
}
.cm-nav-aside:not(:first-child) {
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-nav-aside {
    padding: 1.5rem 1.5rem;
  }
  .cm-nav-aside:not(:first-child) {
    margin-top: 2rem;
  }
}

.cm-nav-aside__title {
  font-weight: 500;
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-nav-aside__title {
    font-size: 1.25rem;
  }
}

.cm-nav-aside__category {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.cm-nav-aside__category a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  background: #fff !important;
}
.cm-nav-aside__archive {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.cm-nav-aside__archive > li {
  padding: 0.375rem 0.75rem;
  background-color: #fff;
}
.cm-nav-aside__archive > li:not(:first-child) ul {
  display: none;
}
.cm-nav-aside__archive li button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  width: 100%;
  font-size: 1.125rem;
  color: #333;
  text-align: left;
}
.cm-nav-aside__archive li button span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.cm-nav-aside__archive li button i {
  width: 0.75rem;
  font-size: 0;
}
.cm-nav-aside__archive li button svg {
  width: 100%;
  height: auto;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  fill: #333;
}
.cm-nav-aside__archive li button.is-open svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.cm-nav-aside__archive li ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.375rem;
  padding: 0.5rem 0.75rem 0;
  background: url(../img/line.svg) 0 0/auto 0.125rem no-repeat;
}
.cm-nav-aside__archive li li {
  font-size: 1rem;
}
.cm-nav-aside__archive li li a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.cm-nav-aside__archive li li a:hover {
  text-decoration: underline;
}
.cm-nav-aside__recent {
  margin-top: 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.cm-nav-aside__recent a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0.375rem 0.75rem;
  background-color: #fff;
}
.cm-nav-aside__recent a ._date {
  font-weight: 500;
  font-size: 1rem;
  color: #a6a6a6;
}
.cm-nav-aside__recent a ._title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.3333333333;
}
@media screen and (min-width: 1024px) {
  .cm-nav-aside__recent a ._date {
    font-size: 1.125rem;
  }
  .cm-nav-aside__recent a ._title {
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-btn
----------------------------------------------------*/
.c-btn-more {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 0.25rem 0.75rem;
  font-weight: 500;
  font-size: 1rem;
  background-color: #fff;
  cursor: pointer;
  will-change: transform;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
.c-btn-more:before {
  content: "";
  display: block;
  width: 100%;
  height: 62%;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 1024px) {
  .c-btn-more {
    padding: 0.375rem 0.75rem;
    font-size: 1.125rem;
  }
}
a:hover .c-btn-more, .c-btn-more:hover {
  -webkit-transform: skew(-10deg);
          transform: skew(-10deg);
}

.c-btn-more--transparent {
  background: transparent;
}

.c-btn-more--wh {
  color: #fff;
  background: transparent;
}
.c-btn-more--wh:before {
  border-color: #fff;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  position: relative;
  background: #fff;
  border-radius: 100%;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .c-btn-arrow {
    width: 3.5rem;
    height: 3.5rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-btn-arrow--sm {
    width: 2rem;
    height: 2rem;
  }
}

.c-btn-arrow--beige {
  background: #faf8f5;
}

.c-btn-arrow__circle {
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.c-btn-arrow__circle svg {
  width: 100%;
  height: auto;
}
button:hover .c-btn-arrow__circle, a:hover .c-btn-arrow__circle {
  -webkit-transform: rotate(90deg) scale(1.2);
          transform: rotate(90deg) scale(1.2);
}
.c-btn-arrow__arrow {
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
.c-btn-arrow__arrow svg {
  width: 100%;
  height: auto;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-cta {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20.9375rem;
  height: 6rem;
  background: #fff;
}
.c-btn-cta:hover {
  color: #fff;
  background-color: #333;
}
@media screen and (min-width: 1024px) {
  .c-btn-cta {
    width: 22.5rem;
    height: 6.5rem;
  }
}

.c-btn-cta__bg {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.c-btn-cta__bg svg {
  width: 100%;
  height: auto;
}
.c-btn-cta__wrap {
  position: relative;
  text-align: center;
}
.c-btn-cta__wrap svg {
  fill: #333;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
}
a:hover .c-btn-cta__wrap svg {
  fill: #fff;
}
.c-btn-cta-tel__no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.375rem;
  font-weight: 500;
  font-size: 2.25rem;
  letter-spacing: 0.05em;
}
.c-btn-cta-tel__no svg {
  width: 1.75rem;
  height: auto;
}

.c-btn-cta-tel__open {
  line-height: 1;
  padding-bottom: 0.875rem;
  font-weight: 500;
  font-size: 0.875rem;
}

.c-btn-cta-email__no {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  font-weight: 500;
  font-size: 1.25rem;
}
.c-btn-cta-email__no svg {
  width: 1.75rem;
  height: auto;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-btn-blog {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  height: 16.1875rem;
  background: #faf8f5;
  margin-inline: auto;
  padding: 2rem 1rem 1rem;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-btn-blog:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media screen and (max-width: 1023px) {
  .c-btn-blog {
    margin-inline: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-blog {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 48rem;
    height: 10.9375rem;
    padding: 1.5rem 1.5rem;
    gap: 0;
  }
}

.c-btn-blog__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 1023px) {
  .c-btn-blog__head {
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-blog__head {
    padding-left: 4.0625rem;
    margin-right: 2.5rem;
  }
}

.c-btn-blog__en {
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1024px) {
  .c-btn-blog__en {
    padding-left: 0.5em;
  }
}

.c-btn-blog__ja {
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-blog__ja {
    font-size: 2rem;
  }
}

@media screen and (max-width: 1023px) {
  .c-btn-blog__desc {
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-blog__desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.c-btn-blog__figure {
  width: 6.8125rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .c-btn-blog__figure {
    position: absolute;
    left: 2.8125rem;
    bottom: -1.25rem;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .c-btn-blog__figure {
    width: 10.625rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-blog__figure {
    margin: auto 0 0 auto;
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: 10rem;
  }
}

.c-btn-blog__more {
  margin: auto 0 0 auto;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-card
----------------------------------------------------*/
.c-card-blog__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.25rem;
}
@media screen and (min-width: 1024px) {
  .c-card-blog__link {
    gap: 0.5rem;
  }
}

.c-card-blog__pic {
  margin-bottom: 0.75rem;
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-blog__pic img {
  aspect-ratio: 600/400;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-blog__pic:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-blog__pic:hover img, a:hover .c-card-blog__pic img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.c-card-blog__date {
  font-size: 1rem;
  color: #a6a6a6;
}
@media screen and (min-width: 1024px) {
  .c-card-blog__date {
    font-size: 1.125rem;
  }
}

.c-card-blog__cate {
  position: relative;
  padding: 0.375rem 0.5rem 0.375rem 1.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  background-color: #FAF8F5;
}
.c-card-blog__cate i {
  position: absolute;
  top: calc(0.75em + 0.375rem - 0.25rem);
  left: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.5rem;
  height: 0.5rem;
  background: #d72f2c;
  border-radius: 100%;
}
@media screen and (min-width: 1024px) {
  .c-card-blog__cate {
    font-size: 1.125rem;
  }
}

.c-card-blog__title {
  margin-top: 0.75rem;
  font-weight: 500;
  font-size: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .c-card-blog__title {
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-work__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
.c-card-work__pic {
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-work__pic img {
  aspect-ratio: 600/440;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card-work__pic:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-work__pic:hover img, a:hover .c-card-work__pic img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.c-card-work__title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.25rem 1rem 0.25rem 0;
  font-weight: 500;
  font-size: 1rem;
  background-color: #fff;
  cursor: pointer;
  will-change: transform;
  -webkit-transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 0.3s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
.c-card-work__title:before {
  content: "";
  display: block;
  width: 100%;
  height: 62%;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 1024px) {
  .c-card-work__title {
    padding: 0.375rem 1rem 0.375rem 0;
    font-size: 1.125rem;
  }
}
a:hover .c-card-work__title {
  -webkit-transform: skew(-10deg);
          transform: skew(-10deg);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  padding: 1.25rem;
  background: #faf8f5;
}
@media screen and (min-width: 1024px) {
  .c-card-menu {
    gap: 0.75rem;
    padding: 2rem;
  }
}

.c-card-menu__title {
  font-weight: 500;
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .c-card-menu__title {
    font-size: 1.125rem;
  }
}

.c-card-menu__desc {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .c-card-menu__desc {
    font-size: 1.125rem;
  }
}

.c-card-menu__price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.125rem 0.75rem;
  background: #807f7d;
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-card-menu__price {
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-news {
  position: relative;
  background: url(../img/line.svg) 0 bottom/auto 0.125rem no-repeat;
}
.c-card-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
  padding: 1.125rem 0;
}
.c-card-news__link:after {
  content: "";
  display: block;
  width: 0;
  height: 0.125rem;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  background: #d5d5d5;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (min-width: 1024px) {
  .c-card-news__link {
    gap: 0;
    padding: 1.375rem 0;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-card-news__link:hover:after {
    left: 0;
    right: auto;
    width: 100%;
  }
}

.c-card-news__date {
  font-weight: 500;
  font-size: 1rem;
  color: #a6a6a6;
}
@media screen and (min-width: 1024px) {
  .c-card-news__date {
    width: 8.125rem;
    font-size: 1.125rem;
  }
}

.c-card-news__subject {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 1rem;
  color: #333;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .c-card-news__subject {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -webkit-line-clamp: 1;
    font-size: 1.125rem;
  }
}

.c-card-news__ico {
  width: 2rem;
}
@media screen and (max-width: 1023px) {
  .c-card-news__ico {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .c-card-news__ico {
    margin-left: 1.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-bnr__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.c-card-bnr__pic {
  overflow: hidden;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-bnr__pic:after {
  content: "";
  display: block;
  width: 100%;
  height: 5.625rem;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(51, 51, 51, 0)), to(rgba(51, 51, 51, 0.8)));
  background: linear-gradient(rgba(51, 51, 51, 0) 0%, rgba(51, 51, 51, 0.8) 100%);
}
.c-card-bnr__pic:active {
  -webkit-transform: scale(0.965);
          transform: scale(0.965);
}
@media (hover: hover) {
  .c-card-bnr__pic:hover img, a:hover .c-card-bnr__pic img {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
@media screen and (max-width: 750px) {
  .c-card-bnr__pic {
    width: 100%;
  }
  .c-card-bnr__pic img {
    width: 100%;
    height: 11.25rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 1024px) {
  .c-card-bnr__pic:after {
    height: 7.5rem;
  }
}

.c-card-bnr__more {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}
@media screen and (min-width: 1024px) {
  .c-card-bnr__more {
    right: 1.5rem;
    bottom: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-card-roof {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  background: #faf8f5;
  padding: 1.25rem 1.25rem 4.25rem;
  position: relative;
  -ms-flex-item-align: start;
      align-self: flex-start;
}
@media screen and (min-width: 1024px) {
  .c-card-roof {
    padding: 2rem 2rem 5.5rem;
  }
}

.c-card-roof__title {
  margin-top: 0.375rem;
  font-weight: 500;
  font-size: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .c-card-roof__title {
    font-size: 1.5rem;
  }
}

.c-card-roof__desc {
  position: relative;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  min-height: 100px;
  height: 100px;
  overflow: hidden;
}
.c-card-roof__desc:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  pointer-events: none;
  width: 100%;
  height: 4.375rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(250, 248, 245, 0)), to(#faf8f5));
  background: linear-gradient(rgba(250, 248, 245, 0) 0%, #faf8f5 100%);
  -webkit-transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.5s cubic-bezier(0.5, 1, 0.89, 1);
}
.is-open .c-card-roof__desc:before {
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  opacity: 0;
}
.c-card-roof__close {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2rem;
  text-align: center;
}
.c-card-roof__close button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 9rem;
  height: 2rem;
  background: #333;
  font-weight: 500;
  font-size: 1rem;
  text-align: center;
  color: #fff;
}
.c-card-roof__close button i {
  width: 0.75rem;
  position: absolute;
  right: 0.4375rem;
  font-size: 0;
}
.c-card-roof__close button span {
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
.c-card-roof__close button span:nth-child(2) {
  position: absolute;
  opacity: 0;
}
.c-card-roof__close button svg {
  width: 100%;
  height: auto;
  fill: #fff;
  -webkit-transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  transition: 0.3s cubic-bezier(0.5, 1, 0.89, 1);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.is-open .c-card-roof__close button span:nth-child(1) {
  opacity: 0;
}
.is-open .c-card-roof__close button span:nth-child(2) {
  opacity: 1;
}
.is-open .c-card-roof__close button svg {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-heading
----------------------------------------------------*/
.c-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .c-heading {
    gap: 0.875rem;
  }
}

.c-heading__en {
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
}
.c-heading__ja {
  font-weight: 500;
  font-size: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .c-heading__ja {
    font-size: 2rem;
    line-height: 2.25rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-heading--vertical {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
  }
  .c-heading--vertical .c-heading__en {
    padding-top: 0.25rem;
  }
  .c-heading--vertical .c-heading__ja {
    margin-right: -0.25em;
    line-height: 1.75;
    letter-spacing: 0.12em;
  }
}

.c-heading--verticalSP {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-align: left;
  gap: 0.75rem;
}
.c-heading--verticalSP .c-heading__en {
  padding-top: 0.25rem;
  letter-spacing: 0.05em;
}
.c-heading--verticalSP .c-heading__ja {
  margin-right: -0.25em;
  line-height: 1.6;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 1024px) {
  .c-heading--verticalSP {
    gap: 1rem;
  }
}

@media screen and (min-width: 1024px) {
  .c-heading--mv .c-heading__en {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-heading--mv .c-heading__ja {
    font-size: 2.5rem;
    letter-spacing: 0.22em;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-2, .cm-main-entry__body h1,
.cm-main-entry__body h2 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.7142857143;
}
@media screen and (min-width: 1024px) {
  .c-heading-2, .cm-main-entry__body h1,
  .cm-main-entry__body h2 {
    font-size: 1.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-3 {
  padding: 0.5em 0;
  font-weight: 500;
  font-size: 1.125rem;
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 1024px) {
  .c-heading-3 {
    font-size: 1.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-bar, .cm-main-entry__body h3 {
  padding: 0.625rem 1rem;
  background: #faf8f5;
  border-left: 0.5rem solid #333;
  font-weight: 500;
  font-size: 1.125rem;
}
@media screen and (min-width: 1024px) {
  .c-heading-bar, .cm-main-entry__body h3 {
    padding: 0.75rem 1rem;
    font-size: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	.c-link
----------------------------------------------------*/
.c-link-alpha:hover {
  opacity: 0.7;
}

.c-link-underline, .p-roof-type-section-item__body a, .p-privacy-policy__content a, .cm-main-entry__body a {
  text-decoration: underline;
  font-weight: 500;
}
.c-link-underline:hover, .p-roof-type-section-item__body a:hover, .p-privacy-policy__content a:hover, .cm-main-entry__body a:hover {
  text-decoration: none;
}

.c-link-hover, .p-404__nav a {
  font-weight: 500;
  text-decoration: none;
}
.c-link-hover:hover, .p-404__nav a:hover {
  text-decoration: underline;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-paragraph
----------------------------------------------------*/
.c-paragraph, .c-table, .l-footer-contact__lead, .p-contact__lead, .p-entry__lead, .p-privacy-policy__content, .cm-main-entry__body, .c-btn-blog__desc {
  font-size: 1rem;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .c-paragraph, .c-table, .l-footer-contact__lead, .p-contact__lead, .p-entry__lead, .p-privacy-policy__content, .cm-main-entry__body, .c-btn-blog__desc {
    font-size: 1.125rem;
    line-height: 2.2222222222;
  }
}

.c-paragraph--lsm, .c-table {
  line-height: 1.7777777778;
}
@media screen and (min-width: 1024px) {
  .c-paragraph--lsm, .c-table {
    line-height: 1.7777777778;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	.c-table
----------------------------------------------------*/
.c-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 0.5rem;
}
.c-table th {
  padding: 0.625rem 1rem;
  background: #f2f0ed;
  text-align: left;
}
.c-table td {
  padding: 0.625rem 1rem;
  background-color: #fff;
  border: 1px solid #F2F0ED;
}
@media screen and (max-width: 1023px) {
  .c-table {
    display: block;
  }
  .c-table tbody, .c-table tr, .c-table th, .c-table td {
    display: block;
  }
  .c-table tr:not(:first-child) {
    margin-top: 0.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-table th {
    width: 15rem;
    padding: 1.125rem 2rem;
  }
  .c-table td {
    padding: 1.125rem 2rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  */
}

/* Common Styles */
/* Bullets */
/* Progress */
/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.text-center {
  text-align: center;
}

.bold,
.strong {
  font-weight: bold;
}

.u-hide {
  display: none;
}

.u-breakLine {
  display: inline-block;
}

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

.u-only-pc {
  display: none !important;
}
@media screen and (min-width: 751px) {
  .u-only-pc {
    display: block !important;
  }
}

[data-delay="0.1"] {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

[data-delay="0.2"] {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

[data-delay="0.3"] {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

[data-delay="0.4"] {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

[data-delay="0.5"] {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

[data-delay="0.6"] {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

[data-delay="0.7"] {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

[data-delay="0.8"] {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

[data-delay="0.9"] {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

[data-delay="1"] {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

[data-delay="1.1"] {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

[data-delay="1.2"] {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

[data-delay="1.3"] {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

[data-delay="1.4"] {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

[data-delay="1.5"] {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

[data-delay="1.6"] {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

[data-delay="1.7"] {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

[data-delay="1.8"] {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

[data-delay="1.9"] {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

[data-delay="2"] {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

[data-delay="2.1"] {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

[data-delay="2.2"] {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

[data-delay="2.3"] {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

[data-delay="2.4"] {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

[data-delay="2.5"] {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

[data-delay="2.6"] {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

[data-delay="2.7"] {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

[data-delay="2.8"] {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

[data-delay="2.9"] {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

[data-delay="3"] {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.u-template {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
  padding-bottom: 100px;
}

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

.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.u-border-h {
  background: url(../img/line.svg) 0 0/auto 0.125rem no-repeat;
}

.u-line-dotted {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.u-line-dotted span:nth-child(1):before, .u-line-dotted span:nth-child(1):after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: url(../img/line.svg) 0 bottom/auto 2px no-repeat;
}
.u-line-dotted span:nth-child(1):after {
  top: auto;
  bottom: 0;
}
.u-line-dotted span:nth-child(2):before, .u-line-dotted span:nth-child(2):after {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: url(../img/line-ver.svg) 0 bottom/2px auto no-repeat;
}
.u-line-dotted span:nth-child(2):after {
  left: auto;
  right: 0;
}

.u-bg-triangle {
  position: relative;
}
.u-bg-triangle:after {
  content: "";
  display: block;
  width: 100%;
  height: 10.3125rem;
  position: absolute;
  left: 0;
  bottom: -0.5px;
  pointer-events: none;
  background-color: #fff;
  -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
          clip-path: polygon(50% 0, 100% 100%, 0 100%);
  z-index: 0;
}
@media screen and (max-width: 1023px) {
  .u-bg-triangle:after {
    width: 100%;
    height: 2.5rem;
  }
}

.u-bg-triangle--beige:after {
  background: #faf8f5;
}

.u-category, .cm-nav-aside__category a {
  position: relative;
  padding: 0.375rem 0.5rem 0.375rem 1.25rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1rem;
  background-color: #FAF8F5;
}
.u-category i, .cm-nav-aside__category a i {
  position: absolute;
  top: calc(0.75em + 0.375rem - 0.25rem);
  left: 0.5rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 0.5rem;
  height: 0.5rem;
  background: #d72f2c;
  border-radius: 100%;
}
@media screen and (min-width: 1024px) {
  .u-category, .cm-nav-aside__category a {
    font-size: 1.125rem;
  }
}

[data-anime=fadein-up] {
  opacity: 0;
  -webkit-transform: translateY(3.125rem);
          transform: translateY(3.125rem);
  will-change: opacity, transform;
}
.is-visible [data-anime=fadein-up], [data-anime=fadein-up].is-visible {
  -webkit-transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), transform 0.5s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

[data-anime=fadein] {
  opacity: 0;
  will-change: opacity, transform;
}
.is-visible [data-anime=fadein], [data-anime=fadein].is-visible {
  -webkit-transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  transition: opacity 1s cubic-bezier(0.61, 1, 0.88, 1), transform 0.5s cubic-bezier(0.61, 1, 0.88, 1), -webkit-transform 0.5s cubic-bezier(0.61, 1, 0.88, 1);
  opacity: 1;
}

[data-anime-delay="0.1"] {
  -webkit-transition-delay: 0.1s !important;
          transition-delay: 0.1s !important;
}

[data-anime-delay="0.2"] {
  -webkit-transition-delay: 0.2s !important;
          transition-delay: 0.2s !important;
}

[data-anime-delay="0.3"] {
  -webkit-transition-delay: 0.3s !important;
          transition-delay: 0.3s !important;
}

[data-anime-delay="0.4"] {
  -webkit-transition-delay: 0.4s !important;
          transition-delay: 0.4s !important;
}

[data-anime-delay="0.5"] {
  -webkit-transition-delay: 0.5s !important;
          transition-delay: 0.5s !important;
}

[data-anime-delay="0.6"] {
  -webkit-transition-delay: 0.6s !important;
          transition-delay: 0.6s !important;
}

[data-anime-delay="0.7"] {
  -webkit-transition-delay: 0.7s !important;
          transition-delay: 0.7s !important;
}

[data-anime-delay="0.8"] {
  -webkit-transition-delay: 0.8s !important;
          transition-delay: 0.8s !important;
}

[data-anime-delay="0.9"] {
  -webkit-transition-delay: 0.9s !important;
          transition-delay: 0.9s !important;
}

[data-anime-delay="1"] {
  -webkit-transition-delay: 1s !important;
          transition-delay: 1s !important;
}

[data-anime=shake] {
  -webkit-animation: shakeV 2.5s linear infinite;
          animation: shakeV 2.5s linear infinite;
  will-change: transform;
}

@-webkit-keyframes shakeV {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  5% {
    -webkit-transform: translate3d(0, -0.625rem, 0);
            transform: translate3d(0, -0.625rem, 0);
  }
  10% {
    -webkit-transform: translate3d(0, 0.625rem, 0);
            transform: translate3d(0, 0.625rem, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -0.375rem, 0);
            transform: translate3d(0, -0.375rem, 0);
  }
  20% {
    -webkit-transform: translate3d(0, 0.375rem, 0);
            transform: translate3d(0, 0.375rem, 0);
  }
  25% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  35% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}

@keyframes shakeV {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  5% {
    -webkit-transform: translate3d(0, -0.625rem, 0);
            transform: translate3d(0, -0.625rem, 0);
  }
  10% {
    -webkit-transform: translate3d(0, 0.625rem, 0);
            transform: translate3d(0, 0.625rem, 0);
  }
  15% {
    -webkit-transform: translate3d(0, -0.375rem, 0);
            transform: translate3d(0, -0.375rem, 0);
  }
  20% {
    -webkit-transform: translate3d(0, 0.375rem, 0);
            transform: translate3d(0, 0.375rem, 0);
  }
  25% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  35% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes shakeH {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  5% {
    -webkit-transform: translate3d(-1rem, 0, 0);
            transform: translate3d(-1rem, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(1rem, 0, 0);
            transform: translate3d(1rem, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-0.625rem, 0, 0);
            transform: translate3d(-0.625rem, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(0.625rem, 0, 0);
            transform: translate3d(0.625rem, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  35% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes shakeH {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  5% {
    -webkit-transform: translate3d(-1rem, 0, 0);
            transform: translate3d(-1rem, 0, 0);
  }
  10% {
    -webkit-transform: translate3d(1rem, 0, 0);
            transform: translate3d(1rem, 0, 0);
  }
  15% {
    -webkit-transform: translate3d(-0.625rem, 0, 0);
            transform: translate3d(-0.625rem, 0, 0);
  }
  20% {
    -webkit-transform: translate3d(0.625rem, 0, 0);
            transform: translate3d(0.625rem, 0, 0);
  }
  25% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  35% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
[data-anime=fuwafuwa] {
  -webkit-animation: fuwafuwa 3s ease-in-out infinite alternate;
          animation: fuwafuwa 3s ease-in-out infinite alternate;
  will-change: transform;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(-7deg);
            transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    -webkit-transform: translate(0, -7px) rotate(0deg);
            transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(7deg);
            transform: translate(0, 0) rotate(7deg);
  }
}
[data-anime=block-slide] {
  position: relative;
  overflow: hidden;
}
[data-anime=block-slide]:after {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  top: 0;
  pointer-events: none;
  background-color: #FAF8F5;
  left: 0;
}
[data-anime=block-slide] img {
  opacity: 0;
}
.is-visible [data-anime=block-slide] img, [data-anime=block-slide].is-visible img {
  opacity: 1;
  -webkit-transition: 0s 0.5s;
  transition: 0s 0.5s;
}
.is-visible [data-anime=block-slide]:after, [data-anime=block-slide].is-visible:after {
  -webkit-animation: overlay 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
          animation: overlay 1s cubic-bezier(0.77, 0, 0.175, 1) forwards;
}

@-webkit-keyframes overlay {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}

@keyframes overlay {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}
.mw_wp_form {
  padding: 80px;
  background: #FAF8F5;
}
.mw_wp_form_complete {
  padding: 0;
}
.mw_wp_form li {
  display: inline-block;
}
.mw_wp_form th,
.mw_wp_form td {
  padding: 15px;
  border: none;
  background: none;
  font-size: 1rem;
  vertical-align: middle;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .mw_wp_form th,
  .mw_wp_form td {
    font-size: 1.125rem;
  }
}
.mw_wp_form th {
  position: relative;
  width: 17.5rem;
  padding-top: 1.8125rem;
  padding-bottom: 0;
  color: #333;
  vertical-align: top;
  font-weight: 500;
}
.mw_wp_form th span {
  display: inline-block;
  position: absolute;
  top: 1.75rem;
  right: 1.5625rem;
  padding: 0.375rem 0.625rem;
  color: #fff;
  font-size: 0.875rem;
}
.mw_wp_form th span.required {
  background: #c50000;
}
.mw_wp_form th span.any {
  background: #999;
}
.mw_wp_form label {
  font-weight: normal;
}
.mw_wp_form table {
  width: 100%;
  border: none;
  margin: 0;
}
.mw_wp_form table table th,
.mw_wp_form table table td {
  border: none;
  background: none;
}
.mw_wp_form table table th {
  width: 13.75rem;
  padding: 0.9375rem 0.9375rem 0.9375rem 0;
  color: #333;
  font-weight: normal;
  vertical-align: middle;
}
.mw_wp_form table table td {
  padding: 0.9375rem 0;
}
.mw_wp_form table table tr:first-child th,
.mw_wp_form table table tr:first-child td {
  padding-top: 0;
}
.mw_wp_form table table tr:last-child th,
.mw_wp_form table table tr:last-child td {
  padding-bottom: 0;
}
.mw_wp_form_confirm .form__only {
  display: none;
}
.mw_wp_form_confirm table th {
  padding: 15px;
}
.mw_wp_form_confirm table th span.required, .mw_wp_form_confirm table th span.any {
  top: 12px;
}
.mw_wp_form_confirm table table th {
  width: 190px;
  padding: 15px 15px 15px 0;
  color: #333;
  font-weight: normal;
  vertical-align: middle;
}
.mw_wp_form .check-agree {
  padding: 15px 15px 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .mw_wp_form .check-agree {
    font-size: 1.125rem;
  }
}
.mw_wp_form .check-agree a {
  color: inherit;
  text-decoration: underline;
  font-weight: 500;
}
.mw_wp_form .check-agree .agree-wrap {
  margin: 20px 0 40px;
  padding: 10px;
  font-size: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
  .mw_wp_form .check-agree .agree-wrap {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 1023px) {
  .mw_wp_form .check-agree {
    text-align: left;
  }
  .mw_wp_form .check-agree .agree-wrap {
    text-align: center;
  }
}
.mw_wp_form_confirm .check-agree {
  display: none;
}
.mw_wp_form input[type=text], .mw_wp_form input[type=number], .mw_wp_form input[type=email], .mw_wp_form input[type=tel] {
  max-width: 500px;
  width: 100%;
  padding: 15px;
  background: #fff;
}
.mw_wp_form input[type=text].var01, .mw_wp_form input[type=number].var01, .mw_wp_form input[type=email].var01, .mw_wp_form input[type=tel].var01 {
  max-width: 10em;
}
.mw_wp_form input[type=text].var02, .mw_wp_form input[type=text].var03, .mw_wp_form input[type=number].var02, .mw_wp_form input[type=number].var03, .mw_wp_form input[type=email].var02, .mw_wp_form input[type=email].var03, .mw_wp_form input[type=tel].var02, .mw_wp_form input[type=tel].var03 {
  max-width: 5em;
}
.mw_wp_form input[type=text][type=checkbox], .mw_wp_form input[type=number][type=checkbox], .mw_wp_form input[type=email][type=checkbox], .mw_wp_form input[type=tel][type=checkbox] {
  display: inline-block;
  margin-right: 0.5em;
}
.mw_wp_form input[type=text][type=checkbox] + label, .mw_wp_form input[type=number][type=checkbox] + label, .mw_wp_form input[type=email][type=checkbox] + label, .mw_wp_form input[type=tel][type=checkbox] + label {
  display: inline-block;
  margin-bottom: 5px;
}
.mw_wp_form input[type=text][type=radio], .mw_wp_form input[type=number][type=radio], .mw_wp_form input[type=email][type=radio], .mw_wp_form input[type=tel][type=radio] {
  display: none;
}
.mw_wp_form input[type=text][type=radio] + .mwform-radio-field-text, .mw_wp_form input[type=number][type=radio] + .mwform-radio-field-text, .mw_wp_form input[type=email][type=radio] + .mwform-radio-field-text, .mw_wp_form input[type=tel][type=radio] + .mwform-radio-field-text {
  position: relative;
  margin-right: 20px;
  padding-left: 20px;
}
.mw_wp_form input[type=text][type=radio] + .mwform-radio-field-text::before, .mw_wp_form input[type=number][type=radio] + .mwform-radio-field-text::before, .mw_wp_form input[type=email][type=radio] + .mwform-radio-field-text::before, .mw_wp_form input[type=tel][type=radio] + .mwform-radio-field-text::before {
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 15px;
  height: 15px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #fff;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.mw_wp_form input[type=text][type=radio]:checked + .mwform-radio-field-text::after, .mw_wp_form input[type=number][type=radio]:checked + .mwform-radio-field-text::after, .mw_wp_form input[type=email][type=radio]:checked + .mwform-radio-field-text::after, .mw_wp_form input[type=tel][type=radio]:checked + .mwform-radio-field-text::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #605834;
  content: "";
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.mw_wp_form input[type=button],
.mw_wp_form input[type=text],
.mw_wp_form input[type=number],
.mw_wp_form input[type=email],
.mw_wp_form input[type=submit],
.mw_wp_form input[type=image],
.mw_wp_form textarea,
.mw_wp_form select {
  border-radius: 0;
  border: 1px solid #ddd;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
  .mw_wp_form input[type=button],
  .mw_wp_form input[type=text],
  .mw_wp_form input[type=number],
  .mw_wp_form input[type=email],
  .mw_wp_form input[type=submit],
  .mw_wp_form input[type=image],
  .mw_wp_form textarea,
  .mw_wp_form select {
    font-size: 1.125rem;
  }
}
.mw_wp_form select {
  max-width: 20em;
  height: 48px;
  margin-right: 5px;
  padding: 0 45px 0 15px;
  background: url(../../images/common/ico_arrow_select.png) no-repeat right 10px center #fff;
}
.mw_wp_form select::-ms-expand {
  display: none;
}
.mw_wp_form textarea {
  max-width: 790px;
  width: 100%;
  height: 10em;
  padding: 15px;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.mw_wp_form .bg-danger {
  margin-top: 5px;
  padding: 10px;
}
.mw_wp_form .check-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin: -10px;
  margin-top: 40px;
}
.mw_wp_form .check-flex > * {
  margin: 10px;
}
.mw_wp_form .error {
  display: inline-block;
  margin: 5px 0;
  padding: 10px;
  background-color: #f2dede;
  color: #c50000;
}
.mw_wp_form input[type=checkbox] {
  display: none;
}
.mw_wp_form input[type=checkbox]:checked + .mwform-checkbox-field-text::before {
  background: url(../../images/common/checkon.png) no-repeat 0 0;
}
.mw_wp_form input[type=checkbox] + .mwform-checkbox-field-text::before {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 15px;
  background: url(../../images/common/checkoff.png) no-repeat 0 0;
  vertical-align: middle;
  content: "";
}
@media screen and (max-width: 1023px) {
  .mw_wp_form {
    padding: 10px;
    padding-bottom: 40px;
  }
  .mw_wp_form table th,
  .mw_wp_form table td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mw_wp_form table th {
    padding: 15px 15px 15px 60px;
    vertical-align: middle;
  }
  .mw_wp_form table th span.required, .mw_wp_form table th span.any {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: auto;
    left: 0;
    padding: 3px 10px;
  }
  .mw_wp_form table td {
    padding: 15px 0;
  }
  .mw_wp_form table td.var03 + br + input.var01 {
    margin-top: 20px;
  }
  .mw_wp_form input[type=file], .mw_wp_form input[type=text], .mw_wp_form input[type=email], .mw_wp_form input[type=tel] {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mw_wp_form input[type=text].var01 {
    width: 100%;
    margin-bottom: 10px;
  }
  .mw_wp_form .var02 {
    max-width: 6em;
    width: 80px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 15px 10px;
  }
  .mw_wp_form .btnWrap01 {
    text-align: center;
  }
  .mw_wp_form .btnWrap01 a,
  .mw_wp_form .fm-modoru {
    width: 100%;
    min-width: 1px;
    margin-left: auto;
    margin-right: auto;
  }
  .mw_wp_form_confirm table th {
    padding: 0 15px 0 60px;
  }
}
@media screen and (min-width: 751px) and (max-width: 1023px) {
  .mw_wp_form {
    padding: 30px;
  }
}
@media screen and (max-width: 750px) {
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
  }
}

.ui-datepicker th,
.ui-datepicker td {
  display: table-cell;
  width: auto;
}
.ui-datepicker th {
  padding: 0;
  font-size: 1.2rem;
}
.ui-datepicker td span,
.ui-datepicker td a {
  font-size: 1.2rem;
}

.mw-wp-form-placeholder {
  display: block;
  font-size: 1rem;
  color: #999;
}