@charset "utf-8";

:root{
  --default-font:'IBM Plex Sans JP', sans-serif;
  --eng-font:'Open Sans', sans-serif;
  --serif-font:'游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
	--google-icon:'Material Symbols Outlined';
	--bootstrap:'bootstrap-icons';
  --main-color:rgb(30, 115, 178);
  --key-color:rgb(145, 205, 43);
  --key-color02:#639a07;
  --link-color:#1a73e8;
  --base-color:#111;
  --base-light-color:#666;
  --normal:400;
  --bold:600;
}

header{
  box-sizing:border-box;
  width:100%; height:60px;
  background:#fff;
  padding:0 0 0 4%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:fixed;
  top:0; left:0; z-index:100;
  transition:0.2s;
}
.scrolling header{
  height:60px;
}
header > #logo{
  width:120px;
  transition:0.2s;
}
.scrolling header > #logo{
  width:120px;
}
header #global-nav{
  display:none;
}
header > nav > .button-recruit{
  box-sizing:border-box;
  background:var(--key-color02);
  position:absolute;
  top:50%; right:60px;
  transform:translateY(-50%);
}
header > nav > .button-recruit > a{
  display:block;
  text-decoration:none;
  font-size:0.8rem; line-height:1.8;
  font-weight:var(--bold);
  color:#fff;
  padding:0 1.0rem;
  transition:0.2s;
}

#index-billboard{
/*
  width:100%; height:100vh;
*/
  width:100%; height:auto;
  aspect-ratio:16/18;
  overflow:hidden;
  position:relative;
}
#index-billboard::before{
  content:"";
  width:100%; height:100%;
  background:rgba(0,0,0,0.4);
  position:absolute;
  top:0; left:0; z-index:1;
}
#index-billboard > video{
  width:200%; height:200%;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
#index-billboard > iframe{
  width:200%; height:200%;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
#index-billboard > figure{
  width:100%; height:100%;
  position:absolute;
  top:0; left:0;
  overflow:hidden;
}
#index-billboard > figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:transform 0.8s ease-out, filter 0.8s ease-out;
  transform:scale(1.3);
  filter:blur(2px);
}
#index-billboard.view > figure > img{
  transform:scale(1.0);
  filter:blur(0);
}
#index-billboard > #billboard-text{
  position:absolute;
  bottom:0; left:6%; z-index:10;
  transform:translateY(-120%);
  transform:translateY(-30%);
  text-align:left;
}
#billboard-text > h2{
  font-size:6.6vw; line-height:1.6;
  letter-spacing:0.1em;
  color:#fff;
}
#billboard-text > h2 > .eng{
  display:block;
  font-size:0.6em; line-height:1.6; font-weight:var(--normal);
  letter-spacing:0.1em;
  position:relative;
}
#billboard-text > h2 > .eng::after{
  content:"";
  width:calc(100% - 12.0em); height:1px;
  background:#fff;
  position:absolute;
  top:51%; right:0.5em;
}

#index-news{
  box-sizing:border-box;
  width:100%;
  padding:5.0rem 6%;
  position:relative;
}
#index-news::before,
#index-news::after{
  content:"";
  width:40%; height:auto;
  aspect-ratio:16/9;
  position:absolute;
  background:rgba(30, 115, 178,0.04);
}
#index-news::before{
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  top:0; left:0;
}
#index-news::after{
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  bottom:0; right:0;
}
#page-container #index-news{
  padding:0;
  margin-top:3.0rem;
}
#page-container #index-news::before,
#page-container #index-news::after{
  display:none;
}

#index-news > .index-news-box{
  box-sizing:border-box;
  width:100%;
  position:relative;
  z-index:1;
}
.index-news-box > .title{
  text-align:left;
  display:flex;
  justify-content:space-between;
  margin-bottom:1.0rem;
}
.index-news-box > .title > h2{
  font-size:1.4rem; line-height:1.6;
  letter-spacing:0.1em;
  color:var(--main-color);
}
.index-news-box > .title > h2 > .eng{
  display:block;
  font-size:0.65em; line-height:1.4; font-weight:var(--normal);
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.index-news-box > .title > .more{
  display:inline-block;
  margin-top:2.0rem;
}
.index-news-box > .title > .more > a{
  display:block;
  text-decoration:none;
  font-size:0.85rem; line-height:1.8;
  color:var(--base-color);
  position:relative;
  padding-right:2.0em;
}
.index-news-box > .title > .more > a:hover{
  color:var(--main-color);
}
.index-news-box > .title > .more > a::after{
  content:"";
  width:1.8em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_circle.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0%;
  transform:translate(0, -50%);
  transition:0.2s;
}
.index-news-box > .title > .more > a:hover::after{
  background-image:url(../../img/common/arrow_circle_blue.svg);
  transform:translate(120%, -50%) scale(1.1);
}

.index-news-box > .text-box{
  flex:1;
  text-align:left;
}
#index-news ul.news-menu{
  display:flex;
  justify-content:space-between;
  gap:0 0.1rem;
  margin-bottom:1.5rem;
}
#index-news ul.news-menu > li{
  width:100%;
  background:rgba(145,205,43,0.15);
  font-size:0.7rem; line-height:2.4;
  text-align:center;
  position:relative;
  cursor:pointer;
}
#index-news ul.news-menu > li.active{
  background:rgba(145,205,43,1);
  color:#fff;
}
#index-news ul.news-menu > li.active::after{
  content:"";
  width:1.2rem; height:auto;
  aspect-ratio:3/1;
  clip-path:polygon(0 0, 50% 100%, 100% 0);
  background:rgba(145,205,43,1);
  position:absolute;
  bottom:0; left:50%;
  transform:translate(-50%,95%);
}
.tab-contents{
  display:none;
}
.tab-contents.active{
  display:block;
}
ul.news-list > li:not(:last-child){
  padding-bottom:1.0rem;
  margin-bottom:1.0rem;
  border-bottom:1px dashed #ccc;
}
ul.news-list > li > a{
  display:flex;
  align-items:flex-start;
  flex-wrap:wrap;
  text-decoration:none;
  color:var(--base-light-color);
}
ul.news-list > li > a > .entry-date{
  font-size:0.85em;
  margin-right:1.25rem;
}
ul.news-list > li > a > .entry-category{
  width:10.0em;
  font-size:0.7em;
  text-align:center;
  border:1px solid #ccc;
  margin-right:1.0rem;
}
ul.news-list > li > a > .entry-title{
  width:100%;
  font-weight:var(--bold);
  color:var(--link-color);
  margin-top:0.1rem;
}
ul.news-list > li > a:hover > .entry-title{
  text-decoration:underline;
}

#index-company{
  box-sizing:border-box;
  width:100%;
  padding:0 0 5.0rem;
  background:rgba(30,115,178,0.07);
}
#index-company > #company-info{
  box-sizing:border-box;
  width:100%;
  padding:4.0rem 6%;
  margin-bottom:4.0rem;
  background:var(--main-color);
  position:relative;
}
#company-info::before{
  content:"";
  width:46%; height:auto;
  aspect-ratio:561/366;
  background-image:url(../../img/index/company_bg.png);
  background-repeat:no-repeat;
  background-position:top right;
  background-size:contain;
  position:absolute;
  top:0; right:0;
  filter:opacity(20%);
  mix-blend-mode:screen;
}
#company-info > .company-description{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:left;
  margin-bottom:4.0rem;
}
#index-company .title{
  text-align:left;
  display:flex;
  justify-content:space-between;
  margin-bottom:1.0rem;
}
#index-company .title > h2{
  font-size:1.4rem; line-height:1.6;
  letter-spacing:0.1em;
  color:#fff;
}
#index-company .title > h2 > .eng{
  display:block;
  font-size:0.65em; line-height:1.4; font-weight:var(--normal);
  letter-spacing:0.1em;
  text-transform:uppercase;
}
#index-company .title > .more{
  display:inline-block;
  margin-top:2.0rem;
}
#index-company .title > .more > a{
  display:block;
  text-decoration:none;
  font-size:0.85rem; line-height:1.8;
  color:#fff;
  position:relative;
  padding-right:2.0em;
}
#index-company .title > .more > a:hover{
  text-decoration:underline;
}
#index-company .title > .more > a::after{
  content:"";
  width:1.8em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_circle_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0;
  transform:translate(0, -50%);
  transition:0.2s;
}
#index-company .title > .more > a:hover::after{
  transform:translate(120%, -50%) scale(1.1);
}

.company-description > .text-box{
  flex:1;
}
.company-description > .text-box > h3{
  font-size:1.2rem; line-height:1.8;
  color:#fff;
  letter-spacing:0.1em;
  margin-bottom:0.5em;
}
.company-description > .text-box > p{
  line-height:2.0;
  color:#fff;
}
#index-company ul.company-info-list{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:3.5rem 0;
}
ul.company-info-list > li{
}
ul.company-info-list > li > a{
  display:block;
  text-decoration:none;
  color:#fff;
  text-align:left;
}
ul.company-info-list > li > a > .thumbnail{
  width:100%; height:auto;
  aspect-ratio:970/520;
  position:relative;
}
ul.company-info-list > li > a figure{
  width:100%; height:100%;
  margin:0;
  overflow:hidden;
}
ul.company-info-list > li > a figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s;
}
ul.company-info-list > li > a:hover figure > img{
  transform:scale(1.03);
}
ul.company-info-list > li > a figure{
  width:100%; height:auto;
  aspect-ratio:970/520;
  overflow:hidden;
}
ul.company-info-list > li > a figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s;
}
ul.company-info-list > li > a:hover figure > img{
  transform:scale(1.03);
}
ul.company-info-list > li > a figcaption{
  position:absolute;
  top:0; right:0;
  writing-mode:vertical-rl;
  transform:translate(-0.75rem, -1.0rem);
  font-size:0.9rem; line-height:1.8;
  white-space:nowrap;
}
ul.company-info-list > li > a figcaption > span{
  background:var(--main-color);
  padding:0.5em 0.25em;
}
ul.company-info-list > li > a .text-box{
  padding:1.0rem 0;
  border-bottom:1px solid #fff;
  position:relative;
}
ul.company-info-list > li > a .text-box::after{
  content:"";
  width:36px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_circle_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0;
  transform:translate(0, -50%);
  transition:0.2s;
}
ul.company-info-list > li > a:hover .text-box::after{
  transform:translate(0, -50%) scale(1.1);
}
ul.company-info-list > li > a h3{
  font-size:1.1rem; line-height:1.6;
  letter-spacing:0.1em;
  color:#fff;
}
ul.company-info-list > li > a h3 > .eng{
  display:block;
  font-size:0.6em; line-height:1.4; font-weight:var(--normal);
  letter-spacing:0.1em;
}
.index-service-box{
  box-sizing:border-box;
  width:100%;
  padding:0 5px;
}
ul.index-service{
}
ul.index-service li{
}
ul.index-service .slick-slide{
  margin:0 5px;
}
ul.index-service li > a{
  display:block;
  text-decoration:none;
  cursor:pointer;
}
ul.index-service li > a > figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:750/560;
  margin:0;
  overflow:hidden;
}
ul.index-service li > a > figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s;
}
ul.index-service li > a:hover > figure > img{
  transform:scale(1.03);
}
ul.index-service li > a > figure.dummy{
  padding:3.0rem 15%;
  background:#fff;
}
ul.index-service li > a > figure.dummy > img{
  object-fit:contain;
  transition:0;
}
ul.index-service li > a:hover > figure.dummy > img{
  transform:scale(1);
}
ul.index-service li > a > .text-box{
  font-size:0.9rem; line-height:1.8; font-weight:var(--bold);
  color:var(--base-color);
  padding:0.4rem 0.8rem;
  text-align:left;
  color:#fff;
  background:var(--key-color);
  position:relative;
  transition:0.2s;
}
ul.index-service li > a:hover > .text-box{
  color:#fff;
  background:var(--key-color);
}
/*
ul.index-service li > a > .text-box::after{
  content:"";
  width:18px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_blue.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0.5rem;
  transform:translate(0, -50%);
  transition:0.2s;
}
ul.index-service li > a:hover > .text-box::after{
  background-image:url(../../img/common/arrow_white.svg);
  transform:translate(50%, -50%);
}
*/
.index-service-box .slick-container .slick-dots{
  bottom:-40px;
}
.index-service-box .slick-container .slick-dots > li button::before{
  background:var(--main-color);
}
#index-service-movie{
  box-sizing:border-box;
  width:100%;
  padding:5.0rem 6% 0;
  text-align:left;
}
#index-service-movie > h3{
  text-align:left;
  margin-bottom:0.5rem;
  display:flex;
  flex-direction:row-reverse;
  justify-content:space-between;
  align-items:baseline;
}
#index-service-movie > h3 > .eng{
  font-family:var(--eng-font);
  font-size:0.8rem; font-weight:var(--normal);
}
#index-service-movie > h3 > .jp{
  display:block;
  font-size:1.1rem;
}
#index-service-movie figure{
  width:100%; height:auto;
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  position:relative;
}
#index-service-movie figure > iframe{
  width:100%; height:100%;
}
/*
#index-service-movie figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
#index-service-movie figure::after{
  font-family:var(--google-icon);
  content:"\e1c4";
  font-size:4.0rem; line-height:1;
  color:#fff;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
*/

#index-recruit{
  box-sizing:border-box;
  width:100%;
  padding:200px 0;
  position:relative;
}
#index-recruit::before{
  content:"";
  width:100%; height:200px;
  background-image:url(../../img/index/recruit_billboard01.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:absolute;
  top:0; left:0;
}
#index-recruit::after{
  content:"";
  width:100%; height:200px;
  background-image:url(../../img/index/recruit_billboard02.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:absolute;
  bottom:0; right:0;
}
#index-recruit > #recruit-title{
  position:absolute;
  top:100px; left:50%;
  transform:translate(-50%,-50%);
  z-index:10;
}
#recruit-title > h2{
  line-height:1;
}
#recruit-title > h2 > .jp{
  display:inline-block;
  font-size:1.4rem; line-height:1.4;
  letter-spacing:0.1em;
/*
  color:var(--base-color);
  background:#fff;
*/
padding:0 0.4em;
color:#fff;
text-shadow:2px 2px 4px var(--base-color);
}
#recruit-title > h2 > .eng{
  display:inline-block;
  font-size:0.65em; line-height:1.6; font-weight:var(--normal);
  color:#fff;
  text-shadow:1px 1px 2px var(--base-color);
  letter-spacing:0.1em;
  text-transform:uppercase;
  white-space:nowrap;
/*
  background:var(--key-color);
  margin-bottom:0.6em;
*/
  padding:0 0.75em;
}

#recruit-info{
  box-sizing:border-box;
  width:100%;
  padding:2.0rem 6%;
  background:var(--main-color);
}
#recruit-info > .text-box{
  flex:1;
  color:#fff;
  text-align:left;
}
#recruit-info > .text-box > h3{
  font-size:1.2rem; line-height:1.6;
  margin-bottom:0.5em;
}
#recruit-info > .text-box > p{
  line-height:2.0;
  margin-bottom:1.5em;
}
#recruit-info ul.recruit-button{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  gap:0.5rem 0;
  margin-bottom:2.5rem;
}
#recruit-info ul.recruit-button li{
  width:100%;
}
#recruit-info ul.recruit-button li a{
  display:block;
  text-decoration:none;
  font-size:0.95rem; line-height:1;
  color:#fff;
  border:1px solid #fff;
  padding:1.6em 1.5em;
  position:relative;
}
#recruit-info ul.recruit-button li a::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:1.25em;
  transform:translate(0,-50%);
  transition:0.2s;
}
#recruit-info ul.recruit-button li a:hover::after{
  transform:translate(50%,-50%);
}
#recruit-info > ul.photo{
  display:flex;
  justify-content:space-between;
  gap:0 0.5rem;
  position:relative;
}
#recruit-info > ul.photo li{
  width:100%;
}
#recruit-info > ul.photo li:last-child{
  margin-top:-1.0rem;
}
#recruit-movie{
  box-sizing:border-box;
  width:100%;
  padding:3.0rem calc((100% - 1200px) / 2) 7.0rem;
  background:var(--main-color);
  text-align:left;
}
#recruit-movie > h3{
  display:flex;
  align-items:baseline;
  gap:0 0.5rem;
  color:#fff;
  text-align:left;
  margin-bottom:1.5rem;
}
#recruit-movie > h3 > .eng{
  font-size:1.25rem;
}
#recruit-movie > h3 > .jp{
  font-size:1.1rem;
}
#recruit-movie figure{
  width:100%; height:auto;
  aspect-ratio:16/9;
  margin:0;
  overflow:hidden;
  position:relative;
}
#recruit-movie figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
#recruit-movie figure::after{
  font-family:var(--google-icon);
  content:"\e1c4";
  font-size:10.0rem; line-height:1;
  color:#fff;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}
ul.recruit-cta{
  display:flex;
  justify-content:space-between;
}
ul.recruit-cta > li{
  width:49.9%;
  background:var(--key-color);
}
ul.recruit-cta > li:last-child{
  display:none;
}
ul.recruit-cta > li > a{
  display:block;
  text-decoration:none;
  color:#fff;
  padding:1.5rem 5%;
}
ul.recruit-cta > li > a > h3{
  font-size:1.1rem; line-height:1.8;
  letter-spacing:0.1em;
}
ul.recruit-cta > li > a > h3 > .eng{
  display:block;
  font-size:0.7rem; line-height:1.6; font-weight:var(--normal);
  text-transform:uppercase;
}
ul.recruit-cta > li > a > h3::after{
  content:"";
  width:36px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_circle_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  display:block;
  margin:0.5rem auto 0;
  transition:0.2s;
}
ul.recruit-cta > li > a:hover > h3::after{
  transform:scale(1.15);
}

footer{
  box-sizing:border-box;
  width:100%;
  padding:1.5rem 6%;
  background:#f7f7f7;
}
footer > #footer-contact{
  box-sizing:border-box;
  background:#fff;
  box-shadow:4px 4px 0 rgba(145,205,43,0.2);
  text-align:center;
  padding:1.0rem 0 1.5rem;
  position:relative;
}
#footer-contact .tel > a{
  display:block;
  text-decoration:none;
  font-family:var(--eng-font);
  font-size:1.8rem; line-height:1.4; font-weight:var(--bold);
  color:var(--key-color);
  pointer-events:none;
}
#footer-contact .tel > a::before{
  font-family:var(--bootstrap);
  content:"\F5B4";
  font-size:0.7em;
  display:inline-block;
  margin-right:0.2em;
}
#footer-contact .tel > span{
  display:block;
  font-size:0.8em; line-height:1.4; font-weight:var(--bold);
  color:var(--base-light-color);
}
#footer-contact .form{
  margin:1.0rem 1.5rem 0.5rem;
}
#footer-contact .form > a{
  display:block;
  text-decoration:none;
  font-weight:var(--bold);
  color:#fff;
  background:var(--key-color);
  padding:0 5.0rem 0.3em;
  position:relative;
}
#footer-contact .form > a::before{
  font-family:var(--bootstrap);
  content:"\F32C";
  font-size:1.2em;
  display:inline-block;
  position:relative;
  top:0.18em;
  margin-right:0.2em;
}
#footer-contact .form > a::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:1.0em;
  transform:translate(0,-50%);
  transition:0.2s;
}
#footer-contact .form > a:hover::after{
  transform:translate(50%,-50%);
}
#footer-contact ul.footer-recruit{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:0.5rem 0;
  margin:0 1.5rem;
}
#footer-contact ul.footer-recruit > li{
  box-sizing:border-box;
  width:100%;
}
#footer-contact ul.footer-recruit > li > a{
  display:block;
  text-decoration:none;
  font-weight:var(--bold);
  color:#fff;
  background:var(--key-color);
  padding:0.4em 0;
  position:relative;
}
#footer-contact ul.footer-recruit > li > a::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:1.0em;
  transform:translate(0,-50%);
  transition:0.2s;
}
#footer-contact ul.footer-recruit > li > a:hover::after{
  transform:translate(50%,-50%);
}

footer > .text-box{
  text-align:center;
}
footer > .text-box > h3{
  margin-bottom:2.0rem;
}
footer > .text-box > h3 > figure{
  width:140px;
  margin:0 auto 0.5rem;
}
footer > .text-box > h3 > span{
  display:block;
  font-size:0.85rem; line-height:1.4; font-weight:var(--normal);
  color:var(--base-light-color);
}
nav#footer-nav{
  display:none;
}
nav#footer-nav a{
  display:block;
  text-decoration:none;
  color:var(--base-light-color);
}
nav#footer-nav a:hover{
  text-decoration:underline;
}
nav#footer-nav > ul{
  width:180px;
}
nav#footer-nav > ul > li{
  font-size:0.9rem; line-height:1.8; font-weight:var(--bold);
}
nav#footer-nav > ul > li.contact{
  display:none;
}
nav#footer-nav > ul > li > a{
  border-bottom:1px solid var(--base-light-color);
}
nav#footer-nav > ul > li > ul{
  margin:0.5rem 0 1.5rem;
}
nav#footer-nav > ul > li > ul > li{
  font-size:0.85rem; line-height:1.8; font-weight:var(--normal);
  margin-bottom:0.1rem;
}
nav#footer-nav > ul > li > ul > li > a{
  position:relative;
  padding-left:1.0rem;
}
nav#footer-nav > ul > li > ul > li > a::before{
  content:"";
  width:0.2rem; height:auto;
  aspect-ratio:1/1;
  border-radius:100%;
  background:var(--key-color);
  position:absolute;
  top:50%; left:0.2rem;
  transform:translateY(-50%);
}
nav#footer-nav > ul > li > ul > li.sub > a{
  position:relative;
  padding-left:2.0rem;
}
nav#footer-nav > ul > li > ul > li.sub > a::before{
  content:"";
  width:0.6rem; height:1px;
  background:var(--base-light-color);
  position:absolute;
  top:50%; left:1.0rem;
  transform:translateY(-50%);
}
footer ul.link{
  display:flex;
  margin-top:3.0rem;
}
footer ul.link > li{
  font-size:0.85rem; line-height:1.6;
}
footer ul.link > li > a{
  text-decoration:none;
  color:var(--base-light-color);
}
footer ul.link > li:not(:last-child)::after{
  content:"｜";
  display:inline-block;
  margin:0 0.75rem;
}
footer ul.link > li > a:hover{
  text-decoration:underline;
}

#credit{
  box-sizing:border-box;
  width:100%;
  padding:2.0rem calc((100% - 1200px) / 2);
}
#credit > ul{
  margin-bottom:0.5rem;
}
#credit > ul > li{
  font-size:0.7rem; line-height:1.8;
}
#credit > ul > li:not(:last-child)::after{
  content:"/";
  margin:0 0.5rem;
}
#credit > ul > li > a{
  text-decoration:none;
  color:var(--base-light-color);
}
#credit > ul > li > a:hover{
  text-decoration:underline;
}
#credit > #copyright{
  font-size:0.7rem; line-height:1.8;
  color:var(--base-light-color);
}

#page-title{
  margin-top:60px;
  background-color:#f7f7f7;
}
#page-title.news{
  padding:2.0rem 0;
}
#page-title > h2{
  line-height:1.0;
}
#page-title > h2 > .jp{
  display:inline-block;
  font-size:1.3rem; line-height:1.4;
  letter-spacing:0.1em;
  color:var(--main-color);
}
#page-title > h2 > .eng{
  display:inline-block;
  font-size:0.65em; line-height:1.4; font-weight:var(--normal);
  color:var(--main-color);
  letter-spacing:0.1em;
  text-transform:uppercase;
}
#page-billboard{
  margin-top:60px;
  box-sizing:border-box;
  width:100%; height:240px;
  background-color:#f7f7f7;
  overflow:hidden;
  position:relative;
  filter:contrast(120%);
}
#page-billboard.performance-single{
  height:240px;
}
#page-billboard::before{
  content:"";
  width:100%; height:100%;
  background-image:url(../../img/billboard/00.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:absolute;
  top:0; left:0;
  transform:scale(1.2);
  filter:blur(2px);
  transition:transform 0.8s ease-out, filter 0.8s ease-out;
}
#page-billboard.view::before{
  transform:scale(1.0);
  filter:blur(0);
}
#page-billboard.outline::before{
  background-image:url(../../img/billboard/22.jpg);
}
/*
#page-billboard.about::before{
  background-image:url(../../img/billboard/01.jpg);
  background-position:center bottom;
}
#page-billboard.history::before{
  background-image:url(../../img/billboard/08.jpg);
}
#page-billboard.message::before{
  background-image:url(../../img/billboard/07.jpg);
  background-position:center top;
}
#page-billboard.business::before{
  background-image:url(../../img/billboard/03.jpg);
}
#page-billboard.supervisory::before{
  background-image:url(../../img/billboard/13.jpg);
}
#page-billboard.infrastructure::before{
  background-image:url(../../img/billboard/10.jpg);
  background-position:center bottom;
}
#page-billboard.consultant::before{
  background-image:url(../../img/billboard/12.jpg);
  background-position:center bottom -50px;
}
#page-billboard.staffing::before{
  background-image:url(../../img/billboard/15.jpg);
}
#page-billboard.performance::before,
#page-billboard.performance-single::before{
  background-image:url(../../img/billboard/17.jpg);
}
*/
#page-billboard::after{
  content:"";
  width:100%; height:100%;
  background:rgba(0,0,0,0.8);
  background:rgba(30,115,178,0.3);
  position:absolute;
  top:0; left:0;
  mix-blend-mode:multiply;
}
#page-billboard > h1{
  box-sizing:border-box;
  width:100%;
  padding:0 5%;
  line-height:1.0;
  position:absolute;
  top:50%; left:0; z-index:10;
  transform:translate(0,-50%);
}
#page-billboard > h1 > .jp{
  display:inline-block;
  font-size:1.4rem; line-height:1.4;
  letter-spacing:0.1em;
/*
  color:var(--base-color);
  background:#fff;
*/
  padding:0 0.4em;
  color:#fff;
  text-shadow:2px 2px 4px var(--base-color);
}
#page-billboard > h1 > .eng{
  display:inline-block;
  font-size:0.9rem; line-height:1.6; font-weight:var(--normal);
  color:#fff;
  text-shadow:1px 1px 2px var(--base-color);
  white-space:nowrap;
/*
  background:var(--key-color);
  background:var(--main-color);
*/
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:0 0.75em;
}

#page-container{
  box-sizing:border-box;
  width:100%;
  padding:3.0rem 6%;
  position:relative;
}
#page-container.no-description{
  padding:3.0rem 0;
}
#page-container:has( > #page-description)::before,
#page-container.performance-single::before{
  content:"";
  width:80vw; height:auto;
  aspect-ratio:3/1;
  background:#f7f7f7;
  background:rgba(30,115,178,0.1);
  background:rgba(145,205,43,0.08);
  position:absolute;
  top:0; left:0;
}
#page-container.performance-single::before{
  background:rgba(30,115,178,0.05);
}

#crumb{
  box-sizing:border-box;
  width:100%;
  padding:0.3rem 6%;
  position:absolute;
  top:0; right:0;
}
#crumb > ul{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:0.2em 0;
}
#crumb > ul > li{
  font-size:0.65rem; line-height:1.8;
}
#crumb > ul > li > a{
  text-decoration:none;
  color:var(--base-light-color);
}
#crumb > ul > li > a:hover{
  text-decoration:underline;
}
#crumb > ul > li:not(:last-child)::after{
  display:inline-block;
  content:">";
  margin:0 0.2rem;
  transform:scaleX(0.6);
}
#crumb > ul > li:last-child > a{
  pointer-events:none;
}

#page-description{
  width:100%;
  text-align:left;
  margin-bottom:3.0rem;
}
#page-description:not(:has( > p)){
  margin-bottom:1.0rem;
}
#page-description > h2{
  font-size:1.6rem; line-height:1.4; font-weight:var(--normal);
  letter-spacing:0.05em;
  margin-bottom:0.75em;
}
/*
#page-description > h2 > span{
  background:linear-gradient(
    rgba(145,205,43,0) 65%,
    rgba(145,205,43,0.4) 65%,
    rgba(145,205,43,0.4) 100%
  );
}
*/
#page-description > p:not(:last-of-type){
  margin-bottom:1.5rem;
}

#page-description + main{
  text-align:left;
  background:#fff;
  position:relative;
  z-index:10;
}
#page-container.no-description #page-description + main{
  padding:1.5rem 6%;
}

section{
  width:100%;
  text-align:left;
  margin-bottom:7.0rem;
  position:relative;
  z-index:10;
}
#page-container section:last-of-type{
  margin-bottom:0;
}
section > h2,
section.service h2{
  font-size:1.25rem; line-height:1.8;
  margin-bottom:0.5em;
}
section > h2 > span,
section.service h2 > span{
  display:inline-block;
  padding-right:0.25em;
  position:relative;
}
section > h2 > span::after,
section.service h2 > span::after{
  content:"";
  width:100%; height:2px;
  background:var(--main-color);
  position:absolute;
  bottom:0; left:0;
}
section p{
  margin-bottom:1.5em;
}

ul.news-selector{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:0 0.5rem;
}
ul.news-selector > li{
  width:100%;
}

#page-container > #index-news h2{
  font-size:1.2rem; line-height:1.8;
  color:var(--main-color);
  border-bottom:1px solid var(--main-color);
  margin-bottom:1.5rem;
}

section > .cat-title > h2{
  font-size:1.05rem; line-height:1.8;
  color:var(--main-color);
  border-bottom:2px solid var(--main-color);
  margin-bottom:1.5rem;
}
article{
  width:100%;
  text-align:left;
}
article > .article-header{
  margin-bottom:2.5rem;
}
.article-header .entry-date{
  font-size:0.9rem; line-height:1.8;
  color:var(--base-light-color);
  margin-bottom:0.5em;
}
.article-header > h2{
  font-size:1.4rem; line-height:1.6;
}
article > .article-body{
  min-height:30vh;
}
article > .article-body h3{
  font-size:1.25rem; line-height:1.6;
  margin-bottom:0.5em;
}
article > .article-body h4{
  font-size:1.1rem; line-height:1.6;
  margin-bottom:0;
}
article > .article-body img{
  max-width:100%; height:auto;
  margin:0 auto !important;
}
article > .article-body ul,
article > .article-body ol{
  margin-bottom:1.5em;
}
article > .article-body ul li{
  list-style:disc outside;
  margin-left:1.25em;
}
article > .article-body ol li{
  list-style:decimal outside;
  margin-left:1.25em;
}

article > ul.article-footer{
  display:flex;
  justify-content:center;
  border-top:1px solid #ccc;
  margin-top:1.5rem;
  padding-top:1.5rem;
}
article > ul.article-footer > li{
  font-size:0.7rem; line-height:1.8;
}
article > ul.article-footer > li:not(:last-child)::after{
  content:"｜";
  margin:0 0.7em;
}
article > ul.article-footer > li > a{
  color:var(--base-light-color);
}

table.contact-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.95rem; line-height:1.8;
}
table.contact-table tr:not(:last-child){
  border-bottom:1px solid #ccc;
}
table.contact-table th,
table.contact-table td{
  display:block;
  padding:0;
  text-align:left;
  vertical-align:top;
}
table.contact-table th{
  padding-top:1.0em;
}
table.contact-table td{
  padding:0.5em 0 1.0em;
}
table.contact-table th,
table.contact-table th.hissu{
  color:var(--base-light-color) !important;
  position:relative;
  padding-left:3.5rem;
}
table.contact-table th::before{
  display:block;
  content:"任意";
  font-size:0.75rem; line-height:1.0;
  color:#fff;
  background:#ababab;
  border-radius:9999px;
  padding:0.2rem 0.5rem;
  position:absolute;
  top:1.55em; left:0;
}
table.contact-table th.hissu::before{
  display:block;
  content:"必須";
  font-size:0.75rem; line-height:1.0;
  color:#fff;
  background:#e00;
  border-radius:9999px;
  padding:0.2rem 0.5rem;
  position:absolute;
  top:1.55em; left:0;
}
table.contact-table td .flex{
  display:flex;
  align-items:center;
  gap:0 1.0em;
}
table.contact-table td .zip{
  width:40%;
}
table.contact-table td .zip-button{
}
table.contact-table td a#zip-button{
  display:block;
  text-decoration:none;
  color:#fff;
  text-align:center;
  background:var(--main-color);
  border-radius:0.25rem;
  padding:0.5em 1.0em;
  cursor:pointer;
}
table.contact-table tr:last-child td{
  text-align:center;
  padding-bottom:0;
}
table.contact-table tr td .acceptance{
  margin-bottom:1.5rem;
}
table.contact-table tr td .wpcf7-acceptance{
  margin-right:0.5rem;
}

ul.about-list{
  display:flex;
  flex-direction:column;
  gap:3.0rem 0;
}
ul.about-list > li{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
}
ul.about-list > li > figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:3/2;
  border-radius:0.5rem;
  overflow:hidden;
  margin-bottom:0;
  background:#f0f0f0;
}
ul.about-list > li > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.about-list > li > figure.dummy{
  border:1px solid #ccc;
  background:#fff;
  padding:3.0rem 20%;
}
ul.about-list > li > figure.dummy > img{
  object-fit:contain;
}
ul.about-list > li > .text-box{
  flex:1;
}
ul.about-list > li h2{
  font-size:1.1rem; line-height:1.8;
  color:var(--main-color);
  letter-spacing:0.1em;
  border-bottom:1px solid var(--main-color);
  margin:1.0em 0;
}
ul.about-list > li h3{
  font-size:1.2rem; line-height:1.8;
  margin-bottom:0.5em;
}
ul.about-list > li p{
  margin-bottom:0.5rem;
}
ul.about-list > li .more{
  display:block;
  text-align:right;
  margin-right:52px;
}
ul.about-list > li .more > a{
  display:inline-block;
  text-decoration:none;
  font-size:0.9rem; line-height:1.8;
  color:var(--base-color);
  position:relative;
}
ul.about-list > li .more > a:hover{
  color:var(--main-color);
}
ul.about-list > li .more > a::after{
  content:"";
  width:36px; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_circle.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:0;
  transform:translate(120%, -50%);
  transition:0.2s;
}
ul.about-list > li .more > a:hover::after{
  background-image:url(../../img/common/arrow_circle_blue.svg);
  transform:translate(120%, -50%) scale(1.1);
}
ul.service-list{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0.8rem 0;
  margin-top:1.0rem;
}
ul.service-list > li{
}
ul.service-list > li > a{
  display:block;
  text-decoration:none;
  font-size:0.95rem; line-height:1; font-weight:var(--bold);
  color:var(--main-color);
  border:1px solid var(--main-color);
  padding:1.6em 1.5em;
  position:relative;
  transition:0.2s;
}
ul.service-list > li > a::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_blue.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:1.25em;
  transform:translate(0,-50%);
  transition:0.2s;
}
ul.service-list > li > a:hover{
  color:#fff;
  background:var(--main-color);
}
ul.service-list > li > a:hover::after{
  background-image:url(../../img/common/arrow_white.svg);
  transform:translate(40%,-50%);
}

table.outline-table{
  width:100%;
  border-collapse:collapse;
}
table.outline-table tr:not(:last-of-type){
  border-bottom:1px solid #ccc;
}
table.outline-table tr > th{
  display:block;
  font-size:0.95rem; line-height:1.8;
  font-weight:var(--bold);
  color:var(--base-light-color);
  white-space:nowrap;
  text-align:left;
  vertical-align:top;
  padding:1.0rem 0 0;
}
table.outline-table tr > td{
  display:block;
  text-align:left;
  vertical-align:top;
  padding:0 0 1.0rem 0;
}
table.outline-table tr > td > ul > li{
  list-style:disc outside;
  margin-left:1.25em;
}
table.outline-table tr > td > ul > li > a{
  font-size:0.9em;
  color:var(--base-light-color);
  margin-left:2.0em;
}
table.outline-table tr > td > dl{
  display:flex;
  flex-wrap:wrap;
}
table.outline-table tr > td > dl > dt{
  width:8em;
  text-align:right;
  margin-right:1.0em;
}
table.outline-table tr > td > dl > dd{
  flex:1;
}

.access{
  display:flex;
  justify-content:space-between;
}
.access > .map-box{
  width:640px; height:auto;
  aspect-ratio:3/2;
  margin-right:2.5em;
}
.access > .map-box > iframe{
  width:100%; height:100%;
}
.access > .text-box{
  flex:1;
}

.idea{
  background:rgba(30,115,178,0.04);
  padding:1.0rem 1.5rem 1.5rem;
  text-align:center;
}
.idea > h3{
  font-family:var(--serif-font);
  font-size:1.5rem; line-height:1.8;
  color:var(--main-color);
  letter-spacing:0.1em;
  margin-bottom:0.5em;
}
.idea > p{
  text-align:left;
  margin-bottom:1.0em;
}
.idea > p:last-of-type{
  margin-bottom:0;
}
.idea > ol.decimal-list > li{
  font-family:var(--serif-font);
  font-size:1.1rem; line-height:1.8; font-weight:var(--bold);
  text-align:left;
  letter-spacing:0.1em;
  margin-bottom:0.5em;
}
.idea > ol.decimal-list > li:last-child{
  margin-bottom:0;
}


ul.office-list{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:2.0rem 0;
  position:relative;
}
ul.office-list::before{
  content:"";
  width:1px; height:100%;
  background:#ccc;
  position:absolute;
  top:0; left:50%;
}
ul.office-list > li{
  width:46%;
  border-bottom:1px solid #ccc;
  padding-bottom:2.0rem;
  display:flex;
  justify-content:space-between;
}
ul.office-list > li:last-child{
  border-bottom:none;
  padding-bottom:0;
}
ul.office-list > li > h3{
  width:8rem;
  font-size:1.0rem; line-height:1.8;
}
ul.office-list > li > .text-box{
  flex:1;
  font-size:0.95rem; line-height:1.8;
}
ul.office-list > li .zip{
  display:block;
}
ul.office-list > li a{
  color:var(--base-color);
  pointer-events:none;
}

ul.base-list li{
  margin-bottom:1.5rem;
}
ul.base-list li:not(:last-child){
  padding-bottom:2.0rem;
  border-bottom:1px solid #ccc;
}
ul.base-list li{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
}
ul.base-list li.headoffice{
  display:flex;
  flex-direction:row;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
}
ul.base-list li > .text-box{
  flex:1;
}
ul.base-list li > .text-box .zip{
  display:block;
}
ul.base-list li > figure{
  width:120px; height:auto;
  aspect-ratio:3/4;
  margin-left:1.0rem;
}
ul.base-list li > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.base-list li > .map{
  width:100%; height:auto;
  aspect-ratio:3/2;
}
ul.base-list li.headoffice > .map{
  aspect-ratio:4/3;
}
ul.base-list li > .map > iframe{
  width:100%; height:100%;
}

.scrollable{
  width:100%;
  overflow-x:scroll;
}

table.base-table{
  width:700px;
  border-collapse:collapse;
}
table.base-table tr{
  border-top:1px solid #ccc;
}
table.base-table th,
table.base-table td{
  padding:1.0rem 0;
  vertical-align:top;
}
table.base-table th{
  padding-right:2.0rem;
}
table.base-table td .zip,
table.base-table td .tel{
  display:block;
}

.name-origin{
  background:rgba(145,205,43,0.04);
  border:1px solid rgba(145,205,43,0.6);
  padding:1.0rem 1.5rem 1.5rem;
}
.name-origin > h3{
  font-size:1.2rem; line-height:1.8;
  color:var(--key-color02);
  margin-bottom:0.5em;
}
.name-origin > figure{
  box-sizing:border-box;
  width:100%;
  background:#fff;
  padding:2.0rem;
}
.name-origin > p{
  margin-bottom:1.0em;
}
.name-origin > p:last-of-type{
  margin-bottom:0;
}
.history-policy{
  display:flex;
  flex-direction:column-reverse;
}
ul.policy{
  background:rgba(30,115,178,0.04);
  border:1px solid rgba(30,115,178,0.6);
  padding:1.5rem 3.0rem;
  margin-bottom:1.5rem;
}
ul.policy > li{
  font-size:1.1rem; line-height:2.0; font-weight:var(--bold);
  text-align:center;
  white-space:nowrap;
}

.history-box{
}
table.history-table{
  width:100%;
  border-collapse:collapse;
  position:relative;
}
table.history-table::after{
  content:"";
  width:2px; height:100%;
  background:var(--main-color);
  position:absolute;
  top:0; left:4.6rem;
}
table.history-table tr:not(:last-child){
  border-bottom:1px solid rgba(30,115,178,0.2);
  border-bottom:1px dashed #ccc;
}
table.history-table tr th{
  font-family:var(--eng-font);
  font-size:1.4rem; line-height:1; font-weight:700;
  font-style:italic;
  color:rgba(30,115,178,0.6);
  color:#afafaf;
  text-align:left;
  vertical-align:top;
  padding:1.1rem 0;
}
table.history-table tr td{
  padding:1.0rem 0;
}
table.history-table tr td > dl{
  display:flex;
  justify-content:space-between;
  margin:0rem 0;
  padding-left:2.25rem;
  position:relative;
}
table.history-table tr td > dl:not(:last-of-type){
  margin-bottom:0.5rem;
}
table.history-table tr td > dl::before{
  content:"";
  box-sizing:border-box;
  width:1.0rem; height:auto;
  aspect-ratio:1/1;
  border-radius:100%;
  border:2px solid var(--main-color);
  background:#fff;
  position:absolute;
  top:0.3rem; left:0; z-index:10;
  transform:translateX(calc(50% + 0.2rem));
}
table.history-table tr td > dl > dt{
  font-size:0.95rem;
  font-weight:var(--bold);
  white-space:nowrap;
  margin-right:1.0em;
}
table.history-table tr td > dl > dd{
  flex:1;
}

section.message > .thumbnail{
  width:100%; height:auto;
  aspect-ratio:3/4;
  margin-bottom:1.5rem;
}
section.message > .thumbnail > figure{
  width:100%; height:100%;
  margin:0;
}
section.message > .thumbnail > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
section.message > .thumbnail > figcaption{
  display:none;
}

section.message > h3{
  font-family:var(--serif-font);
  font-size:1.8rem; line-height:1.8; font-weight:var(--normal);
  margin-bottom:0.75em;
}
section.message > p{
  line-height:2.2;
}
section.message > .message-name{
  text-align:right;
  margin-top:-1.5em;
}

section.service{
}
section.service > figure{
  box-sizing:border-box;
  width:100%; height:auto;
  aspect-ratio:3/2;
}
section.service > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
section.service > figure.dummy{
  padding:3.0rem 20%;
  border:1px solid #ccc;
  background:#fff;
}
section.service > figure.dummy > img{
  width:100%; height:100%;
  object-fit:contain;
}
section.service > .text-box{
  flex:1;
}

ul.movie-list{
}
ul.movie-list > li{
  margin-bottom:1.5rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid #ccc;
}
ul.movie-list > li > a{
  display:block;
  text-decoration:none;
  color:var(--base-light-color);
}
ul.movie-list > li > a > figure{
  width:100%; height:auto;
  aspect-ratio:16/9;
  overflow:hidden;
  position:relative;
}
ul.movie-list > li > a > figure > img{
  width:100%; height:100%;
  object-fit:cover;
}
ul.movie-list > li > a > figure::before{
  font-family:var(--bootstrap);
  content:"\F4F0";
  font-size:2.6rem; line-height:1.0;
  color:#f00;
  position:absolute;
  top:50%; left:50%; z-index:2;
  transform:translate(-50%,-50%);
}
ul.movie-list > li > a > figure::after{
  content:"";
  width:2.0rem; height:auto;
  aspect-ratio:2/1.5;
  background:#fff;
  position:absolute;
  top:50%; left:50%; z-index:1;
  transform:translate(-50%,-50%);
}
ul.movie-list > li > a .movie-title{
  font-size:1.0rem; line-height:1.6; font-weight:var(--bold);
  color:var(--link-color);
}
ul.movie-list > li > a .movie-description{
  font-size:0.85rem; line-height:1.6;
  text-overflow:ellipsis;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}

table.performance-table{
  width:100%;
  border-collapse:collapse;
}
table.performance-table thead > tr{
  background:rgba(30,115,178,0.06);
  border-bottom:3px double #999;
}
table.performance-table thead > tr > th{
  font-size:0.9rem; line-height:1.8; font-weight:var(--normal);
  padding:0.25em 1.0rem;
}
table.performance-table thead > tr > th:last-of-type{
  padding-left:1.5rem;
  border-left:1px dashed #999;
}
table.performance-table tbody > tr{
  border-bottom:1px solid #ccc;
}
table.performance-table tbody > tr > th,
table.performance-table tbody > tr > td{
  padding:0.8em 1.0rem;
}
table.performance-table tbody > tr > th{
  font-size:1.1rem;
}
table.performance-table tbody > tr > td{
  width:30%;
  font-size:0.95rem;
  padding-left:1.5rem;
  border-left:1px dashed #999;
}

ul.performance-list{
}
ul.performance-list > li{
  margin-bottom:1.0rem;
}
ul.performance-list > li > a{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  text-decoration:none;
  color:var(--base-light-color);
}
ul.performance-list > li > a figure{
  width:38%; height:auto;
  aspect-ratio:3/2;
  overflow:hidden;
  margin:0 3% 0 0;
}
ul.performance-list > li > a figure > img{
  width:100%; height:100%;
  object-fit:cover;
  transition:0.2s;
}
ul.performance-list > li > a:hover figure > img{
  transform:scale(1.05);
}
ul.performance-list > li > a > .text-box{
  flex:1;
}
ul.performance-list > li > a h3{
  font-size:1.05rem; line-height:1.6;
  color:var(--link-color);
}
ul.performance-list > li > a:hover h3{
  text-decoration:underline;
}
ul.performance-list > li > a .client{
  margin-top:0.2em;
  font-size:0.85rem; line-height:1.8;
}

.performance-single .performance-article{
  box-sizing:border-box;
  width:100%;
  background:#fff;
}
.performance-article > article{
}
.article-billboard{
  margin-bottom:2.5rem;
}
.performance-slider .slide{
  width:100%; height:auto;
  aspect-ratio:3/2;
  overflow:hidden;
  position:relative;
}
.performance-slider .slide > figure{
  width:100%; height:100%;
  margin:0;
}
.performance-slider .slide > figure > img{
  width:100%; height:100%;
  object-fit:contain;
}
.performance-slider .slide > figcaption{
  box-sizing:border-box;
  width:100%;
  font-size:0.8rem; line-height:1.6;
  color:#fff;
  text-align:left;
  background:rgba(0,0,0,0.6);
  padding:0.5rem 1.0rem;
  position:absolute;
  bottom:0; left:0;
}
.article-billboard .slick-container .slick-dots{
	bottom:-1.75rem;
/* 高さ bottom は適宜指定 */
}
.article-billboard .slick-container .slick-dots > li{
	width:1.2em; height:auto;
	aspect-ratio:1/1;
/* 大きさ width は適宜指定 */
}
.article-billboard .slick-container .slick-dots > li button::before{
	background:var(--main-color);
/* 色 background は適宜指定 */
}


.privacy-box{
  margin-bottom:2.0em;
}
.privacy-box > h2{
  font-size:1.05rem; line-height:1.8;
}
.privacy-box > p{
  margin-bottom:0;
}

.privacy2025 > .privacy-box > p,
.privacy2025 > .privacy-box > ul > li,
.privacy2025 > .privacy-box > ol > li{
  margin-bottom:0;
  margin-top:0.5em;
}

table.qualified-table{
  width:100%;
  border-collapse:collapse;
}
section table.qualified-table:not(:last-of-type){
  margin-bottom:2.5rem;
}
table.qualified-table thead tr{
  background:rgb(30, 115, 178,0.08);
  border-bottom:3px double #ccc;
}
table.qualified-table thead tr th,
table.qualified-table thead tr td{
  font-size:0.85rem; line-height:1.8; font-weight:var(--normal);
  white-space:nowrap;
  padding:0.3rem 0.5rem;
}
table.qualified-table thead tr td{
  text-align:center;
  border-left:1px solid #fff;
}
table.qualified-table tbody tr{
  border-bottom:1px solid #ccc;
}
table.qualified-table tbody tr th,
table.qualified-table tbody tr td{
  font-size:0.95rem; line-height:1.8; font-weight:var(--normal);
  padding:0.5rem 1.0rem;
}
table.qualified-table tbody tr td{
  text-align:center;
}

ul.cmr-list{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:0.5rem 0;
  margin-bottom:1.0rem;
}
ul.cmr-list > li{
  width:100%;
}
ul.cmr-list > li > a{
  display:block;
  text-decoration:none;
  font-weight:var(--bold);
  color:#fff;
  text-align:center;
  background:var(--main-color);
  padding:1.0rem 0;
  position:relative;
  transition:0.2s;
}
ul.cmr-list > li > a::after{
  content:"";
  width:1.2em; height:auto;
  aspect-ratio:1/1;
  background-image:url(../../img/common/arrow_white.svg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
  position:absolute;
  top:50%; right:1.25em;
  transform:translate(0,-50%);
  transition:0.2s;
}
ul.cmr-list > li > a:hover::after{
  transform:translate(50%,-50%);
}

.performances-box{
  margin-top:2.5rem;
}
section .performances-box > h3{
  font-size:1.1rem; line-height:1.8;
  color:var(--main-color);
  margin-bottom:0.5em;
}
table.performances-table{
  width:100%;
  border-collapse:collapse;
}
table.performances-table thead > tr{
  background:rgba(30,115,178,0.05);
  border-bottom:3px double #999;
}
table.performances-table thead > tr > th{
  font-size:0.85rem; line-height:1.8; font-weight:var(--bold);
  color:var(--base-light-color);
  padding:0.3em 0.5rem;
}
table.performances-table thead > tr > th:last-of-type{
  width:35%;
  border-left:1px solid #fff;
}
table.performances-table tbody > tr{
  border-bottom:1px solid #ccc;
}
table.performances-table tbody > tr > td{
  font-size:0.9rem; line-height:1.6;
  padding:1.0em 0.5rem;
  text-align:left;
  vertical-align:top;
}
table.performances-table tbody > tr > td:last-of-type{
  font-size:0.85rem; line-height:1.6;
}
