  @charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 common
==================================================================================*/
html {
  font-size: .26666667vw;
}

.allWrap {
  padding-top: 60rem;
}

main {
  padding-bottom: 60rem;
}

.commonNavis01 {
  flex-direction: column;
  justify-content: normal;
  gap: 0 0;
  border-top: 1rem solid rgba(34, 34, 34, 0.15);
}
.commonNavis01 .links {
  flex: 0 0 auto;
}
.commonNavis01 .links ul {
  gap: 0 0;
  display: none;
}
.commonNavis01 .links ul li {
  border-bottom: 1rem solid rgba(34, 34, 34, 0.15);
}
.commonNavis01 .links ul a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10rem 22rem;
  font-weight: 300;
  background: #fff;
}
.commonNavis01 .links ul a:after {
  content: '';
  display: block;
  position: relative;
  width: 14rem;
  height: 10rem;
  background: url("/recruit/graduate/ir/library/2025/static/img/common/icon-arrow01.svg") no-repeat center center;
  background-size: 100% 100%;
}
.commonNavis01 .linksName {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  margin-bottom: 0;
  padding: 0 22rem;
  height: 48rem;
  border-bottom-color: rgba(34, 34, 34, 0.15) !important;
  font-size: 16rem;
  font-weight: 300;
}
.commonNavis01 .linksName:after {
  content: '';
  display: block;
  position: relative;
  width: 13rem;
  height: 13rem;
  background: url("/recruit/graduate/ir/library/2025/static/img/common/icon-plus.svg") no-repeat center center;
  background-size: 100% 100%;
}
.commonNavis01 .linksName.open:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/common/icon-minus.svg");
  background-size: 100% auto;
}

.commonButton01 {
  padding-top: 50rem;
  width: 300rem;
}
.commonButton01 a {
  padding: 20rem 10rem;
  font-size: 18rem;
}

.commonButton02 {
  padding-top: 60rem;
}

.siteHeader .externalLinks,
.siteFooter .externalLinks {
  flex-direction: column;
  gap: 20rem 0;
}

/*==================================================================================
 siteHeader
==================================================================================*/
.siteHeader {
  padding: 0 0 0 13rem;
  height: 60rem;
}
.siteHeader .headerLogo {
  width: 282rem;
}
.siteHeader .menuButton {
  top: 10rem;
  right: 10rem;
  width: 40rem;
  height: 40rem;
}
.siteHeader .menuButton span {
  left: 9rem;
  width: 22rem;
}
.siteHeader .menuButton span:first-of-type {
  top: 17rem;
}
.siteHeader .menuButton span:last-of-type {
  top: 23rem;
}
.siteHeader .menuButton.open span:first-of-type {
  top: 20rem;
}
.siteHeader .menuButton.open span:last-of-type {
  top: 20rem;
}
.siteHeader .globalNaviArea {
  justify-content: normal;
  padding: 60rem 0 30rem;
}
.siteHeader .globalNavi {
  padding: 0 0;
  border-top-color: rgba(255, 255, 255, 0.25);
}
.siteHeader .globalNavi ul:not(.externalLinks) li {
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.siteHeader .globalNavi ul:not(.externalLinks) a {
  color: #666 !important;
}
.siteHeader .globalNavi ul:not(.externalLinks) a:after {
  opacity: .5;
}
.siteHeader .globalNavi .linksName {
  border-bottom-color: rgba(255, 255, 255, 0.25) !important;
}
.siteHeader .globalNavi .linksName:after {
  filter: brightness(0) invert(1);
}
.siteHeader .externalLinks {
  padding: 30rem 22rem 0;
}
.siteHeader .externalLinks a {
  color: #fff;
}
.siteHeader .externalLinks a:after {
  filter: brightness(0) invert(1);
}

/*==================================================================================
 siteFooter
==================================================================================*/
.siteFooter {
  padding: 0 0 26rem;
}
.siteFooter .footerNavi {
  padding-bottom: 30rem;
}
.siteFooter .bottomArea {
  flex-direction: column;
  align-items: normal;
  justify-content: normal;
  gap: 13rem 0;
  padding: 0 22rem;
}
.siteFooter .bottomArea .logoArea {
  flex-direction: column;
  align-items: normal;
  gap: 55rem 0;
}
.siteFooter .bottomArea .logoArea .logo {
  flex: 0 0 auto;
  width: 120rem;
}
.siteFooter .bottomArea .logoArea .externalLinks {
  order: -1;
}
.siteFooter .bottomArea .copyright {
  flex: 0 0 auto;
  width: 321rem;
}

/*==================================================================================
 top
==================================================================================*/
#top section.intro {
  padding-bottom: 60rem;
}
#top section.intro .reportDownloadButton {
  right: calc(50% - 90rem);
  bottom: -100rem;
  width: 180rem;
}
#top section.message h3 {
  top: 125rem;
  width: 210rem;
}
#top section.message .text01 {
  top: 234rem;
  left: 22rem;
  font-size: 17rem;
}
#top section.message .text02 {
  top: 270rem;
  left: 22rem;
  font-size: 14rem;
}
#top section.message .image {
  padding-left: 0;
}
#top section.contents h3 {
  width: 250rem;
}
#top section.contents .contentsLinks {
  flex-wrap: wrap;
  margin-bottom: 60rem;
}
#top section.contents .contentsLinks div {
  line-height: 1;
}
#top section.contents .contentsLinks .links {
  flex: 0 0 187.5rem !important;
  padding: 49rem 0 0 18rem;
  height: 360rem;
}
#top section.contents .contentsLinks .links:before {
  border-top-width: 26rem;
  border-left-width: 26rem;
}
#top section.contents .contentsLinks .links:after {
  height: 260rem;
  background-size: 187.5rem auto;
}
#top section.contents .contentsLinks .links .linksName {
  margin-bottom: 40rem;
  font-size: 17rem;
}
#top section.contents .contentsLinks .links .linksName:before {
  display: none;
}
#top section.contents .contentsLinks .links .linksName .en {
  padding-top: 12rem;
  height: 12rem;
}
#top section.contents .contentsLinks .links ul {
  position: relative;
  margin-right: 0;
  border-top: 1rem solid rgba(255, 255, 255, 0.25);
  z-index: 2;
  pointer-events: none;
  opacity: 0;
}
#top section.contents .contentsLinks .links ul li {
  border-bottom: 1rem solid rgba(255, 255, 255, 0.25);
}
#top section.contents .contentsLinks .links ul a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 20rem;
  height: 38rem;
  line-height: 1;
  font-size: 14rem;
  font-weight: 300;
  color: #fff;
}
#top section.contents .contentsLinks .links ul a:after {
  content: '';
  display: block;
  position: relative;
  width: 14rem;
  height: 10rem;
  background: url("/recruit/graduate/ir/library/2025/static/img/common/icon-arrow01.svg") no-repeat center center;
  background-size: 100% 100%;
  filter: brightness(0) invert(1);
}
#top section.contents .contentsLinks .links .icon {
  right: 9rem;
  bottom: 9rem;
  left: auto;
  width: 35rem;
  height: 35rem;
}
#top section.contents .contentsLinks .links .icon span {
  position: absolute;
}
#top section.contents .contentsLinks .links .icon span:first-child {
  top: 17rem;
  left: 13rem;
  width: 9rem;
  height: 1rem;
}
#top section.contents .contentsLinks .links .icon span:last-child {
  top: 13rem;
  left: 17rem;
  width: 1rem;
  height: 9rem;
}
#top section.contents .contentsLinks .links01:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-value-bg.png");
}
#top section.contents .contentsLinks .links02:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-management-bg.png");
}
#top section.contents .contentsLinks .links03:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-business-bg.png");
}
#top section.contents .contentsLinks .links04:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-sustainability-bg.png");
}
#top section.contents .contentsLinks .links05:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-financial-bg.png");
}
#top section.contents .contentsLinks .links06:after {
  background-image: url("/recruit/graduate/ir/library/2025/static/img/sp/top/contents-corporate-bg.png");
}
#top section.contents .contentsLinks.contentsOpen .links:not(.open):after {
  opacity: 1;
}
#top section.contents .contentsLinks.contentsOpen .links.open:after {
  opacity: 1;
  filter: none;
}
#top section.contents .contentsLinks.contentsOpen .links.open .icon {
  transform: none;
}
#top section.contents .contentsLinks.contentsOpen .links.open ul {
  animation: none;
}
#top section.contents .contentsLinks .fixedContentsLinks {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 45rem 30rem;
  height: auto;
  overflow: auto;
  z-index: 100;
}
#top section.contents .contentsLinks .fixedContentsLinks:before, #top section.contents .contentsLinks .fixedContentsLinks:after {
  display: none;
}
#top section.contents .contentsLinks .fixedContentsLinks ul {
  opacity: 1;
}
#top section.contents .contentsLinks .fixedContentsLinks ul a {
  pointer-events: all;
}
#top section.contents .contentsLinks .fixedContentsLinks .icon {
  position: fixed;
  top: 9rem;
  bottom: auto;
  transform: rotate(45deg);
}
#top section.contents section.waterkeepers > header {
  margin: auto;
  padding-bottom: 25rem;
  width: 345rem;
}
#top section.contents section.waterkeepers > header h4 {
  padding-bottom: 20rem;
  width: auto;
}
#top section.contents section.waterkeepers > header .lead {
  text-align: left;
  font-size: 14rem;
}
#top section.contents section.waterkeepers > header .lead br {
  display: none;
}
#top section.contents section.waterkeepers .banners {
  flex-direction: column;
  justify-content: normal;
  gap: 20rem 0;
}
#top section.contents section.waterkeepers .banners li {
  flex: 0 0 auto;
}
#top section.contents section.waterkeepers .banners li a .name {
  padding: 7rem 11rem;
  font-size: 20rem;
}

/*==================================================================================
 lower common
==================================================================================*/
.lower .commonText26 {
  font-size: 21rem;
}
.lower .commonText22 {
  font-size: 19rem;
}
.lower .commonText18 {
  font-size: 17rem;
}
.lower .commonNameCaption01 span {
  font-size: 16rem;
}
.lower .commonNameCaption01 .position {
  padding: 3rem 8rem;
}
.lower .breadCrumnbs {
  gap: 0 10rem;
  padding: 10rem 16rem;
  height: auto;
}
.lower .breadCrumnbs span,
.lower .breadCrumnbs a {
  font-size: 9rem;
}
.lower .breadCrumnbs .arrow {
  width: 4rem;
  height: 4rem;
  border-top-width: 1rem;
  border-right-width: 1rem;
}
.lower .commonNameArea01 {
  padding-left: 12rem;
  border-left-width: 2rem;
}
.lower .commonNameArea01 .position {
  top: -2rem;
  padding-bottom: 8rem;
  font-size: 12rem;
}
.lower .commonNameArea01 .name {
  font-size: 18rem;
}
.lower .commonScrollArea01 {
  margin-left: 15rem;
  padding: 0 15rem 10rem 0;
}
.lower .commonScrollArea01.fixedWidth2200 img {
  width: 1700rem;
}
.lower .commonScrollArea01.fixedWidth2100 img {
  width: 1600rem;
}
.lower .commonScrollArea01.fixedWidth2000 img {
  width: 1500rem;
}
.lower .commonScrollArea01.fixedWidth1900 img {
  width: 140rem;
}
.lower .commonScrollArea01.fixedWidth1800 img {
  width: 1300rem;
}
.lower .commonScrollArea01.fixedWidth1700 img {
  width: 120rem;
}
.lower .commonScrollArea01.fixedWidth1600 img {
  width: 1100rem;
}
.lower .commonScrollArea01.fixedWidth1500 img {
  width: 1000rem;
}
.lower .commonBgSection01 {
  padding: 40rem 0;
}
.lower .commonBgSection02 {
  padding: 20rem;
}
.lower .commonLinkedPages {
  margin-top: 60rem;
  padding-top: 30rem;
}
.lower .commonLinkedPages li {
  flex: 0 0 47%;
}
.lower .commonLinkedPages li.disabled {
  opacity: 0;
}
.lower .commonLinkedPages li.disabled a {
  pointer-events: none;
}
.lower .commonLinkedPages a {
  display: flex;
  align-items: center;
  gap: 0 25rem;
}
.lower .commonLinkedPages a span {
  display: block;
  line-height: 1;
  font-size: 16rem;
}
.lower .commonLinkedPages a .button {
  flex: 0 0 120rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 15rem;
  position: relative;
  height: 50rem;
  color: #fff;
  background: #222;
}
.lower .commonLinkedPages a .button:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  border-right: 12rem solid #fff;
  border-bottom: 12rem solid transparent;
}
.lower .commonLinkedPages a .button:after {
  content: '';
  display: block;
  position: relative;
  width: 16rem;
  height: 16rem;
  background: url("/recruit/graduate/ir/library/2025/static/img/common/icon-arrow02.svg") no-repeat center center;
  background-size: 100% 100%;
}
.lower .commonLinkedPages a .text {
  display: none;
}
.lower .commonTitle01 {
  gap: 0 8rem;
  padding-bottom: 40rem;
  font-size: 18rem;
}
.lower .commonTitle01:before {
  width: 22rem;
  height: 22rem;
}
.lower .commonTitle02 {
  margin-bottom: 30rem;
  padding: 8rem 8rem 8rem 25rem;
  font-size: 20rem;
}
.lower .commonTitle02:before {
  width: 15rem;
  height: 47rem;
}
.lower .commonTitle03 {
  margin-bottom: 15rem;
  padding: 8rem 10rem;
  border-left-width: 3rem;
  font-size: 18rem;
}
.lower .commonTitle03.pattern02 {
  padding: 8rem 12rem;
  font-size: 16rem;
}
.lower .commonTitle04 {
  margin-bottom: 30rem;
  padding: 4rem 0 0 22rem;
  font-size: 26rem;
}
.lower .commonTitle04:before {
  width: 13rem;
  height: 40rem;
}
.lower .commonTitle04 .small {
  font-size: 16rem;
}
.lower .commonTitle04 .small02 {
  top: -5rem;
  font-size: 14rem;
}
.lower .commonTitle04.pattern02:before {
  width: 18rem;
  height: 56rem;
}
.lower .commonTitle05 {
  margin-bottom: 15rem;
  font-size: 18rem;
}
.lower .commonLowerTitle01 {
  padding-bottom: 50rem;
}
.lower .commonFlexArea01 {
  flex-direction: column !important;
  align-items: normal;
  gap: 20rem 0;
}
.lower .commonFlexArea01.borderPattern {
  margin-top: 30rem;
  padding: 20rem 20rem !important;
}
.lower .commonFlexArea01 > .textArea,
.lower .commonFlexArea01 > .lead,
.lower .commonFlexArea01 > .text {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 .image,
.lower .commonFlexArea01 .images,
.lower .commonFlexArea01 > li,
.lower .commonFlexArea01 > section.topics {
  flex: 0 0 auto !important;
}
.lower .commonFlexArea01 > .commonDefinition01.flex640,
.lower .commonFlexArea01 > .commonDefinition02.flex640,
.lower .commonFlexArea01 > .commonDefinition03.flex640,
.lower .commonFlexArea01 > .commonDefinition04.flex640 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex620,
.lower .commonFlexArea01 > .commonDefinition02.flex620,
.lower .commonFlexArea01 > .commonDefinition03.flex620,
.lower .commonFlexArea01 > .commonDefinition04.flex620 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex470,
.lower .commonFlexArea01 > .commonDefinition02.flex470,
.lower .commonFlexArea01 > .commonDefinition03.flex470,
.lower .commonFlexArea01 > .commonDefinition04.flex470 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex430,
.lower .commonFlexArea01 > .commonDefinition02.flex430,
.lower .commonFlexArea01 > .commonDefinition03.flex430,
.lower .commonFlexArea01 > .commonDefinition04.flex430 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex300,
.lower .commonFlexArea01 > .commonDefinition02.flex300,
.lower .commonFlexArea01 > .commonDefinition03.flex300,
.lower .commonFlexArea01 > .commonDefinition04.flex300 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex260,
.lower .commonFlexArea01 > .commonDefinition02.flex260,
.lower .commonFlexArea01 > .commonDefinition03.flex260,
.lower .commonFlexArea01 > .commonDefinition04.flex260 {
  flex: 0 0 auto;
}
.lower .commonFlexArea01 > .commonDefinition01.flex180,
.lower .commonFlexArea01 > .commonDefinition02.flex180,
.lower .commonFlexArea01 > .commonDefinition03.flex180,
.lower .commonFlexArea01 > .commonDefinition04.flex180 {
  flex: 0 0 auto;
}
.lower .commonDefinition01 {
  padding: 20rem;
  border-radius: 8rem;
}
.lower .commonDefinition01:not(.noTopMargin) {
  margin-top: 20rem;
}
.lower .commonDefinition01 dt {
  margin-bottom: 15rem;
  padding: 5rem 20rem;
  border-radius: 50rem;
  font-size: 18rem;
}
.lower .commonDefinition01 dd img {
  padding-top: 20rem;
}
.lower .commonDefinition02 + dl {
  padding-top: 25rem;
}
.lower .commonDefinition02 dt {
  padding-bottom: 10rem;
  font-size: 18rem;
}
.lower .commonDefinition02 dd {
  font-size: 15rem;
}
.lower .commonDefinition02 dd + dd {
  padding-top: 5rem;
}
.lower .commonDefinition03 + dl {
  padding-top: 25rem;
}
.lower .commonDefinition03 dt {
  padding-bottom: 10rem;
  font-size: 18rem;
}
.lower .commonDefinition03 dd {
  line-height: 1.75;
  font-size: 15rem;
}
.lower .commonDefinition03 dd + dd {
  padding-top: 5rem;
}
.lower .commonDefinition04 {
  padding: 25rem 0 30rem;
  background-size: 150rem auto;
}
.lower .commonDefinition04:not(.noTopMargin) {
  margin-top: 35rem;
}
.lower .commonDefinition04 dt,
.lower .commonDefinition04 dd {
  padding-right: 22rem;
  padding-left: 22rem;
}
.lower .commonDefinition04 dt {
  margin-bottom: 15rem;
  padding-bottom: 20rem;
  font-size: 24rem;
}
.lower .commonDefinition04 dd {
  font-size: 15rem;
}
.lower .commonDefinition04 dd.catch {
  font-size: 18rem;
}
.lower .commonFlexImages01 {
  flex-direction: column;
  align-items: normal;
  gap: 20rem 0 !important;
}
.lower .commonFlexImages03 {
  flex-direction: column;
  justify-content: normal;
  gap: 20rem 0;
}
.lower .commonFlexImages03 li {
  flex: 0 0 auto;
}
.lower .commonDotTexts01 {
  padding: 25rem 25rem !important;
}
.lower .commonDotTexts01 li {
  font-size: 15rem;
}
.lower .commonNumberTexts01 > li {
  font-size: 15rem;
}
.lower .commonNumberTexts01 > li ul li {
  font-size: 15rem;
}
.lower .commonTopicsSection01 {
  margin-top: 40rem;
  padding: 0 20rem 20rem !important;
}
.lower .commonTopicsSection01 + .commonTopicsSection01 {
  margin-top: 30rem;
}
.lower .commonTopicsSection01 h4 {
  padding: 15rem 0 20rem 70rem;
  font-size: 16rem;
}
.lower .commonTopicsSection01 h4:before {
  width: 60rem;
  height: 61rem;
}
.lower .commonTopicsSection01 .logo {
  position: static;
  margin: auto;
  padding-bottom: 20rem;
  width: 120rem;
}
.lower .commonTable01 tr {
  border-top: none;
  min-height: 0;
}
.lower .commonTable01 th,
.lower .commonTable01 td {
  display: block;
  line-height: 1.3;
  font-size: 14rem;
  font-weight: 300;
  width: 100% !important;
}
.lower .commonTable01 th {
  padding: 10rem 10rem;
  font-size: 16rem;
}
.lower .commonTable01 td {
  padding: 10rem 15rem;
}
.lower .commonTable01 td:first-child {
  border-top: 1rem solid #231815;
}
.lower .commonTable01 td:first-of-type {
  padding: 10rem 15rem 0;
  font-size: 18rem;
}

/*==================================================================================
 lower partsCodingPages
==================================================================================*/
.lower.partsCodingPages .sections:not(:last-of-type) {
  padding-bottom: 80rem;
}
.lower.partsCodingPages .sections + .annotation {
  padding-top: 60rem !important;
}
.lower.partsCodingPages .sections .sectionGuide {
  position: static;
  margin: auto;
  padding-bottom: 30rem;
  width: 200rem;
}
.lower.partsCodingPages .inSections:not(:last-of-type) {
  padding-bottom: 40rem;
}
.lower.partsCodingPages .inSections:not(:last-of-type).bottomSpaceSmall01 {
  padding-bottom: 30rem;
}
.lower.partsCodingPages .inSections:not(:last-of-type).bottomSpaceSmall02 {
  padding-bottom: 20rem;
}
.lower.partsCodingPages .inSections:not(:last-of-type).bottomSpaceSmall03 {
  padding-bottom: 15rem;
}
.lower.partsCodingPages .inSections + .annotation {
  padding-top: 60rem !important;
}
.lower.partsCodingPages article.contents .catch + section,
.lower.partsCodingPages article.contents .lead + section,
.lower.partsCodingPages article.contents .text + section,
.lower.partsCodingPages article.contents .annotation + section,
.lower.partsCodingPages article.contents .image + section,
.lower.partsCodingPages article.contents ul + section {
  padding-top: 80rem;
}
.lower.partsCodingPages article.contents .catch + section.topSpaceSmall,
.lower.partsCodingPages article.contents .lead + section.topSpaceSmall,
.lower.partsCodingPages article.contents .text + section.topSpaceSmall,
.lower.partsCodingPages article.contents .annotation + section.topSpaceSmall,
.lower.partsCodingPages article.contents .image + section.topSpaceSmall,
.lower.partsCodingPages article.contents ul + section.topSpaceSmall {
  padding-top: 40rem;
}
.lower.partsCodingPages article.contents .catch + .lead:not(.indent01),
.lower.partsCodingPages article.contents .catch + .text,
.lower.partsCodingPages article.contents .catch + .image,
.lower.partsCodingPages article.contents .catch + .commonFlexArea01,
.lower.partsCodingPages article.contents .catch + ul,
.lower.partsCodingPages article.contents .lead + .lead:not(.indent01),
.lower.partsCodingPages article.contents .lead + .text,
.lower.partsCodingPages article.contents .lead + .image,
.lower.partsCodingPages article.contents .lead + .commonFlexArea01,
.lower.partsCodingPages article.contents .lead + ul,
.lower.partsCodingPages article.contents .text + .lead:not(.indent01),
.lower.partsCodingPages article.contents .text + .text,
.lower.partsCodingPages article.contents .text + .image,
.lower.partsCodingPages article.contents .text + .commonFlexArea01,
.lower.partsCodingPages article.contents .text + ul,
.lower.partsCodingPages article.contents .annotation + .lead:not(.indent01),
.lower.partsCodingPages article.contents .annotation + .text,
.lower.partsCodingPages article.contents .annotation + .image,
.lower.partsCodingPages article.contents .annotation + .commonFlexArea01,
.lower.partsCodingPages article.contents .annotation + ul,
.lower.partsCodingPages article.contents .image + .lead:not(.indent01),
.lower.partsCodingPages article.contents .image + .text,
.lower.partsCodingPages article.contents .image + .image,
.lower.partsCodingPages article.contents .image + .commonFlexArea01,
.lower.partsCodingPages article.contents .image + ul,
.lower.partsCodingPages article.contents ul + .lead:not(.indent01),
.lower.partsCodingPages article.contents ul + .text,
.lower.partsCodingPages article.contents ul + .image,
.lower.partsCodingPages article.contents ul + .commonFlexArea01,
.lower.partsCodingPages article.contents ul + ul {
  padding-top: 30rem;
}
.lower.partsCodingPages article.contents .catch + .topSpaceSmall01,
.lower.partsCodingPages article.contents .lead + .topSpaceSmall01,
.lower.partsCodingPages article.contents .text + .topSpaceSmall01,
.lower.partsCodingPages article.contents .annotation + .topSpaceSmall01,
.lower.partsCodingPages article.contents .image + .topSpaceSmall01,
.lower.partsCodingPages article.contents ul + .topSpaceSmall01 {
  padding-top: 20rem !important;
}
.lower.partsCodingPages article.contents .catch + .topSpaceSmall02,
.lower.partsCodingPages article.contents .lead + .topSpaceSmall02,
.lower.partsCodingPages article.contents .text + .topSpaceSmall02,
.lower.partsCodingPages article.contents .annotation + .topSpaceSmall02,
.lower.partsCodingPages article.contents .image + .topSpaceSmall02,
.lower.partsCodingPages article.contents ul + .topSpaceSmall02 {
  padding-top: 15rem !important;
}
.lower.partsCodingPages article.contents .catch + .topSpaceSmall03,
.lower.partsCodingPages article.contents .lead + .topSpaceSmall03,
.lower.partsCodingPages article.contents .text + .topSpaceSmall03,
.lower.partsCodingPages article.contents .annotation + .topSpaceSmall03,
.lower.partsCodingPages article.contents .image + .topSpaceSmall03,
.lower.partsCodingPages article.contents ul + .topSpaceSmall03 {
  padding-top: 10rem !important;
}
.lower.partsCodingPages article.contents .catch + .commonFlexArea01 {
  padding-top: 15rem;
}
.lower.partsCodingPages article.contents .commonFlexArea01 + .commonFlexArea01,
.lower.partsCodingPages article.contents .commonFlexArea01 + .image,
.lower.partsCodingPages article.contents .commonFlexArea01 + .commonFlexImages01 {
  padding-top: 40rem;
}
.lower.partsCodingPages article.contents .lead .name {
  padding-top: 10rem;
}
.lower.partsCodingPages article.contents .lead .annotation {
  padding-top: 10rem;
}
.lower.partsCodingPages article.contents .annotation {
  padding-top: 20rem;
}
.lower.partsCodingPages article.contents .annotation.topSpaceSmall01 {
  padding-top: 20rem;
}
.lower.partsCodingPages article.contents .annotation.topSpaceSmall02 {
  padding-top: 15rem;
}
.lower.partsCodingPages article.contents .annotation.topSpaceSmall03 {
  padding-top: 10rem;
}
.lower.partsCodingPages article.contents .topSpace01 {
  margin-top: 60rem;
}
.lower.partsCodingPages article.contents .topSpace02 {
  margin-top: 40rem;
}
.lower.partsCodingPages article.contents .topSpace03 {
  margin-top: 20rem;
}
.lower.partsCodingPages article.contents .topSpace04 {
  margin-top: 15rem;
}
.lower.partsCodingPages article.contents .topSpace05 {
  margin-top: 10rem;
}
.lower.partsCodingPages article.contents .topSpace06 {
  margin-top: 5rem;
}
.lower.partsCodingPages article.contents .bottomSpace01 {
  margin-bottom: 60rem;
}
.lower.partsCodingPages article.contents .bottomSpace02 {
  margin-bottom: 40rem;
}
.lower.partsCodingPages article.contents .bottomSpace03 {
  margin-bottom: 20rem;
}
.lower.partsCodingPages article.contents .bottomSpace04 {
  margin-bottom: 15rem;
}
.lower.partsCodingPages article.contents .bottomSpace05 {
  margin-bottom: 10rem;
}
.lower.partsCodingPages article.contents .bottomSpace06 {
  margin-bottom: 5rem;
}
.lower.partsCodingPages article.contents .topSpaceSpNone {
  margin-top: 0 !important;
}
.lower.partsCodingPages article.contents .bottomSpaceSpNone {
  margin-top: 0 !important;
}

/*==================================================================================
 lower01-01
==================================================================================*/
#lower01-01 section.intro {
  margin-bottom: 70rem;
  padding-bottom: 80rem;
}
#lower01-01 section.intro:after {
  right: 15rem;
  left: 15rem;
  height: 8rem;
}
#lower01-01 section.intro > header {
  margin-bottom: 30rem;
}
#lower01-01 section.intro > header h1 {
  bottom: 35rem;
  left: calc(50% - 180rem);
  width: 360rem;
}
#lower01-01 section.intro > header .catch {
  top: 32rem;
  right: 52rem;
  padding: 0;
  letter-spacing: 2.5rem;
  font-size: 22.6rem;
  color: #fff;
  background: none;
  writing-mode: vertical-lr;
}
#lower01-01 section.intro .lead {
  padding-bottom: 30rem;
}
#lower01-01 section.intro .image {
  width: 345rem;
}
#lower01-01 section.scaleMerit {
  padding-bottom: 80rem;
}
#lower01-01 section.scaleMerit > header {
  display: block;
  position: static;
  padding-bottom: 30rem;
}
#lower01-01 section.scaleMerit > header h2 {
  padding-bottom: 30rem;
}
#lower01-01 section.scaleMerit > header .photo img {
  padding-bottom: 15rem;
  width: 345rem;
}
#lower01-01 section.scaleMerit .contentArea {
  float: none;
  width: auto;
}
#lower01-01 section.scaleMerit .contentArea .texts + .texts,
#lower01-01 section.scaleMerit .contentArea .texts + .image {
  margin-top: 30rem;
}
#lower01-01 section.scaleMerit .contentArea .image + .texts,
#lower01-01 section.scaleMerit .contentArea .image + .image {
  margin-top: 30rem;
}
#lower01-01 section.waterkeepers {
  padding: 270rem 0 50rem;
}
#lower01-01 section.waterkeepers .textArea {
  justify-content: normal;
  gap: 15rem 0;
  position: static;
  margin: auto;
  width: 345rem;
}
#lower01-01 section.waterkeepers .keepersNumber {
  left: 331rem;
  font-size: 19.25rem;
}
#lower01-01 section.waterkeepers .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0;
}
#lower01-01 section.waterkeepers:nth-of-type(2n) .keepersNumber {
  left: 57rem;
}
#lower01-01 section.management {
  padding: 80rem 0;
}
#lower01-01 section.management .image {
  margin-bottom: 20rem;
}
#lower01-01 section.management .catch {
  width: 345rem;
  font-size: 18rem;
}
#lower01-01 section.management .catch .small {
  padding-bottom: 8rem;
  font-size: 14rem;
}
#lower01-01 section.charenge {
  flex-direction: column;
  gap: 30rem 0;
}
#lower01-01 section.charenge .textArea {
  flex: 0 0 auto;
}
#lower01-01 section.charenge .textArea h4 {
  padding-bottom: 20rem;
  font-size: 22rem;
}
#lower01-01 section.charenge .textArea h4 .small {
  padding-top: 10rem;
  font-size: 18rem;
}
#lower01-01 section.charenge .textArea .lead {
  padding-bottom: 30rem;
}
#lower01-01 section.charenge .image {
  flex: 0 0 auto;
  order: -1;
}

/*==================================================================================
 lower01-02
==================================================================================*/
#lower01-02 section.intro {
  padding-bottom: 60rem;
}
#lower01-02 section.intro > header {
  margin-bottom: 30rem;
  padding-bottom: 0;
}
#lower01-02 section.intro > header h1 {
  position: absolute;
  top: calc(50% - 70rem);
  right: 0;
  bottom: auto;
  left: 0;
}
#lower01-02 section.intro > header h1 img {
  width: 260rem;
}
#lower01-02 section.intro > header h1 span {
  font-size: 30rem;
}
#lower01-02 section.intro > header .images {
  flex-direction: column;
}
#lower01-02 section.intro > header .images img {
  width: auto;
}
#lower01-02 section.intro > header .catch {
  top: 60rem;
  right: 0;
  padding: 3rem 45rem;
  line-height: 1;
  letter-spacing: .17em;
  font-size: 38rem;
  font-weight: 600;
  color: #231815;
  background: rgba(255, 255, 255, 0.82);
}
#lower01-02 section.intro .lead {
  text-align: center;
  font-weight: 600;
  color: #00458e;
}

/*# sourceMappingURL=smartphone.css.map */
