@charset "UTF-8";
/* CSS Document */
main.under-wrapper {
  padding-bottom: min(120px, 20vw);
}
.under-contents {
  margin-top: min(120px, 15vw);
}
/*under hero +++++++++++++++++++++++++++++++*/
.under-hero_inner {
  padding-top: min(110px, 15vw);
}
.under-hero__title .en {
  text-transform: uppercase;
  color: var(--clr-org);
  font-family: var(--fnt-mcr);
  padding-left: 1em;
  font-size: min(14px, 3.2vw);
}
.under-hero__title .en::before {
  content: "";
  width: min(10px, 2vw);
  aspect-ratio: 1;
  background-color: currentColor;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  border-radius: 100vmax;
}
.under-hero__title .main {
  font-family: var(--fnt-spmc);
  font-size: var(--head2_wid);
  font-weight: 500;
  letter-spacing: .035em;
  text-indent: .035em;
  margin-top: min(20px, 3vw);
}
/*breadcrumbs*/
.l-bread {
  margin-top: min(50px, 8vw);
}
.l-bread__list {
  justify-content: flex-end;
  gap: 5px min(100px, 12vw);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: min(14px, 3.2vw);
}
.l-bread__list > li:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: min(calc(100px - 2em), calc(12vw - 2em));
  height: 1px;
  background-color: var(--clr-org);
  translate: calc(-100% - 1em) -50%;
}
.l-bread__list > li > span {
  font-weight: 700;
}
.l-bread__list > li.is-current span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 8em;
  display: block;
}
/*under page +++++++++++++++++++++++++++++++*/
/* archive pager*/
.acv-pager {
  margin-top: min(100px, 15vw);
}
.wp-pagenavi {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding-left: 3em;
  padding-right: 3em;
}
.wp-pagenavi a, .wp-pagenavi span {
  margin: 0;
  padding: 0;
}
.acv-pager a, .acv-pager span {
  width: 2.28em;
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  place-items: center;
  border-radius: 100vmax;
  font-family: var(--fnt-mcr);
}
.acv-pager a {
  background-color: var(--clr-gry);
  color: var(--clr-org);
}
.acv-pager .previouspostslink, .acv-pager .nextpostslink {
  border: none;
  border-radius: 100vmax;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
}
.acv-pager .previouspostslink {
  left: 0;
}
.acv-pager .nextpostslink {
  right: 0;
}
.acv-pager .previouspostslink::before, .acv-pager .nextpostslink::before {
  --l_clr: var(--clr-org);
  content: "";
  width: 5px;
  aspect-ratio: 1/1;
  border: 2px solid;
  border-color: var(--l_clr) var(--l_clr) transparent transparent;
  position: absolute;
  top: 50%;
  translate: -50% -50%;
  rotate: 45deg;
  border-radius: 2px;
}
.acv-pager .previouspostslink::before {
  scale: -1 -1;
  left: calc(50% + 2.5px);
}
.acv-pager .nextpostslink::before {
  left: calc(50% - 2px);
}
.acv-pager .previouspostslink:hover::before, .acv-pager .nextpostslink:hover::before {
  --l_clr: #fff;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  color: #fff;
  background-color: var(--clr-org);
  font-weight: 600;
}
/* single  pager*/
.single-pager {
  margin-top: min(100px, 15vw);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
.pager-back {
  width: min(210px, 65vw);
  height: min(50px, 12vw);
}
.pager-back a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  background-color: var(--clr-gry);
  border-radius: 100vmax;
  color: var(--clr-org);
  font-weight: 700;
}
.single-pager p {
  position: absolute;
  top: 50%;
  height: min(50px, 10vw);
  aspect-ratio: 1;
  background-color: var(--clr-org);
  border-radius: 100vmax;
}
.single-pager p a {
  display: block;
  width: 100%;
  height: 100%;
}
.single-pager p a::before, .single-pager p a::after {
  content: "";
  display: block;
  width: .6em;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: rotate(35deg) translateX(-50%);
  transform-origin: 50% 50%;
}
.single-pager p a::after {
  transform: rotate(-35deg) translateX(-50%);
}
.single-pager p.prev-link {
  left: -10px;
  translate: -100% -50%;
  scale: -1 1;
}
.single-pager p.next-link {
  right: -10px;
  translate: 100% -50%;
}
.acv-list-items {
  padding-right: min(35px, 10vw);
}
.acv-list-items::after {
  content: "";
  width: min(26px, 5vw);
  aspect-ratio: 1;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  background-image: url("../images/icon/arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media(hover) {
  .acv-list-items:hover::after {
    background-image: url("../images/icon/hvr-arrow.svg");
  }
}
/*post archive - category.php +++++++++++++++*/
.page-archive {
  margin-top: min(90px, 10vw);
}
.acv-post-item {
  display: grid;
  grid-template-columns: min(185px, 25vw) 1fr;
  -ms-align-items: center;
  align-items: center;
  gap: min(20px, 3vw) min(40px, 5vw);
  padding-top: min(30px, 4vw);
  padding-bottom: min(30px, 4vw);
  border-bottom: 1px solid #cecece;
}
.acv-post-item .post-title {
  font-size: var(--head3);
  font-weight: 700;
  line-height: calc(28/20);
  margin-top: .5em;
}
.acv-post-item .post-thumb figure {
  border: 1px solid var(--clr-gry);
}
.post-waiting-box {
  display: grid;
  place-content: center;
}
.post-waiting-box p {
  font-family: var(--fnt-mcr);
  /*  background-color: var(--wall-pale-gry);*/
  background-color: #fff;
  font-size: var(--head3);
  padding: 2em;
  border: 1px solid var(--bdr-gry);
  color: var(--bdr-gry);
}
/*case archive - archive-casestudy.php +++++++++++++++*/
.acv-case-item {
  border-bottom: 1px solid #cecece;
  padding-top: min(30px, 4vw);
  padding-bottom: min(30px, 4vw);
}
.acv-case-item .post-data {
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 10px 2em;
}
.acv-case-item .case-title {
  font-size: min(18px, 3.8vw);
  line-height: calc(24/18);
  font-weight: 700;
  letter-spacing: .04em;
  text-indent: .04em;
  margin-top: .5em;
}
.acv-case-item .case-excerpt {
  margin-top: .5em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/*single - single.php /single-casestudy.php +++++++++++++++*/
.entry-head {
  border-bottom: 1px solid var(--bdr-gry);
  padding-bottom: min(30px, 3vw);
}
.entry-head .post-data {
  gap: 10px 2em;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  font-size: min(16px, 3.6vw);
}
.entry-head .post-data .date {
  font-size: min(16px, 3.6vw);
}
.entry-head .post-title {
  font-size: var(--head3);
  font-weight: 700;
  letter-spacing: .03em;
  text-indent: .03em;
  line-height: calc(40/30);
  margin-top: min(20px, 2vw);
}
.entry-body {
  margin-top: min(50px, 5vw);
  line-height: calc(24/14);
}
.entry-body::after {
  content: "";
  display: block;
  clear: both;
}
.entry-body img {
  width: auto;
}
.entry-body h3 {
  padding-left: .75em;
  font-size: min(30px, calc(100vw/20));
  font-weight: 700;
  line-height: calc(40/30);
}
.entry-body h3::before {
  content: "";
  height: 1em;
  width: 4px;
  position: absolute;
  top: .15em;
  left: 0;
  background-color: var(--clr-ylw);
}
.entry-body > * + * {
  margin-top: min(30px, 3vw);
}
.entry-body * + h3 {
  margin-top: min(60px, 6vw);
}
.wp-block-image :where(figcaption) {
  margin-bottom: 0;
  line-height: calc(16/12);
  font-size: min(12px, 3.4vw);
}
.entry-body strong{
    font-weight: bold;
}
.entry-body ul li{
  display: flex;
  align-items: center;
}
.entry-body ul li::before{
 content: "⚫︎";
 color: var(--clr-ylw);
 font-size: 0.6em;
 margin-right: 1em;
}
/*interview - page/interview.php +++++++++++++++++++++++++++++++*/

.page-intvw-entry::after{
  content: "";
  display: block;
  clear: both;
}
.page-intvw-entry h3
,.page-intvw-entry h4{
  font-family: var(--fnt-spmc);
  line-height: calc(54/36);
  font-weight: 500;
}
.page-intvw-entry h3{
  font-size:min(var(--head2_min),calc(100vw/20));
}
.page-intvw-entry h4{
  font-size:min(var(--head3_mid),calc(100vw/20));  
}
.page-intvw-entry h5{
  font-weight: 700;
}
.page-intvw-entry h3 span{
  display: block;
}
.page-intvw-entry .thumb-fl_rt{
  float: right;
  margin-left: min(30px,4vw);
  padding-bottom: min(20px,4vw);
}
.thumb-intvw_01{
  width: min(310px,25vw);
}
.thumb-intvw_02{
  width: min(410px,40vw);
}
.intvw__head .lead-text{
  font-size:min(var(--head3),calc(100vw/25));
  font-weight: 700;
  margin-top: min(1em,2.5vw);
  line-height: calc(20/14);
}

* + .intvw_items{
  margin-top: min(50px,8vw);
}
.intvw_items + .intvw_items{
  margin-top: min(30px,5vw);
}
.intvw_items > * + *{
  margin-top: min(15px,2.5vw);
}
.intvw_items .ccl-list > li:nth-child(n+2){
  margin-top: 1em;
}
/*contact - page/base.php　+++++++++++++++++++++++++++++++*/
.form-list {
  width: min(810px, 100%);
}
.form-item:nth-child(n+2) {
  margin-top: min(40px, 4vw);
}
.form-item {
  display: grid;
  grid-template-columns: 15em 1fr;
  gap: 10px min(20px, 3vw);
}
.form-item.ai-top {
  -ms-align-items: flex-start;
  align-items: flex-start;
}
.form-list input[type="text"], .form-list input[type="email"], .form-list input[type="tel"] {
  font-size: 16px;
  border: 1px solid var(--bdr-gry);
  border-radius: 7px;
  background-color: #fff;
  height: min(43px, 10vw);
  padding: .25em 1em;
}
.form-list textarea {
  font-size: 16px;
  border: 1px solid var(--bdr-gry);
  border-radius: 7px;
  background-color: #fff;
  padding: .25em 1em;
  min-height: min(180px, 30vw);
}
.form-item dt {
  padding-top: calc((min(43px, 10vw) - 1em)/2);
}
.form-list dt p {
  font-weight: 700;
}
.form-list dt p::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  background-color: var(--bk-clr);
  font-size: min(10px, 3vw);
  color: #fff;
  padding: 3px .5em;
  border-radius: 2px;
}
.form-list dt p.must::after {
  content: "必須";
  --bk-clr: var(--clr-red);
}
.form-list dt p.any::after {
  content: "任意";
  --bk-clr: var(--wall-gry);
}
.form-list dd.select {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
}
.select-wrap {
  height: min(43px, 10vw);
  border: 1px solid var(--bdr-gry);
  border-radius: 7px;
  background-color: #fff;
  width: min(360px, 100%);
}
.select-wrap::after {
  content: "";
  width: 5px;
  aspect-ratio: 1;
  border: 2px solid;
  border-color: transparent currentColor currentColor transparent;
  border-radius: 2px;
  position: absolute;
  right: 1em;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
  pointer-events: none;
}
.select-wrap select {
  height: 100%;
  width: 100%;
  padding-left: 1em;
  padding-right: 2em;
  font-size: 16px;
  color: var(--fc-base);
  cursor: pointer;
}
.inp-att {
  line-height: calc(20/14);
  padding-left: 1.15em;
  padding-top: .25em;
}
.inp-att::before {
  content: "※";
  position: absolute;
  left: 0;
  top: .25em;
}
.agree a {
  color: var(--clr-red);
  text-decoration: underline;
}
::placeholder {
  color: var(--bdr-gry);
  font-size: min(14px, 3.6vw);
}
.wpcf7-spinner{
  display: none;
}
.rcp-text{
  font-size: min(12px,3vw);
  line-height: calc(20/14);
}
.rcp-text a{
  text-decoration: underline;
}
/*checkbox*/
.check-wrap input + span {
  display: block;
  padding-left: 1.85em;
  font-weight: 700;
  cursor: pointer;
}
.check-wrap input + span::before {
  content: "";
  width: 1em;
  aspect-ratio: 1;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  border-radius: 2px;
  border: 1px solid var(--bdr-gry);
  background-size: 80%;
  background-position: center;
  background-repeat: no-repeat;
}
.check-wrap input:checked + span::before {
  background-image: url("../images/icon/check.svg");
}
.form-button-wrap {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  gap: min(50px, 4vw);
  margin-top: min(60px, 8vw);
}
.submit-button {
  width: min(270px, 100%);
}
.submit-button input[type="submit"] {
  width: 100%;
  background-color: var(--clr-org);
  color: #fff;
  font-weight: 700;
  height: min(60px, 12vw);
  border-radius: 100vmax;
  font-size: min(18px, 3.8vw);
}
.submit-button input:disabled {
  background-color: var(--bdr-gry);
}
.wpcf7-not-valid-tip {
  font-size: min(12px, 3.4vw);
  color: var(--clr-red);
  padding-top: .25em;
}
/*thankS +++++++++++++++++++++++++++++++++++++++*/
.page-thanks-blc {
  gap: min(80px, 10vw);
}
.page-thanks-blc .in-title {
  font-family: var(--fnt-spmc);
  font-weight: 500;
  font-size: var(--head2_min);
}
.page-thanks-box {
  background-color: #fff;
  box-shadow: 0 1px 5px rgba(136, 83, 138, .15);
  border-radius: min(30px, 5vw);
  padding: min(50px, 6vw) min(30px, 3vw);
  display: grid;
  place-content: center;
  place-items: center;
  gap: min(60px, 6vw);
  text-align: center;
}
/*privacy poricy +++++++++++++++++++++++++++++++*/
.page-privacy__list {
  counter-reset: count 0;
  margin-top: min(60px, 10vw);
  gap: min(50px, 5vw);
}
.legal-item h3 {
  font-size: var(--head3);
  font-weight: 700;
}
.legal-item h3::before {
  counter-increment: count 1;
  content: "第"counter(count)"条";
}
.num-list {
  counter-reset: num 0;
}
.num-list > li {
  padding-left: 1.15em;
}
.num-list > li:nth-child(n+10) {
  padding-left: 1.5em;
}
.num-list > li::before {
  counter-increment: num 1;
  content: counter(num)".";
  position: absolute;
  left: 0;
  top: 0;
}
.num-list.ccl > li::before {
  content: counter(num);
  width: 1.15em;
  font-size: .7em;
  display: grid;
  place-content: center;
  aspect-ratio: 1;
  overflow: hidden;
  border: 1px solid currentColor;
  border-radius: 100vmax;
  top: .5em;
  line-height: 1;
}
.legal-item dt {
  line-height: calc(30/20);
}
.legal-item dd {
  line-height: calc(24/14);
  margin-top: min(30px, 3vw);
}