/*
Theme Name: Arden Facility Service
Theme URI: https://ardenfacility.com/
Description: Arden Facility Service Exclusive Theme
Version: 1.0
Author: Taisuke Inui
Author URI: https://taisukeinui.com/
*/

/* wordpress blog */
img.alignright { display: block; margin: 0 0 0 auto; }

img.alignleft { display: block; margin: 0 auto 0 0; }

img.aligncenter { display: block; margin: 0 auto; }

.mt-10px{margin-top:10px !important;}

.mt-20px{margin-top:20px !important;}

.mt-30px{margin-top:30px !important;}

.mt-40px{margin-top:40px !important;}

.mt-50px{margin-top:50px !important;}

.mt-60px{margin-top:60px !important;}

.mt-70px{margin-top:70px !important;}

.mt-80px{margin-top:80px !important;}

.mt-90px{margin-top:90px !important;}

.mt-100px{margin-top:100px !important;}

.mb-10px{margin-bottom:10px !important;}

.mb-20px{margin-bottom:20px !important;}

.mb-30px{margin-bottom:30px !important;}

.mb-40px{margin-bottom:40px !important;}

.mb-50px{margin-bottom:50px !important;}

.mb-60px{margin-bottom:60px !important;}

.mb-70px{margin-bottom:70px !important;}

.mb-80px{margin-bottom:80px !important;}

.mb-90px{margin-bottom:90px !important;}

.mb-100px{margin-bottom:100px !important;}

.mb-120px{margin-bottom:120px !important;}

.mb-180px{margin-bottom:180px !important;}

.pb-120px{padding-bottom:120px !important;}

@media screen and (max-width:767px){
 .mb-60px{margin-bottom:30px !important;}
}

a{color:inherit; text-decoration:underline;}

a:hover{color:inherit; text-decoration:none;}

a:hover img.hoverImg{opacity:0.6;}

.flex-box {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.flex-height {display: flex; align-items: center;}

.anchor-link {scroll-margin-top: 110px;}

.btn{white-space:normal;}

.container {max-width: 1530px;}

@media screen and (max-width: 1540px){
.container {max-width: 1430px;}
}

@media screen and (max-width: 1440px){
.container {max-width: 95%; padding-left:2.5%; padding-right:2.5%;}
}

@media screen and (max-width: 767px){
.container {max-width: 100%;}
}

.img-center{display:block; margin-left:auto; margin-right:auto;}

.text-grey{color:#c5c5c5 !important;}

.text-orange{color:#ea282a !important;}

.bg-grey{background-color:#c5c5c5 !important;}

.bg-orange{background-color:#ea282a !important;}

.btn-outline-danger{color:#ea282a; border-color:#ea282a;}

.btn-outline-danger:hover{background-color:#ea282a;}

html{font-size:17px;}

body{font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto; line-height:1.6rem;}

@media screen and (max-width:1199px){
 html{font-size:1.3vw;}
}

@media screen and (max-width:991px){
 html{font-size:1.75vw;}
}

@media screen and (max-width:767px){
 html{font-size:3.5vw;}
}

h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:700;}

h1,.h1{line-height:3.5rem;}

h2,.h2{line-height:3rem;}

h3,.h3{line-height:2.75rem;}

h4,.h4{line-height:2.5rem;}

h5,.h5{line-height:2rem;}

h6,.h6{line-height:1.75rem;}

@media screen and (max-width:767px){
 h1,.h1{line-height:2.7rem;}

 h2,.h2{line-height:2.45rem;}

 h3,.h3{line-height:2.25rem;}

 h4,.h4{line-height:2rem;}

 h5,.h5{line-height:1.8rem;}

 h6,.h6{line-height:1.6rem;}
}

.sec-ttl-xl small{font-size:0.6em}

/* header */
#logo-header{width:170px; -webkit-transition: ease .25s; transition: ease .25s;}

.small-header{box-shadow: 0 0 4px grey; background-color:rgba(255, 255, 255, 0.85);}

.small-header #logo-header{width:125px; -webkit-transition: ease .25s; transition: ease .25s;}

.navbar-expand-lg .navbar-nav .nav-link{padding-right:1rem; padding-left:1rem;}

.navbar-brand{padding-top:0; padding-bottom:0;}

.dropdown-item.active, .dropdown-item:active{background-color: #ea282a;}

@media screen and (max-width:991px){
 .navbar-nav{text-align:center;}
}

@media screen and (max-width:767px){
 #logo-header, .small-header #logo-header{width:125px;}
}

/* footer */
#footer{padding:35px 0; color:#f8f9fa; background:#ea282a;}

#footer a{color:#f8f9fa; text-decoration:underline;}

#footer a:hover{text-decoration:none;}

#footer ul{list-style:none; padding-left:0; display: flex; justify-content: center; align-items: center; list-style: none; margin-bottom:30px;}

#footer ul li{float:left; border-right:1px solid #fdf8e8; padding-right:15px; margin-right:15px;}

#footer ul li:last-child{border:none; margin-right:0;}

@media screen and (max-width:991px){
#footer ul{text-align:center; display:block;}
	
#footer ul li{float:none; border:none; padding-right:0; margin-right:0; margin-bottom:18px;}
}

/* mutual */
.sec-pt-120px{padding-top:120px;}

.sec-pt-90px{padding-top:90px;}

.sec-pb-90px{padding-bottom:90px;}

.sec-pb-120px{padding-bottom:120px;}

.sec-ttl-xl{font-size:4.25rem; font-weight:700;}

.sec-ttl-xl-2{font-size:3.75rem; font-weight:700;}

@media screen and (max-width:991px){
 .sec-ttl-xl{font-size:3.5rem;}
 
 .sec-ttl-xl-2{font-size:3rem;}
}

@media screen and (max-width:767px){
 .sec-ttl-xl,.sec-ttl-xl-2{font-size:2.75rem; line-height:3rem;}
 
 .sec-pt-120px{padding-top:60px;}

 .sec-pt-90px{padding-top:45px;}

 .sec-pb-90px{padding-bottom:45px;}
}

/* index */
.product-box-home{display:block; position:relative;}

.product-box-home01{margin-bottom:70px;}

.product-box-home02{margin-top:70px;}

.decor-products{position:absolute; width:140px; height:140px;}

.decor-products01{right:0; bottom:-70px;}

.decor-products02{left:0; top:-70px;}

.case-study-box-home{display:block; position:relative; margin-top:16.5px;}

.case-study-tag{position:absolute; left:0; top:-16.5px; border-radius:0; font-size:1.15rem; font-weight:normal; padding:0.65em 0.65em}

@media screen and (max-width:767px){
 .product-box-home01{margin-bottom:45px;}

 .product-box-home02{margin-top:45px;}
 
 .decor-products{width:90px; height:90px;}
 
 .decor-products01{bottom:-45px;}

 .decor-products02{top:-45px;}
}

/* page */
.img-gallery{background:#ddd; aspect-ratio:4/3;}

.img-products{background:#ddd; aspect-ratio:1/1; display:block;}

ul.checked{list-style:none; padding-left:2px; padding-right:20px;}

ul.checked li{padding-left: 1.5em; margin-bottom:15px;}

ul.checked li:before{content: '\f00c'; /* FontAwesome Unicode */
  font-family: 'Font Awesome 5 Pro';
  display: inline-block;
  margin-left: -1.5em; /* same as padding-left set on li */
  width: 1.5em; /* same as padding-left set on li */
  color:#23984d; }

:root{
  /*--gap: clamp(10px, 2vw, 16px);*/
  --flag-padding: clamp(18px, 2.6vw, 28px) clamp(38px, 4.8vw, 55px);
  --radius: 18px;
}

.steps-scroll-container {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

.steps{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--gap) var(--gap);
  width: 1250px; /* ← ここで“PC版の見た目”を固定 */
}

.step{ display: grid; gap: 14px; width:33%; place-content:flex-start;}

.flag {
  position: relative;
  height:124px !important;
  background: var(--c, #222);
  border-radius: 0 24px 24px 0; /* 右だけ丸みを残す */
  padding: var(--flag-padding);
  font-weight: 700;
  line-height: 1.1;
  clip-path: polygon(
    0 0,
    calc(100% - 35px) 0,
    100% 50%,
    calc(100% - 35px) 100%,
    0 100%,
    35px 50%
  );
}

.flag h3 span{position:absolute; left:55px;}

.flag h3{padding-left:25px;}

@media (max-width: 1439px){
 .steps{width:1150px;}
 
 .flag{height:85px !important;}
}

.bg-page-hospitallity{background-color:#343132;}

.bg-page-beige{background-color:#fff9ea;}

/* レスポンシブ（タブレット以下は2列、モバイルは1列） */
@media (max-width: 767px){
 .flag h3{padding-left:37px;}
 
 .steps{width:1000px;}
}

/* Back to Top */
#return-to-top {
    z-index:1000;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: rgba(22, 126, 61, 0.5);
    width: 50px;
    height: 50px;
    display: block;
    text-decoration: none;
    border-radius: 35px;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top i {
    z-index:1200;
    color: #fff;
    margin: 0;
    position: relative;
    left: 13px;
    top: 13px;
    font-size: 19px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top:hover {
    background: rgba(0, 0, 0, 0.9);
}
#return-to-top:hover i {
    color: #fff;
    top: 5px;
}

