@charset "utf-8";

html {font-size: 16px;}
img {vertical-align: middle;}
body {
	color: #424242;
	/* font-family: YakuHanJP_Noto, 'Noto Sans JP', sans-serif; */
/*font-family: 'Noto Sans JP', sans-serif;
font-family: 'Roboto Condensed', sans-serif;
*/
font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-kerning: normal; 
	font-feature-settings: "kern" 1, "palt" 1; 
}

:root{
  --jp-sans: "Yu Gothic Medium", "Yu Gothic", YuGothic,
             "Hiragino Kaku Gothic ProN", "Hiragino Sans",
             Meiryo, "メイリオ", sans-serif;
  --jp-sans-bold: "Yu Gothic", YuGothic,
                  "Hiragino Kaku Gothic ProN", "Hiragino Sans",
                  Meiryo, "メイリオ", sans-serif;
}

/* 2) 本文＝Mediumをデフォルトに */
html, body{
  font-family: var(--jp-sans);
  font-weight: 500;                  /* Medium相当 */
  -webkit-text-size-adjust: 100%;
  /* （任意）見た目を少し滑らかにしたい時↓ */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-synthesis: none;              /* 疑似ボールド/イタリックを禁止 */
}

/* 3) 見出しはBoldで */
h1, h2, h3, h4, h5, h6, strong, b{
  font-family: var(--jp-sans-bold);  /* Boldが素直に出る側を優先 */
  font-weight: 700;
}
.outer_max {min-width: 1320px;margin: 0 auto;}
.w1080 {width: 1100px;margin: 0 auto;padding: 0 10px;}
.w1160 {width: 1180px;margin: 0 auto;padding: 0 10px;}
a {transition: opacity 0.2s;will-change: contents;}
a:hover {opacity: 0.8;}
.spview {display: none;}
.pcview {display: block;}

@media screen and (max-width:750px) {
html {font-size: 3.2vw;}
.outer_max {width: 100%;min-width: unset;}
.w1080 {width: 100%;padding: 0 6vw;}
.w1160 {width: 100%;padding: 0 6vw;}
.spview {display: block;}
.pcview {display: none;}
}


/*header*/

header div div {display: flex;align-items: flex-start;}
header h1 {flex:1;}
header h1 span{display: none;}

header.front{position:absolute;top:0;left:0;z-index: 999;width:100%;}
header.front h1{padding-top:50px;}
header.front h1 img.front_logo{width: 150px;}
header.front h1 img.sub_logo{display:none;}

header:not(.front){position:fixed;top:0;left:0;z-index: 999;width:100%;background:rgba(252,252,252,0.4);}
header:not(.front) h1{padding-top:1.5em;padding-bottom:1.5em;}
header:not(.front) h1 img.front_logo{display:none;}
header:not(.front) h1 img.sub_logo{width: 240px;}

header ul:not(.menu){display: flex;
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'slnt' 0;
	padding-top:50px;margin-right:20px;color: #fff;}
header ul:not(.menu) li{padding:13px 22px;position: relative;}
header ul:not(.menu) li a{display:block;font-weight: 500;}
header ul:not(.menu) li a:hover{text-decoration: underline;}
header .reserve_btn{font-family: 'Roboto Condensed', sans-serif;}
header .reserve_btn a{display:block;padding:12px 35px;border:1px solid #424242;font-weight: 500;transition: background 0.3s;}
header .reserve_btn a:hover{background:rgba(255, 255, 255, 0.4);opacity:1;}
header.front ul:not(.menu){padding-top:40px;}
header:not(.front) ul:not(.menu){padding: 1.5em 0; color: #23b041;}
header:not(.front) .reserve_btn{padding-top:37px;}
header ul:not(.menu) ul{display:none;position: absolute;width: max-content;background:rgba(252,252,252,0.4);padding:20px 15px 0!important;top:90%;left:22px;}
header.front ul:not(.menu) ul{background:none;}
header ul:not(.menu) li:hover ul{display:block;}
header ul:not(.menu) li ul li{padding:0;font-size:14px;font-family: YakuHanJP_Noto,'Noto Sans JP', sans-serif;padding: 0 0 20px;}
header ul:not(.menu) li ul li a{display: block;}
@media screen and (max-width:750px) {
header div div {display: block;}

header.front{position:fixed;background:rgba(247,244,239,0.4);}
header.front h1 img.front_logo{display:none;}
header.front h1 img.sub_logo{display:block;width: 40vw;}
header.front h1{padding-top:15px;padding-bottom:15px;}
header:not(.front) h1 img.front_logo{display:none;}
header:not(.front) h1 img.sub_logo{width: 40vw;}
header:not(.front) h1{padding-top:15px;padding-bottom:15px;}
header ul:not(.menu){display: none;}
header .reserve_btn{display: none;}

}

/*pulldown navi*/
#sp_navi{display:none;position:fixed;top:0;width:100%;z-index:-1;background:rgba(255, 255, 255, 0.9);left:0;height:100vh;}
#pulldown_navi{height:100%;overflow-y:auto;padding:25vw 3vw 10vw;font-size:5vw;position: relative;}
#pulldown_navi ul{  color:#23a24d; font-size:clamp(22px,3.2vw,40px);
  font-size:clamp(18px,6vw,68px);
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 400;letter-spacing:.05em;margin-bottom:.4em;}
#pulldown_navi ul ul{font-family: 'Noto Sans JP', sans-serif;display: block;font-size:3.7vw;padding-top:0;margin-top:3vw;margin-bottom:7vw;font-weight: 400;}
#pulldown_navi ul.menu>li{margin-bottom:12vw;}

#sp_navi .info_navi{position: absolute;top:25vw;right:9vw;}
#sp_navi .info_navi p a{line-height:1;font-size:3vw;padding:0.7em 2em;border:1px solid #424242;letter-spacing: 0.04em;font-weight: 500;}

/*headerbtn menu*/
.headerbtn{display:none;position:absolute;top:50%;right:5vw;z-index:1;transform: translateY(-50%);}
#openbtn{border:none;outline:none;padding:0;margin:0;background:none;-webkit-appearance:none;appearance:none;border-radius:none;z-index:1;
-webkit-tap-highlight-color: rgba(0,0,0,0);font-family:inherit;cursor:pointer;box-sizing:content-box;height:8vw;width:10vw;}
#openbtn span{position:absolute;right:1vw;transform:rotate(0deg);transform-origin:center center;transition:0.2s;}
#openbtn span:nth-of-type(1),#openbtn span:nth-of-type(2),#openbtn span:nth-of-type(3){display:block;height:1px;width:7vw;border-radius:10px;background:#424242;}

#openbtn span:nth-of-type(1){top:1vw;}
#openbtn span:nth-of-type(2){top:calc(4vw - 1px);}
#openbtn span:nth-of-type(3){top:calc(7vw - 2px);}
@media only screen and (max-width: 750px) {
.headerbtn{display:block;}


}

/*footer*/
footer {padding-bottom:60px;}
footer >div>div{display:flex;padding:120px 0 80px;}
footer >div>div p{padding:0 20px;width:50%;}
footer >div>div p img{width:100%;border-radius:12px;}
footer >div>div p a{display: block;position: relative;}
footer >div>div p a span:nth-of-type(1){text-align: center;position: absolute;width: 100%;top:65px;left:0;font-family: 'Roboto Condensed', sans-serif;font-weight: 700;font-size: 42px;letter-spacing: 0.05em;}
footer >div>div p a span:nth-of-type(2){text-align: center;position: absolute;width: 100%;top:110px;left:0;font-size: 15px;font-weight: 500;}
footer .ninka{text-align: center;font-size: 14px;color:#fff;line-height:1.7;}
footer .copyright {text-align: center;font-size: 14px;color:#fff;margin-top:15px;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;}

@media screen and (max-width:750px) {
footer {padding-bottom:8vw;}
footer >div>div{display:block;padding:8vw 0 6vw;}
footer >div>div p{padding:0 3vw;width:100%;margin-bottom:8vw;}
footer >div>div p a span:nth-of-type(1){top:8vw;font-size: 9vw;}
footer >div>div p a span:nth-of-type(2){top:18vw;font-size: 3vw;}
}


#slider{height:100vh;}
@media screen and (max-width:750px) {
#slider{height:146vw;}
}

main{}

.more{font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.06em;font-weight: 700;font-size: 15px;}
.more a{padding-right:60px;display: inline-block;position: relative;}
.more a::after{content:"";display: block;position: absolute;top:0.45em;right:0;width:50px;height:1px;background:#424242;}
@media screen and (max-width:750px) {
.more{font-size: 4vw;}
.more a{padding-right:12vw;}
.more a::after{width:10vw;}
}

/*front_aboutus*/
.front_aboutus{position: relative;margin-top:125px;}
.front_aboutus .about_img1{width: 53%;position: absolute;top:0;left:0;}
.front_aboutus .about_img1 img{width: 100%;}
.front_aboutus .about_txt{position: absolute;left:50%;top:75px;z-index: 99;}
.front_aboutus .w1080{position: relative;height:680px;}
.front_aboutus .msg{position: absolute;right:10px;top:0;width: 420px;margin-top: 110px;}
.front_aboutus .title{font-size: 18px;font-weight: 500;letter-spacing: 0.04em;margin-bottom:20px;}
.front_aboutus .en{font-size: 16px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:40px;}
.front_aboutus .txt{font-size: 14px;letter-spacing: 0.04em;text-align: justify;line-height: 2.3;}
.front_aboutus .about_img2{position: absolute;left:10px;bottom:-70px;width:580px;}
.front_aboutus .about_img2 img{width: 100%;}
.front_aboutus .about_img3{width: 100%;}
.front_aboutus .about_img3 img{width: 100%;}
.front_aboutus .more{margin-top:70px;}

@media screen and (max-width:750px) {
.front_aboutus{margin-top:17vw;}
.front_aboutus .about_img1{width: 94vw;}
.front_aboutus .about_txt{left:0;top:-4vw;width: 18vw;}
.front_aboutus .about_txt img{width: 100%;}
.front_aboutus .w1080{height:170vw;}
.front_aboutus .msg{right:unset;left:26vw;top:50vw;width: 65vw;margin-top: 0;}
.front_aboutus .title{font-size: 4.8vw;margin-bottom:0.5em;line-height: 1.7;}
.front_aboutus .en{font-size: 3.2vw;margin-bottom:1.5em;}
.front_aboutus .txt{font-size: 3.2vw;line-height: 2;}
.front_aboutus .about_img2{left:26vw;bottom:-13vw;width:calc(100% - 26vw);}
.front_aboutus .about_img3{height:56vw;}
.front_aboutus .about_img3 img{width: 100%;height:100%;object-fit: cover;}
.front_aboutus .more{margin-top:7vw;}
}


.pricetable{width: 100%;font-size:13px;font-weight: 500;}
.pricetable th{text-align: left;}
.pricetable th,.pricetable td{border:1px solid #b8aea0;vertical-align: middle;padding-top:0.8em;padding-bottom:0.8em;}
.pricetable tr:first-child th,.pricetable tr:first-child td{border-top:none;}
.pricetable tr :first-child{border-left:none;}
.pricetable tr :last-child{border-right:none;}
.pricetable tr:last-child th,.pricetable tr:last-child td{border-bottom:none;}
.pricetable th[rowspan]{border-bottom: none;}
@media screen and (max-width:750px) {
.pricetable{font-size:2.6vw;}
}


/*front_trimming*/
.front_trimming{margin-top:120px;position: relative;min-height:600px;}
.front_trimming .img{position: absolute;width: 53%;top:0;right:0;}
.front_trimming .img img{width: 100%;height: 100%;max-height:470px;object-fit: cover;}
.front_trimming .inner{width: 405px;padding-bottom:90px;}
.front_trimming .title{font-size: 45px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:20px;}
.front_trimming .jp{font-size: 18px;font-weight: 500;margin-bottom:70px;}
.front_trimming .txt{font-size: 14px;letter-spacing: 0.04em;text-align: justify;line-height: 2.3;margin-bottom:30px;}
.front_trimming .more{margin-top:60px;}

.front_triming_table{}
.front_triming_table tr:first-child th{padding-left:1.5em;}
.front_triming_table td{padding-left:1.5em;}
@media screen and (max-width:750px) {
.front_trimming{margin-top:20vw;min-height:unset;}
.front_trimming .img{position: static;width: calc(100% - 12vw);margin:0 auto;}
.front_trimming .img img{max-height:unset;}
.front_trimming .inner{width: 100%;padding:0 3vw 0;}
.front_trimming .title{font-size: 9.6vw;text-align:center;margin-bottom:0.3em;margin-top:-0.5em;position: relative;z-index: 5;}
.front_trimming .jp{font-size: 3.4vw;margin-bottom:9vw;text-align:center;}
.front_trimming .txt{font-size: 3vw;line-height: 2;margin-bottom:9vw;}
.front_trimming .more{margin-top:9vw;}
}




/*front_olddoghome*/
.front_olddoghome{position: relative;min-height:600px;}
.front_olddoghome .img{position: absolute;width: 53%;top:0;left:0;}
.front_olddoghome .img img{width: 100%;height: 100%;max-height:470px;object-fit: cover;}
.front_olddoghome .w1080{display: flex;justify-content: flex-end;}
.front_olddoghome .inner{width: 405px;padding-bottom:90px;}
.front_olddoghome .title{font-size: 45px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:20px;}
.front_olddoghome .jp{font-size: 18px;font-weight: 500;margin-bottom:70px;}
.front_olddoghome .txt{font-size: 14px;letter-spacing: 0.04em;text-align: justify;line-height: 2.3;margin-bottom:30px;}
.front_olddoghome .more{margin-top:60px;}

.front_olddoghome_table{}
.front_olddoghome_table tr:first-child th{padding-left:0.5em;}
.front_olddoghome_table td{padding-left:0.5em;}
@media screen and (max-width:750px) {
.front_olddoghome{margin-top:20vw;min-height:unset;}
.front_olddoghome .img{position: static;width: calc(100% - 12vw);margin:0 auto;}
.front_olddoghome .img img{max-height:unset;}
.front_olddoghome .inner{width: 100%;padding:0 3vw 20vw;}
.front_olddoghome .title{font-size: 9.6vw;text-align:center;margin-bottom:0.3em;margin-top:-0.5em;position: relative;z-index: 5;}
.front_olddoghome .jp{font-size: 3.4vw;margin-bottom:9vw;text-align:center;}
.front_olddoghome .txt{font-size: 3vw;line-height: 2;margin-bottom:9vw;}
.front_olddoghome .more{margin-top:9vw;}
}

/*front_other_services*/
.front_other_services{padding-bottom:120px;}
.front_other_services>div{position: relative;}
.front_other_services .title{font-size:34px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:20px;font-weight: 700;}
.front_other_services .en{font-size: 15px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:70px;line-height: 1.7;}
.front_other_services .scroll{position: absolute;top:0;right:10px;}
.front_other_services .sc_wrap{overflow-y: hidden;padding-left:80px;}

.front_other_services .services_items{display:flex;width: max-content;height:100%;}
.front_other_services .item{width:400px;margin-right:80px;}
.front_other_services .item_img{width: 100%;margin-bottom:50px;}
.front_other_services .item_img img{width: 100%;}
.front_other_services .item_title{margin-bottom:20px;font-size: 18px;font-weight: 500;}
.front_other_services .item_en{margin-bottom:40px;font-size: 15px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;}
.front_other_services .item_txt{font-size: 14px;letter-spacing: 0.04em;text-align: justify;line-height: 2.3;margin-bottom:40px;}
.front_other_services .more{}
@media screen and (max-width:750px) {
.front_other_services{padding-bottom:20vw;}
.front_other_services .title{font-size:8vw;margin-bottom:4vw;text-align: center;}
.front_other_services .en{font-size: 3vw;margin-bottom:6vw;text-align: center;}
.front_other_services .scroll{position: static;text-align: right;margin-bottom:6vw;}
.front_other_services .sc_wrap{padding-left:10vw;margin:0 -6vw;padding-bottom:3vw;}
.front_other_services .item{width:60vw;margin-right: 10vw;}
.front_other_services .item_img{margin-bottom:8vw;}
.front_other_services .item_title{margin-bottom:3vw;font-size: 4.2vw;}
.front_other_services .item_en{margin-bottom:5vw;font-size: 3vw}
.front_other_services .item_txt{font-size: 3vw;line-height: 2;margin-bottom:8vw;}
}


/*front_instagram*/
.front_instagram{background:#f7f4ef;padding:120px 0 150px;}
.front_instagram>div{position: relative;}
.front_instagram .title{font-size:34px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:20px;font-weight: 700;}
.front_instagram .en{font-size: 15px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:80px;line-height: 1.7;}
.front_instagram .insta_more{position: absolute;top:0;right:10px;}
.front_instagram .insta_more a{display: block;padding:15px 40px;border:1px solid #b19d81;color:#b19d81;font-size:15px;}
.front_instagram .insta_photo{
padding:0 80px;
}
/*.front_instagram .insta_photo{padding:0 80px;display: flex;flex-wrap: wrap;justify-content: space-between;}*/
/*.front_instagram .insta_photo li{width:calc((100% - 3px) / 4);margin-bottom: 1px;}
.front_instagram .insta_photo li a{display: block;}
.front_instagram .insta_photo li img{width: 100%;}*/
@media screen and (max-width:750px) {
.front_instagram{padding:20vw 0 20vw;}
.front_instagram .title{font-size:8vw;margin-bottom:4vw;text-align: center;}
.front_instagram .en{font-size: 3vw;margin-bottom:6vw;text-align: center;}
.front_instagram .insta_more{position: static;text-align: center;margin-top:8vw;}
.front_instagram .insta_more a{display: inline-block;padding:1em 2.5em;font-size:3vw;}
.front_instagram .insta_photo{padding:0;}
/*.front_instagram .insta_photo li{width:calc((100% - 3px) / 3);}
.front_instagram .insta_photo li:nth-child(n+7){display: none;}*/
}


/*footer_info*/
.footer_info{}
.footer_info .map{padding-bottom:80px;}
.footer_info .map iframe{width: 100%;height:440px;}
.footer_info .shop_info{}
.footer_info .shop_info{position: relative;min-height:325px;}
.footer_info .shop_info .img{position: absolute;width: 53%;top:0;left:0;}
.footer_info .shop_info .img img{width: 100%;height: 100%;max-height:325px;object-fit: cover;}
.footer_info .shop_info .w1080{display: flex;justify-content: flex-end;}
.footer_info .shop_info .inner{width: 430px;}
.footer_info .shop_info .title{font-size: 18px;font-weight: 500;margin-bottom:40px;}
.footer_info .shop_info .txt{margin-bottom:1.5em;font-size: 14px;}
@media screen and (max-width:750px) {
.footer_info .map{padding-bottom:8vw;}
.footer_info .map iframe{height:65vw;}
.footer_info .shop_info{min-height:unset;}
.footer_info .shop_info .img{position: static;width: calc(100% + 6vw);margin-left: -6vw;margin-bottom: 6vw;}
.footer_info .shop_info .img img{max-height:unset;}
.footer_info .shop_info .w1080{display: block;}
.footer_info .shop_info .inner{width: 100%;}
.footer_info .shop_info .title{font-size: 3.7vw;margin-bottom:5vw;text-align: center;}
.footer_info .shop_info .txt{margin-bottom:1.2em;font-size: 3vw;text-align: center;}
}



/*sub*/
.sub_head{position: relative;margin-top: 15em;}
.sub_head img{width: 100%;height:420px;object-fit: cover;}
.sub_head h2{position: absolute;width: 100%;text-align: center;top:-35px;margin:0; letter-spacing:.18em; font-weight:800;
  color:#23a24d; font-size:clamp(22px,3.2vw,40px);
  font-size:clamp(18px,5vw,68px);
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;letter-spacing:.05em;}
@media screen and (max-width:750px) {
.sub_head img{height:60vw;}
.sub_head h2{top:27vw;font-size:9vw;}
}



/*about*/
.sub_about .msg{padding-top:120px;}
.sub_about .msg .title{text-align: center;margin-bottom:20px;font-size: 28px;letter-spacing: 0.04em;}
.sub_about .msg .en{text-align: center;font-size: 15px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:60px;}
.sub_about .msg .txt{text-align: center;font-size: 14px;line-height: 2.3;}
.sub_about .msg .img{width: 1200px;margin:80px auto -55px;position: relative;z-index: 15;}
.sub_about .msg .img img{width: 100%;}
@media screen and (max-width:750px) {
.sub_about .msg{padding-top:13vw;}
.sub_about .msg .title{margin-bottom:3vw;font-size: 5.6vw;line-height: 1.7;}
.sub_about .msg .en{font-size: 3vw;margin-bottom:8vw;}
.sub_about .msg .txt{font-size: 3.2vw;line-height: 1.9;padding:0 3vw;}
.sub_about .msg .img{width: 100%;margin:18vw auto -8vw;}

}


.sub_about .floorguide{background:#f7f4ef;padding-top:130px;}
.sub_about .floorguide h3{text-align: center;font-size: 44px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom:80px;font-weight: 700;}

.sub_about .floorguide section{position: relative;}
.sub_about .floorguide section .img{position: absolute;width: 53%;top:0;left:0;}
.sub_about .floorguide section .img img{width: 100%;height: 100%;object-fit: cover;}
.sub_about .floorguide section .w1080{display: flex;justify-content: flex-end;}
.sub_about .floorguide section .inner{width: 420px;padding-bottom:90px;}
.sub_about .floorguide section.right .img{top:0;left:unset;right:0;}
.sub_about .floorguide section.right .w1080{justify-content: flex-start;}
.sub_about .floorguide .about_sec1{min-height:680px;}
.sub_about .floorguide .about_sec1 .img img{max-height:580px;}
.sub_about .floorguide .about_sec2{min-height:680px;}
.sub_about .floorguide .about_sec2 .img img{max-height:580px;}
.sub_about .floorguide .about_sec3{min-height:680px;}
.sub_about .floorguide .about_sec3 .img img{max-height:580px;}

.sub_about .floorguide .title{font-size: 44px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom: 20px;}
.sub_about .floorguide .jp{font-size: 18px;margin-bottom: 50px;}
.sub_about .floorguide .txt{font-size: 14px;line-height: 2.3;text-align: justify;}
.sub_about .floorguide .more{margin-top: 30px;}
.sub_about .floorguide .map_img{margin-top: 70px;width: 130px;}
.sub_about .floorguide .map_img img{width: 100%;}

@media screen and (max-width:750px) {
.sub_about .floorguide{padding-top:20vw;}
.sub_about .floorguide h3{font-size: 8vw;margin-bottom:9vw;}
.sub_about .floorguide section .img{position: static;width: 100%;margin-bottom: 6vw;}
.sub_about .floorguide section .w1080{display: block;}
.sub_about .floorguide section .inner{width: 100%;padding:0 3vw 16vw;}
.sub_about .floorguide section.right .w1080{justify-content: flex-start;}
.sub_about .floorguide .about_sec1{min-height:unset;}
.sub_about .floorguide .about_sec1 .img img{max-height:unset;}
.sub_about .floorguide .about_sec2{min-height:unset;}
.sub_about .floorguide .about_sec2 .img img{max-height:unset;}
.sub_about .floorguide .about_sec3{min-height:unset;}
.sub_about .floorguide .about_sec3 .img img{max-height:unset;}
.sub_about .floorguide .title{font-size: 8vw;margin-bottom: 3vw;text-align: center;}
.sub_about .floorguide .jp{font-size: 3.7vw;margin-bottom: 7vw;text-align: center;}
.sub_about .floorguide .txt{font-size: 3.2vw;line-height:1.9;}
.sub_about .floorguide .more{margin-top: 6vw;}
.sub_about .floorguide .map_img{margin-top: 0;flex-shrink: 0;margin-left: 10vw;width: 25vw;}
.sub_about .floorguide .spflex{display: flex;}
.sub_about .floorguide .spflex>div{flex:1;}
}



/*services*/
.sub_services section{padding:100px 0 150px;}
.sub_services section.wh{background:#f7f4ef;}
.sub_services section .title{font-size: 54px;color:#b19d81;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom: 20px;text-align: center;font-weight: 700;}
.sub_services section .jp{font-size: 18px;margin-bottom: 50px;text-align: center;}
.sub_services section .flex{display:flex;justify-content: space-between;align-items: flex-start;}
.sub_services section .flex.right{flex-direction: row-reverse;}
.sub_services section .inner{padding:0 40px;width:580px;}
.sub_services section .flex .slide{width: 540px;}
.sub_services section .flex .slide img{width: 100%;}
.sub_services section .inner .txt{font-size: 14px;line-height: 2.3;text-align: justify;}
.sub_services section .inner .txt.red{color:#d8501b;font-weight: 500;}
.sub_services section .inner .txt.brown{color:#b19d81;font-weight: 500;}
.sub_services section .inner .course{margin-top:20px;}
.sub_services section .inner .course p{font-size: 14px;line-height: 2.3;}
.sub_services section .inner .course p span{color:#b19d81;font-weight: 500;display: block;}
.sub_services section table{margin-top: 50px;}
.sub_services section table caption{text-align: left;font-size: 15px;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.04em;margin-bottom: 20px;font-weight: 700;}
.sub_services section table th span{display:block;background:#b8aea0;color:#fff;width: max-content;padding:5px 10px;margin-top:10px;border-radius: 6px;font-size: 12px;line-height: 1.6;}
.sub_services section p.mid{font-size: 14px;text-align: center;margin:2em 0 0;font-weight: 500;}
.sub_services section p.small{font-size: 12px;text-align: right;margin:2em 0 0;}
.sub_services section .inner .hosoku{font-size: 13px;line-height: 2;margin-top: 2em;text-align: justify;}
.sub_services section .inner .hosoku p{text-indent: -1em;padding-left: 1em;}
.sub_services section table.trimming_price tr:first-child th{padding-left:1em;}
.sub_services section table.trimming_price td{padding-left:1em;}
.sub_services section table.trimming_option th{padding-left:1em;width: 50%;}
.sub_services section table.trimming_option td{padding-left:1em;}
.sub_services section table.trimming_cure th{padding-left:1em;width: 50%;}
.sub_services section table.trimming_cure td{padding-left:1em;}
.sub_services section table.olddoghome_price tr:first-child th{padding-left:1em;}
.sub_services section table.olddoghome_price td{padding-left:1em;}
.sub_services section table.hotel_price tr:first-child th{padding-left:1em;}
.sub_services section table.hotel_price td{padding-left:1em;}

@media screen and (max-width:750px) {
.sub_services section{padding:13vw 0 13vw;}
.sub_services section .flex{display:block;}
.sub_services section .inner{padding:0 3vw 8vw;width:100%;}
.sub_services section .flex .slide{width: 100%;padding:0 3vw;}
.sub_services section .title{font-size: 9.6vw;margin-bottom: 4vw;}
.sub_services section .jp{font-size: 3.4vw;margin-bottom: 8vw;}
.sub_services section .inner .txt{font-size: 3vw;line-height: 1.9;}
.sub_services section .inner .course{margin-top:3vw;}
.sub_services section .inner .course p{font-size: 3vw;line-height: 1.9;}
.sub_services section table{margin: 7vw -3vw 0;width: calc(100% + 6vw);}
.sub_services section table caption{text-align: center;font-size: 3vw;margin-bottom: 3vw;}
.sub_services section table th span{padding:0.5em 0.5em;margin-top:1em;font-size: 2.2vw;line-height: 1.3;}
.sub_services section p.mid{font-size: 3vw;text-align: left;margin: 1em -3vw 0;line-height: 1.4;}
.sub_services section p.small{font-size: 2.5vw;text-align: left;line-height: 1.9;margin: 1em -3vw 0;}
.sub_services section .inner .hosoku{font-size: 2.5vw;line-height: 1.9;margin: 2em -3vw 0;}
.sub_services section table.trimming_price tr:first-child th{padding-left:0.5em;}
.sub_services section table.trimming_price td{padding-left:0.5em;}
.sub_services section table.trimming_option th{padding-left:1em;width: 40%;}
.sub_services section table.trimming_option td{padding-left:1em;}
.sub_services section table.trimming_cure th{padding-left:1em;width: 40%;}
.sub_services section table.trimming_cure td{padding-left:1em;}
.sub_services section table.olddoghome_price tr:first-child th{padding-left:1em;}
.sub_services section table.olddoghome_price td{padding-left:0.5em;}
.sub_services section table.hotel_price tr:first-child th{padding-left:0.5em;}
.sub_services section table.hotel_price td{padding-left:0.5em;}
}


/*contact*/
.sub_contact .tel_info{padding:120px 0 100px;}
.sub_contact .tel_info .title{text-align: center;font-size:28px;margin-bottom:60px;}
.sub_contact .tel_info .telno{text-align: center;font-size: 67px;font-family: 'Roboto Condensed', sans-serif;letter-spacing: 0.07em;margin-bottom: 30px;font-weight: 700;color:#b19d81;}
.sub_contact .tel_info .adr{text-align: center;font-size:14px;margin-bottom: 15px;}
.sub_contact .mail_form{padding:120px 0 120px;background:#f7f4ef;}
.sub_contact .mail_form .title{text-align: center;font-size:28px;margin-bottom:60px;}
.sub_contact .mail_form .txt{text-align: center;font-size:14px;line-height: 2.3;margin-bottom: 15px;}
.sub_contact .mail_form .link{text-align: center;font-size:14px;}
.sub_contact .mail_form .link span{border-bottom:1px solid #b19d81;display:inline-block;padding-bottom:5px;cursor: pointer;transition:0.2s;}
.sub_contact .mail_form .link span:hover{opacity:0.8;}
.sub_contact .mail_form .mail{margin-top:50px;padding:0 190px;}
.sub_contact .mail_form .mail input[type="text"]{appearance: none;-webkit-appearance: none;}
.sub_contact .mail_form .mail .radio{text-align: center;padding:10px 0 25px;}
.sub_contact .mail_form .mail .select{padding:10px 0;}
.sub_contact .mail_form .mail .text2{display: flex;justify-content: space-between;padding:10px 0;}
.sub_contact .mail_form .mail .text{padding:10px 0;}
.sub_contact .mail_form .mail .box{padding:10px 0;}
.sub_contact .mail_form .mail .radio label{margin:0 25px;font-size: 18px;cursor: pointer;}
.sub_contact .mail_form .mail .radio input{margin-right: 10px;font-family: inherit;color:inherit;}
.sub_contact .mail_form .mail .select select{width: 100%; border: 1px solid #b5b5b5;padding:10px;font-family: inherit;color:inherit;}
.sub_contact .mail_form .mail .text2 input{width: 48%;border: 1px solid #b5b5b5;padding:10px;font-family: inherit;color:inherit;}
.sub_contact .mail_form .mail .text input{width:100%;border: 1px solid #b5b5b5;padding:10px;font-family: inherit;color:inherit;}
.sub_contact .mail_form .mail .box textarea{width:100%;resize: vertical;min-height:180px;border: 1px solid #b5b5b5;padding:10px;font-family: inherit;color:inherit;}
.sub_contact .mail_form .mail .hissu{text-align: right;font-size:14px;}
.sub_contact .mail_form .mail .btn{text-align: center;margin-top:40px;}
.sub_contact .mail_form .mail .btn button{background:#b19d81;color:#fff;font-family: inherit;border:none;padding:25px 100px;font-size:17px;cursor: pointer;transition: opacity 0.2s;}
.sub_contact .mail_form .mail .btn button:hover{opacity: 0.8;}
@media screen and (max-width:750px) {
.sub_contact .tel_info{padding:13vw 0 10vw;}
.sub_contact .tel_info .title{font-size:5.5vw;margin-bottom:6vw;}
.sub_contact .tel_info .telno{font-size: 9vw;margin-bottom: 7vw;}
.sub_contact .tel_info .adr{font-size:3vw;margin-bottom: 1em;}
.sub_contact .mail_form{padding:13vw 0 13vw;}
.sub_contact .mail_form .title{font-size:5.5vw;margin-bottom:6vw;}
.sub_contact .mail_form .txt{font-size:3vw;line-height: 1.9;margin-bottom: 3vw;}
.sub_contact .mail_form .link{font-size:3vw;}
.sub_contact .mail_form .mail{margin-top:7vw;padding:0;}

.sub_contact .mail_form .mail .radio{padding:1em 0 0;text-align: left;}
.sub_contact .mail_form .mail .select{padding:2vw 0;}
.sub_contact .mail_form .mail .text2{display: block;padding:2vw 0;}
.sub_contact .mail_form .mail .text{padding:2vw 0;}
.sub_contact .mail_form .mail .box{padding:2vw 0;}
.sub_contact .mail_form .mail .radio label{margin:0;font-size: 3vw;display: block;margin-bottom:1em;}

.sub_contact .mail_form .mail .text2 input{width: 100%;margin-bottom:4vw;}
.sub_contact .mail_form .mail .text2 input:nth-of-type(2){margin-bottom:0;}
.sub_contact .mail_form .mail .box textarea{min-height:12em;}
.sub_contact .mail_form .mail .hissu{font-size:2.9vw;}
.sub_contact .mail_form .mail .btn{margin-top:7vw;}
.sub_contact .mail_form .mail .btn button{padding:1em 0;font-size:3.2vw;text-align: center;width: 100%;}
}



.sub_contact .insta_info{padding:120px 0 120px;background:#f7f4ef;}
.sub_contact .insta_info .title{text-align: center;font-size:28px;margin-bottom:50px;}
.sub_contact .insta_info .instalink{text-align: center;}
.sub_contact .insta_info .instalink a{font-size: 16px;background:#b19d81;color:#fff;line-height: 1;padding:1em 80px 1.2em;display: inline-block;}
.sub_contact .insta_info .txt{text-align: center;font-size:14px;line-height: 2;margin-bottom:45px;}
@media screen and (max-width:750px) {
.sub_contact .insta_info{padding:13vw 0 13vw;}
.sub_contact .insta_info .title{font-size:5.5vw;margin-bottom:6vw;}
.sub_contact .insta_info .instalink a{font-size: 3.8vw;padding:1em 4em 1.2em;}
.sub_contact .insta_info .txt{font-size:3vw;margin-bottom:6vw;}
}



/*policy*/
#overray{position: fixed;z-index: 9995;background:rgba(0,0,0,0.4);top:0;left:0;width: 100%;height:100%;display:none;}
#policy{max-width: 1080px;background:#fff;padding:70px 20px 100px 20px;position: fixed;top:130px;left:50%;width:95%;height:calc(100vh - 170px);transform: translate(-50%,0);z-index: 9999;box-shadow: 0 0 12px rgba(0,0,0,0.1);display:none;}
#policy>div{overflow-y: scroll;padding:0 20px 0 20px;margin-top:40px;height:100%;}
#policy .close{position: absolute;top:40px;right:40px;width: 46px;height:46px;cursor: pointer;}
#policy .close img{width: 100%;}
#policy h3{text-align: center;font-size: 28px;}
#policy h4{margin-top:1.2em;font-size:22px;color:#b19d81;margin-bottom:0.5em;line-height: 1.5;}
#policy p,#policy li{text-align: justify;line-height: 2;font-size: 14px;}
#policy div>p{text-align: center;margin-bottom: 50px;}
#policy ol{padding-left:0.25em;}
#policy li{text-indent:-1.5em;padding-left: 1.5em;}

@media screen and (max-width:750px) {
#policy{padding:6vw 2vw 12vw 2vw;top:20vw;height:calc(100vh - 30vw);width:95%;}
#policy>div{padding:0 2vw 0 2vw;margin-top:4vw;}
#policy .close{top:3vw;right:3vw;width: 6vw;height:6vw;}
#policy h3{text-align: left;font-size: 5vw;padding-left: 2vw;}
#policy h4{font-size:4.2vw;}
#policy p,#policy li{line-height: 1.7;font-size: 3vw;}
#policy div>p{text-align: justify;margin-bottom: 5vw;}
}


/**/
.sub_reserve .reserve_info{padding:120px 0 50px;}
.sub_reserve .reserve_info .title{text-align: center;font-size:28px;color:#b19d81;font-weight: 700;}
@media screen and (max-width:750px) {
.sub_reserve .reserve_info{padding:13vw 0 10vw;}
.sub_reserve .reserve_info .title{font-size:5.5vw;}
}



.slick-dots > li:first-child:last-child {
    display: none;
}



/* --- ヒーロー土台 --- */
.hero{
  position: relative;
  block-size: 100svh;            /* モバイルUIに強いvh */
  min-block-size: 540px;          /* 小画面での潰れ保険（任意） */
  color: #fff;
  isolation: isolate;             /* レイヤー独立 */
}

/* 背景 */
.hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero__bg > img{ width:100%; height:100%; object-fit:cover; display:block; }
.hero__shade{
  position:absolute; inset:0;
  background:#000000;
}

/* 中央のコピー：画面中央にピタッ */
.hero__content{
  position:absolute; inset:0; z-index:2;
  display:grid; place-items:center;      /* 中央ぞろえ一撃 */
  text-align:center;
  padding: clamp(16px, 4vw, 48px);
  pointer-events:none;                   /* 背面のリンク(NEWS)を邪魔しない */
	align-content:center;
}
.hero__title{
  margin: 0 0 .25em;
  font-weight: 900;
  letter-spacing: .04em;
  font-size: clamp(28px, 6vw, 64px);
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;
}
.hero__subtitle{
  margin: 0;
  font-weight: 600;
  font-size: clamp(14px, 2.4vw, 22px);
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' -10;
}

/* 右下固定のNEWSカード */
.hero__news{
  position:absolute;
  right: clamp(16px, 4vw, 64px);
  bottom: clamp(16px, 3.5vw, 48px);
  z-index: 3;
  display:block;
  max-inline-size: min(56vw, 720px);
  inline-size: max(280px, 40vw);        /* 右下でほどよい幅 */
  padding: 16px 20px;
  color:#fff; text-decoration:none;
}
.hero__news-eyebrow{
  margin:0 0 18px; font-size:18px;
  text-transform: uppercase;
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;

}
.hero__news-row{
  display:grid; grid-template-columns: auto 1fr; align-items:center; gap: 14px;
  padding-top: 8px;border-bottom:1px solid #fff;padding-bottom:8px;
}
.hero__news-date{ font-size:18px; white-space:nowrap; 
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 300, 'slnt' 0;
}
.hero__news-title{
  font-size: clamp(14px, 2vw, 16px);
  line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow:hidden;letter-spacing:.1em;
}

/* レスポンシブ微調整 */
@media (max-width: 599px){
  .hero__news{
    inline-size: calc(100% - 32px);         /* スマホは左右16pxの余白 */
    right: 16px; left: 16px;                 /* 右固定→左右いっぱい */
  }
  .hero__news-row{ grid-template-columns: 88px 1fr; } /* 日付幅を固定気味に */
}



/* ==== イントロ：フロスト全幅 + コンテンツ1080px ==== */
.intro{  padding: clamp(32px, 10vw, 96px) 0; z-index: -1; overflow: hidden;
  /* 1枚だけなら ↓ でOK */
  background-image: url("../../images/intro_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; /* トリミング位置 */ 
backdrop-filter:blur(8px)
}
.intro__glass{
  position:absolute; inset:0; z-index:0;
  background: rgba(255,255,255,.7);             /* フォールバック */
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(8px);                    /* ぼかし */
}

/* 中身は最大1080pxに制限 */
.intro__container{
  position: relative; z-index:1;                  /* フロストの上に表示 */
  width: min(1080px, 100% - 32px);
  margin-inline: auto;
}

/* 2カラム（PC=50/50、SP=縦） */
.intro__grid{
  display:grid;
  grid-template-columns: 1fr 1fr;  /* 50% / 50% */
  gap: clamp(16px, 3vw, 40px);
}
@media (max-width: 767px){
  .intro__grid{ grid-template-columns: 1fr; }
}

/* 左：コピー */
.intro__catch{
  margin:0 0 .4em; line-height:1.2; font-weight:900;
  font-size: clamp(32px, 10vw, 100px); color:#5d625f; text-wrap:balance;letter-spacing:.1em;
	
}
.intro__tag{ margin:0; font-weight:700; font-size:clamp(14px, 2.2vw, 20px); color:#23b040;
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;}

/* 右：本文 */
.intro__title{ margin:0 0 1em; font-weight:700; font-size:clamp(18px, 2.4vw, 28px); color:#5d625f; line-height:1.6;letter-spacing:.05em;}
.intro__lead{ margin:0 0 1.8em; font-size:clamp(14px, 2vw, 18px); color:#5d625f; line-height:1.9; letter-spacing: .05em;}

/* ボタン（共通） */
.btn {
  display: inline-flex;                /* 文字と矢印を横並びに */
  align-items: center;
  gap: 20px;                           /* 矢印との間隔 */
  padding: 14px 20px 17px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.2s ease;
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;
	max-width: 166px;
}

/* 緑ボタン */
.btn--primary {
  background: #23b041;
  color: #fff;
}

/* ホバー時 */
.btn--primary:hover {
  background: #24b452;
  transform: translateY(-1px);
}

/* 擬似要素で矢印を追加 */
.btn--primary::after {
  content: "\203A";                /* UnicodeでもOK: "\203A" */
  font-size: 1.3em;
  line-height: 1;
  display: inline-block;
  transition: transform 0.25s ease;
}

/* ホバー時の矢印を少し動かす */
.btn--primary:hover::after {
  transform: translateX(4px);
}



/* ===== セクション見出し＋コンテナ ===== */
.services{ padding: clamp(40px, 7vw, 96px) 0; background: #fff;}
.services__container{ width:min(1080px, 100% - 32px); margin-inline:auto; }
.services__eyebrow{ margin:0; text-align:center; font-weight:800; font-size:clamp(18px,5vw,68px); color:#FFFFFF;
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;-webkit-text-stroke:2px #23a24d;paint-order:stroke fill;letter-spacing:.05em;margin-bottom:.4em;
}
.services__caption{ margin:.25em 0 4em; text-align:center; color:#8aa19a; }

/* ===== レイアウト ===== */
.services__grid{
  display:grid; gap: clamp(24px, 3vw, 36px);
  grid-template-columns: 1fr 1fr;
}
.svc--primary{ grid-column: 1 / -1; } /* 金属加工は横幅いっぱい */

@media (max-width: 767px){
  .services__grid{ grid-template-columns: 1fr; }
}

/* ===== カード共通（背景色なし・角丸なし・影なし） ===== */
.svc{ background: transparent; border: 0; margin-bottom: 2em;}

/* 上部：画像（16:9目安） */
.svc__media img{
  width:100%; height:100%; display:block; object-fit:cover; aspect-ratio:16/9;
}

/* 下部：左右スプリット */
.svc__split{
  display:grid; column-gap: clamp(16px, 3vw, 40px);
  grid-template-columns: 1fr 1fr;  /* 左右50%ずつ */
  align-items: start;
  padding-top: clamp(12px, 2vw, 30px);
}
@media (max-width: 767px){
  .svc__split{ grid-template-columns: 1fr; row-gap: 12px; }
}

/* 金属加工だけのスプリット微調整（本文が長い想定） */
.svc__split--primary{ align-items: start; }

/* タイトル群 */
.svc__jp{
  margin: 0 0 .15em; font-weight:900; line-height:1.1;
  font-size: clamp(24px, 4.8vw, 40px); color:#5d625f;
}
.svc__jp--multiply{ mix-blend-mode: multiply; } /* ← 乗算 */
.svc__en{ margin:0 0 1.8em; font-weight:700; color:#23a24d;
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;font-size: 20px;}

/* 本文 */
.svc__text{
  margin: 0; color:#444; line-height:1.9;
  font-size: clamp(14px, 2vw, 18px);
}

/* 右側ボタンの位置（PCで右寄せ、SPで左寄せ） */
.svc__right--btn{ display:flex; justify-content:flex-end; align-items:center; }
@media (max-width: 767px){
  .svc__right--btn{ justify-content:flex-start; }
}

/* 既存の .btn / .btn--primary は intro と共通で使用 */
/* 金属加工だけ 4:6（左:右） */
.svc--primary .svc__split{
  grid-template-columns: 0.4fr 0.6fr;
}

/* タイトルを左にズラして、少し上に被せる＋乗算 */
.svc--primary .svc__left{ position: relative; }
.svc--primary .svc__jp{
  position: relative;
  z-index: 1;                     /* 下の面に乗算でなじませる */
  mix-blend-mode:difference;
  line-height: 0.95;
  /* ずらし具合は好みで微調整 */
  transform: translate(-0.5em, -0.75em);  /* 左/上へ */
	 font-size: clamp(24px, 9.8vw, 100px);
	  margin: 0;                     /* いったん余白ゼロに */
  margin-bottom: -0.6em;        /* ← ここで“残りスペース”を潰す */
}

/* タイトルが上に被る分、英字やボタンの頭を少し下げてバランス取り */
.svc--primary .svc__en{ margin-top: clamp(4px, 0.6vw, 10px); margin-bottom:1.4em;}

/* スマホではズラしをリセット（読みやすさ優先） */
@media (max-width: 767px){
  .svc--primary .svc__split{ grid-template-columns: 1fr; }
  .svc--primary .svc__jp{ transform: translate(0em, -0.75em); line-height: 1.05; }
}




/* 背景：緑 + ドット（画像いらずのCSSパターン） */
.works{
  position: relative;
  padding: clamp(40px, 7vw, 96px) 0;
  overflow: hidden;
  color: #fff;
}
.works__bg{
  --plus: rgba(255,255,255,.15); /* プラスの色 */
  --size: 2;                    /* グリッド間隔(px) */
  position:absolute; inset:0; z-index:-1;
  background-color: #23b041;     /* ベースの緑 */
  background-image: url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 40 40'>\
  <g stroke='rgba(255,255,255,0.5)' stroke-width='1'>\
    <line x1='9' y1='5' x2='9' y2='13'/>\
    <line x1='5' y1='9' x2='13' y2='9'/>\
  </g>\
</svg>");
  background-size: var(--size)px var(--size)px;
  background-repeat: repeat;
}


/* 見出し */
.works__head{ text-align:center; margin-bottom: clamp(16px, 3vw, 28px); }
.works__eyebrow{
  margin:0;
  color: #23b041;
  -webkit-text-stroke: 1.2px rgba(255,255,255,.9);
  paint-order: stroke fill;
  font-weight: 800;
  letter-spacing: .18em;
  font-size:clamp(18px,5vw,68px);
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;-webkit-text-stroke:2px #fff;paint-order:stroke fill;letter-spacing:.05em;margin-bottom:.4em;
}
.works__caption{ margin:.25em 0 0; opacity:.8; }

/* スライド中身 */
.work{
  width:min(1080px, 100% - 32px);
  margin-inline:auto;
}
.work__media img{
  width:100%; height:100%; display:block; object-fit:contain;
  /* デザインに近づけたい場合は適宜 cover に変更 */
  aspect-ratio: 16/9;
  filter: drop-shadow(0 14px 36px rgba(0,0,0,.25));
}
.work__body{
  display:grid; gap: clamp(10px, 2vw, 16px);
  grid-template-columns: 1fr;  /* 下は縦流し */
  margin-top: clamp(14px, 2.2vw, 24px);
}

/* 線文字の番号 */
.work__num{
  font-size: clamp(40px, 9vw, 120px);
  font-weight: 800;
  color: #23b041;
  line-height: 1;
  letter-spacing: .02em;
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;-webkit-text-stroke:2px #fff;paint-order:stroke fill;letter-spacing:.05em;
}

/* Client / Date の2カラム */
.work__meta{
  display:grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
.work__label{ font-weight:700; opacity:.9; }
.work__val{ opacity:.9; }

/* 本文 */
.work__text{
  line-height:1.9; opacity:.95;
}

/* 矢印の見た目（緑背景で視認性UP） */
.splide__arrow{
  background: rgba(255,255,255,.15);
  border: 1px solid rgba(255,255,255,.35);
  width: 42px; height: 42px;
  backdrop-filter: blur(4px);
}
.splide__arrow svg{ fill: #fff; }
.splide__arrow:disabled{ opacity:.35; }
@media (max-width: 767px){
  .splide__arrow{ width: 38px; height: 38px; }
}

/* ページ内余白の微調整 */

/* スライドの“見える幅”。左右が少し残るサイズに */
.works__slider .splide__slide{
  width: min(860px, 88vw);     /* ← ここを触ればチラ見せ量が変わる */
}

/* 中央のスライドだけ ほんのり拡大＆影で主役感 */
.works__slider .splide__slide.is-active .work__media img{
  transform: scale(1.03);
  filter: drop-shadow(0 16px 40px rgba(0,0,0,.28));
  transition: transform .3s ease, filter .3s ease;
}
/* スライドの“見える幅”。左右が少し残るサイズに */
.works__slider .splide__slide{
  width: min(860px, 88vw);     /* ← ここを触ればチラ見せ量が変わる */
}

/* 中央のスライドだけ ほんのり拡大＆影で主役感 */
.works__slider .splide__slide.is-active .work__media img{
  transform: scale(1.03);
  filter: drop-shadow(0 16px 40px rgba(0,0,0,.28));
  transition: transform .3s ease, filter .3s ease;
}
/* 見せたい“実幅”。端末に応じて調整してOK */
.works__slider .splide__slide{
  width: min(860px, 88vw);
}

/* 中央を少し強調（任意） */
.works__slider .splide__slide.is-active .work__media img{
  transform: scale(1.03);
  filter: drop-shadow(0 16px 40px rgba(0,0,0,.28));
  transition: transform .3s ease, filter .3s ease;
}

/* 画像の周りに安全マージンを確保 */
.work__media{
  position: relative;
  padding: clamp(6px, 1.2vw, 12px);   /* ← ここが逃げ場 */
  /* overflow はデフォで visible。hidden にしてたら外す */
  overflow: visible;
	margin-top: 2em;
}

/* 画像はフィットさせておく */
.work__media img{
  width: 100%;
  height: auto;
  object-fit: contain;     /* cover ならそのままでOK */
  transform-origin: center;
  transition: transform .3s ease, filter .3s ease;
}

/* 中央スライドだけちょい拡大（控えめに） */
.works__slider .splide__slide.is-active .work__media img{
  transform: scale(1.02);  /* 1.02〜1.04 くらいが安全圏 */
  filter: drop-shadow(0 16px 40px rgba(0,0,0,.28));
}

/* スライドの中身を左右2分割 */
.work__body{
  display: grid;
  grid-template-columns: auto 1fr;  /* 左：ナンバー、右：クライアント＋日付 */
  align-items: start;
  justify-content: space-between;
  gap: clamp(16px, 3vw, 32px);
  margin-top: clamp(14px, 2.2vw, 24px);
}

/* ナンバーは左寄せ＆大きく主張 */
.work__num{
  font-size: clamp(40px, 9vw, 120px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
  justify-self: start;
}

/* メタ情報を右寄せで整列 */
.work__meta{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  justify-self: end;
  text-align: right; /* ← ここがポイント！右寄せ */
}
.work__label{
  font-weight: 700;
  opacity: .9;
		  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;font-size: 18px;margin-bottom: .5em;
}
.work__val{
  opacity: .9;
}

/* 本文は全幅でナンバーとメタの下に回す */
.work__text{
  grid-column: 1 / -1;
  line-height: 1.9;
  opacity: .95;
	font-size: 18px;
}
/* 1段目（num と meta）を下揃えに */
.work__body{
  display: grid;
  grid-template-columns: auto 1fr;   /* 左：番号 / 右：meta */
  gap: clamp(16px, 3vw, 32px);
  align-items: end;                  /* ← ここがポイント！ */
  margin-top: clamp(14px, 2.2vw, 24px);
}

/* 念のため個別でも下揃え指定（保険） */
.work__num{ align-self: end; }
.work__meta{ align-self: end; }

/* 本文は2段目で全幅 */
.work__text{
  grid-column: 1 / -1;
}

/* SPでは縦並びに戻す＆左揃え */
@media (max-width: 767px){
  .work__body{
    grid-template-columns: 1fr;
    align-items: start;          /* ← 縦並びでは通常に戻す */
  }
  .work__meta{
    justify-self: start;
    text-align: left;
	  margin-bottom: .5em;
  }
}





/* 共有ヘッダ */
.section-head{ text-align:center; margin-bottom: clamp(16px,3vw,28px); }
.eyebrow{
  margin:0; letter-spacing:.18em; font-weight:800;
  color:#23a24d; font-size:clamp(22px,3.2vw,40px);
  font-size:clamp(18px,5vw,68px);
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;letter-spacing:.05em;margin-bottom:.4em;
	
}
.caption{ margin:.25em 0 0; color:#8aa19a; }

/* ========== Recruit ========== */
.recruit{ padding: clamp(40px,7vw,96px) 0;}
.recruit .section-head{ margin-bottom: clamp(12px,2.5vw,20px); }

.recruit__grid{
  width:min(1080px,100% - 32px); margin-inline:auto;
  display:grid; gap: clamp(16px,3vw,28px);
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: auto;
}
.recruit__lead{ grid-column:1 / -1; margin:0; color:#5d625f; line-height:1.9;text-align: center;font-size: 18px;margin: 2em; }
.recruit__cta{ grid-column:1 / -1; text-align:center;margin-bottom: 4em; }

.recruit-card{
  display:grid; gap:10px;
}
.recruit-card img{ width:100%; height:auto; display:block; object-fit:cover; }
.recruit-card__jp{ margin:.7em 0 0; font-weight:900; font-size: clamp(20px,3.8vw,32px); color:#5d625f; }
.recruit-card__en{ margin:0 0 .6em; color:#23a24d;		  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 600, 'slnt' 0;letter-spacing:.05em;margin-bottom:1em; }

/* SPは1列 */
@media (max-width: 767px){
  .recruit__grid{ grid-template-columns:1fr; }
}

/* ========== News ========== */
/* 帯背景を上下に突き抜けさせる：親からはみ出す */
.news{ position:relative; padding: clamp(40px,7vw,96px) 0; overflow:visible; }
.news__bg{
  position:absolute; left:0; right:0;
  top: -8vw; bottom: -8vw;  /* ← 上下に突き抜ける量 */
  background: #f7f7f7;
  z-index: -1;
}
.news__container{ width:min(1080px,100% - 32px); margin-inline:auto; }
.news__grid{
  display:grid; gap: clamp(18px,3vw,28px);
  grid-template-columns: 220px 1fr; align-items:start;
}
/* 左ラベル */
.news__label{ display:flex; align-items:flex-start; }
.news__label-text{
  font-weight: 900; letter-spacing:.18em;
  font-size: clamp(22px,4vw,36px);
  color:#5d625f;
		  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 800, 'slnt' 0;letter-spacing:.05em;margin-bottom:.4em;
}

/* 右：一覧 */
.news__list{ list-style:none; padding:0; margin:0; display:grid; gap: clamp(12px,2vw,16px); }
.news-item__link{
  display:grid; grid-template-columns: 120px 1fr auto; gap: 16px;
  align-items:center; text-decoration:none; color:inherit; padding: 10px 0;
  border-bottom:1px solid rgba(0,0,0,.12);
}
.news-item__thumb{ width:120px; height:72px; object-fit:cover; border-radius:6px; }
.news-item__date{ font-size: clamp(16px,2.4vw,24px); font-weight:700; color:#5d625f; 
		  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 200, 'slnt' 0;font-size: 32px;margin-bottom: .5em;}
.news-item__title{
  grid-column: 2 / 3;
  font-size: clamp(14px,2vw,16px); color:#5d625f;
  line-height:1.7; margin-top: 2px;
}
/* 右矢印（1pxライン） */
.news-item__link::after{
  content:""; width:18px; height:18px; justify-self:end;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><polyline points='8,4 16,12 8,20' fill='none' stroke='black' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat; background-position:center; background-size:18px 18px;
  opacity:.65;
}
.news-item__link:hover::after{ opacity:1; }

/* 一覧へのリンク */
.news__more{ text-align:right; margin-top: clamp(6px,1.2vw,10px); }

/* SP：1列・ラベルを上に */
@media (max-width: 767px){
  .news__grid{ grid-template-columns: 1fr; }
  .news__label{ order:-1; }
  .news-item__link{ grid-template-columns: 100px 1fr auto; }
  .news-item__thumb{ width:100px; height:64px; }
  .news__more{ text-align:left; }
}

/* ========== パララックス装飾（News帯の中で動かす） ========== */
.p-part{
  position:absolute; pointer-events:none; opacity:.18; filter: grayscale(100%);
  transform: translate3d(0,0,0);
}
.p-part--l{ left: max(0px, 50% - 700px); top: 40px; width: 240px; }
.p-part--r{ right: max(0px, 50% - 700px); bottom: 40px; width: 260px; }

.p-bg {
  position: relative;
  overflow: visible;
	z-index: -4;
	opacity: 30%;
}

.p-part {
  position: absolute;
  opacity: .9;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.15));
  transition: transform 0.2s ease-out;
  will-change: transform;
}

/* 左側3枚 */
.p-l:nth-child(1) { left: -2%;  top: -8em; width: 330px; }
.p-l:nth-child(2) { left: -8%;  top: 7em; width: 440px; z-index: -5 }
.p-l:nth-child(3) { left: 10%; bottom: -48em; width: 220px; }

/* 右側3枚 */
.p-r:nth-child(4) { right: 2%;  top: -6em; width: 320px; }
.p-r:nth-child(5) { right: 0%;  top: 23em; width: 550px; }
.p-r:nth-child(6) { right: 4%; bottom: -48em; width: 240px; }

@media (max-width: 768px) {
  .p-part { width: 40vw; opacity: .7; }
  .p-l:nth-child(1) { top: 6%; left: 0; }
  .p-r:nth-child(6) { bottom: -12%; right: 0; }
}

/* ────────────────────────────────
   ① 先輩の声だけ上に余白をつける（PCのみ）
──────────────────────────────── */
@media (min-width: 768px){
  .recruit-card:first-of-type {
    margin-top: 40px; /* お好みで調整（例: 2rem〜4rem） */
  }
}

/* ────────────────────────────────
   ② NEWSエリアのボタンだけグレースタイル
──────────────────────────────── */
.news__more .btn {
  background: none;
  border: none;
  color: #5d625f;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
}

.news__more .btn::after {
  content: "";
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><polyline points='8,4 16,12 8,20' fill='none' stroke='%23666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px 18px;
  transition: transform .2s ease;
}

/* hover時の軽い動き */
.news__more .btn:hover {
  color: #000;
}
.news__more .btn:hover::after {
  transform: translateX(3px);
  filter: brightness(0);
}

.news__grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  align-items: start;
  position: relative;
}

/* ボタンを右端に配置 */
.news__more {
  grid-column: 2;          /* ← 右カラムに入れる */
  justify-self: end;       /* ← カラムの右端に揃える！ */
  margin-top: clamp(8px, 2vw, 16px);
}


/* ===== ① 自動スライド（クリック無し） ===== */
.auto-slide{ width:100%; }
.auto-slide__mask{
  overflow:hidden; width:100%;
  /* 高さはデザインに合わせて調整 */
  height: clamp(160px, 22vw, 280px);
}
.auto-slide__track{
  display:flex; gap: 12px;
  width: max-content;               /* コンテンツ幅ぶんだけ横長に */
  animation: slide-h linear infinite;
  animation-duration: 40s;          /* ← スピード（短くすると速く） */
  will-change: transform;
  pointer-events: none;             /* クリック無効（SPも同様） */
}
.auto-slide__track img{
  height:100%; aspect-ratio: 16/9;
  object-fit: cover; display:block; flex: 0 0 auto;
  border: 0;
}

/* 無限ループの左→右アニメーション（右から左へ流れる） */
@keyframes slide-h{
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 6px)); } /* 画像を2回並べたので半分進めば継ぎ目無し */
}

/* ===== ② 企業概要 / お問い合わせタイル ===== */
.cta-tiles{
  width:min(1080px, 100% - 32px);
  margin: clamp(40px,7vw,72px) auto;
  display:grid; gap: 12px; grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px){
  .cta-tiles{ grid-template-columns: 1fr; }
}

.cta-tile{
  position:relative; display:block; overflow:hidden;
  min-height: clamp(180px, 28vw, 320px);
  text-decoration:none; color:#fff;
}
.cta-tile__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit: cover; filter: grayscale(15%);
}
.cta-tile__text{
  position:absolute; inset:0; display:grid; place-items:center;
  text-align:center; padding: 12px;align-content: center;
}
.cta-tile__jp{
  display:block; font-weight:900;
  font-size: clamp(22px, 4.4vw, 36px);margin-bottom: .2em;letter-spacing: .04em;
}
.cta-tile__en{
  display:block; margin-top:6px; font-weight:700; opacity:.95; font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'slnt' 0;font-size: 18px;
}

/* ===== ③ フッター（100%幅） ===== */
.site-footer{
  width:100%; background:#23b041; color:#fff;
  padding: 50px 0;
}
.site-footer__inner{
  width:min(1080px, 100% - 32px);
  margin-inline:auto; text-align:center;
  font-size: 12px; letter-spacing:.02em;font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 500, 'slnt' 0;
}
.insta {margin-bottom:4em;}

@media (max-width: 768px) {
	news__grid{display:block;}
	.p-l:nth-child(1){display:none;}
	.p-l:nth-child(2){top:-9em;width:290px;}
	.p-l:nth-child(3){left:-10%;bottom:-56em;z-index: 1;}
	.p-r:nth-child(4){display:none;}
	.p-r:nth-child(5){right:0;top:22em;width:330px;}
	.work__num{font-size:clamp(70px, 9vw, 120px);}
	.works__eyebrow{font-size:clamp(18px,11vw,68px)}
	.services__eyebrow{font-size:clamp(18px,11vw,68px);margin-bottom: .2em;}
.eyebrow{font-size:clamp(18px,11vw,68px)}
	.svc__text{font-size: clamp(16px, 2vw, 18px);}
	.intro__title{margin:1em 0 .5em;font-size:clamp(26px, 2.4vw, 28px);}
	.intro__lead{font-size: clamp(18px, 2vw, 18px);}
	.intro__catch{margin:.5em 0 .3em;font-size:clamp(32px, 16vw, 100px);line-height:1.3;}
	.recruit-card__jp{font-size:clamp(36px,3.8vw,32px);}
	.recruit-card{margin-bottom: 5em;}
	.recruit__lead{margin:1em;text-align: left;}
	.btn{padding:20px 32px 22px;max-width:183px;font-size:15px;}
	.cta-tile__jp{font-size: clamp(26px, 4.4vw, 36px);}
	.cta-tile__en{font-size: 16px;}
	.news__grid{display: block;}
	.news-item__title{font-size: clamp(18px,2vw,16px);}
	.svc__jp{font-size: clamp(32px, 4.8vw, 40px);margin:.1em 0 .15em;}
	.svc__en{font-size: 16px;margin: 0 0 .5em;}
	.sub_head{margin-top: 5em;}
	.badge{font-size: 20px;}
}

/* ===== ベース ===== */
.section{
  width: min(1080px, 100% - 32px);
  margin-inline: auto;
  padding: 6em 0;
	text-align: center;
}

/* ===== ① Badge（再利用） ===== */
.badge{
  display: inline-flex;
  align-items: center;
  gap: .5em;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 0 0 .8rem;
  white-space: nowrap;
	font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 800, 'slnt' -10;font-size: 24px;
}
.badge--brand{
  color: #23b041;
}
.badge__pill{
  padding: .25em .4em;
  color: #fff;
  background: #23b041;
}

/* ===== ② Hero Title（再利用） ===== */
.hero-title{
  margin: 0 0 1em;
  font-weight: 900;
  font-size: clamp(28px, 5.6vw, 56px);
  line-height: 1.2;
  color: #5d625f;
  letter-spacing: .02em;
}
.hero-title__quote{
  mix-blend-mode: multiply;     /* 背景があっても馴染む */
  margin-inline: -0.06em;       /* 『』の詰め微調整 */
}
.hero-title-white{
  margin: 0 0 1em;
  font-weight: 900;
  font-size: clamp(28px, 5.6vw, 56px);
  line-height: 1.2;
  color: #fff;
  letter-spacing: .02em;
}
/* ===== ③ Split（画像←→テキスト） ===== */
.split{
  display: grid;
  grid-template-columns: 1fr 1fr;      /* PC：左右50% */
  gap: clamp(16px, 3.2vw, 40px);
  align-items: start;
  margin-top: clamp(20px, 4vw, 36px);
	text-align: left;
}
.split__media{
  margin: 0;
}
.split__media img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  filter: drop-shadow(0 6px 20px rgba(0,0,0,.08));
}
.split__body{
  color: #4a4a4a;
}
.section-title{
margin:0 0 .5em; font-weight:700; font-size:clamp(18px, 2.4vw, 24px); color:#5d625f; line-height:1.6;letter-spacing:.05em;
}
.para{ margin:0 0 1.8em; font-size:clamp(14px, 2vw, 18px); color:#5d625f; line-height:1.9; letter-spacing: .05em;}

/* 反転パターン（必要になったら .split split--reverse で使用） */
.split--reverse{
  grid-template-columns: 1fr 1fr;
}
.split--reverse .split__media{ order: 2; }
.split--reverse .split__body{  order: 1; }

/* ===== SP：画像の下にテキストを縦積み ===== */
@media (max-width: 768px){
  .split{ grid-template-columns: 1fr; }
  .split__media{ order: 1; }
  .split__body{  order: 2; }
	.section-title{font-size: clamp(24px, 2.4vw, 24px);}
	.para{font-size: 18px;}
	.hero-title{margin:0 0 1.6em;}
	.split__media img{margin-bottom: 2em;}
}

/* ===== レイアウト（4:6） ===== */
.history{
  width: min(1080px, 100% - 32px);
  margin-inline: auto;
 /* padding: clamp(32px, 6vw, 64px) 0; */
  display: grid;
  grid-template-columns: 4fr 6fr;
  gap: clamp(16px, 3vw, 40px);
  align-items: start;
	text-align: left;
}
.history__left .eyebrow{
  margin:0; letter-spacing:.18em; font-weight:800;
  color:#23a24d; 
  font-size:clamp(18px,5vw,68px);
	  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;letter-spacing:.05em;margin-bottom:.4em;
}
.history__left .caption{
  margin-top: .4em;
  color:#23a24d;
  opacity:.8;
}

/* SPは縦並び */
@media (max-width: 768px){
  .history{grid-template-columns: 1fr; }
	.history__left .eyebrow{ font-size:clamp(18px,10vw,68px);margin-bottom: .2em;}
	.history__left .caption{margin-bottom: 1em;}
}

/* ===== タイムライン本体 ===== */
.timeline{
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 各行は  年 | レール | テキスト  の3カラム */
.timeline__item{
  display: grid;
  grid-template-columns: auto 40px 1fr;
  column-gap: clamp(16px, 3vw, 28px);
  align-items: center;
  position: relative;
}

/* 年（アウトライン文字） */
.timeline__year{ margin:0; text-align:center; font-weight:800; font-size:clamp(18px,5vw,68px); color:#FFFFFF;
  font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;-webkit-text-stroke:2px #23a24d;paint-order:stroke fill;letter-spacing:.05em;margin-bottom:.4em;width: 200px;
}

/* レール（縦棒）とドット */
.timeline__rail{
  grid-column: 2;
  justify-self: center;
  position: relative;
  width: 4px;
  height: 100%;
  background: #23a24d;
}
.timeline__dot{
  position: absolute;
  left: 50%; top: 35%;
  translate: -50% -50%;
  width: 34px; height: 34px;
  background: #23a24d;
  border-radius: 50%;
}

/* テキスト */
.timeline__event{ margin:0 0 1.8em; font-size:clamp(14px, 2vw, 18px); color:#5d625f; line-height:1.9; letter-spacing: .05em;}

/* 最後の項目だけ “棒” を下に突き抜けさせる */
.timeline__item.is-ongoing{ padding-bottom: 30px; } /* 伸ばした分の余白 */
.timeline__item.is-ongoing .timeline__rail::after{
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -30px;              /* どれだけ突き抜けるか */
  height: 30px;
	background: linear-gradient(to top, transparent 100%, #23a24d 50%, #23a24d 0%);
}
/* 最初の項目（始まり）は上の線を消す */
.timeline__item:first-child .timeline__rail {
  background: linear-gradient(to bottom, transparent 0%, #23a24d 50%, #23a24d 100%);
}

/* SP時の微調整：年とテキストの行間を少しゆるく */
@media (max-width: 768px){
  .timeline__year{ -webkit-text-stroke: 1.6px #19a4a; font-size: clamp(18px,10vw,68px);width: 100px;}
	.timeline__event{font-size: clamp(16px, 2vw, 18px);}
	.timeline__item{align-items:start;}
	.timeline__dot{top:22%;}
}

/* Map */
.company-map__frame iframe{
  display:block; width:100%; height:clamp(260px, 42vw, 420px);
}

/* Company info */
.company-info{
  padding: clamp(36px, 7vw, 72px) 0;
}
.company-info__inner{
  width:min(840px, 100% - 32px);
  margin-inline:auto;display:flex;flex-direction:column;align-items:center;
}

/* ヘッダ（ロゴ＋社名） */
.company-info__head{
  display:flex; align-items:center; gap: 16px;
  margin-bottom: clamp(20px, 3vw, 28px);
}
.logo-dummy{
  width:56px; height:56px; border-radius:8px;
  background:#e6f6ec; color:#19a24a; font-weight:800; font-size:12px;
  display:grid; place-items:center; user-select:none;
}
.company-name{
  margin:0; font-size: clamp(20px, 3.2vw, 28px);
  color:#19a24a; font-weight:800; letter-spacing:.04em;
}

/* 定義リスト（左:ラベル列 / 右:値列） */
.company-dl{ margin:0; }
.company-dl .row{
  display:grid; grid-template-columns: 160px 1fr;
  gap: 16px; align-items:start; padding: 10px 0;
}

.company-dl dt{
  margin:0; color:#23a24d; font-weight:700;margin:0 0 .8em; font-size:clamp(14px, 2vw, 18px);
}
.company-dl dd{ margin:0 0 .8em; font-size:clamp(14px, 2vw, 18px); color:#5d625f; letter-spacing: .05em;}
.company-dl a{
  color:inherit; text-underline-offset: 2px;
}

/* SP：1列表示に */
@media (max-width: 640px){
  .company-dl .row{ grid-template-columns: 1fr; }
  .company-dl dt{ color:#23a24d; font-size: 18px;margin: 0;}
  .company-info__head{ gap:12px; }
	.company-dl dd{font-size: 16px;}
}

/* 背景＆白タイトルは前回と同じ */
.equipment{ position:relative; overflow:hidden; }
.equipment__bg{ position:absolute; inset:0; z-index:-2; }
.equipment__bg img{ width:100%; height:100%; object-fit:cover; display:block; }
.equipment__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.42); z-index:-1; }
.equipment__inner{ width:min(1140px, 100% - 32px); margin-inline:auto; padding:8em 0;text-align: center;}
.title-light{ color:#fff; margin:0 0 clamp(16px,3vw,24px); line-height:1.1; font-weight:900; font-size:clamp(28px,6vw,48px); }

/* === カテゴリ1行＝4:6 === */
.equip-row{
  display:grid;
  grid-template-columns: 4fr 6fr;   /* ← 左タイトル / 右内容 */
  gap: clamp(16px,3vw,40px);
  align-items:start;
  padding: clamp(18px,3vw,28px) 0;
	text-align: left;
}

.equip-cat__jp{
  margin:0; color:#fff; font-weight:900; font-size: clamp(18px,3.4vw,32px);
}
.equip-cat__en{ font-size: 16px; margin:.7em 0 0; color:#23a24d; font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700, 'slnt' -10;letter-spacing:.05em;margin-bottom:.4em;}

/* 右側：メーカーごとの小見出し＋表を縦に積む */
.equip-group{ margin-bottom: clamp(14px,2.6vw,22px); }
.equip-group:last-child{ margin-bottom: 0; }
.equip-group__title{ margin:0 0 .4em; color:#fff; font-weight:800; font-size:clamp(16px,2.8vw,22px); }

/* 表：下線のみ。最後行は線なし */
.equip-table{
  width:100%; color:#fff;
}
.equip-table th, .equip-table td{
  padding: 14px 0px; text-align:left; vertical-align:middle;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.maker {width: 235px;}
.equip-table thead th{ color:#e9ffe9; font-weight:700; opacity:.95; }
.equip-table tbody tr:last-child th,
.equip-table tbody tr:last-child td{ border-bottom:none; }
.equip-table td:last-child, .equip-table th:last-child{ text-align:right; white-space:nowrap; }

.txt { grid-column:1 / -1; margin:0; color:#5d625f; line-height:1.9;text-align: center;font-size: 18px;margin: 2em; }
.br-sp {display: none;}

/* SP：タイトルの下に内容を縦積み */
@media (max-width: 768px){
  .equip-row{ grid-template-columns: 1fr; }
  .equip-table th, .equip-table td{ padding: 14px 0px; font-size:14px; }
	.equip-cat__jp{font-size:clamp(26px,3.4vw,32px)}
	.equip-group__title{font-size: clamp(20px,2.8vw,22px);}
	.equip-cat__en{font-size: 14px;}
	.equipment__inner{padding: 6em 0;}
	.maker{width: 160px;}
	.txt{margin: 1em;text-align: left;}
	.br-sp {display: block;}
}
.commingsoon {     height: 90vh;
      margin: 0;
      padding: 0;
      background: #fff;
      color: #333;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;}
    .message {
      font-size: clamp(18px, 4vw, 28px);
      font-weight: 600;
      letter-spacing: 0.05em;
    }
.adress{ font-size: 80px; margin:.7em 0 0; color:#23a24d; font-family: "inter-variable",sans-serif;
  font-variation-settings: 'wght' 700;letter-spacing:.05em;margin-bottom:.4em; text-align:center;margin-top:1em;}
@media (max-width: 768px){
	.adress{ font-size: 30px;}
}
.hero__video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.5); /* 明るくしたいなら値を下げる */
  z-index: -1;
}


/* 調整しやすい変数 */
.greeting{
  --band-pad-y: clamp(28px, 5vw, 48px);        /* グラデの上下パディング */
  --band-gap:   clamp(18px, 3vw, 32px);        /* テキストと写真の間隔 */
  --photo-w:    clamp(260px, 34vw, 520px);     /* 写真の幅（PC） */
  --text-pop:   clamp(0px, 3vw, 32px);         /* PC時のみテキストを下に少し出す量 */
}

/* 余白はセクション側で */
.greeting{ padding: clamp(20px, 3.5vw, 40px) 0; margin-bottom: 2em;}

/* ===== グラデーション帯（中に子要素を入れる） ===== */
.greeting__band{
  background: linear-gradient(90deg, #95d2e2 0%, #eaf6fc 100%);
  width: 100%;
}

/* 中央寄せ＋2カラム（PC） */
.greeting__stage{
  width: min(1120px, 100% - 32px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr var(--photo-w);  /* ← 4:6 っぽい比率で固定し、重なり防止 */
  gap: var(--band-gap);
  align-items: end;           /* ← 写真を下端に揃えるキモ */
  padding: var(--band-pad-y) 0;
  position: relative;
	align-items: start;
	padding: 4em 2em;
}

/* テキスト領域（必要なら少し下に突き抜け） */
.greeting__body{
  color: #5d625f;
  margin-bottom: calc(var(--text-pop) * -4); /* PCのみ下へ少し出す。SPで0にする */
  max-width: 64ch;                           /* 行長を制御して写真と被らない */
}

/* 見出し（指定どおり） */
.greeting__heading{
  margin: 0 0 .9em 0;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 800;
  color: #5d625f;
}

.greeting__text{
  margin:0; color:#5d625f; line-height:1.9;font-size: 18px;
}

/* 署名（明朝） */
.greeting__sign{ margin-top: clamp(16px, 2.6vw, 24px); }
.greeting__role{ margin-bottom: .4em; color:#5d625f; }
.greeting__name{
  font-family: "Yu Mincho","Hiragino Mincho ProN","HGS明朝E","游明朝","游明朝体",serif;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: .15em;
  color:#5d625f;
}

/* 写真（PCは右カラムに収まる＝絶対に重ならない） */
.greeting__photo{
  margin: 0;
  width: var(--photo-w);
  justify-self: end;
	position: absolute;
	bottom: 0;
}
.greeting__photo img{ width:100%; height:auto; display:block; }

/* ===== SP：子要素をグラデ内に収め、順序を Heading→Text→Name→Photo に ===== */
@media (max-width: 768px){
  .greeting{
    --photo-w:  min(86vw, 420px);  /* 写真の最大幅を縮める */
    --text-pop: 0px;               /* 突き抜けを停止（全部グラデ内へ） */
  }
  .greeting__stage{
    grid-template-columns: 1fr;    /* 1カラム */
    align-items: start;            /* 上詰め */
  }
  .greeting__body{ margin-bottom: 0; max-width: none; }
  .greeting__photo{
    order: 4;                      /* 並び順：最後に写真 */
    justify-self: center;
    width: var(--photo-w);
	  position: relative;
	  bottom: -28px;
  }
}

/* ===== トップのグラデーション帯＋人物 ===== */
.senior{
  --band-h:   clamp(180px, 26vw, 260px);             /* グラデ帯の高さ（画像に合わせて調整） */
  --photo-w:  clamp(260px, 34vw, 520px);             /* 写真幅：社長と同じスケール */
  --pop-up:   clamp(20px, 4vw, 60px);                /* 写真の“上抜け”量（マイナス方向へ） */
  --gap-y:    clamp(16px, 3vw, 28px);                /* 帯と本文の余白 */
}

/* 上のビジュアル帯（逆向きグラデ） */
.senior-visual{
  background: linear-gradient(90deg, #eaf6fc 0%, #95d2e2 100%);
  height: var(--band-h);
  position: relative;
	margin-bottom: 2em;
}
.senior-visual__inner{
  width: min(1120px, 100% - 32px);
  margin-inline: auto;
  height: 100%;
  position: relative;
}

/* 人物：帯から上に突き抜ける（重なり防止のため左右は余白内に収める） */
.senior-photo{
  margin: 0;
  position: absolute;
  left: clamp(12px, 12vw, 160px);   /* 画像に近づけ：左寄せで配置 */
  bottom: -1px;                     /* ほぼ帯の下端に揃える */
  transform: translateY(calc(var(--pop-up) * -1)); /* 上へ突き抜け */
  width: var(--photo-w);
}
.senior-photo img{ width: 100%; height: auto; display: block; }


.senior-badge__name{ font-weight: 800; font-size: 22px; }
.senior-badge__dept{ font-size: clamp(12px, 1.5vw, 14px); opacity: .95; }

/* ===== 下の白背景テキスト（4:6） ===== */
.senior-text{ background: #fff; padding: var(--gap-y) 0 clamp(28px, 6vw, 56px); }
.senior-text__inner{
  width: min(1120px, 100% - 32px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 4fr 6fr;   /* ← 4:6 */
  gap: clamp(16px, 3vw, 40px);
  align-items: start;
  color: #5d625f;
}

/* 左タイトル */
.senior-title__jp{
  margin: 0;
  font-weight: 900;
  line-height: 1.15;
  font-size: clamp(22px, 4vw, 44px);
  color: #3a3a3a;
}
.senior-title__en{ margin: .35em 0 0; color:#23b041; font-weight: 700; }

/* 見出し：社長セクションと同サイズ */
.senior-heading{
  margin: 0 0 .8em;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 800;
  color: #5d625f;
}
.senior-paragraph{
  margin: 0;
  line-height: 1.95;
  font-size: 18px;
}

/* ===== SP 最適化 ===== */
@media (max-width: 768px){
  .senior{
    --photo-w: min(86vw, 420px);
    --pop-up:  0px;                                /* SPは上抜けを止めると実画像に近い見え方 */
  }
  .senior-photo{
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);                 /* センター寄せに変更 */
    bottom: -12px;
  }
  .senior-text__inner{ grid-template-columns: 1fr; }
  .sp-br{ display: none; }
}
/* 写真：セクション中央に配置（PC） */
.senior-photo{
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: var(--photo-w);
  /* 上へ突き抜け量を維持しつつXも中央に */
  transform: translate(-50%);
  margin: 0;
}

/* バッジ：常に写真の中央に */
.senior-badge{
  position: absolute;
  left: 50%;
  bottom: clamp(8px, 1vw, 10px);
  transform: translate(-50%, 8px);
  background: #23b041;
  color: #fff;
  padding: .5em .9em;
  display: inline-flex;
  gap: .35em;
  align-items: baseline;
  white-space: nowrap;
	bottom: -10px;
}

/* SP時（すでに中央寄せしている場合はそのままでOK） */
@media (max-width: 768px){
  .senior{
    --photo-w: min(86vw, 420px);
    --pop-up: 0px;                     /* SPは帯内に収める想定なら0 */
  }
  .senior-photo{
    left: 50%;
    bottom: -12px;
    transform: translate(-50%, 0);     /* SPは上抜け停止 */
  }
}
/* 社長セクション（.greeting）の直後に来る先輩セクションの上余白を確保 */
.greeting + .senior{
  /* 突き抜け量 + ビューポート連動の余白を合算して安全距離をとる */
  margin-top: 20em;
}

/* さらに狭い画面では少し増やす（被りの保険） */
@media (max-width: 768px){
  .greeting + .senior{
    margin-top: clamp(24px, 8vw, 80px);
  }
}


/* ========= 基本（縦1列固定） ========= */
.dayflow{
  --bg: #ecf6ee;                     /* ボックス背景 */
  --stroke: #23a24d;                 /* 時刻の縁取り */
  --arrow: #23a24d;                  /* 下三角の輪郭色 */
  --gap-y: clamp(32px, 6vw, 56px);   /* 各ブロック間の縦間隔 */
  --time-size: 70px; /* 時刻のフォントサイズ */
}

.dayflow{ padding: 0 0 4em; }

.dayflow__inner{
  width: min(1120px, 100% - 32px);
  margin-inline: auto;
  display: block;                    /* ← PC/SP 共通で縦1列 */
}

/* ========= 各アイテム ========= */
.dayflow__item{
  position: relative;
  background: var(--bg);
  border-radius: 6px;
  padding: clamp(18px, 2.6vw, 24px) clamp(16px, 3vw, 28px);
  /* 時刻が 50% 上に出る分の“受けスペース”を確保
     0.5 * フォントサイズ + 少し余白 */
  padding-top: calc( (var(--time-size) * 0.5) + clamp(6px, 1vw, 12px) );
  margin-bottom: var(--gap-y);
}

/* 下三角（中央） */
.dayflow__item::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%) rotate(45deg);
  width: 40px; height: 40px;
  /* 緑の輪郭っぽく見せる。要らなければ消してOK */
  box-shadow: 2px 2px 0 0 var(--arrow);
}

/* ========= 時刻（半分上に飛び出させる） ========= */
.dayflow__time{
  position: absolute;
  top: 0;                            /* 箱の上辺基準 */
  transform: translateY(-50%);       /* 自分の高さの 50% を上に */
  margin: 0;

  font-family: "inter-variable";
  font-variation-settings: 'wght' 700, 'slnt' -10;
  font-size: var(--time-size);
  line-height: 1;

  -webkit-text-stroke: 1px var(--stroke);
  paint-order: stroke fill;
  /* 塗り：上=白, 50%=白, 下=背景色 で再現 */
  background: linear-gradient(#ffffff 0%, #ffffff 50%, var(--bg) 50%, var(--bg) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  pointer-events: none;              /* クリックを邪魔しないよう保険 */
}

/* ========= コンテンツ ========= */
.dayflow__content{
  display: grid;
  grid-template-columns: 1fr;
  gap: .6em;
}
.dayflow__title{
  margin: 0;
  font-weight: 900;
  font-size: clamp(18px, 2.6vw, 24px);
  color: #2e2e2e;
  text-align: left;                  /* SP時だけ中央にしたいなら下で上書き */
}
.dayflow__text{
  margin: 0;
  color: #4c504e;
  line-height: 2;
  font-size: clamp(14px, 1.9vw, 16px);
}

/* ========= 画像（09:00 と 09:30 の間に単独で挿入） ========= */
.dayflow__media{
  margin: -6em 0 2em;
  display: grid;
  justify-content: end;
}
.dayflow__media img{
  width: min(260px, 70vw);
  height: auto;
  display: block;
	position: relative;
	top: 5em;
	z-index: 5;
	right: 2em;
}

/* ========= SPで「朝礼」などの見出しを中央寄せ ========= */
@media (max-width: 767.98px){
  .dayflow__title{ text-align: center; }
}


.message-area {
  width: min(1120px, 100% - 32px);
  margin-inline: auto;
  padding: clamp(48px, 8vw, 96px) 0;
  display: flex;
  flex-direction: column;
  gap: clamp(72px, 10vw, 120px);
}

/* 各ブロックのレイアウト */
.message-block__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: clamp(32px, 4vw, 36px);
	text-align: left;
}

.message-block__img {
  flex: 1 1 40%;
}
.message-block__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.message-block__text {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  gap: 1.2em;
}

/* 交互（会長側） */
.message-block.reverse .message-block__inner {
  flex-direction: row-reverse;
}

.message-title {
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 700;
  color: #5d625f;
}
.message-sub {
margin:0 0 .5em; font-weight:700; font-size:clamp(18px, 2.4vw, 24px); color:#5d625f; line-height:1.6;letter-spacing:.05em;
}

/* 本文 */
.message-block__text p { margin:0 0 1.8em; font-size:clamp(14px, 2vw, 18px); color:#5d625f; line-height:1.9; letter-spacing: .05em;}

/* 名前（明朝体） */
.message-name {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 1rem;
  color: #5d625f;
  line-height: 1.8;
}
.message-name strong {
	  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 1.4rem;
  font-weight: 600;
}

/* レスポンシブ（SPで縦並び） */
@media (max-width: 768px) {
  .message-block__inner {
    flex-direction: column;
  }
  .message-block.reverse .message-block__inner {
    flex-direction: column;
  }
  .message-block__img {
    order: -1;
  }
  .message-block__img img {
    max-width: 80%;
    margin: 0 auto;
  }
  .message-title {
    text-align: center;
  }
  .message-sub, .message-name {
    text-align: center;
  }
}
.dayflow__item:last-child::after {
  display: none;
  content: none;
}
