@charset "UTF-8";

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

*,
*:before,
*:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:where([hidden]:not([hidden="until-found"])) {
    display: none !important;
}

:where(html) {
    -webkit-text-size-adjust: none;
    color-scheme: dark light;
}

@supports not (min-block-size:100dvb) {
    :where(html) {
        block-size: 100%
    }
}

@media (prefers-reduced-motion:no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    block-size: 100%;
    block-size: 100dvb;
    line-height: 1.5;
    font-family: system-ui, sans-serif;
    -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
    font: inherit;
    color: inherit;
}

:where(textarea) {
    resize: vertical;
    resize: block;
}

:where(button, label, select, summary, [role="button"], [role="option"]) {
    cursor: pointer;
}

:where(:disabled) {
    cursor: not-allowed;
}

:where(label:has(>input:disabled), label:has(+ input:disabled)) {
    cursor: not-allowed;
}

:where(button) {
    border-style: solid;
}

:where(a) {
    text-underline-offset: .2ex;
}

:where(ul, ol) {
    list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block;
}

:where(img, picture, svg) {
    max-inline-size: 100%;
    block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word;
}

:where(h1, h2, h3) {
    line-height: calc(1em + .5rem);
}

:where(hr) {
    border: none;
    -webkit-border-before: 1px solid;
    border-block-start: 1px solid;
    color: inherit;
    block-size: 0;
    overflow: visible;
}

:where(:focus-visible) {
    outline: 2px solid var(--focus-color, Highlight);
    outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body,
html {
    scroll-behavior: smooth;
    height: 100%;
}

@media (min-width:1025px) {

    body,
    html {
        scroll-padding-top: 200px
    }
}

body {
    position: relative;
    margin: 0;
    padding: 0;
    background: #f4f2ed;
    color: #222;
    font-family: verdana, 游ゴシック, yugothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, meiryo, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    cursor: auto;
}

section:nth-child(2n) {
    background: #f7f7f7;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
}

a {
    color: #2d4373;
    font-size: 18px;
}

a:visited,
a:link {
    padding-bottom: 3px;
    color: #a60303;
    text-decoration: none;
}

img {
    display: inline-block;
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    vertical-align: middle;
}

.fixed {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
}

a img {
    border: none;
}

h2,
h3 {
    margin-top: 2rem;
    margin-bottom: .5rem;
    color: #444;
    font-family: verdana, 游ゴシック, yugothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, meiryo, sans-serif;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    text-rendering: optimizelegibility;
}

h3 {
    color: #666;
    font-size: 1.15rem;
}

i {
    font-style: italic;
    line-height: inherit;
}

strong {
    font-weight: 700;
    line-height: inherit;
}

figure img {
    padding: 5px;
    border: 1px solid #aaa;
}

.orange,
.cyan {
    color: #a60303;
}

.left {
    float: left !important;
}

.right {
    float: right !important;
    text-align: right;
}

h1,
h2,
h3,
h4 {
    word-break: keep-all;
    overflow-wrap: anywhere;
}

@media (max-width:1025px) {

    h2,
    h3 {
        line-height: 1.4
    }

    h2 {
        font-size: 2.3125rem
    }

    h3 {
        font-size: 1.6875rem
    }
}

h1,
h1 a,
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
    padding: 20px 0 10px;
    color: #0000;
    font-family: -apple-system, BlinkMacSystemFont, Toppan Bunkyu Gothic, YuGothic, Noto Sans CJK JP, Helvetica Neue, Segoe UI, sans-serif;
    font-size: 4rem;
    font-weight: 700;
    text-shadow: 3px 3px 0 #a60303;
}

h1 a,
h1 a:link,
h1 a:visited,
h1 a:active {
    padding: 0;
    text-shadow: 3px 3px 0 #a60303;
}

h2 {
    position: relative;
    margin-top: 0;
    padding: 10px 0 10px 15px;
    border-bottom: solid 3px #a60303;
    color: transparent;
    font-family: -apple-system, BlinkMacSystemFont, Toppan Bunkyu Gothic, YuGothic, Noto Sans CJK JP, Helvetica Neue, Segoe UI, sans-serif;
    font-size: 1.6875rem;
    font-style: normal;
    font-weight: 700;
    text-shadow: 3px 3px 0 #a60303;
}

h2 a,
h2 a:link,
h2 a:visited,
h2 a:hover,
h2 a:active {
    padding: 0 0 10px;
    color: #0000;
    font-size: 35px;
    text-shadow: 3px 3px 0 #a60303;
    -webkit-text-stroke: 1px #ddd;
}

h4 a {
    color: #a60303;
}

.top_ul a {
    font-size: 1rem;
    text-decoration: none !important;
}

.id_photo a {
    text-shadow: 3px 3px 4px #0f192a;
}

table,
td {
    border: none;
}

li {
    list-style: none;
}

ul {
    margin-bottom: 1.25rem;
    list-style-position: outside;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.8;
}

table {
    margin-bottom: 1.25rem;
    table-layout: auto;
    border: solid 1px #ddd;
    background: #f4f2ed;
}

.free_recommend {
    margin: 2rem auto;
    text-align: center;
    width: 80%;
    max-width: 1440px;
    height: auto;
}

@media (max-width:1025px) {
    .free_recommend {
        width: 100%;
        max-width: 100%
    }
}

h3,
h4 {
    margin-top: 2rem;
    margin-bottom: .5rem;
    font-family: verdana, 游ゴシック, yugothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, meiryo, sans-serif;
    font-style: normal;
    font-weight: 900;
    line-height: 1.4;
    font-size: 2rem;
    text-rendering: optimizelegibility;
}

table.info td {
    padding: 4px;
    border: 1px solid dimgray;
}

.center {
    display: -webkit-box;
    display: flex;
    width: 1009px;
    margin: 0 auto;
}

.index__para1 {
    padding: 2px 0 12px;
    text-align: center;
}

figcaption {
    padding-top: .8em;
    color: #333;
    font-size: 90%;
    text-align: center;
}

a.index__tel {
    display: inline;
    width: 4rem;
    margin: 8px auto 0;
    padding: 8px;
    border-radius: 8px;
    background: #a60303;
    box-shadow: 0 6px #a60303;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

a.index__form {
    background-color: #a60303;
    box-shadow: 0 6px #215594;
}

a.index__line {
    background-color: #5ac363;
    box-shadow: 0 6px #4da55f;
}

ul li ul {
    margin-bottom: 0;
    margin-left: 1.25rem;
}

.top_ul li {
    line-height: 1.8;
}

label.menu_header {
    margin: 0;
    padding-left: 10px;
    background: #a60303;
}

label.menu_header a {
    color: #fff;
}

::-webkit-input-placeholder {
    font-size: 12px;
}

::-moz-placeholder {
    font-size: 12px;
}

::placeholder {
    font-size: 12px;
}

h3.sub {
    display: block;
    padding-top: 1.25em;
    border-bottom: 1px solid #a60303;
    border-left: 4px solid #a60303;
    text-indent: .75em;
}

a.index__tel:link {
    color: #fff;
}

.center ul li {
    display: inline-block;
    padding: 5px 1em;
}

h2 .orange {
    color: #fff;
    font-size: 1.4em;
    font-weight: 700;
}

@media (min-width:1026px) and (max-width:1025px) {
    .top_images {
        height: 500px;
        background-position: 50% 35%;
        background-size: cover
    }

    .sns_buttons {
        width: 100%;
        text-align: center
    }
}

@media (max-width:1025px) {
    .top_images {
        background-size: cover
    }

    .sns_buttons {
        margin: 0
    }
}

@media (max-width:1025px) {
    button {
        display: inline-block
    }
}

h4 {
    color: #a60303;
    font-size: 1rem;
}

.center ul {
    list-style: none;
}

.center ul li a {
    color: #a60303;
}

.center+.right {
    margin-top: -60px;
}

@media (max-width:1025px) {
    .fixed {
        position: relative
    }

    .center {
        display: -webkit-box;
        display: flex;
        top: 0;
        right: 0;
        width: 17rem;
        margin: 0 0 auto auto;
        text-align: right
    }

    .center ul li {
        padding: 2px;
        text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff
    }

    .center+.right {
        margin-top: 0
    }
}

@media (min-width:1026px) and (max-width:1025px) {
    h1 {
        margin-top: 168px
    }
}

h2:first-letter {
    text-shadow: 3px 3px 0 #a60303;
}

@media (min-width:1026px) and (max-width:1025px) {

    h1 br,
    h2 br {
        display: none
    }
}

.top_ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-flow: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-left: -.6rem;
    color: #bf343f;
    list-style: none;
}

.icon_dvd {
    width: 30px;
    height: 22px;
    vertical-align: baseline;
}

.m-25px {
    margin-top: -1.2rem;
}

figure {
    display: block;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 0 1.5em;
    text-align: center;
}

.noborder img {
    border: none;
}

.center ul li a span {
    color: #a60303;
}

.googlemaps .text-white {
    color: #fff;
}

.top_border {
    display: block;
    z-index: 20001;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

h2:after {
    content: " ";
    display: block;
    position: absolute;
    bottom: -3px;
    width: 30%;
    border-bottom: solid 3px #a60303;
}

.bottom_border {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.card_5brand {
    display: block;
    width: auto;
    height: 100%;
    max-height: 50px;
    -o-object-fit: scale-down;
    object-fit: scale-down;
    margin: 1rem auto;
}

#nav,
#flow_form {
    display: none;
    position: fixed;
    z-index: 10001;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    padding-bottom: 200px;
    overflow: scroll;
    background-color: #f4f2ed;
}

.header-nav {
    z-index: 2;
    width: 100%;
    height: 100%;
    background-color: #1b1310;
}

@media (min-width:1025px) {
    .hatsuho {
        padding-right: 1rem;
        float: left
    }

    .center {
        position: fixed;
        z-index: 20000;
        top: 90px;
        left: 150px
    }

    .center ul {
        border-radius: 5px;
        background: rgba(255, 255, 255, .8)
    }
}

@media (max-width:1025px) {
    .hatsuho {
        display: block;
        margin: 5px auto
    }

    .Top__Image {
        width: 100%;
        height: auto
    }

    .center {
        z-index: 0;
        margin-top: 45px;
        margin-left: 0
    }

    .slick-list.draggable {
        width: 100%;
        top: -50px
    }
}

@media (min-width:1026px) and (max-width:1025px) {
    .Top__Image {
        display: block;
        margin-top: 163px
    }
}

table.info {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border-collapse: collapse;
}

#video {
    width: 100%;
    height: auto;
}

.update {
    color: #606060;
    font-size: 1rem;
    text-align: right;
}

.p_center {
    text-align: center;
    width: 100%;
    margin: 0 auto;
}

img,
table,
h2 {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: all 1.25s 0s ease-out;
    transition: all 1.25s 0s ease-out;
}

.Footer__Menu img {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition: none;
    transition: none;
    opacity: 1;
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadein {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fade-in-bottom {
    -webkit-animation-name: fadein-bottom;
    animation-name: fadein-bottom;
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 0;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

@-webkit-keyframes fadein-bottom {
    0% {
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
        opacity: 0
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
}

.openHere1,
.openHere2,
.openHere3,
.openHere4,
.openHere5,
.openHere6,
.openHere7 {
    display: none;
}

.animated {
    display: block;
    -webkit-animation: move-y 3s infinite alternate ease-in-out;
    animation: move-y 3s infinite alternate ease-in-out;
    color: red;
    will-change: transform;
}

@-webkit-keyframes move-y {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}

@keyframes move-y {
    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }

    to {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}

.fadein {
    -webkit-animation-name: fadein-bottom;
    animation-name: fadein-bottom;
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 0;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    will-change: transform;
}

@keyframes fadein-bottom {
    0% {
        -webkit-transform: translateY(20px);
        transform: translateY(20px);
        opacity: 0
    }

    to {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1
    }
}

.big-animation {
    display: block;
    width: 95%;
    margin: 0 auto;
    -webkit-transform: translateX(-75px);
    transform: translate(-75px);
    -webkit-transition: all .8s 0s ease-out;
    transition: all .8s 0s ease-out;
    opacity: 0;
    color: #8b0000;
    font-size: 45px;
    will-change: transform;
}

.big-animation span {
    font-size: 15px;
}

@-webkit-keyframes more-big {
    0% {
        font-size: 1rem
    }

    20% {
        font-size: 2rem
    }

    23% {
        font-size: 1rem
    }

    to {
        font-size: 2rem
    }
}

@keyframes more-big {
    0% {
        font-size: 1rem
    }

    20% {
        font-size: 2rem
    }

    23% {
        font-size: 1rem
    }

    to {
        font-size: 2rem
    }
}

@-webkit-keyframes GradientBackground {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    to {
        background-position: 0 50%
    }
}

@keyframes GradientBackground {
    0% {
        background-position: 0 50%
    }

    50% {
        background-position: 100% 50%
    }

    to {
        background-position: 0 50%
    }
}

.no-animation {
    opacity: 1;
    margin-bottom: 2rem;
}

.shine_animation {
    -webkit-animation: glow 3s ease-in-out infinite;
    animation: glow 3s ease-in-out infinite;
}

@-webkit-keyframes glow {
    0% {
        box-shadow: 0 0 #ffa740b3
    }

    to {
        box-shadow: 0 0 30px #ffa74000
    }
}

@keyframes glow {
    0% {
        box-shadow: 0 0 #ffa740b3
    }

    to {
        box-shadow: 0 0 30px #ffa74000
    }
}

.row {
    width: 100%;
    max-width: 62.5rem;
    margin: 0 auto 2rem;
    background-color: #f4f2ed;
    clear: both;
}

.row:after,
.row:before {
    content: " ";
    display: table;
}

.row:after {
    clear: both;
}

.columns {
    width: 100%;
    padding-right: .9375rem;
    padding-left: .9375rem;
    float: left;
    position: relative;
}

.small-12 {
    width: 100%;
}

.small-6 {
    width: 50%;
}

.inner-wrap {
    position: relative;
    width: 100%;
}

.inner-wrap:after,
.inner-wrap:before {
    content: " ";
    display: table;
}

.inner-wrap:after {
    clear: both;
}

@media (min-width:1025px) {
    article h1 {
        margin-top: 142px
    }
}

.Footer__Menu {
    display: -webkit-box;
    display: flex;
    position: fixed;
    z-index: 40000;
    bottom: 0;
    justify-content: space-around;
    width: 100%;
    height: 60px;
    max-height: 100px;
    border-top: 1px solid #ccc;
    background: #f4f2ed;
}

@media (min-width:1026px) and (max-width:1025px) {
    .Footer__Menu {
        height: 75px
    }

    .Footer__Menu img {
        width: auto;
        height: 60px
    }
}

.Footer__Menu a img,
.Footer__Menu span img {
    width: auto;
    height: 40px;
}

.Footer__Menu a {
    display: inline-block;
    box-sizing: border-box;
    font-weight: 400;
}

.Footer__Menu a,
.Footer__Menu span {
    width: 18%;
    padding: .4rem 0;
    text-align: center;
}

footer {
    margin: 0;
    padding: 0 0 50px;
    clear: both;
    overflow: hidden;
    background-color: #bf343f;
    color: #fff;
    text-align: center;
    text-shadow: none;
}

.Footer__Payments--img {
    display: block;
    width: 100%;
    max-width: 500px;
    height: auto;
    margin: 2rem auto;
    background-color: #f4f2ed;
}

:root {
    --btnBeforeBackgroundColor: #a60303;
}

.top_header,
.hidden_header {
    text-align: center;
    position: fixed;
    z-index: 10000;
    width: 100%;
    background-color: #ffffff80;
}

@media (max-width:1025px) {

    .top_header,
    .hidden_header {
        background-color: transparent
    }
}

.logo {
    padding-right: 15px;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    background-color: transparent;
}

.logo a:active img,
.logo a:visited img,
.logo a:link img {
    width: 125px;
    height: auto;
}

@media (max-width:1025px) {

    .logo a:active img,
    .logo a:visited img,
    .logo a:link img {
        width: auto;
        height: 50px
    }
}

.inner-header {
    height: 65px;
    margin: 0;
    padding: 0;
}

.flex {
    display: -webkit-box;
    display: flex;
    width: 100%;
    height: ;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    align-items: start;
    text-align: left;
}

@media (max-width:1025px) {
    .flex {
        width: 72%
    }
}

.flex h1 {
    -webkit-box-flex: 1;
    flex-grow: 1;
}

.flex .form_button {
    -webkit-box-flex: 2;
    flex-grow: 2;
    z-index: 20000;
    max-width: 900px;
}

.flex .hamburger_menu {
    display: block;
    position: fixed;
}

@media (max-width:1025px) {
    .flex h1 {
        -webkit-box-flex: 3;
        flex: 3;
        text-align: left
    }
}

.flex .pc-menu {
    display: -webkit-box;
    display: flex;
    padding-top: .8rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    top: 0;
    -webkit-box-flex: 8;
    flex-grow: 8;
}

@media (max-width:1025px) {
    .flex .pc-menu {
        display: none
    }
}

@media (min-width:1026px) and (max-width:1025px) {
    .flex .pc-menu {
        display: none
    }
}

.flex .pc-menu ul {
    width: 100%;
    margin-bottom: 0;
    background: transparent;
    border-radius: 0;
}

@media (prefers-color-scheme:dark) {
    .flex .pc-menu ul {
        border-bottom: none
    }
}

@media (min-width:1025px) {
    .flex .pc-menu ul li {
        font-size: 1.1rem
    }
}

@media (min-width:1000px) {
    .flex .pc-menu ul li {
        font-size: 1.2rem
    }
}

.flex .pc-menu ul li a {
    color: #a60303;
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}

@media (min-width:1025px) {
    .flex .pc-menu ul li a {
        font-size: 1.1rem
    }
}

@media (min-width:1000px) {
    .flex .pc-menu ul li a {
        font-size: 1.3rem
    }
}

.flex .pc-menu ul li a span {
    color: #a60303;
    font-weight: 700;
    background-image: -webkit-linear-gradient(#a60303);
    background-image: linear-gradient(#a60303);
    background-size: 0 4px;
    background-position: bottom right;
    background-repeat: no-repeat;
    padding-bottom: 5px;
    -webkit-transition: background-size .3s ease-out;
    transition: background-size .3s ease-out;
}

.flex .pc-menu ul li a:hover span {
    background-size: 100% 8px;
    background-position: bottom left;
}

.flex .pc-menu ul:nth-child(2) {
    border-bottom: 1px solid #a60303;
}

.form_button {
    display: -webkit-box;
    display: flex;
    vertical-align: middle;
    -webkit-box-flex: 2;
    flex-grow: 2;
}

@media (max-width:1024px) {
    .form_button {
        display: none
    }
}

.btn-price:hover {
    background-color: #f2d49b !important;
    color: #a60303;
    text-shadow: none !important;
}

.form_button-fill,
.form_button {
    position: fixed;
    top: 5px;
    right: 15px;
    -webkit-box-flex: 2;
    flex-grow: 2;
}

@media (max-width:1025px) {

    .form_button-fill,
    .form_button {
        right: calc(50% - 75px)
    }
}

.form_button-fill a {
    display: block;
    width: 150px;
    height: 80px;
    margin: 10px 10px auto auto;
    text-align: center;
    line-height: 40px;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 10px;
    background-image: none;
    border: 1px solid #a60303;
    border-bottom: 4px solid #de7003;
}

@media (max-width:1025px) {
    .form_button-fill a {
        height: 40px;
        line-height: 40px
    }
}

.form_button-fill a:hover {
    background: #de7003;
}

@media (min-width:1026px) and (max-width:1025px) {

    .form_button-fill,
    .form_button {
        display: none
    }
}

.form_button-fill a {
    background-image: -webkit-linear-gradient(100deg, hsl(30, 97%, 44%) 0%, hsl(30, 92%, 46%) 8%, hsl(30, 88%, 48%) 14%, hsl(31, 83%, 50%) 20%, hsl(31, 85%, 52%) 27%, hsl(31, 88%, 54%) 36%, hsl(32, 90%, 56%) 46%, hsl(32, 93%, 58%) 58%, hsl(32, 96%, 60%) 75%, hsl(32, 100%, 63%) 100%);
    background-image: linear-gradient(350deg, hsl(30, 97%, 44%) 0%, hsl(30, 92%, 46%) 8%, hsl(30, 88%, 48%) 14%, hsl(31, 83%, 50%) 20%, hsl(31, 85%, 52%) 27%, hsl(31, 88%, 54%) 36%, hsl(32, 90%, 56%) 46%, hsl(32, 93%, 58%) 58%, hsl(32, 96%, 60%) 75%, hsl(32, 100%, 63%) 100%);
}

@media (max-width:1025px) {
    .slick-list.draggable {
        top: 0
    }
}

.waves {
    position: relative;
    width: 100%;
    height: 3vh;
    margin-bottom: -7px;
    min-height: 30px;
    max-height: 50px;
}

.content {
    position: relative;
    height: 20vh;
    text-align: center;
    background-color: #fff;
}

.parallax>use {
    -webkit-animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
    animation: move-forever 25s cubic-bezier(.55, .5, .45, .5) infinite;
}

.parallax>use:nth-child(1) {
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
    -webkit-animation-duration: 7s;
    animation-duration: 7s;
}

.parallax>use:nth-child(2) {
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
}

.parallax>use:nth-child(3) {
    -webkit-animation-delay: -4s;
    animation-delay: -4s;
    -webkit-animation-duration: 13s;
    animation-duration: 13s;
}

.parallax>use:nth-child(4) {
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
    -webkit-animation-duration: 20s;
    animation-duration: 20s;
}

@-webkit-keyframes move-forever {
    0% {
        -webkit-transform: translate3d(-90px, 0, 0);
        transform: translate3d(-90px, 0, 0)
    }

    to {
        -webkit-transform: translate3d(85px, 0, 0);
        transform: translate3d(85px, 0, 0)
    }
}

@keyframes move-forever {
    0% {
        -webkit-transform: translate3d(-90px, 0, 0);
        transform: translate3d(-90px, 0, 0)
    }

    to {
        -webkit-transform: translate3d(85px, 0, 0);
        transform: translate3d(85px, 0, 0)
    }
}

@media (max-width:768px) {
    .content {
        height: 30vh
    }

    h1 {
        font-size: 3rem
    }
}

.fixed {
    position: fixed;
}

@media (min-width:1025px) {
    .fixed {
        -webkit-backdrop-filter: blur(10px) brightness(150%) contrast(120%);
        backdrop-filter: blur(10px) brightness(150%) contrast(120%)
    }
}

.fixed+div {
    display: none;
}

@media (min-width:1025px) {

    .menu-content,
    .hamburger_menu,
    #menu-btn-check {
        display: none
    }
}

@media (min-width:1026px) and (max-width:1025px) {

    .menu-content,
    .hamburger_menu {
        display: none
    }
}

@media (max-width:1025px) {
    .fixed {
        position: fixed
    }

    .fixed+div {
        display: block;
        height: 100px
    }

    .menu-btn {
        position: fixed;
        right: 0;
        display: -webkit-box;
        display: flex;
        height: 60px;
        width: 60px;
        -webkit-box-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        align-items: center;
        z-index: 20090;
        background-color: transparent
    }

    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: "";
        display: block;
        -webkit-transition: all .4s;
        transition: all .4s;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: var(--btnBeforeBackgroundColor);
        position: absolute
    }

    .menu-btn span:before {
        bottom: 8px
    }

    .menu-btn span:after {
        top: 8px
    }

    #menu-btn-check:checked~.menu-btn span {
        background-color: #fff0
    }

    #menu-btn-check:checked~.menu-btn span:before {
        bottom: 0;
        -webkit-transform: rotate(-315deg);
        transform: rotate(-315deg)
    }

    #menu-btn-check:checked~.menu-btn span:after {
        top: 0;
        -webkit-transform: rotate(315deg);
        transform: rotate(315deg)
    }

    #menu-btn-check {
        display: none
    }

    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 80;
        overflow: scroll;
        background-color: #420101;
        -webkit-transition: all .5s;
        transition: all .5s
    }

    .menu-content nav {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-pack: justify;
        justify-content: space-between
    }

    .menu-content nav .logo {
        display: inline-block
    }

    .menu-content nav .title {
        text-align: center
    }

    .menu-content nav .menu-footer {
        color: #fff;
        text-align: center;
        background-color: #de7003
    }

    .menu-content ul {
        padding: 20px 10px 0
    }

    .menu-content ul.info {
        padding-top: 0
    }

    .menu-content ul li {
        border-bottom: solid 1px #fff;
        list-style: none;
        text-align: left
    }

    .menu-content ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color: #fff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative
    }

    .menu-content ul li a:before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #fff;
        border-right: solid 2px #fff;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px
    }

    .menu-content ul.contact {
        display: -webkit-box;
        display: flex;
        justify-content: space-around;
        padding: 5px 10px 0
    }

    .menu-content ul.contact li {
        border: none;
        width: 22vw
    }

    .menu-content ul.contact li a {
        display: inline-block;
        padding: 9px 15px 10px 8px;
        text-align: center;
        font-size: .9rem;
        font-weight: 700;
        white-space: nowrap;
        background-color: #100000;
        border-radius: 8px
    }

    .menu-content ul.contact li a:before {
        right: 0;
        border-top: none;
        border-right: none
    }

    .menu-content ul.contact li:last-child a:before {
        border-top: none
    }

    #menu-btn-check:checked~.menu-content {
        left: 0
    }

    .menus {
        display: none
    }
}

.top_header {
    display: none;
    -webkit-animation: bg-fade-in .8s ease forwards;
    animation: bg-fade-in .8s ease forwards;
}

.hidden_header .menu-btn span,
.hidden_header .menu-btn span:before,
.hidden_header .menu-btn span:after {
    background-color: #a60303;
}

@-webkit-keyframes bg-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes bg-fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.infoicon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: .8rem 0 .8rem auto;
    padding: 5px 10px;
    border: 2px solid #a60303;
    border-radius: 4px;
    background: beige;
}

@media (max-width:1025px) {
    .infoicon {
        top: 30px;
        right: 0
    }

    .infoicon a {
        font-size: .75rem
    }
}

.infoicon a {
    font-size: .95rem;
}

.js-dropdown-btn {
    display: inline-block;
    width: 100%;
    height: 100%;
    padding: .5rem;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #f4f2ed;
    color: #666;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

.js-dropdown-btn:hover {
    background-color: #a60303;
    color: #fff;
}

.js-dropdown-btn:before {
    content: "▼ ";
}

.js-dropdown-btn:after {
    content: "▼ ";
}

.js-dropdown-box {
    margin-top: -.2rem;
}

.buttons a {
    padding: 10px 15px;
    background: #a60303;
    color: #fff;
    font-weight: 700;
    border-radius: 8px;
    box-shadow: 0 5px #de7003;
}

.buttons a:hover {
    -webkit-animation: .5s ease-in-out;
    animation: .5s ease-in-out;
    padding: 10px 15px;
    background: #a60303;
    color: #fff;
    font-weight: 700;
    border-radius: 8px;
    box-shadow: 0 5px #de7003;
}

.reserved_and_tel button {
    font-family: -apple-system, BlinkMacSystemFont, Toppan Bunkyu Gothic, YuGothic, Noto Sans CJK JP, Helvetica Neue, Segoe UI, sans-serif;
}

.PriceList {
    width: 100%;
}

.PriceList figure {
    width: 100%;
    margin: 0;
}

.PriceList figure img {
    width: 100%;
    height: auto;
}

.PriceList__row {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}

.PriceList__nine {
    width: 90%;
    margin: 11px auto;
}

.PriceList__nine--small {
    font-size: 12px;
}

.PriceList a.PriceList__button--orange {
    border-bottom: 3px solid #de7003;
    background-color: #a60303;
}

.PriceList table th.table-head {
    width: 50%;
    background-color: #f4f2ed;
}

.PriceList table th.table-head:first-child {
    border-top-left-radius: 15px;
}

.PriceList table th.table-head:nth-of-type(2) {
    border-top-right-radius: 15px;
}

.PriceList table h4 {
    padding-left: 1em;
    color: #a60303;
    font-weight: 700;
    text-align: left;
}

.PriceList table h4 span {
    color: #a60303;
    font-size: 1.475rem;
}

.PriceList table.table-photo th.table-head {
    padding-top: 3px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    background-color: #f4f2ed;
}

.PriceList .table-print th span {
    color: #a60303;
}

.PriceList table.table-photo td span {
    display: block;
    margin-top: 0;
    font-size: 12px;
}

.PriceList .table-ware2 .table-ware2-head {
    padding-left: 0;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.PriceList__button a {
    display: block;
    width: 260px;
    height: 35px;
    margin: 11px auto;
    padding-bottom: 8px;
    border-radius: 25px;
    background-color: #a60303;
    color: #fff !important;
    font-size: 20px;
    text-align: center;
}

.PriceList table {
    width: 95%;
    margin: 22px auto;
    border-spacing: 0;
    border-collapse: separate;
    background-color: #f4f2ed;
    color: #a60303;
    font-size: 13px;
    text-align: center;
}

.PriceList h3 {
    margin-left: 1em;
    color: #a60303;
    font-size: 20px;
    font-weight: 700;
}

.PriceList h3 span {
    font-size: 14px;
}

.PriceList #modal_price {
    display: none;
    position: fixed;
    top: 45px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffffbf;
}

.PriceList #modal_price h3 {
    margin-top: 20px;
}

.PriceList #modal_price table {
    width: 80%;
    margin: 12px auto;
    font-size: 14px;
}

.PriceList .table-print th {
    padding-left: 10%;
    text-align: left;
}

.PriceList .table-ware2 th {
    width: 50%;
    padding-left: 10%;
    text-align: left;
}

.PriceList td {
    padding: 4px;
}

.PriceList .table-ware td,
.PriceList .table-ware th {
    padding: 4px;
    text-align: center;
}

.PriceList table.table-photo th {
    text-align: center;
}

.PriceList .table-print .table-head th {
    border-top-left-radius: 15px;
}

.PriceList table.table-photo td {
    padding: 4px 0;
    text-align: center;
    text-shadow: 2px 2px #fff;
}

.PriceList table.table-photo td span {
    font-family: verdana, 游ゴシック, yugothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, meiryo, sans-serif;
    font-weight: 700;
    font-size: 20px;
}

table.info td:first-child {
    text-align: right;
    white-space: nowrap;
}

.PriceList .table-ware td:last-child,
.PriceList .table-ware th:last-child {
    border-right: none;
}

.PriceList table.table-photo th:last-child {
    border-right: none;
}

.PriceList .table-print .table-head td {
    border-top-right-radius: 15px;
}

.PriceList .table-ware tr:nth-of-type(odd) td,
.PriceList .table-ware tr:nth-of-type(odd) th {
    background-color: #fdf0f2;
}

.PriceList #modal_price table th {
    padding-left: 10px;
}

.PriceList table thead tr {
    border-bottom: 1px solid #a60303;
}

.PriceList tr:nth-of-type(odd) {
    background: #f4f2ed;
}

.PriceList #modal_price table tr:nth-child(2) {
    background-color: #fff;
}

.PriceList table.table-photo td:last-child {
    border: none;
}

.PriceList table.table-photo .weak td {
    color: #9d9d9d;
}

.PriceList table.table-photo .em td {
    font-weight: 700;
}

.PriceList table.table-photo tr:nth-of-type(odd) td {
    background-color: #fdf0f2;
}

.PriceList #modal_price table td {
    padding-left: 20px;
}

.PriceList #modal_price:before {
    -webkit-filter: blur(32px);
    filter: blur(32px);
}

.PriceList #modal_price .center {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
}

.PriceList #modal_price .center button {
    padding: 5px 20px;
    border-radius: 25px;
    background-color: #a60303;
}

.PriceList table.table-ware2 {
    width: 60%;
}

form {
    margin: 0;
    padding: 0;
    background-color: #f4f2ed;
}

form ul li {
    list-style: none;
}

select {
    width: 100%;
    height: 2.3125rem;
    padding: .5rem;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    border-color: #ccc;
    background-color: #fafafa;
    background-repeat: no-repeat;
    background-position: 100% center;
    color: #000000bf;
    font-family: verdana, 游ゴシック, yugothic, ヒラギノ角ゴ ProN W3, Hiragino Kaku Gothic ProN, メイリオ, meiryo, sans-serif;
    font-size: .875rem;
    line-height: normal;
}

label {
    display: block;
    margin-bottom: 0;
    color: #4d4d4d;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
}

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

input[type="checkbox"],
input[type="radio"],
select {
    margin: 0 0 1rem;
}

form label {
    font-weight: 700;
}

input,
select {
    font-size: 12px;
}

input[type="submit"] {
    border-radius: 5px;
    font-size: 1.55rem;
    text-align: center;
    -webkit-appearance: none;
}

form h3 {
    color: #a60303;
    font-weight: 700;
}

form ul {
    margin-left: 0;
    padding-left: 0;
    list-style-type: none;
    text-align: right;
}

textarea {
    max-width: 100%;
    height: auto;
    min-height: 50px;
}

[class*="column"]+[class*="column"]:last-child {
    float: right;
}

input[type="email"],
input[type="tel"],
input[type="text"],
textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.3125rem;
    margin: 0 0 1rem;
    padding: .5rem;
    -webkit-transition: box-shadow .45s, border-color .45s ease-in-out;
    transition: box-shadow .45s, border-color .45s ease-in-out;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    border-color: #ccc;
    background-color: #fff;
    box-shadow: inset 0 1px 2px #0000001a;
    color: #000000bf;
    font-family: inherit;
    font-size: .875rem;
    -webkit-appearance: none;
}

textarea[rows] {
    height: auto;
}

input[type="radio"],
select {
    margin: 0 0 1rem;
    background-color: #f4f2ed;
}

fieldset {
    margin: 1.125rem 0;
    padding: 1.25rem;
    border: 1px solid #ddd;
}

fieldset legend {
    margin: 0 0 0 -.1875rem;
    padding: 0 .1875rem;
    background: #f4f2ed;
    font-weight: 700;
}

form label,
form legend {
    background-color: #f5f5f5;
    font-weight: 700;
}

input,
select,
textarea {
    font-size: 14px;
}

input[type="text"] {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.3125rem;
    margin: 0 0 1rem;
    padding: .5rem;
    font-size: .875rem;
}

.logo {
    padding: 0 4px;
}

.logo img {
    margin-top: -50px;
    width: 90px;
    height: auto;
    -webkit-filter: drop-shadow(0 1px 1px rgba(163, 97, 49, .3));
    filter: drop-shadow(0 1px 1px rgba(163, 97, 49, .3));
}

@media (max-width:1025px) {
    .logo img {
        width: auto;
        height: 50px
    }
}

.footer_menu ul {
    margin: 0 20px;
    list-style: circle;
}

.sns_buttons {
    display: -webkit-box;
    display: flex;
    height: 100px;
}

.footer_menu ul .sns_buttons {
    width: 250px;
    height: 80px;
    margin: 0 auto;
    list-style: none;
}

.footer_menu ul .sns_buttons .icon {
    width: 57px;
    height: auto;
    margin: .75rem .5rem;
    float: left;
}

.footer_menu ul li {
    line-height: 12px;
}

.footer_menu ul li a {
    font-size: 18px;
    line-height: 30px;
}

#footer_menu {
    text-align: left;
}

#footer_menu li {
    display: block;
}

.information {
    width: 80%;
    margin: 10px auto;
    padding-top: 10px;
    padding-right: 10px;
    border: 1px solid #a60303;
    border-radius: 10px;
    vertical-align: middle;
}

.information h3 {
    width: 80%;
    position: relative;
    padding-left: 10px;
    font-weight: 700;
}

.information h3:after {
    content: " ";
    position: absolute;
    top: 12px;
    left: 7em;
    width: 60%;
    border-bottom: 1px dotted #f4f2ed;
}

.information ul {
    margin-left: 0;
    padding-left: 1rem;
}

.information li {
    padding: 10px 0;
    border-bottom: 1px dotted silver;
}

.information li:last-of-type {
    border-bottom: none;
}

.top-bar {
    position: relative;
    height: 8px;
    margin-bottom: 0;
    overflow: visible;
    color: #fff;
    line-height: 2.8125rem;
}

.top-bar img {
    width: 36px;
    height: 36px;
}

@media (max-width:1025px) {
    .top-bar {
        overflow: visible
    }

    .top-bar:after,
    .top-bar:before {
        content: " ";
        display: table
    }

    .top-bar:after {
        clear: both
    }
}

.top-bar:after,
.top-bar:before {
    content: " ";
    display: table;
}

.top-bar:after {
    clear: both;
}

.keyholder figure img {
    padding: 0;
    border: none;
}

.keyholder .keyblock {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
}

.keyholder img {
    width: 100%;
    height: auto;
}

@media (max-width:1025px) {
    .keyholder img {
        width: 80%
    }
}

.crowd a {
    display: inline-block;
    margin-right: .8rem;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 2px;
}

nav.content-menu:before {
    content: "コンテンツメニュー";
}

nav.content-menu {
    width: 100%;
    max-width: 800px;
    margin: 2rem auto;
    border: 2px solid #a60303;
    background: beige;
    border-radius: 12px;
    font-size: .75rem;
}

nav.content-menu ul {
    margin-left: 1.5rem;
    line-height: 2;
}

nav.content-menu ul li {
    list-style: circle;
}

nav.content-menu ul li.hidden {
    display: none;
}

nav.content-menu ul li a {
    font-size: .85rem;
}

.Footer__Logo {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    gap: 1rem 1.8em;
    width: 90%;
    margin: 2rem auto;
}

.Footer__Logo img {
    display: block;
    width: 150px;
    height: auto;
    -webkit-box-flex: 1;
    flex: 1;
}

.Footer__Logo div {
    -webkit-box-flex: 1;
    flex: 1;
}

@media (min-width:1025px) {
    .Footer__Logo div {
        -webkit-box-flex: 5;
        flex: 5
    }
}

.Footer__Logo div p a {
    display: block;
    color: #fff;
    font-weight: 700;
}

.Footer__Logo div p a.Footer__Logo--contact {
    width: 150px;
    height: 2rem;
    line-height: 2rem;
    text-align: center;
    background-color: #de7003;
    border-bottom: 2px solid #ac5702;
    border-radius: 8px;
}

.Footer__Logo div p a.Footer__Logo--tel {
    margin-top: 1.5rem;
}

.Footer__Logo div p a.Footer__Logo--map {
    font-weight: 400;
}

@media (max-width:1025px) {
    .Footer__Logo div p a.Footer__Logo--map {
        display: none
    }
}

.Footer__Menu__List {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    width: 90%;
    margin: 2rem auto;
}

@media (min-width:1025px) {
    .Footer__Menu__List {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        flex-direction: row
    }
}

.Footer__Menu__List ul {
    width: 90%;
}

@media (min-width:1025px) {
    .Footer__Menu__List ul {
        width: 33%
    }
}

.Footer__Menu__List li {
    padding: 4px 0;
}

.Footer__Menu__List li h2 {
    color: #fff;
    border-bottom: 2px solid #a60303;
    text-shadow: none;
}

@media (max-width:1025px) {
    .Footer__Menu__List li h2 {
        font-size: 1.2rem
    }
}

.Footer__Menu__List li h2:after {
    content: "";
    border-bottom: none;
}

.Footer__Menu__List li h3 {
    margin-top: 1.8rem;
    color: #fff;
    font-weight: 700;
    font-size: 1.2rem;
}

.Footer__Menu__List li a {
    color: #fff;
}

.SubMenu {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    flex-direction: row;
    -webkit-box-pack: center;
    justify-content: center;
    flex-wrap: wrap;
    width: 80%;
    margin: 1rem auto;
    z-index: 200;
}

.SubMenu li {
    padding: 0 .2rem 0 .1rem;
}

@media (max-width:1025px) {
    .SubMenu li {
        width: 50%
    }

    .SubMenu li a {
        font-size: 14px
    }
}

@media (min-width:1025px) {
    .SubMenu li:after {
        content: " | ";
        color: silver
    }

    .SubMenu li:last-child:after {
        content: ""
    }
}

.pager {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    margin: 20px 0;
    list-style: none;
}

.pager li {
    list-style: none;
}

.pager .pager-link {
    display: block;
    padding: 10px;
    margin-right: 10px;
    text-decoration: none;
    font-weight: 700;
    background-color: #fff;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.pager .pager-link:hover {
    background-color: #eee;
}

.pager .current {
    font-weight: 400;
    color: #fff;
    background-color: #ddd;
}

@media (prefers-color-scheme:dark) {
    .pager .current {
        color: #000
    }
}

video {
    margin: 0 auto;
    width: 100%;
    height: auto;
}

#player {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
}

#player img {
    width: 100%;
    height: auto;
}

:root {
    --contact-width: 50px;
    --contact-height: 50px;
    --position-x: 50px;
    --position-y: 50px;
    --times-contact-width: calc(var(--contact-width) * 2);
    --times-contact-height: calc(var(--contact-height) * 2);
}

.Contacts .circle-tel,
.Contacts .circle-form,
.Contacts .circle-mail,
.Contacts .circle-line {
    color: #fff;
    width: var(--contact-width);
    height: var(--contact-height);
    margin: 0;
    mix-blend-mode: multiply;
    padding: 4px;
    position: fixed;
    text-align: center;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

.Contacts img {
    width: 35px;
    height: auto;
}

.Contacts .circle-tel {
    -webkit-animation-name: appear-tel;
    animation-name: appear-tel;
    background: #f66;
    border-radius: 50% 50% 50% 70%/50% 50% 70% 60%;
    bottom: var(--position-y);
    right: var(--position-x);
}

@-webkit-keyframes appear-tel {
    0% {
        -webkit-transform: translate(var(--times-contact-width), var(--times-contact-height)) scale(0) rotate(180deg);
        transform: translate(var(--times-contact-width), var(--times-contact-height)) scale(0) rotate(180deg)
    }

    20% {
        -webkit-transform: translate(var(--contact-width), var(--contact-height)) scale(.5) rotate(90deg);
        transform: translate(var(--contact-width), var(--contact-height)) scale(.5) rotate(90deg)
    }

    45% {
        -webkit-transform: translate(0, var(--contact-height)) scale(1) rotate(0);
        transform: translateY(var(--contact-height)) scale(1) rotate(0)
    }

    80% {
        -webkit-transform: translate(0, 30px) scaleX(.5) scaleY(1.5);
        transform: translateY(30px) scaleX(.5) scaleY(1.5)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(1.1);
        transform: translate(0) scale(1.1)
    }

    95% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

@keyframes appear-tel {
    0% {
        -webkit-transform: translate(var(--times-contact-width), var(--times-contact-height)) scale(0) rotate(180deg);
        transform: translate(var(--times-contact-width), var(--times-contact-height)) scale(0) rotate(180deg)
    }

    20% {
        -webkit-transform: translate(var(--contact-width), var(--contact-height)) scale(.5) rotate(90deg);
        transform: translate(var(--contact-width), var(--contact-height)) scale(.5) rotate(90deg)
    }

    45% {
        -webkit-transform: translate(0, var(--contact-height)) scale(1) rotate(0);
        transform: translateY(var(--contact-height)) scale(1) rotate(0)
    }

    80% {
        -webkit-transform: translate(0, 30px) scaleX(.5) scaleY(1.5);
        transform: translateY(30px) scaleX(.5) scaleY(1.5)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(1.1);
        transform: translate(0) scale(1.1)
    }

    95% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

.Contacts .circle-form {
    -webkit-animation-name: appear-form;
    animation-name: appear-form;
    -webkit-animation-duration: 4s;
    animation-duration: 4s;
    background: #f92;
    border-radius: 60% 30% 50% 50%/50%;
    bottom: var(--position-y);
    right: 0;
}

@-webkit-keyframes appear-form {
    0% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0) rotate(230deg);
        transform: translateY(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    50% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0) rotate(230deg);
        transform: translateY(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(1.1) rotate(0deg);
        transform: translate(0) scale(1.1) rotate(0)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(.8) rotate(0deg);
        transform: translate(0) scale(.8) rotate(0)
    }

    95% {
        -webkit-transform: translate(0, 0) scale(1.2) rotate(0deg);
        transform: translate(0) scale(1.2) rotate(0)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
        transform: translate(0) scale(1) rotate(0)
    }
}

@keyframes appear-form {
    0% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0) rotate(230deg);
        transform: translateY(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    50% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0) rotate(230deg);
        transform: translateY(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(1.1) rotate(0deg);
        transform: translate(0) scale(1.1) rotate(0)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(.8) rotate(0deg);
        transform: translate(0) scale(.8) rotate(0)
    }

    95% {
        -webkit-transform: translate(0, 0) scale(1.2) rotate(0deg);
        transform: translate(0) scale(1.2) rotate(0)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
        transform: translate(0) scale(1) rotate(0)
    }
}

.Contacts .circle-mail {
    -webkit-animation-name: appear-mail;
    animation-name: appear-mail;
    background: #215594;
    -webkit-animation-duration: 3.5s;
    animation-duration: 3.5s;
    border-radius: 80% 30% 50% 50%/60% 50% 30%;
    bottom: 0;
    right: var(--position-x);
}

.Contacts .circle-mail img {
    width: 30px;
    height: auto;
}

@-webkit-keyframes appear-mail {
    0% {
        -webkit-transform: translate(var(--times-contact-width), 0) scale(0) rotate(230deg);
        transform: translate(var(--times-contact-width)) scale(0) rotate(230deg)
    }

    50% {
        -webkit-transform: translate(var(--times-contact-height), 0) scale(0) rotate(230deg);
        transform: translate(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(1.1) rotate(0deg);
        transform: translate(0) scale(1.1) rotate(0)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
        transform: translate(0) scale(1) rotate(0)
    }
}

@keyframes appear-mail {
    0% {
        -webkit-transform: translate(var(--times-contact-width), 0) scale(0) rotate(230deg);
        transform: translate(var(--times-contact-width)) scale(0) rotate(230deg)
    }

    50% {
        -webkit-transform: translate(var(--times-contact-height), 0) scale(0) rotate(230deg);
        transform: translate(var(--times-contact-height)) scale(0) rotate(230deg)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(1.1) rotate(0deg);
        transform: translate(0) scale(1.1) rotate(0)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1) rotate(0deg);
        transform: translate(0) scale(1) rotate(0)
    }
}

.Contacts .circle-line {
    -webkit-animation-name: appear-line;
    animation-name: appear-line;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    background: #06c755;
    border-radius: 40% 40% 50%/30% 50% 50%;
    bottom: 0;
    right: 0;
}

@-webkit-keyframes appear-line {
    0% {
        -webkit-transform: translate(var(--contact-width), var(--contact-height)) scale(0);
        transform: translate(var(--contact-width), var(--contact-height)) scale(0)
    }

    70% {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }

    80% {
        -webkit-transform: translate(0, 0) scale(1.3);
        transform: translate(0) scale(1.3)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(1.2);
        transform: translate(0) scale(1.2)
    }

    96% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    98% {
        -webkit-transform: translate(0, 0) scale(1.2);
        transform: translate(0) scale(1.2)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

@keyframes appear-line {
    0% {
        -webkit-transform: translate(var(--contact-width), var(--contact-height)) scale(0);
        transform: translate(var(--contact-width), var(--contact-height)) scale(0)
    }

    70% {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }

    80% {
        -webkit-transform: translate(0, 0) scale(1.3);
        transform: translate(0) scale(1.3)
    }

    90% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    93% {
        -webkit-transform: translate(0, 0) scale(1.2);
        transform: translate(0) scale(1.2)
    }

    96% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    98% {
        -webkit-transform: translate(0, 0) scale(1.2);
        transform: translate(0) scale(1.2)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

.Contacts .circle-title {
    position: fixed;
    bottom: var(--times-contact-height);
    right: 0;
    color: #666;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    z-index: 60;
    width: calc(var(--contact-width) * 2);
    height: auto;
    -webkit-animation-name: appear-title;
    animation-name: appear-title;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes appear-title {
    0% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0);
        transform: translateY(var(--times-contact-height)) scale(0)
    }

    80% {
        -webkit-transform: translate(0, 0) scale(1.1);
        transform: translate(0) scale(1.1)
    }

    90% {
        -webkit-transform: translate(0, 20px) scaleX(1) scaleY(1.5);
        transform: translateY(20px) scaleX(1) scaleY(1.5)
    }

    92% {
        -webkit-transform: translate(0, 0) scaleX(1.2) scaleY(.8);
        transform: translate(0) scaleX(1.2) scaleY(.8)
    }

    96% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

@keyframes appear-title {
    0% {
        -webkit-transform: translate(0, var(--times-contact-height)) scale(0);
        transform: translateY(var(--times-contact-height)) scale(0)
    }

    80% {
        -webkit-transform: translate(0, 0) scale(1.1);
        transform: translate(0) scale(1.1)
    }

    90% {
        -webkit-transform: translate(0, 20px) scaleX(1) scaleY(1.5);
        transform: translateY(20px) scaleX(1) scaleY(1.5)
    }

    92% {
        -webkit-transform: translate(0, 0) scaleX(1.2) scaleY(.8);
        transform: translate(0) scaleX(1.2) scaleY(.8)
    }

    96% {
        -webkit-transform: translate(0, 0) scale(.9);
        transform: translate(0) scale(.9)
    }

    to {
        -webkit-transform: translate(0, 0) scale(1);
        transform: translate(0) scale(1)
    }
}

picture img {
    border-radius: 8px;
}

a img {
    border-radius: 12px;
}

h1 picture img,
h1 picture source {
    width: 100%;
    height: auto;
}

.index__h1 {
    margin: 50px auto;
    color: #bf343f;
    padding-top: 0;
    line-height: 1.5;
    letter-spacing: -2px;
    font-size: 2.5rem;
    text-align: center;
    z-index: 100;
    text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff;
}

@media (max-width:1025px) {
    .index__h1 {
        font-size: 24px;
        width: 100%;
        height: auto
    }
}

@media (min-width:1025px) {
    .index__h1 {
        margin: 1.5rem auto 2.8rem;
        width: 100%;
        line-height: 1;
        text-align: center;
        letter-spacing: -2px;
        font-size: 4.5rem;
        z-index: 100
    }
}

@media (min-width:1026px) and (max-width:1025px) {
    .index__h1 {
        margin: 400px auto 150px
    }
}

.index__h1 strong {}

.index__h1 .f28 {
    font-size: 2.8rem;
}

@media (min-width:1025px) {
    .index__h1 .f28 {
        font-size: 4.8rem
    }
}

.index__h1 .f2 {
    font-size: 2rem;
}

@media (min-width:1025px) {
    .index__h1 .f2 {
        font-size: 4rem
    }
}

.index__h1 .f31 {
    font-size: 3.1rem;
}

@media (min-width:1025px) {
    .index__h1 .f31 {
        font-size: 7.1rem
    }
}

.index__h1 .ls-8 {
    letter-spacing: -8px;
}

h2 {
    margin: 2rem auto 1.7rem;
}

p.categories {
    width: 100%;
    text-align: right;
    color: #777;
    font-size: .87rem;
}

p.categories span {
    color: #888;
    font-size: .7rem;
}

a[href$="お宮参り/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👶</text></svg>") 16 -16, auto;
}

a[href$="大阪天満宮.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>⛩️</text></svg>") 16 -16, auto;
}

a[href$="/大阪天満宮七五三撮影/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👧👦</text></svg>") 16 -16, auto;
}

a[href$="index_price.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>💴</text></svg>") 16 -16, auto;
}

a[href$="お宮参りレンタル/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>🤱</text></svg>") 16 -16, auto;
}

a[href$="七五三レンタル/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👚</text></svg>") 16 -16, auto;
}

a[href$="訪問着レンタル/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👘</text></svg>") 16 -16, auto;
}

a[href$="大阪成人式写真-前撮り後撮り.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>💐</text></svg>") 16 -16, auto;
}

a[href$="成人式レンタル衣装/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👘</text></svg>") 16 -16, auto;
}

a[href$="id_photo.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>👩‍🎓</text></svg>") 16 -16, auto;
}

a[href$="profile_photo.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>😊</text></svg>") 16 -16, auto;
}

a[href$="portrait-deceased.php"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>🌹</text></svg>") 16 -16, auto;
}

a[href="/出張撮影/"]:hover {
    cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='49' height='59' viewport='0 0 100 100' style='fill:black;font-size:29px;'><text y='50%'>⛲️</text></svg>") 16 -16, auto;
}

.icons-title {
    position: fixed;
    bottom: 55px;
    width: 100%;
    opacity: 0;
    text-align: center;
    font-weight: 700;
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0 1px 0 #fff, -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
    -webkit-animation-name: slideUp;
    animation-name: slideUp;
    -webkit-animation-duration: 10s;
    animation-duration: 10s;
    -webkit-animation-delay: 3s;
    animation-delay: 3s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes slideUp {
    0% {
        bottom: -100px;
        color: #aaa0;
        letter-spacing: -1px
    }

    5% {
        bottom: 100px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: -1px
    }

    6% {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: -1px
    }

    10% {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: 1px
    }

    20%,
    to {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: 1px
    }
}

@keyframes slideUp {
    0% {
        bottom: -100px;
        color: #aaa0;
        letter-spacing: -1px
    }

    5% {
        bottom: 100px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: -1px
    }

    6% {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: -1px
    }

    10% {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: 1px
    }

    20%,
    to {
        bottom: 55px;
        color: #aaa9;
        opacity: 1;
        letter-spacing: 1px
    }
}

.footer-icons {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #fffc;
    box-shadow: 0 -2px 5px #0003;
    z-index: 1000;
}

.footer-icons ul {
    display: -webkit-box;
    display: flex;
    justify-content: space-around;
    margin: 0;
    padding: 10px 0;
    list-style: none;
}

.footer-icons li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    white-space: nowrap;
}

.footer-icons li span {
    color: gray;
    font-weight: 700;
}

@media (max-width:767px) {
    .footer-icons li span span.pc {
        display: none
    }
}

@media (min-width:767px) {
    .footer-icons li span span.sp {
        display: none
    }
}

.footer-icons a {
    text-decoration: none;
    font-size: 12px;
    display: inline-block;
    text-align: center;
}

.footer-icons a .line-color {
    color: #00b900;
}

.footer-icons ul {
    display: -webkit-box;
    display: flex;
    margin-bottom: 0;
}

.icon {
    width: 40px;
    margin: 0 10px;
    text-decoration: none;
}

.icon img {
    width: 100%;
    max-width: 40px;
    height: auto;
    border-radius: 0;
}

.icon:hover {
    color: #007bff;
}

@-webkit-keyframes sizeUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    5% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25)
    }

    6% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    10% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    20%,
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes sizeUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    5% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25)
    }

    6% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    10% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    20%,
    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.icon-tel {
    -webkit-animation-name: sizeUp;
    animation-name: sizeUp;
    -webkit-animation-duration: 11s;
    animation-duration: 11s;
    -webkit-animation-delay: 3.8s;
    animation-delay: 3.8s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.icon-form {
    -webkit-animation-name: sizeUp;
    animation-name: sizeUp;
    -webkit-animation-duration: 12s;
    animation-duration: 12s;
    -webkit-animation-delay: 3.5s;
    animation-delay: 3.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.icon-mail {
    -webkit-animation-name: sizeUp;
    animation-name: sizeUp;
    -webkit-animation-duration: 13s;
    animation-duration: 13s;
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.icon-line {
    -webkit-animation-name: sizeUp;
    animation-name: sizeUp;
    -webkit-animation-duration: 10.5s;
    animation-duration: 10.5s;
    -webkit-animation-delay: 3.2s;
    animation-delay: 3.2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    border-radius: 24px;
}

.icon-instagram {
    -webkit-animation-name: sizeUp;
    animation-name: sizeUp;
    -webkit-animation-duration: 10.2s;
    animation-duration: 10.2s;
    -webkit-animation-delay: 3.1s;
    animation-delay: 3.1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

p.abs {
    font-size: 1.2rem;
    border-bottom: 1px dashed silver;
    line-height: 2.5;
    padding: 1rem 0;
    border-top: 1px dashed silver;
}

.index__information p {
    margin-bottom: 1.8rem;
}

.index__information p:last-child {
    margin-bottom: 0;
}

.iframe-video {
    width: 100%;
    height: auto;
}

@media (max-width:1025px) {
    .iframe-video {
        aspect-ratio: 9/16
    }
}

@media (min-width:1025px) {
    .iframe-video {
        aspect-ratio: 16/9
    }
}

.iframe-video-default {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
}

.instagram-iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
}

@media (min-width:768px) {
    .instagram-iframe {
        aspect-ratio: 1/1
    }
}

textarea {
    line-height: 1.6;
    field-sizing: content;
    min-height: 3lh;
}

blockquote {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    padding: 20px;
    margin: 20px auto;
    width: 90%;
    position: relative;
    box-shadow: 0 1px 3px #0000001f, 0 1px 2px #0000003d;
}

blockquote:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent #ddd transparent;
}

blockquote:before {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 22px 22px;
    border-color: transparent transparent #bbb transparent;
    z-index: -1;
}

cite {
    display: block;
    text-align: right;
    font-style: italic;
}

cite:before {
    content: "── ";
}

nav.pc-menu {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    vertical-align: middle;
    font-weight: 700;
    color: #a60303;
    z-index: 10000;
}

nav.pc-menu ul {
    display: -webkit-box;
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

nav.pc-menu>ul {
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    background-color: transparent;
}

@media (max-width:1025px) {
    nav.pc-menu>ul {
        display: none
    }
}

nav.pc-menu>ul>li {
    position: relative;
    margin-right: 20px;
    font-size: 1.1rem;
    background-color: transparent;
}

@media (min-width:1000px) {
    nav.pc-menu>ul>li {
        font-size: 1.4rem
    }
}

nav.pc-menu>ul>li>ul {
    width: 260px;
}

nav.pc-menu>ul>li>ul>li {
    width: 260px;
}

nav.pc-menu>ul>li>ul>li>a {
    width: 260px;
}

nav.pc-menu>ul>li:after {
    content: " ▼";
    font-size: 10px;
    color: orange;
}

nav.pc-menu ul li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    padding: 0;
    margin: 0;
    width: 100%;
}

nav.pc-menu ul li:hover>ul,
nav.pc-menu ul li:focus>ul,
nav.pc-menu ul li.open>ul {
    display: block;
    background-color: #f5f5f5;
}

nav.pc-menu ul li ul li {
    display: block;
    padding: 5px 10px;
    background-color: #f4f2ed;
}

nav.pc-menu ul li ul li:hover {
    background-color: #bf343f;
}

nav.pc-menu ul li ul li a {
    display: block;
    text-decoration: none;
    color: #000;
    width: 260px;
}

nav.pc-menu ul li ul li a:hover {
    color: #fff;
    text-shadow: none;
}

nav.pc-menu ul li a {
    text-decoration: none;
    color: #000;
}

details {
    font-size: 1.2em;
    border-bottom: 1px dotted #0d0d0d;
}

details p {
    font-size: 1em;
}

summary {
    font-weight: 700;
    font-size: 1.2em;
}

details {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 6px #0000001a;
    overflow: hidden;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

summary {
    padding: 1rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    background-color: #bf343f;
    color: #fff;
    cursor: pointer;
    -webkit-transition: background-color .3s ease;
    transition: background-color .3s ease;
    position: relative;
    outline: none;
}

summary:hover {
    background-color: #d9984a;
}

summary::-webkit-details-marker {
    display: none;
}

.summary-title {
    font-weight: 700;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
}

details[open] .summary-title {
    -webkit-transform: translateX(10px);
    transform: translate(10px);
}

.summary-chevron-up {
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
}

details[open] .summary-chevron-up {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.details-content {
    padding: 0 1rem;
    background-color: #fff;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

details[open] .details-content {
    padding: 1rem;
    max-height: 100vh;
}

summary:before,
summary:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ffffff1a;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition: transform .3s ease, -webkit-transform .3s ease;
}

summary:before {
    -webkit-transform-origin: right;
    transform-origin: right;
}

details[open] summary:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

details:not([open]) summary:hover:after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}

.price-btn,
.button-53,
.glass-button,
.glass-button-form,
.glass-button-logo {
    display: inline-block;
    cursor: pointer;
    border-radius: 999vw;
    font-size: 1rem;
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
    text-shadow: 1px 1px rgba(0, 0, 0, .3);
    box-shadow: inset 0 2px 4px rgba(255, 255, 255, .2), 0 4px 30px rgba(206, 39, 89, .15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background .3s, box-shadow .3s;
}

.price-link {
    all: unset;
}

a.price-btn,
.button-53 {
    all: unset;
    padding: 8px;
    background: linear-gradient(-75deg, rgba(206, 39, 89, .5), rgba(206, 39, 89, .6), rgba(206, 39, 89, .45));
    color: #ffffff;
    border-radius: 24px;
    box-shadow: inset 0 2px 4px rgba(255, 255, 255, .4), 0 4px 30px rgba(206, 39, 89, .2);
    font-size: 1.5rem;
}

a.price-btn:hover,
.button-53:hover {
    background: linear-gradient(-75deg, rgba(206, 39, 89, .2), rgba(206, 39, 89, .3), rgba(206, 39, 89, .2));
    box-shadow: 0 8px 40px rgba(206, 39, 89, .2);
}

.button-53 {
    display: block;
    width: 80%;
    height: auto;
    text-align: center;
    margin: 1rem auto;
}

a:has(.button-53) {
    border: 0;
}

.glass-button {
    padding: 16px 32px;
    font-weight: normal;
    text-shadow: 1px 1px 1px #fff;
}

.glass-button:hover {
    background: linear-gradient(-75deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .3), rgba(255, 255, 255, .15));
    box-shadow: 0 8px 40px rgba(0, 0, 0, .15);
}

.glass-button-form {
    padding: 8px 16px;
    width: 120px;
    display: inline-block;
    text-align: center;
    font-weight: bold;
    text-shadow: 1px 1px 1px #fff;
}

.glass-button-form:hover {
    background: linear-gradient(-75deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .3), rgba(255, 255, 255, .15));
    box-shadow: 0 8px 40px rgba(0, 0, 0, .15);
}

.glass-button-logo {
    padding: 2px 4px;
    font-weight: bolder;
}

.glass-button-logo:hover {
    background: linear-gradient(-75deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, .3), rgba(255, 255, 255, .15));
    box-shadow: 0 8px 40px rgba(0, 0, 0, .15);
}

.liquidGlass-wrapper,
.liquidGlass-wrapper-pc {
    position: relative;
    display: flex;
    font-weight: 600;
    color: black;
    cursor: pointer;
    box-shadow: 0 6px 6px rgba(0, 0, 0, .2), 0 0 20px rgba(0, 0, 0, .1);
    transition: all .4s cubic-bezier(.175, .885, .32, 2.2);
}

.liquidGlass-wrapper-pc {
    overflow: visible;
}

@media (max-width:768px) {
    .liquidGlass-wrapper-pc {

        .liquidGlass-effect,
        .liquidGlass-shine,
        .liquidGlass-tint {
            display: none;
            box-shadow: none
        }
    }

    .liquidGlass-wrapper,
    .liquidGlass-wrapper-pc {
        box-shadow: none
    }
}

.liquidGlass-effect {
    position: absolute;
    z-index: 0;
    inset: 0;
    backdrop-filter: blur(3px);
    filter: url(#glass-distortion);
    overflow: hidden;
    isolation: isolate;
}

.liquidGlass-tint {
    z-index: 1;
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .25);
}

.liquidGlass-shine {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    box-shadow: inset 2px 2px 1px 0 rgba(255, 255, 255, .5), inset -1px -1px 1px 1px rgba(255, 255, 255, .5);
}

.liquidGlass-text {
    z-index: 3;
    font-size: 2rem;
    color: black;
}

.dock {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 28px;
    padding: .6rem;
    bottom: 0;
    position: fixed;
    width: 100%;
    height: 80px;
    right: 0;
}

@media (min-width:1026px) {
    .dock {
        height: 80px;
        right: 50%;
        transform: translateX(50%)
    }
}

.dock,
.dock>div {
    border-radius: 28px;
}

.dock:hover {
    padding: .8rem;
    border-radius: 2.5rem;
}

.dock:hover>div {
    border-radius: 2.5rem;
}

.dock img {
    width: 75px;
    padding: 0;
    transition: all .4s cubic-bezier(.175, .885, .32, 2.2);
}

.dock img:hover {
    transform-origin: center center;
}

.button {
    padding: 1.5rem 2.5rem;
    border-radius: 3rem;
}

.button,
.button>div {
    border-radius: 3rem;
}

.button:hover {
    padding: 1.8rem 2.8rem;
}

.button:hover>div {
    border-radius: 4rem;
}

.button svg {
    transition: all .4s cubic-bezier(.175, .885, .32, 2.2);
}

.button:hover svg {
    transform: scale(.95);
}

@keyframes moveBackground {
    from {
        background-position: 0 0%
    }

    to {
        background-position: 0 -1000%
    }
}

nav.pc-menu ul li {
    position: relative;
}

nav.pc-menu ul li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    background: #fff;
    min-width: 200px;
}

nav.pc-menu ul li:hover>ul,
nav.pc-menu ul li:focus>ul,
nav.pc-menu ul li.open>ul {
    display: block;
}

@keyframes organic-bounce {
    0% {
        transform: translateY(0)
    }

    20% {
        transform: translateY(-18px)
    }

    40% {
        transform: translateY(0)
    }

    55% {
        transform: translateY(-8px)
    }

    70% {
        transform: translateY(0)
    }

    80% {
        transform: translateY(-4px)
    }

    100% {
        transform: translateY(0)
    }
}

.organic-bounce {
    animation: organic-bounce 1.8s cubic-bezier(.22, .61, .36, 1) infinite;
}

.sample_view {
    position: relative;
    width: 100%;
}

.sample_view .sample_title {
    position: absolute;
    top: 5%;
    right: 2%;
    left: auto;
    transform: none;
    z-index: 10;
    background: transparent;
    padding: 1rem 2rem;
    border-radius: 16px;
    font-size: 2.2rem;
    font-weight: bold;
    color: #fff;
    text-align: right;
    pointer-events: none;
    width: max-content;
    max-width: 90vw;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #fff;
    background: rgba(255, 255, 255, 0.2);
    font-family: "Zen Kurenaido", sans-serif;
}

.sample_view iframe {
    margin: 1rem auto;
    width: 100%;
    height: auto;
}

@media (min-width: 768px) {
    .sample_view .sample_title {
        top: 500px;
        left: auto;
        writing-mode: horizontal-tb;
        text-orientation: initial;
        text-align: center;
    }
}

.sample_view iframe {
    aspect-ratio: 16/9;
    display: block;
}

@media (max-width: 767px) {
    .sample_view .sample_title {
        font-size: 1.2rem;
        padding: 0.5rem 1rem;
        border-radius: 10px;
    }

    .sample_view iframe {
        aspect-ratio: 9/16;
    }
}