@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;600;700&display=swap');

/* CSS Document */

/*-----------------------
 body wrap
-------------------------*/
html{
max-width: 1920px;
margin: 0 auto;
}
body{
max-width: 1920px;
margin: 0 auto;
background-color: #ffffff;
font-size: 1.6rem;
}
.wrap{
width: 1200px;
margin: 0 auto;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

/*-----------------------
 header
-------------------------*/
header{
width: 100%;
max-width: 1920px;
position: fixed;
top:0;
left:50%;
transform: translateX(-50%); 
z-index: 998;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
header .h_logo img {
    margin-left: 1em;
    transform: translateY(10px) !important;
}

header.active{
background-color: #fff;
}
header .wrap{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    justify-content: space-between;
    height:60px;
    position: relative;
}

nav.g_nav{
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

nav.g_nav ul{
    display: flex;
    justify-content: flex-end;
    align-items: center;

    gap: 56px;

    margin: 0;
    padding: 0 48px;

    background: none;
}

nav.g_nav ul li{
    margin: 0;
    padding: 0;
}

nav.g_nav ul a{
    display: block;

    padding: 22px 0;

    color: #26343a;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.03em;

    text-shadow: none;
    text-decoration: none;
    white-space: nowrap;
}

/*-----------------------
 mv
-------------------------*/
.mv{
width: 100%;
margin: 0 auto;
max-width: 1920px;
min-height:782px;
background-image: url("../images/mv_bk3.jpg?2105090600");
background-repeat: no-repeat;
background-position: center top;
background-size:auto 100%;
z-index:-1;
}

.mv .wrap{
width:90%;
max-width: 1600px;
padding-top:10em;
text-align: left;
}
.mv .read{
color:#000;
text-align: center;
line-height: 2;
font-size:2rem;
display: inline-block;
margin:0 0 0 1em;
font-weight: bold;
}
.mv .read h1{
font-size:3rem;
font-weight: bold;
margin: 1em 0;
}

/*-----------------------
 section
-------------------------*/
section:not(.mv){
width: 100%;
padding:4vw 0 2vw 0;
background-color: #fff;
}

section.sdgs{
padding:0 0 0 0;
}
section.sdgs section{
padding: 0;
}
section.sdgs .wrap{
margin:0 auto;
}
section.sdgs section.read{
    width:100%;
    min-height:0;

    background-image:none;

    text-align:left;

    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;

    color:#4f5f65;
    line-height:2;

    padding:56px 0 34px 0;
}
section.sdgs section.read h3{
    font-size:2rem;
    font-weight:bold;
    text-shadow:none;

    color:#263b45;

    margin:0 0 16px 0;

    text-align:left;
}
section.sdgs section.read p{
    font-size:1.6rem;
    margin:0;
    text-align:left;
}
section.sdgs .bannur{
border: 1px solid #333;
padding:1.5em 0.5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
margin-top: 1em;
}
section.sdgs .bannur:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
section.sdgs .bannur ul{
display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom:0.5em;
}
section.sdgs .bannur ul li{
display: inline-block;
padding:0 2em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-right: 1px solid #333;
}
section.sdgs .bannur ul img{
max-height:60px;
width: auto;
}
section.sdgs .bannur ul li:nth-last-of-type(1){
border-right: none;
}
section.sdgs .bannur ul li:nth-of-type(1) img {
    padding:0 8px;
}


section.sdgs section.sdgsin{
    width:100%;
    margin:34px 0 0 0;

    display:block;
    clear:both;

    padding:0;

    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}
section.sdgs section.sdgsin .pic{
max-height: 120px;
width:120px;
margin-right: 20px;
float: left;
display: block;
}
section.sdgs section.sdgsin .pic img{
width: 100%;
height: auto;
}
section.sdgs section.sdgsin h3{
font-size:2.4rem;
background-color:#92D050;
color: #fff;
border-radius: 2px;
float: left;
min-width:960px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: center;
font-weight: bold;
padding: 0.25em 0;
}
section.sdgs section.sdgsin .sbox{
width: 100px;
height: 70px;
display: flex;
  justify-content: center;
  align-items: center;
float: left;
text-align: center;
font-size: 1.8rem;
line-height: 1;
border: 1px solid #333;
margin:0.5em 1em ;
border-radius: 4px;
}
section.sdgs section.sdgsin p{
float: left;
max-width: 780px;
line-height: 2;
margin-top: 1em;
text-align: left;
}
section.sdgs:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

section .wrap > h2{
text-align: center;
font-size:4rem;
font-weight: bold;
color: #92D050;
font-family: 'M PLUS Rounded 1c';
transform: rotate(0.03deg);
padding-bottom:3vw;
display: flex;
  justify-content: center;
  align-items: center;
}
section .wrap > h2 span{
font-size: 1.6rem;
padding: 0 0 0 1em;
font-weight: normal;
}

section .wrap .inner{
width: 1200px;
padding:3vw 2vw;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #92D050;
margin: 0 auto;
line-height: 2;
background-color: #fff;
box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
text-align: center;
border-radius: 4px;
}


section.mission p strong{
font-size: 2rem;
font-weight: bold;
text-align: center;
}
section.values ul.bold{
font-size: 2rem;
font-weight: bold;
text-align: left;
display: inline-block;
margin: 0 auto;
}
section.business .inner{
margin-bottom: 3vw;
}
section.business .inner section{
padding:0 0 2vw 0;
}
section.business .inner section h3{
font-size: 2.4rem;
font-weight: bold;
padding-bottom:0.5em;
margin:0 0 1.5em 0;
position: relative;
line-height: 1;
}
section.business .inner section h3:after{
content: "";
display: block;
width: 100px;
height: 1px;
background-color:#FF8724;
left:50%;
transform: translateX(-50%);
bottom:0;
position: absolute;
}
section.business .inner section h3 span{
display: inline-block;
}
section.business .inner section h3 br{
display: none;
}

section.business ul.planing_list{
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
    justify-content:space-around;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin: 2em 0 1em 0;
}
section.business ul.planing_list li{
width: 45%;
min-height:180px;
background-color: #92D050;
border-radius: 6px;
color: #fff;
text-align: center;
margin-bottom: 1em;
padding:1.5em 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
font-weight: bold;
}
section.business ul.planing_list li h4{
font-size:2rem;
margin-bottom: 0.5em;
text-decoration: underline;
font-weight: bold;
}
section.business ul.planing_list li a{
background-color: #fff;
color: #FF8724;
padding: 0 0.5em;
border: 1px solid #FF8724;
}
section.business ul.planing_list li a:hover{
color: #fff;
background-color:#FF8724;
}


section.company .wrap > section{
width: 1200px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #92D050;
margin: 0 auto;
padding: 4vw 0;
line-height: 2;
background-color: #fff;
box-shadow: 1px 1px 2px rgba(0,0,0,0.3);
text-align: center;
border-radius: 4px;
margin-bottom: 3vw;
}
section.company .wrap > section .inner{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
border: none;
box-shadow: none;
}

section.company .wrap section > h3{
font-size: 2.4rem;
font-weight: bold;
padding-bottom:0.5em;
margin:0 0 1.5em 0;
position: relative;
line-height: 1;
text-align: center;
}
section.company .wrap section > h3:after{
content: "";
display: block;
width: 100px;
height: 1px;
background-color:#FF8724;
left:50%;
transform: translateX(-50%);
bottom:0;
position: absolute;
}
section.company ul.company-list{
text-align: left;
display: inline-block;
margin: 1em auto 0 auto;
}
section.company ul.company-list > li {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
    line-height: 2;
    padding-bottom: 1em;
}
section.company ul.company-list > li > span:nth-of-type(1){
font-weight: bold;
min-width: 8em;
margin-right: 1em;
display: inline-block;
}


p.btn{
margin:1em 0 2em 0;
}

input[type=submit].wpcf7-form-control,
.contact p.btn input[type=submit],
p.btn a{
display: flex;
  justify-content: center;
  align-items: center;
padding: 0.5em 1em;
background-color: #FF8724;
border: 1px solid #FF8724;
color: #fff;
max-width:25em;
min-width: 25em;
margin: 0 auto;
border-radius: 4px;
font-size: 1.6rem;
}
p.btn a:after{
content:"　＞";
font-size: 1.6rem;
}
.contact p.btn input[type=submit]:hover,
p.btn a:hover{
background-color: #fff;
color:#FF8724;
}


section.news ul.news-table{
	display:flex;
	justify-content:flex-start;
	align-items: center;
    justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
section.news ul.news-table li{
width: 30%;
height:140px;
border: 1px solid #ccc;
margin-bottom: 1em;
padding: 1.5em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
line-height: 2;
}
section.news ul.news-table li p span{
background-color: #FF8724;
color: #fff;
padding: 2px 0.5em;
margin-right: 1em;
}
section.news ul.news-table li a{
font-weight: bold;
}
section.news ul.news-table li p:nth-of-type(1){
margin-bottom:0.5em;
}

section.access{
padding: 2vw 0;
}
section.access .wrap{
width: 1200px;
}
section.access iframe{
float: left;
margin-right: 2em;
height: 400px;
width: 60%;
}
section.access p {
    line-height: 2.8rem;
    letter-spacing: 1.5px;
}
section.access:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

section.contact{
padding-bottom: 6vw;
}

.form-list {
  display: table;
  text-align: left;
  width:900px;
  float:none;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 0 0.5vw;
}
.form-list:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.form-list li {
  display:block;
  vertical-align:middle;  
  height: auto;
  line-height: 1.5;
}

.form-list li span {
  display: table-cell;
  vertical-align:top;
  line-height: 1;
}
.wpcf7-response-output,
.screen-reader-response,
.form-list li span.wpcf7-not-valid-tip {
  position:relative;
  color: #e74724;
  font-size: 1.2rem;
}

.form-list li:last-child span {
	vertical-align:top;	
}
.form-list li span label {
  text-align: right;
  margin-right: 10px;
  width: 30px;
  height: 45px;
  display: block;
  float: left;
  display: flex;
  justify-content: right;
  align-items: center;
}

.form-list li span:first-child {
  width: 220px;
  text-align: right;
  padding: 0 25px 0 0;
}

.form-list li span:first-child i {
  color: #e74724;
  margin-left: 0.5em;
}

.form-list li textarea,
.form-list li input[type=text],
.form-list li input[type=tel],
.form-list li input[type=email] {
  width:635px;
  padding:0 10px;
	vertical-align:middle;
	height:40px;
  text-align: left;
  border: 1px solid #bdbdbd;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-size:1.4rem;
}

.form-list li textarea {
	padding:10px;
  min-height: 150px;
  max-width:635px;
  min-width:635px;
}

.form-list li input[type=text].short,
.form-list li input[type=tel].short,
.form-list li input[type=email].short {
  width: 170px;
  float: left;
}

.form-list li input[type=text].short:nth-child(2) + label,
.form-list li input[type=tel].short:nth-child(2) + label,
.form-list li input[type=email].short:nth-child(2) + label {
  margin-left: 26px;
}

.form-err{
	font-weight:bold;
	font-size:1.8rem;
	color:#BB0013;
	margin:3em 1em;
	line-height:4rem;
	text-align:center;
}
.form-err+p>a,
.form-err+p{
	font-weight:bold;
	font-size:1.6rem;
	text-align:center;
}

/*==========================================
privacy
==========================================*/
.modal-privacy{
  width:800px;
  margin: 0 auto;
  color: #363636;
  clear:both;
  
}
.modal-privacy h2{
	font-size:1.8rem;
	text-align:center;
}
.modal-privacy .privacy-txt{
  width:90%;
  text-align: left;  
  height:100px;
  overflow:auto;
	clear:both;
	margin:1em 0;
	padding:5%;
	background-color:#FFF;
	border:1px solid #BDBDBD;
}

.contact .modal-privacy .privacy-txt p{
  margin:0 0 1em 0;
  text-align: left; 
  line-height:1.8rem;
  clear:both;  	
}
.modal-privacy .privacy-txt h2{
	margin:1em 0 0 0;
	font-weight:bold;
  text-align: left; 	
}
.contact .modal-privacy .privacy-txt p a[href^="tel"]{
    color:inherit;
    text-decoration:none;
}
.contact p.bold{
font-size:2rem;
margin-bottom: 1em;
}
.contact p.btn{
margin:3em 0 1em 0;
}
.contact .wrap .inner{
padding: 3vw 0;
}


/*-----------------------
 page-top
-------------------------*/
#page-top{
    width:44px;
    height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    position:fixed;
    right:5%;
    bottom:5%;

    cursor:pointer;
    z-index:998;

    background:#315f73;
    border-radius:50%;

    box-shadow:0 3px 10px rgba(0,0,0,0.12);

    transition:all 0.3s ease;
}

#page-top img{
    display:none;
}

#page-top::before{
    content:"";
    display:block;

    width:10px;
    height:10px;

    border-top:3px solid #fff;
    border-left:3px solid #fff;

    transform:rotate(45deg);
    margin-top:5px;
}

#page-top:hover{
    opacity:0.82;
    transform:translateY(-2px);
}

/*-----------------------
 footer
-------------------------*/
footer{
    width:100%;
    height:220px;

background-image:
    linear-gradient(
        rgba(247, 243, 235, 0.48),
        rgba(247, 243, 235, 0.58)
    ),
    url("../images/footer_bk2.jpg?2105141730");

    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;

    position:relative;
}

footer .wrap{
    width:76%;
    height:100%;

    margin:0 auto;
    padding:0 20px;

    box-sizing:border-box;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    position:relative;
}

footer .wrap ul.f_nav{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;

    float:none;

    width:100%;

    margin:0 0 26px 0;
    padding:0;

    gap:18px 38px;
}

footer .wrap ul.f_nav li{
    margin:0;
    padding:0;
}

footer .wrap ul.f_nav li a{
    display:block;

    padding:0;
    min-width:inherit;

   color:#26343a;

    font-size:14px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:0.04em;

    text-decoration:none;

   text-shadow:none;

    transition:opacity 0.25s ease;
}

footer .wrap ul.f_nav li a:hover{
    opacity:0.72;
}

footer .wrap .copy{
    position:static;

    left:auto;
    bottom:auto;
    transform:none;

    display:block;

    width:100%;

    margin:0;
padding:14px 0 0 0;

border-top:1px solid rgba(49,95,115,0.25);

color:#59686d;

    font-size:12px;
    line-height:1.5;
    letter-spacing:0.04em;

    text-align:center;
}

    .sp,
	#humbt,
    #chk{
    display: none;
    }

/*---------------------------------------------*
* width 1200px
*----------------------------------------------*/
@media screen and (max-width:1200px) {

.wrap{
width:100%;
padding: 0;
margin: 0 auto;
}
nav.g_nav ul a{
padding: 0.5em 0.5em;
display: block;
font-weight: bold;
text-shadow: 1px 1px 1px #fff;
}
.mv .wrap {
    width:100%;
}
section .wrap .inner {
    width:96%;
}
section.business ul.planing_list li {
    width:49%;
}
section.sdgs section.sdgsin {
    width:100%;
}
section.sdgs section.sdgsin h3 {
    font-size: 2.4rem;
    background-color: #92D050;
    color: #fff;
    border-radius: 2px;
    float: left;
    min-width:85%;
}
section.sdgs section.sdgsin p {
    float: left;
    max-width: 70%;
}
section.news ul.news-table {
    align-items:stretch;
}
section.news ul.news-table li {
    width: 30%;
    min-height:inherit;
    height: auto;
}
section.access .wrap,
section.company .wrap > section {
    width:96%;
}
section.access iframe {
    float: left;
    margin-right: 2em;
    height:40vw;
    width:50%;
}
.form-list {
    display: table;
    text-align: left;
    width: 96%;
}
footer{
background-position: left -20vw top;
}
footer .wrap ul.f_nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    float: right;
    width:100%;
}

}
/* width 1200px end --------------------------------------------*/

/*---------------------------------------------*
* width 1000px
*----------------------------------------------*/
@media screen and (max-width:1000px) {
body{
font-size: 1.4rem;
}
.wrap{
width:96%;
padding: 0;
margin: 0 auto;
}
section:not(.mv) {
    padding:6vw 0;
}
section .wrap .inner {
    width:100%;
    padding:4vw 1em;
}

.sp{
	display:flex;
	justify-content:flex-end;
	align-items: center;
}

	#humbt{
		display:inline-block;
		float:right;
		margin:0 0 0 10px;
    width:30px;
    height:30px;
    cursor: pointer;
	position:relative;		
	}

#humbt span {
    display: block;
    position: absolute;
    height:4px;
    width: 100%;
    background:#333333;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}	
#humbt span:nth-child(2) {
    top:13px;
}
#humbt span:nth-child(3) {
    top:26px;
}	

#chk:checked ~header #humbt span:nth-child(1) {
    top:13px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
}
#chk:checked ~header #humbt span:nth-child(2) {
    width: 0;
    left: 50%;
}
#chk:checked ~header #humbt span:nth-child(3) {
    top:13px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
}

header nav.g_nav{
display: block;
position: fixed;
top: 60px;
left: 0;
width: 100%;
height:0;
padding:0 0;
background-color: #fff;
overflow-y: hidden;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
}
header nav.g_nav ul{
display: block;
height: 100%;
border-top: 1px solid #92D050;
}
header nav.g_nav ul a {
    padding:1.25em 0;
    display: block;
    width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;    
    font-weight: bold;
    font-size: 2rem;
    text-align: center;
    text-shadow: 1px 1px 1px #fff;
    border-bottom: 1px solid #92D050;
}
#chk:checked ~ header nav.g_nav{
height:100vh;
padding:0 0 5vw 0;
}


.mv {
    width: 100%;
    min-height:inherit;
    height:130vw;
    background-image: url("../images/mv_bk.jpg?2105090600");
    background-repeat: no-repeat;
    background-position: center top;
    background-size:200% auto;
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    z-index: -1;
position: relative;
}

section.mv .wrap{
width: 96%;
text-align: center;
padding-top:85vw;
}

section.business ul.planing_list li {
    min-height: 148px;
}

section.sdgs section.sdgsin {
    width:100%;
}
section.sdgs section.sdgsin h3 {
font-size: 2vw;
    min-width: 80%;
}
section.sdgs section.sdgsin .sbox {
    width: 10vw;
    height:8vw;
    font-size: 1.8vw;
}
section.sdgs section.sdgsin p {
    max-width: 63%;
}

section.news ul.news-table li {
    width:48%;
    height: auto;
    min-height: 140px;
    border: 1px solid #ccc;
    margin-bottom: 1em;
    padding: 1.5em;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 2;
}
section.company .wrap > section {
    width: 100%;
padding:10vw 1em;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

section.access .wrap {
    width:96%;
}

section.access iframe {
    height:40vw;
    width:40%;
}
.form-list {
    width:96%;
    float:none;
    margin: 0 auto;
    border-collapse: separate;
    border-spacing: 0 2vw;
}
.modal-privacy {
    width:96%;
    margin: 0 auto;
}
@media screen and (max-width: 1000px) {

    footer .wrap ul.f_nav {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        justify-content: space-between;
        width: 100%;
    }

    footer .wrap ul.f_nav > li {
        width: auto !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    footer .wrap ul.f_nav > li > a {
        white-space: nowrap !important;
        font-size: 11px !important;
        letter-spacing: 0 !important;
    }
}
footer .wrap ul.f_nav li{
margin-bottom: 1em;
}
footer .wrap ul.f_nav a {
    padding: 0 1vw;
min-width:inherit;
display: block;
}
footer {
    width: 100%;
    height: 300px;
    background-image: url("../images/footer_bk.jpg?2105090600");
    background-repeat: no-repeat;
    background-position: center left -15vw;
    background-size: auto 100%;
}

}
/* width 1000px end --------------------------------------------*/

/*---------------------------------------------*
* width 768px
*----------------------------------------------*/
@media screen and (max-width:768px) {
header .h_logo img {
    margin-left:0;
    height: 30px;
    width: auto;
}
header .sp img{
max-height: 40px;
width: auto;
}
header .wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    justify-content: space-between;
    height:40px;
    position: relative;
}
header nav.g_nav{
top: 40px;
}

.mv {
    width: 100%;
    min-height:inherit;
    height:120vw;
    background-image: url("../images/mv_bk.jpg?2105090600");
    background-repeat: no-repeat;
    background-position: center top;
    background-size:200% auto;
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    z-index: -1;
position: relative;
}
/*
.mv:after{
position: absolute;
content: "";
display: block;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: rgba(255,255,255,0.6);
z-index:-1;
}
*/
.mv .read{
z-index: 2;
}
.mv .read h1 {
    font-size:4rem;
    font-weight: bold;
    margin: 1em 0;
    text-shadow: 1px 1px 1px #fff, 1px 1px 1px #fff;
}
.mv .read {
    font-size: 1.5rem;
    margin:0 auto 0 auto;
    text-shadow: 1px 1px 1px #fff, 1px 1px 1px #fff;
}
section.mv .wrap{
width: 96%;
text-align: center;
padding-top:85vw;
}

section .wrap .inner p{
    text-align:left;
}


section.mission p strong {
    font-size:1.6rem;
}
section.values ul.bold {
    font-size:1.6rem;
}
section.values ul.bold li{
text-indent: -2em;
margin-left: 2em;
font-size: 1.4rem;
}

section.business .inner section h3 {
    font-size:1.8rem;
    font-weight: bold;
    padding-bottom: 0.5em;
    margin: 1.5em 0;
    position: relative;
    line-height: 1.5;
}
section.business .inner section h3 span{
display: none;
}
section.business .inner section h3 br{
display:block;
}
section.business br{
display: none;
}
section.business ul.planing_list li h4 {
    font-size:1.8rem;
}

#posket p.txtL:nth-of-type(1){
text-align: center;
margin: 1em 0;
}

.contact p.btn input[type="submit"], p.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em 1em;
    background-color: #FF8724;
    border: 1px solid #FF8724;
    color: #fff;
    max-width:100%;
    min-width:12em;
}
section.business ul.planing_list li {
    width:100%;
    min-height: inherit;
}

section.sdgs section.read h3 {
    font-size:1.8rem;
    z-index: 2;
}
section.sdgs section.read p {
    font-size:1.6rem;
    z-index: 2;
}
section.sdgs section.read p br{
display: none;
}
section.sdgs section.read {
    min-height:inherit;
    padding: 3vw;
    z-index:0;
    position: relative;
}
section.sdgs section.read:after{
content: "";
display: block;
width: 100%;
height: 100%;
position: absolute;
background-color: rgba(0,0,0,0.3);
top: 0;
left: 0;
z-index:-1;
}
section.sdgs .bannur{
line-height: 1.5;
}

section.sdgs .bannur ul {
max-width: 100%;
}
section.sdgs .bannur ul li {
   border-right:none;
   padding: 0;
}
section.sdgs .bannur ul li:nth-of-type(1){
   border-right:1px solid #333;
   padding: 0 10px 0 0;
}
section.sdgs .bannur ul img {
    max-height:46px;
    width:auto;
}
section.sdgs .bannur ul li:nth-of-type(1) img{
    max-height:36px;
    width:auto;
}

section.sdgs section.sdgsin{
display: flex;
    margin:0 auto;
    clear: both;
    padding:0;
-webkit-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
}

section.sdgs section.sdgsin .pic {
    max-height:100px;
    width: 100%;
    margin:1em auto;
    float:none;
    display: block;
    
-webkit-box-ordinal-group:1;
-ms-flex-order:1;
-webkit-order:1;
order:1;    
}
section.sdgs section.sdgsin .pic img {
max-width: 100px;
    width: auto;
    height: auto;
}

section.sdgs section.sdgsin h3 {
    font-size:3.8vw;
    min-width:inherit;
    width:77%;
    padding: 0;
    line-height: 1.5;
    display: flex;
  justify-content: center;
  align-items: center;
    -webkit-box-ordinal-group:1;
-ms-flex-order:3;
-webkit-order:3;
order:3;
}

section.sdgs section.sdgsin .sbox {
    width:20%;
    height:12vw;
    font-size:3.2vw;
    margin:0 2% 0 0;
    -webkit-box-ordinal-group:1;
-ms-flex-order:2;
-webkit-order:2;
order:2;
}
section.sdgs section.sdgsin p {
    max-width:100%;
-ms-flex-order:4;
-webkit-order:4;
order:4;    
}
section.news ul.news-table li {
    width:100%;
}
section.company ul.company-list > li > span:nth-of-type(1) {
    font-weight: bold;
    min-width:5em;
    margin-right: 1em;
    display: inline-block;
}
section.company .wrap > section .inner br{
display: none;
}

section.access iframe {
    height: 40vw;
    width:100%;
    margin: 0 0 2em 0;
}
.contact .wrap .inner {
    padding:4vw 1em;
}

.form-list {
    width: 96%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.form-list li{
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding-bottom: 1em;
line-height: 2;
}
.form-list li span:first-child {
    width:100%;
    text-align:left;
    padding: 0 0 0 0;
}
.form-list li span {
    display:block;
    vertical-align: middle;
    -webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 0.5em 0;
}
.form-list li textarea, .form-list li input[type="text"], .form-list li input[type="tel"], .form-list li input[type="email"]{
    width:100%;
    max-width: inherit;
    min-width: inherit;
    font-size: 1.6rem;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;    
}
.modal-privacy h2 {
    font-size: 1.6rem;
}
section.contact .wrap .inner p.clear,
section.contact .wrap .inner p.bold{
text-align: center;
}


footer {
    width: 100%;
    height: 300px;
    padding: 5vw 0;
    background-image: url("../images/footer_bk.jpg?2105090600");
    background-repeat: no-repeat;
    background-position: center left -40vw;
    background-size: auto 100%;
}
footer .wrap {
    padding: 2vw 0;
}
footer .wrap ul.f_nav a {
    padding:0.5em;
}
footer .wrap ul.f_nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    float: right;
    margin: 5em 0 0 0;
}

footer .wrap .copy {
width:90%;
text-align: center;
font-size: 1rem;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1.5em;
    display: inline-block;
    padding: 0 1em;
    background-color: rgba(255,255,255,0.7);
}

section:not(.mv) img{
max-width: 100%;
}


footer .wrap ul.f_nav li {
    margin-bottom: 0;
}
footer .wrap ul.f_nav a{
min-width:10em;
}
}
/* width 768px end --------------------------------------------*/

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {

.mv {
    height:137vw;
}

}
/* width 640px end --------------------------------------------*/

/*---------------------------------------------*
* width 480px
*----------------------------------------------*/

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

.mv {
    height:147vw;
}

.mv .read {
    font-size: 1.4rem;
}
section.business ul.planing_list li a {
    background-color: #fff;
    color: #FF8724;
    padding: 0 0;
    font-size:3.6vw;
    border: 1px solid #FF8724;
}
section .wrap > h2 {
    font-size: 3rem;
}
input[type="submit"].wpcf7-form-control, 
.contact p.btn input[type="submit"], p.btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5em;
    font-size:4vw;
    background-color: #FF8724;
    border: 1px solid #FF8724;
    color: #fff;
    max-width: 100%;
    min-width: 12em;
}
section.sdgs .bannur ul{
}
section.sdgs .bannur ul img {
    max-height: 42px;
    width: auto;
}
section.sdgs .bannur ul li:nth-of-type(1) img {
    max-height:28px;
    width: auto;
    padding:0 2px;
}


section.sdgs section.read h3 {
    font-size:4.6vw;
    z-index: 2;
    margin: 1em 0;
}
section.sdgs section.read {
    width: 100%;
    min-height:300px;
    background-image: url("../images/4613611_l.jpg?2105081700");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size:auto 100% ;
}
footer .wrap ul.f_nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    float: right;
    width: 86%;
    margin:4em 0 0 0;
}
footer .wrap ul.f_nav a{
min-width:10em;
}

footer {
    width: 100%;
    height: 300px;
    background-image: url("../images/footer_bk.jpg?2105090600");
    background-repeat: no-repeat;
    background-position: center left -68vw;
    background-size: auto 100%;
}

}
/* ========================================
   LESTYLE RENEWAL 2026
   HERO IMAGE
======================================== */

/* PC / Tablet */
.mv {
    background-image: url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/14fc8c33e1d64903ccc343bea418cdfb-1.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Smartphone */
@media screen and (max-width: 768px) {
    .mv {
        background-image: url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/24ec1c64ab65106ef8ab8a79f27bc872.png");
        background-repeat: no-repeat;
        background-position: center top;
        background-size: 100% auto;
    }
}

/* ========================================
   LESTYLE RENEWAL 2026
   HERO TEXT - SMARTPHONE
======================================== */

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

    section.mv .wrap {
        width: 90%;
        margin: 0 auto;
        padding-top: 45vw;
        text-align: center;
    }

    section.mv .read {
        width: 100%;
        margin: 0 auto;
        text-shadow: none;
    }
}

/* ========================================
   LESTYLE RENEWAL 2026
   ABOUT / MISSION + OUR STYLE
======================================== */

/* 共通セクション幅 */
section.mission .wrap,
section.values .wrap {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 110px 0;
}

/* 見出し */
section.mission h2,
section.values h2 {
    margin: 0 0 55px;
    color: #2f2f2f;
    font-size: 3.2rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-align: left;
}

section.mission h2 span,
section.values h2 span {
    display: block;
    margin-top: 8px;
    color: #8b8178;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.08em;
}

/* ABOUT / MISSION */
section.mission .inner {
    width: 100%;
    padding: 70px 8%;
    border: none;
    background: #f7f5f1;
    box-sizing: border-box;
    text-align: left;
}

section.mission .inner p {
    margin: 0 0 24px;
    color: #333;
    font-size: 1.7rem;
    line-height: 2;
    letter-spacing: 0.03em;
}

section.mission .inner p:first-child {
    margin-bottom: 35px;
    font-size: 2.2rem;
    line-height: 1.8;
}

section.mission .inner p:last-child {
    margin-bottom: 0;
}

/* OUR STYLE */
section.values {
    background: #fff;
}

section.values .inner {
    width: 100%;
    padding: 0;
    border: none;
    box-sizing: border-box;
}

section.values ul.bold {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
    margin: 0;
    padding: 0;
}

section.values ul.bold li {
    min-height: 210px;
    padding: 38px 32px;
    border-top: 1px solid #b6aaa0;
    background: #faf9f7;
    color: #333;
    font-size: 1.7rem;
    line-height: 1.9;
    box-sizing: border-box;
}

section.values ul.bold li strong {
    display: block;
    margin-bottom: 18px;
    color: #222;
    font-size: 1.8rem;
    line-height: 1.6;
}

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

    section.mission .wrap,
    section.values .wrap {
        width: 88%;
        padding: 70px 0;
    }

    section.mission h2,
    section.values h2 {
        margin-bottom: 35px;
        font-size: 2.5rem;
    }

    section.mission h2 span,
    section.values h2 span {
        font-size: 1.2rem;
    }

    section.mission .inner {
        padding: 40px 8%;
    }

    section.mission .inner p {
        font-size: 1.5rem;
        line-height: 1.9;
    }

    section.mission .inner p:first-child {
        font-size: 1.8rem;
    }

    section.values ul.bold {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    section.values ul.bold li {
        min-height: 0;
        padding: 30px 26px;
        font-size: 1.5rem;
    }

    section.values ul.bold li strong {
        font-size: 1.7rem;
    }
}

/* ========================================
   LESTYLE RENEWAL 2026
   DESIGN TUNING
======================================== */

/* ----------------------------------------
   WIDE LAYOUT
---------------------------------------- */

section.mv {
    width: 94%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

section.mission .wrap,
section.values .wrap,
section.business .wrap {
    width: 94%;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
}


/* ----------------------------------------
   HERO TYPOGRAPHY
---------------------------------------- */

section.mv .read h1 {
    font-family: "Yu Mincho", "Hiragino Mincho ProN",
                 "YuMincho", Georgia, serif;
    font-size: 3.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.5;
}

section.mv .read p {
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN",
                 Meiryo, sans-serif;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.035em;
}


/* ----------------------------------------
   ABOUT / MISSION
---------------------------------------- */

section.mission {
    margin: 0;
    background: #f2eee7;
}

section.mission .wrap {
    padding: 72px 0 78px;
}

section.mission h2,
section.values h2 {
    margin: 0 0 42px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 3.8rem;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: 0.07em;
    text-align: left;
}

section.mission h2 {
    color: #292725;
}

section.mission h2::before,
section.values h2::before {
    content: "";
    display: block;
    width: 64px;
    height: 1px;
    margin-bottom: 18px;
    background: #aa927d;
}

section.mission h2 span,
section.values h2 span {
    display: block;
    margin-top: 10px;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN",
                 Meiryo, sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.12em;
}

section.mission h2 span {
    color: #857b72;
}

section.mission .inner {
    width: auto;
    max-width: 1050px;
    margin: 0;
    padding: 4px 0 4px 42px;
    border: none;
    border-left: 1px solid #b5a493;
    background: transparent;
    text-align: left;
    box-sizing: border-box;
}

section.mission .inner p {
    max-width: 920px;
    margin: 0 0 24px;
    color: #35322f;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN",
                 Meiryo, sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.035em;
}

section.mission .inner p:first-child {
    margin-bottom: 30px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN",
                 "YuMincho", Georgia, serif;
    font-size: 2.55rem;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

section.mission .inner p:last-child {
    margin-bottom: 0;
}


/* ----------------------------------------
   OUR STYLE
---------------------------------------- */

section.values {
    margin: 0;
    background: #252321;
}

section.values .wrap {
    padding: 72px 0 82px;
}

section.values h2 {
    color: #f4f0ea;
}

section.values h2::before {
    background: #bba58e;
}

section.values h2 span {
    color: #bdb3aa;
}

section.values .inner {
    width: 100%;
    padding: 0;
    border: none;
    background: transparent;
}

section.values ul.bold {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin: 0;
    padding: 0;
}

section.values ul.bold li {
    min-height: 230px;
    padding: 36px 34px;
    border: none;
    border-top: 1px solid #bba58e;
    background: rgba(255,255,255,0.035);
    color: #ded8d1;
    font-family: "Yu Gothic", "Hiragino Kaku Gothic ProN",
                 Meiryo, sans-serif;
    font-size: 1.65rem;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.025em;
    box-sizing: border-box;
}

section.values ul.bold li strong {
    display: block;
    margin-bottom: 24px;
    color: #ffffff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN",
                 "YuMincho", Georgia, serif;
    font-size: 2.05rem;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: 0.04em;
}


/* ----------------------------------------
   SMARTPHONE
---------------------------------------- */

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

    section.mv {
        width: 100%;
    }

    section.mission .wrap,
    section.values .wrap,
    section.business .wrap {
        width: 88%;
    }

    section.mv .read h1 {
        font-size: 2.6rem;
    }

    section.mv .read p {
        font-size: 1.45rem;
        line-height: 1.9;
    }

    section.mission .wrap,
    section.values .wrap {
        padding: 52px 0 58px;
    }

    section.mission h2,
    section.values h2 {
        margin-bottom: 32px;
        font-size: 3rem;
    }

    section.mission .inner {
        padding-left: 22px;
    }

    section.mission .inner p {
        font-size: 1.55rem;
        line-height: 1.95;
    }

    section.mission .inner p:first-child {
        font-size: 2.05rem;
        line-height: 1.75;
    }

    section.values ul.bold {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    section.values ul.bold li {
        min-height: 0;
        padding: 30px 26px;
        font-size: 1.5rem;
    }

    section.values ul.bold li strong {
        font-size: 1.85rem;
    }
}

/* ========================================
   LESTYLE RENEWAL 2026
   LAYOUT REFINEMENT
======================================== */

/* ----- 全体の横幅をさらに広げる ----- */

section.mv,
section.mission,
section.values,
section.business {
    width: 96%;
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}

section.mission .wrap,
section.values .wrap,
section.business .wrap {
    width: 92%;
    max-width: none;
}


/* ----- ABOUT / MISSION ----- */

section.mission .wrap {
    padding-top: 56px;
    padding-bottom: 62px;
}

/* 旧CSSの中央寄せを解除 */
section.mission h2,
section.values h2 {
    display: block;
    width: 100%;
    margin: 0 0 30px;
    text-align: left;
}

/* ABOUT本文の旧囲み線を完全に解除 */
section.mission .inner {
    width: 100%;
    max-width: 1120px;
    margin: 0;
    padding: 4px 0 4px 38px;

    border: 0 !important;
    border-left: 1px solid #ad9884 !important;
    box-shadow: none !important;
    background: transparent !important;
}

/* 一番重要なコピー */
section.mission .inner p:first-child {
    margin-bottom: 28px;
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        "YuMincho",
        "Times New Roman",
        serif;
    font-size: 2.7rem;
    font-weight: 600;
    line-height: 1.75;
    letter-spacing: 0.055em;
}

/* 通常本文 */
section.mission .inner p {
    margin-bottom: 20px;
    font-size: 1.8rem;
    line-height: 1.9;
}


/* ----- OUR STYLE ----- */

section.values .wrap {
    padding-top: 56px;
    padding-bottom: 66px;
}

section.values ul.bold {
    gap: 18px;
}

section.values ul.bold li {
    min-height: 200px;
    padding: 30px 30px;
    font-size: 1.65rem;
    line-height: 1.85;
}

section.values ul.bold li strong {
    margin-bottom: 20px;
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        "YuMincho",
        "Times New Roman",
        serif;
    font-size: 2.15rem;
    font-weight: 600;
    letter-spacing: 0.045em;
}


/* ----- 英字見出しを少しファッション誌寄りに ----- */

section.mission h2,
section.values h2 {
    font-family:
        "Bodoni 72",
        Didot,
        "Times New Roman",
        Georgia,
        serif;
    font-size: 4.1rem;
    font-weight: 400;
    letter-spacing: 0.065em;
}


/* ----- Smartphone ----- */

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

    section.mv,
    section.mission,
    section.values,
    section.business {
        width: 100%;
    }

    section.mission .wrap,
    section.values .wrap,
    section.business .wrap {
        width: 88%;
    }

    section.mission .wrap,
    section.values .wrap {
        padding-top: 45px;
        padding-bottom: 50px;
    }

    section.mission h2,
    section.values h2 {
        margin-bottom: 26px;
        font-size: 3rem;
    }

    section.mission .inner {
        padding-left: 20px;
    }

    section.mission .inner p:first-child {
        font-size: 2rem;
    }

    section.mission .inner p {
        font-size: 1.5rem;
    }
}

/* ========================================
   LESTYLE 2026
   INNOVATION STUDIO DIRECTION
======================================== */

/* ----------------------------------------
   FULL BLEED
---------------------------------------- */

section.mv,
section.mission,
section.values,
section.business {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

section.mission .wrap,
section.values .wrap,
section.business .wrap {
    width: calc(100% - 100px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}


/* ----------------------------------------
   HERO
   Paris感はここだけ少し残す
---------------------------------------- */

section.mv .read h1 {
    font-size: 5rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

@media screen and (min-width: 769px) {
    section.mv .wrap .read > p {
        font-size: 2.2rem !important;
        font-weight: 500;
        line-height: 2;
    }
}

/* ----------------------------------------
   ABOUT / MISSION
   Innovation Studio風の2カラム
---------------------------------------- */

section.mission {
    background: #f2f0eb;
}

section.mission .wrap {
    display: grid;
    grid-template-columns: 34% 66%;
    column-gap: 70px;
    align-items: start;
    padding-top: 72px;
    padding-bottom: 76px;
}

section.mission h2 {
    width: auto;
    margin: 0;
    font-family:
        "Segoe UI",
        "Helvetica Neue",
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif;
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.015em;
    color: #273035;
}

section.mission h2::before {
    width: 46px;
    height: 3px;
    margin-bottom: 24px;
    background: #728b82;
}

section.mission h2 span {
    margin-top: 15px;
    color: #777f7c;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0.08em;
}

section.mission .inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 0 42px;
    border: none !important;
    border-left: 2px solid #b6bfba !important;
    background: transparent !important;
}

section.mission .inner p {
    max-width: 900px;
    margin: 0 0 24px;
    color: #343b3d;
    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        Meiryo,
        sans-serif;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.95;
    letter-spacing: 0.02em;
}

section.mission .inner p:first-child {
    margin-bottom: 34px;
    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        Meiryo,
        sans-serif;
    font-size: 2.55rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.025em;
}


/* ----------------------------------------
   OUR STYLE
   黒ではなく知的なライトトーンへ
---------------------------------------- */

section.values {
    background: #e6ebe8;
}

section.values .wrap {
    padding-top: 70px;
    padding-bottom: 78px;
}

section.values h2 {
    display: block;
    width: 100%;
    margin: 0 0 42px;
    color: #273035;
    font-family:
        "Segoe UI",
        "Helvetica Neue",
        "Yu Gothic",
        sans-serif;
    font-size: 4.3rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.015em;
}

section.values h2::before {
    width: 46px;
    height: 3px;
    margin-bottom: 24px;
    background: #728b82;
}

section.values h2 span {
    margin-top: 15px;
    color: #68736f;
    font-size: 1.4rem;
    font-weight: 500;
}

section.values ul.bold {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}

section.values ul.bold li {
    min-height: 220px;
    padding: 38px 34px;
    border: 1px solid #d5dcda;
    border-top: 4px solid #728b82;
    background: #f8f9f7;
    color: #41494b;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.85;
    box-sizing: border-box;
}

section.values ul.bold li strong {
    display: block;
    margin-bottom: 24px;
    color: #222b2e;
    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.015em;
}


/* ----------------------------------------
   Smartphone
---------------------------------------- */

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

    section.mission .wrap,
    section.values .wrap,
    section.business .wrap {
        width: 88%;
    }

    section.mv .read h1 {
        font-size: 2.4rem;
    }

    section.mv .read p {
        font-size: 1.55rem;
    }

    section.mission .wrap {
        display: block;
        padding-top: 50px;
        padding-bottom: 55px;
    }

    section.mission h2,
    section.values h2 {
        font-size: 3.2rem;
    }

    section.mission h2 {
        margin-bottom: 34px;
    }

    section.mission .inner {
        padding-left: 20px;
    }

    section.mission .inner p {
        font-size: 1.6rem;
    }

    section.mission .inner p:first-child {
        font-size: 2rem;
    }

    section.values .wrap {
        padding-top: 50px;
        padding-bottom: 56px;
    }

    section.values ul.bold {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    section.values ul.bold li {
        min-height: 0;
        padding: 30px 26px;
        font-size: 1.6rem;
    }

    section.values ul.bold li strong {
        font-size: 2rem;
    }
}

/* ========================================
   LESTYLE 2026
   DETAIL REFINEMENT
======================================== */


/* ----------------------------------------
   1. HERO 最終コピーを強調
---------------------------------------- */

section.mv .read p:last-child {
    margin-top: 28px;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0.055em;
}


/* ----------------------------------------
   2. 見出しの日本語を大きく
---------------------------------------- */

section.mission h2 span,
section.values h2 span {
    margin-top: 12px;
    font-size: 1.65rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.06em;
}


/* ----------------------------------------
   3. OUR STYLE のラインを分離
---------------------------------------- */

section.values ul.bold {
    gap: 28px;
}

section.values ul.bold li {
    position: relative;
    border-top: 0;
    padding-top: 42px;
}

section.values ul.bold li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 32px;
    width: 58px;
    height: 3px;
    background: #607b71;
}


/* ----------------------------------------
   4. 上下余白を少し圧縮
---------------------------------------- */

section.mission .wrap {
    padding-top: 54px;
    padding-bottom: 58px;
}

section.values .wrap {
    padding-top: 54px;
    padding-bottom: 60px;
}

section.mission h2,
section.values h2 {
    margin-bottom: 32px;
}


/* ----------------------------------------
   5. OUR STYLE 背景を濃く
---------------------------------------- */

section.values {
    background: #cfdad5;
}

section.values ul.bold li {
    background: #f7f8f6;
}


/* ----------------------------------------
   横スクロール対策
---------------------------------------- */

html,
body {
    overflow-x: hidden;
}


/* ----------------------------------------
   Smartphone
---------------------------------------- */

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

    section.mv .read p:last-child {
        margin-top: 20px;
        font-size: 1.85rem;
        line-height: 1.7;
    }

    section.mission h2 span,
    section.values h2 span {
        font-size: 1.4rem;
    }

    section.mission .wrap,
    section.values .wrap {
        padding-top: 42px;
        padding-bottom: 46px;
    }

    section.values ul.bold {
        gap: 18px;
    }

    section.values ul.bold li {
        padding-top: 34px;
    }

    section.values ul.bold li::before {
        left: 26px;
        width: 50px;
    }
}
/* ========================================
   LESTYLE 2026
   TYPOGRAPHY / HEADER / CARD FIX
======================================== */


/* ----------------------------------------
   1. 全体の文字をもう一段大きく
---------------------------------------- */

/* HERO本文 */
section.mv .read p {
    font-size: 2.2rem;
    line-height: 2;
}

/* HERO最後のコピー */
section.mv .read p:last-child {
    margin-top: 30px;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.65;
}

/* ABOUT本文 */
section.mission .inner p {
    font-size: 2.15rem;
    line-height: 1.95;
}

/* ABOUT冒頭の強調文 */
section.mission .inner p:first-child {
    font-size: 2.85rem;
    font-weight: 700;
    line-height: 1.7;
}

/* 日本語サブタイトル */
section.mission h2 span,
section.values h2 span {
    font-size: 1.8rem;
    font-weight: 500;
}

/* OUR STYLE 本文 */
section.values ul.bold li {
    font-size: 2rem;
    line-height: 1.8;
}

/* OUR STYLE 各タイトル */
section.values ul.bold li strong {
    font-size: 2.45rem;
    font-weight: 700;
}


/* ----------------------------------------
   2. headerを本文幅に揃える
   lestyleロゴを左へ
---------------------------------------- */

header .wrap {
    width: calc(100% - 100px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

/* テーマ側にロゴ余白がある場合も解除 */
header h1,
header .logo {
    margin-left: 0 !important;
}

/* ----------------------------------------
   3. OUR STYLE カードの外周線を完全に削除
---------------------------------------- */

section.values ul.bold {
    gap: 28px;
}

section.values ul.bold li {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;

    position: relative;
    background: #f7f8f6;
}

/* 各カード独立の短いラインだけ残す */
section.values ul.bold li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 34px;
    width: 62px;
    height: 3px;
    background: #607b71;
}


/* ----------------------------------------
   Smartphone
---------------------------------------- */

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

    header .wrap {
        width: 92%;
    }
section.mv .read {
    translate: 0 -25px;
}
section.mv .read p {
    font-size: 1.3rem;
    line-height: 1.8;
}
section.mv .read p:first-of-type {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
}

section.mv .read p:first-of-type br {
    display: none;
}
section.mv .read p:last-child {
    font-size: 1.4rem;
    line-height: 1.7;
}

    section.mission .inner p {
        font-size: 1.7rem;
    }

    section.mission .inner p:first-child {
        font-size: 2.15rem;
    }

    section.mission h2 span,
    section.values h2 span {
        font-size: 1.45rem;
    }

    section.values ul.bold li {
        font-size: 1.65rem;
    }

section.values ul.bold li strong {
    font-size: 2.1rem;
    margin-bottom: 12px !important;
}
}
/* OUR STYLE カード統一 */
section.values .inner ul.bold > li {
    width: 86% !important;
    height: 145px !important;
    min-height: 145px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

/* カード内タイトルだけ中央 */
section.values .inner ul.bold > li strong {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    letter-spacing: -0.02em !important;
}

/* カード内本文は左寄せ */
section.values .inner ul.bold > li p {
    text-align: left !important;
}
/* ===== BUSINESS 01 / 02 / 03 共通 ===== */

body #business .business-unit-head {
    display: grid !important;
    grid-template-columns: 2.8rem minmax(0, 1fr) !important;
    column-gap: 0.8rem !important;
    align-items: start !important;
}

/* 01 / 02 / 03 */
body #business .business-unit-head > .business-number {
    position: static !important;
    transform: none !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* 英字＋日本語タイトル側 */
body #business .business-unit-head > div {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}

/* SaaS PRODUCT / BUSINESS DEVELOPMENT / E-COMMERCE */
body #business .business-unit-head > div > .business-category {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}

/* 各事業の日本語タイトル */
body #business .business-unit-head > div > h3 {
    font-size: 1.85rem !important;
    line-height: 1.45 !important;
    margin: 0.6rem 0 0 -3.6rem !important;
    width: calc(100% + 3.6rem) !important;
    text-align: left !important;
}
@media screen and (max-width: 768px) {
/* ===== 390px 各セクション文字サイズ ===== */

/* 青い大タイトル */
body section.mission h2,
body section.values h2,
body #business .business-head h2,
body #origin .origin-head h2,
body #sdgs > .wrap > h2,
body #news > .wrap > h2,
body #company > .wrap > h2,
body #access > .wrap > h2,
body #contact > .wrap > h2 {
    font-size: 2.4rem !important;
    line-height: 1.25 !important;
}

/* 本文 */
body section.mission .inner p,
body section.values li,
body section.values .inner p,
body #business .business-copy p,
body #business .service-card p,
body #business .service-card li,
body #origin .origin-box p,
body #origin .origin-box li,
body #sdgs p,
body #sdgs li,
body #news p,
body #news li,
body #company p,
body #company li,
body #access p,
body #access li,
body #contact .form-list {
    font-size: 1.3rem !important;
    line-height: 1.8 !important;
}

/* ===== POSKET ロゴ縮小 ===== */
body #origin .origin-box img {
    width: 30% !important;
    max-width: 120px !important;
    height: auto !important;
}

/* ===== OUR ORIGIN 本文をBUSINESS本文と同サイズ ===== */
body #origin .origin-box p,
body #origin .origin-box li {
    font-size: 1.0rem !important;
    line-height: 1.8 !important;
}
/* ========================================
   LESTYLE 2026
   FULL WIDTH + CARD EDGE FINAL FIX
======================================== */


/* ----------------------------------------
   左右フル幅を確実にする
---------------------------------------- */

html {
    overflow-x: clip;
}

body {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow-x: visible !important;
}

section.mv,
section.mission,
section.values,
section.business {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: none !important;

    margin-left: -50vw !important;
    margin-right: -50vw !important;
}


/* 中身だけ中央に制限 */
section.mission .wrap,
section.values .wrap,
section.business .wrap {
    width: calc(100% - 100px);
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}


/* ----------------------------------------
   OUR STYLE カードの下線・枠を完全解除
---------------------------------------- */

section.values .inner,
section.values ul.bold {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    outline: none !important;
    box-shadow: none !important;
}

section.values .inner ul.bold > li {
    border: 0 !important;
    outline: 0 !important;

    border-radius: 14px !important;
    box-shadow: 0 10px 24px rgba(38, 52, 58, 0.12) !important;

    background: #ffffff !important;
    overflow: hidden;
}
}

/* 旧CSSの疑似要素も一度すべて消す */
section.values .inner ul.bold > li::before,
section.values .inner ul.bold > li::after {
    content: none !important;
    display: none !important;
}

/* 改めて独立した短い上線だけ作る */
section.values .inner ul.bold > li {
    position: relative;
}

section.values .inner ul.bold > li span:first-child::before {
    content: none !important;
}

/* カード同士を少し離して独立感を出す */
section.values ul.bold {
    gap: 34px !important;
}


/* ----------------------------------------
   Smartphone
---------------------------------------- */

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

    section.mission .wrap,
    section.values .wrap,
    section.business .wrap {
        width: 88%;
    }

    section.values ul.bold {
        gap: 18px !important;
    }
}

/* ========================================
   LESTYLE 2026
   BUSINESS
======================================== */

section.business {
    background: #f5f6f4;
    color: #263033;
}

section.business .wrap {
    width: calc(100% - 100px);
    max-width: 1440px;
    margin: 0 auto;
    padding: 72px 0 80px;
}


/* ---------------------------
   BUSINESS heading
--------------------------- */

.business-head {
    margin-bottom: 70px;
}

.business-head .section-no {
    margin: 0 0 12px;
    color: #728b82;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.business-head h2 {
    margin: 0;
    color: #253034;
    font-family:
        "Segoe UI",
        "Helvetica Neue",
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif;
    font-size: 5rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: .01em;
    text-align: left;
}

.business-head h2::before {
    content: "";
    display: block;
    width: 48px;
    height: 3px;
    margin-bottom: 22px;
    background: #728b82;
}

.business-lead {
    margin: 18px 0 0;
    color: #566063;
    font-size: 2.1rem;
    font-weight: 500;
}


/* ---------------------------
   3 business units
--------------------------- */

.business-unit {
    margin: 0 0 52px;
    padding: 54px 56px 60px;
    box-sizing: border-box;
}

/* 3事業を少しずつ違う面に */
.business-saas {
    background: #dce6e1;
}

.business-development {
    background: #ffffff;
    border: 1px solid #dde1df;
}

.business-ecommerce {
    background: #ece9e3;
}

.business-unit:last-child {
    margin-bottom: 0;
}


/* ---------------------------
   Unit heading
--------------------------- */

.business-unit-head {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 20px;
    align-items: start;
    margin-bottom: 38px;
}

.business-number {
    margin: 0;
    color: #728b82;
    font-size: 4.8rem;
    font-weight: 300;
    line-height: 1;
}

.business-category {
    margin: 0 0 12px;
    color: #657872;
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: .12em;
}

.business-unit-head h3 {
    margin: 0;
    color: #20292c;
    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        Meiryo,
        sans-serif;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em;
}


/* ---------------------------
   Intro copy
--------------------------- */

.business-copy {
    max-width: 980px;
    margin: 0 0 38px 110px;
}

.business-copy p {
    margin: 0 0 18px;
    color: #3c4648;
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 1.95;
    letter-spacing: .015em;
}

.business-copy p:last-child {
    margin-bottom: 0;
}

.business-copy-intro {
    margin-bottom: 42px;
}


/* ---------------------------
   Service cards
--------------------------- */

.service-grid {
    display: grid;
    gap: 28px;
}

.service-grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.service-card {
    overflow: hidden;
    border: none !important;
    background: #fff;
    box-shadow: 0 1px 0 rgba(30,45,45,.10);
}

.service-card-featured {
    display: grid;
    grid-template-columns: 44% 56%;
    margin: 0 0 0 110px;
}

.service-image {
    min-height: 280px;
}

.service-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    background:
        linear-gradient(135deg, #c7d4cf 0%, #e2e8e5 100%);
    box-sizing: border-box;
}

.service-image-placeholder span {
    color: #61736d;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-align: center;
}

.service-content {
    padding: 38px 38px 42px;
}

.service-label,
.service-status {
    margin: 0 0 14px;
    color: #71867f;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: .1em;
}

.service-status {
    color: #846f5e;
}

.service-content h4 {
    margin: 0 0 22px;
    color: #20292c;
    font-size: 2.55rem;
    font-weight: 700;
    line-height: 1.5;
}

.service-catch {
    margin: -5px 0 20px !important;
    color: #50615c !important;
    font-size: 1.9rem !important;
    font-weight: 700 !important;
}

.service-content p {
    margin: 0 0 18px;
    color: #454e50;
    font-size: 1.7rem;
    line-height: 1.9;
    letter-spacing: .01em;
}


/* ---------------------------
   Links
--------------------------- */

.service-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.service-links a,
.service-link {
    display: inline-block;
    padding: 11px 18px;
    border: 1px solid #778b84;
    color: #34423e;
    background: transparent;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-decoration: none;
    transition: .2s ease;
}

.service-links a:hover {
    color: #fff;
    background: #60786f;
}

.service-link.is-coming {
    color: #7b817f;
    border-color: #b9bfbc;
}


/* ---------------------------
   BUSINESS DEVELOPMENT /
   E-COMMERCE cards
--------------------------- */

.business-development .service-grid,
.business-ecommerce .service-grid {
    margin-left: 110px;
}

.business-development .service-card,
.business-ecommerce .service-card {
    min-width: 0;
}


/* FULL CONSULTINGだけ画像なしなので
   テキストカードとして高さを合わせる */
.business-development .service-card:first-child {
    display: flex;
    align-items: stretch;
}

.business-development .service-card:first-child .service-content {
    width: 100%;
    padding-top: 58px;
}


/* ---------------------------
   Smartphone
--------------------------- */

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

    section.business .wrap {
        width: 88%;
        padding: 52px 0 58px;
    }

    .business-head {
        margin-bottom: 42px;
    }

    .business-head h2 {
        font-size: 3.7rem;
    }

    .business-lead {
        font-size: 1.8rem;
    }

    .business-unit {
        margin-bottom: 28px;
        padding: 34px 24px 38px;
    }

    .business-unit-head {
        display: block;
        margin-bottom: 26px;
    }

    .business-number {
        margin-bottom: 16px;
        font-size: 3.8rem;
    }

    .business-category {
        font-size: 1.3rem;
    }

    .business-unit-head h3 {
        font-size: 2.45rem;
    }

    .business-copy,
    .business-development .service-grid,
    .business-ecommerce .service-grid {
        margin-left: 0;
    }

    .business-copy p {
        font-size: 1.65rem;
    }

    .service-grid-2 {
        grid-template-columns: 1fr;
    }

    .service-card-featured {
        display: block;
        margin-left: 0;
    }

    .service-image {
        min-height: 200px;
    }

    .service-content {
        padding: 28px 24px 32px;
    }

    .service-content h4 {
        font-size: 2.15rem;
    }

    .service-content p {
        font-size: 1.55rem;
    }

    .service-catch {
        font-size: 1.7rem !important;
    }

    .service-links a,
    .service-link {
        font-size: 1.25rem;
    }
}

/* =========================================
   LESTYLE 2026
   BUSINESS COLOR / TITLE REFINEMENT
========================================= */

:root {
    --biz-blue: #315f7d;
    --biz-blue-dark: #21475f;
    --biz-sage: #dce6e1;
    --biz-earth: #f1eee8;
    --biz-base: #f4f5f2;
    --biz-text: #263238;
}


/* BUSINESS全体 */

section.business {
    background: var(--biz-base);
}


/* 3事業の面を統一 */

section.business .business-saas,
section.business .business-development,
section.business .business-ecommerce {
    background: var(--biz-earth) !important;
    border: 0 !important;
    border-left: 5px solid var(--biz-blue) !important;
}


/* 3事業の間隔を少し締める */

section.business .business-unit {
    margin-bottom: 34px;
}


/* BUSINESS大見出し */

section.business .business-head h2 {
    color: var(--biz-text);
    font-size: 5.2rem;
    font-weight: 800;
    letter-spacing: .01em;
}

section.business .business-head h2::before {
    background: var(--biz-blue);
}


/* 01 / 02 / 03 */

section.business .business-number {
    color: var(--biz-blue);
    font-size: 5.3rem;
    font-weight: 300;
}


/* SaaS PRODUCT等 */

section.business .business-category {
    color: var(--biz-blue);
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: .13em;
}


/* 各事業の主タイトル */

section.business .business-unit-head h3 {
    color: var(--biz-blue-dark);
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .015em;
}

/* タイトル下の短いアクセント線 */

section.business .business-unit-head h3::after {
    content: "";
    display: block;
    width: 68px;
    height: 4px;
    margin-top: 16px;
    background: var(--biz-blue);
}


/* 各サービス名 */

section.business .service-content h4 {
    color: var(--biz-text);
    font-size: 2.75rem;
    font-weight: 800;
    line-height: 1.5;
}


/* 小見出し */

section.business .service-label,
section.business .service-status {
    color: var(--biz-blue);
    font-weight: 800;
}


/* キャッチコピー */

section.business .service-catch {
    color: var(--biz-blue-dark) !important;
    font-size: 1.95rem !important;
    font-weight: 800 !important;
}


/* サービスカード */

section.business .service-card {
    background: #fff;
    border: 0 !important;
    box-shadow: 0 5px 18px rgba(40, 55, 60, .055);
}


/* 仮画像部分も同系色に */

section.business .service-image-placeholder {
    background:
        linear-gradient(
            135deg,
            #cad9d6 0%,
            #e3e9e6 100%
        );
}

section.business .service-image-placeholder span {
    color: #526d72;
}


/* ボタン */

section.business .service-links a,
section.business .service-link {
    border-color: var(--biz-blue);
    color: var(--biz-blue-dark);
}

section.business .service-links a:hover {
    color: #fff;
    background: var(--biz-blue);
}


/* スマホ */

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

    section.business .business-head h2 {
        font-size: 3.9rem;
    }

    section.business .business-unit-head h3 {
        font-size: 2.7rem;
    }

    section.business .service-content h4 {
        font-size: 2.3rem;
    }

    section.business .business-number {
        font-size: 4rem;
    }
}

/* =========================================
   BUSINESS ACCENT COLOR
   Warm Coral
========================================= */

:root {
    --biz-blue: #E6673E;
    --biz-blue-dark: #B84A2F;
}

/* =========================================
   LESTYLE 2026
   GLOBAL COLOR DIRECTION
   restrained warm accent
========================================= */

:root {
    --site-ink: #263034;
    --site-muted: #687774;
    --site-ivory: #f4f1ea;
    --site-sage: #cdd8d3;
    --site-greige: #e9e5de;
    --site-accent: #e56a3f;
}


/* BUSINESSはまず静かなニュートラルへ */

section.business {
    background: #f3f4f1;
}


/* 3事業は同じベースカラーで統一 */

section.business .business-saas,
section.business .business-development,
section.business .business-ecommerce {
    background: #f7f5f0 !important;
    border: 0 !important;
    border-left: 4px solid #a5b5ae !important;
}


/* 大きなタイトルは暖色にしない */

section.business .business-head h2,
section.business .business-unit-head h3,
section.business .service-content h4 {
    color: var(--site-ink) !important;
}


/* SaaS PRODUCT 等も落ち着いた色へ */

section.business .business-category,
section.business .service-label {
    color: var(--site-muted) !important;
}


/* 暖色①：01 / 02 / 03 だけ */

section.business .business-number {
    color: var(--site-accent) !important;
}


/* 暖色②：BUSINESS見出し前の短線 */

section.business .business-head h2::before {
    background: var(--site-accent) !important;
}


/* 各事業タイトル下線は暖色ではなくセージ */

section.business .business-unit-head h3::after {
    background: #8fa39b !important;
}


/* 暖色③：COMING SOONだけ */

section.business .service-status {
    color: var(--site-accent) !important;
}


/* キャッチコピーも通常色へ */

section.business .service-catch {
    color: #43524e !important;
}


/* ボタンは通常時はチャコール */

section.business .service-links a,
section.business .service-link {
    color: #33413e !important;
    border-color: #71817c !important;
}


/* 暖色④：操作時だけ */

section.business .service-links a:hover {
    color: #fff !important;
    border-color: var(--site-accent) !important;
    background: var(--site-accent) !important;
}

/* =========================================
   LESTYLE 2026
   GLOBAL SECTION TITLE + HEADER LOGO
========================================= */

:root {
    --site-accent: #e56a3f;
    --site-ink: #263034;
    --site-muted: #687774;
}


/* =========================================
   1. 大タイトルをBUSINESS基準に統一
========================================= */

section.mission h2,
section.values h2,
section.business .business-head h2,
section.sdgs h2,
section.news h2,
section.company h2,
section.access h2,
section.contact h2,
section.origin h2,
section.shareholder h2,
section.name-origin h2 {

    margin: 0 0 14px !important;

    font-family:
        "Segoe UI",
        "Helvetica Neue",
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif !important;

    font-size: 5.2rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em !important;

    /* 暖色アクセント */
    color: var(--site-accent) !important;

    text-align: left !important;
}


/* タイトル前の短い線も暖色で統一 */

section.mission h2::before,
section.values h2::before,
section.business .business-head h2::before,
section.sdgs h2::before,
section.news h2::before,
section.company h2::before,
section.access h2::before,
section.contact h2::before,
section.origin h2::before,
section.shareholder h2::before,
section.name-origin h2::before {

    content: "";
    display: block;

    width: 42px;
    height: 3px;

    margin: 0 0 18px;

    background: var(--site-accent) !important;
}


/* =========================================
   大タイトル下の日本語表記も統一
========================================= */

/* ABOUT / MISSION、OUR STYLEなど
   h2内にspanが入っているもの */

section.mission h2 span,
section.values h2 span,
section.sdgs h2 span,
section.news h2 span,
section.company h2 span,
section.access h2 span,
section.contact h2 span,
section.origin h2 span,
section.shareholder h2 span,
section.name-origin h2 span {

    display: block !important;

    margin-top: 10px !important;

    color: var(--site-muted) !important;

    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif !important;

    font-size: 1.8rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: .04em !important;
}


/* BUSINESSは日本語が別のpなのでこちら */

section.business .business-lead {

    margin: 8px 0 0 !important;

    color: var(--site-muted) !important;

    font-size: 1.8rem !important;
    font-weight: 500 !important;
    line-height: 1.6 !important;
    letter-spacing: .04em !important;
}


/* =========================================
   2. HEADER / LESTYLE LOGO
========================================= */

/*
   ヘッダーそのものをページ横幅いっぱい使う。
   左右にわずかな安全余白だけ残す。
*/

header .wrap {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding-left: 26px !important;
    padding-right: 26px !important;

    box-sizing: border-box !important;
}


/* ロゴを左へ */

header h1,
header .logo {
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    position: relative !important;
    top: 10px !important;
}


/* ロゴが文字で作られている場合 */

header h1,
header h1 a,
header .logo,
header .logo a {

    font-size: 4.4rem !important;
    line-height: 1 !important;
}


/* ロゴが画像の場合はこちらが効く */

header h1 img,
header .logo img {
    width: 190px !important;
    max-width: none !important;
    height: auto !important;
    transform: translateY(10px) !important;
}

/* =========================================
   Smartphone
========================================= */

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

    section.mission h2,
    section.values h2,
    section.business .business-head h2,
    section.sdgs h2,
    section.news h2,
    section.company h2,
    section.access h2,
    section.contact h2,
    section.origin h2,
    section.shareholder h2,
    section.name-origin h2 {

        font-size: 3.6rem !important;
    }


    section.mission h2 span,
    section.values h2 span,
    section.business .business-lead,
    section.sdgs h2 span,
    section.news h2 span,
    section.company h2 span,
    section.access h2 span,
    section.contact h2 span {

        font-size: 1.5rem !important;
    }


    header .wrap {

        padding-left: 16px !important;
        padding-right: 16px !important;
    }


    header h1,
    header h1 a,
    header .logo,
    header .logo a {

        font-size: 3.4rem !important;
    }


    header h1 img,
    header .logo img {

        width: 145px !important;
    }
}

/* =========================================
   BUSINESS BRAND LOGO SIZE FIX
========================================= */

section.business .brand-logo {
    display: flex;
    align-items: center;
    min-height: 0 !important;
    margin: 24px 0 22px !important;
}

section.business .brand-logo img {
    display: block;
    width: 220px !important;
    max-width: 55% !important;
    max-height: 90px !important;
    height: auto !important;
    object-fit: contain;
}


/* smartphone */

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

    section.business .brand-logo img {
        width: 180px !important;
        max-width: 70% !important;
        max-height: 75px !important;
    }
}

/* =========================================
   BUSINESS BRAND LOGO
   logo beside service title
========================================= */

section.business .service-content-brand {
    padding-top: 22px !important;
}


/* ロゴ＋サービス名 */

section.business .service-title-row {
    display: flex;
    align-items: center;
    gap: 15px;

    margin: 7px 0 16px;
}


/* 以前のbrand-logo指定を上書き */

section.business .service-title-row .brand-logo {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    margin: 0 !important;
    min-height: 0 !important;
}


/* ロゴは小さなブランドサインとして使用 */

section.business .service-title-row .brand-logo img {
    display: block;

    width: auto !important;
    max-width: 90px !important;
    max-height: 55px !important;

    height: auto !important;
    object-fit: contain;
}


/* サービス名 */

section.business .service-title-row h4 {
    margin: 0 !important;
    line-height: 1.4 !important;
}


/* スマホ */

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

    section.business .service-title-row {
        gap: 12px;
        margin-bottom: 14px;
    }

    section.business .service-title-row .brand-logo img {
        max-width: 72px !important;
        max-height: 46px !important;
    }
}

/* =========================================
   高速検証デポ
   ロゴ＋サービス名 横並び
========================================= */

.service-card-depot .service-content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 14px;
    padding-top: 22px !important;
}

.service-card-depot .brand-logo {
    flex: 0 0 auto;
    margin: 0 !important;
    min-height: 0 !important;
}

.service-card-depot .brand-logo img {
    display: block;
    width: 72px !important;
    max-width: 72px !important;
    max-height: 52px !important;
    height: auto !important;
    object-fit: contain;
}

.service-card-depot .service-content > h4 {
    flex: 1 1 auto;
    width: auto !important;
    margin: 0 !important;
}

/* タイトルより下は通常の1列に戻す */
.service-card-depot .service-catch,
.service-card-depot .service-content > p,
.service-card-depot .service-links {
    flex: 0 0 100%;
    width: 100%;
}

.service-card-depot .service-catch {
    margin-top: 16px !important;
}

/* ==================================================
   LESTYLE RENEWAL 2026
   TYPOGRAPHY / TEXT RHYTHM
================================================== */

/* 全体の基本書体 */
body {
    font-family:
        "Yu Gothic Medium",
        "Yu Gothic",
        "Hiragino Sans",
        "Hiragino Kaku Gothic ProN",
        Arial,
        sans-serif;
    color: #253238;
    font-weight: 500;
    letter-spacing: 0.025em;
}

/* 本文の基本ルール */
section p,
section li {
    font-size: 1.55rem;
    line-height: 1.9;
    letter-spacing: 0.035em;
}

/* 段落間隔を統一 */
section p {
    margin-top: 0;
    margin-bottom: 1.35em;
}

/* 最終段落だけ余白を増やさない */
section p:last-child {
    margin-bottom: 0;
}

/* BUSINESS本文 */
.business-copy p,
.service-content p,
.service-catch {
    line-height: 1.9;
}

/* サービスカード内の段落 */
.service-content p {
    margin: 0 0 1.25em;
}

/* キャッチコピーは本文より強く */
.service-catch {
    margin: 0 0 1.45em !important;
    font-size: 1.65rem !important;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.04em;
}

/* コンサルの特徴4項目 */
.consult-features {
    margin: 1.2em 0 1.5em;
    padding: 0;
}

.consult-features li {
    margin: 0 0 0.35em;
    line-height: 1.65;
}

/* BUSINESS内サービス名 */
.service-content h4 {
    line-height: 1.45;
    letter-spacing: 0.035em;
}

/* 小見出し */
.service-label,
.business-category {
    letter-spacing: 0.10em;
    font-weight: 700;
}

/* ==================================================
   LESTYLE TYPOGRAPHY 2026
   Modern Japanese
================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Zen+Kaku+Gothic+New:wght@400;500;600;700&display=swap');

/* 日本語本文 */
body {
    font-family:
        "Zen Kaku Gothic New",
        "Hiragino Kaku Gothic ProN",
        sans-serif;
    font-weight: 400;
    color: #243238;
    letter-spacing: 0.035em;
    font-feature-settings: "palt";
    font-kerning: normal;
}

/* 本文 */
section p,
section li {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: 0.04em;
}

/* 大見出し・事業タイトル */
section h2,
section h3,
.service-content h4 {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    letter-spacing: 0.045em;
}

/* サービス名 */
.service-content h4 {
    font-size: 2.15rem;
    line-height: 1.5;
}

/* キャッチコピー */
.service-catch {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 1.65rem !important;
    font-weight: 600;
    line-height: 1.75;
    letter-spacing: 0.045em;
}

/* 英字の小見出し */
.service-label,
.business-category,
.business-number {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    letter-spacing: 0.11em;
}

/* ボタンも英字はInter */
.service-links a {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    letter-spacing: 0.08em;
}

/* ==================================================
   BUSINESS DEVELOPMENT
   2サービスを上下配置
================================================== */

#business-development .service-grid-2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
}

#business-development .service-card {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box;
}

/* 高速検証デポの画像領域が大きくなりすぎないように */

/* =========================================
   BUSINESS DEVELOPMENT - depot image
========================================= */

#business-development .service-card-depot .service-image {
    background: #f3f7f4;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    overflow: hidden;
}

#business-development .service-card-depot .service-image img {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain;
}

/* =========================================
   consultant compact profile
========================================= */

.consult-profile-mini {
    margin-top: 28px;
    padding-top: 18px;
    border-top: 1px solid #d8ddd8;
}

.consult-profile-mini .consult-role {
    margin: 0 0 8px;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    color: #6f7f76;
    font-weight: 600;
}

.consult-profile-mini .consult-name {
    margin: 0 0 10px;
    font-size: 1.7rem;
    font-weight: 700;
    color: #253444;
}

.consult-profile-mini p {
    margin-bottom: 12px;
}

.consult-profile-mini .consult-tags {
    margin-top: 6px;
    font-size: 1.3rem;
    color: #5d6c67;
}

/* ==================================================
   BUSINESS IDEA DEPOT
   IMAGE / CONTENT LAYOUT FIX
================================================== */

#business-development .service-card-depot {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    background: #fff;
}

/* 図解エリア */
#business-development .service-card-depot .service-image {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 24px 30px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #f1f5f3;
    box-sizing: border-box;
    overflow: hidden;
}



/* 図の下のサービス説明 */
#business-development .service-card-depot .service-content {
    position: relative !important;
    top: auto !important;
    left: auto !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 32px 36px 36px !important;

    background: #fff !important;
    box-sizing: border-box;
    z-index: 1;
}

/* =========================================
   高速検証デポ 図解
========================================= */

#business-development .service-card-depot .service-image-depot {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    padding: 18px 24px !important;
    margin: 0 !important;

    overflow: visible !important;
    box-sizing: border-box !important;
}

/* =========================================
   高速検証デポ
========================================= */

/* カード本体の固定レイアウトを解除 */
#business-development .service-card-depot {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    overflow: visible !important;
}

/* 図解画像エリア */
#business-development .service-card-depot .service-image-depot {
    position: static !important;
    display: block !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

  padding: 0 !important;
    margin: 0 !important;

    overflow: visible !important;
    box-sizing: border-box !important;
}



/* ロゴ・タイトル・説明部分 */
#business-development .service-card-depot .service-content {
    position: static !important;
    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 30px 36px 36px !important;

    clear: both !important;
    box-sizing: border-box !important;
}

/* =========================================
   高速検証デポ レイアウト確定版
========================================= */

#business-development .service-card-depot {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* 図解画像エリア */
#business-development .service-card-depot .service-image-depot {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
 padding: 0 !important;

    background: #f4f7f5 !important;
    box-sizing: border-box !important;
}



/* 本文を画像の完全な下へ戻す */
#business-development .service-card-depot .service-content {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;

    transform: none !important;

    display: block !important;
    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 32px 36px 36px !important;

    background: #fff !important;
    box-sizing: border-box !important;
}

/* ロゴ＋事業名 */
#business-development .service-card-depot .brand-logo {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;

    width: 92px !important;
    margin: 0 22px 0 0 !important;

    transform: none !important;
}

#business-development .service-card-depot .brand-logo img {
    display: block !important;
    width: 92px !important;
    height: auto !important;
    margin: 0 !important;
}

/* 事業名 */
#business-development .service-card-depot .service-content > h4 {
    display: inline-block !important;
    vertical-align: middle !important;
    width: auto !important;

    margin: 0 !important;
}

/* キャッチコピー以下 */
#business-development .service-card-depot .service-catch {
    display: block !important;
    margin: 28px 0 0 !important;
}

/* 高速検証デポ：図解と本文の重なり解消 */
/* 高速検証デポ：ロゴ＋事業名の旧配置を完全解除 */
#business-development .service-card-depot .brand-logo,
#business-development .service-card-depot .service-content > h4 {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    float: none !important;
}

/* ロゴと事業名を横並び */
#business-development .service-card-depot .brand-logo {
    display: inline-block !important;
    width: 90px !important;
    margin: 0 20px 0 0 !important;
    vertical-align: middle !important;
}

#business-development .service-card-depot .brand-logo img {
    width: 90px !important;
    height: auto !important;
    display: block !important;
}

#business-development .service-card-depot .service-content > h4 {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    vertical-align: middle !important;
}

/* =========================================
   E-COMMERCE IMAGE BALANCE FIX
   PANDA / INHOMETION
========================================= */

#e-commerce .service-grid-2 .service-card .service-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

#e-commerce .service-grid-2 .service-card .service-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
}

/* =========================================================
   2026 RENEWAL
   SDGs / NEWS / COMPANY / ACCESS / CONTACT
========================================================= */

/* ----- 共通カラー・タイポグラフィ ----- */

#sdgs,
#news,
#company,
#access,
#contact {
	color: #26343a !important;
	font-family: inherit !important;
}

#sdgs h2,
#news h2,
#company > .wrap > h2,
#access h2,
#contact h2 {
	color: #26343a !important;
	font-size: clamp(28px, 3vw, 40px) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: .02em !important;
}

/* 旧オレンジの見出しラインをブルーへ */
#sdgs h2::before,
#news h2::before,
#company > .wrap > h2::before,
#access h2::before,
#contact h2::before {
	background: #2f6f9f !important;
	border-color: #2f6f9f !important;
}


/* =========================================================
   SDGs
========================================================= */

#sdgs {
	background: #fff !important;
	padding: 90px 0 !important;
}

#sdgs .sdgs-renew {
	margin-top: 38px;
}

#sdgs .sdgs-lead {
	max-width: 920px;
	margin: 0 auto 34px;
}

#sdgs .sdgs-lead h3 {
	margin: 0 0 16px;
	color: #26343a;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .03em;
}

#sdgs .sdgs-lead p {
	margin: 0;
	color: #56646a;
	font-size: 15px;
	line-height: 2;
	letter-spacing: .02em;
}

#sdgs .sdgs-brand {
	display: flex;
	align-items: center;
	gap: 24px;

	max-width: 920px;
	margin: 0 auto 36px;
	padding: 22px 0;

	border-top: 1px solid #d9e0de;
	border-bottom: 1px solid #d9e0de;
}

#sdgs .sdgs-lestyle-logo {
	display: block;
	width: auto;
	height: 34px;
}

#sdgs .sdgs-logo {
	display: block;
	width: auto;
	height: 42px;
}

#sdgs .sdgs-brand-divider {
	display: block;
	width: 1px;
	height: 38px;
	background: #d9e0de;
}

#sdgs .sdgs-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;

	max-width: 1100px;
	margin: 0 auto;
}

#sdgs .sdgs-item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 24px;
	align-items: start;

	margin: 0 !important;
	padding: 28px !important;

	background: #fff !important;
	border: 1px solid #d9e0de !important;
	box-shadow: none !important;
}

#sdgs .sdgs-item-icon img {
	display: block;
	width: 96px;
	height: auto;
	margin: 0;
}

#sdgs .sdgs-target {
	margin: 0 0 8px;
	color: #2f6f9f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
}

#sdgs .sdgs-item h3 {
	margin: 0 0 14px;
	color: #26343a;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .02em;
}

#sdgs .sdgs-item-body > p:last-child {
	margin: 0;
	color: #56646a;
	font-size: 14px;
	line-height: 1.9;
}


/* =========================================================
   SDGs以降の旧オレンジ・緑をリニューアルカラーへ
========================================================= */

/* COMPANY の緑枠など */
#company .wrap > section,
#contact .inner {
	border-color: #d9e0de !important;
	box-shadow: none !important;
}

/* COMPANY内の旧オレンジ下線 */
#company .orange-underline {
	color: #26343a !important;
}

#company .orange-underline::after {
	background: #2f6f9f !important;
	border-color: #2f6f9f !important;
}

/* NEWS カテゴリー色 */
#news .news-table li > p:first-child > span:first-child {
	background: #2f6f9f !important;
	color: #fff !important;
}

/* NEWS 一覧ボタン */
#news .white-btn {
	background: #2f6f9f !important;
	border-color: #2f6f9f !important;
	color: #fff !important;
}

/* CONTACT 送信ボタン */
#contact input[type="submit"] {
	background: #2f6f9f !important;
	border-color: #2f6f9f !important;
	color: #fff !important;
}


/* =========================================================
   Smartphone
========================================================= */

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

	#sdgs {
		padding: 60px 0 !important;
	}

	#sdgs .sdgs-lead h3 {
		font-size: 19px;
	}

	#sdgs .sdgs-brand {
		gap: 16px;
	}

	#sdgs .sdgs-lestyle-logo {
		height: 28px;
	}

	#sdgs .sdgs-logo {
		height: 34px;
	}

	#sdgs .sdgs-list {
		grid-template-columns: 1fr;
	}

	#sdgs .sdgs-item {
		grid-template-columns: 76px minmax(0, 1fr);
		gap: 18px;
		padding: 22px !important;
	}

	#sdgs .sdgs-item-icon img {
		width: 76px;
	}

}

/* =========================================================
   2026 RENEWAL - SECTION TITLE / BLUE ACCENT FINAL
========================================================= */

:root {
	--renew-accent: #315f73;
	--renew-text: #26343a;
	--renew-subtext: #56646a;
	--renew-line: #d9e0de;
}


/* =========================================================
   大タイトル
   BUSINESSと同じ「左寄せ＋上に短いライン」
========================================================= */

#sdgs h2,
#news h2,
#company > .wrap > h2,
#access h2,
#contact h2 {
	position: relative !important;

	display: block !important;
	width: 100% !important;

	margin: 0 0 55px 0 !important;
	padding: 30px 0 0 0 !important;

	text-align: left !important;

	color: var(--renew-accent) !important;

	font-size: 44px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: .01em !important;
}


/* BUSINESSと同じ短いライン */

#sdgs h2::before,
#news h2::before,
#company > .wrap > h2::before,
#access h2::before,
#contact h2::before {
	content: "" !important;

	position: absolute !important;
	top: 0 !important;
	left: 0 !important;

	display: block !important;

	width: 38px !important;
	height: 3px !important;

	margin: 0 !important;

	background: var(--renew-accent) !important;
	border: 0 !important;
}


/* 既存の横線・装飾を消す */

#sdgs h2::after,
#news h2::after,
#company > .wrap > h2::after,
#access h2::after,
#contact h2::after {
	content: none !important;
	display: none !important;
}


/* =========================================================
   SDGs ロゴ
   2つまとめて中央配置
========================================================= */

#sdgs .sdgs-brand {
	display: flex !important;

	align-items: center !important;
	justify-content: center !important;

	gap: 24px !important;

	width: 100% !important;
	max-width: 920px !important;

	margin: 0 auto 36px auto !important;
	padding: 22px 0 !important;

	text-align: center !important;

	border-top: 1px solid var(--renew-line) !important;
	border-bottom: 1px solid var(--renew-line) !important;
}


#sdgs .sdgs-lestyle-logo {
	width: auto !important;
	height: 34px !important;
	margin: 0 !important;
}


#sdgs .sdgs-logo {
	width: auto !important;
	height: 42px !important;
	margin: 0 !important;
}


#sdgs .sdgs-brand-divider {
	width: 1px !important;
	height: 38px !important;

	background: var(--renew-line) !important;
}


/* =========================================================
   SDGs 8 / 9 カード
========================================================= */

#sdgs .sdgs-list {
	column-gap: 28px !important;
	row-gap: 28px !important;
}


/* 左側「8」の文章と右端罫線に余白を作る */

#sdgs .sdgs-item:first-child .sdgs-item-body {
	padding-right: 24px !important;
}


/* 右側も左右のバランスを合わせる */

#sdgs .sdgs-item:nth-child(2) .sdgs-item-body {
	padding-left: 4px !important;
}


/* TARGETの青もサイト共通色へ */

#sdgs .sdgs-target {
	color: var(--renew-accent) !important;
}


/* SDGsカード本文 */

#sdgs .sdgs-item h3 {
	color: var(--renew-text) !important;
}

#sdgs .sdgs-item-body > p:last-child {
	color: var(--renew-subtext) !important;
}


/* =========================================================
   旧オレンジ → ブルー
========================================================= */

/* COMPANY内の旧オレンジ見出し */
#company .orange-underline {
	color: var(--renew-text) !important;
}

#company .orange-underline::after {
	background: var(--renew-accent) !important;
	border-color: var(--renew-accent) !important;
}


/* NEWS */

#news .news-table li > p:first-child > span:first-child {
	background: var(--renew-accent) !important;
	color: #fff !important;
}

#news .white-btn {
	background: var(--renew-accent) !important;
	border-color: var(--renew-accent) !important;
	color: #fff !important;
}


/* CONTACT送信ボタン */

#contact input[type="submit"] {
	background: var(--renew-accent) !important;
	border-color: var(--renew-accent) !important;
	color: #fff !important;
}


/* COMPANY / CONTACTの旧緑枠をニュートラル化 */

#company .wrap > section,
#contact .inner {
	border-color: var(--renew-line) !important;
}


/* =========================================================
   Smartphone
========================================================= */

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

	#sdgs h2,
	#news h2,
	#company > .wrap > h2,
	#access h2,
	#contact h2 {
		margin-bottom: 36px !important;
		padding-top: 22px !important;

		font-size: 32px !important;
	}


	#sdgs h2::before,
	#news h2::before,
	#company > .wrap > h2::before,
	#access h2::before,
	#contact h2::before {
		width: 32px !important;
		height: 2px !important;
	}


	#sdgs .sdgs-brand {
		gap: 14px !important;
	}

	#sdgs .sdgs-lestyle-logo {
		height: 27px !important;
	}

	#sdgs .sdgs-logo {
		height: 33px !important;
	}


	#sdgs .sdgs-item:first-child .sdgs-item-body,
	#sdgs .sdgs-item:nth-child(2) .sdgs-item-body {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* =========================================================
   2026 RENEWAL - SECTION TITLE LEFT ALIGN
   BUSINESSの左端を全セクションの基準にする
========================================================= */


#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {

	position: relative !important;

	/* 親wrapの幅に左右されず、全セクション共通幅にする */
	left: 50% !important;
	transform: translateX(-50%) !important;

	width: 76vw !important;
	max-width: 1500px !important;

	margin-left: 0 !important;
	margin-right: 0 !important;

	padding-left: 0 !important;
	padding-right: 0 !important;

	text-align: left !important;
	box-sizing: border-box !important;
}


/* BUSINESSタイトル自体も左揃えを明示 */
#business .business-head h2,
#business .business-head .business-lead {
	text-align: left !important;
	margin-left: 0 !important;
}


/* SDGs以下のタイトルも左位置を完全統一 */
#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
	text-align: left !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

	#business .business-head,
	#sdgs > .wrap > h2,
	#news > .wrap > h2,
	#company > .wrap > h2,
	#access > .wrap > h2,
	#contact > .wrap > h2 {

		width: 88vw !important;
		max-width: none !important;
	}
}

/* =========================================================
   SDGs以降の大タイトルをBUSINESSと同じ左端へ統一
========================================================= */

#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
	width: 76vw !important;
	max-width: 1500px !important;

	/* 親wrapではなく、画面中央を基準に76vwの箱を置く */
	position: relative !important;
	left: 50% !important;
	margin-left: -38vw !important;

	text-align: left !important;
	transform: none !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box !important;
}

/* =========================================================
   SDGs以降：タイトルとコンテンツの基準幅を統一
   BUSINESSと同じ外幅に合わせる
========================================================= */

/* セクション全体の基準幅 */
#sdgs > .wrap,
#news > .wrap,
#company > .wrap,
#access > .wrap,
#contact > .wrap {
	width: 76% !important;
	max-width: 1500px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}


/* -------------------------
   SDGs
------------------------- */

/* タイトル以下の各ブロックを外幅いっぱいに */
#sdgs > .wrap > *:not(h2) {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}


/* -------------------------
   NEWS
------------------------- */

#news .news-table {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}


/* -------------------------
   COMPANY
   会社概要・代表者略歴・社名の由来
------------------------- */

#company > .wrap > section {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}


/* -------------------------
   CONTACT
------------------------- */

#contact .inner {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box !important;
}


/* =========================================================
   Smartphone
========================================================= */

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

	#sdgs > .wrap,
	#news > .wrap,
	#company > .wrap,
	#access > .wrap,
	#contact > .wrap {
		width: calc(100% - 32px) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* 前回のタイトル位置補正をスマホでは解除 */
	#sdgs > .wrap > h2,
	#news > .wrap > h2,
	#company > .wrap > h2,
	#access > .wrap > h2,
	#contact > .wrap > h2 {
		width: 100% !important;
		left: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
/* =========================================
   COMPANY typography adjustment
   ========================================= */

/* 会社概要・社名の由来：本文サイズをサイト本文と統一 */
#company .company-list,
#company .company-list li,
#company .inner,
#company .inner p {
    font-size: 16px !important;
    line-height: 2 !important;
    letter-spacing: 0.03em !important;
}

/* 会社概要の項目名 */
#company .company-list li > span:first-child {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* COMPANY内の小見出し */
#company h3 {
    font-size: 24px !important;
    line-height: 1.5 !important;
    color: #263b45 !important;
}

/* 旧オレンジ下線を落ち着いたブルーへ */
#company h3::after {
    background: #315f73 !important;
}

/* ==================================================
   SDGs / COMPANY
   幅・本文サイズ 最終修正版
   ================================================== */


/* ----------------------------------
   BUSINESSと同じコンテンツ基準幅
   ---------------------------------- */

#sdgs > .wrap,
#company > .wrap {
    width: calc(100% - 48px) !important;
    max-width: 1280px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


/* 大タイトルはwrap左端を基準にする */
#sdgs > .wrap > h2,
#company > .wrap > h2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
}


/* ==================================
   SDGs
   ================================== */

/* 導入文とロゴ帯の旧・狭幅指定を解除 */
#sdgs > .wrap > .read,
#sdgs > .wrap > .banner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}


/* 導入文は左寄せ */
#sdgs > .wrap > .read {
    text-align: left !important;
}


/* ロゴ自体だけ中央 */
#sdgs > .wrap > .banner ul {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}


/*
  重要：
  .sdgsin の width は変更しない。
  左右2カラムの既存構造を維持する。
*/
#sdgs > .wrap > .sdgsin {
    max-width: none !important;
    box-sizing: border-box !important;
}


/* ==================================
   COMPANY
   ================================== */

/* 会社概要・社名の由来の外枠 */
#company > .wrap > section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 56px !important;
    padding-right: 56px !important;

    box-sizing: border-box !important;
}


/* 会社概要：中身を旧狭幅から解放 */
#company .company-list {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* 会社概要本文サイズ */
#company .company-list li,
#company .company-list li span {
    font-size: 18px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.03em !important;
}


/* 項目名 */
#company .company-list li > span:first-child {
    font-size: 16px !important;
    line-height: 1.9 !important;
    font-weight: 600 !important;
}


/* 社名の由来：innerの旧狭幅を解除 */
#company .inner {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}


/* 社名の由来：各本文にも残る幅制限を解除 */
#company .inner p {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    font-size: 16px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.03em !important;
}


/* 引用内の文字も旧サイズを解除 */
#company .inner p strong,
#company .inner p i,
#company .inner p span {
    font-size: inherit !important;
    line-height: inherit !important;
}


/* COMPANY小見出し */
#company h3 {
    font-size: 24px !important;
    line-height: 1.5 !important;
    color: #263b45 !important;
}


/* 小見出し下線 */
#company h3::after {
    background: #315f73 !important;
}

/* ==================================================
   SDGs以降：大タイトル＋コンテンツ幅をBUSINESS基準に統一
================================================== */

/* セクション全体の共通基準幅 */
#sdgs > .wrap,
#news > .wrap,
#company > .wrap,
#access > .wrap,
#contact > .wrap {
    width: 76% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


/* ------------------------------
   大タイトル
------------------------------ */

#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 64px !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: left !important;

    font-size: 44px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;

    color: #315f73 !important;
}


/* タイトル上の短いブルーラインも左揃え */
#sdgs > .wrap > h2::before,
#news > .wrap > h2::before,
#company > .wrap > h2::before,
#access > .wrap > h2::before,
#contact > .wrap > h2::before {
    display: block !important;
    margin-left: 0 !important;
    margin-right: auto !important;
}


/* ------------------------------
   SDGs
------------------------------ */

/* タイトル以下を同じ基準幅にする */
#sdgs > .wrap > .read,
#sdgs > .wrap > .banner,
#sdgs > .wrap > .sdgsin {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

/* SDGsロゴだけは中央配置を維持 */
#sdgs .banner ul {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
}


/* ------------------------------
   COMPANY
------------------------------ */

/* 会社概要・社名の由来の箱を
   COMPANYタイトルと同じ幅まで広げる */
#company > .wrap > section {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 48px !important;

    padding: 64px 56px !important;

    box-sizing: border-box !important;
}


/* 会社概要の中身も不自然に狭めない */
#company .company-list {
    width: 100% !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* 社名の由来 */
#company section .inner {
    width: 100% !important;
    max-width: 1000px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* COMPANY内本文サイズを統一 */
#company .company-list,
#company .company-list li,
#company section .inner p {
    font-size: 18px !important;
    line-height: 2 !important;
}


/* 小見出し */
#company h3 {
    font-size: 24px !important;
    line-height: 1.4 !important;
    color: #263b45 !important;
}


/* ------------------------------
   ACCESS / CONTACT
------------------------------ */

#access > .wrap > *,
#contact > .wrap > .inner {
    max-width: none !important;
    box-sizing: border-box !important;
}


/* ------------------------------
   スマホ
------------------------------ */

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

    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 88% !important;
        max-width: none !important;
    }

    #sdgs > .wrap > h2,
    #news > .wrap > h2,
    #company > .wrap > h2,
    #access > .wrap > h2,
    #contact > .wrap > h2 {
        font-size: 32px !important;
        margin-bottom: 40px !important;
    }

    #company > .wrap > section {
        padding: 36px 24px !important;
    }
}

/* =========================================
   OUR ORIGIN / POSKET
========================================= */

#origin {
  padding: 110px 0;
  background: #fff;
}

#origin .origin-head {
  text-align: left;
  margin-bottom: 56px;
}

#origin .origin-head::before {
  content: "";
  display: block;
  width: 34px;
  height: 3px;
  background: #315f73;
  margin: 0 0 24px 0;
}

#origin .origin-head h2 {
  margin: 0 0 12px 0;
  color: #315f73;
  font-size: 48px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: .01em;
}

#origin .origin-head p {
  margin: 0;
  color: #59686d;
  font-size: 16px;
  line-height: 1.8;
}

#origin .origin-box {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dfe5e7;
  padding: 48px 56px;
  background: #fff;
}

#origin .origin-label {
  margin: 0 0 14px 0;
  color: #315f73;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
}

#origin .origin-box h3 {
  margin: 0 0 30px 0;
  color: #263b45;
  font-size: 28px;
  line-height: 1.55;
  font-weight: 700;
}

#origin .origin-box p {
  margin: 0 0 20px 0;
  color: #4f5f65;
  font-size: 16px;
  line-height: 2;
}

#origin .origin-link-wrap {
  margin-top: 34px !important;
  margin-bottom: 0 !important;
}

#origin .origin-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  box-sizing: border-box;
  border: 1px solid #315f73;
  color: #315f73;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: .07em;
}

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

  #origin {
    padding: 72px 0;
  }

  #origin .origin-head {
    margin-bottom: 36px;
  }

  #origin .origin-head h2 {
    font-size: 34px;
  }

  #origin .origin-box {
    padding: 30px 22px;
  }

  #origin .origin-box h3 {
    font-size: 22px;
  }

  #origin .origin-box p {
    font-size: 15px;
    line-height: 1.9;
  }
}

/* ==================================================
   SECTION TITLE / WIDTH FINAL ALIGNMENT
   BUSINESS以降の大見出しを共通化
================================================== */

/* BUSINESSと同じ外側幅に統一 */
#origin > .wrap,
#sdgs > .wrap,
#news > .wrap,
#company > .wrap,
#access > .wrap,
#contact > .wrap {
    width: 76% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ------------------------------
   大タイトル共通
------------------------------ */

#origin .origin-head,
#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* タイトル文字 */
#origin .origin-head h2,
#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
    color: #315f73 !important;
    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}


/* OUR ORIGINに残っている旧オレンジ線を消す */


/* SDGs / NEWS / COMPANY / ACCESS / CONTACT の線 */

/* 旧オレンジの下線が残る場合は無効化 */
#sdgs > .wrap > h2::after,
#news > .wrap > h2::after,
#company > .wrap > h2::after,
#access > .wrap > h2::after,
#contact > .wrap > h2::after {
    display: none !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 88% !important;
    }

    #origin .origin-head h2,
    #sdgs > .wrap > h2,
    #news > .wrap > h2,
    #company > .wrap > h2,
    #access > .wrap > h2,
    #contact > .wrap > h2 {
        font-size: 34px !important;
    }
}

/* ==================================================
   2026 RENEWAL
   MAIN SECTION TITLE FINAL OVERRIDE
================================================== */

/* ---------------------------------
   共通アクセントカラー
--------------------------------- */

:root {
    --lestyle-blue: #315f73;
}


/* ---------------------------------
   各セクションの外側基準
   BUSINESS と同じ左端へ
--------------------------------- */

.mission > .wrap,
.business > .wrap,
#origin > .wrap,
#sdgs > .wrap,
#news > .wrap,
#company > .wrap,
#access > .wrap,
#contact > .wrap {
    width: 76% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}


/* ---------------------------------
   大タイトルをすべて左寄せ
--------------------------------- */

.mission h2,
.business-head h2,
#origin .origin-head h2,
#sdgs h2,
#news h2,
#company h2,
#access h2,
#contact h2 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: left !important;

    color: var(--lestyle-blue) !important;

    font-size: 48px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}


/* ---------------------------------
   大タイトル前の短線
--------------------------------- */

.mission h2::before,
.business-head h2::before,
#origin .origin-head h2::before {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 3px !important;

    margin: 0 0 24px 0 !important;

    background: var(--lestyle-blue) !important;
}


/* 旧オレンジ線などを消す */
.mission h2::after,
.business-head h2::after,
#origin .origin-head h2::after,
#sdgs h2::after,
#news h2::after,
#company h2::after,
#access h2::after,
#contact h2::after {
    display: none !important;
}


/* ---------------------------------
   BUSINESS の 01 / 02 / 03
--------------------------------- */

.business-number {
    color: var(--lestyle-blue) !important;
}


/* BUSINESS内の細い装飾線 */
.business-unit h3::after,
.business-unit-head h3::after {
    background: var(--lestyle-blue) !important;
}


/* ---------------------------------
   ABOUT / MISSION の残存オレンジ
--------------------------------- */

.mission h2,
.mission h2 span {
    color: var(--lestyle-blue) !important;
}


/* ---------------------------------
   OUR ORIGIN
--------------------------------- */

#origin .origin-head h2,
#origin .origin-head h2 * {
    color: var(--lestyle-blue) !important;
}


/* ---------------------------------
   SDGs / NEWS / COMPANY
   中央寄せ指定を明示的に解除
--------------------------------- */

#sdgs > .wrap,
#news > .wrap,
#company > .wrap,
#access > .wrap,
#contact > .wrap {
    text-align: left !important;
}

#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
    float: none !important;
    position: static !important;

    left: auto !important;
    right: auto !important;

    transform: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: left !important;
}


/* ---------------------------------
   スマートフォン
--------------------------------- */

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

    .mission > .wrap,
    .business > .wrap,
    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 88% !important;
    }

    .mission h2,
    .business-head h2,
    #origin .origin-head h2,
    #sdgs h2,
    #news h2,
    #company h2,
    #access h2,
    #contact h2 {
        font-size: 34px !important;
    }
}
/* ==================================================
   BUSINESS：旧オレンジを完全にブルーへ
================================================== */

#business .business-head h2 {
    color: #315f73 !important;
}

/* タイトル上の短線：構造違いにも対応 */
#business .business-head::before,
#business .business-head h2::before {
    background-color: #315f73 !important;
    border-color: #315f73 !important;
}

/* 01 / 02 / 03 */
#business .business-number {
    color: #315f73 !important;
}

/* 各事業タイトル下などの短い装飾線 */
#business .business-unit h3::after,
#business .business-unit-head h3::after {
    background-color: #315f73 !important;
    border-color: #315f73 !important;
}
/* ==================================================
   ABOUT / MISSION・OUR STYLE
   旧オレンジ → 共通ブルー
================================================== */

/* 大タイトル */
.mission h2,
.values h2 {
    color: #315f73 !important;
}

/* タイトル上の短いライン */
.mission h2::before,
.values h2::before {
    background-color: #315f73 !important;
    border-color: #315f73 !important;
}

/* 日本語サブタイトルは現在のグレーを維持 */
.mission h2 span,
.values h2 span {
    color: #6f7b7f !important;
}
/* ==================================================
   HEADER NAVIGATION 2026 RENEWAL
   PC表示のみ
================================================== */

@media screen and (min-width: 769px) {

    /* ナビゲーション領域 */
    header .g_nav {
        flex: 1 1 auto !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;

        margin-left: 30px !important;
        margin-right: 30px !important;
    }


    /* メニュー全体 */
    header .g_nav ul {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        gap: 52px !important;
    }


    /* 各メニュー */
    header .g_nav ul li {
        display: block !important;

        margin: 0 !important;
        padding: 0 !important;

        width: auto !important;
    }


    /* 文字 */
    header .g_nav ul li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        padding: 22px 0 !important;

        color: #26343a !important;

        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        letter-spacing: .035em !important;

        text-align: center !important;
        text-decoration: none !important;

        white-space: nowrap !important;
    }

}

/* ==================================================
   SHAREHOLDER
================================================== */

#company .shareholder {
    width: 100% !important;
    box-sizing: border-box !important;

    margin: 60px 0 !important;
    padding: 48px 56px !important;

    border: 1px solid #dfe5e7 !important;
    background: #fff !important;

    text-align: left !important;
}


/* SHAREHOLDER 見出し */
/* SHAREHOLDER 見出し */
#company .shareholder > h3 {
    display: block !important;
    width: 100% !important;

    margin: 0 0 38px 0 !important;
    padding: 0 !important;

    color: #315f73 !important;

    font-size: 30px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;

    text-align: center !important;
}


/* 見出し下の短いライン */
#company .shareholder > h3::after {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 2px !important;

margin: 14px auto 0 !important;

    background: #315f73 !important;
}


/* 中身の横幅制限を解除 */
#company .shareholder .shareholder-inner {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}


/* 小ラベル */
#company .shareholder .shareholder-label {
    margin: 0 0 14px 0 !important;
    color: #315f73 !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: .10em !important;
    text-align: left !important;
}


/* 会社名 */
#company .shareholder h4 {
    margin: 0 0 26px 0 !important;

    color: #263b45 !important;

    font-size: 24px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;

    text-align: left !important;
}


/* 本文 */
#company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap) {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 18px 0 !important;

    color: #4f5f65 !important;

    font-size: 16px !important;
    line-height: 2 !important;

    text-align: left !important;
}


/* 公式サイト */
#company .shareholder .shareholder-link-wrap {
    margin: 32px 0 0 0 !important;
    text-align: left !important;
}

#company .shareholder .shareholder-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px !important;
    padding: 0 20px !important;

    border: 1px solid #315f73 !important;

    color: #315f73 !important;

    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .06em !important;

    text-decoration: none !important;
}

#company .shareholder .shareholder-link:hover {
    background: #315f73 !important;
    color: #fff !important;
}


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

    #company .shareholder {
        margin: 40px 0 !important;
        padding: 32px 24px !important;
    }

    #company .shareholder > h3 {
        font-size: 25px !important;
    }

    #company .shareholder h4 {
        font-size: 21px !important;
    }
}
/* ==================================================
   SDGs CONTENT ALIGNMENT
   ロゴ以外を共通幅・左揃えへ
================================================== */

/* SDGs全体 */
#sdgs > .wrap {
    width: 76% !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}


/* ---------------------------------
   導入文
--------------------------------- */

#sdgs .read {
    width: 100% !important;
    max-width: none !important;

    margin: 56px 0 34px 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

#sdgs .read h3 {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 16px 0 !important;

    text-align: left !important;
}

#sdgs .read p {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    font-size: 16px !important;
    line-height: 2 !important;

    text-align: left !important;
}


/* ---------------------------------
   SDGsロゴ
   ここだけ中央寄せを維持
--------------------------------- */

#sdgs .bannur {
    width: 100% !important;
    max-width: none !important;

    margin: 34px 0 !important;
    padding: 22px 0 !important;

    text-align: center !important;
}

#sdgs .bannur ul {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------
   TARGETカード全体
--------------------------------- */

#sdgs .sdgsin {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;

    text-align: left !important;
}


/* カード内部も中央寄せ解除 */
#sdgs .sdgsin h3,
#sdgs .sdgsin h4,
#sdgs .sdgsin p {
    text-align: left !important;
}


/* スマホ */
@media screen and (max-width: 768px) {

    #sdgs > .wrap {
        width: 88% !important;
    }

    #sdgs .read {
        margin-top: 36px !important;
    }
}
/* ==================================================
   SDGs RENEW - WIDTH / ALIGNMENT FINAL
   ロゴ部分だけ中央、それ以外は共通幅・左揃え
================================================== */

/* SDGs新コンテンツ全体
   大タイトルと同じ幅まで広げる */
#sdgs .sdgs-renew {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    box-sizing: border-box !important;
}


/* ------------------------------
   導入文
------------------------------ */

#sdgs .sdgs-lead {
    width: 100% !important;
    max-width: none !important;

    margin: 56px 0 34px 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

#sdgs .sdgs-lead h3 {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 16px 0 !important;

    text-align: left !important;
}

#sdgs .sdgs-lead p {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    font-size: 16px !important;
    line-height: 2 !important;

    text-align: left !important;
}


/* ------------------------------
   ロゴ列
   ここだけ中央揃え
------------------------------ */

#sdgs .sdgs-brand {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    text-align: center !important;
    justify-content: center !important;
}


/* ------------------------------
   TARGET 8.3 / 9.5
   大タイトルと同じ横幅へ
------------------------------ */

#sdgs .sdgs-list {
    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    box-sizing: border-box !important;
}

#sdgs .sdgs-item {
    box-sizing: border-box !important;
    text-align: left !important;
}

#sdgs .sdgs-item-body,
#sdgs .sdgs-item-body h3,
#sdgs .sdgs-item-body p {
    text-align: left !important;
}


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

    #sdgs .sdgs-lead {
        margin-top: 36px !important;
    }
}
/* ==================================================
   COMPANY - 会社概要
================================================== */

/* 会社概要カード */
#company > .wrap > section:first-of-type {
    width: 100% !important;
    max-width: none !important;

    margin: 50px 0 60px 0 !important;
    padding: 46px 56px !important;

    box-sizing: border-box !important;

    border: 1px solid #dfe5e7 !important;
    background: #fff !important;
}


/* 「会社概要」小見出し */
#company > .wrap > section:first-of-type > h3 {
    margin: 0 0 38px 0 !important;
    padding: 0 !important;

    color: #263b45 !important;

    font-size: 28px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;

    text-align: center !important;

border-bottom: none !important;
}
#company > .wrap > section:first-of-type > h3::after {
    content: "" !important;
    display: block !important;
    width: 34px !important;
    height: 2px !important;
    margin: 14px auto 0 !important;
    background: #315f73 !important;
}

/* 会社情報一覧 */
#company .company-list {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* 1行ごと */
#company .company-list > li {
    display: grid !important;
    grid-template-columns: 180px minmax(0, 1fr) !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 18px 0 !important;

    box-sizing: border-box !important;

    border-bottom: 1px solid #e5e9ea !important;

    text-align: left !important;
}


/* 最終行 */
#company .company-list > li:last-child {
    border-bottom: none !important;
}


/* 左側：項目名 */
#company .company-list > li > span:first-child {
    display: block !important;

    padding-right: 28px !important;

    color: #315f73 !important;

    font-size: 16px !important;
    line-height: 1.8 !important;
    font-weight: 700 !important;

    text-align: left !important;
}


/* 右側：内容 */
#company .company-list > li > span:last-child {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    color: #4f5f65 !important;

    font-size: 20px !important;
    line-height: 1.9 !important;

    text-align: left !important;
}


/* 事業内容 */
#company .company-list .jigyo {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

#company .company-list .jigyo li {
    display: flex !important;

    width: 100% !important;

    margin: 0 0 8px 0 !important;
    padding: 0 !important;

    font-size: 16px !important;
    line-height: 1.8 !important;

    text-align: left !important;
}

#company .company-list .jigyo li:last-child {
    margin-bottom: 0 !important;
}


/* 1. 2. 3. 4. */
#company .company-list .jigyo li > span {
    flex: 0 0 28px !important;
    width: 28px !important;

    color: #315f73 !important;
    font-weight: 700 !important;
}


/* 電話受付注記 */
#company .company-list i {
    display: inline-block !important;

    margin-top: 4px !important;

    color: #78858a !important;

    font-size: 13px !important;
    line-height: 1.7 !important;
}


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

    #company > .wrap > section:first-of-type {
        margin: 36px 0 44px 0 !important;
        padding: 30px 24px !important;
    }

    #company > .wrap > section:first-of-type > h3 {
        font-size: 24px !important;
        margin-bottom: 26px !important;
    }

    #company .company-list > li {
        display: block !important;
        padding: 16px 0 !important;
    }

    #company .company-list > li > span:first-child {
        margin-bottom: 5px !important;
        padding-right: 0 !important;
    }
}
/* ==================================================
   COMPANY 内 小見出し統一
   会社概要 / SHAREHOLDER
================================================== */

#company > .wrap > section:first-of-type > h3,
#company .shareholder > h3 {
    display: block !important;
    width: 100% !important;

    margin: 0 0 38px 0 !important;
    padding: 0 !important;

    border: 0 !important;

    color: #315f73 !important;

    font-size: 30px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;

    text-align: center !important;

    position: static !important;
    transform: none !important;
}


/* 古い before 装飾は消す */
#company > .wrap > section:first-of-type > h3::before,
#company .shareholder > h3::before {
    content: none !important;
    display: none !important;
}


/* 青線を全く同じ条件で描画 */
#company > .wrap > section:first-of-type > h3::after,
#company .shareholder > h3::after {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 3px !important;

    margin: 12px auto 0 !important;
    padding: 0 !important;

    background: #315f73 !important;
    border: 0 !important;

    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;

    transform: none !important;
}
/* ==================================================
   COMPANY - 社名の由来
================================================== */

#company .company-name-origin {
    width: 100% !important;
    max-width: none !important;

    margin: 60px 0 !important;
    padding: 48px 56px !important;

    box-sizing: border-box !important;

    border: 1px solid #dfe5e7 !important;
    background: #fff !important;
}


/* 見出し：会社概要・SHAREHOLDERと統一 */
#company .company-name-origin > h3 {
    display: block !important;
    width: 100% !important;

    margin: 0 0 38px 0 !important;
    padding: 0 !important;

    border: 0 !important;

    color: #315f73 !important;

    font-size: 30px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;

    text-align: center !important;

    position: static !important;
    transform: none !important;
}


/* 古い装飾を消す */
#company .company-name-origin > h3::before {
    content: none !important;
    display: none !important;
}


/* 短い青線 */
#company .company-name-origin > h3::after {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 3px !important;

    margin: 12px auto 0 !important;

    background: #315f73 !important;
    border: 0 !important;

    position: static !important;
    transform: none !important;
}


/* 本文エリアを広く */
#company .company-name-origin .inner {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #4f5f65 !important;
}


/* 全本文の基本 */
#company .company-name-origin .inner p {
    width: 100% !important;
    max-width: none !important;

    margin: 0 0 16px 0 !important;

    font-size: 16px !important;
    line-height: 2 !important;

    text-align: left !important;
}


/* 冒頭のロゴ */
#company .company-name-origin .inner p:first-child {
    margin-bottom: 22px !important;
    text-align: center !important;
}


/* シャネルの言葉 */
#company .company-name-origin .inner p:nth-child(2),
#company .company-name-origin .inner p:nth-child(3) {
    text-align: center !important;
}


/* 引用文 */
#company .company-name-origin .inner p:nth-child(2) {
    margin-bottom: 4px !important;

    color: #263b45 !important;
    font-size: 18px !important;
}


/* ココ・シャネル */
#company .company-name-origin .inner p:nth-child(3) {
    margin-bottom: 34px !important;

    color: #78858a !important;
    font-size: 14px !important;
}


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

    #company .company-name-origin {
        margin: 40px 0 !important;
        padding: 32px 24px !important;
    }

    #company .company-name-origin > h3 {
        font-size: 25px !important;
    }

    #company .company-name-origin .inner p {
        font-size: 15px !important;
    }

    #company .company-name-origin .inner p:nth-child(2) {
        font-size: 17px !important;
    }
}
/* ==================================================
   社名の由来：タイトル表示を強制
================================================== */

#company .company-name-origin > h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 100% !important;
    height: auto !important;
    overflow: visible !important;

    margin: 0 0 38px 0 !important;
    padding: 0 !important;

    border: 0 !important;

    color: #315f73 !important;

    font-size: 30px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;

    text-align: center !important;
    text-indent: 0 !important;

    position: static !important;
    transform: none !important;
}

#company .company-name-origin > h3::before {
    content: none !important;
    display: none !important;
}

#company .company-name-origin > h3::after {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 3px !important;

    margin: 12px auto 0 !important;

    background: #315f73 !important;
    border: 0 !important;

    position: static !important;
    transform: none !important;
}
/* ==================================================
   2026 RENEWAL - BODY TYPOGRAPHY
   本文を濃く・読みやすく
================================================== */

body {
    color: #26343a;
}


/* 文章系コンテンツ
   16px → 17pxを基本にする */
.mission p,
.values p,
.business p,
#origin .origin-box p:not(.origin-label):not(.origin-link-wrap),
#sdgs .sdgs-lead p,
#sdgs .sdgs-item-body p,
#company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
#company .company-name-origin .inner p {
    color: #2f3a3f !important;

    font-size: 17px !important;
    line-height: 1.9 !important;
    font-weight: 400 !important;
}


/* 会社情報・アクセス・問い合わせなど
   情報系は16pxを維持 */
#company .company-list > li > span:last-child,
#company .company-list .jigyo li,
#access p,
#contact .inner p {
    color: #2f3a3f !important;

    font-size: 18px !important;
    line-height: 1.9 !important;
}


/* 会社概要の左側項目名も少し強く */
#company .company-list > li > span:first-child {
    color: #315f73 !important;
    font-weight: 700 !important;
}


/* 注記類は小さいままだが、薄すぎない色へ */
#company .company-list i {
    color: #5f6b70 !important;
}


/* スマートフォン */
@media screen and (max-width: 768px) {

    .mission p,
    .values p,
    .business p,
    #sdgs .sdgs-lead p,
    #sdgs .sdgs-item-body p,
    #company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
    #company .company-name-origin .inner p {
        font-size: 16px !important;
        line-height: 1.85 !important;
    }
}
#origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
    font-size: 13px !important;
    line-height: 1.8 !important;
}
/* ===== 390px SDGs 本文調整 ===== */

#sdgs .sdgs-lead p,
#sdgs .sdgs-item-body p {
    font-size: 13px !important;
    line-height: 1.8 !important;
}

/* 本文の左右余白を均等に */
#sdgs .sdgs-lead,
#sdgs .sdgs-item-body {
    width: 86% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
/* ==================================================
   社名の由来：引用と本文バランス調整
================================================== */

#company .company-name-origin .inner {
    max-width: 920px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

/* フランス語 */
#company .company-name-origin .origin-french {
    margin: 0 0 18px 0 !important;
    text-align: center !important;
    color: #6a7277 !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    font-style: italic !important;
    letter-spacing: .04em !important;
}

/* 日本語の引用 */
#company .company-name-origin .origin-quote {
    margin: 0 0 65px 0 !important;
    text-align: center !important;
    line-height: 1.9 !important;
}

#company .company-name-origin .origin-quote-main {
    display: inline !important;
    color: #2f3a3f !important;
    font-size: 19px !important;
    line-height: 1.7 !important;
    font-weight: 700 !important;
    letter-spacing: .02em !important;
}

#company .company-name-origin .origin-quote-author {
    display: inline-block !important;
    margin-left: 12px !important;
    color: #6a7277 !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    vertical-align: baseline !important;
}

/* 本文ブロックを中央に寄せて、文章自体は左揃え */
#company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
    max-width: 760px !important;
    margin: 0 auto 18px !important;
    color: #2f3a3f !important;
    font-size: 17px !important;
    line-height: 2 !important;
    text-align: left !important;
}

/* スマホ */
@media screen and (max-width: 768px) {
    #company .company-name-origin .inner {
        padding: 0 24px !important;
    }

    #company .company-name-origin .origin-french {
        font-size: 14px !important;
    }

    #company .company-name-origin .origin-quote-main {
        font-size: 23px !important;
        line-height: 1.8 !important;
    }

    #company .company-name-origin .origin-quote-author {
        font-size: 14px !important;
        margin-left: 8px !important;
    }

    #company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
        font-size: 16px !important;
        line-height: 1.9 !important;
    }
}
/* ==================================================
   ACCESS FINAL LAYOUT
   タイトル上段 / 地図左 / 住所右
================================================== */

#access > .wrap {
    width: 76% !important;
    max-width: none !important;
    margin: 0 auto !important;

    display: grid !important;
    grid-template-columns: 60% 40% !important;
    column-gap: 40px !important;
    row-gap: 48px !important;

    align-items: start !important;
    box-sizing: border-box !important;
}


/* ACCESSタイトルは横幅全部を使用 */
#access > .wrap > h2 {
    grid-column: 1 / -1 !important;

    width: 100% !important;
    margin: 0 !important;

    text-align: left !important;
}


/* 左：Google Map */
#access > .wrap > iframe {
    grid-column: 1 !important;

    display: block !important;

    width: 100% !important;
    height: 400px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    visibility: visible !important;
    opacity: 1 !important;
}


/* 右：住所・交通案内 */
#access > .wrap > p {
    grid-column: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #2f3a3f !important;

    font-size: 16px !important;
    line-height: 1.9 !important;

    text-align: left !important;
}


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

    #access > .wrap {
        width: 88% !important;

        display: block !important;
    }

    #access > .wrap > h2 {
        margin-bottom: 36px !important;
    }

    #access > .wrap > iframe {
        width: 100% !important;
        height: 320px !important;

        margin-bottom: 28px !important;
    }

    #access > .wrap > p {
        width: 100% !important;
    }
}
/* 社名の由来：フランス語画像を完全に中央配置 */
#company .company-name-origin .inner > p:first-child {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 0 22px 0 !important;
    padding: 0 !important;

    text-align: center !important;
}

#company .company-name-origin .inner > p:first-child img {
    display: block !important;
    margin: 0 auto !important;
}

/* ココ・シャネルと本文の間隔を確実に広げる */
#company .company-name-origin .inner > p.origin-quote {
    margin: 0 0 48px 0 !important;
    padding: 0 !important;
}
#company .company-list .jigyo li > div {
    flex: 1;
    min-width: 0;
}

#company .company-list .jigyo li small {
    display: block;
    margin-top: 4px;

    color: #66747a;
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
}

/* ==================================================
   PC BODY TEXT TUNING
   本文文字を少し大きく・濃く
================================================== */
@media screen and (min-width: 769px) {

    section p,
    section li {
        color: #2f3a3e;
        font-size: 18px;
        line-height: 1.9;
    }

}

/* ==================================================
   MAJOR SECTION TITLE LINE FINAL
   大タイトル上の装飾線を1本に統一
================================================== */

/* OUR ORIGINの親側に残っている線を消す */
#origin .origin-head::before,
#origin .origin-head::after {
    display: none !important;
}

/* 各大タイトル自身の既存線を一旦すべて解除 */
#origin .origin-head h2::before,
#origin .origin-head h2::after,
#sdgs > .wrap > h2::before,
#sdgs > .wrap > h2::after,
#news > .wrap > h2::before,
#news > .wrap > h2::after,
#company > .wrap > h2::before,
#company > .wrap > h2::after,
#access > .wrap > h2::before,
#access > .wrap > h2::after,
#contact > .wrap > h2::before,
#contact > .wrap > h2::after {
    display: none !important;
}

/* 上側の青線を1本だけ作る */
#origin .origin-head h2::before {
    content: "" !important;
    display: block !important;

    width: 34px !important;
    height: 3px !important;

    background: #315f73 !important;

    margin: 0 0 24px 0 !important;
}
/* ==================================================
   SDGs以降 大タイトル上ライン
   pseudo-elementを使わず背景で描画
================================================== */

#sdgs > .wrap > h2,
#news > .wrap > h2,
#company > .wrap > h2,
#access > .wrap > h2,
#contact > .wrap > h2 {
    background-image: linear-gradient(
        to right,
        #315f73 0,
        #315f73 34px,
        transparent 34px
    ) !important;

    background-repeat: no-repeat !important;
    background-position: left top !important;
    background-size: 100% 3px !important;

    padding-top: 27px !important;
}

/* ==================================================
   PC本文文字 最終調整
================================================== */

@media screen and (min-width: 769px) {

    section p,
    section .inner p {
        font-size: 17px !important;
        color: #3f494d !important;
    }

}

/* BUSINESS 01・02・03 */
@media screen and (min-width: 769px) {
#business .business-number {
        font-size: 2.8rem !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
}
/* BUSINESS 説明文を横幅いっぱいに使う */
@media screen and (min-width: 769px) {
    #business .business-copy {
        width: 100% !important;
        max-width: none !important;
    }
}
/* CONTACT / PRIVACY */
@media screen and (min-width: 769px) {

    /* お問い合わせ欄とプライバシーポリシーの間隔 */
    #contact .modal-privacy {
        margin-top: 42px !important;
    }

    /* 「プライバシーポリシー」タイトル */
    #contact .modal-privacy > h1 {
        font-size: 18px !important;
        line-height: 1.5 !important;
        font-weight: 500 !important;
        margin: 0 0 18px !important;
        text-align: center !important;
    }

    /* ポリシー本文内の各見出し */
    #contact .privacy-txt h2 {
        font-size: 18px !important;
        line-height: 1.6 !important;
        font-weight: 700 !important;
        margin: 28px 0 10px !important;
    }

    #contact .privacy-txt h2:first-of-type {
        margin-top: 20px !important;
    }
}

/* =========================================
   PC TEXT SIZE FINAL
   本文18px / 補足16px
========================================= */
@media screen and (min-width: 769px) {

    /* 通常本文 */
    section p,
    section li,
    #company .company-list > li > span:last-child,
    #access p,
    #contact .inner p {
        font-size: 18px !important;
        line-height: 1.9 !important;
    }

    /* COMPANY 事業内容内の補足文 */
    #company .company-list .jigyo li span,
    #company .company-list .jigyo li small {
        font-size: 16px !important;
        line-height: 1.8 !important;
    }
}

/* =========================================
   PC TEXT SIZE FINAL 2
   個別CSSに負けている本文を最終上書き
========================================= */
@media screen and (min-width: 769px) {

    /* ABOUT / MISSION */
    section.mission .inner p {
        font-size: 18px !important;
        line-height: 1.9 !important;
    }

    /* OUR STYLE */
    section.values ul.bold li {
        font-size: 17px !important;
        line-height: 1.8 !important;
    }

    section.values ul.bold li strong {
        font-size: 20px !important;
        line-height: 1.6 !important;
    }

    /* BUSINESS 本文 */
    #business .business-copy p,
    #business .business-unit p,
    #business .service-content p {
        font-size: 18px !important;
        line-height: 1.9 !important;
    }

    /* OUR ORIGIN */
    #origin .origin-box p {
        font-size: 18px !important;
        line-height: 1.9 !important;
    }

    /* SDGs */
    #sdgs p,
    #sdgs li {
        font-size: 17px !important;
        line-height: 1.85 !important;
    }

    /* NEWS */
    #news a {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    /* COMPANY */
    #company .company-list > li,
    #company .company-list > li > span {
        font-size: 17px !important;
        line-height: 1.8 !important;
    }

    /* COMPANY 補足2行目 */
    #company .company-list li li,
    #company .company-list li li span,
    #company .company-list small {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    /* SHAREHOLDER */
    #company .shareholder-inner p,
    section.shareholder p {
        font-size: 17px !important;
        line-height: 1.9 !important;
    }

    /* 社名の由来 */
    #company .company-name-origin p {
        font-size: 17px !important;
        line-height: 1.9 !important;
    }

    /* ACCESS */
    #access p,
    #access li {
        font-size: 17px !important;
        line-height: 1.85 !important;
    }

    /* CONTACT ラベル */
    #contact .form-list li > span {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }

    /* プライバシーポリシー本文 */
    #contact .privacy-txt p {
        font-size: 16px !important;
        line-height: 1.9 !important;
    }
}
/* PC COMPANY 文字サイズ最終調整 */
@media screen and (min-width: 769px) {

    #company .company-list > li,
    #company .company-list > li > span,
    #company .company-list > li > span:last-child {
        font-size: 20px !important;
        line-height: 1.8 !important;
    }

    #company .company-list .jigyo small {
        font-size: 17px !important;
        line-height: 1.7 !important;
    }
}
/* COMPANY 補足文字サイズ */
@media screen and (min-width: 769px) {

    #company .company-list small {
        font-size: 16px !important;
        line-height: 1.7 !important;
    }

    /* 事業内容の補足2行目は少し大きめ */
    #company .company-list .jigyo small {
        font-size: 17px !important;
    }
}
/* COMPANY 事業内容3項目を通常文字サイズに統一 */
@media screen and (min-width: 769px) {

    #company .company-list .jigyo > li,
    #company .company-list .jigyo > li > span,
    #company .company-list .jigyo > li > div {
        font-size: 20px !important;
        line-height: 1.8 !important;
    }

    /* 各事業の補足2行目 */
    #company .company-list .jigyo > li small {
        display: block;
        font-size: 17px !important;
        line-height: 1.7 !important;
    }
}
/* COMPANY 電話番号下の注意書き */
@media screen and (min-width: 769px) {
    #company .company-list li i {
        font-size: 16px !important;
        line-height: 1.7 !important;
        font-style: normal !important;
    }
}
/* CONTACT プライバシー枠を入力欄と揃える */
@media screen and (min-width: 769px) {

    #contact .modal-privacy {
        width: 657px !important;
        max-width: 657px !important;

        /* form-list 900px内の入力欄位置に合わせる */
        margin-left: calc((100% - 900px) / 2 + 243px) !important;
        margin-right: auto !important;
    }

    #contact .privacy-txt {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }
}
/* CONTACT 導入見出し */
@media screen and (min-width: 769px) {
    #contact .inner > p.bold {
        font-size: 24px !important;
        line-height: 1.6 !important;
        font-weight: 700 !important;
        letter-spacing: 0.04em !important;
    }
}
/* DAIWA LOGO */
@media screen and (min-width: 769px) {
    .shareholder-logo {
        margin: 14px 0 18px !important;
    }

    .shareholder-logo img {
        display: block !important;
        width: 200px !important;
        max-width: 100% !important;
        height: auto !important;
    }
}
/* =========================================
   FOOTER FINAL
========================================= */
@media screen and (min-width: 769px) {

    footer {
        width: 100vw !important;
        max-width: none !important;
        min-height: 260px !important;

        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;

        padding: 70px 0 40px !important;
        box-sizing: border-box !important;

background-image:
    linear-gradient(
        rgba(255,255,255,0.14),
        rgba(255,255,255,0.14)
    ),
    url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/d3a2b5b8a1252f8ddd6f1b66c7fdf739.png?v=4") !important;

background-position: center bottom !important;

        background-size: cover !important;
background-position: center bottom !important;
        background-repeat: no-repeat !important;
    }

    footer .wrap {
        width: calc(100% - 100px) !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        position: relative !important;
        z-index: 2 !important;
    }
}
/* OUR ORIGIN以降の背景色を復帰 */
#origin {
  background: #f7f7f4 !important;
}

#sdgs {
  background: #e6eeeb !important;
}

#news {
  background: #f7f7f4 !important;
}

#company {
  background: #e6eeeb !important;
}

#access {
  background: #f7f7f4 !important;
}

#contact {
  background: #e6eeeb !important;
}

/* BUSINESS 02 文字はみ出し対策 */
@media screen and (min-width: 769px) {

  /* flex 内の文章側が縮まずはみ出すのを防ぐ */
  #business .wrap > div,
  #business .inner > div,
  #business .business-copy,
  #business .business-txt,
  #business .content,
  #business .txt {
    min-width: 0 !important;
  }

  /* テキストは通常改行させる */
  #business h3,
  #business h4,
  #business p,
  #business li {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
/* BUSINESS 導入文：左位置を維持して右端を揃える */
@media screen and (min-width: 769px) {

    #business .business-unit > .business-copy-intro {
        width: calc(100% - 140px) !important;
        max-width: calc(100% - 140px) !important;
        box-sizing: border-box !important;
    }

    #business .business-unit > .business-copy-intro p {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;

        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }
}
/* =========================================
   TABLET / NARROW PC
   BUSINESS featured card
========================================= */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    #business .service-card-featured {
        display: block !important;
        grid-template-columns: none !important;
        margin-bottom: 80px !important;
    }

    #business .service-card-featured .service-image {
        width: 100% !important;
        min-height: 0 !important;
    }

    #business .service-card-featured .service-image img {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        object-fit: contain !important;
    }

    #business .service-card-featured .service-content {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 32px 36px 38px !important;
    }
}
/* =========================================================
   RESPONSIVE / TABLET & NARROW PC
   769px - 1100px
========================================================= */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    /* ---------- 共通 ---------- */
    #mission .wrap,
    #values .wrap,
    #business .wrap,
    #origin .wrap,
    #sdgs .wrap,
    #news .wrap,
    #company .wrap,
    #access .wrap,
    #contact .wrap {
        width: calc(100% - 64px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }


    /* =====================================================
       ABOUT / MISSION
    ===================================================== */
    #mission .inner {
        grid-template-columns: 38% 62% !important;
        gap: 32px !important;
    }

    #mission h2 {
        font-size: clamp(38px, 5vw, 52px) !important;
        line-height: 1.08 !important;
    }

    #mission p {
        max-width: 100% !important;
    }


    /* =====================================================
       OUR STYLE
    ===================================================== */
    #values .values-list,
    #values .values-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 28px !important;
    }

    #values .values-item,
    #values .value-card {
        min-width: 0 !important;
        padding: 28px 24px !important;
        box-sizing: border-box !important;
    }

    #values h3,
    #values h4 {
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }


    /* =====================================================
       BUSINESS 共通
    ===================================================== */
    #business .business-unit {
        box-sizing: border-box !important;
    }

    #business .business-unit-head,
    #business .business-copy,
    #business .service-grid {
        min-width: 0 !important;
    }

    #business .business-copy p,
    #business .service-content p,
    #business .service-content h4 {
        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    /* BUSINESS導入文：左位置を維持しつつ右端を収める */
    #business .business-unit > .business-copy-intro {
        width: calc(100% - 140px) !important;
        max-width: calc(100% - 140px) !important;
        box-sizing: border-box !important;
    }

    #business .business-unit > .business-copy-intro p {
        width: 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }


    /* ---------- そろエール ---------- */
    #business .service-card-featured {
        display: block !important;
        grid-template-columns: none !important;
        margin-bottom: 80px !important;
    }

    #business .service-card-featured .service-image {
        width: 100% !important;
        min-height: 0 !important;
    }

    #business .service-card-featured .service-image img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
    }

    #business .service-card-featured .service-content {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 32px 36px 38px !important;
    }


    /* ---------- BUSINESS 02 内カード ---------- */
    #business .service-grid-2 {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    #business .service-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    /* =====================================================
       E-COMMERCE
       900px前後では2枚横並びをやめる
    ===================================================== */
    #business .business-ecommerce .service-grid,
    #business .business-ecommerce .service-grid-2 {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    #business .business-ecommerce .service-card {
        width: 100% !important;
        max-width: 100% !important;
    }

    #business .business-ecommerce .service-card img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }


    /* =====================================================
       OUR ORIGIN
    ===================================================== */
    #origin .origin-box {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 36px 40px !important;
    }


    /* =====================================================
       SDGs
    ===================================================== */
    #sdgs .sdgs-list,
    #sdgs .sdgs-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }


    /* =====================================================
       NEWS
    ===================================================== */
    #news .news-list,
    #news .news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 24px !important;
    }


    /* =====================================================
       COMPANY
    ===================================================== */
    #company .company-list {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #company .company-list > li {
        grid-template-columns: 150px minmax(0, 1fr) !important;
        column-gap: 24px !important;
    }

    #company .company-list small {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }


    /* =====================================================
       SHAREHOLDER / 社名の由来
    ===================================================== */
    #company .shareholder-inner,
    #company .company-name-origin {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    /* =====================================================
       ACCESS
    ===================================================== */
    #access .wrap {
    width: calc(100% - 64px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-right: 28px !important;
    box-sizing: border-box !important;
}
	#access .inner {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    #access iframe,
    #access img {
        width: 100% !important;
        max-width: 100% !important;
    }
#access p,
#access li {
    overflow-wrap: anywhere !important;
}

    /* =====================================================
       CONTACT
       今回一番大きく崩れていた部分
    ===================================================== */
    #contact .inner {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

#contact .form-list {
    display: block !important;
    width: 640px !important;
    max-width: calc(100% - 48px) !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}

#contact .form-list > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 22px !important;
    box-sizing: border-box !important;
}

#contact .form-list > li > span:first-child {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
}

#contact .form-list .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

#contact .form-list input,
#contact .form-list textarea,
#contact .form-list select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#contact .form-list input,
#contact .form-list select {
    height: 42px !important;
}

#contact .form-list textarea {
    height: 180px !important;
    min-height: 180px !important;
}

    #contact .modal-privacy {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #contact .privacy-txt {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    /* =====================================================
       FOOTER
    ===================================================== */
    footer .wrap {
        width: calc(100% - 64px) !important;
        max-width: 1000px !important;
    }
}
/* =========================================================
   RESPONSIVE 2nd FIX
   769px - 1100px
========================================================= */
@media screen and (min-width: 769px) and (max-width: 1100px) {


    /* =====================================
       ① TOP / MV
       中間幅で縦に大きくなりすぎるのを抑える
    ===================================== */



    /* =====================================
       ② SaaS
       PC用の大きな左余白を中間幅では縮小
    ===================================== */
#business .business-saas .business-unit-head {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    column-gap: 24px !important;
}

/* 導入文 */
#business .business-saas > .service-card-featured {
    width: auto !important;
    max-width: none !important;
    margin-left: 88px !important;
    margin-right: 0 !important;
    margin-bottom: 80px !important;
    box-sizing: border-box !important;
}

/* そろエールカード本体 */
#business .business-saas > .business-copy {
    width: auto !important;
    max-width: none !important;
    margin-left: 88px !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
}


/* =====================================
   ③ CONTACT
   769～1100pxは上下配置
===================================== */

#contact .form-list {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* 1項目ずつ上下配置 */
#contact .form-list > li {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 22px !important;
    box-sizing: border-box !important;
}

/* 「会社名」「お名前」などの項目名 */
#contact .form-list > li > span:first-child {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 0 8px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
}

/* Contact Form 7が自動生成する入力欄ラッパー */
#contact .form-list .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* 入力欄本体 */
#contact .form-list .wpcf7-form-control-wrap input,
#contact .form-list .wpcf7-form-control-wrap textarea,
#contact .form-list .wpcf7-form-control-wrap select {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

#contact .form-list .wpcf7-form-control-wrap input,
#contact .form-list .wpcf7-form-control-wrap select {
    height: 42px !important;
}

#contact .form-list .wpcf7-form-control-wrap textarea {
    height: 180px !important;
    min-height: 180px !important;
}

/* ===== CONTACT 900px 強制補正 ===== */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    #contact .inner {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #contact .wpcf7,
    #contact .wpcf7 form,
    #contact .form-list {
        width: 620px !important;
        max-width: calc(100% - 80px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    #contact .form-list > li {
        display: block !important;
        width: 100% !important;
        margin: 0 0 24px !important;
    }

#contact .form-list > li > p {
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
}

#contact .form-list > li > p > span:first-child {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: left !important;
    line-height: 1.5 !important;
    white-space: normal !important;
}

#contact .form-list > li > p > .wpcf7-form-control-wrap {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

    #contact .wpcf7-form-control-wrap {
        display: block !important;
        width: 100% !important;
    }

    #contact input,
    #contact textarea,
    #contact select {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #contact textarea {
        height: 180px !important;
    }

    #contact .modal-privacy {
        width: 620px !important;
        max-width: calc(100% - 80px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    #contact .privacy-txt {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
	#contact .form-list > li {
    text-align: left !important;
}

#contact .form-list > li > span:first-child {
    text-align: left !important;
}
	/* ==========================================
   TOP MV / 769-1100px
========================================== */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    /* 背景画像 */
    section.mv {
        height: 610px !important;
        min-height: 610px !important;
        background-size: cover !important;

        /* 画像の見せる位置 */
        background-position: 68% center !important;

        position: relative !important;
        top: auto !important;
        z-index: auto !important;
    }

    /* コピー全体 */
section.mv .read {
    position: absolute !important;
    top: 15% !important;
    left: 7% !important;
    width: 58% !important;
    max-width: 520px !important;
    margin: 0 !important;
    transform: none !important;
    text-align: center !important;
    z-index: 2 !important;
}
}
section.mv .read h1,
section.mv .read p,
section.mv .read strong {
    color: #172a32 !important;
    text-shadow:
        0 1px 2px rgba(255,255,255,.95),
        0 0 8px rgba(255,255,255,.75) !important;
}
section.mv .read > p:first-of-type {
    font-size: 1.65rem !important;
    line-height: 1.9 !important;
}
/* ==========================================
   769-820px 文字サイズ微調整
========================================== */
@media screen and (min-width: 769px) and (max-width: 820px) {

    /* TOPタイトル */
    section.mv .read h1 {
        font-size: 4rem !important;
        line-height: 1.45 !important;
    }

    /* TOP中央の説明文 */
    section.mv .read > p:first-of-type {
        font-size: 1.4rem !important;
        line-height: 1.85 !important;
    }

    /* TOP最後のコピー */
    section.mv .read > p:last-child,
    section.mv .read > p:last-child strong {
        font-size: 1.5rem !important;
        line-height: 1.7 !important;
    }

    /* 本文全体を少しだけ小さく */
    section.mission p,
    section.values p,
    section.values li,
    section.business p,
    section.business li,
    section.origin p,
    section.sdgs p,
    section.news p,
    section.company p,
    section.company li,
    section.access p,
    section.access li,
    section.contact p {
        font-size: 1.5rem !important;
        line-height: 1.8 !important;
    }
/* ===== 769-820px 全体文字サイズ 最終版 ===== */

/* BUSINESS以外の大タイトル */
body section:not(.mv) h2 {
    font-size: 2.8rem !important;
    line-height: 1.25 !important;
}

/* BUSINESS以外の中タイトル */
body section:not(.mv) h3 {
    font-size: 1.75rem !important;
    line-height: 1.45 !important;
}

/* カード等のタイトル */
body section:not(.mv) h4 {
    font-size: 1.6rem !important;
    line-height: 1.5 !important;
}

/* BUSINESS以外を含む本文全体 */
body section:not(.mv) p,
body section:not(.mv) li {
    font-size: 1.3rem !important;
    line-height: 1.8 !important;
}


/* =====================================
   BUSINESSだけ少し大きくする
===================================== */

body #business h2 {
    font-size: 3.2rem !important;
    line-height: 1.25 !important;
}

body #business h3 {
    font-size: 1.9rem !important;
    line-height: 1.45 !important;
}

body #business h4 {
    font-size: 1.7rem !important;
    line-height: 1.5 !important;
}

body #business p,
body #business li {
    font-size: 1.4rem !important;
    line-height: 1.8 !important;
}
}
	/* ===== 769-820px 後半タイトル＋本文 最終補正 ===== */

/* OUR ORIGIN以降の大タイトル */
body section#origin h2,
body section#sdgs h2,
body section#news h2,
body section#company h2,
body section#access h2,
body section#contact h2 {
    font-size: 2.6rem !important;
    line-height: 1.25 !important;
}

/* 全体本文をもう少し小さく */
body section.mission p,
body section.mission li,
body section.values p,
body section.values li,
body section#business p,
body section#business li,
body section#origin p,
body section#origin li,
body section#sdgs p,
body section#sdgs li,
body section#news p,
body section#news li,
body section#company p,
body section#company li,
body section#access p,
body section#access li {
    font-size: 1.2rem !important;
    line-height: 1.8 !important;
}

/* BUSINESSだけ少し大きめを維持 */
body section#business p,
body section#business li {
    font-size: 1.3rem !important;
}
/* OUR ORIGINをBUSINESSタイトルと統一 */
body #origin .origin-head h2 {
    font-size: 3.2rem !important;
    line-height: 1.25 !important;
}
	/* SDGs以降のタイトルをBUSINESS・OUR ORIGINと統一 */
body #sdgs > .wrap > h2,
body #news > .wrap > h2,
body #company > .wrap > h2,
body #access > .wrap > h2,
body #contact > .wrap > h2 {
    font-size: 3.2rem !important;
    line-height: 1.25 !important;
}
/* ===== 769-820px 本文サイズ最終版 ===== */

/* ABOUT / MISSION 本文
   h2直下の日本語サブタイトルは除外 */
body section.mission.mission p:not(h2 + p),
body section.mission.mission li {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* OUR STYLE 本文
   タイトル直下の「レスティルの流儀」は除外 */
body section.values.values p:not(h2 + p),
body section.values.values li {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* BUSINESS 本文 */
body #business#business p:not(h2 + p),
body #business#business li {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* OUR ORIGIN以降の本文
   各タイトル直下の日本語サブタイトルは除外 */
body #origin#origin p:not(h2 + p),
body #origin#origin li,
body #sdgs#sdgs p:not(h2 + p),
body #sdgs#sdgs li,
body #news#news p:not(h2 + p),
body #news#news li,
body #company#company p:not(h2 + p),
body #company#company li,
body #access#access p:not(h2 + p),
body #access#access li,
body #contact#contact p:not(h2 + p) {
    font-size: 15px !important;
    line-height: 1.8 !important;
}

/* フルコンサルの◎4項目 */
body #business#business .consult-features li {
    font-size: 15px !important;
    line-height: 1.8 !important;
}
/* ==================================================
   769-820px　最終調整
   ・大タイトル左揃え
   ・本文14px
   ・タイトル下説明は維持
   ・フルコンサル◎だけ15px
================================================== */
@media screen and (min-width: 769px) and (max-width: 820px) {



    /* BUSINESS・ORIGIN等のタイトルサイズは現在の良い状態を維持 */
    body #business .business-head h2,
    body #origin .origin-head h2,
    body #sdgs > .wrap > h2,
    body #news > .wrap > h2,
    body #company > .wrap > h2,
    body #access > .wrap > h2,
    body #contact > .wrap > h2 {
        font-size: 3.2rem !important;
        line-height: 1.25 !important;
    }


    /* --------------------------------
       通常本文を14pxに統一
    -------------------------------- */
    html body section.mission p,
    html body section.mission li,

    html body section.values .value-box p,
    html body section.values .value-box li,

    html body #business .business-copy p,
    html body #business .service-content p,

    html body #origin .origin-box p,
    html body #origin .origin-box li,

    html body #sdgs p,
    html body #sdgs li,

    html body #news p,
    html body #news li,

    html body #company p,
    html body #company li,

    html body #access p,
    html body #access li {
        font-size: 14px !important;
        line-height: 1.8 !important;
    }


    /* --------------------------------
       タイトル直下の日本語説明
       ここは縮めない
    -------------------------------- */
    body section.values h2 + p,
    body #business .business-head p,
    body #origin .origin-head p,
    body #sdgs > .wrap > h2 + p,
    body #news > .wrap > h2 + p,
    body #company > .wrap > h2 + p,
    body #access > .wrap > h2 + p,
    body #contact > .wrap > h2 + p {
        font-size: 14px !important;
        line-height: 1.6 !important;
        text-align: left !important;
    }


    /* --------------------------------
       フルコンサル ◎4項目
    -------------------------------- */
    html body #business#business
    .service-content
    ul.consult-features > li {
        font-size: 15px !important;
        line-height: 1.7 !important;
    }
}
/* ==========================================
   769-820px
   セクションタイトル左端をロゴ位置に統一
========================================== */

/* OUR STYLE */
body section.values h2,

/* BUSINESS */
body #business .business-head,

/* OUR ORIGIN */
body #origin .origin-head,

/* SDGs以降 */
body #sdgs > .wrap > h2,
body #news > .wrap > h2,
body #company > .wrap > h2,
body #access > .wrap > h2,
body #contact > .wrap > h2 {
    position: relative !important;
    left: auto !important;
    transform: none !important;

    width: calc(100vw - 64px) !important;
    max-width: none !important;

    margin-left: calc(50% - 50vw + 32px) !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    text-align: left !important;
    box-sizing: border-box !important;
	
	/* ===== 769-820px フッターメニューを1行固定 ===== */

footer ul,
footer .footer-menu,
footer .footer-nav ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0 !important;
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

footer li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ===== 769-820px フッターメニュー 8項目を1行固定 ===== */

html body footer .wrap > ul.f_nav {
    display: grid !important;
    grid-template-columns: repeat(8, max-content) !important;
    justify-content: space-between !important;
    align-items: center !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
}

html body footer .wrap > ul.f_nav > li {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body footer .wrap > ul.f_nav > li > a {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
}
}
	}
	}
	/* ===== 390px POSKET 最終調整 ===== */
@media screen and (max-width: 768px) {

    body section#origin .origin-box p,
    body section#origin .origin-box li {
        font-size: 1rem !important;
        line-height: 1.8 !important;
    }

    body section#origin .origin-box img {
        display: block !important;
        width: auto !important;
        max-width: 160px !important;
        max-height: 90px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    body #company .shareholder-logo img {
        display: block !important;
        width: auto !important;
        max-width: 160px !important;
        max-height: 90px !important;
        height: auto !important;
        object-fit: contain !important;
    }

}
	/* ===== 390px POSKET 本文 最終固定 ===== */
@media screen and (max-width: 768px) {

    body section#origin.origin .wrap .origin-box > p:not(.origin-link-wrap) {
        font-size: 1.6rem !important;
        line-height: 1.8 !important;
    }

}
	/* ==========================================
   SMARTPHONE FINAL
   横スクロール防止 + FOOTER最終固定
   PC / 769px以上には影響させない
========================================== */
@media screen and (max-width: 768px) {

    /* 横方向へのページ移動を完全に止める */
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* フッター自体を画面幅内に固定 */
    footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;

        background-image:
            linear-gradient(
                rgba(247, 243, 235, 0.48),
                rgba(247, 243, 235, 0.58)
            ),
            url("../images/footer_bk2.jpg?2105141730") !important;

        background-repeat: no-repeat !important;
        background-position: center center !important;
        background-size: cover !important;
    }

    footer .wrap {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* 古い1行固定指定をスマホだけ解除 */
    html body footer .wrap > ul.f_nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 20px 0 !important;
        padding: 0 !important;
        gap: 10px 16px !important;
        float: none !important;

        grid-template-columns: none !important;
    }

    html body footer .wrap > ul.f_nav > li {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body footer .wrap > ul.f_nav > li > a {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
}
/* ==================================================
   2026-08-22
   SMARTPHONE FINAL ONLY
   ※ 768px以下だけに適用
================================================== */

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

    /* =====================================
       ① FOOTER 新画像
    ===================================== */

    footer {
        width: 100% !important;
        height: 360px !important;

        background-image:
            linear-gradient(
                rgba(255,255,255,0.18),
                rgba(255,255,255,0.28)
            ),
            url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/d3a2b5b8a1252f8ddd6f1b66c7fdf739.png?v=4") !important;

        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: 72% bottom !important;

        padding: 0 !important;
    }


    /* =====================================
       ② FOOTER MENU
       文字＋タップ領域を拡大
    ===================================== */

    footer .wrap {
        width: 92% !important;
        height: 100% !important;
        margin: 0 auto !important;
        padding: 30px 0 20px !important;

        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
    }

    footer .wrap ul.f_nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        width: 100% !important;

        gap: 6px 10px !important;

        margin: 0 0 22px !important;
        padding: 0 !important;

        float: none !important;
    }

    footer .wrap ul.f_nav > li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    footer .wrap ul.f_nav > li > a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-width: 0 !important;
        min-height: 44px !important;

        padding: 7px 4px !important;

        font-size: 1.4rem !important;
        line-height: 1.4 !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;

        white-space: normal !important;
        text-align: center !important;
    }

    footer .wrap .copy {
        position: static !important;
        transform: none !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 12px 0 0 !important;

        font-size: 1.1rem !important;
        line-height: 1.5 !important;
    }


    /* =====================================
       ③ TOP MAIN COPY
    ===================================== */

    section.mv .read h1 {
        font-size: 3.2rem !important;
        line-height: 1.45 !important;
    }

    section.mv .read > p:first-of-type {
        font-size: 1.65rem !important;
        line-height: 1.9 !important;
    }

    section.mv .read > p:last-child,
    section.mv .read > p:last-child strong {
        font-size: 1.85rem !important;
        line-height: 1.7 !important;
    }


    /* =====================================
       ④ SCROLL HEADER
       ロゴと白背景の高さを合わせる
    ===================================== */

    header .wrap {
        min-height: 56px !important;
        height: 56px !important;
    }

    header.active {
        min-height: 56px !important;
    }

    header .h_logo img,
    header h1 img,
    header .logo img {
        transform: none !important;
    }

    header h1,
    header .logo {
        top: auto !important;
        transform: none !important;
    }

    header nav.g_nav {
        top: 56px !important;
    }


    /* =====================================
       ⑤ PRIVACY POLICY
    ===================================== */

    #contact .modal-privacy > h1,
    #contact .modal-privacy > h2 {
        font-size: 1.55rem !important;
        line-height: 1.5 !important;
    }

    #contact .privacy-txt p {
        font-size: 1.3rem !important;
        line-height: 1.8 !important;
    }

    #contact .privacy-txt h2 {
        font-size: 1.5rem !important;
        line-height: 1.6 !important;

        margin: 1.4em 0 0.6em !important;
        padding: 0 !important;

        background: none !important;
        text-align: left !important;
    }

    #contact .privacy-txt h2::before,
    #contact .privacy-txt h2::after {
        content: none !important;
        display: none !important;
    }
    /* プライバシーポリシー同意欄 */
    #contact .privacy-agree {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;

        font-size: 1.3rem !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }

    #contact .privacy-agree .wpcf7-form-control-wrap,
    #contact .privacy-agree .wpcf7-acceptance {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin: 0 !important;
    }

    #contact .privacy-agree .wpcf7-list-item,
    #contact .privacy-agree label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 !important;
    }

    #contact .privacy-agree .wpcf7-list-item-label {
        font-size: 1.2rem !important;
        line-height: 1.5 !important;
        text-align: center !important;
    }

    /* =====================================
       ⑥ 本文
       DAIWA・社名の由来と同程度＝16px
    ===================================== */

    /* ABOUT / MISSION */
    section.mission .inner p:not(:first-child) {
        font-size: 1.6rem !important;
        line-height: 1.85 !important;
    }

    /* BUSINESS */
    #business .business-copy p,
    #business .service-content p:not(.service-catch),
    #business .service-content li {
        font-size: 1.6rem !important;
        line-height: 1.85 !important;
    }

    /* POSKET */
    #origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
        font-size: 1.6rem !important;
        line-height: 1.85 !important;
    }

    /* SDGs */
    #sdgs .sdgs-lead p,
    #sdgs .sdgs-item-body p {
        font-size: 1.6rem !important;
        line-height: 1.85 !important;
    }
    /* SDGs 本文左右余白調整 */
#sdgs .sdgs-item-body {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
}
    /* NEWS */
    #news .news-table li p,
    #news .news-table li a {
        font-size: 1.6rem !important;
        line-height: 1.8 !important;
    }


    /* =====================================
       ⑦ COMPANY
       現在20px → 少し縮小
    ===================================== */

    #company .company-list > li,
    #company .company-list > li > span:last-child {
        font-size: 1.7rem !important;
        line-height: 1.8 !important;
    }

    #company .company-list > li > span:first-child {
        font-size: 1.5rem !important;
        line-height: 1.7 !important;
    }

    #company .company-list .jigyo > li,
    #company .company-list .jigyo > li > div {
        font-size: 1.7rem !important;
        line-height: 1.8 !important;
    }

    #company .company-list .jigyo small,
    #company .company-list i {
        font-size: 1.4rem !important;
        line-height: 1.7 !important;
    }

}
/* ==================================================
   2026-08-22
   SMARTPHONE BUSINESS / FOOTER SIZE FINAL
   768px以下のみ
================================================== */

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

    /* BUSINESS 01 / 02 / 03 の通常本文 */
    body #business .business-copy p,
    body #business .service-content p:not(.service-catch),
    body #business .service-content li,
    body #business .consult-profile-mini p {
        font-size: 18px !important;
        line-height: 1.9 !important;
    }

    /* フッターメニュー 最終調整 */
    html body footer .wrap > ul.f_nav {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 22px !important;
        padding: 0 !important;

        gap: 10px !important;
        float: none !important;
    }

    html body footer .wrap > ul.f_nav::before {
        content: "SERVICE MENU";

        grid-column: 1 / -1 !important;

        display: block !important;
        width: 100% !important;

        margin: 0 0 6px !important;

        color: #36505a !important;

        font-family: "Inter", sans-serif !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
        font-weight: 700 !important;
        letter-spacing: 0.16em !important;

        text-align: center !important;
    }

    html body footer .wrap > ul.f_nav > li {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* そろエールは上段中央 */
    html body footer .wrap > ul.f_nav > li:first-child {
        grid-column: 1 / -1 !important;
    }

    /* リンクと準備中のspanを完全に同じ見た目にする */
    html body footer .wrap > ul.f_nav > li > a,
    html body footer .wrap > ul.f_nav > li > span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 52px !important;

        margin: 0 !important;
        padding: 8px 10px !important;

        box-sizing: border-box !important;

        background: rgba(255,255,255,0.48) !important;
        border: 1px solid rgba(38,52,58,0.18) !important;
        border-radius: 999px !important;

        color: #26343a !important;

        font-family: "Zen Kaku Gothic New", sans-serif !important;
        font-size: 13px !important;
        line-height: 1.45 !important;
        font-weight: 700 !important;
        letter-spacing: 0.01em !important;

        text-align: center !important;
        white-space: normal !important;
        word-break: keep-all !important;

        opacity: 1 !important;
    }

    html body footer .wrap > ul.f_nav > li > span {
        cursor: default !important;
    }

	    /* ハンバーガーメニュー仕切り線：スマホのみ */
    html body header nav.g_nav > ul {
        border-top: 1px solid rgba(49, 95, 115, 0.22) !important;
    }

    html body header nav.g_nav > ul > li > a {
        border-bottom: 1px solid rgba(49, 95, 115, 0.22) !important;
    }
}
/* ==================================================
   PC FINAL BASE
   1101px以上のみ
================================================== */
@media screen and (min-width: 1101px) {

    /* ==================================================
       ①⑩ PC全体の横幅
    ================================================== */

    section.mv .wrap,
    section.mission .wrap,
    section.values .wrap,
    section.business .wrap,
    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 92% !important;
        max-width: 1680px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }


    /* ==================================================
       ① HEADER
    ================================================== */

header .wrap {
    width: 92% !important;
    max-width: 1680px !important;
    height: 76px !important;
    margin: 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

header .g_nav {
    margin-left: 60px !important;
    margin-right: 20px !important;
}

html body header nav.g_nav > ul {
    gap: 90px !important;
    padding: 0 !important;
}

html body header nav.g_nav > ul > li > a {
    font-size: 23px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    padding: 27px 0 !important;
    letter-spacing: 0.035em !important;
    white-space: nowrap !important;
}

    /* ==================================================
       ⑨ TOP画像
       上部を優先して表示
    ================================================== */

section.mv {
    background-position: center 18% !important;
    background-size: cover !important;
}
footer {
background-position: center 82% !important;
}

section.mv .read h1 {
    font-size: 6rem !important;
    line-height: 1.4 !important;
}

section.mv .read > p:first-of-type {
    font-size: 2.2rem !important;
    line-height: 2 !important;
}

section.mv .read > p:last-child,
section.mv .read > p:last-child strong {
    font-size: 2.8rem !important;
    line-height: 1.7 !important;
}


    /* ==================================================
       ③ PC本文の共通基準
       基本本文 = 19px / line-height 1.9
    ================================================== */

    section.mission .inner p:not(:first-child),
    section.values .inner ul.bold > li,
    section.values .inner ul.bold > li p,

    #business .business-copy p,
    #business .service-content p:not(.service-catch),
    #business .service-content li,
    #business .consult-profile-mini p,

    #origin .origin-box p:not(.origin-label):not(.origin-link-wrap),

    #sdgs .sdgs-lead p,
    #sdgs .sdgs-item-body p,

    #news .news-table li p,
    #news .news-table li a,

    #company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
    #company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote),

    #access p,
    #access li,
    #contact .inner p {
        font-size: 21px !important;
        line-height: 1.9 !important;
        color: #2f3a3f !important;
    }

    section.mission .inner p:first-child {
        font-size: 24px !important;
        line-height: 1.8 !important;
    }


    /* ==================================================
       ② OUR STYLEカード
       固定高さを解除・下切れを修正
    ================================================== */

    section.values .inner {
        overflow: visible !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    section.values ul.bold {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 32px !important;
        align-items: stretch !important;

        border: 0 !important;
        box-shadow: none !important;
    }

    section.values .inner ul.bold > li {
        width: 100% !important;
        height: auto !important;
        min-height: 200px !important;

        margin: 0 !important;
        padding: 36px 34px 40px !important;

        overflow: visible !important;

        border: 0 !important;
        border-radius: 14px !important;

        background: #ffffff !important;

        box-shadow: 0 8px 22px rgba(38, 52, 58, 0.10) !important;
    }

    section.values .inner ul.bold > li::before,
    section.values .inner ul.bold > li::after {
        content: none !important;
        display: none !important;
    }

    section.values .inner ul.bold > li strong {
        font-size: 21px !important;
        line-height: 1.55 !important;
        margin-bottom: 18px !important;
    }


    /* ==================================================
       ④ BUSINESS 01 / 02 / 03 日本語タイトル
    ================================================== */

body #business .business-unit-head > div > h3 {
    font-size: 28px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    margin-top: 8px !important;
}

    #business .business-category {
        font-size: 16px !important;
        line-height: 1.4 !important;
    }


    /* ==================================================
       ⑤ BUSINESS本文・行間統一
    ================================================== */

    #business .business-copy p,
    #business .service-content p:not(.service-catch),
    #business .service-content li,
    #business .consult-profile-mini p {
        font-size: 21px !important;
        line-height: 1.9 !important;
    }

    #business .business-copy p,
    #business .service-content p {
        margin-bottom: 1.2em !important;
    }

    #business .service-catch {
        font-size: 21px !important;
        line-height: 1.75 !important;
        margin-bottom: 22px !important;
    }


    /* ==================================================
       ⑥ POSKET
    ================================================== */

    #origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
        font-size: 21px !important;
        line-height: 1.9 !important;
    }

    #origin .origin-box h3 {
        font-size: 26px !important;
        line-height: 1.5 !important;
    }


    /* ==================================================
       ⑥ SDGs
    ================================================== */

    #sdgs .sdgs-lead p,
    #sdgs .sdgs-item-body p {
        font-size: 21px !important;
        line-height: 1.9 !important;
    }

    #sdgs .sdgs-lead h3 {
        font-size: 24px !important;
        line-height: 1.6 !important;
    }

    #sdgs .sdgs-item h3 {
        font-size: 22px !important;
        line-height: 1.55 !important;
    }

    #sdgs .sdgs-target {
        font-size: 14px !important;
    }


    /* ==================================================
       ⑦ NEWSカード
    ================================================== */

    #news .news-table {
        display: flex !important;
        align-items: stretch !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }

    #news .news-table > li {
        width: calc((100% - 48px) / 3) !important;
        height: auto !important;
        min-height: 190px !important;

        margin: 0 !important;
        padding: 28px 28px 34px !important;

        display: flex !important;
        flex-direction: column !important;

        box-sizing: border-box !important;
    }

    #news .news-table li p,
    #news .news-table li a {
        font-size: 21px !important;
        line-height: 1.75 !important;
    }

    #news .news-table li p {
        margin-bottom: 14px !important;
    }

    #news .news-table li p:last-child {
        margin-bottom: 0 !important;
    }


    /* ==================================================
       COMPANY本文もPC基準へ
    ================================================== */

#company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
#company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
    font-size: 21px !important;
    line-height: 1.95 !important;
}

#company .company-name-origin .origin-french {
    font-size: 26px !important;
    line-height: 1.8 !important;
}

#company .company-name-origin .origin-french img,
#company .company-name-origin .inner > p:first-child img {
    width: 440px !important;
    max-width: 70% !important;
    height: auto !important;
}
#company .company-name-origin .origin-quote-main {
    font-size: 22px !important;
    line-height: 1.75 !important;
}

#company .company-name-origin .origin-quote-author {
    font-size: 18px !important;
    line-height: 1.8 !important;
}

/* COMPANY 会社概要 PCバランス */
#company > .wrap > section:first-of-type {
    padding-left: 38px !important;
    padding-right: 38px !important;
}

#company .company-list {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#company .company-list > li {
    grid-template-columns: 145px minmax(0, 1fr) !important;
    column-gap: 20px !important;
}

#company .company-list > li > span:first-child,
#company .company-list > li > span:last-child,
#company .company-list .jigyo > li,
#company .company-list .jigyo > li > div {
    font-size: 21px !important;
    line-height: 1.85 !important;
}

/* ==================================================
   CONTACT PC FINAL
   1101px以上
================================================== */

/* お問い合わせタイトル */
#contact .inner > p.bold {
    font-size: 30px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    margin-bottom: 48px !important;
    text-align: center !important;
}

/* フォーム全体 */
#contact .form-list {
    display: block !important;
    width: 920px !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    border-spacing: 0 !important;
}

/* 各行 */
#contact .form-list > li {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 636px) !important;
    column-gap: 24px !important;
    align-items: center !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 0 16px 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* liの中にpが入る構造にも対応 */
#contact .form-list > li > p {
    grid-column: 1 / -1 !important;

    display: grid !important;
    grid-template-columns: 260px minmax(0, 636px) !important;
    column-gap: 24px !important;
    align-items: center !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 左側：項目名 */
#contact .form-list li > span:first-child,
#contact .form-list li > p > span:first-child {
    display: block !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    font-size: 21px !important;
    line-height: 1.5 !important;

    text-align: right !important;
    white-space: nowrap !important;
}

/* [必須] */
#contact .form-list li > span:first-child i,
#contact .form-list li > p > span:first-child i {
    display: inline !important;
    margin-left: 0.45em !important;
    white-space: nowrap !important;
}

/* Contact Form 7の入力欄ラッパー */
#contact .form-list .wpcf7-form-control-wrap {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}

/* 入力欄共通 */
#contact .form-list input[type="text"],
#contact .form-list input[type="tel"],
#contact .form-list input[type="email"],
#contact .form-list textarea {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;

    box-sizing: border-box !important;

    font-size: 21px !important;
    line-height: 1.6 !important;
    color: #26343a !important;

    border: 1px solid #bdbdbd !important;
    border-radius: 5px !important;
}

/* 1行入力欄 */
#contact .form-list input[type="text"],
#contact .form-list input[type="tel"],
#contact .form-list input[type="email"] {
    height: 48px !important;
    padding: 0 12px !important;
}

/* お問い合わせ内容 */
#contact .form-list textarea {
    height: 180px !important;
    min-height: 180px !important;
    padding: 12px !important;
    resize: vertical !important;
}

/* プライバシーポリシーを入力欄と同じ左端へ */
#contact .modal-privacy {
    width: 636px !important;
    max-width: 636px !important;

    margin-top: 42px !important;
    margin-left: calc((100% - 920px) / 2 + 284px) !important;
    margin-right: 0 !important;
}

/* プライバシータイトル */
#contact .modal-privacy > h1,
#contact .modal-privacy > h2 {
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
}

/* プライバシー本文 */
#contact .privacy-txt {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

#contact .privacy-txt p {
    font-size: 14px !important;
    line-height: 1.75 !important;
}

/* CONTACT 同意欄・送信ボタン間隔 */
#contact .privacy-agree {
    width: 636px !important;
    max-width: 636px !important;

    margin-top: 18px !important;
    margin-left: calc((100% - 920px) / 2 + 284px) !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;

    box-sizing: border-box !important;
    text-align: center !important;

    font-size: 16px !important;
    line-height: 1.5 !important;
}

#contact .privacy-agree .wpcf7-list-item,
#contact .privacy-agree label,
#contact .privacy-agree .wpcf7-list-item-label {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

#contact .form-submit {
    margin-top: 36px !important;
    text-align: center !important;
}

#contact .form-submit input[type="submit"] {
    margin: 0 auto !important;
}
    /* ==================================================
       ⑧ FOOTER MENU
    ================================================== */

footer .wrap {
    width: 92% !important;
    max-width: 1680px !important;
}

html body footer .wrap > ul.f_nav {
    justify-content: center !important;
    gap: 20px 76px !important;
    margin-bottom: 32px !important;
}

html body footer .wrap > ul.f_nav > li > a {
    font-size: 21px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
    padding: 8px 0 !important;
    letter-spacing: 0.035em !important;
    white-space: nowrap !important;
}
/* ==================================================
   ACCESS PC FINAL
================================================== */
#access > .wrap {
    grid-template-columns: minmax(0, 54%) minmax(0, 46%) !important;
    column-gap: 32px !important;
}

#access > .wrap > iframe {
    width: 100% !important;
    height: 420px !important;
}

#access > .wrap > p {
    width: 100% !important;
    max-width: none !important;

    font-size: 21px !important;
    line-height: 1.9 !important;

    padding-left: 8px !important;
    box-sizing: border-box !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
#access > .wrap > p br {
    line-height: 2.1 !important;
}
}
/* ==================================================
   PC WIDE SCREEN ROOT FIX
   1101px以上のみ
================================================== */
@media screen and (min-width: 1101px) {

    html,
    body {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    header {
        width: 100% !important;
        max-width: none !important;
    }

    section.mv,
    section.mission,
    section.values,
    section.business,
    #origin,
    #sdgs,
    #news,
    #company,
    #access,
    #contact,
    footer {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        left: auto !important;
        transform: none !important;
    }

}
/* ==================================================
   PC DETAIL BALANCE FINAL
   1101px以上のみ
================================================== */
@media screen and (min-width: 1101px) {

    /* ==============================================
       会社概要
       左右にきちんと余白を取り、項目と本文を整理
    ============================================== */
    #company > .wrap > section:first-of-type {
        padding-left: 80px !important;
        padding-right: 80px !important;
    }

    #company .company-list {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #company .company-list > li {
        grid-template-columns: 165px minmax(0, 1fr) !important;
        column-gap: 30px !important;
    }


/* ==============================================
   高速検証デポ ロゴ 最終調整
============================================== */
body section.business .service-card-depot .service-content .brand-logo {
    width: 120px !important;
    min-width: 120px !important;
    max-width: none !important;
    flex: 0 0 120px !important;
    margin-right: 24px !important;
}

body section.business .service-card-depot .service-content .brand-logo img {
    display: block !important;
    width: 120px !important;
    min-width: 120px !important;
    max-width: none !important;
    max-height: none !important;
    height: auto !important;
    object-fit: contain !important;
}

    /* ==============================================
       コンサル
       カード本文の左右余白を広げる
    ============================================== */
    #business-development .service-card:first-child .service-content {
        padding-left: 64px !important;
        padding-right: 64px !important;
    }


    /* ==============================================
       高速検証デポ
       本文の左右余白を広げる
    ============================================== */
    #business-development .service-card-depot .service-content {
        padding-left: 64px !important;
        padding-right: 64px !important;
    }


    /* ==============================================
       POSKET
       本文領域を少し内側へ
    ============================================== */
    #origin .origin-box {
        padding-left: 80px !important;
        padding-right: 80px !important;
    }


    /* ==============================================
       社名の由来
       本文を中央寄せ
    ============================================== */
    #company .company-name-origin .inner {
        width: 100% !important;
        max-width: 1120px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 48px !important;
        padding-right: 48px !important;
        box-sizing: border-box !important;
        text-align: center !important;
    }

    #company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
        width: 100% !important;
        max-width: 1000px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-bottom: 18px !important;
        text-align: center !important;
    }
	/* SHAREHOLDER 見出し PCサイズ調整 */
#company .shareholder > h3 {
    font-size: 34px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    letter-spacing: .025em !important;
}

}
/* ==================================================
   HEADER / FOOTER NARROW PC FINAL
   1001px - 1100pxのみ
================================================== */
@media screen and (min-width: 1001px) and (max-width: 1100px) {

    /* HEADER */
    header .wrap {
        width: 94% !important;
        max-width: none !important;
        height: 76px !important;
        margin: 0 auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    header .g_nav {
        flex: 1 1 auto !important;
        margin-left: 36px !important;
        margin-right: 10px !important;
    }

    header .g_nav ul {
        width: 100% !important;
        max-width: 780px !important;
        margin: 0 auto !important;
        padding: 0 !important;

        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;

        gap: 0 !important;
    }

    header .g_nav ul li a {
        font-size: 19px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        padding: 26px 0 !important;
        letter-spacing: 0.035em !important;
        white-space: nowrap !important;
    }


    /* FOOTER */
    footer .wrap {
        width: calc(100% - 80px) !important;
        max-width: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    footer .wrap ul.f_nav {
        width: 100% !important;
        max-width: 900px !important;
        margin: 0 auto 32px !important;
        padding: 0 !important;

        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;

        gap: 0 !important;
    }

    footer .wrap ul.f_nav li {
        margin: 0 !important;
        padding: 0 !important;
    }

    footer .wrap ul.f_nav li a {
        font-size: 18px !important;
        line-height: 1.5 !important;
        font-weight: 700 !important;
        padding: 8px 0 !important;
        letter-spacing: 0.025em !important;
        white-space: nowrap !important;
    }

}
/* ==================================================
   HEADER / FOOTER PC ABSOLUTE FINAL
   1001px以上のみ
================================================== */
@media screen and (min-width: 1101px) {

    /* =========================
       HEADER
    ========================= */

    html body header .wrap {
        width: 92% !important;
        max-width: 1680px !important;
        height: 78px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    html body header nav.g_nav {
        flex: 1 1 auto !important;
        width: auto !important;
        margin-left: 60px !important;
        margin-right: 20px !important;
    }

    html body header nav.g_nav > ul {
        display: flex !important;
        width: 100% !important;
        max-width: 940px !important;
        margin: 0 auto !important;
        padding: 0 !important;

        justify-content: space-between !important;
        align-items: center !important;

        gap: 0 !important;
    }

    html body header nav.g_nav > ul > li {
        margin: 0 !important;
        padding: 0 !important;
    }

    html body header nav.g_nav > ul > li > a {
        display: block !important;

        font-size: 19px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
        letter-spacing: 0.035em !important;

        padding: 25px 0 !important;

        white-space: nowrap !important;
    }


    /* =========================
       FOOTER
    ========================= */

html body footer .wrap {
    width: 92% !important;
    max-width: 1680px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body footer .wrap > ul.f_nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 1320px !important;

    margin: 0 auto 34px !important;
    padding: 26px 20px 0 !important;

    gap: 18px 26px !important;

    box-sizing: border-box !important;
    list-style: none !important;
    position: relative !important;
}

/* メニュー見出しをCSSで追加 */
html body footer .wrap > ul.f_nav::before {
    content: "SERVICE MENU";
    display: block !important;
    width: 100% !important;

    margin: 0 0 8px 0 !important;

    text-align: center !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    color: #36505a !important;
}

html body footer .wrap > ul.f_nav > li {
    flex: 0 1 280px !important;
    max-width: 280px !important;
    min-width: 200px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: center !important;
}

html body footer .wrap > ul.f_nav > li > a,
html body footer .wrap > ul.f_nav > li > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;
    box-sizing: border-box !important;

    color: #26343a !important;
    opacity: 1 !important;

    background: rgba(255,255,255,0.42) !important;
    border: 1px solid rgba(38,52,58,0.18) !important;
    border-radius: 999px !important;

    font-size: clamp(15px, 0.95vw, 17px) !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;

    padding: 6px 12px !important;

    text-align: center !important;
    white-space: normal !important;
    word-break: keep-all !important;
}
html body footer .wrap > ul.f_nav > li > span {
    cursor: default !important;
}

}
/* ==================================================
   1366×768 NOTE PC TYPOGRAPHY ONLY
   他サイズには影響させない
================================================== */
@media screen and (min-width: 1320px) and (max-width: 1366px) and (max-height: 800px) {

    /* HEADER */
    html body header nav.g_nav > ul > li > a {
        font-size: 16px !important;
    }

    /* TOP */
    section.mv .read h1 {
        font-size: 5.2rem !important;
    }

    section.mv .read > p:first-of-type {
        font-size: 1.8rem !important;
    }

    section.mv .read > p:last-child,
    section.mv .read > p:last-child strong {
        font-size: 2.2rem !important;
    }

    /* 大タイトル */
    section.mission h2,
    section.values h2,
    #business .business-head h2,
    #origin .origin-head h2,
    #sdgs > .wrap > h2,
    #news > .wrap > h2,
    #company > .wrap > h2,
    #access > .wrap > h2,
    #contact > .wrap > h2 {
        font-size: 40px !important;
    }

    /* 日本語サブタイトル */
    section.mission h2 span,
    section.values h2 span,
    #business .business-lead,
    #origin .origin-head p {
        font-size: 15px !important;
    }

    /* ABOUT / MISSION */
    section.mission .inner p:first-child {
        font-size: 20px !important;
    }

    section.mission .inner p:not(:first-child) {
        font-size: 17px !important;
    }

    /* OUR STYLE */
    section.values .inner ul.bold > li,
    section.values .inner ul.bold > li p {
        font-size: 16px !important;
    }

    section.values .inner ul.bold > li strong {
        font-size: 18px !important;
    }

    /* BUSINESS 01 / 02 / 03 */
    body #business .business-unit-head > div > h3 {
        font-size: 24px !important;
    }

    #business .business-category {
        font-size: 14px !important;
    }

    /* BUSINESS サービス名 */
    #business .service-content h4 {
        font-size: 22px !important;
    }

    /* BUSINESS 本文 */
    #business .business-copy p,
    #business .service-content p:not(.service-catch),
    #business .service-content li,
    #business .consult-profile-mini p {
        font-size: 17px !important;
    }

    #business .service-catch {
        font-size: 18px !important;
    }

	    /* そろエール画像：1366×768付近のみ */
    #business .service-card-featured .service-image {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    #business .service-card-featured .service-image img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
    /* OUR ORIGIN */
    #origin .origin-box h3 {
        font-size: 22px !important;
    }

    #origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
        font-size: 17px !important;
    }

    /* SDGs */
    #sdgs .sdgs-lead p,
    #sdgs .sdgs-item-body p {
        font-size: 17px !important;
    }

    #sdgs .sdgs-lead h3 {
        font-size: 20px !important;
    }

    #sdgs .sdgs-item h3 {
        font-size: 18px !important;
    }

    #sdgs .sdgs-target {
        font-size: 12px !important;
    }

    /* NEWS */
    #news .news-table li p,
    #news .news-table li a {
        font-size: 17px !important;
    }

    /* COMPANY 会社概要 */
    #company .company-list > li > span:first-child,
    #company .company-list > li > span:last-child,
    #company .company-list .jigyo > li,
    #company .company-list .jigyo > li > span,
    #company .company-list .jigyo > li > div {
        font-size: 17px !important;
    }

    #company .company-list small,
    #company .company-list .jigyo > li small {
        font-size: 14px !important;
    }

    /* COMPANY 小見出し */
    #company > .wrap > section:first-of-type > h3,
    #company .shareholder > h3,
    #company .company-name-origin > h3 {
        font-size: 26px !important;
    }

    #company .shareholder h4 {
        font-size: 20px !important;
    }

    /* COMPANY 本文 */
    #company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
    #company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
        font-size: 17px !important;
    }

    #company .company-name-origin .origin-quote-main {
        font-size: 19px !important;
    }

    #company .company-name-origin .origin-quote-author {
        font-size: 15px !important;
    }

    /* ACCESS */
    #access > .wrap > p,
    #access li {
        font-size: 17px !important;
    }

    /* CONTACT */
    #contact .inner > p.bold {
        font-size: 24px !important;
    }

    #contact .form-list li > span:first-child,
    #contact .form-list li > p > span:first-child {
        font-size: 17px !important;
    }

    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"],
    #contact .form-list textarea {
        font-size: 17px !important;
    }

    /* FOOTER */
    html body footer .wrap > ul.f_nav > li > a,
    html body footer .wrap > ul.f_nav > li > span {
        font-size: 14px !important;
    }
}
/* ==================================================
   PRINT FOOTER FINAL
   印刷時のみ
================================================== */

@media print {

    footer {
        background-image:
            linear-gradient(
                rgba(255,255,255,0.18),
                rgba(255,255,255,0.28)
            ),
            url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/d3a2b5b8a1252f8ddd6f1b66c7fdf739.png?v=4") !important;

        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center 82% !important;

        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

}
/* ==================================================
   TABLET / NARROW PC FINAL FIX
   769px - 1100px ONLY
================================================== */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    /* =====================================
       1. PRIVACY AGREEMENT
       checkbox + text を1行に固定
    ===================================== */

    #contact .privacy-agree {
        width: 620px !important;
        max-width: calc(100% - 80px) !important;

        margin: 18px auto 0 !important;

        text-align: center !important;
        box-sizing: border-box !important;
    }

    #contact .privacy-agree .wpcf7-form-control-wrap,
    #contact .privacy-agree .wpcf7-acceptance {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        margin: 0 !important;
    }

    #contact .privacy-agree .wpcf7-list-item,
    #contact .privacy-agree label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: auto !important;
        margin: 0 !important;

        white-space: nowrap !important;
    }

    #contact .privacy-agree input[type="checkbox"] {
        display: inline-block !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 8px 0 0 !important;
        padding: 0 !important;

        flex: 0 0 auto !important;
    }

    #contact .privacy-agree .wpcf7-list-item-label {
        display: inline !important;

        width: auto !important;

        font-size: 14px !important;
        line-height: 1.5 !important;

        white-space: nowrap !important;
    }


    /* =====================================
       2・3. FOOTER SERVICE MENU
       枠＋そろエールの書体を統一
    ===================================== */

    html body footer .wrap > ul.f_nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;

        gap: 10px 14px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body footer .wrap > ul.f_nav > li {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        flex: 0 0 auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    html body footer .wrap > ul.f_nav > li > a,
    html body footer .wrap > ul.f_nav > li > span {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 38px !important;

        padding: 5px 12px !important;

        box-sizing: border-box !important;

        background: rgba(255,255,255,0.42) !important;
        border: 1px solid rgba(38,52,58,0.18) !important;
        border-radius: 999px !important;

        color: #26343a !important;

        font-family:
            "Zen Kaku Gothic New",
            "Hiragino Kaku Gothic ProN",
            sans-serif !important;

        font-size: 12px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        letter-spacing: 0.01em !important;

        text-align: center !important;
        white-space: nowrap !important;
    }
    /* =====================================
       4. OUR STYLE CARDS
       枠線解除＋カード内余白統一
    ===================================== */

    /* カード全体を囲っている旧innerの影・枠を解除 */
    section.values .inner {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    section.values ul.bold {
        align-items: stretch !important;
    }

    /* 各カード */
    section.values .inner ul.bold > li {
        height: auto !important;
        min-height: 0 !important;

        padding: 24px 24px 22px !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;

        background: #ffffff !important;

        overflow: visible !important;
        box-sizing: border-box !important;
    }

    /* 3カードのタイトル部分の高さを統一 */
    section.values .inner ul.bold > li strong {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 3em !important;

        margin-bottom: 10px !important;
    }

    /* 本文下の余計なmarginを解除 */
    section.values .inner ul.bold > li p {
        margin-bottom: 0 !important;
    }
}
/* ==================================================
   TABLET / NARROW PC BODY TEXT SIZE FINAL
   769px - 1100px ONLY
   本文を会社概要に近いサイズへ
================================================== */
@media screen and (min-width: 769px) and (max-width: 1100px) {

    /* ABOUT / MISSION */
    html body section.mission.mission .inner p {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }

    /* OUR STYLE */
    html body section.values.values .inner ul.bold > li,
    html body section.values.values .inner ul.bold > li p {
        font-size: 18px !important;
        line-height: 1.8 !important;
    }

    /* BUSINESS */
    html body #business#business .business-copy p,
    html body #business#business .service-content p:not(.service-catch),
    html body #business#business .service-content li,
    html body #business#business .consult-profile-mini p,
    html body #business#business .consult-features li {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }

    /* OUR ORIGIN */
    html body #origin#origin .origin-box p:not(.origin-label):not(.origin-link-wrap),
    html body #origin#origin .origin-box li {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }

    /* SDGs */
    html body #sdgs#sdgs .sdgs-lead p,
    html body #sdgs#sdgs .sdgs-item-body p {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }

    /* NEWS */
    html body #news#news .news-table li p,
    html body #news#news .news-table li a {
        font-size: 18px !important;
        line-height: 1.8 !important;
    }

    /* SHAREHOLDER / 社名の由来 */
    html body #company#company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
    html body #company#company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }

    /* ACCESS */
    html body #access#access > .wrap > p,
    html body #access#access li {
        font-size: 18px !important;
        line-height: 1.85 !important;
    }
}
/* ==================================================
   LESTYLE 2026
   PRINT LAYOUT FINAL
   A4印刷 / PDF専用
================================================== */

@page {
    size: A4 portrait;
    margin: 10mm;
}

@media print {

    /* =====================================
       0. PRINT BASIC RESET
    ===================================== */

    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        box-sizing: border-box !important;
    }

    html,
    body {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;

        background: #ffffff !important;
    }

    body {
        font-size: 10.5pt !important;
    }

    img {
        max-width: 100% !important;
        height: auto !important;
    }

    p,
    li {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3,
    h4 {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    a {
        text-decoration: none !important;
    }


    /* =====================================
       1. HEADER
       fixedを解除し、最初のページだけ表示
    ===================================== */

    header {
        position: static !important;

        top: auto !important;
        left: auto !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        transform: none !important;

        background: #ffffff !important;

        z-index: auto !important;
    }

    header .wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 0 5mm 0 !important;
        padding: 0 !important;
    }

    header .h_logo img,
    header h1 img,
    header .logo img {
        display: block !important;

        width: 34mm !important;
        max-width: 34mm !important;
        height: auto !important;

        margin: 0 !important;

        transform: none !important;
    }

    header .g_nav {
        position: static !important;

        display: flex !important;

        width: auto !important;
        height: auto !important;

        margin: 0 0 0 8mm !important;
        padding: 0 !important;

        overflow: visible !important;

        background: transparent !important;
    }

    header .g_nav ul {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;

        gap: 2mm 4mm !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
    }

    header .g_nav ul li {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .g_nav ul li a {
        display: block !important;

        padding: 0 !important;

        color: #26343a !important;

        font-size: 7.5pt !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;

        white-space: nowrap !important;

        text-shadow: none !important;
    }

    #humbt,
    #chk,
    header .sp,
    #page-top {
        display: none !important;
    }


    /* =====================================
       2. 全セクション A4幅へリセット
    ===================================== */

    section.mv,
    section.mission,
    section.values,
    section.business,
    #origin,
    #sdgs,
    #news,
    #company,
    #access,
    #contact {
        position: static !important;

        left: auto !important;
        right: auto !important;

        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        transform: none !important;

        overflow: visible !important;
    }

    section.mission > .wrap,
    section.values > .wrap,
    section.business > .wrap,
    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* =====================================
       3. HERO
    ===================================== */

    section.mv {
        width: 100% !important;

        height: 125mm !important;
        min-height: 125mm !important;

        margin: 0 !important;

        background-size: cover !important;
        background-position: center center !important;

        overflow: hidden !important;
    }

    section.mv .wrap {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 28mm 10mm 0 !important;

        text-align: center !important;
    }

    section.mv .read {
        margin: 0 auto !important;
    }

    section.mv .read h1 {
        font-size: 24pt !important;
        line-height: 1.45 !important;
    }

    section.mv .read p {
        font-size: 11pt !important;
        line-height: 1.8 !important;
    }

    section.mv .read p:last-child {
        margin-top: 5mm !important;

        font-size: 12.5pt !important;
        line-height: 1.6 !important;
    }


    /* =====================================
       4. ABOUT / MISSION
    ===================================== */

    section.mission .wrap {
        display: grid !important;
        grid-template-columns: 31% minmax(0, 69%) !important;
        column-gap: 8mm !important;

        padding-top: 10mm !important;
        padding-bottom: 11mm !important;
    }

    section.mission h2 {
        font-size: 25pt !important;
        line-height: 1.15 !important;
    }

    section.mission h2 span {
        font-size: 9pt !important;
    }

    section.mission .inner {
        width: 100% !important;
        max-width: none !important;

        padding: 0 0 0 7mm !important;

        border-left: 1px solid #b6bfba !important;
    }

    section.mission .inner p {
        font-size: 10.5pt !important;
        line-height: 1.75 !important;
    }

    section.mission .inner p:first-child {
        font-size: 13pt !important;
        line-height: 1.65 !important;
    }


    /* =====================================
       5. OUR STYLE
    ===================================== */

    section.values .wrap {
        padding-top: 10mm !important;
        padding-bottom: 11mm !important;
    }

    section.values h2 {
        font-size: 25pt !important;
    }

    section.values h2 span {
        font-size: 9pt !important;
    }

    section.values .inner {
        width: 100% !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;

        background: transparent !important;
    }

    section.values ul.bold {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

        gap: 5mm !important;

        width: 100% !important;
    }

    section.values .inner ul.bold > li {
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 6mm !important;

        font-size: 9.5pt !important;
        line-height: 1.7 !important;

        overflow: visible !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    section.values .inner ul.bold > li strong {
        min-height: 0 !important;

        margin-bottom: 3mm !important;

        font-size: 11pt !important;
        line-height: 1.5 !important;
    }


    /* =====================================
       6. BUSINESS
       印刷時は横幅を広げ、細いカラム化を防止
    ===================================== */

    section.business .wrap {
        width: 100% !important;

        padding-top: 10mm !important;
        padding-bottom: 10mm !important;
    }

    #business .business-head {
        margin-bottom: 8mm !important;
    }

    #business .business-head h2 {
        font-size: 26pt !important;
    }

    #business .business-lead {
        font-size: 10.5pt !important;
    }

    #business .business-unit {
        width: 100% !important;

        margin: 0 0 8mm 0 !important;
        padding: 8mm !important;

        border-left-width: 1.5mm !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    html body #business .business-unit-head {
        display: grid !important;
        grid-template-columns: 10mm minmax(0, 1fr) !important;
        column-gap: 4mm !important;

        margin-bottom: 6mm !important;
    }

    html body #business .business-number {
        grid-column: 1 !important;

        font-size: 16pt !important;
        line-height: 1.2 !important;
    }

    html body #business .business-category {
        font-size: 8pt !important;
    }

    html body #business .business-unit-head > div > h3 {
        width: 100% !important;

        margin: 1.5mm 0 0 0 !important;

        font-size: 14pt !important;
        line-height: 1.45 !important;
    }

    #business .business-unit-head h3::after {
        width: 12mm !important;
        height: 1px !important;

        margin-top: 3mm !important;
    }

    #business .business-copy {
        width: 100% !important;
        max-width: none !important;

        margin: 0 0 7mm 0 !important;
    }

    #business .business-copy p {
        font-size: 10pt !important;
        line-height: 1.75 !important;
    }

    #business .service-grid,
    #business-development .service-grid-2 {
        display: grid !important;
        grid-template-columns: 1fr !important;

        gap: 6mm !important;

        width: 100% !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #business .service-card-featured {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;
    }

    #business .service-card {
        width: 100% !important;
        max-width: none !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    #business .service-image {
        width: 100% !important;

        min-height: 0 !important;
        height: auto !important;
    }

    #business .service-content {
        width: 100% !important;

        padding: 7mm !important;
    }

    #business .service-label,
    #business .service-status {
        font-size: 8pt !important;
    }

    #business .service-content h4 {
        font-size: 14pt !important;
        line-height: 1.4 !important;
    }

    #business .service-catch {
        font-size: 10pt !important;
        line-height: 1.6 !important;
    }

    #business .service-content p,
    #business .service-content li,
    #business .consult-profile-mini p,
    #business .consult-features li {
        font-size: 9.5pt !important;
        line-height: 1.7 !important;
    }

    #business .service-links {
        margin-top: 5mm !important;
    }

    #business .service-links a,
    #business .service-link {
        padding: 2mm 4mm !important;

        font-size: 8pt !important;
    }

    #business-development .service-card-depot .service-image-depot,
    #business-development .service-card-depot .service-image-depot img {
        width: 100% !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* ECはA4で2列を維持 */
    #e-commerce .service-grid-2 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 6mm !important;

        margin-left: 0 !important;
    }

    #e-commerce .service-grid-2 .service-card .service-image {
        aspect-ratio: 16 / 9 !important;
    }


    /* =====================================
       7. OUR ORIGIN
    ===================================== */

    #origin {
        padding: 10mm 0 !important;
    }

    #origin .origin-head {
        margin-bottom: 7mm !important;
    }

    #origin .origin-head h2 {
        font-size: 25pt !important;
    }

    #origin .origin-box {
        width: 100% !important;

        padding: 8mm 10mm !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    #origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
        font-size: 10pt !important;
        line-height: 1.75 !important;
    }

    #origin .origin-box h3 {
        font-size: 15pt !important;
    }


    /* =====================================
       8. SDGs
    ===================================== */

    #sdgs {
        padding: 10mm 0 !important;
    }

    #sdgs > .wrap > h2 {
        margin-bottom: 8mm !important;

        font-size: 25pt !important;
    }

    #sdgs .sdgs-renew,
    #sdgs .sdgs-lead,
    #sdgs .sdgs-list,
    #sdgs .sdgs-item-body {
        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    #sdgs .sdgs-lead {
        margin-top: 0 !important;
        margin-bottom: 6mm !important;
    }

    #sdgs .sdgs-lead h3 {
        font-size: 13pt !important;
    }

    #sdgs .sdgs-lead p {
        font-size: 9.5pt !important;
        line-height: 1.7 !important;
    }

    #sdgs .sdgs-brand {
        width: 100% !important;

        margin: 0 0 6mm 0 !important;
        padding: 4mm 0 !important;
    }

    #sdgs .sdgs-list {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 5mm !important;
    }

    #sdgs .sdgs-item {
        display: grid !important;
        grid-template-columns: 18mm minmax(0, 1fr) !important;

        gap: 4mm !important;

        width: 100% !important;

        padding: 5mm !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    #sdgs .sdgs-item-icon img {
        width: 18mm !important;
        height: auto !important;
    }

    #sdgs .sdgs-target {
        font-size: 7.5pt !important;
    }

    #sdgs .sdgs-item h3 {
        font-size: 11pt !important;
        line-height: 1.5 !important;
    }

    #sdgs .sdgs-item-body p {
        font-size: 9pt !important;
        line-height: 1.65 !important;
    }


    /* =====================================
       9. NEWS
    ===================================== */

    #news {
        padding: 10mm 0 !important;
    }

    #news > .wrap > h2 {
        margin-bottom: 8mm !important;

        font-size: 25pt !important;
    }

    #news .news-table {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 5mm !important;

        width: 100% !important;
    }

    #news .news-table li {
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 5mm !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    #news .news-table li p,
    #news .news-table li a {
        font-size: 9.5pt !important;
        line-height: 1.6 !important;
    }


    /* =====================================
       10. COMPANY
    ===================================== */

    #company {
        padding: 10mm 0 !important;
    }

    #company > .wrap > h2 {
        margin-bottom: 8mm !important;

        font-size: 25pt !important;
    }

    html body #company > .wrap > section,
    html body #company .shareholder,
    html body #company .company-name-origin {
        width: 100% !important;
        max-width: none !important;

        margin: 0 0 8mm 0 !important;
        padding: 8mm 10mm !important;
    }

    #company .company-list {
        width: 100% !important;
        max-width: none !important;
    }

    #company .company-list > li {
        display: grid !important;
        grid-template-columns: 35mm minmax(0, 1fr) !important;

        padding: 3mm 0 !important;
    }

    #company .company-list > li > span:first-child {
        font-size: 8.5pt !important;
        line-height: 1.6 !important;
    }

    #company .company-list > li > span:last-child,
    #company .company-list .jigyo li {
        font-size: 9.5pt !important;
        line-height: 1.7 !important;
    }

    #company .shareholder,
    #company .company-name-origin {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    #company .shareholder > h3,
    #company .company-name-origin > h3,
    #company > .wrap > section:first-of-type > h3 {
        margin-bottom: 6mm !important;

        font-size: 15pt !important;
    }

    #company .shareholder h4 {
        font-size: 12pt !important;
    }

    #company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap),
    #company .company-name-origin .inner p {
        font-size: 9.5pt !important;
        line-height: 1.7 !important;
    }

    #company .company-name-origin .inner {
        width: 100% !important;
        max-width: none !important;

        padding: 0 8mm !important;
    }


    /* =====================================
       11. ACCESS
    ===================================== */

    #access {
        padding: 10mm 0 !important;
    }

    #access > .wrap > h2 {
        margin-bottom: 8mm !important;

        font-size: 25pt !important;
    }

    #access iframe {
        float: left !important;

        width: 55% !important;
        height: 75mm !important;

        margin: 0 7mm 5mm 0 !important;
    }

    #access p,
    #access li {
        font-size: 9.5pt !important;
        line-height: 1.7 !important;
    }


    /* =====================================
       12. CONTACT
    ===================================== */

    #contact {
        padding: 10mm 0 !important;
    }

    #contact > .wrap > h2 {
        margin-bottom: 8mm !important;

        font-size: 25pt !important;
    }

    #contact .inner {
        width: 100% !important;

        padding: 8mm !important;
    }

    #contact .form-list {
        display: block !important;

        width: 100% !important;

        margin: 0 !important;

        border-spacing: 0 !important;
    }

    #contact .form-list li {
        display: grid !important;
        grid-template-columns: 38mm minmax(0, 1fr) !important;

        column-gap: 3mm !important;

        width: 100% !important;

        padding: 2mm 0 !important;
    }

    #contact .form-list li span:first-child {
        width: auto !important;

        padding: 0 4mm 0 0 !important;
    }

    #contact .form-list li > span:not(:first-child) {
        display: block !important;

        width: 100% !important;
    }

    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"],
    #contact .form-list textarea {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        font-size: 9pt !important;
    }

    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"] {
        height: 8mm !important;
    }

    #contact .form-list textarea {
        min-height: 35mm !important;
    }

    #contact .modal-privacy {
        width: 100% !important;
    }

    #contact .modal-privacy .privacy-txt {
        width: 100% !important;
        height: auto !important;
        max-height: none !important;

        padding: 5mm !important;

        overflow: visible !important;
    }

    #contact .privacy-agree {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        white-space: nowrap !important;
    }

    #contact .privacy-agree label,
    #contact .privacy-agree .wpcf7-list-item {
        display: inline-flex !important;
        align-items: center !important;

        white-space: nowrap !important;
    }

    #contact .privacy-agree .wpcf7-list-item-label {
        font-size: 9pt !important;

        white-space: nowrap !important;
    }

    #contact input[type="submit"] {
        width: 55mm !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 5mm auto 0 !important;

        font-size: 9.5pt !important;
    }

    /* 印刷時の重複成功メッセージを防止 */
    #contact .screen-reader-response {
        display: none !important;
    }


    /* =====================================
       13. FOOTER
    ===================================== */

    footer {
        position: relative !important;

        width: 100% !important;
        height: 42mm !important;

        margin: 8mm 0 0 0 !important;

        background-image:
            linear-gradient(
                rgba(255,255,255,0.18),
                rgba(255,255,255,0.28)
            ),
            url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/d3a2b5b8a1252f8ddd6f1b66c7fdf739.png?v=4") !important;

        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center 82% !important;

        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    footer .wrap {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;
        height: 100% !important;

        margin: 0 !important;
        padding: 5mm 7mm !important;
    }

    html body footer .wrap > ul.f_nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;

        width: 100% !important;

        gap: 2mm 6mm !important;

        margin: 0 0 4mm 0 !important;
        padding: 0 !important;
    }

    html body footer .wrap > ul.f_nav > li {
        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    html body footer .wrap > ul.f_nav > li > a,
    html body footer .wrap > ul.f_nav > li > span {
        display: inline !important;

        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;

        color: #26343a !important;

        font-size: 8pt !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;

        white-space: nowrap !important;
    }

    footer .wrap .copy {
        position: static !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 3mm 0 0 0 !important;

        border-top: 1px solid rgba(49,95,115,0.25) !important;

        background: transparent !important;

        font-size: 7pt !important;

        text-align: center !important;

        transform: none !important;
    }
}
/* ==================================================
   PRINT FINAL CORRECTION
   ACCESS + CONTACT
================================================== */
@media print {

    /* =====================================
       ACCESS
       印刷できないGoogle Map領域を消す
    ===================================== */

    #access {
        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }


    #access > .wrap {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #access > .wrap > p {
        display: block !important;
        float: none !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        font-size: 10pt !important;
        line-height: 1.8 !important;

        overflow: visible !important;
    }


    /* =====================================
       CONTACT
       CF7のp要素を基準に2カラム化
    ===================================== */

    #contact .wpcf7,
    #contact .wpcf7 form,
    #contact .form-list {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #contact .form-list > li {
        display: block !important;

        width: 100% !important;
        height: auto !important;

        margin: 0 0 3mm 0 !important;
        padding: 0 !important;

        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }

    #contact .form-list > li > p {
        display: grid !important;
        grid-template-columns: 42mm minmax(0, 1fr) !important;
        column-gap: 5mm !important;

        align-items: start !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* 項目名 */
    #contact .form-list > li > p > span:first-child {
        display: block !important;

        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 1.5mm 0 0 0 !important;

        font-size: 9pt !important;
        line-height: 1.5 !important;

        text-align: right !important;
        white-space: nowrap !important;
    }

    #contact .form-list > li > p > span:first-child i {
        display: inline !important;
        margin-left: 0.4em !important;

        white-space: nowrap !important;
    }

    /* CF7入力欄ラッパー */
    #contact .form-list > li > p > .wpcf7-form-control-wrap {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* 入力欄 */
    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"],
    #contact .form-list textarea {
        display: block !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;

        box-sizing: border-box !important;

        font-size: 9pt !important;
    }

    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"] {
        height: 8mm !important;
        padding: 0 2mm !important;
    }

    #contact .form-list textarea {
        height: 30mm !important;
        min-height: 30mm !important;

        padding: 2mm !important;
    }
}
/* ==================================================
   PRINT SAFE FINAL OVERRIDE
   印刷 / PDF専用
   通常画面には一切適用しない
================================================== */
@media print {

    /* =====================================
       1. 基本
    ===================================== */

    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    html,
    body {
        width: auto !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    img {
        visibility: visible !important;
        opacity: 1 !important;

        max-width: 100% !important;
        height: auto !important;
    }

    #page-top,
    #humbt,
    #chk {
        display: none !important;
    }


    /* =====================================
       2. セクション上下の巨大余白を解除
    ===================================== */

    section:not(.mv),
    #origin,
    #sdgs,
    #news,
    #company,
    #access,
    #contact {
        height: auto !important;
        min-height: 0 !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        padding-top: 6mm !important;
        padding-bottom: 6mm !important;

        overflow: visible !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    section .wrap,
    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: 100% !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        margin-left: 0 !important;
        margin-right: 0 !important;

        padding-left: 0 !important;
        padding-right: 0 !important;

        overflow: visible !important;
    }

    section .wrap > h2,
    #origin h2,
    #sdgs > .wrap > h2,
    #news > .wrap > h2,
    #company > .wrap > h2,
    #access > .wrap > h2,
    #contact > .wrap > h2 {
        margin-top: 0 !important;
        margin-bottom: 5mm !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;

        break-after: avoid-page !important;
        page-break-after: avoid !important;
    }


    /* =====================================
       3. HEROの余計な高さを削減
    ===================================== */

    section.mv {
        height: 100mm !important;
        min-height: 100mm !important;
        max-height: 100mm !important;

        margin: 0 !important;
        padding: 0 !important;

        background-size: cover !important;
        background-position: center center !important;

        overflow: hidden !important;
    }

    section.mv .wrap {
        height: auto !important;
        min-height: 0 !important;

        padding-top: 20mm !important;
    }


    /* =====================================
       4. OUR STYLE
    ===================================== */

    section.values .inner {
        height: auto !important;
        min-height: 0 !important;

        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;

        overflow: visible !important;
    }

    section.values ul.bold {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    section.values .inner ul.bold > li {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;

        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }


    /* =====================================
       5. BUSINESS
       ブロック丸ごとのページ送りを解除
    ===================================== */

    #business .business-unit,
    #business .business-copy,
    #business .service-grid,
    #business .service-grid-2,
    #business .service-card,
    #business .service-content,
    #business-development,
    #e-commerce {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #business .business-unit {
        margin-bottom: 5mm !important;
    }

    #business .business-copy {
        margin-bottom: 4mm !important;
    }

    #business .service-grid,
    #business .service-grid-2 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    #business .service-card {
        margin-top: 0 !important;
        margin-bottom: 5mm !important;
    }


    /* =====================================
       6. BUSINESS画像を強制表示
    ===================================== */

    #business .service-image,
    #business .service-image-depot,
    #business .service-card .service-image {
        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        overflow: hidden !important;
    }

    #business .service-image img,
    #business .service-image-depot img,
    #business .service-card .service-image img {
        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;

        object-fit: contain !important;
    }


    /* =====================================
       7. OUR ORIGIN
    ===================================== */

    #origin .origin-head,
    #origin .origin-box {
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 4mm !important;

        overflow: visible !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #origin .origin-box img {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        max-width: 100% !important;
        height: auto !important;
    }


    /* =====================================
       8. SDGs画像
    ===================================== */

    #sdgs .sdgs-brand,
    #sdgs .sdgs-list,
    #sdgs .sdgs-item,
    #sdgs .sdgs-item-body {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }

    #sdgs .sdgs-brand img,
    #sdgs .sdgs-item-icon img,
    #sdgs img {
        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        max-width: 100% !important;
        height: auto !important;
    }

    #sdgs .sdgs-item {
        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }


    /* =====================================
       9. NEWS
    ===================================== */

    #news .news-table,
    #news .news-table li {
        height: auto !important;
        min-height: 0 !important;
    }

    #news .news-table li {
        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }


    /* =====================================
       10. COMPANY
       巨大な空白と画像抜けを防止
    ===================================== */

    #company > .wrap > section,
    #company .shareholder,
    #company .company-name-origin,
    #company .shareholder-inner,
    #company .company-name-origin .inner {
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 5mm !important;

        overflow: visible !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #company .shareholder-logo,
    #company .shareholder-logo img,
    #company .company-name-origin img {
        display: block !important;

        visibility: visible !important;
        opacity: 1 !important;

        height: auto !important;
    }

    #company .shareholder-logo img {
        max-width: 45mm !important;
    }

    #company .company-name-origin img {
        max-width: 75mm !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }


    /* =====================================
       11. ACCESS
       印刷できないGoogle Mapの空白を完全除去
    ===================================== */

    #access {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }

    #access > .wrap > p {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;

        overflow: visible !important;
    }


    /* =====================================
       12. CONTACT
    ===================================== */

    #contact,
    #contact .inner,
    #contact .wpcf7,
    #contact .wpcf7 form,
    #contact .form-list {
        height: auto !important;
        min-height: 0 !important;

        overflow: visible !important;
    }

    #contact .inner {
        width: 100% !important;
        max-width: none !important;

        padding: 5mm 7mm !important;
    }

    #contact .form-list {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
    }

    #contact .form-list > li {
        height: auto !important;
        min-height: 0 !important;

        margin-bottom: 2mm !important;

        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }

    #contact .form-list > li > p {
        display: grid !important;

        grid-template-columns: 38mm minmax(0, 1fr) !important;
        column-gap: 4mm !important;

        width: 100% !important;

        margin: 0 !important;
    }

    #contact .form-list input[type="text"],
    #contact .form-list input[type="tel"],
    #contact .form-list input[type="email"] {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        height: 7mm !important;
    }

    #contact .form-list textarea {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;

        height: 24mm !important;
        min-height: 24mm !important;
    }


    /* =====================================
       13. PRIVACY POLICY
       巨大展開を完全に止める
    ===================================== */

    #contact .modal-privacy {
        width: 100% !important;
        max-width: none !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 4mm 0 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    #contact .modal-privacy .privacy-txt {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        height: 35mm !important;
        min-height: 35mm !important;
        max-height: 35mm !important;

        margin: 2mm 0 0 !important;
        padding: 3mm !important;

        overflow: hidden !important;

        border: 1px solid #bdbdbd !important;

        background: #ffffff !important;
    }

    #contact .privacy-txt h2 {
        margin: 1.5mm 0 1mm !important;

        font-size: 8.5pt !important;
        line-height: 1.35 !important;
    }

    #contact .privacy-txt p {
        margin: 0 0 1.5mm !important;

        font-size: 7pt !important;
        line-height: 1.4 !important;
    }

    #contact .privacy-agree {
        width: 100% !important;

        margin: 3mm auto 0 !important;

        white-space: nowrap !important;
    }

    #contact .privacy-agree input[type="checkbox"] {
        width: auto !important;
        height: auto !important;

        margin-right: 2mm !important;
    }


    /* =====================================
       14. FOOTER
    ===================================== */

    footer {
        height: 34mm !important;
        min-height: 34mm !important;

        margin-top: 5mm !important;

        break-inside: avoid-page !important;
        page-break-inside: avoid !important;

        background-image:
            linear-gradient(
                rgba(255,255,255,0.18),
                rgba(255,255,255,0.28)
            ),
            url("https://lestyle.xsrv.jp/copy-lestylecojp-test/wp-content/uploads/2026/08/d3a2b5b8a1252f8ddd6f1b66c7fdf739.png?v=4") !important;

        background-repeat: no-repeat !important;
        background-size: cover !important;
        background-position: center 82% !important;
    }

    footer .wrap {
        height: 100% !important;
        min-height: 0 !important;

        padding: 4mm 6mm !important;
    }

    footer .wrap ul.f_nav {
        margin-bottom: 3mm !important;
    }
}
/* ==================================================
   PRINT FINAL REFINEMENT 02
   印刷 / PDF専用
   通常画面には一切影響させない
================================================== */
@media print {

    /* =====================================
       1. TOP HERO
       コピーを通常PCに近い左寄りへ
    ===================================== */

    section.mv .wrap {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 16mm 0 0 12mm !important;

        text-align: left !important;
        box-sizing: border-box !important;
    }

    section.mv .read {
        display: block !important;

        width: 88mm !important;
        max-width: 88mm !important;

        margin: 0 !important;
        padding: 0 !important;

        text-align: center !important;

        position: static !important;
        transform: none !important;
        translate: none !important;
    }


    /* =====================================
       2. 印刷時の左右安全幅
       紙端でコンテンツが切れるのを防ぐ
    ===================================== */

    section.mission > .wrap,
    section.values > .wrap,
    section.business > .wrap,
    #origin > .wrap,
    #sdgs > .wrap,
    #news > .wrap,
    #company > .wrap,
    #access > .wrap,
    #contact > .wrap {
        width: calc(100% - 6mm) !important;
        max-width: none !important;

        margin-left: 3mm !important;
        margin-right: 3mm !important;

        box-sizing: border-box !important;
    }


    /* =====================================
       3. ABOUT / MISSION
       31% + 69% + gap で横幅超過していたのを修正
    ===================================== */

    section.mission .wrap {
        grid-template-columns:
            31% minmax(0, 1fr) !important;

        column-gap: 6mm !important;
    }

    section.mission .inner {
        min-width: 0 !important;
        max-width: 100% !important;

        padding-left: 5mm !important;
        box-sizing: border-box !important;
    }

    section.mission .inner p {
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }


    /* =====================================
       4. セクション上下余白を少し圧縮
    ===================================== */

    #origin,
    #sdgs,
    #news,
    #company,
    #access,
    #contact {
        padding-top: 4mm !important;
        padding-bottom: 4mm !important;
    }


    /* =====================================
       5. OUR ORIGIN / POSKET
       印刷時の巨大ロゴを縮小
    ===================================== */

    #origin .origin-box img {
        display: block !important;

        width: 32mm !important;
        max-width: 32mm !important;
        height: auto !important;

        margin: 0 0 5mm 0 !important;
    }


    /* =====================================
       6. SDGs
       ロゴ帯をコンパクト化
    ===================================== */

    #sdgs .sdgs-brand {
        width: 100% !important;
        max-width: none !important;

        min-height: 0 !important;

        margin: 0 0 4mm 0 !important;
        padding: 3mm 0 !important;

        gap: 5mm !important;

        align-items: center !important;
        justify-content: center !important;
    }

#sdgs .sdgs-lestyle-logo {
    display: block !important;
    width: auto !important;
    max-width: 24mm !important;
    height: 5.5mm !important;
    object-fit: contain !important;
}

#sdgs .sdgs-logo {
    display: block !important;
    width: auto !important;
    max-width: 58mm !important;
    height: 8mm !important;
    object-fit: contain !important;
}

#sdgs .sdgs-brand-divider {
    width: 1px !important;
    height: 8mm !important;
}


    /* =====================================
       7. COMPANY
       会社概要リストが丸ごと次ページへ飛ぶのを防止
    ===================================== */

    #company > .wrap > section:first-of-type {
        height: auto !important;
        min-height: 0 !important;

        padding: 6mm 8mm !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #company .company-list {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #company .company-list > li {
        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }

    #company > .wrap > section:first-of-type > h3 {
        margin-bottom: 4mm !important;
    }


    /* =====================================
       8. ACCESS
       右端切れ＋見出しだけ残る空白を修正
    ===================================== */

    #access {
        break-inside: auto !important;
        page-break-inside: auto !important;
    }

    #access > .wrap {
        display: grid !important;

        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(0, 0.85fr) !important;

        column-gap: 5mm !important;
        row-gap: 5mm !important;

        align-items: start !important;

        break-inside: avoid-page !important;
        page-break-inside: avoid !important;
    }

    #access > .wrap > h2 {
        grid-column: 1 / -1 !important;

        margin-bottom: 0 !important;
    }

    #access iframe {
        display: block !important;

        grid-column: 1 !important;

        width: 100% !important;
        max-width: 100% !important;
        height: 62mm !important;

        margin: 0 !important;
        padding: 0 !important;

        float: none !important;
    }

    #access > .wrap > p {
        display: block !important;

        grid-column: 2 !important;

        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;

        font-size: 8.5pt !important;
        line-height: 1.6 !important;

        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }


    /* =====================================
       9. 各主要ボックスの横はみ出し防止
    ===================================== */

    #business .business-unit,
    #business .business-copy,
    #business .service-grid,
    #business .service-card,
    #origin .origin-box,
    #sdgs .sdgs-renew,
    #sdgs .sdgs-list,
    #sdgs .sdgs-item,
    #news .news-table,
    #company > .wrap > section,
    #company .shareholder,
    #company .company-name-origin,
    #contact .inner {
        max-width: 100% !important;
        min-width: 0 !important;

        box-sizing: border-box !important;
    }
}
/* ==================================================
   PRINT SDGS LOGO ABSOLUTE FINAL
   印刷専用・通常画面には影響しない
================================================== */
@media print {

    html body #sdgs#sdgs .sdgs-brand {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        max-width: 100% !important;

        gap: 4mm !important;

        margin: 0 auto 4mm !important;
        padding: 2mm 0 !important;
    }

    html body #sdgs#sdgs .sdgs-brand > img.sdgs-lestyle-logo {
        display: block !important;

        flex: 0 0 20mm !important;

        width: 20mm !important;
        min-width: 20mm !important;
        max-width: 20mm !important;

        height: auto !important;
        max-height: 8mm !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }

    html body #sdgs#sdgs .sdgs-brand > img.sdgs-logo {
        display: block !important;

        flex: 0 0 45mm !important;

        width: 45mm !important;
        min-width: 45mm !important;
        max-width: 45mm !important;

        height: auto !important;
        max-height: 11mm !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain !important;
    }

    html body #sdgs#sdgs .sdgs-brand > .sdgs-brand-divider {
        flex: 0 0 1px !important;

        width: 1px !important;
        height: 10mm !important;

        margin: 0 !important;
    }
}
/* ==================================================
   TABLET HEADER MENU FINAL FIX
   769px - 1000px ONLY
================================================== */
@media screen and (min-width: 769px) and (max-width: 1000px) {

    header .g_nav {
        display: block !important;
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        width: 100% !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        overflow: hidden !important;
    }

    header .g_nav ul {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        padding: 18px 0 40px !important;
        gap: 0 !important;
        background: #fff !important;
        border-top: 0 !important;
    }

    header .g_nav ul li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    header .g_nav ul li a {
        display: block !important;
        width: 100% !important;
        padding: 14px 20px !important;
        box-sizing: border-box !important;
        color: #26343a !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.5 !important;
        text-align: center !important;
        text-shadow: none !important;
        text-decoration: none !important;
        white-space: normal !important;
        border: 0 !important;
        border-bottom: 0 !important;
    }

    #chk:checked ~ header nav.g_nav {
        height: calc(100vh - 60px) !important;
        padding: 0 !important;
        overflow-y: auto !important;
    }
}
/* ==================================================
   TABLET HEADER MENU SEPARATOR
   769px - 1000px
================================================== */
@media screen and (min-width: 769px) and (max-width: 1000px) {

    header .g_nav ul li {
        width: calc(100% - 64px) !important;
        margin-left: auto !important;
        margin-right: auto !important;

        border-bottom: 1px solid #dfe5e7 !important;
    }

}
/* ==================================================
   1366×768 NOTE PC TYPOGRAPHY FINAL DOWN
   小型PCの文字サイズのみ縮小
   他サイズ・レイアウトには影響させない
================================================== */
@media screen and (min-width: 1201px) and (max-width: 1366px) and (max-height: 800px) {

    /* HEADER */
    html body header nav.g_nav > ul > li > a {
        font-size: 13px !important;
    }

    /* TOP */
    html body section.mv .read h1 {
        font-size: 4.0rem !important;
    }

    html body section.mv .read > p:first-of-type {
        font-size: 1.5rem !important;
    }

    html body section.mv .read > p:last-child,
    html body section.mv .read > p:last-child strong {
        font-size: 1.8rem !important;
    }

    /* 大タイトル */
    html body section.mission h2,
    html body section.values h2,
    html body #business .business-head h2,
    html body #origin .origin-head h2,
    html body #sdgs > .wrap > h2,
    html body #news > .wrap > h2,
    html body #company > .wrap > h2,
    html body #access > .wrap > h2,
    html body #contact > .wrap > h2 {
        font-size: 32px !important;
    }

    /* 日本語サブタイトル */
    html body section.mission h2 span,
    html body section.values h2 span,
    html body #business .business-lead,
    html body #origin .origin-head p {
        font-size: 13px !important;
    }

    /* ABOUT */
    html body section.mission .inner p:first-child {
        font-size: 16px !important;
    }

    html body section.mission .inner p:not(:first-child) {
        font-size: 14px !important;
    }

    /* OUR STYLE */
    html body section.values .inner ul.bold > li,
    html body section.values .inner ul.bold > li p {
        font-size: 14px !important;
    }

    html body section.values .inner ul.bold > li strong {
        font-size: 16px !important;
    }

    /* BUSINESS */
    html body #business .business-unit-head > div > h3 {
        font-size: 20px !important;
    }

    html body #business .business-category {
        font-size: 12px !important;
    }

    html body #business .service-content h4 {
        font-size: 18px !important;
    }

    html body #business .business-copy p,
    html body #business .service-content p:not(.service-catch),
    html body #business .service-content li,
    html body #business .consult-profile-mini p {
        font-size: 14px !important;
    }

    html body #business .service-catch {
        font-size: 15px !important;
    }

    /* OUR ORIGIN */
    html body #origin .origin-box h3 {
        font-size: 20px !important;
    }

    html body #origin .origin-box p:not(.origin-label):not(.origin-link-wrap) {
        font-size: 14px !important;
    }

    /* SDGs */
    html body #sdgs .sdgs-lead p,
    html body #sdgs .sdgs-item-body p {
        font-size: 14px !important;
    }

    /* NEWS */
    html body #news .news-table li p,
    html body #news .news-table li a {
        font-size: 14px !important;
    }

    /* COMPANY */
    html body #company .company-list > li > span,
    html body #company .company-list .jigyo > li {
        font-size: 14px !important;
    }

    /* ACCESS */
    html body #access > .wrap > p,
    html body #access li {
        font-size: 14px !important;
    }

    /* CONTACT */
    html body #contact .form-list li > span:first-child,
    html body #contact .form-list li > p > span:first-child,
    html body #contact .form-list input,
    html body #contact .form-list textarea {
        font-size: 14px !important;
    }

    /* FOOTER */
    html body footer .wrap > ul.f_nav > li > a,
    html body footer .wrap > ul.f_nav > li > span {
        font-size: 12px !important;
    }


    /* ==================================================
       SMALL PC / そろエール画像を切らずに表示
    ================================================== */

    html body #business .service-card-featured .service-image {
        min-height: 0 !important;
        height: auto !important;
        overflow: hidden !important;
    }

    html body #business .service-card-featured .service-image img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        object-position: center center !important;
    }


    /* ==================================================
       SMALL PC / COMPANY以降 本文サイズ調整
    ================================================== */

    /* 会社概要：左側項目名 */
    html body #company#company .company-list > li > span:first-child {
        font-size: 14px !important;
        line-height: 1.7 !important;
    }

    /* 会社概要：右側本文 */
    html body #company#company .company-list > li > span:last-child,
    html body #company#company .company-list .jigyo > li,
    html body #company#company .company-list .jigyo > li > span,
    html body #company#company .company-list .jigyo > li > div {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    /* 会社概要：補足 */
    html body #company#company .company-list small,
    html body #company#company .company-list li i {
        font-size: 12px !important;
        line-height: 1.6 !important;
    }

    /* SHAREHOLDER本文 */
    html body #company#company .shareholder .shareholder-inner > p:not(.shareholder-label):not(.shareholder-link-wrap) {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    html body #company#company .shareholder .shareholder-label {
        font-size: 12px !important;
    }

    html body #company#company .shareholder h4 {
        font-size: 17px !important;
    }

    /* 社名の由来：通常本文 */
    html body #company#company .company-name-origin .inner > p:not(.origin-french):not(.origin-quote) {
        font-size: 13px !important;
        line-height: 1.8 !important;
    }

    /* 社名の由来：引用 */
    html body #company#company .company-name-origin .origin-french {
        font-size: 12px !important;
    }

    html body #company#company .company-name-origin .origin-quote-main {
        font-size: 15px !important;
    }

    html body #company#company .company-name-origin .origin-quote-author {
        font-size: 12px !important;
    }

    /* ACCESS */
    html body #access#access > .wrap > p,
    html body #access#access li {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }

    /* CONTACT */
    html body #contact#contact .inner p,
    html body #contact#contact .form-list li,
    html body #contact#contact .form-list input,
    html body #contact#contact .form-list textarea {
        font-size: 13px !important;
    }

    html body #contact#contact .privacy-txt p {
        font-size: 12px !important;
        line-height: 1.7 !important;
    }

}
/* ==================================================
   WORDPRESS ADMIN TOP SPACE FIX
   フロント画面上部の不要な白帯を削除
================================================== */

html:root {
    margin-top: 0 !important;
}

#wpadminbar {
    display: none !important;
}
/* ==================================================
   SORO YELL LOGO / TITLE
   そろエール専用
   他コンテンツには影響させない
================================================== */

html body #business .soroyell-title-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;

    gap: 18px !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}

html body #business .soroyell-logo {
    display: block !important;
    flex: 0 0 auto !important;

    width: 135px !important;
    max-width: 30% !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}

html body #business .soroyell-title-row h4 {
    flex: 1 1 auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    width: auto !important;
    max-width: none !important;
}


/* ==================================================
   SMALL PC
   1201px - 1366px / 高さ800px以下
================================================== */

@media screen and (min-width: 1201px) and (max-width: 1366px) and (max-height: 800px) {

    html body #business .soroyell-title-row {
        gap: 14px !important;
    }

    html body #business .soroyell-logo {
        width: 110px !important;
        max-width: 28% !important;
    }
}


/* ==================================================
   TABLET
   769px - 1100px
================================================== */

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

    html body #business .soroyell-title-row {
        gap: 14px !important;
        margin-bottom: 18px !important;
    }

    html body #business .soroyell-logo {
        width: 115px !important;
        max-width: 28% !important;
    }
}


/* ==================================================
   SMARTPHONE
   768px以下
================================================== */

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

    html body #business .soroyell-title-row {
        gap: 10px !important;
        margin-bottom: 16px !important;
    }

    html body #business .soroyell-logo {
        width: 92px !important;
        max-width: 30% !important;
    }

    html body #business .soroyell-title-row h4 {
        flex: 1 1 0 !important;
        min-width: 0 !important;
    }
}


/* ==================================================
   SMALL SMARTPHONE
   480px以下
================================================== */

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

    html body #business .soroyell-title-row {
        gap: 8px !important;
    }

    html body #business .soroyell-logo {
        width: 78px !important;
        max-width: 28% !important;
    }
}