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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{-webkit-appearance:none;appearance:none;border-radius:0}input[type="search"]{-webkit-appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:0;}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:700}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;-webkit-clip-path:none;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

/*loading*/

.loading {
  position: fixed;
  width: 100%;
  height: 100%;
  /* 背景色の設定 */
  background-color: #ffffff;
  z-index: 9999;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.loading span{
  width: 30%;
  height: auto;
  max-width: 150px;
  max-height: 150px;
  display: block;
  position: relative;
}
.loading span img{
  width: 100%;
  height: auto;
  animation-name:fadeIn;
  animation-duration:2s;
  animation-fill-mode:forwards;
}

.loading span:after{
  display: block;
  content:"";
  background: #fff;
  width: 100%;
  height: 100%;
  max-width: 150px;
  animation-name:fadeUpAnime;
  animation-duration:2s;
  animation-fill-mode:forwards;
  position: absolute;
  bottom: 0;
  left: 0;
}

@keyframes fadeIn{
  from {
	opacity: 0;
  }

  to {
	opacity: 1;
  }
}
@keyframes fadeInUp{
  from {
	opacity: 0;
  transform: translateY(20px);
  }

  to {
	opacity: 1;
  transform: translateY(0);
  }
}


@keyframes fadeUpAnime{
  from {
	transform: translateY(0);
  }

  to {
	transform: translateY(-150px);
  }
}

.fadeLeftTrigger,
.fadeRightTrigger,
.fadeInUpTrigger{
  opacity: 0;
}

/* 左から */
.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-7.333333333333332vw);
  }
  to {
    opacity: 1;
	transform: translateX(0);
  }
}

.dt02{
animation-delay: 0.2s;
}
.dt04{
animation-delay: 0.4s;
}
.dt06{
animation-delay: 0.6s;
}

/* 右から */
.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(7.333333333333332vw);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}
/* フェードインUP */
.fadeInUp{
  animation-name:fadeInUp;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
}



/*ここからサイト用*/
body{
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  color: #595757;
}
body a{
  color: #595757;
  text-decoration: none;
  transition: 0.4s;
}
body a:hover{
  opacity: 0.7;
}
body img{
  width: auto;
  height: auto;
  max-width: 100%;
}
#header {
  padding: 20px;
}
@media (max-width: 820px) {
  #header {
    padding: 10px;
  }
}
#site-title img{
  max-width: 100px;
  height: auto;
  width: 12vw;
  display: block;
}
.detailBtn{
  text-align: center;
  padding: 7.333333333333332vw 0;
}
.detailBtn a{
    display: inline-block;
    font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    padding: 20px 30px;
    border: #595757 1px solid;
    text-align: center;
    font-size: 14px;
    transition: 0.4s;
}
.detailBtn a:hover{
    border: #595757 1px solid;
    background: #595757;
    color: #fff;
}

.compImage{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  gap: 40px;
  margin-top: 60px;
}

/*TOPイメージ画像*/
.comp01 .s01{
  padding-top: 10%;
}
.comp01 .s02{
  padding-top: 15%;
}
/*tablet*/
@media (max-width: 820px) {
  .compImage{
    gap: 0;
    flex-wrap: wrap;
  }
  .comp01 .s01{
    width: 50%;
  }
  .comp01 .s02{
    width: 50%;
    text-align: right;
  }
  .comp01 .s03{
    padding-top: 20px;
    width: 100%;
    text-align: right;
  }
}
/*SP*/
@media (max-width: 520px) {
  .comp01 .s01{
    width: 70%;
  }
  .comp01 .s02{
    padding-top: 10px;
    width: 100%;
    text-align: right;
  }
  .comp01 .s02 img{
    width: 50%;
    height: auto;
  }
  .comp01 .s03{
    padding-top: 10px;
    text-align: center;
  }
  .comp01 .s03 img{
    width: 100%;
    max-width: 210px;
  }
}


.comp02 .s02{
  padding-top: 15%;
}
/*tablet*/
@media (max-width: 820px) {
  .comp02 .s01{
    order:1;
    width: 50%;
  }
  .comp02 .s02{
    order: 3;
    width: 60%;
    text-align: left;
    padding-top: 20px;
  }
  .comp02 .s02 img{
    width: 100%;
    height:  auto;
  }
  .comp02 .s03{
    order: 2;
    padding-top: 50px;
    width: 50%;
    text-align: right;
  }
  .comp02 .s03 img{
    width: 80%;
    height:  auto;
  }
}
/*SP*/
@media (max-width: 520px) {
  .comp02 .s01{
    order:1;
    width: 80%;
  }
  .comp02 .s02{
    order: 2;
    width: 100%;
    text-align: right;
    padding-top: 10px;
  }
  .comp02 .s02 img{
    width: 90%;
    height:  auto;
  }
  .comp02 .s03{
    order: 3;
    padding-top: 10px;
    width: 100%;
  }
  .comp02 .s03 img{
    width: 70%;
    height:  auto;
  }
}

.comp03{
  margin-bottom: 7.333333333333332vw;
}
.comp03 .s02{
  padding-top: 15%;
}
.comp03 .s03{
  padding-top: 10%;
}
/*tablet*/
@media (max-width: 820px) {
  .comp03 .s01{
    width: 70%;
  }
  .comp03 .s02{
    width: 50%;
    padding-top: 40px;
  }
  .comp03 .s02 img{
    width: 60%;
    height:  auto;
  }
  .comp03 .s03{
    padding-top: 20px;
    width: 50%;
    text-align: right;
  }
  .comp03 .s03 img{
    width: 100%;
    height:  auto;
  }
}
/*sp*/
@media (max-width: 520px) {
  .comp03 .s01{
    width: 100%;
  }
  .comp03 .s02{
    width: 40%;
    padding-top: 20px;
  }
  .comp03 .s02 img{
    width: 100%;
    height:  auto;
  }
  .comp03 .s03{
    padding-top: 20px;
    width: 100%;
  }
  .comp03 .s03 img{
    width: 80%;
    height: auto;
  }
}

.comp04 {
  margin-bottom: 0;
}
.comp04 .s01{
  padding-top: 10%;
}
.comp04 .s03{
  padding-top: 5%;
}
/*tablet*/
@media (max-width: 820px) {
  .comp04 .s01{
    width: 50%;
    padding-top: 0;
  }
  .comp04 .s01 img{
    width: 90%;
  }
  .comp04 .s02{
    width: 50%;
    text-align: right;
    padding-top: 20px;
  }
  .comp04 .s02 img{
    width: 90%;
  }
  .comp04 .s03{
    padding-top: 20px;
    width: 40%;
    margin-left: 20%;
  }
}
/*sp*/
@media (max-width: 820px) {
  .comp04 .s01{
    width: 60%;
  }
  .comp04 .s01 img{
    width: 100%;
  }
  .comp04 .s02{
    width: 100%;
    padding-top: 10px;
  }
  .comp04 .s02 img{
    width: 60%;
  }
  .comp04 .s03{
    padding-top: 10px;
    width: 40%;
    margin-left: 5%;
  }
}

@media (max-width: 820px) {
  #wrapper{
    overflow-x: hidden;
  }
}

#wrapper section{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  width: 96%;
  max-width: 1200px;
  margin: 0 auto;
}

#wrapper section .inner{
  margin-bottom: 60px;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
}

#wrapper main .pageMv{
	position:relative;
}
#wrapper main .pageMv h1{
	background: #3b5e92;
    color: #fff;
    font-size: clamp(20px, 4vw, 40px);
    padding: 7.333333333333332vw 10px 20px;
    width: 40%;
    position: absolute;
    left: 0;
    text-align: right;
	   bottom: 40px;
}

#wrapper main .pageMv div{
  text-align: right;
}
#wrapper main .pageMv.aboutDetail span{
  font-size:clamp(16px, 2.3vw, 20px);
  display: block;
  text-align: right;
}
#wrapper main .pageMv.subTitle{
  margin-bottom: 9vw;
}
#wrapper main .pageMv.subTitle div{
  height: 160px;
  overflow: hidden;
}
#wrapper main .pageMv.subTitle h1{
  bottom: -40px;
}

@media (max-width: 520px) {
  #wrapper main .pageMv.subTitle h1{
    bottom: 10%;
  }
  #wrapper main .pageMv h1{
    bottom: 10%;
  	width: 70%;
  }
}
#wrapper main .mainCatch{
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: 12vw auto 7.333333333333332vw;
  padding: 0;
  overflow: hidden;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch{
    padding: 0 ;
    overflow: visible;;
  }
}
#wrapper main .mainCatch img{
  width: 80%;
  max-width: 800px;
  height: auto;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch img{
    width: 100%;
  }
}
#wrapper main .mainCatch .text{
  position: absolute;
  right: 40px;
  top: 0;
  /* transform: translate(0, -50%); */
  text-align: right;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  height: 100%;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch .text{
    position: relative;
    right: auto;
    align-items: center;
    justify-content: flex-end;
    top: -1.5em;
  }
}

#wrapper main .mainCatch .text dt{
  margin-bottom: 40px;
  font-size:clamp(22px, 3vw, 30px);
  line-height: 1.2;
}
#wrapper main .mainCatch .text dt span{
  color: #3b5e92;
  background: #fff;
  padding: 5px 10px;
  line-height: 1.65;
  font-weight: 500;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch .text dt{
    margin-bottom: 20px;
    text-align: center;
  }
}
#wrapper main .mainCatch .text dd{
  padding: 15px;
  background: #fff;
  line-height: 2;
      width: 40%;
      text-align: left;
      font-size: 14px;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch .text dd{
    padding: 0;
    width: 90%;
    font-size: 12px;
  }
}

/*反対*/
#wrapper main .mainCatch.rev {
  padding: 0;
}
#wrapper main .mainCatch.rev .text{
  position: absolute;
  right: auto;
  left: 40px;
  top: 0;
  /* transform: translate(0, -50%); */
  text-align: left;
  align-items: flex-start;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch.rev .text{
    left: auto;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    top: -1.5em;
  }
}
#wrapper main .mainCatch.rev .text dd{
  margin-left: 0;
  padding-left: 0;
}
@media (max-width: 640px) {
  #wrapper main .mainCatch.rev .text dd{
    padding: 5px;
  }
}

#wrapper main .mainCatch.rev .image{
  text-align: right;
}


#wrapper main .subtitle{
  position: relative;
  text-align: right;
  padding-bottom: 40px;
  margin-bottom: 7.333333333333332vw;
}
#wrapper main .subtitle:before{
  content:"";
  display: inline-block;
  width: 80%;
  background: #efefef;
  height: 160px;
}
#wrapper main .subtitle h2{
  background: #3b5e92;
    color: #fff;
    font-size:clamp(20px, 4vw, 40px);
    padding: 60px 10px 20px;
    width: 40%;
    position: absolute;
    left: 0;
    text-align: right;
	  bottom: 0;
}

/*topPage*/
.home .topMaintitle{
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  padding: 30px 0;
}
@media (max-width: 820px) {

}

.home .topMaintitle strong{
  display: block;
  font-size:clamp(24px, 5vw, 50px);
  opacity: 0;
}
.home .mainVisual {
  width: 100%;
  overflow: hidden;
  padding-bottom: 6vw;
}
.home .mainVisual .slick-dots{
  bottom: -55px;
}
.home .mainVisual .slick-slide img{
    width: 100%;
    height: auto;
}
.home #wrapper section.top-news{
  margin-top: 7.333333333333332vw;
}

/*newsList*/
.newsList{
  width: 80%;
  max-width: 700px;
  display: flex;
  justify-content: flex-start;
  gap: 50px;
  font-size: 14px;
  margin:0 auto 30px;
}
.newsList dt{
  font-weight: normal;
}
@media (max-width: 820px) {
  .newsList{
    display: block;
    font-size: 14px;
    margin-bottom: 20px;
  }
  .newsList dt{
    margin-bottom: 5px;
  }
}
#wrapper section.newsSingle{
  width: 80%;
  max-width: 700px;
  padding: 4vw 0;
  margin: 0 auto;
}
#wrapper section.newsSingle .date{
  padding: 10px 0;
}
#wrapper section.newsSingle .title{
  padding: 10px 0;
  border-top: 1px solid #c9caca;
  border-bottom: 1px solid #c9caca;
  margin-bottom: 3vw;
}
#wrapper section.newsSingle .textWrap{
  line-height: 1.8;
}

/*archive*/
.archives .terms{
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 5vw auto 2vw;
}
@media (max-width: 620px) {
  .archives .terms{
    justify-content: center;
  }
}

.archives .terms li{
    width: auto;
    display: inline-block;
    border: 1px solid #595757;
    text-align: center;
    text-transform: uppercase;
}
.archives .terms li a{
    padding: 10px;
    width: 150px;
    display: inline-block;
}
.archives .terms li a:hover{
  background:  #595757;
  color: #fff;
}
.archives .terms li.all a,
.archives .terms.display li.display a,
.archives .terms.event li.event a,
.archives .terms.exhibition li.exhibition a{
  background:  #595757;
  color: #fff;
}

.archives .terms.display li.all a,
.archives .terms.event li.all a,
.archives .terms.exhibition li.all a{
  background: #fff;
  color: #595757;
}
.archiveList{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  margin: 7.333333333333332vw 0 0;
}
.archiveList li{
  width: calc(100%/ 3 - 10px);
  margin-bottom: 10px;
}
@media (max-width: 520px) {
  .archiveList li{
    width: calc(100%/ 2 - 10px);
  }
}

.archiveList li figure{
  aspect-ratio: 350 / 260;
  overflow: hidden;
  position: relative;
  transition: 0.4s;
}
.archiveList li figure:before,
.archiveList li figure:after{
  transition: 0.4s;
  opacity: 0;
}
.archiveList li figure:before{
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.8);
}
.archiveList li figure:after{
  content: "DETAIL";
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding:5px;
  border: 1px solid #595757;
  font-size: 14px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}

.archiveList li a:hover figure:before,
.archiveList li a:hover figure:after{
  opacity: 1;
}

.archiveList li p{
  margin-top: 10px;
  font-size: 14px;
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.pagination .page-numbers{
  margin-top: 4vw;
  display: flex;
  justify-content: center;
  gap: 20px;
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

}
.pagination .page-numbers span.current{
  display: inline-block;
  background: #595757;
  color: #fff;
  padding: 5px 10px;
  border: 1px solid #595757;
}
.pagination .page-numbers a{
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid #595757;
}


/*archiveDetail*/
#wrapper section.worksSingle{
    margin-top: 7.333333333333332vw;
}
.worksSingle .terms{
    margin-bottom: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.worksSingle .terms li{
  background: #595757;
  font-size: 14px;
  color: #fff;
  padding: 10px 20px;
  text-transform: uppercase;
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.worksSingle h2{
  padding: 10px 0;
}
.worksSingle h3{
  padding: 10px 0;
  border-top: 1px solid #c9caca;
  border-bottom: 1px solid #c9caca;
  margin-bottom: 7.333333333333332vw;
}
.worksSingle .imageWrap{
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 20px;
}

/*about*/
.aboutList{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.aboutList li{
  width: calc(100% / 2 - 20px);
  max-height: 200px;
  overflow: hidden;
}
.aboutList li a{
  background: #efefef;
  display: block;
  width: 100%;
  position: relative;
}
.aboutList li a img{
  width: 60%;
  height: auto;
}

@media (max-width: 820px) {
  .aboutList li{
    width: 100%;
  }
  .aboutList li a{
    height: 200px;
  }
  .aboutList li a img{
    width: auto;
    height: 100%;
    position: absolute;
    top: 50%;
    left: -5%;
    display: block;
    transform: translate(0, -50%);
  }
}

.aboutList li a .textWrap{
    position: absolute;
    bottom: 20px;
    right: 30px;
    background: #fff;
    padding: 20px;
    width: 220px;
    text-align: right;
    transition: 0.4s;
    font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
@media (max-width: 820px) {
  .aboutList li a .textWrap{
    width: 80%;
    max-width: 220px;
  }
}

.aboutList li a .textWrap p{
  font-size:clamp(16px, 2vw, 20px);
}
.aboutList li a .textWrap span{
  font-size: 10px;
}
.aboutList li a:hover{
  opacity: 1;
}
.aboutList li a:hover .textWrap{
  background: #3b5e92;
  color: #fff;
}
/*aboutDetail*/
.branch .introtext{
  width: 80%;
  max-width: 700px;
  padding: 7.333333333333332vw 0;
  margin: 0 auto;
}
.branch .aboutList li {
    width: 100%;
    max-height: 360px;
    overflow: hidden;
}
.branch .aboutList li a{
  height: 100%;
  max-height: 360px;
  overflow: hidden;
}
@media (max-width: 820px) {
  .branch .aboutList li a{
    height: 200px;
  }
}
.branch .aboutList li figure{
  width: 60%;
}
.branch .aboutList li figure img{
  width: 100%;
  height: auto;
}
.branch .aboutList li a .textWrap{
  width: 480px;
  max-width: 80%;
  padding-top: 40px;
}
.branch .aboutList li a .textWrap p{
  font-size:clamp(24px, 4vw, 40px);
}
.branch .aboutList li a .textWrap span{
  font-size:clamp(18px, 3vw, 20px);
}

.aboutGallery .slider{
    margin-top: 7.333333333333332vw;
    margin-bottom: 30px;
}
.aboutGallery .slider .slick-prev{
  left: 5px;
  z-index: 1000;
}
.aboutGallery .slider .slick-prev:before{
  width:40px;
  height: 40px;
  display: block;
  background: url(img/common/icn_prev.svg) no-repeat center;
  background-size: 40px;
  content:"";
}
.aboutGallery .slick-prev,
.aboutGallery .slick-next {
  width: 40px;
  height: 40px;
}
.aboutGallery .slider .slick-next{
  right: 5px;
  z-index: 1000;
}
.aboutGallery .slider .slick-next:before{
  content:"";
  width:40px;
  height: 40px;
  display: block;
  background: url(img/common/icn_next.svg) no-repeat center;
  background-size: 40px;
}

.aboutGallery .thumbnail{
  margin-bottom: 7.333333333333332vw;
}
.aboutGallery .thumbnail .slick-slide{
    aspect-ratio: 27 / 17.5;
    width: calc(100% / 4) !important;
    transition: 0.4s;
    opacity: 0.3;
    overflow: hidden;
}
.aboutGallery .thumbnail .slick-slide.slick-current{
  opacity: 1;
}
.aboutGallery .thumbnail .slick-slide:hover{
  opacity: 0.6;
  cursor: pointer;
}
.aboutGallery .thumbnail .slick-track{
  width: 100% !important;
  transform: translate3d( 0, 0px, 0px) !important;
}
.aboutProfile{
  margin-bottom: 7.333333333333332vw;
}
.aboutProfile .inner dl{
    width: 80%;
    max-width: 700px;
    margin: 0 auto;
    display: flex;
    gap: 50px;
    margin-bottom: 50px;
}
.aboutProfile .inner dl dt{
    font-weight: normal;
    width: 15%;
}
@media (max-width: 820px) {
  .aboutProfile .inner dl{
      flex-direction: column;
      gap: 5px;
  }
  .aboutProfile .inner dl dt{
    width: 100%;
    font-weight: 500;
  }
}

#aboutGmap{
  width: 100%;
}
#aboutGmap iframe{
  width: 100%;
}

/*group*/
.groupCompanyBox{
  margin-bottom: 7.333333333333332vw;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

}
.groupCompanyBox h3{
    width: 60%;
    background: #efefef;
    padding: 10px 0 10px 10%;
    font-size:clamp(18px, 3vw, 20px);
}
@media (max-width: 820px) {
  .groupCompanyBox h3{
      width: 80%;
  }
}
.groupCompanyBox .inner{
  width: 80%;
  margin: 0 auto;
  max-width: 700px;
}
.groupCompanyBox .inner figure{
  display: block;
  text-align: center;
  margin-bottom: 4vw;
}

.groupCompanyBox .inner dl{
  display: flex;
  flex-wrap:wrap;
  gap: 20px;
  margin-bottom: 30px;
 }

 .groupCompanyBox .inner dl dt{
   width: 20%;
 }
 .groupCompanyBox .inner dl dd{
   flex: 1;
 }
 .groupCompanyBox .inner dl dd a{
   text-decoration: underline;
 }

 @media (max-width: 820px) {
   .groupCompanyBox .inner dl{
     flex-direction: column;
     gap: 5px;
    }

    .groupCompanyBox .inner dl dt{
      width: 100%;
    }
 }

/*recruit*/
.recruit .staffVoiceBox{
  margin-bottom: 8vw;
}

.recruit .staffVoiceBox .staffImage{
  width: 50%;
  max-width: 500px;
  position: relative;
  padding-bottom: 20px;
}
@media (max-width: 820px) {
  .recruit .staffVoiceBox .staffImage{
    width: 90%;
    max-width: 700px;
    margin: 0 auto;
  }
}

.recruit .staffVoiceBox .staffImage .profile{
  background: #3b5e92;
  color: #fff;
  line-height: 1.4;
  padding: 10px;
  width: auto;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 80%;
  max-width: 320px;
  min-height: 90px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
.recruit .staffMessage{
  background: #efefef;
  width: 50%;
  max-width: 500px;
  float: right;
  margin-top: -90px;
}
@media (max-width: 820px) {
  .recruit .staffVoiceBox .staffImage .profile{
    font-weight: 500;
    font-size:14px;
  }
  .recruit .staffMessage{
    float: none;
    width: 90%;
    max-width: 700px;
    margin: 10px auto 20px;
  }
}

.recruit .staffMessage dt{
  padding: 20px;
  font-size: 18px;
  position: relative;
  padding-right: 7.333333333333332vw;
}
@media (max-width: 820px) {
  .recruit .staffMessage dt{
    padding-right: 13vw;
    font-size: 16px;
  }
}
.recruit .staffMessage dt:after{
  text-align: center;
  content: "+";
  display: block;
  background: #595757;
  width: 40px;
  height: 40px;
  color: #fff;
  line-height: 43px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  cursor: pointer;
}
.recruit .staffMessage dt.open:after{
  content: "-";
}
.recruit .staffMessage dd{
  padding: 20px;
  display: none;
  font-size: 14px;
}
.recruit .staffMessage dd.open{
  z-index: 500;
}

@media (max-width: 820px) {
  .recruit .staffMessage dt:after{
    width: 30px;
    height: 30px;
    line-height: 33px;
  }
}

.recruit .recruitInfo{
  font-size: 14px;
  margin: 0 auto;
  width: 100%;
  max-width: 700px;
}
.recruit .recruitInfo p{
  margin-bottom: 40px;
}
.recruit .recruitInfo dl{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}
@media (max-width: 820px) {
  .recruit .recruitInfo dl{
    display: block;
    margin-bottom: 20px;
  }
}
.recruit .recruitInfo dl dt{
  width: 20%;
  max-width: 150px;
  font-weight: normal;
}
@media (max-width: 820px) {
  .recruit .recruitInfo dl dt{
    margin-bottom: 10px;
    font-weight: 500;
  }
}
.recruit .recruitInfo dl dd{
  flex: 1;
}
.recruit .recruitInfo dl dd a{
  text-decoration: underline;
}


#wrapper section .inner.contactForm{
  width: 80%;
  max-width: 700px;
  padding:  0;
  margin: 0 auto;
}
#wrapper section .inner.contactForm .intro{
  margin-bottom: 7.333333333333332vw;
}

#wrapper section .inner.contactForm dl{
  margin-bottom: 50px;
}
#wrapper section .inner.contactForm dl input,
#wrapper section .inner.contactForm dl textarea,
#wrapper section .inner.contactForm dl select{
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    border: 1px solid #595757;
    background: #efefef;
    padding: 15px;
}
#wrapper section .inner.contactForm dl .selectWrap .wpcf7-form-control-wrap{
  position: relative;
}
#wrapper section .inner.contactForm dl .selectWrap .wpcf7-form-control-wrap:after{
  content: "";
   display: block;
   position: absolute;
   right: 10px;
   top: 50%;
   margin-top: -4px;
   width: 8px;
   height: 8px;
   border-top: 2px solid #595757;
   border-right: 2px solid #595757;
   transform: rotate(135deg);
}


#wrapper section .inner.contactForm dl input[type=checkbox]{
  width: auto;
  padding: 0 10px 0 0;
-webkit-appearance: auto;
appearance: auto;
}

#wrapper section .inner.contactForm dl dt{
  margin-bottom: 20px;
}
#wrapper section .inner.contactForm dl dd{
  margin: 0;
}
#wrapper section .inner.contactForm dl.consent{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
#wrapper section .inner.contactForm dl.consent a{
  text-decoration: underline;
}
#wrapper section .inner.contactForm dl.consent p{
  margin-bottom: 20px;
}

#wrapper section .inner.contactForm input[type=submit]{
  width: 50%;
  max-width: 300px;
  padding: 15px;
  background: #3b5e92;
  border: 0;
  color: #fff;
  text-align: center;
  display: block;
  margin: 0 auto;
  cursor: pointer;
  transition: 0.4s;
}
#wrapper section .inner.contactForm input[type=submit]:hover{
  opacity: 0.8;
}
#wrapper section .inner.contactForm input[type=submit]:disabled{
  cursor: not-allowed;
  opacity: 0.8;
}

#wrapper section .inner.privacypolicy{
  width: 80%;
  max-width: 700px;
  padding:  0;
  margin: 0 auto;
}
#wrapper section .inner.privacypolicy p{
    margin-bottom: 2vw;
    line-height: 1.8;
}

/*gnavi*/
#gnaviBtn{
    position: fixed;
    top: 20px;
    right: 20px;
    width: 100px;
    height: 100px;
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    z-index: 1005;
    cursor: pointer;
}
@media (max-width: 820px) {
  #gnaviBtn{
      top: 0px;
      right: 0px;
      width: 80px;
      height: 80px;
  }
}


#gnaviBtn .wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding-top: 15px;
}
#gnaviBtn span{
  width: 100%;;
  height: 2px;
  background: #595757;
  display: block;
  position: relative;
}
#gnaviBtn span:before,
#gnaviBtn span:after{
  content: "";
  display: block;
  width: 100%;;
  height: 2px;
  background: #595757;
}
#gnaviBtn span:before{
  position: relative;
  top: -10px;
}
#gnaviBtn span:after{
  position: relative;
  bottom: -10px;
}
#gnaviBtn.active span{
  background:#fff;
}
#gnaviBtn.active span:before{
  top: -3px;
  transform: rotate(-25deg);
}
#gnaviBtn.active span:after{
  bottom: 5px;
  transform: rotate(25deg);
}


#gnaviBtn strong{
  display: inline-block;
  margin-top: 20px;
}
#gnaviBtn strong:after{
  content:"MENU";
  display: inline;
}
#gnaviBtn.active strong:after{
  content:"CLOSE";
  display: inline;
}
#gnavi{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: #3b5e92;
}

#gnavi .gnaviWrap{
  opacity: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  overflow: auto;
  transition: 0.4s;
}
#gnavi.active .gnaviWrap{
  opacity: 1;
}
#gnavi .inner{
  width: 80%;
  max-width: 360px;
  margin: 0 auto;
}
#gnavi .inner ul{
    margin-bottom: 10px;
}
#gnavi a img{
  display: block;
  margin-bottom: 20px;
  max-width: 100px;
  width: 12vw;
  height: auto;
}

#gnavi ul.archives{
  margin-top: 20px;
}
#gnavi ul li a{
  font-size:clamp(24px, 4vw, 40px);
  color: #fff;
}

#gnavi ul li a:hover{
  color: #3b5e92;
  background: #fff;
  opacity: 1;
}

#gnavi ul li.sub ul{
  text-align: right;
}
@media (max-width: 820px) {
  #gnavi ul li.sub ul{
    text-align: left;
    padding-left: 30px;
    font-size: 20px;
  }
}


/*footer*/
#footer{
  margin-top: 12vw;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#footer .ft_contact{
  background: #efefef;
  padding: 7.333333333333332vw 0;
}
#footer .ft_contact .inner{
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer .ft_contact .title{
  width: 100%;
  max-width: 500px;
}
@media (max-width: 820px) {
  #footer .ft_contact .title{
    max-width: 360px;
  }
}
@media (max-width: 760px) {
  #footer .ft_contact .title{
    max-width: 100%;
    margin-bottom: 20px;
  }
}
#footer .ft_contact .title dl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#footer .ft_contact .title dl dt{
  font-size:clamp(24px, 4vw, 40px);
  text-align: center;
  margin-bottom: 40px;
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#footer .ft_contact .btnWrap{
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
@media (max-width: 820px) {
  #footer .ft_contact .btnWrap{
    max-width: 360px;
  }
}
@media (max-width: 760px) {
  #footer .ft_contact .btnWrap{
    max-width: 100%;
  }
}


#footer .ft_contact .btnWrap a{
  text-decoration: none;
  height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 86%;
  max-width: 400px;
  background: #595757;
  color: #fff;
  padding: 20px 0;
  position: relative;
}
#footer .ft_contact .btnWrap a .btn strong{
  font-size:clamp(18px, 3vw, 20px);
  text-align: center;
  display: block;
}
#footer .ft_contact .btnWrap a .btn span{
  font-size: 12px;
}
#footer .ft_contact .btnWrap a .btn.telNum:before{
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    background: url(img/common/icn_tel.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    left: 20px;
    top: 50%;
    margin-top: -20px;
}

#footer .ft_contact .btnWrap a .btn.contact:before{
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    background: url(img/common/icn_mail.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    left: 20px;
    top: 50%;
    margin-top: -20px;
}

@media (max-width: 760px) {
  #footer .ft_contact .btnWrap a .btn.telNum:before{
    width: 30px;
    height: 30px;
    left: 15px;
    margin-top: -15px;
  }

  #footer .ft_contact .btnWrap a .btn.contact:before{
      width: 30px;
      height: 30px;
      left: 15px;
      margin-top: -15px;
  }
}


#footer .ft_contact .btnWrap a .btn.contact:after{
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    background: url(img/common/icn_arrow_w.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -12px;
}

@media (max-width: 760px) {
  #footer .ft_contact .btnWrap a .btn.contact:after{
      width: 20px;
      height: 20px;
      right: 15px;
      margin-top: -10px;
  }
}

#footer .ft_recruit{
  background: #3b5e92;
  color: #fff;
  padding: 7.333333333333332vw 0;
}
#footer .ft_recruit .inner{
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer .ft_recruit .title{
  width: 100%;
  max-width: 500px;
}

@media (max-width: 820px) {
  #footer .ft_recruit .title{
    max-width: 360px;
  }
}
@media (max-width: 760px) {
  #footer .ft_recruit .title{
    max-width: 100%;
    margin-bottom: 20px;
  }
}
#footer .ft_recruit .title dl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#footer .ft_recruit .title dl dt{
  font-size:clamp(24px, 4vw, 40px);
  text-align: center;
  margin-bottom: 40px;
  font-family: "ocr-a-std", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#footer .ft_recruit .btnWrap{
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
@media (max-width: 820px) {
  #footer .ft_recruit .btnWrap{
    max-width: 360px;
  }
}
@media (max-width: 760px) {
  #footer .ft_recruit .btnWrap{
    max-width: 100%;
    margin-bottom: 20px;
  }
}
#footer .ft_recruit .btnWrap a{
  height: 94px;
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 400px;
  background: #fff;
  color: #3b5e92;
  padding: 20px 0;
}
#footer .ft_recruit .btnWrap a .btn strong{
  font-size:clamp(18px, 3vw, 20px);
  text-align: center;
  display: block;
}
#footer .ft_recruit .btnWrap a .btn span{
  font-size: 12px;
}
#footer .ft_recruit .btnWrap a .btn.recruit:before{
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    background: url(img/common/icn_recruit.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    left: 20px;
    top: 50%;
    margin-top: -20px;
}
#footer .ft_recruit .btnWrap a .btn.recruit:after{
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    background: url(img/common/icn_arrow.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -12px;
}
@media (max-width: 760px) {
  #footer .ft_recruit .btnWrap a .btn.recruit:before{
      width: 30px;
      height: 30px;
      left: 15px;
      margin-top: -15px;
  }
  #footer .ft_recruit .btnWrap a .btn.recruit:after{
      width: 20px;
      height: 20px;
      right: 15px;
      margin-top: -10px;
  }
}

#footer .ft_sitemap {
  padding: 7.333333333333332vw 0;
}
#footer .ft_sitemap .inner{
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

@media (max-width: 760px) {
  #footer .ft_sitemap .inner{
    flex-direction: column;
    justify-content: flex-start;
  }
}
#footer .ft_sitemap .inner ul{
  font-size: 12px;
  text-align: center;
}
#footer .ft_sitemap .inner ul li{
  margin-bottom: 15px;
}
@media (max-width: 760px) {
  #footer .ft_sitemap .inner ul li{
    margin-bottom: 5px;
    text-align: left;
    padding: 0 30px 0 40px;
  }
}
#footer .ft_sitemap .inner ul li:first-of-type{
  margin-bottom: 50px;
  padding: 0 20px;
  border-left: 1px solid #000;
}
@media (max-width: 760px) {
  #footer .ft_sitemap .inner ul li:first-of-type{
    margin-bottom: 0;
    padding: 10px 30px;
    border-left: none;
    border-top: 1px solid #000;
    text-align: left;
    font-weight: 500;
    font-size: 15px;
  }
  #footer .ft_sitemap .inner ul li.instagram{
    border-top: 1px solid #000;
    text-align: center;
    padding: 20px 0;
  }
}

#footer .ft_sitemap .inner ul:first-of-type li:first-of-type{
  border: 0;
}

#footer .ft_sitemap .inner ul li.instagram img{
    width: 40px;
    height: auto;
}

#footer .ft_address{
  padding: 7.333333333333332vw 0;
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#footer .ft_address dl{
  font-size: 12px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 50px;
}
@media (max-width: 760px) {
  #footer .ft_address dl{
    gap: 20px;
  }
}
#footer .ft_address dl dt img{
  width: 250px;
  height: auto;
}
#footer .ft_address dl dd{
  line-height: 1.8;
}

#footer #copyright{
    text-align: center;
    padding: 50px 0;
}
#footer #copyright p.text{
  font-size: 12px;
  letter-spacing: 0.1em;
  padding: 50px 0;
  text-align: center;
}
@media (max-width: 760px) {
  #footer #copyright{
      padding: 20px 0;
  }
}
#footer #copyright img{
  width: 150px;
  height: auto;
}

/*MOD*/
.taL{
  text-align: left !important;
}
.mt100{
  margin-top: 7.333333333333332vw !important;
}
.mb100{
  margin-bottom: 7.333333333333332vw !important;
}
