@charset "UTF-8";

/*Reset*/
body
{
    margin:0;
    padding:0;
    position:relative;

    background-color:#F6B450; /*important property*/
    font-size: 100%;
    font-family: "Noto Sans JP", sans-serif;
    color:#FFF;
}
body *
{
    position:relative;
}
img
{
    max-width: 100%;
}
ul
{
    list-style:none;
    padding:0;
    margin:0;
}
p
{
    margin:0;
    line-height: 21px;
    font-size:13px;
}
h1, h2
{
    margin:0;    
}
h1
{
    font-size:30px;
    font-weight: bold;
}
h2
{
    font-size:17px;
}
a
{
    color:inherit;
    text-decoration: none;
}

/*General Classes*/
.display-block
{
    display:block;
}
.display-inline
{
    display:inline;
}
.display-inline-block
{
    display:inline-block;
}
.position-absolute
{
    position:absolute;
}
.centered-inline
{
    text-align:center;
}
.centered-block
{
    margin:auto auto;
}
.unlimited-max-width
{
    max-width:none;
}
.width-100
{
    width:100%;
}
.side-padding-20px
{
    padding-left: 20px;
    padding-right: 20px;
}
.max-width-restrictor
{
    max-width:800px;
    margin:auto auto;
}
.text-align-left
{
    text-align:left;
}
.visible-sp
{
    display:none;
}

/*General (Mori-yoga)*/
html
{
    scroll-behavior: smooth;
}
.heading-general
{
    text-align:center;
    height:150px;
    padding-top:60px;
}
.fab
{
    color: #000;
}

/*HEADER*/
header
{
    display:flex;
    position: fixed;
    top:0;
    left:0;
    width:100%;
    height:80px;
    backdrop-filter: blur(10px);
    z-index: 99;
    transition: 0.3s all;
}
header.mvmode
{
    background-color: #ffffff00;
    backdrop-filter: none;
    background-image: linear-gradient(0deg, #00000000, #000000ff);
}
header .container-sns
{
    display: flex;
    flex-direction: column;
    position:fixed;
    top:calc(50vh - 138px);
    left:-100px;
    transition: 0.3s all;
}
header .container-sns li a
{
    box-shadow: 4px 4px 16px #0004;
}
header .container-sns.open-desktop
{
    left:20px;
}
.nav-header ul
{
    display:flex;
    height:100%;
    gap: 25px;
    align-items: center;
    font-weight: bold;
}
.nav-header a
{
    display: block;
    font-size: 13px;
    transition: 0.3s all;
}
.nav-header a:hover
{
    margin-top: -6px;
    margin-left: -10px;
    font-size: 17px;
    color: #FFFFFF55
}
.img-logo_header
{
    height:64px;
    margin:9px 30px;
}

/*Below Bar*/
.belowbar div
{
    position:fixed;
    display:flex;
    
    bottom:20px;
    left:calc(50vw - 315px);
    
    width:630px;
    height:60px;
    border-radius: 30px;

    background-color: #fff;
    box-shadow: 2px 2px 4px #0004;

    font-weight: bold;

    transition: 0.3s all;
    z-index:10;
}
.belowbar div:hover
{
    bottom:29px;
}
.belowbar-come, .belowbar-reservation
{
    color: #7F3F00;
}
.belowbar-come
{
    margin:20px 0px 20px 45px;
    font-size: 12px;
}
.belowbar-reservation
{
    margin:20px 0px 20px 16px;
    font-size: 17px;
}
.belowbar-number
{
    color: #F6B450;
    margin:15px 0px 20px 26px;
    font-size: 26px;
}

/*to-the-top*/
.to-the-top
{
    position: fixed;
    bottom:-100px;
    right:20px;
    width:60px;
    height: 60px;
    border-radius: 50%;
    box-shadow: 4px 4px 16px #0004;
    background-color: #fff;
    transition: 0.3s all;
    cursor: pointer;
    z-index:10;
}
.to-the-top.open
{
    bottom:20px;
}
.to-the-top p
{
    width:100%;
    height:100%;
    padding-top:27px;
    text-align: center;
    color: #7F3F00;
}
.to-the-top:hover
{
    bottom:29px;
}
/*SNS Toggle*/
.sns-toggle
{
    position: fixed;
    bottom:20px;
    left:20px;
    width:60px;
    height: 60px;
    border-radius: 50%;
    box-shadow: 4px 4px 16px #0004;
    background-color: #fff;
    transition: 0.3s all;
    cursor: pointer;
    z-index:11;
    user-select: none;
}
.sns-toggle:hover
{
    bottom:29px;
}
.sns-toggle p
{
    width:100%;
    height:100%;
    padding-top:19px;
    text-align: center;
    color: #7F3F00;
    font-weight: bold;
}

/*MV*/
#mv
{
    width: 100%;
    height: 100vh;
}
.mv-pc
{
    width:100%;
    height:100vh;
    object-fit: cover;
}
.logo-mv
{
    display: block;
    position: absolute;
    top:calc(50vh - 100px);
    left:100px;
    width: 300px;
}
.mv-title
{
    position: absolute;
    writing-mode: vertical-rl;
    top:20vh;
    right:200px;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    text-shadow: 0 0 8px #000;
}

.mv-title2
{
    top:calc(20vh + 1.5em);
    right:calc(200px + 1.8em);
}

/*Latest*/
#latest
{
    width:100%;
    padding-bottom:100px;
    overflow-x: hidden;
}
.container-latest
{
    width:800px;
    margin: auto auto;
}
.ul-latestnews
{
    display: flex;
    flex-wrap: wrap;
    gap:30px;
}
.ul-latestnews li
{
    top:0;
    left:100px;
    width: calc(33.3% - 20px);
    height: 250px;
    background-color: white;
    border-radius: 16px;
    opacity: 0;
    overflow: hidden;
    transition: 0.3s all;
}
.ul-latestnews li:hover
{
    top:-10px;
    box-shadow: 4px 4px 14px #0004;
}
.ul-latestnews li:nth-child(1)
{
    left:100px;
}
.ul-latestnews li:nth-child(2)
{
    left:200px;
}
.ul-latestnews li:nth-child(3)
{
    left:400px;
}
.ul-latestnews li:nth-child(4)
{
    left:100px;
}
.ul-latestnews li:nth-child(5)
{
    left:200px;
}
.ul-latestnews li:nth-child(6)
{
    left:400px;
}
.ul-latestnews.show li
{
    left:0;
    opacity: 1;
}
.ul-latestnews li a
{
    display: block;
    width:100%;
    height:100%;
}
.ul-latestnews li a::before
{
    content: '';
    position: absolute;
    top:50%;
    left:0;
    width: 100%;
    height: 50%;
    background: linear-gradient(0deg,rgba(0,0,0,1),rgba(0,0,0,0));
    z-index: 1;
}
.ul-latestnews li a img
{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-postdate
{
    position: absolute;
    top:65%;
    left:calc(50% - (100% - 30px) / 2);;

    font-size: 10px;

    z-index: 2;
}
.p-latesttitle
{
    position: absolute;
    top:75%;
    left:calc(50% - (100% - 30px) / 2);

    width:calc(100% - 30px);

    font-size: 14px;
    font-weight: bold;
    
    z-index: 2;
}
.latest-more-items
{
    margin:30px 30px 0 0;

    text-align: right;
    font-size: 16px;
    font-weight: normal;
    transition: 0.3s all;
}
.latest-more-items a::before, 
.latest-more-items a::after
{
    content: "";
    position: absolute;
    top:0;
    left:0;
    width:2px;
    height:10px;
    transition: 0.3s all;
}
.latest-more-items a::before
{
    transform: translateX(90px) translateY(10px) rotate(45deg);
}
.latest-more-items a::after
{
    transform: translateX(90px) translateY(4px) rotate(-45deg);
}
.latest-more-items a:hover::before
{
    transform: translateX(100px) translateY(10px) rotate(45deg);
}
.latest-more-items a:hover::after
{
    transform: translateX(100px) translateY(4px) rotate(-45deg);
}

/*About General*/
#about1, #about2, #about3, #about4
{
    background-color: #7F3F00;
    width:100%;
    height:auto;
    min-height: 600px;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    overflow: hidden;
}
.about-blur_filter
{
    position: absolute;
    width:100%;
    height:800px;
    top:0;
    left:0;
    backdrop-filter: blur(50px);
    z-index: 1;
    transition: 0.25s backdrop-filter;
    transition-delay: 0.25s;
}
#about1.open .about-blur_filter,
#about2.open .about-blur_filter,
#about3.open .about-blur_filter,
#about4.open .about-blur_filter
{
    backdrop-filter: blur(0px);
}
.heading-about, .p-about-details
{
    text-shadow: 2px 2px 6px #000;
}
.heading-about
{
    position:absolute;
    width:80px;
    height:800px;
    font-size: 64px;
    writing-mode: vertical-rl;
}
.p-about-details
{
    position:relative;
    font-size:16px;
    width:800px;
    height:auto;
    margin:300px 0 30px 0;
    white-space: pre-wrap;
}
#about1 .heading-about,
#about2 .heading-about,
#about3 .heading-about,
#about4 .heading-about
{
    top:-250px;
    opacity: 0;
    transition: 0.5s all;
    transition-delay: 0.5s;
}
#about1.open .heading-about,
#about2.open .heading-about,
#about3.open .heading-about,
#about4.open .heading-about
{
    opacity: 1;
}
#about1 .heading-about,
#about3 .heading-about
{
    left:100px;
}
#about2 .heading-about,
#about4 .heading-about
{
    right:100px;
}
#about1.open .heading-about,
#about3.open .heading-about
{
    left:0px;
}
#about2.open .heading-about,
#about4.open .heading-about
{
    right:0px;
}
#about1 .p-about-details,
#about2 .p-about-details,
#about3 .p-about-details,
#about4 .p-about-details
{
    opacity: 0;
    transition: 0.5s all;
    transition-delay: 0.5s;
}
#about1.open .p-about-details,
#about2.open .p-about-details,
#about3.open .p-about-details,
#about4.open .p-about-details
{
    opacity: 1;
}
#about1 .p-about-details,
#about3 .p-about-details
{
    right:100px;
    padding-left:80px;
    text-align: right;
    line-height: calc(1em + 12px);
}
#about2 .p-about-details,
#about4 .p-about-details
{
    right:-100px;
    padding-right:80px;
    text-align: left;
    line-height: calc(1em + 12px);
}
#about1.open .p-about-details,
#about3.open .p-about-details
{
    right:0px;
}
#about2.open .p-about-details,
#about4.open .p-about-details
{
    right:0px;
}

/*Customer Voices*/
#customer-voices
{
    overflow-x:hidden;
}
.section-voice
{
    margin-bottom:60px;
}
.section-voice h2
{
    font-size: 18px;
    margin-bottom:16px;
}
.container-voice
{
    display:flex;
    gap:40px;
}
.container-voice.reversed
{
    flex-direction: row-reverse;
}
.container-voice .container-voice-comment
{
    width:100%;
    height:100px;
    margin-bottom: 40px;
    padding: 18px 22px;
    border-radius: 16px;
    color: #7F3F00;
    background-color: #fff;
    font-size:20px;
    opacity: 0;
    transform:scale(0);
    transition: 0.8s all;
    transition-delay: 0.4s;
}
.container-voice .container-voice-comment::before,
.container-voice.reversed .container-voice-comment::before
{
    content: "";
    position: absolute;
    top:40px;
    right:-18px;
    width: 20px;
    height: 20px;

    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
}
.container-voice.reversed .container-voice-comment::before
{
    left:-18px;
    right:0px;
    transform: rotate(180deg);
}
.container-voice.open .container-voice-comment
{
    opacity: 1;
    transform:scale(100%);
}
.container-voice .container-voice-comment h3
{
    margin: 0;
    font-size:16px;
}
.container-voice .container-voice-icon > p:first-of-type
{
    top:0;
    left:10vw;
    width:85px;
    height:85px;
    border-radius: 50%;
    padding:24px 27px;
    color: #F6B450;
    background-color: #7F3F00;
    font-size: 40px;
    opacity: 0;
    transition: 0.6s all;
}
.container-voice.reversed .container-voice-icon > p:first-of-type
{
    left:-10vw;
}
.container-voice.reversed .container-voice-icon > p:last-of-type
{
    left:10vw;
}
.container-voice.open .container-voice-icon > p:first-of-type,
.container-voice.open .container-voice-icon > p:last-of-type
{
    left:0;
    opacity: 1;
}
.container-voice .container-voice-icon > p:last-of-type
{
    left:-10vw;
    width:85px;
    margin-top:6px;
    opacity: 0;
    color:#7F3F00;
    text-align: center;
    transition: 0.6s all;
}

/*hours*/
.p-hours, .p-hours_notice
{
    text-align: center;
}
.p-hours
{
    margin-bottom:10px;
    font-size: 20px;
    line-height: 40px;
    white-space: pre-wrap;
}
.p-hours_notice
{
    font-size: 16px;
}

/*Access*/
#hours, #access, #contact
{
    padding-bottom:60px;
}
.container-access
{
    display: flex;
    gap:20px;
    height:auto;
    min-height:415px;
}
.container-access p
{
    width:50%;
    line-height: 32px;
    font-size: 18px;
    white-space: pre-wrap;
}
.container-map
{
    width:50%;
    height: 415px;
    overflow: hidden;
}
.container-access iframe
{
    width:100%;
    height: 100%;
    margin-top:0px;
    border-radius: 30px
}

/*Contact*/
.button-contact
{
    display: block;
    top:0;
    width:100%;
    height:100px;
    padding:16px;
    background-color: #fff;
    border-radius: 16px;
    transition: 0.3s all;
}
.button-contact:hover
{
    top:-10px;
    box-shadow: 4px 4px 14px #0004;
}
.p-button-contact-reserve
{
    margin-bottom: 16px;
    color:#7F3F00;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}
.p-button-contact-number
{
    margin-top: -10px;
    color:#F6B450;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    transition: 0.3s all;    
}
.p-withreservation
{
    margin-top: 16px;
    text-align: center;
    font-weight: bold;
}

/*FOOTER*/
footer
{
    width:100%;
    height: auto;
    padding-bottom:100px;
    background-color: #7F3F00;
}
.container-footer
{
    display: flex;
    justify-content: space-between;
}
.container-footer-left
{
    width:auto;
    padding-left:20px;
}
.container-footer-left img
{
    display: block;
    height:64px;
    margin: 50px auto;
}
.container-footer-left p
{
    text-align: center;
    white-space: pre-wrap;
}
.container-footer-right
{
    width:auto;
}
.container-sns
{
    display: flex;
    justify-content: right;
    gap:12px;
    margin: 50px 20px 0 0;
}
.container-sns a 
{
    display: block;
    width:60px;
    height:60px;
    border-radius: 50%;
    background-color: #fff;
}
.container-sns .fab::before
{
    position: absolute;
    top:-3px;
    left:15px;
}
.container-sns .fa-instagram::before
{
    top:-3px;
    left:16px;
}
.container-sns .fa-youtube::before
{
    top:-3px;
    left:12px;
}
.container-footer-menu
{
    display: flex;
    justify-content: end;
    flex-wrap: wrap;
    gap:20px;
    width: 500px;
    height: 100px;
    margin-top:50px;
    padding-right:20px;
}
.container-footer-menu a
{
    transition: 0.3s all;
}

/*Page List*/
#mv.mv-subpage
{
    height: 300px;
    overflow: hidden;
}
.mv-title-sub
{
    writing-mode: initial;
    top:150px;
    left:100px;
    right:auto;
}

#pagelist
{
    height:auto;
}
.ul-pages
{
    padding: 100px 0px;
}
.ul-pages li
{
    margin-bottom:40px;
}
.ul-pages li a
{
    display: flex;
    cursor: pointer;
}
.ul-pages li a .image-container
{
    width: 200px;
    height: 200px;
    border-radius: 16px;
    overflow: hidden;
}
.ul-pages li a .image-container img
{
    display:block;
    top:0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s all;
}
.ul-pages li a:hover .image-container img
{
    top:-10%;
    width: 120%;
    height: 120%;
}
.ul-pages li a .pagelist-details
{
    width: calc(100% - 200px);
    padding:0px 20px;
    transition: 0.3s all;
}
.ul-pages li a .pagelist-details h2
{
    margin-bottom:10px;
}
.ul-pages li a:hover .pagelist-details
{
    opacity: 0.5;
}
.ul-pages li a .pagelist-details time
{
    font-size:14px;
}
.ul-pages li a .pagelist-details .pagelist-more-items::before, 
.ul-pages li a .pagelist-details .pagelist-more-items::after
{
    content: "";
    position: absolute;
    top:0;
    left:0;
    width:2px;
    height:10px;

    transition: 0.3s all;
}
.ul-pages li a .pagelist-details .pagelist-more-items::before
{
    transform: translateX(80px) translateY(10px) rotate(45deg);
}
.ul-pages li a .pagelist-details .pagelist-more-items::after
{
    transform: translateX(80px) translateY(4px) rotate(-45deg);
}
.ul-pages li a:hover .pagelist-details .pagelist-more-items::before
{
    transform: translateX(90px) translateY(10px) rotate(45deg);
}
.ul-pages li a:hover .pagelist-details .pagelist-more-items::after
{
    transform: translateX(90px) translateY(4px) rotate(-45deg);
}
.pagelist-more-items
{
    margin-top:20px;
}
.pagelist-comments
{
    font-size:16px;
    line-height:28px;
}

/*pagination*/
.pagination ul
{
    display:flex;
    align-items: center;
    justify-content: center;
}
.pagination li
{
    font-size:24px;
    padding: 0 10px;
}
.pagination li.active
{
    font-size:48px;
    font-weight: bold;
}
.pagination ul li a
{
    opacity: 1;
    transition: 0.3s all;
}
.pagination ul li a:hover
{
    opacity: 0.3;
}
.arrow-invalid
{
    top:-4px;
    opacity: 0.3;
}

/*Single Page*/
#singlepage
{
    padding:50px 0 100px 0;
}
#singlepage h2,#form h2
{
    margin: 50px 0 30px 0;
    font-size: 30px;
    text-align: center;
}
.img-singlepage
{
    display: block;
    width: 100%;
    height:300px;
    margin-bottom: 12px;
    border-radius: 16px;
    object-fit: cover;
}
.p-article
{
    margin-top:16px;
}
.p-article p
{
    font-size: 20px;
    line-height: calc(1em + 12px);
}
.single-below
{
    display: flex;
    justify-content: space-between;
    gap:32px;
    margin-top:80px;
    font-size:20px;
}
.single-below .top
{
    position:absolute;
    top:0;
    left:calc(50% - 50px);
    font-size:20px;
}
.single-below .back a, .single-below .next a
{
    display:flex;
    align-items: center;
    gap:12px;
}
.single-below .back a .fa-arrow-left,
.single-below .next a .fa-arrow-right,
.single-below .top a
{
    opacity: 1;
    transition: 0.3s all;
}
.single-below .back a:hover .fa-arrow-left,
.single-below .next a:hover .fa-arrow-right,
.single-below .top a:hover
{
    opacity: 0.3;
}
.single-below .back a .container-slidetext,
.single-below .next a .container-slidetext
{
    width:0px;
    height:25px;
    padding-top:4px;
    overflow: hidden;
    transition: 0.3s all;
}
.single-below .back a:hover .container-slidetext,
.single-below .next a:hover .container-slidetext
{
    width:65px;
}

/*Form*/
#form
{
    width: 100%;
    height: auto;
    padding-bottom:100px;
}
#form .container-table
{
    width:100%;
    height:auto;
    padding-top:100px;
    border-radius: 16px;
}
#form .container-table form table
{
    margin: auto auto;
    border-collapse: separate;
    border-spacing: 10px;
}
#form .container-table form table tr
{
    height:38px;
}
#form .container-table form table tr th
{
    width: 30%;
    text-align: right;
}
#form .container-table form table tr td
{
    width: 70%;
}
select, input, textarea
{
    height: 38px;
    padding: 10px;
    border: none;
    border-radius: 8px;
    transition: 0.3s all;
    font-family: "Noto Serif JP", serif;
}
select
{
    appearance: none;
}
input[type="checkbox"]
{
    width:22px;
    height: 22px;
    border-radius: 4px;
    appearance: none;
}
input[type="checkbox"]::before
{
    content:"";
    position: absolute;
    top:0;
    left:0;
    width:22px;
    height: 22px;
    border-radius: 4px;
    transition: 0.3s all;
}
input[type="checkbox"]:checked::before
{
    box-shadow: 4px 4px 16px #0004 inset;
}
input[type="checkbox"]::after
{
    content:"";
    position: absolute;
    top:11px;
    left:11px;
    width:0px;
    height: 0px;
    border-radius: 2px;
    transition: 0.3s all;
}
input[type="checkbox"]:checked::after
{
    top:6px;
    left:6px;
    width:10px;
    height: 10px;
}
.td-arrow::before 
{
    content:'';
    position:absolute;
    top:16px;
    right:12px;
    width:12px;
    height:10px;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    z-index: 1;
    pointer-events: none;
}
textarea
{
    height:200px;
}
textarea::-webkit-scrollbar
{
    width:33px;
    background-color: #FFF0;
}
textarea::-webkit-scrollbar-thumb
{
    width:33px;
    border-radius:32px;
}
textarea::-webkit-scrollbar-thumb:hover
{
    cursor: default;
}
textarea::-webkit-resizer
{
    display: none;
}
.td-arrow-textarea::before
{
    content:'';
    position:absolute;
    bottom:6px;
    right:1px;
    width: 33px;
    height:33px;
    z-index: 1;
    pointer-events: none;
}
.td-arrow-textarea::after 
{
    content:'';
    position:absolute;
    bottom:18px;
    right:12px;
    width:12px;
    height:12px;
    clip-path: polygon(100% 0%, 100% 100%, 0% 100%);
    z-index: 2;
    pointer-events: none;
}
select:hover, input:hover, textarea:hover, .container-button:hover
{
    box-shadow: 4px 4px 16px #0004;
}
textarea.textarea-privacy:hover
{
    box-shadow: none;
}
select:focus, input:focus, textarea:focus
{
    box-shadow: 4px 4px 16px #0004 inset;
    outline: none;
}
textarea.textarea-privacy:focus
{
    box-shadow: none;
}
select, input, textarea
{
    width:100%;
}
.container-checkbox
{
    text-align:center;
    user-select: none;
}
.container-checkbox label
{
    display:flex;
    gap:10px;
    font-size: 16px;
    font-weight: bold;
}
.container-button
{
    width:166px;
    height: 36px;
    margin:50px auto;
    border-radius: 18px;
    text-align: center;
    overflow: hidden;
    transition: 0.2s all;
}
.container-button input:focus
{
    box-shadow: none;
}
.wpcf7-submit
{
    width:166px;
    height: 36px;
    padding:0;
    background-color: #0000;
    font-family: "Yu Gothic regular";
    font-size: 16px;
    font-weight: bold;
    transition: 0.2s all;
}
.wpcf7-submit:hover
{
    cursor:pointer;
}
.container-button .button-bg
{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 0;
    transition: 0.2s all;
}
.container-button:hover .button-bg
{
    height: 100%;
}
@media screen and (max-width: 1300px)
{
    .nav-header a
    {
        font-size: 11px;
    }
    .nav-header a:hover
    {
        font-size: 15px;
    }
}
@media screen and (max-width: 1100px)
{
    .nav-header a
    {
        font-size: 10.5px;
    }
    .nav-header a:hover
    {
        font-size: 14.5px;
    }
}
@media screen and (max-width: 1050px)
{
    .nav-header ul
    {
        gap: 20px;
    }
    .nav-header a
    {
        font-size: 9.8px;
    }
    .nav-header a:hover
    {
        font-size: 13.8px;
    }
}

@media screen and (max-width: 1000px)
{
    .nav-header ul
    {
        gap: 18px;
    }
    .nav-header a
    {
        font-size: 9px;
    }
    .nav-header a:hover
    {
        font-size: 13px;
    }
}
@media screen and (max-width:900px)
{
    /*GENERAL*/
    .visible-sp
    {
        display:initial;
    }
    .visible-pc
    {
        display:none;
    }

    /*General (Mori-yoga)*/
    .heading-general
    {
        padding-top:100px;
        height:160px;
    }
    main
    {
        padding-bottom:100px;
    }

    /*HEADER*/
    header
    {
        display: block;
    }
    header.open
    {
        width:100%;
        height:100vh;
    }
    header.open.mvmode
    {
        backdrop-filter: blur(10px);
        background-image: none;
    }
    header .container-sns
    {
        margin-top:430px;
        opacity: 0;
        display: none;
        flex-direction: row;
        position:relative;
        top:0;
        left:0;
    }
    header .container-sns.open
    {
        opacity: 1;
        display: flex;
        animation-name: fadeAnimation-toFlex;
        animation-duration: 1s;
    }
    header .container-sns li a
    {
        box-shadow: none;
    }
    .nav-header
    {
        width:100%;
        opacity: 0;
        display: none;
    }
    .nav-header.open
    {
        opacity: 1;
        display: block;
        animation-name: fadeAnimation;
        animation-duration: 1s;
    }
    @keyframes fadeAnimation
    {
        0%
        {
            opacity: 0;
            display: none;
        }
        1%
        {
            opacity: 0;
            display: block;   
        }
        100%
        {
            opacity: 1;            
        }
    }
    @keyframes fadeAnimation-toFlex
    {
        0%
        {
            opacity: 0;
            display: none;
        }
        1%
        {
            opacity: 0;
            display: flex;   
        }
        100%
        {
            opacity: 1;            
        }
    }
    .nav-header a
    {
        font-size: 22px;
    }
    .nav-header a:hover
    {
        margin-top: 0;
        margin-left: 0;
        font-size: 22px;
    }
    .nav-header ul
    {
        position: fixed;
        flex-direction: column;
        gap:10px;
        top:80px;
        left:calc(50vw - 77.5px);
        width:auto;
        height:100vh;
        text-align: center;
    }
    .hamburger
    {
        position: absolute;
        top:0px;
        right:0px;
        width:80px;
        height:80px;
        cursor: pointer;
    }
    .hamburger::before, .hamburger::after, .hamburger span::before
    {
        content: "";
        position: absolute;
        top:12px;
        left:15px;
        width: 50px;
        height: 2px;
        transition: 0.3s all;
    }
    .hamburger::before
    {
        transform: translateY(10px);
    }
    .hamburger::after
    {
        transform: translateY(25px);
    }
    .hamburger span::before
    {
        transform: translateY(40px);
    }
    .hamburger.open::before
    {
        transform: translateY(25px) rotate(45deg);
    }
    .hamburger.open::after
    {
        opacity: 0;
    }
    .hamburger.open span::before
    {
        transform: translateY(25px) rotate(-45deg);
    }
    .sns-toggle
    {
        display: none;
    }

    /*MainVisual*/
    #mv
    {
        overflow: hidden;
    }
    .mv-title
    {
        top:20vh;
        right:calc(50vw - 1.2em);
    }
    .mv-title2
    {
        top:calc(20vh + 1.5em);
        right:calc(50vw - 1.2em + 1.8em);
    }

    /*Latest*/
    #latest, #hours, #access, #contact, #pagelist
    {
        padding: 0 20px;
    }
    #latest
    {
        padding-bottom:20px;
    }
    .container-latest
    {
        width:100%;
    }
    .ul-latestnews
    {
        flex-direction: column;
    }
    .ul-latestnews li
    {
        width: 100%;
        height: 250px;
    }
    .ul-latestnews li:hover
    {
        box-shadow: 4px 4px 14px #0004;
        margin-top: 0px;
    }
    
    /*About General*/
    #about1 .p-about-details,
    #about2 .p-about-details,
    #about3 .p-about-details,
    #about4 .p-about-details
    {
        top:auto;
        bottom:0px;
    }
    .heading-about
    {
        font-size: 40px;
    }
    #about2 .heading-about
    {
        padding-right:20px;
    }
    .p-about-details
    {
        width:100%;
        padding:0 20px;
        font-size:14px;
        white-space: pre-wrap;
    }
    .max-width-restrictor-about
    {
        height:100%;
    }
    /*Voices*/
    .section-voice
    {
        padding: 0 20px;
        margin-bottom:30px;
    }
    .container-voice .container-voice-comment
    {
        height:auto;
    }
    .container-voice .container-voice-comment::before,
    .container-voice.reversed .container-voice-comment::before
    {
        top:14px;
    }
    .container-voice .container-voice-comment h3
    {
        font-size:18px;
        margin-bottom:8px;
    }
    .container-voice .container-voice-comment p
    {
        font-size:16px;
    }
    .container-voice .container-voice-icon > p:last-of-type
    {
        font-size:16px;
    }

    /*Access*/
    .container-access
    {
        flex-direction: column-reverse;
        height: auto;
    }
    .container-access p
    {
        width:100%;
        text-align: center;
    }
    .container-map
    {
        width:100%;
        height: 250px;
        margin-bottom:20px;
    }

    /*Contact*/
    .p-button-contact-number
    {
        font-size: 34px;
    }

    /*FOOTER*/
    footer
    {
        overflow: hidden;
        height: auto;
    }
    .container-footer
    {
        flex-direction: column;

    }
    .container-footer-left
    {
        padding-left:0;
    }
    .container-footer-left p
    {
        padding: 0 20px;
    }
    .container-footer-right
    {
        height: auto;
    }
    .container-sns
    {
        width:100%;
        justify-content: center;
    }
    .container-footer-menu
    {
        width: 100%;
        height:auto;
        padding:0px 20px;
        margin-bottom:80px;
        justify-content: center;
    }

    /*Page List*/
    #mv.mv-subpage .mv-title
    {
        top:150px;
        left:0;
        right:auto;
        width: 100%;
    }
    .ul-pages li a
    {
        flex-direction: column;
    }
    .ul-pages li a .image-container
    {
        width: 100%;
        height: 200px;
        margin-bottom:20px;
    }
    .ul-pages li a .pagelist-details
    {
        width: 100%;
        padding:0px 0px;
        transition: 0.3s all;
    }
    .ul-pages li a .pagelist-details h2
    {
        font-size: 24px;
    }
    .ul-pages li a .pagelist-details .pagelist-comments
    {
        font-size: 16px;
        text-align: left;
        line-height:1.8em;
    }
    .ul-pages li a .pagelist-details .pagelist-more-items
    {
        font-size: 16px;
    }
    .ul-pages li a .pagelist-details .pagelist-more-items::before
    {
        transform: translateX(90px) translateY(10px) rotate(45deg);
    }
    .ul-pages li a .pagelist-details .pagelist-more-items::after
    {
        transform: translateX(90px) translateY(4px) rotate(-45deg);
    }
    .ul-pages li a:hover .pagelist-details .pagelist-more-items::before
    {
        transform: translateX(90px) translateY(10px) rotate(45deg);
    }
    .ul-pages li a:hover .pagelist-details .pagelist-more-items::after
    {
        transform: translateX(90px) translateY(4px) rotate(-45deg);
    }

    /*Single Page*/
    #singlepage
    {
        padding:50px 20px 20px 20px;
    }
    .img-singlepage
    {
        height:200px;
    }

    /*Form*/
    #form
    {
        padding:0 20px;
    }
    #form .container-table
    {
        width:100%;
        height:auto;
        padding-top:100px;
        border-radius: 16px;
    }
}

@media screen and (max-width:600px)
{
    /*About General*/
    #about1 .p-about-details
    {
        margin-top:350px;
    }
    #about1 .heading-about
    {
        top:-300px;
    }
    #about2 .p-about-details
    {
        margin-top:250px;
    }
    #about2 .heading-about
    {
        top:-200px;
    }
    #about3 .p-about-details
    {
        margin-top:250px;
    }
    #about3 .heading-about
    {
        top:-200px;
    }
    #about4 .p-about-details
    {
        margin-top:150px;
    }
    #about4 .heading-about
    {
        top:-100px;
    }
    /*Contact*/
    #contact h1
    {
        height: auto;
        margin-bottom:20px;
    }
    .button-contact
    {
        height:auto;
    }
    .p-button-contact-number
    {
        line-height: 1.1;
    }

}

@media screen and (max-height: 600px)
{
    .mv-title
    {
        font-size: 30px;
    }
}

@media screen and (max-height: 500px)
{
    .mv-title
    {
        font-size: 20px;
    }
}