@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@300;400;600;700&display=swap");

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

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

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;

  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

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

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

ul,
li {
  list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

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

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
}

optgroup {
  font-weight: bold;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
  color: inherit;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

select {
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
  max-width: 100%;
}

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

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

@media screen {
  [hidden~="screen"] {
    display: inherit;
  }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

[aria-busy="true"] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

html {
  box-sizing: border-box;
  font-size: 62.5%;
  background: #f6f6f6;
}
html *,
html *:before,
html *:after {
  box-sizing: inherit;
}

body {
  background: #f6f6f6;
  color: #424242;
  font-family:
    "Josefin Sans", "Sawarabi Gothic",
    "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,
    sans-serif;
  position: relative;
}
@media screen and (max-width: 743px) {
  body {
    line-height: 1.75;
    font-size: 1.6em;
  }
}
@media print, screen and (min-width: 744px) {
  body {
    line-height: 2;
    font-size: 18px;
  }
}

body.is_menu_open {
  position: fixed;
  width: 100%;
  height: 100%;
}

@media (prefers-color-scheme: dark) {
  body {
    background: #f6f6f6;
    color: #424242;
  }
}
img {
  vertical-align: top;
  backface-visibility: hidden;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 743px) {
  img {
    width: 100%;
  }
}

a {
  color: #2d2d2d;
  text-decoration: none;
}
a:visited {
  color: #2d2d2d;
}
@media (hover: hover) {
  a:where(:any-link, :enabled, summary):hover {
    text-decoration: underline;
  }
}

@media print, screen and (min-width: 744px) {
  a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
    color: inherit;
  }
}

button {
  outline: none;
}

:focus-visible {
  outline: 3px solid #2d2d2d;
}

:-moz-focusring {
  outline: 3px solid #2d2d2d;
}

::selection {
  background: #ddd;
}

::-moz-selection {
  background: #ddd;
}

sup {
  vertical-align: super;
  font-weight: normal;
  font-size: 50%;
}

em {
  font-style: normal;
}

body {
  scrollbar-color: #2d2d2d #ececec;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track-piece {
  background-color: #ececec;
}

::-webkit-scrollbar-thumb {
  background-color: #2d2d2d;

  border: 2px solid transparent;
  border-radius: 30px;
  background-clip: content-box;
}

@media screen and (max-width: 743px) {
  .pm-032 {
    padding-top: 120px;
    min-height: calc(100vh - 326px);
    max-width: 100vw;
    overflow-x: hidden;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-032 {
    padding-top: 160px;
    min-height: 800px;
    overflow-x: hidden;
  }
}

body.home .pm-032 {
  padding-top: 0;
}

.pm-029,
.pm-030 {
  position: relative;
  padding: 0 4.27vw;
  margin: 0 auto;
  text-align: left;
}
@media print, screen and (min-width: 744px) {
  .pm-029,
  .pm-030 {
    min-width: 860px;
    max-width: 1160px;
    padding: 0 30px;
  }
}

.pm-031 {
  background: #fff;
}
@media print, screen and (min-width: 744px) {
  .pm-031 {
    padding: 120px 150px;
    border-radius: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-031 {
    padding: 80px 6.4vw;
    border-radius: 40px;
  }
}

.pm-030 {
  max-width: 860px;
}

.pm-045 {
  position: fixed;
  z-index: 100;
}
@media print, screen and (min-width: 744px) {
  .pm-045 {
    top: 40px;
    left: 40px;
  }
  .pm-045 img {
    width: 95px;
    height: auto;
  }
}
@media screen and (max-width: 743px) {
  .pm-045 {
    top: 20px;
    left: 16px;
  }
  .pm-045 img {
    width: 54px;
    height: auto;
  }
}

.pm-033 {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 220;
  background: url(../images/drawer_btn_bg.svg) no-repeat right top;
  background-size: contain;
}
@media print, screen and (min-width: 744px) {
  .pm-033 {
    width: 181px;
    height: 140px;
  }
}
@media screen and (max-width: 743px) {
  .pm-033 {
    width: 104px;
    height: 80px;
  }
}

.pm-036 {
  display: block;
  position: fixed;
  width: 60px;
  height: 60px;
  right: 36px;
  top: 36px;
  z-index: 220;
  cursor: pointer;
  transition: 0.2s;
  background: #fff;
  border-radius: 50%;
}
@media print, screen and (min-width: 744px) {
  .pm-036:hover {
    transform: scale(1.2);
  }
}
@media screen and (max-width: 743px) {
  .pm-036 {
    right: 16px;
    top: 16px;
    transform: scale(66.6666666667%);
    transform-origin: top right;
  }
}
.pm-036 span {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 18px;
  height: 2px;
  background: #2d2d2d;
}
.pm-036 span::before,
.pm-036 span::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  background: #2d2d2d;
  transition: 0.2s;
}
.pm-036 span::before {
  top: -5px;
}
.pm-036 span::after {
  bottom: -5px;
}
.is_menu_open .pm-036 {
  background: #2d2d2d;
}
.is_menu_open .pm-036 span {
  height: 0;
  background: #fff;
}
.is_menu_open .pm-036 span::before,
.is_menu_open .pm-036 span::after {
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
}
.is_menu_open .pm-036 span::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.is_menu_open .pm-036 span::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.pm-037 {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  margin: 0;
  z-index: 200;
  overflow-y: auto;
  display: none;
  background: #f5f5f5;
}
@media print, screen and (min-width: 744px) {
  .pm-037 {
    padding: 0 30px;
  }
  .pm-037::before {
    content: "";
    display: block;
    position: absolute;
    right: calc((100vw - 1240px) / 2);
    top: 260px;
    bottom: 0;
    margin: auto;
    width: 659px;
    height: 840px;
    background: url(../images/t_product@2x.png) no-repeat center center;
    background-size: contain;
    z-index: 0;
  }
}
@media screen and (max-width: 743px) {
  .pm-037 {
    padding: 92px 6.4vw;
  }
  .pm-037::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 240px;
    width: 81.9vw;
    height: 148vw;
    background: url(../images/drawer_bg_sp.png) no-repeat center center;
    background-size: contain;
    z-index: 0;
  }
}

.pm-034 {
  position: relative;
}
@media print, screen and (min-width: 744px) {
  .pm-034 {
    padding: 0 60px 0;
    min-width: 960px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-035 {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
  }
}
@media print, screen and (min-width: 880px) {
  .pm-035 {
    justify-content: center;
  }
}

@media print, screen and (min-width: 744px) {
  .pm-041 {
    margin-bottom: 30px;
    padding-top: 10px;
    width: 504px;
  }
}
@media screen and (max-width: 743px) {
  .pm-041 {
    margin-bottom: 48px;
  }
}
.pm-041 li {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 743px) {
  .pm-041 li {
    font-size: 6.4vw;
    margin-bottom: 1em;
  }
}
.pm-041 li a {
  position: relative;
  display: inline-block;
  color: #424242;
  text-decoration: none;
}
@media (hover: hover) {
  .pm-041 li a::before {
    content: "";
    display: block;
    position: absolute;
    left: -10px;
    bottom: 0;
    width: calc(100% + 20px);
    height: calc(1em + 6px);
    background: #fff;
    z-index: 1;
    transition: transform 0.5s;
    transform-origin: right;
    transform: scaleX(0);
    border-radius: 30px;
  }
  .pm-041 li a:hover::before {
    transform-origin: left;
    transform: scaleX(1);
  }
}
.pm-041 li a span {
  position: relative;
  display: inline-block;
  z-index: 2;
}

.pm-042 {
  margin: 0 0 40px;
  display: flex;
  align-items: center;
}
.pm-042 dt {
  margin-right: 20px;
  font-size: 13px;
  line-height: 1.5;
  font-family: "Josefin Sans", sans-serif;
}
.pm-042 dd ul {
  display: flex;
}
.pm-042 dd ul li {
  margin-right: 10px;
}

.pm-043 {
  display: block;
  width: 36px;
  height: 36px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/ico_sns_x.svg) no-repeat center center;
  background-size: contain;
}

.pm-040 {
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media print, screen and (min-width: 744px) {
  .pm-040 {
    width: 400px;
  }
}
.pm-040 li {
  position: relative;
}
.pm-040 li:not(:last-child) {
  margin-right: 40px;
}
.pm-040 li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 1em;
  top: 6px;
  right: -20px;
  background: #8e8e93;
}
.pm-040 a {
  color: #424242;
}
.pm-040 a[target="_blank"]::after {
  content: "";
  display: inline-block;
  margin-left: 4px;
  margin-right: 5px;
  width: 8px;
  height: 1em;
  background: url(../images/ico_blank_b.svg) no-repeat left 0 top 2px;
  background-size: contain;
}

.pm-039 {
  display: flex;
}
@media print, screen and (min-width: 744px) {
  .pm-039 {
    position: absolute;
    left: 40px;
    bottom: 38px;
  }
}
@media screen and (max-width: 743px) {
  .pm-039 {
    margin-bottom: 40px;
  }
}
.pm-039 li {
  margin-right: 8px;
}
.pm-039 li a {
  display: block;
  position: relative;
  text-decoration: none;
}
.pm-039 li a.is_comingsoon {
  display: block;
  position: relative;
  pointer-events: none;
}
.pm-039 li a.is_comingsoon::after {
  content: "textte text...";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 7px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 6px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  font-family: "Josefin Sans", sans-serif;
}
.pm-039 li img {
  height: 40px;
  width: auto;
}

.pm-038 {
  position: relative;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "Josefin Sans", sans-serif;
}
@media print, screen and (min-width: 744px) {
  .pm-038 {
    position: absolute;
    top: 0;
    bottom: 40px;
    left: 40px;
    height: 21px;
    margin: auto;
    transform: rotate(90deg) translatex(-50%);
    transform-origin: left bottom;
  }
}
.pm-038 small {
  font-size: 13px;
}

.pm-169 {
  position: relative;
  background: #fff;
  z-index: 50;
  overflow-x: hidden;
}
@media print, screen and (min-width: 744px) {
  .pm-169 {
    margin-top: 200px;
    padding: 175px 0 100px;
    border-radius: 300px 0 0 0;
  }
}
@media screen and (max-width: 743px) {
  .pm-169 {
    border-radius: 150px 0 0 0;
    padding: 80px 6.4vw;
    margin-top: 80px;
  }
  .pm-169 .pm-029 {
    padding: 0;
  }
}

.pm-144 {
  position: relative;
}
@media print, screen and (min-width: 744px) {
  .pm-144 {
    padding: 0 67px;
  }
}

.pm-147 {
  width: 50vw;
  margin: 0 auto;
}
@media print, screen and (min-width: 744px) {
  .pm-147 {
    position: absolute;
    top: -96px;
    left: 735px;
    width: 352px;
  }
}

.pm-162 {
  padding-bottom: 40px;
  margin-bottom: 40px;
  border-bottom: solid 1px #8e8e93;
}
@media print, screen and (min-width: 744px) {
  .pm-162 {
    padding-bottom: 60px;
    width: 572px;
  }
}
.pm-137 {
  font-size: 8.53vw;
  line-height: 1.5;
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: 0.15em;
  margin-bottom: 24px;
}
@media print, screen and (min-width: 744px) {
  .pm-137 {
    font-size: 52px;
  }
}
.pm-134 {
  display: flex;
}
.pm-134 li {
  margin-right: 8px;
}
.pm-134 li a {
  display: block;
  position: relative;
  text-decoration: none;
}
.pm-134 li a.is_comingsoon {
  display: block;
  position: relative;
  pointer-events: none;
}
.pm-134 li a.is_comingsoon::after {
  content: "textte text...";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 7px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 6px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  font-family: "Josefin Sans", sans-serif;
}
.pm-134 li img {
  height: 40px;
  width: auto;
}

.pm-146 {
  margin-bottom: 30px;
  padding-top: 10px;
}
@media print, screen and (min-width: 744px) {
  .pm-146 {
    column-count: 2;
    width: 404px;
  }
}
.pm-146 li {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.pm-146 li a {
  position: relative;
  display: inline-block;
  color: #424242;
  text-decoration: none;
  margin-bottom: 1.5em;
}
@media (hover: hover) {
  .pm-146 li a::before {
    content: "";
    display: block;
    position: absolute;
    left: -10px;
    bottom: 0;
    width: calc(100% + 20px);
    height: calc(1em + 6px);
    background: #e9e9e9;
    z-index: 1;
    transition: transform 0.5s;
    transform-origin: right;
    transform: scaleX(0);
    border-radius: 30px;
  }
  .pm-146 li a:hover::before {
    transform-origin: left;
    transform: scaleX(1);
  }
}
.pm-146 li a span {
  position: relative;
  display: inline-block;
  z-index: 2;
}

.pm-149 {
  margin: 0 0 40px;
  display: flex;
  align-items: center;
}
.pm-149 dt {
  margin-right: 20px;
  font-size: 13px;
  line-height: 1.5;
  color: #8e8e93;
  font-family: "Josefin Sans", sans-serif;
}
.pm-149 dd ul {
  display: flex;
}
.pm-149 dd ul li {
  margin-right: 10px;
}

.pm-143 {
  display: block;
  width: 36px;
  height: 36px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/ico_sns_x.svg) no-repeat center center;
  background-size: contain;
}

.pm-145 {
  font-size: 13px;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.pm-145 li {
  position: relative;
}
.pm-145 li:not(:last-child) {
  margin-right: 40px;
}
.pm-145 li:not(:last-child)::after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 1em;
  top: 6px;
  right: -20px;
  background: #8e8e93;
}
.pm-145 a {
  text-decoration: none;
  color: #8e8e93;
}
@media print, screen and (min-width: 744px) {
  .pm-145 a:hover {
    text-decoration: underline;
  }
}
.pm-145 a[target="_blank"]::after {
  content: "";
  display: inline-block;
  margin-left: 4px;
  margin-right: 5px;
  width: 8px;
  height: 1em;
  background: url(../images/ico_blank_b.svg) no-repeat left 0 top 2px;
  background-size: contain;
  opacity: 0.8;
}

.pm-135 {
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "Josefin Sans", sans-serif;
}
.pm-135 small {
  font-size: 13px;
}
@media screen and (max-width: 743px) {
  .pm-135 small {
    font-size: 11px;
  }
}

.pm-010,
.pickup-container h2,
.blog .pm-029 h2,
.pm-016 h1 {
  position: relative;
  line-height: 1.5;
  font-weight: 800;
  text-align: left;
  margin: 2em 0 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 743px) {
  .pm-010,
  .pickup-container h2,
  .blog .pm-029 h2,
  .pm-016 h1 {
    font-size: 24px;
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-010,
  .pickup-container h2,
  .blog .pm-029 h2,
  .pm-016 h1 {
    font-size: 32px;
    margin-bottom: 48px;
  }
}

.pm-140,
.pm-016 h2 {
  position: relative;
  line-height: 1.5;
  text-align: left;
  background: #e9e9e9;
  border-radius: 40px;
}
@media screen and (max-width: 743px) {
  .pm-140,
  .pm-016 h2 {
    font-size: 20px;
    margin: 3em 0 1.2em;
    padding: 0.75em 1.2em 0.75em;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-140,
  .pm-016 h2 {
    font-size: 24px;
    margin: 80px 0 36px;
    padding: 22px 32px 22px;
  }
}

.pm-011,
.pm-016 h3 {
  position: relative;
  line-height: 1.5;
  text-align: left;
  color: #2d2d2d;
  border-bottom: solid 2px #e9e9e9;
}
@media screen and (max-width: 743px) {
  .pm-011,
  .pm-016 h3 {
    font-size: 20px;
    margin: 3em 0 1.2em;
    padding: 0 0 0.8em;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-011,
  .pm-016 h3 {
    font-size: 20px;
    margin: 80px 0 36px;
    padding-bottom: 16px;
  }
}

.pm-141,
.pm-016 h4 {
  position: relative;
  line-height: 1.5;
  text-align: left;
  padding-left: 1.2em;
}
@media screen and (max-width: 743px) {
  .pm-141,
  .pm-016 h4 {
    font-size: 18px;
    margin: 3em 0 1.2em;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-141,
  .pm-016 h4 {
    font-size: 18px;
    margin: 80px 0 36px;
  }
}
.pm-141::before,
.pm-016 h4::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 0.85em;
  height: 0.85em;
  background: #2d2d2d;
}

.pm-142 {
  margin: 3em 0 0;
  font-weight: 600;
}

.pm-000 {
  display: inline-block;
  padding: 1.55em 3.33em 1.55em;
  position: relative;
  text-align: center;
  line-height: 1.3;
  margin: 0;
  background-color: #e9e9e9;
  border-radius: 60px;
  text-decoration: none;
  font-weight: 700;
  color: #424242;
  z-index: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  transition: background-color 0.2s;
}
@media screen and (max-width: 743px) {
  .pm-000 {
    width: 100%;
    font-size: 14px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-000 {
    min-width: 420px;
    font-size: 18px;
  }
}
.pm-000:visited {
  color: #424242;
}
.pm-000::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.89em;
  margin: auto;
  width: 2.67em;
  height: 2.67em;
  border-radius: 50%;
  background: #fff url(../images/ico_arrow.svg) no-repeat center center;
  background-size: 1.1em;
  transition: 0.2s;
}
.pm-000[target="_blank"] span {
  padding-right: 1.3em;
}
.pm-000[target="_blank"] span::before {
  width: 0.8em;
  height: 0.8em;
  background: url(../images/ico_blank.svg) no-repeat center center;
  background-size: contain;
  border: none;
  transform: rotate(0);
}
@media (hover: hover) {
  .pm-000:where(:any-link, :enabled, summary):hover {
    text-decoration: none;
    background: #dcdcdc;
  }
  .pm-000:where(:any-link, :enabled, summary):hover::after {
    background: #2d2d2d url(../images/ico_arrow_y.svg) no-repeat center center;
    background-size: 1.1em;
  }
}

.pm-019,
.pm-016 ul {
  margin: 0 0 2em;
}
.pm-019 li,
.pm-016 ul li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.25em;
  line-height: 1.75;
}
.pm-019 li::before,
.pm-016 ul li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.8em;
  left: 0.3em;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  background: #424242;
}

.pm-164,
.pm-016 ol {
  padding-left: 1.3em;
  margin: 0 0 2em;
}
.pm-164 li,
.pm-016 ol li {
  list-style-type: decimal;
  margin-bottom: 0.3em;
}

.pm-523 {
  margin-bottom: 1.875em;
  line-height: 1.875;
}

.pm-159 {
  max-width: 720px;
  margin: 0 auto 60px;
  line-height: 1.8;
  font-weight: 500;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 744px) {
  .pm-159 {
    font-size: 20px;
  }
}
@media screen and (max-width: 743px) {
  .pm-159 {
    font-size: 20px;
  }
}
@media screen and (max-width: 390px) {
  .pm-159 {
    font-size: 5.1vw;
  }
}

.pm-160 {
  margin-bottom: 60px;
  line-height: 1.5;
  font-weight: 300;
  text-align: center;
}
@media print, screen and (min-width: 744px) {
  .pm-160 {
    font-size: 40px;
  }
}
@media screen and (max-width: 743px) {
  .pm-160 {
    font-size: 33px;
  }
}
@media screen and (max-width: 390px) {
  .pm-160 {
    font-size: 8.4vw;
  }
}

.pm-161 {
  max-width: 720px;
  margin: 0 auto 60px;
}

.pm-018 {
  position: relative;
  margin: 0;
}
.pm-018[target="_blank"]::after {
  content: "";
  display: inline-block;
  vertical-align: super;
  margin-left: 3px;
  margin-right: 5px;
  width: 10px;
  height: 10px;
  background: url(../images/ico_blank.svg) no-repeat center center;
  background-size: contain;
}

.pm-155 {
  font-style: normal;
  background: rgba(0, 0, 0, 0)
    linear-gradient(transparent 0%, transparent 75%, #ececec 75%, #ececec 100%)
    repeat scroll 0 0;
}

.pm-001 {
  text-align: left;
}
@media print, screen and (min-width: 744px) {
  .pm-001 {
    margin-top: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-001 {
    margin-top: 40px;
  }
}
.pm-001 input[type="text"],
.pm-001 input[type="email"],
.pm-001 input[type="password"],
.pm-001 select,
.pm-001 textarea {
  margin-bottom: 10px;
  padding: 18px 16px;
  border: solid 1px #ececec;
  border-radius: 8px;
  width: 100%;
  outline: none;
  font-size: 16px;
  background: #f6f6f6;
  vertical-align: top;
}
@media print, screen and (min-width: 744px) {
  .pm-001 input[type="text"],
  .pm-001 input[type="email"],
  .pm-001 input[type="password"],
  .pm-001 select,
  .pm-001 textarea {
    padding: 16px 20px;
    font-size: 18px;
  }
}
.pm-001 input[type="text"]:focus,
.pm-001 input[type="email"]:focus,
.pm-001 input[type="password"]:focus,
.pm-001 select:focus,
.pm-001 textarea:focus {
  background: #fff;
  border: solid 1px #2d2d2d;
}
.pm-001 input[type="submit"],
.pm-001 input[type="button"] {
  outline: none;
}
.pm-001 input::placeholder,
.pm-001 textarea::placeholder {
  color: #8e8e93;
}
@media screen and (max-width: 743px) {
  .pm-001 textarea {
    height: 400px;
  }
}
.pm-001 select {
  position: relative;
  width: 100%;
  vertical-align: middle;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  color: #424242;
}
.pm-001 select::-ms-expand {
  display: none;
}
.pm-001 select option:disabled {
  display: none;
}
.pm-001 p {
  margin: 0 0 1.5em;
}

.pm-002 {
  position: relative;
  border-bottom: solid 1px #8e8e93;
}
.pm-002:first-of-type {
  border-top: solid 1px #8e8e93;
}
@media print, screen and (min-width: 744px) {
  .pm-002 {
    padding: 54px 0;
    display: flex;
  }
}
@media screen and (max-width: 743px) {
  .pm-002 {
    padding: 32px 0;
  }
}
.pm-004 {
  display: block;
  position: relative;
  line-height: 1.75;
  font-weight: 600;
}
@media print, screen and (min-width: 744px) {
  .pm-004 {
    width: 208px;
    flex-shrink: 0;
    padding-top: 22px;
    font-size: 13px;
  }
}
@media screen and (max-width: 743px) {
  .pm-004 {
    font-size: 16px;
    margin-bottom: 16px;
  }
}
.pm-003 {
  width: 100%;
}

.pm-006::after {
  content: "※";
  color: #e50000;
  display: inline-block;
  margin-left: 0.2em;
}

.pm-008 {
  position: relative;
}
.pm-008:before {
  content: "";
  position: absolute;
  top: -0.6em;
  bottom: 0;
  margin: auto;
  right: 1.3em;
  width: 0.5em;
  height: 0.5em;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  transform: rotate(45deg);
  z-index: 10;
}
.pm-008 select {
  color: #8e8e93;
}
.pm-008 select.selected {
  color: #424242;
}

.pm-005 {
  padding: 0 0 10px;
  font-size: 15px;
}
@media print, screen and (min-width: 744px) {
  .pm-005 {
    font-size: 18px;
  }
}
.pm-005 label {
  cursor: pointer;
}
.pm-005 input[type="radio"],
.pm-005 input[type="checkbox"] {
  display: none;
}
.pm-005 input[type="radio"] + span,
.pm-005 input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  padding-right: 25px;
}
.pm-005 input[type="radio"] + span::before,
.pm-005 input[type="checkbox"] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 18px;
  height: 18px;
  border: 1px solid #8c8c8c;
  border-radius: 50%;
  background: #fff;
}
@media print, screen and (min-width: 744px) {
  .pm-005 input[type="radio"] + span::before,
  .pm-005 input[type="checkbox"] + span::before {
    top: 2px;
  }
}
.pm-005 input[type="radio"]:checked + span::before {
  border: solid 1px #2d2d2d;
}
.pm-005 input[type="radio"]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2d2d2d;
}
@media print, screen and (min-width: 744px) {
  .pm-005 input[type="radio"]:checked + span::after {
    top: 2px;
  }
}
.pm-005 input[type="checkbox"]:checked + span::before {
  border: solid 1px #2d2d2d;
  background: #2d2d2d;
}
.pm-005 input[type="checkbox"]:checked + span::after {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  bottom: 0;
  left: 6px;
  margin: auto;
  width: 6px;
  height: 11px;
  transform: rotate(40deg);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media print, screen and (min-width: 744px) {
  .pm-005 input[type="checkbox"]:checked + span::after {
    top: 0px;
  }
}
.pm-005 .wpcf7-list-item {
  margin-left: 0 !important;
}

.pm-154 {
  padding-bottom: 1em;
}
@media screen and (max-width: 743px) {
  .pm-154 {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-154 {
    font-size: 14px;
  }
}

.pm-007 {
  padding-top: 60px;
  padding-left: 1em;
  text-align: center;
}
@media print, screen and (min-width: 744px) {
  .pm-007 {
    padding-top: 80px;
  }
}

.pm-009 {
  text-align: center;
}
.pm-009 label {
  position: relative;
  display: inline-block;
  margin: 40px 0 0;
}
@media screen and (max-width: 743px) {
  .pm-009 label {
    margin-top: 40px;
    width: 100%;
  }
}
.pm-009 label::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0.89em;
  margin: auto;
  width: 2.67em;
  height: 2.67em;
  border-radius: 50%;
  background: #fff url(../images/ico_arrow.svg) no-repeat center center;
  background-size: 1.1em;
  transition: 0.2s;
  z-index: 1;
}
@media print, screen and (min-width: 744px) {
  .pm-009 label:hover input {
    text-decoration: none;
    background: #dcdcdc;
  }
  .pm-009 label:hover::after {
    background: #2d2d2d url(../images/ico_arrow_y.svg) no-repeat center center;
    background-size: 1.1em;
  }
}
.pm-009 label.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.pm-009 label input {
  display: inline-block;
  padding: 1.55em 3.33em 1.55em;
  position: relative;
  text-align: center;
  line-height: 1.3;
  margin: 0;
  background-color: #e9e9e9;
  border-radius: 60px;
  text-decoration: none;
  font-weight: 700;
  outline: none;
  color: #424242;
  z-index: 1;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  transition: background-color 0.2s;
}
@media screen and (max-width: 743px) {
  .pm-009 label input {
    width: 100%;
    font-size: 14px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-009 label input {
    min-width: 420px;
    font-size: 18px;
  }
}

.wpcf7-spinner {
  margin: 0 -30px 0 6px;
}

.wpcf7-not-valid-tip {
  font-size: 0.75em !important;
  line-height: 1.2;
  margin: -0.5em 0 1.5em;
}

input[type="text"]:read-only {
  background: #fafafa;
  outline: inherit;
}

.wpcf7-form.init .wpcf7-not-valid-tip {
  display: none !important;
}

.grecaptcha-badge {
  z-index: 50;
}
@media screen and (max-width: 743px) {
  .grecaptcha-badge {
    bottom: 60px !important;
  }
}
@media print, screen and (min-width: 744px) {
  .grecaptcha-badge {
    bottom: 140px !important;
  }
}

.pm-158 {
  position: relative;
  border: solid 1px #e9e9e9;
  border-radius: 6px;
}
@media screen and (max-width: 743px) {
  .pm-158 {
    padding: 5vw 4.27vw 4vw;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-158 {
    margin: 0 0 15px;
    padding: 35px 35px 30px;
  }
}

.pm-012 {
  position: relative;
  width: 100%;
  text-align: center;
}
@media print, screen and (min-width: 744px) {
  .pm-012 {
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 743px) {
  .pm-012 {
    margin-bottom: 40px;
  }
}
.pm-015 {
  display: inline-block;
  position: relative;
  line-height: 1.1;
  font-weight: 800;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 743px) {
  .pm-015 {
    padding: 25px 0 27px;
    font-size: 6.4vw;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-015 {
    padding: 48px 0;
    font-size: 64px;
  }
}
.pm-015::before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: -88px;
  width: 84px;
  height: 84px;
  background: url(../images/t_logomark_to.svg) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 743px) {
  .pm-015::before {
    top: -0.2em;
    left: -2.5em;
    width: 2.275em;
    height: 2.275em;
  }
}
.pm-015::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 8px;
  right: -90px;
  width: 89px;
  height: 89px;
  background: url(../images/t_logomark_co.svg) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 743px) {
  .pm-015::after {
    width: 2.4em;
    height: 2.4em;
    bottom: -0.1em;
    right: -2.5em;
  }
}

@media screen and (max-width: 743px) {
  .pm-013 {
    margin-bottom: 52px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-013 {
    margin-top: 80px;
    margin-bottom: 48px;
  }
}
.pm-014 {
  position: relative;
  line-height: 1.5;
  font-weight: 700;
  text-align: left;
  margin: 0 0 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 743px) {
  .pm-014 {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-014 {
    font-size: 32px;
  }
}

@media screen and (max-width: 743px) {
  .pm-166 {
    margin: 0 0 120px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-166 {
    margin: 0 0 120px;
  }
}

.pagination {
  text-align: center;
  margin: 30px 0 20px;
  font-size: 0;
  line-height: 1.2;
}
@media print, screen and (min-width: 744px) {
  .pagination {
    margin: 40px 0;
  }
}
.pagination a,
.pagination span {
  position: relative;
  display: inline-block;
  margin: 0 10px 15px;
  padding: 0;
  font-family: "Josefin Sans", sans-serif;
  font-size: 16px;
  color: #424242;
  text-decoration: none;
  vertical-align: middle;
}
.pagination a.current,
.pagination span.current {
  color: #2d2d2d;
  text-decoration: underline;
}
@media (hover: hover) {
  .pagination a:where(:any-link, :enabled, summary):hover {
    color: #2d2d2d;
    text-decoration: underline;
  }
}
.pagination .page-prev,
.pagination .page-next {
  transition: 0.2s;
}
@media (hover: hover) {
  .pagination .page-prev:where(:any-link, :enabled, summary):hover,
  .pagination .page-next:where(:any-link, :enabled, summary):hover {
    transform: scale(1.15);
  }
}
.pagination .page-prev::after,
.pagination .page-next::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e9e9e9 url(../images/ico_arrow_b.svg) no-repeat center center;
  background-size: 20px;
}
.pagination .page-next {
  margin-left: 50px;
  margin-right: 0;
}
@media screen and (max-width: 743px) {
  .pagination .page-next {
    margin-left: 10px;
  }
}
.pagination .page-prev {
  margin-right: 50px;
  margin-left: 0;
}
@media screen and (max-width: 743px) {
  .pagination .page-prev {
    margin-right: 10px;
  }
}
.pagination .page-prev::after {
  transform: rotate(180deg);
}

.pm-016::after {
  content: "";
  display: block;
  clear: both;
}
.pm-016 p {
  margin: 2em 0 2em;
}
.pm-016 ul {
  margin: 2em 0 2em;
}
.pm-016 ol {
  margin: 2em 0 2em;
}
.pm-016 .wp-block-image {
  margin: 2em 0 2em;
}
.pm-016 img {
  position: relative;
}
.pm-016 img[class*="wp-image-"] {
  border-radius: 40px;
}
.pm-016 figcaption {
  margin-top: -1em;
  margin-bottom: 1.5em;
}

.pm-138 {
  text-align: center;
  margin-bottom: 60px;
}
@media print, screen and (min-width: 744px) {
  .pm-138 {
    margin-bottom: 80px;
  }
}
.pm-138 img {
  border-radius: 40px;
}
@media print, screen and (min-width: 744px) {
  .pm-138 img {
    width: 600px;
    height: auto;
  }
}

.pm-017 {
  text-align: center;
}
@media print, screen and (min-width: 744px) {
  .pm-017 {
    margin: 120px 0 0;
  }
}
@media screen and (max-width: 743px) {
  .pm-017 {
    margin: 80px 0 0;
  }
}

@media print, screen and (min-width: 744px) {
  .is_sp {
    display: none !important;
  }
}

@media screen and (max-width: 743px) {
  .is_pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 744px) {
  .pm-168 {
    display: flex;
    flex-wrap: wrap;
  }
  .pm-168 > * {
    width: calc(50% - 20px);
  }
  .pm-168 > *:nth-child(2n-1) {
    margin-right: 40px;
  }
}

.pm-173 {
  float: left;
}

.pm-174 {
  float: right;
}

.pm-178::after {
  content: "";
  display: block;
  clear: both;
}

.pm-171 {
  text-align: left;
}

.pm-172 {
  text-align: right;
}

.pm-170 {
  text-align: center;
}

.pm-124,
.pm-151 {
  border-top: solid 2px #ececec;
  border-bottom: solid 2px #ececec;
  height: 123px;
  background: url(../images/t_clap.png?v=2) repeat-x center center;
  animation: clapScroll 4s linear infinite;
  background-size: 289px 53px;
}
@media screen and (max-width: 743px) {
  .pm-124,
  .pm-151 {
    border-top: solid 1px #ececec;
    border-bottom: solid 1px #ececec;
    height: 83px;
    animation: clapScroll_sp 3s linear infinite;
    background-size: 200px 55.5px;
  }
}

.pm-151 {
  animation: clapScroll2 4s linear infinite;
}
@media screen and (max-width: 743px) {
  .pm-151 {
    animation: clapScroll_sp2 3s linear infinite;
  }
}

@-webkit-keyframes clapScroll {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -289px center;
  }
}
@keyframes clapScroll {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -289px center;
  }
}
@-webkit-keyframes clapScroll2 {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: 289px center;
  }
}
@keyframes clapScroll2 {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: 289px center;
  }
}
@-webkit-keyframes clapScroll_sp {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -150px center;
  }
}
@keyframes clapScroll_sp {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: -150px center;
  }
}
@-webkit-keyframes clapScroll_sp2 {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: 150px center;
  }
}
@keyframes clapScroll_sp2 {
  0% {
    background-position: 0 center;
  }
  100% {
    background-position: 150px center;
  }
}
.pm-156 {
  font-weight: 600;
}

.pm-163 {
  vertical-align: super;
  font-size: 0.5em;
}

.pm-148 {
  font-style: italic;
}

.pm-153 {
  font-size: 0.85em;
  display: inline-block;
  line-height: inherit;
}

.pm-152 {
  font-size: 1.2em;
}

.pm-125 {
  color: #e50000;
}

.pm-139 {
  text-transform: uppercase;
}

.pm-127 {
  margin-top: 0px;
}

.pm-602 {
  margin-top: 5px;
}

.pm-578 {
  margin-top: 10px;
}

.pm-579 {
  margin-top: 15px;
}

.pm-580 {
  margin-top: 20px;
}

.pm-581 {
  margin-top: 25px;
}

.pm-582 {
  margin-top: 30px;
}

.pm-583 {
  margin-top: 35px;
}

.pm-584 {
  margin-top: 40px;
}

.pm-585 {
  margin-top: 45px;
}

.pm-586 {
  margin-top: 50px;
}

.pm-587 {
  margin-top: 55px;
}

.pm-588 {
  margin-top: 60px;
}

.pm-589 {
  margin-top: 65px;
}

.pm-590 {
  margin-top: 70px;
}

.pm-591 {
  margin-top: 75px;
}

.pm-592 {
  margin-top: 80px;
}

.pm-593 {
  margin-top: 85px;
}

.pm-594 {
  margin-top: 90px;
}

.pm-595 {
  margin-top: 95px;
}

.pm-433 {
  margin-top: 100px;
}

.pm-434 {
  margin-top: 105px;
}

.pm-435 {
  margin-top: 110px;
}

.pm-436 {
  margin-top: 115px;
}

.pm-437 {
  margin-top: 120px;
}

.pm-438 {
  margin-top: 125px;
}

.pm-439 {
  margin-top: 130px;
}

.pm-440 {
  margin-top: 135px;
}

.pm-441 {
  margin-top: 140px;
}

.pm-442 {
  margin-top: 145px;
}

.pm-443 {
  margin-top: 150px;
}

.pm-444 {
  margin-top: 155px;
}

.pm-445 {
  margin-top: 160px;
}

.pm-446 {
  margin-top: 165px;
}

.pm-447 {
  margin-top: 170px;
}

.pm-448 {
  margin-top: 175px;
}

.pm-449 {
  margin-top: 180px;
}

.pm-450 {
  margin-top: 185px;
}

.pm-451 {
  margin-top: 190px;
}

.pm-452 {
  margin-top: 195px;
}

.pm-454 {
  margin-top: 200px;
}

.pm-455 {
  margin-top: 205px;
}

.pm-456 {
  margin-top: 210px;
}

.pm-457 {
  margin-top: 215px;
}

.pm-458 {
  margin-top: 220px;
}

.pm-459 {
  margin-top: 225px;
}

.pm-460 {
  margin-top: 230px;
}

.pm-461 {
  margin-top: 235px;
}

.pm-462 {
  margin-top: 240px;
}

.pm-463 {
  margin-top: 245px;
}

.pm-464 {
  margin-top: 250px;
}

.pm-465 {
  margin-top: 255px;
}

.pm-466 {
  margin-top: 260px;
}

.pm-467 {
  margin-top: 265px;
}

.pm-468 {
  margin-top: 270px;
}

.pm-469 {
  margin-top: 275px;
}

.pm-470 {
  margin-top: 280px;
}

.pm-471 {
  margin-top: 285px;
}

.pm-472 {
  margin-top: 290px;
}

.pm-473 {
  margin-top: 295px;
}

.pm-475 {
  margin-top: 300px;
}

.pm-476 {
  margin-top: 305px;
}

.pm-477 {
  margin-top: 310px;
}

.pm-478 {
  margin-top: 315px;
}

.pm-479 {
  margin-top: 320px;
}

.pm-480 {
  margin-top: 325px;
}

.pm-481 {
  margin-top: 330px;
}

.pm-482 {
  margin-top: 335px;
}

.pm-483 {
  margin-top: 340px;
}

.pm-484 {
  margin-top: 345px;
}

.pm-485 {
  margin-top: 350px;
}

.pm-486 {
  margin-top: 355px;
}

.pm-487 {
  margin-top: 360px;
}

.pm-488 {
  margin-top: 365px;
}

.pm-489 {
  margin-top: 370px;
}

.pm-490 {
  margin-top: 375px;
}

.pm-491 {
  margin-top: 380px;
}

.pm-492 {
  margin-top: 385px;
}

.pm-493 {
  margin-top: 390px;
}

.pm-494 {
  margin-top: 395px;
}

.pm-496 {
  margin-top: 400px;
}

.pm-497 {
  margin-top: 405px;
}

.pm-498 {
  margin-top: 410px;
}

.pm-499 {
  margin-top: 415px;
}

.pm-500 {
  margin-top: 420px;
}

.pm-501 {
  margin-top: 425px;
}

.pm-502 {
  margin-top: 430px;
}

.pm-503 {
  margin-top: 435px;
}

.pm-504 {
  margin-top: 440px;
}

.pm-505 {
  margin-top: 445px;
}

.pm-506 {
  margin-top: 450px;
}

.pm-507 {
  margin-top: 455px;
}

.pm-508 {
  margin-top: 460px;
}

.pm-509 {
  margin-top: 465px;
}

.pm-510 {
  margin-top: 470px;
}

.pm-511 {
  margin-top: 475px;
}

.pm-512 {
  margin-top: 480px;
}

.pm-513 {
  margin-top: 485px;
}

.pm-514 {
  margin-top: 490px;
}

.pm-515 {
  margin-top: 495px;
}

.pm-517 {
  margin-top: 500px;
}

.pm-596 {
  margin-bottom: 0px;
}

.pm-597 {
  margin-bottom: 5px;
}

.pm-524 {
  margin-bottom: 10px;
}

.pm-525 {
  margin-bottom: 15px;
}

.pm-526 {
  margin-bottom: 20px;
}

.pm-527 {
  margin-bottom: 25px;
}

.pm-528 {
  margin-bottom: 30px;
}

.pm-529 {
  margin-bottom: 35px;
}

.pm-530 {
  margin-bottom: 40px;
}

.pm-531 {
  margin-bottom: 45px;
}

.pm-532 {
  margin-bottom: 50px;
}

.pm-533 {
  margin-bottom: 55px;
}

.pm-534 {
  margin-bottom: 60px;
}

.pm-535 {
  margin-bottom: 65px;
}

.pm-536 {
  margin-bottom: 70px;
}

.pm-537 {
  margin-bottom: 75px;
}

.pm-538 {
  margin-bottom: 80px;
}

.pm-539 {
  margin-bottom: 85px;
}

.pm-540 {
  margin-bottom: 90px;
}

.pm-541 {
  margin-bottom: 95px;
}

.pm-180 {
  margin-bottom: 100px;
}

.pm-181 {
  margin-bottom: 105px;
}

.pm-182 {
  margin-bottom: 110px;
}

.pm-183 {
  margin-bottom: 115px;
}

.pm-184 {
  margin-bottom: 120px;
}

.pm-185 {
  margin-bottom: 125px;
}

.pm-186 {
  margin-bottom: 130px;
}

.pm-187 {
  margin-bottom: 135px;
}

.pm-188 {
  margin-bottom: 140px;
}

.pm-189 {
  margin-bottom: 145px;
}

.pm-190 {
  margin-bottom: 150px;
}

.pm-191 {
  margin-bottom: 155px;
}

.pm-192 {
  margin-bottom: 160px;
}

.pm-193 {
  margin-bottom: 165px;
}

.pm-194 {
  margin-bottom: 170px;
}

.pm-195 {
  margin-bottom: 175px;
}

.pm-196 {
  margin-bottom: 180px;
}

.pm-197 {
  margin-bottom: 185px;
}

.pm-198 {
  margin-bottom: 190px;
}

.pm-199 {
  margin-bottom: 195px;
}

.pm-201 {
  margin-bottom: 200px;
}

.pm-202 {
  margin-bottom: 205px;
}

.pm-203 {
  margin-bottom: 210px;
}

.pm-204 {
  margin-bottom: 215px;
}

.pm-205 {
  margin-bottom: 220px;
}

.pm-206 {
  margin-bottom: 225px;
}

.pm-207 {
  margin-bottom: 230px;
}

.pm-208 {
  margin-bottom: 235px;
}

.pm-209 {
  margin-bottom: 240px;
}

.pm-210 {
  margin-bottom: 245px;
}

.pm-211 {
  margin-bottom: 250px;
}

.pm-212 {
  margin-bottom: 255px;
}

.pm-213 {
  margin-bottom: 260px;
}

.pm-214 {
  margin-bottom: 265px;
}

.pm-215 {
  margin-bottom: 270px;
}

.pm-216 {
  margin-bottom: 275px;
}

.pm-217 {
  margin-bottom: 280px;
}

.pm-218 {
  margin-bottom: 285px;
}

.pm-219 {
  margin-bottom: 290px;
}

.pm-220 {
  margin-bottom: 295px;
}

.pm-222 {
  margin-bottom: 300px;
}

.pm-223 {
  margin-bottom: 305px;
}

.pm-224 {
  margin-bottom: 310px;
}

.pm-225 {
  margin-bottom: 315px;
}

.pm-226 {
  margin-bottom: 320px;
}

.pm-227 {
  margin-bottom: 325px;
}

.pm-228 {
  margin-bottom: 330px;
}

.pm-229 {
  margin-bottom: 335px;
}

.pm-230 {
  margin-bottom: 340px;
}

.pm-231 {
  margin-bottom: 345px;
}

.pm-232 {
  margin-bottom: 350px;
}

.pm-233 {
  margin-bottom: 355px;
}

.pm-234 {
  margin-bottom: 360px;
}

.pm-235 {
  margin-bottom: 365px;
}

.pm-236 {
  margin-bottom: 370px;
}

.pm-237 {
  margin-bottom: 375px;
}

.pm-238 {
  margin-bottom: 380px;
}

.pm-239 {
  margin-bottom: 385px;
}

.pm-240 {
  margin-bottom: 390px;
}

.pm-241 {
  margin-bottom: 395px;
}

.pm-243 {
  margin-bottom: 400px;
}

.pm-244 {
  margin-bottom: 405px;
}

.pm-245 {
  margin-bottom: 410px;
}

.pm-246 {
  margin-bottom: 415px;
}

.pm-247 {
  margin-bottom: 420px;
}

.pm-248 {
  margin-bottom: 425px;
}

.pm-249 {
  margin-bottom: 430px;
}

.pm-250 {
  margin-bottom: 435px;
}

.pm-251 {
  margin-bottom: 440px;
}

.pm-252 {
  margin-bottom: 445px;
}

.pm-253 {
  margin-bottom: 450px;
}

.pm-254 {
  margin-bottom: 455px;
}

.pm-255 {
  margin-bottom: 460px;
}

.pm-256 {
  margin-bottom: 465px;
}

.pm-257 {
  margin-bottom: 470px;
}

.pm-258 {
  margin-bottom: 475px;
}

.pm-259 {
  margin-bottom: 480px;
}

.pm-260 {
  margin-bottom: 485px;
}

.pm-261 {
  margin-bottom: 490px;
}

.pm-262 {
  margin-bottom: 495px;
}

.pm-264 {
  margin-bottom: 500px;
}

.pm-598 {
  margin-left: 0px;
}

.pm-599 {
  margin-left: 5px;
}

.pm-542 {
  margin-left: 10px;
}

.pm-543 {
  margin-left: 15px;
}

.pm-544 {
  margin-left: 20px;
}

.pm-545 {
  margin-left: 25px;
}

.pm-546 {
  margin-left: 30px;
}

.pm-547 {
  margin-left: 35px;
}

.pm-548 {
  margin-left: 40px;
}

.pm-549 {
  margin-left: 45px;
}

.pm-550 {
  margin-left: 50px;
}

.pm-551 {
  margin-left: 55px;
}

.pm-552 {
  margin-left: 60px;
}

.pm-553 {
  margin-left: 65px;
}

.pm-554 {
  margin-left: 70px;
}

.pm-555 {
  margin-left: 75px;
}

.pm-556 {
  margin-left: 80px;
}

.pm-557 {
  margin-left: 85px;
}

.pm-558 {
  margin-left: 90px;
}

.pm-559 {
  margin-left: 95px;
}

.pm-270 {
  margin-left: 100px;
}

.pm-271 {
  margin-left: 105px;
}

.pm-272 {
  margin-left: 110px;
}

.pm-273 {
  margin-left: 115px;
}

.pm-274 {
  margin-left: 120px;
}

.pm-275 {
  margin-left: 125px;
}

.pm-276 {
  margin-left: 130px;
}

.pm-277 {
  margin-left: 135px;
}

.pm-278 {
  margin-left: 140px;
}

.pm-279 {
  margin-left: 145px;
}

.pm-280 {
  margin-left: 150px;
}

.pm-281 {
  margin-left: 155px;
}

.pm-282 {
  margin-left: 160px;
}

.pm-283 {
  margin-left: 165px;
}

.pm-284 {
  margin-left: 170px;
}

.pm-285 {
  margin-left: 175px;
}

.pm-286 {
  margin-left: 180px;
}

.pm-287 {
  margin-left: 185px;
}

.pm-288 {
  margin-left: 190px;
}

.pm-289 {
  margin-left: 195px;
}

.pm-290 {
  margin-left: 200px;
}

.pm-291 {
  margin-left: 205px;
}

.pm-292 {
  margin-left: 210px;
}

.pm-293 {
  margin-left: 215px;
}

.pm-294 {
  margin-left: 220px;
}

.pm-295 {
  margin-left: 225px;
}

.pm-296 {
  margin-left: 230px;
}

.pm-297 {
  margin-left: 235px;
}

.pm-298 {
  margin-left: 240px;
}

.pm-299 {
  margin-left: 245px;
}

.pm-300 {
  margin-left: 250px;
}

.pm-301 {
  margin-left: 255px;
}

.pm-302 {
  margin-left: 260px;
}

.pm-303 {
  margin-left: 265px;
}

.pm-304 {
  margin-left: 270px;
}

.pm-305 {
  margin-left: 275px;
}

.pm-306 {
  margin-left: 280px;
}

.pm-307 {
  margin-left: 285px;
}

.pm-308 {
  margin-left: 290px;
}

.pm-309 {
  margin-left: 295px;
}

.pm-310 {
  margin-left: 300px;
}

.pm-311 {
  margin-left: 305px;
}

.pm-312 {
  margin-left: 310px;
}

.pm-313 {
  margin-left: 315px;
}

.pm-314 {
  margin-left: 320px;
}

.pm-315 {
  margin-left: 325px;
}

.pm-316 {
  margin-left: 330px;
}

.pm-317 {
  margin-left: 335px;
}

.pm-318 {
  margin-left: 340px;
}

.pm-319 {
  margin-left: 345px;
}

.pm-320 {
  margin-left: 350px;
}

.pm-321 {
  margin-left: 355px;
}

.pm-322 {
  margin-left: 360px;
}

.pm-323 {
  margin-left: 365px;
}

.pm-324 {
  margin-left: 370px;
}

.pm-325 {
  margin-left: 375px;
}

.pm-326 {
  margin-left: 380px;
}

.pm-327 {
  margin-left: 385px;
}

.pm-328 {
  margin-left: 390px;
}

.pm-329 {
  margin-left: 395px;
}

.pm-330 {
  margin-left: 400px;
}

.pm-331 {
  margin-left: 405px;
}

.pm-332 {
  margin-left: 410px;
}

.pm-333 {
  margin-left: 415px;
}

.pm-334 {
  margin-left: 420px;
}

.pm-335 {
  margin-left: 425px;
}

.pm-336 {
  margin-left: 430px;
}

.pm-337 {
  margin-left: 435px;
}

.pm-338 {
  margin-left: 440px;
}

.pm-339 {
  margin-left: 445px;
}

.pm-340 {
  margin-left: 450px;
}

.pm-341 {
  margin-left: 455px;
}

.pm-342 {
  margin-left: 460px;
}

.pm-343 {
  margin-left: 465px;
}

.pm-344 {
  margin-left: 470px;
}

.pm-345 {
  margin-left: 475px;
}

.pm-346 {
  margin-left: 480px;
}

.pm-347 {
  margin-left: 485px;
}

.pm-348 {
  margin-left: 490px;
}

.pm-349 {
  margin-left: 495px;
}

.pm-350 {
  margin-left: 500px;
}

.pm-600 {
  margin-right: 0px;
}

.pm-601 {
  margin-right: 5px;
}

.pm-560 {
  margin-right: 10px;
}

.pm-561 {
  margin-right: 15px;
}

.pm-562 {
  margin-right: 20px;
}

.pm-563 {
  margin-right: 25px;
}

.pm-564 {
  margin-right: 30px;
}

.pm-565 {
  margin-right: 35px;
}

.pm-566 {
  margin-right: 40px;
}

.pm-567 {
  margin-right: 45px;
}

.pm-568 {
  margin-right: 50px;
}

.pm-569 {
  margin-right: 55px;
}

.pm-570 {
  margin-right: 60px;
}

.pm-571 {
  margin-right: 65px;
}

.pm-572 {
  margin-right: 70px;
}

.pm-573 {
  margin-right: 75px;
}

.pm-574 {
  margin-right: 80px;
}

.pm-575 {
  margin-right: 85px;
}

.pm-576 {
  margin-right: 90px;
}

.pm-577 {
  margin-right: 95px;
}

.pm-351 {
  margin-right: 100px;
}

.pm-352 {
  margin-right: 105px;
}

.pm-353 {
  margin-right: 110px;
}

.pm-354 {
  margin-right: 115px;
}

.pm-355 {
  margin-right: 120px;
}

.pm-356 {
  margin-right: 125px;
}

.pm-357 {
  margin-right: 130px;
}

.pm-358 {
  margin-right: 135px;
}

.pm-359 {
  margin-right: 140px;
}

.pm-360 {
  margin-right: 145px;
}

.pm-361 {
  margin-right: 150px;
}

.pm-362 {
  margin-right: 155px;
}

.pm-363 {
  margin-right: 160px;
}

.pm-364 {
  margin-right: 165px;
}

.pm-365 {
  margin-right: 170px;
}

.pm-366 {
  margin-right: 175px;
}

.pm-367 {
  margin-right: 180px;
}

.pm-368 {
  margin-right: 185px;
}

.pm-369 {
  margin-right: 190px;
}

.pm-370 {
  margin-right: 195px;
}

.pm-371 {
  margin-right: 200px;
}

.pm-372 {
  margin-right: 205px;
}

.pm-373 {
  margin-right: 210px;
}

.pm-374 {
  margin-right: 215px;
}

.pm-375 {
  margin-right: 220px;
}

.pm-376 {
  margin-right: 225px;
}

.pm-377 {
  margin-right: 230px;
}

.pm-378 {
  margin-right: 235px;
}

.pm-379 {
  margin-right: 240px;
}

.pm-380 {
  margin-right: 245px;
}

.pm-381 {
  margin-right: 250px;
}

.pm-382 {
  margin-right: 255px;
}

.pm-383 {
  margin-right: 260px;
}

.pm-384 {
  margin-right: 265px;
}

.pm-385 {
  margin-right: 270px;
}

.pm-386 {
  margin-right: 275px;
}

.pm-387 {
  margin-right: 280px;
}

.pm-388 {
  margin-right: 285px;
}

.pm-389 {
  margin-right: 290px;
}

.pm-390 {
  margin-right: 295px;
}

.pm-391 {
  margin-right: 300px;
}

.pm-392 {
  margin-right: 305px;
}

.pm-393 {
  margin-right: 310px;
}

.pm-394 {
  margin-right: 315px;
}

.pm-395 {
  margin-right: 320px;
}

.pm-396 {
  margin-right: 325px;
}

.pm-397 {
  margin-right: 330px;
}

.pm-398 {
  margin-right: 335px;
}

.pm-399 {
  margin-right: 340px;
}

.pm-400 {
  margin-right: 345px;
}

.pm-401 {
  margin-right: 350px;
}

.pm-402 {
  margin-right: 355px;
}

.pm-403 {
  margin-right: 360px;
}

.pm-404 {
  margin-right: 365px;
}

.pm-405 {
  margin-right: 370px;
}

.pm-406 {
  margin-right: 375px;
}

.pm-407 {
  margin-right: 380px;
}

.pm-408 {
  margin-right: 385px;
}

.pm-409 {
  margin-right: 390px;
}

.pm-410 {
  margin-right: 395px;
}

.pm-411 {
  margin-right: 400px;
}

.pm-412 {
  margin-right: 405px;
}

.pm-413 {
  margin-right: 410px;
}

.pm-414 {
  margin-right: 415px;
}

.pm-415 {
  margin-right: 420px;
}

.pm-416 {
  margin-right: 425px;
}

.pm-417 {
  margin-right: 430px;
}

.pm-418 {
  margin-right: 435px;
}

.pm-419 {
  margin-right: 440px;
}

.pm-420 {
  margin-right: 445px;
}

.pm-421 {
  margin-right: 450px;
}

.pm-422 {
  margin-right: 455px;
}

.pm-423 {
  margin-right: 460px;
}

.pm-424 {
  margin-right: 465px;
}

.pm-425 {
  margin-right: 470px;
}

.pm-426 {
  margin-right: 475px;
}

.pm-427 {
  margin-right: 480px;
}

.pm-428 {
  margin-right: 485px;
}

.pm-429 {
  margin-right: 490px;
}

.pm-430 {
  margin-right: 495px;
}

.pm-431 {
  margin-right: 500px;
}

.pm-432 {
  margin-top: 0em;
}

.pm-453 {
  margin-top: 1em;
}

.pm-474 {
  margin-top: 2em;
}

.pm-495 {
  margin-top: 3em;
}

.pm-516 {
  margin-top: 4em;
}

.pm-518 {
  margin-top: 5em;
}

.pm-519 {
  margin-top: 6em;
}

.pm-520 {
  margin-top: 7em;
}

.pm-521 {
  margin-top: 8em;
}

.pm-522 {
  margin-top: 9em;
}

.pm-176 {
  margin-top: 10em;
}

.pm-179 {
  margin-bottom: 0em;
}

.pm-200 {
  margin-bottom: 1em;
}

.pm-221 {
  margin-bottom: 2em;
}

.pm-242 {
  margin-bottom: 3em;
}

.pm-263 {
  margin-bottom: 4em;
}

.pm-265 {
  margin-bottom: 5em;
}

.pm-266 {
  margin-bottom: 6em;
}

.pm-267 {
  margin-bottom: 7em;
}

.pm-268 {
  margin-bottom: 8em;
}

.pm-269 {
  margin-bottom: 9em;
}

.pm-175 {
  margin-bottom: 10em;
}

@media screen and (max-width: 743px) {
  .pm-157 {
    margin-left: -10vw;
    margin-right: -10vw;
  }
}
.pm-126.hide {
  opacity: 0;
}

.pm-126.show {
  transition: opacity 0.3s linear;
  opacity: 1 !important;
}

.pm-076 {
  position: relative;
  width: 100%;
  background: #f5f5f5;
}
@media print, screen and (min-width: 744px) {
  .pm-076 {
    margin: 0 0 80px;
  }
}
.pm-076::after {
  content: "";
  display: block;
  position: absolute;
  background: #f6f6f6;
  z-index: 10;
}
@media print, screen and (min-width: 744px) {
  .pm-076::after {
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 120px;
    max-width: 1366px;
    border-radius: 120px 120px 0 0;
  }
}
@media screen and (max-width: 743px) {
  .pm-076::after {
    left: 0;
    bottom: 0;
    height: 60px;
    width: 100%;
    border-radius: 60px 60px 0 0;
  }
}
@media screen and (max-width: 743px) {
  .pm-080 {
    position: relative;
    height: calc(100vh + 14vw);
    min-height: 180vw;
    max-height: 210vw;
    overflow: hidden;
  }
}
@media screen and (max-width: 743px) {
  .pm-080 img {
    width: 100%;
    height: auto;
    transform: translateY(-10vw);
  }
}
@media print, screen and (min-width: 744px) {
  .pm-080 img {
    width: 100%;
    min-width: 743px;
    min-height: 700px;
    max-height: 1080px;
    object-fit: cover;
  }
}
.pm-077 {
  opacity: 0;
  transition-duration: 0s !important;
  transition: opacity 0.8s 0.8s !important;
}
@media screen and (max-width: 743px) {
  .pm-077 {
    position: absolute;
    left: 16px;
    bottom: 76px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-077 {
    position: absolute;
    left: 50%;
    bottom: 200px;
    transform: translateX(-423px) !important;
    transition: 0.4s;
  }
}
@media screen and (min-width: 744px) and (max-width: 1000px) {
  .pm-077 {
    transform: translate(-323px) !important;
  }
}
@media screen and (min-width: 1441px) {
  .pm-077 {
    transform: translate(-540px, -60px) !important;
  }
}
.pm-078 {
  line-height: 1.285;
  font-weight: 900;
  font-feature-settings: "palt";
  margin-bottom: 24px;
  white-space: nowrap;
}
@media screen and (max-width: 743px) {
  .pm-078 {
    letter-spacing: 0.05em;
    font-size: 9.6vw;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-078 {
    letter-spacing: 0.1em;
    font-size: 56px;
    transition: 0.4s;
  }
}
@media screen and (min-width: 1600px) {
  .pm-078 {
    transform: scale(1.3);
    transform-origin: left bottom;
  }
}
.pm-079 {
  display: flex;
}
.pm-079 li {
  margin-right: 8px;
}
.pm-079 li a {
  display: block;
  position: relative;
}
.pm-079 li a.is_comingsoon {
  display: block;
  position: relative;
  pointer-events: none;
}
.pm-079 li a.is_comingsoon::after {
  content: "textte text...";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding-top: 7px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 6px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  font-family: "Josefin Sans", sans-serif;
}
.pm-079 li img {
  height: 40px;
  width: auto;
}

@media screen and (max-width: 743px) {
  .pm-066 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-066 {
    margin-bottom: 160px;
  }
}
.pm-068 {
  position: relative;
  background: #fff;
}
@media print, screen and (min-width: 744px) {
  .pm-068 {
    padding: 100px 80px;
    border-radius: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-068 {
    padding: 145px 6.4vw 115px;
    border-radius: 40px;
  }
}
.pm-068::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/t_logomark.svg) no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 744px) {
  .pm-068::before {
    width: 226px;
    height: 226px;
    top: -70px;
    left: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-068::before {
    width: 97px;
    height: 97px;
    top: 60px;
    left: 6.4vw;
  }
}
.pm-069 {
  position: relative;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 743px) {
  .pm-069 {
    font-size: 28px;
    margin-bottom: 40px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-069 {
    position: absolute;
    top: 105px;
    left: 166px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 48px;
  }
}
.pm-067 {
  font-weight: 600;
}
@media print, screen and (min-width: 744px) {
  .pm-067 {
    line-height: 2;
    font-size: 18px;
    margin-left: 286px;
  }
}
@media screen and (max-width: 743px) {
  .pm-067 {
    line-height: 1.75;
    font-size: 16px;
  }
}
.pm-067 p:not(:last-child) {
  margin-bottom: 2em;
}

@media screen and (max-width: 743px) {
  .pm-070 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-070 {
    margin-bottom: 240px;
  }
}

@media screen and (max-width: 743px) {
  .pm-096 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-096 {
    margin-bottom: 192px;
  }
  .pm-096 .pm-029 {
    width: 1160px;
  }
}
.pm-097 {
  margin-bottom: 30px;
}

.pm-098 {
  position: relative;
}
@media print, screen and (min-width: 744px) {
  .pm-098 {
    min-height: 640px;
    margin-bottom: 62px;
    background: url(../images/service_bg_pc.svg) no-repeat;
    background-size: contain;
  }
}
@media screen and (max-width: 743px) {
  .pm-098 {
    margin-bottom: 60px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-099 {
    width: 514px;
    margin-left: 120px;
    padding-top: 165px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-131 {
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 743px) {
  .pm-131 {
    margin: 0 0 12px;
  }
  .pm-131 img {
    height: 55px;
    width: auto;
  }
}
.pm-102 {
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 744px) {
  .pm-102 {
    font-size: 32px;
  }
}
@media screen and (max-width: 743px) {
  .pm-102 {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-098:nth-of-type(2) {
    background-image: url(../images/service_bg_pc_02.svg);
  }
  .pm-098:nth-of-type(2) .pm-099 {
    margin-left: 466px;
  }
}

@media print, screen and (min-width: 744px) {
  .pm-100 {
    display: block;
    position: absolute;
    top: 77px;
    right: 120px;
    width: 244px;
    height: 493px;
    padding: 11px 13px 0 13px;
    background: none;
    filter: drop-shadow(20px 20px 30px #d8d8d8);
  }
  .pm-101 {
    overflow: hidden;
    background: #f0f0f0;
  }
  .pm-100::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 244px;
    height: 493px;
    background: url(../images/service_slide_pc_mock.png?v=4) no-repeat center center;
    z-index: 1;
  }
  .pm-100 img {
    width: 218px;
    height: auto;
  }
  .pm-100 .swiper-wrapper {
    height: 471px !important;
  }
  .pm-098:nth-of-type(2) .pm-100 {
    top: 79px;
    right: inherit;
    left: 120px;
  }
}
@media screen and (max-width: 743px) {
  .pm-100 {
    margin-bottom: 16px;
  }
  .pm-100 .swiper-wrapper {
    height: 118vw !important;
  }
  .pm-100 .swiper-slide {
    width: 77.3vw !important;
  }
}
.pm-132 {
  border: solid 4px #e9e9e9;
  background: #fafafa;
}
@media print, screen and (min-width: 744px) {
  .pm-132 {
    border-radius: 80px;
    margin-top: 80px;
    padding: 60px 80px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 743px) {
  .pm-132 {
    padding: 60px 6.4vw;
    border-radius: 40px;
  }
}
.pm-128 {
  font-weight: 600;
  line-height: 1.5;
}
@media print, screen and (min-width: 744px) {
  .pm-128 {
    width: 265px;
    margin-right: 40px;
    flex-shrink: 0;
    font-size: 24px;
  }
}
@media screen and (max-width: 743px) {
  .pm-128 {
    font-size: 20px;
    margin-bottom: 16px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-129 {
    line-height: 2;
    width: calc(100% - 265px);
    font-size: 18px;
  }
}
@media screen and (max-width: 743px) {
  .pm-129 {
    line-height: 1.75;
  }
}

@media screen and (max-width: 743px) {
  .pm-088 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-088 {
    margin-bottom: 190px;
  }
}
.pm-088 a {
  color: #424242;
}
.pm-090 {
  position: relative;
  background: #fff;
}
@media print, screen and (min-width: 744px) {
  .pm-090 {
    padding: 80px 43px 80px 80px;
    border-radius: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-090 {
    padding: 60px 6.4vw;
    border-radius: 40px;
  }
}
.pm-091 {
  font-size: 24px;
  line-height: 1.2;
}
@media print, screen and (min-width: 744px) {
  .pm-091 {
    position: absolute;
    top: 110px;
    left: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-091 {
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: solid 1px #ececec;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-089 {
    margin-left: 176px;
    padding: 10px 30px 5px 80px;
    border-left: solid 1px #ececec;
    max-height: 366px;
    overflow-y: auto;
  }
}
@media screen and (max-width: 743px) {
  .pm-089 {
    padding: 28px 25px 0 0;
    overflow-y: auto;
    max-height: 366px;
  }
}

.pm-092 li {
  margin-bottom: 42px;
}
.pm-092 li:last-child {
  margin-bottom: 20px;
}
.pm-093 {
  font-size: 13px;
  line-height: 1.2;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  color: #8e8e93;
  margin-bottom: 3px;
}
.pm-094 {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 743px) {
  .pm-094 {
    font-size: 14px;
  }
}

@media screen and (max-width: 743px) {
  .pm-104 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-104 {
    margin-bottom: 200px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-106 {
    margin-bottom: 30px;
  }
}
.pm-105 {
  text-align: center;
}
.pm-104 .pm-115:not(.swiper-initialized) {
  display: block;
}
.pm-104 .pm-115:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 40px;
}
.pm-104 .pm-115:not(.swiper-initialized) .swiper-slide {
  width: calc((100% - 80px) / 3);
  margin: 0 0 40px;
}
.pm-104
  .pm-115:not(.swiper-initialized)
  .swiper-slide:not(:nth-child(3n)) {
  margin-right: 40px;
}
.pm-104 .pm-115.swiper-initialized .pm-116 {
  width: 71.7vw;
}

.pm-150 {
  position: relative;
  background: #f5f5f5 url(../images/bg_pattern_01.png);
  text-align: center;
}
@media print, screen and (min-width: 744px) {
  .pm-150 {
    margin-bottom: 200px;
    padding: 60px 0 60px;
    height: 768px;
  }
}
@media screen and (max-width: 743px) {
  .pm-150 {
    margin-bottom: 80px;
    padding: 70px 0 30px;
    background-size: 100%;
  }
}
.pm-136 {
  position: absolute;
  width: 100%;
  top: 30px;
  left: 0;
}
@media screen and (max-width: 743px) {
  .pm-136 {
    top: 24px;
  }
}
.pm-130 {
  position: absolute;
  width: 100%;
  bottom: 30px;
  left: 0;
}
@media screen and (max-width: 743px) {
  .pm-130 {
    bottom: 24px;
  }
}
.pm-095 {
  position: relative;
}
@media screen and (max-width: 743px) {
  .pm-095 {
    transform: translateX(5%);
  }
}

@media screen and (max-width: 743px) {
  .pm-071 {
    margin-bottom: 80px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-071 {
    margin-bottom: 200px;
  }
}
.pm-073 {
  max-width: 800px;
}
@media print, screen and (min-width: 744px) {
  .pm-074 {
    margin-bottom: 30px;
  }
}
.pm-072 {
  text-align: center;
}
@media screen and (max-width: 743px) {
  .pm-072 {
    margin-top: 40px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-072 {
    margin-top: 80px;
  }
}

.pm-082 {
  margin: 0 auto;
}
@media print, screen and (min-width: 744px) {
  .pm-082 {
    max-width: 1366px;
    padding: 0 40px;
    min-width: 860px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 743px) {
  .pm-082 {
    padding: 0 4.27vw;
  }
}
.pm-083,
.pm-084 {
  position: relative;
}
@media print, screen and (min-width: 744px) {
  .pm-083,
  .pm-084 {
    margin-bottom: 20px;
    width: calc(50% - 20px);
  }
}
@media screen and (max-width: 743px) {
  .pm-083,
  .pm-084 {
    margin-bottom: 16px;
  }
}
.pm-083 a,
.pm-084 a {
  display: block;
  height: 100%;
  background: #2d2d2d url(../images/bg_pattern_02.png);
  border-radius: 40px;
  text-decoration: none;
  color: #fff;
  transition: 0.2s;
}
@media print, screen and (min-width: 744px) {
  .pm-083 a,
  .pm-084 a {
    padding: 120px 19%;
  }
}
@media screen and (max-width: 743px) {
  .pm-083 a,
  .pm-084 a {
    padding: 72px 9.375vw 96px;
    background-size: 100%;
    display: flex;
    align-items: center;
  }
}
.pm-083 a::after,
.pm-084 a::after {
  content: "";
  position: absolute;
  top: right;
  bottom: 32px;
  right: 32px;
  margin: auto;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff url(../images/ico_arrow_g.svg) no-repeat center center;
  background-size: 20px;
  transition: 0.2s;
}
@media screen and (max-width: 743px) {
  .pm-083 a::after,
  .pm-084 a::after {
    bottom: 28px;
    right: 28px;
    width: 36px;
    height: 36px;
    background-size: 15px;
  }
}
@media (hover: hover) {
  .pm-083 a:where(:any-link, :enabled, summary):hover,
  .pm-084 a:where(:any-link, :enabled, summary):hover {
    background-color: #1f1f1f;
  }
  .pm-083 a:where(:any-link, :enabled, summary):hover::after,
  .pm-084
    a:where(:any-link, :enabled, summary):hover::after {
    background-color: #2d2d2d;
    background-image: url(../images/ico_arrow_w.svg);
  }
}
.pm-086 {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 16px;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 744px) {
  .pm-086 {
    line-height: 1.2;
    margin-bottom: 20px;
  }
}
.pm-087 {
  font-size: 16px;
  line-height: 1.75;
}

.pm-084 a {
  background-color: #666666;
}
.pm-084 a::after {
  background-image: url(../images/ico_arrow_o.svg);
}
@media (hover: hover) {
  .pm-084 a:where(:any-link, :enabled, summary):hover {
    background-color: #555555;
  }
  .pm-084
    a:where(:any-link, :enabled, summary):hover::after {
    background-color: #666666;
    background-image: url(../images/ico_arrow_w.svg);
  }
}

body:has(.pm-055) {
  background: #2d2d2d url(../images/bg_pattern_02.png);
}

body.pm-pg-guideline {
  background: #2d2d2d url(../images/bg_pattern_02.png);
}

.pm-064 {
  color: #fff;
}
@media screen and (max-width: 743px) {
  .pm-064 {
    margin-bottom: 20px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-064 {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
.pm-065 {
  position: relative;
  line-height: 1.5;
  font-weight: 800;
  text-align: left;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
@media screen and (max-width: 743px) {
  .pm-065 {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-065 {
    font-size: 64px;
  }
}

.pm-056 {
  color: #fff;
}
@media screen and (max-width: 743px) {
  .pm-056 {
    margin-bottom: 60px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-056 {
    margin-bottom: 120px;
  }
}
.pm-057 {
  position: relative;
  line-height: 1.5;
  font-size: 16px;
  text-align: left;
  color: #fff;
}

@media print, screen and (min-width: 744px) {
  .pm-058 {
    margin-bottom: 120px;
  }
  .pm-058:nth-of-type(3) {
    margin-bottom: 143px;
  }
}
@media screen and (max-width: 743px) {
  .pm-058 {
    margin-bottom: 80px;
  }
}

.pm-059 {
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (max-width: 743px) {
  .pm-059 {
    margin-bottom: 22px;
    font-size: 24px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-059 {
    margin-bottom: 32px;
    font-size: 32px;
  }
}
.pm-059 span {
  display: inline-block;
  padding: 0 0.2em;
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width: 744px) {
  .pm-059 span:first-of-type {
    padding-right: 0;
  }
  .pm-059 span:last-of-type {
    padding-left: 0;
  }
}
.pm-059 span::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0.2em;
  left: 0;
  width: 100%;
  height: 12px;
  background: #e9e9e9;
  z-index: -1;
}
@media screen and (max-width: 743px) {
  .pm-059 span::before {
    bottom: 0;
  }
}

@media print, screen and (min-width: 744px) {
  .pm-060 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 743px) {
  .pm-060 {
    margin-bottom: 20px;
  }
}

.pm-062 {
  background: #f6f6f6;
  border-radius: 40px;
  margin-bottom: 32px;
  padding: 80px 52px;
}
@media screen and (max-width: 743px) {
  .pm-062 {
    padding: 52px 6.4vw;
  }
}
.pm-062:last-child {
  margin-bottom: 0;
}
.pm-063 {
  margin-bottom: 2em;
  font-weight: 600;
}
.pm-062 > p {
  line-height: 2;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 743px) {
  .pm-062 > p {
    line-height: 1.75;
  }
}
.pm-062 > *:last-child {
  margin-bottom: 0;
}

@media print, screen and (min-width: 744px) {
  .pm-053 {
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 743px) {
  .pm-053 {
    margin-bottom: 80px;
  }
}
.pm-053:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 743px) {
  .pm-054 {
    margin-bottom: 40px;
  }
}

.pm-050 {
  border-top: solid 1px #424242;
  padding: 40px 0;
}
.pm-050:last-child {
  border-bottom: solid 1px #424242;
}
.pm-052 {
  position: relative;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  padding-right: 40px;
  cursor: pointer;
}
@media print, screen and (min-width: 744px) {
  .pm-052 {
    font-size: 20px;
  }
}
.pm-052::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 20px;
  width: 10px;
  height: 10px;
  border-bottom: 1px solid #424242;
  border-right: 1px solid #424242;
  transform: rotate(45deg);
  transition: 0.2s;
}
.pm-052.open::after {
  transform: rotate(-45deg) scaleY(-1);
}
.pm-051 {
  font-size: 16px;
  line-height: 1.75;
  margin-top: 32px;
  display: none;
}
@media print, screen and (min-width: 744px) {
  .pm-051 {
    margin-top: 40px;
    font-size: 18px;
    line-height: 2;
  }
}

@media screen and (max-width: 743px) {
  .pm-115 {
    margin: 0 0 40px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-115 {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 40px;
  }
}

@media print, screen and (min-width: 744px) {
  .pm-116 {
    width: calc((100% - 80px) / 3);
    margin: 0 0 40px;
  }
  .pm-116:not(:nth-child(3n)) {
    margin-right: 40px;
  }
}
@media screen and (max-width: 743px) {
  .pm-116 {
    width: 100%;
    margin: 0 0 16px;
  }
}
.pm-116 a {
  background: #fff;
  display: block;
  height: 100%;
  color: #424242;
  transition: 0.3s;
}
@media screen and (max-width: 743px) {
  .pm-116 a {
    border-radius: 20px;
    padding: 36px 24px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-116 a {
    border-radius: 40px;
    padding: 36px;
  }
}
@media (hover: hover) {
  .pm-116 a:where(:any-link, :enabled, summary):hover {
    background: #ececec;
    text-decoration: none;
  }
}
.pm-117 {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  color: #8e8e93;
  margin-bottom: 15px;
}
.pm-118 {
  position: relative;
  margin-bottom: 22px;
}
.pm-118 img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}
@supports not (aspect-ratio: auto) {
  .pm-118 {
    position: relative;
  }
  .pm-118::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .pm-118::after {
    content: "";
    clear: both;
    display: block;
  }
  .pm-118 img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.pm-118 img {
  border-radius: 40px;
}
.pm-119 {
  line-height: 1.5;
}
@media print, screen and (min-width: 744px) {
  .pm-119 {
    min-height: 3em;
    font-size: 16px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
@media screen and (max-width: 743px) {
  .pm-119 {
    font-size: 14px;
  }
}

.pm-123 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.pm-123 li {
  position: relative;
  padding-left: 1.2em;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 8px 8px 0;
}
.pm-123 li:last-child {
  margin-right: 0;
}
.pm-123 li::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2d2d2d;
}

.pm-120 {
  border-top: solid 1px #8e8e93;
  border-bottom: solid 1px #8e8e93;
}
@media screen and (max-width: 743px) {
  .pm-120 {
    padding: 24px 0;
    margin: 0 0 40px;
  }
}
@media print, screen and (min-width: 744px) {
  .pm-120 {
    display: flex;
    align-items: center;
    padding: 40px 0;
    margin: 0 0 60px;
  }
}
.pm-121 {
  font-size: 13px;
  font-weight: 600;
  flex-shrink: 0;
  padding: 0 32px 5px 0;
}
@media screen and (max-width: 743px) {
  .pm-121 {
    display: block;
    font-size: 16px;
    padding-bottom: 16px;
  }
}
.pm-122 {
  width: 100%;
  margin-top: 0;
}
.pm-122 select {
  background: #fff;
}
@media screen and (max-width: 743px) {
  .pm-122 select {
    font-size: 18px;
  }
}

.pm-112 header {
  position: relative;
}
.pm-112 .pm-123 {
  position: absolute;
  right: 0;
  top: 0;
}
.pm-113 {
  display: block;
  font-size: 16px;
  line-height: 1.2;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 400;
  color: #8e8e93;
  margin-bottom: 25px;
}
.pm-114 {
  line-height: 1.5;
}
@media print, screen and (min-width: 744px) {
  .pm-114 {
    font-size: 32px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-114 {
    font-size: 24px;
    margin-bottom: 60px;
  }
}
.pm-133 {
  position: relative;
  width: 100%;
  max-width: 600px;
}
@media print, screen and (min-width: 744px) {
  .pm-133 {
    margin: 0 auto 80px;
  }
}
@media screen and (max-width: 743px) {
  .pm-133 {
    margin-bottom: 60px;
  }
}
.pm-133 img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}
@supports not (aspect-ratio: auto) {
  .pm-133 {
    position: relative;
  }
  .pm-133::before {
    content: "";
    float: left;
    padding-top: 100%;
  }
  .pm-133::after {
    content: "";
    clear: both;
    display: block;
  }
  .pm-133 img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.pm-133 img {
  border-radius: 40px;
}

.pm-165 {
  text-align: left;
  margin: 30px 30px 50px;
}
@media print, screen and (min-width: 744px) {
  .pm-165 {
    text-align: center;
    margin: 50px 0 10px;
  }
}
.pm-165 h1 {
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
  font-size: 10vw;
  color: #ddd;
  font-weight: bold;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 744px) {
  .pm-165 h1 {
    font-size: 70px;
  }
}

.pm-177 p,
.pm-111 p,
.pm-167 p {
  margin-bottom: 2em;
}

.pickup-container {
  background: linear-gradient(103.7deg, #f5f5f5 54.47%, #fafafa 99.06%);
}
@media print, screen and (min-width: 744px) {
  .pickup-container {
    margin-top: -70px;
    margin-bottom: 80px;
    padding: 94px 30px 110px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container {
    margin-top: 30px;
    margin-bottom: 48px;
    padding: 60px 0 80px;
  }
}
.pickup-container h2 {
  margin: auto;
}
@media print, screen and (min-width: 744px) {
  .pickup-container h2 {
    max-width: 1100px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container h2 {
    padding: 0 4.27vw;
  }
}
.pickup-container .swiper-container {
  position: relative;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .swiper-container {
    margin: auto;
    margin-top: 36px;
    max-width: 1100px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container .swiper-container {
    margin-top: 24px;
    padding: 0 4.27vw;
  }
}
@media print, screen and (min-width: 744px) {
  .pickup-container .swiper-container .swiper-slide {
    width: 400px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container .swiper-container .swiper-slide {
    width: 295px;
    max-width: calc(100vw - 83px);
  }
}
.pickup-container .swiper-container .swiper-button-prev,
.pickup-container .swiper-container .swiper-button-next {
  aspect-ratio: 1/1;
  width: 48px;
  position: absolute;
  transition: 0.2s;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .swiper-container .swiper-button-prev,
  .pickup-container .swiper-container .swiper-button-next {
    top: -60px;
    right: 0;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container .swiper-container .swiper-button-prev,
  .pickup-container .swiper-container .swiper-button-next {
    top: -44px;
    right: 4.27vw;
  }
}
@media (hover: hover) {
  .pickup-container
    .swiper-container
    .swiper-button-prev:where(:-moz-any-link, :enabled, summary):hover,
  .pickup-container
    .swiper-container
    .swiper-button-next:where(:-moz-any-link, :enabled, summary):hover {
    transform: scale(1.15);
  }
  .pickup-container
    .swiper-container
    .swiper-button-prev:where(:any-link, :enabled, summary):hover,
  .pickup-container
    .swiper-container
    .swiper-button-next:where(:any-link, :enabled, summary):hover {
    transform: scale(1.15);
  }
}
.pickup-container .swiper-container .swiper-button-prev::after,
.pickup-container .swiper-container .swiper-button-next::after {
  content: "";
  display: inline-block;
  width: 48px;
  height: 48px;
  vertical-align: middle;
  border-radius: 50%;
  background: #fff url(../images/ico_arrow.svg) no-repeat center center;
  background-size: 20px;
}
.pickup-container .swiper-container .swiper-button-prev:hover,
.pickup-container .swiper-container .swiper-button-next:hover {
  text-decoration: none;
  background: #f5f5f5;
}
.pickup-container .swiper-container .swiper-button-prev:hover::after,
.pickup-container .swiper-container .swiper-button-next:hover::after {
  background: #2d2d2d url(../images/ico_arrow_y.svg) no-repeat center center;
  background-size: 20px;
}
.pickup-container .swiper-container .swiper-button-prev {
  left: auto;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .swiper-container .swiper-button-prev {
    right: 74px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container .swiper-container .swiper-button-prev {
    right: 84px;
  }
}
.pickup-container .swiper-container .swiper-button-prev::after {
  transform: rotate(180deg);
}
.pickup-container .post-item {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  color: #424242;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .post-item {
    min-width: 400px;
    max-width: 400px;
  }
}
.pickup-container .post-item:hover {
  text-decoration: none;
}
.pickup-container .post-item .pm-118 {
  width: 100%;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .post-item .pm-118 {
    margin-bottom: 36px;
  }
}
.pickup-container .post-item .pm-123 {
  margin-left: auto;
  text-align: right;
}
.pickup-container .post-item h3 {
  width: 100%;
  line-height: 1.5;
}
@media print, screen and (min-width: 744px) {
  .pickup-container .post-item h3 {
    font-size: 20px;
  }
}
@media screen and (max-width: 743px) {
  .pickup-container .post-item h3 {
    font-size: 18px;
  }
}

@media print, screen and (min-width: 744px) {
  .banner-container {
    padding: 0 30px 80px;
  }
}
@media screen and (max-width: 743px) {
  .banner-container {
    padding: 0 20px 48px;
  }
}
.banner-container ul {
  display: flex;
}
@media print, screen and (min-width: 744px) {
  .banner-container ul {
    flex-wrap: wrap;
    gap: 26px;
    margin: auto;
    max-width: 1100px;
  }
}
@media screen and (max-width: 743px) {
  .banner-container ul {
    flex-direction: column;
    gap: 16px;
  }
}
.banner-container ul li {
  aspect-ratio: 532/169;
}
@media print, screen and (min-width: 744px) {
  .banner-container ul li {
    width: calc((100% - 26px) / 2);
  }
}
@media screen and (max-width: 743px) {
  .banner-container ul li {
    width: 100%;
  }
}
.banner-container ul li a {
  border: none;
}
.banner-container ul li a img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
  background-color: #ececec;
}

.blog .pm-029 h2,
.category .pm-029 h2 {
  margin: auto;
  max-width: 1100px;
}
@media print, screen and (min-width: 744px) {
  .blog .pm-029 h2,
  .category .pm-029 h2 {
    padding: 32px 0 40px;
  }
}
@media screen and (max-width: 743px) {
  .blog .pm-029 h2,
  .category .pm-029 h2 {
    padding: 64px 0 16px;
  }
}
@media print, screen and (min-width: 744px) {
  .blog .pm-116,
  .category .pm-116 {
    width: calc((100% - 80px) / 3) !important;
  }
}

@media screen and (max-width: 743px) {
  .single .pm-032 .pm-029 {
    padding: 0;
  }
}

/* ===== petomo v2 (2026-06-10): Service section redesign - Product-spec layout ===== */
.pm-096 { background: #fbfbfb; }
.pm-097.pm-012 { text-align: left; }
.pm-097 .pm-015 { padding: 0; }
.pm-097 .pm-015::before,
.pm-097 .pm-015::after { display: none; }
.pt-svcIcon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #e9e9e9; margin-bottom: 18px; }
.pt-svcIcon svg { width: 26px; height: 26px; }
.pt-svcName { display: block; font-weight: 800; line-height: 1.3; letter-spacing: 0.04em; font-feature-settings: "palt"; }
.pt-svcSub { display: block; margin-top: 10px; font-size: 14px; font-weight: 700; }
.pt-svcDivider { border: none; border-top: 1px solid #ececec; margin: 24px 0 26px; }
.pt-svcBtn { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; padding: 12px 12px 12px 26px; background: #fff; border-radius: 999px; font-weight: 700; color: #424242; text-decoration: none; box-shadow: 0 4px 14px rgba(130, 130, 130, 0.15); transition: box-shadow 0.25s, transform 0.25s; cursor: pointer; }
.pt-svcBtn_arrow { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #e9e9e9; transition: background 0.25s; }
.pt-svcBtn_arrow svg { width: 14px; height: 14px; }
@media (hover: hover) {
  .pt-svcBtn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(130, 130, 130, 0.28); }
  .pt-svcBtn:hover .pt-svcBtn_arrow { background: #2d2d2d; }
}
.pt-svcBtn:active { transform: translateY(1px); box-shadow: 0 2px 6px rgba(130, 130, 130, 0.2); }
@media print, screen and (min-width: 744px) {
  .pm-096 { padding: 110px 0 130px; }
  .pm-097.pm-012 { margin-bottom: 80px; }
  .pm-097 .pm-015 { font-size: 84px; }
  .pm-098 { min-height: 0; margin-bottom: 96px; background: none; display: flex; flex-direction: row-reverse; align-items: center; gap: 56px; }
  .pm-098:last-of-type { margin-bottom: 0; }
  .pm-098:nth-of-type(2) { background-image: none; flex-direction: row; }
  .pm-099 { width: 440px; flex: 0 1 440px; min-width: 0; margin-left: 0; padding-top: 0; }
  .pm-098:nth-of-type(2) .pm-099 { margin-left: 0; }
  .pt-svcPanel { flex: 1 1 auto; min-width: 0; border-radius: 32px; background: #f5f5f5; padding: 56px 0; display: flex; justify-content: center; }
  .pm-100 { position: relative; top: auto; right: auto; left: auto; filter: drop-shadow(0 18px 28px rgba(130, 130, 130, 0.3)); }
  .pm-098:nth-of-type(2) .pm-100 { top: auto; left: auto; right: auto; }
  .pt-svcName { font-size: 40px; }
}
@media screen and (max-width: 743px) {
  .pm-096 { padding: 64px 0 72px; }
  .pm-097.pm-012 { margin-bottom: 40px; }
  .pm-097 .pm-015 { font-size: 8.5vw; }
  .pm-098 { margin-bottom: 64px; }
  .pm-098:last-of-type { margin-bottom: 0; }
  .pt-svcPanel { border-radius: 24px; background: #f5f5f5; padding: 32px 0; margin-bottom: 28px; overflow: hidden; }
  .pm-100 { margin-bottom: 0; }
  .pt-svcName { font-size: 28px; }
  .pt-svcBtn { font-size: 14px; }
}

/* ===== petomo v4 (2026-06-10): main color #2d2d2d ===== */
@media print, screen and (min-width: 744px) {
  .pm-102 { font-size: 20px; line-height: 1.8; }
}
@media screen and (max-width: 743px) {
  .pm-102 { font-size: 17px; line-height: 1.8; }
}
@media (hover: hover) {
  .pt-svcBtn:hover .pt-svcBtn_arrow { background: #2d2d2d; }
}

/* ===== petomo v7 (2026-06-10): main #f5f5f5 / accent #e9e9e9 (light) — dark text/icons ===== */

/* ===== petomo v14 FV (final codex hero image + copy overlay) ===== */
.pm-076.pt-fv2{position:relative;width:100%;background:#f7f3ea;overflow:hidden;margin:0}
.pm-076.pt-fv2::after{display:none !important}
.pt-fv2 .pm-080{position:relative;width:100%;height:auto;min-height:0;max-height:none;overflow:visible}
.pt-fv2 .pm-080 img{display:block;width:100%;height:auto;min-width:0;min-height:0;max-height:none;object-fit:contain;transform:none;border-radius:0}
.pt-fv2 .pm-077{position:absolute;top:50%;left:5.5%;transform:translateY(-50%) !important;margin:0;bottom:auto;right:auto;opacity:1 !important;z-index:5;width:30%;max-width:380px;transition:none !important}
.pt-fv2 .pm-078{transform:none !important;scale:1 !important;white-space:normal !important;color:#2d2d2d;font-weight:900;letter-spacing:.04em !important;line-height:1.4 !important;font-size:clamp(20px,2.7vw,38px);margin:0 0 6%}
.pt-fv2 .pm-079{display:flex;gap:12px}
.pt-fv2 .pm-079 li{margin:0}
.pt-fv2 .pm-079 img{height:clamp(34px,3.1vw,46px);width:auto}
@media screen and (max-width:743px){
  .pt-fv2 .pm-077{position:static;transform:none !important;margin:0;max-width:100%;text-align:center;padding:104px 20px 18px}
  .pt-fv2 .pm-078{font-size:7.6vw !important;margin-bottom:18px}
  .pt-fv2 .pm-079{justify-content:center}
  .pt-fv2 .pm-080 img{border-radius:0}
}

/* ===== petomo v15: service panel bare + mascot scatter ===== */
/* (1) remove grey panel box around phone -> phone only */
.pt-svcPanel{background:transparent !important;padding:0 !important;border-radius:0 !important;overflow:visible !important}
/* (3) mascots scattered in section gutters/whitespace */
.pm-066,.pm-096,.pm-088,.pm-104,.pm-150,.pm-071,.pm-081{position:relative}
.pt-mascot{position:absolute;pointer-events:none;z-index:1;width:84px;height:auto;user-select:none}
.pt-m-about{left:0.5%;top:24%;width:138px;transform:rotate(-8deg)}      /* BIG */
.pt-m-svc{left:1.5%;top:50%;width:64px;transform:rotate(-8deg)}          /* small */
.pt-m-media{right:4%;top:24%;width:108px;transform:rotate(-6deg)}        /* med */
.pt-m-topics{right:1%;top:30%;width:128px;transform:rotate(8deg)}        /* BIG */
.pt-m-prod{left:4%;top:18%;width:60px;transform:rotate(8deg);z-index:2}  /* small */
.pt-m-faq{left:2%;bottom:14%;width:116px;transform:rotate(-10deg)}       /* med-big */
.pm-162{position:relative}
@media screen and (min-width:744px) and (max-width:1279px){
  .pt-mascot{transform:none}
  .pt-m-about{width:84px;left:-1%;top:18%}
  .pt-m-media{width:74px;right:1%;top:22%}
  .pt-m-topics{width:78px;right:-1%;top:24%}
  .pt-m-faq{width:74px;left:-1%;bottom:10%}
  .pt-m-svc,.pt-m-prod{display:none}
}
@media screen and (max-width:743px){
  .pt-m-about,.pt-m-svc,.pt-m-media,.pt-m-prod{display:none}
  .pt-m-topics{display:block;width:60px;right:-2%;top:1%}
  .pt-m-faq{display:block;width:62px;left:-3%;bottom:8%}
}

/* ===== petomo v16: drawer image removed + scattered mascots, page mascots bigger ===== */
.pm-037::before{display:none !important}
.pt-drawerDeco{position:absolute;inset:0;pointer-events:none;z-index:1}
.pt-dm{position:absolute;pointer-events:none;user-select:none;height:auto}
/* v80: 右に寄りすぎを解消。nav(x21-38%)を避けつつ 左/中央/右 へ均等に散らす */
.pt-dm1{right:11%;top:22%;width:356px;rotate:-6deg}    /* big, 右上(x89%) */
.pt-dm2{right:42%;top:9%;width:198px;rotate:8deg}      /* 中央上(x58%) */
.pt-dm3{right:8%;bottom:9%;width:266px;rotate:-7deg}   /* 右下(x92%) */
.pt-dm4{right:34%;top:50%;width:150px;rotate:10deg}    /* 中央(x66%) */
.pt-dm5{right:50%;top:45%;width:168px;rotate:-10deg}   /* 中央(x50%) */
.pt-dm6{left:2%;bottom:11%;width:188px;rotate:6deg}    /* 左下 */
.pt-dm7{left:7%;top:13%;width:118px;rotate:-8deg}      /* 左上 */
@media screen and (max-width:743px){
  .pt-dm1{right:-4%;top:14%;width:200px}
  .pt-dm2{right:auto;left:60%;top:7%;width:108px}
  .pt-dm3{right:-6%;bottom:20%;width:160px}
  .pt-dm4{right:4%;top:46%;width:92px}
  .pt-dm5,.pt-dm6,.pt-dm7{display:none}
}

/* ===== petomo v17: more homepage mascots ===== */
.pm-070{position:relative;z-index:3}
.pt-m-clap{right:4%;top:-26px;width:92px;transform:rotate(8deg);z-index:3}
.pt-m-svc2{right:2.5%;top:62%;width:80px;transform:rotate(9deg)}
.pt-m-media2{left:2%;top:52%;width:66px;transform:rotate(-9deg)}
.pt-m-topics2{left:0.5%;top:42%;width:104px;transform:rotate(-7deg)}
.pt-m-about2{right:1.5%;bottom:12%;width:58px;transform:rotate(7deg)}
@media screen and (min-width:744px) and (max-width:1279px){
  .pt-m-clap{width:60px;right:1%}
  .pt-m-topics2{width:64px;left:-1%}
  .pt-m-svc2,.pt-m-media2,.pt-m-about2{display:none}
}
@media screen and (max-width:743px){
  .pt-m-clap,.pt-m-svc2,.pt-m-media2,.pt-m-about2{display:none}
  .pt-m-topics2{display:block;width:48px;left:-3%;top:30%}
}

/* ===== petomo v18: removed service icon badges ===== */
.pt-svcName{margin-top:0}

/* ===== petomo v19: reference-style mascot CLUSTERS (grouped big+small) ===== */
.pt-mascot{display:none !important}  /* retire old even-scatter mascots */
.pm-066,.pm-088,.pm-104,.pm-071{position:relative}
.pt-cluster{position:absolute;pointer-events:none;z-index:2}
.pt-cm{position:absolute;height:auto;user-select:none;filter:drop-shadow(0 8px 14px rgba(80,70,55,.10))}

/* v78: 大小差を縮め(小を拡大)、全体を大きく、端から内側へ寄せる。footprintを縦に詰めて文字に被らせない */
.pt-cl-about{left:-16px;top:11%;width:170px;height:300px;transform:scale(1.55);transform-origin:left center}
.pt-cl-about .a{left:0;top:64px;width:150px;rotate:-6deg}            /* coral BIG */
.pt-cl-about .b{left:62px;top:0;width:92px;rotate:9deg;z-index:3}     /* sage */
.pt-cl-about .c{left:0;top:172px;width:86px;rotate:-10deg;z-index:3}  /* yellow */

.pt-cl-media{right:4px;top:13%;width:190px;height:220px;transform:scale(1.68);transform-origin:right center}
.pt-cl-media .a{right:0;top:34px;width:150px;rotate:7deg}            /* blue BIG */
.pt-cl-media .b{right:90px;top:0;width:90px;rotate:-8deg;z-index:3}   /* rose */

.pt-cl-topics{left:-70px;top:26%;width:170px;height:160px;transform:scale(1.85);transform-origin:left center}
.pt-cl-topics .a{left:0;top:0;width:142px;rotate:-7deg}             /* lilac BIG */
.pt-cl-topics .b{left:82px;top:74px;width:76px;rotate:10deg;z-index:3}  /* orange */

.pt-cl-faq{right:-4px;bottom:10%;width:185px;height:175px;transform:scale(1.6);transform-origin:right center}
.pt-cl-faq .a{right:0;top:0;width:152px;rotate:8deg}                /* peach BIG */
.pt-cl-faq .b{right:88px;top:100px;width:86px;rotate:-9deg;z-index:3}   /* cobalt */

@media screen and (min-width:744px) and (max-width:1279px){
  .pt-cluster{transform:scale(1.45);transform-origin:center}
  .pt-cl-about{left:-60px}.pt-cl-media{right:-56px}.pt-cl-topics{left:-64px}.pt-cl-faq{right:-56px}
}
@media screen and (max-width:743px){
  .pt-cl-about,.pt-cl-faq{display:block;transform:scale(1.08);transform-origin:left top}
  .pt-cl-about{left:-34px;top:6%}
  .pt-cl-faq{transform-origin:right top;right:-30px;bottom:8%}
  .pt-cl-media,.pt-cl-topics{display:none}
}

/* ===== petomo v20: real logo (wide) ===== */
.pm-045 img{width:200px !important}
@media screen and (max-width:743px){.pm-045 img{width:140px !important}}

/* ===== petomo v21: worry section (replaces product) + buttons removed ===== */
.pm-107{position:relative;background:#fafafa;padding:96px 0 104px;margin:0}
.pm-107 .pm-029{max-width:1140px}
.pt-worry__badge{display:block;width:-moz-max-content;width:max-content;margin:0 auto 20px;border:1.5px solid #d6d6d6;border-radius:999px;padding:7px 22px;font-size:13px;font-weight:700;color:#555;letter-spacing:.04em}
.pt-worry__heading{text-align:center;font-size:40px;font-weight:900;letter-spacing:.05em;color:#2d2d2d;margin:0 0 60px;font-feature-settings:"palt"}
.pt-worry__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;align-items:start}
.pt-worry__col{display:flex;flex-direction:column;align-items:center}
.pt-worry__col:nth-child(2),.pt-worry__col:nth-child(4){margin-top:52px}
.pt-worry__bubble{position:relative;width:100%}
.pt-worry__top,.pt-worry__bottom{display:block;width:96%;margin:0 auto}
.pt-worry__top{height:auto}
.pt-worry__txt{font-size:15px;line-height:1.9;font-weight:500;color:#2d2d2d;text-align:left;padding:14px 6px 12px}
.pt-worry__txt mark{background:#e7e7e7;color:inherit;padding:1px 3px;border-radius:3px;font-weight:600}
.pt-worry__chara{margin-top:16px;display:flex;align-items:flex-end;gap:8px;min-height:150px}
.pt-worry__mascot{width:104px;height:auto;filter:drop-shadow(0 6px 10px rgba(80,70,55,.1))}
.pt-worry__mark{font-size:18px;color:#aaa;font-weight:700;margin-bottom:6px}
@media screen and (max-width:1000px){
  .pt-worry__grid{grid-template-columns:repeat(2,1fr);gap:40px 28px;max-width:580px;margin:0 auto}
  .pt-worry__col{margin-top:0 !important}
}
@media screen and (max-width:743px){
  .pm-107{padding:64px 0 72px}
  .pt-worry__heading{font-size:7.2vw;margin-bottom:40px}
  .pt-worry__grid{gap:32px 18px}
  .pt-worry__txt{font-size:13px;line-height:1.85}
  .pt-worry__mascot{width:132px}
}

/* ===== petomo v22: studysapuri-style footer (gray-white gradient) ===== */
.pt-foot{position:relative;background:#fff;color:#2d2d2d;padding:120px 24px 70px;margin:0;overflow:hidden;border-top:1px solid rgba(0,0,0,.06)}
.pt-foot__inner{max-width:1040px;margin:0 auto}
.pt-foot__upper{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:54px}
.pt-foot__brandcol{width:240px;min-width:240px;flex-shrink:0}
.pt-foot__logo a{display:inline-flex;align-items:baseline;gap:12px;text-decoration:none}
.pt-foot__logo img{width:152px;height:auto;display:block}
.pt-foot__tag{font-size:11px;letter-spacing:.18em;font-weight:700;color:#7a7a7a;white-space:nowrap}
.pt-foot__dl{display:flex;gap:10px;margin-top:26px}
.pt-foot__dl li{margin:0}
.pt-foot__dl img{height:40px;width:auto;display:block}
.pt-foot__note{font-size:11px;line-height:1.6;color:#8a8a8a;margin-top:34px}
.pt-foot__nav{display:flex;justify-content:space-between;width:62%}
.pt-foot__sec{display:block;font-weight:700;color:#2d2d2d;font-size:14px;text-decoration:none;transition:color .35s}
a.pt-foot__sec+a.pt-foot__sec{margin-top:28px}
.pt-foot__list{margin-top:18px}
.pt-foot__list li{position:relative;padding-left:1.5em;margin-bottom:18px;font-size:13px;line-height:1.4}
.pt-foot__list li:last-child{margin-bottom:0}
.pt-foot__list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;border-radius:1px;background:#9a9a9a}
.pt-foot__list a{color:#4a4a4a;text-decoration:none;transition:color .35s;display:inline-flex;align-items:center}
.pt-foot__ext{display:inline-flex;width:10px;height:10px;margin-left:.5em;transform:translateY(-1px)}
.pt-foot__ext svg{width:100%;height:100%;fill:#8a8a8a}
.pt-foot__bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.12);padding-top:26px;margin-top:6px}
.pt-foot__copy{display:flex;align-items:center;gap:14px}
.pt-foot__copylogo{width:96px;height:auto;display:block}
.pt-foot__copy span{font-size:12px;color:#7a7a7a}
.pt-foot__legal{display:flex;gap:26px}
.pt-foot__legal a{font-size:12px;color:#5a5a5a;text-decoration:none;transition:color .35s}
@media (hover:hover){.pt-foot__sec:hover,.pt-foot__list a:hover,.pt-foot__legal a:hover{color:#841a75}}
@media screen and (max-width:900px){
  .pt-foot{padding:96px 22px 52px}
  .pt-foot__upper{flex-direction:column;gap:44px;padding-bottom:40px}
  .pt-foot__brandcol{width:100%;min-width:0}
  .pt-foot__note{margin-top:24px}
  .pt-foot__nav{width:100%;gap:24px}
}
@media screen and (max-width:560px){
  .pt-foot{padding:76px 20px 44px}
  .pt-foot__nav{flex-wrap:wrap;gap:32px 16px}
  .pt-foot__col{width:46%}
  .pt-foot__bottom{flex-direction:column;align-items:flex-start;gap:18px}
  .pt-foot__legal{gap:18px;flex-wrap:wrap}
}

/* ===== petomo v25: tighten marquee-area section margins ===== */
@media screen and (max-width:743px){
  .pm-066{margin-bottom:64px !important}
  .pm-070{margin-bottom:64px !important}
}
@media print, screen and (min-width:744px){
  .pm-066{margin-bottom:128px !important}
  .pm-070{margin-bottom:128px !important}
}

/* ===== petomo v26: legal pages ===== */
.pm-109{max-width:760px;margin:0 auto;font-size:15px;line-height:2.1;color:#424242;padding:8px 0 40px}
.pm-109 p{margin-bottom:1.6em}
.pm-109 h2{margin:2em 0 .8em}

/* ===== petomo v30: mascot idle float — kept for drawer wordmark ===== */
@keyframes ptFloat{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -8px;rotate:1.6deg}}
/* ===== petomo v75: mascot motion = カクカク (jerky/staccato), but MIXED per individual:
   some bob kakukaku (ptKaku), some only "glance" subtly (ptGlance — eyes-ish; the eyes are
   baked into each PNG so this is an approximated tiny dart, not literal pupils), and some
   stay completely still. translate+scale only so each keeps its static rotate: tilt.
   steps(1,end) snaps between discrete poses = the jerky look. ===== */
@keyframes ptKaku{
  0%   {translate:0 0;      scale:1 1}
  30%  {translate:0 -9px;   scale:1.05 .95}
  55%  {translate:1px -4px; scale:.98 1.02}
  80%  {translate:-1px -7px;scale:1.03 .97}
  100% {translate:0 0;      scale:1 1}
}
@keyframes ptGlance{
  0%,25%  {translate:0 0}
  30%,50% {translate:3px 0}
  55%,80% {translate:-3px 0}
  100%    {translate:0 0}
}
.pt-cm,.pt-dm,.pt-worry__mascot{animation:ptKaku 1.15s steps(1,end) infinite;transform-origin:50% 88%;will-change:translate,scale}

/* --- 動かない（静止） --- */
.pt-cm.b,
.pt-dm3,.pt-dm5,.pt-dm8,.pt-dm11,.pt-dm14{animation:none}

/* --- 目だけ動く（控えめな glance） --- */
.pt-cm.c,
.pt-dm2,.pt-dm6,.pt-dm9,.pt-dm12{animation-name:ptGlance;animation-duration:2.7s}
.pt-dm6{animation-delay:-0.9s}
.pt-dm9{animation-delay:-1.5s}
.pt-dm12{animation-delay:-2.2s}

/* --- カクカク組を個別に desync（同期させない） --- */
.pt-cl-about .a{animation-duration:1.0s;animation-delay:-0.2s}
.pt-cl-media .a{animation-duration:1.3s;animation-delay:-0.45s}
.pt-cl-topics .a{animation-duration:0.95s;animation-delay:-0.3s}
.pt-cl-faq .a{animation-duration:1.25s;animation-delay:-0.6s}
.pt-cl-svc .a{animation-duration:1.1s;animation-delay:-0.15s}
.pt-cl-clap .a{animation-duration:1.4s;animation-delay:-0.55s}
.pt-cm.d{animation-duration:1.35s;animation-delay:-0.5s}
.pt-dm1{animation-duration:1.2s;animation-delay:-0.1s}
.pt-dm4{animation-duration:1.0s;animation-delay:-0.5s}
.pt-dm7{animation-duration:1.35s;animation-delay:-0.25s}
.pt-dm10{animation-duration:1.1s;animation-delay:-0.65s}
.pt-dm13{animation-duration:1.45s;animation-delay:-0.35s}

/* ===== petomo v74→75: worry speech-bubbles keep their smooth up/down float ===== */
@keyframes ptBubFloat{
  0%   {translate:0 0}
  25%  {translate:0 -9px}
  50%  {translate:0 0}
  75%  {translate:0 6px}
  100% {translate:0 0}
}
.pt-worry__bubble{animation:ptBubFloat 3.4s ease-in-out infinite;will-change:translate}
.pt-worry__col:nth-child(1) .pt-worry__bubble{animation-duration:3.5s;animation-delay:-0.9s}
.pt-worry__col:nth-child(2) .pt-worry__bubble{animation-duration:3.1s;animation-delay:-1.8s}
.pt-worry__col:nth-child(3) .pt-worry__bubble{animation-duration:3.9s;animation-delay:-0.2s}
.pt-worry__col:nth-child(4) .pt-worry__bubble{animation-duration:2.9s;animation-delay:-1.5s}

/* v76: お悩みのキャラを各列の吹き出しと連動（同じ float・同 duration/delay）でユニットとして上下 */
.pt-worry__col:nth-child(1) .pt-worry__mascot{animation:ptBubFloat 3.5s ease-in-out -0.9s infinite}
.pt-worry__col:nth-child(2) .pt-worry__mascot{animation:ptBubFloat 3.1s ease-in-out -1.8s infinite}
.pt-worry__col:nth-child(3) .pt-worry__mascot{animation:ptBubFloat 3.9s ease-in-out -0.2s infinite}
.pt-worry__col:nth-child(4) .pt-worry__mascot{animation:ptBubFloat 2.9s ease-in-out -1.5s infinite}

/* reduce-motion: kill all mascot + bubble motion (accessibility) */
@media (prefers-reduced-motion:reduce){
  .pt-cm,.pt-dm,.pt-worry__mascot,.pt-worry__bubble{animation:none !important}
}

/* ===== petomo v87: nodezain参考 ① 見出し直下の覗き列（顔だけ上向きに重なり） ② 見出し脇の極小バッジ ===== */
.pt-peekrow{display:flex;justify-content:center;align-items:flex-start;height:176px;overflow:hidden;
  margin:22px auto 56px;max-width:1240px;pointer-events:none}
.pt-peekrow img{width:auto;display:block;filter:drop-shadow(0 10px 18px rgba(80,70,55,.10))}
.pt-peekrow img:nth-child(1){height:280px}
.pt-peekrow img:nth-child(2){height:250px;margin-left:-166px}
.pt-peekrow img:nth-child(3){height:322px;margin-left:-192px}
.pt-peekrow img:nth-child(4){height:262px;margin-left:-174px}
.pt-peekrow img:nth-child(5){height:220px;margin-left:-146px}
.pt-peekrow img:nth-child(6){height:300px;margin-left:-182px}
.pt-peekrow img:nth-child(7){height:272px;margin-left:-166px}
@media screen and (max-width:743px){
  .pt-peekrow{height:104px;margin:10px auto 28px}
  .pt-peekrow img{height:168px !important;margin-left:-66px !important}
  .pt-peekrow img:first-child{margin-left:0 !important}
}
/* ② 番号/見出し脇の極小バッジ（できること各機能ラベルの左） */
.pt-badge{height:34px;width:auto;vertical-align:middle;margin:-6px 9px 0 0;
  filter:drop-shadow(0 3px 6px rgba(80,70,55,.12))}

/* ===== petomo v32: colorful wordmark bottom-right of open drawer ===== */
.pt-drawerLogo{position:absolute;right:5%;bottom:6%;width:300px;height:auto;pointer-events:none;z-index:2}
@media screen and (max-width:743px){.pt-drawerLogo{right:5%;bottom:118px;width:160px}}

/* ===== petomo v33: phone-mock screen fill — kill gray gap on short slides ===== */
@media print, screen and (min-width:744px){
  .pm-100 .swiper-slide img{
    width:218px !important;
    height:471px !important;
    object-fit:cover;
    object-position:center top;
  }
}

/* ===== petomo v67: read-article (読み物) cards — each card frame a brand color ===== */
/* order = col-01..06: blue / pink / lilac / yellow / teal / coral */
.pm-104 .pm-116:nth-child(1) a{background-color:#567EBE}
.pm-104 .pm-116:nth-child(2) a{background-color:#D55373}
.pm-104 .pm-116:nth-child(3) a{background-color:#BB9DC6}
.pm-104 .pm-116:nth-child(4) a{background-color:#F2C942}
.pm-104 .pm-116:nth-child(5) a{background-color:#82B0AC}
.pm-104 .pm-116:nth-child(6) a{background-color:#F7746E}
/* hover = slightly darkened own color (override the generic gray hover) */
@media (hover:hover){
  .pm-104 .pm-116:nth-child(1) a:where(:any-link,:enabled,summary):hover{background-color:#4a6ca8}
  .pm-104 .pm-116:nth-child(2) a:where(:any-link,:enabled,summary):hover{background-color:#c14965}
  .pm-104 .pm-116:nth-child(3) a:where(:any-link,:enabled,summary):hover{background-color:#ad8db8}
  .pm-104 .pm-116:nth-child(4) a:where(:any-link,:enabled,summary):hover{background-color:#e3bb2f}
  .pm-104 .pm-116:nth-child(5) a:where(:any-link,:enabled,summary):hover{background-color:#73a29d}
  .pm-104 .pm-116:nth-child(6) a:where(:any-link,:enabled,summary):hover{background-color:#ef6259}
}
/* dark cards (blue,pink) -> white text; date + tag-dot lightened */
.pm-104 .pm-116:nth-child(1) a,
.pm-104 .pm-116:nth-child(2) a{color:#fff}
.pm-104 .pm-116:nth-child(1) .pm-117,
.pm-104 .pm-116:nth-child(2) .pm-117{color:rgba(255,255,255,.82)}
.pm-104 .pm-116:nth-child(1) .pm-123 li::before,
.pm-104 .pm-116:nth-child(2) .pm-123 li::before{background:#fff}
/* light cards (lilac,yellow,teal,coral) -> dark text; date darkened for contrast */
.pm-104 .pm-116:nth-child(3) a,
.pm-104 .pm-116:nth-child(4) a,
.pm-104 .pm-116:nth-child(5) a,
.pm-104 .pm-116:nth-child(6) a{color:#2d2d2d}
.pm-104 .pm-116:nth-child(3) .pm-117,
.pm-104 .pm-116:nth-child(4) .pm-117,
.pm-104 .pm-116:nth-child(5) .pm-117,
.pm-104 .pm-116:nth-child(6) .pm-117{color:rgba(45,45,45,.72)}

/* ===== petomo v68: surface more of the 31 characters ===== */
.pm-096{position:relative}

/* drawer: +7 chars (dm8–dm14) in empty corners, clear of the nav text column */
.pt-dm8{left:1%;top:43%;width:152px;rotate:7deg}       /* 左中 */
.pt-dm9{right:4%;top:6%;width:190px;rotate:-7deg}      /* 右上(x96%) */
.pt-dm10{right:46%;top:4%;width:124px;rotate:9deg}     /* 中央上(x54%) */
.pt-dm11{right:40%;bottom:14%;width:172px;rotate:-9deg}/* 中央下(x60%) */
.pt-dm12{right:24%;bottom:6%;width:134px;rotate:6deg}  /* 右下寄り(x76%) */
.pt-dm13{left:3%;bottom:31%;width:142px;rotate:-8deg}  /* 左下 */
.pt-dm14{left:9%;top:74%;width:114px;rotate:8deg}      /* 左下 */
.pt-dm:nth-child(8){animation-duration:4.1s;animation-delay:-0.4s}
.pt-dm:nth-child(9){animation-duration:3.5s;animation-delay:-1.1s}
.pt-dm:nth-child(10){animation-duration:4.4s;animation-delay:-1.8s}
.pt-dm:nth-child(11){animation-duration:3.3s;animation-delay:-0.7s}
.pt-dm:nth-child(12){animation-duration:4.0s;animation-delay:-2.0s}
.pt-dm:nth-child(13){animation-duration:3.7s;animation-delay:-0.2s}
.pt-dm:nth-child(14){animation-duration:4.6s;animation-delay:-1.4s}
@media screen and (max-width:743px){
  .pt-dm8,.pt-dm10,.pt-dm11,.pt-dm12,.pt-dm14{display:none}
  .pt-dm9{right:4%;top:6%;width:78px}
  .pt-dm13{left:2%;bottom:30%;width:60px}
}

/* extra peek-member added to each existing cluster (within its footprint) */
.pt-cl-about .d{left:80px;top:152px;width:84px;rotate:6deg;z-index:3}
.pt-cl-media .c{right:4px;top:128px;width:84px;rotate:9deg;z-index:3}
.pt-cl-topics .c{left:6px;top:104px;width:72px;rotate:-9deg;z-index:3}
.pt-cl-faq .c{right:4px;top:108px;width:82px;rotate:7deg;z-index:3}
.pt-cm:nth-child(4){animation-duration:3.8s;animation-delay:-1.6s}

/* two new peek clusters in できること, far-left gutter (top & bottom) */
.pt-cl-svc{left:-30px;top:2%;width:160px;height:170px;transform:scale(1.6);transform-origin:left center}
.pt-cl-svc .a{left:0;top:0;width:112px;rotate:-7deg}
.pt-cl-svc .b{left:54px;top:62px;width:84px;rotate:9deg;z-index:3}
.pt-cl-clap{left:-30px;bottom:4%;width:160px;height:170px;transform:scale(1.6);transform-origin:left center}
.pt-cl-clap .a{left:0;top:0;width:110px;rotate:8deg}
.pt-cl-clap .b{left:52px;top:64px;width:82px;rotate:-8deg;z-index:3}
@media screen and (min-width:744px) and (max-width:1279px){
  .pt-cl-svc{transform:scale(1.15)}.pt-cl-clap{transform:scale(1.15)}
}
@media screen and (max-width:743px){
  .pt-cl-svc{transform:scale(.72);top:1%}.pt-cl-clap{transform:scale(.72);bottom:2%}
}

/* ===== petomo v69 ===== */
/* ② more breathing room between the FV and the section below */
@media print, screen and (min-width:744px){.pm-066{margin-top:104px}}
@media screen and (max-width:743px){.pm-066{margin-top:56px}}

/* ③ (v78) 掲載実績のキャラは撤去 */

/* ④ guideline card -> rose, contact card -> blue */
.pm-083 a{background-color:#b95e83}
.pm-084 a{background-color:#6187c0}
@media (hover:hover){
  .pm-083 a:where(:any-link,:enabled,summary):hover{background-color:#a8506f}
  .pm-084 a:where(:any-link,:enabled,summary):hover{background-color:#547ab6}
  .pm-083 a:where(:any-link,:enabled,summary):hover::after{background-color:#b95e83}
  .pm-084 a:where(:any-link,:enabled,summary):hover::after{background-color:#6187c0}
}

/* ===== petomo v71: felt / napped (起毛) texture on all colored cards =====
   soft fractal-noise fibres blended into the card's own background-color via
   background-blend-mode, so the photo + text (in front) stay untouched. */
.pm-104 .pm-116 a,
.pm-083 a,.pm-084 a{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='ft'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='5' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='0.85' intercept='0.08'/%3E%3CfeFuncG type='linear' slope='0.85' intercept='0.08'/%3E%3CfeFuncB type='linear' slope='0.85' intercept='0.08'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23ft)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='fz'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' seed='5' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='0.6' intercept='0.2'/%3E%3CfeFuncG type='linear' slope='0.6' intercept='0.2'/%3E%3CfeFuncB type='linear' slope='0.6' intercept='0.2'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23fz)'/%3E%3C/svg%3E");
  background-repeat:repeat,repeat;
  background-size:240px 240px,90px 90px;
  background-blend-mode:soft-light,soft-light;
}

/* v71→v76: お悩み mascots 大きく（大小ミックス維持・想像より大きめ）, desktop/tablet only */
@media print, screen and (min-width:744px){
  .pt-worry__col:nth-child(1) .pt-worry__mascot{width:238px}
  .pt-worry__col:nth-child(2) .pt-worry__mascot{width:202px}
  .pt-worry__col:nth-child(3) .pt-worry__mascot{width:226px}
  .pt-worry__col:nth-child(4) .pt-worry__mascot{width:196px}
}

/* ===== petomo v77: footer bottom-right mascot row (peeks up from the edge, clipped) ===== */
.pt-foot{padding-bottom:262px}                 /* open space below the legal row for the bigger group */
.pt-foot__mascots{position:absolute;right:0;bottom:-100px;display:flex;align-items:flex-end;
  pointer-events:none;z-index:1;padding-right:8px}
.pt-fm{display:block;width:auto;height:auto;filter:drop-shadow(0 8px 16px rgba(80,70,55,.10))}
/* v84: 大きいまま 右端へぎゅっと密集（かなり深い重なりで右側のまとまった塊に） */
.pt-fm1{height:292px}                             /* coral */
.pt-fm2{height:266px;margin-left:-188px}          /* lilac */
.pt-fm3{height:324px;margin-left:-238px}          /* sage (tallest) */
.pt-fm4{height:294px;margin-left:-210px}          /* blue */
.pt-fm5{height:204px;margin-left:-140px}          /* rose (small) */
.pt-fm6{height:302px;margin-left:-220px}          /* orange */
.pt-fm7{height:290px;margin-left:-206px}          /* yellow */
@media screen and (max-width:900px){
  .pt-foot{padding-bottom:208px}
  .pt-foot__mascots{bottom:-100px;transform:scale(.74);transform-origin:bottom right}
}
@media screen and (max-width:560px){
  .pt-foot{padding-bottom:150px}
  .pt-foot__mascots{bottom:-80px;transform:scale(.5);transform-origin:bottom right}
}

/* ===== petomo v80 ②: クラスターのキャラが「一言しゃべる」吹き出し＋スクロールでぴょこっと出現 ===== */
/* v81: 手描き風（ゆらぎのある細い黒線）の吹き出し。tailは下向き中央。背景はSVGで描く */
.pt-say{
  position:absolute;z-index:6;
  background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20240%20124'%3E%3Cpath%20d='M28,50%20C22,28%2048,15%2084,14%20C130,11%20180,13%20210,18%20C228,22%20235,38%20229,54%20C226,68%20231,80%20215,88%20C212,100%20217,112%20208,120%20C201,112%20196,102%20188,94%20C158,91%20108,92%2074,90%20C50,89%2034,86%2026,76%20C15,68%2015,59%2028,50%20Z'%20fill='none'%20stroke='%233a332c'%20stroke-width='3.6'%20stroke-linejoin='round'%20stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center top;
  background-size:100% 100%;
  padding:9px 22px 25px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#3a332c;
  white-space:nowrap;line-height:1.4;text-align:center
}
.pt-cl-about .pt-say{left:24px;top:24px}     /* coral(.a top:64)の頭上へ */
.pt-cl-media .pt-say{right:38px;top:-8px}    /* blue(.a top:34)の頭上へ */
.pt-cl-topics .pt-say{left:44px;top:-42px}
.pt-cl-faq .pt-say{right:42px;top:-42px}

/* スクロールでぴょこっと出る：クラスターを scale プロパティで 0→1 (transformの拡大とは別レイヤー) */
.pt-cluster{scale:0}
.pt-cluster.is-in{animation:ptPop .55s cubic-bezier(.34,1.56,.64,1) both}
@keyframes ptPop{0%{scale:0}70%{scale:1.08}100%{scale:1}}
@media (prefers-reduced-motion:reduce){.pt-cluster{scale:1}.pt-cluster.is-in{animation:none}}

/* ===== petomo v92: 「petomoでできること」見出しだけ 下に下げる＋フォントをKlee One(手書き)に ===== */
.pm-097{margin-top:224px}
/* 英字(petomo)は元の Josefin Sans のまま、日本語(でできること)だけ Kiwi Maru(やわらかい丸明朝) に */
.pm-097 .pm-015{font-family:"Josefin Sans","Kiwi Maru","Noto Sans JP",sans-serif}
/* お悩み見出しも できること と同じ Kiwi Maru に揃える */
.pt-worry__heading{font-family:"Josefin Sans","Kiwi Maru","Noto Sans JP",sans-serif}
@media screen and (max-width:743px){.pm-097{margin-top:132px}}

/* ===== petomo v88: トップページ背景色を #FCF7F0（クリーム）に。ヒーロー本体・下端の丸スクープ・お悩み節も統一。footerの白は維持。サブページは対象外 ===== */
body.home{background:#FCF7F0}
body.home .pm-076,
body.home .pm-076::after,
body.home .pm-107,
body.home .pt-foot{background:#FCF7F0}
body.home .pt-foot{border-top:none}
/* v105: メニュー(ドロワー)の背景もクリームに */
.pm-037{background:#FCF7F0}
