@charset "UTF-8";
/* ==========================================================================
   Foundation
   ========================================================================== */
/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 62.5%;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
  display: none;
  height: 0;
}

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden],
template {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: 1px dotted; /* Add a bordered underline effect in all browsers */
  text-decoration: none; /* Remove text decoration in Firefox 40+ */
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

b,
strong {
  font-weight: bolder; /* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
  font-style: italic; /* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
  background-color: #ff0;
  color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number] {
  width: auto; /* Firefox 36+ */
}

[type=search] {
  -webkit-appearance: textfield; /* Safari 8+ */
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Safari 8 */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule. */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: 0;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
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; /* Correct the inability to style clickable types in iOS */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS and Safari */
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

audio,
canvas,
progress,
video {
  display: inline-block; /* Internet Explorer 11+, Windows Phone 8.1+ */
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* # =================================================================
   # Selection
   # ================================================================= */
/* Specify text selection background color and omit drop shadow */
::-moz-selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* Required when declaring ::selection */
  color: #000;
  text-shadow: none;
}

body {
  font-family: "fot-tsukuaoldmin-pr6n", "ヒラギノ角ゴ ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, system-ui, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

img {
  vertical-align: bottom;
}

ul {
  list-style: none;
}

a {
  color: #000;
  text-decoration: none;
}

.js-img {
  opacity: 0;
  scale: 1.25;
  -webkit-transition: 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.2s;
  transition: 1.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.2s;
}
.js-img.start {
  opacity: 1;
  scale: 1;
}

.js-btn {
  opacity: 0;
  scale: 1.25;
  -webkit-transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.js-btn.start {
  opacity: 1;
  scale: 1;
}

.u-float01 {
  -webkit-animation: float02 4s ease-in-out infinite;
          animation: float02 4s ease-in-out infinite;
}

.u-float02 {
  -webkit-animation: float02 3s ease-in-out infinite alternate 1s;
          animation: float02 3s ease-in-out infinite alternate 1s;
}

.u-float03 {
  -webkit-animation: float03 2s ease-in-out infinite 1.5s;
          animation: float03 2s ease-in-out infinite 1.5s;
}

@-webkit-keyframes float01 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}

@keyframes float01 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@-webkit-keyframes float02 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
}
@keyframes float02 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
}
@-webkit-keyframes float03 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
}
@keyframes float03 {
  0%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
}
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translatex(-100%);
            transform: translatex(-100%);
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  100% {
    -webkit-transform: translatex(-100%);
            transform: translatex(-100%);
  }
}
img {
  height: auto;
  width: 100%;
}

.l-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .l-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 5.3333333333vw 3.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-header {
    gap: clamp(21.9619326501px, 2.196193265vw, 30px);
    padding-left: clamp(43.9238653001px, 4.39238653vw, 60px);
    padding-top: clamp(36.6032210835px, 3.6603221083vw, 50px);
  }
}
.l-header.is-fixed {
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}
.l-header.is-fixed .l-header-logo-otg a,
.l-header.is-fixed .l-header-logo-toyopet a {
  background: #000;
}

.l-header-logo-otg a {
  background: #fff;
  display: block;
  overflow: hidden;
  -webkit-mask-image: url("../img/logo-otg.svg");
          mask-image: url("../img/logo-otg.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  text-indent: -999px;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
@media only screen and (max-width: 768px) {
  .l-header-logo-otg a {
    height: 8vw;
    width: 24.4444444444vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-header-logo-otg a {
    height: clamp(28.5505124451px, 2.8550512445vw, 39px);
    width: clamp(84.1874084919px, 8.4187408492vw, 115px);
  }
}

.l-header-logo-toyopet a {
  background: #fff;
  display: block;
  overflow: hidden;
  -webkit-mask-image: url("../img/logo-toyopet.svg");
          mask-image: url("../img/logo-toyopet.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  text-indent: -999px;
  -webkit-transition: background 0.3s;
  transition: background 0.3s;
}
@media only screen and (max-width: 768px) {
  .l-header-logo-toyopet a {
    height: 5.9555555556vw;
    width: 38.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-header-logo-toyopet a {
    height: clamp(28.5505124451px, 2.8550512445vw, 39px);
    width: clamp(185.2122986823px, 18.5212298682vw, 253px);
  }
}

.l-contents {
  overflow-x: hidden;
}
@media only screen and (max-width: 768px) {
  .l-contents {
    background: url("../img/bg-main_sp.png") repeat-y center center/100% auto;
    padding-bottom: 12.8888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-contents {
    background: url("../img/bg-main.png") repeat-y center center/100% auto;
    padding-bottom: clamp(58.5651537335px, 5.8565153734vw, 80px);
  }
}
@media only screen and (max-width: 768px) {
  .l-contents .c-message {
    display: none;
  }
}

.l-footer {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: url("../img/img-footer.jpg") no-repeat center center/cover;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media only screen and (max-width: 768px) {
  .l-footer {
    background-position: center top;
    height: 75.9111111111vw;
    padding-bottom: 3.0222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-footer {
    height: clamp(385.065885798px, 38.5065885798vw, 526px);
    padding-bottom: clamp(19.0336749634px, 1.9033674963vw, 26px);
  }
}

@media only screen and (max-width: 768px) {
  .l-footer-logo {
    margin-bottom: 22.2222222222vw;
    width: 51.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-footer-logo {
    margin-bottom: clamp(109.8096632504px, 10.980966325vw, 150px);
    width: clamp(224.0117130307px, 22.4011713031vw, 306px);
  }
}

@media only screen and (max-width: 768px) {
  .l-footer-logo-otg {
    width: 19.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .l-footer-logo-otg {
    width: clamp(84.9194729136px, 8.4919472914vw, 116px);
  }
}

.c-message {
  font-family: "alternate-gothic-atf", sans-serif;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  white-space: nowrap;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .c-message {
    font-size: 3.7333333333vw;
    left: 3.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .c-message {
    font-size: clamp(13.9092240117px, 1.3909224012vw, 19px);
    left: clamp(43.9238653001px, 4.39238653vw, 60px);
  }
}

.p-mv {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-mv {
    height: 175.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv {
    height: clamp(562.2254758419px, 56.2225475842vw, 768px);
  }
}
.p-mv .c-message {
  color: #fff;
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .p-mv .c-message {
    bottom: clamp(24.1581259151px, 2.4158125915vw, 33px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv .c-message {
    left: clamp(43.9238653001px, 4.39238653vw, 60px);
    top: 50%;
    translate: 0 -50%;
  }
}

.p-mv-slider {
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}

.p-mv-slide {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-mv-slide {
    height: 175.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv-slide {
    height: clamp(562.2254758419px, 56.2225475842vw, 768px);
  }
}
.p-mv-slide img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

.add-animation {
  -webkit-animation: zoom 16s linear infinite;
          animation: zoom 16s linear infinite;
}

@-webkit-keyframes zoom {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}

@keyframes zoom {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
.p-mv-title {
  left: 50%;
  position: absolute;
  translate: -50%;
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .p-mv-title {
    top: 48.3555555556vw;
    width: 74.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv-title {
    top: clamp(161.0541727672px, 16.1054172767vw, 220px);
    width: clamp(278.1844802343px, 27.8184480234vw, 380px);
  }
}

.p-mv-scroll {
  bottom: 0;
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .p-mv-scroll {
    height: 40.3555555556vw;
    right: 1.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv-scroll {
    height: clamp(144.2166910688px, 14.4216691069vw, 197px);
    right: clamp(65.8857979502px, 6.588579795vw, 90px);
  }
}

.p-mv-scroll-text {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .p-mv-scroll-text {
    font-size: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv-scroll-text {
    font-size: clamp(9.5168374817px, 0.9516837482vw, 13px);
  }
}

.p-mv-scroll-bar {
  background: #fff;
  bottom: 0;
  left: 50%;
  margin-left: -1px;
  overflow: hidden;
  position: absolute;
  width: 1px;
}
@media only screen and (max-width: 768px) {
  .p-mv-scroll-bar {
    height: 30.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-mv-scroll-bar {
    height: clamp(113.4699853587px, 11.3469985359vw, 155px);
  }
}
.p-mv-scroll-bar span {
  -webkit-animation: scrollbar 2s ease-in-out infinite;
          animation: scrollbar 2s ease-in-out infinite;
  background: #29ABE2;
  display: block;
  height: 200%;
  left: 0;
  position: absolute;
  top: 0;
  width: 1px;
}

@-webkit-keyframes scrollbar {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  70% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}

@keyframes scrollbar {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  70% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.p-sec {
  position: relative;
}

.p-sec-inner {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .p-sec-inner {
    margin-inline: auto;
    width: clamp(805.270863836px, 80.5270863836vw, 1100px);
  }
}

.p-sec-message {
  line-height: 1;
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .p-sec-message {
    font-size: 3.5555555556vw;
    left: 0;
    top: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec-message {
    font-size: clamp(13.17715959px, 1.317715959vw, 18px);
    left: clamp(36.6032210835px, 3.6603221083vw, 50px);
    top: 0;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec01 {
    margin-bottom: 11.5555555556vw;
    padding: 16vw 10.6666666667vw 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01 {
    margin-bottom: clamp(185.944363104px, 18.5944363104vw, 254px);
    padding-top: clamp(102.4890190337px, 10.2489019034vw, 140px);
  }
}
@media only screen and (max-width: 768px) {
  .p-sec01 .p-sec-message {
    top: -5.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01 .p-sec-message {
    top: clamp(-16.8374816984px, -1.6837481698vw, -23px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01 .p-sec-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(43.9238653001px, 4.39238653vw, 60px);
    padding-left: clamp(95.168374817px, 9.5168374817vw, 130px);
  }
}

.p-sec01-image {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec01-image {
    margin: 0 auto 10.1333333333vw;
    width: 56.8888888889vw;
  }
}
.p-sec01-image p {
  overflow: hidden;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .p-sec01-image p {
    border-radius: 3.2888888889vw;
    height: 88.3555555556vw;
    width: 56.8888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-image p {
    border-radius: clamp(27.0863836018px, 2.7086383602vw, 37px);
    height: clamp(428.9897510981px, 42.8989751098vw, 586px);
    width: clamp(275.9882869693px, 27.5988286969vw, 377px);
  }
}

.p-sec01-detail {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec01-detail {
    margin-inline: auto;
    width: 56.8888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-detail {
    padding-top: clamp(265.0073206442px, 26.5007320644vw, 362px);
  }
}

.p-sec01-circle01 {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-sec01-circle01 {
    left: 15.6444444444vw;
    top: 40vw;
    width: 56.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-circle01 {
    left: clamp(27.8184480234px, 2.7818448023vw, 38px);
    top: clamp(102.4890190337px, 10.2489019034vw, 140px);
    width: clamp(319.9121522694px, 31.9912152269vw, 437px);
  }
}

.p-sec01-circle02 {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-sec01-circle02 {
    left: 8.7111111111vw;
    top: 74.6666666667vw;
    width: 39.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-circle02 {
    left: clamp(229.1361639824px, 22.9136163982vw, 313px);
    top: clamp(288.4333821376px, 28.8433382138vw, 394px);
    width: clamp(225.4758418741px, 22.5475841874vw, 308px);
  }
}

.p-sec01-catch {
  font-weight: normal;
}
@media only screen and (max-width: 768px) {
  .p-sec01-catch {
    font-size: 3.5555555556vw;
    margin-bottom: 4.4444444444vw;
    text-align: center;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-catch {
    font-size: clamp(13.17715959px, 1.317715959vw, 18px);
    margin-bottom: clamp(32.9428989751px, 3.2942898975vw, 45px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec01-text {
    font-size: 3.1111111111vw;
    line-height: 2;
    padding-inline: 2.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-text {
    font-size: clamp(10.980966325px, 1.0980966325vw, 15px);
    line-height: 2.6;
  }
}

.p-sec01-image-sub {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-sec01-image-sub {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec01-image-sub {
    right: clamp(-14.6412884334px, -1.4641288433vw, -20px);
    top: clamp(175.6954612006px, 17.5695461201vw, 240px);
    width: clamp(139.0922401171px, 13.9092240117vw, 190px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec02 {
    margin-bottom: 28.8vw;
    padding-left: 10.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02 {
    margin-bottom: clamp(139.0922401171px, 13.9092240117vw, 190px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02 .c-message {
    top: clamp(245.9736456808px, 24.5973645681vw, 336px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02 .p-sec-message {
    top: clamp(-91.5080527086px, -9.1508052709vw, -125px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02 .p-sec-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: clamp(29.2825768668px, 2.9282576867vw, 40px);
    padding-left: clamp(102.4890190337px, 10.2489019034vw, 140px);
  }
}

.p-sec02-image {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec02-image {
    margin-bottom: 19.5555555556vw;
    padding-left: 13.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-image {
    padding-top: clamp(70.2781844802px, 7.027818448vw, 96px);
  }
}
.p-sec02-image .p-sec02-image-main {
  overflow: hidden;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 768px) {
  .p-sec02-image .p-sec02-image-main {
    border-radius: 3.2888888889vw;
    height: 55.7333333333vw;
    width: 77.9555555556vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-image .p-sec02-image-main {
    border-radius: clamp(27.0863836018px, 2.7086383602vw, 37px);
    height: clamp(223.2796486091px, 22.3279648609vw, 305px);
    width: clamp(313.3235724744px, 31.3323572474vw, 428px);
  }
}

.p-sec02-image-sub {
  position: absolute;
  z-index: 3;
}
@media only screen and (max-width: 768px) {
  .p-sec02-image-sub {
    bottom: -8vw;
    right: 2.6666666667vw;
    width: 29.5111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-image-sub {
    right: clamp(-19.0336749634px, -1.9033674963vw, -26px);
    top: clamp(275.2562225476px, 27.5256222548vw, 376px);
    width: clamp(139.0922401171px, 13.9092240117vw, 190px);
  }
}

.p-sec02-detail {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec02-detail {
    padding-right: 10.6666666667vw;
  }
}

.p-sec02-circle01 {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-sec02-circle01 {
    bottom: -13.7777777778vw;
    left: 7.8222222222vw;
    width: 31.5555555556vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-circle01 {
    right: clamp(-48.3162518302px, -4.831625183vw, -66px);
    top: clamp(-29.2825768668px, -2.9282576867vw, -40px);
    width: clamp(259.1508052709px, 25.9150805271vw, 354px);
  }
}

.p-sec02-circle02 {
  position: absolute;
}
@media only screen and (max-width: 768px) {
  .p-sec02-circle02 {
    bottom: -26.6666666667vw;
    left: -3.5555555556vw;
    width: 24.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-circle02 {
    left: clamp(-36.6032210835px, -3.6603221083vw, -50px);
    top: clamp(229.8682284041px, 22.9868228404vw, 314px);
    width: clamp(199.8535871157px, 19.9853587116vw, 273px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec02-text {
    font-size: 3.1111111111vw;
    line-height: 2.28;
    margin-block: auto;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-text {
    font-size: clamp(10.980966325px, 1.0980966325vw, 15px);
    line-height: 2.6;
  }
}
@media only screen and (max-width: 768px) {
  .p-sec02-text sup {
    margin-top: 1.3333333333vw;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec02-offer {
    margin: 3.5555555556vw auto 0;
    width: 64vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec02-offer {
    font-size: clamp(8.78477306px, 0.878477306vw, 12px);
    margin-top: clamp(3.6603221083px, 0.3660322108vw, 5px);
  }
}

.p-sec03 {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec03 {
    height: 94.3111111111vw;
    margin-bottom: 26.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03 {
    height: clamp(283.3089311859px, 28.3308931186vw, 387px);
    margin-bottom: clamp(157.3938506589px, 15.7393850659vw, 215px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-inner {
    -webkit-animation: scroll 30s linear infinite;
            animation: scroll 30s linear infinite;
    height: 94.3111111111vw;
    left: 50%;
    position: absolute;
    translate: -50%;
    width: 205.7777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-inner {
    -webkit-animation: scroll 30s linear infinite;
            animation: scroll 30s linear infinite;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(14.6412884334px, 1.4641288433vw, 20px);
    left: 50%;
    position: absolute;
    top: 0;
    translate: -50%;
    width: clamp(1229.8682284041px, 122.9868228404vw, 1680px);
  }
}
.p-sec03-inner figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  .p-sec03-inner figure {
    position: absolute;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-inner figure {
    position: relative;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-inner [class^=p-sec03-image] {
    position: relative;
    z-index: 2;
  }
}
.p-sec03-inner [class^=p-sec03-circle] {
  position: absolute;
}

.p-sec03-image-main {
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-sec03-image-main {
    z-index: 3;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-image01 {
    left: 0;
    top: 19.2vw;
    width: 52.4444444444vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-image01 {
    padding-top: clamp(93.7042459736px, 9.3704245974vw, 128px);
    width: clamp(252.5622254758px, 25.2562225476vw, 345px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-circle01 {
    right: -54.6666666667vw;
    top: 3.3777777778vw;
    width: 33.7777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-circle01 {
    right: clamp(-172.0351390922px, -17.2035139092vw, -235px);
    top: clamp(121.5226939971px, 12.1522693997vw, 166px);
    width: clamp(199.121522694px, 19.9121522694vw, 272px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-image02 {
    left: 54.8444444444vw;
    top: 0;
    width: 68.8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-image02 {
    margin-right: clamp(7.3206442167px, 0.7320644217vw, 10px);
    width: clamp(331.6251830161px, 33.1625183016vw, 453px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-circle02 {
    right: -19.5555555556vw;
    top: 19.5555555556vw;
    width: 22.5777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-circle02 {
    right: clamp(-33.6749633968px, -3.3674963397vw, -46px);
    top: clamp(106.149341142px, 10.6149341142vw, 145px);
    width: clamp(133.2357247438px, 13.3235724744vw, 182px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-image03 {
    bottom: 0;
    left: 78.2222222222vw;
    width: 62.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-image03 {
    padding-top: clamp(93.7042459736px, 9.3704245974vw, 128px);
    width: clamp(298.682284041px, 29.8682284041vw, 408px);
  }
}
@media only screen and (max-width: 768px) {
  .p-sec03-image03 .p-sec03-image-main {
    z-index: 6;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-circle03 {
    bottom: -13.8666666667vw;
    left: -10.6666666667vw;
    width: 22.5777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-circle03 {
    right: clamp(-10.2489019034px, -1.0248901903vw, -14px);
    top: clamp(181.5519765739px, 18.1551976574vw, 248px);
    width: clamp(133.2357247438px, 13.3235724744vw, 182px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-image04 {
    right: 0;
    top: 41.6vw;
    width: 62.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-image04 {
    padding-top: clamp(32.9428989751px, 3.2942898975vw, 45px);
    width: clamp(298.682284041px, 29.8682284041vw, 408px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec03-circle04 {
    bottom: -15.5555555556vw;
    left: -12.4444444444vw;
    width: 22.5777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec03-circle04 {
    left: clamp(73.2064421669px, 7.3206442167vw, 100px);
    top: clamp(142.7525622255px, 14.2752562225vw, 195px);
    width: clamp(133.2357247438px, 13.3235724744vw, 182px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04 {
    margin-bottom: 29.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04 {
    margin-bottom: clamp(98.8286969253px, 9.8828696925vw, 135px);
    padding-inline: clamp(21.9619326501px, 2.196193265vw, 30px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-inner {
    padding-inline: 3.5555555556vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-inner {
    margin-inline: auto;
    width: clamp(913.616398243px, 91.3616398243vw, 1248px);
  }
}

.p-sec04-title {
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-sec04-title {
    font-size: 6.2222222222vw;
    margin-bottom: 8.8888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-title {
    font-size: clamp(29.2825768668px, 2.9282576867vw, 40px);
    margin-bottom: clamp(29.2825768668px, 2.9282576867vw, 40px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.9333333333vw 2.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-grid {
    gap: clamp(18.3016105417px, 1.8301610542vw, 25px);
  }
}
@media only screen and (max-width: 768px) {
  .p-sec04-grid.u-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-grid.u-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid-row01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-grid-row01 {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

.p-sec04-grid-row02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media only screen and (max-width: 768px) {
  .p-sec04-grid-row02 {
    gap: 2.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-grid-row02 {
    gap: clamp(11.7130307467px, 1.1713030747vw, 16px);
    width: clamp(742.3133235725px, 74.2313323572vw, 1014px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid-row03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.9333333333vw;
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid-row02-col02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.2222222222vw;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid-row02-col03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.2222222222vw;
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-grid-row02-col04 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2.2222222222vw;
  }
}

[class^=p-sec04-item] {
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 768px) {
  [class^=p-sec04-item] {
    border-radius: 3.2888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  [class^=p-sec04-item] {
    border-radius: clamp(27.0863836018px, 2.7086383602vw, 37px);
  }
}
@media print, screen and (min-width: 769px) {
  [class^=p-sec04-item] a:has(.start):hover + figcaption {
    opacity: 1;
    visibility: visible;
  }
}
[class^=p-sec04-item] a[href=""] {
  cursor: default;
}
[class^=p-sec04-item] a[href=""] + figcaption::after {
  display: none;
}
[class^=p-sec04-item] figcaption {
  background: rgba(77, 77, 77, 0.7);
  color: #fff;
  height: 100%;
  left: 0;
  line-height: 1.4;
  place-content: center;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  [class^=p-sec04-item] figcaption {
    display: none;
    font-size: 2.6666666667vw;
    padding-bottom: 6.9333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  [class^=p-sec04-item] figcaption {
    display: -ms-grid;
    display: grid;
    font-size: clamp(11.7130307467px, 1.1713030747vw, 16px);
    opacity: 0;
    padding-bottom: clamp(14.6412884334px, 1.4641288433vw, 20px);
    visibility: hidden;
  }
}
[class^=p-sec04-item] figcaption::after {
  border: 1px solid #fff;
  content: "詳しくはこちら";
  display: inline-block;
  left: 50%;
  position: absolute;
  translate: -50%;
  white-space: nowrap;
}
@media only screen and (max-width: 768px) {
  [class^=p-sec04-item] figcaption::after {
    bottom: 2.6666666667vw;
    padding: 1.3333333333vw 1.8666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  [class^=p-sec04-item] figcaption::after {
    bottom: clamp(7.3206442167px, 0.7320644217vw, 10px);
    padding: clamp(3.6603221083px, 0.3660322108vw, 5px) clamp(10.2489019034px, 1.0248901903vw, 14px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item01 {
    width: 46.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item01 {
    height: clamp(237.9209370425px, 23.7920937042vw, 325px);
    margin-bottom: clamp(18.3016105417px, 1.8301610542vw, 25px);
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item02 {
    width: 46.2222222222vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item02 {
    height: clamp(273.0600292826px, 27.3060029283vw, 373px);
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item03 {
    width: 57.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item03 {
    height: clamp(146.4128843338px, 14.6412884334vw, 200px);
    width: clamp(322.1083455344px, 32.2108345534vw, 440px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item04 {
    width: 44.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item04 {
    height: clamp(237.9209370425px, 23.7920937042vw, 325px);
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item05 {
    width: 33.5111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item05 {
    height: clamp(237.9209370425px, 23.7920937042vw, 325px);
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item06 {
    width: 44.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item06 {
    height: clamp(146.4128843338px, 14.6412884334vw, 200px);
    width: clamp(409.9560761347px, 40.9956076135vw, 560px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item07 {
    width: 56.9777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item07 {
    height: clamp(237.9209370425px, 23.7920937042vw, 325px);
    width: clamp(259.8828696925px, 25.9882869693vw, 355px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item08 {
    width: 43.9111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item08 {
    height: clamp(237.9209370425px, 23.7920937042vw, 325px);
    width: clamp(135.4319180088px, 13.5431918009vw, 185px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item09 {
    width: 44.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item09 {
    height: clamp(119.3265007321px, 11.9326500732vw, 163px);
    width: clamp(153.0014641288px, 15.3001464129vw, 209px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item10 {
    width: 48.1777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item10 {
    height: clamp(119.3265007321px, 11.9326500732vw, 163px);
    width: clamp(322.1083455344px, 32.2108345534vw, 440px);
  }
}

@media only screen and (max-width: 768px) {
  .p-sec04-item11 {
    width: 33.6vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-item11 {
    height: clamp(119.3265007321px, 11.9326500732vw, 163px);
    width: clamp(248.9019033675px, 24.8901903367vw, 340px);
  }
}

@media print, screen and (min-width: 769px) {
  [class^=p-sec04-grid-row02-col] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: clamp(11.7130307467px, 1.1713030747vw, 16px);
  }
}

.p-sec04-offer {
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .p-sec04-offer {
    margin-top: 1.7777777778vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec04-offer {
    font-size: clamp(8.78477306px, 0.878477306vw, 12px);
    margin-top: clamp(5.1244509517px, 0.5124450952vw, 7px);
  }
}

.p-sec05 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 768px) {
  .p-sec05 {
    gap: 6.6666666667vw;
    margin-bottom: 10.4888888889vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec05 {
    gap: clamp(36.6032210835px, 3.6603221083vw, 50px);
    margin-bottom: clamp(95.168374817px, 9.5168374817vw, 130px);
  }
}

.p-sec05-image {
  overflow: hidden;
}
@media only screen and (max-width: 768px) {
  .p-sec05-image {
    height: 37.9555555556vw;
    padding-top: 8vw;
    width: 51.6444444444vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec05-image {
    height: clamp(312.5915080527px, 31.2591508053vw, 427px);
    width: clamp(425.3294289898px, 42.532942899vw, 581px);
  }
}

.p-sec05-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 768px) {
  .p-sec05-detail {
    gap: 1.71em;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec05-detail {
    gap: 1.777em;
  }
}
.p-sec05-detail p {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media only screen and (max-width: 768px) {
  .p-sec05-detail p {
    font-size: 3.1111111111vw;
    line-height: 1.71;
  }
}
@media print, screen and (min-width: 769px) {
  .p-sec05-detail p {
    font-size: clamp(13.17715959px, 1.317715959vw, 18px);
    line-height: 1.777;
  }
}

@media only screen and (max-width: 768px) {
  .p-banner {
    margin-bottom: 12.0888888889vw;
    padding-inline: 8vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(24.8901903367px, 2.4890190337vw, 34px);
    margin-bottom: clamp(80.5270863836px, 8.0527086384vw, 110px);
    padding-inline: clamp(21.9619326501px, 2.196193265vw, 30px);
  }
}
@media print, screen and (min-width: 769px) {
  .p-banner li {
    width: clamp(426.7935578331px, 42.6793557833vw, 583px);
  }
}
@media only screen and (max-width: 768px) {
  .p-banner li + li {
    margin-top: 5.3333333333vw;
  }
}
.p-banner a {
  -webkit-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out;
}
@media print, screen and (min-width: 769px) {
  .p-banner a:hover {
    opacity: 0.7;
  }
}

.p-back-link {
  text-align: center;
}
.p-back-link a {
  display: inline-block;
  position: relative;
}
@media only screen and (max-width: 768px) {
  .p-back-link a {
    font-size: 2.2222222222vw;
    padding-bottom: 1.3333333333vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-back-link a {
    font-size: clamp(13.17715959px, 1.317715959vw, 18px);
    padding-bottom: clamp(10.980966325px, 1.0980966325vw, 15px);
  }
}
.p-back-link a::after {
  background: #000;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
  width: 100%;
}
@media only screen and (max-width: 768px) {
  .p-back-link a::after {
    left: 50%;
    translate: -50%;
    width: 23.1111111111vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-back-link a:hover::after {
    scale: 0 1;
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}

.p-floating-menu {
  display: none;
  position: fixed;
  z-index: 999;
}
@media only screen and (max-width: 768px) {
  .p-floating-menu {
    margin-top: -6.7555555556vw;
    right: 0.6222222222vw;
    top: 50%;
    width: 26.6666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu {
    background: #3FA9F5;
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
    border-radius: clamp(10.980966325px, 1.0980966325vw, 15px) 0 0 clamp(10.980966325px, 1.0980966325vw, 15px);
    padding: clamp(14.6412884334px, 1.4641288433vw, 20px) clamp(7.3206442167px, 0.7320644217vw, 10px) clamp(24.1581259151px, 2.4158125915vw, 33px);
    right: 0;
    top: 50%;
    translate: 0 -50%;
    width: clamp(97.364568082px, 9.7364568082vw, 133px);
  }
}

.p-floating-menu-title {
  color: #fff;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-floating-menu-title {
    margin-inline: auto;
    width: 17.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu-title {
    font-size: clamp(12.4450951684px, 1.2445095168vw, 17px);
    margin-bottom: clamp(10.980966325px, 1.0980966325vw, 15px);
  }
}
.p-floating-menu-title a {
  color: #fff;
}
@media only screen and (max-width: 768px) {
  .p-floating-menu-title a {
    background: #3FA9F5;
    border-radius: 100%;
    display: -ms-grid;
    display: grid;
    font-size: 3.8222222222vw;
    height: 17.0666666667vw;
    place-content: center;
    width: 17.0666666667vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu-title a {
    pointer-events: none;
  }
}

@media only screen and (max-width: 768px) {
  .p-floating-menu-list {
    background: #3FA9F5;
    border-radius: 1.5111111111vw;
    border: 1px solid #fff;
    display: none;
    padding: 4.4444444444vw 0.8888888889vw 4.9777777778vw;
  }
}
@media only screen and (max-width: 768px) {
  .p-floating-menu-list li:not(:last-child) {
    margin-bottom: 3.5555555556vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu-list li:not(:last-child) {
    margin-bottom: clamp(13.17715959px, 1.317715959vw, 18px);
  }
}
.p-floating-menu-list a {
  color: #fff;
  display: block;
  padding-bottom: 2px;
  position: relative;
  text-align: center;
}
@media only screen and (max-width: 768px) {
  .p-floating-menu-list a {
    font-size: 3.2vw;
  }
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu-list a {
    font-size: clamp(10.2489019034px, 1.0248901903vw, 14px);
  }
}
.p-floating-menu-list a::after {
  background: #fff;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  height: 1px;
  position: absolute;
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: scale 0.3s ease-in-out;
  transition: scale 0.3s ease-in-out;
  width: 100%;
}
@media print, screen and (min-width: 769px) {
  .p-floating-menu-list a:hover::after {
    scale: 0 1;
    -webkit-transform-origin: right;
            transform-origin: right;
  }
}

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

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

.u-alt {
  font-family: "alternate-gothic-atf", sans-serif;
}