﻿@charset "utf-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

html{font-size: 62.5%;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 1;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

@media only screen and (min-width: 768px){
body{
font-size:15px;
font-size:1.5rem;
line-height: 1.5;
font-family: "Noto Sans JP", "メイリオ", "Meiryo", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Arial", "sans-serif";
color:#333333;
-webkit-text-size-adjust: none;
}
}/*【max-width end】 */
@media only screen and (max-width: 767px){
body{
font-size:16px;
font-size:1.6rem;
line-height: 1.6;
font-family: "Noto Sans JP", "メイリオ", "Meiryo", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Arial", "sans-serif";
color:#333333;
-webkit-text-size-adjust: none;
}
}/*【max-width end】 */

img{margin:0; padding:0; vertical-align:bottom; max-width:100%; height:auto;}

.clearfix:after {
display : block;
clear : both;
height : 0;
content: ".";
visibility: hidden;
}
.clearfix {
display: inline-table;
}
/* for Mac IE \*/
* html .clearfix {
height : 1%;
}
.clearfix {
display : block;
}
/* end of for Mac IE */

.clearfix {overflow:hidden;}

/* /////////////////////
▼▼bxslider画像縦並び防止▼▼
//////////////////////*/
/*.js-bxslider li {
  display: none;
}
.bx-viewport .js-bxslider li {
  display: block !important;
}*/

/* /////////////////////
▼▼swiper▼▼
//////////////////////*/
.s-right2-wrap {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
		text-align: center;
}

.s-right2-text,
.s-right2-sub {
  position: absolute;
  width: 100%;
  left: 0;
  text-align: center;
  color: white;
}

.s-right2-text {
  top: 40%;
  font-size: 60px;
		font-weight: bold;
		text-shadow: 2px 2px 3px #000000;
		font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.s-right2-sub {
  top: 55%;
  font-size: 27px;
		text-shadow: 2px 2px 3px #000000;
		line-height: 1.2;
}

@media only screen and (max-width: 1300px){
.s-right2-text {
  top: 35%;
  font-size: 6vw;
		text-shadow: 1px 1px 2px #000000;
}

.s-right2-sub {
  top: 60%;
  font-size: 3vw;
		text-shadow: 1px 1px 2px #000000;
		line-height: 1.1;
}
}/*【max-width end】 */

.swiper-slide-active .s-right2-text {
  animation: slideFromRight 1.5s ease 0s 1 normal;
}

.swiper-slide-active .s-right2-sub {
  animation: slideFromRightSub 2.0s ease 0s 1 normal;
}

@keyframes slideFromRight {
  0%, 25% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

@keyframes slideFromRightSub {
  0%, 45% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0px);
    opacity: 1;
  }
}

/* /////////////////////
▼▼リンク設定▼▼
//////////////////////*/
a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
color:#666666;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline: none;
color:#999999;
}

a:hover img{
filter:alpha(opacity=70);opacity:0.7;
}

/* /////////////////////
▼▼h設定▼▼
//////////////////////*/
h1.logo{
width: 280px;
position: absolute;
top: 5px;
left: 70px;
z-index: 5;
}

@media only screen and (max-width: 767px){
h1.logo{
width: 100%;
position:inherit;
margin-top: 65px;
text-align: center;
}
}/*【max-width end】 */

h1.topcopy{
font-size: clamp(22px, 3.5vw, 40px);
line-height: 1.5;
font-weight: bold;
color:#333333;
text-align: center;
}


.h2-title {
	font-size: 35px;
	color: #000000;
	text-align: center;
	margin-top: 100px;
	padding-bottom: 20px;
	font-weight: bold;
	line-height: 1.2;
}

@media only screen and (max-width: 767px){
.h2-title {
	font-size: 25px;
	text-align: center;
	margin-top: 50px;
}
}/*【max-width end】 */

.h2-title-fc {
	font-size: 35px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
	color: #ffffff;
	text-align: center;
	margin-top: 30px;
	padding-bottom: 7px;
	font-weight: bold;
	line-height: 1.2;
}

@media only screen and (max-width: 767px){
.h2-title-fc {
	font-size: 25px;
	text-align: center;
	margin-top: 20px;
	padding-bottom: 5px;
}
}/*【max-width end】 */

/*h1{
	width:100%;
	height:auto;
 font-size:12px;
	color:#777777;
	padding: 2px 0 2px 20px;
}

h1 p{
 max-width: 100%;
}*/

/*@media only screen and (max-width: 767px){
h1{
	width:100%;
	height:auto;
	background-color:transparent;
 font-size:12px;
	color:#777777;
	padding: 2px 0 2px 2px;
	line-height: 12px;
}
}*//*【max-width end】 */

/*h4{
    margin-bottom:20px;
    width:80%;
    margin:10px auto;
    border:solid 1px #ddd;
    padding: 5px;
    border-radius: 5px;
    background: #eee;
    -moz-border-radius: 5px; 
    background: -moz-linear-gradient(top,  #fff,  #eee); 
    -webkit-border-radius: 5px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
    -pie-background:linear-gradient(top,  #fff,  #eee); 
    behavior: url(images/PIE.htc); 
    }
    .heading span{color:#666; font-weight:bold; border-left:5px #555555 solid;padding-left:10px;}*/

/* /////////////////////
▼▼レイアウト設定▼▼
//////////////////////*/
#header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  z-index: 97;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
		height: 120px;
		background: #ffffff;
}

@media only screen and (max-width: 767px){
#header {
  box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
  z-index: 97;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
		height: 60px;
		background: #ffffff;
}
}/*【max-width end】 */

.header-info{
position:fixed;
z-index: 3;
top: 0;
right: 0;
width: 100%;
padding-bottom: 55px;
/*border-top: 10px solid #0F2C58;*/
transition: background-color 0.2s;
}

.header-info-wrap{
position:fixed;
top: 5px;
right: 0;
z-index: 2;
width: 50%;
}

@media only screen and (max-width: 767px){
.header-info-wrap{
position:fixed;
top: 5px;
right: 0;
z-index: 2;
width: 84%;
}
}/*【max-width end】 */

.header-tel{
font-size: 30px;
margin-right: 15px;
font-weight: bold;
}

#wrapper{
	width:100%;
	/*margin-top:10px;*/
}

@media only screen and (max-width: 767px){
#wrapper{
	width:100%;
	/*margin-top:15px;*/
}
}/*【end】 */

footer{
	width:100%;
	padding: 20px 0;
}

.footer_wrap {
	max-width: 1100px;
	margin: 0 auto;
}

.footer-navi{
 margin-top: 10px;
}

.footer-navi li{
 margin-bottom: 10px;
	margin-right: 20px;
}

.footer-navi li a:before{
 content:url(img/footer_navi_mark.png);
	position: relative;
	bottom: -2px;
	margin-right: 5px;
	}

.footer-logo{
margin-top: 30px;
margin-left: auto;
margin-right: auto;
max-width: 250px;
}

.footer-navi-wrap{
margin-top: 10px;
}

.footer_copyright{
margin-top: 15px;
}

@media only screen and (max-width: 767px){
.footer-navi-wrap{
margin-top: 10px;
}

.footer_copyright{
margin-top: 15px;
text-align: center;
}
}/*【max-width end】 */

/* /////////////////////
▼▼common▼▼
//////////////////////*/

@media only screen and (max-width: 768px){
.c-chenge-pc{
display: none;
}
}/*【max-width end】 */

@media only screen and (min-width: 769px){
.c-chenge-pc{
display: block;
}
}/*【max-width end】 */

@media only screen and (max-width: 768px){
.c-chenge-sp{
display: block;
}
}/*【max-width end】 */

@media only screen and (min-width: 769px){
.c-chenge-sp{
display: none;
}
}/*【max-width end】 */

.c-anchor-shift{
 margin-top: -200px;
 padding-top: 200px;
}

.c-center{
    text-align:center;
}

.c-left{
    text-align:left;
}

.c-right{
    text-align:right;
}

@media only screen and (max-width: 1100px){
.c-left1100{
    text-align:left;
}
}/*【max-width end】 */

.c-float-left{
    float:left;
}

.c-float-right{
    float:right;
}

.c-clear-both{
    clear:both;
}

.c-m0a{
margin: 0 auto;
}

.c-mw1100-l97-ma{
max-width: 1100px;
margin-left: auto;
margin-right: auto;
}

@media only screen and (max-width: 1200px){
.c-mw1100-l97-ma{
max-width: 97%;
margin-left: auto;
margin-right: auto;
}
}/*【max-width end】 */

.c-w90-l100{
    width:90%;
}

.c-w80-l100{
    width:80%;
}

.c-w75-l100{
    width:70%;
}

.c-w70-l100{
    width:70%;
}

.c-w67-l100{
    width:60%;
}

.c-w60-l100{
    width:60%;
}

.c-w50-l100{
    width:50%;
}

.c-w40-l100{
    width:40%;
}

.c-w33-l100{
    width:33.33%;
}

.c-w30-l100{
    width:30%;
}

.c-w25-l100{
    width:25%;
}

.c-w20-l100{
    width:20%;
}

.c-w10-l100{
    width:10%;
}

@media only screen and (max-width: 767px){
.c-w10-l100, .c-w20-l100, .c-w25-l100, .c-w30-l100, .c-w33-l100, .c-w40-l100, .c-w50-l100, .c-w60-l100, .c-w67-l100, .c-w70-l100, .c-w75-l100, .c-w80-l100, .c-w90-l100{
width: 100%;
}
}/*【max-width end】 */

.c-w100-bg-glay{
    width:100%;
    background:#e3e3e3;
}

.c-bg-cream{
    background:#fffaf1;
}

.c-bg-orenge{
    background:#eeb536;
}

.c-bg-white{
    background:#ffffff;
}

.c-bg-yellow{
    background:#F7DB22;
}

.c-bg-title-glay{
    background-color:#EFEFEF;
    padding:10px 10px;
}

.c-b-b1-red{
    border-bottom:1px solid  #b52b2b;
}

.c-b-b1-black{
    border-bottom:1px solid  #555555;
}

.c-b-b1-glay{
    border-bottom:1px solid #d0d0d0;
}

.c-b-t1-glay{
    border-top:1px solid #d0d0d0;
}

.c-b-b1-white{
    border-bottom:1px solid #ffffff;
}

.c-b-b1-dotted-glay{
    border-bottom:1px dotted #575757;
}

.c-b-b1-dotted-white{
    border-bottom:1px dotted #ffffff;
}

.c-b-t1-red{
    border-top:1px solid  #b52b2b;
}

.c-b-t1-black{
    border-top:1px solid  #555555;
}

.c-box-1-red-p15{
    border:1px solid  #b52b2b;
    padding:15px;
    box-sizing:border-box;
}

.c-b-marker {
background: linear-gradient(transparent 60%, #FFFDD6 0%);
}

.c-img-scale {
    max-width: 400px;
    max-height: 300px;
    overflow: hidden;
}
.c-img-scale img {
    -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}
.c-img-scale img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
}

.c-l-off{
    display:block;
}

.c-l-on{
    display:none;
}

.c-l-off-768{
    display:block;
}

.c-l-on-768{
    display:none;
}

.c-l-off-1100{
    display:block;
}

.c-l-on-1100{
    display:none;
}

.c-boxsizing-b-box{
box-sizing: border-box
}

@media only screen and (max-width: 1100px){
.c-l-off-1100{
    display:none;
}

.c-l-on-1100{
    display:block;
}

}/*【max-width end】 */

@media only screen and (max-width: 768px){
.c-l-off-768{
    display:none;
}

.c-l-on-768{
    display:block;
}
}/*【max-width end】 */

@media only screen and (max-width: 768px){
.c-l-left768{
text-align: left;
}

.c-l-right768{
text-align: right;
}
}/*【max-width end】 */

@media only screen and (max-width: 767px){
.c-l-w90{
    width: 90%;
}

.c-l-w85{
    width: 85%;
}

.c-l-off{
    display:none;
}

.c-l-on{
    display:block;
}

.c-l-left{
text-align: left;
}

.c-l-right{
text-align: right;
}

.c-l-center{
text-align: center;
}

.c-l-boxsizing-b-box{
box-sizing: border-box
}

}/*【max-width end】 */

.c-link-btn100 a{
color: #333333!important;
display: block;
width: 100px;
padding: 3px 5px;
box-sizing: border-box;
background: #F7DB22;
border-radius: 15px;
text-align: center;
margin-left: auto;
margin-right: auto;
font-size: 14px;
}
.c-link-btn100 a:hover{
background: #DDC315;
}

.c-link-btn100-left a{
color: #333333!important;
font-weight: bold;
display: block;
width: 100px;
padding: 3px 5px;
box-sizing: border-box;
background: #F7DB22;
border-radius: 15px;
text-align: center;
font-size: 14px;
}
.c-link-btn100-left a:hover{
background: #DDC315;
}


.c-link-btn150 a{
color: #ffffff!important;
display: block;
font-weight: bold;
width: 150px;
padding: 3px 10px;
box-sizing: border-box;
background: #333333;
border-radius: 15px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.c-link-btn150 a:hover{
background: #636363;
}

.c-link-btn200 a{
color: #fff!important;
display: block;
width: 200px;
padding: 10px;
box-sizing: border-box;
background: #B58F48;
border-radius: 10px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.c-link-btn200 a:hover{
background: #DBB266;
}

.c-link-btn300 a{
color: #333333!important;
display: block;
font-weight: bold;
width: 300px;
padding: 20px 10px;
box-sizing: border-box;
background: #F7DB22;
border-radius: 15px;
text-align: center;
margin-left: auto;
margin-right: auto;
}
.c-link-btn300 a:hover{
background: #DDC315;
}

.c-link-area{
width: 16.666%;
font-size: 25px;
}

@media only screen and (max-width: 1100px){
.c-link-area{
width: 50%;
font-size: 18px;
}

}/*【max-width end】 */

.c-link-area a{
color: #FFF500!important;
display: block;
font-weight: bold;
padding: 10px 10px;
box-sizing: border-box;
background: #000000;
border-radius: 15px;
text-align: center;
margin-left: 10px;
margin-right: 10px;
}
.c-link-area a:hover{
background: #4B4B4B;
}

.c-underline{
text-decoration: underline;
}

/* /////////////////////
▼▼flex▼▼
//////////////////////*/
.f{
    display: -webkit-box; /* android */
    display: -webkit-flex; /* safari */
    display: -ms-flexbox; /* IE */
    display: flex;
}

.f-l-column-center{
    display: -webkit-box; /* android */
    display: -webkit-flex; /* safari */
    display: -ms-flexbox; /* IE */
    display: flex;
}

@media only screen and (max-width: 767px){
.f-l-column-center{
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;
                
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

.f-l-column-center768{
    display: -webkit-box; /* android */
    display: -webkit-flex; /* safari */
    display: -ms-flexbox; /* IE */
    display: flex;
}

@media only screen and (max-width: 768px){
.f-l-column-center768{
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;
                
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

.f-wrap-l-column{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;
}

@media only screen and (max-width: 767px){
.f-wrap-l-column{
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;
                
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

.f-inline{
    display: inline-flex;
}

.f-around{
    -webkit-justify-content:space-around; /* safari */
    -ms-flex-pack:distribute; /* IE */
    justify-content:space-around;
}

.f-between{
    -webkit-box-pack:justify; /* android */   
    -webkit-justify-content:space-between; /* safari */
    -ms-flex-pack:justify; /* IE */
    justify-content:space-between;
}

.f-center{
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;
}

.f-end{
    -webkit-box-pack:end ; /* android */   
    -webkit-justify-content:flex-end; /* safari */
    -ms-flex-pack:end; /* IE */
    justify-content:flex-end;
}

.f-wrap-flex-start{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;

    -webkit-box-align:flex-start; /* android */
    -webkit-align-items:flex-start; /* safari */
    -ms-flex-align:flex-start; /* IE */
    align-items:flex-start;       
}

.f-wrap-flex-stretch{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;

    -webkit-box-align:stretch; /* android */
    -webkit-align-items:stretch; /* safari */
    -ms-flex-align:stretch; /* IE */
    align-items:stretch;       
}

.f-wrap-center{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;

    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}

.f-colume-center{
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;

    -webkit-box-align:center; /* android */
    -webkit-align-items:center; /* safari */
    -ms-flex-align:center; /* IE */
    align-items:center;   
}

.f-reverse-around{
    -webkit-box-direction:row-reverse;
    -moz-box-direction:row-reverse;
    -webkit-flex-direction:row-reverse;
    -moz-flex-direction:row-reverse;
    flex-direction:row-reverse;

    -webkit-justify-content:space-around; /* safari */
    -ms-flex-pack:distribute; /* IE */
    justify-content:space-around;
}

.f-reverse-between{
    -webkit-box-direction:row-reverse;
    -moz-box-direction:row-reverse;
    -webkit-flex-direction:row-reverse;
    -moz-flex-direction:row-reverse;
    flex-direction:row-reverse;

    -webkit-box-pack:justify; /* android */   
    -webkit-justify-content:space-between; /* safari */
    -ms-flex-pack:justify; /* IE */
    justify-content:space-between;
}

.f-alignitem-center{
    -webkit-box-align:center; /* android */
    -webkit-align-items:center; /* safari */
    -ms-flex-align:center; /* IE */
    align-items:center;  
}

@media only screen and (max-width: 1125px){
.f-l-alignitem-colum-center{
    -webkit-box-align:center; /* android */
    -webkit-align-items:center; /* safari */
    -ms-flex-align:center; /* IE */
    align-items:center;
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;
                
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

@media only screen and (max-width: 767px){
.f-l-alignitem-colum-center767{
    -webkit-box-align:center; /* android */
    -webkit-align-items:center; /* safari */
    -ms-flex-align:center; /* IE */
    align-items:center;
    -webkit-box-orient:vertical; /* android */
    -webkit-flex-direction:column; /* safari */
    -ms-flex-direction:column; /* IE */
    flex-direction:column;
                
    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

@media only screen and (max-width: 768px){
.f-l-wrap-center768{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;

    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

@media only screen and (max-width: 767px){
.f-l-wrap-center{
    -webkit-box-lines:multiple; /* android */
    -webkit-flex-wrap: wrap; /* Safari */
     -ms-flex-wrap: wrap; /* IE */
    flex-wrap:wrap;

    -webkit-box-pack:center; /* android */
    -webkit-justify-content:center; /* safari */
    -ms-flex-pack:center; /* IE */
    justify-content:center;   
}
}/*【max-width end】 */

/* /////////////////////
▼▼ドロワーメニュー▼▼
//////////////////////*/
.contents {
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#navTgl:checked ~ .contents {
	transform: translateX(250px);
}

/* :::::: toggle button :::::: */
#navTgl {
	display: none;
}
label {
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
}
@media only screen and (max-width: 767px){
label{
top: 0;
}
}/*【max-width end】 */
.open {
	z-index: 5;
	width: 70px;
	height: 70px;
	background: #000000;
	transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media only screen and (max-width: 767px){
.open{
	width: 50px;
	height: 50px;
}
}/*【max-width end】 */

.open::before,
.open::after {
	content: "";
}
.open span,
.open::before,
.open::after {
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid #FFFFFF;
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.open::before {
	transform: translateY(-8px);
}
.open::after {
	transform: translateY(8px);
}
.close {
	z-index: 2;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}
#navTgl:checked + .open {
	background: #010101;
	transform: translateX(-250px);
}
#navTgl:checked + .open span {
	transform: scaleX(0);
}
#navTgl:checked + .open::before {
	transform: rotate(45deg);
}
#navTgl:checked + .open::after {
	transform: rotate(-45deg);
}
#navTgl:checked ~ .close {
	pointer-events: auto;
	background: rgba(0,0,0,.3);
}

/* :::::: drawer menu :::::: */
.menu {
	z-index: 1000;
	position: fixed;
	overflow: auto;
	top: 0;
	right: 0;
	width: 250px;
	height: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	background: rgba(0,0,0,.6);
	transform: translateX(100%);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu p,
.menu a {
	color: white;
}
.menu p {
	text-align: center;
}
.menu ul {
	margin: 0;
	padding: 0;
}
.menu li {
	font-size: .8em;
	line-height: 1.4;
}
.menu li:not(:first-child) {
	border-top: 1px solid rgba(255,255,255,.6);
}
.menu a {
	display: block;
	padding: 1em 2em;
	text-decoration: inherit;
	transition: background .6s;
}
.menu a:hover {
	background: black;
}
#navTgl:checked ~ .menu {
	transform: translateX(0);
}

/* /////////////////////
▼▼テーブル▼▼
//////////////////////*/
table.company{
	width:100%;
	margin:0 auto;
	text-align:center;
}

table.company th{
	border-bottom: #CBCBCB 1px solid;
 background-color:#f3f3f3;
	padding:25px 0;
	text-align:center;
	vertical-align: middle;
	letter-spacing: 3px;
}

@media only screen and (max-width: 767px){
table.company th{
	width: 100%;
	display: block;
	padding:10px 0;
	box-sizing: border-box;
}
}/*【max-width end】 */


table.company td{
	background-color:#ffffff;
	border-bottom: #CBCBCB 1px solid;
	padding:25px 15px;
	vertical-align: middle;
}

@media only screen and (max-width: 767px){
table.company td{
	width: 100%;
	display: block;
 box-sizing: border-box;
}
}/*【max-width end】 */

table.shoplist{
	width:100%;
	margin:0 auto;
	text-align:center;
}

table.shoplist th{
 background-color:#f3f3f3;
	padding:15px 5px;
	text-align:center;
	vertical-align: middle;
	letter-spacing: 3px;
    font-size: 13px;
}

@media only screen and (max-width: 767px){
table.shoplist th{
	width: 100%;
	display: block;
	padding:5px 5px;
	box-sizing: border-box;
}
}/*【max-width end】 */


table.shoplist td{
	background-color:#ffffff;
	border-bottom: #CBCBCB 1px solid;
	padding:15px 5px;
	vertical-align: middle;
}

@media only screen and (max-width: 767px){
table.shoplist td{
	width: 100%;
	display: block;
    padding:5px 5px;
 box-sizing: border-box;
}
}/*【max-width end】 */

#btn{
	position:relative;
	float:left;
	left:40%;
	padding-top:10px;

}

#btn p{
	float:left;
	padding-left:40px;
	position:relative;
	left:-50%;
}

input[type="text"], textarea{
vertical-align:middle;
max-width:90%;
line-height:1.5;
height:30px;
padding:1px 5px;
border:1px solid #d4d4d7;
border-radius:3px;
-webkit-border-radius:3px;
-moz-border-radius:3px;
font-size:14px;
color:#666666;
background:#fcfcfc;
}

textarea{
height:auto;
line-height:1.5;
}

/* /////////////////////
▼▼font▼▼
//////////////////////*/
.fs-mincho{
font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", serif;
}

.fs-gothic{
font-family: "メイリオ", "Meiryo", "Century Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "Arial", "sans-serif";
}

.fs-bold{
	font-weight:bold;
}

.fs-red{
	color:#D82528;
}

.fs-black{
	color:#000000;
}

.fs-white{
	color:#ffffff;
}

.fs-blue{
	color:#26499d
}

.fs-green{
	color:#229C2C;
}

.fs-gray{
	color:#515151;
}

.fs-brown{
	color:#8F4243;
}

.fs-yellow{
	color:#F7DB22;
}

.fs-lh13{
line-height: 1.3;
}

.fs-lh15{
line-height: 1.5;
}

.fs-lh18{
line-height: 1.8;
}

.fs-lh20{
line-height: 2.0;
}

.fs-lh23{
line-height: 2.3;
}

.fs-lh25{
line-height: 2.5;
}

.fs-lh30{
line-height: 3.0;
}

.fs-10{
	font-size:10px;
	font-size: 1.0rem;
}

.fs-11{
	font-size:11px;
	font-size: 1.1rem;
	}

.fs-12{
	font-size:12px;
	font-size: 1.2rem;
	}

.fs-13{
	font-size:13px;
 font-size: 1.3rem;
}

.fs-14{
	font-size:14px;
 font-size: 1.4rem;
}

.fs-15{
	font-size:15px;
 font-size: 1.5rem;
}

.fs-16{
	font-size:16px;
 font-size: 1.6rem;
}

.fs-17{
	font-size:17px;
 font-size: 1.7rem;
}

.fs-18{
	font-size:18px;
 font-size: 1.8rem;
}

.fs-19{
	font-size:19px;
 font-size: 1.9rem;
}

.fs-20{
	font-size:20px;
 font-size: 2.0rem;
}

.fs-21{
	font-size:21px;
 font-size: 2.1rem;
}

.fs-22{
	font-size:22px;
 font-size: 2.2rem;
}

.fs-23{
	font-size:23px;
 font-size: 2.3rem;
}

.fs-24{
	font-size:24px;
 font-size: 2.4rem;
}

.fs-25{
	font-size:25px;
 font-size: 2.5rem;
}

.fs-26{
	font-size:26px;
 font-size: 2.6rem;
}

.fs-27{
	font-size:27px;
 font-size: 2.7rem;
}

.fs-28{
	font-size:28px;
 font-size: 2.8rem;
}

.fs-29{
	font-size:29px;
 font-size: 2.9rem;
}

.fs-30{
	font-size:30px;
 font-size: 3.0rem;
}

.fs-m{
	font-size:25px;
	font-size: 2.5rem;
}

.fs-l{
	font-size:30px;
	font-size: 3.0rem;
}

.fs-ll{
	font-size:35px;
	font-size: 3.5rem;
}

@media only screen and (max-width: 767px){
.fs-l14{
	font-size:14px !important;
	font-size: 1.4rem;
}
}/*【max-width end】 */

@media only screen and (max-width: 375px){
.fs-m{
	font-size:20px;
	font-size: 2.0rem;
	}
	
.fs-l{
	font-size:25px;
	font-size: 2.5rem;
}

.fs-ll{
	font-size:28px;
	font-size: 2.8rem;
}
	
.fs-l18{
	font-size:18px !important;
	font-size: 1.8rem;
}

.fs-l19{
	font-size:19px !important;
	font-size: 1.9rem;
}

.fs-l20{
	font-size:20px !important;
	font-size: 2.0rem;
}

.fs-l21{
	font-size:21px !important;
	font-size: 2.1rem;
}

.fs-l22{
	font-size:22px !important;
	font-size: 2.2rem;
}

.fs-l23{
	font-size:23px !important;
	font-size: 2.3rem;
}

.fs-l24{
	font-size:24px !important;
	font-size: 2.4rem;
}

.fs-l25{
	font-size:25px !important;
	font-size: 2.5rem;
}
}/*【end】 */

/* /////////////////////
▼▼余白▼▼
//////////////////////*/
/*-----▼左右▼-----*/
.p-lr-5{
	padding-left: 5px;
	padding-right: 5px;
}

.p-lr-10{
	padding-left: 10px;
	padding-right: 10px;
}

.p-lr-20{
	padding-left: 20px;
	padding-right: 20px;
}

.p-lr-30{
	padding-left: 30px;
	padding-right: 30px;
}

.m-lr-2{
	margin-left: 2px;
	margin-right: 2px;
}

.m-lr-3{
	margin-left: 3px;
	margin-right: 3px;
}

.m-lr-10{
	margin-left: 10px;
	margin-right: 10px;
}

.m-lr-20{
	margin-left: 20px;
	margin-right: 20px;
}

.m-lr-30{
	margin-left: 30px;
	margin-right: 30px;
}

.m-lr-10-l2{
margin-left: 10px;
margin-right: 10px;
}

@media only screen and (max-width: 767px){
.m-lr-10-l2{
margin-left: 2px;
margin-right: 2px;
}
}/*【max-width end】 */

/*-----▼上下▼-----*/
.p-tb-10{
	padding-top: 10px;
	padding-bottom: 10px;
}

.p-tb-20{
	padding-top: 20px;
	padding-bottom: 20px;
}

.p-tb-30{
	padding-top: 30px;
	padding-bottom: 30px;
}

.p-tb-40{
	padding-top: 40px;
	padding-bottom: 40px;
}

.p-tb-50{
	padding-top: 50px;
	padding-bottom: 50px;
}

.p-tb-60{
	padding-top: 60px;
	padding-bottom: 60px;
}

.p-tb-70{
	padding-top: 70px;
	padding-bottom: 70px;
}

.p-tb-80{
	padding-top: 80px;
	padding-bottom: 80px;
}

.m-tb-10{
	margin-top: 10px;
	margin-bottom: 10px;
}

.m-tb-20{
	margin-top: 20px;
	margin-bottom: 20px;
}

.m-tb-30{
	margin-top: 30px;
	margin-bottom: 30px;
}

.m-tb-40{
	margin-top: 40px;
	margin-bottom: 40px;
}

.m-tb-50{
	margin-top: 50px;
	margin-bottom: 50px;
}

.m-tb-60{
	margin-top: 60px;
	margin-bottom: 60px;
}

.m-tb-70{
	margin-top: 70px;
	margin-bottom: 70px;
}

.m-tb-80{
	margin-top: 80px;
	margin-bottom: 80px;
}

/*-----▼左▼-----*/
.p-l10{
	padding-left:10px;
}

.p-l20{
	padding-left:20px;
}

.p-l30{
	padding-left:30px;
}

.m-l10{
	margin-left:10px;
}

.m-l20{
	margin-left:20px;
}

.m-l30{
	margin-left:30px;
}

/*-----▼右▼-----*/
.p-r10{
	padding-right:10px;
}

.p-r20{
	padding-right:20px;
}

.p-r30{
	padding-right:30px;
}

.m-r10{
	margin-right:10px;
}

.m-r20{
	margin-right:20px;
}

.m-r30{
	margin-right:30px;
}

/*-----▼上▼-----*/
.p-t5{
	padding-top:5px;
}

.p-t10{
	padding-top:10px;
}

.p-t20{
	padding-top:20px;
}

.p-t30{
	padding-top:30px;
}

.p-t40{
	padding-top:40px;
}

.p-t50{
	padding-top:50px;
}

.p-t60{
	padding-top:60px;
}

.p-t70{
	padding-top:70px;
}

.p-t80{
	padding-top:80px;
}

.p-t90{
	padding-top:90px;
}

.p-t100{
	padding-top:100px;
}

.m-t3{
	margin-top:3px;
}

.m-t5{
	margin-top:5px;
}

.m-t10{
	margin-top:10px;
}

.m-t20{
	margin-top:20px;
}

.m-t30{
	margin-top:30px;
}

.m-t40{
	margin-top:40px;
}

.m-t50{
	margin-top:50px;
}

.m-t60{
	margin-top:60px;
}

.m-t70{
	margin-top:70px;
}

.m-t80{
	margin-top:80px;
}

.m-t90{
	margin-top:90px;
}

.m-t100{
	margin-top:100px;
}

.m-t70-l35{
margin-top: 70px;
}

.m-t50-l25{
margin-top: 50px;
}

.m-t100-l50{
margin-top: 100px;
}

@media only screen and (max-width: 767px){
.m-t70-l35{
margin-top: 35px;
}

.m-t50-l25{
margin-top: 25px;
}

.m-t100-l50{
margin-top: 50px;
}
}/*【max-width end】 */

/*-----▼下▼-----*/
.p-b5{
	padding-bottom:5px;
}

.p-b10{
	padding-bottom:10px;
}

.p-b15{
	padding-bottom:15px;
}

.p-b20{
	padding-bottom:20px;
}

.p-b30{
	padding-bottom:30px;
}

.p-b40{
	padding-bottom:40px;
}

.p-b50{
	padding-bottom:50px;
}

.p-b60{
	padding-bottom:60px;
}

.p-b70{
	padding-bottom:70px;
}

.p-b80{
	padding-bottom:80px;
}

.m-b5{
	margin-bottom:5px;
}

.m-b10{
	margin-bottom:10px;
}

.m-b15{
	margin-bottom:15px;
}

.m-b20{
	margin-bottom:20px;
}

.m-b30{
	margin-bottom:30px;
}

.m-b40{
	margin-bottom:40px;
}

.m-b50{
	margin-bottom:50px;
}

.m-b60{
	margin-bottom:60px;
}

.m-b70{
	margin-bottom:70px;
}

.m-b80{
	margin-bottom:80px;
}

@media only screen and (max-width: 767px){
.m-l-t10{
	margin-top:10px;
}

.m-l-t20{
	margin-top:20px;
}

.m-l-t30{
	margin-top:30px;
}

.m-l-b10{
	margin-bottom:10px;
}

.m-l-b20{
	margin-bottom:20px;
}

.m-l-b30{
	margin-bottom:30px;
}

.m-l-tb-10{
	margin-top: 10px;
	margin-bottom: 10px
}

.m-l-tb-20{
	margin-top: 20px;
	margin-bottom: 20px
}

.m-l-tb-30{
	margin-top: 30px;
	margin-bottom: 30px
}

.p-l-tb-10{
 padding-top: 10px;
	padding-bottom: 10px;
}

.p-l-tb-20{
 padding-top: 20px;
	padding-bottom: 20px;
}

.p-l-tb-30{
 padding-top: 30px;
	padding-bottom: 30px;
}

}/*【end】 */

/* /////////////////////
▼▼pagetopスクロール▼▼
//////////////////////*/
#page-top {
    position: fixed;
    bottom: 15px;
    left: 0;
    font-size: 77%;
}
#page-top a {
    background: #666;
    text-decoration: none;
    color: #fff;
    width: 70px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #999;
}

/* /////////////////////
▼▼news blog▼▼
//////////////////////*/

/* セクション全体の余白調整 */
.pg-topics-section {
    width: 100%;
    padding: 60px 0;
    background-color: #ffffff;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

/* タイトルのディテール微調整（センター寄せ・ミニマル化） */
.pg-topics-title {
    text-align: center;
    margin-bottom: 40px !important;
    letter-spacing: 0.1em;
}

/* トピックスの一覧枠（最上部にシャープな黒線を配置） */
.pg-topics-container {
    border-top: 1px solid #000000;
    margin-top: 30px !important;
}

/* 1ニュースの1行をスタイリッシュに成形（背景グレーを廃止し、境界線へ） */
.news-box {
    background: transparent !important; /* 不透明なグレー背景をリセット */
    padding: 20px 10px !important;
    margin: 0 !important;
    border-bottom: 1px solid #eaeaea; /* 下側に薄いボーダー */
    box-sizing: border-box;
    display: flex;
    align-items: baseline; /* 日付と本文の縦位置ラインをスマートに揃える */
    transition: background-color 0.2s ease;
}
.news-box:hover {
    background-color: #fafafa !important; /* ホバー時にほんのり浮かび上がらせる */
}

/* 日付とバッジの並び（横幅を固定してガタつきを防止） */
.news-meta {
    width: 160px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* 投稿日（フォントを美しく） */
.news-day {
    color: #888888 !important;
    font-size: 12.5px !important;
    font-family: "Georgia", serif;
    margin: 0 !important;
}

/* NEWバッジ（不要ならHTMLごと削除しても崩れません） */
.news-badge {
    font-size: 9px;
    font-weight: bold;
    color: #ffffff;
    background-color: #000000;
    padding: 2px 6px;
    border-radius: 2px;
    letter-spacing: 0.05em;
    line-height: 1;
}

/* 本文テキスト（文字サイズと余白を今風に最適化） */
.news-text {
    margin: 0 !important;
    font-size: 13.5px !important;
    color: #1a1a1a !important;
    line-height: 1.6;
}

/* 「全てを見る」ボタンのラッパー調整 */
.pg-topics-more-wrap {
    text-align: center;
    margin-top: 40px !important;
}

/* 未使用クラス、および重複定義のクリーンアップ */
.news-box-fc { display: none; }


/* ==========================================================================
   レスポンシブ（スマホ表示時は縦並びへ美しくスイッチ）
   ========================================================================== */
@media (max-width: 767px) {
    .news-box {
        display: block !important; /* 横並びを解除して縦並びへ */
        padding: 16px 5px !important;
    }
    
    .news-meta {
        width: 100%;
        margin-bottom: 6px;
    }
    
    .news-day {
        font-size: 11.5px !important;
    }
    
    .news-text {
        width: 100% !important;
        font-size: 13px !important;
    }
}

/* 全体のベース設定 */
.pg-blog-section {
	width: 100%;
	background-color: #ffffff;
	letter-spacing: 0.03em;
}

/* PC時のメインとサイドバーの2カラムFlex比率調整 */
.pg-blog-flex-container {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.pg-blog-main-area {
	width: 75% !important; /* 左側メイン */
	margin-top: 40px !important;
}
.blog-archive-wrap {
	width: 22% !important; /* 右側サイドバー */
	margin-top: 40px !important;
	padding-left: 0 !important;
	box-sizing: border-box;
}

/* --- 【左側】ブログカードのデザイン（今風・3カラム） --- */
.pg-blog-main-area .f {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 2.5%; /* 縦の余白30px、横の余白2.5% */
}

.blog-box-archive {
	background: #ffffff !important;
	border: 1px solid #eaeaea;
	padding: 0 !important; /* カード型にするため一度リセット */
	box-sizing: border-box;
	width: 31.6% !important; /* 3カラム設計 */
	margin: 0 !important;
	border-radius: 4px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
}
.blog-box-archive:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0,0,0,0.05);
}

/* アイキャッチ画像 */
.blog-img {
	margin: 0;
	width: 100%;
	height: 180px;
	overflow: hidden;
	background-color: #f7f7f7;
}
.blog-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.blog-box-archive:hover .blog-img img {
	transform: scale(1.05);
}

/* カード内部の情報パディング */
.blog-info-content {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* 投稿日 */
.blog-day {
	font-size: 11px !important;
	color: #888888 !important;
	margin: 0 0 6px 0 !important;
	width: auto !important;
	font-family: "Georgia", serif;
}

/* ブログタイトル（すっきりアンダーラインなし） */
.blog-title {
	font-size: 14.5px !important;
	font-weight: bold !important;
	color: #1a1a1a !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 0 10px 0 !important;
	line-height: 1.4 !important;
}
.blog-title a {
	color: #1a1a1a !important;
	text-decoration: none;
}
.blog-title a:hover {
	color: #666666 !important;
}

/* 本文テキスト */
.blog-text {
	font-size: 12.5px !important;
	color: #555555 !important;
	margin: 0 0 15px 0 !important;
	line-height: 1.6 !important;
}
.blog-text a {
	color: #000000;
	font-weight: bold;
	text-decoration: none;
	font-size: 11px;
}

/* カテゴリーバッジ（今風のグレー枠線） */
.blog-cat {
	margin: auto 0 0 0 !important;
	padding: 0 !important;
	list-style: none;
}
.blog-cat li {
	background: transparent !important;
	border: 1px solid #d0d0d0 !important;
	color: #666666 !important;
	padding: 3px 8px !important;
	font-size: 10px !important;
	border-radius: 3px !important;
	display: inline-block !important;
	margin: 0 !important;
	transition: all 0.2s ease;
}
.blog-cat li:hover {
	background: #1a1a1a !important;
	border-color: #1a1a1a !important;
}
.blog-cat li a {
	color: #666666 !important;
	text-decoration: none;
}
.blog-cat li:hover a {
	color: #ffffff !important;
}


/* --- 【右側】サイドバー（セレクト化＆最新記事） --- */
.side-widget {
	margin-bottom: 35px;
}

/* ウィジェットタイトル（シャープな細線の下線） */
.blog-archive-title {
	background: transparent !important;
	color: #000000 !important;
	font-size: 13px;
	font-weight: bold;
	text-align: left !important;
	padding: 0 0 8px 0 !important;
	margin: 0 0 15px 0 !important;
	border-bottom: 1px solid #000000 !important;
	letter-spacing: 0.1em;
}

/* 今風のセレクトボックス装飾 */
.side-select-box {
	position: relative;
	width: 100%;
}
.side-select-box select {
	width: 100%;
	padding: 10px 12px;
	font-size: 12px;
	color: #333333;
	background-color: #ffffff;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	outline: none;
	transition: border-color 0.2s ease;
}
.side-select-box select:focus {
	border-color: #000000;
}
/* セレクトボックスの右矢印アイコン */
.side-select-box::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid #666666;
	pointer-events: none;
}

/* 最新記事5件のリスト */
.side-recent-posts {
	list-style: none;
	padding: 0;
	margin: 0;
}
.side-recent-posts li {
	display: flex;
	align-items: center;
	padding: 10px 0 !important;
	border-bottom: 1px dashed #e5e5e5 !important;
}
.side-recent-posts li:last-child {
	border-bottom: none !important;
}
.recent-thumb {
	width: 50px;
	height: 50px;
	overflow: hidden;
	border-radius: 3px;
	margin-right: 12px;
	flex-shrink: 0;
	background: #f7f7f7;
}
.recent-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.recent-info {
	display: flex;
	flex-direction: column;
}
.recent-date {
	font-size: 10px;
	color: #999999;
	font-family: "Georgia", serif;
	margin-bottom: 2px;
}
.recent-title {
	font-size: 11.5px;
	color: #333333;
	text-decoration: none;
	font-weight: 500;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.recent-title:hover {
	color: #888888;
}

/* その他、ご提示にあった未使用の重複クラスを無害化・整理 */
.blog-box, .blog-box2, .voice-box-archive { display: none; }

@media (max-width: 950px) {
	.blog-box-archive {
		width: 48.5% !important; /* タブレット時は2カラム */
	}
}

@media (max-width: 767px) {
	.pg-blog-flex-container {
		display: block !important; /* Flex解除して縦に */
	}
	.pg-blog-main-area {
		width: 100% !important;
	}
	.blog-box-archive {
		width: 100% !important; /* スマホ時は完全1カラム */
		margin-bottom: 10px !important;
	}
	.blog-archive-wrap {
		width: 100% !important;
		margin-top: 50px !important;
	}
	.blog-img {
		height: 200px; /* スマホで見やすい高さに調整 */
	}
}

.pagenavi {
margin-top: 20px;
margin-left: auto;
margin-right: auto;
text-align: center;
}

/* /////////////////////
▼▼お問い合わせフォーム▼▼
//////////////////////*/
div.wpcf7 { background:#fafafa; border:1px solid #ddd; padding:0px; -moz-border-radius:10px; -khtml-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; margin:0 0 30px 0; }
div.wpcf7 p { padding:20px 20px 20px; margin:0; font-size:20px; border-bottom:1px dotted #848484; }
div.wpcf7 p:last-child{border:none;}
div.wpcf7 input, .wpcf7 textarea { border:1px solid #ccc; padding:8px; font-size:14px; }
div.wpcf7 textarea { width:97.5%; height:300px; }
div.wpcf7 input.wpcf7-submit {
   cursor:pointer; color:#fff; font-weight:bold; font-size:14px; width:200px; height:45px; margin:0 auto; display:block;
   -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius:5px;
   background:#333; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #808080; border:1px solid #666;
}
div.wpcf7 input.wpcf7-submit:hover { background:#006080; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.5), inset 0px 32px 0px -12px #007ea8; border:1px solid #006080; }
.wpcf7 input.wpcf7-submit:active { box-shadow:none; bottom:-2px; position:relative; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border:1px solid #009de1; }
.wpcf7-captchac { border:1px solid #ccc; }


/* エラー個所をわかりやすく表示 */
.wpcf7 .wpcf7-not-valid { background: #ffb6c1; }
.wpcf7 span.wpcf7-not-valid-tip {font-size: 80%;}
.wpcf7 .wpcf7-response-output {margin: 10px 0 0; padding: 8px 35px 8px 14px; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
    -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; }
.wpcf7 .wpcf7-validation-errors {color: #B94A48; background-color: #F2DEDE; border: 1px solid #EED3D7; font-size:14px;}
.wpcf7 .wpcf7-mail-sent-ok {color: #3A87AD; background-color: #D9EDF7; border: 1px solid #BCE8F1; font-size:14px;}

/* 必須赤色表示 */
.wpcf7 .required { color: #f00;}
/* 任意緑色表示 */
.wpcf7 .any{ color: #080;}

/* /////////////////////
▼▼メールフォームPRO▼▼
//////////////////////*/
table.form{
    width:100%;
    able-layout: fixed;
word-break: break-all;
word-wrap: break-all;
}

table.form th{
    border-bottom: #CBCBCB 1px solid;
    padding:15px 0;
    text-align:center;
    vertical-align: middle;
    letter-spacing: 3px;
}

table.form td{
    border-bottom: #CBCBCB 1px solid;
    padding:5px 15px;
    vertical-align: middle;
}

@media only screen and (max-width: 767px){
table.form, tbody.form, tr.form, table.form th, table.form td {
display: block;
max-width: 98%;
margin-left: auto;
margin-right: auto;
}

table.form th{
    border-bottom: none;
    padding:15px 0;
    text-align:left;
}
}/*【max-width end】 */

/* /////////////////////
▼▼webicon▼▼
//////////////////////*/
.fa-facebook-square {
color:#0f2c59;
font-family: 'Font Awesome 5 Free';
font-weight: 900;
font-size: 3em;
}

.fa-instagram-square{
color:#0f2c59;
font-family: "Font Awesome 5 Brands";
font-weight: 900;
font-size: 3em;
}

.fa-phone-square-alt{
color:#0f2c59;
font-family: "Font Awesome 5 Brands";
font-weight: 900;
font-size: 3em;
}

.fa-envelope-square{
color:#0f2c59;
font-family: "Font Awesome 5 Brands";
font-weight: 900;
font-size: 3em;
}

.fa-chevron-down{
color:#9A9A9A;
font-family: "Font Awesome 5 Brands";
font-weight: 900;
font-size: 3em;
}

.wi-phone:before {
font-family: "Font Awesome 5 Free";
content: "\f879";
font-weight: 900;
padding-right : 3px;
color: #0f2c59;
font-size: 18px;
}

.wi-check:before {
font-family: "Font Awesome 5 Free";
content: "\f00c";
font-weight: 900;
padding-right : 3px;
color: #CB2626;
font-size: 18px;
}

/* /////////////////////
▼▼tab▼▼
//////////////////////*/
label.tab{
	cursor:auto;
	position:inherit;
	top: 0;
	left: 0;
}

/* ▼タブ機能の掲載領域の装飾(※必須ではありません) */
   .tabbox { margin: 0px; background-color:#ffffff; }

   /* ▼タブ機能を制御するラジオボタン(非表示にする) */
   .tabbox input { display: none; }

   /* ▼タブ(共通装飾＋非選択状態の装飾) */
   .tab {
			   width: 29%;
      display: inline-block;
      border-width: 1px 1px 0px 1px;
      border-style: solid;
      border-color:#BD934F;
      border-radius: 0.75em 0.75em 0px 0px;
      padding: 0.75em 1em;
      color:#BD934F;
      background-color:#F8F8F8;
                        font-size: 13px;
   }

   /* ▼タブにマウスポインタが載った際の装飾 */
   .tab:hover {
      background-color:#BD934F;
      color: #ffffff;
      cursor: pointer;
   }

   /* ▼チェックが入っているラジオボタンの隣にあるタブの装飾(＝選択状態のタブ) */
   input:checked + .tab {
      color: #ffffff;
      background-color:#BD934F;
      position: relative;
      z-index: 10;
   }

   /* ▼タブの中身(共通装飾＋非選択状態の装飾) */
   .tabcontent {
      display: none;
      margin-top: -1px;
      padding: 1em;
      position: relative;
      z-index: 0;
      background-color:#F8F8F8;
                        border:1px solid #BD934F;
   }

   /* ▼チェックが入っているラジオボタンに対応するタブの中身を表示する */
   #tabcheck1:checked ~ #tabcontent1 { display: block; }
   #tabcheck2:checked ~ #tabcontent2 { display: block; }
   #tabcheck3:checked ~ #tabcontent3 { display: block; }
   #tabcheck4:checked ~ #tabcontent4 { display: block; }
   #tabcheck5:checked ~ #tabcontent5 { display: block; }
   #tabcheck6:checked ~ #tabcontent6 { display: block; }
			
@media only screen and (max-width: 767px){
.tab{
width: 92%;
}
}/*【max-width end】 */

/* /////////////////////
▼▼original▼▼
//////////////////////*/
/*--------design--------*/

/*--------common--------*/
.sns-contact{
position:fixed;
right:25px;
bottom:30px;
z-index:999;
display:flex;
flex-direction:column;
gap:12px;
}

.sns-btn{
display:flex;
align-items:center;
justify-content:center;

width:210px;
height:58px;

border-radius:50px;

backdrop-filter:blur(10px);

color:#fff !important;

font-weight:700;
font-size:16px;

box-shadow:
0 10px 25px rgba(0,0,0,.18);

transition:
all .35s ease;

overflow:hidden;
}

.sns-btn:hover{
transform:
translateY(-3px);

box-shadow:
0 15px 35px rgba(0,0,0,.25);
}

.sns-icon{
font-size:24px;
margin-right:12px;
}

.sns-text{
letter-spacing:1px;
}

/* LINE */

.sns-btn.line{
background:
linear-gradient(
135deg,
#06C755,
#0AA94A
);
}

/* Instagram */

.sns-btn.insta{
background:
linear-gradient(
135deg,
#000000,
#B58F48
);
}

/* hover */

.sns-btn.line:hover{
opacity:1;
background:
linear-gradient(
135deg,
#08d85d,
#13b652
);
}

.sns-btn.insta:hover{
opacity:1;
background:
linear-gradient(
135deg,
#111111,
#D4AF37
);
}

/* SP */

@media(max-width:767px){

.sns-contact{
left:10px;
right:10px;
bottom:10px;

display:flex;
flex-direction:row;

justify-content:center;

gap:8px;
}

.sns-btn{
width:calc(50% - 4px);
height:50px;

font-size:14px;

border-radius:50px;
}

.sns-icon{
font-size:18px;
margin-right:8px;
}

.sns-contact{
left:0;
right:0;
bottom:0;
padding:10px;
background:rgba(255,255,255,.95);
}
}

.ohter-page-logo{
width: 250px;
margin-left: auto;
margin-right: auto;
margin-top: 80px;
}

.ohter-page-h1{
font-size: 27px;
font-weight: bold;
text-align: center;
margin-top: 50px;
}

.footer-link li{
text-align: center;
margin-top: 10px;
font-size: 13px;
}

/*--------top--------*/
.top-shop-eriatitle{
background: #000000;
color: #ffffff;
text-align: center;
font-size: 25px;
font-weight: bold;
padding: 10px 0;
box-sizing: border-box;
margin-top: 50px;
}

.top-coatingitem li{
width: 10%;
text-align: center;
margin-left: 0.55%;
margin-right: 0.55%;
margin-top: 20px;
}

.top-coatingitem li p{
margin-top: 5px;
}

@media only screen and (max-width: 1100px){
.top-coatingitem li{
width: 15%;
margin-left: 0.83%;
margin-right: 0.83%;
margin-top: 20px;
}
}/*【max-width end】 */

@media only screen and (max-width: 767px){
.top-coatingitem li{
width: 32%;
margin-left: 0.66%;
margin-right: 0.66%;
margin-top: 20px;
}

.top-coatingitem li p{
font-size: 12px;
}
}/*【max-width end】 */

/*-----top youtube-----*/
#youtube-wrap{
position: relative;/*ローディング画像などを表示す際の基点とするため指定*/
height: 100vh;/*高さを全画面にあわせる*/
text-align: center;
color: #fff;
/*ローディング画面時＆動画が表示されないときに表示する背景画像のレスポンシブ化*/
background: url("top_mainimg02.jpg") no-repeat;
background-size: cover;
}

/* ローディングアイコン設定 */

#loading {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-weight: bold;
}

/*jQueryで付与されたdisappearクラスがついたらロゴエリアを非表示*/

#loading.disappear{
display: none;   
}


/* youtube設定 */

#youtube-area{
position: absolute;
z-index: 1;/*最背面に設定*/
top: 0;
right:0;
left:0;
bottom:0;
overflow: hidden;
opacity: 0;    
}

/*jQueryで付与されたappearクラスがついたらYoutubeエリアをふわっと表示*/
#youtube-area.appear {
animation-name:PageAnimeAppear;
animation-duration:.5s;
animation-fill-mode:forwards;
}

@keyframes PageAnimeAppear{
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}

#youtube-box {
/*天地中央配置*/
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
/*縦横幅指定*/
width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
min-height: 100%;
min-width: 100%;
}

/*youtubeがクリックされないためのマスク*/
#youtube-mask{
position: absolute;
z-index: 2;/*下から2番目に表示*/
top:0;
width:100%;
height: 100%;
}


/*youtube 上のロゴ */
.top-youtuberogo{
position:absolute;
z-index: 2;/*下から2番目に表示*/
/*天地中央配置*/
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
/*色指定*/
}

@media only screen and (max-width: 767px){
.top-youtuberogo{
width: 70%;
}
}/*【max-width end】 */

/*-----top opmovie-----*/

html, body{ height:100%; margin:0; padding:0; } #wrapper{ width:100%; overflow:visible; } /* 動画 */ .hero{ position:relative; width:100vw; height:100vh; height:100dvh; overflow:hidden; background:#000; } .hero video{ position:absolute; top:50%; left:50%; width:100%; height:100%; min-width:100%; min-height:100%; object-fit:cover; transform:translate(-50%,-50%); opacity:0; transition:opacity .8s; } .hero.loaded video{ opacity:1; } /* ローディング */ #loader{ position:fixed; top:0; left:0; width:100%; height:100%; background:#000; display:flex; align-items:center; justify-content:center; z-index:99999; transition:.5s; } #loader.hide{ opacity:0; visibility:hidden; } .spinner{ width:60px; height:60px; border:3px solid rgba(255,255,255,.2); border-top:3px solid #fff; border-radius:50%; animation:spin .8s linear infinite; } @keyframes spin{ to{ transform:rotate(360deg); } }

/* 追加：ロゴを中央に固定するスタイリング */
.hero-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10; /* 動画より前面に表示 */
  
  /* ふわっと表示させるための設定（不要なら削除してください） */
  opacity: 0;
  transition: opacity .8s ease; 
}

/* 動画の準備（loadedクラス）ができたらロゴも表示 */
.hero.loaded .hero-logo {
  opacity: 1;
}

/* 追加：ロゴ画像のサイズ調整（お好みで調整してください） */
.hero-logo img {
  width: 500px; /* ロゴの横幅 */
  height: auto;
  display: block;
}

@media only screen and (max-width: 767px){
.hero-logo img{
width: 300px;
max-width: none;
}
}/*【max-width end】 */

/*--------price--------*/

/* --- 料金表共通スタイル（白黒・ミニマル） --- */
.pg-price-container {
    max-width: 1100px;
    margin: 50px auto 0;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #000000;
    background-color: #ffffff;
}

@media only screen and (max-width: 1200px){
.pg-price-container {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
}/*【max-width end】 */

.pg-category-section {
    margin-bottom: 50px;
}

.pg-category-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
    padding: 15px 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #e0e0e0;
    letter-spacing: 0.05em;
    background-color: #FCFCFC;
}

.pg-price-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    letter-spacing: 0.05em;
}

.pg-price-table th, 
.pg-price-table td {
    padding: 12px 0;
    text-align: left;
    vertical-align: middle;
}

/* ヘッダー行 */
.pg-table-header th {
    font-size: 11px;
    font-weight: 400;
    color: #666666;
    text-align: left;
    border-bottom: 1px solid #000000;
    padding-bottom: 8px;
}
.pg-table-header th.pg-item-col {
    text-align: left;
}

/* 各行の区切り線 */
.pg-price-table tr:not(.pg-table-header) {
    border-bottom: 1px solid #f0f0f0;
}

/* 品目名・サイズ */
.pg-item-name {
    font-weight: 500;
}
.pg-item-sub {
    font-size: 11px;
    color: #666666;
    margin-left: 8px;
    font-weight: 300;
}

/* 価格表記（金額のみ美しい数字フォントに） */
.pg-price-col {
    text-align: right;
    font-family: "Georgia", serif;
    font-size: 15px;
    width: 25%;
}

.pg-price-col-single {
    text-align: right;
    font-family: "Georgia", serif;
    font-size: 15px;
    width: 50%;
}

/* フッター注意書き */
.pg-price-footer {
    margin-top: 40px;
    border-top: 1px solid #000000;
    padding-top: 20px;
    font-size: 11px;
    color: #333333;
    line-height: 1.8;
}

/* レスポンシブ対応 */
@media (max-width: 600px) {
    .pg-price-table { font-size: 13px; }
    .pg-price-col, .pg-price-col-single { font-size: 14px; }
    .pg-item-sub {
        display: block;
        margin-left: 0;
        margin-top: 2px;
    }
}

/*--------qa--------*/

/* --- Q&A共通スタイル（スムース・アニメーション＆大きな＋アイコン） --- */
.pg-qa-container {
    max-width: 1100px;
    margin: 60px auto 0 auto;
    letter-spacing: 0.05em;
}

@media only screen and (max-width: 1200px){
.pg-qa-container{
width: 90%;
}
}/*【max-width end】 */

.pg-qa-title {
    font-size: 16px;
    margin-bottom: 25px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e0e0e0;
}

/* アコーディオンの間隔 */
.pg-qa-item {
    margin-bottom: 10px;
    overflow: hidden; /* スムースな開閉アニメーションに必須 */
}

/* 質問（Q）部分：薄いグレー背景 */
.pg-qa-item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 50px 18px 20px; /* 右側の余白を少し広くして大きなアイコンに対応 */
    font-size: 16px;
    font-weight: bold;
    position: relative;
    outline: none;
    display: block;
    background-color: #f7f7f7;
    transition: background-color 0.2s ease;
    z-index: 4; /* アニメーション時に回答がQの上に被らないように */
}
.pg-qa-item summary::-webkit-details-marker {
    display: none;
}

/* ホバー */
.pg-qa-item summary:hover {
    background-color: #efefef;
}

/* Q.テキスト */
.pg-qa-item summary::before {
    content: "Q.";
    font-family: "Georgia", serif;
    font-size: 18px;
    font-weight: bold;
    margin-right: 10px;
}

/* ★右側のプラスマーク（＋）を大きく調整 */
.pg-qa-item summary::after {
    content: "+";
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 26px; /* ひと回り大きく（以前は18px） */
    font-weight: 200; /* 線を少し細くして上品さをキープ */
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.4s ease, content 0.3s ease; /* アニメーションの時間を0.4秒に */
}

/* 開いている時（open）のスタイル */
.pg-qa-item[open] summary::after {
    content: "−";
    font-size: 26px;
    transform: translateY(-50%) rotate(180deg);
}

/* ★回答（A）部分を滑らかに開閉させるアニメーションの設定★ */
.pg-qa-item[open] .pg-qa-answer-outer {
    animation: pg-qa-slideOpen 0.4s ease forwards; /* スルッと開くアニメーション */
}

/* 回答（A）部分のアウター（アニメーションの受け皿） */
.pg-qa-answer-outer {
    overflow: hidden; /* 滑らかに見せるために必須 */
    max-height: 0; /* 最初は高さを0にして非表示 */
}

/* 回答（A）部分のインナー（実際のテキスト内容） */
.pg-qa-answer {
    padding: 20px 20px 25px 45px;
    font-size: 15px;
    color: #333333;
    line-height: 1.8;
    position: relative;
    background-color: #ffffff; /* 開いた際にQの下に色が残らないように */
    border-bottom: 1px solid #f0f0f0;
}

/* A.テキスト */
.pg-qa-answer::before {
    content: "A.";
    font-family: "Georgia", serif;
    font-size: 18px;
    font-weight: bold;
    color: #000000;
    left: 20px;
    position: absolute;
}

/* 開閉アニメーションの定義 */
@keyframes pg-qa-slideOpen {
    0% {
        max-height: 0; /* 最初は閉じている */
    }
    100% {
        max-height: 500px; /* ここをコンテンツが収まる十分な高さにする */
    }
}

/* レレスポンシブ対応（スマホ表示） */
@media (max-width: 600px) {
    .pg-qa-item summary {
        font-size: 13px;
        padding: 15px 45px 15px 15px;
    }
    .pg-qa-item summary::after {
        right: 15px;
        font-size: 22px; /* スマホでも少し大きく */
    }
    .pg-qa-item[open] summary::after {
        font-size: 22px;
    }
    .pg-qa-answer {
        font-size: 12.5px;
        padding: 15px 15px 20px 35px;
    }
    .pg-qa-answer::before {
        left: 15px;
    }
}

/*--------privacy--------*/

/* --- プライバシーポリシー共通スタイル（白黒・ミニマル） --- */
.pg-policy-container {
    max-width: 1100px;
    margin: 60px auto 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #000000;
    background-color: #ffffff;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

@media only screen and (max-width: 1200px){
.pg-policy-container{
width: 90%;
}
}/*【max-width end】 */

.pg-policy-title {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 30px;
    padding-bottom: 5px;
    border-bottom: 1px solid #e0e0e0;
}

.pg-policy-lead {
    font-size: 13px;
    color: #333333;
    margin-bottom: 40px;
}

/* 各条項のセクション */
.pg-policy-section {
    margin-bottom: 35px;
}

/* 条項の見出し（第1条 など） */
.pg-policy-sec-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 12px 0;
    padding-left: 12px;
    border-left: 2px solid #000000; /* 左側にシャープな黒の縦線 */
}

/* 本文テキスト */
.pg-policy-text {
    font-size: 13px;
    color: #333333;
    margin: 0 0 10px 0;
}

/* 箇条書きリスト */
.pg-policy-list {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 13px;
    color: #333333;
}
.pg-policy-list li {
    margin-bottom: 6px;
    list-style-type: decimal; /* 数字の箇条書き */
}

/* 制定日・改定日の記載 */
.pg-policy-date {
    margin-top: 50px;
    text-align: right;
    font-size: 12px;
    color: #666666;
}

/* レスポンシブ対応（スマホ表示） */
@media (max-width: 600px) {
    .pg-policy-lead,
    .pg-policy-text,
    .pg-policy-list {
        font-size: 12.5px;
    }
    .pg-policy-sec-title {
        font-size: 13px;
    }
}

/*--------coatign--------*/

/* --- コーティング解説ページ共通スタイル（白黒・ミニマル） --- */
.pg-desc-container {
    max-width: 1100px;
    margin: 60px auto 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #000000;
    background-color: #ffffff;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

@media only screen and (max-width: 1200px){
.pg-desc-container{
width: 90%;
}
}/*【max-width end】 */

/* 大見出し */
.pg-desc-main-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 30px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000000; /* メインタイトルは黒の太線で引き締める */
    text-align: center;
}

/* リード文 */
.pg-desc-lead {
    color: #333333;
    margin-bottom: 60px;
    text-align: justify;
}

/* 各セクション（メリット） */
.pg-desc-section {
    margin-bottom: 70px;
}

/* セクション見出し（細い英字のサブタイトル付き） */
.pg-desc-sec-title {
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 20px 0;
    position: relative;
}
.pg-desc-sec-title span {
    display: block;
    font-family: "Georgia", serif;
    font-size: 16px;
    font-weight: 400;
    color: #888888;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    margin-bottom: 4px;
}

/* 本文テキスト */
.pg-desc-text {
    color: #333333;
    margin: 0 0 25px 0;
    text-align: justify;
}

/* ★画像プレースホルダーの設定★ */
.pg-desc-img-box {
    width: 100%;
    height: 350px; /* パソコン表示時の画像の高さ */
    background-color: #f7f7f7; /* 薄いグレーの背景 */
    border: 1px solid #eef2f3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 25px;
    position: relative;
    overflow: hidden;
}
/* 中央の「IMAGE」という文字をミニマルにかっこよく */
.pg-desc-img-box::before {
    content: "IMAGE CONTAINER";
    font-family: "Georgia", serif;
    font-size: 11px;
    color: #999999;
    letter-spacing: 0.3em;
}
/* 写真を差し替える際のアドバイス用（あとから消しても大丈夫です） */
.pg-desc-img-box::after {
    content: "※ imgタグへの差し替え、またはbackground-imageで写真を配置してください";
    font-size: 10px;
    color: #bbbbbb;
    margin-top: 8px;
}

/* レスポンシブ対応（スマホ表示） */
@media (max-width: 600px) {
    .pg-desc-main-title {
        font-size: 16px;
    }
    .pg-desc-sec-title {
        font-size: 14px;
    }
    .pg-desc-lead,
    .pg-desc-text {
        font-size: 12.5px;
    }
    .pg-desc-img-box {
        height: 220px; /* スマホ時は画像の高さを少し縮める */
    }
}

/*--------fc--------*/

/* --- スムーズスクロールの設定 --- */
html {
    scroll-behavior: smooth;
}

/* --- 店舗紹介ページ共通スタイル（カラーアイコン・Flexbox対応） --- */
.pg-store-container {
    max-width: 1100px; /* 横並び時のバランスを考慮した最大幅 */
    margin: 60px auto 0 auto;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #000000;
    background-color: #ffffff;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

@media only screen and (max-width: 1200px){
    .pg-store-container{
        width: 90%;
    }
}

/* ページ大見出し */
.pg-store-main-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 40px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000000;
    text-align: center;
}

/* エリアナビゲーション（ボタン） */
.pg-store-nav {
    display: block;
    text-align: center;
    margin-bottom: 60px;
}
.pg-store-nav-btn {
    display: inline-block;
    padding: 8px 16px;
    margin: 5px;
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    text-decoration: none;
    border: 1px solid #e0e0e0;
    background-color: #ffffff;
    transition: all 0.3s ease;
}
.pg-store-nav-btn:hover {
    color: #ffffff;
    background-color: #000000;
    border-color: #000000;
}

/* 各エリアのセクション */
.pg-area-section {
    margin-bottom: 80px;
    scroll-margin-top: 40px; /* スクロール時の上部余白 */
}

/* エリア名（地方タイトル） */
.pg-area-title {
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 30px;
    text-align: center;
}

/* ご指定のFlexbox構造（テーブル構造から移行、空要素不要） */
.pg-store-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
}

/* 各店舗の個別ボックス（PC時は横並び2分割：50%） */
.pg-store-card {
    width: 50%;
    padding: 0 25px 40px 25px; /* 店舗間の隙間を確保する左右上下余白 */
    box-sizing: border-box;
}

/* 2カラム並びの端の余白を綺麗に揃える設定 */
.pg-store-card:nth-child(odd) { padding-left: 0; }
.pg-store-card:nth-child(even) { padding-right: 0; }

/* 店舗写真枠（カード内上部） */
.pg-store-img-box {
    margin-bottom: 20px;
}
.pg-store-img-box img {
    width: 100%;
    height: auto;
    display: block;
}

/* 店舗情報枠（カード内下部） */
.pg-store-info {
    display: block;
}

.pg-store-name {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 5px 0;
}

.pg-store-address {
    font-size: 14px;
    color: #333333;
    margin: 0 0 10px 0;
    line-height: 1.2;
}
.pg-store-address span {
    display: block;
    color: #666666;
    font-size: 13px;
    margin-bottom: 3px;
}

/* --- カラーアイコン画像リンクの調整スタイル --- */
.fc-linkicon {
    display: flex;
    align-items: center;
    gap: 8px; /* アイコン同士の間隔 */
    margin-top: 10px;
}
.fc-linkicon a {
    display: inline-block;
    transition: opacity 0.2s ease;
}
.fc-linkicon a:hover {
    opacity: 0.8; /* ホバー時に少し透明にしてリンク感を出す */
}
.fc-linkicon img {
    display: block;
    max-height: 32px; /* アイコンの大きさがバラバラにならないように最大高さを固定 */
    width: auto;
}

/* --- レスポンシブ対応（スマホ表示時はすべて縦並び1カラムへ変換） --- */
@media (max-width: 750px) {
    .pg-store-nav-btn {
        padding: 6px 12px;
        font-size: 11px;
    }
    
    /* スマホでは1カラム（幅100%）に変更 */
    .pg-store-card {
        width: 100% !important;
        padding: 0 0 40px 0 !important; /* 左右の余白をリセット */
        border-bottom: 1px solid #f5f5f5;
        margin-bottom: 30px;
    }
    .pg-store-card:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0 !important;
    }
}

/*--------company--------*/

/* ==========================================================================
   会社概要（COMPANY PROFILE）専用スタイル
   ========================================================================== */

/* セクション全体の囲み */
.pg-company-section {
    width: 100%;
    padding: 60px 0 80px 0;
    background-color: #ffffff;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    letter-spacing: 0.05em;
}

/* インナー幅（サイトのコンテンツ幅に合わせるよう最大1000pxに設定） */
.pg-company-inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 25px;
    box-sizing: border-box;
}

/* タイトルエリアのデザイン */
.pg-company-title-area {
    text-align: center;
    margin-bottom: 50px;
}
.pg-company-main-title {
    font-size: 22px;
    font-weight: 600;
    color: #000000;
    margin: 0 0 5px 0;
    position: relative;
    display: inline-block;
}
/* タイトルの下線（さりげないアクセント） */
.pg-company-main-title::after {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 1px;
    background-color: #000000;
}
.pg-company-sub-title {
    display: block;
    font-size: 10px;
    font-family: "Georgia", serif;
    color: #888888;
    letter-spacing: 0.2em;
    margin-top: 15px;
}

/* 会社概要テーブルの本体 */
.pg-company-table {
    width: 100%;
    border-collapse: collapse;
    border-top: 1px solid #e5e5e5; /* テーブル最上部の線 */
    margin-top: 20px;
}

/* テーブルの各行（横線） */
.pg-company-table tr {
    border-bottom: 1px solid #e5e5e5;
}

/* 左側：項目見出し（すっきりとした細めの黒） */
.pg-company-table th {
    width: 25%;
    padding: 24px 20px;
    font-size: 13.5px;
    font-weight: 600;
    color: #000000;
    text-align: left;
    vertical-align: middle;
    background-color: #fafafa; /* ほんのりグレーにして高級感を */
}

/* 右側：内容テキスト */
.pg-company-table td {
    width: 75%;
    padding: 24px 25px;
    font-size: 13.5px;
    color: #333333;
    line-height: 1.6;
    vertical-align: middle;
}

/* 住所や電話番号内のパーツ微調整 */
.company-zip {
    display: block;
    font-size: 12.5px;
    color: #666666;
    margin-bottom: 4px;
}
.company-address,
.company-tel {
    display: inline-block;
}

/* ==========================================================================
   レスポンシブ対応（スマホ表示時に縦並びにする設定）
   ========================================================================== */
@media (max-width: 768px) {
    .pg-company-section {
        padding: 40px 0 60px 0;
    }
    .pg-company-title-area {
        margin-bottom: 35px;
    }
    
    /* スマホではテーブル構造を崩して縦に並べる */
    .pg-company-table,
    .pg-company-table tbody,
    .pg-company-table tr,
    .pg-company-table th,
    .pg-company-table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }
    
    /* 左側：項目見出し（スマホ版） */
    .pg-company-table th {
        padding: 15px 15px 5px 15px;
        background-color: transparent; /* 背景グレーを解除 */
        font-size: 13px;
        border: none;
    }
    
    /* 右側：内容（スマホ版） */
    .pg-company-table td {
        padding: 0 15px 18px 15px;
        font-size: 13px;
    }
}

/*--------flow--------*/

/* ==========================================================================
   施工の流れ（PROCESS / FLOW）専用スタイル
   ========================================================================== */

/* 全体のコンテナ */
.pg-flow-container {
    max-width: 1100px;
    margin: 80px auto;
    padding: 0 25px;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #000000;
    background-color: #ffffff;
    letter-spacing: 0.05em;
    line-height: 1.6;
    box-sizing: border-box;
}

/* タイトルエリア */
.pg-flow-title-area {
    text-align: center;
    margin-bottom: 60px;
}
.pg-flow-main-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px 0;
}
.pg-flow-sub-title {
    display: block;
    font-size: 10px;
    font-family: "Georgia", serif;
    color: #888888;
    letter-spacing: 0.2em;
}

/* ご指定のFlexbox構造（4工程を横並びにする） */
.pg-flow-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    gap: 20px; /* ステップ間の余白 */
    box-sizing: border-box;
}

/* 各ステップカード（PC時は4カラム：幅に余裕を持たせる） */
.pg-flow-card {
    width: calc(25% - 15px); /* 4カラム計算 */
    box-sizing: border-box;
    background-color: #ffffff;
}

/* 数字と小さめアイコンを入れるヘッダーエリア */
.pg-flow-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    border-bottom: 1px solid #000000; /* シャープな細い黒線 */
    padding-bottom: 5px;
    margin-bottom: 5px;
}

/* ステップ数字（高級感のあるセリフ体） */
.pg-flow-num {
    font-family: "Georgia", serif;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    color: #000000;
}

/* ご要望の「小さめアイコン」を制御する枠 */
.pg-flow-icon-box {
    width: 150px;  /* アイコンの好みの小ささに調整可能 */
    height: 150px;
    margin-left: auto;
    margin-right: auto;
}
.pg-flow-icon-box img {
    max-width: 100%;
    max-height: 100%;
    height: auto;
    object-fit: contain;
    display: block;
}

/* テキスト情報エリア */
.pg-flow-info {
    display: block;
}
.pg-flow-name {
    font-size: 15px;
    font-weight: 600;
    margin: 10px 0 5px 0;
    line-height: 1.4;
}
.pg-flow-text {
    font-size: 14px;
    color: #444444;
    margin: 0;
    line-height: 1.6;
    text-align: justify; /* 両端揃えできれいな見栄えに */
}

/* ==========================================================================
   レスポンシブ対応（タブレット・スマホ表示時のスイッチ）
   ========================================================================== */

/* タブレット・小さめのPC（2カラム横並び） */
@media (max-width: 950px) {
    .pg-flow-card {
        width: calc(50% - 10px); /* 2カラムに変更 */
        margin-bottom: 20px;
    }
}

/* スマホ（縦並び1カラム） */
@media (max-width: 600px) {
    .pg-flow-container {
        margin: 50px auto;
    }
    .pg-flow-title-area {
        margin-bottom: 40px;
    }
    .pg-flow-grid {
        gap: 35px; /* スマホ縦並び時の各カードの間隔 */
    }
    .pg-flow-card {
        width: 100% !important; /* 1カラムに変更 */
        margin-bottom: 0;
    }
    .pg-flow-header {
        padding-bottom: 8px;
    }
    .pg-flow-num {
        font-size: 22px;
    }
    .pg-flow-icon-box {
        width: 200px; /* スマホではさらに少し小さく */
        height: 200px;
    }
}













