@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700,900|Noto+Serif+JP:300,400,500,600,700,900|PT+Serif:400,700&display=swap');

/* --------------------------------------------------
base
-------------------------------------------------- */
body{
min-width:320px;
word-wrap:break-word;
line-height:1.5;
font-family: "Noto Serif JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
/*font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "Times New Roman", serif;*/
font-weight:400;
font-size:90%;
color:#413c3c;
background-color:#fbf5e5;
animation: pageLoad 2s;
}
@keyframes pageLoad{
  0%{
  opacity: 0;
  }
  100%{
  opacity: 1;
  }
}
@media screen and (max-width: 1000px) {
  body{
  font-size:14px;
  }
}
img{
max-width:100%;
vertical-align:middle;
}
input{
box-sizing:border-box;
padding:7px 10px;
color:#000;
}
textarea{
box-sizing:border-box;
padding:10px 10px;
color:#000;
}
select{
box-sizing:border-box;
padding: 7px;
color:#000;
}
input[readonly]{
background-color:#eee;
}
a:link,
a:visited{
color:#222;
text-decoration:underline;
}
a:hover,
a:active{
color:#222;
text-decoration:none;
}
strong{
font-weight: bold;
}
em{
font-weight: bold;
color: #ffa200;
}
.messageNoscript{
box-sizing: border-box;
display: block;
width: 100%;
padding: 25px 5%;
background: #333;
color: #fff;
font-size: 120%;
text-align: center;
}


/* boxImgTxt --------------- */
.boxImgTxt{
display: flex;
}
.boxImgTxt.imgAreaTop{
flex-direction: column-reverse;
}
.boxImgTxt.imgAreaBtm{
flex-direction: column;
}
.boxImgTxt.imgAreaLeft{
flex-direction: row-reverse;
justify-content: space-between;
}
.boxImgTxt.imgAreaRight{
flex-direction: row;
justify-content: space-between;
}
.boxImgTxt.imgAreaLeft .txtArea,
.boxImgTxt.imgAreaRight .txtArea{
width: 75%;
}
.boxImgTxt .txtArea .hd{
margin: 0 0 2%;
line-height: 1.5;
font-size: 120%;
font-weight: bold;
}
.boxImgTxt .imgArea{
display: flex;
}
.boxImgTxt.imgAreaTop .imgArea{
justify-content: space-around;
flex-wrap: wrap;
margin: 0 0 2%;
}
.boxImgTxt.imgAreaBtm .imgArea{
justify-content: space-around;
flex-wrap: wrap;
margin: 4% 0 0;
}
.boxImgTxt.imgAreaLeft .imgArea,
.boxImgTxt.imgAreaRight .imgArea{
flex-direction: column;
width: 21%;
}
.boxImgTxt .imgArea > li{
display: flex;
flex-direction: column;
align-items: center;
}
.boxImgTxt.imgAreaTop .imgArea > li,
.boxImgTxt.imgAreaBtm .imgArea > li{
box-sizing: border-box;
width: 23%;
margin: 0 1% 4%;
}
.boxImgTxt.imgAreaLeft .imgArea > li,
.boxImgTxt.imgAreaRight .imgArea > li{
margin: 0 0 9%;
}
.boxImgTxt .imgArea > li .img{
text-align: center;
}
.boxImgTxt .imgArea > li .caption{
margin: 4% 0 0;
font-size: 90%;
line-height: 1.5;
}
.boxImgTxt.withSlider.imgAreaLeft .txtArea,
.boxImgTxt.withSlider.imgAreaRight .txtArea{
width: 49%;
}
.boxImgTxt.withSlider.imgAreaTop .imgArea{
margin: 0 0 5%;
}
.boxImgTxt.withSlider.imgAreaLeft .imgArea,
.boxImgTxt.withSlider.imgAreaRight .imgArea{
width: 49%;
}
.boxImgTxt.withSlider .imgArea .sliderMainBox{
width: 100%;
margin: 0 auto 2%;
}
.boxImgTxt.withSlider .imgArea .sliderThumbBox{
width: 100%;
margin: 0 auto 0;
}
.boxImgTxt.withSlider .imgArea .sliderThumb .slick-slide{
margin: 0 3px;
}
.boxImgTxt.withSlider .imgArea .sliderMain .img,
.boxImgTxt.withSlider .imgArea .sliderThumb .img{
display: flex;
justify-content: center;
}
.boxImgTxt.withSlider.imgAreaTop .imgArea .sliderMain .img img,
.boxImgTxt.withSlider.imgAreaBtm .imgArea .sliderMain .img img{
max-height: 800px;
}
.boxImgTxt.withSlider.imgAreaLeft .imgArea .sliderMain .img img,
.boxImgTxt.withSlider.imgAreaRight .imgArea .sliderMain .img img{
max-height: 400px;
}
.boxImgTxt.withSlider .imgArea .sliderMain .caption{
margin: 0 0 2%;
line-height: 1.5;
font-size: 120%;
font-weight: bold;
display: flex;
justify-content: center;
}
.boxImgTxt.withSlider .imgArea .sliderThumb figure{
cursor: pointer;
}
.boxImgTxt.withSlider.imgAreaTop .imgArea .sliderThumb .img img,
.boxImgTxt.withSlider.imgAreaBtm .imgArea .sliderThumb .img img{
max-height: 80px;
}
.boxImgTxt.withSlider.imgAreaLeft .imgArea .sliderThumb .img img,
.boxImgTxt.withSlider.imgAreaRight .imgArea .sliderThumb .img img{
max-height: 50px;
}
@media screen and (max-width: 750px) {
  .boxImgTxt .txtArea .hd{
  margin: 0 0 5%;
  }
  .boxImgTxt.imgAreaLeft .txtArea,
  .boxImgTxt.imgAreaRight .txtArea{
  width: 66%;
  }
  .boxImgTxt.imgAreaTop .imgArea{
  margin: 0 0 4%;
  }
  .boxImgTxt.imgAreaBtm .imgArea{
  margin: 7% 0 0;
  }
  .boxImgTxt.imgAreaLeft .imgArea,
  .boxImgTxt.imgAreaRight .imgArea{
  width: 30%;
  }
  .boxImgTxt.imgAreaTop .imgArea > li,
  .boxImgTxt.imgAreaBtm .imgArea > li{
  width: 47%;
  margin: 0 1% 6%;
  }
  .boxImgTxt .imgArea > li .caption{
  margin: 5% 0 0;
  }
  .boxImgTxt.withSlider.imgAreaLeft{
  flex-direction: column-reverse;
  }
  .boxImgTxt.withSlider.imgAreaRight{
  flex-direction: column;
  }
  .boxImgTxt.withSlider.imgAreaLeft .txtArea,
  .boxImgTxt.withSlider.imgAreaRight .txtArea,
  .boxImgTxt.withSlider.imgAreaLeft .imgArea,
  .boxImgTxt.withSlider.imgAreaRight .imgArea{
  width: 100%;
  }
  .boxImgTxt.withSlider.imgAreaLeft .imgArea{
  margin: 0 0 9%;
  }
  .boxImgTxt.withSlider.imgAreaRight .imgArea{
  margin: 9% 0 0;
  }
  .boxImgTxt.withSlider.imgAreaTop .imgArea{
  margin: 0 0 9%;
  }
  .boxImgTxt.withSlider .imgArea .sliderMainBox{
  margin-bottom: 5%;
  }
  .boxImgTxt.withSlider .imgArea .sliderMain .caption{
  margin: 0 0 5%;
  }
  .boxImgTxt.withSlider .imgArea .sliderMain .img img{
  max-height: 80vw !important;
  }
  .boxImgTxt.withSlider .imgArea .sliderThumb .img img{
  max-height: 15vw !important;
  }
}

/* boxBg --------------- */
.boxBg{
box-sizing:border-box;
position: relative;
}
.boxBg .bg{
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: cover;
}
.boxBg .bg.maskWhite:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255,255,255,0.4);
}
.boxBg .bg.maskBlack:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.4);
}
.boxBg .txtArea{
box-sizing:border-box;
position: relative;
width: 100%;
height: 100%;
padding: 5% 5%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.boxBg .txtArea.shadowWhite{
text-shadow:
#fff 1px 1px 3px,
#fff -1px 1px 3px,
#fff 1px -1px 3px,
#fff -1px -1px 3px;
color: #333
}
.boxBg .txtArea.shadowBlack{
text-shadow:
#000 1px 1px 3px,
#000 -1px 1px 3px,
#000 1px -1px 3px,
#000 -1px -1px 3px;
color: #fff
}
.boxBg .txtArea .hd{
margin: 0 0 2%;
line-height: 1.5;
font-size: 120%;
font-weight: bold;
}
@media screen and (max-width: 750px) {
  .boxBg .txtArea{
  padding-top: 8%;
  padding-bottom: 8%;
  }
  .boxBg .txtArea .hd{
  margin: 0 0 5%;
  }
}

/* boxTbl --------------- */
.boxTbl .hd{
margin: 0 0 2%;
line-height: 1.5;
font-size: 120%;
font-weight: bold;
}
.boxTbl table{
box-sizing:border-box;
width:100%;
margin: 3% auto;
}
.boxTbl table tr{
border-top: #ccc solid 1px;
border-bottom: #ccc solid 1px;
}
.boxTbl table th,
.boxTbl table td{
box-sizing:border-box;
padding: 2% 2% 2%;
}
.boxTbl table th{
background: #f0f0f0;
}
.boxTbl table td{
background: #fff;
}
.boxTbl table thead th{
text-align:center;
}
@media screen and (max-width: 750px) {
  .boxTbl .hd{
  margin: 0 0 5%;
  }
  .boxTbl table:not(.noNarrow) tr{
  border: #ccc solid 1px;
  }
  .boxTbl table:not(.noNarrow) th,
  .boxTbl table:not(.noNarrow) td{
  display:block;
  width:100% !important;
  padding: 6% 4% 6%;
  }
}

/* boxMap --------------- */
.boxMap iframe{
width: 100%;
height: 500px;
}
@media screen and (max-width: 750px) {
  .boxMap iframe{
  height: 80vw;
  }
}





/* --------------------------------------------------
mainDefaultPages
-------------------------------------------------- */
.mainDefaultPages > ul{
display: flex;
justify-content: center;
align-items: center;
}
.mainDefaultPages > ul > li{
box-sizing: border-box;
flex: 0 0 33.333%;
padding: 0 5px;
}
.mainDefaultPages > ul > li a{
display: block;
text-decoration: none;
position: relative;
border: #ccc solid 1px;
padding: 35px 10px 10px;
white-space: nowrap;
font-size: 90%;
}
.mainDefaultPages > ul > li a:before{
position: absolute;
left: 0;
width: 100%;
font-size: 20px;
color: #ccc;
display: block;
text-align: center;
}
.mainDefaultPages > ul > li.company a:before{
font-family: "Font Awesome 5 Free";
content: '\f1ad';
font-weight: 900;
top: 5px;
}
.mainDefaultPages > ul > li.access a:before{
font-family: "Font Awesome 5 Free";
content: '\f3c5';
font-weight: 900;
top: 5px;
}
.mainDefaultPages > ul > li.contact a:before{
font-family: "Font Awesome 5 Free";
content: '\f0e0';
font-weight: 900;
top: 7px;
}

/* --------------------------------------------------
drawer
-------------------------------------------------- */
#drwNavTrigger {
display: none;
}
.drwNavBtn {
position: fixed;
top: 6px;
right: 6px;
display: none;
width: 40px;
height: 40px;
text-align: center;
cursor: pointer;
z-index: 993;
}
@media screen and (max-width: 1000px) {
  .drwNavBtn {
  display: block;
  }
}
.drwNavBtnBar {
position: absolute;
top: 0;
left: 0;
display: block;
width: 30px;
height: 2px;
background: #6c5337;
transition: all 0.4s;
transform-origin: left top;
}
.drwNavBtnBar {
    background: #6c5337;
    webkit-box-shadow: 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1);
    -moz-box-shadow: 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1);
    box-shadow: 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1), 0px 0px 2px 0px rgba(255,255,255,1);
}
#drwNavTrigger:checked ~ .drwNavBtn .drwNavBtnBar {
box-shadow: none;
}
.drwNavBtnBar.top {
top: 11px;
left: 5px;
}
.drwNavBtnBar.middle {
top: 20px;
left: 5px;
opacity: 1;
}
.drwNavBtnBar.bottom {
top: 29px;
left: 5px;
transform-origin: left bottom;
}
#drwNavTrigger:checked ~ .drwNavBtn .drwNavBtnBar.top {
width: 26px;
left: 11px;
transform: rotate(45deg);
}
#drwNavTrigger:checked ~ .drwNavBtn .drwNavBtnBar.middle {
opacity: 0;
}
#drwNavTrigger:checked ~ .drwNavBtn .drwNavBtnBar.bottom {
width: 26px;
left: 11px;
top: 29px;
transform: rotate(-45deg);
}
.drwNavBtnText {
position: absolute;
bottom: -10px;
left: 0;
right: 0;
margin: auto;
transition: all 0.3s;
display: block;
visibility: visible;
opacity: 1;
letter-spacing: 0;
color: #6c5337;
font-size: 10px;
}
.drwNavBtnText {
    color: #6c5337;
    text-shadow: 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1), 0px 0px 2px rgba(255, 255, 255, 1);
}
#drwNavTrigger:checked ~ .drwNavBtn .drwNavBtnText {
visibility: hidden;
opacity: 0;
}
.drwNavClose {
position: fixed;
top: 0;
right: 300px;
width: 100%;
height: 100vh;
background: rgba(0,0,0,0);
cursor: url(../img/common/close_cross.png),auto;
transition: all 0.4s;
visibility: hidden;
opacity: 0;
}
#drwNavTrigger:checked ~ .drwNavClose {
transition: all 0.4s;
transition-delay: 0.3s;
background: rgba(0,0,0,0.6);
visibility: visible;
opacity: 1;
z-index: 993;
}
#drwNav {
box-sizing: border-box;
position: fixed;
top: 0;
right: 0;
width: 300px;
height: 100%;
background: #fbf5e5;
transition: all 0.4s;
opacity: 0;
overflow: hidden;
transform-origin: right center;
transform: translateX(300px);
}
#drwNavTrigger:checked ~ #drwNav {
transition-delay: 0.3s;
transform: none;
opacity: 1;
z-index: 992;
}
.drwNavInner{
box-sizing: border-box;
width: 100%;
min-width: 250px;
height: 100%;
padding: 17px 10px 30px;
overflow-x: hidden;
overflow-y: scroll;
}
#drwNav .logo{
box-sizing: border-box;
margin: 0 auto 30px;
width: 100%;
}
#drwNav .logo a{
text-decoration: none;
font-size: 160%;
line-height: 1.2;
font-weight: bold;
color: #333;
display: flex;
justify-content: flex-start;
align-items: center;
}
#drwNav .logo img{
max-width: 85%;
}
#drwNav .mainDefaultPages{
box-sizing: border-box;
margin: 0 auto 30px;
width: 100%;
max-width: 250px;
text-align: center;
}
#drwNav .globalNav{
box-sizing: border-box;
margin-bottom: 30px;
width: 100%;
}
#drwNav .globalNav li a,
#drwNav .globalNav li .accordionTrigger{
box-sizing: border-box;
display: block;
text-decoration: none;
padding: 15px 30px 15px 0;
font-size: 90%;
border-bottom: #d8ccb9 solid 1px;
position: relative;
color: #6c5337;
}
#drwNav .globalNav li .accordionTrigger{
cursor: context-menu;
}
#drwNav .globalNav > ul > li:nth-of-type(1) a{
border-top: #d8ccb9 solid 1px;
}
#drwNav .globalNav li a:after,
#drwNav .globalNav li .accordionTrigger:after{
font-family: "Font Awesome 5 Free";
content: '\f105';
font-weight: 900;
font-size: 16px;
color: #6c5337;
position: absolute;
top: calc(50% - 8px);
right: 5px;
line-height: 1;
}

#drwNav .globalNav li .accordionTrigger:after{
transform: rotate(90deg);
content: '\f067';
font-size: 12px;
}
#drwNav .globalNav li .accordionTrigger.onclick:after{
transform: rotate(0deg);
content: '\f068';
color: #d62c24;
font-size: 12px;
}
#drwNav .globalNav .accordionContent li a{
padding-left: 10%;
}
#wrapper {
box-sizing: border-box;
position: relative;
width: 100%;
transition: all 0.4s;
transition-delay: 0.3s;
}
#drwNavTrigger:checked ~ #wrapper {
transition-delay: 0s;
transform: translateX(-300px);
}

/* --------------------------------------------------
header
-------------------------------------------------- */
#headerPC{
display: block;
}
#headerSP{
display: none;
}
@media screen and (max-width: 750px) {
  #headerPC{
  display: none;
  }
  #headerSP{
  display: block;
  }
}

/* headerPC --------------- */
#headerPC{
background: #fff;
}
#headerPC > .inner{
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 0;
}
#headerPC .logo a{
text-decoration: none;
font-size: 200%;
line-height: 1.2;
font-weight: bold;
color: #333;
word-break: break-all;
}
#headerPC .logo img{
max-width: 400px;
max-height: 150px;
}
#headerPC .mainDefaultPages{
margin-left: 20px;
}
#headerPC .globalNav{
padding: 0 0 5px;
border-top: #ccc solid 1px;
border-bottom: #ccc solid 1px;
word-break: break-all;
}
#headerPC .globalNav a{
text-decoration: none;
}
#headerPC .globalNav .parent{
display: flex;
justify-content: center;
flex-wrap: wrap;
}
#headerPC .globalNav .parent > li{
box-sizing: border-box;
flex-wrap: 0 0 auto;
position: relative;
margin: 5px -1px 0 0;
border-left: #ccc solid 1px;
border-right: #ccc solid 1px;
}
#headerPC .globalNav .parent > li > a,
#headerPC .globalNav .parent > li > .trigger{
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
height: 100%;
padding: 8px 20px;
text-align: center;
font-size: 90%;
color: #000;
}
#headerPC .globalNav .parent > li > .trigger{
cursor: default;
}
#headerPC .globalNav .parent > li:hover > a,
#headerPC .globalNav .parent > li:hover > .trigger{
background-color: #f8f8f8;
}
#headerPC .globalNav .child{
position: absolute;
left: 0;
z-index: 1;
transition: 0.2s;
visibility: hidden;
opacity: 0;
}
#headerPC .globalNav li.active > .child{
visibility: visible;
opacity: 1;
}
#headerPC .globalNav .child > li a{
box-sizing: border-box;
display: block;
border-top: #ccc solid 1px;
padding: 10px 20px;
background-color: #f8f8f8;
font-size: 90%;
color: #000;
}
#headerPC .globalNav .child > li a:hover{
background-color: #f0f0f0;
}

/* headerSP --------------- */
#headerSP{
padding: 3% 0;
}
#headerSP .logo{
width: 70%;
max-width: 500px;
margin: 0 auto;
}
#headerSP .logo a{
text-decoration: none;
font-size: 160%;
line-height: 1.2;
font-weight: bold;
color: #333;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
#headerSP .logo img{
max-height: 80px;
}

/* --------------------------------------------------
contents
-------------------------------------------------- */
#contents{
font-size:100%;
line-height:1.8;
letter-spacing:0.05em;
box-sizing: border-box;
position: relative;
width: 100%;
}
@media screen and (max-width: 750px) {
}

/* keyVisual --------------- */
.keyVisual .keyVisualBox{
box-sizing: border-box;
position: relative;
}
.keyVisual .keyVisualBox a{
text-decoration: none;
}
.keyVisual .keyVisualBox .bg{
box-sizing: border-box;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
}
.keyVisual .keyVisualBox .bg.maskWhite:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255,255,255,0.4);
}
.keyVisual .keyVisualBox .bg.maskBlack:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.4);
}
.keyVisual .keyVisualBox .txtBox{
box-sizing: border-box;
position: relative;
width: 100%;
height: 100%;
padding: 3% 4%;
min-height: 600px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
font-size:230%;
}
.keyVisual .keyVisualBox .txtBox.shadowWhite{
text-shadow:
#fff 1px 1px 3px,
#fff -1px 1px 3px,
#fff 1px -1px 3px,
#fff -1px -1px 3px;
color: #222;
}
.keyVisual .keyVisualBox .txtBox.shadowBlack{
text-shadow:
#000 1px 1px 3px,
#000 -1px 1px 3px,
#000 1px -1px 3px,
#000 -1px -1px 3px;
color: #fff;
}
.keyVisual .keyVisualBox .txtBox h2{
font-size:75%;
margin: 1% 0 0;
}
@media screen and (max-width: 1500px) {
  .keyVisual .keyVisualBox .txtBox{
  min-height: 40vw;
  }
}
@media screen and (max-width: 1000px) {
  .keyVisual .keyVisualBox .txtBox{
  min-height: 48vw;
  font-size: 3.7vw;
  }
}
@media screen and (max-width: 750px) {
  .keyVisual .keyVisualBox .txtBox{
  min-height: 70vw;
  font-size: 5.0vw;
  font-weight: bold;
  }
  .keyVisual .keyVisualBox .txtBox h2{
  margin: 3% 0 0;
  }
}

/* --------------------------------------------------
footer
-------------------------------------------------- */
#footer img {
    display: block;
    margin:auto;
    width: 245px;
    height: 100%;
}
#footer{
box-sizing: border-box;
position: relative;
width: 100%;
padding: 14% 0 0;
}
#footer .copyright{
font-size: 80%;
color: #474747;
padding: 20px 0;
border-top: 1px solid #e4e4e4;
}
@media screen and (max-width: 1000px) {

}
@media screen and (max-width: 750px) {

}

/* --------------------------------------------------
page top
-------------------------------------------------- */
#pageTop{
/*position: fixed;*/
position: absolute;
right: -40px;
bottom: 35px;
z-index: 10;
}
#pageTop a{
box-sizing: border-box;
text-decoration: none;
display: flex;
justify-content: center;
align-items: center;
width: 50px;
height: 50px;
text-align: center;
border-radius: 50%;
transition: 0.2s;
border: 1px solid #6c5337;
}
#pageTop a:hover{
opacity: 0.7;
}
#pageTop a:before{
font-family: "Font Awesome 5 Free";
content: '\f077';
font-weight: 600;
font-size: 14px;
color: #787672;
}
.footerNavSP {
  display: none;
}
/* --------------------------------------------------
other classes
-------------------------------------------------- */
.clearFix:after{
content:"";
clear:both;
display:block;
}

/* footerNavSP --------------- */
.footerNavSP a{
text-decoration: none;
}

.footerNavSP .list .ttl:before{
content: "";
display: inline-block;
background: #6c5337;
width: 4px;
height: 23px;
margin: 0 3% 0 0;
vertical-align: middle;
}
.footerNavSP .list .accordionTrigger{
position: relative;
}
.footerNavSP .list .accordionTrigger:after{
font-family: "Font Awesome 5 Free";
content: '\f067';
font-weight: 900;
color: #6c5337;
font-size: 14px;
position: absolute;
top: calc(50% - 10px);
right: 0;
}
.footerNavSP .list .accordionTrigger.onclick:after{
font-family: "Font Awesome 5 Free";
content: '\f068';
font-weight: 900;
color: #d62c24;
font-size: 14px;
position: absolute;
top: calc(50% - 10px);
right: 0;
}
.footerNavSP .list li{
border-bottom: #d8ccb9 solid 1px;
padding: 15px 0;
cursor: context-menu;
}
.footerNavSP .list li a{
display: inline-block;
width: calc(100% - (4px + 3%));
position: relative;
}
.footerNavSP .list li a:after{
font-family: "Font Awesome 5 Free";
content: '\f054';
font-weight: 900;
color: #6c5337;
font-size: 14px;
position: absolute;
top: calc(50% - 7px);
right: 2px;
}
.footerNavSP .list .accordionContent{
border-top: #d8ccb9 solid 1px;
margin: 15px 0 0;
}
.footerNavSP .list .accordionContent li:nth-last-of-type(1){
border-bottom: none;
padding-bottom: 0;
}
.footerNavSP .list .accordionContent li a{
box-sizing: border-box;
width: 100%;
padding: 0 0 0 7%;
}
.footerNavSP .list .accordionContent li ul li:first-child {
  border-top: #fff solid 1px;
  margin-top: 3%;
}
.footerNavSP .list .accordionContent li ul li a::before {
  background: url("../img/common/ruledline01.svg") no-repeat left center / 12px 12px;
  content: "";
  height: 12px;
  left: 13%;
  position: absolute;
  top: 5px;
  width: 12px;
}
.footerNavSP .list .accordionContent li ul li:last-child a::before {
  background: url("../img/common/ruledline02.svg") no-repeat left center / 12px 12px;
  content: "";
  top: 4px;
}
.footerNavSP .list .accordionContent li ul li a {
  padding-left: 18%;
  position: relative;
}
.footerNavSP .list .accordionContent li ul li ul li a::before {
  content: "";
  left: 23%;
}
.footerNavSP .list .accordionContent li  ul li ul li a {
  font-size: 12px;
  padding-left: 28%;
}