/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */

*, ::before, ::after {
  border-style:solid;
  border-width:0;
  box-sizing:border-box
}

html {
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0, 0, 0, 0);
  line-height:1.15
}

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;
  font-weight:inherit;
  margin:0
}

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

dt {
  font-weight:bold
}

dd {
  margin-left:0
}

hr {
  border-top-width:1px;
  box-sizing:content-box;
  clear:both;
  color:inherit;
  height:0;
  margin:0;
  overflow:visible
}

pre {
  font-family:monospace, monospace;
  font-size:inherit
}

address {
  font-style:inherit
}

a {
  background-color:rgba(0, 0, 0, 0);
  color:inherit;
  text-decoration:none
}

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

b, strong {
  font-weight:bolder
}

code, kbd, samp {
  font-family:monospace, monospace;
  font-size:inherit
}

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;
  background:rgba(0, 0, 0, 0);
  border-radius:0;
  color:inherit;
  font:inherit;
  margin:0;
  padding:0;
  text-align:inherit;
  text-transform:inherit;
  vertical-align:middle
}

[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
}

fieldset {
  margin:0;
  min-width:0;
  padding:0
}

legend {
  padding:0
}

progress {
  vertical-align:baseline
}

textarea {
  overflow:auto
}

[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
}

details {
  display:block
}

summary {
  display:list-item
}

[contenteditable]:focus {
  outline:auto
}

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

caption {
  text-align:left
}

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

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

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  border:0;
  font-family:inherit;
  margin:0;
  padding:0;
  vertical-align:baseline
}

img {
  border:none;
  vertical-align:bottom
}

a {
  cursor:pointer;
  text-decoration:none
}

input, button, textarea, select {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  background:none;
  border:none;
  border-radius:0;
  box-sizing:border-box;
  color:inherit;
  font-family:inherit;
  margin:0;
  outline:none;
  padding:0
}

input:focus-visible, button:focus-visible, textarea:focus-visible, select:focus-visible {
  outline:1.5px solid blue
}

label {
  cursor:pointer
}

:root:has(.p-modal[aria-hidden=false]) {
  scrollbar-gutter:stable
}

html {
  -webkit-font-smoothing:antialiased;
  min-height:100vh
}

@media screen and (max-width: 767px) {
  html {
    font-size:clamp(8.5px, 2.3255vw, 10px)
  }
  
}

@media screen and (min-width: 768px) {
  html {
    font-size:clamp(8px, 10/1200*100vw, 9.5px)
  }
  
}

@media screen and (min-width: 1260px) {
  html {
    font-size:10px
  }
  
}

body {
  font-feature-settings:"palt";
  -webkit-text-size-adjust:100%;
  -webkit-font-smoothing:antialiased;
  background-color:#fff;
  color:#23262f;
  display:flex;
  flex-direction:column;
  font-family:"Zen Kaku Gothic New", sans-serif;
  font-size:1.6rem;
  font-style:normal;
  font-weight:400;
  line-height:1.6;
  min-height:100vh;
  overflow-x:clip;
  position:relative;
  word-break:break-all
}

.site-content {
  display:flex;
  flex:1;
  flex-direction:column
}

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

a {
  color:inherit;
  display:inline-block;
  transition:opacity .5s;
  word-break:break-all
}

@media(any-hover: hover) {
  a:not(.no-op):hover {
    opacity:.7
  }
  
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events:none
  }
  
}

.msg-no-entry {
  text-align:center
}

@keyframes lineMove {
  10% {
    transform:translate(0, 0)
  }
  
  40% {
    transform:translate(110%, 0)
  }
  
  40.1% {
    transform:translate(-110%, 0)
  }
  
  100% {
    transform:translate(0, 0)
  }
  
}

@keyframes arrowMove {
  0% {
    translate:0
  }
  
  49.9% {
    translate:100% 0
  }
  
  50% {
    translate:-100% 0
  }
  
  100% {
    translate:0
  }
  
}

.l-wrapper {
  display:flex;
  flex-direction:column;
  min-height:100vh;
  overflow-x:clip;
  position:relative
}

.l-mw-wrapper {
  margin-left:auto;
  margin-right:auto;
  max-width:1440px
}

.l-header {
  background-color:#fff;
  left:0;
  position:fixed;
  top:0;
  transition:transform .5s, background-color .2s, border-color .2s;
  transition-timing-function:ease;
  width:100%;
  z-index:80
}

@media screen and (max-width: 1023px) {
  .l-header {
    height:68px
  }
  
}

@media screen and (min-width: 1024px) {
  .l-header {
    height:12.4rem
  }
  
}

.l-header.is-hidden {
  transform:translateY(-110%)
}

.l-header__inner {
  display:flex;
  height:100%
}

@media screen and (max-width: 1023px) {
  .l-header__inner {
    align-items:center;
    padding-left:1rem
  }
  
}

@media screen and (min-width: 1024px) {
  .l-header__inner {
    align-items:flex-start;
    margin-inline:auto;
    max-width:1440px;
    padding-bottom:.8rem;
    padding-inline:3.4rem;
    padding-top:1.6rem
  }
  
}

@media screen and (max-width: 1023px) {
  .l-header__logo {
    width:15.9rem
  }
  
}

@media screen and (min-width: 1024px) {
  .l-header__logo {
    padding-top:1rem;
    width:18.1rem
  }
  
}

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

@media screen and (min-width: 1024px) {
  .l-header__content {
    display:flex;
    flex-direction:column;
    height:100%;
    margin-left:auto
  }
  
}

.l-header__info {
  align-items:flex-start;
  display:flex;
  gap:2rem;
  justify-content:flex-end
}

.l-header__tel {
  align-items:flex-start;
  color:#0f97ad;
  display:flex;
  gap:.8rem
}

.l-header__tel::before {
  aspect-ratio:1;
  background:url(../images/common/icon-tel.svg) no-repeat center center/contain;
  content:"";
  display:block;
  width:4rem
}

.l-header__telNum {
  font-family:"Rubik", sans-serif;
  font-size:3.6rem;
  font-weight:600;
  line-height:1
}

.l-header__telHour {
  display:inline-block;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.3rem;
  font-weight:700;
  transform:translateY(-0.4rem)
}

.l-header__telHour span {
  font-family:"Rubik", sans-serif;
  font-size:1.6rem;
  font-weight:600
}

.l-header__line a {
  align-items:center;
  background-color:#06c755;
  border-radius:100vmax;
  box-shadow:.2rem .3rem 0px 0px #02903c;
  color:#fff;
  display:inline-flex;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.8rem;
  font-weight:700;
  gap:.4rem;
  padding:.8rem 3rem .8rem 2.2rem;
  text-transform:uppercase;
  transition:transform .3s, box-shadow .3s
}

.l-header__line a::before {
  aspect-ratio:1;
  background:url(../images/common/icon-line.webp) no-repeat center center/contain;
  content:"";
  display:block;
  width:3.5rem
}

@media(hover: hover)and (pointer: fine) {
  .l-header__line a:hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.2rem, 0.3rem)
  }
  
}

.l-header__nav {
  margin-top:auto
}

.l-header__navList {
  display:flex
}

@media screen and (min-width: 768px) {
  .l-header__navItem+li {
    position:relative
  }
  
  .l-header__navItem+li:before {
    background-color:#bfbfbf;
    content:"";
    display:block;
    height:.9lh;
    left:0;
    position:absolute;
    top:45%;
    transform:translateY(-50%);
    width:1px
  }
  
}

.l-header__navLink {
  align-items:center;
  display:inline-flex;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.6rem;
  font-weight:500;
  gap:.19rem;
  padding-inline:1.2rem;
  transition:color .3s
}

.l-header__navLink::before {
  aspect-ratio:1;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  display:block;
  width:2.4rem
}

.l-header__navLink.-about::before {
  background-image:url(../images/common/icon-menu-about.svg)
}

.l-header__navLink.-blog::before {
  background-image:url(../images/common/icon-menu-blog.svg)
}

.l-header__navLink.-items::before {
  background-image:url(../images/common/icon-menu-items.svg)
}

.l-header__navLink.-purchased::before {
  background-image:url(../images/common/icon-menu-purchased.svg)
}

.l-header__navLink.-flow::before {
  background-image:url(../images/common/icon-menu-flow.svg)
}

.l-header__navLink.-faq::before {
  background-image:url(../images/common/icon-menu-faq.svg)
}

.l-header__navLink.-shop::before {
  background-image:url(../images/common/icon-menu-shop.svg)
}

@media(hover: hover)and (pointer: fine) {
  .l-header__navLink:hover {
    color:#0f97ad;
    opacity:1 !important
  }
  
}

.l-header__hamburger {
  background-color:#0f97ad;
  border-bottom:4px solid #08778d;
  opacity:1;
  position:relative;
  text-align:center;
  transform-origin:center center;
  transition:opacity .3s, border .3s;
  z-index:90
}

@media screen and (max-width: 1023px) {
  .l-header__hamburger {
    aspect-ratio:1;
    height:68px;
    margin-left:auto
  }
  
}

@media screen and (min-width: 1024px) {
  .l-header__hamburger {
    display:none
  }
  
}

.l-header__hamburger.is-active .l-header__hamburger-line {
  background-color:rgba(0, 0, 0, 0)
}

.l-header__hamburger.is-active .l-header__hamburger-line::before {
  top:25%;
  transform:rotate(45deg);
  transition:top .2s, transform .2s .2s
}

.l-header__hamburger.is-active .l-header__hamburger-line::after {
  top:25%;
  transform:rotate(-45deg);
  transition:top .2s, transform .2s .2s
}

.l-header__hamburger-line {
  background-color:rgba(0, 0, 0, 0);
  background-color:#fff;
  border-radius:calc(infinity*1px);
  display:block;
  height:3px;
  left:50%;
  position:absolute;
  top:calc(50% + 1px);
  transform:translate(-50%, -50%);
  transition:background-color 0s .2s;
  width:3rem
}

.l-header__hamburger-line::before, .l-header__hamburger-line::after {
  background-color:#fff;
  border-radius:calc(infinity*1px);
  content:"";
  display:block;
  height:3px;
  opacity:1;
  position:absolute;
  transition:background-color .3s;
  width:3rem
}

.l-header__hamburger-line::before {
  top:-8px;
  transition:top .2s .2s, transform .2s
}

.l-header__hamburger-line::after {
  top:8px;
  transition:top .2s .2s, transform .2s
}

.l-inner {
  max-width:100%;
  width:100%
}

@media screen and (max-width: 767px) {
  .l-inner {
    padding-inline:24px
  }
  
}

@media screen and (min-width: 768px) {
  .l-inner {
    margin-inline:auto;
    max-width:1260px;
    padding-inline:30px
  }
  
}

@media screen and (min-width: 1260px) {
  .l-inner {
    padding-inline:30px
  }
  
}

.l-inner--lg {
  max-width:1080px
}

.l-inner--md {
  max-width:960px
}

.l-inner--sm {
  max-width:860px
}

.l-inner--xs {
  max-width:780px
}

.l-drawer {
  background-color:#fff;
  height:calc(100dvh - 68px);
  opacity:0;
  position:fixed;
  right:0;
  top:68px;
  transition:opacity .3s, visibility .3s;
  visibility:hidden;
  width:100%
}

.l-drawer.is-visible {
  opacity:1;
  transition:opacity .3s, visibility .3s;
  visibility:visible
}

.l-drawer__inner {
  height:100%;
  max-height:100%;
  overflow-y:scroll;
  position:relative;
  width:100%
}

@media screen and (max-width: 1023px) {
  .l-drawer__inner {
    display:flex;
    flex-direction:column
  }
  
}

@media screen and (max-width: 767px) {
  .l-drawer__inner {
    padding-top:15px
  }
  
}

@media screen and (min-width: 768px) {
  .l-drawer__inner {
    padding-top:20px
  }
  
}

.l-drawer__nav {
  padding-inline:2rem
}

.l-drawer__navLink {
  align-items:center;
  border-bottom:1px solid #bfbfbf;
  display:flex;
  font-family:"Zen Maru Gothic", serif;
  font-size:2rem;
  font-weight:500;
  gap:1.5rem;
  padding:2rem 1.2rem
}

.l-drawer__navLink::before {
  aspect-ratio:1;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  content:"";
  display:block;
  width:2.9rem
}

.l-drawer__navLink.-about::before {
  background-image:url(../images/common/icon-menu-about.svg)
}

.l-drawer__navLink.-blog::before {
  background-image:url(../images/common/icon-menu-blog.svg)
}

.l-drawer__navLink.-items::before {
  background-image:url(../images/common/icon-menu-items.svg)
}

.l-drawer__navLink.-purchased::before {
  background-image:url(../images/common/icon-menu-purchased.svg)
}

.l-drawer__navLink.-flow::before {
  background-image:url(../images/common/icon-menu-flow.svg)
}

.l-drawer__navLink.-faq::before {
  background-image:url(../images/common/icon-menu-faq.svg)
}

.l-drawer__navLink.-shop::before {
  background-image:url(../images/common/icon-menu-shop.svg)
}

.l-drawer__cta {
  background-color:#0f97ad;
  flex-grow:1;
  padding:4.8rem 3.6rem
}

.l-drawer__ctaInner {
  background-color:#fff;
  border-radius:.8rem;
  padding:0 2.4rem 4rem;
  position:relative;
  text-align:center
}

.l-drawer__text {
  margin-inline:auto;
  position:relative;
  width:min(80%, 300px)
}

@media screen and (max-width: 767px) {
  .l-drawer__text {
    top:-1.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .l-drawer__text {
    top:-2rem
  }
  
}

.l-drawer__tel {
  align-items:flex-start;
  color:#0f97ad;
  display:flex;
  gap:.8rem;
  justify-content:center
}

.l-drawer__tel::before {
  aspect-ratio:1;
  background:url(../images/common/icon-tel.svg) no-repeat center center/contain;
  content:"";
  display:block;
  width:4rem
}

.l-drawer__tel a {
  text-align:left
}

.l-drawer__telNum {
  font-family:"Rubik", sans-serif;
  font-size:3.6rem;
  font-weight:600;
  line-height:1
}

.l-drawer__telHour {
  font-family:"Zen Maru Gothic", serif;
  font-size:1.3rem;
  font-weight:700
}

.l-drawer__telHour span {
  font-family:"Rubik", sans-serif;
  font-size:1.6rem;
  font-weight:600
}

.l-drawer__line {
  margin-top:2.4rem
}

.l-drawer__line a {
  align-items:center;
  background-color:#06c755;
  border-radius:100vmax;
  box-shadow:.2rem .3rem 0px 0px #02903c;
  color:#fff;
  display:inline-flex;
  font-family:"Zen Maru Gothic", serif;
  font-size:2rem;
  font-weight:700;
  gap:.4rem;
  padding:1.6rem 4.2rem;
  text-transform:uppercase;
  transition:transform .3s, box-shadow .3s
}

.l-drawer__line a::before {
  aspect-ratio:1;
  background:url(../images/common/icon-line.webp) no-repeat center center/contain;
  content:"";
  display:block;
  width:3.4rem
}

@media(hover: hover)and (pointer: fine) {
  .l-drawer__line a:hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.2rem, 0.3rem)
  }
  
}

.l-main {
  display:flex;
  flex-direction:column;
  flex-grow:1
}

.is-loaded .l-main {
  opacity:1
}

.l-main-404 {
  margin-top:68px
}

@media screen and (min-width: 1024px) {
  .l-main-404 {
    margin-top:12.4rem
  }
  
}

@media screen and (max-width: 767px) {
  .l-page-content {
    padding-bottom:8rem;
    padding-top:4rem
  }
  
}

@media screen and (min-width: 768px) {
  .l-page-content {
    padding-bottom:16rem;
    padding-top:10rem
  }
  
}

.l-footer {
  background-color:#23262f;
  color:#fff
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom:8.5rem;
    padding-top:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .l-footer {
    padding-bottom:3.6rem;
    padding-top:5.6rem
  }
  .about-footer {
    padding-bottom:16.2rem;
  }
  
}

.l-footer__logo {
  align-items:center;
  display:flex;
  gap:1.6rem
}

.l-footer__logo a {
  display:block
}

.l-footer__logo a:first-child {
  width:18.1rem
}

.l-footer__logo a:last-child {
  width:3.6rem
}

.l-footer__nav {
  margin-top:4rem
}

.l-footer__navList {
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end
}

@media screen and (max-width: 767px) {
  .l-footer__navList {
    flex-direction:column
  }
  
}

@media screen and (min-width: 768px) {
  .l-footer__navItem+li {
    position:relative
  }
  
  .l-footer__navItem+li:before {
    background-color:#fff;
    content:"";
    display:block;
    height:.9lh;
    left:0;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:1px
  }
  
}

.l-footer__navLink {
  font-family:"Zen Maru Gothic", serif
}

@media screen and (max-width: 767px) {
  .l-footer__navLink {
    border-bottom:1px solid #fff;
    display:block;
    padding:1.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .l-footer__navLink {
    padding-inline:1.6rem
  }
  
}

.l-footer__copyright {
  font-family:"Rubik", sans-serif;
  margin-top:4rem
}

@media screen and (max-width: 767px) {
  .l-footer__copyright {
    text-align:center
  }
  
}

.l-footer__copyright small {
  text-transform:uppercase
}

@media screen and (max-width: 767px) {
  .l-footer__copyright small {
    font-size:1.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .l-footer__copyright small {
    font-size:1.3rem
  }
  
}

.c-anime {
  opacity:0;
  z-index:1
}

.c-anime-fadeIn.js-anime-active {
  animation:fadeIn .7s forwards
}

@keyframes fadeIn {
  0% {
    opacity:0
  }
  
  100% {
    opacity:1
  }
  
}

.c-anime-fadeInUp.js-anime-active {
  animation:fadeInUp .7s forwards
}

.c-anime-fadeInUp--slow.js-anime-active {
  animation:fadeInUp 1s forwards
}

@keyframes fadeInUp {
  0% {
    opacity:0;
    transform:translateY(20px);
    transition-timing-function:cubic-bezier(0, 0.4, 0.2, 1)
  }
  
  100% {
    opacity:1;
    transform:translateY(0)
  }
  
}

.c-anime-fadeInDown.js-anime-active {
  animation:fadeInDown .7s forwards
}

@keyframes fadeInDown {
  0% {
    opacity:0;
    transform:translateY(-40px);
    transition-timing-function:cubic-bezier(0, 0.4, 0.2, 1)
  }
  
  100% {
    opacity:1;
    transform:translateY(0)
  }
  
}

.c-anime-fadeInLeft.js-anime-active {
  animation:fadeInLeft .7s forwards
}

@media screen and (max-width: 767px) {
  .c-anime-fadeInLeft.js-anime-active {
    animation:fadeInUp .7s forwards
  }
  
}

@keyframes fadeInLeft {
  0% {
    opacity:0;
    transform:translateX(-25px);
    transition-timing-function:cubic-bezier(0, 0.4, 0.2, 1)
  }
  
  100% {
    opacity:1;
    transform:translateX(0)
  }
  
}

.c-anime-fadeInRight.js-anime-active {
  animation:fadeInRight .7s forwards
}

@media screen and (max-width: 767px) {
  .c-anime-fadeInRight.js-anime-active {
    animation:fadeInUp .7s forwards
  }
  
}

@keyframes fadeInRight {
  0% {
    opacity:0;
    transform:translateX(25px);
    transition-timing-function:cubic-bezier(0, 0.4, 0.2, 1)
  }
  
  100% {
    opacity:1;
    transform:translateX(0)
  }
  
}

.c-anime-arrowReveal img {
  clip-path:inset(0 0 100% 0)
}

.c-anime-arrowReveal.js-anime-active img {
  animation:arrowReveal .4s ease forwards
}

@keyframes arrowReveal {
  0% {
    clip-path:inset(0 0 100% 0)
  }
  
  100% {
    clip-path:inset(0 0 0 0)
  }
  
}

.c-image-clip-r {
  clip-path:inset(0 0 0 100%);
  opacity:0
}

.c-image-clip-r.js-anime-active {
  animation:clipRight .6s cubic-bezier(0.17, 0.63, 0.44, 1) forwards
}

@keyframes clipRight {
  0% {
    clip-path:inset(0 0 0 100%);
    opacity:0
  }
  
  100% {
    clip-path:inset(0 0 0 0);
    opacity:1
  }
  
}

.c-image-clip-l {
  clip-path:inset(0 100% 0 0);
  opacity:0
}

.c-image-clip-l.js-anime-active {
  animation:clipLeft .6s cubic-bezier(0.17, 0.63, 0.44, 1) forwards
}

@keyframes clipLeft {
  0% {
    clip-path:inset(0 100% 0 0);
    opacity:0
  }
  
  100% {
    clip-path:inset(0 0 0 0);
    opacity:1
  }
  
}

.c-image-scaleUp {
  clip-path:inset(10%);
  opacity:0;
  transition:.6s cubic-bezier(0.43, 0.37, 0.2, 1);
  transition-property:clip-path, opacity, filter
}

.c-image-scaleUp.js-anime-active {
  clip-path:inset(0);
  opacity:1
}

.c-image-scaleDown {
  overflow:hidden
}

.c-image-scaleDown img {
  filter:blur(8px);
  opacity:0;
  transform:scale(1.05);
  transition:transform .8s, opacity .8s, filter .6s;
  transition-timing-function:cubic-bezier(0.43, 0.37, 0.2, 1)
}

.c-image-scaleDown.js-anime-active img {
  filter:blur(0);
  opacity:1;
  transform:scale(1)
}

.c-anime-textReveal span {
  clip-path:polygon(0% 0%, 0% 0%, 0% 150%, 0% 150%);
  display:inline-block;
  opacity:.5;
  transform:translateX(10px);
  transition:clip-path 1.05s, transform 1.5s, opacity 1.5s, filter 1.05s;
  transition-timing-function:ease-out, cubic-bezier(0.19, 1, 0.22, 1)
}

.c-anime-textReveal.js-anime-active span {
  clip-path:polygon(0% 0%, 130% 0%, 100% 150%, 0% 150%);
  filter:blur(0);
  opacity:1;
  transform:translateX(0)
}

.c-button {
  border-radius:.8rem;
  color:#fff;
  display:inline-block;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.8rem;
  font-weight:700;
  position:relative;
  text-align:center;
  transition:transform .3s, box-shadow .3s
}

@media screen and (max-width: 767px) {
  .c-button {
    padding:1.5rem 5rem;
    width:30rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-button {
    font-size:2rem;
    padding:1.6rem 11rem
  }
  
}

.c-button::after {
  aspect-ratio:1;
  background:url(../images/common/icon-arrow-inverse.svg) no-repeat center center/contain;
  content:"";
  display:block;
  position:absolute;
  right:2.9rem;
  top:50%;
  transform:translateY(-50%);
  transition:right .3s;
  width:2.4rem
}

@media(hover: hover)and (pointer: fine) {
  .c-button:hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.3rem, 0.4rem)
  }
  
  .c-button:hover::after {
    right:2.4rem
  }
  
}

.c-button--primary {
  background-color:#0f97ad;
  box-shadow:.3rem .4rem 0px 0px #057c8f
}

.c-button--accent {
  background-color:#f78227;
  box-shadow:.3rem .4rem 0px 0px #a75b1f
}

.c-button--back::after {
  left:2.9rem;
  right:unset;
  transform:translateY(-50%) scale(-1, 1);
  transition:left .3s
}

@media(hover: hover)and (pointer: fine) {
  .c-button--back:hover {
    transform:translate(0.3rem, 0.4rem)
  }
  
  .c-button--back:hover::after {
    left:2.4rem
  }
  
}

.c-cvButton {
  background-color:#06c755;
  border-radius:100vmax;
  box-shadow:.2rem .3rem 0px 0px #02903c;
  color:#fff;
  display:block;
  font-family:"Zen Maru Gothic", serif;
  max-width:403px;
  padding:.4rem 1.6rem .2rem;
  text-align:center;
  transition:transform .3s, box-shadow .3s
}

@media screen and (min-width: 768px) {
  .c-cvButton {
    padding:.6rem 2.2rem .1rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .c-cvButton:hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.2rem, 0.3rem)
  }
  
}

.c-cvButton__sub {
  background-color:#fff;
  border-radius:100vmax;
  color:#06c755;
  display:inline-block;
  font-size:1.2rem;
  font-weight:500;
  padding:.5px 2.2rem
}

@media screen and (min-width: 768px) {
  .c-cvButton__sub {
    font-size:1.4rem;
    padding:.5px 2.8rem
  }
  
}

.c-cvButton__sub span {
  align-items:baseline;
  display:inline-flex;
  gap:.8rem;
  position:relative
}

.c-cvButton__sub span::before, .c-cvButton__sub span::after {
  background-color:#06c755;
  content:"";
  display:block;
  height:1rem;
  width:1px
}

@media screen and (min-width: 768px) {
  .c-cvButton__sub span::before, .c-cvButton__sub span::after {
    height:1.2rem
  }
  
}

.c-cvButton__sub span::before {
  transform:rotate(-25deg)
}

.c-cvButton__sub span::after {
  transform:rotate(25deg)
}

.c-cvButton__main {
  align-items:center;
  display:flex;
  font-size:1.5rem;
  font-weight:700;
  gap:.6rem;
  justify-content:center;
  transform:translateY(-0.1rem)
}

@media screen and (min-width: 768px) {
  .c-cvButton__main {
    font-size:1.8rem;
    gap:.8rem;
    transform:translateY(-0.3rem)
  }
  
}

.c-cvButton__main img {
  height:3rem;
  width:3rem
}

@media screen and (min-width: 768px) {
  .c-cvButton__main img {
    height:3.8rem;
    width:3.8rem
  }
  
}

.c-section-title {
  font-family:"Zen Maru Gothic", serif;
  font-weight:700;
  text-align:center
}

@media screen and (max-width: 767px) {
  .c-section-title {
    font-size:3.2rem;
    margin-bottom:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-section-title {
    font-size:4.8rem;
    margin-bottom:7.2rem
  }
  
}

.c-card-items {
  border-radius:.4rem;
  overflow:hidden;
  transition:border-color .5s
}

@media screen and (max-width: 767px) {
  .c-card-items {
    min-height:14.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items {
    border-radius:.8rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .c-card-items:has(a:hover) {
    border-color:rgba(15, 151, 173, .7)
  }
  
}

.c-card-items__link {
  align-items:center;
  background-color:#fff;
  border:.3rem solid #0f97ad;
  display:flex;
  gap:.8rem;
  height:100%;
  position:relative
}

@media screen and (max-width: 767px) {
  .c-card-items__link {
    border-radius:.4rem;
    padding:.5rem 3.9rem .5rem 0
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items__link {
    border-radius:.8rem;
    padding:.8rem 2.4rem .8rem 0
  }
  
}

.c-card-items__link::before {
  background-color:#0f97ad;
  bottom:-3rem;
  content:"";
  display:block;
  height:10rem;
  position:absolute;
  right:-4rem;
  transform:skewX(-45deg);
  width:7rem;
  z-index:2
}

.c-card-items__link::after {
  aspect-ratio:1;
  background:url(../images/common/icon-arrow-inverse.svg) no-repeat center center/contain;
  bottom:.25rem;
  content:"";
  display:block;
  position:absolute;
  right:.3rem;
  transition:right .3s;
  z-index:3
}

@media screen and (max-width: 767px) {
  .c-card-items__link::after {
    bottom:.5rem;
    width:1.9rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items__link::after {
    width:2.4rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .c-card-items__link:hover::after {
    right:-0.1rem
  }
  
}

.c-card-items__image {
  aspect-ratio:1;
  flex-shrink:0
}

@media screen and (max-width: 767px) {
  .c-card-items__image {
    width:13rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items__image {
    width:16rem
  }
  
}

@media screen and (min-width: 1260px) {
  .c-card-items__image {
    width:18.8rem;
    width:48%
  }
  
}

.c-card-items__body h3 {
  color:#0f97ad;
  font-weight:700;
  line-height:1.2
}

@media screen and (max-width: 767px) {
  .c-card-items__body h3 {
    font-size:2.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items__body h3 {
    font-size:3.2rem
  }
  
}

.c-card-items__body p {
  font-weight:500;
  line-height:1.4
}

@media screen and (max-width: 767px) {
  .c-card-items__body p {
    margin-top:.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-items__body p {
    font-size:2rem;
    margin-top:.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .home .c-card-items__body p, .about .c-card-items__body p {
    font-size:1.6rem
  }
  
}

.c-card-brands {
  border-radius:.4rem;
  overflow:hidden;
  transition:border-color .5s
}

.c-card-brands:has(a:hover) {
  border-color:rgba(15, 151, 173, .7)
}

.c-card-brands__inner {
  background-color:#fff;
  border:.3rem solid #0f97ad;
  border-radius:.4rem .4rem 0 .4rem;
  display:flex;
  flex-direction:column;
  height:100%;
  position:relative
}

a.c-card-brands__inner::before {
  background-color:#0f97ad;
  bottom:-3.5rem;
  content:"";
  display:block;
  height:10rem;
  position:absolute;
  right:-5rem;
  transform:skewX(-45deg);
  width:7rem;
  z-index:2
}

@media screen and (min-width: 768px) {
  a.c-card-brands__inner::before {
    bottom:-3.5rem;
    right:-4.5rem
  }
  
}

a.c-card-brands__inner::after {
  aspect-ratio:1;
  background:url(../images/common/icon-arrow-inverse.svg) no-repeat center center/contain;
  bottom:.25rem;
  content:"";
  display:block;
  position:absolute;
  right:.3rem;
  transition:right .3s;
  z-index:2
}

@media screen and (max-width: 767px) {
  a.c-card-brands__inner::after {
    width:1.4rem
  }
  
}

@media screen and (min-width: 768px) {
  a.c-card-brands__inner::after {
    width:1.6rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  a.c-card-brands__inner:hover::after {
    right:-0.1rem
  }
  
}

a.c-card-brands__inner .c-card-brands__text {
  padding:.9rem 1.8rem
}

@media screen and (min-width: 768px) {
  a.c-card-brands__inner .c-card-brands__text {
    padding:.9rem 2rem
  }
  
}

.c-card-brands--no-image {
  min-height:7rem
}

@media screen and (min-width: 768px) {
  .c-card-brands--no-image {
    min-height:8.8rem
  }
  
}

.c-card-brands--no-image .text {
  height:100%
}

.c-card-brands--no-image .text h3 {
  line-height:1.3
}

.c-card-brands__image {
  aspect-ratio:1;
  width:100%
}

.c-card-brands__text {
  display:grid;
  flex-grow:1;
  padding:.9rem 2rem;
  place-items:center
}

@media screen and (max-width: 767px) {
  .c-card-brands__text {
    min-height:5rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-card-brands__text {
    padding:.9rem 1.6rem
  }
  
}

.c-card-brands__text h3 {
  font-size:1.6rem;
  font-weight:700;
  line-height:1;
  text-align:center
}

@media screen and (min-width: 768px) {
  .c-card-brands__text h3 {
    font-size:2rem;
    line-height:1.3
  }
  
}

.c-entry-purchased {
  display:block;
  height:100%
}

.c-entry-purchased__link {
  display:block;
  height:100%
}

@media(hover: hover)and (pointer: fine) {
  .c-entry-purchased__link:hover {
    opacity:1 !important
  }
  
  .c-entry-purchased__link:hover .c-entry-purchased__thumb img {
    transform:scale(1.05)
  }
  
}

.c-entry-purchased__thumb {
  aspect-ratio:1;
  border-radius:.2rem;
  overflow:hidden
}

@media screen and (min-width: 768px) {
  .c-entry-purchased__thumb {
    border-radius:.4rem
  }
  
}

.c-entry-purchased__thumb img {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  transition:transform .3s;
  width:100%
}

@media screen and (max-width: 767px) {
  .c-entry-purchased__body {
    margin-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-purchased__body {
    margin-top:1.2rem
  }
  
}

.c-entry-purchased__cats {
  display:flex;
  gap:8px
}

.c-entry-purchased__cat {
  border:1px solid;
  color:#0f97ad;
  font-weight:500
}

@media screen and (max-width: 767px) {
  .c-entry-purchased__cat {
    border-radius:.4rem;
    font-size:1.5rem;
    padding:.2rem .8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-purchased__cat {
    border-radius:.6rem;
    font-size:1.6rem;
    padding:.35rem 1.2rem
  }
  
}

.c-entry-purchased__title {
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-weight:500;
  overflow:hidden
}

@media screen and (max-width: 767px) {
  .c-entry-purchased__title {
    font-size:1.6rem;
    line-height:1.4;
    margin-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-purchased__title {
    font-size:2rem;
    margin-top:1.2rem
  }
  
}

.c-entry-blog {
  background-color:#fff;
  border:.3rem solid #0f97ad;
  display:block
}

@media screen and (max-width: 767px) {
  .c-entry-blog {
    border-radius:.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog {
    border-radius:.8rem;
    height:100%
  }
  
}

.c-entry-blog__link {
  display:flex;
  overflow:hidden;
  position:relative
}

@media screen and (max-width: 767px) {
  .c-entry-blog__link {
    align-items:stretch
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__link {
    flex-direction:column;
    height:100%;
    padding:1.7rem
  }
  
}

.c-entry-blog__link:hover {
  opacity:1 !important
}

.c-entry-blog__link:hover .c-entry-blog__thumb img {
  transform:scale(1.05)
}

.c-entry-blog__link::before {
  background-color:#0f97ad;
  bottom:-4rem;
  clip-path:polygon(50% 0, 100% 100%, 0 100%);
  content:"";
  display:block;
  height:6.5rem;
  position:absolute;
  right:-4rem;
  transform:rotate(135deg);
  width:8.7rem;
  z-index:2
}

@media screen and (min-width: 768px) {
  .c-entry-blog__link::before {
    bottom:-3.5rem;
    right:-4rem
  }
  
}

.c-entry-blog__link::after {
  aspect-ratio:1;
  background:url(../images/common/icon-arrow-inverse.svg) no-repeat center center/contain;
  bottom:.25rem;
  content:"";
  display:block;
  position:absolute;
  right:.3rem;
  transition:right .3s;
  z-index:3
}

@media screen and (max-width: 767px) {
  .c-entry-blog__link::after {
    width:1.9rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__link::after {
    width:2.4rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .c-entry-blog__link:hover::after {
    right:-0.1rem
  }
  
}

.c-entry-blog__thumb {
  overflow:hidden;
  position:relative
}

@media screen and (max-width: 767px) {
  .c-entry-blog__thumb {
    aspect-ratio:157/206;
    flex-shrink:0;
    width:41.09%
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__thumb {
    aspect-ratio:335/205;
    border-radius:.4rem
  }
  
}

.c-entry-blog__thumb img {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  transition:transform .3s;
  width:100%
}

.c-entry-blog__body {
  display:flex;
  flex-direction:column
}

@media screen and (max-width: 767px) {
  .c-entry-blog__body {
    padding:2rem 1.8rem 2rem 1.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__body {
    flex-grow:1;
    margin-top:1.6rem
  }
  
}

.c-entry-blog__cats {
  display:flex;
  gap:8px
}

.c-entry-blog__cat {
  background-color:#0f97ad;
  border-radius:.2rem;
  color:#fff;
  display:inline-block;
  font-weight:500
}

@media screen and (max-width: 767px) {
  .c-entry-blog__cat {
    font-size:1.5rem;
    padding:.35rem 1.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__cat {
    font-size:1.6rem;
    padding:.35rem 1.6rem
  }
  
}

.c-entry-blog__title {
  -webkit-box-orient:vertical;
  display:-webkit-box;
  flex-grow:1;
  font-size:1.8rem;
  font-weight:500;
  overflow:hidden
}

@media screen and (max-width: 767px) {
  .c-entry-blog__title {
    -webkit-line-clamp:4;
    margin-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__title {
    -webkit-line-clamp:3;
    margin-top:1.2rem
  }
  
}

.c-entry-blog__date {
  color:#7a7a7a;
  display:block;
  font-family:"Rubik", sans-serif;
  font-weight:500
}

@media screen and (max-width: 767px) {
  .c-entry-blog__date {
    font-size:1.5rem;
    margin-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-blog__date {
    font-size:1.8rem;
    margin-top:1.2rem
  }
  
}

.c-entry-faq {
  background-color:#fff;
  border:.2rem solid #0f97ad;
  border-radius:.4rem
}

@media screen and (max-width: 767px) {
  .c-entry-faq {
    box-shadow:.3rem .3rem 0 0 #0f97ad;
    padding:1.6rem 2rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq {
    border-width:.3rem;
    box-shadow:.4rem .4rem 0 0 #0f97ad;
    padding:1.2rem 2rem
  }
  
}

.c-entry-faq__head {
  cursor:pointer;
  display:flex;
  font-weight:700
}

@media screen and (max-width: 767px) {
  .c-entry-faq__head {
    align-items:center;
    font-size:1.8rem;
    gap:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq__head {
    align-items:flex-start;
    font-size:2rem;
    gap:1.6rem
  }
  
}

.c-entry-faq__head h3 {
  flex-grow:1
}

@media screen and (min-width: 768px) {
  .c-entry-faq__head h3 {
    margin-top:calc((4.68rem - 1lh)/2)
  }
  
}

.c-entry-faq__head::before, .c-entry-faq__head::after {
  content:"";
  display:block;
  flex-shrink:0
}

.c-entry-faq__head::before {
  color:#0f97ad;
  content:"Q";
  font-family:"Rubik", sans-serif;
  font-weight:500;
  line-height:1.17
}

@media screen and (max-width: 767px) {
  .c-entry-faq__head::before {
    font-size:3.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq__head::before {
    font-size:4rem
  }
  
}

.c-entry-faq__head::after {
  aspect-ratio:1;
  background:url(../images/common/icon-chevron-faq.svg) no-repeat center center/contain;
  transition:transform .4s
}

@media screen and (max-width: 767px) {
  .c-entry-faq__head::after {
    width:3.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq__head::after {
    margin-top:.34rem;
    width:4rem
  }
  
}

.c-entry-faq__head.is-active::after {
  transform:rotate(180deg)
}

.c-entry-faq__body {
  display:none
}

@media screen and (max-width: 767px) {
  .c-entry-faq__body>div {
    padding-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq__body>div {
    padding-bottom:1.2rem;
    padding-top:2.4rem
  }
  
}

.c-entry-faq__body>div p {
  background-color:rgba(15, 151, 173, .08);
  border-radius:.8rem;
  font-size:1.8rem;
  font-weight:500;
  text-align:justify
}

@media screen and (max-width: 767px) {
  .c-entry-faq__body>div p {
    line-height:1.3;
    padding:1.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-faq__body>div p {
    line-height:2.2;
    padding:2rem 3.2rem
  }
  
}

.c-entry-news {
  display:grid;
  transition:opacity .3s;
  width:100%
}

.c-entry-news:not(:first-of-type) {
  border-top:.2rem solid rgba(35, 38, 47, .2)
}

@media screen and (max-width: 767px) {
  .c-entry-news {
    gap:.8rem;
    grid-template-rows:auto auto;
    padding:2rem 1.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-entry-news {
    align-items:center;
    display:block grid;
    gap:1.2rem;
    grid-column:1/-1;
    grid-template-columns:subgrid;
    padding:2.4rem 3.6rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .c-entry-news:hover {
    opacity:.7
  }
  
}

.c-entry-news__meta {
  align-items:center;
  display:flex;
  flex-shrink:0;
  gap:1.1rem
}

@media screen and (min-width: 768px) {
  .c-entry-news__meta {
    display:contents
  }
  
}

.c-entry-news__date {
  font-family:"Rubik", sans-serif;
  font-size:1.4rem;
  font-weight:600
}

.c-entry-news__cat {
  border:1px solid #f78227;
  border-radius:.4rem;
  color:#f78227;
  display:inline-block;
  font-size:1.4rem;
  font-weight:700;
  padding:.35rem .4rem
}

.c-entry-news__cat+.c-entry-news__cat {
  margin-left:4px
}

.c-entry-news__title {
  font-family:"Zen Maru Gothic", serif;
  font-size:1.8rem;
  font-weight:700
}

@media screen and (max-width: 767px) {
  .c-entry-news__title {
    width:100%
  }
  
}

.c-visual-wrap img, .c-visual-wrap video, .c-visual-wrap iframe {
  width:100%
}

.c-page-header {
  margin-top:68px
}

@media screen and (min-width: 1024px) {
  .c-page-header {
    margin-top:12.4rem
  }
  
}

.c-page-header--base {
  background-position:center bottom;
  background-repeat:no-repeat;
  background-size:cover;
  padding-block:10rem
}

@media screen and (min-width: 768px) {
  .c-page-header--base {
    padding-bottom:15.6rem;
    padding-top:13.2rem
  }
  
}

.c-page-header--tight {
  background-color:#e7f5f7;
  padding-block:8rem
}

@media screen and (min-width: 768px) {
  .c-page-header--tight {
    padding-block:6rem
  }
  
}

.c-page-header__text {
  font-family:"Zen Maru Gothic", serif;
  font-size:1.6rem;
  margin-top:.8rem;
  text-align:center
}

@media screen and (min-width: 768px) {
  .c-page-header__text {
    font-size:2.4rem;
    margin-top:1.2rem
  }
  
}

.post-type-archive-blog .c-page-header, .tax-blog_category .c-page-header {
  background-image:url(../images/blog/title_sm.webp)
}

@media screen and (min-width: 768px) {
  .post-type-archive-blog .c-page-header, .tax-blog_category .c-page-header {
    background-image:url(../images/blog/title_lg.webp)
  }
  
}

.post-type-archive-items .c-page-header {
  background-image:url(../images/items/title_sm.webp)
}

@media screen and (max-width: 767px) {
  .post-type-archive-items .c-page-header {
    padding-block:8.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .post-type-archive-items .c-page-header {
    background-image:url(../images/items/title_lg.webp);
    padding-bottom:9.7rem
  }
  
}

.post-type-archive-purchased-items .c-page-header, .tax-purchased-items_category .c-page-header {
  background-image:url(../images/purchased/title_sm.webp)
}

@media screen and (max-width: 767px) {
  .post-type-archive-purchased-items .c-page-header, .tax-purchased-items_category .c-page-header {
    padding-block:8.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .post-type-archive-purchased-items .c-page-header, .tax-purchased-items_category .c-page-header {
    background-image:url(../images/purchased/title_lg.webp);
    padding-bottom:9.7rem
  }
  
}

.flow .c-page-header {
  background-image:url(../images/flow/title_sm.webp)
}

@media screen and (max-width: 767px) {
  .flow .c-page-header {
    padding-block:8.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .flow .c-page-header {
    background-image:url(../images/flow/title_lg.webp);
    padding-bottom:9.7rem
  }
  
}

.flow .c-page-header .c-page-title__sub {
  color:#f78227
}

.flow .c-page-header .c-page-title__sub::before {
  background-image:url(../images/common/icon-polygon-accent.svg)
}

.faq .c-page-header {
  background-image:url(../images/faq/title_sm.webp)
}

@media screen and (min-width: 768px) {
  .faq .c-page-header {
    background-image:url(../images/faq/title_lg.webp)
  }
  
}

.shop .c-page-header {
  background-image:url(../images/shop/title_sm.webp)
}

@media screen and (min-width: 768px) {
  .shop .c-page-header {
    background-image:url(../images/shop/title_lg.webp)
  }
  
}

.c-page-title {
  text-align:center
}

.c-page-title__sub {
  align-items:center;
  color:#0f97ad;
  display:inline-flex;
  font-family:"Rubik", sans-serif;
  font-size:2rem;
  font-weight:500;
  gap:.8rem;
  justify-content:center
}

@media screen and (min-width: 768px) {
  .c-page-title__sub {
    font-size:2.4rem
  }
  
}

.c-page-title__sub::before {
  background:url(../images/common/icon-polygon-primary.svg) no-repeat center center/85%;
  content:"";
  height:1.5rem;
  width:1.5rem
}

@media screen and (min-width: 768px) {
  .c-page-title__sub::before {
    background-size:contain
  }
  
}

.c-page-title__main {
  font-family:"Zen Maru Gothic", serif;
  font-size:3.2rem;
  font-weight:700;
  margin-top:.2rem;
  text-transform:uppercase
}

@media screen and (min-width: 768px) {
  .c-page-title__main {
    font-size:4.8rem;
    margin-top:-1rem
  }
  
}

.c-breadcrumb {
  padding-block:1.5rem
}

@media screen and (min-width: 768px) {
  .c-breadcrumb {
    padding-bottom:1.3rem;
    padding-top:1.7rem
  }
  
}

.c-breadcrumb .c-breadcrumb__inner {
  max-width:1060px
}

.c-breadcrumb .breadcrumb-list {
  align-items:center;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end
}

.c-breadcrumb .breadcrumb-item {
  font-family:"Zen Maru Gothic", serif;
  font-size:1.3rem;
  font-weight:500
}

@media screen and (min-width: 768px) {
  .c-breadcrumb .breadcrumb-item {
    font-size:1.4rem
  }
  
}

.c-breadcrumb .breadcrumb-item a {
  text-decoration:underline
}

.c-breadcrumb .breadcrumb-item+.breadcrumb-item {
  margin-left:7px;
  padding-left:19px;
  position:relative
}

.c-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  content:"＞";
  display:block;
  font-family:"Zen Maru Gothic", serif;
  font-size:max(1.2rem, 11px);
  font-weight:400;
  left:0;
  position:absolute;
  top:50%;
  transform:translateY(-50%)
}

.c-lower-heading-01 {
  align-items:center;
  display:flex;
  font-size:2.4rem;
  font-weight:700;
  gap:3.2rem;
  justify-content:center;
  text-align:center
}

@media screen and (min-width: 768px) {
  .c-lower-heading-01 {
    font-size:3.2rem
  }
  
}

.c-lower-heading-01::before, .c-lower-heading-01::after {
  background-color:#0f97ad;
  border-radius:2px;
  content:"";
  flex-shrink:0;
  height:3.2rem;
  width:max(.4rem, 3px)
}

.c-lower-heading-02 {
  align-items:center;
  color:#0f97ad;
  display:flex;
  font-size:2.4rem;
  font-weight:700;
  gap:1.6rem
}

.c-lower-heading-02::before {
  background-color:#0f97ad;
  border-radius:2px;
  content:"";
  height:2.4rem;
  width:max(.4rem, 3px)
}

.c-list-disc {
  list-style-type:disc;
  padding-left:1em
}

.c-list-decimal {
  list-style-type:decimal;
  padding-left:1.5em
}

.c-pagination:has(.nav-links) {
  margin-top:4rem
}

@media screen and (min-width: 768px) {
  .c-pagination:has(.nav-links) {
    margin-top:7.2rem
  }
  
}

.c-pagination:has(.nav-links) .nav-links {
  align-items:center;
  display:flex;
  gap:5px;
  justify-content:center
}

.c-pagination:has(.nav-links) .page-numbers {
  border:2px solid #0f97ad;
  border-radius:6px;
  color:#0f97ad;
  display:inline-block;
  font-size:1.4rem;
  font-weight:600;
  height:4.6rem;
  line-height:4rem;
  text-align:center;
  width:4.2rem
}

@media screen and (min-width: 768px) {
  .c-pagination:has(.nav-links) .page-numbers {
    border-radius:8px
  }
  
}

.c-pagination:has(.nav-links) .current {
  background-color:#0f97ad;
  color:#fff
}

.c-pagination:has(.nav-links) .dots {
  border:none;
  line-height:7rem;
  width:2rem
}

.c-pagination:has(.nav-links) .prev, .c-pagination:has(.nav-links) .next {
  align-items:center;
  display:inline-flex;
  height:4.8rem;
  justify-content:center;
  line-height:4.2rem;
  width:7.9rem
}

.c-pagination:has(.nav-links) .prev::before {
  background:url(../images/common/icon-chevron-pagination.svg) no-repeat center center/contain;
  content:"";
  display:block;
  height:2rem;
  transform:scale(-1, 1);
  width:2rem
}

.c-pagination:has(.nav-links) .next::after {
  background:url(../images/common/icon-chevron-pagination.svg) no-repeat center center/contain;
  content:"";
  display:block;
  height:2rem;
  width:2rem
}

.c-menus {
  display:grid;
  gap:2.4rem
}

@media screen and (min-width: 768px) {
  .c-menus {
    grid-template-columns:repeat(3, 1fr)
  }
  
}

.c-menu {
  border-radius:.8rem;
  box-shadow:0px 4px 20px 0px rgba(15, 151, 173, .4);
  display:block;
  overflow:hidden
}

@media(hover: hover)and (pointer: fine) {
  .c-menu:hover {
    opacity:1 !important
  }
  
  .c-menu:hover .c-menu__image img {
    transform:scale(1.05)
  }
  
  .c-menu:hover .c-menu__bottom img {
    transform:translateX(0.4rem)
  }
  
}

.c-menu__top {
  position:relative
}

.c-menu__image {
  aspect-ratio:383/192;
  overflow:hidden
}

@media screen and (min-width: 768px) {
  .c-menu__image {
    aspect-ratio:383/240
  }
  
}

.c-menu__image img {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  transition:transform .4s;
  width:100%
}

.c-menu__text {
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  inset:0;
  justify-content:center;
  position:absolute;
  z-index:2
}

.c-menu__text p {
  color:#fff;
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700;
  text-align:center
}

@media screen and (min-width: 768px) {
  .c-menu__text p {
    font-size:2.8rem
  }
  
}

@media screen and (min-width: 1260px) {
  .c-menu__text p {
    font-size:3.2rem
  }
  
}

.c-menu__bottom {
  align-items:center;
  background-color:#fff;
  display:flex;
  gap:.4rem;
  justify-content:center;
  padding:1.2rem
}

.c-menu__bottom p {
  color:#0f97ad;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.6rem;
  font-weight:700
}

.c-menu__bottom img {
  transition:transform .4s
}

.c-items-cats {
  display:flex;
  flex-wrap:wrap;
  gap:1.6rem
}

@media screen and (min-width: 768px) {
  .c-items-cats {
    justify-content:center
  }
  
}

.c-items-cat {
  align-items:center;
  border:2px solid #0f97ad;
  border-radius:4px;
  display:flex;
  gap:.8rem;
  padding:.8rem .4rem
}

@media screen and (max-width: 767px) {
  .c-items-cat {
    width:calc(50% - .8rem)
  }
  
}

@media screen and (min-width: 768px) {
  .c-items-cat {
    border-width:3px;
    padding:.4rem 2rem .4rem 1.2rem
  }
  
}

.c-items-cat .image {
  flex-shrink:0;
  width:6rem
}

@media screen and (min-width: 768px) {
  .c-items-cat .image {
    width:8rem
  }
  
}

.c-items-cat .text {
  color:#0f97ad;
  font-size:1.6rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .c-items-cat .text {
    font-size:1.8rem
  }
  
}

.c-flow {
  display:grid;
  gap:3.5rem
}

@media screen and (min-width: 768px) {
  .c-flow {
    gap:5rem
  }
  
}

.c-flow[data-color=accent] .c-flow__item {
  border-color:#f78227
}

.c-flow[data-color=accent] .c-flow__item .head {
  background-color:#f78227
}

.c-flow[data-color=accent] .c-flow__item .head>div {
  background-color:#fffed5;
  border-color:#f78227
}

.c-flow[data-color=accent] .c-flow__item .head>div span {
  color:#f78227
}

.c-flow[data-color=accent] .c-flow__item:not(:last-child)::after {
  background-color:#f78227
}

.c-flow[data-color=primary] .c-flow__item {
  border-color:#0f97ad
}

.c-flow[data-color=primary] .c-flow__item .head {
  background-color:#0f97ad
}

.c-flow[data-color=primary] .c-flow__item .head>div {
  background-color:#fffed5;
  border-color:#0f97ad
}

.c-flow[data-color=primary] .c-flow__item .head>div span {
  color:#0f97ad
}

.c-flow[data-color=primary] .c-flow__item:not(:last-child)::after {
  background-color:#0f97ad
}

.c-flow__item {
  background-color:#fff;
  border-radius:.8rem;
  border-style:solid;
  border-width:3px;
  text-align:center
}

@media screen and (max-width: 767px) {
  .c-flow__item {
    margin-inline:auto;
    width:min(100%, 440px)
  }
  
}

.c-flow__item .head {
  background-color:#f78227;
  color:#fff;
  padding:.9rem;
  position:relative
}

.c-flow__item .head>div {
  aspect-ratio:1;
  border:3.5px solid;
  border-radius:50%;
  display:grid;
  left:-0.4rem;
  place-items:center;
  position:absolute;
  top:-2.6rem;
  width:7.6rem
}

.c-flow__item .head>div>span {
  display:block;
  font-family:"Rubik", sans-serif;
  font-size:2rem;
  font-weight:700;
  line-height:1;
  padding-top:.5rem;
  text-transform:uppercase
}

.c-flow__item .head>div>span span {
  display:block;
  font-size:2.8rem
}

.c-flow__item .head h3 {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .c-flow__item .head h3 {
    font-size:2.8rem
  }
  
}

.c-flow__item .body {
  padding:2.3rem 2.75rem 3.2rem
}

@media screen and (min-width: 768px) {
  .c-flow__item .body {
    align-items:center;
    display:flex;
    gap:1.6rem;
    padding:2.4rem 4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-flow__item .body>div {
    flex-shrink:0;
    width:20rem
  }
  
}

.c-flow__item .body p {
  font-size:1.8rem;
  font-weight:700;
  line-height:1.6
}

@media screen and (max-width: 767px) {
  .c-flow__item .body p {
    margin-top:2rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-flow__item .body p {
    text-align:left
  }
  
}

.c-flow__item:not(:last-child) {
  position:relative
}

.c-flow__item:not(:last-child)::after {
  clip-path:polygon(0 0, 100% 0, 50% 100%);
  content:"";
  display:block;
  height:1.6rem;
  left:50%;
  position:absolute;
  transform:translateX(-50%);
  width:3.6rem
}

@media screen and (max-width: 767px) {
  .c-flow__item:not(:last-child)::after {
    bottom:-3rem
  }
  
}

@media screen and (min-width: 768px) {
  .c-flow__item:not(:last-child)::after {
    bottom:-3.8rem;
    height:1.5rem;
    width:7.8rem
  }
  
}

.p-mv {
  margin-top:68px;
  position:relative
}

@media screen and (min-width: 1024px) {
  .p-mv {
    margin-top:12.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__image {
    aspect-ratio:3/2
  }
  
}

@media screen and (min-width: 1260px) {
  .p-mv__image {
    aspect-ratio:1440/800
  }
  
}

.p-mv__image img {
  width:100%
}

@media screen and (min-width: 768px) {
  .p-mv__image img {
    -o-object-fit:cover;
    height:100%;
    object-fit:cover
  }
  
}

.p-mv__texts {
  position:absolute
}

@media screen and (max-width: 767px) {
  .p-mv__texts {
    left:24px;
    top:58%
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__texts {
    left:3.4rem;
    top:42%
  }
  
}

@media screen and (min-width: 1260px) {
  .p-mv__texts {
    left:calc((100vw - 1200px)/2)
  }
  
}

@media screen and (min-width: 1600px) {
  .p-mv__texts {
    top:23.33vw
  }
  
}

.p-mv__microCopy {
  background-color:#0f97ad;
  color:#fff;
  display:inline-block;
  font-weight:700
}

@media screen and (max-width: 767px) {
  .p-mv__microCopy {
    font-size:1.8rem;
    padding:.5rem 1.9rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__microCopy {
    font-size:2.8rem;
    padding:.65rem 2.6rem
  }
  
}

.p-mv__copy {
  font-family:"Zen Maru Gothic", serif;
  font-weight:700;
  letter-spacing:.04em
}

.p-mv__copy>span {
  align-items:center;
  background-color:#fff;
  color:#0f97ad;
  display:flex;
  width:-moz-fit-content;
  width:fit-content
}

.p-mv__copy>span:first-of-type {
  color:#23262f
}

@media screen and (max-width: 767px) {
  .p-mv__copy>span:first-of-type {
    font-size:3rem;
    margin-top:.4rem;
    padding:.5rem 1.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__copy>span:first-of-type {
    font-size:4.8rem;
    margin-top:.8rem;
    padding:.8rem 2.15rem
  }
  
}

.p-mv__copy>span:first-of-type span {
  color:#0f97ad
}

@media screen and (max-width: 767px) {
  .p-mv__copy>span:first-of-type span {
    font-size:4.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__copy>span:first-of-type span {
    font-size:6.4rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-mv__copy>span:last-of-type {
    font-size:5.2rem;
    margin-top:.6rem;
    padding-inline:1.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-mv__copy>span:last-of-type {
    font-size:8rem;
    margin-top:1.1rem;
    padding-inline:1.6rem
  }
  
}

.p-top-about {
  overflow-x:clip;
  position:relative;
  z-index:2
}

@media screen and (max-width: 767px) {
  .p-top-about {
    padding-bottom:2.4rem;
    padding-top:6.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about {
    margin-top:-14.5rem;
    padding-bottom:15.1rem;
    padding-top:26.3rem
  }
  
}

.p-top-about__bg {
  position:absolute;
  z-index:-1
}

.p-top-about__bg img {
  width:100%
}

@media screen and (max-width: 767px) {
  .p-top-about__bg.-top {
    left:-33%;
    top:29.5%;
    width:min(111vw, 700px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__bg.-top {
    left:-15.8rem;
    top:2.9rem;
    width:min(44.09vw, 635px)
  }
  
}

@media screen and (min-width: 1440px) {
  .p-top-about__bg.-top {
    left:calc((100vw - 1440px)/2 - 15.8rem)
  }
  
}

.p-top-about__bg.-bottom {
  bottom:0
}

@media screen and (max-width: 767px) {
  .p-top-about__bg.-bottom {
    right:-50%;
    width:min(146vw, 800px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__bg.-bottom {
    right:-10%;
    right:-12.6rem;
    width:min(43.75vw, 630px)
  }
  
}

@media screen and (min-width: 1440px) {
  .p-top-about__bg.-bottom {
    right:calc((100vw - 1440px)/2 - 12.6rem)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__inner {
    align-items:flex-start;
    display:flex;
    justify-content:center
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__mainBlock {
    min-width:max(48.6rem, 330px);
    order:2
  }
  
}

.p-top-about__heading {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center
}

@media screen and (max-width: 767px) {
  .p-top-about__heading {
    gap:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__heading {
    gap:1.2rem
  }
  
}

.p-top-about__heading h2 {
  color:#0f97ad;
  font-family:"Zen Maru Gothic", serif;
  font-weight:700
}

@media screen and (max-width: 767px) {
  .p-top-about__heading h2 {
    font-size:4.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__heading h2 {
    font-size:4.8rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-top-about__heading h2 {
    font-size:5.6rem
  }
  
}

.p-top-about__text {
  font-weight:500;
  letter-spacing:.04em;
  text-align:center
}

@media screen and (max-width: 767px) {
  .p-top-about__text {
    font-size:1.6rem;
    line-height:2.2;
    margin-top:.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__text {
    font-size:1.8rem;
    line-height:2.5;
    margin-top:1.2rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-about__button {
    margin-top:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__button {
    margin-top:1rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock {
    width:calc((100% - 330px)/2)
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-about__visualBlock.-left {
    margin-top:13.4rem;
    position:relative
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock.-left {
    order:1;
    position:relative
  }
  
}

.p-top-about__visualBlock.-left img:first-child {
  position:absolute
}

@media screen and (max-width: 767px) {
  .p-top-about__visualBlock.-left img:first-child {
    right:-20%;
    top:18%;
    width:38.83vw
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock.-left img:first-child {
    left:-15%;
    top:-22%;
    width:53.42%
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-about__visualBlock.-left img:last-child {
    transform:translateX(-0.7rem);
    width:63.48vw
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock.-left img:last-child {
    transform:translateY(20rem)
  }
  
}

.p-top-about__visualBlock.-right {
  text-align:right
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock.-right {
    order:3
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-about__visualBlock.-right img {
    transform:translateX(24px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-about__visualBlock.-right img {
    transform:translateY(-5.3rem);
    width:80.82%
  }
  
}

.p-top-purchased {
  background-color:rgba(15, 151, 173, .04)
}

.p-top-blog {
  overflow-x:clip;
  position:relative
}

.p-top-blog__bg {
  position:absolute;
  z-index:-1
}

@media screen and (max-width: 767px) {
  .p-top-blog__bg.-top {
    right:-12%;
    top:2.5%;
    width:min(43.72vw, 700px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-blog__bg.-top {
    right:-9.9rem;
    top:7.2rem;
    width:min(30.41vw, 438px)
  }
  
}

@media screen and (min-width: 1260px) {
  .p-top-blog__bg.-top {
    right:calc((100vw - 1440px)/2 - 9.9rem)
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-blog__bg.-bottom {
    bottom:7%;
    left:-32%;
    width:min(66.04vw, 400px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-blog__bg.-bottom {
    bottom:4.3rem;
    left:-11.4rem;
    width:min(35.27vw, 508px)
  }
  
}

@media screen and (min-width: 1260px) {
  .p-top-blog__bg.-bottom {
    left:calc((100vw - 1440px)/2 - 11.4rem)
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-blog__button {
    margin-top:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-blog__button {
    margin-top:7.2rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-flow .c-section-title {
    line-height:1.2
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-flow .c-section-title span {
    display:block
  }
  
}

.p-top-flow__list {
  display:grid
}

@media screen and (max-width: 1023px) {
  .p-top-flow__list {
    gap:6rem;
    margin-top:7.2rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-top-flow__list {
    gap:3.5rem;
    grid-template-columns:repeat(3, 1fr)
  }
  
}

.p-top-flow__item {
  background-color:#fff;
  border:3px solid #f78227;
  border-radius:.8rem;
  text-align:center
}

@media screen and (max-width: 1023px) {
  .p-top-flow__item {
    margin-inline:auto;
    width:min(100%, 440px)
  }
  
}

.p-top-flow__item .head {
  background-color:#f78227;
  color:#fff;
  padding:.9rem;
  position:relative
}

.p-top-flow__item .head>div {
  aspect-ratio:1;
  background-color:#fffed5;
  border:3.5px solid #f78227;
  border-radius:50%;
  display:grid;
  left:-0.4rem;
  place-items:center;
  position:absolute;
  top:-2.6rem;
  width:7.6rem
}

.p-top-flow__item .head>div>span {
  color:#f78227;
  display:block;
  font-family:"Rubik", sans-serif;
  font-size:2rem;
  font-weight:700;
  line-height:1;
  padding-top:.5rem;
  text-transform:uppercase
}

.p-top-flow__item .head>div>span span {
  display:block;
  font-size:2.8rem
}

.p-top-flow__item .head h3 {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.8rem;
  font-weight:700
}

.p-top-flow__item .body {
  padding:2.3rem 3.7rem 3.9rem
}

.p-top-flow__item .body p {
  font-size:1.8rem;
  font-weight:700;
  line-height:1.6;
  margin-top:2rem
}

.p-top-flow__item:not(:last-child) {
  position:relative
}

.p-top-flow__item:not(:last-child)::after {
  background-color:#f78227;
  clip-path:polygon(0 0, 100% 0, 50% 100%);
  content:"";
  display:block;
  height:1.6rem;
  position:absolute;
  width:3.6rem
}

@media screen and (max-width: 1023px) {
  .p-top-flow__item:not(:last-child)::after {
    bottom:-3rem;
    left:50%;
    transform:translateX(-50%)
  }
  
}

@media screen and (min-width: 1024px) {
  .p-top-flow__item:not(:last-child)::after {
    right:-4rem;
    top:50%;
    transform:translateY(-50%) rotate(-90deg)
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-flow__button {
    margin-top:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-flow__button {
    margin-top:6.8rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-top-faq {
    padding-bottom:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-faq {
    padding-bottom:5.8rem
  }
  
}

.p-top-faq__list {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-top-faq__list {
    gap:2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-faq__list {
    gap:3.6rem
  }
  
}

.p-top-faq__image {
  margin-inline:auto
}

@media screen and (max-width: 767px) {
  .p-top-faq__image {
    margin-top:4.8rem;
    max-width:400px
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-faq__image {
    margin-top:3.7rem;
    max-width:719px
  }
  
}

.p-top-faq__image img {
  width:100%
}

.p-top-instagram {
  position:relative
}

@media screen and (max-width: 767px) {
  .p-top-instagram {
    padding-bottom:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-instagram {
    padding-bottom:12rem
  }
  
}

.p-top-instagram::before {
  background-color:rgba(15, 151, 173, .1);
  bottom:0;
  content:"";
  display:block;
  left:0;
  position:absolute;
  width:100%;
  z-index:-1
}

@media screen and (max-width: 767px) {
  .p-top-instagram::before {
    border-radius:4rem 4rem 0 0;
    height:43.71%
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-instagram::before {
    border-radius:8rem 8rem 0 0;
    height:63.1%
  }
  
}

.p-top-instagram__list {
  display:grid;
  margin-inline:auto;
  max-width:722px
}

@media screen and (max-width: 767px) {
  .p-top-instagram__list {
    gap:.8rem;
    grid-template-columns:repeat(2, 1fr)
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-instagram__list {
    gap:3.2rem;
    grid-template-columns:repeat(3, 1fr)
  }
  
}

.p-top-instagram__button {
  margin-top:5.6rem
}

@media screen and (min-width: 768px) {
  .p-top-instagram__button {
    margin-top:7.2rem
  }
  
}

.p-top-news {
  background:url(../images/common/bg-comb.webp) no-repeat center center/cover
}

.p-top-news__body {
  background-color:#fff;
  border-radius:.8rem
}

@media screen and (max-width: 767px) {
  .p-top-news__body {
    padding:4.8rem 1.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-top-news__body {
    padding:7rem 10rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-top-news__body {
    padding:7rem 13.6rem
  }
  
}

.p-top-news__list {
  display:grid
}

@media screen and (min-width: 768px) {
  .p-top-news__list {
    align-items:center;
    grid-template-columns:max-content auto 1fr
  }
  
}

.p-loading-home {
  display:none
}

.home .p-loading-home {
  background-color:#fff;
  display:block;
  height:100%;
  left:0;
  position:fixed;
  text-align:center;
  width:100%;
  z-index:999
}

.p-loading-home__logo {
  display:none;
  left:50%;
  position:absolute;
  top:50%;
  transform:translate3d(-50%, -50%, 0)
}

.p-loading-page {
  display:block;
  height:100%;
  left:0;
  position:fixed;
  text-align:center;
  top:0;
  width:100%;
  z-index:999
}

.p-items__heading .micro-copy {
  align-items:center;
  color:#0f97ad;
  display:flex;
  font-weight:700;
  justify-content:center;
  line-height:2.4
}

@media screen and (max-width: 767px) {
  .p-items__heading .micro-copy {
    font-size:1.8rem;
    gap:1.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-items__heading .micro-copy {
    font-size:2rem;
    gap:1.6rem
  }
  
}

.p-items__heading .micro-copy::before, .p-items__heading .micro-copy::after {
  background-color:#0f97ad;
  border-radius:100vmax;
  content:"";
  display:block;
  height:1.2em;
  width:2px
}

.p-items__heading .micro-copy::before {
  transform:rotate(-20deg)
}

.p-items__heading .micro-copy::after {
  transform:rotate(20deg)
}

.p-items__list {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-items__list {
    gap:1.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-items__list {
    gap:2.4rem;
    grid-template-columns:repeat(2, 1fr)
  }
  
}

@media screen and (min-width: 1024px) {
  .p-items__list {
    grid-template-columns:repeat(3, 1fr)
  }
  
}

@media screen and (max-width: 767px) {
  .p-items__button {
    margin-top:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-items__button {
    margin-top:7.2rem
  }
  
}

.p-purchased__main {
  overflow:hidden
}

.p-purchased__slideWrap {
  margin-inline:auto
}

@media screen and (max-width: 767px) {
  .p-purchased__slideWrap {
    width:calc(100% - 48px)
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__slideWrap {
    width:calc(100% - 60px)
  }
  
}

@media screen and (min-width: 1260px) {
  .p-purchased__slideWrap {
    width:1200px
  }
  
}

.p-purchased__slide {
  overflow:visible !important
}

.p-purchased__slide li {
  height:auto
}

@media screen and (max-width: 767px) {
  .p-purchased__slide .c-entry-purchased__thumb {
    border-radius:.4rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-purchased__slide .c-entry-purchased__title {
    font-size:1.8rem
  }
  
}

.p-purchased__controls {
  align-items:center;
  display:flex
}

@media screen and (max-width: 767px) {
  .p-purchased__controls {
    gap:2.4rem;
    justify-content:center;
    margin-top:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__controls {
    margin-inline:auto;
    margin-top:6rem;
    width:clamp(700px, 68.33%, 820px)
  }
  
}

.p-purchased__controls .p-purchased__pagination {
  bottom:unset !important;
  left:unset !important;
  position:relative
}

@media screen and (max-width: 767px) {
  .p-purchased__controls .p-purchased__pagination {
    order:2;
    width:-moz-fit-content !important;
    width:fit-content !important
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__controls .p-purchased__pagination {
    display:none
  }
  
}

.p-purchased__controls .p-purchased__pagination .swiper-pagination-bullet {
  background-color:#fff;
  border:1px solid #0f97ad;
  height:8px;
  margin:0 7px !important;
  opacity:1;
  width:8px
}

.p-purchased__controls .p-purchased__pagination .swiper-pagination-bullet-active {
  background-color:#0f97ad
}

.p-purchased__controls .p-purchased__pagination .swiper-pagination-progressbar-fill {
  background-color:#0f97ad
}

@media screen and (max-width: 767px) {
  .p-purchased__controls .p-purchased__scrollbar {
    display:none
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__controls .p-purchased__scrollbar {
    background-color:rgba(15, 151, 173, .2);
    bottom:unset !important;
    flex-shrink:1;
    height:3px !important;
    left:unset !important;
    margin-right:2.7rem;
    position:relative !important
  }
  
  .p-purchased__controls .p-purchased__scrollbar .swiper-scrollbar-drag {
    background-color:#0f97ad
  }
  
}

.p-purchased__controls .p-purchased__control {
  aspect-ratio:1;
  background:url(../images/common/icon-slide-controller.svg) no-repeat center center/contain;
  flex-shrink:0;
  left:unset;
  margin-top:0;
  position:relative;
  right:unset;
  top:unset;
  transition:opacity .3s
}

.p-purchased__controls .p-purchased__control::after {
  display:none
}

@media screen and (max-width: 767px) {
  .p-purchased__controls .p-purchased__control {
    width:4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__controls .p-purchased__control {
    width:5rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .p-purchased__controls .p-purchased__control:hover {
    opacity:.7
  }
  
}

.p-purchased__controls .p-purchased__prev {
  transform:scaleX(-1)
}

@media screen and (max-width: 767px) {
  .p-purchased__controls .p-purchased__prev {
    order:1
  }
  
}

@media screen and (max-width: 767px) {
  .p-purchased__controls .p-purchased__next {
    order:3
  }
  
}

@media screen and (min-width: 768px) {
  .p-purchased__controls .p-purchased__next {
    margin-left:.8rem
  }
  
}

.p-cta {
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  overflow:clip;
  position:relative;
  text-align:center
}

@media screen and (max-width: 767px) {
  .p-cta {
    background-image:url(../images/cta/bg_sm.webp);
    padding-bottom:8.9rem;
    padding-top:6.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta {
    background-image:url(../images/cta/bg_lg.webp);
    padding-bottom:10.9rem;
    padding-top:10.9rem
  }
  
}

.p-cta::before {
  background-color:rgba(15, 151, 173, .8);
  content:"";
  display:block;
  inset:0;
  position:absolute
}

.p-cta__inner {
  align-items:center;
  background-color:#fff;
  display:flex;
  flex-direction:column;
  margin-inline:auto;
  max-width:1030px;
  position:relative
}

@media screen and (max-width: 767px) {
  .p-cta__inner {
    border-radius:.8rem;
    padding:4.6rem 2.3rem 8.9rem 2.3rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__inner {
    border-radius:1.6rem;
    padding:6.7rem
  }
  
}

.p-cta__text {
  align-items:center;
  color:#0f97ad;
  display:flex;
  font-weight:700;
  justify-content:center
}

@media screen and (max-width: 767px) {
  .p-cta__text {
    font-size:2rem;
    gap:1.5rem;
    line-height:1.3
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__text {
    font-size:2.4rem;
    gap:1.5rem;
    line-height:2.4
  }
  
}

.p-cta__text::before, .p-cta__text::after {
  background-color:#0f97ad;
  border-radius:100vmax;
  content:"";
  display:block;
  width:2px
}

@media screen and (max-width: 767px) {
  .p-cta__text::before, .p-cta__text::after {
    height:2.5em
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__text::before, .p-cta__text::after {
    height:1.3em
  }
  
}

.p-cta__text::before {
  transform:rotate(-20deg)
}

.p-cta__text::after {
  transform:rotate(20deg)
}

.p-cta__title {
  -moz-column-gap:.8rem;
  align-items:center;
  column-gap:.8rem;
  display:flex;
  flex-wrap:wrap;
  font-weight:700;
  justify-content:center;
  text-transform:uppercase
}

@media screen and (max-width: 767px) {
  .p-cta__title {
    font-size:3.4rem;
    margin-top:2.4rem
  }
  
}

.p-cta__title span:first-of-type {
  font-family:"Zen Maru Gothic", serif
}

@media screen and (max-width: 767px) {
  .p-cta__title span:first-of-type {
    font-size:3.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__title span:first-of-type {
    font-size:4rem
  }
  
}

.p-cta__title span:nth-of-type(2) {
  color:#0f97ad;
  font-family:"Zen Maru Gothic", serif
}

@media screen and (max-width: 767px) {
  .p-cta__title span:nth-of-type(2) {
    font-size:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__title span:nth-of-type(2) {
    font-size:2.8rem
  }
  
}

.p-cta__title span:last-of-type {
  color:#06c755
}

@media screen and (max-width: 767px) {
  .p-cta__title span:last-of-type {
    width:100%
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__title span:last-of-type {
    font-size:3.5rem
  }
  
}

.p-cta__button {
  margin-top:2.4rem
}

.p-cta__button a:not(.c-cvButton) {
  align-items:center;
  background-color:#06c755;
  border-radius:100vmax;
  box-shadow:.3rem .4rem 0px 0px #02903c;
  color:#fff;
  display:inline-flex;
  font-family:"Zen Maru Gothic", serif;
  font-weight:700;
  gap:.4rem;
  text-transform:uppercase;
  transition:transform .3s, box-shadow .3s
}

@media screen and (max-width: 767px) {
  .p-cta__button a:not(.c-cvButton) {
    font-size:1.7rem;
    padding:.8rem 4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__button a:not(.c-cvButton) {
    font-size:2.4rem;
    padding:.8rem 10rem
  }
  
}

.p-cta__button a:not(.c-cvButton)::before {
  aspect-ratio:1;
  background:url(../images/common/icon-line.webp) no-repeat center center/contain;
  content:"";
  display:block;
  width:3rem
}

@media screen and (min-width: 768px) {
  .p-cta__button a:not(.c-cvButton)::before {
    width:4.8rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .p-cta__button a:not(.c-cvButton):hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.3rem, 0.4rem)
  }
  
}

.p-cta__image {
  position:absolute;
  z-index:2
}

@media screen and (max-width: 767px) {
  .p-cta__image.--l {
    bottom:0;
    left:-0.373rem;
    width:17.3rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__image.--l {
    bottom:1.2rem;
    left:3rem;
    width:21rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-cta__image.--l {
    bottom:1.6rem;
    left:12.5rem
  }
  
}

@media screen and (min-width: 1440px) {
  .p-cta__image.--l {
    left:calc((100vw - 1440px)/2 + 12.5rem)
  }
  
}

@media screen and (max-width: 767px) {
  .p-cta__image.--r {
    bottom:-2.5rem;
    right:-3rem;
    width:15.1rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta__image.--r {
    bottom:-1.5rem;
    right:2rem;
    width:22.5rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-cta__image.--r {
    right:15rem
  }
  
}

@media screen and (min-width: 1440px) {
  .p-cta__image.--r {
    right:calc((100vw - 1440px)/2 + 15rem)
  }
  
}

.p-modal__overlay {
  align-items:center;
  background:rgba(0, 0, 0, .35);
  bottom:0;
  display:flex;
  justify-content:center;
  left:0;
  position:fixed;
  right:0;
  top:0;
  z-index:100
}

.p-modal__container {
  align-items:center;
  background-color:#fff;
  border-radius:1.6rem;
  display:flex;
  justify-content:center;
  max-height:80dvh;
  max-width:1000px;
  width:90%
}

@media screen and (max-width: 767px) {
  .p-modal__container {
    padding-block:60px;
    width:90vw
  }
  
}

@media screen and (min-width: 768px) {
  .p-modal__container {
    padding-block:100px;
    width:70vw
  }
  
}

@keyframes mmfadeIn {
  from {
    opacity:0
  }
  
  to {
    opacity:1
  }
  
}

@keyframes mmfadeOut {
  from {
    opacity:1
  }
  
  to {
    opacity:0
  }
  
}

@keyframes mmslideIn {
  from {
    transform:translateY(5%)
  }
  
  to {
    transform:translateY(0)
  }
  
}

@keyframes mmslideOut {
  from {
    transform:translateY(0)
  }
  
  to {
    transform:translateY(-5%)
  }
  
}

.micromodal-slide {
  display:none
}

.micromodal-slide.is-open {
  display:block
}

.micromodal-slide[aria-hidden=false] .p-modal__overlay {
  animation:mmfadeIn .4s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=false] .p-modal__container {
  animation:mmslideIn .4s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .p-modal__overlay {
  animation:mmfadeOut .4s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide[aria-hidden=true] .p-modal__container {
  animation:mmslideOut .4s cubic-bezier(0, 0, 0.2, 1)
}

.micromodal-slide .p-modal__container, .micromodal-slide .p-modal__overlay {
  will-change:transform
}

.p-modal-news .p-modal__content {
  -ms-overflow-style:none;
  overflow-y:auto;
  scrollbar-width:none
}

@media screen and (max-width: 767px) {
  .p-modal-news .p-modal__content {
    max-height:calc(80dvh - 120px);
    width:90%
  }
  
}

@media screen and (min-width: 768px) {
  .p-modal-news .p-modal__content {
    max-height:calc(80dvh - 200px);
    width:92%
  }
  
}

.p-modal-news .p-modal__content::-webkit-scrollbar {
  -webkit-appearance:none !important;
  display:none !important
}

.p-modal-news .p-modal__content .simplebar-track.simplebar-vertical {
  background-color:#eaeaea;
  border-radius:10px;
  width:5px
}

.p-modal-news .p-modal__content .simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
  background-color:#a1a1a1;
  border-radius:10px;
  left:0;
  right:0;
  top:0;
  width:5px
}

.p-modal-news .p-modal__content .simplebar-track.simplebar-vertical .simplebar-scrollbar.simplebar-visible::before {
  opacity:1
}

.p-modal-news .p-modal__content .simplebar-content-wrapper {
  -ms-overflow-style:none;
  scrollbar-width:none
}

.p-modal-news .p-modal__content .simplebar-content-wrapper::-webkit-scrollbar {
  -webkit-appearance:none !important;
  display:none !important
}

.p-modal-news .p-modal__head {
  border-bottom:.2rem solid rgba(35, 38, 47, .2);
  padding-bottom:2rem
}

@media screen and (max-width: 767px) {
  .p-modal-news .p-modal__head {
    margin-inline:2%
  }
  
}

@media screen and (min-width: 768px) {
  .p-modal-news .p-modal__head {
    margin-left:10%;
    margin-right:12%
  }
  
}

.p-modal-news .p-modal__meta {
  align-items:center;
  display:flex;
  gap:1.1rem
}

.p-modal-news .p-modal__title {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700;
  margin-top:.8rem
}

@media screen and (max-width: 767px) {
  .p-modal-news .p-modal__body {
    margin-inline:2%;
    padding-top:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-modal-news .p-modal__body {
    margin-left:10%;
    margin-right:12%;
    padding-top:3.2rem
  }
  
}

.p-modal-news .p-modal__close {
  aspect-ratio:1;
  position:absolute;
  transition:opacity .3s
}

@media screen and (max-width: 767px) {
  .p-modal-news .p-modal__close {
    right:1.2rem;
    top:1.75rem;
    width:3rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-modal-news .p-modal__close {
    right:2.2rem;
    top:2.2rem;
    width:3.6rem
  }
  
}

.p-modal-news .p-modal__close::before, .p-modal-news .p-modal__close::after {
  background-color:#23262f;
  content:"";
  display:block;
  height:80%;
  left:50%;
  position:absolute;
  top:10%;
  transform:translateX(-50%);
  width:1.5px
}

.p-modal-news .p-modal__close::before {
  transform:translateX(-50%) rotate(45deg)
}

.p-modal-news .p-modal__close::after {
  transform:translateX(-50%) rotate(-45deg)
}

@media(hover: hover)and (pointer: fine) {
  .p-modal-news .p-modal__close:hover {
    opacity:.7
  }
  
}

@media screen and (max-width: 767px) {
  .p-floating {
    background-color:#0f97ad;
    bottom:0;
    display:none;
    left:0;
    position:fixed;
    width:100%;
    z-index:30
  }
  
}

@media screen and (min-width: 768px) {
  .p-floating {
    display:none
  }
  
}

.p-floating__inner {
  display:flex;
  gap:.8rem;
  justify-content:center;
  padding:.6rem .8rem
}

.p-floating__button {
  border-radius:.4rem;
  display:grid;
  font-family:"Zen Maru Gothic", serif;
  place-items:center;
  position:relative;
  text-transform:uppercase
}

.p-floating__button--tel {
  align-items:flex-start;
  background-color:#fff;
  color:#0f97ad;
  display:flex;
  gap:.2rem;
  justify-content:center;
  padding:.6rem .6rem 0;
  width:min(62.8%, 300px)
}

.p-floating__button--tel::before {
  aspect-ratio:1;
  background:url(../images/common/icon-tel.svg) no-repeat center center/contain;
  content:"";
  display:block;
  flex-shrink:0;
  width:2.7rem
}

.p-floating__telNum {
  display:block;
  font-family:"Rubik", sans-serif;
  font-size:3rem;
  font-weight:600;
  line-height:1
}

.p-floating__telHour {
  display:inline-block;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.2rem;
  font-weight:700;
  line-height:1;
  transform:translateY(-0.4rem)
}

.p-floating__telHour span {
  font-family:"Rubik", sans-serif;
  font-size:1.4rem;
  font-weight:600
}

.p-floating__button--line {
  background-color:#06c755;
  color:#fff;
  font-weight:700;
  line-height:1;
  padding-bottom:.7rem;
  text-align:center;
  width:min(35.36%, 160px)
}

.p-floating__button--line span span {
  align-items:center;
  display:flex;
  font-size:2.4rem;
  justify-content:center
}

.p-floating__button--line span span::before {
  aspect-ratio:1;
  background:url(../images/common/icon-line.webp) no-repeat center center/contain;
  content:"";
  display:block;
  width:3.4rem
}

.p-about-mv {
  background-color:rgba(15, 151, 173, .2);
  margin-top:68px
}

@media screen and (min-width: 1024px) {
  .p-about-mv {
    margin-top:12.4rem
  }
  
}

.p-about-mv__top {
  margin-inline:auto;
  max-width:1600px;
  position:relative
}

@media screen and (min-width: 768px) {
  .p-about-mv__top {
    display:flex;
    justify-content:space-between
  }
  
}

.p-about-mv__image {
  width:100%
}

@media screen and (min-width: 768px) {
  .p-about-mv__image {
    width:45.138%
  }
  
}

.p-about-mv__image img {
  width:100%
}

@media screen and (max-width: 767px) {
  .p-about-mv__image02 {
    margin-top:30rem
  }
  
}

.p-about-mv__content {
  left:50%;
  position:absolute;
  top:57%;
  transform:translate(-50%, -50%);
  z-index:2
}

.p-about-mv__content-inner {
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative
}

.p-about-mv__content-inner::before {
  aspect-ratio:1;
  background:url(../images/about/bg-mv-polygon.webp) no-repeat center center/contain;
  content:"";
  left:50%;
  position:absolute;
  top:-11.5rem;
  transform:translateX(-50%);
  width:min(100vw, 480px);
  z-index:-1
}

@media screen and (min-width: 768px) {
  .p-about-mv__content-inner::before {
    top:-10rem;
    width:43rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-about-mv__content-inner::before {
    top:-14rem;
    width:52rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-mv__content-inner::before {
    top:-13rem;
    width:58rem
  }
  
}

@media screen and (min-width: 1440px) {
  .p-about-mv__content-inner::before {
    top:-17.3rem;
    width:63.5rem
  }
  
}

.p-about-mv__subCopy {
  width:28.8rem
}

@media screen and (min-width: 768px) {
  .p-about-mv__subCopy {
    width:30rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-mv__subCopy {
    width:37rem
  }
  
}

.p-about-mv__copy {
  font-family:"Zen Maru Gothic", serif;
  font-size:4.2rem;
  font-weight:700;
  line-height:1.5;
  text-align:center
}

@media screen and (min-width: 768px) {
  .p-about-mv__copy {
    font-size:4.8rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-about-mv__copy {
    font-size:5.6rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-mv__copy {
    font-size:6.4rem
  }
  
}

.p-about-mv__list {
  display:flex;
  gap:1.2rem;
  justify-content:center;
  margin-top:3.2rem
}

@media screen and (min-width: 768px) {
  .p-about-mv__list {
    gap:2rem;
    margin-top:2.4rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-mv__list {
    margin-top:3rem
  }
  
}

@media screen and (min-width: 1440px) {
  .p-about-mv__list {
    margin-top:4rem
  }
  
}

.p-about-mv__item {
  align-items:center;
  background-color:#fff;
  border-radius:50%;
  box-shadow:0px 0px 2rem 0px rgba(15, 151, 173, .6);
  display:flex;
  flex-direction:column;
  gap:.5rem;
  height:12.4rem;
  padding-block:1.6rem;
  width:12.4rem
}

@media screen and (min-width: 768px) {
  .p-about-mv__item {
    box-shadow:0px 0px 3rem 0px rgba(15, 151, 173, .6);
    height:14rem;
    width:14rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-mv__item {
    height:17.7rem;
    padding-block:2.4rem;
    width:17.7rem
  }
  
}

.p-about-mv__item img {
  width:5rem
}

@media screen and (min-width: 1260px) {
  .p-about-mv__item img {
    width:6.8rem
  }
  
}

.p-about-mv__item p {
  color:#0f97ad;
  display:grid;
  flex-grow:1;
  font-family:"Zen Maru Gothic", serif;
  font-size:1.6rem;
  font-weight:700;
  line-height:1.2;
  place-items:center;
  text-align:center
}

@media screen and (min-width: 1260px) {
  .p-about-mv__item p {
    font-size:2rem
  }
  
}

.p-about-mv__cv {
  background-color:#fff;
  padding-block:max(2rem, 16px)
}

.p-about-mv__cvButton {
  text-align:center
}

.p-about-mv__cvButton a {
  margin-inline:auto
}

.p-about-mv__cvText {
  font-family:"Zen Maru Gothic", serif;
  font-weight:700;
  margin-top:1.2rem;
  text-align:center
}

@media screen and (min-width: 768px) {
  .p-about-mv__cvText {
    font-size:2rem
  }
  
}

.p-about-issue {
  overflow-x:clip;
  position:relative
}

.p-about-issue::before {
  background:linear-gradient(180deg, #E4E4E4 0%, rgba(241, 241, 241, 0) 100%);
  content:"";
  left:0;
  position:absolute;
  top:0;
  width:100%;
  z-index:-1
}

@media screen and (max-width: 767px) {
  .p-about-issue::before {
    height:56.8%
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue::before {
    height:49.85%
  }
  
}

.p-about-issue .c-section-title {
  font-size:2.8rem;
  margin-bottom:3.2rem
}

@media screen and (min-width: 768px) {
  .p-about-issue .c-section-title {
    font-size:4rem;
    margin-bottom:6.8rem
  }
  
}

.p-about-issue__list {
  display:flex;
  flex-wrap:wrap;
  gap:1.6rem;
  position:relative
}

@media screen and (max-width: 767px) {
  .p-about-issue__list {
    flex-direction:column
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__list {
    -moz-column-gap:2.4rem;
    column-gap:2.4rem;
    justify-content:center;
    row-gap:3.2rem
  }
  
}

.p-about-issue__list::after {
  background:url(../images/about/image-issue.webp) no-repeat center center/contain;
  bottom:-16.4rem;
  content:"";
  height:21rem;
  position:absolute;
  right:-6.4rem;
  width:20.7rem
}

@media screen and (min-width: 768px) {
  .p-about-issue__list::after {
    bottom:-10.5rem;
    height:27.3rem;
    right:0;
    width:27rem
  }
  
}

.p-about-issue__item {
  align-items:flex-start;
  background-color:#fff;
  border:2px solid #0f97ad;
  border-radius:1.6rem;
  display:flex;
  padding:2.4rem
}

@media screen and (max-width: 767px) {
  .p-about-issue__item {
    gap:1.3rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__item {
    align-items:center;
    border-radius:3.2rem;
    flex-direction:column;
    justify-content:center;
    min-height:18rem;
    padding:3.2rem;
    width:35rem
  }
  
}

.p-about-issue__item img {
  flex-shrink:0;
  width:3.2rem
}

@media screen and (max-width: 767px) {
  .p-about-issue__item img {
    margin-top:.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__item img {
    width:4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__item>div {
    display:grid;
    flex-grow:1;
    place-items:center
  }
  
}

.p-about-issue__item>div p {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700;
  letter-spacing:.04em
}

@media screen and (min-width: 768px) {
  .p-about-issue__item>div p {
    font-size:2.6rem;
    text-align:center
  }
  
}

.p-about-issue__item>div p .u-highlighter {
  font-weight:700
}

.p-about-issue__bottom {
  background-color:#dbeff3;
  border-radius:.8rem;
  box-shadow:8px 8px 0px 0px rgba(15, 151, 173, .6);
  margin-inline:auto;
  margin-top:20.2rem;
  max-width:1000px;
  padding:5.6rem 1.3rem 5.6rem 2rem;
  position:relative
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom {
    border-radius:2.4rem;
    margin-top:14.7rem;
    padding:4rem 2rem 0
  }
  
}

@media screen and (min-width: 1024px) {
  .p-about-issue__bottom {
    padding:4rem 4rem 0
  }
  
}

.p-about-issue__bottom::before {
  background:url(../images/about/icon-issue-arrow.webp) no-repeat center center/contain;
  content:"";
  height:9rem;
  left:50%;
  position:absolute;
  top:-4.5rem;
  transform:translateX(-50%);
  width:3.5rem
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom::before {
    height:10.4rem;
    top:-8.7rem;
    width:4.2rem
  }
  
}

.p-about-issue__bottom hgroup {
  font-family:"Zen Maru Gothic", serif;
  text-align:center
}

.p-about-issue__bottom hgroup p {
  font-size:2.4rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom hgroup p {
    font-size:3.2rem
  }
  
}

.p-about-issue__bottom hgroup h2 {
  font-size:3.2rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom hgroup h2 {
    font-size:4rem
  }
  
}

.p-about-issue__bottom hgroup h2 .box {
  border:1px solid #0f97ad;
  display:inline-block;
  line-height:1.5;
  margin-left:.4rem;
  margin-right:.2rem;
  margin-top:.8rem;
  padding-inline:.8rem
}

.p-about-issue__bottom hgroup h2 .font-small {
  font-size:2.4rem
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom hgroup h2 .font-small {
    font-size:3.2rem
  }
  
}

.p-about-issue__bottom-content {
  margin-top:4rem
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom-content {
    margin-top:3.8rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-about-issue__bottom-content::after {
    clear:both;
    content:"";
    display:block
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom-content {
    align-items:flex-end;
    display:flex;
    gap:2.4rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-about-issue__bottom-content img {
    float:left;
    height:auto;
    margin-right:1.2rem;
    width:13rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom-content img {
    flex-shrink:0;
    width:20.6rem
  }
  
}

.p-about-issue__bottom-content p {
  color:#333;
  font-size:1.8rem;
  font-weight:500
}

@media screen and (min-width: 768px) {
  .p-about-issue__bottom-content p {
    flex-grow:1;
    flex-shrink:1;
    font-size:2.4rem;
    padding-bottom:4rem
  }
  
}

.p-about-reason__list {
  display:grid;
  gap:5.6rem
}

@media screen and (min-width: 768px) {
  .p-about-reason__list {
    gap:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item {
    align-items:center;
    display:flex
  }
  
}

.p-about-reason__item .image {
  border-radius:3.2rem;
  overflow:hidden;
  position:relative;
  z-index:2
}

@media screen and (max-width: 767px) {
  .p-about-reason__item .image {
    margin-inline:auto;
    width:calc(100% - 2.3rem)
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .image {
    flex-shrink:0;
    width:45%
  }
  
}

.p-about-reason__item .image img {
  width:100%
}

.p-about-reason__item .body {
  background-color:#fff;
  position:relative
}

@media screen and (max-width: 767px) {
  .p-about-reason__item .body {
    margin-top:-3rem;
    padding:5.6rem 2.4rem 3.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body {
    flex-grow:1;
    flex-shrink:1;
    padding-block:6rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-about-reason__item .body {
    padding-block:10rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body::before, .p-about-reason__item .body:after {
    background-color:#fff;
    content:"";
    display:block;
    height:100%;
    position:absolute;
    top:0
  }
  
}

.p-about-reason__item .body::before {
  width:2.4rem
}

.p-about-reason__item .body::after {
  width:30px
}

@media screen and (min-width: 1260px) {
  .p-about-reason__item .body::after {
    width:calc((100vw - 1200px)/2)
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body>div {
    -moz-column-gap:1.9rem;
    align-items:center;
    column-gap:1.9rem;
    display:flex;
    flex-wrap:wrap;
    row-gap:0
  }
  
}

.p-about-reason__item .body span:has(span) {
  align-items:center;
  color:#f78227;
  display:flex;
  font-family:"Rubik", sans-serif;
  font-size:1.6rem;
  font-weight:700;
  gap:.4rem;
  line-height:1.2
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body span:has(span) {
    display:inline-flex
  }
  
}

.p-about-reason__item .body span:has(span) span {
  font-size:4.8rem
}

.p-about-reason__item .body h3 {
  color:#f78227;
  font-family:"Zen Maru Gothic", serif;
  font-size:2.35rem;
  font-weight:700
}

@media screen and (max-width: 767px) {
  .p-about-reason__item .body h3 {
    margin-top:.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body h3 {
    display:inline-block;
    font-size:3.2rem
  }
  
}

.p-about-reason__item .body p {
  font-size:1.8rem;
  font-weight:500;
  line-height:1.8;
  margin-top:1.6rem
}

@media screen and (min-width: 768px) {
  .p-about-reason__item .body p {
    font-size:2rem;
    margin-top:2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item:nth-child(2n-1) {
    flex-direction:row-reverse
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item:nth-child(2n-1) .body {
    padding-right:6rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-reason__item:nth-child(2n-1) .body {
    padding-right:10rem
  }
  
}

.p-about-reason__item:nth-child(2n-1) .body::before {
  right:-2.4rem
}

.p-about-reason__item:nth-child(2n-1) .body::after {
  left:-30px
}

@media screen and (min-width: 1260px) {
  .p-about-reason__item:nth-child(2n-1) .body::after {
    left:calc((100vw - 1200px)/2*-1)
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-reason__item:nth-child(2n) .body {
    padding-left:6rem
  }
  
}

@media screen and (min-width: 1260px) {
  .p-about-reason__item:nth-child(2n) .body {
    padding-left:10rem
  }
  
}

.p-about-reason__item:nth-child(2n) .body::before {
  left:-2.4rem
}

.p-about-reason__item:nth-child(2n) .body::after {
  right:-30px
}

@media screen and (min-width: 1260px) {
  .p-about-reason__item:nth-child(2n) .body::after {
    right:calc((100vw - 1200px)/2*-1)
  }
  
}

.p-about-purchased {
  padding-bottom:8rem
}

.p-about-purchased__visual {
  display:flex;
  margin-bottom:8rem
}

@media screen and (max-width: 767px) {
  .p-about-purchased__visual {
    align-items:center;
    flex-direction:column;
    gap:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-purchased__visual {
    align-items:flex-end;
    gap:7.2rem;
    justify-content:center
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-purchased__visual>div {
    width:50%
  }
  
}

.p-about-voice {
  background-color:#f5fbfc;
  padding-bottom:8rem
}

.p-about-voice__list {
  display:grid;
  gap:2.4rem
}

@media screen and (min-width: 768px) {
  .p-about-voice__list {
    gap:5.6rem
  }
  
}

.p-about-voice__item {
  display:flex
}

@media screen and (max-width: 767px) {
  .p-about-voice__item {
    align-items:center;
    flex-direction:column
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-voice__item {
    align-items:center;
    gap:4.8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-voice__item:nth-child(2n) {
    flex-direction:row-reverse
  }
  
}

.p-about-voice__item-icon {
  width:12.4rem
}

@media screen and (max-width: 767px) {
  .p-about-voice__item-icon {
    position:relative;
    z-index:2
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-voice__item-icon {
    flex-shrink:0;
    width:16rem
  }
  
}

.p-about-voice__item-body {
  background-color:#fff;
  border:3px solid #0f97ad;
  border-radius:1.6rem;
  box-shadow:4px 4px 0 0 #0f97ad;
  padding:6.4rem 2.4rem 3.2rem;
  position:relative
}

@media screen and (max-width: 767px) {
  .p-about-voice__item-body {
    margin-top:-4.5rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-voice__item-body {
    flex-grow:1;
    flex-shrink:1;
    padding:4.8rem 7rem 3.2rem 4.8rem
  }
  
}
.p-about-voice__item-body::before {
  background:url(../images/voice/icon-quote.webp) no-repeat center center/contain;
  content:"";
  height:8rem;
  position:absolute;
  right:1.5rem;
  top:0;
  width:8rem
}

@media screen and (min-width: 768px) {
  .p-about-voice__item-body::before {
    height:10rem;
    right:1rem;
    width:10rem
  }
  
}

.p-about-voice__item-body p {
  font-family:"Zen Maru Gothic", serif;
  font-size:2rem;
  font-weight:500;
  line-height:1.5;
  position:relative
}

.p-about-shop__content {
  display:flex
}

@media screen and (max-width: 767px) {
  .p-about-shop__content {
    flex-direction:column;
    gap:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-shop__content {
    align-items:center;
    flex-direction:row-reverse;
    gap:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-about-shop__list {
    flex-grow:1;
    flex-shrink:1
  }
  
}

.p-about-shop__list>div {
  border-bottom:2px solid #0f97ad;
  display:flex
}

.p-about-shop__list dt {
  color:#0f97ad;
  flex-shrink:0;
  font-weight:500;
  padding:2.4rem .8rem;
  text-transform:uppercase;
  width:12rem
}

@media screen and (min-width: 768px) {
  .p-about-shop__list dt {
    width:16rem
  }
  
}

.p-about-shop__list dd {
  flex-grow:1;
  flex-shrink:1;
  padding:2.4rem 0
}

@media screen and (min-width: 768px) {
  .p-about-shop__list dd {
    padding:2.4rem .8rem
  }
  
}

.p-about-shop__map {
  aspect-ratio:382/240
}

@media screen and (min-width: 768px) {
  .p-about-shop__map {
    aspect-ratio:435/310;
    flex-shrink:0;
    width:40%
  }
  
}

.p-about-shop__map iframe {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  width:100%
}

.p-cta-kaitori {
  background:url(../images/flow/bg-cta_sm.webp) no-repeat center center/cover;
  padding-block:4.8rem;
  position:relative
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori {
    background-image:url(../images/flow/bg-cta_lg.webp)
  }
  
}

.p-cta-kaitori::before {
  content:"";
  display:block;
  inset:0;
  position:absolute
}

.p-cta-kaitori[data-color=accent]::before {
  background-color:rgba(247, 130, 39, .8)
}

.p-cta-kaitori[data-color=accent] .p-cta-kaitori__tel a {
  border-color:#f78227;
  box-shadow:.3rem .4rem 0px 0px #f78227;
  color:#f78227
}

.p-cta-kaitori[data-color=primary]::before {
  background-color:rgba(15, 151, 173, .8)
}

.p-cta-kaitori[data-color=primary] .p-cta-kaitori__tel a {
  border-color:#0f97ad;
  box-shadow:.3rem .4rem 0px 0px #0f97ad;
  color:#0f97ad
}

.p-cta-kaitori__inner {
  background-color:#fff;
  border-radius:1.6rem;
  padding:4.8rem 2.4rem;
  position:relative;
  z-index:2
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__inner {
    padding:5.6rem 2rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-cta-kaitori__inner {
    padding:5.6rem 10rem
  }
  
}

.p-cta-kaitori__balloon {
  text-align:center
}

.p-cta-kaitori__text {
  font-size:1.6rem;
  font-weight:700;
  margin-top:2.4rem;
  text-align:center
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__text {
    margin-top:2rem
  }
  
}

.p-cta-kaitori__title {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700;
  margin-top:1rem;
  text-align:center
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__title {
    font-size:3.2rem;
    margin-top:1.2rem
  }
  
}

.p-cta-kaitori__buttons {
  display:flex;
  gap:1.6rem;
  justify-content:center;
  margin-top:2.4rem
}

@media screen and (max-width: 767px) {
  .p-cta-kaitori__buttons {
    flex-direction:column
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__buttons {
    margin-top:4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__tel {
    width:50%
  }
  
}

.p-cta-kaitori__tel a {
  align-items:center;
  border:2px solid;
  border-radius:100vmax;
  display:flex;
  gap:.6rem;
  justify-content:center;
  padding:.45rem 1.2rem
}

.p-cta-kaitori__tel a img {
  width:3.2rem
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__tel a img {
    width:4rem
  }
  
}

.p-cta-kaitori__tel a span {
  font-family:"Rubik", sans-serif;
  font-size:2.8rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__tel a span {
    font-size:3.2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__line {
    width:50%
  }
  
}

.p-cta-kaitori__line a:not(.c-cvButton) {
  align-items:center;
  background-color:#06c755;
  border-radius:100vmax;
  box-shadow:.3rem .4rem 0px 0px #02903c;
  color:#fff;
  display:flex;
  font-family:"Zen Maru Gothic", serif;
  gap:.6rem;
  justify-content:center;
  padding:1.35rem 1.2rem;
  transition:transform .3s, box-shadow .3s
}

.p-cta-kaitori__line a:not(.c-cvButton) img {
  width:4rem
}

.p-cta-kaitori__line a:not(.c-cvButton) span {
  color:#fff;
  font-size:2rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__line a:not(.c-cvButton) span {
    font-size:2.4rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .p-cta-kaitori__line a:not(.c-cvButton):hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.3rem, 0.4rem)
  }
  
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__form {
    width:50%
  }
  
}

.p-cta-kaitori__form a {
  align-items:center;
  background-color:#0f97ad;
  border-radius:100vmax;
  box-shadow:.3rem .4rem 0px 0px #0a606e;
  color:#fff;
  display:flex;
  font-family:"Zen Maru Gothic", serif;
  gap:.6rem;
  justify-content:center;
  padding:1.35rem 1.2rem;
  transition:transform .3s, box-shadow .3s
}

.p-cta-kaitori__form a img {
  width:2.4rem
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__form a img {
    width:3.2rem
  }
  
}

.p-cta-kaitori__form a span {
  color:#fff;
  font-size:1.8rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-cta-kaitori__form a span {
    font-size:2.2rem
  }
  
}

@media(hover: hover)and (pointer: fine) {
  .p-cta-kaitori__form a:hover {
    box-shadow:none;
    opacity:1 !important;
    transform:translate(0.3rem, 0.4rem)
  }
  
}

.p-archive-blog__cats {
  display:flex;
  flex-direction:column;
  gap:8px;
  justify-content:center;
  margin-bottom:8rem
}

@media screen and (min-width: 1024px) {
  .p-archive-blog__cats {
    align-items:center;
    flex-direction:row
  }
  
}

.p-archive-blog__cats p {
  align-items:center;
  display:flex;
  font-size:2rem;
  font-weight:500;
  gap:.7rem
}

@media screen and (max-width: 1023px) {
  .p-archive-blog__cats p {
    justify-content:center
  }
  
}

.p-archive-blog__cats p::before {
  background:url(../images/common/icon-search.svg) no-repeat center center/contain;
  content:"";
  height:3.2rem;
  width:3.2rem
}

.p-archive-blog__cats ul {
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  justify-content:center;
  margin-top:1.6rem
}

@media screen and (min-width: 1024px) {
  .p-archive-blog__cats ul {
    margin-top:0
  }
  
}

.p-archive-blog__cats ul li a {
  border:2px solid #0f97ad;
  border-radius:2px;
  color:#0f97ad;
  display:inline-block;
  font-size:1.8rem;
  font-weight:500;
  padding:.5rem 1.6rem
}

.p-archive-blog__cats ul li.is-current a {
  background-color:#0f97ad;
  color:#fff;
  pointer-events:none
}

.p-archive-blog__entries {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-archive-blog__entries {
    gap:2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-archive-blog__entries {
    gap:3rem;
    grid-template-columns:repeat(3, 1fr)
  }
  
}

.p-single-blog__inner {
  display:flex;
  flex-direction:column;
  gap:7.2rem
}

@media screen and (min-width: 1024px) {
  .p-single-blog__inner {
    flex-direction:row;
    gap:8rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-single-blog__main {
    flex-grow:1;
    flex-shrink:1
  }
  
}

.p-single-blog__cat {
  background-color:#0f97ad;
  border-radius:2px;
  color:#fff;
  display:inline-block;
  font-size:1.6rem;
  font-weight:500;
  margin-right:4px;
  padding:.3rem 1.6rem
}

.p-single-blog__title {
  font-family:"Zen Maru Gothic", serif;
  font-size:2.4rem;
  font-weight:700;
  margin-top:.8rem
}

.p-single-blog__date {
  color:#7a7a7a;
  font-size:1.6rem;
  font-weight:700;
  margin-top:.8rem
}

.p-single-blog__date time {
  font-family:"Rubik", sans-serif;
  font-weight:500
}

.p-single-blog__thumbnail {
  margin-top:3.2rem
}

@media screen and (min-width: 768px) {
  .p-single-blog__thumbnail {
    margin-top:4rem
  }
  
}

.p-single-blog__thumbnail img {
  border-radius:4px
}

@media screen and (min-width: 768px) {
  .p-single-blog__thumbnail img {
    border-radius:8px
  }
  
}

.p-single-blog__content {
  margin-top:3.2rem
}

.p-single-blog__footer {
  margin-top:4.8rem
}

@media screen and (max-width: 1023px) {
  .p-single-blog__footer {
    text-align:center
  }
  
}

.p-single-blog__side {
  display:flex;
  flex-direction:column;
  gap:3.2rem
}

@media screen and (min-width: 1024px) {
  .p-single-blog__side {
    flex-shrink:0;
    width:40rem
  }
  
}

.p-single-blog__side hgroup span {
  color:#0f97ad;
  display:block;
  font-family:"Rubik", sans-serif;
  font-size:1.4rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1
}

.p-single-blog__side hgroup h2 {
  font-size:2.4rem;
  font-weight:700;
  line-height:1.4
}

.p-single-blog__related>div {
  background-color:#ecf7f8;
  border-radius:4px;
  display:flex;
  flex-direction:column;
  gap:1.6rem;
  margin-top:1.6rem;
  padding:2.4rem 2rem
}

.p-single-blog__related article a {
  align-items:flex-start;
  display:flex;
  gap:8px;
  padding-block:8px
}

.p-single-blog__related article a .thumbnail {
  aspect-ratio:120/80;
  flex-shrink:0;
  width:35%
}

.p-single-blog__related article a .thumbnail img {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  width:100%
}

.p-single-blog__related article a .texts {
  flex-grow:1;
  flex-shrink:1
}

.p-single-blog__related article a .cat {
  background-color:#0f97ad;
  border-radius:2px;
  color:#fff;
  display:inline-block;
  font-size:1.2rem;
  font-weight:500;
  margin-right:4px;
  padding:.1rem .9rem
}

.p-single-blog__related article a h3 {
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  display:-webkit-box;
  font-size:1.4rem;
  font-weight:700;
  line-height:1.3;
  margin-top:.4rem;
  overflow:hidden
}

.p-single-blog__cats>ul {
  background-color:#ecf7f8;
  border-radius:4px;
  display:flex;
  flex-direction:column;
  gap:.8rem;
  margin-top:1.6rem;
  padding:2.4rem 2rem
}

.p-single-blog__cats>ul li a {
  align-items:center;
  border-bottom:1px solid rgba(15, 151, 173, .5);
  display:flex;
  font-size:1.6rem;
  font-weight:700;
  justify-content:space-between;
  padding-block:.8rem
}

.p-single-blog__cats>ul li a::after {
  background:url(../images/common/icon-chevron-pagination.svg) no-repeat center center/contain;
  content:"";
  height:2rem;
  width:2rem
}

.p-editable-content h2 {
  border-bottom:2px solid #0f97ad;
  font-size:2rem;
  font-weight:700;
  margin-bottom:.8rem;
  padding-bottom:.8rem
}

.p-editable-content h3 {
  border-left:5px solid #0f97ad;
  color:#0f97ad;
  font-size:1.8rem;
  font-weight:700;
  margin-bottom:.8rem;
  padding-left:1.3rem
}

.p-editable-content h4 {
  font-weight:500
}

@media screen and (max-width: 767px) {
  .p-editable-content h4 {
    margin-bottom:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-editable-content h4 {
    margin-bottom:3.4rem
  }
  
}

@media screen and (max-width: 767px) {
  .p-editable-content *+h2, .p-editable-content *+h3, .p-editable-content *+h4 {
    margin-top:3.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-editable-content *+h2, .p-editable-content *+h3, .p-editable-content *+h4 {
    margin-top:6.4rem
  }
  
}

.p-editable-content p {
  font-size:1.5rem;
  font-weight:500;
  margin-bottom:1.5em;
  text-align:justify
}

.p-editable-content a {
  display:inline;
  font-weight:500;
  text-decoration:underline;
  word-break:break-all
}

.p-editable-content ol {
  list-style-type:decimal;
  padding-left:1.5em
}

.p-editable-content ol li::marker {
  color:#0f97ad
}

.p-editable-content ul {
  list-style-type:disc;
  padding-left:1.5em
}

.p-editable-content ul li::marker {
  color:#0f97ad
}

@media screen and (max-width: 767px) {
  .p-editable-content ol, .p-editable-content ul, .p-editable-content .wp-block-quote, .p-editable-content .wp-block-image {
    margin-bottom:3.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-editable-content ol, .p-editable-content ul, .p-editable-content .wp-block-quote, .p-editable-content .wp-block-image {
    margin-bottom:4rem
  }
  
}

.p-editable-content .wp-block-image img {
  border-radius:4px
}

@media screen and (min-width: 768px) {
  .p-editable-content .wp-block-image img {
    border-radius:8px
  }
  
}

.p-editable-content .wp-block-quote {
  background-color:#ecf7f8;
  border-radius:8px;
  padding:3.2rem 3.6rem;
  position:relative
}

.p-editable-content .wp-block-quote::before {
  background:url(../images/common/icon-quote.svg) no-repeat center center/contain;
  content:"";
  display:block;
  height:10rem;
  left:0;
  position:absolute;
  top:0;
  width:10rem
}

.p-archive-items {
  position:relative
}

.p-archive-items::before {
  background-color:#ecf7f8;
  border-radius:3.2rem 3.2rem 0 0;
  bottom:0;
  content:"";
  height:77%;
  left:0;
  position:absolute;
  width:100%
}

@media screen and (min-width: 768px) {
  .p-archive-items::before {
    border-radius:8rem 8rem 0 0;
    height:54%
  }
  
}

.p-archive-items__lead {
  align-items:center;
  display:flex;
  justify-content:center
}

@media screen and (min-width: 768px) {
  .p-archive-items__lead {
    gap:2.4rem
  }
  
}

.p-archive-items__lead p {
  font-size:2.4rem;
  font-weight:700;
  text-align:center
}

@media screen and (min-width: 768px) {
  .p-archive-items__lead p {
    font-size:3.2rem
  }
  
}

.p-archive-items__lead p>span {
  display:inline-block
}

.p-archive-items__lead::before, .p-archive-items__lead::after {
  background-color:#0f97ad;
  border-radius:2px;
  content:"";
  display:block;
  height:2.5lh;
  width:3px
}

@media screen and (min-width: 768px) {
  .p-archive-items__lead::before, .p-archive-items__lead::after {
    height:1.2lh;
    width:2.5px
  }
  
}

.p-archive-items__lead::before {
  transform:translateX(0.8rem) rotate(-12deg)
}

@media screen and (min-width: 768px) {
  .p-archive-items__lead::before {
    transform:translateX(0.8rem) rotate(-18deg)
  }
  
}

.p-archive-items__lead::after {
  transform:translateX(-0.8rem) rotate(12deg)
}

@media screen and (min-width: 768px) {
  .p-archive-items__lead::after {
    transform:translateX(-0.8rem) rotate(18deg)
  }
  
}

.p-archive-items__list {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-archive-items__list {
    gap:1.2rem;
    margin-top:3.6rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-archive-items__list {
    gap:2.4rem;
    grid-template-columns:repeat(2, 1fr);
    margin-top:7.2rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-archive-items__list {
    gap:3.2rem
  }
  
}

.p-archive-items__menu {
  padding-top:8rem
}

@media screen and (min-width: 768px) {
  .p-archive-items__menu {
    padding-top:12rem
  }
  
}

.p-archive-brands__top h2 {
  margin-bottom:2.4rem
}

@media screen and (min-width: 768px) {
  .p-archive-brands__top h2 {
    margin-bottom:4rem
  }
  
}

.p-archive-brands__top-list {
  -moz-column-gap:1.6rem;
  column-gap:1.6rem;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  row-gap:2.4rem
}

@media screen and (min-width: 768px) {
  .p-archive-brands__top-list {
    -moz-column-gap:2.4rem;
    column-gap:2.4rem;
    grid-template-columns:repeat(4, 1fr);
    row-gap:3.2rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-archive-brands__top-list {
    grid-template-columns:repeat(5, 1fr)
  }
  
}

.p-archive-brands__bottom {
  margin-top:8rem
}

.p-archive-brands__bottom h2 {
  margin-bottom:3.2rem
}

@media screen and (min-width: 768px) {
  .p-archive-brands__bottom h2 {
    margin-bottom:4rem
  }
  
}

.p-archive-brands__bottom-list {
  display:grid;
  gap:1.6rem;
  grid-template-columns:repeat(2, 1fr)
}

@media screen and (min-width: 768px) {
  .p-archive-brands__bottom-list {
    gap:2.4rem;
    grid-template-columns:repeat(3, 1fr)
  }
  
}

@media screen and (min-width: 1024px) {
  .p-archive-brands__bottom-list {
    grid-template-columns:repeat(4, 1fr)
  }
  
}

.p-single-items__main {
  padding-bottom:4rem
}

@media screen and (min-width: 768px) {
  .p-single-items__main {
    padding-bottom:10rem
  }
  
}

.p-single-items__content {
  margin-top:4rem
}

.p-single-items__content p {
  align-items:center;
  border:2px solid #0f97ad;
  border-radius:4px;
  display:flex;
  font-size:1.6rem;
  font-weight:700;
  gap:1rem;
  padding:1.35rem 1.6rem
}

@media screen and (min-width: 768px) {
  .p-single-items__content p {
    font-size:2rem;
    padding:1.25rem 1.6rem
  }
  
}

.p-single-items__content p::before {
  background:url(../images/common/icon-polygon-primary.svg) no-repeat center center/contain;
  content:"";
  display:block;
  height:1.2rem;
  width:1.2rem
}

@media screen and (min-width: 768px) {
  .p-single-items__content p::before {
    height:1.6rem;
    width:1.6rem
  }
  
}

.p-single-items__content p+p {
  margin-top:1.6rem
}

.p-single-items__related {
  padding-bottom:8rem;
  padding-top:4rem
}

@media screen and (min-width: 768px) {
  .p-single-items__related {
    padding-block:10rem
  }
  
}

.p-single-items__related-list {
  display:grid;
  gap:1.6rem;
  grid-template-columns:repeat(2, 1fr);
  margin-top:3.2rem
}

@media screen and (min-width: 768px) {
  .p-single-items__related-list {
    gap:2.4rem;
    grid-template-columns:repeat(3, 1fr);
    margin-top:4rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-single-items__related-list {
    grid-template-columns:repeat(4, 1fr)
  }
  
}

.p-single-items__menu {
  padding-top:8rem
}

@media screen and (min-width: 768px) {
  .p-single-items__menu {
    padding-top:12rem
  }
  
}

.p-archive-purchased__entries {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-archive-purchased__entries {
    -moz-column-gap:1.6rem;
    column-gap:1.6rem;
    grid-template-columns:repeat(2, 1fr);
    row-gap:2.4rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-archive-purchased__entries {
    gap:3.8rem;
    grid-template-columns:repeat(3, 1fr)
  }
  
}

.p-archive-purchased__cats+.p-archive-purchased__entries {
  margin-top:8rem
}

.p-archive-purchased__entries+.p-archive-purchased__cats, .msg-no-entry+.p-archive-purchased__cats {
  margin-top:8rem
}

@media screen and (min-width: 768px) {
  .p-archive-purchased__entries+.p-archive-purchased__cats, .msg-no-entry+.p-archive-purchased__cats {
    margin-top:12rem
  }
  
}

.c-pagination+.p-archive-purchased__cats {
  margin-top:8rem
}

@media screen and (min-width: 768px) {
  .c-pagination+.p-archive-purchased__cats {
    margin-top:12rem
  }
  
}

.p-single-purchased__thumb {
  margin-top:4rem
}

.p-single-purchased__thumb img {
  border-radius:.4rem
}

@media screen and (min-width: 768px) {
  .p-single-purchased__thumb img {
    border-radius:.8rem
  }
  
}

.p-single-purchased__cats {
  margin-top:4rem
}

.p-single-purchased__cats ul {
  display:flex;
  flex-wrap:wrap;
  gap:.8rem
}

.p-single-purchased__cats ul li {
  border:1px solid #0f97ad;
  border-radius:4px;
  color:#0f97ad;
  font-weight:500;
  padding:.5rem 1.2rem
}

.p-single-purchased__content {
  margin-top:1.6rem
}

.p-single-purchased__content p {
  -webkit-text-decoration-skip-ink:none;
  display:inline;
  font-size:1.8rem;
  font-weight:500;
  line-height:2.2;
  text-decoration-color:#0f97ad;
  text-decoration-line:underline;
  text-decoration-skip-ink:none;
  text-decoration-style:dotted;
  text-decoration-thickness:9%;
  text-underline-offset:40%;
  text-underline-position:from-font
}

.p-single-purchased__footer {
  margin-top:8rem
}

@media screen and (min-width: 768px) {
  .p-single-purchased__footer {
    margin-top:12rem
  }
  
}

.p-single-purchased__terms {
  margin-top:8rem
}

@media screen and (min-width: 768px) {
  .p-single-purchased__terms {
    margin-top:12rem
  }
  
}

.p-faq__list {
  display:grid
}

@media screen and (max-width: 767px) {
  .p-faq__list {
    gap:2rem
  }
  
}

@media screen and (min-width: 768px) {
  .p-faq__list {
    gap:3.6rem
  }
  
}

.p-faq__image {
  display:grid;
  gap:1.6rem;
  margin-inline:auto
}

@media screen and (max-width: 767px) {
  .p-faq__image {
    margin-top:4.8rem;
    max-width:400px
  }
  
}

@media screen and (min-width: 768px) {
  .p-faq__image {
    margin-top:3.7rem;
    max-width:719px
  }
  
}

.p-faq__image img {
  width:100%
}

.p-flow__block-heading {
  align-items:center;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  justify-content:center
}

.p-flow__block-heading p {
  align-items:center;
  display:flex;
  font-size:1.8rem;
  font-weight:700;
  gap:2rem;
  justify-content:center
}

@media screen and (min-width: 768px) {
  .p-flow__block-heading p {
    font-size:2rem;
    gap:2.4rem
  }
  
}

.p-flow__block-heading p::before, .p-flow__block-heading p::after {
  border-radius:2px;
  content:"";
  display:block;
  height:.8lh;
  width:2px
}

@media screen and (min-width: 768px) {
  .p-flow__block-heading p::before, .p-flow__block-heading p::after {
    height:.7lh;
    width:2.5px
  }
  
}

.p-flow__block-heading p::before {
  transform:translateX(0.8rem) rotate(-15deg)
}

@media screen and (min-width: 768px) {
  .p-flow__block-heading p::before {
    transform:translateX(0.8rem) rotate(-18deg)
  }
  
}

.p-flow__block-heading p::after {
  transform:translateX(-0.8rem) rotate(15deg)
}

@media screen and (min-width: 768px) {
  .p-flow__block-heading p::after {
    transform:translateX(-0.8rem) rotate(18deg)
  }
  
}

.p-flow__block-heading h2 {
  font-family:"Zen Maru Gothic", serif;
  font-size:3.2rem;
  font-weight:700
}

@media screen and (min-width: 768px) {
  .p-flow__block-heading h2 {
    font-size:4.8rem
  }
  
}

.p-flow__block-heading[data-color=accent] p {
  color:#f78227
}

.p-flow__block-heading[data-color=accent] p::before, .p-flow__block-heading[data-color=accent] p::after {
  background-color:#f78227
}

.p-flow__block-heading[data-color=primary] p {
  color:#0f97ad
}

.p-flow__block-heading[data-color=primary] p::before, .p-flow__block-heading[data-color=primary] p::after {
  background-color:#0f97ad
}

.p-flow__block-lead {
  font-size:1.8rem;
  font-weight:500;
  margin-top:4rem
}

@media screen and (min-width: 768px) {
  .p-flow__block-lead {
    font-size:2rem;
    line-height:1.8;
    text-align:center
  }
  
}

.p-flow__block-list {
  margin-top:4rem
}

.p-flow__menu {
  padding-top:8rem
}

@media screen and (min-width: 768px) {
  .p-flow__menu {
    padding-top:12rem
  }
  
}

.p-shop-info__list {
  font-family:"Zen Maru Gothic", serif;
  font-weight:500;
  margin-top:2.4rem
}

@media screen and (min-width: 768px) {
  .p-shop-info__list {
    margin-top:4rem
  }
  
}

.p-shop-info__list>div {
  border-bottom:2px solid #0f97ad;
  display:flex
}

.p-shop-info__list dt {
  color:#0f97ad;
  flex-shrink:0;
  font-weight:600;
  padding-block:2.4rem;
  text-transform:uppercase;
  width:31.41%
}

@media screen and (min-width: 768px) {
  .p-shop-info__list dt {
    width:25%
  }
  
}

.p-shop-info__list dd {
  flex-grow:1;
  flex-shrink:1;
  padding-block:2.4rem
}

.p-shop-map {
  padding-top:6.4rem
}

.p-shop-map__iframe {
  aspect-ratio:382/240;
  margin-top:2.4rem
}

@media screen and (min-width: 768px) {
  .p-shop-map__iframe {
    margin-top:4rem
  }
  
}

@media screen and (min-width: 1024px) {
  .p-shop-map__iframe {
    aspect-ratio:780/340
  }
  
}

.p-shop-map__iframe iframe {
  -o-object-fit:cover;
  height:100%;
  object-fit:cover;
  width:100%
}

.p-shop-map__button {
  margin-top:2.4rem
}

@media screen and (min-width: 768px) {
  .p-shop-map__button {
    margin-top:3.2rem
  }
  
}

.p-error404 {
  background:url(../images/error/bg-404.jpg) no-repeat center center/cover;
  flex-grow:1;
  padding-bottom:24rem;
  padding-top:16rem;
  position:relative
}

@media screen and (min-width: 768px) {
  .p-error404 {
    padding-block:18rem
  }
  
}

.p-error404::before {
  background-color:rgba(15, 151, 173, .18);
  content:"";
  display:block;
  inset:0;
  position:absolute
}

.p-error404__text {
  font-size:1.8rem;
  font-weight:500;
  margin-top:4rem;
  text-align:center
}

.p-error404__button {
  margin-top:4rem;
  text-align:center
}

.u-align-left {
  text-align:left
}

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

.u-align-right {
  text-align:right
}

.u-bg-default {
  background-color:#f9f7ef
}

.u-bg-light {
  background-color:#ecf7f8
}

.u-bg-stripe {
  background:url(../images/common/bg-striped.webp) no-repeat center center/cover
}

.u-font-jp-primary {
  font-family:"Zen Kaku Gothic New", sans-serif
}

.u-font-jp-secondary {
  font-family:"Zen Maru Gothic", serif
}

.u-font-en {
  font-family:"Rubik", sans-serif
}

.u-color-text-default {
  color:#23262f
}

.u-color-primary {
  color:#0f97ad
}

.u-color-accent-primary {
  color:#f78227
}

.u-fw-regular {
  font-weight:400
}

.u-fw-medium {
  font-weight:500
}

.u-fw-semibold {
  font-weight:600
}

.u-fw-bold {
  font-weight:700
}

.dsp-none {
  display:none
}

@media screen and (min-width: 1260px) {
  .u-hidden-xl {
    display:none
  }
  
}

@media screen and (min-width: 1024px) {
  .u-hidden-lg {
    display:none
  }
  
}

@media screen and (min-width: 768px) {
  .u-hidden-md {
    display:none
  }
  
}

@media screen and (max-width: 767px) {
  .u-hidden-sm {
    display:none
  }
  
}

@media screen and (max-width: 767px) {
  .u-home-pt {
    padding-top:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .u-home-pt {
    padding-top:10rem
  }
  
}

@media screen and (max-width: 767px) {
  .u-home-pb {
    padding-bottom:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .u-home-pb {
    padding-bottom:10rem
  }
  
}

@media screen and (max-width: 767px) {
  .u-section-pt {
    padding-top:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .u-section-pt {
    padding-top:10rem
  }
  
}

@media screen and (max-width: 767px) {
  .u-section-pb {
    padding-bottom:8rem
  }
  
}

@media screen and (min-width: 768px) {
  .u-section-pb {
    padding-bottom:10rem
  }
  
}

.pt-20 {
  padding-top:20px
}

.pt-30 {
  padding-top:30px
}

.pt-40 {
  padding-top:40px
}

.pt-50 {
  padding-top:50px
}

.pb-20 {
  padding-bottom:20px
}

.pb-30 {
  padding-bottom:30px
}

.pb-40 {
  padding-bottom:40px
}

.pb-50 {
  padding-bottom:50px
}

.mt-0 {
  margin-top:0
}

.mt-10 {
  margin-top:10px
}

.mt-20 {
  margin-top:20px
}

.mt-30 {
  margin-top:30px
}

.mt-40 {
  margin-top:40px
}

.mt-50 {
  margin-top:50px
}

.mb-0 {
  margin-bottom:0
}

.mb-10 {
  margin-bottom:10px
}

.mb-20 {
  margin-bottom:20px
}

.mb-30 {
  margin-bottom:30px
}

.mb-40 {
  margin-bottom:40px
}

.mb-50 {
  margin-bottom:50px
}

.u-sr-only {
  clip:rect(0, 0, 0, 0) !important;
  border:0 !important;
  height:1px !important;
  margin:-1px !important;
  overflow:hidden !important;
  padding:0 !important;
  position:absolute !important;
  white-space:nowrap !important;
  width:1px !important
}

.u-transform-up {
  text-transform:uppercase
}

.u-transform-low {
  text-transform:lowercase
}

.u-transform-init {
  text-transform:initial
}

.u-highlighter {
  background-image:linear-gradient(transparent, transparent 70%, #FFFF00 70%, #FFFF00 100%);
  color:#0f97ad;
  display:inline;
  font-weight:500
}

.u-underline {
  -webkit-text-decoration-skip-ink:none;
  display:inline;
  line-height:2.2;
  text-decoration-color:#0f97ad;
  text-decoration-line:underline;
  text-decoration-skip-ink:none;
  text-decoration-style:dotted;
  text-decoration-thickness:9%;
  text-underline-offset:40%;
  text-underline-position:from-font
}

/*# sourceMappingURL=sourcemaps/style.css.map */

/* 20251205 aboutページ改修作業追記 */
.reno-12.p-about-mv__content-inner::before  {
  
  width: min(100vw, 530px);
  
}

.u-color-primary.reno-12  {
  
  color: #F78227;
  
  font-size: 3.4rem;
  
}

.u-color-primary.reno-12-a  {
  
  font-size: 3.4rem;
  
}

.p-about-mv__copy.reno-12  {
  
  font-size: 3.0rem;
  
}

.p-about-mv__item p .reno-12 {
  
  color: #F78227;
  
}

.p-about-mv__item p .reno-12-a {
  
  font-size: 1.8rem;
  
}

.p-about-mv__item p .reno-12-a {
  
  font-size: 1.3rem;
  
}

.p-about-mv__item .reno-12-b  {
  
  margin-top: -8px;
  
}

.p-about-mv__note  {
  
  color: #fff;
  
  font-size: 10px;
  
  font-weight: 500;
  
  position: absolute;
  
  left: 0;
  
  bottom: 3px;
  
  text-align: left;
  
}

.p-about-mv__top-text  {
  
  padding: 5px 10px;
  
  background-color: #0F97AD;
  
  color: #fff;
  
  text-align: center;
  
  font-weight: 700;
  
  position: absolute;
  
  top: 0;
  
  left: 0;
  
  width: 100%;
  
  z-index: 3;
  
  font-size: 1.2rem;
  
  line-height: 1.3;
  
}

.p-about-mv__cv.reno-12-js  {
  
  position: fixed;
  
  bottom: 0;
  
  left: 0;
  
  width: 100%;
  
  z-index: 100;
  
  transform: translateY(100%);
  
  opacity: 0;
  
  transition: transform 0.3s ease, opacity 0.3s ease;
  
  padding-block: max(1rem, 10px);
  
}

.p-about-mv__cv.reno-12-js.is-show  {
  
  transform: translateY(0);
  
  opacity: 1;
  
}

.p-about-mv__cv.reno-12-js .p-about-mv__cvText  {
  
  margin-top: 0.5rem;
  
  font-size: 1.2rem;
  
}

.p-about-info  {
  
  padding-block: 4.8rem;
  
}

.p-about-info .l-inner  {
  
  overflow: hidden;
  
}

.p-about-info__slider  {
  
  display: flex;
  
  justify-content: flex-start;
  
  width: 100%;
  
  transition: transform .4s ease;
  
  gap: 20px;
  
  padding: 0 20px;
  
}

.p-about-info__card  {
  
  background: #fff;
  
  border-radius: 4px;
  
  text-align: center;
  
  padding: 20px;
  
  border: 3px solid #0F97AD;
  
  width: 100%;
  
  flex: 0 0 90%;
  
  max-width: 90%;
  
  box-sizing: border-box;
  
}

.p-about-info__img img  {
  
  width: 100%;
  
  height: auto;
  
  display: block;
  
}

.p-about-info__title  {
  
  padding-top: 15px;
  
  font-size: 1.8rem;
  
  color: #0F97AD;
  
  font-weight: 700;
  
  line-height: 1.4;
  
}

.p-about-info__text  {
  
  padding-top: 15px;
  
  line-height: 1.4;
  
  text-align: left;
  
}

.p-about-example__subTitle  {
  
  text-align: center;
  
  font-size: 1.4rem;
  
  font-weight: 600;
  
  margin-bottom: 1.4rem;
  
}

.p-about-example__subTitle span  {
  
  color: #F78227;
  
}

.p-about-example__title  {
  
  font-size: 3.2rem;
  
  font-weight: 700;
  
  margin-bottom: 4.8rem;
  
  text-align: center;
  
  font-family: "Zen Maru Gothic", serif;
  
}

.p-about-example__title span  {
  
  color: #0F97AD;
  
}

.p-about-example__list  {
  
  display: flex;
  
  flex-wrap: wrap;
  
}

.p-about-example__list li  {
  
  width: calc((100% - 20px) / 2);
  
  margin-right: 20px;
  
  text-align: center;
  
}

.p-about-example__list li:nth-child(2n)  {
  
  margin-right: 0;
  
}

.p-about-example__list li:nth-child(n+3)  {
  
  margin-top: 20px;
  
}

.p-about-example__img img  {
  
  width: 100%;
  
  border-radius: 4px;
  
}

.p-about-example__label  {
  
  font-size: 1.4rem;
  
  margin-top: 1rem;
  
}

.p-about-example__price  {
  
  font-size: 2.4rem;
  
  color: #F78227;
  
  font-weight: 700;
  
}

.p-about-example__name  {
  
  font-size: 1.2rem;
  
  margin-top: 0.5rem;
  
}

.p-about-example__text  {
  
  margin-top: 2.4rem;
  
  text-align: center;
  
  font-weight: 600;
  
}

.p-about-example__text span  {
  
  font-size: 2.0rem;
  
  color:#F78227;
  
  font-weight: 700;
  
}

.p-about-example__cvButton {
  
  margin-top: 2rem;
  
}

.p-about-example__cvButton .c-cvButton  {
  
  margin: 0 auto;
  
}

.p-about-review__subTitle  {
  
  text-align: center;
  
  font-size: 1.6rem;
  
  font-weight: 600;
  
  margin-bottom: 1.4rem;
  
  color: #F78227;
  
}

.p-about-review__title  {
  
  font-size: 2.2rem;
  
  font-weight: 700;
  
  margin-bottom: 4.8rem;
  
  text-align: center;
  
  font-family: "Zen Maru Gothic", serif;
  
}

.p-about-review__title span  {
  
  color: #0F97AD;
  
  font-size: 2.8rem;
  
}

@media screen and (min-width: 768px) {
  
  .reno-12.p-about-mv__content-inner::before {
    
    width: 48rem;
    
  }
  
  .u-color-primary.reno-12, .u-color-primary.reno-12-a  {
    
    font-size: 3.6rem;
    
  }
  
  .p-about-mv__copy.reno-12  {
    
    font-size: 3.0rem;
    
  }
  
  .p-about-mv__note  {
    
    right: 0;
    
    text-align: right;
    
  }
  
  .p-about-mv__top-text  {
    
    font-size: 1.6rem;
    
  }
  
  .p-about-info__card  {
    
    width: calc((100% - 60px) / 4);
    
    flex: 0 0 auto;
    
    margin-right: 20px;
    
  }
  
  .p-about-info__card:last-child  {
    
    margin-right: 0;
    
  }
  
  .p-about-info__slider  {
    
    transform: none !important;
    
    justify-content: center;
    
  }
  
  .p-about-mv__cv.reno-12-js .p-about-mv__cvText  {
    
    margin-top: 1rem;
    
    font-size: 1.6rem;
    
  }
  
  .p-about-example__subTitle  {
    
    font-size: 1.8rem;
    
  }
  
  .p-about-example__title  {
    
    font-size: 4.8rem;
    
    margin-bottom: 7.2rem;
    
  }
  
  .p-about-example__list li  {
    
    width: calc((100% - 60px) / 4);
    
    margin-right: 20px;
    
  }
  
  .p-about-example__list li:nth-child(2n)  {
    
    margin-right: 20px;
    
  }
  
  .p-about-example__list li:nth-child(n+3)  {
    
    margin-top: 0;
    
  }
  
  .p-about-example__list li:last-child  {
    
    margin-right: 0;
    
  }
  
  .p-about-example__label  {
    
    font-size: 1.6rem;
    
  }
  
  .p-about-example__price  {
    
    font-size: 3.6rem;
    
  }
  
  .p-about-example__text  {
    
    font-size: 2rem;
    
  }
  
  .p-about-example__text span  {
    
    font-size: 3rem;
    
  }
  
  .p-about-review__subTitle  {
    
    font-size: 1.8rem;
    
  }
  
  .p-about-review__title  {
    
    font-size: 3.8rem;
    
  }
  
  .p-about-review__title span  {
    
    font-size: 4.8rem;
    
  }
  
}

@media screen and (min-width: 1024px) {
  
  .reno-12.p-about-mv__content-inner::before {
    
    width: 62rem;
    
  }
  
  .u-color-primary.reno-12, .u-color-primary.reno-12-a  {
    
    font-size: 4.4rem;
    
  }
  
  .p-about-mv__copy.reno-12  {
    
    font-size: 3.6rem;
    
  }
  
  .p-about-mv__top-text  {
    
    font-size: 1.8rem;
    
  }
  
  .p-cta-kaitori__inner.reno-12  {
    
    padding: 5.6rem 5rem;
    
  }
  
}

@media screen and (min-width: 1260px) {
  
  .reno-12.p-about-mv__content-inner::before {
    
    width: 68rem;
    
  }
  
  .u-color-primary.reno-12, .u-color-primary.reno-12-a  {
    
    font-size: 5.2rem;
    
  }
  
  .p-about-mv__copy.reno-12  {
    
    font-size: 3.8rem;
    
  }
  
  .p-about-mv__item p .reno-12-a {
    
    font-size: 1.8rem;
    
  }
  
}

@media screen and (min-width: 1440px) {
  
  .reno-12.p-about-mv__content-inner::before {
    
    width: 68.5rem;
    
  }
  
  .u-color-primary.reno-12, .u-color-primary.reno-12-a  {
    
    font-size: 5.2rem;
    
  }
  
  .p-about-mv__copy.reno-12  {
    
    font-size: 4.2rem;
    
  }
  
}

/* 20260620 aboutページ・他ページ及びパーツ改修作業追記 */
.p-about-shop__form {
  margin: 0 auto;
  width: min(100%, 800px);
}

.p-about-shop__form-label {
  display: flex;
  font-size: 18px;
  font-weight: 600;
  width: 100%;
  align-items: center;
  margin-bottom: 20px;
  cursor: default;
}

.p-about-shop__form-label .label-name {
  display: block;
  width: 30%;
}

.label-sp {
  display: none;
}

.p-about-shop__form-label .wpcf7-form-control-wrap {
  display: block;
  width: 70%;
}

.p-about-shop__form-label .wpcf7-form-control-wrap .p-about-shop__form-date {
  width: 300px;
  padding: 10px;
  border: 1px solid #0f97ad;
  border-radius: .4rem;
}

.p-about-shop__form-label .wpcf7-form-control-wrap input {
  width: 100%;
  padding: 10px;
  border: 1px solid #0f97ad;
  border-radius: .4rem;
}

.p-about-shop__form-label .wpcf7-form-control-wrap .p-about-shop__form-textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #0f97ad;
  border-radius: .4rem;
}

.wpcf7-form-control-wrap[data-name="your-time"] {
  position: relative;
  display: block; 
}

.p-about-shop__form-date {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  cursor: pointer;
}

.wpcf7-form-control-wrap[data-name="your-time"]::after {
  content: "▼";
  font-size: 0.75em;
  color: #000;
  position: absolute;
  left: 273px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; 
}

.p-about-shop__form-note {
  font-size: 16px;
  padding-top: 20px;
  text-align: center;
}

.p-about-shop__form-btn {
  display: block;
  text-align: center;
  margin: 40px auto 0;
  width: min(100%, 300px);
  padding: 15px 0;
  background-color: #0f97ad;
  color: #fff;
  border-radius: .4rem;
  cursor: pointer;
  transition: all 0.3s ease 0s;
}

.p-about-shop__form-btn p {
  width: 100%;
}

.p-about-shop__form-btn p .p-about-shop__form-link {
  width: 100%;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}

.p-about-shop__form-btn p .wpcf7-spinner {
  display: none;
}

.p-cta-kaitori__tel.reservation {
  margin: 0 auto;
}

.p-cta-kaitori__tel.reservation.mv {
  width: 100%;
}

.p-cta-kaitori__tel.reservation a {
  border-color: #F78227 !important;
  background-color: #F78227;
  box-shadow: .3rem .4rem 0px 0px #c96920 !important;
  color: #fff !important;
}

.p-cta-kaitori__tel.reservation a span {
  font-size: 2.8rem;
}

.p-about-mv__cv.reno-12-js .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.p-about-example__cvButton.mv {
  width: 49%;
  margin-top: 0;
}

.p-about-example__cvButton.cta {
  width: 49%;
  margin-top: 0;
}

.p-cta-kaitori__tel.mv {
  width: 49%;
}

.p-cta-kaitori__tel.mv a {
  border: 2px solid #0f97ad;
  color: #0f97ad;
  box-shadow: .3rem .4rem 0px 0px #0f97ad;
}

.l-header__line::before {
  display: none;
}

.l-header__line a {
  background-color: #F78227;
  box-shadow: .3rem .4rem 0px 0px #c96920;
}

.l-header__line a::before {
  display: none;
}

.br-sp {
  display: none;
}

@media screen and (min-width: 1024px) {
  
  .p-about-shop__form-btn:hover{
    opacity: 0.8;
  }
}

@media screen and (max-width: 767px) {

  .p-about-shop__form-label .wpcf7-form-control-wrap .p-about-shop__form-date {
    width: 100%;
  }

  .wpcf7-form-control-wrap[data-name="your-time"]::after {
    left: auto;
    right: 15px;
  }

  .p-about-shop__form-label {
    font-size: 14px;
  }

  .p-about-shop__form-label .label-name {
    font-size: 12px;
  }
  
  .label-sp {
    display: block;
  }

  .p-about-shop__form-note {
    font-size: 14px;
  }

  .p-cta-kaitori__tel.reservation a span {
    font-size: 2.2rem;
  }

  .p-cta-kaitori__tel.mv a img {
    width: 1.6rem;
  }

  .p-cta-kaitori__tel.mv a span {
    font-size: 1.6rem;
  }

  .p-about-example__cvButton.cta {
    width: 100%;
    margin-top: 10px;
  }

  .p-about-example__cvButton.cta a span {
    font-size: 2.2rem;
  }

  .c-page-title__main.thanks {
    font-size: 2.8rem;
  }

  .br-sp {
    display: block;
  }
}