@charset "UTF-8";

body{
	font-family:  "Zen Maru Gothic","Helvetica", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo", ＭＳ Ｐゴシック, MS PGothic, sans-serif;
	background-color:#fffaf8;
}
img{
	max-width: 100%;
	vertical-align: middle;
	height: auto;
}
a{
	color: #e60012;
	text-decoration: none;
}
a:hover{
	text-decoration: none;
}

p{
	line-height: 160%;
	color: #602c00;
}

li {
	color: #686868;
}

.mtop0 { margin-top: 0!important; }
.mtop5 { margin-top: 5px; }
.mtop10 { margin-top: 10px; }
.mtop15 { margin-top: 15px; }
.mtop20 { margin-top: 20px; }
.mtop25 { margin-top: 25px; }
.mtop30 { margin-top: 30px; }
.mtop35 { margin-top: 35px; }
.mtop40 { margin-top: 40px; }
.mtop50 { margin-top: 50px; }
.mtop60 { margin-top: 60px; }
.mtop70 { margin-top: 70px; }
.mtop100 { margin-top: 100px; }


.mbtm0 { margin-bottom: 0; }
.mbtm5 { margin-bottom: 5px; }
.mbtm10 { margin-bottom: 10px; }
.mbtm15 { margin-bottom: 15px; }
.mbtm20 { margin-bottom: 20px; }
.mbtm25 { margin-bottom: 25px; }
.mbtm30 { margin-bottom: 30px; }
.mbtm35 { margin-bottom: 35px; }
.mbtm40 { margin-bottom: 40px; }
.mbtm50 { margin-bottom: 50px; }
.mbtm60 { margin-bottom: 60px; }
.mbtm70 { margin-bottom: 70px; }
.mbtm100 { margin-bottom: 100px; }


@media screen and (max-width: 900px) {
  .mtop25 { margin-top: 4%; }
  .mtop30 { margin-top: 5%; }
  .mtop40 { margin-top: 6%; }
  .mtop50 { margin-top: 7%; }
  .mtop60 { margin-top: 10%; }
  .mtop70 { margin-top: 12%; }  
  .mtop100 { margin-top: 15%; }


  .mbtm15 { margin-bottom: 10px; }
  
  .mbtm25 { margin-bottom: 4%; }
  .mbtm30 { margin-bottom: 5%; }
  .mbtm40 { margin-bottom: 6%; }
  .mbtm50 { margin-bottom: 7%; }
  .mbtm60 { margin-bottom: 10%; }
  .mbtm70 { margin-bottom: 12%; }
  .mbtm100 { margin-bottom: 15%; }
  

}



/*----------------------------------------
	フォント
----------------------------------------*/
.f10 { font-size: 10px; line-height: 140%;}
.f11 { font-size: 11px; line-height: 140%;}
.f12 { font-size: 12px; line-height: 160%;}
.f13 { font-size: 13px; line-height: 160%;}
.f14 { font-size: 14px; line-height: 160%;}
.f15 { font-size: 15px; line-height: 160%;}
.f16 { font-size: 16px; line-height: 160%;}
.f18 { font-size: 18px; line-height: 160%;}
.f20 { font-size: 20px; line-height: 160%;}
.f24 { font-size: 24px; line-height: 160%;}

.f30 { font-size: 30px; line-height: 140%;}


@media screen and (max-width: 900px) {
  .f18 { font-size: 17px; line-height: 160%;}
  .f30 { font-size: 26px; line-height: 140%;}
}

@media screen and (max-width: 750px) {
  .f13 { font-size: 11px; line-height: 160%;}
  .f14 { font-size: 12px; line-height: 160%;}
  .f15 { font-size: 13px; line-height: 160%;}
  .f16 { font-size: 14px; line-height: 160%;}
  .f18 { font-size: 16px; line-height: 160%;}
  .f20 { font-size: 18px; line-height: 160%;}
  .f24 { font-size: 20px; line-height: 160%;}
  
  
  .f30 { font-size: 24px; line-height: 140%;}  
	p {
		font-size: 15px;
	}
}


@media screen and (max-width: 480px) {
  .f30 { font-size: 22px; line-height: 140%;}  
	p {
		font-size: 14px;
	}
}

.spbr {display: none;}

@media screen and (max-width: 480px) {
	.spbr {display: block;}
    .pcbr {display: none;}
}


/*---------------------------
ファーストビュー
-----------------------------*/

header {
	position: relative;
}
.fv-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    aspect-ratio: 192 /93; 
}
.fv-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1; 
}
.fv-bg img{
	width:100%;
}


.fv-inner {
    margin: 1% auto 0;
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center; 
    width: 80%;
    padding: 0 8%;
    box-sizing: border-box;
}

.title-area {
    flex: 1.2;
    display: flex;
    flex-direction: column; 
    align-items: center; 
    z-index: 2;
}

.title-flag {
    width: 100%;
    margin-bottom: -70px; 
    position: relative;
    z-index: 1;
}
.main-title{
   z-index: 2;
}
.title-image {
    width: 100%;
    position: relative;
}

.product-area {
    flex: 0.7;
}

/* =========================================
   アニメーション設定
   ========================================= */
.fadedown,
.fadein {
    opacity: 0;
}
.fadein{
    animation: fadeIn 1s ease forwards;
}
.fadedown{
    animation: fadeInDown 0.8s ease forwards;
}
.main-title.fadein{    
    animation-delay: 0.4s; 
}
.product-image.fadein {
    animation-delay: 0.2s;
}
.title-flag.fadedown {
    animation-delay: 1.2s; 
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-40px); /* 上から下へ移動する距離 */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media screen and (max-width: 1100px) {

    .product-area {
    transform: translateY(10px);
}
    .title-flag {
    margin-bottom: -30px; 
}
}
@media (max-width: 480px) {
    .fv-wrap {
        aspect-ratio: 800 /1420; 
    }
    .fv-bg picture,
    .fv-bg img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .fv-inner {
        flex-direction: column-reverse; 
        justify-content: center;
        padding: 40px 20px; 
        width: 100%;
        margin-top: 20px;
    }
    .product-area {
        width: 70%;
        justify-content: center; 
         margin-bottom: 15px;
    transform: translateY(-50px);
}
    .title-area {
        width: 100%;
        bottom: -8%;
        position: absolute;
    }
    .title-flag {
        margin-bottom: -40px;
}
}





/*-------------------------
about 
--------------------------*/

  .about {
	width: 100%;
	display: flex;
	align-items: center;
	margin: 100px 0 0;
	flex-direction: column;
  }
  
  .about__inner {
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5%;
	padding:0 5rem;
  }
  
  .about__image{
	width: 45%;
  }

  
  .about__image img {
	width: 100%;
	height: auto;
	display: block;
  }
  
  .about__content {
	width: 45%;
  }
  
  .about__title img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 24px;
  }
  
  .about__text {
	font-size: 1.7rem;
	line-height: 2;
	color: #602c00;
	margin-bottom: 32px;
	/*font-weight: bold;*/
  }
  
    .about-btn {
    max-width: 400px;
    height: 6.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6rem;
    gap: 5rem;
    border-radius: 999rem;
    background-color: #8b4d24;
    color: #ffffff;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease, opacity 0.2s ease;
  }

  .about-btn__label{
	font-size: 2.2rem;
    letter-spacing: 0.2rem;
    font-weight: bold;
  }
  
  .about-btn__icon {
	font-size: 2.2rem;
	margin-bottom: 5px;
	transition: transform 0.3s ease;
  }
  
  .about-btn:hover {
	background-color: #ff8b91;   /* 薄いピンク */
  }
  
  .about-btn:hover .about-btn__icon {
	transform: translateX(0.4rem);
  }
  
  .about-btn:active {
	background-color: #f7c3d1;   /* 濃いピンク */
	transform: translateY(0.1rem);
  }
  
  .about-btn:focus-visible {
	outline: 0.2rem solid #e15486;
	outline-offset: 0.2rem;
  }

  .company{
/* position: relative; */
	/* display: flex; */
	justify-content: center;
	width: 100%;
	background: #4e7747;
	padding: 5% 3% 0;
      border-bottom: 20px solid #6b3200;
	} 

  .company__ttl{
      text-align: center;
      margin-bottom: 30px;
}

   .company__box{
	max-width: 75%;
	 margin: 0 auto; 
	padding: 80px;
	display: flex;
	justify-content: center;
	gap: 5%;
	background-color: #FFF;
    position: relative;
       align-items: center;
	}
.company__box::before,
.company__box::after {
  content: "";
  position: absolute;
  top: 12px; 
  width: 20px; 
  height: 20px; 
  border-radius: 50%;
  background-color: #9EBDC8;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25), inset -1px -1px 2px rgba(0, 0, 0, 0.2);
  z-index: 1;
}
.company__box::before {
  left: 12px;
}
.company__box::after {
  right: 12px;
}


  .company_txtbox{
	width: 500px;
  }

  .company_pic img{
	border-radius: 20px;
      min-width: 250px;
  }
  
  .company_txtbox p {
	font-size: 1.8rem;
	line-height: 2.2;
	font-weight: bold;
  }

  .company_txtbox img {
    max-width: 180px;
  }

.kokuban{
    margin-top: 30px;
    text-align: end;
}

  .mani {
	width: 100%;
	overflow: hidden;
  }

  
  .mani_img {
	width: 1920px;
	max-width: none;
	height: auto;
	display: block;
	margin: 0 auto;   /* 中央固定でトリミング */
  }
  @media screen and (min-width: 1920px) {
	.mani_img {
	  width: 100%;
	}
  }
@media screen and (max-width: 1200px) {
.company__box{
padding: 40px;
	max-width: 95%;
	}
      .company_txtbox img {
    max-width: 120px;
          width: 50%;
  }
    .company_txtbox p {
	font-size: 1.5rem;
	line-height: 2;
  }
}

  @media screen and (max-width: 768px) {
	.about__inner {
	  flex-direction: column;
	  gap: 40px;
	  padding: 0;
	  margin: 0;
	}

	.about__content{
		width: 90%;
		display: flex;
		flex-direction: column;
	}
  
	.about__image {
	  width: 65%;
	}
  
	.about__title img {
	  margin: 0 auto 20px;
	  width: 100%;
	}
  
	.about__text {
	  font-size: 2rem;
	}
  
	.about-btn {
	  margin: 0 auto;
     max-width:  40rem;
    width: 100%;
    height: 5.5rem;
	 padding-left: 3rem;
	 gap: 2rem;
	}


	.company__ttl{
		width: 80%;
		margin: 10px auto 30px;
	}

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

	.company_pic img{
		margin-top: 30px;
	}

	.company__box{
		margin: 0;
		max-width: none;
		flex-direction: column;
		align-items: center;
		padding: 30px;
	}

	.company_txtbox{
		margin-top: 30px;
		display: flex;
		flex-direction: column;
		width: 100%;
	}
      .kokuban img{
          max-width: 50%;
      }
      
  }

  @media screen and (max-width: 480px) {

	.about__inner{
		padding: 0;
		margin-top: -50px;
	}


	.about__text{
		font-size: 1.4rem;
	}

	.company__ttl{
		width: 80%;
	}



	.about-btn__label{
		font-size: 1.8rem;
	}

  }

/*--------------------------------
detail 
---------------------------------*/

.detail {
	position: relative;

}

.inner {
	padding: 100px 0 120px;
}

.section-title {
	text-align: center;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

.section-title img {
	
}

.inner-content {
	max-width: 1080px;
	width: 90vw;
	margin: 60px auto 0;
}

.detail-list {
    gap: 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.detail-item {
	width: 47%;
}

.detail-item p {
	margin-top: 15px;
	line-height: 180%;
	text-align: center;
	font-size: 1.8rem;
}

@media screen and (max-width: 770px) {
	.inner {
		padding: 50px 0 60px;
	}
	
	.inner-content {
		width: 90vw;
		margin-top: 0;
	}
	
	.section-title {
		padding-top: 65px;
	}
	
    .section-title img {
    width: 50%;
	}
	
	.section-title::before {
		content: "";
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		height: 55px;
		background-position: center center;
	}

	.section-title::after {
		content: none;
	}
	.detail-list {
    gap: 20px;

}
	.detail-item {
		width: 45%
	}
	
	.detail-item p {
		font-size: 1.6rem;
		text-align: left;
		padding-left: 10px;
	}
}
@media screen and (max-width: 480px) {
	
	.inner {
		padding: 0px 0 60px;
	}
	
	.inner-content {
		width: 90vw;
		margin-top: 25px;
	}
	
	.section-title {
		padding-top: 100px;
	}
	
	.section-title img {
        width: 60%;
	}
	
	.section-title::before {
		content: "";
		top: 0;
		height: 55px;
		width: 100%;
		background-position: center;
	}

	.section-title::after {
		content: none;
	}
	
	.detail-item {
		width: 100%
	}
	
	.detail-item p {
		font-size: 14px;
		text-align: left;
		padding-left: 15px;
        margin-top: 5px;
	}
}




/*--------------------------------
sample
---------------------------------*/

.color {
	background-image: none, url("image/bg_pattern.jpg");
	margin-top: -100px;
    background-repeat: repeat;
	background-position: center top;
	background-size:auto;
}
.color .section-title {
    margin-top: 100px;
}

 .tape-wrapper {
    position: absolute;
    top: -70px;
    left: 50%;
    transform: translateX(-50%);
    width: 180px; 
    z-index: 10;
  }
.tape-svg {
    width: 100%;
    height: auto;
    display: block;
  }
  .tape-pink { fill: #f7cddf; }
  .tape-purple { fill: #c3baf4; } 
  .tape-yellow { fill: #f8f0a0; } 
  .tape-blue { fill: #80d8ff; }
  .tape-green { fill: #bae59e; } 


  .product-list {
    max-width: 90%;
    width: 900px;
    margin: 60px auto 0;
    display: flex;
    flex-direction: column;
    gap: 80px; 
  }
  .product-card {
    background-color: #fff;
    box-shadow: 0 4px 10px rgba(156,173,172,0.7);
    position: relative;
    padding: 40px 80px;
    display: flex;
    align-items: center;
    gap: 40px;
  }

  .product-content {
    flex: 1;
  }
.product-content p{
    font-size: 1.8rem;
    margin-top: 10px;
}
  .product-image {
    flex: 1;
    text-align: center;
  }
  
  .product-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .product-card:nth-child(even) {
    flex-direction: row-reverse;
  }

  @media (max-width: 768px) {
    .product-card,
    .product-card:nth-child(even) {
      padding: 30px;
      gap: 20px;
        margin: 0 auto;
    }
}
  @media (max-width: 480px) {
    .product-card,
    .product-card:nth-child(even) {
      flex-direction: column;
        padding: 30px 70px;
    }

    .product-image {
      order: 1; 
    }
    
    .product-content {
      order: 2; 
      text-align: center;
    }
  }





@media screen and (max-width: 768px) {

.color .section-title img {
   width: 90%;
}
	.detail .inner-content {
		width: 90vw;
		margin-top: 40px;
	}
}
@media screen and (max-width: 480px) {
    .color {
	margin-top: -180px;
}
}

/*--------------------------------
simulator 
---------------------------------*/

.simulator {
	text-align: center;
    padding: 120px 0;
	background-color: #fff5e5;
}

.sim_box {
    max-width: 960px;
    width: 90%;
    margin: 0 auto;
}
.sim_box_inner {
    background-color: #fff;
    padding: 7% 20% 7%;
    border-radius: 20px;
}
.sim_box_inner a {
	transition: all 0.2s ease;
}
.sim_box_inner a:hover {
	opacity: 0.7;
}

@media screen and (max-width: 770px) {
	.simulator {
		padding: 10% 0 15%;
	}
	.sim_box_inner {
		padding: 10% 10%;
	}
}

@media screen and (max-width: 480px) {
	.simulator {
		padding: 10% 0 18%;
	}
}



/*--------------------------------
order 
---------------------------------*/

.order{
    background-image: repeating-linear-gradient(90deg, #9ec9cbd1, #9ec9cbd1 35px, #bddbda 35px, #bddbda 70px);
    padding: 4% 0;
}

.order-inner {
    margin:0 auto;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center; 
    width: 58%;
    padding: 3% 6%;
    box-sizing: border-box;
    border: 2px solid #796149;
    background: #fffaf8;
}
 .order-btn {
    max-width: 300px;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999rem;
    background-color: #ff8b91;
    color: #ffffff;
    text-decoration: none;
    border: none;
    cursor: pointer;
     margin: 0 auto;
    transition: background-color 0.3s ease, transform 0.2s ease, opacity 0.2s ease;
  }

  .order-btn__label{
	font-size: 2rem;
    letter-spacing: 0.2rem;
    font-weight: bold;
  }
  
  .order-btn__icon {
	font-size: 2.2rem;
	margin-bottom: 5px;
	transition: transform 0.3s ease;
  }
  
  .order-btn:hover {
	background-color: #ffc7cc; 
  }
  
  .order-btn:hover .order-btn__icon {
	transform: translateX(0.4rem);
  }
  
  .order-btn:active {
	transform: translateY(0.1rem);
  }
  
  .order-btn:focus-visible {
	outline: 0.2rem solid #e15486;
	outline-offset: 0.2rem;
  }

@media screen and (max-width: 768px) {
    .order{
    background-image: repeating-linear-gradient(90deg, #9ec9cbd1, #9ec9cbd1 25px, #bddbda 25px, #bddbda 50px);
        padding:13% 0;
    }
    .order-inner{
        width: 78%;
        flex-direction:column-reverse;
        padding: 0;
    }
    .order-title-area{
	transform: translateY(-12%);
        z-index: 5;
    }
    .order-product-area{
        transform: translateY(-18%);
    }
}


@media screen and (max-width: 480px) {
      .order-btn__label{
	font-size: 1.7rem;
    }
    .order-btn{
        height: 4.4rem;
        width: 90%;
    }
}



/*--------------------------------
attention 
---------------------------------*/


.bottom-content__wrapper {
    background-color: #fff5e5;

    padding-top: 100px;
}

.attention .inner {
	padding-top: 32px;
}

.attention .inner-content {
	margin-top: 0;
}

.attention-title{
	display: flex;
	justify-content: center;
}

.attention-list li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 160%;
	margin-bottom: 18px;
	font-size: 1.6rem;
	font-weight: 500;
	color: #8b4710;
}

.share-btn {
    margin: 4% auto 0;
    text-align: center;
    max-width: 273px;
    padding-bottom: 4%;
}

.share-btn a:hover {
	opacity: 0.7;
}

.share-btn img {
	filter: drop-shadow(0 0 3px white) drop-shadow(0 0 10px white);
}

.attention .inner {
	padding-bottom: 24px;
}

@media screen and (max-width: 820px) {
	.attention-title {
		margin-top: 30px;
		width: 40%;
	}
	
	.share-btn img {
		width: 80%;
	}
}

@media screen and (max-width: 770px) {
	
	.attention .inner {
		padding-top: 100px;
	}
	
	.attention-title {
		width: 50%;
	}

	.share-btn {
		margin-top: 15%;
	}
}

@media screen and (max-width: 480px) {
	
	.attention .inner {
		padding-top: 32px;
	}
	
	
	.attention-title {
		width: 40%;
	}
	
	.attention-list li {
		margin-bottom: 14px;
        	font-size: 14px;
	}

	.share-btn {
		margin-top: 0;
	}
	
	.share-btn img {
		width: 80%;
	}

	.bottom-content__wrapper{
		padding-bottom: 0;
	}
}





/*--------------------------------
footer 
---------------------------------*/

footer {
	background: #8b4710;
}

.footer-inner {
	padding: 60px 0;
}

.footer-logo {
	margin: 0 auto;
	max-width: 160px;
} 

.copyright {
	background:#42210b;
    color: #FFF;
    text-align: center;
    padding: 20px;
    line-height: 160%;
}






/*--------------------------------
予約
---------------------------------*/

.reserve-txt {
	line-height: 180%;
	margin-bottom: 30px;
}

.reserve-txt-container {
	width: 90%;
	margin: 48px 0 0;
}

.attention.reserve {
	position: relative;
}

.attention.reserve .inner {
	padding-bottom: 32px;
}

@media screen and (max-width: 770px) {

	.bottom-content__wrapper{
		margin-top: 0;
	}

	.attention.reserve .attention-title {
		width: 70%;
	}
	
	.attention.reserve {
		background-position: center;
	}
	
	/* .attention.reserve {
		background: #fff;
		background-image: none, url("img/reserve/ushiro2.png");
		background-size: 50%;
		background-repeat: no-repeat;
		background-position: left, bottom right;
	} */
	
	.reserve-txt-container {
		width: 90%;
		margin: 40px auto 0;
	}
	
	.reserve-txt {
		line-height: 180%;
		margin-bottom: 00px;
	}

	.bottom-content__wrapper {
        padding-bottom: 15px;
        background-position: bottom center;
        padding-top: 0;
    }
}


.sim-btn__label{
	font-size: 2.2rem;
    letter-spacing: 0.2rem;
    font-weight: bold;
  }
  
  .sim-btn__icon {
	font-size: 2.2rem;
	margin-bottom: 5px;
	transition: transform 0.3s ease;
  }


.sim-btn {
	 width: 40rem;
	 height: 7.5rem;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 padding-left: 10rem;
	 gap: 8rem;
	 border-radius: 999rem;
	 color: #9ec9cb;
	 text-decoration: none;
	 border: 2px solid #9ec9cb;
	 margin: 0 auto;

}

.sim-btn:hover {
	color: #fff;
	background: #9ec9cb;
	transition: 0.3s;
}

@media screen and (max-width: 770px) {
	.sim-btn {
		border: 1px solid #9ec9cb;
        max-width:  40rem;
        width: 100%;
         height: 5.5rem;
	 padding-left: 3rem;
	 gap: 2rem;
	}
    .sim-btn__label{
	font-size: 1.8rem;
  }
}

/* =========================================
   Coming soon
   ========================================= */
  .about-btn, .order-btn {
	  pointer-events: none !important;
  }
  




/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-30px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
}
.scroll_left.on {
    opacity: 1.0;
    filter: alpha(opacity=100);
    -moz-opacity: 1.0;
    transform: translateX(0);
}