@charset "utf-8";

/* CSS Document */


/***********
pageHeading
************/

.pageHeading {
  background-color: var(--color-brand01);
  position: relative;
  color: var(--color-base);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: clamp(200%,3vw, 239%);
  min-height: 4.5em;
}
.pageHeading-container {
  position: relative;
  z-index: 9;
}
.pageHeading-title {
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
  line-height: 1.3;
}

@media screen and (max-width:834px) {

  .pageHeading {
    font-size: clamp(154%,6vw, 200%);
  }
  .pageHeading-container {
  }
  .pageHeading-title {
    letter-spacing: 0.02em;
  }
  .pageHeading-subTitle {
    font-size: 45%;
  }

}

/***********
breadcrumb
************/

.breadcrumb{
  font-size: clamp(100%,1.2vw, 124%);
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: 0;
  position: relative;
  z-index: 100;
}
.breadcrumb-lists{
  display: flex;
  position: absolute;
  width: 100%;
  padding-top: 1.2em;
}
.breadcrumb-lists li{
  position: relative;
}
.breadcrumb-lists li:not(:has(a)){
  opacity: 0.6;
}
.breadcrumb-lists li:not(:last-child)::after{
  content: "／";
  display: inline-block;
  padding: 0 0.5em;
}
.breadcrumb-lists li a{
  color: inherit;
  text-decoration: none;
  transition: 0s;
}
body.is-pc .breadcrumb-lists li a:hover{
  text-decoration: underline;
  color: var(--color-brand02);
}


.breadcrumb-lists li:last-child {
  max-width: 12em;
  height: calc(1em * 1.5);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

@media screen and (max-width:834px) {

  .breadcrumb{
    font-size: 70%;
    -webkit-overflow-scrolling: touch;
    translate: 0 -2em;
    color: var(--color-base);
    letter-spacing: 0;
  }
  .breadcrumb-lists{
    overflow: auto;
    display: flex;
    white-space: nowrap;
    padding-left: 3%;
    padding-top: 0;
  }
  .breadcrumb-lists li a{
    color: var(--color-base);
  }
  .breadcrumb-lists li:last-child {
    max-width: 12em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  body.is-pc .breadcrumb-lists li a:hover{
    color: var(--color-base);
  }
  .breadcrumb-lists li:not(:last-child)::after{
    padding: 0 0.3em;
    color: var(--color-base);
  }

}


/***********
box
************/

.box {
  background-color: var(--color-base);
  padding: min(8vw,4em) min(4vw,6%);
}

.box.-bg03 {
  background: url(../../img/bg03.jpg) no-repeat center top / max(100%,800px) auto;
  background-color: #fffbf1;
}

.box.-side {
  background-color: var(--color-base);
  padding: min(8vw,3.3em) min(4vw,5.5%);
}

@media screen and (max-width:834px) {

  .box {
    /* margin-left: -3vw;
    margin-right: -3vw; */
  }

  .box.-side {
    padding: min(6vw,3em) min(4vw,5.5%);
  }

}

/***********
pagination
************/

.pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 6em;
  padding-bottom: 4em;
}

.pagination:empty {
  display: none;
}

.pagination span,
.pagination a {
  display: inline-block;
  width: 2.5em;
  height: 2.5em;
  line-height: 2.5em;
  color: var(--color-main);
  border-radius: 50%;
  text-decoration: none;
  text-align: center;
  font-size: clamp(116%,2vw, 154%);
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  margin: 0 5px;
}
.pagination a {
  background-color: var(--color-base);
}
.pagination a.prev ,
.pagination a.next {
  box-shadow: none;
  background-color: transparent;
}
.pagination span.dots{
  border-color: transparent;
}
body.is-pc .pagination a:hover ,
.pagination span:not(.dots){
  background-color: var(--color-main);
  color: var(--color-base);
}

.pagination a.prev,
.pagination a.next{
}


.pagination.-small {
  padding-top: 4em;
}
.pagination.-small span,
.pagination.-small a {
  font-size: clamp(116%,1.6vw, 131%);
}

@media screen and (max-width:834px) {

  .pagination {
    padding-top: 3em;
  }
  .pagination span,
  .pagination a {
    margin: 0 1px 2px;
  }
}

/***********
post
************/

.post {
  font-size: clamp(1.08rem,1.4vw, 1.39rem);
}

.post p:not([class]) {
  line-height: 1.8;
  font-size: clamp(1.08rem,1.4vw, 1.39rem);
}
.post p:not([class]) + p {
  padding-top: 1em;
}

.post h2:not([class]) {
  font-size: clamp(1.47rem,2.8vw, 2.54rem);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  margin: 2em 0 0.8em 0;
}

.post h3:not([class]) {
  font-size: clamp(1.39rem,2.5vw, 2rem);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  margin: 2em 0 0.8em 0;
}

.post h4:not([class]) {
  font-size: clamp(1.31rem,2.2vw, 1.54rem);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  padding: 0.2em 0 0.2em 1em;
  border-left: 5px solid var(--color-main);
  margin: 2.5em 0 0.8em 0;
}

.post h5:not([class]) {
  font-size: clamp(1.24rem,2vw, 1.39rem);
  font-feature-settings: "palt";
  font-weight: 600;
  margin: 2em 0 0.8em 0;
  display: inline-block;
  border-bottom: 1px solid var(--color-main);
  padding-bottom: 0.3em;
  letter-spacing: 0.04em;
}

.post h6:not([class]) {
  font-size: clamp(1.24rem,2vw, 1.39rem);
  margin: 2em 0 0.8em 0;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

.post.-press strong:not([class]) {
  font-weight: 600;
  background-color: #fff94c;
}

.post img {
  margin-bottom: 2.5em;
}
.post img[src$="jpg"],
.post img[src$="jpeg"] {
}


.post blockquote:not([class]) {
  background-color: #f6f6f8;
  padding: 3em 5%;
  margin: 2em 0;
}
.post blockquote:not([class]) h2:first-child,
.post blockquote:not([class]) h3:first-child,
.post blockquote:not([class]) h4:first-child,
.post blockquote:not([class]) h5:first-child{
  margin-top: 0;
}



.post table:not([class]) {
  font-size: var(--fontSize-main);
  font-feature-settings: "palt";
  width: 100%;
  line-height: 1.6;
  border: 1px solid var(--color-sub03);
}
.post table:not([class]) th,
.post table:not([class]) td{
  border: 1px solid var(--color-sub03);
}
.post table:not([class]) thead {
  background-color: var(--color-main);
  color: var(--color-base);
}
.post table:not([class]) thead th {
  padding: 1em 1.2em;
  position: relative;
  font-weight: 500;
}
.post table:not([class]) thead td {
  padding: 1em 1.2em;
  position: relative;
}


.post table:not([class]) thead tr,
.post table:not([class]) tbody tr {
}
.post table:not([class]) tbody th {
  padding: 1em 1.2em;
  font-weight: 500;
  background-color: var(--color-main);
  color: var(--color-base);
  position: relative;
  text-align: left;
}
.post table:not([class]) tbody td {
  padding: 1em 1.2em;
  position: relative;
  text-align: left;
}



/*
.post table:not([class]) {
  background-color: var(--color-sub05);
  font-size: var(--fontSize-main);
  font-feature-settings: "palt";
  width: 100%;
  line-height: 1.6;
  border-top: 2px dotted rgba(0, 0, 0, 0.2);
  counter-reset : summaryCard_num;
}

.post table:not([class]) thead {
  background-color: var(--color-main);
  color: var(--color-base);
}
.post table:not([class]) thead td {
  padding: 1em 1.2em ;
  position: relative;
}
.post table:not([class]) thead th {
  padding: 1em 1.2em ;
  position: relative;
}
.post table:not([class]) thead th:not(:last-child)::after,
.post table:not([class]) thead td:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 1.6em);
  border-right: 2px dotted rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 0.8em;
  right: -1px;
}


.post table:not([class]) thead tr,
.post table:not([class]) tbody tr {
  border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
}
.post table:not([class]) tbody th {
  padding: 1.2em 1.2em ;
  font-weight: 600;
  color: var(--color-brand01);
  line-height: 1.4;
  position: relative;
  text-align: left;
}
.post table:not([class]) tbody td {
  padding: 1.2em 1.2em ;
  position: relative;
  text-align: left;
}
.post table:not([class]) tbody th:not(:last-child)::after,
.post table:not([class]) tbody td:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 1.6em);
  border-right: 2px dotted rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0.8em;
  right: -1px;
} */




.post ul:not([class]){
  font-size: var(--fontSize-main);
  margin-left: 1em;
}
.post ul:not([class]) li {
  padding-left: 0.2em;
  position: relative;
  line-height: 1.7;
}
.post ul:not([class]) li + li {
  margin-top: 0.1em;
}
/* .post ul:not([class]) li::before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-main);
  border-radius: 50%;
  position: absolute;
  left: 0.2em;
  top: 0.7em;
} */

.post ol:not([class]){
  font-size: 1.54rem;
  list-style: decimal;
  margin-left: 1.8em;
}
.post ol:not([class]) li{
  position: relative;
  line-height: 1.7;
}
.post ol:not([class]) li + li {
  padding-top: 0.3em;
}

/*
zoom
*/

.post a:where([href$=".jpg"], [href$=".png"]) {
  display: inline-block;
  position: relative;
}
.post a:where([href$=".jpg"], [href$=".png"]) img {
  margin-bottom: 0 !important;
}
.post a:where([href$=".jpg"], [href$=".png"])::after {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  font-size: 16px;
  line-height: 1;
  text-rendering: auto;
  content: "\f00e";
  position: absolute;
  right: 15px;
  bottom: 15px;
  /* bottom: calc(2.5em + 15px); */
  z-index: 9;
  width: 42px;
  height: 42px;
  font-size: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: var(--color-base);
  color: var(--color-main);
  border-radius: 50%;
}
.post a:where([href$=".jpg"], [href$=".png"]):hover {
  cursor: zoom-in;
  opacity: 0.9;
}

@media screen and (max-width:834px) {


  .post h4:not([class]) {
    letter-spacing: 0.04em;
    border-width: 3px;
    padding-left: 0.6em;
  }



  .post blockquote:not([class]) h2:first-child,
  .post blockquote:not([class]) h3:first-child,
  .post blockquote:not([class]) h4:first-child,
  .post blockquote:not([class]) h5:first-child{
    margin-top: 0;
  }

  .post table:not([class]) {
  }

  .post table:not([class]) thead td ,
  .post table:not([class]) thead th ,
  .post table:not([class]) tbody th ,
  .post table:not([class]) tbody td {
    padding: 0.8em 0.5em;
    line-height: 1.5;
  }

  .post ul:not([class]),
  .post ol:not([class]){
  }


  /*
  zoom
  */

  .post a:where([href$=".jpg"], [href$=".png"]) {
  }
  .post a:where([href$=".jpg"], [href$=".png"])::after {
    transform: scale(0.8);
    transform-origin: right bottom;
    right: 15px;
  }


}

.post > *:first-child,
.post blockquote > *:first-child{
  margin-top: 0 !important;
}

.post *[class^="l-"] img:not([class]){
  padding-bottom: 0 !important;
}

.post > p:first-of-type img {
  margin-top: 0 !important;
}

/***********
pageNavi
************/

.pageNavi {
  padding: min(12vw,7em) 0 min(10vw,5em);
}
.pageNavi-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: clamp(108%,1.2vw, 124%);
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
}
.pageNavi-list li {
}
.pageNavi-list li a {
  display: inline-block;
  background-color: var(--color-sub01);
  color: inherit;
  text-decoration: none;
  padding: 0.4em 2.5em 0.5em 1em;
  margin: 0 0.15em 0.4em;
  border-radius: 10em;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
}
.pageNavi-list li a::after {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f35a";
  position: absolute;
  right: 0.6em;
  top: 50%;
  translate: 0 -48%;
  scale: 0.9;
  line-height: normal;
}
.pageNavi-list li a[href*="anchor-"]::after {
  content: "\f358";
}
body.is-pc .pageNavi-list li a:hover {
  background-color: var(--color-brand01);
  color: var(--color-base);
}


/***********
catNavi
************/

.catNavi {
  font-size: clamp(108%,1.2vw, 124%);
  font-feature-settings: "palt";
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.catNavi-list {
  display: flex;
}
.catNavi-list li {
}
.catNavi-list li a{
  display: inline-block;
  background-color: var(--color-sub01);
  color: inherit;
  text-decoration: none;
  text-align: center;
  padding: 0.4em 1em 0.5em 1em;
  margin: 0 0.15em 0.4em;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
}

.catNavi-list li.current-cat a ,
body.is-pc .catNavi-list li a:not(.is-active):hover{
  background-color: var(--color-main);
  color: var(--color-base);
}

@media screen and (max-width:834px) {

  .catNavi {
    overflow: auto;
    padding-top: 1px;
    margin-left: -4.2vw;
  }

  .catNavi-list {
    display: flex;
    flex-wrap:nowrap;
    padding-left: 5vw;
  }
  .catNavi-list li {
    margin: 0 0 0;
    padding-right: 1px;
  }
  .catNavi-list li a {
    min-width: 6em;
    padding: 1em 0.5em 1em;
    margin: 0;
    line-height: 1.2;
    background-color: var(--color-base);
  }

}


/***********
separate
************/

.separate {
  display: flex;
  justify-content: space-between;
}
.separate-item.-large {
  width: 50%;
}
.separate-item.-small {
  width: 45%;
}
.separate-item.-xlarge {
  width: 55%;
}
.separate-item.-xsmall {
  width: 40%;
}
.separate-item.-xxlarge {
  width: 61%;
}
.separate-item.-xxsmall {
  width: 33.3%;
}

.separate-item.-half {
  width: 47.5%;
}
.separate.-reverse {
  flex-direction: row-reverse;
}
.separate.-end {
  align-items: end;
}

.separate-item.-offsetTop {
  padding-top: 0.5em;
}

@media screen and (max-width:640px) {

  .separate {
    display: block;
  }
  .separate-item {
    width: auto !important;
  }
  .separate-item:first-child {
    padding-bottom: 2em;
  }

}


/***********
summaryCard
************/

.summaryCard {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  counter-reset : summaryCard_num;
  margin-bottom: -5em;
}
.summaryCard li {
  width: 48%;
  margin-bottom: 5em;

}
.summaryCard-img {
}
.summaryCard-inner {
  padding-top: 1.8em;
}
.summaryCard-title {
  font-size: clamp(139%,1.8vw, 192%);
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.4;
  letter-spacing: 0;
  padding-bottom: 0.5em;
  position: relative;
}

.summaryCard.-count .summaryCard-title {
  padding-left: 1.8em;
}
.summaryCard.-count .summaryCard-title::before {
  counter-increment:summaryCard_num;
  content: counter(summaryCard_num) ;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: var(--color-main);
  color: var(--color-base);
  width: 2em;
  height: 2em;
  letter-spacing: 0;
  font-family: var(--font-family-gothic-en);
  font-size: 70%;
  font-weight: 500;
  border-radius: 50%;
  white-space: nowrap;
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width:640px) {

  .summaryCard {
    display: block;
    margin-bottom: -3em;
  }
  .summaryCard li {
    width: auto;
    margin-bottom: 3em;
  }
  .summaryCard-img {
  }
  .summaryCard-inner {
    padding-top: 1.2em;
  }

}

/***********
tile
************/

.tile {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2.5%;
  margin-bottom: -3.5em;
}
.tile li {
  margin-left: 2.5%;
  margin-bottom: 3.5em;
}
.tile.-trisect li{
  width: 30.8%;
}
.tile.-quarter li{
  width: 22.5%;
}
.tile-img {
}
.tile-inner {
  padding-top: 1.2em;
}
.tile-title {
  font-size: clamp(124%,1.4vw, 154%);
  font-feature-settings: "palt";
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-align: center;
  padding-bottom: 0.5em;
}
.tile-text {
  font-size: clamp(100%,1vw, 124%);
  text-align: justify;
  line-height: 1.7;
}

@media screen and (max-width:834px) {

  .tile.-quarter li{
    width: 30.8%;
  }

}
@media screen and (max-width:640px) {

  .tile {
    margin-left: -4%;
    margin-bottom: -2em;
  }
  .tile li {
    margin-left: 4%;
    margin-bottom: 2em;
  }
  .tile.-trisect li,
  .tile.-quarter li{
    width: 46%;
  }
  .tile.-quarter .tile-text{
    line-height: 1.5;
  }
}


/***********
divide
************/

.divide {
  display: flex;
  flex-wrap: wrap;
}
.divide.-reverse {
  flex-direction: row-reverse;
}
.divide.-center {
  align-items: center;
}
.divide.-end {
  align-items: end;
}
.divide-visual {
  width: 34%;
  min-width: 300px;
  padding-right: 5%;
  padding-top: 0.5em;
}
.divide-inner {
  flex: 1;
}

@media screen and (max-width:640px) {

  .divide {
    display: block;
  }
  .divide-visual,
  .divide-visual.-small  {
    width: auto;
    min-width: initial;
    padding-right: 0;
  }
  .divide-img {
    text-align: center;
    max-width: 480px;
    margin: 0 auto;
  }
  .divide-img-caption {
    font-size: 93%;
    text-align: left;
  }

  .divide-visual,
  .divide-visual.-offset {
    padding-top: 2em;
  }

}


/***********
explain
************/

.explain {
  padding-bottom: 2em;
}
.explain-section {
  display: flex;
  align-items: start;
}
.explain-section:not(:last-child) {
  padding-bottom: 3em;
  margin-bottom: 3em;
  border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
}
.explain-visual {
  width: 35%;
  padding-right: 4%;
  position: relative;
}
.explain-img {
  padding-top: 0.4em;
}

.explain-badge {
  letter-spacing: 0;
  position: absolute;
  left: 1.5em;
  top: -0.6em;
  z-index: 2;
  line-height: 1.1;
}
.explain-badge-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: clamp(154%,1.6vw, 200%);
  font-family: var(--font-family-gothic-en);
  width: 3em;
  height: 3em;
  color: var(--color-base);
  background-color: var(--color-brand01);
  border-radius: 50%;
  white-space: nowrap;
  position: relative;
}
.explain-badge-title {
  font-size: 44%;
  font-weight: 500;
  padding-top: 0.8em;
}
.explain-badge-num {
  font-weight: 700;
}
.explain-inner {
  flex: 1;
}

@media screen and (max-width:640px) {

  .explain {
    padding-bottom: 1em;
  }
  .explain-section {
    display: block;
  }
  .explain-section:not(:last-child) {
    padding-bottom: 2em;
    margin-bottom: 2em;
  }
  .explain-visual {
    width: auto;
    padding-right: 0;
    padding-bottom: 1.5em;
  }
  .explain-img {
    padding-top: 0.4em;
  }

  .explain-badge {
    left: -0.6em;
    top: -0.6em;
  }
  .explain-badge-container {
    font-size: clamp(154%,5.5vw, 254%);
  }
  .explain-badge-title {
    font-size: 50%;
  }

}

/***********
plan
************/

.plan {
  margin-bottom: -2.5%;
}
.plan-section {
  padding: min(7vw,4.5em) min(4vw,6%);
  background: url(../../img/bg03.jpg) no-repeat right top / max(100%,800px) auto;
  background-color: #fffbf1;
  margin-bottom: 2.5%;
}
.plan-block {
  display: flex;
}
.plan-section-visual {
  width: 25%;
  padding-right: 2%;
  margin-right: 5%;
  border-right: 2px dotted rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.plan-section-img {
  margin-left: -55%;
}
.plan-section-inner {
  flex: 1;
}


.plan-heading {
  font-family: var(--font-family-gothic-en);
  font-size: clamp(108%,1.2vw, 124%);
  padding-bottom: 0.8em;
  line-height: 1.2;
}

.plan-heading-container {
  display: flex;
}

.plan-badge {
  padding-right: 0.6em;
  letter-spacing: 0;
  font-size: 170%;
}
.plan-badge-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 2.8em;
  height: 2.8em;
  color: var(--color-base);
  background-color: var(--color-brand01);
  border-radius: 50%;
  white-space: nowrap;
  position: relative;
}
.plan-badge-title {
  font-family: var(--font-family-gothic-en);
  font-size: 45%;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  padding-top: 0.5em;
}
.plan-badge-num {
  font-family: var(--font-family-gothic-en);
  font-weight: 900;
  font-size: 108%;
  line-height: 1.1;
}

.plan-heading-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 5.2em;
}


.plan-heading-subTitle {
  color: var(--color-brand01);
  font-weight: 700;
}
.plan-heading-minTitle {
  color: var(--color-brand01);
  font-weight: 500;
  padding-bottom: 0.4em;
}
.plan-heading-title {
  font-size: 239%;
  font-weight: 800;
}
.plan-heading-jaTitle {
  font-size: 224%;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

.plan-headline {
  font-size: clamp(85%,1.2vw, 124%);
  padding-bottom: 1em;
  line-height: 1.4;
}
.plan-headline-subTitle {
  color: var(--color-brand01);
  font-weight: 700;
  font-family: var(--font-family-gothic-en);
  font-size: max(100%,11px);
  letter-spacing: 0.04em;
}
.plan-headline-title {
  font-size: 200%;
  font-weight: 700;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
}

.plan-separate {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2.5%;
}
.plan-separate .plan-section {
  width: 47.5%;
  margin-left: 2.5%;
  padding: min(7vw,3.8em) min(4vw,4%);
}


.plan-half {
  display: flex;
  padding: 2em 0;
}
.plan-half-item {
  flex: 1;
}
.plan-half-item:first-child {
  border-right: 2px dotted rgba(0, 0, 0, 0.3);
  padding-right: 5%;
  margin-right: 5%;
}


.plan-dl {
  display: grid;
  grid-template-columns: minmax(3em, max-content) 1fr;
  column-gap: 1em;
  margin: 0;
  padding: 0;
}
.plan-dl dt {
  font-weight: 700;
  letter-spacing: 0.025em;
  width: nowrap;
}
.plan-dl dd {
}





@media screen and (max-width:834px) {


  .plan-separate {
    display: block;
    margin-left: 0;
  }
  .plan-separate .plan-section {
    width: auto;
    margin-left: 0;
    padding: min(7vw,3em) min(4vw,6%);
  }


  .plan-half {
    display: block;
    padding: 0 0;
  }
  .plan-half-item:first-child {
    border-right: none;
    border-bottom: 2px dotted rgba(0, 0, 0, 0.3);
    padding-right: 0;
    margin-right: 0;
    padding-bottom: 3em;
    margin-bottom: 3em;
  }
}

@media screen and (max-width:640px) {

  .plan {
    margin-bottom: -1em;
  }
  .plan-section {
    padding: min(7vw,3em) min(4vw,6%);
    margin-bottom: 1em;
  }
  .plan-block {
    display: block;
  }
  .plan-section-visual {
    width: clamp(200px,70%, 300px);
    padding-right: 0;
    margin: 0 auto 1em;
    border-right: none;
    display: block;
  }
  .plan-section-img {
    margin-left: 0;
    margin-top: -4em;
  }
  .plan-section-inner {
  }


  .plan-heading {
    font-size: clamp(108%,1.2vw, 124%);
  }
  .plan-heading-subTitle {
    padding-bottom: 0.4em;
  }
  .plan-heading-title {
    font-size: 170%;
  }


  .plan-heading-minTitle {
  }

  .plan-heading-jaTitle {
      font-size: 170%;
  }

}
/***********
spec
************/

.spec {
  display: flex;
  justify-content: space-between;
}
.spec-block {
  width: 48.5%;
}

.spec-section {
  padding-bottom: 3em;
}
.spec-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  font-size: clamp(100%,1.2vw, 124%);
  font-feature-settings: "palt";
  padding-bottom: 0.6em;
}
.spec-heading-box {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
}
.spec-heading-title {
  font-weight: 500;
  font-size: 154%;
  padding-right: 0.5em;
}
.spec-heading-subTitle {
  font-family: var(--font-family-gothic-en);
  font-weight: 500;
  font-size: max(85%,12px);
  padding-bottom: 0.2em;
  letter-spacing: 0.04em;
  color: var(--color-brand01);
}
.spec-desc {
  font-weight: 600;
}
.spec-desc-item {
  display: inline-block;
  margin-left: 1em;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
}

/*
table
*/

.spec-table {
  background-color: var(--color-sub04);
  font-size: clamp(100%,1.2vw, 1.24rem);
  font-feature-settings: "palt";
  line-height: 1.3;
  width: 100%;
}
.spec-table thead {
  background-color: var(--color-main);
  color: var(--color-base);
  font-family: var(--font-family-gothic-en);
}
.spec-table thead th {
  padding: 0.8em 0;
  position: relative;
  text-align: center;
  white-space: nowrap;
}
.spec-table thead th:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 1.6em);
  border-right: 2px dotted rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0.8em;
  right: -1px;
}
.spec-table tbody {
}
.spec-table tbody tr {
  border-top: 1px solid var(--color-base);
}
.spec-table tbody th {
  background-color: var(--color-brand01);
  color: var(--color-base);
  font-weight: 500;
  padding: 1em 1.2em;
  text-align: left;
}
.spec-table tbody td {
  width: 3.1em;
  padding: 0.6em 0;
  text-align: center;
  position: relative;
  color: var(--color-brand01);
  font-weight: 600;
  line-height: 1.1;
}
.spec-table tbody td:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 1.6em);
  border-right: 2px dotted rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0.8em;
  right: -1px;
}

.spec-tips {
  display: grid;
  grid-template-columns: minmax(1em, max-content) 1fr;
  row-gap: 0.1em;
  column-gap: 0.2em;
  margin: 0;
  padding: 0;
  font-size: clamp(100%,1.2vw, 124%);
}
.spec-tips dt {
  color: var(--color-brand01);
  font-weight: 600;
  white-space: nowrap;
}

@media screen and (max-width:834px) {

  .spec {
    display: block;
    max-width: 500px;
    margin: 0 auto;
  }
  .spec-block {
    width: auto;
  }

  .spec-section {
    padding-bottom: 2em;
  }
  .spec-heading {
    display: flex;
    font-size: clamp(100%,1.2vw, 124%);
  }
  .spec-heading-box {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
  }
  .spec-heading-title {
    font-size: 131%;
  }
  .spec-heading-subTitle {
    font-size: max(77%,10px);
  }
  .spec-desc {
    font-size: 85%;
  }
  .spec-desc-item {
    margin-left: 0.5em;
  }

  /*
  table
  */

  .spec-table {
    font-size: clamp(100%,1.2vw, 1.24rem);
  }
  .spec-table tbody th {
    padding: 0.5em 0.6em;
    font-weight: 400;
  }
  .spec-table thead th:not(:last-child)::after {
    height: calc(100% - 1em);
    border-right: 1px dotted rgba(255, 255, 255, 0.3);
    top: 0.5em;
  }
  .spec-table tbody td {
    width: 2.8em;
    padding: 0.5em 0;
  }
  .spec-table tbody td:not(:last-child)::after {
    content: "";
    display: block;
    width: 0;
    height: calc(100% - 1em);
    border-right: 1px dotted rgba(0, 0, 0, 0.2);
    top: 0.5em;
  }


}

/***********
dataTable
************/

.dataTable {
  background-color: var(--color-sub05);
  font-size: var(--fontSize-main);
  font-feature-settings: "palt";
  width: 100%;
  line-height: 1.6;
  border-top: 2px dotted rgba(0, 0, 0, 0.2);
  counter-reset : summaryCard_num;
}

.dataTable thead td {
  padding: 1em 1.2em ;
}
.dataTable thead th {
  padding: 1em 1.2em ;
}

.dataTable tbody tr {
  border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
}
.dataTable tbody th {
  padding: 1.2em 1.2em ;
  font-weight: 600;
  color: var(--color-brand01);
  line-height: 1.4;
  position: relative;
}
.dataTable tbody td {
  padding: 1.2em 1.2em ;
  position: relative;
}
.dataTable tbody th:not(:last-child)::after,
.dataTable tbody td:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: calc(100% - 1.6em);
  border-right: 2px dotted rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0.8em;
  right: -1px;
}

/*
setting
*/

.dataTable.-fixed {
  table-layout: fixed;
}

.dataTable.-vwide thead td ,
.dataTable.-vwide thead th{
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
.dataTable.-vwide tbody td ,
.dataTable.-vwide tbody th{
  padding-top: 1.2em;
  padding-bottom: 1.2em;
}


.dataTable.-vtop,
.dataTable.-vtop th,
.dataTable.-vtop td {
  vertical-align: top;
}

.dataTable.-alignLeft,
.dataTable.-alignLeft th,
.dataTable.-alignLeft td {
  text-align: left;
}

.dataTable.-alignCenter,
.dataTable.-alignCenter th,
.dataTable.-alignCenter td {
  text-align: center;
}


/*
size
*/

.dataTable-th.-trisect {
  width: 33%;
}
.dataTable-th.-small {
  width: 15em;
}
.dataTable-th.-xsmall {
  width: 12.5em;
}
.dataTable-th.-xxsmall {
  width: 10em;
}
.dataTable-th.-alignLeft {
  text-align: left;
}

/*
個別設定
*/

.dataTable.-flowTable {
}
.dataTable.-flowTable tbody th{
  width: 16em;
}
.dataTable.-flowTable tbody td:last-child{
  width: 10em;
}


.dataTable.-officeTable {
}
.dataTable.-officeTable tbody th{
  width: 13em;
}
.dataTable.-officeTable tbody td:nth-child(3)::after{
  display: none;
}
.dataTable.-officeTable tbody td:last-child{
  text-align: right;
}


.dataTable.-groupTable {
}
.dataTable.-groupTable tbody th{
  width: 18em;
}
.dataTable.-groupTable tbody td:nth-child(2)::after{
  display: none;
}
.dataTable.-groupTable tbody td:last-child{
  text-align: right;
}


.dataTable-numTitle {
  padding-left: 2em;
  display: inline-block;
  position: relative;
}

.dataTable-numTitle::before {
  counter-increment:summaryCard_num;
  content: counter(summaryCard_num) ;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  background-color: var(--color-brand01);
  color: var(--color-base);
  width: 2em;
  height: 2em;
  letter-spacing: 0;
  font-family: var(--font-family-gothic-en);
  font-size: 85%;
  font-weight: 500;
  border-radius: 50%;
  white-space: nowrap;
  position: absolute;
  left: 0;
  top: -0.1em;
}

@media screen and (max-width:834px) {

  .dataTable {
    font-feature-settings: "palt";
    line-height: 1.5;
  }
  .dataTable th,
  .dataTable td {
  }

  .dataTable thead td {
    padding: 1em 0.5em ;
  }
  .dataTable thead th {
    padding: 1em 0.5em ;
  }
  .dataTable tbody th {
    padding: 1em 0.5em ;
  }
  .dataTable tbody td {
    padding: 1em 0.5em ;
  }

  /*
  setting
  */

  .dataTable.-fixed {
    table-layout: fixed;
  }

  .dataTable.-vwide thead td ,
  .dataTable.-vwide thead th{
    padding-top: 1em;
    padding-bottom: 1em;
  }
  .dataTable.-vwide tbody td ,
  .dataTable.-vwide tbody th{
    padding-top: 1em;
    padding-bottom: 1em;
  }

  .dataTable.-fixed {
    table-layout: fixed;
  }
  .dataTable-th.-small {
    width: 8em;
  }
  .dataTable-th.-xxsmall {
    width: 22%;
  }
}

@media screen and (max-width:640px) {

  /*
  spBlock
  */

  .dataTable.-spBlock ,
  .dataTable.-spBlock tbody ,
  .dataTable.-spBlock th ,
  .dataTable.-spBlock td ,
  .dataTable.-spBlock tr {
    display: block;
    width: 100% !important;
  }

  .dataTable.-spBlock {
    border: none;
    padding: min(7vw,2em) 4%;
  }
  .dataTable.-spBlock tbody tr {
    border: none;
  }

  .dataTable.-spBlock tbody th {
    border: 1px solid var(--color-brand01);
    border-left: none;
    border-right: none;
    border-top: none;
    padding:0 0 0.7em 0 ;
    text-align: left;
    font-size: 108%;
  }
  .dataTable.-spBlock tbody td {
    padding: 0.6em 0em 2em ;
    font-size: 100%;
    line-height: 1.7;
    text-align: left;
  }
  .dataTable.-spBlock tbody th::after,
  .dataTable.-spBlock tbody td::after {
    display: none;
  }



  /*
  size
  */

  .dataTable-th.-trisect {
    width: 30%;
  }
  .dataTable-th.-small {
    width: 12em;
  }
  .dataTable-th.-xsmall {
    width: 9em;
  }
  .dataTable-th.-xxsmall {
    width: 7em;
  }

  /*
  個別設定
  */

  .dataTable.-flowTable {
  }
  .dataTable.-flowTable tbody th{
    width: auto;
  }
  .dataTable.-flowTable tbody td:last-child{
    width: auto;
  }
  .dataTable.-flowTable tbody td{
    padding-bottom: 0;
  }
  .dataTable.-flowTable tbody td:last-child{
    padding-bottom: 2em;
  }
  .dataTable.-flowTable tbody td:last-child::before{
    content: "所要期間： "
  }


  .dataTable.-officeTable {
  }
  .dataTable.-officeTable tbody th{
    width: auto;
  }
  .dataTable.-officeTable tbody td:last-child{
    width: auto;
  }
  .dataTable.-officeTable tbody td{
    padding-bottom: 0;
  }
  .dataTable.-officeTable tbody td:last-child{
    padding-bottom: 2em;
    text-align: right;
  }


  .dataTable.-groupTable {
  }
  .dataTable.-groupTable tbody th{
    width: auto;
  }
  .dataTable.-groupTable tbody td:last-child{
    width: auto;
  }
  .dataTable.-groupTable tbody td{
    padding-bottom: 0;
  }
  .dataTable.-groupTable tbody td:last-child{
    padding-bottom: 2em;
    text-align: right;
  }


  .dataTable-numTitle::before {
    top: -0.2em;
  }

}

/***********
officeTable
************/

.officeTable {
}
.officeTable-title {
  color: var(--color-main);
  font-weight: 500;
}
.officeTable-title-num {
  display: inline-block;
  color: var(--color-brand01);
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  font-size: 116%;
  min-width: 1.8em;
  translate: 0 0.05em;
}

.officeTable-tel {
  display: inline-block;
  white-space: nowrap;
  font-family: var(--font-family-gothic-en);
  font-weight: 600;
  line-height: 1.5;
}


.groupTable {
}
.groupTable-title {
  font-weight: 600;
  font-size: 110%;
}

@media screen and (max-width:640px) {

  .groupTable-title {
    font-size: 100%;
  }

}


/***********
article
************/

.mapLink {
  display: inline-block;
  color: var(--color-brand01);
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  font-size: clamp(0.93rem,0.9vw, 1.08rem);
  padding-right: 3.3em;
  position: relative;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
  white-space: nowrap;
}
.mapLink::after {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f08e";
  width: 2.8em;
  height: 2.8em;
  background-color: var(--color-brand01);
  color: var(--color-base);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  font-size: 93%;
  pointer-events: none;
}
.mapLink:hover {
  text-decoration: underline;
  text-decoration-color: inherit;
}

@media screen and (max-width:834px) {

  .mapLink::after {
    scale: 0.8;
  }

}


/***********
article
************/

.article {
}
.article.-box {
  background-color: var(--color-base);
  padding: min(8vw,3.3em) min(4vw,5.5%);
}

.article-eyecatch {
  padding-bottom: 3em;
}

.article-heading {
  padding-bottom: 2.5em;
}

.article-upper {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(1.16rem,1.4vw, 1.39rem);
  align-items: center;
  padding-bottom: 1em;
  justify-content: space-between;

}
.article-data {
  display: flex;
  align-items: center;
}
.article-cat {
  display: inline-block;
  background-color: var(--color-main);
  color: var(--color-base);
  padding: 0.4em 0.8em 0.4em;
  letter-spacing: 0.04em;
  font-size: 85%;
  font-weight: 500;
  font-feature-settings: "palt";
}
.article-cat i {
  margin-right: 0.4em;
}
.article-schedule {
  display: inline-block;
  padding-left: 0.6em;
  font-weight: 500;
  color: var(--color-brand01);
}
.article-time {
  display: inline-block;
  font-size: 93%;
  font-family: var(--font-family-gothic-en);
  font-weight: 500;
  white-space: nowrap;
}
.article-time::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f017";
  transform-origin: left;
  scale: 0.9;
  margin-right: 0.3em;
}

.article-writer {
  opacity: 0.7;
  font-size: 85%;
  font-weight: 450;
}

.article-title {
  font-size: clamp(1.54rem,2.8vw, 2.7rem);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  line-height: 1.4;
}


.article-tags.l-tags {
  font-size: clamp(100%,1vw, 108%);
}


@media screen and (max-width:620px) {

  .article-upper {
    padding-bottom: 1em;
    align-items: start;
  }
  .article-data {
    display: block;
    padding-bottom: 0;
  }
  .article-cat {
  }
  .article-cat i {
    margin-right: 0.4em;
  }
  .article-schedule {
    display: block;
    padding-top: 0.8em;
    padding-left: 0;
  }
  .article-time {
    font-size: 85%;
    padding: 0.2em 0 0.2em 0.8em;
  }

  .article-writer {
    padding-top: 0.5em;
    opacity: 0.7;
    font-size: 85%;
  }
}


/***********
pageVisual
************/

.pageVisual {
  padding-bottom: 5em;
}

@media screen and (max-width:834px) {

  .pageVisual {
    margin-top: ;
    padding-bottom: 3em;
    margin-left: -3.5vw;
    margin-right: -3.5vw;
  }

  .l-block-top:has(.pageVisual) {
    padding-top: 0;
  }

}

/***********
messageProf
************/

.messageProf {
}
.messageProf figcaption {
  padding-top: 1em;
  text-align: right;
  font-size: var(--fontSize-main);
  font-weight: 500;
}
.messageProf-pos {
  font-size: 85%;
}
.messageProf-name {
  font-size: 116%;
  padding-top: 0.2em;
}

@media screen and (max-width:640px) {

  .messageProf {
    text-align: center;
  }
  .messageProf img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    width: clamp(100px,45%, 240px);
    border-radius: 50%;
    aspect-ratio: 1 / 1;
  }
  .messageProf figcaption {
    text-align: center;
  }
}
/***********
messageHeadline
************/

.messageHeadline {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding-bottom: 3.5em;
}
.messageHeadline-inner {
  flex: 1;
}
.messageHeadline-logo {
  margin-left: 1em;
  max-width: clamp(80px,20vw, 160px);
}

.messageHeadline .l-largeHeading {
  padding-bottom: 0;
}

@media screen and (max-width:640px) {

  .messageHeadline {
    display: block;
    padding-bottom: 0;
  }
  .messageHeadline-inner {
    flex: 1;
  }
  .messageHeadline-logo {
    margin-left: 1em;
    margin-bottom: 1em;
    float: right;
    max-width: clamp(80px,30vw, 160px);
  }

  .messageHeadline .l-largeHeading {
    padding-bottom: 0;
    padding-bottom: 2em;
  }
}

/***********
messageBg
************/

.messageBg {
  background: url(../../img/company/message/bg01.png) no-repeat 55vw min(30vw,280px) / min(60vw,700px) auto;
}

@media screen and (max-width:834px) {

  .messageBg {
    background-size: min(80vw,400px) auto;
    background-position: 40vw -10vw;
  }

}


/***********
equipBg
************/

.equipBg01 {
  background: url(../../img/company/equipment/bg01.png) no-repeat 62vw 0 / min(60vw,600px) auto;
}
.equipBg02 {
  background: url(../../img/company/equipment/bg02.png) no-repeat 55vw 0 / min(60vw,700px) auto;
}

@media screen and (max-width:834px) {

  .equipBg01 {
    background-size: min(80vw,400px) auto;
    background-position: 40vw -10vw;
  }
  .equipBg02 {
    background-size: min(80vw,400px) auto;
    background-position: 30vw 0;
  }
}


/***********
teamBg01
************/

.teamBg01 {
  background: url(../../img/company/team/bg01.png) no-repeat 52vw bottom / min(60vw,700px) auto;
}

@media screen and (max-width:834px) {

  .teamBg01 {
    background: none;
  }

}


/***********
side
************/

.side {
  background-color: var(--color-base);
}
.side + .side {
  margin-top: 2em;
}
.side-title {
  font-size: clamp(116%,1.4vw, 139%);
  font-weight: 600;
  padding: 1.2em 1em;
  border-bottom: 1px solid var(--color-sub06);
}
.side-title i {
  vertical-align: baseline;
  margin-right: 0.5em;
  scale: 1.15;
}

/*
cat
*/

.side-cat {
}
.side-cat li:not(:last-child) {
  border-bottom: 1px solid var(--color-sub06);
}
.side-cat a {
  display: block;
  padding: 1em 1em 1em 2.5em;
  color: inherit;
  text-decoration: none;
  line-height: 1.35;
  font-size: clamp(108%,1.2vw, 124%);
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  position: relative;
}
.side-cat a::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f35a";
  position: absolute;
  left: 1em;
  top: 1.15em;
  scale: 0.8;
  color: var(--color-brand01);
}
body.is-pc .side-cat a:not([target]):hover {
  background-color: #f8f8f8;
}
body.is-pc .side-cat a:not([target]):hover::before {
}

/*
list
*/

.side-list {
  font-size: clamp(100%,1vw, 116%);
}
.side-list li:not(:last-child) {
  border-bottom: 1px solid var(--color-sub06);
}
.side-list a {
  display: block;
  padding: 1.5em 1.8em 1.8em;
  align-items: flex-start;
  color: inherit;
  text-decoration: none;
}

.side-list-block {
  display: flex;
}

.side-list-img {
  width: 46%;
}
.side-list-img img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 19 / 13;
}
.side-list-inner {
  flex: 1;
  padding-left: 1em;
  margin-top: -0.2em;
}
.side-list-cat {
  display: inline-block;
  font-size: 108%;
  font-weight: 500;color: var(--color-brand01);
}
.side-list-tags {
  font-size: 93%;
  opacity: 0.7;
  font-feature-settings: "palt";
  margin-top: 0.2em;
  line-height: 1.2;
  max-height: calc(3em * 1.2);
  overflow: hidden;
}
.side-list-tags span {
  display: inline-block;
  font-size: 85%;
}
.side-list-tags span::before{
  content: "#";
}
.side-list-tags span:not(:last-child) {
  padding-right: 0.5em;
}
body.is-pc .side-list a:not([target]):hover {
}

.side-list-title {
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: left;
  line-height: 1.4;
  margin-top: 0.8em;

  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
  transition: 0.3s;

}
body.is-pc .side-list a:hover .side-list-title {
  text-decoration-color: inherit;
}

/*
tags
*/

.l-tags.side-tags {
  padding: 1.2em;
  font-size: clamp(100%,1vw, 108%);
}

/*
search
*/

.side-search {
  border-top: 2px dotted var(--color-sub06);
  margin: 0 1em;
  text-align: center;
  padding: 1.5em 0 2.5em;
}
.side-search-title {
  font-size: clamp(108%,1.2vw, 124%);
  font-feature-settings: "palt";
  font-weight: 600;
  letter-spacing: 0.04em;
  padding-bottom: 0.8em;
}
.side-search-block {
  display: flex;
  border: 1px solid var(--color-sub03);
  border-radius: 3em;
  max-width: 230px;
  margin: 0 auto;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
}
.side-search-box {
  flex: 1;
}

.side-search-block input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  width: 100%;
  height: 36px;
  padding: 0 5px;
  font-size: 16px;
}
.side-search-block button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  background-color: var(--color-main);
  color: var(--color-base);
  width: 46px;
  height: 36px;
  font-size: 16px;
  padding-top: 4px;
  padding-right: 8px;
  cursor: pointer;
}

/*
banner
*/

.side-banner {
}
.side-banner li + li{
  margin-top: 10px;
}
body.is-pc .side-banner li a:hover {
  opacity: 0.9;
  filter: brightness(105%);
}

/*
cv
*/

.side-cv {
  background: url(../../img/bg01.jpg) no-repeat 35% center / 1024px auto;
  color: var(--color-base);
  padding: 1.8em 2em;
  text-align: center;
  font-size: clamp(116%,1.2vw, 124%);
}
.side-cv-title {
  font-feature-settings: "palt";
  font-weight: 600;
  letter-spacing: 0.06em;
  padding-bottom: 1em;
}
.side-cv-link {
}
.side-cv-btn {
  display: block;
  background-color: var(--color-base);
  color: var(--color-main);
  padding: 1.2em 1em 1.2em 2em;
  text-decoration: none;
  font-weight: 600;
  position: relative;
  white-space: nowrap;
}
body.is-pc .side-cv-btn:hover {
  background-color: var(--color-main);
  color: var(--color-base);
}
.side-cv-btn::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f0e0";
  margin-right: 0.4em;
  margin-left: -0.4em;
  scale: 1.2;
}

.side-tel {
  display: block;
  color: inherit;
  text-decoration: none;
  padding: 1.2em 0 0em;
  text-align: center;
  white-space: nowrap;
}
.side-tel-num {
  font-family: var(--font-family-gothic-en);
  font-weight: 600;
  font-size: 154%;
  letter-spacing: 0.04em;
  white-space: nowrap;
  line-height: 1.2;
}
.side-tel-num a {
  color: inherit;
  text-decoration: none;
}
.side-tel-num::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f590";
  margin-right: 0.2em;
  scale: 0.9;
  transform-origin: left;
}
.side-tel-text {
  font-feature-settings: "palt";
  font-size: 85%;
}

@media screen and (max-width:834px) {

  .side-title {
    font-size: clamp(124%,4vw, 154%);
  }

  /*
  cat
  */

  .side-cat {
  }
  .side-cat li:not(:last-child) {
    border-bottom: 1px solid var(--color-sub06);
  }
  .side-cat a {
    font-size: clamp(116%,3.6vw, 139%);
  }
  .side-cat a::before {
    top: 1.25em;
  }

  /*
  list
  */

  .side-list {
    font-size: clamp(116%,4vw, 139%);
  }
  .side-list a {
  }
  .side-list-img {
    width: 33%;
    max-width: 120px;
  }

}

/***********
pressCard
************/

.pressCard {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2.5%;
  margin-bottom: -4%;
  font-size: var(--fontSize-main);
}
.pressCard li  {
  width: 47.5%;
  margin-left: 2.5%;
  margin-bottom: 4%;
}
.pressCard li a {
  height: 100%;
  display: block;
  background-color: var(--color-base);
  color: inherit;
  text-decoration: none;
  position: relative;
}
.pressCard-img {
  border-bottom: 2px solid var(--color-sub02);
}
.pressCard-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 19 / 11;
}
.pressCard-block {
  display: flex;
  flex-direction: row-reverse;
  padding: 6% 5% ;
}

.pressCard-inner {
  flex: 1;
}
.pressCard-cat {
  display: inline-block;
  background-color: var(--color-main);
  color: var(--color-base);
  padding: 0.3em 0.8em 0.4em;
  font-size: 85%;
  font-feature-settings: "palt";
  position: absolute;
  left: -0.5em;
  top: 1em;
  z-index: 9;
  pointer-events: none;
}
.pressCard-cat i {
  margin-right: 0.4em;
}
.pressCard-title {
  font-weight: 600;
  line-height: 1.6;
}
.pressCard-tags.l-tags {
  font-size: max(77%,12px);
  font-weight: 500;
  padding-top: 1.2em;
}

.pressCard-writer {
  text-align: center;
  padding-right: 1.2em;
  padding-left: 1em;
  margin-left: -0.5em;
}
.pressCard-writer-img {
}
.pressCard-writer-img img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
}

.pressCard-writer-name {
  opacity: 0.7;
  font-size: 77%;
  line-height: 1.3;
  padding-top: 0.4em;
}

@media screen and (max-width:834px) {

  .pressCard-writer {
    padding-right: 1em;
    padding-left: 0.8em;
    margin-left: -0.5em;
  }
  .pressCard-writer-img {
  }
  .pressCard-writer-img img {
    width: 48px;
    height: 48px;
  }

}
@media screen and (max-width:520px) {

  .pressCard {
    display: block;
    margin-left: 0;
    margin-bottom: 0;
  }
  .pressCard li  {
    width: auto;
    margin-left: 0;
    margin-bottom: 1em;
  }
  .pressCard li a {
  }
  .pressCard-block {
    padding: 5% 4% ;
  }

  .pressCard-cat {
    font-size: 85%;
  }
  .pressCard-cat i {
    margin-right: 0.4em;
  }


}

/***********
newsList
************/

.newsList {
  background-color: var(--color-base);
  padding: min(8vw,3.3em) min(4vw,5.5%);
  position: relative;
}
.newsList-heading {
  padding-right: 8em;
}

.newsList-link {
  position: absolute;
  top: min(8vw,3.3em);
  right: min(4vw,5.5%);
  padding-top: 0.6em;
}
.newsList-link-btn {
  display: inline-block;
  font-size: clamp(116%,1.2vw, 124%);
  font-weight: 500;
  color: var(--color-brand01);
  text-decoration: none;
  padding: 0.2em 1.5em 0.2em 0;
  position: relative;
}
.newsList-link-btn::after {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f35a";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  line-height: normal;
}



.newsList-list {
  font-size: var(--fontSize-main);
}
.newsList-list li {
  border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
}
.newsList-list:not(.-border) li:last-child {
  border-bottom: none;
}
.newsList-list li a{
  display: flex;
  align-items: center;
  padding: 1em 2em 1em 0;
  position: relative;
  color: inherit;
  text-decoration: none;
}
.newsList-list li a::after {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f35a";
  position: absolute;
  right: 0;
  top: 50%;
  translate: 0 -50%;
  line-height: normal;
  scale: 0.85;
  color: var(--color-brand01);
}
.newsList-cat {
  display: inline-block;
  background-color: var(--color-main);
  color: var(--color-base);
  padding: 0.3em 0.8em 0.4em;
  font-size: 85%;
  font-feature-settings: "palt";
  white-space: nowrap;
}
.newsList-cat i {
  margin-right: 0.4em;
}
.newsList-inner {
  flex: 1;
  padding-left: 1.2em;
}
.newsList-title {
  height: calc(1em * 1.5);
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}


@media screen and (max-width:834px) {


  .newsList {
    padding: min(6vw,3em) min(4vw,5.5%);
  }
  .newsList-heading {
    padding-right: 0;
    text-align: center;
  }
  .newsList-heading .l-smallHeading{
    justify-content: center;
    display: block;
  }
  .newsList-heading .l-smallHeading-title{
    padding-right: 0;
  }

  .newsList-link {
    position: static;
    padding-top: 1em;
    text-align: center;
  }
  .newsList-link-btn {
    font-size: clamp(124%,3.4vw, 139%);
  }

  .newsList-list li a{
    display: flex;
    align-items: start;
  }

  .newsList-cat {
    padding: 0.2em 0.8em 0.3em;
  }
  .newsList-cat i {
    margin-right: 0.4em;
  }
  .newsList-inner {
    flex: 1;
    padding-left: 0.8em;
  }
  .newsList-title {
    height: calc(2em * 1.5);
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }


}


/***********
newsList
************/

.writer {
  background-color: var(--color-base);
  padding: min(8vw,3.3em) min(4vw,5.5%);
  position: relative;
}
.writer-heading {
}

.writer-container {
  display: flex;
  align-items: start;
  padding-bottom: 1em;
}
.writer-img {
  width: max(20%,150px);
  padding-top: 0.5em;
}
.writer-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}
.writer-inner {
  flex: 1;
  padding-left: 2em;
}
.writer-headline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: var(--fontSize-main);
  padding-bottom: 0.5em;
}
.writer-headline-title {
  font-weight: 800;
  font-size: 139%;
  font-family: var(--font-family-gothic-en);
  letter-spacing: 0.06em;
  padding-right: 0.5em;
}
.writer-headline-pos {
  font-size: 85%;
  font-weight: 600;
}
.writer-text {
  font-size: clamp(108%,1.2vw, 124%);
  line-height: 1.8;
}


@media screen and (max-width:834px) {


  .writer {
    padding: min(6vw,3em) min(4vw,5.5%);
  }
  .writer-heading .l-smallHeading{
    justify-content: center;
    display: block;
  }
  .writer-heading .l-smallHeading-title{
    padding-right: 0;
  }


}

@media screen and (max-width:520px) {

  .writer-container {
    display: block;
  }
  .writer-img {
    width: max(20%,80px);
    padding-top: 0.5em;
    margin: 0 auto;
  }
  .writer-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
  }
  .writer-inner {
    flex: 1;
    padding-left: 0;
    padding-top: 1em;
  }
  .writer-headline {
    display: block;
    text-align: center;
    padding-bottom: 0.5em;
  }
  .writer-headline-title {
    font-size: 139%;
    padding-right: 0;
  }
  .writer-headline-pos {
    font-size: 100%;
  }

}

/***********
innerCv
************/

.innerCv {
  display: flex;
  flex-direction: row-reverse;
  font-size: var(--fontSize-main);
  background-color: var(--color-base);
}
.innerCv-inner {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  padding: 1em;
}
.innerCv-title {
  font-weight: 600;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  padding-bottom: 0.8em;
}
.innerCv-link {
  text-align: center;
}
.innerCv-link-btn {
  display: block;
  max-width: 18em;
  background-color: var(--color-main);
  color: var(--color-base);
  padding: 1.2em 1em 1.2em 2em;
  margin: 0 auto;
  text-decoration: none;
  font-weight: 600;
  position: relative;
  white-space: nowrap;
}

body.is-pc .innerCv-link-btn:hover {
  background-color: var(--color-brand01);
}
.innerCv-link-btn::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f0e0";
  margin-right: 0.8em;
  margin-left: -0.8em;
  scale: 1.2;
}

.innerCv-tel {
  display: block;
  color: inherit;
  text-decoration: none;
  padding-top: 1em;
  text-align: center;
  white-space: nowrap;
}
.innerCv-tel-num {
  font-family: var(--font-family-gothic-en);
  font-weight: 600;
  font-size: 154%;
  letter-spacing: 0.04em;
  white-space: nowrap;
  line-height: 1.2;
}
.innerCv-tel-num a {
  color: inherit;
  text-decoration: none;
}
.innerCv-tel-num::before {
  font-family: 'Font Awesome 6 Free';
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-weight: 900; /* fas */
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  content: "\f590";
  margin-right: 0.2em;
  scale: 0.9;
  transform-origin: left;
}
.innerCv-tel-text {
  font-feature-settings: "palt";
  font-size: 85%;
}

.innerCv-img {
  width: 48%;
}
.innerCv-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width:520px) {


  .innerCv {
    display: block;
  }
  .innerCv-inner {
    display: block;
    padding: 2em 5%;
  }
  .innerCv-title {
  }
  .innerCv-link {
    text-align: center;
  }

  .innerCv-img {
    width: auto;
  }
  .innerCv-img img {
    aspect-ratio: 16 / 9;
  }


}





/***********
article .ez-toc-list
************/

.article .ez-toc-counter {
  background-color: #fff;
  margin: 1em 0 4em !important;
  border: 1px solid var(--color-sub03);
  border-radius: 5px;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  font-size: clamp(1.24rem,1.6vw, 1.54rem);
}
.article .ez-toc-title-container {
  font-weight: 500;
  padding: 1em 5%;
  background-color: var(--color-sub02);
}

.article nav {
  padding: 1.8em 4%;
}
.article .ez-toc-list {
  counter-reset : ez-toc_num;
}
.article .ez-toc-list > li {
  padding-left: 2.5em;
  padding-bottom: 0.6em;
}
.article .ez-toc-list > li > a {
  color: inherit;
  position: relative;
  font-weight: 500;
  position: relative;
}
.article .ez-toc-list > li > a::before{
  display: marker;
  counter-increment:ez-toc_num;
  content: counter(ez-toc_num)'. ' ;
  position: absolute;
  left: -1.7em;
  white-space: nowrap;
  font-family: var(--font-family-gothic-en);
  font-weight: 600;
  padding-top: 0.05em;
}
.article .ez-toc-list > li:nth-child(-n+9) > a::before{
  content: '0'counter(ez-toc_num)'. ' ;
}

body.is-pc .article .ez-toc-list a:hover {
}
body.is-pc .article .ez-toc-list a:hover::before {
}

/*
h3
*/

.article .ez-toc-list ul {
  padding-top: 0.4em;
  padding-bottom: 0.4em;
}
.article .ez-toc-list ul li {
  padding-left: 0.5em;
  margin-bottom: 0.2em;
}
.article .ez-toc-list ul a {
  display: inline-block;
  color: inherit;
  position: relative;
  font-size: 80%;
}
.article .ez-toc-list ul a::before {
  content: "・";
  display: inline-block;
  position: absolute;
  left: -1em;
}

/*
hover
*/

.article .ez-toc-list a {
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 0.2em;
  transition: 0.3s;
}

body.is-pc .article .ez-toc-list a:hover{
  text-decoration-color: #000;
}


@media screen and (max-width:834px) {

}

@media screen and (max-width:520px) {

  .article .ez-toc-counter {
    margin: 0 0 2em !important ;
  }
  .article nav {
    padding-top: 1em;
    padding-bottom: 1em;
    padding-left: 2%;
  }
}



/***********
faqSection
************/

.faqSection {
  border-bottom: 2px dotted var(--color-sub03);
  position: relative;
}
.faqSection:first-child {
  border-top: 2px dotted var(--color-sub03);
}
.faqSection-heading {
  font-size: var(--fontSize-main);
  font-weight: 500;
  background-color: var(--color-sub04);
  padding: 1.5em 4em 1.5em 5rem;
  min-height: 3.5em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  line-height: 1.35;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: 0.2s;
}
.faqSection-heading::before {
  content: "Q";
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 1.8em;
  height: 1.8em;
  color: var(--color-base);
  background-color: var(--color-brand01);
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  border-radius: 50%;
  position: absolute;
  left: 1em;
  top: 1.3em;
}

.faqSection-heading-icon {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background-color: var(--color-base);
  border: 1px solid var(--color-brand01);
  position: absolute;
  right: 0.8em;
  top: 1.3em;
}
.faqSection-heading-icon::before,
.faqSection-heading-icon::after{
  content: "";
  display: block;
  width: 14px;
  height: 1px;
  margin-top: -0.5px;
  background-color: var(--color-brand01);
  position: absolute;
  left: calc(50% - 7px);
  top: 50%;
}
.faqSection-heading-icon::after{
  transform: rotate(90deg);
}
.faqSection-heading.is-active .faqSection-heading-icon::after{
  transform: rotate(0deg);
}
body.is-pc .faqSection-heading:hover{
  text-decoration: underline;
  text-decoration-color: inherit;
}

.faqSection-answer {
  display: none;
}
.faqSection-answer-inner {
  padding: 2.2em 0 6em 5rem;
  position: relative;
}
.faqSection-answer-inner::before {
  content: "A";
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  width: 1.8em;
  height: 1.8em;
  color: var(--color-base);
  background-color: var(--color-main);
  font-size: var(--fontSize-main);
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  border-radius: 50%;
  position: absolute;
  left: 1em;
  top: 1.5em;
}

@media screen and (max-width:834px) {

  .faqSection-heading {
    padding: 1.5em 3em 1.5em 4rem;
  }
  .faqSection-answer-inner {
    padding: 1.2em 0 3em 4rem;
  }
  .faqSection-answer-inner::before {
    top: 1em;
  }

  .faqSection-heading-icon {
    right: 0.3em;
    scale: 0.7;
    top: 0.8em;
  }

}


@media screen and (max-width:520px) {

  .faqSection-heading {
    padding: 1em 3em 1em 4rem;
  }

  .faqSection-heading::before {
    top: 0.8em;
  }

}

/***********
overviewVisual
************/

.overviewVisual {
  color: var(--color-base);
  position: relative;
  margin-bottom: 4em;
}
.overviewVisual-img {
  position: relative;
}
.overviewVisual-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
}
.overviewVisual-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: clamp(100%,1.2vw, 120%);
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  padding: 0 1em 11em;
}
.overviewVisual-lead {
  width: clamp(180px,45%, 600px);
  margin: 0 auto;
}
.overviewVisual-title {
  font-family: var(--font-family-gothic-en);
  font-weight: 900;
  font-size: 485%;
  line-height: 1.2;
}
.overviewVisual-text {
  line-height: 1.8;
}

@media screen and (max-width:834px) {

  .overviewVisual {
    margin-bottom: 2em;
    margin-left: -4vw;
    margin-right: -4vw;
  }
  .overviewVisual-img img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
  }
  .overviewVisual-container {
    font-size: clamp(85%,2.8vw, 124%);
    padding: 0 1em 1em;
  }
  .overviewVisual-lead {
    width: clamp(180px,45%, 600px);
  }
  .overviewVisual-title {
    font-size: 254%;
    line-height: 1;
  }
  .overviewVisual-text {
    line-height: 1.6;
    padding-top: 1em;
    font-size: max(100%,13px);
  }

}


/***********
siteVisual
************/

.siteVisual {
  color: var(--color-base);
  position: relative;
  margin-bottom: 5em;
}
.siteVisual-img {
  position: relative;
}
.siteVisual-img::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.5);
}
.siteVisual-container {
  display: block;
  font-size: clamp(100%,1.2vw, 120%);
  position: absolute;
  left: 3.5em;
  bottom: 4.5em;
  z-index: 2;
  padding: 0 1em 0;
  font-family: var(--font-family-gothic-en);
}
.siteVisual-subTitle {
  letter-spacing: 0.04em;
  line-height: 1.2;
}
.siteVisual-title {
  font-weight: 900;
  font-size: 485%;
  line-height: 1;
}
.siteVisual-text {
  letter-spacing: 0.04em;
  line-height: 1.2;
}

@media screen and (max-width:834px) {

  .siteVisual {
    margin-bottom: 2em;
  }
  .siteVisual-img img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
  }
  .siteVisual-container {
    font-size: clamp(85%,2.8vw, 124%);
    left: 4vw;
    bottom: 5vw;
  }
  .siteVisual-lead {
    width: clamp(180px,45%, 600px);
  }
  .siteVisual-title {
    font-size: 354%;
    line-height: 1;
  }
  .siteVisual-text {
    line-height: 1.6;
    font-size: max(100%,13px);
  }

}


/***********
dataItem
************/

.dataItem {
  display: inline-block;
}
.dataItem:not(:last-child)::after {
  content: "／";
  padding: 0 0.5em;
}

/***********
officeMap
************/

.officeMap {
  position: relative;
  margin-bottom: 3em;
}
.officeMap-img {
  margin-left: -20px;
}
.officeMap-text {
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (max-width:834px) {

  .officeMap {
    margin-bottom: 3em;
  }
  .officeMap-img {
    margin-left: -26vw;
    margin-right: -2vw;
  }
  .officeMap-text {
    position: static;
    padding-top: 1em;
  }

}



/***********
privacy
************/

.privacy {
  counter-reset : privacy_num;
  border-top: 2px dotted rgba(0, 0, 0, 0.2);
}
.privacy-section {
  display: flex;
  padding: 2em 0;
  border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
}
.privacy-heading {
  width: 24em;
  padding-left: 4.5em;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: var(--color-brand01);
  position: relative;
}


.privacy-heading-title {
  font-weight: 600;
  font-size: clamp(124%,1.5vw, 139%);
  line-height: 1.3;
}
.privacy-inner {
  flex: 1;
  position: relative;
  padding-left: 2em;
}
.privacy-inner::after {
  content: "";
  display: block;
  width: 0px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-right: 2px dotted rgba(0, 0, 0, 0.2);
}


.privacy-heading::before {
  display: inline-block;
  counter-increment:privacy_num;
  content: counter(privacy_num)'.';
  white-space: nowrap;
  position: absolute;
  left: 1em;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-family-gothic-en);
  font-size: 147%;
  font-weight: 700;
  margin-top: 0.1em;
}
.privacy-section:not(:nth-child(n+10)) .privacy-heading::before {
  content: '0'counter(privacy_num)'.';
}


@media screen and (max-width:834px) {

  .privacy {
    margin-top: 2em;
  }
  .privacy-section {
    display: block;
    padding: 2em 0;
  }


  .privacy-heading {
    width: auto;
    padding-left: 2.5em;
    display: block;
    margin-bottom: 1em;
  }
  .privacy-heading-title {
    font-size: 131%;
  }
  .privacy-inner {
    padding-left: 0;
  }
  .privacy-inner::after {
    display: none;
  }

  .privacy-heading::before {
    left: 0;
    top: 0;
    transform: translateY(-0.1em);
    font-size: 139%;
    margin-top: 0;
  }

}

/***********
tel
************/

.tel {
  text-align: center;
  font-size: var(--fontSize-main);
}
.tel a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
}
.tel-num {
  font-family: var(--font-family-gothic-en);
  font-weight: 700;
  font-size: 200%;
  line-height: 1.2;
  letter-spacing: 0.06em;
}
.tel-text {
  font-size: 90%;
  padding-top: 0.2em;
}
.tel-text span {
  font-family: var(--font-family-gothic-en);
  font-weight: 500;
}

/***********
searchBlock
************/


.searchBlock {
  display: flex;
  border: 1px solid var(--color-sub03);
  border-radius: 3em;
  margin: 0 auto;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
}
.searchBlock-box {
  flex: 1;
}

.searchBlock input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  background-color: var(--color-base);
  width: 100%;
  height: 44px;
  padding: 0 12px;
  font-size: 16px;
}
.searchBlock button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  background-color: var(--color-main);
  color: var(--color-base);
  width: 52px;
  height: 44px;
  font-size: 16px;
  padding-top: 4px;
  padding-right: 8px;
  cursor: pointer;
}




/***********
flowChart
************/


.flowChart {
  border: 1px solid var(--color-brand01);
  padding: 2em 3% 3em;
  border-radius: 10px;
  overflow: hidden;
}
.flowChart dl.yesno_q {
  padding: 0 !important;
  margin-bottom: 1em;
  font-weight: 500;
  border: none;
}
.flowChart dl.yesno_q dt {
  margin-bottom: 0.6 !important;
}
.flowChart dl.yesno_q dt span{
  display: inline-block;
  font-weight: 600;
  font-size: clamp(1.24rem,2.4vw, 2rem);
  font-family: var(--font-family-gothic-en);
  background-color: var(--color-base);
  color: var(--color-brand01);
  border-radius: 6px;
  border: 1px solid var(--color-brand01);
  padding: 0.2em 1em;
}
.flowChart dl.yesno_q dd{
  padding: 0em !important;
  font-weight: 700;
  font-size: clamp(1.31rem,2vw, 1.7rem);
}

.flowChart #choices {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.flowChart #choices li {
  padding: 0.5%;
}
.flowChart #choices li button{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  box-shadow: none;
  border-radius: 0;
  display: inline-block;
  min-width: 7em;
  padding: 0.8em 2em ;
  font-size: clamp(1.08rem,2vw, 1.54rem);
  font-weight: 600;
  font-family: var(--font-family-gothic-en);
  color: var(--color-base);
  text-align: center;
  text-decoration: none !important;
  background-color: var(--color-brand01);
  border-radius: 10em;
  transition: all 0.2s ease;
  position: relative;
  cursor: pointer;
}
body.is-pc .flowChart #choices li button:hover {
  background-color: var(--color-brand01);
  opacity: 0.8;
}
.flowChart #choices li#back{
  text-align: center;
  width: 100%;
  padding-top: 0.5em;
}
.flowChart #choices li button#back_button{
  background-color: #888;
  width: 5em;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.flowChart #choices li:nth-child(1) {
  order: 2;
}
.flowChart #choices li:nth-child(2) {
  order: 1;
}
.flowChart #choices li:nth-child(3) {
  order: 3;
}
.flowChart #choices li:nth-child(2) button ,
body.is-pc .flowChart #choices li:nth-child(2) button:hover {
}


.flowChart + .socialBtn {
  display: none !important;
}


.flowChart .l-textMain{
  font-weight: 500;
}


/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/
