/*
! tailwindcss v3.0.15 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
   box-sizing: border-box;
   /* 1 */
   border-width: 0;
   /* 2 */
   border-style: solid;
   /* 2 */
   border-color: currentColor;
   /* 2 */
}

::before,
::after {
   --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/

html {
   line-height: 1.5;
   /* 1 */
   -webkit-text-size-adjust: 100%;
   /* 2 */
   -moz-tab-size: 4;
   /* 3 */
   -o-tab-size: 4;
   tab-size: 4;
   /* 3 */
   font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
   /* 4 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
   margin: 0;
   /* 1 */
   line-height: inherit;
   /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
   height: 0;
   /* 1 */
   color: inherit;
   /* 2 */
   border-top-width: 1px;
   /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
   -webkit-text-decoration: underline dotted;
   text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
   font-size: inherit;
   font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
   color: inherit;
   text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
   font-weight: bolder;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
   font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
   /* 1 */
   font-size: 1em;
   /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
   font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

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

sub {
   bottom: -0.25em;
}

sup {
   top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
   text-indent: 0;
   /* 1 */
   border-color: inherit;
   /* 2 */
   border-collapse: collapse;
   /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
   font-family: inherit;
   /* 1 */
   font-size: 100%;
   /* 1 */
   line-height: inherit;
   /* 1 */
   color: inherit;
   /* 1 */
   margin: 0;
   /* 2 */
   padding: 0;
   /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
   text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
   -webkit-appearance: button;
   /* 1 */
   background-color: transparent;
   /* 2 */
   background-image: none;
   /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
   outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
   box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
   vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
   height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
   -webkit-appearance: textfield;
   /* 1 */
   outline-offset: -2px;
   /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
   -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
   -webkit-appearance: button;
   /* 1 */
   font: inherit;
   /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
   display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
   margin: 0;
}

fieldset {
   margin: 0;
   padding: 0;
}

legend {
   padding: 0;
}

ol,
ul,
menu {
   list-style: none;
   margin: 0;
   padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
   resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder,
textarea::-moz-placeholder {
   opacity: 1;
   /* 1 */
   color: #9ca3af;
   /* 2 */
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
   opacity: 1;
   /* 1 */
   color: #9ca3af;
   /* 2 */
}

input::placeholder,
textarea::placeholder {
   opacity: 1;
   /* 1 */
   color: #9ca3af;
   /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
   cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
   cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
   display: block;
   /* 1 */
   vertical-align: middle;
   /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
   max-width: 100%;
   height: auto;
}

/*
Ensure the default browser behavior of the `hidden` attribute.
*/

[hidden] {
   display: none;
}

*,
::before,
::after {
   --tw-translate-x: 0;
   --tw-translate-y: 0;
   --tw-rotate: 0;
   --tw-skew-x: 0;
   --tw-skew-y: 0;
   --tw-scale-x: 1;
   --tw-scale-y: 1;
   --tw-pan-x: ;
   --tw-pan-y: ;
   --tw-pinch-zoom: ;
   --tw-scroll-snap-strictness: proximity;
   --tw-ordinal: ;
   --tw-slashed-zero: ;
   --tw-numeric-figure: ;
   --tw-numeric-spacing: ;
   --tw-numeric-fraction: ;
   --tw-ring-inset: ;
   --tw-ring-offset-width: 0px;
   --tw-ring-offset-color: #fff;
   --tw-ring-color: rgb(59 130 246 / 0.5);
   --tw-ring-offset-shadow: 0 0 #0000;
   --tw-ring-shadow: 0 0 #0000;
   --tw-shadow: 0 0 #0000;
   --tw-shadow-colored: 0 0 #0000;
   --tw-blur: ;
   --tw-brightness: ;
   --tw-contrast: ;
   --tw-grayscale: ;
   --tw-hue-rotate: ;
   --tw-invert: ;
   --tw-saturate: ;
   --tw-sepia: ;
   --tw-drop-shadow: ;
   --tw-backdrop-blur: ;
   --tw-backdrop-brightness: ;
   --tw-backdrop-contrast: ;
   --tw-backdrop-grayscale: ;
   --tw-backdrop-hue-rotate: ;
   --tw-backdrop-invert: ;
   --tw-backdrop-opacity: ;
   --tw-backdrop-saturate: ;
   --tw-backdrop-sepia: ;
}

.pointer-events-none {
   pointer-events: none;
}

.fixed {
   position: fixed;
}

.absolute {
   position: absolute;
}

.relative {
   position: relative;
}

.left-0 {
   left: 0px;
}

.right-0 {
   right: 0px;
}

.top-0 {
   top: 0px;
}

.bottom-o-32 {
   bottom: 0.32rem;
}

.right-o-32 {
   right: 0.32rem;
}

.left-o-24 {
   left: 0.24rem;
}

.top-o-24 {
   top: 0.24rem;
}

.right-o-44 {
   right: 0.44rem;
}

.top-o-44 {
   top: 0.44rem;
}

.-top-o-80 {
   top: -0.80rem;
}

.-top-px {
   top: -1px;
}

.-bottom-px {
   bottom: -1px;
}

.-right-o-80 {
   right: -0.80rem;
}

.top-o-212 {
   top: 2.12rem;
}

.top-o-240 {
   top: 2.40rem;
}

.bottom-0 {
   bottom: 0px;
}

.-top-o-220 {
   top: -2.20rem;
}

.-left-o-64 {
   left: -0.64rem;
}

.top-o-100 {
   top: 1rem;
}

.-z-\[11\] {
   z-index: -11;
}

.z-50 {
   z-index: 50;
}

.z-40 {
   z-index: 40;
}

.z-10 {
   z-index: 10;
}

.z-0 {
   z-index: 0;
}

.z-20 {
   z-index: 20;
}

.order-2 {
   order: 2;
}

.order-1 {
   order: 1;
}

.m-auto {
   margin: auto;
}

.mx-auto {
   margin-left: auto;
   margin-right: auto;
}

.my-o-24 {
   margin-top: 0.24rem;
   margin-bottom: 0.24rem;
}

.my-o-40 {
   margin-top: 0.40rem;
   margin-bottom: 0.40rem;
}

.-mt-o-4 {
   margin-top: -0.04rem;
}

.mt-o-40 {
   margin-top: 0.40rem;
}

.mb-o-20 {
   margin-bottom: 0.20rem;
}

.mt-o-28 {
   margin-top: 0.28rem;
}

.mt-o-88 {
   margin-top: 0.88rem;
}

.mt-o-92 {
   margin-top: 0.92rem;
}

.mt-o-80 {
   margin-top: 0.80rem;
}

.ml-auto {
   margin-left: auto;
}

.mt-o-48 {
   margin-top: 0.48rem;
}

.mt-o-148 {
   margin-top: 1.48rem;
}

.mt-o-16 {
   margin-top: 0.16rem;
}

.mt-o-96 {
   margin-top: 0.96rem;
}

.mt-o-140 {
   margin-top: 1.40rem;
}

.mt-o-8 {
   margin-top: 0.08rem;
}

.mt-o-120 {
   margin-top: 1.20rem;
}

.mt-o-72 {
   margin-top: 0.72rem;
}

.mt-o-64 {
   margin-top: 0.64rem;
}

.mt-o-32 {
   margin-top: 0.32rem;
}

.mt-o-880 {
   margin-top: 8.80rem;
}

.mb-o-16 {
   margin-bottom: 0.16rem;
}

.mt-o-180 {
   margin-top: 1.80rem;
}

.mr-auto {
   margin-right: auto;
}

.block {
   display: block;
}

.inline-block {
   display: inline-block;
}

.inline {
   display: inline;
}

.flex {
   display: flex;
}

.hidden {
   display: none;
}

.h-screen {
   height: 100vh;
}

.h-o-271 {
   height: 2.71rem;
}

.h-\[84vh\] {
   height: 84vh;
}

.h-\[94vh\] {
   height: 94vh;
}

.h-o-200 {
   height: 2rem;
}

.h-o-1 {
   height: 0.01rem;
}

.h-o-40 {
   height: 0.40rem;
}

.h-o-1315 {
   height: 13.15rem;
}

.h-o-60 {
   height: 0.60rem;
}

.h-o-1312 {
   height: 13.12rem;
}

.h-o-460 {
   height: 4.60rem;
}

.h-o-360 {
   height: 3.60rem;
}

.h-o-412 {
   height: 4.12rem;
}

.h-o-625 {
   height: 6.25rem;
}

.h-o-295 {
   height: 2.95rem;
}

.h-o-1100 {
   height: 11rem;
}

.h-o-898 {
   height: 8.98rem;
}

.h-o-1000 {
   height: 10rem;
}

.h-o-737 {
   height: 7.37rem;
}

.h-o-1240 {
   height: 12.40rem;
}

.h-o-650 {
   height: 6.50rem;
}

.h-\[17\.4rem\] {
   height: 17.4rem;
}

.h-o-240 {
   height: 2.40rem;
}

.h-o-192 {
   height: 1.92rem;
}

.h-\[22rem\] {
   height: 22rem;
}

.w-full {
   width: 100%;
}

.w-o-271 {
   width: 2.71rem;
}

.w-o-275 {
   width: 2.75rem;
}

.w-o-500 {
   width: 5rem;
}

.w-o-560 {
   width: 5.60rem;
}

.w-o-600 {
   width: 6rem;
}

.w-o-300 {
   width: 3rem;
}

.w-o-28 {
   width: 0.28rem;
}

.w-o-692 {
   width: 6.92rem;
}

.w-o-620 {
   width: 6.20rem;
}

.w-o-38 {
   width: 0.38rem;
}

.w-o-640 {
   width: 6.40rem;
}

.w-o-494 {
   width: 4.94rem;
}

.w-o-660 {
   width: 6.60rem;
}

.w-o-400 {
   width: 4rem;
}

.w-o-412 {
   width: 4.12rem;
}

.w-o-295 {
   width: 2.95rem;
}

.w-o-520 {
   width: 5.20rem;
}

.w-o-360 {
   width: 3.60rem;
}

.w-o-380 {
   width: 3.80rem;
}

.w-o-396 {
   width: 3.96rem;
}

.w-o-480 {
   width: 4.80rem;
}

.w-o-110 {
   width: 1.1rem;
}

.w-o-420 {
   width: 4.20rem;
}

.w-o-265 {
   width: 2.65rem;
}

.w-o-540 {
   width: 5.40rem;
}

.w-o-268 {
   width: 2.68rem;
}

.w-o-80 {
   width: 0.80rem;
}

.w-o-32 {
   width: 0.32rem;
}

.w-o-16 {
   width: 0.16rem;
}

.translate-y-8 {
   --tw-translate-y: 2rem;
   transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer {
   cursor: pointer;
}

.items-start {
   align-items: flex-start;
}

.items-center {
   align-items: center;
}

.justify-center {
   justify-content: center;
}

.justify-between {
   justify-content: space-between;
}

.gap-o-12 {
   gap: 0.12rem;
}

.gap-o-4 {
   gap: 0.04rem;
}

.gap-o-32 {
   gap: 0.32rem;
}

.gap-o-16 {
   gap: 0.16rem;
}

.overflow-hidden {
   overflow: hidden;
}

.whitespace-nowrap {
   white-space: nowrap;
}

.border {
   border-width: 1px;
}

.border-t {
   border-top-width: 1px;
}

.border-b {
   border-bottom-width: 1px;
}

.border-\[\#000000\] {
   --tw-border-opacity: 1;
   border-color: rgb(0 0 0 / var(--tw-border-opacity));
}

.border-\[\#c3c3c3\] {
   --tw-border-opacity: 1;
   border-color: rgb(195 195 195 / var(--tw-border-opacity));
}

.bg-white {
   --tw-bg-opacity: 1;
   background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-\[\#dee3d1\] {
   --tw-bg-opacity: 1;
   background-color: rgb(222 227 209 / var(--tw-bg-opacity));
}

.bg-lightGray {
   --tw-bg-opacity: 1;
   background-color: rgb(239 239 239 / var(--tw-bg-opacity));
}

.bg-lightPink {
   --tw-bg-opacity: 1;
   background-color: rgb(243 128 132 / var(--tw-bg-opacity));
}

.bg-img {
   --tw-bg-opacity: 1;
   background-color: rgb(80 83 90 / var(--tw-bg-opacity));
}

.bg-\[\#ffffff\] {
   --tw-bg-opacity: 1;
   background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-gray {
   --tw-bg-opacity: 1;
   background-color: rgb(238 238 238 / var(--tw-bg-opacity));
}

.bg-\[\#c3c3c3\] {
   --tw-bg-opacity: 1;
   background-color: rgb(195 195 195 / var(--tw-bg-opacity));
}

.bg-\[\#000000\] {
   --tw-bg-opacity: 1;
   background-color: rgb(0 0 0 / var(--tw-bg-opacity));
}

.bg-\[url\(\.\.\/images\/fix_btn\.png\)\] {
   background-image: url(../images/fix_btn.png);
}

.bg-\[url\(\.\.\/images\/photo_image01\.jpg\)\] {
   background-image: url(../images/photo_image01.jpg);
}

.bg-\[url\(\.\.\/images\/photo_image02\.jpg\)\] {
   background-image: url(../images/photo_image02.jpg);
}

.bg-\[url\(\.\.\/images\/photo_image03\.jpg\)\] {
   background-image: url(../images/photo_image03.jpg);
}

.bg-\[url\(\.\.\/images\/story_image01\.jpg\)\] {
   background-image: url(../images/story_image01.jpg);
}

.bg-\[url\(\.\.\/images\/story_image02\.jpg\)\] {
   background-image: url(../images/story_image02.jpg);
}

.bg-\[url\(\.\.\/images\/story_image03\.jpg\)\] {
   background-image: url(../images/story_image03.jpg);
}

.bg-\[url\(\.\.\/images\/osaka_image01\.jpg\)\] {
   background-image: url(../images/osaka_image01.jpg);
}

.bg-\[url\(\.\.\/images\/osaka_image02\.jpg\)\] {
   background-image: url(../images/osaka_image02.jpg);
}

.bg-\[url\(\.\.\/images\/osaka_image03\.jpg\)\] {
   background-image: url(../images/osaka_image03.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image01\.jpg\)\] {
   background-image: url(../images/chapel_image01.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image01_pc\.jpg\)\] {
   background-image: url(../images/chapel_image01_pc.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image02\.jpg\)\] {
   background-image: url(../images/chapel_image02.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image02_pc\.jpg\)\] {
   background-image: url(../images/chapel_image02_pc.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image03\.jpg\)\] {
   background-image: url(../images/chapel_image03.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image03_pc\.jpg\)\] {
   background-image: url(../images/chapel_image03_pc.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image04\.jpg\)\] {
   background-image: url(../images/chapel_image04.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image04_pc\.jpg\)\] {
   background-image: url(../images/chapel_image04_pc.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image05\.jpg\)\] {
   background-image: url(../images/chapel_image05.jpg);
}

.bg-\[url\(\.\.\/images\/chapel_image05_pc\.jpg\)\] {
   background-image: url(../images/chapel_image05_pc.jpg);
}

.bg-\[url\(\.\.\/images\/hall_image01\.jpg\)\] {
   background-image: url(../images/hall_image01.jpg);
}

.bg-\[url\(\.\.\/images\/hall_image02\.jpg\)\] {
   background-image: url(../images/hall_image02.jpg);
}

.bg-\[url\(\.\.\/images\/garden_image01\.jpg\)\] {
   background-image: url(../images/garden_image01.jpg);
}

.bg-\[url\(\.\.\/images\/garden_image02\.jpg\)\] {
   background-image: url(../images/garden_image02.jpg);
}

.bg-\[url\(\.\.\/images\/about_image01\.jpg\)\] {
   background-image: url(../images/about_image01.jpg);
}

.bg-\[url\(\.\.\/images\/about_image02\.jpg\)\] {
   background-image: url(../images/about_image02.jpg);
}

.bg-contain {
   background-size: contain;
}

.bg-cover {
   background-size: cover;
}

.bg-no-repeat {
   background-repeat: no-repeat;
}

.object-cover {
   -o-object-fit: cover;
   object-fit: cover;
}

.py-o-172 {
   padding-top: 1.72rem;
   padding-bottom: 1.72rem;
}

.py-o-120 {
   padding-top: 1.20rem;
   padding-bottom: 1.20rem;
}

.py-o-16 {
   padding-top: 0.16rem;
   padding-bottom: 0.16rem;
}

.py-o-200 {
   padding-top: 2rem;
   padding-bottom: 2rem;
}

.py-o-164 {
   padding-top: 1.64rem;
   padding-bottom: 1.64rem;
}

.py-o-48 {
   padding-top: 0.48rem;
   padding-bottom: 0.48rem;
}

.py-o-56 {
   padding-top: 0.56rem;
   padding-bottom: 0.56rem;
}

.py-o-40 {
   padding-top: 0.40rem;
   padding-bottom: 0.40rem;
}

.py-o-32 {
   padding-top: 0.32rem;
   padding-bottom: 0.32rem;
}

.pt-\[0\.39rem\] {
   padding-top: 0.39rem;
}

.pt-o-40 {
   padding-top: 0.40rem;
}

.pb-o-40 {
   padding-bottom: 0.40rem;
}

.pl-o-24 {
   padding-left: 0.24rem;
}

.pr-o-24 {
   padding-right: 0.24rem;
}

.pt-o-180 {
   padding-top: 1.80rem;
}

.pt-o-120 {
   padding-top: 1.20rem;
}

.pt-o-240 {
   padding-top: 2.40rem;
}

.pb-o-120 {
   padding-bottom: 1.20rem;
}

.pl-o-40 {
   padding-left: 0.40rem;
}

.pt-o-52 {
   padding-top: 0.52rem;
}

.pl-o-32 {
   padding-left: 0.32rem;
}

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

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

.font-NotoSerifJP {
   font-family: Noto Serif JP;
}

.font-Inter {
   font-family: Inter;
}

.font-BodoniModa {
   font-family: Bodoni Moda;
}

.text-md {
   font-size: 13.02083vw;
}

.text-20 {
   font-size: 0.20rem;
}

.text-24 {
   font-size: 0.24rem;
}

.text-17 {
   font-size: 0.17rem;
}

.text-60 {
   font-size: 0.60rem;
}

.text-40 {
   font-size: 0.40rem;
}

.text-18 {
   font-size: 0.18rem;
}

.text-28 {
   font-size: 0.28rem;
}

.text-36 {
   font-size: 0.36rem;
}

.text-30 {
   font-size: 0.30rem;
}

.text-128 {
   font-size: 1.28rem;
}

.text-32 {
   font-size: 0.32rem;
}

.text-350 {
   font-size: 3.50rem;
}

.text-48 {
   font-size: 0.48rem;
}

.text-120 {
   font-size: 1.20rem;
}

.text-86 {
   font-size: 0.86rem;
}

.text-78 {
   font-size: 0.78rem;
}

.text-35 {
   font-size: 0.35rem;
}

.text-64 {
   font-size: 0.64rem;
}

.text-\[1\.53rem\] {
   font-size: 1.53rem;
}

.text-38 {
   font-size: 0.38rem;
}

.text-41 {
   font-size: 0.41rem;
}

.font-medium {
   font-weight: 500;
}

.font-bold {
   font-weight: 700;
}

.font-semibold {
   font-weight: 600;
}

.leading-o-16 {
   line-height: 1.6;
}

.leading-o-18 {
   line-height: 1.8;
}

.leading-o-20 {
   line-height: 2;
}

.leading-o-9 {
   line-height: 0.9;
}

.leading-o-14 {
   line-height: 1.4;
}

.leading-o-10 {
   line-height: 1;
}

.leading-none {
   line-height: 1;
}

.tracking-o-90 {
   letter-spacing: 0.090em;
}

.tracking-o-60 {
   letter-spacing: 0.060em;
}

.tracking-o-100 {
   letter-spacing: 0.100em;
}

.-tracking-\[0\.075em\] {
   letter-spacing: -0.075em;
}

.-tracking-\[0\.1em\] {
   letter-spacing: -0.1em;
}

.-tracking-\[0\.065em\] {
   letter-spacing: -0.065em;
}

.tracking-o-125 {
   letter-spacing: 0.125em;
}

.text-\[\#c3c3c3\] {
   --tw-text-opacity: 1;
   color: rgb(195 195 195 / var(--tw-text-opacity));
}

.text-lightPink {
   --tw-text-opacity: 1;
   color: rgb(243 128 132 / var(--tw-text-opacity));
}

.text-white {
   --tw-text-opacity: 1;
   color: rgb(255 255 255 / var(--tw-text-opacity));
}

.text-numGray {
   --tw-text-opacity: 1;
   color: rgb(241 241 241 / var(--tw-text-opacity));
}

.text-\[\#9b9b9b\] {
   --tw-text-opacity: 1;
   color: rgb(155 155 155 / var(--tw-text-opacity));
}

.text-\[\#777777\] {
   --tw-text-opacity: 1;
   color: rgb(119 119 119 / var(--tw-text-opacity));
}

.text-pink {
   --tw-text-opacity: 1;
   color: rgb(195 99 99 / var(--tw-text-opacity));
}

.underline {
   -webkit-text-decoration-line: underline;
   text-decoration-line: underline;
}

.underline-offset-2 {
   text-underline-offset: 2px;
}

.opacity-0 {
   opacity: 0;
}

.duration-300 {
   transition-duration: 300ms;
}

.\[writing-mode\:vertical-lr\] {
   -ms-writing-mode: tb-lr;
   writing-mode: vertical-lr;
}

@font-face {
   font-family: 'Inter';

   src: url('../font/Inter-Regular.woff2') format('woff2');
}

html {
   /* ベースフォント */
   font-family: '游ゴシック体', 'Yu Gothic', YuGothic, sans-serif;
   font-weight: 500;
   color: #252525;
   scroll-behavior: smooth;
}

.dot {
   background: top left / 1.08em .5em repeat-x radial-gradient(circle, #f38084 .08em, rgba(0, 0, 0, 0) .08em);
   padding-top: 0.08rem;
}

.video_overflow::after {
   background: rgba(201, 201, 201, 0.4) no-repeat center center /cover;
}

.video_overflow_black::after {
   background: rgba(0, 0, 0, 0.6) no-repeat center center /cover;
}

.message_bg {
   background: url(../images/message_bg.jpg) no-repeat center center /cover;
}

@media screen and (min-width:768px) {
   .message_bg {
      background: url(../images/message_bg_pc.jpg) no-repeat center center /cover;
   }
}

.voice_open {
   height: 29rem;
}

.voice_btn.voice_arrow::after {
   transform: rotate(135deg);
}

.faqbtn.faq01.faq_open {
   height: 9rem;
}

.faqbtn.faq02.faq_open {
   height: 9rem;
}

.faqbtn.faq03.faq_open {
   height: 6.4rem;
}

.faqbtn.faq04.faq_open {
   height: 6.98rem;
}

.faqbtn.faq05.faq_open {
   height: 6.4rem;
}

.faqbtn.faq06.faq_open {
   height: 12.64rem;
}

@media screen and (min-width:768px) {
   .faqbtn.faq01.faq_open {
      height: 3.32rem;
   }

   .faqbtn.faq02.faq_open {
      height: 3.04rem;
   }

   .faqbtn.faq03.faq_open {
      height: 2.4rem;
   }

   .faqbtn.faq04.faq_open {
      height: 2.72rem;
   }

   .faqbtn.faq05.faq_open {
      height: 2.4rem;
   }

   .faqbtn.faq06.faq_open {
      height: 4rem;
   }
}

.faqbtn.faq_open::after {
   transform: rotate(135deg);
}

/* アニメーション */

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

   4.1% {
      opacity: 1;
      transform: scale(1);
   }

   29.1% {
      opacity: 1;
      transform: scale(1.05);
   }

   33.2% {
      opacity: 0;
      transform: scale(1.05);
   }

   37.3% {
      opacity: 0;
      transform: scale(1);
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 0;
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

@keyframes keyvslide01 {
   0% {
      opacity: 0;
      transform: scale(1);
   }

   4.1% {
      opacity: 1;
      transform: scale(1);
   }

   29.1% {
      opacity: 1;
      transform: scale(1.05);
   }

   33.2% {
      opacity: 0;
      transform: scale(1.05);
   }

   37.3% {
      opacity: 0;
      transform: scale(1);
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 0;
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

@-webkit-keyframes keyvslide02 {
   0% {
      opacity: 0;
   }

   4.1% {
      opacity: 0;
   }

   29.1% {
      opacity: 0;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 1;
      transform: scale(1);
   }

   62.3% {
      opacity: 1;
      transform: scale(1.05);
   }

   66.4% {
      opacity: 0;
      transform: scale(1.05);
   }

   70.5% {
      opacity: 0;
      transform: scale(1);
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

@keyframes keyvslide02 {
   0% {
      opacity: 0;
   }

   4.1% {
      opacity: 0;
   }

   29.1% {
      opacity: 0;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 1;
      transform: scale(1);
   }

   62.3% {
      opacity: 1;
      transform: scale(1.05);
   }

   66.4% {
      opacity: 0;
      transform: scale(1.05);
   }

   70.5% {
      opacity: 0;
      transform: scale(1);
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

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

   4.1% {
      opacity: 0;
   }

   29.1% {
      opacity: 0;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 0;
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 1;
      transform: scale(1);
   }

   95.5% {
      opacity: 1;
      transform: scale(1.05);
   }

   100% {
      opacity: 0;
      transform: scale(1.05);
   }
}

@keyframes keyvslide03 {
   0% {
      opacity: 0;
      transform: scale(1);
   }

   4.1% {
      opacity: 0;
   }

   29.1% {
      opacity: 0;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 0;
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 1;
      transform: scale(1);
   }

   95.5% {
      opacity: 1;
      transform: scale(1.05);
   }

   100% {
      opacity: 0;
      transform: scale(1.05);
   }
}

/* アニメーション */

@-webkit-keyframes keyvcopy {
   0% {
      opacity: 0;
   }

   4.1% {
      opacity: 1;
   }

   29.1% {
      opacity: 1;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 0;
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 0;
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

@keyframes keyvcopy {
   0% {
      opacity: 0;
   }

   4.1% {
      opacity: 1;
   }

   29.1% {
      opacity: 1;
   }

   33.2% {
      opacity: 0;
   }

   37.3% {
      opacity: 0;
   }

   62.3% {
      opacity: 0;
   }

   66.4% {
      opacity: 0;
   }

   70.5% {
      opacity: 0;
   }

   95.5% {
      opacity: 0;
   }

   100% {
      opacity: 0;
   }
}

.anime-keyvslide01 {
   -webkit-animation: keyvslide01 17s linear 4s infinite forwards;
   animation: keyvslide01 17s linear 4s infinite forwards;
   will-change: opacity, transform;
}

.anime-keyvslide02 {
   -webkit-animation: keyvslide02 17s linear 4s infinite forwards;
   animation: keyvslide02 17s linear 4s infinite forwards;
   will-change: opacity, transform;
}

.anime-keyvslide03 {
   -webkit-animation: keyvslide03 17s linear 4s infinite forwards;
   animation: keyvslide03 17s linear 4s infinite forwards;
   will-change: opacity, transform;
}

.anime-keyvcopy {
   -webkit-animation: keyvcopy 17s linear 4s infinite forwards;
   animation: keyvcopy 17s linear 4s infinite forwards;
   will-change: opacity, transform;
}

@-webkit-keyframes sliderAnimation {
   100% {
      transform: translateX(-50%);
   }
}

@keyframes sliderAnimation {
   100% {
      transform: translateX(-50%);
   }
}

.autoplay-slider {
   display: flex;
   min-width: 100%;
   width: -webkit-min-content;
   width: -moz-min-content;
   width: min-content;
   -webkit-animation: 60s linear infinite sliderAnimation;
   animation: 60s linear infinite sliderAnimation;
   position: absolute;
   bottom: 1rem;
   z-index: 30;
}

.slide {
   display: block;
   height: 2.10rem;
   width: 14.79rem;
}

.slide>img {
   height: 2.10rem;
   width: 14.79rem;
   position: relative;
}

@media screen and (min-width:768px) {
   .slide {
      height: 1.88rem;
      width: 13.46rem;
   }

   .slide>img {
      height: 1.88rem;
      width: 13.46rem;
   }
}

.anime-keyvmove01 {
   -webkit-animation: move01 60s linear 4s infinite forwards;
   animation: move01 60s linear 4s infinite forwards;
   will-change: transform;
}

.anime-keyvmove02 {
   -webkit-animation: move02 60s linear 4s infinite forwards;
   animation: move02 60s linear 4s infinite forwards;
   will-change: transform;
}

@-webkit-keyframes keyvdisplay-anime {
   0% {
      opacity: 0;
      transform: scale(1);
   }

   25% {
      opacity: 1;
      transform: scale(1);
   }

   50% {
      opacity: 1;
      transform: scale(0.95);
   }

   75% {
      opacity: 1;
      transform: scale(0.9);
   }

   90% {
      opacity: 1;
   }

   100% {
      opacity: 0;
      transform: scale(0.85);
   }
}

@keyframes keyvdisplay-anime {
   0% {
      opacity: 0;
      transform: scale(1);
   }

   25% {
      opacity: 1;
      transform: scale(1);
   }

   50% {
      opacity: 1;
      transform: scale(0.95);
   }

   75% {
      opacity: 1;
      transform: scale(0.9);
   }

   90% {
      opacity: 1;
   }

   100% {
      opacity: 0;
      transform: scale(0.85);
   }
}

.anime-keyvdisplay {
   -webkit-animation: keyvdisplay-anime 4s linear 1 forwards;
   animation: keyvdisplay-anime 4s linear 1 forwards;
}

@-webkit-keyframes keyvblur-anime {
   0% {}

   25% {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0);
   }

   50% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }

   90% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }

   100% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }
}

@keyframes keyvblur-anime {
   0% {}

   25% {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0);
   }

   50% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }

   90% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }

   100% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }
}

@-webkit-keyframes blur-anime {
   0% {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0);
   }

   100% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }
}

@keyframes blur-anime {
   0% {
      text-shadow: 0 0 20px rgba(0, 0, 0, 0);
   }

   100% {
      text-shadow: 0 0 0 rgba(0, 0, 0, 1);
   }
}

@-webkit-keyframes blur-anime_white {
   0% {
      text-shadow: 0 0 20px rgba(255, 255, 255, 0);
   }

   100% {
      text-shadow: 0 0 0 rgba(255, 255, 255, 1);
   }
}

@keyframes blur-anime_white {
   0% {
      text-shadow: 0 0 20px rgba(255, 255, 255, 0);
   }

   100% {
      text-shadow: 0 0 0 rgba(255, 255, 255, 1);
   }
}

@-webkit-keyframes dispay {
   0% {
      opacity: 0;
   }

   100% {
      opacity: 1;
   }
}

@keyframes dispay {
   0% {
      opacity: 0;
   }

   100% {
      opacity: 1;
   }
}

.anime-keyvword {
   color: transparent;
   -webkit-animation: keyvblur-anime 3s linear 1 forwards;
   animation: keyvblur-anime 3s linear 1 forwards;
}

.anime-keyvword.delay1 {
   -webkit-animation-delay: 0.5s;
   animation-delay: 0.5s;
}

.anime-keyvword.delay2 {
   -webkit-animation-delay: 1s;
   animation-delay: 1s;
}

.anime-display {
   -webkit-animation: dispay 0.4s linear 4s 1 forwards;
   animation: dispay 0.4s linear 4s 1 forwards;
}

.word {
   color: transparent;
   -webkit-animation: blur-anime .4s linear 1 forwards;
   animation: blur-anime .4s linear 1 forwards;
}

.word.delay1 {
   -webkit-animation-delay: 0.2s;
   animation-delay: 0.2s;
}

.word.delay2 {
   -webkit-animation-delay: 0.4s;
   animation-delay: 0.4s;
}

.word.delay3 {
   -webkit-animation-delay: 0.6s;
   animation-delay: 0.6s;
}

.word_white {
   color: transparent;
   -webkit-animation: blur-anime_white .4s linear 1 forwards;
   animation: blur-anime_white .4s linear 1 forwards;
}

.word_white.delay1 {
   -webkit-animation-delay: 0.2s;
   animation-delay: 0.2s;
}

.word_white.delay2 {
   -webkit-animation-delay: 0.4s;
   animation-delay: 0.4s;
}

.word_white.delay3 {
   -webkit-animation-delay: 0.6s;
   animation-delay: 0.6s;
}

.zoom,
.inzoom {
   opacity: 0;
   transform: scale(1.1);
   transition: opacity 1s, transform 2s;
   will-change: transform, opacity;
}

.zoom {
   opacity: 1;
   transform: scale(1);
}

.fadein,
.infadein {
   opacity: 0;
   will-change: opacity;
   transition-duration: 3s;
}

.fadein {
   opacity: 1;
}

.line::before,
.inline::before {
   opacity: 0;
   will-change: opacity;
   transition-duration: 1.6s;
   transition-timing-function: ease-in-out;
}

.line::before {
   opacity: 1;
}

@-webkit-keyframes card {
   0% {
      opacity: 0;
      transform: translate(0, 2rem);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }
}

@keyframes card {
   0% {
      opacity: 0;
      transform: translate(0, 2rem);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }
}

@-webkit-keyframes card_unique01 {
   0% {
      opacity: 0;
      transform: translate(0, -1.5rem);
   }

   70% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   72% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   78% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-3deg);
   }

   90% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-7deg);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-7deg);
   }
}

@keyframes card_unique01 {
   0% {
      opacity: 0;
      transform: translate(0, -1.5rem);
   }

   70% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   72% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   78% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-3deg);
   }

   90% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-7deg);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(-7deg);
   }
}

@-webkit-keyframes card_unique02 {
   0% {
      opacity: 0;
      transform: translate(0, -1.5rem);
   }

   70% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   72% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   78% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(3deg);
   }

   90% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(7deg);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(7deg);
   }
}

@keyframes card_unique02 {
   0% {
      opacity: 0;
      transform: translate(0, -1.5rem);
   }

   70% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   72% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }

   78% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(3deg);
   }

   90% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(7deg);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(7deg);
   }
}

@-webkit-keyframes card_normal {
   0% {
      opacity: 0;
      transform: translate(0, -2rem);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }
}

@keyframes card_normal {
   0% {
      opacity: 0;
      transform: translate(0, -2rem);
   }

   100% {
      opacity: 1;
      transform: translate(0px, 0px) rotate(0deg);
   }
}

.card_unique01 {
   -webkit-animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
   animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
   will-change: transform;
}

.card_unique02 {
   -webkit-animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
   animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
}

.card_normal {
   -webkit-animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
   animation: card .4s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
}

.card_normal.delay1 {
   -webkit-animation-delay: 0.1s;
   animation-delay: 0.1s;
}

.card_normal.delay2 {
   -webkit-animation-delay: 0.2s;
   animation-delay: 0.2s;
}

.card_unique02.delay2 {
   -webkit-animation-delay: 0.2s;
   animation-delay: 0.2s;
}

@media screen and (min-width:768px) {
   .card_unique01 {
      -webkit-animation: card_unique01 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      animation: card_unique01 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      will-change: transform;
   }

   .card_unique02 {
      -webkit-animation: card_unique02 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      animation: card_unique02 1.8s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      will-change: transform;
   }

   .card_normal {
      -webkit-animation: card_normal 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      animation: card_normal 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 1 forwards;
      will-change: transform;
   }
}

@-webkit-keyframes light01 {
   0% {
      opacity: 0;
      width: 2.71rem;
      height: 2.71rem;
      top: .5rem;
      left: 0.5rem;
   }

   100% {
      opacity: 1;
      width: 3.71rem;
      height: 3.71rem;
      top: 0;
      left: 0;
   }
}

@keyframes light01 {
   0% {
      opacity: 0;
      width: 2.71rem;
      height: 2.71rem;
      top: .5rem;
      left: 0.5rem;
   }

   100% {
      opacity: 1;
      width: 3.71rem;
      height: 3.71rem;
      top: 0;
      left: 0;
   }
}

@-webkit-keyframes light02 {
   0% {
      margin-top: -.5rem;
      margin-left: -.5rem;
   }

   100% {
      margin-top: 0;
      margin-left: 0;
   }
}

@keyframes light02 {
   0% {
      margin-top: -.5rem;
      margin-left: -.5rem;
   }

   100% {
      margin-top: 0;
      margin-left: 0;
   }
}

:root {
   --light03: 2.25rem;
   --bottom: 0.53rem;
   --right: 0.53rem;
   --margin: -0.53rem;
}

@media screen and (min-width:768px) {
   :root {
      --light03: 2.43rem;
      --bottom: 0.62rem;
      --right: 0.62rem;
      --margin: -0.61rem;
   }
}

@-webkit-keyframes light03 {
   0% {
      opacity: 0;
      width: 1.19rem;
      height: 1.19rem;
      bottom: var(--bottom);
      right: var(--right);
   }

   100% {
      opacity: 1;
      width: var(--light03);
      height: var(--light03);
      bottom: 0;
      right: 0;
   }
}

@keyframes light03 {
   0% {
      opacity: 0;
      width: 1.19rem;
      height: 1.19rem;
      bottom: var(--bottom);
      right: var(--right);
   }

   100% {
      opacity: 1;
      width: var(--light03);
      height: var(--light03);
      bottom: 0;
      right: 0;
   }
}

@-webkit-keyframes light04 {
   0% {
      margin-top: var(--margin);
      margin-left: var(--margin);
   }

   100% {
      margin-top: 0;
      margin-left: 0;
   }
}

@keyframes light04 {
   0% {
      margin-top: var(--margin);
      margin-left: var(--margin);
   }

   100% {
      margin-top: 0;
      margin-left: 0;
   }
}

.light01 {
   -webkit-animation: light01 1s ease-out 1 forwards;
   animation: light01 1s ease-out 1 forwards;
}

.light02 {
   -webkit-animation: light02 1s ease-out 1 forwards;
   animation: light02 1s ease-out 1 forwards;
}

.light03 {
   -webkit-animation: light03 1s ease-out 1 forwards;
   animation: light03 1s ease-out 1 forwards;
}

.light04 {
   -webkit-animation: light04 1s ease-out 1 forwards;
   animation: light04 1s ease-out 1 forwards;
}

.before\:absolute::before {
   content: var(--tw-content);
   position: absolute;
}

.before\:left-0::before {
   content: var(--tw-content);
   left: 0px;
}

.before\:top-o-16::before {
   content: var(--tw-content);
   top: 0.16rem;
}

.before\:-left-o-64::before {
   content: var(--tw-content);
   left: -0.64rem;
}

.before\:top-o-20::before {
   content: var(--tw-content);
   top: 0.20rem;
}

.before\:top-1\/2::before {
   content: var(--tw-content);
   top: 50%;
}

.before\:right-0::before {
   content: var(--tw-content);
   right: 0px;
}

.before\:top-o-28::before {
   content: var(--tw-content);
   top: 0.28rem;
}

.before\:-left-o-50::before {
   content: var(--tw-content);
   left: -0.50rem;
}

.before\:-left-o-100::before {
   content: var(--tw-content);
   left: -1rem;
}

.before\:top-o-24::before {
   content: var(--tw-content);
   top: 0.24rem;
}

.before\:-top-o-24::before {
   content: var(--tw-content);
   top: -0.24rem;
}

.before\:h-o-16::before {
   content: var(--tw-content);
   height: 0.16rem;
}

.before\:h-o-1::before {
   content: var(--tw-content);
   height: 0.01rem;
}

.before\:h-o-364::before {
   content: var(--tw-content);
   height: 3.64rem;
}

.before\:h-o-340::before {
   content: var(--tw-content);
   height: 3.40rem;
}

.before\:h-o-400::before {
   content: var(--tw-content);
   height: 4rem;
}

.before\:w-o-16::before {
   content: var(--tw-content);
   width: 0.16rem;
}

.before\:w-o-36::before {
   content: var(--tw-content);
   width: 0.36rem;
}

.before\:w-full::before {
   content: var(--tw-content);
   width: 100%;
}

.before\:w-o-65::before {
   content: var(--tw-content);
   width: 0.65rem;
}

.before\:w-o-1::before {
   content: var(--tw-content);
   width: 0.01rem;
}

.before\:border-t-2::before {
   content: var(--tw-content);
   border-top-width: 2px;
}

.before\:border-l-2::before {
   content: var(--tw-content);
   border-left-width: 2px;
}

.before\:bg-black::before {
   content: var(--tw-content);
   --tw-bg-opacity: 1;
   background-color: rgb(37 37 37 / var(--tw-bg-opacity));
}

.before\:bg-white::before {
   content: var(--tw-content);
   --tw-bg-opacity: 1;
   background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.before\:bg-\[\#c3c3c3\]::before {
   content: var(--tw-content);
   --tw-bg-opacity: 1;
   background-color: rgb(195 195 195 / var(--tw-bg-opacity));
}

.before\:content-\[\'\'\]::before {
   --tw-content: '';
   content: var(--tw-content);
}

.after\:absolute::after {
   content: var(--tw-content);
   position: absolute;
}

.after\:right-0::after {
   content: var(--tw-content);
   right: 0px;
}

.after\:bottom-0::after {
   content: var(--tw-content);
   bottom: 0px;
}

.after\:top-\[0\.24rem\]::after {
   content: var(--tw-content);
   top: 0.24rem;
}

.after\:right-o-80::after {
   content: var(--tw-content);
   right: 0.80rem;
}

.after\:top-0::after {
   content: var(--tw-content);
   top: 0px;
}

.after\:-right-o-100::after {
   content: var(--tw-content);
   right: -1rem;
}

.after\:right-o-8::after {
   content: var(--tw-content);
   right: 0.08rem;
}

.after\:bottom-o-48::after {
   content: var(--tw-content);
   bottom: 0.48rem;
}

.after\:-right-o-32::after {
   content: var(--tw-content);
   right: -0.32rem;
}

.after\:top-o-48::after {
   content: var(--tw-content);
   top: 0.48rem;
}

.after\:-bottom-o-16::after {
   content: var(--tw-content);
   bottom: -0.16rem;
}

.after\:h-o-16::after {
   content: var(--tw-content);
   height: 0.16rem;
}

.after\:h-o-20::after {
   content: var(--tw-content);
   height: 0.20rem;
}

.after\:h-o-1312::after {
   content: var(--tw-content);
   height: 13.12rem;
}

.after\:h-o-1000::after {
   content: var(--tw-content);
   height: 10rem;
}

.after\:h-o-32::after {
   content: var(--tw-content);
   height: 0.32rem;
}

.after\:h-o-1::after {
   content: var(--tw-content);
   height: 0.01rem;
}

.after\:w-o-16::after {
   content: var(--tw-content);
   width: 0.16rem;
}

.after\:w-o-40::after {
   content: var(--tw-content);
   width: 0.40rem;
}

.after\:w-full::after {
   content: var(--tw-content);
   width: 100%;
}

.after\:w-o-32::after {
   content: var(--tw-content);
   width: 0.32rem;
}

.after\:w-o-64::after {
   content: var(--tw-content);
   width: 0.64rem;
}

.after\:w-o-80::after {
   content: var(--tw-content);
   width: 0.80rem;
}

.after\:origin-center::after {
   content: var(--tw-content);
   transform-origin: center;
}

.after\:-rotate-45::after {
   content: var(--tw-content);
   --tw-rotate: -45deg;
   transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.after\:border-b-2::after {
   content: var(--tw-content);
   border-bottom-width: 2px;
}

.after\:border-r-2::after {
   content: var(--tw-content);
   border-right-width: 2px;
}

.after\:border-b::after {
   content: var(--tw-content);
   border-bottom-width: 1px;
}

.after\:border-l::after {
   content: var(--tw-content);
   border-left-width: 1px;
}

.after\:border-black::after {
   content: var(--tw-content);
   --tw-border-opacity: 1;
   border-color: rgb(37 37 37 / var(--tw-border-opacity));
}

.after\:bg-black::after {
   content: var(--tw-content);
   --tw-bg-opacity: 1;
   background-color: rgb(37 37 37 / var(--tw-bg-opacity));
}

.after\:bg-\[url\(\.\.\/images\/cta_arrow\.png\)\]::after {
   content: var(--tw-content);
   background-image: url(../images/cta_arrow.png);
}

.after\:bg-\[url\(\.\.\/images\/weddinghalls_arrow\.png\)\]::after {
   content: var(--tw-content);
   background-image: url(../images/weddinghalls_arrow.png);
}

.after\:bg-contain::after {
   content: var(--tw-content);
   background-size: contain;
}

.after\:bg-no-repeat::after {
   content: var(--tw-content);
   background-repeat: no-repeat;
}

.after\:content-\[\'\'\]::after {
   --tw-content: '';
   content: var(--tw-content);
}

.hover\:bg-\[url\(\.\.\/images\/fix_btn_hover\.png\)\]:hover {
   background-image: url(../images/fix_btn_hover.png);
}

@media (min-width: 768px) {
   .md\:absolute {
      position: absolute;
   }

   .md\:relative {
      position: relative;
   }

   .md\:left-o-40 {
      left: 0.40rem;
   }

   .md\:top-o-40 {
      top: 0.40rem;
   }

   .md\:right-0 {
      right: 0px;
   }

   .md\:-top-o-500 {
      top: -5rem;
   }

   .md\:left-0 {
      left: 0px;
   }

   .md\:top-o-80 {
      top: 0.80rem;
   }

   .md\:-right-o-68 {
      right: -0.68rem;
   }

   .md\:top-0 {
      top: 0px;
   }

   .md\:-left-o-68 {
      left: -0.68rem;
   }

   .md\:bottom-0 {
      bottom: 0px;
   }

   .md\:-left-o-16 {
      left: -0.16rem;
   }

   .md\:order-2 {
      order: 2;
   }

   .md\:order-1 {
      order: 1;
   }

   .md\:mx-auto {
      margin-left: auto;
      margin-right: auto;
   }

   .md\:mx-0 {
      margin-left: 0px;
      margin-right: 0px;
   }

   .md\:mt-o-4 {
      margin-top: 0.04rem;
   }

   .md\:mt-0 {
      margin-top: 0px;
   }

   .md\:mr-0 {
      margin-right: 0px;
   }

   .md\:ml-o-64 {
      margin-left: 0.64rem;
   }

   .md\:ml-o-164 {
      margin-left: 1.64rem;
   }

   .md\:mt-o-88 {
      margin-top: 0.88rem;
   }

   .md\:mb-o-8 {
      margin-bottom: 0.08rem;
   }

   .md\:ml-o-44 {
      margin-left: 0.44rem;
   }

   .md\:mt-o-40 {
      margin-top: 0.40rem;
   }

   .md\:mt-o-24 {
      margin-top: 0.24rem;
   }

   .md\:mt-o-56 {
      margin-top: 0.56rem;
   }

   .md\:mt-o-64 {
      margin-top: 0.64rem;
   }

   .md\:mt-o-16 {
      margin-top: 0.16rem;
   }

   .md\:mt-o-12 {
      margin-top: 0.12rem;
   }

   .md\:mr-o-52 {
      margin-right: 0.52rem;
   }

   .md\:mt-o-20 {
      margin-top: 0.20rem;
   }

   .md\:block {
      display: block;
   }

   .md\:inline {
      display: inline;
   }

   .md\:flex {
      display: flex;
   }

   .md\:hidden {
      display: none;
   }

   .md\:h-o-176 {
      height: 1.76rem;
   }

   .md\:h-\[94vh\] {
      height: 94vh;
   }

   .md\:h-o-40 {
      height: 0.40rem;
   }

   .md\:h-o-1000 {
      height: 10rem;
   }

   .md\:h-o-888 {
      height: 8.88rem;
   }

   .md\:h-o-444 {
      height: 4.44rem;
   }

   .md\:h-o-1180 {
      height: 11.80rem;
   }

   .md\:h-o-760 {
      height: 7.60rem;
   }

   .md\:h-o-700 {
      height: 7rem;
   }

   .md\:h-o-560 {
      height: 5.60rem;
   }

   .md\:h-o-512 {
      height: 5.12rem;
   }

   .md\:h-initial {
      height: initial;
   }

   .md\:h-o-100 {
      height: 1rem;
   }

   .md\:h-o-1050 {
      height: 10.50rem;
   }

   .md\:w-o-172 {
      width: 1.72rem;
   }

   .md\:w-o-700 {
      width: 7rem;
   }

   .md\:w-o-688 {
      width: 6.88rem;
   }

   .md\:w-o-1120 {
      width: 11.20rem;
   }

   .md\:w-o-118 {
      width: 1.18rem;
   }

   .md\:w-o-1300 {
      width: 13rem;
   }

   .md\:w-o-1200 {
      width: 12rem;
   }

   .md\:w-1\/2 {
      width: 50%;
   }

   .md\:w-o-1080 {
      width: 10.80rem;
   }

   .md\:w-o-440 {
      width: 4.40rem;
   }

   .md\:w-o-380 {
      width: 3.80rem;
   }

   .md\:w-o-428 {
      width: 4.28rem;
   }

   .md\:w-o-1100 {
      width: 11rem;
   }

   .md\:w-full {
      width: 100%;
   }

   .md\:w-o-72 {
      width: 0.72rem;
   }

   .md\:w-o-500 {
      width: 5rem;
   }

   .md\:w-o-320 {
      width: 3.20rem;
   }

   .md\:w-o-1000 {
      width: 10rem;
   }

   .md\:w-o-340 {
      width: 3.40rem;
   }

   .md\:w-o-260 {
      width: 2.60rem;
   }

   .md\:w-o-600 {
      width: 6rem;
   }

   .md\:w-o-168 {
      width: 1.68rem;
   }

   .md\:w-o-286 {
      width: 2.86rem;
   }

   .md\:w-o-800 {
      width: 8rem;
   }

   .md\:w-o-1400 {
      width: 14rem;
   }

   .md\:w-o-40 {
      width: 0.40rem;
   }

   .md\:w-o-16 {
      width: 0.16rem;
   }

   .md\:w-o-8 {
      width: 0.08rem;
   }

   .md\:-translate-y-6 {
      --tw-translate-y: -1.5rem;
      transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
   }

   .md\:items-start {
      align-items: flex-start;
   }

   .md\:items-center {
      align-items: center;
   }

   .md\:justify-center {
      justify-content: center;
   }

   .md\:justify-between {
      justify-content: space-between;
   }

   .md\:gap-o-40 {
      gap: 0.40rem;
   }

   .md\:whitespace-normal {
      white-space: normal;
   }

   .md\:whitespace-nowrap {
      white-space: nowrap;
   }

   .md\:bg-\[url\(\.\.\/images\/fix_btn_pc\.png\)\] {
      background-image: url(../images/fix_btn_pc.png);
   }

   .md\:bg-\[url\(\.\.\/images\/photo_image01_pc\.jpg\)\] {
      background-image: url(../images/photo_image01_pc.jpg);
   }

   .md\:bg-\[url\(\.\.\/images\/photo_image02_pc\.jpg\)\] {
      background-image: url(../images/photo_image02_pc.jpg);
   }

   .md\:bg-\[url\(\.\.\/images\/photo_image03_pc\.jpg\)\] {
      background-image: url(../images/photo_image03_pc.jpg);
   }

   .md\:bg-contain {
      background-size: contain;
   }

   .md\:bg-no-repeat {
      background-repeat: no-repeat;
   }

   .md\:py-o-12 {
      padding-top: 0.12rem;
      padding-bottom: 0.12rem;
   }

   .md\:py-o-32 {
      padding-top: 0.32rem;
      padding-bottom: 0.32rem;
   }

   .md\:py-o-16 {
      padding-top: 0.16rem;
      padding-bottom: 0.16rem;
   }

   .md\:pl-o-80 {
      padding-left: 0.80rem;
   }

   .md\:pr-o-80 {
      padding-right: 0.80rem;
   }

   .md\:pt-o-180 {
      padding-top: 1.80rem;
   }

   .md\:pt-o-120 {
      padding-top: 1.20rem;
   }

   .md\:pt-o-8 {
      padding-top: 0.08rem;
   }

   .md\:pl-o-52 {
      padding-left: 0.52rem;
   }

   .md\:pt-o-40 {
      padding-top: 0.40rem;
   }

   .md\:pl-o-20 {
      padding-left: 0.20rem;
   }

   .md\:pl-o-44 {
      padding-left: 0.44rem;
   }

   .md\:text-left {
      text-align: left;
   }

   .md\:text-pc {
      font-size: 6.51042vw;
   }

   .md\:text-50 {
      font-size: 0.50rem;
   }

   .md\:text-34 {
      font-size: 0.34rem;
   }

   .md\:text-14 {
      font-size: 0.14rem;
   }

   .md\:text-18 {
      font-size: 0.18rem;
   }

   .md\:text-26 {
      font-size: 0.26rem;
   }

   .md\:text-22 {
      font-size: 0.22rem;
   }

   .md\:text-23 {
      font-size: 0.23rem;
   }

   .md\:text-29 {
      font-size: 0.29rem;
   }

   .md\:text-16 {
      font-size: 0.16rem;
   }

   .md\:text-106 {
      font-size: 1.06rem;
   }

   .md\:text-80 {
      font-size: 0.80rem;
   }

   .md\:text-24 {
      font-size: 0.24rem;
   }

   .md\:text-12 {
      font-size: 0.12rem;
   }

   .md\:text-64 {
      font-size: 0.64rem;
   }

   .md\:text-20 {
      font-size: 0.20rem;
   }

   .md\:text-32 {
      font-size: 0.32rem;
   }

   .md\:text-104 {
      font-size: 1.04rem;
   }

   .md\:text-35 {
      font-size: 0.35rem;
   }

   .md\:leading-o-18 {
      line-height: 1.8;
   }

   .md\:leading-o-6 {
      line-height: 0.6;
   }

   .md\:leading-o-20 {
      line-height: 2;
   }

   .md\:tracking-o-60 {
      letter-spacing: 0.060em;
   }

   .md\:\[writing-mode\:vertical-lr\] {
      -ms-writing-mode: tb-lr;
      writing-mode: vertical-lr;
   }

   .md\:before\:-left-o-48::before {
      content: var(--tw-content);
      left: -0.48rem;
   }

   .md\:before\:-left-o-50::before {
      content: var(--tw-content);
      left: -0.50rem;
   }

   .md\:before\:h-o-220::before {
      content: var(--tw-content);
      height: 2.20rem;
   }

   .md\:before\:h-o-200::before {
      content: var(--tw-content);
      height: 2rem;
   }

   .md\:before\:h-o-240::before {
      content: var(--tw-content);
      height: 2.40rem;
   }

   .md\:before\:w-o-30::before {
      content: var(--tw-content);
      width: 0.30rem;
   }

   .md\:after\:absolute::after {
      content: var(--tw-content);
      position: absolute;
   }

   .md\:after\:right-o-220::after {
      content: var(--tw-content);
      right: 2.20rem;
   }

   .md\:after\:top-\[0\.16rem\]::after {
      content: var(--tw-content);
      top: 0.16rem;
   }

   .md\:after\:-left-o-68::after {
      content: var(--tw-content);
      left: -0.68rem;
   }

   .md\:after\:bottom-0::after {
      content: var(--tw-content);
      bottom: 0px;
   }

   .md\:after\:-right-o-68::after {
      content: var(--tw-content);
      right: -0.68rem;
   }

   .md\:after\:top-0::after {
      content: var(--tw-content);
      top: 0px;
   }

   .md\:after\:left-0::after {
      content: var(--tw-content);
      left: 0px;
   }

   .md\:after\:right-0::after {
      content: var(--tw-content);
      right: 0px;
   }

   .md\:after\:bottom-o-20::after {
      content: var(--tw-content);
      bottom: 0.20rem;
   }

   .md\:after\:-right-o-20::after {
      content: var(--tw-content);
      right: -0.20rem;
   }

   .md\:after\:top-o-24::after {
      content: var(--tw-content);
      top: 0.24rem;
   }

   .md\:after\:-bottom-o-8::after {
      content: var(--tw-content);
      bottom: -0.08rem;
   }

   .md\:after\:h-o-16::after {
      content: var(--tw-content);
      height: 0.16rem;
   }

   .md\:after\:h-o-1000::after {
      content: var(--tw-content);
      height: 10rem;
   }

   .md\:after\:h-o-760::after {
      content: var(--tw-content);
      height: 7.60rem;
   }

   .md\:after\:h-o-134::after {
      content: var(--tw-content);
      height: 1.34rem;
   }

   .md\:after\:h-o-12::after {
      content: var(--tw-content);
      height: 0.12rem;
   }

   .md\:after\:w-o-24::after {
      content: var(--tw-content);
      width: 0.24rem;
   }

   .md\:after\:w-o-1::after {
      content: var(--tw-content);
      width: 0.01rem;
   }

   .md\:after\:w-o-12::after {
      content: var(--tw-content);
      width: 0.12rem;
   }

   .md\:after\:w-o-32::after {
      content: var(--tw-content);
      width: 0.32rem;
   }

   .md\:after\:w-o-40::after {
      content: var(--tw-content);
      width: 0.40rem;
   }

   .md\:after\:border-b-2::after {
      content: var(--tw-content);
      border-bottom-width: 2px;
   }

   .md\:after\:border-l-2::after {
      content: var(--tw-content);
      border-left-width: 2px;
   }

   .md\:after\:bg-\[\#c3c3c3\]::after {
      content: var(--tw-content);
      --tw-bg-opacity: 1;
      background-color: rgb(195 195 195 / var(--tw-bg-opacity));
   }

   .md\:after\:content-\[\'\'\]::after {
      --tw-content: '';
      content: var(--tw-content);
   }

   .md\:hover\:opacity-80:hover {
      opacity: 0.8;
   }
}

.sp_maptext_list {
   display: none;
}

@media screen and (max-width: 599px) {
   .sp_maptext_list {
      display: block;
      width: 70%;
      margin: auto;
   }

   .sp_maptext_list.-text {
      width: 80%;
   }

   .sp_maptext_list__item {
      margin-bottom: 10px;
   }

   .sp_maptext_list__item--title {
      font-size: 1.2em;
   }

   .sp_maptext_list__item--title span {
      font-size: 1.4em;
   }

   .sp_maptext_list__item--desc {
      letter-spacing: 0.2em;
   }
}

.Breadcrumb__wrap {
   position: relative;
   padding: 0 5.5%;
   max-width: 1680px;
   margin: 0 auto;
   -webkit-box-sizing: border-box;
   box-sizing: border-box
}

.Breadcrumb__wrap2 {
   padding: 48px 0;
   font-size: 12px;
}

.Breadcrumb__wrap2 li {
   display: inline-block;
}

.Breadcrumb__wrap2 li a {
   -webkit-transition: opacity 300ms cubic-bezier(.25, .46, .45, .94);
   transition: opacity 300ms cubic-bezier(.25, .46, .45, .94);
}

.Breadcrumb__wrap2 li a:hover {
   -webkit-transition: opacity 100ms cubic-bezier(.165, .84, .44, 1);
   transition: opacity 100ms cubic-bezier(.165, .84, .44, 1);
   opacity: .6
}

.Breadcrumb__wrap2 li:not(:last-child):after {
   content: '/';
   padding: 0 8px
}