body{
    margin: 0;
    padding: 0;
    background-color: #fff3da;
    overflow-x: hidden;
    font-family: "ヒラギノ丸ゴ Pro W4";
}
html{
    overflow-x: hidden;
}
@font-face {
    font-family: 'GenEiPople';
    src: url('../font/GenEiPOPle-Bk.ttf') format('truetype');
}
@font-face {
    font-family: 'GenEiGothic';
    src: url('../font/GenEiGothicN-H-KL.otf') format('truetype');
}
@font-face {
    font-family: 'RiiCookie';
    src: url('../font/RiiCookieRt.otf') format('truetype');
}
@font-face {
    font-family: 'GenEiAntique';
    src: url('../font/GenEiAntiquePv5-M.ttf') format('truetype');
}
header{
    width: 100%;
    height: auto;
    position:relative;
    z-index: 100;
    overflow-x: visible;
}
#mobile{
    display: none;
}
#header-base{
    width: 100%;
    height: auto;
    display: block;
    max-width: 100vw;
}
#logo{
    position: absolute;
    width: 15%;
    top: 1%;
    left: 23%;
}
#hoppu{
    position: absolute;
    width: 16%;
    top: 34%;
    left: 41%;
}
#instagram-button{
    position: absolute;
    width: 4%;
    top: 1%;
    right: 49%;
}
#access{
    position: absolute;
    width: 10%;
    top: 1%;
    right: 25%;
}
#service{
    position: absolute;
    width: 5%;
    top: 25%;
    right: 35.5%;
}
#intro{
    position: absolute;
    width: 3%;
    top: 25%;
    right: 30%;
}
#event{
    position: absolute;
    width: 5%;
    top: 26%;
    right: 22.5%;
}
#info{
    position: absolute;
    width: 5%;
    top: 25%;
    right: 16%;
}
.up{
    transition: 0.5s;
}
.up:hover{
    transform: scale(1.2);
}
#top{
    margin-top: -10%;
    padding-top: 10%;
    background-image: url("../img/下層ページ/空.png");
    background-size: cover;
    overflow-x: hidden;
    width: 100%;
    height: auto;
    position: relative;
}

.list,.hope-list,.o-list{
    list-style: none;
}

.slide-container{
    width: 100%;
    height: auto;
    padding-bottom: 10%;
}
.slide{
    width: 400%;
    height: 100%;
    display: flex;
    transition: all 0.3s;
}
.slide div { /* スライド */
  width: 25%;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.slide-content img{
    width: 60%;
    height: auto;
}
.slide1{
    transform: translateX(0);
}
.slide2{
    transform: translateX(-25%);
}
.slide3{
    transform: translateX(-50%);
}
.slide4{
    transform: translateX(-75%);
}
.slide-next{
    position:absolute;
    top: 40%;
    right: 10vw;
    z-index: 10;
    cursor: pointer;
    border-top: clamp(16px,3vw, 5vw) solid transparent;
    border-bottom: clamp(16px,3vw, 5vw) solid transparent;
    border-left: clamp(16px,3vw, 5vw) solid #00FF82;
    user-select: none;
}
.slide-prev{
    position:absolute;
    top: 40%;
    left: 10vw;
    z-index: 10;
    cursor: pointer;
    border-top: clamp(16px,3vw, 5vw) solid transparent;
    border-bottom: clamp(16px,3vw, 5vw) solid transparent;
    border-right: clamp(16px,3vw, 5vw) solid #00FF82;
    user-select: none;
}

.hoppu-mori{
    width: 100%;
    height: auto;
    position: absolute;
    z-index: 10;
    transform: translateY(-80%);
}

#mori {
  position: relative;
  width: 100%;
  height: auto;
}


#mori-base {
  width: 100%;
  display: block;
  margin: 0 auto;
  z-index: 1;
}


#hoppu-nomal {
  position: absolute;
  top: 14%;
  left: 3%;
  width: 10%;
  z-index: 2;
}

#hoppu-yoko {
  position: absolute;
  top: 40%;
  left: 15%;
  width: 10%;
  z-index: 2;
}
#hoppu-sleep{
    position: absolute;
    top: 40%;
    right: 12%;
    width: 10%;
    z-index: 2;
}
#hoppu-happy{
    position: absolute;
    top: 14%;
    right: 0;
    width: 11%;
    z-index: 2;
}
#note{
    position: absolute;
    width: 90%;
    top: 43%;
    left: 8%;
    animation: note 2s infinite;
}
@keyframes note {
    0% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
    100% { transform: translateY(0); }
}
#bikkuri,#gayagaya,#suyasuya,#waiwai{
    position: absolute;
    width: 2.5%;
}
#bikkuri{
    top: 5%;
    left: 3%;
    animation: ookiku 2s infinite;
}
@keyframes ookiku {
    0% { transform: scale(1) ; }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}
#gayagaya{
    width: 4%;
    top: 33%;
    left: 25%;
    animation: gayagaya 2s infinite;
}
@keyframes gayagaya {
    0% { transform: rotate(0deg) translateX(0); }
    50% { transform: rotate(20deg) translateX(10%) translateY(20%); }
    100% { transform: rotate(0deg) translateX(0); }
}
#suyasuya{
    width: 5%;
    top: 35%;
    right: 23%;
    animation: suyasuya 2s infinite;
}
@keyframes suyasuya{
    0%{
        opacity: 1;
        transform: translate(20%, 20%);
    }
    100%{
        opacity: 0;
    }
}
#waiwai{
    width: 4.5%;
    top:4%;
    right: 5%;
    animation: waiwai 2s infinite;
}
@keyframes waiwai{
    0%{
        transform: rotate(0deg);
    }
    50%{
        transform: rotate(-25deg);
    }
    100%{
        transform: rotate(0deg);
    }
}
#greeting{
    position: relative;
    width: 100%;
    padding-bottom: 10%;
}
#greeting-base{
    display: block;
    margin: 0 auto;
    margin-top: 10%;
    width: 70%;
    position: relative;
}

#greeting-title{
    display: block;
    width: 25%;
    position: absolute;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
}
#greeting-content{
    display: flex;
    flex-direction: column;
    margin-top: 10vh;
    padding-bottom: 10vh;
}
#greeting-frame{
    display: block;
    margin: 0 auto;
    width: 30vw;
    height: auto;
    font-family: "GeiEiAntique",sans-serif;
}
#greeting-message{
    margin: 5vh auto 0;
    width: 70vw;
    height: auto;
    background-color: white;
    padding: 1.5rem;
    border-radius: 1rem;
    font-size: 3vw;
}

#bg-yellow{
    background-color: #f9ff93;
    width: 100%;
    height: 300px;
    border-top-left-radius: 20%;
    border-top-right-radius: 20%;
    position: absolute;
    z-index: -10;
}
#life{
    background-color: #f9ff93;
    position: relative;
    margin-bottom: 5%;
}
#life-content{
    display: block;
    padding-top: 2rem;
    margin: 0 auto;
    width: 80%;
    height: auto;
    position: relative;
    z-index: 10;
}
#life-message{
    font-size: 2vw;
    width: 30%;
    height: auto;
    position: absolute;
    top: 45%;
    right: 15%;
    z-index: 15;
    font-family: 'GenEiAntique',sans-serif;
}
#bg-blue{
    background-color: #b7f9ff;
    border-top-left-radius: 10%;
    border-top-right-radius: 10%;
    height: 200px;
    width: 100%;
    position: absolute;
    bottom: -10%;
}
#facility{
    margin-top: 1rem;
    background-color: #b7f9ff;
    position: relative;
}
#hoppu-top{
    position: relative;
    width: 100%;
    height: 10%;
    z-index: 10;
}
#facility-top{
    position: relative;
}
#rubi{
    color: #009aff;
    font-size: 2.5em;
    position: absolute;
    top:30%;
    left: 25%;
    z-index: 10;
    letter-spacing: 0.5rem;
}

#facility-title{
    color: #009aff;
    font-family: 'GenEiGothic',sans-serif;
    font-size: 6em;
    position: absolute;
    top: 38%;
    left: 25%;
    font-weight: bold;
    z-index: 10;
}
#facility-content{
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 2rem;
    width: 90%;
    height: auto;
    padding: 2rem 1.5rem;
    margin: 0 auto;
}
.facility-img{
    display: flex;
    width: 50%;
    height: auto;

}
.facility-btn{
    display: flex;
    margin: 0 auto;
    width: 85%;
    height: auto;
}
#hope-base,#osanagou-base{
    display: flex;
    border: 0.25rem solid #818181;
    border-radius: 2rem;
    padding: 1rem;
    position: relative;
}
#hope-content{
    width: 50%;
    height: auto;
}
#hope-title,#osanagou-title{
    font-size: 4vw;
    font-family: 'GenEiPople', sans-serif;
    font-weight: lighter;
    text-align: center;
}
#hope-text,#osanagou-text{
    font-size: 2vw;
    font-family: 'GenEiAntique', sans-serif;
    padding-bottom: 2vh;
    display: flex;
    justify-content: center;
}
#osanagou-content{
    width: 50%;
    height: auto;
}

#hope-base{
    margin-bottom: 1rem;
}
#recruit h2{
    width: 100%;
    height: auto;
    font-family: 'GenEiPople', sans-serif;
    font-weight: lighter;
    text-align: center;
    background-color: white;
    font-size: 3vw;
    margin-top: 10%;
    border: #FFAE89 dashed 0.2rem;
}
#space{
    width: 100%;
    height: 70vh;
}
#sns{
    background-image: url("../img/イラスト2.png");
    background-size: cover;
    background-color: #b7f9ff;
}
#sns-info{
    text-align: center;
    font-family: 'GenEiPople';
    font-weight: lighter;
    color: #ff6800;
    font-size: 5vw;
    -webkit-text-stroke: #fff 1px;
}
#sns-icon{
    display: flex;
    justify-content: space-around;
    width: 80%;
    height: auto;
    margin: 0 auto;
}
#instagram,#facebook,#marche,#kitabozu{
    display: flex;
    flex-direction: column;
    width: 15%;
    margin-bottom: 10%;
}
#sns-icon p{
    text-align: center;
    color: #fff;
    font-size: clamp(16px, 2vw, 3vw)
}
#mobile-footer{
    display: none;
}
footer{
    background-color: #4f2217;
    color: #fff;
}
.footer-container{
    display: flex;
    gap: 2%;
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer-left{
    flex: 1.2;
}
.footer-left .footer-logo{
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
.footer-logo p{
    font-size: clamp(20px, 1.5vw, 32px);
}
.footer-left img{
    width: 30%;
    height: auto;
    margin-right: 1rem;
    margin-left: 1rem;
}
#logo-name{
    display: flex;
    flex-direction: column;
}
.footer-left .bottom-text{
    margin-top: 1rem;
}
.bottom-text{
    margin-left: 1rem;
    font-size:clamp(10px, 1.5vw, 20px);
}
#name{
    margin-left: 0.5rem;
    font-size:clamp(10px, 1.6vw, 24px);
}
#logo-mini{
    font-size: clamp(10px, 1vw, 32px);
}
#home-name{
    font-size: clamp(20px, 1.5vw, 3vw);
}
.footer-box{
    flex: 1;
    margin: 0 auto;
    margin-top: 0.5rem;
}
.facility-name{
    margin-left: 4rem;
    font-size: clamp(16px, 2vw, 32px);
}
.address{
    font-size: clamp(12px, 1.5vw, 24px);
}
.mail{
    font-size: clamp(8px, 1vw, 16px);
}
.footer-menu{
    display: flex;
    justify-content: flex-end;
    gap: 2rem;
    margin-top: 1rem;
    margin-right: 2rem;
    padding-bottom: 1rem;
    font-size: clamp(16px, 2vw, 32px)
}
ul.footer-menu li{
    position: relative;
    list-style: none;
    user-select: none;
}
ul.footer-menu li::before{
    content: "";
    position: absolute;
    top: 30%;
    left: -0.5rem;
    transform: translateX(-50%);
    border: 0.3em solid transparent;
    border-left: 0.4em solid #fff;
}
.footer-menu a{
    text-decoration: none;
    color: #fff;
}
.footer-menu a:hover{
    border-bottom: 2px dashed #fff;
}
/*service*/
.down-top{
    margin-top: -10%;
    padding-top: 10%;
    background-image: url("../img/下層ページ/空.png");
    background-size: cover;
    overflow-x: hidden;
    width: 100%;
    height: auto;
    padding-bottom: 10%;
    position: relative;
}
.down-top img{
    width: 70%;
    height: auto;
    margin: 0 auto;
}
.down-top h1{
    font-size: 5vw;
    color: red;
    font-family: 'GenEiPople', sans-serif;
    z-index: 10;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: lighter;
    
}
#down-mori{
    display: block;
    width: 100%;
    height: auto;
    z-index: 10;
    transform: translateY(-70%);
}
.service-content{
    width: 100%;
    height: auto;
    display: flex;
    padding-top: 10%;
    padding-bottom: 5%;
}
#service1{
    margin-top: 10%;
}
.service-wrapper{
    width: 40%;
    height: auto;
    display: flex;
    flex-direction: column;
    position: relative;
}
.home-picture{
    width: 60%;
    height: auto;
}
.illustration{
    width: 70%;
    height: 50%;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(-100%);
    transition: opacity 1.5s ease-out, transform 1s ease-out;
    transition-delay: 1s;
}
.illustration.active{
    opacity: 1;
    transform: translateY(0);
}
.service-text{
    width: 130%;
    height: auto;
    background-color: #fff;
    padding: 1rem;
    position: absolute;
    top: 60%;
    margin-bottom: 1vh;
    z-index: 10;
}
#yourself h1,#life-smile h1,#everyday h1{
    font-size: clamp(1rem, 3vw, 3rem)!important;
    font-family: "GenEiPople", sans-serif;
    color: #FFAE89;
    text-align: center;
    font-weight: lighter;
}
.m-br{
    display: none;
}
#yourself p,#life-smile p,#everyday p{
    font-size: clamp(1rem, 2vw, 5rem)!important;
    font-family: "GenEiAntique", sans-serif;
    padding-left: 2rem;
}
.slideinR{
    opacity: 0;
    transform: translateX(200%);
    transition: opacity 1s ease-out, transform 1s ease-out;
}
.slideinR.activeR{
    opacity: 1;
    transform: translateX(0);
}
.slideinL{
    opacity: 0;
    transform: translateX(-100%);
    transition: opacity 1s ease-out, transform 1s ease-out;
}
.slideinL.activeL{
    opacity: 1;
    transform: translateX(0);
}
#service2{
    background-color: #B7F9FF;
}
#life-smile{
    right:0;
    top: 65%;
}
#life-smile h1{
    color:#00FF82;
    padding-bottom: 1rem;
}
#service3{
    background-color: #BBFF8F;
}
#everyday h1{
    color: #FF9C40;
}
#service4{
    width: 100%;
    height: auto;
    background-color: #B7F9FF;
    padding: 2rem 1rem;
    position: relative;
}
#service4 img{
    width: 90%;
    height: auto;
    margin: 0 auto;
}
#service4-text{
    width: 85%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-45%, -50%);
    overflow-x: hidden;
}
#service4-text h1{
    font-size: 4vw;
    font-family: "GenEiPople", sans-serif;
    color: blue;
    font-weight: lighter;
    padding-bottom: 2rem;
    width: 100%;
}
#red{
    color: red;
}
#service4-text p{
    width: 80%;
    font-size: 3vw;
    font-family: "GenEiAntique", sans-serif;
    text-align: center;
}
#service5{
    width: 100%;
    height: auto;
    background-color: #7dff4f;
    padding: 1rem 0;
    position: relative;
}
#service5 h1{
    font-size: 4.5vw;
    width: 50%;
    font-family: "GenEiPople", sans-serif;
    color:red;
    font-weight: lighter;
    text-align: center;
    padding: 1rem;
    background-color: #fff;
    margin: 0 auto;
}
#intro-top{
    color: #ff7c1e;
    font-size: 7vw;
    font-weight: lighter;
}
#intro1{
    margin-top: 20%;
    background-color: #fff;
    padding-top: 5%;
    border-radius: 2rem;
}
.slide-title{
    font-size: 4vw;
    font-weight: lighter;
    font-family: "GenEiPople", sans-serif;
    text-align: center;
    margin-bottom: 5vh;
}
.hopeSlide-container{
    width: 60%;
    height: 30%;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    padding-bottom: 10%;
}
.hope-slide{
    width: 1000%;
    height: 100%;
    display: flex;
    transition: all 0.3s;
}
.hope-slide div { /* スライド */
  width: 10%;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.hope-slide img{
    width: 100%;
    height: auto;
}
.hope-slide1{
    transform: translateX(0);
}
.hope-slide2{
    transform: translateX(-10%);
}
.hope-slide3{
    transform: translateX(-20%);
}
.hope-slide4{
    transform: translateX(-30%);
}
.hope-slide5{
    transform: translateX(-40%);
}
.hope-slide6{
    transform: translateX(-50%);
}
.hope-slide7{
    transform: translateX(-60%);
}
.hope-slide8{
    transform: translateX(-70%);
}
.hope-slide9{
    transform: translateX(-80%);
}
.hope-slide10{
    transform: translateX(-90%);
}
.hope-next{
    position:absolute;
    width: 3vw;
    height: 3vw;
    right: 3%;
    top: 45%;
    z-index: 10;
    cursor: pointer;
    border-top: solid 8px #fe9271;
    border-right: solid 8px #fe9271;
    -webkit-transform: rotate(45deg)translateY(50%);
    transform: rotate(45deg)translateY(50%);
    user-select: none;
}
.hope-prev{
    position:absolute;
    width: 3vw;
    height: 3vw;
    left: 3%;
    top: 45%;
    z-index: 10;
    cursor: pointer;
    border-top: solid 8px #fe9271;
    border-right: solid 8px #fe9271;
    -webkit-transform: rotate(-135deg)translateY(-50%);
    transform: rotate(-135deg)translateY(-50%);
    user-select: none;
}
.hope-indicator{
    width: 100%;
    position: absolute;
    top: 85%;
    display: flex;
    column-gap: 18px;
    z-index: 10;
    justify-content: center;
    align-items: center;
}
.hope-indicator li{
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 50%;
    list-style: none;
    background-color: #fff;
    border: 0.2vw #000 solid;
    cursor: pointer;
}
.hope-indicator li:first-of-type{
    background-color: #00E3FF;
}

.oSlide-container{
    width: 60%;
    height: 30%;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    padding-bottom: 10%;
}
.o-slide{
    width: 1400%;
    height: 100%;
    display: flex;
    transition: all 0.3s;
}
.o-slide div { /* スライド */
  width: 7.14%;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.o-slide img{
    width: 100%;
    height: auto;
}
.o-slide1{
    transform: translateX(0);
}
.o-slide2{
    transform: translateX(-7.14%);
}
.o-slide3{
    transform: translateX(-14.28%);
}
.o-slide4{
    transform: translateX(-21.42%);
}
.o-slide5{
    transform: translateX(-28.56%);
}
.o-slide6{
    transform: translateX(-35.7%);
}
.o-slide7{
    transform: translateX(-42.84%);
}
.o-slide8{
    transform: translateX(-50%);
}
.o-slide9{
    transform: translateX(-57.14%);
}
.o-slide10{
    transform: translateX(-64.28%);
}
.o-slide11{
    transform: translateX(-71.42%);
}
.o-slide12{
    transform: translateX(-78.56%);
}
.o-slide13{
    transform: translateX(-85.7%);
}
.o-slide14{
    transform: translateX(-92.84%);
}
.o-next{
    position:absolute;
    width: 3vw;
    height: 3vw;
    right: 3%;
    top: 45%;
    z-index: 10;
    cursor: pointer;
    border-top: solid 8px #fe9271;
    border-right: solid 8px #fe9271;
    -webkit-transform: rotate(45deg)translateY(50%);
    transform: rotate(45deg)translateY(50%);
    user-select: none;
}
.o-prev{
    position:absolute;
    width: 3vw;
    height: 3vw;
    left: 3%;
    top: 45%;
    z-index: 10;
    cursor: pointer;
    border-top: solid 8px #fe9271;
    border-right: solid 8px #fe9271;
    -webkit-transform: rotate(-135deg)translateY(-50%);
    transform: rotate(-135deg)translateY(-50%);
    user-select: none;
}
.o-indicator{
    width: 100%;
    position: absolute;
    top: 83%;
    display: flex;
    column-gap: 18px;
    z-index: 10;
    justify-content: center;
    align-items: center;
}
.o-indicator li{
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 50%;
    list-style: none;
    background-color: #fff;
    border: 0.2vw #000 solid;
    cursor: pointer;
}
.o-indicator li:first-of-type{
    background-color: #00E3FF;
}
#intro2{
    width:100%;
    height: auto;
    background-color: #f9ff93;
    padding-top: 5%;
    padding-bottom: 5%;
}
#hope-intro,#osanagou-intro{
    width: 90%;
    height: auto;
    margin: 0 auto;
    padding: 2rem 2rem;
    background-color: #fff;
    border-radius: 32px;
    position: relative;
}
.intro-title{
    font-size: 4vw;
    font-family: "GenEiPople", sans-serif;
    font-weight: lighter;
    text-align: center;
    padding-top: 2rem;
    padding-bottom: 3rem;
}
.intro-text{
    font-size: 3vw;
    font-family: "GenEiAntique", sans-serif;
    margin-left: 2rem;
}
.intro-list,.intro-access{
    font-size: 2vw;
    font-family: "GenEiAntique", sans-serif;
}
.intro-list{
    list-style-type: disc;
}
.intro-access{

    text-align: right;
    right: 0;
    
}
#osanagou-intro{
    margin-top: 10%;
}
.map-content{
    margin-top: 5%;
    margin-bottom: 10%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
}
.map-content iframe{
    width: 50%;
    height: 50vh;
}
.map-content p{
    width: 40%;
    font-size: 2vw;
    background-color: white;
    border-radius: 2rem;
    padding: 1rem;
    border: #00E3FF dashed 0.2rem;
    text-align: center;
}
/*info*/
#info-page{
    background-color: #fff;
}
#info-top{
    color: #20AED0;
    font-size: 8vw;
}
#info1{
    background-color: #fff;
    padding-top: 10%;
}
#hoppu-icon,#mail-icon{
    margin: 0 auto;
}
#info-title,#form-title,#form-text{
    text-align: center;
}
#hoppu-icon{
    width: 20vw;
    height: auto;
}
#info-title{
    color:#FF8807;
    font-size: 5vw;
    font-family: 'GenEiPople',sans-serif;
    font-weight: lighter;
    margin-bottom: 5%;
}
#mail-icon{
    width: 20vw;
    height: auto;
    margin-bottom: 1rem;
}
#form-title{
    font-family: 'GenEiPople',sans-serif;
    font-weight: lighter;
    font-size: 4vw;
    margin-bottom: 2rem;
}
#form-text{
    font-family: 'GenEiAntique',sans-serif;
    font-size: 2vw;
}
#contactForm{
    margin-top: 10vh;
}
/* フォーム全体を囲む */
.contact-form {
  max-width: 80vw;
  margin: 0 auto; /* 中央寄せ */

  border: 0.25rem solid #00a0c6; /* 青系の枠線 */
  border-radius: 0.5rem;
  overflow: hidden;
  font-family: sans-serif;
  background: #f9f9f9;
}

/* 1行ずつの行 */
.form-row{
  display: flex;
  border-bottom: 0.25rem solid #fff;
}

/* 最後の行だけ下線を消す */
.form-row:last-child {
  border-bottom: none;
}

/* ラベル部分 */
label {
  width: 30%; /* 左部分を固定幅に */
  background: #00a0c6; /* 青背景 */
  color: #fff; /* 白文字 */
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  align-items: center; /* 縦中央揃え */
  font-family: 'GenEiGothic';
  font-weight: lighter;
  font-size: 1.25em

}
.form-row:last-child label{
    border-bottom: none;
}

/* 必須マーク */
.required {
  background: #ff7f9c; /* ピンク背景 */
  color: #fff;
  font-size: 1em;
  border-radius: 5px;
  padding: 2px 6px;
  margin-left: 8px;
  font-family: 'GenEiGothic';
  font-weight: lighter;
}

/* 入力欄（テキスト、メール、電話など） */
input, textarea {
  width: 70%; 
  padding: 10px;
  background-color: #EAEAEA;
  border: 0.6rem solid #fff;
  outline: 0.25rem solid #00a0c6;
  font-size: 1em;
  box-sizing: border-box;
}

/* テキストエリアの高さ調整 */
textarea {
  min-height: 30vh;
  resize: vertical;
}
input{
    height: 12vh;
}
/* フォーム外の送信ボタン */
.send-button {
  display: block;
  margin: 5vh auto 0;
  padding: 1rem 2rem;
  font-size: 2vw;
  background: #00a0c6;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
    font-family: 'GenEiGothic';
  font-weight: lighter;
}

.send-button:hover {
  background: #0082a0;
}
#info-tel{
    background-color: #fff;
    padding-top: 15vh;
    position: relative;
}
#tel-icon{
    margin: 0 auto;
    width: 15vw;
    height: auto;
}
#tel-title{
    font-size: 5vw;
    color: #00a0c6;
    text-align: center;
}
.tel-number{
    color: #ff3838;
    font-size: 7vw;;
    pointer-events: none;
    text-decoration: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
#question{
    background-color: #00a0c6;
    margin-top: 10vh;
    margin-top: 30vh;
    padding-top: 10vh;
    padding-bottom: 10vh;
}
.question-container{
    display: flex;
    flex-direction: column;
    width: 70vw;
    height: auto;
    border: #fff 0.25rem solid;
    border-radius: 1rem;
    margin: 0 auto;
    margin-bottom: 5%;
}
.Q,.A{
    display: flex;
    padding: 1rem;
    font-size: 2vw;
}
.Q p{
    color: #fff;
    margin-top: 1rem;
}
#Q-img,#A-img{
    width: 5vw;
    height: 5vw;
    margin-right: 1rem;
}
.A{
    background-color: white;
    height: auto;
}

/*event*/
#no-ready{
    width: 100%;
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
#construction{
    width: 50%;
    height: auto;
    margin: 0 auto;
}
#thanks{
    background-image: url('../img/sora.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: -10%;
    width: 100%;
    height: 80vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 10%;

}
#thanks p{
    font-size: 2vw;
    width: 100%;
    height: auto;
    text-align: center;
    background-color: white;
    border: dashed 0.5vw #FFAE89;
}
#thanks img{
    width: 20%;
    height: auto;
    margin: 0 auto;
}
/* スマホ用レスポンシブ */
@media (max-width: 765px) {
#pc{
    display: none;
}
#mobile{
    display: block;
    position: fixed;
}
#mobile-btn{
    display: flex;
    width: 20%;
    height: auto;
    position: absolute;
    top: 17%;
    right: 15%;
    gap: 0;
}
#mobile-btn img{
    width: 80%;
    height: auto;
}
button{
    all:unset;
}
#menu-close{
    position: absolute;
    font-size: 2rem;
    margin-left: 5%;
}
.menu{
    position: absolute;
    top: 0;
    background-color:#00E3FF;;
    width: 100%;
    height: 100vh;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    z-index: 9999;
}
.menu.menu-active{
    transform: translateY(0);
}
.navigation__list {
    position: absolute;
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
  background-color: #00E3FF;
  font-size: 1.5rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
}
.navigation__list-item {
  border-bottom: solid 2px #fff;
}
.navigation__link,#menu-close {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  display: block;
  padding: 0.25rem 0;
}

.slide-container{
    height: 100vh;
}
.slide-content img{
    width: 95%;
}
.slide-prev{
    left: 3%;
    top: 50%;
}
.slide-next{
    right: 3%;
    top: 50%;
}
#greeting-content{
    margin-top: 5%;
}
#greeting-message{
    padding: 0.75rem;
    border-radius: 0.5rem;
}
#life-content{
    width: 95%;
    height: 100vh;
}
#life-message{
    width: 37.5%;
    top: 45vh;
    font-size: 0.75rem;
    right: 7%;
}
#bg-blue{
    margin-top: 10%;
    height: 70px;
}
#facility-content{
    border-radius: 0.5rem;
    padding: 0.5rem;
}
#hope-base,#osanagou-base{
    border-radius: 0.5rem;
    padding: 0.25rem;
    display: flex;
    flex-direction: column;
}
.facility-img{
    width: 100%;
    height: auto;
}
#hope-title,#osanagou-title{
    font-size: 1.5rem;
}
#hope-text,#osanagou-text{
    font-size: 1rem;
}
#hope-content{
    width: 100%;
    height: auto;
}
#osanagou-content{
    width: 100%;
    height: auto;
    padding-top: 0.25rem;
}
#space{
    height: 200px;
}
#sns-icon{
    width: 90%;
}
#sns-icon p{
    font-size: 0.5rem;
}
#pc-footer{
    display: none;
}
#mobile-footer{
    display: flex;
    width: 100%;
    height: auto;
    padding-bottom: 0.5rem;
}
#f-left{
    display: flex;
    width: 45%;
    height: auto;
    padding-left: 0.5rem;
    margin-right: 0.75rem;
    align-items: center;
}
.f-logo{
    display: flex;
    flex-direction: column;
    width: 50%;
    height: auto;
}
#f-npo img{
    width: 60%;
    height:auto;
    margin: 0 auto;
    padding-bottom: 0.25rem;
}
#f-home img{
    width: 80%;
    height:auto;
    margin: 0 auto;
    margin-top: 0.25rem;
    padding-bottom: 0.25rem;
}
#m-logo-mini{
    font-size: 0.4rem;
    text-align: center;
}
#m-home-name{
    font-size: 0.75rem;
    text-align: center;
}
#f-npo p{
    font-size: 0.75rem;
    text-align: center;
}
#f-right{
    display: flex;
    flex-direction: column;
    width: 50%;
    height: auto;
}
#f-up{
    display: flex;
    gap: 0.5rem
}
.m-footer-box{
    width: 50%;
    display: flex;
    flex-direction: column;
    margin-bottom: 0.5rem;
    padding-bottom:0.25rem;
}
.m-facility-name{
    font-size: 0.75rem;
}
.m-post,.m-address,.m-tel{
    font-size: 0.5rem;
}
.m-tel a{
    color: white;
    pointer-events: none;
    text-decoration: none;
}
.m-mail{
    font-size: 0.35rem;
}
#f-down p{
    font-size: 0.5rem;
    text-align: center;
}
/*info*/
  .form-row {
    flex-direction: column; /* 縦並び */
  }

  label {
    width: 100%;
    text-align: left;
  }

  input, textarea {
    width: 100%;
  }
/*service*/
#yourself h1,#life-smile h1,#everyday h1{
    font-size: 1.2rem!important;
}
#yourself p,#life-smile p,#everyday p{
    font-size: 0.75rem!important;
    padding: 0!important;
    text-align: center;
}
.service-text{
    padding: 0.25rem!important;
}
.m-br{
    display: block;
}
#life-smile h1{
    padding-bottom: 0;
}
.down-top,.service-content{
    width: 100%;
    height: 85vh;
    position: relative;
}
.down-top img{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.service-content img{
    width: 100%;
    height: auto;
    display: inline-block;

}
.service-content{
    display: flex;
    flex-direction: column;
    padding-top: 20%;
}
.service-wrapper{
    width: 100%;
    height: auto;
    margin: 5% 0;
    display: flex;
    flex-direction: row;
    position: relative;
}
.illustration, #hoppu1,#hoppu2,#hoppu3{
    position: absolute;
    width: 30%;
    height: auto;
    z-index: 15;
}
#your-self p{
   text-align: left;
}
.service-text {
    width: 70%;
    position: relative;
    top: 0;
    background-color: none;
    margin: 0;
}
#lifesmile-wrapper{
    display: flex;
    flex-direction: row-reverse;
    align-items: baseline;
}
#life-smile{
    position: absolute;
    top: 50%;
    right: 0;
}
.illustration.active{
    opacity: 1;
    transform: translateY(30%);
}
#hoppu1,#hoppu3{
    right: 0;
}
#hoppu3{
    top: 25%;
}
#service4{
    display: flex;
    align-items: center;
    justify-content: center;
}
#service4-text h1{
    padding-bottom: 0.25rem;
}
/*intro*/
#intro1{
    border-radius: 1rem;
}
.slide-title{
    margin-top: 5%;
    margin-bottom: 0.25rem;
}
.hope-indicator,.o-indicator{
    column-gap: 0.25rem;
    padding: 0;
}
.hope-indicator li,.o-indicator li{
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    border: 0.05rem solid #000;
}
.hopeSlide-container,.oSlide-container{
    width: 80%;
}
.hope-prev,.o-prev{
    width: 1rem;
    height: 1rem;
    border-top: solid 0.2rem #fe9271;
    border-right: solid 0.2rem #fe9271;
}
.hope-next,.o-next{
    width: 1rem;
    height: 1rem;
    border-top: solid 0.2rem #fe9271;
    border-right: solid 0.2rem #fe9271;
}
.hope-prev,.hope-next{
    top: 40%;
}
.osanagou-wrapper{
    padding-bottom: 5%;
}
#hope-intro,#osanagou-intro{
    border-radius: 1rem;
    padding: 0.25rem;
}
.intro-title{
    font-size: 1.5rem;
    padding-top: 5%;
    padding-bottom: 0.5rem;
}
.intro-text{
    font-size: 1rem;
}
.intro-list{
    font-size: 0.75rem;
    padding-left: 1.25rem;
}
.intro-access{
    padding-right: 1rem;
    font-size: 0.75rem;
}
.map-content{
    display: flex;
    flex-direction: column;
}
.map-content iframe{
    width: 90%;
    height: auto;
    padding-bottom: 1rem;
}
.map-content p{
    font-size: 1rem;
    border-radius: 0.25rem;
    width: 90%;
    height: auto;
}
/*info*/
#form-title{
    margin-bottom: 5%;
    font-size: 1.5rem;
}
#form-text{
    margin: 0 auto;
    width: 90%;
    font-size: 1rem;
}
.send-button{
    font-size: 1.5rem;
}
#info-tel{
    padding-top: 10%;
}
#tel-icon{
    width: 40%;
    height: auto;
    margin-bottom: 10%;
}
.tel-number{
    width: 100%;
    height: auto;
    font-size: 1.5rem;
    text-align: center;
}
#question{
    margin-top: 15%;
    padding-top: 10%;
}
.question-container{
    border-radius: 0.5rem;
    border: 0.1rem solid white;
}
.Q,.A{
    padding: 0.25rem;
    display: flex;
    align-items: center;
    font-size: 1rem;
    height: auto;
}
.Q p{
    margin-top: 0;
}
#thanks{
    padding-top: 30%;
}
#thanks p{
    font-size: 1rem;
}
}