@charset "UTF-8";

:root {
  --color-01: rgba(0, 131, 62, 1);
  --color-01b: rgba(0, 131, 62, 0.15);
  --color-01c: rgba(0, 131, 62, 0.07);
  --color-02: rgba(239, 239, 239, 1);
  --color-03: rgba(255, 173, 13, 1);
  --color-04: rgba(169, 169, 169, 1);
  /*	▼日付薄目グレー*/
  --color-05: rgba(146, 146, 146, 1);
  /*	▼お知らせ*/
  --color-06: rgba(194, 234, 255, 1);
  /*	▼ニュースリリース*/
  --color-07: rgba(206, 245, 190, 1);
  /*	▼トピックス*/
  --color-08: rgba(255, 226, 212, 1);
  /*	▼newsテキスト＆スライド数字*/
  --color-09: rgba(26, 26, 26, 1);
  /*	▼hoverの濃い水色*/
  --color-10: rgba(29, 160, 155, 1);
  /*	▼サブスライダー背景色*/
  --color-11: rgba(243, 242, 232, 1);
}

svg:not(:root) {
  overflow: hidden;
}

section {
  width: 100%;
  position: relative;
}
section.effect {
}
section.effect > .inner {
  top: 30px;
  opacity: 0;
  -webkit-transition-property: top, opacity;
  transition-property: top, opacity;
  -webkit-transition-duration: 1.1s;
  transition-duration: 1.1s;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}
section.effect.appear > .inner {
  top: 0;
  opacity: 1;
}
/*==============================*/
/*  ここから下は1番目のスライド*/
/*==============================*/

/*260302当たるよう、セレクター追加*/
.topics svg,
.business-slider svg,
main svg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  fill: rgba(0, 0, 0, 0);
  stroke: rgba(0, 0, 0, 0);
  stroke-width: 1;
  stroke-opacity: 1;
  stroke-linecap: round;
  stroke-linejoin: miter;
}
/*260302当たるよう、セレクター追加*/
/*
.topics a ,
.topics label
main a,
main label{
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
}
*/

/*260302高さ100パーセントが当たるよう、セレクター追加*/
.topics figure,
.topics .figelm,
.business-slider figure,
.business-slider .figelm {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  height: 100%;
  font-size: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 100% auto;
  -webkit-backface-visibility: hidden;
}
.topics.effect.normal,
.forPersonal.effect.business-slider,
.forCorporate.effect.business-slider {
  overflow: hidden;
}

@media only screen and (min-width: 769px) {
  /*================*/

  .top__news {
    padding-bottom: 0.5rem;
  }

  /*================*/
  section.topics {
  }

  section.topics > .inner {
    width: 100%;
  }

  /*----*/
  section.topics .area-ttl {
    padding: 85px 0 0 0;
    width: 1000px;
    margin: 0 auto 0 auto;
  }

  section.topics .area-ttl h2 {
    text-indent: 8px;
  }

  section.topics .area-ttl h2 span {
    background-image: url(/top/img/char_title_topics.svg);
  }

  /*----*/
  section.topics .area-list {
    /*        padding: 0 0 35px 0;*/
  }

  section.topics .area-list .item-indicator {
    padding: 0 0 25px 0;
    max-width: 1080px;
    margin: 0 auto 0 auto;
  }

  section.topics .area-appeal .itemlist {
    width: 100%;
    overflow: hidden;
  }

  section.topics .area-list .itemlist .outer {
    position: relative;
    font-size: 0;
    letter-spacing: 0;
    white-space: nowrap;
    margin: 0 0 0 calc(50% - 500px);
  }

  section.topics .area-list .itemlist .each {
    display: inline-block;
    vertical-align: top;
    width: 360px;
    padding: 0 40px 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.topics .area-list .itemlist .each a {
    color: rgba(0, 0, 0, 1);
  }

  section.topics .area-list .itemlist .each .skin {
    width: 100%;
    height: 100%;
  }

  section.topics .area-list .itemlist .each .photo {
    width: 100%;
    aspect-ratio: 600 / 376;
    border-radius: 20px;
    overflow: hidden;
    background-color: var(--color-02);
  }

  section.topics .area-list .itemlist .each .photo figure {
    background-position: 50% 50%;
    background-size: contain;
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: linear;
    transform-origin: 50% 50%;
    transform: scale(1, 1);
  }

  section.topics .area-list .itemlist .each a:hover .photo figure {
    -webkit-transform: scale(1.04, 1.04);
    transform: scale(1.04, 1.04);
  }

  section.topics .area-list .itemlist .each .col02 {
    display: flex;
    justify-content: space-between;
  }

  section.topics .area-list .itemlist .each .cat01,
  section.topics .area-list .itemlist .each .cat02,
  section.topics .area-list .itemlist .each .cat03 {
    padding: 20px 0 15px 0;
    order: 2;
    font-size: 13px;
    width: fit-content;
    height: fit-content;
    font-weight: 500;
  }
  section.topics .area-list .itemlist .each .cat01 p {
    background-color: var(--color-06);
    padding: 0.2em 1em;
  }
  section.topics .area-list .itemlist .each .cat02 p {
    background-color: var(--color-07);
    padding: 0.2em 1em;
  }
  section.topics .area-list .itemlist .each .cat03 p {
    background-color: var(--color-08);
    padding: 0.2em 1em;
  }

  section.topics .area-list .itemlist .each .date {
    padding: 20px 0 15px 0;
    order: 1;
  }

  section.topics .area-list .itemlist .each .date p {
    font-size: 14px;
    font-weight: 700;
    color: var(--color-05);
  }

  section.topics .area-list .itemlist .each .mytitle {
  }

  section.topics .area-list .itemlist .each .mytitle .txt {
    line-height: 2;
    font-size: 14px;
    font-weight: 700;
  }

  section.topics .area-list .itemlist .each .mytitle .txt span {
  }

  section.topics .area-list .itemlist .each a:hover .mytitle .txt span {
    text-decoration: underline;
  }

  section.topics .area-list .itemlist .each .mytitle .txt i {
    display: none;
    vertical-align: bottom;
    width: 30px;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    margin: 0 0 0 5px;
  }

  section.topics .area-list .itemlist .each .mytitle .txt i.external {
    background-image: url(/common/img/ico_externallink_01.svg);
  }

  section.topics .area-list .itemlist .each .mytitle .txt i.pdf {
    background-image: url(/common/img/ico_pdflink_01.svg);
  }

  section.topics .area-list .itemlist .each[data-topictype="2"] .mytitle .txt i.external {
    display: inline-block;
  }

  section.topics .area-list .itemlist .each[data-topictype="3"] .mytitle .txt i.pdf {
    display: inline-block;
  }

  /*----*/
  section.topics .area-jump {
    /*        width: 1000px;*/
    /*        margin: 0 auto 0 auto;*/
    margin: 0 auto 0 50%;
  }
}
/*99行のPCのみ読み込みの囲みコメントアウト中*/

.area01 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1000px;
  /*	padding: 35px　0 0 0;*/
  padding-top: 35px;
}

/*--moreボタンの調整--*/
.border-button {
  display: inline-block;
  vertical-align: top;
  position: relative;
  border-style: solid;
  border-width: 1px;
  border-radius: 80px;
  overflow: hidden;
  opacity: 1;
}

.border-button.bb-type1 {
  width: 210px;
  height: 45px;
  border-color: var(--color-09);
}

@media screen and (min-width: 769px) and (max-width: 1100px) {
  section.topics .area-jump {
    margin: 0 auto 0 40%;
  }
  /*
	.border-button.bb-type1 {
    width: 195px;
}
*/
}

.border-button p {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0);
  text-align: center;
  -webkit-transition-property: background-color;
  transition-property: background-color;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.border-button.bb-type1 p {
  padding: 9px 0 0 0;
  text-indent: -30px;
}

.border-button p span {
  display: inline-block;
  vertical-align: top;
  position: relative;
  letter-spacing: 0.17em;
  color: var(--color-09);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.border-button.bb-type1 p span {
  font-size: 16px;
  font-weight: 500;
}
.border-button p i {
  position: absolute;
  width: 70px;
  aspect-ratio: 60 / 20;
  overflow: hidden;
}

.border-button.bb-type1 p i {
  right: 10px;
  top: 12px;
}

.border-button p i b {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transition-property: left, right;
  transition-property: left, right;
  -webkit-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}

.border-button.bb-type1 p i b {
  /*    left: -30%;*/
}

.border-button p i b > svg {
  stroke-width: 0.8 !important;
  /*		border:solid 0.8px;*/
}

.border-button.bb-type1 p i b > svg {
  stroke: var(--color-01) !important;
}
.border-button.bb-type1 a:hover p,
.border-button.bb-type1 label:hover p {
  background-color: var(--color-10);
}
.border-button.bb-type1 a:hover p i b,
.border-button.bb-type1 label:hover p i b {
  left: 0;
}
.border-button.bb-type1 a:hover p i b > svg,
.border-button.bb-type1 label:hover p i b > svg {
  stroke: rgba(255, 255, 255, 1);
}
.border-button.bb-type1 a:hover p span,
.border-button.bb-type1 label:hover p span {
  color: rgba(255, 255, 255, 1);
}
/*----*/
.border-button.bb-type2 {
  width: 210px;
  height: 45px;
  border-color: var(--color-01);
}
.border-button.bb-type2 p {
  padding: 10px 0 0 0;
  text-indent: 30px;
}
.border-button.bb-type2 p span {
  font-size: 16px;
  font-weight: 500;
}
.border-button.bb-type2 p i {
  left: 10px;
  top: 12px;
}
.border-button.bb-type2 p i b {
  right: -30%;
}
.border-button.bb-type2 p i b > svg {
  stroke: var(--color-01);
}
.border-button.bb-type2 a:hover p,
.border-button.bb-type2 label:hover p {
  background-color: var(--color-01);
}
.border-button.bb-type2 a:hover p i b,
.border-button.bb-type2 label:hover p i b {
  right: 0;
}
.border-button.bb-type2 a:hover p i b > svg,
.border-button.bb-type2 label:hover p i b > svg {
  stroke: rgba(255, 255, 255, 1);
}
.border-button.bb-type2 a:hover p span,
.border-button.bb-type2 label:hover p span {
  color: rgba(255, 255, 255, 1);
}
/*----*/
.border-button.bb-type3 {
  width: auto;
  height: 45px;
  border-color: var(--color-01);
}
.border-button.bb-type3 p {
  padding: 10px 0 0 0;
  text-indent: 0;
  background-color: var(--color-01);
}
.border-button.bb-type3 p span {
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
}
.border-button.bb-type3 p i {
  right: 10px;
  top: 12px;
}
.border-button.bb-type3 p i b {
  left: -30%;
}
.border-button.bb-type3 p i b > svg {
  stroke: rgba(255, 255, 255, 1);
}
.border-button.bb-type3 a:hover p,
.border-button.bb-type3 label:hover p {
  background-color: rgba(255, 255, 255, 1);
}
.border-button.bb-type3 a:hover p i b,
.border-button.bb-type3 label:hover p i b {
  left: 0;
}
.border-button.bb-type3 a:hover p i b > svg,
.border-button.bb-type3 label:hover p i b > svg {
  stroke: var(--color-01);
}
.border-button.bb-type3 a:hover p span,
.border-button.bb-type3 label:hover p span {
  color: var(--color-01);
}
/*----*/
.border-button.bb-type4 {
  width: auto;
  height: 45px;
  border-color: var(--color-03);
}
.border-button.bb-type4 p {
  padding: 10px 0 0 0;
  text-indent: 0;
  background-color: var(--color-03);
}
.border-button.bb-type4 p span {
  font-size: 16px;
  font-weight: 700;
  color: rgba(255, 255, 255, 1);
}
.border-button.bb-type4 p i {
  right: 10px;
  top: 12px;
}
.border-button.bb-type4 p i b {
  left: -30%;
}
.border-button.bb-type4 p i b > svg {
  stroke: rgba(255, 255, 255, 1);
}
.border-button.bb-type4 a:hover p,
.border-button.bb-type4 label:hover p {
  background-color: rgba(255, 255, 255, 1);
}
.border-button.bb-type4 a:hover p i b,
.border-button.bb-type4 label:hover p i b {
  left: 0;
}
.border-button.bb-type4 a:hover p i b > svg,
.border-button.bb-type4 label:hover p i b > svg {
  stroke: var(--color-03);
}
.border-button.bb-type4 a:hover p span,
.border-button.bb-type4 label:hover p span {
  color: var(--color-03);
}

/*================*/
.sectioning-title.st-type1 {
  display: inline-block;
  vertical-align: top;
}
.sectioning-title.st-type1 h2 span {
  background-size: auto 100%;
}
.sectioning-title.st-type1 h2 {
  width: 560px;
  height: 80px;
}
/*----*/
.sectioning-title.st-type2 {
}
.sectioning-title.st-type2 h2 {
  padding: 0 0 45px 0;
  text-align: center;
}
.sectioning-title.st-type2 h2 span.main {
  display: block;
  margin: 0 auto 0 auto;
}
.sectioning-title.st-type2 h2 span.main b {
}
.sectioning-title.st-type2 h2 span.sub {
  display: inline-block;
  vertical-align: top;
  font-size: 23px;
  font-weight: 500;
  letter-spacing: 0.24em;
  margin: 17px 0 0 0;
}
.sectioning-title.st-type2 .caption {
  text-align: center;
}
.sectioning-title.st-type2 .caption p {
  line-height: 2.2;
  font-size: 17px;
}
/*----*/
.sectioning-title.st-type3 {
}
.sectioning-title.st-type3 h2 {
  text-align: center;
}
.sectioning-title.st-type3 h2 span.main {
  display: inline-block;
  vertical-align: top;
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 0.08em;
  margin: 0 0 8px 0;
}
.sectioning-title.st-type3 h2 span.sub {
  display: block;
  margin: 0 auto 0 auto;
}
.sectioning-title.st-type3 h2 span.sub b {
}

/*==============================*/
/*  ここから上は1番目のスライド（スマホは下）*/
/*==============================*/

/*==============================*/
/*  ここから下は２，３番目のスライド*/
/*==============================*/
a:active,
a:hover {
  outline-width: 0;
}

@media only screen and (min-width: 769px) {
  section.forPersonal {
    padding-bottom: 1.6rem;
  }

  section.business-slider .area-project .itemlist .each a {
    color: rgba(0, 0, 0, 1);
  }
  section.business-slider .itemlist .each a:hover .box-fig figure {
    -webkit-transform: scale(1.04, 1.04);
    transform: scale(1.04, 1.04);
  }
  section.business-slider a,
  section.business-slider label {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }

  section.business-slider .itemlist {
    width: 100%;
    overflow: visible;
  }

  section.business-slider .itemlist .outer {
    position: relative;
    font-size: 0;
    letter-spacing: 0;
    white-space: nowrap;
    margin: 0 0 0 calc(50% - 500px);
    object-fit: cover;
    display: inline-flex;
  }

  section.business-slider .itemlist .each {
    display: inline-block;
    vertical-align: top;
    width: 420px;
    min-height: 200px;
    padding: 0 20px 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.business-slider .itemlist .each .base {
    width: 100%;
    height: 100%;
    background-color: var(--color-02);
    border-radius: 20px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 210px calc(100% - 300px) 90px;
  }
  section.business-slider .itemlist .each .base .box-fig {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  section.business-slider .itemlist .each .base .box-logo,
  section.business-slider .itemlist .each .base .box-title {
    grid-column: 1/2;
    grid-row: 3/4;
    align-content: end;
  }

  .topics figure,
  .figelm,
  .business-slider figure,
  .business-slider .figelm {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 100%;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    -webkit-backface-visibility: hidden;
  }

  .box-fig figure,
  .box-logo img {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 100%;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: auto 100%;
    -webkit-backface-visibility: hidden;
  }

  section.business-slider .itemlist .each .box-logo {
    width: 200px;
    margin: 0 auto 30px;
  }

  section.business-slider .itemlist .each .box-logo p {
    width: 100%;
  }

  section.business-slider .itemlist .each .box-title p {
    width: 96%;
    margin: 0 auto;
    text-align: center;
    line-height: 2.2;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 8px 12px;
    vertical-align: middle;
  }

  section.business-slider .itemlist .each .base .box-note {
    grid-column: 1/2;
    grid-row: 2/3;
    padding: 10px 20px;
  }

  section.business-slider .itemlist .each .box-note p {
    line-height: 2.2;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.18em;
    display: inline;
  }
}

/*================*/

section.business-slider .area-ttl-sub {
  padding: 30px 0 25px 0;
  font-size: 7rem;
  font-weight: 400;
  line-height: 1.2;
  color: #4ec7be;
}
.sectioning-title.st-type1 {
  display: inline-block;
  vertical-align: top;
}

.sectioning-title.st-type1 h2 {
  width: 560px;
  height: 80px;
}
.sectioning-title.st-type1 h2 span,
.sectioning-title.st-type1 h2 img {
  background-size: auto 100%;
}

section.business-slider .item-indicator {
  width: 1000px;
  padding: 0 30px 20px 0;
  margin: 35px auto 0 auto;
}

.item-indicator {
  display: flex;
  justify-content: end;
  flex-wrap: nowrap;
  align-items: stretch;
}
.item-indicator .box-num {
  padding: 4px 30px 0 0;
}
.item-indicator .box-num span {
  display: inline-block;
  vertical-align: top;
  line-height: 1.7;
  letter-spacing: 0.1em;
  color: var(--color-09);
}
.item-indicator .box-num span.num {
  font-size: 19px;
  font-weight: 500;
}
.item-indicator .box-num span.split {
  font-size: 13px;
  padding: 6px 4px 0 4px;
  font-weight: 900;
}
.item-indicator .box-shift {
}
.item-indicator .box-shift .btn {
  display: inline-block;
  vertical-align: top;
  width: 42px;
  height: 42px;
  margin: 0 0 0 12px;
}
.item-indicator .box-shift .btn:nth-of-type(1) {
  margin: 0 0 0 0;
}
.item-indicator .box-shift .btn.prev {
}
.item-indicator .box-shift .btn.next {
}
.item-indicator .box-shift .btn label {
}
.item-indicator .box-shift .btn label i {
}
.item-indicator .box-shift .btn.prev label i {
  background-image: url(/common/subslider/img/mrk_circlearrow_01_lft_a.svg);
}
.item-indicator .box-shift .btn.prev label:hover i {
  background-image: url(/common/subslider/img/mrk_circlearrow_01_lft_b.svg);
}
.item-indicator .box-shift .btn.next label i {
  background-image: url(/common/subslider/img/mrk_circlearrow_01_rht_a.svg);
}
.item-indicator .box-shift .btn.next label:hover i {
  background-image: url(/common/subslider/img/mrk_circlearrow_01_rht_b.svg);
}

/*=======↓↓1番目のスライド中心のスマホ調整=========*/

@media only screen and (max-width: 768px) {
  /*````````````````````````````````````````*/

  /*================*/
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }
  /*----*/
  section {
    width: 100%;
    position: relative;
  }
  section.effect > .inner {
    position: relative;
    width: 90vw;
    margin: 0 auto 0 auto;
  }
  section.effect {
  }
  section.effect > .inner {
    top: 4vw;
    opacity: 0;
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity;
    -webkit-transition-duration: 1.1s;
    transition-duration: 1.1s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
  }
  section.effect.appear > .inner {
    top: 0;
    opacity: 1;
  }

  /*================*/
  section.visual {
  }

  section.visual > .inner {
    width: 100%;
  }

  /*----*/
  section.visual .ground {
    position: relative;
    width: 100%;
    height: 100%;
  }

  section.visual .ground .box-fig {
    position: relative;
    width: 90vw;
    height: auto;
    margin: 4.7vw auto;
  }

  section.visual .ground .box-fig h2 {
    height: 0;
  }

  section.visual .ground .box-fig h2 span {
    font-size: 0;
  }

  section.visual .ground .box-fig img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 3vw;
  }

  /*----*/
  section.visual .box-fig .mission {
    position: absolute;
    width: 90vw;
    bottom: -6vw;
    left: -7vw;
  }

  section.visual .mission .area-note {
    padding: 0 0 11vw 6vw;
  }

  section.visual .mission .area-note .note {
    width: 77vw;
    padding: 65vw 0 0 0;
  }

  section.visual .mission .area-note .note .belt {
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 3.3vw 0 0 0;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
  }

  section.visual .mission .area-note .note .belt:nth-of-type(1) {
    margin: 0 0 0 0;
  }

  section.visual .mission .area-note .note .belt.act1 {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
  }

  section.visual .mission .area-note .note .belt p {
    position: relative;
    padding: 0 0 1vw 4vw;
    color: rgba(255, 255, 255, 1);
    background-color: rgba(51, 51, 51, 1);
  }

  section.visual .mission .area-note .note .belt p span {
    line-height: 1.7;
    font-size: 6.3vw;
    font-weight: 200;
    letter-spacing: 0.15em;
    white-space: nowrap;
  }

  section.visual .mission .area-note .note .belt p i {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(51, 51, 51, 1);
    -webkit-transition-property: width;
    transition-property: width;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-in;
    transition-timing-function: ease-in;
  }

  section.visual .mission .area-note .note .belt.act2 p i {
    width: 0;
  }

  /*----*/
  section.visual .mission .area-link {
    padding: 0 0 7vw 7vw;
    opacity: 0;
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
  }

  section.visual .mission .area-link.appear {
    opacity: 1;
  }

  section.visual .mission .area-link .border-button.bb-type1 {
    width: 64vw;
    border-bottom: 4px solid var(--color-01);
    border-right: 4px solid var(--color-01);
  }

  section.visual .mission .area-link .border-button.bb-type1 p span {
    font-size: 4.3vw;
    letter-spacing: 0.05em;
  }

  section.visual .mission .area-link .border-button.bb-type1 p span::after {
    content: "";
    position: absolute;
    top: 1.2vw;
    right: -5.5vw;
    display: block;
    width: 4.3vw;
    height: 4.3vw;
    background: url(/common/img/ico_pdf_red.png) no-repeat center;
    background-size: contain;
  }

  section.visual .mission .area-link .border-button.bb-type1 p {
    padding: 2vw;
  }

  section.visual .mission .area-link .border-button p i {
    width: 9vw;
  }

  /*----*/
  section.visual .edge {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 14vw;
  }

  section.visual .edge .box-mark {
    position: relative;
    width: 20vw;
    height: 100%;
    padding: 2vw 0 0 0;
    text-align: center;
    margin: 0 auto 0 auto;
    opacity: 0;
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity;
    -webkit-transition-duration: 0.4s;
    transition-duration: 0.4s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
  }

  section.visual .edge .box-mark.appear {
    opacity: 1;
  }

  section.visual .edge .box-mark p {
    font-size: 3.2vw;
    font-weight: 700;
    letter-spacing: 0.25em;
  }

  section.visual .edge .box-mark span {
    position: absolute;
    left: 6.5vw;
    top: 8vw;
    width: 7vw;
    height: 3.5vw;
  }

  section.visual .edge .box-mark span i {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }

  section.visual .edge .box-mark span i > svg {
    stroke: rgba(0, 0, 0, 1);
    stroke-width: 0.25;
  }

  /*================*/
  section.topics {
  }
  section.effect.appear > .inner {
    top: 0;
    opacity: 1;
  }
  section.topics > .inner {
    width: 100%;
  }

  /*----*/
  section.topics .area-ttl {
    width: 90vw;
    padding: 14vw 0 5vw 0;
    margin: 0 auto 0 auto;
  }

  section.topics .area-ttl h2 {
    text-indent: 1vw;
  }

  section.topics .area-ttl h2 span {
    background-image: url(/top/img/char_title_topics.svg);
  }

  /*----*/
  section.topics .area-list {
  }

  section.topics .area-list .item-indicator {
    padding: 0 0 3vw 0;
    width: 42vw;
    margin: 0 0 0 auto;
  }

  section.topics .area-list .itemlist {
    width: 95vw;
    margin: 0 0 0 auto;
    overflow: hidden;
    padding: 0;
  }

  section.topics .area-list .itemlist .outer {
    position: relative;
    /*font-size: 0;*/
    letter-spacing: 0;
    white-space: nowrap;
  }

  section.topics .area-list .itemlist .each {
    display: inline-block;
    vertical-align: top;
    width: 58vw;
    padding: 0 4vw 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.topics .area-list .itemlist .each a {
    color: rgba(0, 0, 0, 1);
  }

  section.topics .area-list .itemlist .each .skin {
    width: 100%;
    height: 100%;
  }

  section.topics .area-list .itemlist .each .photo {
    width: 100%;
    aspect-ratio: 600 / 376;
    border-radius: 3vw;
    overflow: hidden;
    background-color: var(--color-02);
  }

  section.topics .area-list .itemlist .each .photo figure {
    background-position: 50% 50%;
    background-size: contain;
  }

  section.topics .area-list .itemlist .each .col02 {
    flex-direction: column;
  }

  section.topics .area-list .itemlist .each .cat01,
  section.topics .area-list .itemlist .each .cat02,
  section.topics .area-list .itemlist .each .cat03 {
    padding: 0 0 2vw 0;
    order: 1;
  }

  section.topics .area-list .itemlist .each .cat01 p {
    display: inline-block;
    background-color: var(--color-06);
    padding: 0.2em 1em;
  }
  section.topics .area-list .itemlist .each .cat02 p {
    display: inline-block;
    background-color: var(--color-07);
    padding: 0.2em 1em;
  }
  section.topics .area-list .itemlist .each .cat03 p {
    display: inline-block;
    background-color: var(--color-08);
    padding: 0.2em 1em;
  }

  section.topics .area-list .itemlist .each .date {
    padding: 4vw 0 2vw 0;
    order: 2;
  }
  section.topics .area-list .itemlist .each .date p {
    font-size: 4vw;
    font-weight: 700;
    color: var(--color-05);
  }

  section.topics .area-list .itemlist .each .mytitle {
  }

  section.topics .area-list .itemlist .each .mytitle .txt {
    line-height: 2;
    font-size: 4vw;
    font-weight: 700;
  }

  section.topics .area-list .itemlist .each .mytitle .txt span {
  }

  section.topics .area-list .itemlist .each .mytitle .txt i {
    display: none;
    vertical-align: bottom;
    width: 7vw;
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    margin: 0 0 0 2vw;
  }

  section.topics .area-list .itemlist .each .mytitle .txt i.external {
    background-image: url(/common/img/ico_externallink_01.svg);
  }

  section.topics .area-list .itemlist .each .mytitle .txt i.pdf {
    background-image: url(/common/img/ico_pdflink_01.svg);
  }

  section.topics .area-list .itemlist .each[data-topictype="2"] .mytitle .txt i.external {
    display: inline-block;
  }

  section.topics .area-list .itemlist .each[data-topictype="3"] .mytitle .txt i.pdf {
    display: inline-block;
  }

  /*----*/
  section.topics .area-jump {
    width: 90vw;
    padding: 0 0 6vw 0;
    margin: 0 auto 0 auto;
  }

  /*================*/
  section.business-slider {
  }

  section.business-slider > .inner {
    width: 100%;
  }

  /*----*/
  section.business-slider .area-ttl-main {
    padding: 12.5vw 0 10vw 0;
    width: 90vw;
    margin: 0 auto 0 auto;
  }

  section.business-slider .area-ttl-main h2 {
    text-indent: 1vw;
  }

  section.business-slider .area-ttl-main h2 span {
    background-image: url(/top/img/char_title_ourbusiness.svg);
  }

  /*----*/
  section.business-slider .area-capt {
    padding: 0 0 5vw 0;
    width: 90vw;
    margin: 0 auto 0 auto;
  }

  section.business-slider .area-capt p {
    line-height: 1.65;
    font-size: 6vw;
    font-weight: 300;
    letter-spacing: 0.11em;
  }

  /*----*/
  section.business-slider .area-note {
    padding: 0 0 5vw 0;
    width: 90vw;
    margin: 0 auto 0 auto;
  }

  section.business-slider .area-note p {
    line-height: 2.4;
    font-size: 3.6vw;
    font-weight: 400;
    letter-spacing: 0.09em;
  }

  /*----*/
  section.business-slider .area-fig {
    padding: 0 0 17vw 0;
    width: 90vw;
    margin: 0 auto 0 auto;
  }

  section.business-slider .area-fig .each {
    width: 77vw;
    aspect-ratio: 822/882;
    margin: 0 auto 0 auto;
  }

  section.business-slider .area-fig .each figure {
    background-image: url(/top/img/grph_business.png);
  }

  /*----*/
  section.business-slider .area-link {
    padding: 0 0 12vw 0;
    width: 90vw;
    margin: 0 auto 0 auto;
  }

  /*----*/
  section.business-slider .area-sector {
  }

  section.business-slider .area-sector .lineup {
    position: relative;
    padding: 0 0 0 0;
  }

  section.business-slider .area-sector .item-indicator {
    padding: 0 0 6vw 0;
    width: 42vw;
    margin: 0 0 0 auto;
  }

  section.business-slider .area-sector .itemlist {
    width: 95vw;
    margin: 0 0 0 auto;
    overflow: hidden;
  }

  section.business-slider .area-sector .itemlist .outer {
    position: relative;
    font-size: 0;
    letter-spacing: 0;
    white-space: nowrap;
  }

  section.business-slider .area-sector .itemlist .each {
    display: inline-block;
    vertical-align: top;
    width: 81vw;
    padding: 0 4vw 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.business-slider .area-sector .itemlist .each a {
    color: rgba(0, 0, 0, 1);
  }

  section.business-slider .area-sector .itemlist .each .base {
    width: 100%;
    height: 100%;
    padding: 6vw 6vw 6vw 6vw;
    background-color: var(--color-02);
    border-radius: 3vw;
  }

  section.business-slider .area-sector .itemlist .each .skin {
    position: relative;
  }

  section.business-slider .area-sector .itemlist .each .box-fig {
    width: 100%;
    aspect-ratio: 676/522;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  section.business-slider .area-sector .itemlist .each .box-fig figure {
    border-radius: 3vw;
    background-size: cover;
    background-position: 50% 50%;
  }

  section.business-slider .area-sector .itemlist .each .box-ttl {
    padding: 4vw 0 2vw 0;
  }

  section.business-slider .area-sector .itemlist .each .box-ttl p {
    line-height: 1.2;
    font-size: 5.4vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    color: var(--color-01);
    white-space: nowrap;
  }

  section.business-slider .area-sector .itemlist .each[data-idx="2"] .box-ttl p {
    letter-spacing: -0.02em;
  }

  section.business-slider .area-sector .itemlist .each .box-capt {
    padding: 0 0 2vw 0;
  }

  section.business-slider .area-sector .itemlist .each .box-capt p {
    line-height: 1.4;
    font-size: 3.7vw;
    font-weight: 300;
    letter-spacing: 0.16em;
    white-space: nowrap;
  }

  section.business-slider .area-sector .itemlist .each .box-note {
    height: 31vw;
  }

  section.business-slider .area-sector .itemlist .each .box-note p {
    line-height: 1.5;
    font-size: 3.2vw;
    font-weight: 400;
    letter-spacing: 0.1em;
  }

  /*----*/
  section.business-slider .area-ttl-sub {
    padding: 14vw 0 0 0;
    width: 90vw;
    margin: 0 auto 0 auto;
    font-size: 5rem;
    font-weight: 400;
  }

  section.business-slider .area-ttl-sub h2 {
    text-indent: 0;
  }

  section.business-slider .area-ttl-sub h2 span {
    background-image: url(/common/subslider/top/img/char_title_ourbusiness.svg);
  }

  /*----*/
  section.business-slider .area-project {
    position: relative;
    padding: 0 0 15vw 0;
  }

  section.business-slider .area-project .item-indicator {
    width: 42vw;
    padding: 0 0 6vw 0;
    /*        margin: -9vw 0 0 auto;*/
    margin: 6vw 0 0 auto;
  }

  section.business-slider .area-project .itemlist {
    width: 95vw;
    margin: 0 0 0 auto;
    overflow: hidden;
  }

  section.business-slider .area-project .itemlist .outer {
    position: relative;
    font-size: 0;
    letter-spacing: 0;
    white-space: nowrap;
  }

  section.business-slider .area-project .itemlist .each {
    display: inline-block;
    vertical-align: top;
    /*        width: 58vw;*/
    width: 81vw;
    padding: 0 4vw 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.business-slider .area-project .itemlist .each a {
    color: rgba(0, 0, 0, 1);
  }

  section.business-slider .area-project .itemlist .each .base {
    width: 100%;
    height: 100%;
    padding: 6vw 6vw 6vw 6vw;
    background-color: var(--color-02);
    border-radius: 3vw;
    /*        overflow: hidden;*/
  }

  section.business-slider .area-project .itemlist .each .skin {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 0 4vw 0;
  }

  section.business-slider .area-project .itemlist .each .box-fig {
    width: 100%;
    height: 43vw;
  }

  section.business-slider .area-project .itemlist .each .box-fig figure {
    border-radius: 3vw;
    background-position: 50% 50%;
    background-size: cover;
  }

  section.business-slider .area-project .itemlist .each .box-logo {
    height: 20vw;
    /*        padding: 2vw 0 0 3vw;*/
    padding: 4vw 6vw 0 6vw;
  }

  section.business-slider .area-project .itemlist .each .box-logo p {
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 33vw;
    aspect-ratio: 330/174;
  }

  section.business-slider .area-project .itemlist .each .box-logo p .mrk {
    position: absolute;
    right: -12vw;
    bottom: 3vw;
    width: 5vw;
    height: 5vw;
  }

  section.business-slider .area-project .itemlist .each .box-logo p .mrk > b {
    background-image: url(/common/img/ico_externallink_01.svg);
  }

  section.business-slider .area-project .itemlist .each .box-logo p span {
  }

  section.business-slider .area-project .itemlist .each .box-note {
    height: 21vw;
    padding: 0 4vw 0 4vw;
  }
  section.business-slider .area-project .itemlist .each#ekism_saitama .box-note {
    padding: 0 3vw;
  }

  section.business-slider .area-project .itemlist .each .box-note p {
    line-height: 1.7;
    font-size: 3.2vw;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  section.business-slider .area-project .itemlist .each#uhuhu_huna .box-note.overtxt p {
    line-height: 1.4;
  }
  section.business-slider .area-project .itemlist .each#ekism_saitama .box-note.overtxt p {
    line-height: 1.4;
    letter-spacing: 0;
  }

  /*================*/
  section.activity {
    /* height: 214vw; */
  }

  section.activity > .inner {
  }

  /*----*/
  section.activity .area-ttl {
    padding: 12vw 0 6vw 0;
  }

  section.activity .area-ttl h2 {
    text-indent: 1vw;
  }

  section.activity .area-ttl h2 span {
    background-image: url(/top/img/char_title_note.svg);
  }

  /*----*/
  section.activity .area-capt {
    padding: 0 0 12vw 0;
  }

  section.activity .area-capt p {
    line-height: 1.55;
    font-size: 6vw;
    font-weight: 300;
    letter-spacing: 0.11em;
  }

  /*----*/
  section.activity .area-jump {
    width: 80vw;
    padding: 0 0 7vw 0;
    margin: 0 auto 0 auto;
  }

  section.activity .area-jump .each {
  }

  section.activity .area-jump .each dl {
    width: 100%;
    padding: 0 0 7vw 0;
  }

  section.activity .area-jump .each dl > dt {
    padding: 0 0 3vw 0;
    text-align: center;
  }

  section.activity .area-jump .each dl > dt p {
    line-height: 1;
    font-size: 3.9vw;
    font-weight: 700;
    letter-spacing: 0.13em;
    white-space: nowrap;
    color: var(--color-01);
  }

  section.activity .area-jump .each dl > dd {
  }

  section.activity .area-jump .each dl > dd .framing {
    position: relative;
    width: 100%;
    aspect-ratio: 640/280;
    overflow: hidden;
    background-color: rgba(255, 255, 255, 1);
  }

  section.activity .area-jump .each.n1 dl > dd .framing figure {
    background-image: url(/top/img/bnr_kuramachilab.png);
  }

  section.activity .area-jump .each.n2 dl > dd .framing figure {
    background-image: url(/top/img/bnr_recruitinfo.png);
  }

  section.activity .area-jump .each dl > dd .framing .hem {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 1vw;
    border-color: var(--color-01);
  }

  section.activity .area-jump .each dl > dd .framing a {
  }

  /*================*/
  section.recruit {
  }

  section.recruit > .inner {
  }

  /*----*/
  section.recruit .area-ttl {
    padding: 8vw 0 6vw 0;
  }

  section.recruit .area-ttl h2 {
    text-indent: 1vw;
  }

  section.recruit .area-ttl h2 span {
    background-image: url(/top/img/char_title_recruit.svg);
  }

  /*----*/
  section.recruit .area-capt {
    padding: 0 0 5vw 0;
  }

  section.recruit .area-capt p {
    line-height: 1.55;
    font-size: 6vw;
    font-weight: 300;
    letter-spacing: 0.11em;
  }

  /*----*/
  section.recruit .area-note {
    padding: 0 0 6vw 0;
  }

  section.recruit .area-note p {
    line-height: 2.4;
    font-size: 3.5vw;
    font-weight: 400;
    letter-spacing: 0.1em;
  }

  /*----*/
  section.recruit .area-link {
    padding: 0 0 9vw 0;
  }

  section.recruit .area-link .box-call {
    padding: 0 0 3vw 0;
  }

  section.recruit .area-link .box-call p {
    font-size: 3.3vw;
    letter-spacing: 0.1em;
  }

  /*----*/
  section.recruit .area-pic {
    position: relative;
    height: 106vw;
  }

  section.recruit .area-pic .each {
    position: absolute;
    opacity: 0;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: 0.7s;
    transition-duration: 0.7s;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
  }

  section.recruit .area-pic .each.appear {
    opacity: 1;
  }

  section.recruit .area-pic .each.n1 {
    left: 1vw;
    top: 25vw;
    width: 63vw;
    aspect-ratio: 645/639;
  }

  section.recruit .area-pic .each.n2 {
    left: 48vw;
    top: 0;
    width: 42vw;
    aspect-ratio: 384/394;
  }

  section.recruit .area-pic .each figure {
    border-radius: 3vw;
  }

  section.recruit .area-pic .each.n1 figure {
    background-image: url(/top/img/pic_recruit_01.png);
  }

  section.recruit .area-pic .each.n2 figure {
    background-image: url(/top/img/pic_recruit_02.png);
  }

  /*````````````````````````````````````````*/

  section.business-slider .area-project .itemlist .each .box-logo p {
    width: 100%;
    max-height: 58px;
    margin: 0 auto;
    align-content: center;
  }

  section.topics .area01 {
    flex-direction: column;
    width: 100%;
    padding-top: 3vw;
  }
  section.topics .area01 .item-indicator {
    order: 1;
    width: 100%;
  }
  section.topics .area01 .area-jump {
    order: 2;
    width: 100%;
    padding: 0 0 13vw 0;
  }
  .border-button.bb-type1 {
    display: block;
    margin: 25px auto;
  }
  section.business-slider .item-indicator {
    width: 100%;
  }
  .top__sns {
    padding-top: 0;
    padding-bottom: 6rem;
  }

  /*↑↑ここまで1番目のスライド中心のスマホ調整*/
}

/*=======↓↓その他スライドのスマホ調整=========*/

/*================*/
/*================*/
@media only screen and (max-width: 768px) {
  .forPersonal {
    display: block;
    padding-bottom: 3rem;
  }
  .forCorporate {
    padding-bottom: 9rem;
  }
  .top__news {
    padding-top: 3.2rem;
    padding-bottom: 0.5rem;
  }

  .sectioning-title.st-type1 h2 {
    width: 80vw;
    height: auto;
    display: block;
    margin: 0 0 30px;
  }

  section.business-slider .itemlist {
    width: 95vw;
    margin: 0 0 0 auto;
    overflow: hidden;
  }

  section.business-slider .itemlist .outer {
    position: relative;
    font-size: 0;
    letter-spacing: 0;
    white-space: nowrap;
    object-fit: cover;
    display: inline-flex;
  }
  section.business-slider .itemlist .each {
    display: inline-block;
    vertical-align: top;
    width: 81vw;
    padding: 0 4vw 0 0;
    white-space: normal;
    text-indent: 0;
  }

  section.business-slider .itemlist .each .base {
    width: 100%;
    height: 100%;
    padding: 6vw 6vw 6vw 6vw;
    background-color: var(--color-02);
    border-radius: 3vw;
  }

  section.business-slider .itemlist .each .base {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 195px calc(100% - 255px) 60px;
  }
  section.business-slider .itemlist .each .base .box-fig {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  section.business-slider .itemlist .each .base .box-logo,
  section.business-slider .itemlist .each .base .box-title {
    grid-column: 1/2;
    grid-row: 3/4;
    align-content: end;
  }

  section.business-slider .itemlist .each .box-fig {
    width: 100%;
    aspect-ratio: 676 / 522;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  section.business-slider .itemlist .each .box-fig figure {
    border-radius: 3vw;
    background-size: cover;
    background-position: 50% 50%;
  }

  section.business-slider .itemlist .each .box-title p {
    width: 96%;
    margin: 0 auto;
    text-align: center;
    line-height: 2.2;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.1em;
    padding: 8px 12px;
    vertical-align: middle;
  }

  section.business-slider .itemlist .each .box-logo p {
    display: block;
    max-width: 204px;
    margin: -8px auto 0;
    height: auto;
  }

  section.business-slider .itemlist .each .box-logo p img {
    max-height: 60px;
    width: 100%;
    align-items: center;
    display: inline-block;
  }

  .box-fig figure {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    height: 100%;
    font-size: 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    -webkit-backface-visibility: hidden;
  }

  section.business-slider .itemlist .each .box-note {
    /*  height: 31vw;*/
    min-height: 21vw;
    　margin: 15px auto;
  }

  section.business-slider .itemlist .each .box-note > p {
    line-height: 1.8;
    font-size: 3.2vw;
    font-weight: 400;
    letter-spacing: 0.15em;
    margin: 10px 0;
    padding-top: 20px;
  }
}
