@charset "UTF-8";
.header {
    transform:translateZ(0)
}
:root {
    --g-nav-band-height:14.24px;
    --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;
    --radius-sm:7px;
    --radius-md:10px;
    --radius-lg:12px;
    --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;
    --c-accent-border:#0094ff4d;
    --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%
}
.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 {
    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
}
.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, .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 :is(#ez-toc-container:where(.ez-toc-v2), .ez-toc-v2, .ez-toc-container-modal) 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
}
#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
}
@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) {
    #meanmenu-reveal {
        display: none;
    }

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

    nav#g_nav {
        position:absolute;
        left:50%;
        z-index:4;
        width:max-content;
        --g-nav-rise:clamp(83px, calc(8.367vw + 18.75px), 118.5px);
        margin-top:calc(0px - var(--g-nav-rise));
        font-weight:400;
        text-align:center;
        transform:translateX(-50%)
    }
    .nav>li>a i::before {
        position:relative;
        font-size:calc(280% - 18px);
        left:12%;
        top:.1em
    }
    .nav>li>a .fi-tr-mobile-notch::before {
        content:"\e900"
    }
    .nav>li>a .fi-tr-angle-double-small-down {
        display:none
    }
    .nav>li>a .fi-tr-hotel::before {
        left:2%
    }
    .nav>li>a .fi-tr-face-disguise::before {
        left:14%;
        top:.15em
    }
    .nav>li>a .category-en {
        position:absolute;
        font-size:clamp(8.5px, 1.1vw, 13px);
        top:.63em;
        letter-spacing:.6px
    }
    .nav>li>a .category-ja {
        position:absolute;
        bottom:.16em
    }
    .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(12.3px, 1.5vw, 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;
        justify-content:center;
        width:100%;
        position:absolute;
        letter-spacing:.4px;
        height:100%;
        bottom:0
    }
    ::-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:transparent
    }
    ::-webkit-scrollbar {
        width:9px;
        height:9px;
        background:var(--c-white);
        border-radius:12px
    }
    .article ::-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(var(--g-nav-rise) - var(--g-nav-band-height));
        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
    }
}
@media (width < 768px) {
    :root {
        --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)}
    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%
    }
    button.meanmenu-reveal {
        display: block;
        text-align: start;
        width:19%;
        padding: 14px 0 0;
        border: 0;
        background: transparent;
        color: inherit;
        font: inherit;
        cursor: pointer;
        right:1px;
        position:absolute;
        z-index:4
    }
    button.meanmenu-reveal:focus-visible {
        outline: 2px solid var(--c-text);
        outline-offset: 2px;
    }
    .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)}
    .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
    }
    button.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
    }
}
.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 {
    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 :is(#ez-toc-container:where(.ez-toc-v2), .ez-toc-v2, .ez-toc-container-modal) {
    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 .source-org span, .post-979 :is(#ez-toc-container:where(.ez-toc-v2), .ez-toc-v2, .ez-toc-container-modal), .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
}
@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;
    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
}
@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%
    }
}
@media (min-width:880px) {
    .page-id-973 .speech-bubble .content {
        height:161px
    }
}
@media (min-width:768px) {
    .page-id-973 .entry-content ol {
        padding:1.5em 1.8em
    }
    .page .entry-content {
        padding:0 3em 0
    }
}
@media (max-width:879.9px) {
    .page-id-973 .speech-bubble .content {
        height:calc(30vw - 103px)
    }
}
@media (width < 768px) {
    .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 {
        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
    }
}
@media (max-width: 574px) {
    .page-id-973 .d-2 {
        animation-delay:0s !important
    }
    .page-id-973 .speech-bubble .content {
        height:calc(54vw - 25px)
    }
}
@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))
    }
}
