@charset "utf-8";

:root {

  --pageBgColor-1: #fff;
  --pageBgColor-2: #f0f0ee;

  --blockSize-1: 1000px;

  --blockPadding-1: 0;
  --blockPadding-2: calc(7 * var(--baseUnit));
  --blockPadding-3: calc(6 * var(--baseUnit));
}

/* breadcrumb
------------------------------------------------ */

/* table
------------------------------------------------ */
table{
  width: 100%;
  border-collapse: collapse;
}
th, td {
  font-size: 1.6rem;
  padding: 1em;
}
.cell-left {
  text-align: left;
}
.cell-center {
  text-align: center;
}
.cell-right {
  text-align: right;
}
.cell-white {
  background-color: #ffffff;
}
tr th.cell-no-left, tr td.cell-no-left {
  border-left: 0 !important;
}
tr th.cell-no-right, tr td.cell-no-right {
  border-right: 0 !important;
}
tr th.cell-no-top, tr td.cell-no-top {
  border-top: 0 !important;
}
tr th.cell-no-bottom, tr td.cell-no-bottom {
  border-bottom: 0 !important;
}
tr th.cell-border-left, tr td.cell-border-left {
  border-left: 1px solid #DDDDDD !important;
}
tr th.cell-border-right ,tr td.cell-border-right {
  border-right: 1px solid #DDDDDD !important;
}
tr th.cell-border-top, tr td.cell-border-top {
  border-top: 1px solid #DDDDDD !important;
}
tr th.cell-border-bottom, tr td.cell-border-bottom {
  border-bottom: 1px solid #DDDDDD !important;
}

.scroll-caution {
  display: none;
  color: #666;
  font-size: 1.2rem;
  text-align: left;
  margin: 0 0 0.5em;
  padding: 0 0 0 45px;
  background-image: url(../img/icon_scroll_side.png);
  background-size: 37px 14px;
  background-position: 0 50%;
  background-repeat: no-repeat;
}
td p + p,
td li + li {
  margin-top: 0.8em;
}


/*------------------------------
  table-single
------------------------------*/
.table-single {
  margin-top: 0.5em;
  width: 100%;
}
.table-single tr {
  border-top: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
}
.table-single tr:last-of-type th {
  border-bottom: 1px solid #DDDDDD;
}
.table-single th {
  width: 30%;
  min-width: 256px;
  border-top: 1px solid #DDDDDD;
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
  background-color: #F5F9FC;
}
.table-single td {
  border-bottom: 1px solid #DDDDDD;
  background-color: #ffffff;
}

@media screen and (max-width:850px) {
  .table-single th,
  .table-single td {
    width: 100%;
    display: block;
  }
  .table-single th {
    border-top: 0;
    border-right: 0;
  }
  .table-single td {
    border-bottom: 0;
  }
}

/*------------------------------
  table-multi
------------------------------*/
.table-multi thead th {
  border-right: 1px solid #DDDDDD;
  background-color: #EFEFEF;
  font-weight: normal;
  text-align: center;
}
.table-multi thead th:last-of-type {
  border-right: 0;
}
.table-multi td {
  border-right: 1px solid #DDDDDD;
}
.table-multi tbody th {
  background-color: #FAFAFA;
  border-right: 1px solid #DDDDDD;
}
.table-multi tr:nth-of-type(even) td {
  border-right: 1px solid #DDDDDD;
}
.table-multi tr td:last-of-type {
  border-right: 0;
}
.table-multi tr + tr {
  border-top: 1px solid #DDDDDD;
}

/*------------------------------
  list
------------------------------*/
ol, ul {
  font-size: 1.6rem;
}
p + ol,
p + ul {
  margin-top: 32px;
}
.main li + li {
  margin-top: 1em;
}
.list-decimal,
.list-disc,
.list-larpha {
  margin-left: 1em;
}
.list-decimal li {
  list-style-type: decimal;
}
.list-disc > li {
  padding-left: 0.55em;
  /* text-indent: -0.95em; */
  position: relative;
}
.list-disc > li::before {
  margin-right: 0.5em;
  content: '⚫︎';
  font-size: 0.6em;
  position: absolute;
  top: 1.45em;
  right: 100%;
  transform: translate(50%, -50%);
}
.list-lalpha li {
  list-style-type: lower-alpha;
}
.list-indent > li {
  margin-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width:540px) {
  /* ol, ul {
    font-size: 1.4rem;
  } */
}

/*------------------------------
  box
------------------------------*/
.box__horizontal {
  margin-top: 36px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.box__single {
  width: 80%;
  margin: 32px auto 0;
}
.box__grid {
  margin: 0 auto;
  display: grid;
}
.box__single {
  width: 80%;
  margin: 32px auto 0;
}
.box__border {
  margin-top: 32px auto 0;
  padding: 1.5em;
}
.box__bg {
  margin-top: 32px auto 0;
  padding: 1.5em;
}
@media screen and (max-width:850px) {
  .box__horizontal .box__image {
    max-width: 400px;
    margin: 0 auto;
    order: 1;
  }
  .box__horizontal .box__text {
    width: 100%;
    order: 2;
  }
}
@media screen and (max-width:540px) {
  .box__single {
    width: 100%;
  }
}

/*------------------------------
  annotation
------------------------------*/
sup,
.sup {
  vertical-align: super;
  font-size: 0.5em;
  display: inline-block;
  padding-bottom: 0.5em;
}
.annotation {
  color: #888888;
  font-size: 1.4rem;
  line-height: 1.4;
  letter-spacing: 0.01em;
}
.annotation > p {
  display: grid;
  grid-template-columns: 4em 1fr;
  gap: 4px;
}
.annotation > p::before {
  content: attr(data-mark);
  text-align: right;
}
.figcaption {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}


/*------------------------------
  superscript
------------------------------*/
sup,
.superscript {
  padding-left: 0.25em;
  font-size: 1rem;
  vertical-align: super;
}

/*------------------------------
  btn
------------------------------*/
p + .box__btn,
ul + .box__btn {
  margin-top: 32px;
}
main a.btn {
  min-width: 320px;
  display: inline-block;
  padding: 1.2em 3.6em;
  border-radius: 100px;
  color: #fff;
  text-align: center;
  position: relative;
}
.btn::after {
  content: '';
  display: block;
  width: 1.2em;
  height: 1.2em;
  background: url(../img/icon_arrow1.svg) center no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1.2em;
  transform: translate(0, -50%);
}


/* pages
------------------------------------------------ */
body {
  font-size: calc(1.6 * var(--fontBaseUnit));
}

.section__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: var(--globalContentWidth);
  margin: 0 auto;
  padding: calc(6 * var(--baseUnit)) var(--globalContentPadding);
}
.block {
  width: 100%;
}
p {
  line-height: 1.8;
}
p + p {
  margin-top: 1em;
}
@media screen and (max-width:768px) {
  .section__inner {
    padding: calc(5 * var(--baseUnit)) var(--globalContentPadding);
  }
}
@media screen and (max-width:540px) {
  /* p {
    font-size: 1.4rem;
  } */
}


/* title */
.heading01 {
  font-size: 2.8rem;
}
.heading01 + * {
  margin-top: 42px;
}
.heading02 {
  font-size: 2rem;
}
.heading02 + * {
  margin-top: 32px;
}
.heading03 {
  font-size: 1.8rem;
}
.heading03 + * {
  margin-top: 16px;
}


/* kv */
.kv {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
}
.kv__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: var(--globalContentWidth);
  padding: calc(19 * var(--baseUnit)) var(--globalContentPadding) calc(3 * var(--baseUnit));
}
.page-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(3 * var(--baseUnit));
  line-height: 1;
}
.page-title__main {
  font-size: calc(3.4 * var(--fontBaseUnit));
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.12em;
}
.page-title__sub {
  color: #0c7475;
  font-size: calc(1.6 * var(--fontBaseUnit));
  letter-spacing: 0.1em;
}
@media screen and (max-width:768px) {
  .kv {
    min-height: 174px;
  }
  .kv__inner {
    padding-top: calc(11 * var(--baseUnit));
  }
  .page-title {
    gap: calc(2 * var(--baseUnit));
  }
  .page-title__sub {
    font-size: calc(1.4 * var(--fontBaseUnit));
  }
  .page-title__main {
    font-size: calc(2.2 * var(--fontBaseUnit));
  }
}


/*------------------------------
  news
------------------------------*/
/* page-news */
.page-news {
  background-color: var(--pageBgColor-2);
}
.page-news .page-title__sub {
  text-transform: uppercase;
}
.page-news .block {
  max-width: var(--blockSize-1);
  padding: 0 var(--blockPadding-1);
}
.page-news .btn-wrapper {
  justify-content: center;
  margin-top: calc(7 * var(--baseUnit));
}
@media screen and (max-width:768px) {
  .page-news .section__inner {
    padding-top: calc(3 * var(--baseUnit));
  }
}

/* page-news-single */
.page-news-single .news-content {
  min-height: 752px;
  padding: calc(6 * var(--baseUnit));
  border-radius: 30px;
  background-color: #fff;
}
.page-news-single .news-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: calc(2.5 * var(--baseUnit));
  border-bottom: 1px solid #ccc;
  
}
.page-news-single .news-header .status {
  
}
.page-news-single .news-header .date {

}
.page-news-single .news-header .tag {

}
.page-news-single .news-header .title {
  padding-bottom: calc(2.5 * var(--baseUnit));
  font-size: calc(2.4 * var(--fontBaseUnit));
  font-weight: 600;
}
.page-news-single .news-body {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(3.5 * var(--baseUnit));
  padding-top: calc(7.5 * var(--baseUnit));
}
.page-news-single .news-body .box {

}
.page-news-single .news-body .box p {
  line-height: 1.8;
}
.page-news-single .btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: calc(6 * var(--baseUnit));
}
.page-news-single .btn-return-top {
  max-width: 89px;
}
.page-news-single .news-body:has(.logo-evis) {
  padding-top: calc(4 * var(--baseUnit));
}
.page-news-single .logo-evis {
  max-width: 188px;
  margin: 0 auto;
}
@media screen and (max-width:768px) {
  .page-news-single .news-content {
    min-height: 680px;
    padding: calc(4 * var(--baseUnit));
  }
  .page-news-single .news-header {
    gap: calc(1.5 * var(--baseUnit));
  }
  .page-news-single .news-header .title {
    font-size: calc(2 * var(--fontBaseUnit));
  }
  .page-news-single .news-body {
    gap: calc(2.5 * var(--baseUnit));
    padding-top: calc(4.5 * var(--baseUnit));
  }
  .page-news-single .news-body:has(.logo-evis) {
    padding-top: calc(2.5 * var(--baseUnit));
  }
  .page-news-single .logo-evis {
    max-width: 164px;
  }
}




/*------------------------------
  philosophy
------------------------------*/
/* page-vision */
.page-vision {
  background-color: #e8f0f2;
}
.page-vision .kv {
  background-color: #7db4be;
}
.page-vision .kv__inner {
  flex-direction: column;
  padding-bottom: 0;
}
.page-vision .kv .title-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--baseUnit));
  width: 100%;
  padding: calc(4.5 * var(--baseUnit));
  background-color: #fff;
  line-height: 1;
}
.page-vision .page-title {
  display: flex;
  align-items: baseline;
  justify-content: center;
  padding: 0.25em 0.6em 0.3em;
  border: 3px solid #000;
  font-size: calc(3.2 * var(--fontBaseUnit));
  line-height: 1.2;
  font-weight: 700;
  line-height: 1;
}
.page-vision .subtitle {
  font-size: calc(3.8 * var(--fontBaseUnit));
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.page-vision .kv .visual-block {
  aspect-ratio: 1280 / 616;
  width: 100%;
  position: relative;
}
.page-vision .kv .visual-block img {
  width: 100%;
  object-fit: cover;
}
.page-vision .kv .visual-block .caption {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.page-vision .block {
  max-width: var(--blockSize-1);
}
.page-vision .section-lead .section__inner {
  padding-top: calc(7 * var(--baseUnit));
  padding-bottom: calc(8 * var(--baseUnit));
}
.page-vision .section-lead .block {
  padding: 0 3px;
  border-left: 3px solid #000;
  border-right: 3px solid #000;
}
.page-vision .section-lead .lead {
  padding: 0 calc(4.5 * var(--baseUnit));
  border-left: 1px solid #000;
  border-right: 1px solid #000;
}
.page-vision .section-talk .section__inner {
  position: relative;
}
.page-vision .section-talk .block {
  display: flex;
  justify-content: space-between;
  gap: calc(2 * var(--baseUnit));
  position: relative;
  z-index: 1;
}
.page-vision .section-talk .section-title {
  font-size: calc(4 * var(--fontBaseUnit));
  font-weight: 600;
}
.page-vision .section-talk .block-content {
  width: 65%;
}
.page-vision .section-talk .topic {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(6 * var(--baseUnit));
  width: 100%;
}
.page-vision .section-talk .topic.highlight {
  position: relative;
}
.page-vision .section-talk .topic.highlight::before {
  content: '';
  display: none;
  width: 110%;
  height: 105%;
  border: 3px solid #fd73ff;
  pointer-events: none;
  position: absolute;
  top: -2.5%;
  left: -5%;
}
.page-vision .section-talk .topic + .topic {
  margin-top: calc(5 * var(--baseUnit));
}
.page-vision .section-talk .topic .question {
  font-weight: 500;
}
.page-vision .section-talk .answer .speaker {
  line-height: 1.4;
  display: inline-block;
  position: relative;
}
.page-vision .section-talk .answer .speaker::before {
  content: '';
  display: block;
  width: 100%;
  height: 0.5em;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.page-vision .section-talk .answer--sanbi .speaker::before {
  background-color: #b1d2d8;
}
.page-vision .section-talk .answer--riso .speaker::before {
  background-color: #fbec72;
}
.page-vision .section-talk .float-pic {
  position: absolute;
}
.page-vision .section-talk1 {
  background: linear-gradient(to right, #e8f0f2 0%, #e8f0f2 50%, #fff 50%, #fff 100%);
}
.page-vision .section-talk1 .section__inner {
  padding-bottom: 49%;
}
.page-vision .section-talk1 .section__inner::before {
  content: '';
  display: block;
  width: 66.66666667%;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.page-vision .section-talk .float-pic1 {
  width: 84.72%;
  left: 0;
  bottom: calc(-17.75 * var(--baseUnit));
  z-index: 1;
}
.page-vision .section-talk2 {
  background: linear-gradient(to right, #fff 0%, #fff 50%, #e8f0f2 50%, #e8f0f2 100%);
}
.page-vision .section-talk2 .section__inner {
  background-color: #fff;
}
.page-vision .section-talk2 .section__inner::before {
  content: '';
  display: block;
  width: 66.66666667%;
  height: 100%;
  background-color: #e8f0f2;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.page-vision .section-talk2 .float-pic-area {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: calc(6 * var(--baseUnit));
  width: 33.33333333%;
  height: 100%;
  padding-top: 15%;
  padding-bottom: calc(16 * var(--baseUnit));
  position: absolute;
  top: 0;
  left: 0;
}
.page-vision .section-talk2 .float-pic-area .float-pic2,
.page-vision .section-talk2 .float-pic-area .float-pic3,
.page-vision .section-talk2 .float-pic-area .float-pic4 {
  width: 85.41666667%;
}
.page-vision .section-talk2 .float-pic-area .float-pic3 {
  margin-left: auto;
}
.page-vision .section-talk2 .block::before {
  content: '';
  display: block;
  width: 1px;
  height: 1px;
}
@media screen and (min-width:1441px) {
  .page-vision .section-talk1 .section__inner {
    padding-bottom: 705px;
  } 
  .page-vision .section-talk2 .float-pic-area {
    padding-top: 216px;
  }
}
@media screen and (max-width:768px) {
  .page-vision .kv {
    min-height: inherit;
  }
  .page-vision .kv__inner {
    padding: 0;
  }
  .page-vision .kv .title-block {
    order: 1;
    padding: calc(4 * var(--baseUnit)) var(--globalContentPadding);
    background-color: #e8f0f2;
  }
  .page-vision .page-title {
    display: none;
  }
  .page-vision .subtitle {
    font-size: calc(2.2 * var(--fontBaseUnit));
    text-align: center;
    line-height: 1.8;
  }
  .page-vision .subtitle span {
    display: inline-block;
  }
  .page-vision .kv .visual-block .caption {
    display: none;
  }
  .page-vision .section-lead .section__inner {
    padding-top: calc(3 * var(--baseUnit));
    padding-bottom: calc(13* var(--baseUnit));
  }
  .page-vision .section-lead .lead {
    padding: 0 calc(3 * var(--baseUnit));
  }
  .page-vision .section-talk1 {
    background: #fff;
  }
  .page-vision .section-talk1 .section__inner {
    --imageAreaHeight: 75.73%;
    padding-top: calc(13* var(--baseUnit));
    padding-bottom: calc(1 * var(--baseUnit) + var(--imageAreaHeight));
  }
  .page-vision .section-talk1 .section__inner::before {
    display: none;
  }
  .page-vision .section-talk .block {
    flex-direction: column;
    position: relative;
  }
  .page-vision .section-talk1 .section-title {
    font-size: calc(2.4 * var(--fontBaseUnit));
    position: absolute;
    top: calc(-13* var(--baseUnit));
    left: 0.5em;
    transform: translate(0, -50%);
  }
  .page-vision .section-talk .block-content {
    width: 100%;
  }
  .page-vision .section-talk .topic {
    gap: calc(4 * var(--baseUnit));
  }
  .page-vision .section-talk .float-pic1 {
    width: 100%;
    left: 0;
    bottom: 0;
  }
  .page-vision .section-talk2 {
    background: #fff;
  }
  .page-vision .section-talk2 .section__inner {
    padding-top: 0;
    padding-bottom: calc(9.5 * var(--baseUnit));
    background-color: #fff;
  }
  .page-vision .section-talk2 .section__inner::before {
    display: none;
  }
  .page-vision .section-talk2 .float-pic-area {
    display: none;
  }
  .page-vision .section-talk2 .block::before {
    display: none;
  }
  .page-vision .section-talk2 .topic1 {
    padding-top: calc(5 * var(--baseUnit));
    padding-bottom: calc(9.5 * var(--baseUnit));
  }
  .page-vision .section-talk2 .topic1.highlight::before {
    content: '';
    display: block;
    width: 100vw;
    height: 100%;
    border: 0;
    background-color: #e8f0f2;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
    z-index: -1;
  }
  .page-vision .section-talk2 .topic + .topic {
    margin-top: 0;
  }
  .page-vision .section-talk2 .topic2 {
    padding-top: calc(1.5 * var(--baseUnit) + 73%);
    background-color: #fff;
    position: relative;
  }
  .page-vision .section-talk2 .topic2 .sp-float-pic {
    position: absolute;
  }
  .page-vision .section-talk2 .topic2 .sp-float-pic1 {
    width: 91%;
    top: calc(-4 * var(--baseUnit));
    left: calc(-1 * var(--globalContentPadding));
  }
  .page-vision .section-talk2 .topic2 .sp-static-pic1 {
    width: 91%;
    margin-left: auto;
    margin-top: calc(5 * var(--baseUnit));
    margin-bottom: calc(4 * var(--baseUnit));
    transform: translate(var(--globalContentPadding), 0);
  }
  .page-vision .section-talk2 .topic2 .sp-static-pic2 {
    width: 100%;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
  }
  .page-vision .footer {
    margin-top: 0;
  }

}

/* page-perpus */
.page-perpus {
  background-color: #f0f0ee;
}
.page-perpus .section + .section {
  margin-top: calc(12 * var(--baseUnit));
}
.page-perpus .section__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.page-perpus .block > .box__grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(12 * var(--baseUnit));
  margin-top: 0;
}
.page-perpus .block > .box__grid .text-box {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--baseUnit));
  width: 57.2%;
}
.page-perpus .block .section-title {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--baseUnit));
}
.page-perpus .block .section-title__main {
  font-size: calc(3.2 * var(--fontBaseUnit));
  font-weight: 600;
  line-height: 1.8;
}
.page-perpus .block .section-title__main span {
  display: inline-block;
}
.page-perpus .block .section-title__sub {
  font-size: calc(6.8 * var(--fontBaseUnit));
  font-weight: 300;
}
.page-perpus .section-vision .section__inner {
  padding-top: 0;
}
.page-perpus .section-vision .section-title__sub {
  color: #0c7475;
}
.page-perpus .section-vision .picture-box {
  width: 37%;
  transform: translate(0, -12%);
}
.page-perpus .section-future {
  background: linear-gradient(to right, #f0f0ee 0%, #f0f0ee 50%, #fff 50%, #fff 100%);
}
.page-perpus .section-future .picture-box {
  width: 32%;
}
.page-perpus .section-future .text-box {
  background-color: #fff;
  padding: calc(7 * var(--baseUnit)) 0 calc(7 * var(--baseUnit)) calc(8 * var(--baseUnit));
}
.page-perpus .section-mission .section-title__sub {
  color: #f8d166;
}
.page-perpus .section-mission .picture-box {
  width: 39.8%;
}
.page-perpus .section-value .section__inner {
  padding-bottom: calc(18 * var(--baseUnit));
}
.page-perpus .section-value .section-title__sub {
  color: #6c6b86;
}
.page-perpus .section-value .values {
  margin-top: calc(3 * var(--baseUnit));
}
.page-perpus .section-value .value-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(3.8 * var(--baseUnit));
}
.page-perpus .section-value .value-list__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: calc(3 * var(--baseUnit));
  padding: calc(4 * var(--baseUnit)) calc(3 * var(--baseUnit)) calc(3 * var(--baseUnit));
  background-color: #fff;
}
.page-perpus .section-value .value-list__item + .value-list__item {
  margin-top: 0;
}
.page-perpus .value-list__item .name {
  font-size: calc(2 * var(--fontBaseUnit));
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}
.page-perpus .value-list__item .icon {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-perpus .value-list__item .caption {
  align-self: flex-start;
  padding-left: 0.5em;
}
.page-perpus .value-list__item .caption > li {
  font-size: calc(1.5 * var(--fontBaseUnit));
}
.page-perpus .section-value .value-list__item:nth-of-type(1) .icon {
  aspect-ratio: 126/151;
  width: 126px;
  background-image: url(../img/philosophy/perpus/value_icon1.svg);
}
.page-perpus .section-value .value-list__item:nth-of-type(2) .icon {
  aspect-ratio: 122/119;
  width: 133px;
  background-image: url(../img/philosophy/perpus/value_icon2.svg);
}
.page-perpus .section-value .value-list__item:nth-of-type(3) .icon {
  aspect-ratio: 120/150;
  width: 120px;
  background-image: url(../img/philosophy/perpus/value_icon3.svg);
}
@media screen and (max-width:768px) {
  .page-perpus .section + .section {
    margin-top: calc(3 * var(--baseUnit));
  }
  .page-perpus .block .section-title {
    gap: calc(2 * var(--baseUnit));
  }
  .page-perpus .block .section-title__main {
    font-size: calc(2.2 * var(--fontBaseUnit));
    line-height: 1.6;
  }
  .page-perpus .block .section-title__sub {
    font-size: calc(3 * var(--fontBaseUnit));
  }
  .page-perpus .block > .box__grid {
    margin-top: 0;
    flex-direction: column;
    justify-content: flex-start;
    gap: calc(3 * var(--baseUnit));
  }
  .page-perpus .block > .box__grid .text-box {
    width: 100%;
    order: 1;
    gap: calc(4 * var(--baseUnit));
  }
  .page-perpus .section-vision .block > .box__grid {
    margin-top: calc(3 * var(--baseUnit));
  }
  .page-perpus .section-vision .picture-box {
    width: 73%;
    transform: none;
  }
  .page-perpus .section-future {
    background: none;
  }
  .page-perpus .section-future .picture-box {
    width: 94%;
    max-width: 460px;
    margin-top: 0;
  }
  .page-perpus .section-future .block > .box__grid {
    gap: calc(5 * var(--baseUnit));
    /* margin-top: calc(3 * var(--baseUnit)); */
  }
  .page-perpus .section-future .block > .box__grid .text-box {
    padding: calc(5 * var(--baseUnit)) var(--globalContentPadding);
    position: relative;
  }
  .page-perpus .section-future .block > .box__grid .text-box::before {
    content: '';
    display: block;
    width: 100vw;
    height: 100%;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: -1;
  }
  .page-perpus .section-mission .picture-box {
    width: 92%;
    max-width: 460px;
    margin: 0 auto;
  }
  .page-perpus .section-mission .block > .box__grid .text-box {
    gap: calc(3 * var(--baseUnit));
  }
  .page-perpus .section-mission .block > .box__grid .text-box {
    padding-bottom: calc(6 * var(--baseUnit));
  }
  .page-perpus .section-value .value-list {
    grid-template-columns: 100%;
  }
  .page-perpus .section-value .value-list__item {
    gap: calc(3.75 * var(--baseUnit));
  }
  .page-perpus .value-list__item .name {
    font-size: calc(1.8 * var(--fontBaseUnit));
    word-break: auto-phrase;
  }
  .page-perpus .value-list__item .caption > li + li {
    margin-top: 0.4em;
  }
  .page-perpus .section-value .section__inner {
    padding-bottom: calc(7 * var(--baseUnit));
  }
}


/* page-business */
.page-business {
  background-color: #efefed;
}
.page-business section + section {
  margin-top: calc(11 * var(--baseUnit));
}
.page-business .section__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.page-business .section-title {
  display: flex;
  flex-direction: column;
  gap: calc(1 * var(--baseUnit));
}
.page-business .section-title__sub {
  color: #89b2bb;
  font-size: calc(5 * var(--fontBaseUnit));
  font-weight: 300;
}
.page-business .section-seamless .section__inner {
  padding-top: 0;
}
.page-business .section-seamless .lead {
  margin-top: calc(2 * var(--baseUnit));
  font-size: calc(3.2 * var(--fontBaseUnit));
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
}
.page-business .section-seamless .box__grid {
  display: flex;
  gap: calc(3 * var(--baseUnit));
  justify-content: space-between;
  margin-top: calc(13 * var(--baseUnit));
}
.page-business .section-seamless .text-box {
  display: flex;
  flex-direction: column;
  gap: calc(5 * var(--baseUnit));
  max-width: 566px;
}
.page-business .section-seamless .picture-box {
  width: 38.8%;
  flex-shrink: 0;
}
.page-business .section-seamless .section-title + * {
  margin-top: calc(3 * var(--baseUnit));
}
.page-business .section-business-model .block {
  padding: calc(4.5 * var(--baseUnit));
  background-color: #fff;
}
.page-business .section-business-model .picture {
  width: 94%;
  margin: calc(3 * var(--baseUnit)) auto 0;
}
.page-business .section-domains .section__inner {
  padding-bottom: calc(18 * var(--baseUnit));
}
.page-business .business-domains-list {
  --min: 300px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), 1fr));
  gap: calc(6 * var(--baseUnit)) calc(5 * var(--baseUnit));
}
.page-business .business-domains-list__item + .business-domains-list__item {
  margin-top: 0;
}
.page-business .business-domains-list__item .text {
  margin-top: 0.5em;
}
@media screen and (max-width:768px) {
  .page-business .section-seamless .lead {
    margin-top: calc(4 * var(--baseUnit));
    font-size: calc(2 * var(--fontBaseUnit));
  }
  .page-business .section-seamless .lead span {
    display: inline-block;
  }
  .page-business .section-seamless .box__grid {
    flex-direction: column;
  }
  .page-business .section-seamless .text-box {
    order: 1;
  }
  .page-business .section-seamless .picture-box {
    width: 98%;
    flex-shrink: 1;
  }
  .page-business .section-seamless .box__grid {
    gap: calc(8 * var(--baseUnit));
    margin-top: calc(12 * var(--baseUnit));
  }
  .page-business .section-title__sub {
    font-size: calc(3 * var(--fontBaseUnit));
  }
  .page-business .section-seamless .text-box {
    gap: calc(2 * var(--baseUnit));
  }
  .page-business .section-seamless .section-title + * {
    margin-top: inherit;
  }
  .page-business .section-business-model .block {
    padding-bottom: calc(5 * var(--baseUnit));
    position: relative;
  }
  .page-business .section-business-model .section-title {
    align-items: center;
  }
  .page-business .section-business-model .picture {
    margin-top: calc(5 * var(--baseUnit));
  }
  .page-business .section-domains {
    margin-top: calc(5 * var(--baseUnit));
  }
  .page-business .business-domains-list {
    grid-template-columns: 100%;
    gap: calc(4 * var(--baseUnit));
  }
  .page-business .section-domains .section__inner {
    padding-bottom: calc(8 * var(--baseUnit));
  }
}


/* page-capabilities */
.page-capabilities {
  background-color: #efefed;
}
.page-capabilities .section__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.page-capabilities .section-title__sub {
  color: #89b2bb;
  font-size: calc(5 * var(--fontBaseUnit));
  font-weight: 300;
}
.page-capabilities .section-title + * {
  margin-top: calc(8 * var(--baseUnit));
}
.page-capabilities .block + .block {
  margin-top: calc(9 * var(--baseUnit));
}
.page-capabilities .block:has(.lead) + .block {
  margin-top: calc(19 * var(--baseUnit));
}
.page-capabilities .block-title {
  font-size: calc(3.2 * var(--fontBaseUnit));
  font-weight: 500;
}
.page-capabilities .block-title + * {
  margin-top: calc(4 * var(--baseUnit));
}
.page-capabilities .section-diverse .lead {
  margin-top: calc(2 * var(--baseUnit));
  font-size: calc(3.2 * var(--fontBaseUnit));
  text-align: center;
  font-weight: 600;
  line-height: 1.4;
}
.page-capabilities .section-diverse .box__grid {
  margin-top: calc(5 * var(--baseUnit));
  padding-top: calc(11 * var(--baseUnit));
  position: relative;
}
.page-capabilities .section-diverse .section__inner {
  padding-bottom: calc(9 * var(--baseUnit));
}
.page-capabilities .section-diverse .text-box {
  width: 46%;
}
.page-capabilities .section-diverse .picture-box {
  width: 35%;
  position: absolute;
  top: 0;
  right: calc(7 * var(--baseUnit));
}
.page-capabilities .genre-list {
  --min: 240px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--min), 1fr));
  gap: calc(4 * var(--baseUnit)) calc(3 * var(--baseUnit));
}
.page-capabilities .genre-list__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(5 * var(--baseUnit));
  padding: calc(9 * var(--baseUnit)) calc(2.5 * var(--baseUnit)) calc(4 * var(--baseUnit));
  background-color: #fff;
}
.page-capabilities .genre-list__item + .genre-list__item {
  margin-top: 0;
}
.page-capabilities .genre-list__item .icon {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-capabilities .genre-list__item:nth-of-type(1) .icon {
  aspect-ratio: 73 / 59;
  width: 73px;
  background-image: url(../img/business/capabilities/genre_icon1.svg);
}
.page-capabilities .genre-list__item:nth-of-type(2) .icon {
  aspect-ratio: 79 / 71;
  width: 79px;
  background-image: url(../img/business/capabilities/genre_icon2.svg);
}
.page-capabilities .genre-list__item:nth-of-type(3) .icon {
  aspect-ratio: 79 / 75;
  width: 79px;
  background-image: url(../img/business/capabilities/genre_icon3.svg);
}
.page-capabilities .genre-list__item:nth-of-type(4) .icon {
  aspect-ratio: 73 / 73;
  width: 73px;
  background-image: url(../img/business/capabilities/genre_icon4.svg);
}
.page-capabilities .genre-list__item:nth-of-type(5) .icon {
  aspect-ratio: 62 / 79;
  width: 62px;
  background-image: url(../img/business/capabilities/genre_icon5.svg);
}
.page-capabilities .genre-list__item:nth-of-type(6) .icon {
  aspect-ratio: 151 / 75;
  width: 151px;
  background-image: url(../img/business/capabilities/genre_icon6.svg);
}
.page-capabilities .genre-list__item:nth-of-type(7) .icon {
  aspect-ratio: 84 / 58;
  width: 84px;
  background-image: url(../img/business/capabilities/genre_icon7.svg);
}
.page-capabilities .genre-list__item:nth-of-type(8) .icon {
  aspect-ratio: 73 / 66;
  width: 73px;
  background-image: url(../img/business/capabilities/genre_icon8.svg);
}
.page-capabilities .genre-list__item .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: calc(2 * var(--baseUnit));
}
.page-capabilities .genre-list__item .name {
  color: #383838;
  font-size: calc(1.6 * var(--fontBaseUnit));
  font-weight: 500;
}
.page-capabilities .field-list {
  margin-left: calc(9 * var(--baseUnit));
}
.page-capabilities .field-list > li::before {
  top: 1.35em;
}
.page-capabilities .field-list > li + li {
  margin-top: 0.5em;
}
@media screen and (max-width:768px) {
  .page-capabilities .section-diverse .lead {
    font-size: calc(2 * var(--fontBaseUnit));
  }
  .page-capabilities .section-diverse .lead span {
    display: inline-block;
  }
  .page-capabilities .section-diverse .picture-box {
    width: 90%;
    right: 50%;
    transform: translate(50%, 0);
  }
  .page-capabilities .section-diverse .box__grid {
    margin-top: calc(6.5 * var(--baseUnit));
    padding-top: 90%;
  }
  .page-capabilities .section-diverse .text-box {
    width: 100%;
    padding-top: calc(4.5 * var(--baseUnit));
  }
  .page-capabilities .section-title__sub {
    font-size: calc(3 * var(--fontBaseUnit));
  }
  .page-capabilities .section-title + * {
    margin-top: calc(2.5 * var(--baseUnit));
  }
  .page-capabilities .block + .block {
    margin-top: calc(5 * var(--baseUnit));
  }
  .page-capabilities .block:has(.lead) + .block {
    margin-top: calc(10 * var(--baseUnit));
  }
  .page-capabilities .block-title {
    font-size: calc(2 * var(--fontBaseUnit));
    text-align: center;
  }
  .page-capabilities .block-title + * {
    margin-top: calc(6.5 * var(--baseUnit));
  }
  .page-capabilities .genre-list__item {
    padding: calc(7 * var(--baseUnit)) calc(2.5 * var(--baseUnit)) calc(4 * var(--baseUnit));
  }
  .page-capabilities .genre-list__item .text {
    max-width: 335px;
  }
  .page-capabilities .genre-list__item .name {
    font-size: calc(1.8 * var(--fontBaseUnit));
  }
  .page-capabilities .genre-list__item .caption {
    font-size: calc(1.6 * var(--fontBaseUnit));
  }
  .page-capabilities .field-list {
    margin-left: calc(4 * var(--baseUnit));
  }
  .page-capabilities .partner-field {
    margin-top: calc(5 * var(--baseUnit));
  }
}
@media screen and (max-width:540px) {
  .page-capabilities .genre-list {
    grid-template-columns: 100%;
  } 
}

.page-sustainability .kv {
  align-items: center;
  min-height: 658px;
  background: url(../img/sustainability/kv.jpg) no-repeat center;
  background-size: cover;
}
.page-sustainability .kv__inner {
  display: flex;
  align-items: center;
  padding-top: calc(var(--headerHeight) + calc(3 * var(--baseUnit)) + calc(8.25 * var(--baseUnit)));
  padding-bottom: calc(var(--headerHeight) + calc(3 * var(--baseUnit)) + calc(8.25 * var(--baseUnit)));
}
.page-sustainability .section-policy .section__inner {
  padding-top: calc(12 * var(--baseUnit));
  padding-bottom: calc(19 * var(--baseUnit));
}
.page-sustainability .box__grid {
  display: flex;
  justify-content: space-between;
}
.page-sustainability .section-policy .text-box {
  width: 50.7%;
}
.page-sustainability .section-title {
  font-size: calc(2.8 * var(--fontBaseUnit));
  font-weight: 600;
  line-height: 1.8;
}
.page-sustainability .section-title + * {
  margin-top: calc(3 * var(--baseUnit));
}
.page-sustainability .block-title {
  padding: 4px 0 4px 20px;
  font-size: calc(1.9 * var(--fontBaseUnit));
  font-weight: 600;
  line-height: 1.4;
  position: relative;
}
.page-sustainability .block-title::before {
  content: '';
  display: block;
  width: 6px;
  height: 100%;
  background-color: #377274;
  position: absolute;
  top: 0;
  left: 0;
}
.page-sustainability .block-title + * {
  margin-top: calc(1 * var(--baseUnit));
}
.page-sustainability .section-policy .image-box {
  width: 41%;
}
.page-sustainability .section-environment {
  background-color: #efefed;
}
.page-sustainability .section-environment .section__inner {
  padding-top: 0;
  padding-bottom: 0;
}
.page-sustainability .section-environment .block {
  
}
.page-sustainability .section-environment .box__grid {
  position: relative;
}
.page-sustainability .section-environment .text-box {
  width: 50%;
}
.page-sustainability .section-environment .image-box {
  position: absolute;
}
.page-sustainability .section-environment .block1 {
  padding-top: calc(8 * var(--baseUnit));
  
}
.page-sustainability .section-environment .block1 .box__grid {
  padding-bottom: calc(12 * var(--baseUnit));
}
.page-sustainability .section-environment .block1 .text-box {
  margin-left: auto;
}
.page-sustainability .section-environment .block1 .image-box {
  width: 52%;
  left: 0;
  bottom: 0;
  transform: translate(calc(-1 * var(--globalContentPadding)), 0);
}
.page-sustainability .section-environment .block2 {
  padding-top: calc(8 * var(--baseUnit));
}
.page-sustainability .section-environment .block2 .box__grid {
  padding-bottom: calc(18 * var(--baseUnit));
}
.page-sustainability .section-environment .block2 .image-box {
  width: 41%;
  right: 0;
  bottom: 0;
  transform: translate(var(--globalContentPadding), 0);
}
.page-sustainability .section-local .section__inner {
  padding-top: calc(17 * var(--baseUnit));
  padding-bottom: calc(17 * var(--baseUnit));
}
.page-sustainability .section-local .box__grid {
  position: relative;
}
.page-sustainability .section-local .image-box {
  position: absolute;
}
.page-sustainability .section-local .block1 .box__grid {
  padding-bottom: calc(19 * var(--baseUnit));
}
.page-sustainability .section-local .block1 .text-box {
  width: 54%;
}
.page-sustainability .section-local .block1 .image-box {
  width: 44%;
  top: 0;
  right: 0;
  transform: translate(var(--globalContentPadding), 0);
}
.page-sustainability .section-local .text-box .box + .box {
  margin-top: calc(7 * var(--baseUnit));
}
.page-sustainability .section-local .block2 .box__grid {
  padding-top: calc(8 * var(--baseUnit));
  padding-bottom: calc(10 * var(--baseUnit));
}
.page-sustainability .section-local .block2 .text-box {
  width: 48%;
  margin-left: auto;
}
.page-sustainability .section-local .block2 .image-box {
  width: 52%;
  bottom: 0;
  left: 0;
  transform: translate(calc(-1 * var(--globalContentPadding)), 0);
}
.page-sustainability .section-diversity {
  background-color: #efefed;
}
.page-sustainability .section-diversity .section__inner {
  padding-top: calc(9 * var(--baseUnit));
  padding-bottom: calc(16 * var(--baseUnit));
  position: relative;
}
.page-sustainability .section-diversity .text-box {
  width: 54%;
}
.page-sustainability .section-diversity .image-box {
  width: 40%;
  position: absolute;
  bottom: calc(-7 * var(--baseUnit));
  right: 0;
}
.page-sustainability .section-external p,
.page-sustainability .section-external .section-title + p {
  margin-top: calc(6 * var(--baseUnit));
}
.page-sustainability .section-external p + .box__table,
.page-sustainability .section-external .box__table + p {
  margin-top: calc(8 * var(--baseUnit));
} 
.page-sustainability .section-external .table-external {
  max-width: 784px;
  margin: 0 auto;
  border: 1px solid #beb8b8;
}
.page-sustainability .section-external .table-external td {
  width: 50%;
  padding: 0.75em 1.5em;
  border-top: 0;
  border-bottom: 0;
  border-right: 1px solid #beb8b8;
}
.page-sustainability .section-external .table-external tr:nth-of-type(odd) td {
  background-color: #efefed;
}
@media screen and (max-width:768px) {
  .page-sustainability .kv {
    min-height: 500px;
  }
  .page-sustainability .box__grid {
    flex-direction: column;
    align-items: center;
    gap: calc(4 * var(--baseUnit));
  }
  .page-sustainability .section-policy .section__inner {
    padding-top: calc(4 * var(--baseUnit));
    padding-bottom: calc(2.5 * var(--baseUnit) + 24%) ;
  }
  .page-sustainability .section-title {
    font-size: calc(2.2 * var(--fontBaseUnit));
    line-height: 1.6;
  }
  .page-sustainability .section-title span,
  .page-sustainability .block-title span {
    display: inline-block;
  }
  .page-sustainability .section-title + * {
    margin-top: calc(4 * var(--baseUnit));
  }
  .page-sustainability .section-policy .text-box {
    width: 100%;
  }
  .page-sustainability .section-policy .image-box {
    width: 99%;
  }
  .page-sustainability .section-environment .text-box {
    width: 100%;
  }
  .page-sustainability .section-environment .block1 {
    padding-top: 56%;
  }
  .page-sustainability .section-environment .block1 .text-box {
    margin-left: inherit;
  }
  .page-sustainability .section-environment .block1 .image-box {
    width: 99.8%;
    transform: none;
    bottom: 100%;
    left: calc(-1 * var(--globalContentPadding));
  }
  .page-sustainability .section-environment .block1 .box__grid {
    padding-top: calc(5.5 * var(--baseUnit));
    padding-bottom: calc(4.5 * var(--baseUnit) + 74.4%) ;
  }
  .page-sustainability .section-environment .block2 {
    padding-top: 0;
  }
  .page-sustainability .section-environment .block2 .image-box {
    width: 100vw;
    bottom: 100%;
    transform: translate(var(--globalContentPadding), 0);
  }
  .page-sustainability .section-environment .block2 .box__grid {
    padding-top: calc(4 * var(--baseUnit));
    padding-bottom: calc(4 * var(--baseUnit) + 32%) ;
  }
  .page-sustainability .block-title + * {
    margin-top: calc(3 * var(--baseUnit));
  }
  .page-sustainability .section-local .section__inner {
    padding-top: 0;
    padding-bottom: calc(6 * var(--baseUnit) + 24%);
  }
  .page-sustainability .section-local .block1 {
    padding-top: 32%;
  }
  .page-sustainability .section-local .block1 .box__grid {
    padding-top: calc(4 * var(--baseUnit));
    padding-bottom: calc(4 * var(--baseUnit) + 89%);
  }
  .page-sustainability .section-local .block1 .image-box {
    width: 99.8%;
    bottom: 100%;
    top: auto;
  }
  .page-sustainability .section-local .block1 .text-box {
    width: 100%;
  }
  .page-sustainability .section-local .block2 .box__grid {
    padding-top: calc(4 * var(--baseUnit));
    padding-bottom: 0;
  }
  .page-sustainability .section-local .block2 .text-box {
    width: 100%;
    margin-left: inherit;
  }
  .page-sustainability .section-local .block2 .image-box {
    width: 100vw;
    bottom: 100%;
  }
  .page-sustainability .section-diversity .section__inner {
    padding-top: 40%;
    padding-bottom: calc(4 * var(--baseUnit));
  }
  .page-sustainability .box__grid {
    padding-top: calc(5 * var(--baseUnit));
    position: relative;
  }
  .page-sustainability .section-policy .box__grid {
    padding-top: 0;
  }
  .page-sustainability .section-diversity .text-box {
    width: 100%;
  }
  .page-sustainability .section-diversity .image-box {
    width: 99%;
    bottom: 100%;
    left: 0;
    right: auto;
    transform: translate(calc(-1 * var(--globalContentPadding)), 0);
  }
  .page-sustainability .section-external p,
  .page-sustainability .section-external .section-title + p,
  .page-sustainability .section-external p + .box__table,
  .page-sustainability .section-external .box__table + p {
    margin-top: calc(4 * var(--baseUnit));
  }
  .page-sustainability .section-external .table-external td {
    width: 100%;
    display: block;
    border-right: 0;
  }
  .page-sustainability .section-external .table-external tr td:nth-of-type(1) {
    padding-bottom: 0.5em;
    font-weight: 500;
  }
  .page-sustainability .section-external .table-external tr td:nth-of-type(2) {
    padding-top: 0;
  }
  .page-sustainability .section-external .table-external td > span {
    display: inline-block;
  }
}

/* page-gallery */
.page-gallery .kv {
  justify-content: flex-start;
  min-height: inherit;
}
.page-gallery .kv__inner {
  justify-content: flex-start;
  width: 100%;
  max-width: var(--globalContentWidth);
  margin: 0 auto;
  padding: calc(15 * var(--baseUnit)) var(--globalContentPadding) calc(2 * var(--baseUnit));
}
.page-gallery .page-title {
  align-items: flex-start;
}
.page-gallery .gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(2 * var(--baseUnit));
}
.page-gallery .gallery-grid__list {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(2 * var(--baseUnit));
}
.page-gallery .gallery-grid__list li {
  overflow: hidden;
} 
.page-gallery .gallery-grid__list li + li {
  margin-top: 0;
}
.page-gallery .gallery-grid__list li a {
  display: flex;
  justify-content: center;
  align-items: center;
}
.page-gallery .gallery-grid__list li a img {
  transition: transform  0.6s cubic-bezier(.4,0,.2,1);
}
.page-gallery .gallery-grid__list li a:hover img {
  transform: scale(1.1);
}
.page-gallery .lightboxOverlay {
  opacity: 0.9;
}
.page-gallery .lb-outerContainer {
  /* width: 100% !important; */
  /* height: calc(100vh - 240px); */
}
.page-gallery .lb-container {
  /* height: 100%; */
}
.page-gallery .lightbox .lb-image {
  /* width: 100% !important; */
  /* height: 100% !important; */
  /* object-fit: cover; */
  border-radius: 0;
  border: 0;
}
.page-gallery .lb-dataContainer {
  padding-top: calc(2 * var(--baseUnit));
}
.page-gallery .lightbox .lb-caption {
  /* font-family: "Roboto", sans-serif; */
  color: #fff;
  font-size: calc(1.8 * var(--fontBaseUnit));
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.2em;
}
.page-gallery .lightbox .lb-details {
  width: 100%;
  text-align: center;
}
.page-gallery .lightbox .lb-data .lb-closeContainer {
  display: none;
}
.lb-nav a.lb-next {
  /* width: 34%; */
  width: 45%;
  background: url(../img/common/icon_next.svg) no-repeat right 5% center;
  /* background-size: 16.2%; */
  background-size: 13.2%;
  opacity: 1;
}
.lb-nav a.lb-prev {
  /* width: 34%; */
  width: 45%;
  background: url(../img/common/icon_prev.svg) no-repeat left 5% center;
  /* background-size: 16.2%; */
  background-size: 13.2%;
  opacity: 1;
}
@media screen and (max-width:768px) {
  .page-gallery .gallery,
  .page-gallery .gallery-grid__list {
    gap: calc(1 * var(--baseUnit));   
  }
  .page-gallery .lightbox .lb-caption {
    font-size: calc(1.6 * var(--fontBaseUnit));
  }
}
@media screen and (max-width:540px) {
  .page-gallery .lightbox {
    position: fixed;
    top: 50% !important;
    transform: translate(0, -50%);
  }
  .page-gallery .lightbox .lb-caption {
    font-size: calc(1.4 * var(--fontBaseUnit));
  }
}


/* page-profile */
.page-profile .section__inner {
  max-width: 1160px;
}
.page-profile .section-profile .section__inner {
  padding-bottom: calc(20 * var(--baseUnit));
}
.page-profile .kv {
  background: url(../img/profile/kv_bg.jpg) no-repeat center;
  background-size: cover;
}
.page-profile .block:first-of-type {
  margin-top: calc(3 * var(--baseUnit));
}
.page-profile .block + .block {
  margin-top: calc(10 * var(--baseUnit));
}
.page-profile .block-title {
  padding-left: calc(1.2 * var(--baseUnit));
  padding-bottom: calc(3.5 * var(--baseUnit));
  border-bottom: 1px solid #ccc;
  color: #377274;
  font-size: calc(2 * var(--fontBaseUnit));
  font-weight: 500;
  line-height: 1.4;
}
.page-profile .block-title.no-border {
  border-bottom: 0;
}
.page-profile .topic-title {
  padding-left: 0.77em;
  font-size: calc(1.8 * var(--fontBaseUnit));
  font-weight: 500;
  position: relative;
}
.page-profile .topic-title::before {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  background-color: #377274;
  position: absolute;
  top: 0;
  left: 0;
}
.page-profile .table-profile tbody tr:first-of-type th,
.page-profile .table-profile tbody tr:first-of-type td {
  border-top: 0;
}
.page-profile .table-profile tbody th {
  padding: calc(3.5 * var(--baseUnit)) calc(1.2 * var(--baseUnit));
  font-weight: 500;
  text-align: left;
  line-height: 1.6;
  vertical-align: top;
}
.page-profile .table-profile tbody th.mw-180 {
  width: calc(23 * var(--baseUnit));
}
.page-profile .table-profile tbody th.blank {
  width: calc(5 * var(--baseUnit)); 
  padding: 0;
  border: 0;
}
.page-profile .table-profile tbody tr:not(:last-of-type) th:has(.topic-title) {
  border-bottom: 0;
}
.page-profile .table-profile tbody td {
  padding: calc(3.5 * var(--baseUnit)) calc(1.2 * var(--baseUnit));
}
.page-profile .table-profile .wide-space {
  letter-spacing: 1em;
}
.page-profile .section-profile .list-disc {
  margin-top: calc(3.5 * var(--baseUnit)); 
  margin-left: calc(2 * var(--baseUnit)); 
}
.page-profile .section-profile .list-disc > li {
  position: relative;
}
.page-profile .section-profile .list-disc > li::marker {
  content: '';
}
.page-profile .section-profile .list-disc > li::before {
  content: '⚫︎';
  font-size: 0.4em;
  position: absolute;
  top: 1.25em;
  /* left: 0; */
  transform: translate(100%, 0);
}
.page-profile .section-profile .list-disc > li + li {
  margin-top: 1.5em;
}
@media screen and (max-width:768px) {
  .page-profile .kv {
    min-height: 500px;
  }
  .page-profile .section-profile .section__inner {
    padding-bottom: calc(10 * var(--baseUnit));
  }
  .page-profile .block-title {
    text-align: center;
  }
  .page-profile .block:first-of-type {
    margin-top: 0;
  }
  .page-profile .table-profile tbody th,
  .page-profile .table-profile tbody td {
    display: block;
  }
  .page-profile .table-profile tbody tr:first-of-type th {
    border-top: 1px solid #ddd;
  }
  .page-profile .table-profile tbody tr:last-of-type td {
    border-bottom: 2px solid #ddd;
  }
  .page-profile .table-profile tbody th {
    padding: 1em 1em 0 0;
    border-bottom: 0;
  }
  .page-profile .table-profile tbody th.mw-180 {
    width: 100%;
  }
  .page-profile .table-profile tbody td {
    padding: 0.5em 1em 1em 0;
    border-top: 0;
  }
  .page-profile .table-profile .wide-space {
    letter-spacing: inherit;
  }
  .page-profile .table-profile .small {
    font-size: calc(1.2 * var(--fontBaseUnit));
  }
  .page-profile .section-profile .list-disc > li + li {
    margin-top: 0.5em;
  }
  .page-profile .section-profile p + p {
    margin-top: 0.25em;
  }
  .page-profile .topic-title {
    font-size: calc(1.6 * var(--fontBaseUnit));
  }
  .page-profile .section-profile .block4 th:not(:has(.topic-title)),
  .page-profile .section-profile .block4 td {
    padding-left: 0.77em;
  }
}


/* page-contact */
.page-contact {
  background-color: #f0f0ee;
}
.page-contact .block {
  padding: calc(9 * var(--baseUnit)) calc(6 * var(--baseUnit)) calc(18 * var(--baseUnit));
  border-radius: 20px;
  background-color: #fff;
}
.contact-form .form__item-list {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(3.5 * var(--baseUnit));
}
.contact-form .form-item {
  display: grid;
  grid-template-columns: 160px 1fr;
  font-size: calc(1.6 * var(--fontBaseUnit));
}
.contact-form .item-name {
  display: grid;
  grid-template-columns: 100%;
  align-content: start;
  gap: 0.375em;
  padding-top: 0.5em;
  line-height: 1.2;
  position: relative;
}
.contact-form .form-item.required .item-name::after {
  content: '必須';
  display: inline-block;
  width: fit-content;
  padding: 0.375em 0.75em;
  background-color: #e19577;
  font-size: 1em;
  color: #fff;
  line-height: 1;
  position: absolute;
  top: 1.5em;
  left: 0;
  transform: translate(0, 35%);
}
.contact-form input {
  max-width: 490px;
  font-family: 'Noto Sans JP', sans-serif;
}
.contact-form textarea {
  font-family: 'Noto Sans JP', sans-serif;
}
.contact-form input[type="text"],
.contact-form input[type="mail"],
.contact-form input[type="tel"],
.contact-form textarea {
  appearance: none;
  padding: 1em 1em;
  border: 1px solid #d9dcdb;
  border-radius: 3px;
  font-size: calc(1.6 * var(--fontBaseUnit));
}
.contact-form input[type="text"]::placeholder,
.contact-form input[type="mail"]::placeholder,
.contact-form input[type="tel"]::placeholder,
.contact-form textarea::placeholder {
  color: #bfc0c6;
}
.contact-form .form__grid-box {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: calc(2 * var(--baseUnit)) calc(3 * var(--baseUnit));
}
.contact-form .input-box {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(1 * var(--baseUnit));
}
.contact-form .error-message {
  display: none;
  color: #ff0000;
  font-size: 0.9em;
}
.contact-form .form-item.error .error-message {
  display: block;
}
.contact-form .form__privacy-check {
  display: flex;
  justify-content: center;
  margin-top: calc(4 * var(--baseUnit)); 
}
.contact-form .form__privacy-check .checkitem-box {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.contact-form .form__privacy-check .checkitem-box input {
  flex-shrink: 0;
}
.contact-form .form__privacy-check a {
  text-decoration: underline;
}
.contact-form .security-confirm-wrapper {
  display: none;
  visibility: hidden;
}
.contact-form .form__btn-wrapper {
  display: flex;
  justify-content: center;
  margin-top: calc(4 * var(--baseUnit));
}
.contact-form .submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 260px;
  padding: 0.8em 2em;
  border: 0;
  /* border: 2px solid #0c7475; */
  outline: none;
  border-radius: 200px;
  background-color: #0c7475;
  color: #fff;
  font-size: calc(2 * var(--fontBaseUnit));
  font-weight: 500;
  line-height: 2;
  cursor: pointer;
}
.contact-form .submit-btn:not(:disabled):hover {
  text-decoration: underline;
}
.contact-form .submit-btn:disabled {
  background-color: #ccc;
}
.page-contact-thanks .thanks-message {
  text-align: center;
}
.page-contact-thanks .block {
  padding: calc(9 * var(--baseUnit)) calc(6 * var(--baseUnit));
}
@media screen and (max-width:768px) {
  .page-contact .block {
    padding: calc(4 * var(--baseUnit)) var(--globalContentPadding) calc(6 * var(--baseUnit));
  }
  .contact-form .form__item-list {
    gap: calc(3 * var(--baseUnit));
  }
  .contact-form .form-item {
    grid-template-columns: 100%;
    gap: calc(1.25 * var(--baseUnit));
    margin-top: 0;
  }
  .contact-form .item-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(0.75 * var(--baseUnit));
    padding-top: 0;
    font-size: calc(1.4 * var(--fontBaseUnit));
  }
  .contact-form .form-item.required .item-name::after {
    position: static;
    top: auto;
    left: auto;
    transform: none;
    font-size: calc(1 * var(--fontBaseUnit));
  }
  .contact-form .form__grid-box {
    gap: calc(2 * var(--baseUnit));
  }
  .contact-form input[type="text"],
  .contact-form input[type="mail"],
  .contact-form input[type="tel"],
  .contact-form textarea {
    padding: 0.5em;
    border-radius: 6px;
  }
  .contact-form input[type="text"],
  .contact-form input[type="mail"],
  .contact-form input[type="tel"] {
    width: 100%;
  }
  .contact-form .form__privacy-check {
    margin-top: calc(2.25 * var(--baseUnit));
    font-size: calc(1.2 * var(--fontBaseUnit));
  }
  .contact-form .form__btn-wrapper {
    margin-top: calc(3.5 * var(--baseUnit));
  }
  .contact-form .submit-btn {
    max-width: 180px;
    font-size: calc(1.6 * var(--fontBaseUnit));
    line-height: 1;
  }
}
@media screen and (max-width:540px) {
  .page-contact .block {
    padding: calc(2 * var(--baseUnit)) var(--globalContentPadding) calc(6 * var(--baseUnit));
  }
  .contact-form .submit-btn {
    max-width: 142px;
  }
}

/* .page-contact-confirm */
.page-contact-confirm .block {
  max-width: 880px;
}
.page-contact-confirm .form-title {
  font-size: calc(1.6 * var(--fontBaseUnit));
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
.page-contact-confirm .form-title + * {
  margin-top: calc(8 * var(--baseUnit));
}
.page-contact-confirm .table-wrapper {
  overflow: auto;
}
.page-contact-confirm .table-confirm {
  margin: 0 auto;
  max-width: 100%;
}
.page-contact-confirm .table-confirm th,
.page-contact-confirm .table-confirm td {
  text-align: left;
}
.page-contact-confirm .table-confirm th {
  min-width: 200px;
  font-weight: 400;
}
.page-contact-confirm .message-box {
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
.page-contact-confirm .error_messe {
  color: #ff0000;
  font-weight: 400;
}
.page-contact-confirm .btn-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: calc(3 * var(--baseUnit));
  margin-top: calc(8 * var(--baseUnit));
}
.page-contact-confirm .submit-btn,
.page-contact-confirm .return-edit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 260px;
  padding: 0.8em 2em;
  border: 2px solid #0c7475;
  outline: none;
  border-radius: 200px;
    font-size: calc(1.8 * var(--fontBaseUnit));
  font-weight: 500;
  line-height: 2;
  cursor: pointer;

}
.page-contact-confirm .submit-btn {
  background-color: #0c7475;
  color: #fff;
}
.page-contact-confirm .return-edit-btn {
  
  background-color: #fff;
  color: #0c7475;
}
.page-contact-confirm .submit-btn:hover,
.page-contact-confirm .return-edit-btn:hover {
  text-decoration: underline;
}
@media screen and (max-width:768px) {
  .page-contact-confirm .submit-btn,
  .page-contact-confirm .return-edit-btn {
    max-width: 180px;
    font-size: calc(1.6 * var(--fontBaseUnit));
    line-height: 1;
  }
}
@media screen and (max-width:540px) {
  .page-contact-confirm .block {
    padding: calc(4 * var(--baseUnit)) var(--globalContentPadding) calc(6 * var(--baseUnit));
  }
  .page-contact-confirm .table-confirm tr {
    display: flex;
    flex-direction: column;
    gap: calc(1 * var(--baseUnit));
  }
  .page-contact-confirm .table-confirm tr:not(:first-of-type) th,
  .page-contact-confirm .table-confirm tr:not(:first-of-type) td {
    border-top: 0;
  }
  .page-contact-confirm .table-confirm th,
  .page-contact-confirm .table-confirm td {
    display: block;
    max-width: 100%;
  }
  .page-contact-confirm .table-confirm th {
    min-width: inherit;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .page-contact-confirm .table-confirm td {
    padding-top: 0;
    border-top: 0;
  }
}
@media screen and (max-width:350px) {
  .page-contact-confirm .submit-btn,
  .page-contact-confirm .return-edit-btn {
    width: 100%;
    max-width: inherit;
    padding-left: 1em;
    padding-right: 1em;
  }
}




/* page-privacy-policy */
.page-privacy-policy .kv {
  background: url(../img/privacy-policy/kv_bg.jpg) no-repeat center;
  background-size: cover;
}
.page-privacy-policy .page-title__sub,
.page-privacy-policy .page-title__main {
  color: #fff;
}
.page-privacy-policy .block {
  display: grid;
  grid-template-columns: 100%;
  gap: calc(4 * var(--baseUnit));
}
.page-privacy-policy .block + .block {
  margin-top: calc(8 * var(--baseUnit));
}
/* .page-privacy-policy .block-title + *,
.page-privacy-policy .lead + .block-title {
  margin-top: calc(4 * var(--baseUnit));
} */
.page-privacy-policy .block-title {
  padding-left: 0.8333em;
  font-size: calc(1.8 * var(--fontBaseUnit));
  font-weight: 600;
  position: relative;
}
.page-privacy-policy .block-title::before {
  content: '';
  display: block;
  width: 4px;
  height: 100%;
  background-color: #0c7475;
  position: absolute;
  top: 0;
  left: 0;
}
.page-privacy-policy .section-policy .list-disc {
  margin-top: 0;
  margin-left: calc(2 * var(--baseUnit));
}
.page-privacy-policy .section-policy .list-disc > li {
  position: relative;
}
.page-privacy-policy .section-policy .list-disc > li::marker {
  content: '';
}
.page-privacy-policy .section-policy .list-disc > li::before {
  content: '⚫︎';
  font-size: 0.4em;
  position: absolute;
  top: 1.4em;
  /* left: 0; */
  transform: translate(100%, 0);
}
.page-privacy-policy .section-policy .list-disc > li + li {
  margin-top: 0.5em;
}
@media screen and (max-width:768px) {
  .page-privacy-policy .block {
    gap: calc(3 * var(--baseUnit));
  }
  .page-privacy-policy .block + .block {
    margin-top: calc(3 * var(--baseUnit));
  }
  .page-privacy-policy .block-title {
    font-size: calc(1.6 * var(--fontBaseUnit));   
  }
  .page-privacy-policy .block p + p {
    margin-top: 0;
  }
}