@charset "UTF-8";
:root {
  --mainColor: #0e2f8d;
  --mainColorHover: #2059a2;
  --textColor: #595757;
  --footerBgColor: #e0e0e0;
  --contentMaxWidth: 1250px;
  --navColor: #2c2c2c;
  --frameColor: #e7e7e7;
  --leading-trim: calc((1em - 1lh) / 2);
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--textColor);
  font-family: "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
  line-height: 1.8;
}

a:link,
a:active,
a:visited {
  color: var(--textColor);
}

:target {
  scroll-margin-top: 65px;
}

/**
 * header
 */
.l-header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 65px;
  background-color: #fff;
  z-index: 100;
}

.home .l-header {
  border-bottom: 1px solid #fff;
}

.l-header__logo {
  padding: 0 10px;
  line-height: 1;
}

.l-header__logo a:hover {
  opacity: 0.8;
}

.l-header__title {
  margin: 0;
}

.l-header__menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0 3.636vw;
}

.l-header__menu a {
  display: flex;
  align-items: center;
  min-height: 65px;
  height: 100%;
}

.l-header__menu a:hover {
  color: var(--mainColorHover);
}

.l-header__menu--contact > a {
  padding: 0 30px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #595757;
  justify-content: center;
}

.l-header__menu--contact a:hover {
  color: #fff;
  background: var(--mainColor);
}

.l-header__ctrlButton {
  display: none;
  margin-right: 10px;
  padding: 0;
  text-indent: -1000em;
  background-color: transparent;
  width: 37px;
  height: 37px;
  border: none;
}

.l-header__ctrlButton span {
  content: "";
  display: block;
  width: 37px;
  height: 2px;
  border-radius: 2px;
  background: #333333;
}

.l-header__ctrlButton span::before,
.l-header__ctrlButton span::after {
  display: block;
  position: absolute;
  content: "";
  width: 37px;
  height: 2px;
  border-radius: 2px;
  background: #333333;
  transition: 0.3s ease;
}

.l-header__ctrlButton span::before {
  top: 20px;
}

.l-header__ctrlButton span::after {
  bottom: 20px;
}

.toggled .l-header__ctrlButton span {
  height: 0;
}

.toggled .l-header__ctrlButton span::before {
  opacity: 1;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  transition: 0.3s ease;
}

.toggled .l-header__ctrlButton span::after {
  opacity: 1;
  top: 50%;
  transform: rotate(-45deg) translateY(-50%);
  transition: 0.3s ease;
}

@media screen and (max-width: 1100px ) {
  .l-header__menu {
    gap: 0 2vw;
  }
}

@media screen and (max-width: 960px) {
  .l-header__ctrlButton {
    display: block;
  }
  .l-header__menu {
    position: fixed;
    width: 100vw;
    visibility: hidden;
    opacity: 0;
    top: 65px;
    right: 0;
    background-color: #fff;
    color: #fff;
    padding: 50px 2rem;
    transition: all 0.5s;
    z-index: 1000;
    flex-direction: column;
  }
  .toggled .l-header__menu {
    visibility: visible;
    opacity: 1;
  }
}
/**
 * footer
 */
.l-footer {
  margin: 0;
  padding: 45px 0;
  background-color: var(--footerBgColor);
}

.l-footer__navi {
  display: flex;
  gap: 0 87px;
}

.l-footer__logo {
  margin: 0;
}

.l-footer__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 2.59vw;
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-footer__menu > li {
  width: fit-content;
  min-width: calc(33% - 2.59vw);
}

.l-footer__copyright {
  margin-top: 130px;
  color: #767676;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .l-footer__navi,
  .l-footer__menu {
    flex-direction: column;
  }
  .l-footer__menu {
    margin-top: 2rem;
    gap: 20px 0;
  }
  .l-footer__menu > li {
    width: 100%;
  }
}
/**
 * main
 */
.l-main {
  max-width: var(--contentMaxWidth);
  margin: 0 auto;
  padding-bottom: 130px;
}

@container (max-width: 1250px) {
  .l-main-contents {
    padding-right: 5.333vw;
    padding-left: 5.333vw;
  }
}
body:not(.home) .l-main-contents {
  padding-top: 12.987vw;
}

body:not(.home) .l-main-contents:not(:has(+ .c-heading-group)) {
  padding-top: calc(12.987vw - var(--leading-trim));
}

.l-inner {
  max-width: var(--contentMaxWidth);
  margin: 0 auto;
}

@media screen and (max-width: 1250px) {
  .l-inner {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}
.c-lead + .l-section {
  margin-top: 8.5rem;
}

.l-section + .l-section {
  margin-top: 8.5rem;
}

.l-section > .l-section + .l-section {
  margin-top: 5rem;
}

/**
 * heading
 */
.c-nav a {
  text-decoration: none;
}

.c-lead {
  margin: 0;
  color: #595757;
  font-size: 1.5rem;
  font-weight: bold;
}

/* 固定ページ：見出し */
.c-pagetitle-group {
  container-type: inline-size;
  resize: horizontal;
  width: 100vw;
  min-height: 375px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background-color: transparent;
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/bg_header.jpg");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
}

.c-pagetitle-group.--application-guidelines {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/bg_header_application.jpg");
}

.c-pagetitle-group.--public-info {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/bg_header_public.jpg");
}

.c-pagetitle-group.--reports {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/bg_header_report.jpg");
}

.c-pagetitle-group.--privacypolicy {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/bg_header_privacy.jpg");
}

@media screen and (max-width: 1250px) {
  .c-pagetitle-group {
    background-position: right -16vw top;
  }
}
@media screen and (max-width: 425px) {
  .c-pagetitle-group {
    background-position: right -60vw top;
  }
}
.c-pagetitle-group__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 375px;
  color: #fff;
}

@container (max-width: 1290px) {
  .c-pagetitle-group__inner.l-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.c-pagetitle-group__title {
  margin: 0;
  font-size: clamp(3.13rem, 2.58vw + 2.52rem, 5.63rem);
  font-weight: bold;
}

.c-pagetitle-group__summary {
  display: inline-block;
  max-width: 50cqw;
  margin: 0 0 0 calc(50% - 50vw);
  padding: 1.125rem 1.125rem 1.125rem calc(50vw - 50%);
  background-color: var(--mainColorHover);
}

@media screen and (max-width: 768px) {
  .c-pagetitle-group__summary {
    max-width: 80cqw;
  }
}
/* 見出しグループ */
.c-heading-group {
  margin-bottom: calc(3.625em + var(--leading-trim));
}

.c-heading__ja {
  margin: 0;
  font-weight: bold;
  font-size: clamp(1.19rem, 0.71vw + 1.02rem, 1.56rem);
}

.c-heading__en {
  margin: 0;
  color: var(--mainColorHover);
}

.c-heading__en--mainText {
  margin: 0;
  font-size: clamp(4.38rem, 2.37vw + 3.82rem, 5.63rem);
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1;
  white-space: wrap;
  word-break: break-all;
  hyphens: auto;
}

@media screen and (max-width: 576px) {
  .c-heading__en--mainText {
    letter-spacing: unset;
  }
}
.c-heading__en--subText {
  display: block;
  font-weight: normal;
  font-size: clamp(0.94rem, 0.59vw + 0.8rem, 1.25rem);
  text-transform: none;
}

/* セクションの見出し */
.c-section-title {
  position: relative;
  margin: 0 0 calc(2.5rem + var(--leading-trim));
  padding-left: 1em;
  color: var(--mainColorHover);
  font-size: clamp(1.5rem, 0.26vw + 1.44rem, 1.75rem);
  line-height: 1.5;
}

.c-section-title::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  display: block;
  margin-right: 5px;
  width: 0.7em;
  height: 0.7em;
  background-color: var(--mainColorHover);
}

/* セクションの小見出し */
.c-subsection-title {
  margin: 0;
  color: var(--mainColorHover);
  font-size: clamp(1.25rem, 0.32vw + 1.18rem, 1.56rem);
  line-height: 1.5;
}

/* ※印のリスト */
p.c-kome-list {
  padding-left: 1em;
  text-indent: -1em;
}

ul.c-kome-list li {
  padding-left: 1em;
  text-indent: -1em;
}

/* カッコ番号付きのリスト */
.c-numbered-list--parentheses {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  counter-reset: parentheses;
}

.c-numbered-list--parentheses li {
  position: relative;
  padding-left: 1.5em;
}

.c-numbered-list--parentheses li::before {
  position: absolute;
  left: 0;
  top: 0;
  counter-increment: parentheses;
  content: "(" counter(parentheses) ") ";
}

.c-numbered-list--parentheses li + li {
  margin-top: 0.5em;
}

/* 例）のリスト */
p.c-example-list {
  padding-left: 1em;
  text-indent: -1em;
}

ul.c-example-list {
  margin: 1.8rem 0;
  padding-left: 0;
  list-style: none;
}

ul.c-example-list li {
  padding-left: 2em;
  text-indent: -2em;
}

ul.c-example-list li + li {
  margin-top: 0.5em;
}

/**
 * リンク
 */
.c-link--pdf,
.c-link--external {
  position: relative;
}

.c-link--pdf::after,
.c-link--external::after {
  content: "";
  display: inline-block;
  width: 2.3em;
  height: 2em;
  vertical-align: middle;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 2em 2em;
}

.c-link--pdf::after {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_pdf.svg");
}

.c-link--external::after {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_open_in_new.svg");
}

/*テーブル */
.c-table th,
.c-table td {
  padding: 0.5em 0;
}

.c-table td p {
  margin: 0;
}

.c-table td p + p {
  margin-top: 0.53em;
}

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

.c-table.--vertical th {
  width: 10em;
  padding-right: 1em;
  text-align: left;
  vertical-align: top;
  white-space: nowrap;
}

.c-table--no-border {
  border: none;
}

/* 枠 */
.c-framed {
  padding: 40px 30px;
  background-color: var(--frameColor);
  border-radius: 12px;
}

.c-framed *:first-child {
  margin-top: 0;
}

.c-framed *:last-child {
  margin-bottom: 0;
}

/* 注釈 */
.c-note {
  font-size: 0.85em;
}

/* リンクボタン L */
.c-button--L {
  margin-bottom: 1.5rem;
  display: inline-block;
}

.c-button--L > a {
  display: flex;
  align-items: center;
  gap: 0 2.25em;
  padding: 2rem;
  color: #fff;
  text-decoration: none;
  background-color: var(--mainColorHover);
}

.c-button--L > a:hover {
  background-color: var(--mainColor);
}

.c-button--L__filetype {
  display: block;
  width: 36px;
  height: 36px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.c-button--L__filetype.--pdf {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_pdf_l_w.png");
}

.c-button--L__file {
  display: flex;
  align-items: end;
  gap: 0 2.25em;
}

.c-button--L__organization-name {
  display: flex;
  flex-direction: column;
  font-size: 1.5rem;
  line-height: 1.3;
}

.c-button--L__organization-name > span {
  font-size: 1.125rem;
}

.c-pdf-button__filetype {
  font-size: 0.85em;
}

.c-button--L__filename {
  width: 2em;
  font-size: 1.5rem;
  line-height: 1.3;
}

@media screen and (max-width: 576px) {
  .c-button--L__file {
    flex-direction: column;
    align-items: start;
  }
  .c-button--L__filename {
    width: unset;
  }
}
/* ページ送り */
.p-posts-pagination {
  margin-top: 3rem;
}

.p-posts-navigation__wrap {
  display: flex;
  justify-content: center;
}

.p-posts-navigation__wrap ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-posts-navigation__wrap li .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3em;
  height: 3em;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  line-height: 1;
  background-color: var(--mainColorHover);
  border: 2px solid var(--mainColorHover);
  border-radius: 3px;
}

.p-posts-navigation__wrap li .page-numbers:hover,
.p-posts-navigation__wrap li .page-numbers.current {
  color: var(--mainColorHover);
  background-color: #fff;
  border: 2px solid var(--mainColorHover);
}

/* ページの先頭に戻る */
.c-return-to-top-button {
  position: fixed;
  right: 20px;
  bottom: 20px;
  font-size: 0.625rem;
  text-align: center;
  text-decoration: none;
  z-index: 20;
  transition: opacity 0.2s;
}
.c-return-to-top-button a {
  text-decoration: none;
}
.c-return-to-top-button a::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  background-color: #aeaeae;
  border-radius: 100px;
}
.c-return-to-top-button a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateX(-50%) translateY(calc(-50% - 1em)) rotate(-90deg);
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  height: 12px;
  aspect-ratio: 1;
  background-color: #fff;
}
.c-return-to-top-button a:hover::before {
  background-color: rgb(135.75, 135.75, 135.75);
}

.c-return-to-top-button[data-display=true] {
  opacity: 1;
}

.c-return-to-top-button[data-display=false] {
  opacity: 0;
}

/**
 * Project
 */
/**
* News
*/
.p-news {
  position: relative;
  margin-top: -5.375rem;
  padding: 57px 5.45vw;
  background-color: #fff;
  border-radius: 5px;
}

.p-news__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-news__item {
  display: flex;
  gap: 0 62px;
  font-size: 1.25rem;
}

.p-news__item + .p-news__item {
  margin-top: calc(1.875rem + var(--leading-trim));
}

.p_news__entry-date {
  color: var(--mainColorHover);
  font-weight: bold;
}

.p_news__entry-title {
  color: #595757;
  font-weight: normal;
  text-decoration: none;
}

.p_news__entry-title:hover {
  text-decoration: underline;
}

.p-news__item .c-link--pdf::after,
.p-news__item .c-link--external::after {
  width: 1.3em;
  height: 1.2em;
  background-size: 1.2em 1.2em;
}

@media screen and (max-width: 425px) {
  .p-news__item {
    flex-direction: column;
  }
}
/* Entry
------------------ */
.p-entry__header {
  margin-bottom: 5rem;
}

.p-entry__title {
  margin-bottom: 1rem;
}

.p-entry__date {
  margin: 0;
  color: rgb(178.1335227273, 176.3664772727, 176.3664772727);
}

/* Documents
------------------ */
.p-documents {
  margin-top: 5.625rem;
}

@media screen and (min-width: 769px) {
  .p-documents .wp-block-column {
    max-width: calc(33% - 2em);
  }
}
.p-documents .wp-block-list {
  margin-left: 0;
  padding-left: 1.5em;
}

.p-documents .wp-block-list a[href$=".pdf"]::after {
  position: relative;
  top: 0.25em;
  margin-left: 0.25em;
  content: url("/wpmricf/wp-content/themes/maruichi/images/ico_pdf.svg");
}

/* report
------------------ */
.p-report {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 32px;
}

.p-report__list {
  width: calc(33% - 32px);
  padding: calc(2.375rem + var(--leading-trim)) 2.25rem;
  border: 4px solid var(--mainColorHover);
  border-radius: 10px;
}

.p-report__year {
  margin-block: calc((1em - 1lh) / 2);
  color: var(--mainColorHover);
  font-size: clamp(1.75rem, -0.13vw + 1.78rem, 1.63rem);
  line-height: 1.5;
}

.p-report__post-list {
  margin: calc(1.875rem + var(--leading-trim)) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: parentheses;
}

.p-report__post-list li {
  position: relative;
  width: 90%;
}

.p-report__post-list li::before {
  position: absolute;
  left: 0;
  top: 0;
  counter-increment: parentheses;
  content: counter(parentheses) ". ";
}

.p-report__post-list li:has(.c-link--pdf)::after {
  content: url("/wpmricf/wp-content/themes/maruichi/images/ico_pdf.svg");
  position: absolute;
  right: -10%;
  top: 0;
}

.p-report__post-list li a {
  display: block;
  position: relative;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  padding-left: 1.3em;
}

.c-link--pdf::after {
  display: none;
}

@media screen and (max-width: 768px) {
  .p-report__list {
    width: calc(50% - 32px);
  }
}
@media screen and (max-width: 576px) {
  .p-report {
    flex-direction: column;
  }
  .p-report__list {
    width: 100%;
  }
}
/**
 * utility
 */
/* スクリーンリーダ用テキスト */
.u-screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.u-screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* PC/SP出しわけ */
.u-block--md {
  display: block;
}

.u-block--sm {
  display: none;
}

@media (max-width: 576px) {
  .u-block--md {
    display: none;
  }
  .u-block--sm {
    display: block;
  }
}
/**
 * Block style
 */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: unset;
}

@media screen and (max-width: 1250px) {
  .entry-content {
    padding-left: var(--wp--custom--gutter);
    padding-right: var(--wp--custom--gutter);
  }
  .entry-content > *.alignfull {
    margin-left: calc(var(--wp--custom--gutter) * -1);
    margin-right: calc(var(--wp--custom--gutter) * -1);
  }
}
.page-content, .entry-content, .entry-summary {
  margin: 0;
}

/* ボタン ----------------- */
.wp-block-button {
  position: relative;
  min-width: 20rem;
}

.wp-block-button.--icon > a {
  padding-right: 50px;
}

.wp-block-button.--icon::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 2.3em;
  height: 2em;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 2em 2em;
}

.wp-block-button.--icon.--pdf::after {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_pdf_w.svg");
}

.wp-block-button.--icon.--external::after {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_open_in_new_w.svg");
}

.wp-block-button.--icon.--download::after {
  background-image: url("/wpmricf/wp-content/themes/maruichi/images/ico_download_w.svg");
}

.wp-block-button a:link,
.wp-block-button a:active,
.wp-block-button a:visited {
  color: #fff;
}

.wp-block-button__link:hover {
  background-color: var(--mainColor);
}

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