*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:"Noto Serif JP",serif;line-height:1.6;color:#333;overflow-x:hidden}a{color:inherit;text-decoration:none;-webkit-transition:opacity .3s;transition:opacity .3s}body.active{overflow:hidden}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}ol,ul{padding:0}blockquote,body,dd,dl,figure,h1,h2,h3,h4,ol,p,ul{margin:0}html{scroll-behavior:smooth}body{line-height:1.5;min-height:100vh;text-rendering:optimizeSpeed}ol,ul{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img{display:block;max-width:100%;width:100%}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}img:not([alt]){filter:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');-webkit-filter:blur(10px);filter:blur(10px)}button,input,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:0 0;border:none;border-radius:0;font:inherit;outline:0}textarea{resize:vertical}input[type=checkbox],input[type=radio]{display:none}button,input[type=button],input[type=submit],label,select{cursor:pointer}select::-ms-expand{display:none}address{font-style:normal}.sp{display:none}.pc{display:block}.main{position:relative}.bg-image-box{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.title{position:absolute;top:49.5%;left:50.7%;transform:translate(-50%,-50%);font-size:60px;font-weight:700;letter-spacing:.3em;color:#fff;text-shadow:0 0 6px rgba(0,0,0,.5);z-index:1;opacity:0;filter:blur(14px);will-change:opacity,filter,transform}.wrapper{display:block;width:100%;height:100vh;z-index:-1}.bg-images{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden;background-color:#1a1a1a}.bg-images img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transform:scale(1.1)}.js-trigger{overflow:hidden}.bg-image-box--feature{clip-path:inset(0% 0% 0% 0%)}.bg-image-box--access,.bg-image-box--equipment,.bg-image-box--plan{clip-path:inset(100% 0% 0% 0%)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.header{position:fixed;top:10px;right:20px;z-index:100}.header__nav-list{display:flex;padding:7px 37px;background-color:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:25px;gap:19px}.header__nav-link{font-size:16px;line-height:2.5;letter-spacing:.2em;font-weight:700}.header__nav-tel-link{font-size:30px;line-height:1.3333;letter-spacing:.05em;font-weight:700}.hero-section{position:relative;height:100vh;overflow:hidden}.hero-slider{width:100%;height:100vh;overflow:hidden}.hero-slider .swiper-slide{height:100vh;position:relative;overflow:hidden}.hero-slider .swiper-slide picture{display:block;width:100%;height:100%}.hero-slider .swiper-slide img{width:100%;height:100%;object-fit:cover;will-change:transform}.hero-logo{position:absolute;top:54.7%;left:49.8%;transform:translate(-50%,-50%);z-index:10}.hero-logo-image{width:265px}.about{position:relative;background:#f1f2ee;padding:95px 0 149px}.about__titles{text-align:center}.about__en_title{font-size:20px;font-weight:500;letter-spacing:.3em}.about__ja_title{font-size:60px;font-weight:500;letter-spacing:.3em}.about__image-box01{width:80%;margin:43px auto 0;overflow:hidden}.about-slider{width:100%;overflow:hidden}.about-slider .swiper-slide{position:relative;overflow:hidden}.about-slider .swiper-slide picture{display:block;width:100%;height:100%}.about-slider .swiper-slide img{width:100%;height:100%;object-fit:cover;will-change:transform}.about__text{text-align:center;font-size:clamp(14px, 1.272vw, 24px);font-weight:500;line-height:2.5;letter-spacing:.1em;margin-top:36px}.about__image-box02{display:flex;width:79%;margin:50px auto 0;gap:18px}.about__image-box02-item:first-child{width:40.5%}.about__image-box02-item:nth-child(2){width:58.5%}.feature{position:relative}.feature__content{background:#f1f2ee;padding:126px 0 126px}.feature__top{display:flex;align-items:center;justify-content:center;gap:61px}.feature__top-img-box{width:32.7%}.feature__top-text1,.feature__top-text2{font-size:36px;font-weight:500;letter-spacing:.2em;writing-mode:vertical-rl;text-orientation:upright}.feature__top-text1{margin-top:-58px}.feature__top-text2{margin-top:-101px}.feature__middle{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:2.2222;text-align:center;margin-top:49px;letter-spacing:.1em}.feature__bottom{margin-top:129px;display:flex;justify-content:center;gap:45px}.feature__bottom-box{width:25.5%}.feature__bottom-img{width:100%}.feature__bottom-title{font-size:clamp(14px, 2.2275vw, 32px);font-weight:500;line-height:1.428571;letter-spacing:.1em;margin-top:20px}.feature__bottom-text{font-size:clamp(14px, 1.431vw, 21px);font-weight:500;line-height:1.65;letter-spacing:.1em;margin-top:19px;font-feature-settings:"palt";text-align:justify}.plan__content{background:#f1f2ee;padding:126px 0 52px}.plan__content-item-img{width:89%;margin:0 auto}.plan__content-title{font-size:40px;font-weight:500;letter-spacing:.1em;margin-top:67px;text-align:center}.plan__content-text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:2.22222;letter-spacing:.1em;text-align:center;margin-top:70px}.plan__residence{margin-top:128px;padding:34px 40px 92px 23px}.residence{position:relative;width:83.5%;max-width:1400px;margin:128px auto;background:#fff}.residence::before{content:"";position:absolute;left:0;height:102px}.residence--01::before{top:-76px;width:520px;background-image:url("/nanzanreibi/images/first_residence.png")}.residence--02::before{top:-76px;width:646px;background-image:url("/nanzanreibi/images/second_residence.png")}.residence--03::before{top:-76px;width:552px;background-image:url("/nanzanreibi/images/third_residence.png")}.residence--04::before{top:-76px;width:552px;background-image:url("/nanzanreibi/images/east_residence.png")}.residence--05::before{top:-76px;width:593px;background-image:url("/nanzanreibi/images/south_residence.png")}.residence__title-box{display:flex;justify-content:space-between}.residence__number-01{width:109px}.residence__number-02{width:113px}.residence__number-03{width:113px}.residence__number-04{width:115px}.residence__number-05{width:113px}.residence__point-number{font-size:40px;background:linear-gradient(to right,#fff4d9,#d9bd6a);-webkit-background-clip:text;background-clip:text;color:transparent}.residence__title{font-size:24px;font-weight:500;line-height:1.25;letter-spacing:.1em;text-align:right}.residence__title>span{display:block;font-size:36px;letter-spacing:.1em}.residence__desk{display:flex;margin-top:21px;gap:26px}.residence__desk-img{width:64%}.residence__desk-text{width:33%;margin-top:24px;font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:1.6666;letter-spacing:.1em;text-align:justify;font-feature-settings:"palt"}.residence__point-box{width:87%;margin:75px auto 0;position:relative}.residence__point-box::before{content:"Point";position:absolute;top:-49px;right:-62px;letter-spacing:.1em;font-size:66px;background:linear-gradient(to left,#fff4d9,#d9bd6a);-webkit-background-clip:text;background-clip:text;color:transparent}.residence__point-item{position:relative;padding:42px 0 33px}.residence__point-item::before{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(to left,#fff4d9,#d9bd6a)}.residence__point-item:first-child{padding-top:0}.residence__point-item-text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:1.6666;letter-spacing:.1em}.residence__image{width:90%;margin:84px auto 0}.equipment__content{background:#f1f2ee;padding:171px 0 69px}.equipment__title{display:block;font-size:40px;font-weight:500;letter-spacing:.2em;text-align:center}.equipment__img-box{width:70%;margin:50px auto 0;display:flex;gap:60px}.equipment__img-box-item:first-child{width:46.5%}.equipment__img-box-item:nth-child(2){width:46.5%}.equipment__text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:2.22222;letter-spacing:.1em;text-align:center;margin-top:55px}.equipment__image{width:80%;margin:61px auto 0}.equipment__secom{background:#fff;width:91.5%;margin:120px auto;padding:82px 0 115px}.secom__title{display:block;font-size:40px;font-weight:500;letter-spacing:.2em;text-align:center}.secom__text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:2.22222;letter-spacing:.1em;text-align:center;margin-top:49px}.secom__container{display:flex;justify-content:center;gap:45px;margin-top:59px}.secom__box{width:28%}.secom__box-title{display:block;font-size:clamp(14px, 2.2275vw, 32px);font-weight:500;line-height:1.428571;letter-spacing:.1em;margin-top:30px}.secom__box-text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:1.65;letter-spacing:.1em;text-align:justify;margin-top:23px;font-feature-settings:"palt"}.access__inner{background:#e7ede8}.access__content{width:79.5%;margin:0 auto;padding:88px 0 123px}.access__sub-title{display:block;font-size:40px;font-weight:500;letter-spacing:.2em;text-align:center;margin-top:40px}.access__text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:1.66666;letter-spacing:.2em;text-align:center;margin-top:43px}.access__img-box{display:flex;gap:13px;margin-top:56px}.access__img-box-item:first-child{width:58.5%}.access__img-box-item:nth-child(2){width:40%}.access__google-map{position:relative;width:100%;padding-top:47.25%;height:0;margin-top:89px}.access__google-map iframe{position:absolute;top:0;left:0;width:100%;height:100%}.access__logo{width:265px;margin:55px auto 0}.access__address{margin-top:20px}.access__address-text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:1.66666;letter-spacing:.2em;text-align:center}.contact{background:#8f9c90}.contact__container{width:79.5%;max-width:1000px;margin:0 auto;padding:102px 0 123px}.contact__title{font-size:40px;font-weight:500;letter-spacing:.2em;text-align:center;color:#fff}.contact__text{font-size:clamp(14px, 1.431vw, 24px);font-weight:500;line-height:2.77777;letter-spacing:.2em;text-align:center;margin-top:36px;color:#fff}.contact__boxes{display:flex;justify-content:space-between;margin-top:65px}.contact__box{padding:43px 30px 73px;background:#e7ede8;width:44%;max-width:440px}.contact__sub-title{font-size:clamp(16px, 2.2275vw, 28px);font-weight:500;line-height:1.428571;letter-spacing:.1em;margin-top:30px;text-align:center}.contact__sub-title{font-size:clamp(18px, 1.431vw, 28px);font-weight:500;letter-spacing:.2em;text-align:center}.contact__sub-text{font-size:clamp(18px, 1.431vw, 18px);font-weight:500;letter-spacing:.2em;text-align:center;display:block}.contact__tel{font-size:clamp(30px, 2.2275vw, 44px);font-weight:500;letter-spacing:.1em;margin-top:37px;display:block;text-align:center}.contact__mail{color:#e7ede8;background:#333;border-radius:31px;padding:10px 20px;display:block;text-align:center;margin-top:40px;font-size:clamp(22px, 1.431vw, 28px);font-weight:500;letter-spacing:.2em}.contact__note{font-size:14px;font-weight:500;letter-spacing:.2em;text-align:center;margin-top:15px}.contact__logo{width:265px;margin:97px auto 0}.hamburger{display:none}.header__sp-buttons{display:none}.header__contact-btn{display:none}@media screen and (max-width:750px){.header{top:4px;right:5px}.header__container{position:relative}.header__sp-buttons{display:flex;align-items:center;gap:10px;position:relative;z-index:1002}.header__contact-btn{display:flex;align-items:center;justify-content:center;padding:7px 26px;background-color:#8f9c90;color:#fff;font-size:16px;font-weight:700;letter-spacing:.05em;border-radius:25px;white-space:nowrap;z-index:110;transition:opacity .3s ease}.header__contact-btn:hover{opacity:.8}.hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;background-color:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50%;cursor:pointer;z-index:110;position:relative;gap:8px;transition:background-color .3s ease}.hamburger__line{display:block;width:20px;height:2px;background-color:#8f9c90;transition:transform .3s ease,opacity .3s ease,background-color .3s ease}.hamburger.is-active{background-color:#8f9c90;-webkit-backdrop-filter:none;backdrop-filter:none}.hamburger.is-active .hamburger__line{background-color:#fff}.hamburger.is-active .hamburger__line:first-child{transform:translateY(5px) rotate(45deg)}.hamburger.is-active .hamburger__line:nth-child(2){transform:translateY(-5px) rotate(-45deg)}.header__nav{position:fixed;top:0;right:0;width:auto;height:auto;display:block;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header__nav.is-active{opacity:1;visibility:visible}.header__nav-list{position:relative;display:flex;flex-direction:column;padding:68px 78px 45px 82px;background-color:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px 0 0 20px;gap:0;transform:translateY(-10px);opacity:0;transition:transform .3s ease,opacity .3s ease}.header__nav-list::before{content:"";position:absolute;top:47%;left:23px;transform:translateY(-50%);width:20px;height:131px;background-image:url("/nanzanreibi/images/sp/hamburger_logo.png");background-size:contain;background-repeat:no-repeat;background-position:center}.header__nav.is-active .header__nav-list{transform:translateY(0);opacity:1}.header__nav-link{font-size:16px;line-height:40px;letter-spacing:.2em;font-weight:700}.header__nav-item--tel{display:none}.header__nav-tel-link{font-size:24px;line-height:1.5;letter-spacing:.05em;font-weight:700;margin-top:10px}.header__nav::before{display:none}.sp{display:block}.pc{display:none}.title{font-size:max(9.6vw, 36px);white-space:nowrap}.about{padding:55px 0 78px}.about__en_title{font-size:max(3.2vw, 12px);letter-spacing:.3em}.about__ja_title{font-size:max(9.6vw, 36px);letter-spacing:.3em}.about__image-box01{width:94%;margin:29px auto 0}.about__text{font-size:max(3.46vw, 13px);line-height:2.6153;margin-top:29px}.about__image-box02{display:flex;flex-direction:column;gap:23px;margin:39px auto 0;width:94%}.about__image-box02-item:first-child{width:68%;margin:0 auto}.about__image-box02-item:nth-child(2){width:100%}.feature__content{padding:63px 0 126px}.feature__top{gap:5px}.feature__top-img-box{width:54.7%}.feature__top-text1{font-size:max(5.333vw, 20px);margin-top:0}.feature__top-text2{font-size:max(5.333vw, 20px);margin-top:0}.feature__middle{font-size:max(3.46vw, 13px);line-height:2.6153;margin-top:39px}.feature__bottom{flex-direction:column;gap:52px;margin-top:48px}.feature__bottom-box{width:91%;margin:0 auto}.feature__bottom-img{width:56%;margin:0 auto}.feature__bottom-title{font-size:max(4.8vw, 18px);line-height:1.88888;text-align:center;margin-top:17px}.feature__bottom-text{font-size:max(3.46vw, 13px);line-height:2;margin-top:13px}.plan__content{padding:49px 0 52px}.plan__content-item-img{width:93%}.plan__content-title{font-size:max(7.466vw, 29px);line-height:1.285;margin-top:40px;letter-spacing:.1em}.plan__content-text{font-size:max(3.46vw, 13px);line-height:2.6153;margin-top:47px}.plan__residence{padding:28px 10px 58px 7px}.plan__residence:last-child{margin-bottom:0}.residence{width:92.5%;margin:100px auto}.residence::before{top:-41px;left:50%;transform:translateX(-50%)}.residence--01::before{width:261px;height:52px;background-image:url("/nanzanreibi/images/sp/first_residence.png")}.residence--02::before{width:323px;height:52px;background-image:url("/nanzanreibi/images/sp/second_residence.png")}.residence--03::before{width:276px;height:52px;background-image:url("/nanzanreibi/images/sp/third_residence.png")}.residence--04::before{width:279px;height:52px;background-image:url("/nanzanreibi/images/sp/east_residence.png")}.residence--05::before{width:297px;height:52px;background-image:url("/nanzanreibi/images/sp/south_residence.png")}.residence__title-box{flex-direction:column;align-items:center;gap:18px}.residence__number-01{width:45px}.residence__number-02{width:46px}.residence__number-03{width:46px}.residence__number-04{width:47px}.residence__number-05{width:46px}.residence__title{font-size:max(4vw, 15px)}.residence__title>span{font-size:max(5.76vw, 21.6px);margin-top:6px}.residence__desk{flex-direction:column;gap:24px}.residence__desk-img{width:100%}.residence__desk-text{width:100%;margin-top:21px;font-size:max(3.46vw, 13px);line-height:2;margin-top:0;padding:0 13px}.residence__point-box{width:92%;margin:80px auto 0}.residence__point-box::before{font-size:max(8vw, 30px);top:-31px;right:initial;left:50%;transform:translate(-50%,-50%)}.residence__point-item{padding:16px 0 20px}.residence__point-item-text{font-size:max(3.46vw, 13px);line-height:1.84615}.residence__image{width:100%;margin:39px auto 0}.equipment__content{padding:57px 0 2px}.equipment__title{font-size:max(7.466vw, 28px);line-height:1.285;letter-spacing:.2em}.equipment__img-box{width:90%;margin:37px auto 0;gap:21px}.equipment__text{font-size:max(3.46vw, 13px);line-height:1.8461;margin-top:34px}.equipment__image{width:89%;margin:25px auto 0}.equipment__secom{width:89.5%;margin:56px auto;padding:51px 0 56px}.secom__title{font-size:max(6.4vw, 24px);line-height:34px}.secom__text{font-size:max(3.46vw, 13px);line-height:24px;margin-top:36px}.secom__container{flex-direction:column;margin-top:50px;gap:64px}.secom__box{width:100%}.secom__box-img{width:57%;margin:0 auto}.secom__box-title{font-size:max(4.8vw, 18px);line-height:34px;text-align:center;margin-top:15px}.secom__box-text{font-size:max(3.46vw, 13px);line-height:26px;margin-top:11px;padding:0 16px}.access__inner{padding:59px 0 76px}.access__content{width:100%;padding:0}.access__image{width:89%;margin:0 auto}.access__sub-title{font-size:max(6.4vw, 24px);margin-top:58px}.access__text{font-size:max(3.46vw, 13px);line-height:34px;margin-top:21px}.access__img-box{flex-direction:column;gap:15px;margin-top:48px}.access__img-box-item:first-child{width:88%;margin:0 auto}.access__img-box-item:nth-child(2){width:67%;margin:0 auto}.access__google-map{margin:37px auto 0;width:90%;padding-top:42.25%}.access__logo{width:159px;margin:69px auto 0}.access__address-text{font-size:max(3.46vw, 13px);margin-top:21px}.contact__container{padding:60px 0 123px;width:100%}.contact__title{font-size:max(6.4vw, 24px)}.contact__text{font-size:max(3.46vw, 13px);line-height:34px;margin-top:25px}.contact__boxes{flex-direction:column-reverse;gap:28px;width:71%;margin:38px auto 0}.contact__box{width:100%;max-width:100%;padding:2px 0 47px}.contact__sub-title{font-size:max(4.8vw, 18px)}.contact__sub-text{font-size:max(3.46vw, 13px)}.contact__tel{font-size:max(7.4666vw, 28px);margin-top:16px}.contact__mail{font-size:max(4.4799vw, 16.8px);margin:28px auto 0;width:85%;padding:5px}.contact__note{font-size:max(2.2399vw, 8.4px);margin-top:12px}.contact__logo{width:159px;margin:47px auto 0}}

.pc-only{display: block;}
.sp-only{display: none;}

/* Hero section background to prevent flash of bg-images during load */
.hero-section{background-color:#1a1a1a;}

.title img {
    position :static;
    width: 100%;
    height: 50px;
}
.title--plan img {
    height: 80px;
}
.header__nav-link{
	letter-spacing: 0em;
}

.equipment__img-box-item:nth-child(3){
	width: 46.5%;
}


@media screen and (max-width:750px){
	.pc-only{display: none;}
	.sp-only{display: block;}

	.title img {
	    width: 100%;
	}
	.hero-section{height:50vh;}
	.hero-slider .swiper-slide picture{height: 50%;}
    .title {
        font-size: max(9.6vw, 36px);
        white-space: nowrap;
    }
    .bg-images img.section-bg-image{
    	top: 25%;
    	bottom: 0;
    	margin: auto 0;
    }
    .plan__content-item-img {
        width: 100%;
    }
}


/* =========================================
   LP用 お問い合わせフォーム CSS (整理済み)
   ========================================= */

/* --- 1. 既存スタイルの調整・上書き --- */
.contact__boxes {
  display: block;
}

.contact__boxes input[type=checkbox],
.contact__boxes input[type=radio] {
  display: inline;
}

.contact__box {
  width: 100%;
  max-width: 1000px;
  margin: 20px auto;
}

.contact__tel {
  font-size: 44px;
  margin-top: 0;
}


/* --- 2. フォームエリアの基本レイアウト --- */
.contact-form-section {
  max-width: 640px; /* PCレイアウト時の基準幅は下部のメディアクエリで上書きされます */
  margin: 0 auto;
  padding: 40px 20px;
}

.lp-form {
  display: flex;
  flex-direction: column;
  gap: 24px; /* 各項目の間隔 */
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


/* --- 3. テキスト・ラベル設定 --- */
.form-label {
  font-weight: bold;
  font-size: 14px;
  color: #333;
}

.required {
  background: #ff4d4f; /* 必須バッジの色 */
  color: #fff;
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 8px;
  vertical-align: middle;
}


/* --- 4. 入力エリア（共通設定） --- */
.form-input,
.form-textarea {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #f9f9f9;
  box-sizing: border-box;
  transition: border-color 0.3s;
  /* iOS等での見た目リセット */
  appearance: none; 
  -webkit-appearance: none;
}

.form-input {
  height: 50px; /* 高さ揃え */
}

.form-textarea {
  height: 160px;
  resize: vertical;
  line-height: 1.6;
}

/* 入力中のフォーカス色 */
.form-input:focus,
.form-textarea:focus {
  outline: none;
  border-color: #007bff; /* ★必要に応じてメインカラーに変更してください */
  background: #fff;
}


/* --- 5. 各パーツの固有設定（日時・ラジオ・チェックボックス） --- */

/* 日時選択のレイアウト */
.datetime-row {
  display: flex;
  gap: 10px;
}

.datetime-row .form-input {
  width: 50%;
  background-color: #fff;
  cursor: pointer;
}

/* ラジオボタン・チェックボックスの並び */
.radio-group {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.radio-label,
.checkbox-label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 15px;
}

.radio-text,
.checkbox-text {
  margin-left: 6px;
}

.checkbox-center {
  align-items: center;
  margin-top: 10px;
}

/* ★重要：リセットCSSによる非表示を強制解除する設定 */
.lp-form input[type="checkbox"],
.lp-form input[type="radio"] {
  display: inline-block !important;
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: auto !important;
  height: auto !important;
  margin-right: 6px;
}


/* --- 6. 送信ボタン --- */
.form-submit {
  text-align: center;
  margin-top: 24px;
}

.submit-btn {
  width: 100%;
  max-width: 320px;
  padding: 16px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  background: #333; /* 黒色（変更済み） */
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: opacity 0.3s;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

.submit-btn:hover {
  opacity: 0.85;
}


/* =========================================
   レスポンシブ設定
   ========================================= */

/* --- スマホ表示（768px以下） --- */
@media (max-width: 768px) {
  .contact-form-section {
    padding: 20px 15px;
  }
  
  /* 日時選択を縦並びに */
  .datetime-row {
    flex-direction: column;
  }
  .datetime-row .form-input {
    width: 100%;
  }
}

/* --- PC表示（751px以上）：横並びレイアウト --- */
@media screen and (min-width: 751px) {
  
  /* フォーム幅を広げる */
  .contact-form-section {
    max-width: 900px; 
  }

  /* 項目名と入力欄を横並びに */
  .form-group {
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eee; /* 区切り線 */
  }

  /* 最後の項目の線と余白を削除 */
  .form-group:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }

  /* 左側：項目名の設定 */
  .form-label {
    width: 240px;
    flex-shrink: 0;
    padding-top: 15px; /* 右側と高さを合わせる */
    font-size: 16px;
  }

  /* 右側：入力エリアを広げる */
  .form-input,
  .form-textarea,
  .datetime-row,
  .radio-group {
    flex: 1;
    width: auto;
  }

  /* プライバシーポリシーは中央寄せのまま */
  .form-group.checkbox-center {
    justify-content: center;
    border-bottom: none;
    padding-top: 10px;
  }
  
  /* 必須バッジを右寄せ */
  .required {
    float: right;
    margin-right: 10px;
  }
}

/* Picture要素をブロック化して、レイアウト崩れと不要な余白を防ぐ */
.bg-images picture {
  display: block;
  width: 100%;
  height: 100%;
}

.plan__content-item-img picture {
  display: block;
}

