@charset "UTF-8";
/* ================================
Reset
================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  word-break: break-all;
}

html {
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dd {
  margin-left: 0;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  word-wrap: break-word;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  outline: none;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

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

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

textarea {
  overflow: auto;
  resize: none;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

picture {
  display: block;
  width: 100%;
  height: 100%;
}

img {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ================================
Base
================================ */
html {
  font-size: clamp(10px, 1.3vw, 16px);
  scroll-behavior: smooth;
  scroll-padding-top: 6.3rem;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 4.3vw;
    scroll-padding-top: 3.1rem;
  }
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  color: #353535;
  letter-spacing: 1.8px;
}

* img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

span:not([class]) {
  display: inline-block;
}

/* ================================
Container
================================ */
/* root container */
.l-wrapper {
  overflow-x: clip;
}

/* main container */
.l-content-container {
  position: relative;
  padding: 6.3rem 0 0;
}
@media screen and (max-width: 768px) {
  .l-content-container {
    padding: 3.1rem 0 0;
  }
}

/* container */
.l-container {
  width: calc(100% - 5rem);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
.l-container.-sm {
  max-width: 1000px;
}
.l-container.-xs {
  max-width: 800px;
}
@media screen and (max-width: 768px) {
  .l-container {
    width: calc(100% - 1.9rem);
  }
}

/* ================================
Header
================================ */
.l-header {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.3rem;
  background-color: #fff;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.l-header__inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.5rem;
  padding: 0 2.5rem;
}
.l-header__logo {
  width: 12.5rem;
  margin: 0 auto 0 0;
}
.l-header__toggle {
  display: none;
}
@media screen and (max-width: 768px) {
  .l-header {
    height: 3.1rem;
  }
  .l-header__inner {
    padding: 0 0 0 0.9rem;
  }
  .l-header__logo {
    width: 7.5rem;
  }
  .l-header__button-group {
    display: none;
  }
  .l-header__toggle {
    display: block;
    position: relative;
    z-index: 1000;
    width: 3.6rem;
    height: 3.1rem;
    cursor: pointer;
  }
  .l-header__toggle span {
    position: absolute;
    left: 0.9rem;
    display: inline-block;
    width: 1.8rem;
    height: 1px;
    background-color: #353535;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-header__toggle span:nth-of-type(1) {
    top: 1.1rem;
  }
  .l-header__toggle span:nth-of-type(2) {
    top: 1.5rem;
  }
  .l-header__toggle span:nth-of-type(3) {
    bottom: 1.1rem;
  }
  .l-header__toggle.is-active span:nth-of-type(1) {
    -webkit-transform: translateY(0.5rem) rotate(45deg);
            transform: translateY(0.5rem) rotate(45deg);
  }
  .l-header__toggle.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .l-header__toggle.is-active span:nth-of-type(3) {
    -webkit-transform: translateY(-0.4rem) rotate(-45deg);
            transform: translateY(-0.4rem) rotate(-45deg);
  }
}

.l-header-drawer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.5rem;
}
.l-header-drawer__menu {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2.5rem;
}
.l-header-drawer__menu-item {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1rem;
  white-space: nowrap;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.l-header-drawer__menu-item > a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6rem;
  padding: 1.3rem 0;
}
@media screen and (min-width: 769px) {
  .l-header-drawer__menu-item.has-mega-menu::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: visibility 0.2s, opacity 0.2s;
    transition: visibility 0.2s, opacity 0.2s;
  }
  .l-header-drawer__menu-item.has-mega-menu > a::after {
    content: "";
    display: inline-block;
    width: 0.6rem;
    aspect-ratio: 1/1;
    border-left: 1px solid #F08300;
    border-bottom: 1px solid #F08300;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    margin: -0.3rem 0 0;
  }
  .l-header-drawer__menu-item.has-mega-menu:hover::before, .l-header-drawer__menu-item.has-mega-menu:focus-within::before {
    visibility: visible;
    opacity: 1;
  }
  .l-header-drawer__menu-item.has-mega-menu:hover .l-header-drawer__mega-menu, .l-header-drawer__menu-item.has-mega-menu:focus-within .l-header-drawer__mega-menu {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    pointer-events: auto;
  }
  .l-header-drawer__mega-menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 200;
    top: 100%;
    left: 50%;
    width: 17.5rem;
    overflow: hidden;
    border-radius: 1.6rem;
    background: #fff;
    padding: 1.9rem 2.5rem 2.2rem;
    -webkit-transform: translate(-50%, 10px);
            transform: translate(-50%, 10px);
    -webkit-transition: visibility 0.2s, opacity 0.2s, -webkit-transform 0.2s;
    transition: visibility 0.2s, opacity 0.2s, -webkit-transform 0.2s;
    transition: visibility 0.2s, opacity 0.2s, transform 0.2s;
    transition: visibility 0.2s, opacity 0.2s, transform 0.2s, -webkit-transform 0.2s;
    pointer-events: none;
  }
  .l-header-drawer__mega-heading {
    color: #F08300;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 1.9rem;
  }
  .l-header-drawer__sub-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-top: 1px solid #EBEBEB;
  }
  .l-header-drawer__sub-menu-item {
    border-bottom: 1px solid #EBEBEB;
  }
  .l-header-drawer__sub-menu-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1rem;
    line-height: 1;
    padding: 1.3rem 0;
  }
  .l-header-drawer__sub-menu-item a::after {
    content: "";
    display: inline-block;
    width: 1.1rem;
    aspect-ratio: 18/11;
    background: url(../img/cmn/arrow_or.svg) no-repeat center center/contain;
    -webkit-transition: -webkit-transform 0.2s linear;
    transition: -webkit-transform 0.2s linear;
    transition: transform 0.2s linear;
    transition: transform 0.2s linear, -webkit-transform 0.2s linear;
  }
  .l-header-drawer__sub-menu-item a:hover::after {
    -webkit-transform: translateX(6px);
            transform: translateX(6px);
  }
}
@media screen and (max-width: 768px) {
  .l-header-drawer {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    z-index: 200;
    top: 3.1rem;
    right: 0;
    width: 100%;
    max-width: 768px;
    height: calc(100svh - 3.1rem);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 2.5rem 0;
    padding: 1.9rem 1.3rem;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
    background: linear-gradient(to right, #FFBC02, #F08300);
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-header-drawer__menu {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }
  .l-header-drawer__menu-item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    height: auto;
    color: #fff;
    font-size: 0.8rem;
    line-height: 1;
    border-bottom: 1px solid #fff;
  }
  .l-header-drawer__menu-item > a {
    width: 100%;
    height: auto;
    padding: 1.9rem 0.6rem;
  }
  .l-header-drawer__menu-item.has-mega-menu > a {
    width: calc(100% - 2.1rem);
  }
  .l-header-drawer__menu-item.has-mega-menu.is-open .l-header-drawer__mega-toggle::before {
    content: "－";
  }
  .l-header-drawer__menu-item.has-mega-menu.is-open .l-header-drawer__mega-menu {
    opacity: 1;
    visibility: visible;
    height: auto;
    padding: 0 0.6rem 1.9rem;
  }
  .l-header-drawer__mega-toggle {
    width: 2.1rem;
    aspect-ratio: 1/1;
    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;
    font-size: 1.3rem;
    font-weight: 400;
  }
  .l-header-drawer__mega-toggle::before {
    content: "＋";
  }
  .l-header-drawer__mega-menu {
    opacity: 0;
    visibility: hidden;
    height: 0;
    width: 100%;
    padding: 0 0.6rem;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  .l-header-drawer__mega-img, .l-header-drawer__mega-heading {
    display: none;
  }
  .l-header-drawer__mega-body {
    padding: 0 0.6rem;
  }
  .l-header-drawer__sub-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.9rem 0;
  }
  .l-header-drawer__sub-menu-item {
    font-size: 0.8rem;
  }
  .l-header-drawer__button.c-button {
    width: 18.8rem;
    height: 5.5rem;
  }
  .l-header-drawer.is-active {
    visibility: visible;
    opacity: 1;
  }
}

/* ================================
Footer
================================ */
.l-footer {
  position: relative;
  z-index: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  padding: 5rem 0 1.3rem;
}
.l-footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  max-width: 1200px;
  width: calc(100% - 1.9rem);
  height: 1px;
  background-color: #FFD5A3;
}
.l-footer__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3.8rem 4.4rem;
}
.l-footer__bottom {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 3.8rem 2.5rem;
  margin: -1rem 0 0;
}
.l-footer__copyright {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: 0.9rem;
  text-align: center;
  line-height: 1;
}
.l-footer__banner {
  width: 38.8rem;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 3.8rem 0 1.3rem;
  }
  .l-footer__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  .l-footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 3.8rem 0 0;
  }
  .l-footer__copyright {
    font-size: 0.6rem;
    text-align: center;
  }
  .l-footer__banner {
    width: 100%;
  }
}

.l-footer-company__logo {
  width: 12.5rem;
  margin: 0 0 1.9rem;
}
.l-footer-company__name {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 1.3rem;
}
.l-footer-company__info {
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .l-footer-company__logo {
    width: 7.5rem;
    margin: 0 0 1rem;
  }
  .l-footer-company__name {
    font-size: 0.8rem;
  }
  .l-footer-company__info {
    font-size: 0.8rem;
  }
}

.l-footer-nav {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.l-footer-nav__menu {
  display: grid;
  grid-template-columns: repeat(2, 13.8rem);
  grid-template-rows: repeat(5, auto);
  grid-auto-flow: column;
  gap: 1rem 0;
}
.l-footer-nav__menu-item {
  font-size: 1rem;
  line-height: 1;
}
.l-footer-nav__menu-item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
}
.l-footer-nav__menu-item a::before {
  content: "●";
  display: inline-block;
  color: #FFFCAF;
  font-size: 0.5em;
}
@media screen and (max-width: 768px) {
  .l-footer-nav {
    width: 100%;
    gap: 0 1.9rem;
  }
  .l-footer-nav__menu {
    -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;
    margin: -1.3rem 0 0;
  }
  .l-footer-nav__menu-item {
    font-size: 0.8rem;
    border-bottom: 1px solid #fff;
  }
  .l-footer-nav__menu-item a {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 1.3rem 0;
  }
  .l-footer-nav__menu-item a::before {
    content: none;
  }
  .l-footer-nav__menu-item a::after {
    content: "";
    display: inline-block;
    width: 1.2307692308em;
    aspect-ratio: 16/11;
    background: url(../img/cmn/arrow_wh.svg) no-repeat center center/contain;
  }
}

/* ================================
Common module
================================ */
/* animaiton */
.c-slidein-anime {
  opacity: 0;
  -webkit-transition: opacity ease 0.7s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: opacity ease 0.7s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity ease 0.7s;
  transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s, opacity ease 0.7s, -webkit-transform cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.c-slidein-anime.is-animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.c-fadein-anime {
  opacity: 0;
  -webkit-transition: opacity 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 2.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.c-fadein-anime.is-animated {
  opacity: 1;
}

@media screen and (min-width: 769px) {
  .-delay02 {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
  }
  .-delay04 {
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s;
  }
  .-delay06 {
    -webkit-transition-delay: 0.6s;
            transition-delay: 0.6s;
  }
  .-delay08 {
    -webkit-transition-delay: 0.8s;
            transition-delay: 0.8s;
  }
  .-delay10 {
    -webkit-transition-delay: 1s;
            transition-delay: 1s;
  }
}
/* arrow */
.c-arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.1rem;
  aspect-ratio: 18/11;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

/* 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: 1.9rem 0;
  margin: 0 0 4rem;
}
.c-heading__typo {
  font-family: "Jost", sans-serif;
  font-size: 4rem;
  line-height: 0.7;
}
.c-heading__title {
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}
.c-heading.-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-heading:has(+ .c-button-group) {
  margin: 0 0 3rem;
}
@media screen and (max-width: 768px) {
  .c-heading {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.3rem 0;
    margin: 0 0 2.5rem;
  }
  .c-heading__typo {
    font-size: 2.8rem;
  }
  .c-heading__title {
    font-size: 0.9rem;
  }
}

.c-underline-heading {
  position: relative;
  color: #F08300;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  padding: 0 0 1.3rem;
}
.c-underline-heading::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 2em;
  height: 2px;
  background-color: currentColor;
}
.c-underline-heading + .c-sentence, .c-underline-heading + .c-dot-list {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-underline-heading {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

/* sentence */
.c-sentence {
  font-size: 1.1rem;
  line-height: 2;
}
.c-sentence.-sm {
  font-size: 0.9rem;
}
.c-sentence + .c-sentence {
  margin-top: 1rem;
}
.c-sentence + .c-button-group {
  margin-top: 4rem;
}
@media screen and (min-width: 769px) {
  .c-sentence.-lg {
    font-size: 1.1rem;
  }
  .c-sentence.-center-pc {
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  .c-sentence {
    font-size: 0.8rem;
  }
  .c-sentence + .c-button-group {
    margin-top: 2rem;
  }
}

.c-underline-link {
  text-decoration: underline;
}

/* button */
.c-button {
  height: 3rem;
  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 0.5rem;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 1rem 2rem;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  border-radius: 9999px;
}
.c-button__arrow {
  width: 1rem;
}
.c-button:hover .c-button__arrow {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
.c-button.-mail::before {
  content: "";
  display: inline-block;
  height: 1rem;
  aspect-ratio: 20/15;
  background: url(../img/cmn/mail_icon_wh.svg) no-repeat center center/contain;
}
.c-button.-wh {
  color: #F08300;
  background: #fff;
  border: 1px solid #F08300;
}
.c-button.-wh.-mail::before {
  background: url(../img/cmn/mail_icon_or.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  .c-button {
    font-size: 0.8rem;
  }
}

.c-button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9rem 0.6rem;
}
.c-button-group.-vertical {
  -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;
}
.c-button-group.-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}
@media screen and (max-width: 768px) {
  .c-button-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-button-group.-left-sp {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

/* list */
.c-dot-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.5em;
  font-size: 1.1rem;
  line-height: 2;
}
.c-dot-list li::before {
  content: "・";
  width: 1em;
  color: #F08300;
}
.c-dot-list.-wh li::before {
  color: #fff;
}
@media screen and (max-width: 768px) {
  .c-dot-list li {
    font-size: 0.8rem;
  }
}

/* table */
.c-table {
  width: 100%;
  table-layout: fixed;
}
.c-table th,
.c-table td {
  font-size: 1.1rem;
  line-height: 2;
}
.c-table th {
  width: 12.5rem;
  color: #F08300;
  font-weight: 600;
  border-bottom: 1px solid #F08300;
  padding: 1.9rem 1rem 1.9rem 0;
}
.c-table td {
  padding: 1.9rem 2.5rem;
  border-bottom: 1px solid #EBEBEB;
}
.c-table td a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .c-table th, .c-table td {
    display: block;
    width: 100%;
    font-size: 0.8rem;
  }
  .c-table th {
    border-bottom: none;
    padding: 1rem 0 0;
  }
  .c-table td {
    padding: 0.3rem 0 1rem;
  }
}

/* media object */
.c-media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem 3.8rem;
}
.c-media__media {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 35rem;
}
.c-media__img {
  border-radius: 1.6rem;
  overflow: hidden;
}
.c-media__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.c-media__body.-center {
  -ms-flex-item-align: center;
      align-self: center;
}
.c-media.-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 769px) {
  .c-media.-reverse-pc {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .c-media {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-media__media {
    width: 100%;
  }
  .c-media.-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

/* pager */
.c-pager__list {
  position: relative;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
  padding-inline: 5.6rem;
}
.c-pager__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
  height: 3.1rem;
  aspect-ratio: 1/1;
  font-family: "Jost", sans-serif;
  white-space: nowrap;
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.c-pager__item.current {
  color: #F08300;
  border-color: #F08300;
}
.c-pager__item.prev, .c-pager__item.next {
  position: absolute;
  top: 0;
  aspect-ratio: initial;
  color: #F08300;
  border: none;
}
.c-pager__item.prev .icon, .c-pager__item.next .icon {
  display: inline-block;
  width: 1.5em;
  aspect-ratio: 1/1;
  background: url(../img/cmn/double-arrow_or.svg) no-repeat center center/contain;
}
.c-pager__item.prev {
  left: 0;
}
.c-pager__item.prev .icon {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
.c-pager__item.next {
  right: 0;
}
.c-pager .screen-reader-text {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-pager__list {
    gap: 0.3rem 0.3rem;
    padding-inline: 1.9rem;
  }
  .c-pager__item {
    height: 2.5rem;
    gap: 0;
  }
  .c-pager__item.prev .text, .c-pager__item.next .text {
    display: none;
  }
}

/* breadcrumbs */
.c-breadcrumbs__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: auto;
}
.c-breadcrumbs__item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.9rem;
  white-space: nowrap;
}
.c-breadcrumbs__item img {
  height: 1.4285714286em;
  vertical-align: baseline;
}
.c-breadcrumbs__item:not(:last-of-type)::after {
  content: "＞";
  color: #F08300;
  margin: 0 1em;
}
@media screen and (max-width: 768px) {
  .c-breadcrumbs__item {
    font-size: 0.8rem;
  }
  .c-breadcrumbs__item:not(:last-of-type)::after {
    margin: 0 0.75em;
  }
}

/* Contact Form 7 */
.wpcf7-form-table .wpcf7-form-label {
  min-height: 0;
}

.wpcf7-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem 0;
  padding: 0 0 1.9rem;
  border-bottom: 1px solid #EBEBEB;
}
.wpcf7-item.-required .wpcf7-form-label::after {
  content: "※";
  color: #ef3131;
  font-size: 0.8rem;
  margin: 0 0 0 0.5em;
}
.wpcf7-item:not(:last-of-type) {
  margin-bottom: 1.9rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 0 0 1.5rem;
  }
  .wpcf7-item:not(:last-of-type) {
    margin-bottom: 1.5rem;
  }
}

.wpcf7-item-col--label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 12.5rem;
  min-height: 3.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.1rem;
}
.wpcf7-item-col--label.-h-auto {
  min-height: initial;
}
.wpcf7-item-col--controls {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 0.6rem;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-item-col--label {
    width: 100%;
    min-height: 0;
    font-size: 0.9rem;
  }
  .wpcf7-item-col--controls {
    font-size: 0.8rem;
  }
}

.wpcf7-form-label {
  font-weight: 500;
}

.wpcf7-form-control-block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.3rem 0.6rem;
}
.wpcf7-form-control-block.-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.wpcf7-text {
  width: 100%;
  height: 3.8rem;
  background-color: #FFF2E3;
  border-radius: 0.3rem;
  padding: 0 1.25em;
}
.wpcf7-text::-webkit-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-text::-moz-placeholder {
  color: #D1C7BE;
}
.wpcf7-text:-ms-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-text::-ms-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-text::placeholder {
  color: #D1C7BE;
}

.wpcf7-textarea {
  width: 100%;
  height: 15rem;
  background-color: #FFF2E3;
  border-radius: 0.3rem;
  padding: 1.25em;
}
.wpcf7-textarea::-webkit-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-textarea::-moz-placeholder {
  color: #D1C7BE;
}
.wpcf7-textarea:-ms-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-textarea::-ms-input-placeholder {
  color: #D1C7BE;
}
.wpcf7-textarea::placeholder {
  color: #D1C7BE;
}
@media screen and (max-width: 768px) {
  .wpcf7-textarea {
    height: 7.5rem;
  }
}

.wpcf7-select-wrap {
  position: relative;
  width: 100%;
  max-width: 21.9rem;
  height: 3.8rem;
  background-color: #FFF2E3;
  border-radius: 0.3rem;
}
.wpcf7-select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  border-style: solid;
  border-width: 0.5rem 0.3rem 0 0.3rem;
  border-color: #F08300 transparent transparent transparent;
}
.wpcf7-select-wrap select {
  width: 100%;
  height: 100%;
  padding: 0 1.25em;
  outline: none;
}

.wpcf7-date-wrap {
  position: relative;
  width: 100%;
  height: 3.8rem;
  background-color: #FFF2E3;
  border-radius: 0.3rem;
}
.wpcf7-date-wrap input {
  width: 100%;
  height: 100%;
  padding: 0 1.25em;
  outline: none;
}

.wpcf7-checkbox,
.wpcf7-acceptance,
.wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.6rem 1.3rem;
}

.wpcf7-acceptance {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-acceptance {
    font-size: 0.9rem;
  }
}

.wpcf7-list-item {
  margin: 0;
}
.wpcf7-list-item label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.3rem;
}
.wpcf7-list-item input {
  width: 1.3rem;
  height: 1.3rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-list-item label {
    gap: 0 0.6rem;
  }
}

.wpcf7-privacy {
  margin: 3.8rem 0 0;
}
@media screen and (max-width: 768px) {
  .wpcf7-privacy {
    margin: 2.5rem 0 0;
  }
}

.wpcf7-privacy-text {
  text-align: center;
}

.wpcf7-privacy-control a {
  color: #F08300;
  text-decoration: underline;
}

.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  height: 100%;
}

.wpcf7-not-valid-tip {
  font-size: 0.8em;
  white-space: nowrap;
}

.wpcf7-spinner {
  position: absolute;
  top: 0.6rem;
  right: 0.6rem;
  margin: 0;
}

.wpcf7-action {
  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;
  gap: 0.6rem 1.3rem;
  margin: 3.8rem 0 0;
}
@media screen and (max-width: 768px) {
  .wpcf7-action {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 2.5rem 0 0;
  }
}

.wpcf7-form-button input {
  min-width: 18.8rem;
  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 0.5em;
  padding: 1.9rem;
  border-radius: 9999px;
  background-color: #3A2D28;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}
.wpcf7-form-button:has(input:disabled) {
  pointer-events: none;
}
/* card */
.c-card {
  background-color: #FFF2E3;
  padding: 1.3rem;
  border-radius: 1.6rem;
}
.c-card__header {
  display: grid;
  grid-template-areas: "icon number" "icon title";
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0.9rem 1.3rem;
  padding: 0 0 1.3rem;
  margin: 0 0 1.3rem;
  border-bottom: 1px solid #fff;
}
.c-card__icon {
  grid-area: icon;
  width: 5rem;
  aspect-ratio: 1/1;
  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;
  border-radius: 50%;
  background-color: #fff;
}
.c-card__icon img {
  width: 2.8rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-card__number {
  grid-area: number;
  align-self: end;
  color: #F08300;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 0.7;
  letter-spacing: 1px;
}
.c-card__title {
  grid-area: title;
  align-self: start;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
}
@media screen and (max-width: 768px) {
  .c-card__icon {
    width: 3.8rem;
  }
  .c-card__icon img {
    width: 2.3rem;
  }
  .c-card__number {
    font-size: 1.3rem;
  }
  .c-card__title {
    font-size: 1.3rem;
  }
}

.c-card-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.9rem 1.9rem;
}
.c-card-group__item {
  width: calc((100% - 3.8rem) / 3);
}
.c-card-group__item.-wide {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-card-group__item {
    width: 100%;
  }
}

/* news list */
.c-news-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-news-list__item {
  border-bottom: 1px solid #EBEBEB;
}
.c-news-list__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2.3rem 0;
}
.c-news-list__link:hover .c-news-list__arrow {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
.c-news-list__meta {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
}
.c-news-list__date {
  font-size: 1.1rem;
  color: #F08300;
  font-family: "Jost", sans-serif;
  line-height: 0.7;
  letter-spacing: 0.01em;
}
.c-news-list__title {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.c-news-list__arrow {
  color: #F08300;
}
@media screen and (max-width: 768px) {
  .c-news-list__link {
    padding: 1.3rem 0;
  }
  .c-news-list__meta {
    width: 6.3rem;
  }
  .c-news-list__date {
    font-size: 0.8rem;
  }
  .c-news-list__title {
    font-size: 0.9rem;
  }
}

/* flow list */
.c-flow-list {
  position: relative;
  z-index: 0;
}
.c-flow-list::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 15rem;
  display: block;
  width: 3px;
  height: 100%;
  background-color: #F08300;
}
.c-flow-list__item {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.5rem;
  background-color: #FFF2E3;
  border-radius: 1.6rem;
  padding: 1.9rem 2.5rem;
}
.c-flow-list__item:not(:last-of-type) {
  margin-bottom: 2.5rem;
}
.c-flow-list__header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem 2.4rem;
}
.c-flow-list__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.3rem;
  aspect-ratio: 1/1;
  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;
  border: 1px solid #F08300;
  background-color: #fff;
  border-radius: 50%;
}
.c-flow-list__icon img {
  width: 3rem;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.c-flow-list__number {
  width: 8.3rem;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 0.7;
  text-align: center;
  border-radius: 0.3rem;
  background-color: #F08300;
  padding: 0.6rem 0;
}
.c-flow-list__title {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .c-flow-list::before {
    left: 4rem;
  }
  .c-flow-list__item {
    padding: 1.3rem;
  }
  .c-flow-list__item:not(:last-of-type) {
    margin-bottom: 1.9rem;
  }
  .c-flow-list__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-flow-list__icon {
    width: 3.8rem;
  }
  .c-flow-list__icon img {
    width: 2rem;
  }
  .c-flow-list__number {
    width: 5.6rem;
    font-size: 0.9rem;
    padding: 0.3rem 0;
    border-radius: 0.2rem;
  }
  .c-flow-list__title {
    font-size: 0.9rem;
    line-height: 1.6;
  }
}

/* faq list */
.c-faq-list__item {
  width: 100%;
  cursor: pointer;
}
.c-faq-list__item:not(:last-of-type) {
  margin-bottom: 1.9rem;
}
.c-faq-list__item.is-open .c-faq-list__header::after {
  content: "－";
}
.c-faq-list__item.is-open .c-faq-list__content {
  opacity: 1;
  visibility: visible;
  height: auto;
  padding: 1.9rem 0 0;
}
.c-faq-list__header {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1rem;
  padding: 1rem 1.3rem;
  border: 1px solid #F08300;
  background-color: #fff;
  border-radius: 0.3rem;
}
.c-faq-list__header::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  content: "Q";
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  width: 2.5rem;
  aspect-ratio: 1/1;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.5rem;
  text-align: center;
  border-radius: 50%;
}
.c-faq-list__header::after {
  content: "＋";
  color: #F08300;
  line-height: 1;
  font-size: 1.9rem;
  background: none;
}
.c-faq-list__question {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 2;
}
.c-faq-list__content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.c-faq-list__answer {
  font-size: 1.1rem;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  .c-faq-list__item.is-open .c-faq-list__content {
    padding: 0.9rem 0 0;
  }
  .c-faq-list__item:not(:last-of-type) {
    margin-bottom: 1.3rem;
  }
  .c-faq-list__header {
    padding: 1rem;
  }
  .c-faq-list__header::after {
    font-size: 1.3rem;
  }
  .c-faq-list__question {
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .c-faq-list__answer {
    font-size: 0.8rem;
    line-height: 2;
  }
}

/* CTA */
.c-cta {
  position: relative;
  z-index: 1;
}
.c-cta__img {
  aspect-ratio: 1280/400;
}
.c-cta__map {
  position: relative;
  width: 100%;
  aspect-ratio: 1280/500;
}
.c-cta__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.c-cta__body {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  padding: 6.3rem 0;
}
.c-cta__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.9rem 4rem;
}
.c-cta__heading {
  margin: 0 auto 0 0;
}
.c-cta__number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5rem;
  font-family: "Jost", sans-serif;
  font-size: 2.5rem;
  line-height: 0.7;
}
.c-cta__number::before {
  content: "";
  display: inline-block;
  height: 0.55em;
  aspect-ratio: 1/1;
  background: url(../img/cmn/phone_icon_yl.svg) no-repeat center center/contain;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.c-cta__info {
  margin: 0.6rem 0 0;
}
.c-cta__button-group {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-cta__button {
  width: 18.8rem;
  height: 5.5rem;
}
@media screen and (max-width: 768px) {
  .c-cta__map {
    aspect-ratio: 3/2;
  }
  .c-cta__body {
    padding: 3.8rem 0;
  }
  .c-cta__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
  .c-cta__heading {
    margin: 0 0 1.9rem;
  }
  .c-cta__number {
    font-size: 1.8rem;
  }
  .c-cta__info {
    font-size: 0.8rem;
  }
  .c-cta__button {
    font-size: 0.9rem;
  }
}

/* ================================
Page
================================ */
.p-page-header {
  position: relative;
  z-index: 1;
  height: 25rem;
  background: url(../img/cmn/page-header_bg.jpg) no-repeat center center/cover;
}
.p-page-header__inner {
  height: 100%;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-page-header__title {
  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 0;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-page-header__title::after {
  content: attr(data-en);
  color: #F08300;
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 0.7;
  text-transform: uppercase;
}
.p-page-header__img {
  width: 37.5rem;
  aspect-ratio: 600/440;
  border-radius: 0 0 0 1.6rem;
  overflow: hidden;
  margin: 0 0 -2.5rem;
}
@media screen and (min-width: 769px) {
  .p-page-header__img {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-page-header {
    height: auto;
    min-height: 15.6rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1rem 0;
  }
  .p-page-header__inner {
    height: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .p-page-header__img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: auto;
    height: 9.4rem;
    border-radius: 1.6rem 0 0 1.6rem;
    margin: 0 0 -1.5rem;
  }
  .p-page-header__title {
    gap: 1rem 0;
    font-size: 2rem;
  }
  .p-page-header__title::after {
    font-size: 0.9rem;
  }
}

.p-page-breadcrumbs {
  position: relative;
  z-index: 1;
  padding: 1.3rem 0;
}
@media screen and (max-width: 768px) {
  .p-page-breadcrumbs {
    padding: 1.3rem 0 2.5rem;
  }
}

.p-page-pagetop {
  position: fixed;
  z-index: 50;
  bottom: 1.3rem;
  right: 1.3rem;
}
.p-page-pagetop__button {
  width: 3rem;
  aspect-ratio: 1/1;
  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;
  color: #F08300;
  background-color: #fff;
  border-radius: 50%;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}
.p-page-pagetop__arrow {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.p-page-pagetop.is-active .p-page-pagetop__button {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-page-pagetop {
    bottom: 0.3rem;
    right: 0.3rem;
  }
  .p-page-pagetop__button {
    width: 2.3rem;
  }
}

.p-page-content {
  position: relative;
  z-index: 0;
  padding: 4.4rem 0 6.3rem;
}
.p-page-content::before, .p-page-content::after {
  content: "";
  position: absolute;
  z-index: -1;
  display: block;
  width: 20rem;
  aspect-ratio: 320/326;
  background: url(../img/cmn/dot_object.png) no-repeat center center/contain;
}
.p-page-content::before {
  top: -11.3rem;
  right: -6.9rem;
}
.p-page-content::after {
  bottom: -11.3rem;
  left: -2.5rem;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.p-page-content__editable-area p {
  line-height: 2;
}
.p-page-content__editable-area p a {
  text-decoration: underline;
}
.p-page-content__editable-area p + p {
  margin-top: 1rem;
}
.p-page-content__editable-area p + ul, .p-page-content__editable-area p + ol {
  margin-top: 2.5rem;
}
.p-page-content__editable-area h2 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.8;
  margin: 3.8rem 0 1.9rem;
}
.p-page-content__editable-area h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.3rem 0;
}
.p-page-content__editable-area ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.5em;
  line-height: 2;
}
.p-page-content__editable-area ul li::before {
  content: "・";
  width: 1em;
  color: #F08300;
}
.p-page-content__editable-area ol {
  list-style-type: decimal;
  list-style-position: inside;
}
.p-page-content__editable-area ol li {
  line-height: 2;
  text-indent: -1.5em;
  padding: 0 0 0 1.5em;
}
@media screen and (max-width: 768px) {
  .p-page-content {
    padding: 0 0 3.8rem;
  }
  .p-page-content::before, .p-page-content::after {
    width: 10rem;
  }
  .p-page-content::before {
    top: -7.5rem;
    right: -3.1rem;
  }
  .p-page-content::after {
    bottom: -3.1rem;
  }
  .p-page-content__editable-area p {
    font-size: 0.8rem;
  }
  .p-page-content__editable-area p + ul, .p-page-content__editable-area p + ol {
    margin-top: 1rem;
  }
  .p-page-content__editable-area h2 {
    font-size: 1.5rem;
    margin: 2.5rem 0 1.5rem;
  }
  .p-page-content__editable-area h3 {
    font-size: 1.1rem;
  }
  .p-page-content__editable-area h4 {
    font-size: 0.9rem;
  }
  .p-page-content__editable-area ul li, .p-page-content__editable-area ol li {
    font-size: 0.8rem;
  }
}

.p-page-sec:not(:last-child) {
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-sec:not(:last-child) {
    margin-bottom: 3.8rem;
  }
}

/* ================================
Post
================================ */
/* 一覧ページ */
.p-post-archive__footer {
  margin: 7.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-post-archive__footer {
    margin: 2.5rem 0 0;
  }
}

/* 詳細ページ */
.p-post-single__footer {
  margin: 6.3rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-post-single__footer {
    margin: 2.5rem 0 0;
  }
}

.p-post-article__editable-area p {
  font-size: 1.1rem;
  line-height: 2;
}
.p-post-article__editable-area p a {
  text-decoration: underline;
}
.p-post-article__editable-area p + p {
  margin-top: 1rem;
}
.p-post-article__editable-area p + p:has(img) {
  margin-top: 5.6rem;
}
.p-post-article__editable-area p:has(img) {
  text-align: center;
}
.p-post-article__editable-area .wp-block-image {
  text-align: center;
  margin-top: 5.6rem;
}
.p-post-article__editable-area p img,
.p-post-article__editable-area .wp-block-image img {
  max-width: 640px;
}
.p-post-article__editable-area h2 {
  position: relative;
  color: #F08300;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  padding: 0 0 1.3rem;
  margin: 4.5rem 0 2.5rem;
}
.p-post-article__editable-area h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 2em;
  height: 2px;
  background-color: currentColor;
}
.p-post-article__editable-area h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 3.5rem 0 1.5rem;
}
.p-post-article__editable-area h4 {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 1.5rem 0;
}
.p-post-article__editable-area ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 0.5em;
  font-size: 1.1rem;
  line-height: 2;
}
.p-post-article__editable-area ul li::before {
  content: "・";
  width: 1em;
  color: #F08300;
}
.p-post-article__editable-area ol {
  list-style-type: decimal;
  list-style-position: inside;
}
.p-post-article__editable-area ol li {
  font-size: 1.1rem;
  line-height: 2;
  text-indent: -1.5em;
  padding: 0 0 0 1.5em;
}
.p-post-article__editable-area .wp-block-table table th,
.p-post-article__editable-area .wp-block-table table td {
  border: none;
}
.p-post-article__editable-area .wp-block-table table,
.p-post-article__editable-area table {
  width: 100%;
  table-layout: fixed;
}
.p-post-article__editable-area .wp-block-table table th,
.p-post-article__editable-area .wp-block-table table td,
.p-post-article__editable-area table th,
.p-post-article__editable-area table td {
  font-size: 1.1rem;
  line-height: 2;
}
.p-post-article__editable-area .wp-block-table table th,
.p-post-article__editable-area .wp-block-table table td:first-child,
.p-post-article__editable-area table th,
.p-post-article__editable-area table td:first-child {
  width: 11.3rem;
  color: #F08300;
  font-weight: 600;
  border-bottom: 1px solid #F08300;
  padding: 1.9rem 1rem 1.9rem 0;
}
.p-post-article__editable-area .wp-block-table table td,
.p-post-article__editable-area table td {
  padding: 1.9rem 2.5rem;
  border-bottom: 1px solid #EBEBEB;
}
.p-post-article__editable-area .wp-block-table table td a,
.p-post-article__editable-area table td a {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-post-article__editable-area p {
    font-size: 0.8rem;
  }
  .p-post-article__editable-area p + ul,
  .p-post-article__editable-area p + ol {
    margin-top: 1rem;
  }
  .p-post-article__editable-area p + p:has(img) {
    margin-top: 2rem;
  }
  .p-post-article__editable-area .wp-block-image {
    text-align: center;
    margin-top: 2rem;
  }
  .p-post-article__editable-area h2 {
    font-size: 1.5rem;
    margin: 2.5rem 0 2rem;
  }
  .p-post-article__editable-area h3 {
    font-size: 1.1rem;
    margin: 2.5rem 0 1.5rem;
  }
  .p-post-article__editable-area h4 {
    font-size: 0.9rem;
  }
  .p-post-article__editable-area ul li,
  .p-post-article__editable-area ol li {
    font-size: 0.8rem;
  }
  .p-post-article__editable-area .wp-block-table table th,
  .p-post-article__editable-area .wp-block-table table td,
  .p-post-article__editable-area table th,
  .p-post-article__editable-area table td {
    display: block;
    width: 100%;
    font-size: 0.8rem;
  }
  .p-post-article__editable-area .wp-block-table table th,
  .p-post-article__editable-area .wp-block-table table td:first-child,
  .p-post-article__editable-area table th,
  .p-post-article__editable-area table td:first-child {
    border-bottom: none;
    padding: 1rem 0 0;
  }
  .p-post-article__editable-area .wp-block-table table td,
  .p-post-article__editable-area table td {
    padding: 0.3rem 0 1rem;
  }
}

/* お知らせ共通 */
.p-page-header.-news .p-page-header__title {
  gap: 0;
}
.p-page-header.-news .p-page-header__date {
  display: block;
  color: #F08300;
  font-family: "Jost", sans-serif;
  font-size: 1.3rem;
  line-height: 0.7;
  font-weight: 500;
  margin: 2rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-page-header.-news .p-page-header__date {
    font-size: 0.9rem;
    margin: 1.3rem 0 0;
  }
}

/* ================================
Top
================================ */
/* メインビジュアル */
.p-top-mv {
  position: relative;
  z-index: 0;
  max-height: 37.5rem;
  height: calc(100svh - 6.3rem);
  background-color: #fff;
  margin: 0 0 3.8rem;
}
.p-top-mv__slider {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  padding: 0 0 3.8rem;
}
.p-top-mv__slider .slick-list {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.p-top-mv__slider .slick-track {
  height: 33.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0 2rem;
}
.p-top-mv__slider.slick-initialized {
  opacity: 1;
}
.p-top-mv__slide {
  width: 31.3rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-top-mv__slide:nth-of-type(even) {
  -ms-flex-item-align: end;
      align-self: flex-end;
}
.p-top-mv__inner {
  height: 100%;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 1.3rem 0;
  padding: 0 0 5rem;
}
.p-top-mv__text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1.3rem;
  margin: 0 0 1.3rem;
}
.p-top-mv__target {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 1px;
  background-color: #F08300;
  border-radius: 0.3rem;
  padding: 0.4rem 1.3rem 0.6rem;
}
.p-top-mv__since {
  font-family: "Jost", sans-serif;
  color: #F08300;
  font-size: 1.3rem;
}
.p-top-mv__catch {
  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.8rem 0;
  font-size: 2.5rem;
  font-weight: 700;
}
.p-top-mv__catch-text {
  line-height: 1;
  letter-spacing: 1.8px;
  background-color: #fff;
  padding: 0.7rem 1.3rem 0.8rem;
  border-radius: 0.3rem;
}
.p-top-mv__catch-text .-sm {
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  .p-top-mv {
    max-height: 26.8rem;
    height: calc(100svh - 3.1rem);
    margin: 0;
  }
  .p-top-mv__slider {
    padding: 0;
  }
  .p-top-mv__slider .slick-list {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-top-mv__slider .slick-track {
    height: 20rem;
    gap: 0 1rem;
  }
  .p-top-mv__slide {
    width: 18.8rem;
  }
  .p-top-mv__inner {
    padding: 0 0 1.9rem;
  }
  .p-top-mv__text-wrap {
    gap: 0 0.6rem;
    margin: 0 0 0.4rem;
  }
  .p-top-mv__target {
    font-size: 0.9rem;
    padding: 0.5rem 0.6rem;
  }
  .p-top-mv__since {
    font-size: 0.9rem;
  }
  .p-top-mv__catch {
    gap: 0.1rem 0;
    font-size: 1.5rem;
  }
  .p-top-mv__catch-text {
    padding: 0.4rem 0.6rem;
  }
}

/* 東京サンブライトについて */
.p-top-about {
  position: relative;
  z-index: 1;
  background: url(../img/top/about_bg.jpg) no-repeat center center/cover;
  padding: 6.3rem 0;
  margin: 0 0 8.8rem;
}
.p-top-about__body {
  position: relative;
  color: #fff;
}
.p-top-about__emblem {
  position: absolute;
  z-index: 10;
  top: -1.9rem;
  right: -1.9rem;
  width: 12.5rem;
  aspect-ratio: 1/1;
}
.p-top-about__heading {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
  margin: 0 0 3rem;
}
@media screen and (max-width: 768px) {
  .p-top-about {
    background: url(../img/top/about_bg_sp.jpg) no-repeat center center/cover;
    padding: 3.1rem 0;
    margin: 0 0 5rem;
  }
  .p-top-about__emblem {
    top: -6.3rem;
    right: -0.6rem;
    width: 6.3rem;
  }
  .p-top-about__heading {
    font-size: 1.2rem;
    margin: 0 0 0.8rem;
  }
}

/* 東京サンブライトの事業について */
.p-top-service {
  position: relative;
  z-index: 0;
  margin: 0 0 8.8rem;
}
.p-top-service::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -14.1rem;
  right: -4.5rem;
  display: block;
  width: 20rem;
  aspect-ratio: 320/326;
  background: url(../img/cmn/dot_object.png) no-repeat center center/contain;
}
.p-top-service__list-wrap {
  position: relative;
  z-index: 0;
  aspect-ratio: 570/480;
}
.p-top-service__list-wrap::before {
  content: "";
  position: absolute;
  z-index: -2;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block;
  width: 70.1754385965%;
  aspect-ratio: 1/1;
  background-color: #FFF2E3;
  border-radius: 50%;
  outline: 2px solid #fff;
  outline-offset: -1.3rem;
}
.p-top-service__list-wrap::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: calc(50% + 3.5rem + 2.5rem);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: inline-block;
  width: 5rem;
  aspect-ratio: 80/72;
  background: url(../img/cmn/logo_symbol_or.svg) no-repeat center center/contain;
}
.p-top-service__title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 2rem;
  font-weight: 700;
}
.p-top-service__list {
  display: contents;
  counter-reset: number 0;
}
.p-top-service__item {
  position: absolute;
  counter-increment: number 1;
}
.p-top-service__item:nth-of-type(1) {
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-top-service__item:nth-of-type(1) .p-top-service__icon {
  height: 68.1818181818%;
}
.p-top-service__item:nth-of-type(2) {
  bottom: 0;
  left: 0;
}
.p-top-service__item:nth-of-type(2) .p-top-service__icon-wrap {
  margin-bottom: 0;
}
.p-top-service__item:nth-of-type(3) {
  bottom: 0;
  right: 0;
}
.p-top-service__item:nth-of-type(3) .p-top-service__icon {
  height: 68.1818181818%;
}
.p-top-service__link {
  position: relative;
  width: 100%;
  height: 100%;
  width: 12.5rem;
  aspect-ratio: 1/1;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.6rem 0;
  border-radius: 50%;
  border: 1px solid #F08300;
  background-color: #fff;
  padding: 1.3rem 0 0.6rem;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.p-top-service__link::before {
  position: absolute;
  top: 0.6rem;
  left: 0.6rem;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  height: 3rem;
  aspect-ratio: 1/1;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 1px;
  text-align: center;
  line-height: 3rem;
  border-radius: 50%;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
}
.p-top-service__link:hover {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.p-top-service__icon-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  height: 5.5rem;
  margin: 0 auto 0.3rem;
}
.p-top-service__icon {
  height: 100%;
}
.p-top-service__icon img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-top-service__category-name {
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
.p-top-service__arrow-wrap {
  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;
  width: 2.5rem;
  aspect-ratio: 1/1;
  color: #F08300;
  border: 1px solid #F08300;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-service {
    margin: 0 0 5rem;
  }
  .p-top-service::before {
    top: -7.5rem;
    right: -3.1rem;
    width: 10rem;
  }
  .p-top-service__list-wrap {
    aspect-ratio: 1/1;
  }
  .p-top-service__list-wrap::before {
    width: 90%;
    outline-offset: -0.9rem;
  }
  .p-top-service__list-wrap::after {
    top: calc(50% + 3.5rem);
    width: 3.1rem;
  }
  .p-top-service__title {
    font-size: 1.1rem;
  }
  .p-top-service__item:nth-of-type(2) {
    left: -0.3rem;
  }
  .p-top-service__item:nth-of-type(2) .p-top-service__icon-wrap {
    margin: 0 auto -0.3rem;
  }
  .p-top-service__item:nth-of-type(3) {
    right: -0.3rem;
  }
  .p-top-service__link {
    width: 9.4rem;
    padding: 0.9rem 0 0.6rem;
  }
  .p-top-service__link::before {
    top: 0.3rem;
    left: 0.3rem;
    height: 2.3rem;
    font-size: 1.1rem;
    line-height: 2.3rem;
  }
  .p-top-service__icon-wrap {
    height: 4.1rem;
    margin: 0 auto;
  }
  .p-top-service__category-name {
    font-size: 0.9rem;
  }
  .p-top-service__arrow-wrap {
    width: 1.9rem;
  }
}

/* 取扱商品 */
.p-top-products {
  position: relative;
  z-index: 1;
  margin: 0 0 8.8rem;
}
.p-top-products::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -1.3rem;
  left: -2.5rem;
  display: block;
  width: 20rem;
  aspect-ratio: 320/326;
  background: url(../img/cmn/dot_object.png) no-repeat center center/contain;
}
.p-top-products__item {
  position: relative;
  z-index: 0;
  height: 28.8rem;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding: 1.5rem 1.9rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-top-products__item::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12.5rem;
  background: -webkit-gradient(linear, left bottom, left top, from(#F08300), to(transparent));
  background: linear-gradient(to top, #F08300, transparent);
  opacity: 0.4;
}
.p-top-products__item:hover .p-top-products__arrow {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}
.p-top-products__item:hover .p-top-products__img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.p-top-products__item.-medical::before {
  background: -webkit-gradient(linear, left bottom, left top, from(#f6b6af), to(transparent));
  background: linear-gradient(to top, #f6b6af, transparent);
}
.p-top-products__item.-education::before {
  background: -webkit-gradient(linear, left bottom, left top, from(#c5f1c9), to(transparent));
  background: linear-gradient(to top, #c5f1c9, transparent);
}
.p-top-products__img {
  position: absolute;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-top-products__img img {
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.p-top-products__content {
  display: grid;
  grid-template-areas: "category ." "title icon";
  grid-template-columns: 1fr 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9rem 1rem;
}
.p-top-products__category {
  grid-area: category;
  justify-self: start;
  display: inline-block;
  color: #fff;
  line-height: 0.7;
  font-family: "Jost", sans-serif;
  background-color: #F08300;
  border-radius: 0.3rem;
  padding: 0.5em 1em;
}
.p-top-products__title {
  grid-area: title;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
}
.p-top-products__icon {
  grid-area: icon;
  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;
  width: 2.5rem;
  aspect-ratio: 1/1;
  color: #F08300;
  background-color: #fff;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .p-top-products {
    margin: 0 0 5rem;
  }
  .p-top-products::before {
    width: 10rem;
  }
  .p-top-products__item {
    height: 21.3rem;
    padding: 0.9rem;
  }
  .p-top-products__content {
    gap: 0.5rem 1rem;
  }
  .p-top-products__category {
    font-size: 0.8rem;
  }
  .p-top-products__title {
    font-size: 1.3rem;
  }
}

/* お知らせ */
.p-top-news {
  position: relative;
  z-index: 0;
  margin: 0 0 8.8rem;
}
.p-top-news::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: -2.5rem;
  -webkit-transform: translateY(-100%) rotate(-90deg);
          transform: translateY(-100%) rotate(-90deg);
  display: block;
  width: 20rem;
  aspect-ratio: 320/326;
  background: url(../img/cmn/dot_object.png) no-repeat center center/contain;
}
.p-top-news__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1.3rem;
}
.p-top-news__header {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 18.1rem;
}
.p-top-news__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: -2.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    margin: 0 0 5rem;
  }
  .p-top-news::before {
    width: 10rem;
  }
  .p-top-news__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 1.3rem;
  }
  .p-top-news__header {
    width: 100%;
  }
  .p-top-news__content {
    margin: -1.3rem 0 0;
  }
}

/* ================================
Service
================================ */
/* サービス一覧 */
.p-service-list__list {
  margin: 4.6rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-service-list__list {
    gap: 2.5rem 0;
    margin: 3.8rem 0 0;
  }
}

.p-service-card {
  position: relative;
  z-index: 0;
}
.p-service-card__number {
  position: absolute;
  z-index: 1;
  top: -0.9rem;
  left: -0.9rem;
  content: counter(number, decimal-leading-zero);
  display: inline-block;
  height: 4rem;
  aspect-ratio: 1/1;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-size: 1.8rem;
  letter-spacing: 1px;
  text-align: center;
  line-height: 4rem;
  border-radius: 50%;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
}
.p-service-card__img {
  border-radius: 1.6rem;
  overflow: hidden;
  margin: 0 0 1.6rem;
}
.p-service-card__img img {
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.p-service-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.6rem;
  padding: 0 1rem 0 0;
  margin: 0 0 1rem;
}
.p-service-card__title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
}
.p-service-card__arrow {
  color: #F08300;
}
.p-service-card:hover .p-service-card__arrow {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
.p-service-card:hover .p-service-card__img img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
@media screen and (max-width: 768px) {
  .p-service-card__number {
    height: 3.5rem;
    line-height: 3.5rem;
  }
  .p-service-card__content {
    padding: 0 0.9rem;
  }
  .p-service-card__header {
    padding: 0;
  }
  .p-service-card__title {
    font-size: 1.3rem;
  }
}

/* サービスのメリット */
.p-service-merit__note {
  color: #ef3131;
  text-align: center;
  line-height: 2;
  font-weight: 700;
  border: 1px solid currentColor;
  padding: 0.6rem 0.9rem;
  margin: 2.5rem 0 0;
}
.p-service-merit__note small {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 500;
}
.p-service-merit__list {
  margin: 5rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-service-merit__note {
    line-height: 1.8;
    margin: 1.3rem 0 0;
  }
  .p-service-merit__list {
    margin: 2.5rem 0 0;
  }
}

/* サービスの強み */
.p-service-strength {
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  padding: 7.5rem 0;
}
.p-service-strength__media {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-service-strength__img {
  aspect-ratio: 1/1;
  margin: 3.1rem 0 0;
}
.p-service-strength__card {
  background-color: #fff;
  padding: 1.9rem 1.3rem;
}
.p-service-strength__card .c-card__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.9rem;
  border-bottom-color: #EBEBEB;
}
.p-service-strength__card .c-card__number {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.5rem;
  aspect-ratio: 1/1;
  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;
  color: #fff;
  font-size: 1.3rem;
  border-radius: 50%;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
}
.p-service-strength__card .c-card__title {
  color: #F08300;
  font-size: 1.3rem;
  -ms-flex-item-align: center;
      align-self: center;
}
@media screen and (max-width: 768px) {
  .p-service-strength {
    padding: 3.8rem 0;
  }
}

/* ご利用の流れ */
.p-service-flow__list {
  margin: 3.1rem 0 2.5rem;
}

/* ================================
Company
================================ */
.p-company-intro__desc {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company-intro__desc {
    font-size: 1rem;
  }
}

/* 企業理念 */
.p-company-philosophy {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-company-philosophy {
    padding: 3.8rem 0;
  }
}

/* 代表ご挨拶 */
.p-company-greeting {
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#FFBC02), to(#F08300));
  background: linear-gradient(to right, #FFBC02, #F08300);
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-company-greeting {
    padding: 3.8rem 0;
  }
}

/* 会社概要*/
.p-company-outline__table-wrap {
  margin: 2.5rem 0 0;
}
.p-company-outline__map {
  width: 100vw;
  aspect-ratio: 1280/500;
  margin: 5rem calc(50% - 50vw) 0;
}
.p-company-outline__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-company-outline__map {
    aspect-ratio: 3/2;
    margin: 2.5rem calc(50% - 50vw) 0;
  }
}

/* 沿革 */
.p-company-history__list {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 12.5rem 1fr;
  gap: 2.5rem 0;
  margin: 4.4rem 0 0;
}
.p-company-history__list::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 12.5rem;
  display: block;
  width: 1px;
  height: calc(100% - 2.5rem + 0.8rem);
  background-color: #F08300;
}
.p-company-history__list dt,
.p-company-history__list dd {
  font-size: 1.1rem;
  line-height: 2;
}
.p-company-history__list dt {
  position: relative;
  color: #F08300;
  font-weight: 600;
}
.p-company-history__list dt::after {
  content: "";
  position: absolute;
  top: 0.7rem;
  right: -0.3rem;
  display: inline-block;
  width: 0.5rem;
  aspect-ratio: 1/1;
  background-color: currentColor;
  border-radius: 50%;
}
.p-company-history__list dd {
  padding: 0 0 0 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-company-history__list {
    grid-template-columns: 6.3rem 1fr;
    gap: 1.9rem 0;
    margin: 2.5rem 0 0;
  }
  .p-company-history__list::before {
    top: 0.5rem;
    left: 6.3rem;
    height: calc(100% - 1.9rem + 1rem - 1.6rem);
  }
  .p-company-history dt,
  .p-company-history dd {
    font-size: 0.8rem;
    line-height: 1.8;
  }
  .p-company-history dt::after {
    top: 0.45rem;
  }
  .p-company-history dd {
    padding: 0 0 0 1.3rem;
  }
}

/* ================================
お問い合わせ
================================ */
/* お電話でのお問い合わせ */
.p-contact-tel {
  margin: 0 0 3.4rem;
}
.p-contact-tel__body {
  border-radius: 1.6rem;
  border: 1px solid #EBEBEB;
  background-color: #fff;
  padding: 1.5rem;
}
.p-contact-tel__tel {
  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;
  margin: 1.5rem 0 0;
}
.p-contact-tel__tel .c-cta__number::before {
  background: url(../img/cmn/phone_icon_or.svg) no-repeat center center/contain;
}
@media screen and (max-width: 768px) {
  .p-contact-tel {
    margin: 0 0 2.5rem;
  }
  .p-contact-tel__tel {
    margin: 1rem 0 0;
  }
}

/* フォームでのお問い合わせ */
.p-contact-form__list {
  margin: 3.1rem 0 0;
}

/* ================================
Product
================================ */
/* 取扱商品一覧 */
.p-products-list__tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.5rem;
}
.p-products-list__tab {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 6rem;
  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-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.1rem;
  font-weight: 600;
  text-align: center;
  background-color: #FFF2E3;
  border: 1px solid transparent;
  border-width: 1px 1px 0 1px;
  border-radius: 0.2rem 0.2rem 0 0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  cursor: pointer;
}
.p-products-list__tab::after {
  content: attr(data-en);
  font-family: "Jost", sans-serif;
  color: #F08300;
  font-size: 0.8rem;
  text-transform: uppercase;
}
.p-products-list__tab.is-active {
  border-color: #ebebeb;
  background-color: #fff;
}
.p-products-list__content-area {
  padding: 3.4rem 0;
}
.p-products-list__content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.p-products-list__content > * {
  display: none;
}
.p-products-list__content.is-active {
  opacity: 1;
  visibility: visible;
  height: auto;
}
.p-products-list__content.is-active > * {
  display: block;
}
.p-products-list__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.8rem 1.1rem;
  margin: 3rem 0 0;
}
@media screen and (max-width: 768px) {
  .p-products-list__tab-area {
    padding: 0 0.9rem;
    margin: 0 -0.9rem;
    overflow-x: auto;
  }
  .p-products-list__tab {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: 9.4rem;
    height: 4.4rem;
    gap: 0.3rem 0;
    font-size: 0.9rem;
  }
  .p-products-list__tab::after {
    font-size: 0.6rem;
  }
  .p-products-list__list {
    gap: 1.5rem 1rem;
  }
}

.p-products-card {
  width: calc((100% - 5.6rem) / 6);
}
.p-products-card__img-wrap {
  position: relative;
  z-index: 0;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding: 0.4rem;
}
.p-products-card__img {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 0.3rem;
  overflow: hidden;
}
.p-products-card__category {
  color: #fff;
  font-size: 0.6rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  background-color: #8e8e8e;
  padding: 0.75em 1em;
  border-radius: 9999px;
}
.p-products-card__category.-curtain {
  background-color: #F08300;
}
.p-products-card__category.-window {
  background-color: #49a800;
}
.p-products-card__category.-wall {
  background-color: #ae6e48;
}
.p-products-card__title {
  font-weight: 600;
  letter-spacing: 1px;
  margin: 1em 0 0;
}
.p-products-card:hover .p-service-card__arrow {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
@media screen and (max-width: 768px) {
  .p-products-card {
    width: calc(50% - 0.5rem);
  }
  .p-products-card__title {
    font-size: 0.8rem;
    margin: 0.5em 0 0;
  }
}

/* ================================
Ceo's Message
================================ */
.p-message__banner {
  max-width: 436px;
  margin: 2.3rem auto 0;
}

/* ================================
Adjistment
================================ */
.u-fit-contain {
  text-align: center;
}
.u-fit-contain img,
.u-fit-contain source {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  vertical-align: middle;
}

.u-color-main {
  color: #F08300;
}
.u-color-sub {
  color: #FFFCAF;
}
.u-color-wh {
  color: #fff;
}

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

.u-lh-22 {
  line-height: 2.2;
}

.u-display-ib {
  display: inline-block;
}
.u-display-ib-sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display-ib-sm {
    display: inline-block;
  }
}

.u-display-md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display-md {
    display: block;
  }
}
.u-display-sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display-sm {
    display: block;
  }
}

.u-display-flex-md {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-display-flex-md {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.u-display-flex-sm {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-display-flex-sm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media screen and (max-width: 1024px) {
  .u-hidden-md {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .u-hidden-sm {
    display: none;
  }
}

/* ================================
WordPress utility
================================ */
.has-text-align-left {
  text-align: left;
}

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

.has-text-align-right {
  text-align: right;
}

.alignleft {
  margin-right: auto;
}

.aligncenter {
  margin-right: auto;
  margin-left: auto;
}

.alignright {
  margin-left: auto;
}