/* -----------------------------------------------------------------
   Role: 固定ページ専用 同期CSS (FV/骨格用)
   Rule: ID別ファイルがない場合に自動発動。
   ----------------------------------------------------------------- */

@charset "UTF-8";


.header {
  transform: translateZ(0);
}

/*ios safari 隙間バグ*/



/* =========================================================
   標準セット
========================================================= */

:root {
  --c-text: #1a2026;
  --c-bg: #eff4fc;
  --c-bg-main: #fafafa;
  --c-header-stripe: #cbeaff;
  --c-glass: #ffffff1c;
  --c-menu-text: #fbbf24;
  --c-menu-bg: #3a4652;
  --c-contact-text: #6d6d6d;
  --c-white: #fff;
  --c-panel: #fafafa;
  --c-accent: #72c8ff;
  --c-dark-2: #272d31;
  --c-dark: #0e7ac7;
  --c-dark-3: #475159;
  --c-bg-light: #f8f9fa;
  --shadow-soft: 6px 6px 16px -12.5px #fff, -6px -6px 16px -12.5px #707070;
  --shadow-soft-2: 6px 6px 12px -8.5px #fff, -6px -6px 12px -8.5px #c5c5c5;
  --shadow-profile-bg: -6px -6px 16px -12.5px #000;
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-xl: 15px;
  --radius-nav: 2.7em 1em 2.7em 1em;
  --radius-widget: 10px;
  --tracking-base: .5px;
  --tr-fast: .1s;
  --tr-bg: background 1.5s ease-in-out;
  --tr-bg-fast: background .3s cubic-bezier(.25, 1, .5, 1);
  --tr-title: opacity .4s ease-out;
  --ease-smooth: cubic-bezier(0.1, 0.36, 0.2, 1);
  --scroll-n1-b: auto;
  --scroll-n2-b: auto;
  --scroll-n3-b: auto;
  --mean-nav-mt: 86px;
  --swiper-theme-color: #007aff;
  --c-accent-border: #0094ff4d;
  --c-accent-blur: #9dd6ff4d;
  --welcome-w: 14.2%;
  --welcome-l: 27.4%;
  --welcome-t: clamp(25%, calc(25% + 2.38vw - 18.27px), 27%);
  --site-title-w: 38%;
  --site-title-l: 16.5%;
  --site-title-t: 38.2%;
  --site-title-h: 25.4%;
  --catch-w: 27%;
  --catch-l: 21.2%;
  --catch-t: clamp(66%, calc(66% + 3.57vw - 22px), 70%);
}

html {
  scrollbar-gutter: stable;
  font-family: -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Noto Sans JP",
    "Segoe UI",
    Roboto,
    Helvetica,
    Arial,
    sans-serif;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%
}

/* 投稿ページ・固定ページの中身、全ページのフッターを隠匿 */
:is(.single, .page) #content,
#fortress-footer-gate {
  opacity: 0;
}

#main .article {
  background: var(--c-bg-main);
}

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

body {
  margin: 0;
  color: var(--c-text);
  background-color: var(--c-bg);
  font-size: 17.8px;
  font-weight: 300;
  line-height: 1.7;
  letter-spacing: 0.7px;
  overflow-wrap: break-word;
  word-break: normal;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

#content {
  margin: 29px 0;
}

#container {
  overflow: clip;
}

li.cat-item.cat-item-1 {
  display: none;
}

p,
figure {
  margin-block: 1.5em
}

figure {
  margin: auto
}

a {
  background: transparent;
  text-decoration: none;
  text-shadow: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.entry-content p a,
figcaption a {
  color: #0066ff;
  transition: color .18s ease-out;
}

:is(dl, menu, ol, ul, button, input, select, textarea) {
  margin: 0;
  outline: 0;
}

:is(ol, ul) {
  padding: 0;
  list-style: none;
}

menu {
  padding: 0;
  padding-left: 40px;
}

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

:is(button, select) {
  appearance: none;
  border: none;
  text-transform: none;
  touch-action: manipulation;
}

:is(button, input[type="button"], input[type="submit"]) {
  cursor: pointer;
}

:is(button, input):disabled {
  cursor: default;
}

.mobile_site_description {
  display: none;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0
}

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
  display: block;
  border: 0;
  border-radius: var(--radius-sm);
  transition: background-color 1.5s ease-in-out
}

textarea {
  overflow: auto;
  vertical-align: top
}

input[type="search"]:not(.header input[type="search"]),
.fa-search:not(.header .fa-search)::before {
  display: none
}

#inner-header {
  position: relative;
  width: 100%;
}

#logo {
  position: relative
}

#logo div {
  position: absolute;
}

#main .article-header {
  position: relative;
  padding: 0 1.3em
}

.site-logo {
  position: absolute;
  mix-blend-mode: soft-light
}

.wrap {
  width: 95%;
  margin: 0 auto;
  max-width: 1230px;
}

#sidebar1 {
  max-width: 462px;
  margin: 18px auto 0
}

.header {
  position: relative;
  z-index: 2;
  overflow: clip;
  background: #a1ddff;
  box-shadow: 0 16px 16px -26.5px #000;
}

.header-info {
  position: relative;
  z-index: 3;
  height: .8em;
  background: repeating-linear-gradient(45deg, #fff, #fff 2.5px, var(--c-header-stripe) 0, var(--c-header-stripe) 11px)
}

.header .scroll-infinity {
  position: absolute;
  z-index: 3;
  display: flex;
  overflow: hidden;
  pointer-events: none;
  width: 100%;
  left: 0;
  height: 54px;
  contain: paint;
}

.header .scroll-infinity.n1 {
  bottom: var(--scroll-n1-b)
}

.header .scroll-infinity.n2 {
  bottom: var(--scroll-n2-b)
}

.header .scroll-infinity.n3 {
  bottom: var(--scroll-n3-b)
}

.header .scroll-infinity-container {
  display: flex
}

.header .scroll-infinity-item img {
  max-width: 1347px;
  height: 54px;
  margin: 0 -.4px;
  width: 100vw;
}

.subnav {
  position: absolute;
  top: 0;
  width: 100%
}

.subnav .site_description {
  font-weight: 400
}

.subnav .site_description img {
  width: 1.13em;
  margin: 0 .14em .36em 0
}

.subnav form div {
  position: relative
}

.subnav form button {
  position: absolute;
  top: 0;
  background: none;
  font-size: 14px;
  height: 51px;
}

.subnav .contactbutton {
  float: right;
  text-align: center
}

.subnav .contactbutton a i {
  position: relative;
  left: -.23em
}

.subnav .contactbutton a[href^="tel"] i::before {
  content: "\f095"
}

.nav li li span {
  display: none
}

.tropical-island {
  width: 71%;
  left: 51.5%;
  top: 3.7%;
  z-index: 2
}

[target="_blank"]::after {
  position: relative;
  top: .01em;
  padding: 0 .2em;
  font-family: "uicons-regular-rounded";
  font-size: 0.85em;
  content: "\e10a"
}

#main .article,
.background-parent,
.single .wp-block-video video:not(.blog-card video),
.enclosure-decoration,
.preface,
.summarize {
  border-radius: var(--radius-md)
}

:is(#main .article footer, .box, .modal-box, .modal-text, .enclosure-decoration, .poppy-layout, .question-layout, .merit-demerit, .gallery-text, .preface, .m-s-b-comment, .summarize) p,
.accordion-main h3 {
  margin: 0
}

.screen-reader-text {
  position: absolute;
  clip-path: inset(50%)
}

:is(.widgettitle, .subnav .contactbutton a, .subnav form input, .nav>li, .swiper-button-next, .swiper-button-prev, .enclosure-decoration, .preface, .summarize, .single .article-header .cat-name) {
  box-shadow: var(--shadow-soft);
}

.flag {
  width: 5.1%;
  left: 13.7%;
  top: 11.9%;
  transform: rotateX(90deg);
  transform-origin: bottom;
  animation: home-position .8s 1.8s cubic-bezier(.3, .1, .25, 1.8) forwards
}

#logo .clouds {
  width: 18%
}

#logo .clouds.n1 {
  left: 78.2%;
  top: 19.5%
}

#logo .clouds.n2 {
  left: 86.3%;
  top: 10.5%;
  transform: translateX(-45%);
  animation: home-position 1.6s 1s linear forwards
}

#logo .clouds.n3 {
  left: -2%;
  top: 19.5%
}

#logo .clouds.n4 {
  width: 14.7%;
  left: -2%;
  top: 10.5%;
  transform: translateX(22.3%);
  animation: home-position 1.6s 1s linear forwards
}

.sun {
  width: 14%;
  left: 66.1%;
  top: 2%;
  transform: translateY(-23%) rotate(23deg);
  transform-origin: bottom;
  animation: home-position 1.6s 1s linear forwards
}

.header-second-son,
.header-third-son {
  width: 100%
}

.header-second-son {
  left: 85%;
  top: 70%
}

.header-third-son {
  top: 71.4%;
  left: 77.5%;
  z-index: 2;
  height: 4vw;
  max-height: 51px
}

[class^="header-"][class*="-son-"] {
  background-repeat: no-repeat;
  background-size: contain;
}

.header-second-son-face,
.header-second-son-smile-face,
.header-third-son-face {
  transform-origin: bottom
}

.header-second-son-right-hand,
.header-third-son-right-hand {
  transform-origin: right
}

.header-second-son-right-hand {
  width: 3.7%;
  left: -2.75%;
  height: 1.7vw;
  max-height: 21.6px;
  margin-top: .3%;
  transform: rotate(-20deg);
  background-image: url("/wp-content/uploads/elephant-hand-holding-the-thai-flag.svg")
}

.header-second-son-body {
  width: 3.6%;
  left: 0;
  height: 3.9vw;
  max-height: 50px;
  margin-top: 0;
  background-image: url("/wp-content/uploads/elephant-torso.svg")
}

.header-second-son-face,
.header-second-son-smile-face {
  width: 5.8%;
  left: -1%;
  height: 4.4vw;
  max-height: 56px;
  margin-top: -3.2%;
  background-image: url("/wp-content/uploads/elephant-face-1.svg")
}

.header-second-son-left-hand {
  width: 3.7%;
  left: 2.27%;
  height: 3vw;
  max-height: 38.5px;
  margin-top: -1.8%;
  transform: translate(-5%, -22%) rotate(76deg);
  background-image: url("/wp-content/uploads/elephant-hand-holding-the-japan-flag.svg");
  transform-origin: left bottom;
}

.header-third-son-body {
  width: 3.2%;
  left: 0;
  height: 3.9vw;
  max-height: 48.5px;
  margin-top: 0;
  background-image: url("/wp-content/uploads/elephant-torso-1.svg")
}

.header-third-son-left-hand {
  width: 1.4%;
  left: 2%;
  height: 1vw;
  max-height: 13px;
  margin-top: .5%;
  background-image: url("/wp-content/uploads/elephant-hand.svg");
  transform-origin: left;
  transform: translate(0) rotate(16deg);
}

.header-third-son-face {
  width: 4.6%;
  left: -1.3%;
  height: 3.3vw;
  max-height: 40.8px;
  margin-top: -2%;
  background-image: url("/wp-content/uploads/elephant-face.svg")
}

.header-second-son-smile-face {
  opacity: 0;
  background-image: url("/wp-content/uploads/smiling-elephant-face.svg")
}

.header-third-son-right-hand {
  width: 1%;
  left: .1%;
  height: 1.1vw;
  max-height: 14px;
  margin-top: .15%;
  transform: translate(-23%, -18%) rotate(-10deg);
  background-image: url("/wp-content/uploads/elephant-hand-2.svg")
}

.header-second-son div,
.header-third-son div {
  z-index: 2
}

.welcome {
  width: var(--welcome-w);
  left: var(--welcome-l);
  top: var(--welcome-t)
}

.site-title {
  position: absolute;
  top: var(--site-title-t);
  left: var(--site-title-l);
  z-index: 9;
  width: var(--site-title-w);
  height: var(--site-title-h);
  transition: var(--tr-title)
}

.catchphrase {
  width: var(--catch-w);
  left: var(--catch-l);
  top: var(--catch-t)
}

a.site-title img {
  position: absolute;
  height: 5.2vw;
  max-height: 66px;
  transform: rotateY(180deg);
  animation: site-title-anime 1s forwards;
  backface-visibility: hidden;
  will-change: transform;
}

a.site-title img.n1 {
  width: 11%;
  left: -.3%;
}

a.site-title img.n2 {
  width: 14.3%;
  left: 14.1%;
  animation-delay: .1s
}

a.site-title img.n3 {
  width: 6.1%;
  left: 35.2%;
  animation-delay: .2s
}

a.site-title img.n4 {
  width: 14.7%;
  left: 46.7%;
  max-height: 64px;
  animation-delay: .3s
}

a.site-title img.n5 {
  width: 7.1%;
  left: 66.3%;
  animation-delay: .4s
}

a.site-title img.n6 {
  width: 7%;
  left: 80%;
  animation-delay: .5s
}

a.site-title img:is(.n7, .n8, .n9, .n10, .n11, .n12) {
  margin-top: 17.7%
}

a.site-title img.n7 {
  width: 7.5%;
  left: 24.2%;
  animation-delay: .6s
}

a.site-title img.n8 {
  width: 7.2%;
  left: 37.9%;
  animation-delay: .7s
}

a.site-title img.n9 {
  width: 6.8%;
  left: 52.5%;
  animation-delay: .8s
}

a.site-title img.n10 {
  width: 12.5%;
  left: 65.4%;
  animation-delay: .9s
}

a.site-title img.n11 {
  width: 7.1%;
  left: 83.9%;
  max-height: 64px;
  animation-delay: 1s
}

a.site-title img.n12 {
  width: 1.6%;
  left: 98.4%;
  animation-delay: 1.1s
}

.seagull {
  offset-path: path("M.3,19.7S16.35,7.52,50.96,10.29C95.05,13.82,100.92-.79,129.85.59")
}

.is-active .seagull {
  animation: fly-around-seagull 16s ease-in-out infinite
}

.seagull.n1 {
  width: 7%;
  left: 58.6%;
  top: 32%;
}

.seagull.n2 {
  width: 5%;
  left: 55%;
  top: 38.7%;
  animation-delay: 1s
}

.seagull.n3 {
  width: 4%;
  left: 59%;
  top: 41.3%;
  animation-delay: 2s
}

.fi-tr-land-layer-location::before {
  content: "\eae2"
}

.fi-tr-tour-guide-people::before {
  content: "\f2e9"
}

.fi-tr-hotel::before {
  content: "\e9ef"
}

.fi-tr-car-bus::before {
  content: "\e352"
}

.fi-tr-plate-utensils::before {
  content: "\e901"
}

.fi-tr-user-robot::before {
  content: "\f3eb"
}

.fi-tr-face-disguise::before {
  content: "\e740"
}

.fi-tr-angle-double-small-right::before {
  content: "\f376"
}

.fi-tr-land-layer-location-2::before {
  content: "\e001"
}

.fi-tr-envelope::before {
  content: "\e6f1"
}

.fi-tr-search::before {
  content: "\f015"
}

.fi-tr-time::before {
  content: "\edaf";
}

.fi-tr-caret-down::before {
  content: "\e009"
}

.fi-tr-tour-guide-people-2::before {
  content: "\e003"
}

.fi-tr-hotel-2::before {
  content: "\e004"
}

.fi-tr-car-bus-2::before {
  content: "\e005"
}

.fi-tr-plate-utensils-2::before {
  content: "\e006"
}

.fi-tr-user-robot-2::before {
  content: "\e007"
}

.fi-tr-face-disguise-2::before {
  content: "\e008"
}

.fi-tr-wishlist-star::before {
  content: "\e010"
}

.fi-tr-web-test::before {
  content: "\f490"
}

.fi-tr-lock-open::before {
  content: "\eb7c"
}

.fi-tr-lock::before {
  content: "\eb79"
}

.fi-tr-galaxy-star::before {
  content: "\e88d"
}

.fi-tr-zoom-in::before {
  content: "\f4fe"
}

.modal-box.flexibility {
  opacity: 0
}

.scroll-container,
.parallel-layout-scroll,
.table-flex,
.table-corporate-style .remarks,
.table-corporate-style .item-description,
.index-modal #ez-toc-container ul,
.box.dream-style .title {
  overflow: auto
}

#my-toc-container .widgettitle {
  display: none
}

.m-all {
  position: relative;
  max-width: 868px;
  margin: 0 auto
}

.vcard .date {
  position: relative
}

.subnav .contactbutton a {
  display: block
}

.subnav form input {
  font-family: "ヒラギノ角ゴ ProN", "ヒラギノ角ゴシック", "Noto Sans CJK JP", sans-serif;
  font-size: clamp(11px, .88vw, 13px);
  font-weight: 300;
  background: var(--c-glass);
}

:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5) {
  text-rendering: optimizeLegibility;
  font-weight: 500;
  letter-spacing: var(--tracking-base)
}

:is(h1, .h1) {
  line-height: 1.37
}

:is(h2, .h2) {
  line-height: 1.28
}

.wp-block-image :where(figcaption) {
  margin-top: 9px;
  margin-bottom: unset
}

.image-elements img {
  width: 100vw;
}

.stepbarwrap:last-of-type .stepline:last-of-type,
.entry-content ul.site-mascot li::before,
.tab ul li::before {
  display: none;
}

:is(.sp, .tb, .tbs, .tbl, .pcs, .pcm, .pcl, .pc, .f-l-sp) {
  display: none !important
}

.single .entry-content {
  overflow: hidden
}

.single .header.animation-3 .scroll-infinity-container {
  animation: infinity-scroll infinite linear;
}

.single .header .scroll-infinity-container.n1 {
  animation-duration: 150s
}

.single .header.animation-3 .scroll-infinity-container.n2 {
  animation-name: infinity-scroll-2;
  animation-duration: 200s
}

.single .header .scroll-infinity-container.n3 {
  animation-duration: 250s
}

#page-top {
  position: fixed;
  right: max(5%, calc(50% - 615px));
  bottom: 6px;
  z-index: 99999;
  width: 112px;
  height: 112px;
  margin-bottom: 16px;
  border-radius: 77px;
  color: var(--c-dark-3);
  transform: translateY(150px);
  transition: transform .3s cubic-bezier(.25, 1, .5, 1);
  cursor: pointer;
  user-select: none;
  transform-origin: bottom;
}

#index-btn {
  position: fixed;
  right: max(calc(5% + 26px), calc(50% - 615px + 26px));
  bottom: 158px;
  z-index: 1000001;
  width: 62px;
  height: 62px;
  border-radius: 12px;
  color: var(--c-dark-3);
  text-align: center;
  transform: translateY(300px);
  transition: transform 0.6s cubic-bezier(0.24, 0.65, 1, 1);
  display: grid;
  align-content: center;
  gap: 0.22em;
}

.ultra-glass-layer {
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  overflow: hidden;
  pointer-events: none;
  background-color: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(40px) saturate(250%) brightness(115%) contrast(105%);
  -webkit-backdrop-filter: blur(40px) saturate(250%) brightness(115%) contrast(105%);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-top-color: rgba(255, 255, 255, 0.45);
  border-left-color: rgba(255, 255, 255, 0.35);
  box-shadow:
    inset 0 1px 1px rgba(255, 255, 255, 0.8),
    inset 0 -1px 2px rgba(255, 255, 255, 0.1),
    inset 1px 0 2px rgba(255, 255, 255, 0.2),
    0 8px 24px -4px rgba(0, 15, 30, 0.15),
    0 16px 40px -8px rgba(0, 15, 30, 0.2);
}

.is-flying .ultra-glass-layer {
  transform: translateZ(0);
  will-change: transform, backdrop-filter;
}

.ultra-glass-layer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.15'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
  opacity: 0.85;
}

.ultra-glass-layer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(115deg,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0.05) 25%,
      rgba(255, 255, 255, 0) 50%,
      rgba(255, 255, 255, 0.02) 75%,
      rgba(255, 255, 255, 0.2) 100%);
  mix-blend-mode: color-dodge;
}

.buhi-n {
  opacity: 0;
  letter-spacing: 0.1px;
}

#page-top span {
  position: absolute;
  display: flex;
  justify-content: center;
  width: 100%;
  font-weight: 500;
}

#sidebar1 {
  display: none;
}

@media (min-width:880px) and (max-width:1269px) {
  .pcm {
    display: block !important
  }
}

@media (min-width:768px) and (max-width:879.9px) {
  .pcs {
    display: block !important
  }
}

@media (max-width:574px) {

  .tbs,
  .f-l-sp {
    display: block !important
  }

  .tbl,
  .f-l-pc {
    display: none !important
  }
}

@media (min-width:768px) {
  :root {
    --scroll-n1-b: .5%;
    --scroll-n2-b: 2.5%;
    --scroll-n3-b: 4.5%;
  }

  .pc {
    display: block !important
  }

  #fortress-footer-gate {
    min-height: 994px;
  }

  #logo {
    aspect-ratio: 100 / 47;
  }

  .subnav form input {
    width: 107%;
    padding: 13.5px 17% 13.5px 6%;
    backdrop-filter: blur(8px)
  }

  .subnav form div {
    left: max(-112.5px, -6.3vw - 31px);
    z-index: 2;
    float: right;
    width: calc(15vw + 80px);
    max-width: 275px;
  }

  .subnav form button {
    right: -26.8%
  }

  .contactbutton {
    width: 20.5%;
    max-width: 200px;
    margin-right: 20px;
  }

  .subnav .contactbutton a {
    position: relative;
    z-index: 2;
    padding: 1em;
    color: var(--c-contact-text);
    letter-spacing: .45px;
    background: var(--c-glass);
    backdrop-filter: blur(8px);
    border-radius: var(--radius-sm);
    transition: var(--tr-bg)
  }

  :is(.subnav .contactbutton a, .site_description) {
    font-size: clamp(12px, calc(.78vw + 6px), 16.8px);
  }

  .site_description {
    margin: 1em 0 0 23px;
  }

  .header.headercenter #g_nav,
  .header.headercenter #g_nav>.nav {
    text-align: center
  }

  .header.headercenter #g_nav>.nav {
    display: inline-block
  }

  nav#g_nav {
    position: absolute;
    left: 50%;
    z-index: 4;
    width: max-content;
    margin-top: clamp(-118.5px, -8.367vw - 18.75px, -83px);
    font-weight: 400;
    text-align: center;
    transform: translateX(-50%)
  }

  .nav>li>a i::before {
    position: relative;
    top: -0.15vw;
    font-size: calc(280% - 18px);
  }

  .nav>li>a .fi-tr-hotel::before {
    left: -0.12em;
  }

  .nav li a span.gf {
    position: absolute;
    font-size: clamp(9px, 1.2vw, 13px);
    bottom: clamp(3.6em, 4.3vw, 3.9em);
    letter-spacing: 0.6px;
  }

  .mean-nav {
    display: none;
  }

  .nav>li {
    display: inline-flex;
    justify-content: center;
    width: 12vw;
    max-width: 140px;
    margin: 0 min(10px, 1.3vw - 8px);
    font-size: clamp(12px, calc(0.76vw + 7px), 16.2px);
    background: var(--c-white);
    border-radius: var(--radius-nav);
    position: relative;
    aspect-ratio: 100 / 57.3;
  }

  .nav>li>a {
    color: var(--c-text);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    width: 100%;
    position: absolute;
    bottom: clamp(-2%, calc(-4 / 502 * (100vw - 768px) - 2%), -2%);
    letter-spacing: 0.4px;
    height: 100%;
  }

  ::-webkit-scrollbar-thumb,
  ::-webkit-scrollbar-thumb:hover {
    background: #9fa4a7;
    border-radius: 12px
  }

  .article ::-webkit-scrollbar-thumb,
  .article ::-webkit-scrollbar-thumb:hover {
    background: #ededed
  }

  .answer::-webkit-scrollbar-thumb,
  .answer::-webkit-scrollbar-thumb:hover {
    background: var(--c-header)
  }

  ::-webkit-scrollbar {
    width: 9px;
    height: 9px;
    background: var(--c-white);
    border-radius: 12px
  }

  :is(.article, #sidebar1) ::-webkit-scrollbar {
    background: transparent
  }

  .nav li ul.sub-menu li a {
    display: flex;
    align-items: center;
    padding: clamp(12px, 4.29vw - 27.6px, 18px) 1.9em clamp(12px, 4.29vw - 27.6px, 18px) 0.8em;
    line-height: 1.4;
    text-align: left;
    color: var(--c-white);
    border-bottom: .5px #00000017 solid;
    font-size: clamp(11.8px, (1.3vw), 13.8px);
  }

  .nav li ul.sub-menu {
    width: clamp(151px, calc(13.5vw + 43px), 220px);
    opacity: 0;
    background: var(--c-menu-bg);
    border-radius: var(--radius-md);
    transition: opacity .4s ease-in-out, visibility .4s ease-in-out;
    top: calc(100% + clamp(15px, 6vw - 48px, 24px));
    position: absolute;
    z-index: 4;
    visibility: hidden;
    display: block;
  }

  .ribbon {
    width: 175px;
    height: 175px
  }
}

@media (min-width:1270px) {
  .pcl {
    display: block !important
  }

  #inner-content {
    display: flex;
    min-height: 650px;
  }

  .single #index-btn,
  .single .index-modal {
    display: none
  }

  .page #main:not(.page-id-979 #main) {
    max-width: none;
  }

  .page .entry-content:not(.page-id-979 .entry-content) {
    padding: 0px 8em;
  }


}

@media (max-width:767px) {
  :root {
    --inner-header-pt: calc(10vw + 39px);
    --scroll-n1-b: calc(2vw - 14px);
    --scroll-n2-b: calc(2vw - 10px);
    --scroll-n3-b: calc(2vw - 6px);
    --welcome-w: 16%;
    --welcome-l: 22.9%;
    --welcome-t: calc(6vw - 45px);
    --site-title-w: 42%;
    --site-title-l: 11.3%;
    --site-title-t: 18.8%;
    --site-title-h: 43%;
    --catch-w: 40%;
    --catch-l: 11%;
    --catch-t: calc(24vw - 19px);
    --ham-line-w-min: 21%;
    --ham-line-w-max: 55%;
    --ham-line-shift: 14px;
  }

  body {
    font-size: 16.6px;
    line-height: 1.63;
  }

  .tb,
  .tbl {
    display: block !important
  }

  .tc-pc {
    text-align: left !important
  }

  #inner-header {
    padding-top: calc(2vw + 81px);
    min-height: calc(35vw + 93px);
  }

  #fortress-footer-gate {
    min-height: 982px;
  }

  .subnav :is(.site_description, .linklist) {
    display: none
  }

  .subnav .contactbutton a {
    box-shadow: none !important;
  }

  .mean-bar {
    float: left;
    width: 100%
  }

  a.meanmenu-reveal {
    width: 19%;
    padding-top: 14px;
    right: 1px;
    position: absolute;
    z-index: 4;
  }

  .meanmenu-reveal span {
    position: relative;
    left: .6px;
    display: block;
    width: 55%;
    height: 2.5px;
    margin-top: 7.5px;
    margin-inline: auto;
    background: var(--c-text);
    border-radius: 20px;
    will-change: transform, opacity
  }

  nav#g_nav {
    display: none;
  }

  .subnav {
    width: 89%
  }

  #logo {
    aspect-ratio: 100 / 33;
  }

  .tropical-island {
    left: 45%;
    top: -32.5%
  }

  .meanmenu-reveal::after {
    display: block;
    content: "MENU";
    text-align: center;
    font-size: clamp(8px, 1.6vw, 11.2px);
    font-weight: 500;
    bottom: -8.5px;
    position: relative;
    color: var(--c-text);
  }

  .contactbutton a {
    position: relative;
    z-index: 2;
    margin-right: 6.7vw;
    color: var(--c-text) !important;
    font-size: calc(1vw + 8.5px);
    font-weight: 500;
    line-height: 66px;
    transition: opacity var(--tr-fast)
  }

  .mobile_site_description {
    position: relative;
    top: -13px;
    z-index: 2;
    display: block;
    margin: 0 0 0 5%;
    font-size: clamp(12px, 2.05vw, 15.5px);
    line-height: 1;
  }

  #main .article-header {
    padding: 0 1em
  }

  .flag {
    left: 7%;
    top: calc(2.7vw - 91.5px);
    width: 6.5%
  }

  .sun {
    left: 70.5%;
    top: calc(-1vw - 92.8px);
  }

  #logo .clouds.n1 {
    left: 80%;
  }

  #logo .clouds.n2 {
    left: 85.6%;
    transform: translateX(-30%)
  }

  #logo .clouds.n3 {
    left: -9%;
  }

  #logo .clouds.n4 {
    left: -9.1%;
  }

  #logo .clouds:is(.n1, .n3) {
    top: calc(9vw - 106.4px);
  }

  #logo .clouds:is(.n2, .n4) {
    top: calc(3vw - 102px);
  }

  .header-second-son {
    left: 76.5%;
    top: 60.5%
  }

  .header-second-son-right-hand {
    left: -3.5%;
    width: 5%;
    height: 2.5vw;
    margin-top: .3%
  }

  .header-second-son-body {
    width: 5%;
    height: 5.6vw
  }

  .header-second-son-face,
  .header-second-son-smile-face {
    left: -1.2%;
    width: 7.8%;
    height: 6vw;
    margin-top: -4.3%
  }

  .header-second-son-left-hand {
    left: 3.3%;
    width: 4.7%;
    height: 3.8vw;
    margin-top: -2.3%
  }

  .header-third-son {
    left: 65.8%;
    top: 61%;
    height: 6.4vw
  }

  .header-third-son-body {
    width: 4.8%;
    height: 6vw
  }

  .header-third-son-left-hand {
    left: 2.9%;
    width: 2.2%;
    height: 1.7vw;
  }

  .header-third-son-face {
    left: -1.8%;
    width: 6.7%;
    height: 4.8vw;
    margin-top: -2.9%
  }

  .header-third-son-right-hand {
    left: .3%;
    width: 1.5%;
    height: 2vw
  }

  a.site-title img {
    height: 5.8vw
  }

  .seagull.n1 {
    left: 56.8%;
    top: -13%
  }

  .seagull.n2 {
    left: 53.3%;
    top: -1.8%
  }

  .seagull.n3 {
    left: 56.8%;
    top: 1%
  }

  .subnav form input {
    width: calc(68% - 58px);
    padding: 12.5px 9% 12.5px 3.5%;
    text-align: center;
  }

  .fi-tr-envelope:before {
    font-weight: bold
  }

  .subnav form div {
    margin: 21px 0 0 4.3%;
    z-index: 1
  }

  .subnav form button {
    top: -3px;
    right: calc(17vw + 63px)
  }

}




@media (max-width:480px) {
  :root {
    --mean-nav-mt: 71px;
    --welcome-w: 19%;
    --welcome-l: 22%;
    --welcome-t: calc(5vw - 43px);
    --site-title-w: 44.5%;
    --site-title-t: 14.4%;
    --catch-l: 10.9%;
    --catch-t: calc(26vw - 30px);
    --ham-line-w-min: 26%;
    --ham-line-shift: 10px;
  }

  .tb {
    display: none !important
  }

  .sp {
    display: block !important
  }

  .tropical-island {
    top: -35.5%
  }

  .subnav .contactbutton a i {
    left: unset;
    display: block;
    font-size: 25.5px;
    line-height: 47px
  }

  .contactbutton a i::after {
    position: absolute;
    bottom: -27px;
    left: 0;
    width: 100%;
    content: "MAIL";
    font-size: 8px
  }

  .contactbutton a {
    height: 60px;
    margin-right: 5vw;
    overflow: hidden
  }

  a.meanmenu-reveal {
    padding-top: 5px;
  }

  .subnav form div {
    margin-top: 12px
  }

  a.site-title img {
    height: 6.2vw
  }

  .subnav form input {
    width: calc(71% - 36px)
  }

  .subnav form button {
    right: calc(16vw + 31px)
  }

  .mobile_site_description {
    top: -18.5px
  }

  #main .article-header {
    padding: 0 .7em
  }
}





/* =========================================================
   以下、固定ページ専用
========================================================= */



/* =========================================================
   【修正後】 ウィジェット非表示の超圧縮
========================================================= */
:is(.home.paged, .category, .search) :is(#custom_html-8, #custom_html-9, #custom_html-11, #custom_html-12, #custom_html-13, #custom_html-15),
.home #custom_html-13 {
  display: none;
}

/* =========================================================
   【修正後】 .home のアニメーション（.paged除外のスマート化）
========================================================= */
.home:not(.paged) .animation .carousel .item.a {
  animation: fade-in-a 5.5s cubic-bezier(0.29, 0.28, 0.16, 1);
}

.home:not(.paged) .animation .carousel .item:is(.b, .h) {
  animation: fade-in-bh 5.1s cubic-bezier(0.29, 0.28, 0.16, 1);
}

.home:not(.paged) .animation .carousel .item:is(.c, .g) {
  animation: fade-in-cg 4.7s cubic-bezier(0.29, 0.28, 0.16, 1);
}

.home:not(.paged) .animation .carousel .item:is(.d, .f) {
  animation: fade-in-df 4.1s cubic-bezier(0.29, 0.28, 0.16, 1);
}

.home:not(.paged) .animation .carousel .item.e {
  animation: fade-in-e 3.6s cubic-bezier(0.29, 0.28, 0.16, 1);
}

.home:not(.paged) .header .animation-3 .scroll-infinity-container {
  animation: infinity-scroll infinite linear;
  will-change: transform;
}

.home:not(.paged) .header .scroll-infinity-container.n1 {
  animation-duration: 150s;
}

.home:not(.paged) .header .scroll-infinity-container.n2 {
  animation-name: infinity-scroll-2;
  animation-duration: 200s;
}

.home:not(.paged) .header .scroll-infinity-container.n3 {
  animation-duration: 250s;
}

.home:not(.paged) .footer-cloud {
  opacity: 0;
  transition: opacity 2.4s ease-in, transform 27s cubic-bezier(0.33, 0.19, 0.53, 0.93);
}

.home:not(.paged) .footer-cloud.n1 {
  transform: translate(160px, 33px);
  transition-delay: 2s;
}

.home:not(.paged) .footer-cloud.n2 {
  transform: translate(160px, -30px);
  transition-delay: 2.5s;
}

.home:not(.paged) .animation .palm-tree {
  transform: rotate(0) !important;
}

.home:not(.paged) .palm-tree.n1 {
  transform: rotate(7deg);
  transition: transform 1.65s 2.6s cubic-bezier(0.3, 0.05, 0.53, 1);
}

.home:not(.paged) .palm-tree.n2 {
  transform: rotate(-7deg);
  transition: transform 1.4s 2.4s cubic-bezier(0.3, 0.05, 0.53, 1);
}

.home:not(.paged) .palm-tree.n3 {
  transform: rotate(7deg);
  transition: transform 1.65s 1.8s cubic-bezier(0.3, 0.05, 0.53, 1);
}

.home:not(.paged) .palm-tree.n4 {
  transform: rotate(-7deg);
  transition: transform 1.4s 1.6s cubic-bezier(0.3, 0.05, 0.53, 1);
}

.home:not(.paged) .animation-2 .crab.n1 {
  animation: crab 10s 5s cubic-bezier(0.05, 0.06, 0.85, 0.98) alternate infinite;
  will-change: transform;
}

.home:not(.paged) .animation-2 .crab.n2 {
  animation: crab 7s 5s cubic-bezier(0.05, 0.06, 0.85, 0.98) alternate infinite;
  will-change: transform;
}

.home:not(.paged) .animation-2 .sea.n1 {
  animation: home-position 6s ease-in-out alternate infinite;
  will-change: transform;
}

.home:not(.paged) .animation-2 .sea.n2 {
  animation: home-position 3.3s ease-in-out alternate infinite;
  will-change: transform;
}

.home:not(.paged) .carousel .item {
  opacity: 0;
}

.home:not(.paged) .animation .carousel .item {
  opacity: 1;
}

.home:not(.paged) .animation-2 .carousel .third-son {
  animation: overreaching 30.3s 5.6s cubic-bezier(0.56, 0.04, 1, 1);
}

.home:not(.paged) .animation-2 .carousel .third-son .front {
  animation: rotate-while-floating 30s 6s cubic-bezier(0.17, 0.03, 0.58, 1) infinite;
}

.home:not(.paged) .animation-2 .carousel .third-son .rear {
  animation: rotate-while-floating-2 30s 6s cubic-bezier(0.17, 0.03, 0.58, 1) infinite;
}

.home:not(.paged) .animation-2 .carousel .runny-nose {
  animation: drooping-swaying-falling 30s 36s infinite;
}

.home:not(.paged) .animation-2 .carousel .shake-the-tail {
  animation: shake-the-tail 30s 6s infinite;
}

.home:not(.paged) .animation-2 .carousel .shadow-of-feet {
  animation: big-small 30s 6s cubic-bezier(0.17, 0.03, 0.58, 1) infinite;
}

.home:not(.paged) .animation-2 .carousel .second-son {
  animation: happy-dance 30s 9s infinite;
}

.home:not(.paged) .animation-2 .carousel .hand.right {
  animation: wave-hands-r 30s 9s infinite;
}

.home:not(.paged) .animation-2 .hand.right.pen-light:after {
  animation: pen-light-r 30s 9s infinite;
}

.home:not(.paged) .animation-2 .hand.left.pen-light:after {
  animation: pen-light-l 30s 9s infinite;
}

.home:not(.paged) .animation-2 .carousel .hand.left {
  animation: wave-hands-l 30s 9s infinite;
}

.home:not(.paged) .animation-2 .carousel .face {
  animation: face-second-son 30s 9s infinite;
}

.home:not(.paged) .animation-2 .carousel .embarrassed {
  animation: face-shake-second-son 30s 9s infinite;
}

.home:not(.paged) .animation-2 .carousel .butterfly {
  animation: fly-around 19s ease-in-out infinite;
}

.home:not(.paged) .animation-2 .carousel .eldest-son {
  animation: boing-boing 8s 14s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n6 {
  animation: quick-change-of-clothes 15s 15s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n5 {
  animation: quick-change-of-clothes-2 15s 15s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n4 {
  animation: quick-change-of-clothes-3 15s 15s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n3 {
  animation: quick-change-of-clothes-4 15s 15s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n2 {
  animation: quick-change-of-clothes-5 15s 15s infinite;
}

.home:not(.paged) .animation-2 .mascot.eldest-daughter.n1 {
  animation: quick-change-of-clothes-6 15s 15s infinite;
}

.home:not(.paged) .scrolldown-sign {
  display: none;
}

/* =========================================================
   固定ページ周りのベース記述
========================================================= */
.page .entry-content h2 {
  padding: 0.8em 0.2em;
  font-size: clamp(1.3em, 3.7vw, 1.66em);
  border-top: 1.5px solid;
  border-bottom: 1.5px solid;
  margin: 2em 0 1.2em;
}

.page .entry-content h3:not(.accordion-main h3) {
  border-left: 1.5px solid;
  padding: 0.4em 0.7em;
  font-size: clamp(1.14em, 3.7vw, 1.4em);
  margin: 2.5em 0 1.5em;
}

.page .header .scroll-infinity-container {
  animation: none;
}

.page #logo div,
.page #logo a img {
  animation: none !important;
  transform: unset !important;
}

.page #logo .header-second-son-left-hand {
  transform: translate(-3%, -4%) rotate(33deg) !important;
}

.page #logo .header-second-son-right-hand {
  transform: rotate(13deg) !important;
}

.page .expansion {
  /*margin: -0.5px -8em -1.23em -8em;*/
  position: relative;
  border-radius: 20px;
}

.page .entry-title {
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  background-image: linear-gradient(to right, #042234 50%, transparent);
  background-repeat: no-repeat;
  animation: marker-title 2.8s 1s cubic-bezier(0.18, 0.31, 0.25, 1) forwards;
  background-size: 220% 6.5%;
  background-position: 220% 100%;
  font-size: clamp(1.6em, 4vw, 2.05em);
  margin-bottom: 0.5em;
}

.page #ez-toc-container {
  max-width: fit-content;
}

.page #main .article-header {
  padding: 2em 2em 2em 4em;
}

.page .ac-close-button {
  margin: 1em auto 0;
}

/*免責事項*/
.page-id-979 .footer-background {
  box-shadow: 0 -16px 16px -26.5px #000;
  min-height: 268px;
}

.page-id-979 .site-mascot-third-son-silhouette {
  top: 15px;
}

.page-id-979 .d-4of7 {
  margin-top: 70px;
}

.page-id-979 #content {
  padding-bottom: 0;
}

.page-id-979 #inner-footer nav {
  margin: -66px 0 0;
}

.page-id-979 .introduction-of-site-mascot,
.page-id-979 .operation-buttons,
.page-id-979 #footer-top,
.page-id-979 #sidebar1,
.page-id-979 .source-org span,
.post-979 #ez-toc-container,
.page-id-979 .js-modal-open {
  display: none;
}

article:is(#post-979, #post-973) {
  background: white !important;
}

/*問い合わせ*/
.bird-family {
  aspect-ratio: 1 / 0.36;
  display: grid;
  place-items: center;
  background-image: linear-gradient(#6eaadd, #669ed0);
  overflow: hidden;
}

.bird-family .clouds.n0 {
  right: 16%;
  top: 59%;
  width: 13%;
}

.bird-family .clouds:is(.n1, .n2, .n3) {
  transform: translateX(-91%);
  animation: home-position 2s linear forwards;
}

.bird-family .clouds:is(.n4, .n5, .n6) {
  transform: translateX(67%);
  animation: home-position 2s linear forwards;
}

.bird-family .clouds.n1 {
  left: -10%;
  top: 26%;
  width: 22%;
  animation-delay: 1.8s;
}

.bird-family .clouds.n2 {
  left: -2%;
  top: 51%;
  width: 22%;
  animation-delay: 2.8s;
}

.bird-family .clouds.n3 {
  left: 3%;
  top: 76%;
  width: 26%;
  animation-delay: 3.8s;
}

.bird-family .clouds.n4 {
  right: -10%;
  top: 34%;
  width: 18%;
  animation-delay: 6.8s;
}

.bird-family .clouds.n5 {
  right: -6%;
  top: 55%;
  width: 18%;
  animation-delay: 5.8s;
}

.bird-family .clouds.n6 {
  right: -3%;
  top: 77%;
  width: 18%;
  animation-delay: 4.8s;
}

.page-id-973 .fi-tr-comment-question:before {
  top: 0.1em;
}

.page-id-973 .sub-list:before {
  left: -1.26em;
}

.iphone .page-id-973 .sub-list:before {
  top: 0.15em;
}

.mac .page-id-973 .sub-list:before {
  top: 0.22em;
}

.page-id-973 .dot:before {
  top: -0.13em;
}

.page-id-973 .entry-content ol {
  border: #9ea2a5 2px solid;
  padding: 1.6em 1em;
  border-radius: 13px;
  background: white;
}

.page-id-973 .enclosure-decoration {
  padding: 1.3em 1.1em;
}

.parent-bird,
.small-bird {
  position: absolute;
  z-index: 1;
}

.bird-float {
  animation: bird-float 1.9s linear infinite;
}

.parent-bird {
  width: 26.3%;
  max-width: 230px;
  animation: flying-in-the-sky 12.5s 2.6s linear, flying-in-the-sky-2 17s 15.1s linear;
  top: 24%;
  left: 29%;
}

.parts-of-wings img {
  position: absolute;
  transform-origin: left bottom;
  animation: flapping 0.1s infinite ease-in alternate;
}

.parent-bird .parts-of-wings img {
  width: 28.5%;
  left: 63%;
  bottom: 21%;
}

.small-bird.n1 {
  width: 10.8%;
  max-width: 98px;
  top: 53%;
  left: 50%;
  animation: flying-in-the-sky 11s 4.7s linear, flying-in-the-sky-3 17s 15.7s linear;
}

.small-bird .parts-of-wings img {
  width: 42%;
  left: 50%;
  bottom: 20%;
}

.small-bird.n2 {
  width: 10.8%;
  max-width: 98px;
  top: 41%;
  left: 60%;
  animation: flying-in-the-sky 11s 5.2s linear, flying-in-the-sky-4 17s 16.2s linear;
}

@keyframes bird-float {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(10px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes flapping {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(-13deg);
  }
}

@keyframes flying-in-the-sky {
  0% {
    transform: translate(0) scale(1);
  }

  1% {
    transform: translateY(3%) scale(1, 0.96);
  }

  2% {
    transform: translateY(0) scale(1);
  }

  3% {
    transform: translateY(3%) scale(1, 0.96);
  }

  4%,
  6% {
    transform: translate(0) scale(1);
    animation-timing-function: ease-in;
  }

  21% {
    transform: translate(-40%, 0) scale(1);
  }

  22% {
    transform: translate(-44%, 3%) scale(1, 0.96);
  }

  23% {
    transform: translate(-48%, 0) scale(1);
  }

  24% {
    transform: translate(-52%, 3%) scale(1, 0.96);
  }

  25% {
    transform: translate(-56%, 0) scale(1);
  }

  35% {
    transform: translate(-96%, -30%);
  }

  36% {
    transform: translate(-100%, -40%) scale(1);
  }

  37% {
    transform: translate(-104%, -37%) scale(1, 0.96);
  }

  38% {
    transform: translate(-108%, -40%) scale(1);
  }

  39% {
    transform: translate(-112%, -37%) scale(1, 0.96);
  }

  40% {
    transform: translate(-116%, -40%) scale(1);
    animation-timing-function: ease-out;
  }

  55%,
  56% {
    transform: translate(-55%, -45%) rotate(0) skew(0);
  }

  57% {
    transform: translate(-57%, -47.7%) rotate(5deg) skew(5deg, 0);
  }

  58% {
    transform: translate(-55%, -45%) rotate(0) skew(0, 0);
  }

  59% {
    transform: translate(-57%, -47.7%) rotate(5deg) skew(5deg, 0);
  }

  60% {
    transform: translate(-55%, -45%) rotate(0) skew(0, 0);
  }

  61% {
    transform: translate(-57%, -47.7%) rotate(5deg) skew(5deg, 0);
  }

  62% {
    transform: translate(-55%, -45%) rotate(0) skew(0, 0);
  }

  63% {
    transform: translate(-57%, -47.7%) rotate(5deg) skew(5deg, 0);
  }

  64% {
    transform: translate(-55%, -45%) rotate(0) skew(0, 0);
  }

  65% {
    transform: translate(-57%, -47.7%) rotate(5deg) skew(5deg, 0);
  }

  67%,
  68% {
    transform: translate(-106%, -45%) rotate(0) skew(0);
    animation-timing-function: ease-out;
  }

  77% {
    transform: translate(-85%, -45%) rotate(0);
    animation-timing-function: ease;
  }

  82% {
    transform: translate(-45%, -45%) rotateY(180deg);
    animation-timing-function: ease;
  }

  96% {
    transform: translate(38%, 0) rotateY(180deg);
    animation-timing-function: ease;
  }

  100% {
    transform: translate(0) rotateY(0);
  }
}

@keyframes flying-in-the-sky-2 {
  7% {
    transform: translate(0);
    animation-timing-function: cubic-bezier(0.47, 0.05, 0.51, 0.93);
  }

  22.9% {
    opacity: 1;
  }

  23% {
    transform: translate(-260%, 18%);
    opacity: 0;
  }

  23.1% {
    transform: translate(382%, 0);
    opacity: 0;
  }

  35% {
    transform: translate(382%, 0);
    opacity: 1;
    animation-timing-function: cubic-bezier(0, 0.56, 0.35, 1);
  }

  100% {
    transform: translate(0);
  }
}

@keyframes flying-in-the-sky-3 {
  7% {
    transform: translate(0);
    animation-timing-function: cubic-bezier(0.47, 0.05, 0.51, 0.93);
  }

  22.9% {
    opacity: 1;
  }

  23% {
    transform: translate(-730%, 18%);
    opacity: 0;
  }

  23.1% {
    transform: translate(630%, 0);
    opacity: 0;
  }

  35% {
    transform: translate(630%, 0);
    opacity: 1;
    animation-timing-function: cubic-bezier(0, 0.56, 0.35, 1);
  }

  100% {
    transform: translate(0);
  }
}

@keyframes flying-in-the-sky-4 {
  7% {
    transform: translate(0);
    animation-timing-function: cubic-bezier(0.47, 0.05, 0.51, 0.93);
  }

  22.9% {
    opacity: 1;
  }

  23% {
    transform: translate(-880%, 18%);
    opacity: 0;
  }

  23.1% {
    transform: translate(505%, 0);
    opacity: 0;
  }

  35% {
    transform: translate(505%, 0);
    opacity: 1;
    animation-timing-function: cubic-bezier(0, 0.56, 0.35, 1);
  }

  100% {
    transform: translate(0);
  }
}

.recaptcha {
  text-align: center;
  font-size: 0.75em;
  line-height: 1.2;
}

/*********************
INPUTS
*********************/
/*
input[type="text"],
input[type="email"],
input[type="url"],
select,
textarea,
.field {
  display: block;
  border-radius: 7px;
  border: 0;
  transition: background-color 1.5s ease-in-out;
}

input[type="text"],
input[type="email"],
input[type="url"],
#main select,
#main textarea,
#main .field {
  padding: 8px 2%;
  width: 96%;
  max-width: 96%;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.5em;
}*/

/*管理人の自由帳*/

@property --item-rotateY {
  syntax: "<angle>";
  inherits: true;
  initial-value: 0deg;
}

.page-id-62059 .entry-title {
  background-position: 0% 100%;
  animation: unset;
}

.page-id-62059 .enclosure-decoration {
  padding: 2em 1.1em 1.8em;
}

.page-id-62059 .ac-close-button {
  background: #1653c8;
  box-shadow: 0 3px 0 #071737;
}

.page-id-62059 .ac-close-button:active {
  box-shadow: 0 1px 0 #071737;
}

.glow-text {
  position: absolute;
  font-size: 1.2em;
  font-weight: bold;
  filter: brightness(1.1);
  top: 3.2%;
  margin: 0;
}

.glow-text::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #00cfff, #a600ff, #ff006e, #ff8800);
  filter: blur(26px);
  opacity: 0.7;
  background-size: 200% 200%;
  z-index: -1;
}

.stars {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.stars span {
  opacity: 0;
  position: absolute;
  animation: star-anim 7s infinite;
}

.stars span:before {
  content: "";
  position: absolute;
  width: clamp(1.2px, 0.16vw, 1.7px);
  height: clamp(1.2px, 0.16vw, 1.7px);
  background: #fff837;
}

.stars span:nth-child(1) {
  left: 4%;
  top: 7%;
  animation-delay: 1s;
}

.stars span:nth-child(2) {
  left: 14%;
  top: 3%;
  animation-delay: 2s;
}

.stars span:nth-child(3) {
  left: 24%;
  top: 16%;
  animation-delay: 3s;
}

.stars span:nth-child(4) {
  left: 34%;
  top: 10%;
  animation-delay: 4s;
}

.stars span:nth-child(5) {
  left: 44%;
  top: 17%;
  animation-delay: 5s;
}

.stars span:nth-child(6) {
  left: 54%;
  top: 29%;
  animation-delay: 6s;
}

.stars span:nth-child(7) {
  left: 64%;
  top: 20%;
  animation-delay: 7s;
}

.stars span:nth-child(8) {
  left: 74%;
  top: 15%;
  animation-delay: 8s;
}

.stars span:nth-child(9) {
  left: 84%;
  top: 36%;
  animation-delay: 9s;
}

.stars span:nth-child(10) {
  left: 96%;
  top: 26%;
  animation-delay: 10s;
}

@keyframes star-anim {
  0% {
    opacity: 0;
  }

  5% {
    opacity: 1;
  }

  10%,
  55% {
    opacity: 0;
  }

  60% {
    opacity: 1;
  }

  95% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.stars span:nth-child(11),
.stars span:nth-child(12),
.stars span:nth-child(13),
.stars span:nth-child(14),
.stars span:nth-child(15) {
  offset-path: path('M0,.5s64,0,119,15,95,40,95,40');
  offset-distance: 0%;
  opacity: 1;
}

@keyframes shooting-star {
  100% {
    offset-distance: 100%;
    opacity: 0;
  }
}

.stars span:nth-child(11) {
  animation: shooting-star 3s 2s cubic-bezier(0.07, 0.45, 0.25, 1), shooting-star 3s 75s cubic-bezier(0.07, 0.45, 0.25, 1);
  left: 42%;
  top: 21%;
}

.stars span:nth-child(12) {
  animation: shooting-star 3s 15s cubic-bezier(0.07, 0.45, 0.25, 1), shooting-star 3s 90s cubic-bezier(0.07, 0.45, 0.25, 1);
  left: 24%;
  top: 72%;
}

.stars span:nth-child(13) {
  animation: shooting-star 3s 30s cubic-bezier(0.07, 0.45, 0.25, 1), shooting-star 3s 105s cubic-bezier(0.07, 0.45, 0.25, 1);
  left: 70%;
  top: 25%;
}

.stars span:nth-child(14) {
  animation: shooting-star 3s 45s cubic-bezier(0.07, 0.45, 0.25, 1), shooting-star 3s 120s cubic-bezier(0.07, 0.45, 0.25, 1);
  left: 70%;
  top: 92%;
}

.stars span:nth-child(15) {
  animation: shooting-star 3s 60s cubic-bezier(0.07, 0.45, 0.25, 1), shooting-star 3s 135s cubic-bezier(0.07, 0.45, 0.25, 1);
  left: 25%;
  top: 11%;
}

.blog-owner-katoshiro {
  aspect-ratio: 1 / 0.5;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: white;
  pointer-events: none;
  animation: pointer-events-on 0s 5.7s forwards;
  background: #191970;
  border-bottom: 4.5px solid #000;
  background-image: radial-gradient(140% 107.13% at 50% 10%, #0000000a 37.41%, #0045c8 69.27%, #000000 100%);
  z-index: 0;
}

.blog-owner-katoshiro:before {
  content: "";
  background-image: url(/wp-content/uploads/vast-galaxy.avif);
  position: absolute;
  background-size: 600px;
  width: 100%;
  height: 100%;
}

.blog-owner-katoshiro:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #0d0b17;
  background-image: radial-gradient(140% 107.13% at 50% 10%, #0000000a 37.41%, #0045c8 69.27%, #000000 100%);
  z-index: -1;
  opacity: 0;
}

.blog-owner-katoshiro.animation:after {
  opacity: 1;
  transition: 10s 7s;
}

.blog-owner-katoshiro .repletion {
  position: absolute;
  opacity: 0;
  transition: opacity 0.8s;
}

.blog-owner-katoshiro.animation .repletion {
  opacity: 0.83;
  will-change: opacity;
}

.blog-owner-katoshiro.animation figcaption {
  opacity: 1;
  will-change: opacity;
}

.blog-owner-katoshiro p.repletion {
  margin: 0;
  font-size: clamp(0.8em, 1.6vw, 0.9em);
}

.blog-owner-katoshiro.animation p.n1 {
  transition-delay: 1s;
}

.blog-owner-katoshiro.animation p.n2 {
  transition-delay: 2s;
}

.blog-owner-katoshiro.animation p.n3 {
  transition: opacity 0.8s 4.9s;
}

.carousel-automatic .n1 {
  --i: 1;
}

.carousel-automatic .n2 {
  --i: 2;
}

.carousel-automatic .n3 {
  --i: 3;
}

.carousel-automatic .n4 {
  --i: 4;
}

.carousel-automatic .n5 {
  --i: 5;
}

.carousel-automatic .n6 {
  --i: 6;
}

.carousel-automatic .n7 {
  --i: 7;
}

.carousel-automatic .n8 {
  --i: 8;
}

.carousel-automatic .n9 {
  --i: 9;
}

.carousel-automatic .n10 {
  --i: 10;
}

.carousel-automatic .n11 {
  --i: 11;
}

.carousel-automatic .n12 {
  --i: 12;
}

.carousel-automatic .n13 {
  --i: 13;
}

.carousel-automatic .n14 {
  --i: 14;
}

.carousel-automatic .n15 {
  --i: 15;
}

.carousel-automatic .n16 {
  --i: 16;
}

.carousel-automatic .n17 {
  --i: 17;
}

.carousel-automatic .n18 {
  --i: 18;
}

.carousel-automatic img {
  aspect-ratio: 1/1.5;
  object-fit: cover;
  transition: transform 0.9s cubic-bezier(0.9, 0, 0.9, 1), opacity 1.3s 2.8s ease-in-out;
  z-index: 1;
  position: relative;
  opacity: 0;
}

.animation .carousel-automatic img {
  opacity: 0.36;
}

.carousel-automatic span:hover img {
  opacity: 1;
  ttransition: transform 0.5s 0.03s cubic-bezier(0.29, 0.67, 0.58, 1), opacity 0.5s 0.03s cubic-bezier(0.29, 0.67, 0.58, 1);
  transform: scale(1.8) rotate(10deg);
}

.mobile .carousel-automatic span:hover img {
  transform: scale(1.63) rotate(-14deg);
}

.carousel-automatic:hover span {
  animation-play-state: paused;
}

.carousel-automatic {
  --n: 18;
  --duration: 277s;
  --item-size-bruto: calc(var(--caro-omtrek) / var(--n));
  --item-spacing: 0;
  --item-size-netto: calc(var(--item-size-bruto) / (1 + var(--item-spacing)));
  --caro-omtrek: calc(1.25 * pi * var(--caro-radius));
  --caro-max-radius: 7777px;
  --caro-tiltZ: 14deg;
  --caro-tiltX: -6deg;
  --item-tiltX: -9.5deg;
  --caro-radius: min(440vw, var(--caro-max-radius));
  display: grid;
  perspective: 700px;
  z-index: 1;
  cursor: pointer;
}

.mobile .carousel-automatic {
  margin-top: 48px;
  --caro-tiltX: 1deg;
  --item-tiltX: 0deg;
  --caro-radius: min(53vw, var(--caro-max-radius));
  perspective: 1777px;
  transform-style: preserve-3d;
}

.carousel-automatic span:after {
  content: "";
  position: absolute;
  background: #0000004f;
  width: 100%;
  will-change: transform;
  height: 91%;
  top: 2%;
  left: -3.7%;
  filter: blur(70px);
}

.mobile .carousel-automatic span:after {
  height: 85%;
  left: 2.3%;
  filter: blur(3px);
  top: calc(16% - 17px);
}

.carousel-automatic span {
  --delay: calc(var(--duration) / var(--n) * var(--i) - var(--duration));
  grid-area: 1/1;
  width: var(--item-size-netto);
  transform:
    rotateZ(var(--caro-tiltZ)) rotateX(var(--caro-tiltX)) rotateY(var(--item-rotateY)) translateZ(var(--caro-radius)) rotateX(var(--item-tiltX));
  animation: item-rotateY var(--duration) var(--delay) infinite linear;
  position: absolute;
}

@keyframes item-rotateY {
  100% {
    --item-rotateY: 360deg;
  }
}

.blog-owner-katoshiro figcaption {
  opacity: 0;
  transition: opacity 0.8s 4.1s;
  font-size: clamp(30px, 8vw, 125px);
  margin-top: clamp(13px, 4vw, 70px);
  transform: rotateY(180deg);
}

.mobile .blog-owner-katoshiro figcaption {
  font-size: 8px;
  margin-top: 7px;
}

.anime-layout {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  margin: auto;
}

.mac .anime-layout {
  will-change: transform;
}

[open] .slide-motion figure {
  animation: slide-motion 1s cubic-bezier(0.12, 0.7, 0.52, 1.6);
}

[open] .slide-motion figure.first {
  animation: fade-down 0.3s 1s cubic-bezier(0.15, 0.16, 0.14, 1.73) forwards, fade-out 0.2s 1.85s cubic-bezier(0.12, 0.7, 0.52, 1.6) forwards;
}

.slide-motion figure {
  filter: drop-shadow(8px 8px #ededed);
  opacity: 0;
}

@keyframes slide-motion {
  0% {
    transform: scale(0.95);
  }

  23%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.accordion-main[open] .anime-1 {
  animation: home-position 1s 1s cubic-bezier(0.92, 0.05, 0.9, 1) forwards;
}

.anime-2.animation {
  animation: slide-in-r 0.4s cubic-bezier(0.19, 1.46, 0.58, 1) forwards;
}

.accordion-main[open] .anime-3 {
  animation: home-position 1s 1.9s cubic-bezier(0.92, 0.05, 0.9, 1) forwards;
}

.accordion-main[open] .anime-4 {
  animation: jumping-mark 0.19s 1.5s ease-in;
}

.accordion-main[open] .anime-5 {
  animation: home-position 0.3s 1s cubic-bezier(0.11, 0.66, 0.48, 1.23) forwards;
}

.animation .anime-6 {
  animation: home-position 1s 1s ease-in, gakuburu 0.01s 600 2s, gakuburu 0.12s 8s 25, gakuburu 0.2s 11s 20, gakuburu 1s 15s 3, rotate-20 0.28s 18s ease-in forwards;
}

.accordion-main[open] .anime-7 {
  animation: jumping-10 8s -1.3s;
}

.accordion-main[open] .anime-8 {
  animation: home-position 5s 1s cubic-bezier(0.24, 0.23, 0, 0.96) forwards;
}

.anime-9.animation {
  animation: slide-in-l 0.4s cubic-bezier(0.19, 1.46, 0.58, 1) forwards;
}

.animation.home-position {
  animation-name: home-position !important;
}

.animation .runner {
  transform: translateX(192%);
}

.animation .trail-runner {
  transform: translate(192%, -100%);
}

.anime-10.animation {
  animation: horizontal 2s 1s 7;
}

@keyframes horizontal {
  6% {
    transform: translateX(5px);
  }

  12% {
    transform: translateX(0);
  }

  18% {
    transform: translateX(5px);
  }

  24% {
    transform: translateX(0);
  }

  30% {
    transform: translateX(5px);
  }

  36%,
  100% {
    transform: translateX(0);
  }
}

.anime-10.animation .signal.n2 {
  animation: fade-in 0.7s 1.2s ease-in-out forwards, fade-out 1s 14.3s ease-in-out forwards;
}

.signal.n2:before {
  border: 0.5px solid #ff3c3c;
}

.animation .signal.n2:before {
  animation: ripples-spread 1.2s 2.5s 15;
}

.anime-11.animation {
  transform: scale(1) !important;
}

.animation .anime-12 {
  animation: home-position 1s 1.5s cubic-bezier(0.83, 0.05, 1, 1) forwards;
}

.animation .anime-13 {
  animation: fade-out 0.2s 2.5s forwards;
}

.animation .anime-14 {
  animation: fade-in 0.2s 2.5s forwards, fade-out 1s 9.4s ease-in-out forwards;
}

.animation .anime-15 {
  animation: horizontal 2s 3.4s 3;
}

.animation .anime-16 {
  animation: home-position 1.5s 9.4s forwards;
  opacity: 1 !important;
}

.animation .anime-18 {
  animation: shaking-head 3.2s 1s 3;
}

@keyframes shaking-head {
  0% {
    transform: rotateY(0);
  }

  20%,
  80% {
    transform: rotateY(45deg);
  }

  100% {
    transform: rotateY(0);
  }
}

.animation .anime-19 {
  animation: fade-in 0.2s 1.6s forwards, fade-out 0.2s 3.4s forwards, fade-in 0.2s 4.8s forwards, fade-out 0.2s 6.6s forwards;
}

.animation .anime-20 {
  animation: fade-in 0.2s 8.2s forwards;
}

.animation .anime-21 {
  animation: fade-in 0.2s 8.8s forwards, gakuburu 0.01s 600 9s;
}

.animation.anime-22 {
  animation: fade-up-jump 0.3s cubic-bezier(0.15, 0.16, 0.14, 1.73) forwards;
}

.animation.anime-23 {
  clip-path: inset(0) !important;
}

.anime-layout .third-son .switching {
  transform-origin: bottom;
  transition: 3.2s 2.5s cubic-bezier(0.92, 0.05, 0.9, 1);
}

.anime-layout .third-son.animation .front {
  transform: rotateY(0);
  animation: stretching-oneself-third-son 12s 6.1s;
  will-change: transform;
}

.anime-layout .third-son .front,
.third-son.animation .back {
  transform: rotateY(180deg);
}

figure.third-son {
  transform: scale(.5);
  transition: 1s 0.5s cubic-bezier(0.7, 0.1, 0.57, 0.95);
}

figure.third-son.animation {
  transform: scale(1);
}

@keyframes stretching-oneself-third-son {

  1.3%,
  95.2% {
    transform: scale(0.85, 1.15);
    animation-timing-function: cubic-bezier(0.42, 0, 0.15, 0.93);
  }

  100% {
    transform: scale(1);
  }
}

.switching-anime {
  position: absolute;
}

.switching-anime img.front {
  animation: rotatey-front 12s 1s linear infinite;
}

.switching-anime img.back {
  animation: rotatey-back 12s 1s linear infinite;
  opacity: 0;
}

@keyframes rotatey-front {
  0% {
    transform: rotateY(0);
  }

  100% {
    transform: rotateY(360deg);
  }
}

@keyframes rotatey-back {
  0% {
    transform: rotateY(180deg);
    opacity: 1;
  }

  100% {
    transform: rotateY(540deg);
    opacity: 1;
  }
}

span.surprised {
  display: inline-block;
  transform-origin: left center;
  font-size: 0.975em;
  font-weight: 400;
}

span.surprised.beeline {
  display: unset;
  position: relative;
  padding-right: 1.5em;
}

span.surprised.beeline span {
  position: absolute;
  transform-origin: left center;
  font-size: 1.5em;
  top: -0.45em;
}

.surprised.animation {
  animation: scream-l 3.5s 0.4s forwards;
}

@keyframes scream-l {
  20% {
    transform: translate(0);
  }

  27% {
    transform: translateX(1em);
  }

  33% {
    transform: translateX(-1em);
  }

  39% {
    transform: translateX(1em);
  }

  45% {
    transform: translateX(-1em);
  }

  52%,
  57% {
    transform: translate(0);
    color: #0d1f35;
  }

  63%,
  85% {
    transform: translate(0) rotate(0);
    color: #ff4b60;
    animation-timing-function: cubic-bezier(0.8, 0, 0.67, 1);
  }

  100% {
    transform: translate(0) rotate(45deg);
    color: #ff4b60;
  }
}

.signal {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9px;
  height: 9px;
  opacity: 0;
  border-radius: 50%;
}

.signal::before {
  position: absolute;
  width: 17px;
  height: 17px;
  content: "";
  border-radius: 50%;
  opacity: 0;
}

.signal.n1::before {
  border: 0.5px solid #b2f4ff;
  animation: ripples-spread 1.2s 67.1s 6;
}


































































/* =========================================================
   レスポンシブ：デスクトップ (>=1270px)
========================================================= */
@media (min-width:1270px) {
  .page-id-973 .table-container .inner {
    cursor: default;
  }

  .page-id-973 .entry-content ol {
    padding: 2em 3em;
  }

  .page-id-973 .speech-bubble .content {
    min-height: 214px;
  }

  .page .entry-content:not(.page-id-979 .entry-content) {
    padding: 0 8em 0;
  }

  .page .expansion {
    margin: -0.5px -8.02em -1.23em -8.02em;
  }

  .page .entry-content {
    line-height: 1.72;
  }

  .page #main .article {
    overflow: hidden;
    border-radius: 20px;
  }

  .page video,
  .page .expansion {
    border-radius: unset;
  }

  .page #main:not(.page-id-979 #main) {
    max-width: none;
    width: 100%;
  }
}

/* =========================================================
   レスポンシブ：タブレット以上 (>=880px)
========================================================= */
@media (min-width:880px) {
  .page-id-973 .speech-bubble .content {
    height: 161px;
  }
}

/* =========================================================
   レスポンシブ：モバイル（>=768px）
========================================================= */
@media (min-width:768px) {
  .page-id-973 .entry-content ol {
    padding: 1.5em 1.8em;
  }

  .page .entry-content {
    padding: 0 3em 0;
  }
}

/* =========================================================
   レスポンシブ：スマートフォン (<=879.9px)
========================================================= */
@media (max-width:879.9px) {
  .page-id-973 .speech-bubble .content {
    height: calc(30vw - 103px);
  }
}

/* =========================================================
   レスポンシブ：小型スマートフォン (<=767px)
========================================================= */
@media (max-width:767px) {


  .iphone .page-id-973 .sub-list:before {
    top: 0.25em;
  }

  .page-id-973 .speech-bubble .content {
    height: calc(30vw - 69.5px);
  }

  .page-id-973 .enclosure-decoration {
    padding: 0.8em;
  }

  .enclosure-decoration,
  .page-id-62059 .enclosure-decoration {
    padding: 0.9em 0.8em;
  }

  .iphone .enclosure-decoration,
  .page-id-62059 .enclosure-decoration {
    padding: 0.98em 0.8em 0.82em;
  }

  .page #main .article-header {
    padding: 1.25em 1em 1.25em 2.92em;
  }
}

/* =========================================================
   レスポンシブ：小型スマートフォン2 (<=574px)
========================================================= */
@media (max-width: 574px) {
  .page-id-973 .d-2 {
    animation-delay: 0s !important;
  }

  .page-id-973 .speech-bubble .content {
    height: calc(54vw - 25px);
  }
}

/* =========================================================
   レスポンシブ：極小スマートフォン (<=480px)
========================================================= */
@media (max-width: 480px) {
  .page-id-973 .list-centering-content {
    margin-left: -0.8em;
  }

  .page-id-973 .entry-content ol {
    padding: 1.6em 0.8em;
  }

  .mobile .carousel-automatic {
    margin-top: 0;
    --caro-radius: min(130vw, var(--caro-max-radius));
  }
}
