@charset "UTF-8";
.yu-tate-border {
  font-size: 16px;
  font-feature-settings: "palt";
}
.yu-tate-border::after {
  content: "｜";
}

.jikimaru {
  font-size:16px;
  color: #5F8FA3;
}
.jikisankaku {
  font-size:16px;
  color: #6B4E71;
}
.dinks-idea-box img {
  border-radius: 0.2rem;
}
.choudoyoi-pc img {
  border-radius: 0.2rem;
}
.just-right-plan.morning {
  color: #D4A24C;
  border-left: 2px solid #D4A24C;
  padding-left: 8px;
}
.just-right-plan.noon {
  color: #5F8FA3;
  border-left: 2px solid #9BB7C6;
  padding-left: 8px;
}
.just-right-plan.night {
  color: #6B4E71;
  border-left: 2px solid #B5A6C9;
  padding-left: 8px;
}
.dinksarea p {
  font-size:13px;	
}
.introduce-pic1 {
    width: 600px;
    height: 760px;
    object-fit: cover;
    object-position: 50% 100%;
}
.introduce-pic2 {
    width: 600px;
    height: 480px;
    object-fit: cover;
    object-position: 50% 100%;
}
.dinks-sec-title {
  font-size:32px;	
}

.col1 {
  width:30%;
}
.col2 {
  width:50%;
}
.col3 {
  width:20%;
}
.choudoyoi__sec .col1 {
  z-index: -10;
  top: -400px;
  position: relative;
  width: 30%;	
}
.choudoyoi__sec .col2 {
  width: 40%;
}
.choudoyoi__sec .col3 {
  width: 30%;
  z-index: -10;
}
.choudoyoi__sec .col4 {
  width: 30%;
  top: 900px;
  position: absolute;
  z-index: -10;
}

.text-wrap {
  margin: 0 auto;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  -ms-grid-row-align: center;
  align-self: center;
  box-sizing: border-box;
padding-left: 180px;
}
.dinks-note {
    vertical-align: top;
    margin-top: 20px;
    position: relative;
    padding: 2px 20px;
}
.dinks-note:before,.dinks-note:after {
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    position: absolute;
    top: 0;
    border: 1px solid #aaa;
}
.dinks-note:before {
    left: 0;
    border-right: 0;
}
.dinks-note:after {
    right: 0;
    border-left: 0;
}
.dinks-img {
        background: url(/common/images/uploads/2025/11/a556a4902f92bc88d78576fd0de52922.webp);
        background-size: 100%;
        padding: 0px 0;
        min-width: 100%;
        max-width: 1000px;
        display: inline-block;
        background-color: rgba(0, 0, 0, .35);
        background-blend-mode: multiply;
        background-position: 100% 100%;
        background-attachment: fixed;
	    height: 100%;
    }

.dinks-head {
  color:#fff;	
}
.dinks-head-inner:first-child {
  font-size:18px;		
}
.dinksarea .dinks-copy {
  font-size:38px;
  line-height: 1.8;
}
.dinks-head h1 {
    font-size: 18px;
    font-feature-settings: "palt";
}
.dinks-head-inner {
  position: absolute;
  top: 360px;
  right: 100px;
}
.dinks-head-lead  {
  font-size: clamp(.8rem, 1.25vw, 1rem);
}
.dinks-media-inner{
  display: flex;
  align-items: self-end;
}
.dinks-media-inner img {
  width: 80px;
}

.sayu-border {
    position: relative;
    display: inline-block;
    padding: 0 10px;
}


.sayu-border:before,
.sayu-border:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 6px;
    height: 1px;
    background-color: #666;
}

.sayu-border:before {
    left: 0;
}

.sayu-border:after {
    right: 0;
}
.just-right-grid {
  display: grid;
  gap: 40px;
  margin: 0 auto;
}
.just-right-grid-box {
  background-color:#f7f6f5e8;
  padding:3% 20%;
  margin:0 auto;
  border-radius: 0.2rem;
  margin-left: -40px;
  margin-right: -40px;
}
.dinks-just-right-item {
  font-size: 24px;
  text-align: center;
  line-height: 1.9;
}

.dinks-newlyweds-and-secondlife {
    text-align: center;
    padding: 20px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    border-top: 1px solid #333;
}


.dinks-newlyweds-and-secondlife-title-icon {
  position:absolute;
    top: 60px;
    left: -26px;
}
.dinks-newlyweds-and-secondlife-title-icon img {
  width:90px;
}
	
.dinks-jirei-item {
  font-size: 20px;
  line-height: 1.9;
}
.before-after-txt {
  position:relative;
margin: 7vh 0 2vh;	
}
.num {
font-size: 60px;
    position: absolute;
    color: #d2b48c;
    top: -90px;
	margin: 0 auto;
    display: block;
    width: 100%;
}
.dinks-idea-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  display: grid;
  width: 1080px;
  margin: 0 auto;
}
.dinks-idea-box {
  background-color:#fff;
  padding:5%;
  margin:0 auto;
}
.dinks-idea-box h3 {
  font-size:17px;
  margin-bottom:10px;
}
.background-white {
  background-color:#fff;
}



.radius20 {
  border-radius: 20px;
}
.just-right-n {
  font-size: 60px;
  line-height: 1.0;
  color:#d2b48c;
}
.just-right-plan {
  font-size: 28px;
  line-height: 1.0;
}
.just-right-indent {
  margin-bottom: 8px;
  padding-left: 2em;
  text-align: left;
}


.background-mokomoko {
    align-content: center;
    align-items: center;
    background: #ede8d46e;
    border-radius: 100px;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
    justify-content: center;
    margin: 0 auto;
    mix-blend-mode: normal;
    padding: 120px 0px;
    position: relative;
    width: 1080px;
    z-index: 0;
}





/* ----- 全体レイアウト ----- */
.ba-section {
  background-color: #f7f6f5;
  padding: 120px 20px;
  color: #28323a;
}

.ba-inner {
  width: 1080px;       /* 指定の幅 */
  margin: 0 auto;
  background: #fff;	
border-radius: 0.2rem;
	padding: 120px 0px;
}

.ba-title {
  font-size: 26px;
  margin-bottom: 32px;
  text-align: left;
}

/* ----- 3カラム構成：左ラベル30% + Before + After ----- */
.ba-row {
  display: grid;
  grid-template-columns: 24% 1fr 1fr;
  gap: 20px;
  padding: 24px 0;
  max-width: 880px;
    margin: 0 auto;
}

.ba-text-wrap h4 {
  font-size: 16px;
  font-family: "noto sans jp", "futura-pt", "游ゴシック体", YuGothic, "Yu Gothic Medium", "メイリオ", "Meiryo", "sans-serif"!important;
  margin-bottom: 10px;
}
.ba-text-wrap 


/* ----- Before/After 共通 ----- */
.ba-col {
  padding: 10px;
}

.ba-col img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}

/* Before：左側 */
.ba-before {
 padding: 10px;
  position:relative;
}

/* After：背景を少し明るく */
.ba-after {
  border-radius: 0.2rem;
padding: 10px;
  position:relative;
}

/* ----- テキスト ----- */
.ba-list {
  list-style: disc;
  margin: 0;
  line-height: 1.7;
}
.ba-list li {
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
  font-size: 13px;
}



  /* 
.ba-col.ba-before::after {
  content: "";
  position: absolute;
  right: -22px;
  top: 40%;
  transform: translateY(-50%);

  width: 0;
  height: 0;

  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 20px solid #ccc;
  border-bottom-left-radius: 6px;
z-index: 1;
}
 */
.ba-col.ba-before::after {
  position: absolute;
  top: calc(50% - 130px);
  right: -20px;
  content: "";
  width: 16px;
  height: 100%;
  background: url(/common/images/uploads/2025/12/arrow.png) no-repeat;
  background-size: contain;
}

/* 画像のアスペクト比を3:4に統一 */
.ba-img-wrap {
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 0.2rem;
  background: #f2f2f2;
}

.ba-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* この設定で比率が違っても綺麗に収まる */
}
.ba-text-wrap {
  padding:5%;	
}



.ba-image-label {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255, 255, 255, 0.92);
  color: #fff;
  padding: 4px 10px;
  font-size: 14px;
  border-radius: 0.2rem;
  letter-spacing: 0.5px;
}

/* Before と After で色を変えるなら */
.ba-col.ba-before .ba-image-label {
  background: #a2a2a275; /* ナチュラル系のくすみブルー */
}

.ba-col.ba-after .ba-image-label {
  background: #d2b48c; /* グリーン系アクセント */
}
.choudoyoiimg {
  width:98%;
}
.top__sec {
  position:relative;
}
.gallery__sec{
  position:relative;	
}
@media (min-width: 640px)  {

.top__sec:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background-color: #f7f6f5;
  border-radius: 0.2rem 0 0 0.2rem;
	
  width: 64%;
  height: 80%;
  top: 13%;
  right: 0;
}


	
.gallery-left__sec:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background-color: #f7f6f5;
left: 16%;
        border-radius: 0.2rem;
        width: 44%;
        height: 84%;
        top: 18%;
}	
.gallery-right__sec:before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  background-color: #f7f6f5;
        border-radius: 0.2rem;
	
        width: 44%;
  height: 84%;
        top: 18%;
  right:16%;
}	
.col2txt {
    padding-top: 50px;
    padding-left: 50px;
}
.asahiruyoru {
  position:relative;
  top:-0.25rem;
}
.choudoyoi-pc {
  display:none;
}
.dinks-copy-en img {
  width: 440px;
  position: relative;
  left: -470px;
  position: absolute;
  top: 270px;
}
	
}	


@media (max-width: 639px) {
.timing {
  padding: 7vw;		
}
.top__sec:before {
        content: "";
        display: block;
        position: absolute;
        z-index: -1;
        background-color: #f7f6f5;
        border-radius: 0.2rem 0 0 0.2rem;
        width: 64%;
        height: 80%;
        top: 13%;
        right: 0;
    }
	
.dinks-copy-en img {
    position: relative;
    top: 0;
    left: 0;
    width: 50%;
}
.choudoyoi-sp {
  display:none;
}

.asahiruyoru {
  position:relative;
  top:-10px;
}
.dinksarea p {
  font-size:13px;
text-align: left;
}
.dinksarea .dinks-copy {
  text-align: center;
}
.dinksarea .before-after-txt {
  text-align:center;	
}
.dinksarea .ba-label {
	text-align:center;	
}
.just-right-indent {
  margin-bottom: 8px;
  text-indent: -5em;
  padding-left: 5em;
text-align: left;
}
.dinks-copy .dinks-copy {
  font-size: 5vh;
	text-align:center;
}
	
.dinks-head-lead {
  text-align:left;
  width: 70%;
  margin: 0 auto;
  letter-spacing: 0px;
}	
.choudoyoiimg {
  width:100%;
}	
.background-mokomoko {
  width:100%;
  border-radius: 60px;
  padding: 60px 20px;
}
.just-right-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    width: 100%;
}
.just-right-grid-box {
  width:100%;
  padding: 10% 10%;
  margin: 0 auto;
}
.dinks-newlyweds-and-secondlife-title-icon {
  top: -28px;
}
.dinks-newlyweds-and-secondlife-title-icon img {
  width:80px;		
}	
	
.ba-col.ba-before::after {
  transform: rotate(90deg) translateX(25px);
  top: calc(100% - -130px);
  content: "";
  width: 100%;
  height: 31px;
  background: url(/common/images/uploads/2025/12/arrow.png) no-repeat;
	left: 0%;
}
.dinks-idea-grid {
  width:100%;
}
.secondlife-title-icon img {
  width: 90px;
	}
.dinks-img {
  background: url(/common/images/uploads/2025/11/a556a4902f92bc88d78576fd0de52922.webp);
  background-position: 43% 50%;
  height: 730px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-repeat: no-repeat;
  background-size: auto 115%;
  background-color: rgba(0, 0, 0, .35);
	        background-blend-mode: multiply;
}
.dinks-head-inner {
    position: relative;
    top: 0;
    right: 0;
}
.dinks-media-inner{
  display: flex;
  align-items: self-start;
}
	
	
	
	
.ba-inner {
  width: 100%;
  border-radius: 0.2rem;
  padding: 30px 0px;
}

  .ba-row {
    grid-template-columns: 1fr;
  }

  .ba-label h3 {
    padding-bottom: 8px;
    margin-bottom: 12px;
  }

  .ba-before {
    border-right: none;
    margin-bottom: 16px;
  }
.dinks-sec-title {
    font-size: 22px;
    text-align: left;
}
.col2txt {
    padding-top: 0px;
    padding-left: 0px;
}
.col1 {
   display:none;
}
	

.text-wrap {
   padding: 7vw;
   letter-spacing: 0px;	
}
.introduce-pic2 {
    width: 100%;
    height: auto;
}
	
	
}



:root{
  --brand:#c24c3d;
  --muted:#6b7a7f;
  --bg:#ffffff;
  --card-bg:#fff;
  --radius:40px;
}

/* wrapper */
.why-us { background:var(--bg); padding:48px 20px; }
.why-us .wrap { max-width:1080px; margin:0 auto; }
.why-us .lead { margin-bottom:60px; }

/* cards grid */
.why-us .cards { display:grid; gap:60px; align-items:stretch; }
.why-us .card { background:var(--card-bg);  display:flex; gap:12px;}
.why-us .card-icon { margin: 0 auto; padding-bottom: 10px; }
.why-us .card-title { font-size:22px; margin:0; text-align:left; position: relative; width: 40%;}
.why-us .card-body {
  width: 60%;
  border-bottom:1px solid #333;
}
.why-us .card-text {line-height:2.0; font-size:13px; }


.timing .cards { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; align-items:stretch; }
.timing .card { background:var(--card-bg); padding: 48px 26px; display:flex; flex-direction:column; align-items:flex-start; border-top: 1px solid #333; border-bottom: 1px solid #333; position: relative; gap: 0px; margin-bottom: 60px;}
.timing .card-icon { margin: 0 auto; padding-bottom: 10px;}
.timing .card-title { font-size:24px; margin:0; text-align:left; position: relative;min-height: 80px;line-height: 1.5;}
.timing .life-stage-sub { font-size:14px; font-weight:600; }
.timing .card-text {font-size:13px; }
.timing .life-stage-list { font-size:13px; }
.timing .life-stage-recommend  {
	margin-top: 1.2em;
    padding: 0.4em 0.8em;
    display: inline-block;
    font-size: 0.85rem;
    border-radius: 999px;
    letter-spacing: 0.05em;
    background-color: rgba(120, 90, 60, 0.08);
    color: var(--brand-color);
    border: 1px solid rgba(0, 0, 0, 0.05);
    white-space: nowrap;
}

/* responsive */
@media (max-width:900px) {
  .cards { grid-template-columns: repeat(2,1fr); }
}
@media (max-width:600px) {
.cards, .timing .cards  { grid-template-columns: 1fr; }
.why-us { padding:32px 16px; }
.why-us .card {display: grid;}
.why-us .card-title { font-size:22px; margin:0; text-align:left; position: relative; width: 100%;}
.why-us .card-body {
  width: 100%;
  border-bottom:1px solid #333;
}
}



.beforeafter-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.05rem;
  text-align:left;
}

.beforeafter-label {
  font-size: 0.75rem;
  padding: 2px 8px;
  letter-spacing: 0.05em;
  border-top: 1px solid;
  border-bottom: 1px solid;
  line-height: 40px;
}

.before .beforeafter-label {

}

.after .beforeafter-label {

}