@charset "UTF-8";
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
  font-display: swap;
}
* {
  font-family: YakuHanJPs_Noto, "Noto Sans JP", Meiryo, sans-serif;
}

/* ------------------------------------------------------------

404ページ

------------------------------------------------------------ */
.wrap-404 {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 14rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404 {
    padding: 6rem 2rem 8rem;
  }
}
.wrap-404__inner {
  margin-bottom: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404__inner {
    margin-bottom: 4rem;
  }
}
.wrap-404__inner h1 {
  font-size: 3.8rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404__inner h1 {
    font-size: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrap-404 br {
    display: none;
  }
}

:root {
  /* 予備 */
  --vw: calc(100vw/100);
  /* 画面全幅 */
  --fv-w: calc(var(--vw) * 100);
}

html {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  visibility: hidden;
}
html.is-ready {
  visibility: visible;
}
html {
  /* ベース（1920px以上向け） */
  font-size: calc(var(--fv-w) / 1920 * 10);
  /*--PC印刷--*/
}
@media print {
  html {
    font-size: 0.6944444444vw;
  }
}
html {
  /* 1920px以下 〜 1441px まで固定 */
}
@media screen and (max-width: 1920px) {
  html {
    font-size: 62.5%;
  }
}
html {
  /*--1440px以下 1対1でスケール--*/
}
@media screen and (max-width: 1440px) {
  html {
    font-size: calc(var(--fv-w) / 1440 * 10);
  }
}
html {
  /*--SP--*/
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  html {
    font-size: 2.6666666667vw;
  }
}

body {
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #FFFFFF;
  color: #21211F;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.6;
}
body.open {
  overflow: hidden;
}

.svg_symbol {
  width: 0;
  height: 0;
  position: absolute;
  visibility: hidden;
}

/* スクリーンリーダーのみ */
.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ------------------------------------------------------------

Reset

------------------------------------------------------------ */
*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  vertical-align: baseline;
  -webkit-tap-highlight-color: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
main,
summary {
  display: block;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
table caption,
table th,
table td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

video,
canvas,
picture {
  display: block;
  max-width: 100%;
  height: auto;
}

img,
svg {
  max-width: 100%;
  height: auto;
}

img {
  vertical-align: top;
}

input,
textarea,
select,
button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  background-color: transparent;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

textarea {
  resize: vertical;
  display: block;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  background: none;
}

button:disabled {
  cursor: default;
}

a {
  text-decoration: none;
  color: inherit;
}

.js-focus-visible:focus:not(.focus-visible) {
  outline: 0;
}

.focus-visible {
  outline: 2px solid orange;
}

/* ------------------------------------------------------------

Shortcodes

------------------------------------------------------------ */
.normal {
  font-weight: 400 !important;
}

.bold {
  font-weight: 700 !important;
}

.italic {
  font-style: italic !important;
}

.none {
  display: none !important;
}

.mb-none {
  margin-bottom: 0 !important;
}

sub {
  vertical-align: sub !important;
  font-size: 50%;
}

sup {
  vertical-align: super !important;
  font-size: 50%;
}

.txt-mail::after {
  content: "@";
}

.red01 {
  color: #FF0000;
}

.indent-1 {
  text-indent: -1em;
  padding-left: 1em;
}

/* ------------------------------------------------------------

ボタン

------------------------------------------------------------ */
.btnType01__inner {
  display: inline-block;
}
.btnType01__inner a {
  display: block;
  color: #21211F;
  line-height: 1.5;
  padding: 1rem 5.55rem;
  font-weight: 500;
  border: 1px solid #2772B1;
  border-radius: 4.4rem;
  font-size: 1.6rem;
  transition: background 0.3s, color 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .btnType01__inner a:hover {
    background: #2772B1;
    color: #FFFFFF;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnType01__inner a {
    padding: 0.9rem 5.06rem;
  }
}

.btnType02__inner {
  display: inline-block;
}
.btnType02__inner-a {
  color: #21211F;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.btnType02__inner-a-txt {
  font-weight: 500;
  line-height: 1.5;
}
.btnType02__inner-a-ico {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}
.btnType02__inner-a-ico::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3.2rem;
  border: 1px solid #2772B1;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform 0.3s, background 0.3s;
}
a:hover .btnType02__inner-a-ico::after {
  background: #2772B1;
  transform: scale(1.08);
}
.btnType02__inner-a-ico svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #2772B1;
  position: relative;
  z-index: 1;
}
a:hover .btnType02__inner-a-ico svg {
  fill: #FFFFFF;
}
.btnType02__inner__reverse-a {
  flex-direction: row-reverse;
}
.btnType02__inner__reverse-a-ico {
  transform: scale(-1, 1);
}

/* ------------------------------------------------------------

リンク

------------------------------------------------------------ */
.linkTel01__inner-tel {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .linkTel01__inner-tel {
    display: block;
    color: #21211F;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .linkTel01__inner span,
  .linkTel01__inner a:not(.linkTel01__inner-tel) {
    display: none;
  }
}

/* ------------------------------------------------------------

見出し

------------------------------------------------------------ */
.heading01 {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading01 {
    margin-bottom: 1rem;
  }
}
.heading01 img {
  width: 2rem;
  height: 2rem;
}

.heading02 {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading02 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
.heading02 img {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0.6rem 0 0;
}

.heading03 {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading03 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
.heading03 img {
  width: 2rem;
  height: 2rem;
  margin: 0.6rem 0 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .heading03 img {
    margin: 0.35rem 0 0;
  }
}

/* ------------------------------------------------------------

ページタイトル

------------------------------------------------------------ */
.pagettl {
  background: url(../img/bg_pagettl.jpg) no-repeat center;
  background-size: cover;
  padding: 0 4rem;
  width: 100%;
  height: 20rem;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl {
    background-image: url(../img/bg_pagettl_sp.jpg);
    padding: 0 1.5rem;
    height: 16rem;
  }
}
.pagettl__inner {
  width: calc(100% - 8rem);
  height: 100%;
  padding: 6.8rem 0 4.2rem;
  position: absolute;
  top: 0;
  left: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__inner {
    width: calc(100% - 3rem);
    padding: 3rem 0 4.2rem;
    left: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.pagettl__inner h1 {
  color: #2772B1;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__inner h1 {
    font-size: 2.4rem;
  }
}
.pagettl__inner h1 br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__inner h1 br {
    display: block;
  }
}
.pagettl__inner p {
  color: #2772B1;
  margin-top: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl__inner p {
    margin-top: 0;
  }
}
.pagettl .breadcrumb {
  width: calc(100% - 8rem);
  height: 4.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  left: 4rem;
  bottom: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagettl .breadcrumb {
    width: calc(100% - 3rem);
    left: 1.5rem;
  }
}

/* ------------------------------------------------------------

パンくずリスト

------------------------------------------------------------ */
.breadcrumb ul {
  color: #60A3C4;
  line-height: 1.2;
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.breadcrumb ul li {
  display: inline;
  vertical-align: middle;
  padding-right: 2.1rem;
  margin-right: 0.5rem;
  font-size: 1.4rem;
  letter-spacing: 0;
  position: relative;
}
.breadcrumb ul li::after {
  content: "";
  display: block;
  background: url(../img/ico_arrow_breadcrumb01.png) no-repeat 0 0;
  background-size: contain;
  width: 1.2rem;
  height: 1.2rem;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -0.55rem;
}
.breadcrumb ul li:last-child {
  padding-right: 0;
  margin-right: 0;
}
.breadcrumb ul li:last-child::after {
  display: none;
}
.breadcrumb ul li a {
  color: #2772B1;
  text-decoration: underline;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .breadcrumb ul li a:hover {
    opacity: 0.7;
  }
}
.breadcrumb ul li.current {
  color: #60A3C4;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ------------------------------------------------------------

記事一覧

------------------------------------------------------------ */
/* アーカイブ選択
---------------------------------------------- */
.listArchive {
  width: 13rem;
  margin-bottom: 4.1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listArchive {
    margin-bottom: 2rem;
  }
}
.listArchive p {
  color: #808080;
  text-align: center;
  margin-bottom: 0.7rem;
  font-weight: 500;
}
.listArchive .wrapSelect1 .select-selected {
  padding: 0.68rem 4rem 0.68rem 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listArchive .wrapSelect1 .select-selected {
    padding: 0.68rem 3rem 0.68rem 1.5rem;
  }
}

/* リスト Type1
---------------------------------------------- */
.articleType1 {
  border-bottom: 1px solid #E9E9E9;
}
.articleType1:last-of-type {
  border-bottom: none;
}
.articleType1__a {
  color: #21211F;
  padding: 1rem 0.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .articleType1__a:hover {
    background: #EBF1F4;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: unset;
    gap: unset;
  }
}
.articleType1:first-child .articleType1__a {
  padding-top: 0;
}
.articleType1:last-child .articleType1__a {
  padding-bottom: 0;
}
.articleType1__a figure {
  width: 10rem;
  height: 6rem;
  border-radius: 0.4rem;
  overflow: hidden;
  position: relative;
  flex: none;
  align-self: flex-start;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a figure {
    width: 13.3rem;
    height: 8rem;
    order: 3;
  }
}
.articleType1__a figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.articleType1__a-inner {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a-inner {
    display: contents;
  }
}
.articleType1__a-inner > div {
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a-inner > div {
    display: contents;
  }
}
.articleType1__a-inner-time {
  display: block;
  color: #666666;
  flex: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a-inner-time {
    order: 1;
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
.articleType1__a-inner-orderer {
  flex: 1;
  min-width: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a-inner-orderer {
    order: 2;
    flex: unset;
    width: 100%;
    margin-bottom: 1rem;
  }
}
.articleType1__a-inner-orderer > div {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #EBF1F4;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.articleType1__a-inner-orderer-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleType1__a-inner-orderer-ico img {
  width: 1.333rem;
  height: 1.333rem;
}
.articleType1__a-inner-orderer-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.articleType1__a-inner-ttl {
  width: 100%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType1__a-inner-ttl {
    order: 4;
    width: 15rem;
  }
}
.articleType1__a-inner-ttl h2 {
  letter-spacing: 0;
  display: inline;
  line-height: 1.6;
  font-weight: 500;
}
.articleType1__a-inner-ttl svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #D8D5D1;
  margin: 0 0 -0.3rem 0.2rem;
}

/* リスト Type2
---------------------------------------------- */
.articleType2 {
  border-bottom: 1px solid #E9E9E9;
}
.articleType2:last-of-type {
  border-bottom: none;
}
.articleType2__a {
  color: #21211F;
  padding: 1rem 0.5rem;
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .articleType2__a:hover {
    background: #EBF1F4;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType2__a {
    flex-direction: column;
    align-items: unset;
  }
}
.articleType2:first-child .articleType2__a {
  padding-top: 0;
}
.articleType2:last-child .articleType2__a {
  padding-bottom: 0;
}
.articleType2__a-inner {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType2__a-inner {
    flex-direction: column;
    align-items: unset;
  }
}
.articleType2__a-inner-time {
  display: block;
  color: #666666;
  flex: none;
}
.articleType2__a-inner-orderer {
  flex: 1;
  min-width: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType2__a-inner-orderer {
    max-width: 100%;
  }
}
.articleType2__a-inner-orderer > div {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #EBF1F4;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.articleType2__a-inner-orderer-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleType2__a-inner-orderer-ico img {
  width: 1.333rem;
  height: 1.333rem;
}
.articleType2__a-inner-orderer-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.articleType2__a-inner-ttl {
  width: 100%;
}
.articleType2__a-inner-ttl h2 {
  line-height: normal;
  letter-spacing: 0;
  display: inline;
  line-height: 1.6;
}
.articleType2__a-company {
  max-width: 25%;
  flex: none;
  background: #F4ECEB;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType2__a-company {
    max-width: 100%;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.articleType2__a-company-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleType2__a-company-ico svg {
  width: 1.333rem;
  height: 1.333rem;
  fill: #ED807C;
}
.articleType2__a-company-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* リスト Type3
---------------------------------------------- */
.articleType3 {
  border-bottom: 1px solid #E9E9E9;
}
.articleType3:last-of-type {
  border-bottom: none;
}
.articleType3__a {
  color: #21211F;
  padding: 1rem 0.5rem;
  display: flex;
  align-items: flex-end;
  gap: 1rem;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .articleType3__a:hover {
    background: #EBF1F4;
  }
}
.articleType3:first-child .articleType3__a {
  padding-top: 0;
}
.articleType3:last-child .articleType3__a {
  padding-bottom: 0;
}
.articleType3__a-inner {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType3__a-inner {
    flex-direction: column;
    align-items: unset;
  }
}
.articleType3__a-inner-time {
  display: block;
  color: #666666;
  flex: none;
}
.articleType3__a-inner-orderer {
  flex: 1;
  min-width: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType3__a-inner-orderer {
    max-width: 100%;
  }
}
.articleType3__a-inner-orderer > div {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #EBF1F4;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.articleType3__a-inner-orderer-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleType3__a-inner-orderer-ico img {
  width: 1.333rem;
  height: 1.333rem;
}
.articleType3__a-inner-orderer-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.articleType3__a-inner-ttl {
  width: 100%;
  display: flex;
  gap: 0.5rem;
}
.articleType3__a-inner-ttl svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: url(#gradient01);
  margin: 0.5rem 0 0 0;
  flex: none;
}
.articleType3__a-inner-ttl h2 {
  line-height: normal;
  letter-spacing: 0;
  display: inline;
  line-height: 1.6;
  font-weight: 500;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleType3__a-inner-ttl h2 {
    line-height: 1.5;
  }
}
.articleType3__a-file {
  width: 2rem;
}
.articleType3__a-file img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------

記事詳細

------------------------------------------------------------ */
.articleDetail {
  background: #FFFFFF;
  padding: 4rem 3rem;
  border-radius: 1.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleDetail {
    padding: 3rem 1.5rem;
  }
}
.articleDetail__ttl1 {
  margin-bottom: 1.5rem;
}
.articleDetail__ttl1 time {
  display: block;
  color: #666666;
  margin-bottom: 1rem;
}
.articleDetail__ttl1 h2 {
  font-size: 1.8rem;
  font-weight: 500;
}
.articleDetail__ttl2 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
  gap: 1rem 1.2rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleDetail__ttl2 {
    flex-direction: column;
    align-items: unset;
  }
}
.articleDetail__ttl2 time {
  display: block;
  color: #666666;
}
.articleDetail__ttl2-orderer {
  flex: 1;
  min-width: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleDetail__ttl2-orderer {
    width: 100%;
  }
}
.articleDetail__ttl2-orderer > div {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #EBF1F4;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.articleDetail__ttl2-orderer-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleDetail__ttl2-orderer-ico img {
  width: 1.333rem;
  height: 1.333rem;
}
.articleDetail__ttl2-orderer-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.articleDetail__ttl2 h2 {
  font-size: 2rem;
  font-weight: 500;
  width: 100%;
}
.articleDetail__ttl3 {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
.articleDetail__ttl3 time {
  display: block;
  color: #666666;
  margin-bottom: 1rem;
}
.articleDetail__ttl3 h2 {
  font-size: 2rem;
  font-weight: 500;
}
.articleDetail + .btnType02 {
  text-align: center;
  padding-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleDetail + .btnType02 {
    padding-top: 3rem;
  }
}

.articleContent {
  font-size: 1.5rem;
  overflow: hidden;
}
.articleContent.columnPage {
  line-height: 1.8;
}
.articleContent > * {
  margin-bottom: 2rem;
}
.articleContent > *:last-child {
  margin-bottom: 0 !important;
}
.articleContent h3 {
  font-weight: 500;
  padding-left: 2rem;
  position: relative;
}
.articleContent h3::before {
  content: "";
  display: block;
  background: url(../img/ico/ico_heading02.png) no-repeat 0 0;
  background-size: 1.4rem;
  width: 1.4rem;
  height: 1.4rem;
  position: absolute;
  top: 0.6rem;
  left: 0;
}
.articleContent a {
  color: #2772B1;
  text-decoration: underline;
}
.articleContent a:hover {
  text-decoration: none;
}
.articleContent img {
  max-width: 100%;
  height: auto;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleContent img {
    border-radius: 0.8rem;
  }
}
.articleContent ol {
  padding: 0 0 0 2rem;
  list-style-type: decimal !important;
}
.articleContent ol li {
  list-style: inherit;
}
.articleContent ul {
  padding: 0 0 0 2rem;
  list-style-type: square !important;
}
.articleContent ul li {
  list-style: inherit;
}
.articleContent ul li::marker {
  color: #2772B1;
}

/* ------------------------------------------------------------

テーブル

------------------------------------------------------------ */
/* ------------------------------------------------------------

アニメーション

------------------------------------------------------------ */
/* 左へ流れるアニメーション
---------------------------------------------- */
@keyframes infinity-scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* ------------------------------------------------------------

リスト

------------------------------------------------------------ */
/* ------------------------------------------------------------

ページネーション

------------------------------------------------------------ */
.pagenav1 {
  padding-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1 {
    padding-top: 3rem;
  }
}
.pagenav1__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 1.4rem;
  margin-bottom: -0.5rem;
  overflow: hidden;
}
.pagenav1__current {
  margin: 0 0.75rem 0.5rem;
}
.pagenav1__current span {
  background: #2772B1;
  color: #FFFFFF;
  font-family: "Roboto";
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.3rem;
  line-height: 1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1__current span {
    width: 3rem;
    height: 3rem;
  }
}
.pagenav1__page {
  margin: 0 0.5rem 0.5rem;
}
.pagenav1__page a {
  background: #FFFFFF;
  font-family: "Roboto";
  font-weight: 700;
  color: #808080;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.3rem;
  line-height: 1;
  transition: background 0.3s;
  position: relative;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .pagenav1__page a:hover {
    background: #DCE9EF;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1__page a {
    width: 3rem;
    height: 3rem;
  }
}
.pagenav1__page a span {
  position: relative;
  z-index: 1;
}
.pagenav1__extend {
  width: 3.5rem;
  text-align: center;
  font-weight: normal;
  background: none;
  border: none;
  color: #808080;
  padding: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1__extend {
    width: 3rem;
  }
}
.pagenav1__previouspostslink, .pagenav1__nextpostslink, .pagenav1__first, .pagenav1__last {
  margin: 0 0 0.5rem;
}
.pagenav1__previouspostslink a, .pagenav1__nextpostslink a, .pagenav1__first a, .pagenav1__last a {
  background: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  position: relative;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .pagenav1__previouspostslink a:hover svg, .pagenav1__nextpostslink a:hover svg, .pagenav1__first a:hover svg, .pagenav1__last a:hover svg {
    fill: #2772B1;
  }
}
.pagenav1__previouspostslink a svg, .pagenav1__nextpostslink a svg, .pagenav1__first a svg, .pagenav1__last a svg {
  width: 3.4rem;
  height: 3.4rem;
  fill: #9CD0EA;
  transition: fill 0.3s;
}
.pagenav1__first svg, .pagenav1__previouspostslink svg {
  transform: scale(-1, 1);
}
.pagenav1__previouspostslink {
  padding-right: 1.25rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1__previouspostslink {
    padding-right: 0;
  }
}
.pagenav1__nextpostslink {
  padding-left: 1.25rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav1__nextpostslink {
    padding-left: 0;
  }
}

.pagenav2 {
  padding-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav2 {
    padding-top: 3rem;
  }
}
.pagenav2__list {
  text-align: center;
  position: relative;
  width: 100%;
}
.pagenav2__prev {
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav2__prev {
    top: -0.3rem;
  }
}
.pagenav2__prev a {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  color: #21211F;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .pagenav2__prev a:hover svg {
    fill: #2772B1;
  }
}
.pagenav2__prev a svg {
  width: 3.4rem;
  height: 3.4rem;
  fill: #9CD0EA;
  transition: fill 0.3s;
  transform: scale(-1, 1);
}
.pagenav2__back {
  display: inline-block;
}
.pagenav2__back-a {
  color: #21211F;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 0.8rem;
}
.pagenav2__back-a-txt {
  line-height: 1.5;
}
.pagenav2__back-a-ico {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
  transform: scale(-1, 1);
}
.pagenav2__back-a-ico::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3.2rem;
  border: 1px solid #2772B1;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform 0.3s, background 0.3s;
}
a:hover .pagenav2__back-a-ico::after {
  background: #2772B1;
  transform: scale(1.08);
}
.pagenav2__back-a-ico svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #2772B1;
  position: relative;
  z-index: 1;
}
a:hover .pagenav2__back-a-ico svg {
  fill: #FFFFFF;
}
.pagenav2__next {
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pagenav2__next {
    top: -0.3rem;
  }
}
.pagenav2__next a {
  display: flex;
  align-items: center;
  color: #21211F;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .pagenav2__next a:hover svg {
    fill: #2772B1;
  }
}
.pagenav2__next a svg {
  width: 3.4rem;
  height: 3.4rem;
  fill: #9CD0EA;
  transition: fill 0.3s;
}

/* ------------------------------------------------------------

リンクナビ

------------------------------------------------------------ */
.navLink1 {
  background: #8EB7D9;
  padding: 3rem;
  border-radius: 0.4rem;
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1 {
    border-radius: 0;
    padding: 4rem 1.5rem;
    margin-bottom: 3rem;
  }
}
.navLink1.onlinePage br, .navLink1.linkPage br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1.onlinePage br, .navLink1.linkPage br {
    display: block;
  }
}
.navLink1.contactPage ul li:nth-of-type(1) br:nth-of-type(1), .navLink1.contactPage ul li:nth-of-type(3) br:nth-of-type(1) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1.contactPage ul li:nth-of-type(1) br:nth-of-type(1), .navLink1.contactPage ul li:nth-of-type(3) br:nth-of-type(1) {
    display: block;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1.contactPage ul li:nth-of-type(1) br:nth-of-type(2), .navLink1.contactPage ul li:nth-of-type(3) br:nth-of-type(2) {
    display: none;
  }
}
.navLink1 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1 ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 0.9rem;
  }
}
.navLink1 ul li {
  display: flex;
}
.navLink1 ul li a {
  width: 100%;
  min-height: 5.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FFFFFF;
  border-radius: 0.4rem;
  text-align: center;
  letter-spacing: 0;
  font-size: 1.3rem;
  color: #21211F;
  padding: 1rem 3rem 1rem 1.5rem;
  line-height: 1.23;
  position: relative;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .navLink1 ul li a:hover {
    opacity: 0.7;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1 ul li a {
    letter-spacing: 0;
    min-height: 5.2rem;
    padding: 1rem 2rem 1rem 0.5rem;
  }
}
.navLink1 ul li a svg {
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -0.75rem;
  fill: #2772B1;
  transform: rotate(90deg);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .navLink1 ul li a svg {
    right: 0.5rem;
  }
}

/* ------------------------------------------------------------

お問い合わせバナー

------------------------------------------------------------ */
.bnContact {
  width: 64rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnContact {
    width: 100%;
  }
}
.bnContact__inner {
  background-image: linear-gradient(90deg, #ff512f, #f09819);
  display: flex;
  border-radius: 0.4rem;
  overflow: hidden;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnContact__inner {
    flex-direction: column;
    border-radius: 0;
  }
}
.bnContact__inner-txt {
  flex: 1;
  min-width: 0;
  padding: 5.05rem 0 5.05rem 4rem;
  color: #FFFFFF;
  border-radius: 0.4rem 0 0 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnContact__inner-txt {
    text-align: center;
    padding: 3.8rem 1.5rem;
  }
}
.bnContact__inner-txt p:nth-of-type(1) {
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 1.6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnContact__inner-txt p:nth-of-type(1) {
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
}
.bnContact__inner-txt p:nth-of-type(2) {
  font-size: 1.3rem;
}
.bnContact__inner-arrow {
  position: relative;
  width: 16.5rem;
  border-radius: 0 0.4rem 0.4rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnContact__inner-arrow {
    width: 100%;
    height: 10rem;
    border-radius: 0;
  }
}
.bnContact__inner-arrow-image {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  transition: transform 0.3s;
}
a:hover .bnContact__inner-arrow-image {
  transform: scale(1.08);
}
.bnContact__inner-arrow-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bnContact__inner-arrow-ico {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #FFFFFF;
  border-radius: 6rem;
  width: 6rem;
  height: 6rem;
  position: relative;
}
.bnContact__inner-arrow-ico svg {
  width: 3rem;
  height: 3rem;
  fill: #FFFFFF;
}

/* ------------------------------------------------------------

エラーメッセージ

------------------------------------------------------------ */
.c-errMsg {
  color: red;
}

/* ------------------------------------------------------------

Main

------------------------------------------------------------ */
.layout-wrapper1 {
  position: relative;
}
@media print {
  .layout-wrapper1 {
    position: static !important;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .layout-wrapper1 {
    display: contents;
  }
}
.layout-wrapper1 .sideLeft {
  background: #FFFFFF;
  width: 24rem;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
@media print {
  .layout-wrapper1 .sideLeft {
    position: absolute !important;
    height: auto;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .layout-wrapper1 .sideLeft {
    display: none;
  }
}
.layout-wrapper1 .sideLeft.open {
  width: 48rem;
}
@media print {
  .layout-wrapper1 .sideLeft.open {
    width: 21rem;
  }
}

.layout-wrapper2 {
  background: #EFEEEA;
  display: flex;
  padding-left: 24rem;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .layout-wrapper2 {
    flex-direction: column;
    padding: 6rem 0 0 0;
  }
}
.layout-wrapper2.page-home::before {
  content: "";
  display: block;
  background: #E9E4DD;
  width: var(--fv-w);
  height: 93.2rem;
  clip-path: polygon(100% 0, 0% 100%, 0 0);
  position: absolute;
  top: 24.2rem;
  right: 0;
  z-index: 0;
  pointer-events: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .layout-wrapper2.page-home::before {
    width: 100%;
    height: 96rem;
    top: 34rem;
    right: unset;
    left: 0;
  }
}
.layout-wrapper2 .centerArea {
  flex: 1;
  min-width: 0;
  position: relative;
}
.layout-wrapper2 .sideRight {
  width: 24rem;
  background: #DCE9EF;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .layout-wrapper2 .sideRight {
    display: none;
  }
}

.wrapType01 {
  padding: 4rem 4rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType01 {
    padding: 3rem 1.5rem 6rem;
  }
}
.wrapType01__inner {
  background: #FFFFFF;
  padding: 4rem 3rem;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType01__inner {
    padding: 2rem;
  }
}

.wrapType02 {
  padding: 4rem 4rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType02 {
    padding: 0 0 6rem;
  }
}

.wrapType03 {
  padding: 4rem 4rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType03 {
    padding: 3rem 1.5rem;
  }
}

.wrapType04 {
  padding: 6rem 4rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType04 {
    padding: 3rem 0 0;
  }
}

.wrapType05 {
  padding: 6rem 7rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType05 {
    padding: 3rem 0 0;
  }
}

.wrapType06 {
  padding: 4rem 4rem 10rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapType06 {
    padding: 0;
  }
}

/* ------------------------------------------------------------

Header

------------------------------------------------------------ */
.header {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .header {
    display: block;
    background: #FFFFFF;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
  }
}
.header__inner {
  display: flex;
}
.header__logo {
  background: #FFFFFF;
  width: 20.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.header__logo a {
  display: block;
  font-size: 0;
}
.header__logo a img {
  width: 17.1rem;
  height: auto;
}
.header__contact {
  width: 11.2rem;
  position: relative;
  z-index: 1;
}
.header__contact a {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #EF7C1C;
  color: #FFFFFF;
  font-size: 1.2rem;
  line-height: 1.3;
  font-weight: 500;
  outline-offset: -3px;
  outline-color: #FFFFFF;
}
.header__btnMenu {
  background: #EBF1F4;
  width: 6rem;
  height: 6rem;
  position: relative;
  z-index: 1;
}
.header__btnMenu-inner {
  display: inline-block;
  width: 100%;
  height: 100%;
  position: relative;
}
.header__btnMenu-inner span {
  background: #2772B1;
  display: inline-block;
  width: 2.5rem;
  height: 0.25rem;
  border-radius: 0.5rem;
  position: absolute;
  left: 50%;
  margin-left: -1.25rem;
  transition: all 0.3s;
}
.header__btnMenu-inner span:nth-of-type(1) {
  top: 2.1rem;
}
.header__btnMenu-inner span:nth-of-type(2) {
  top: 2.9rem;
}
.header__btnMenu-inner span:nth-of-type(3) {
  top: 3.7rem;
}
#wrapAll.open .header__btnMenu-inner span:nth-of-type(1) {
  transform: rotate(45deg);
  top: 2.9rem;
}
#wrapAll.open .header__btnMenu-inner span:nth-of-type(2) {
  transform: scaleX(0);
}
#wrapAll.open .header__btnMenu-inner span:nth-of-type(3) {
  transform: rotate(-45deg);
  top: 2.9rem;
}
.header__drawer {
  background: #FFFFFF;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding-top: 6rem;
  pointer-events: none;
  visibility: hidden;
  transform: translate3d(0, -100%, 0);
  transition: transform 0.5s, opacity 0.5s, visibility 0.5s;
}
#wrapAll.open .header__drawer {
  pointer-events: all;
  visibility: visible;
  transform: translate3d(0, 0, 0);
}
.header__drawer-inner {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: scroll;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header__drawer-inner-inside {
  min-height: 100%;
}
.header__drawer-nav {
  padding: 4rem 4rem 2rem;
  opacity: 0;
  transform: translateY(-15rem);
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}
#wrapAll.open .header__drawer-nav {
  transform: translateY(0);
  opacity: 1;
}
.header__drawer-nav > ul {
  margin-bottom: 1rem;
}
.header__drawer-nav > ul > li {
  position: relative;
}
.header__drawer-nav > ul > li > span,
.header__drawer-nav > ul > li > a {
  padding: 1rem 0;
  color: #21211F;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: relative;
  transition: background 0.3s, color 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .header__drawer-nav > ul > li > span:hover,
  .header__drawer-nav > ul > li > a:hover {
    background: #EBF1F4;
    color: #2772B1;
  }
}
.header__drawer-nav > ul > li > span > img,
.header__drawer-nav > ul > li > a > img {
  width: 2rem;
  height: 2rem;
  flex: none;
  position: relative;
  z-index: 2;
}
.header__drawer-nav > ul > li > span > svg,
.header__drawer-nav > ul > li > a > svg {
  width: 2rem;
  height: 2rem;
  fill: #2772B1;
  position: relative;
  z-index: 2;
}
.header__drawer-nav > ul > li > span span,
.header__drawer-nav > ul > li > a span {
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0;
}
.header__drawer-nav > ul .newspaper {
  position: relative;
}
.header__drawer-nav > ul .newspaper.open::before {
  opacity: 1;
}
.header__drawer-nav > ul .newspaper.open::after {
  transform: scale(1, -1);
}
.header__drawer-nav > ul .newspaper::before {
  content: "";
  display: block;
  background: #EBF1F4;
  width: 375rem;
  height: 16.6rem;
  position: absolute;
  top: 0;
  left: -4rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.header__drawer-nav > ul .newspaper::after {
  content: "";
  display: block;
  background: #2772B1;
  width: 1.6rem;
  height: 1rem;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  top: 1.5rem;
  right: 0;
  transition: transform 0.3s;
}
.header__drawer-nav > ul .newspaper__subList {
  display: none;
}
.header__drawer-nav > ul .newspaper__subList ul {
  margin: 1rem 0 1.5rem;
  display: flex;
  gap: 1rem;
  position: relative;
  z-index: 1;
}
.header__drawer-nav > ul .newspaper__subList ul li {
  width: 14rem;
  text-align: center;
}
.header__drawer-nav > ul .newspaper__subList ul li a {
  color: #21211F;
}
.header__drawer-nav > ul .newspaper__subList ul li a img {
  width: 100%;
  height: auto;
}
.header__drawer-nav p a {
  background: #EF7C1C;
  display: flex;
  align-items: center;
  padding: 1.3rem 2rem;
}
.header__drawer-nav p a span:nth-of-type(1) {
  color: #FFFFFF;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.header__drawer-nav p a span:nth-of-type(2) {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  border: 1px solid #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header__drawer-nav p a span:nth-of-type(2) svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #FFFFFF;
}
.header__drawer-btm {
  background: #DCE9EF;
  padding: 5rem 4rem 4rem;
}
.header__drawer-login {
  margin-bottom: 2rem;
}
.header__drawer-login-inner {
  box-shadow: -0.5rem -0.5rem 1rem 0 rgb(255, 255, 255), inset 0.4rem 0.4rem 1.5rem 0 rgb(230, 239, 244), 0.5rem 0.5rem 1rem 0 rgb(206, 219, 226);
  border-radius: 1rem;
  padding: 3rem 2.75rem;
}
.header__drawer-login-label {
  color: #3D80B9;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.3;
  margin-bottom: 1rem;
  font-weight: 500;
}
.header__drawer-login-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 1rem;
}
.header__drawer-login-logo img {
  height: 3rem;
}
.header__drawer-login-input {
  margin-bottom: 1.5rem;
}
.header__drawer-login-input input[type=text],
.header__drawer-login-input input[type=password] {
  background: #FFFFFF;
  padding: 1.15rem 2rem;
  border-radius: 0.4rem;
  width: 100%;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 1.2rem;
  color-scheme: light;
}
.header__drawer-login-input input[type=text]:nth-of-type(1),
.header__drawer-login-input input[type=password]:nth-of-type(1) {
  margin-bottom: 0.5rem;
}
.header__drawer-login-input input[type=text]::-webkit-input-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-input input[type=text]::-moz-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-input input[type=text]::-ms-input-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-input input[type=password]::-webkit-input-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-input input[type=password]::-moz-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-input input[type=password]::-ms-input-placeholder {
  color: #BCBCBC;
}
.header__drawer-login-btn {
  width: 17.2rem;
  margin: 0 auto;
  border: 1px solid #C6D4DA;
  border-radius: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3rem 0;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .header__drawer-login-btn:hover {
    background: #2772B1;
  }
  .header__drawer-login-btn:hover span {
    color: #FFFFFF;
  }
  .header__drawer-login-btn:hover svg {
    fill: #FFFFFF;
  }
}
.header__drawer-login-btn span {
  display: inline-block;
  width: 9.2rem;
  text-align: center;
  color: #3D80B9;
  font-weight: 500;
  line-height: 1.2;
  transition: color 0.3s;
}
.header__drawer-login-btn svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #3D80B9;
  transition: fill 0.3s;
}
.header__drawer-login-password {
  text-align: center;
}
.header__drawer-login-password a {
  color: #97AEB9;
  text-decoration: underline;
  letter-spacing: 0.1em;
  line-height: 1.2;
  font-size: 1.2rem;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .header__drawer-login-password a:hover {
    text-decoration: none;
  }
}
.header__drawer-bn a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .header__drawer-bn a:hover {
    opacity: 0.7;
  }
}
.header__drawer-bn a img {
  width: 100%;
  height: auto;
}
.header__drawer-sns {
  width: 24rem;
  position: sticky;
  top: calc(100dvh - 5rem);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .header__drawer-sns {
    width: 100%;
  }
}
.header__drawer-sns ul {
  display: flex;
}
.header__drawer-sns ul li {
  width: 50%;
  height: 5rem;
}
.header__drawer-sns ul li:first-child {
  border-right: 1px solid #FFFFFF;
}
.header__drawer-sns ul li a {
  background: #9CD0EA;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3rem 0;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .header__drawer-sns ul li a:hover {
    background: #2772B1;
  }
}
.header__drawer-sns ul li a img {
  width: 2.4rem;
  height: 2.4rem;
  fill: #FFFFFF;
}

/* ------------------------------------------------------------

Side

------------------------------------------------------------ */
.sideLeft__contents {
  background: #FFFFFF;
  width: 24rem;
}
.sideLeft__contents-inner {
  height: calc(100dvh - 5rem);
  position: sticky;
  top: 0;
  padding-bottom: 4rem;
}
@media print {
  .sideLeft__contents-inner {
    height: 100%;
    position: static;
  }
}
.sideLeft__logo {
  background: #FFFFFF;
  width: 24rem;
  padding: 3rem 2.7rem;
}
.sideLeft__logo img {
  width: 100%;
  height: auto;
}
.sideLeft__nav {
  background: #FFFFFF;
  width: 24rem;
}
.sideLeft__nav > ul > li {
  transition: background 0.3s, color 0.3s;
}
.sideLeft__nav > ul > li > span,
.sideLeft__nav > ul > li > a {
  padding: 0.9rem 1.5rem 0.9rem 2rem;
  color: #21211F;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: relative;
  transition: background 0.3s, color 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideLeft__nav > ul > li > span:hover,
  .sideLeft__nav > ul > li > a:hover {
    background: #EBF1F4;
    color: #2772B1;
  }
}
.sideLeft__nav > ul > li > span > img,
.sideLeft__nav > ul > li > a > img {
  width: 3rem;
  height: 2rem;
  flex: none;
  position: relative;
  z-index: 2;
}
.sideLeft__nav > ul > li > span > svg,
.sideLeft__nav > ul > li > a > svg {
  width: 3rem;
  height: 2rem;
  fill: #2772B1;
  position: relative;
  z-index: 2;
}
.sideLeft__nav > ul > li > span span,
.sideLeft__nav > ul > li > a span {
  flex: 1;
  font-weight: 500;
  font-size: 1.3rem;
  letter-spacing: 0;
  position: relative;
  z-index: 2;
}
.sideLeft__nav > ul > li#newspaper-trigger {
  position: relative;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideLeft__nav > ul > li#newspaper-trigger:hover::before {
    opacity: 1;
  }
  .sideLeft__nav > ul > li#newspaper-trigger:hover .sideNavSub {
    pointer-events: all;
    opacity: 1;
    visibility: visible;
  }
}
.sideLeft.open .sideLeft__nav > ul > li#newspaper-trigger {
  background: #EBF1F4;
  color: #2772B1;
}
.sideLeft__nav > ul > li#newspaper-trigger::before {
  content: "";
  display: block;
  background: #DCE9EF;
  width: 1.688rem;
  height: 2.7rem;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  position: absolute;
  top: 0.6rem;
  right: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.sideLeft.open .sideLeft__nav > ul > li#newspaper-trigger::before {
  opacity: 1;
}
.sideLeft__sns {
  width: 24rem;
  display: flex;
  position: sticky;
  top: calc(100dvh - 5rem);
}
.sideLeft__sns li {
  width: 50%;
  height: 5rem;
}
.sideLeft__sns li:first-child {
  border-right: 1px solid #FFFFFF;
}
.sideLeft__sns li a {
  background: #9CD0EA;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3rem 0;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideLeft__sns li a:hover {
    background: #2772B1;
  }
}
.sideLeft__sns li a img {
  width: 2.4rem;
  height: 2.4rem;
  fill: #FFFFFF;
}

.sideNavSub {
  background: #DCE9EF;
  width: 24rem;
  height: 100dvh !important;
  padding: 8.8rem 3rem 0;
  position: absolute;
  top: 0;
  left: 24rem;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  overflow-y: scroll;
  scrollbar-width: none;
}
@media print {
  .sideNavSub {
    display: none;
  }
}
.sideNavSub::-webkit-scrollbar {
  display: none;
}
.open .sideNavSub {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
}
.sideNavSub__top {
  border-bottom: 1px solid #2772B1;
  padding-bottom: 0.8rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 3.1rem;
  position: relative;
  z-index: 3;
}
.sideNavSub__top img {
  width: 3rem;
  height: 3rem;
}
.sideNavSub__top span {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.25;
}
.sideNavSub__list {
  position: relative;
  z-index: 3;
  padding-bottom: 4rem;
}
.sideNavSub__list li:not(:last-of-type) {
  margin-bottom: 2.4rem;
}
.sideNavSub__list li a {
  color: #21211F;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideNavSub__list li a:hover {
    opacity: 0.7;
  }
}
.sideNavSub__list li a img {
  width: 100%;
  height: auto;
  margin-bottom: 0.4rem;
}
.sideNavSub__list li a p {
  text-align: center;
}

.sideRight__contents {
  height: 100svh;
  position: sticky;
  top: 0;
}
@media print {
  .sideRight__contents {
    height: 100%;
    position: static;
  }
}
.sideRight__contact-inner {
  background: #EF7C1C;
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  outline-color: #FFFFFF;
  outline-offset: -3px;
}
.sideRight__contact-inner-txt {
  color: #FFFFFF;
  padding: 1.2rem 2rem;
  line-height: 1.2;
  text-align: center;
}
.sideRight__contact-inner-ico {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}
.sideRight__contact-inner-ico::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3.2rem;
  border: 1px solid #FFFFFF;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform 0.3s, background 0.3s;
}
a:hover .sideRight__contact-inner-ico::after {
  background: #FFFFFF;
  transform: scale(1.08);
}
.sideRight__contact-inner-ico svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #FFFFFF;
  transition: fill 0.3s;
  position: relative;
  z-index: 1;
}
a:hover .sideRight__contact-inner-ico svg {
  fill: #EF7C1C;
}
.sideRight__inner {
  padding: 2rem 1rem 1.5rem;
}
.sideRight__login {
  margin-bottom: 1.5rem;
}
.sideRight__login-inner {
  box-shadow: -0.5rem -0.5rem 1rem 0 rgb(255, 255, 255), inset 0.4rem 0.4rem 1.5rem 0 rgb(230, 239, 244), 0.5rem 0.5rem 1rem 0 rgb(206, 219, 226);
  border-radius: 1rem;
  padding: 1.8rem 2rem;
}
.sideRight__login-label {
  color: #3D80B9;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.sideRight__login-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 0.5rem;
}
.sideRight__login-logo img {
  height: 2.6rem;
}
.sideRight__login-input {
  margin-bottom: 1rem;
}
.sideRight__login-input input[type=text],
.sideRight__login-input input[type=password] {
  background: #FFFFFF;
  padding: 0.9rem 2rem;
  border-radius: 0.4rem;
  width: 100%;
  border: none;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 1.2rem;
  color-scheme: light;
}
.sideRight__login-input input[type=text]:nth-of-type(1),
.sideRight__login-input input[type=password]:nth-of-type(1) {
  margin-bottom: 0.5rem;
}
.sideRight__login-input input[type=text]::-webkit-input-placeholder {
  color: #BCBCBC;
}
.sideRight__login-input input[type=text]::-moz-placeholder {
  color: #BCBCBC;
}
.sideRight__login-input input[type=text]::-ms-input-placeholder {
  color: #BCBCBC;
}
.sideRight__login-input input[type=password]::-webkit-input-placeholder {
  color: #BCBCBC;
}
.sideRight__login-input input[type=password]::-moz-placeholder {
  color: #BCBCBC;
}
.sideRight__login-input input[type=password]::-ms-input-placeholder {
  color: #BCBCBC;
}
.sideRight__login-btn {
  width: 17.2rem;
  margin: 0 auto;
  border: 1px solid #C6D4DA;
  border-radius: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.3rem 0;
  font-size: 1.4rem;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__login-btn:hover {
    background: #2772B1;
  }
  .sideRight__login-btn:hover span {
    color: #FFFFFF;
  }
  .sideRight__login-btn:hover svg {
    fill: #FFFFFF;
  }
}
.sideRight__login-btn span {
  display: inline-block;
  width: 9.2rem;
  text-align: center;
  color: #3D80B9;
  font-weight: 500;
  line-height: 1.2;
  transition: color 0.3s;
}
.sideRight__login-btn svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #3D80B9;
  transition: fill 0.3s;
}
.sideRight__login-password {
  text-align: center;
}
.sideRight__login-password a {
  color: #97AEB9;
  text-decoration: underline;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__login-password a:hover {
    text-decoration: none;
  }
}
.sideRight__bn a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__bn a:hover {
    opacity: 0.7;
  }
}
.sideRight__bn a img {
  width: 100%;
  height: auto;
}
.sideRight__links {
  border-top: 1px solid #CEE0E9;
  border-bottom: 1px solid #CEE0E9;
  padding: 1.5rem 2rem;
}
.sideRight__links li:not(:last-of-type) {
  margin-bottom: 1.2rem;
}
.sideRight__links li a {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__links li a:hover {
    opacity: 0.7;
  }
}
.sideRight__links li a img {
  width: 4.8rem;
  height: auto;
}
.sideRight__links li a div p:nth-of-type(1) {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.sideRight__links li a div p:nth-of-type(1) span {
  color: #21211F;
  font-size: 1.3rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.sideRight__links li a div p:nth-of-type(1) svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #97AEB9;
}
.sideRight__links li a div p:nth-of-type(2) {
  color: #808080;
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.sideRight__pr {
  padding: 1.3rem 1rem;
}
.sideRight__pr-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.6rem;
}
.sideRight__pr-top p:nth-of-type(1) {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.sideRight__pr-top p:nth-of-type(1) svg {
  width: 2rem;
  height: 2rem;
  fill: #82BFDD;
}
.sideRight__pr-top p:nth-of-type(1) span {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  color: #82BFDD;
}
.sideRight__pr-top p:nth-of-type(2) a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__pr-top p:nth-of-type(2) a:hover {
    opacity: 0.7;
  }
}
.sideRight__pr-top p:nth-of-type(2) a span {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  color: #97AEB9;
}
.sideRight__pr-top p:nth-of-type(2) a svg {
  width: 1rem;
  height: 1rem;
  fill: #97AEB9;
}
.sideRight__pr ul li:not(:last-of-type) {
  margin-bottom: 0.4rem;
}
.sideRight__pr ul li a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .sideRight__pr ul li a:hover {
    opacity: 0.7;
  }
}
.sideRight__pr ul li img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------

Footer

------------------------------------------------------------ */
.footer {
  overflow: hidden;
  background: url(../img/bg_footer01.jpg) no-repeat center;
  background-size: cover;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 6rem;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer {
    background-image: url(../img/bg_footer01_sp.jpg);
    flex-direction: column;
    align-items: unset;
    padding: 6rem 1.5rem;
  }
}
.footer__pagetop {
  display: block;
  border: 1px solid #FFFFFF;
  border-radius: 0.4rem;
  width: 10.4rem;
  height: 6.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 0 0 2.9rem auto;
  transition: background 0.3s;
  position: absolute;
  top: 6rem;
  right: 6.4rem;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .footer__pagetop:hover {
    background: #FFFFFF;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__pagetop {
    position: unset;
    width: 100%;
    height: 7.3rem;
    margin: 0 0 3.15rem 0;
  }
}
.footer__pagetop-arrow {
  font-size: 0;
}
.footer__pagetop-arrow svg {
  width: 2rem;
  height: 2rem;
  fill: #FFFFFF;
  transition: fill 0.3s;
}
button:hover .footer__pagetop-arrow svg {
  fill: #2772B1;
}
.footer__pagetop-txt {
  font-size: 0;
}
.footer__pagetop-txt svg {
  width: 7.2rem;
  height: 1.2rem;
  fill: #FFFFFF;
  transition: fill 0.3s;
}
button:hover .footer__pagetop-txt svg {
  fill: #2772B1;
}
.footer__col1 {
  width: 50%;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1 {
    display: contents;
  }
}
.footer__col1 > div {
  position: relative;
  z-index: 1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1 > div {
    display: contents;
  }
}
.footer__col1-logo {
  margin-bottom: 1.2rem;
  width: 35rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-logo {
    width: 32rem;
    margin: 0 auto 1.5rem;
  }
}
.footer__col1-logo img {
  width: 100%;
  height: auto;
}
.footer__col1-address {
  color: #FFFFFF;
  line-height: 1.5;
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  position: relative;
  z-index: 1;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: flex-end;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-address {
    justify-content: center;
    margin-bottom: 1.5rem;
  }
}
.footer__col1-address img {
  width: 1.6rem;
  height: 1.6rem;
  margin-bottom: 0.3rem;
}
.footer__col1-contact {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 3.45rem;
  }
}
.footer__col1-contact-tel p > a {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact-tel p > a {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 1.5;
  }
}
.footer__col1-contact-tel p > a svg {
  width: 2rem;
  height: 2rem;
  fill: #FFFFFF;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact-tel p > a svg {
    width: 2.8rem;
    height: 2.8rem;
    margin-bottom: -0.5rem;
  }
}
.footer__col1-contact-tel p > a span {
  display: block;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact-tel p > a span {
    text-decoration: underline;
  }
}
.footer__col1-contact-tel p > span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #FFFFFF;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact-tel p > span {
    display: none;
  }
}
.footer__col1-contact-tel p > span svg {
  width: 2rem;
  height: 2rem;
  fill: #FFFFFF;
}
.footer__col1-contact-mail {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col1-contact-mail {
    font-size: 1.4rem;
  }
}
.footer__col1-contact-mail svg {
  width: 2rem;
  height: 2rem;
  fill: #FFFFFF;
}
.footer__col2 {
  width: 50%;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col2 {
    display: contents;
  }
}
.footer__col2-nav {
  margin-bottom: 0.7rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col2-nav {
    margin-bottom: 1.5rem;
  }
}
.footer__col2-nav ul {
  display: flex;
  justify-content: flex-end;
  gap: 3.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col2-nav ul {
    justify-content: center;
  }
}
.footer__col2-nav ul li a {
  font-size: 1.4rem;
  text-decoration: underline;
  color: #FFFFFF;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .footer__col2-nav ul li a:hover {
    text-decoration: none;
  }
}
.footer__col2-copy {
  color: #9CD0EA;
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: right;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .footer__col2-copy {
    font-size: 1.1rem;
    text-align: center;
  }
}
.footer .focus-visible {
  outline-color: orange;
  outline-offset: 2px;
}

/* ------------------------------------------------------------

simplebar

------------------------------------------------------------ */
.simplebar-content-wrapper {
  overflow-x: hidden !important;
  scrollbar-width: none;
}
.simplebar-content-wrapper::-webkit-scrollbar {
  display: none;
}

.simplebar-track.simplebar-vertical {
  background: transparent;
  width: 0.5rem !important;
  height: 100%;
  top: 0 !important;
  right: 0 !important;
  border-radius: 0.3rem;
}

.simplebar-scrollbar {
  background: #CCC;
  border-radius: 0.5rem;
}
.simplebar-scrollbar:before {
  background: none;
}

/* ------------------------------------------------------------

プライバシーポリシー

------------------------------------------------------------ */
.privacy h2 {
  font-weight: 500;
}
.privacy p {
  margin-bottom: 2rem;
}
.privacy p:last-of-type {
  margin-bottom: 0;
}

/* ------------------------------------------------------------

入札結果

------------------------------------------------------------ */
/* 詳細ページ
---------------------------------------------- */
.auctionDetail table {
  width: 100%;
}
.auctionDetail table th,
.auctionDetail table td {
  border: 1px solid #E9E9E9;
  padding: 2rem 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .auctionDetail table th,
  .auctionDetail table td {
    display: block;
    padding: 1.35rem 1.5rem;
  }
}
.auctionDetail table th {
  background: #2772B1;
  color: #FFFFFF;
  width: 20rem;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .auctionDetail table th {
    width: 100%;
    border-color: #2772B1;
  }
}
.auctionDetail table td {
  background: #FFFFFF;
}
.auctionDetail .btnType02 {
  text-align: center;
  padding-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .auctionDetail .btnType02 {
    padding-top: 3rem;
  }
}

/* ------------------------------------------------------------

トップページ

------------------------------------------------------------ */
/* 入札情報データベース会員様ログイン（SPのみ）
---------------------------------------------- */
.loginHomeSp {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .loginHomeSp {
    display: block;
    background: url(../img/home/bg_login01_sp.jpg) no-repeat 0 0;
    background-size: cover;
    position: relative;
    z-index: 1;
    box-shadow: 0 0.2rem 0.3rem 0 rgba(154, 154, 154, 0.5);
  }
}
.loginHomeSp__inner {
  padding: 1.4rem 2rem;
  display: flex;
  align-items: center;
  outline-offset: -2px;
}
.loginHomeSp__inner-logo {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  margin-right: 0.5rem;
}
.loginHomeSp__inner-logo img {
  width: auto;
  height: 3rem;
}
.loginHomeSp__inner-txt {
  margin-right: 1.2rem;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #21211F;
  text-align: center;
  font-weight: 500;
}
.loginHomeSp__inner svg {
  width: 2.4rem;
  height: 2.4rem;
  fill: #2772B1;
}

/* メインビジュアル
---------------------------------------------- */
.main {
  background: url(../img/home/bg_main01.jpg) no-repeat center;
  background-size: cover;
  width: 100%;
  height: 26rem;
  position: relative;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main {
    background-image: url(../img/home/bg_main01_sp.jpg);
    height: 22rem;
  }
}
.main__txt {
  padding: 2.5rem 0 2.5rem 2.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__txt {
    padding: 1.2rem 0;
  }
}
.main__txt img {
  width: 24.32rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__txt img {
    width: 100%;
  }
}
.main__ticker {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(3px);
  color: #FFFFFF;
  display: flex;
  width: 100%;
  height: 4rem;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker {
    height: 7.8rem;
  }
}
.main__ticker-inner {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 2.4rem;
  padding: 1rem 0 1rem 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker-inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.5rem 0;
  }
}
.main__ticker-inner-label {
  flex-shrink: 0;
  background: #2772B1;
  font-family: "Roboto";
  color: #FFFFFF;
  font-weight: 700;
  padding: 0.5rem;
  max-height: 2rem;
  line-height: 1;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker-inner-label {
    margin-left: 1.5rem;
  }
}
.main__ticker-inner-article {
  width: 100%;
  display: flex;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  padding: 0.2rem 0 0 1.5rem;
}
.main__ticker-inner-article.is-scroll .ticker-move-wrap {
  padding-right: 4rem;
  animation: infinity-scroll-left 20s linear infinite;
  animation-duration: var(--duration, 20s);
}
.main__ticker-inner-article .ticker-move-wrap {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  white-space: nowrap;
  flex-shrink: 0;
  padding-right: 5rem;
  box-sizing: border-box;
}
.main__ticker-inner-article time {
  font-weight: 500;
  line-height: 1.25;
  display: block;
}
.main__ticker-inner-article p {
  line-height: 1.25;
}
.main__ticker-btn {
  width: 18.6rem;
  border-left: 1px solid #FFFFFF;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker-btn {
    width: unset;
    position: absolute;
    top: 1.5rem;
    right: 0;
  }
}
.main__ticker-btn a {
  display: flex;
  align-items: center;
  gap: 1.23rem;
  padding: 0.95rem 0 0.95rem 1.2rem;
  transition: opacity 0.3s;
  outline-offset: -3px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .main__ticker-btn a:hover {
    opacity: 0.7;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker-btn a {
    padding: 0 1.5rem 0 1.2rem;
  }
}
.main__ticker-btn a p {
  color: #FFFFFF;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .main__ticker-btn a p {
    line-height: 1.5;
  }
}
.main__ticker-btn a svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #FFFFFF;
}

/* 記事エリア
---------------------------------------------- */
.articleAreaHome {
  padding: 4rem 4rem 2.7rem;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleAreaHome {
    padding: 2rem 1.5rem 4rem;
  }
}
.articleAreaHome {
  /*--入札結果--*/
}
.articleAreaHome .articleType2__a {
  padding: 0.5rem;
}
.articleAreaHome .articleType2__a-inner-ttl h2 {
  font-weight: 500;
}
.articleAreaHome {
  /*--無料閲覧コーナー,コラム『復·建』,特集・企画--*/
}
.articleAreaHome .articleType3__a {
  padding: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleAreaHome .articleType3__a {
    padding: 1rem 0.5rem;
  }
}
.articleAreaHome .articleType3__a-inner-ttl h2 {
  font-weight: 500;
}

/* 記事
---------------------------------------------- */
.articleBox {
  width: 100%;
  background: #FFFFFF;
  border-radius: 1.2rem;
  padding: 2.4rem 3rem 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleBox {
    padding: 2.8rem 2rem 2rem;
  }
}
.articleBox:nth-last-child(-n+2) {
  width: calc((100% - 2rem) / 2);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleBox:nth-last-child(-n+2) {
    width: 100%;
  }
}
.articleBox__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-bottom: 1.2rem;
  margin-bottom: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleBox__top {
    margin-bottom: 1.5rem;
  }
}
.articleBox__top .heading01 {
  margin-bottom: 0;
  font-size: 1.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleBox__top .heading01 {
    font-size: 1.6rem;
  }
}
.articleBox__top::before {
  content: "";
  display: block;
  background: #ECEFF0;
  width: 100%;
  height: 0.4rem;
  border-radius: 0.4rem;
  position: absolute;
  left: 0;
  bottom: 0;
}
.articleBox__top::after {
  content: "";
  display: block;
  width: 12rem;
  height: 0.4rem;
  border-radius: 0.4rem;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.headline .articleBox__top::after {
  background-color: #9FBFF9;
}
.result .articleBox__top::after {
  background-color: #EFB0AE;
}
.free .articleBox__top::after {
  background-color: #DAB1E3;
}
.column .articleBox__top::after {
  background-color: #BCEACB;
}
.special .articleBox__top::after {
  background-color: #EDDC9B;
}
.articleBox__top-btn-a {
  color: #21211F;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.articleBox__top-btn-a-txt {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.5;
}
.articleBox__top-btn-a-ico {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}
.articleBox__top-btn-a-ico::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3.2rem;
  border: 1px solid #2772B1;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform 0.3s, background 0.3s;
}
a:hover .articleBox__top-btn-a-ico::after {
  background: #2772B1;
  transform: scale(1.08);
}
.articleBox__top-btn-a-ico svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #2772B1;
  position: relative;
  z-index: 1;
}
a:hover .articleBox__top-btn-a-ico svg {
  fill: #FFFFFF;
}

/*--ヘッドライン--*/
.articleHomeType1 {
  border-bottom: 1px solid #E9E9E9;
}
.articleHomeType1__a {
  color: #21211F;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: background 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .articleHomeType1__a:hover {
    background: #EBF1F4;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleHomeType1__a {
    padding: 1rem 0.5rem;
  }
}
.articleHomeType1:first-child .articleHomeType1__a {
  padding-top: 0;
}
.articleHomeType1__a figure {
  width: 10rem;
  height: 6rem;
  border-radius: 0.4rem;
  overflow: hidden;
  position: relative;
  flex: none;
  align-self: flex-start;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleHomeType1__a figure {
    width: 8rem;
    height: 8rem;
  }
}
.articleHomeType1__a figure img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.articleHomeType1__a-inner {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: stretch;
}
.articleHomeType1__a-inner > div {
  display: flex;
  align-items: center;
  align-content: flex-start;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
}
.articleHomeType1__a-inner-time {
  display: block;
  color: #666666;
  flex: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleHomeType1__a-inner-time {
    display: none;
  }
}
.articleHomeType1__a-inner-orderer {
  flex: 1;
  min-width: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .articleHomeType1__a-inner-orderer {
    display: none;
  }
}
.articleHomeType1__a-inner-orderer > div {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  background: #EBF1F4;
  border-radius: 0.4rem;
  height: 2.2rem;
  padding: 0 0.6rem;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.articleHomeType1__a-inner-orderer-ico {
  background: #FFFFFF;
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #E6E6E6;
  display: flex;
  justify-content: center;
  align-items: center;
  flex: none;
}
.articleHomeType1__a-inner-orderer-ico img {
  width: 1.333rem;
  height: 1.333rem;
}
.articleHomeType1__a-inner-orderer-txt {
  text-box-edge: cap alphabetic;
  line-height: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.articleHomeType1__a-inner-ttl {
  width: 100%;
}
.articleHomeType1__a-inner-ttl h2 {
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0;
  display: inline;
  line-height: 1.6;
}
.articleHomeType1__a-inner-ttl svg {
  width: 1.6rem;
  height: 1.6rem;
  fill: #D8D5D1;
  margin: 0 0 -0.3rem 0.2rem;
}

/* フッター上バナー
---------------------------------------------- */
.bnAreaHome {
  display: flex;
  justify-content: space-between;
  padding: 2.7rem 4rem 17rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnAreaHome {
    gap: 1rem;
    flex-direction: column;
    padding: 0 0 4rem;
  }
}
.bnAreaHome__item {
  width: calc((100% - 2rem) / 2);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnAreaHome__item {
    width: 100%;
  }
}
.bnAreaHome__item-a {
  display: block;
  height: 0;
  padding-top: 46.511627907%;
  position: relative;
  overflow: hidden;
  border-radius: 0.4rem;
  outline-offset: 2px;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .bnAreaHome__item-a:hover img:nth-of-type(1) {
    transform: scale(1.08);
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnAreaHome__item-a {
    padding-top: 53.3333333333%;
    border-radius: 0;
  }
}
.bnAreaHome__item-a img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
}
.bnAreaHome__item-a img:nth-of-type(1) {
  transition: transform 0.3s;
}
.bnAreaHome__item-a img:nth-of-type(2) {
  z-index: 1;
}
.bnAreaHome__item-a-txt {
  padding: 0 1.2rem 1rem;
  color: #FFFFFF;
  font-size: 1.3rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.bnAreaHome__item-a-txt-ico {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 3.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.bnAreaHome__item-a-txt-ico::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3.2rem;
  border: 1px solid #FFFFFF;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform 0.3s, background 0.3s;
}
a:hover .bnAreaHome__item-a-txt-ico::after {
  background: #FFFFFF;
  transform: scale(1.08);
}
.bnAreaHome__item-a-txt-ico svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #FFFFFF;
  transition: fill 0.3s;
  position: relative;
  z-index: 1;
}
a:hover .bnAreaHome__item-a-txt-ico svg {
  fill: #2772B1;
}

/* バナーエリア（SPのみ）
---------------------------------------------- */
.bnAreaHomeSp {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .bnAreaHomeSp {
    display: block;
    padding-bottom: 14rem;
  }
}
.bnAreaHomeSp__inner {
  background: #DCE9EF;
  padding: 4rem;
}
.bnAreaHomeSp__inner-links {
  border-bottom: 1px solid #CEE0E9;
  padding: 0 0 3rem;
}
.bnAreaHomeSp__inner-links li:not(:last-of-type) {
  margin-bottom: 2rem;
}
.bnAreaHomeSp__inner-links li a {
  display: flex;
  gap: 1.2rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .bnAreaHomeSp__inner-links li a:hover {
    opacity: 0.7;
  }
}
.bnAreaHomeSp__inner-links li a img {
  width: 4.8rem;
  height: auto;
}
.bnAreaHomeSp__inner-links li a div p:nth-of-type(1) {
  margin-bottom: 0.2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-weight: 500;
}
.bnAreaHomeSp__inner-links li a div p:nth-of-type(1) span {
  color: #21211F;
  font-size: 1.4rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.bnAreaHomeSp__inner-links li a div p:nth-of-type(1) svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: #97AEB9;
}
.bnAreaHomeSp__inner-links li a div p:nth-of-type(2) {
  color: #808080;
  font-size: 1.2rem;
  line-height: 1.3;
  letter-spacing: 0;
}
.bnAreaHomeSp__inner-pr {
  padding: 3rem 0 0;
}
.bnAreaHomeSp__inner-pr-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 2rem;
}
.bnAreaHomeSp__inner-pr-label svg {
  width: 2rem;
  height: 2rem;
  fill: #82BFDD;
}
.bnAreaHomeSp__inner-pr-label span {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3;
  color: #82BFDD;
}
.bnAreaHomeSp__inner-pr ul li:not(:last-of-type) {
  margin-bottom: 1rem;
}
.bnAreaHomeSp__inner-pr ul li a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .bnAreaHomeSp__inner-pr ul li a:hover {
    opacity: 0.7;
  }
}
.bnAreaHomeSp__inner-pr ul li img {
  width: 100%;
  height: auto;
}

/* フッター上流れる文字
---------------------------------------------- */
.txtScrollHome {
  display: flex;
  padding-top: 6rem;
  margin-bottom: -0.6rem;
  width: 100%;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .txtScrollHome {
    padding-top: 7rem;
    margin-bottom: -0.5rem;
  }
}
.txtScrollHome > div {
  width: 247.6rem;
  flex: none;
  animation: infinity-scroll-left 50s infinite linear 0.5s both;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .txtScrollHome > div {
    width: 165rem;
  }
}
.txtScrollHome > div img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------

お知らせ

------------------------------------------------------------ */
/* 詳細ページ
---------------------------------------------- */
.wrapNewsDetail__ttl {
  border-bottom: 1px solid #E9E9E9;
  padding-bottom: 2rem;
  margin-bottom: 5.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapNewsDetail__ttl {
    padding-bottom: 1.5rem;
    margin-bottom: 3rem;
  }
}
.wrapNewsDetail__ttl-cat {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapNewsDetail__ttl-cat {
    margin-bottom: 1rem;
  }
}
.wrapNewsDetail__ttl-cat time {
  font-family: Public Sans;
  color: #2772B1;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  display: block;
  margin-right: 1rem;
}
.wrapNewsDetail__ttl-cat p {
  color: #68837c;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1;
  letter-spacing: 0;
  border: 1px solid #68837c;
  border-radius: 10rem;
  min-width: 16rem;
  padding: 0.4rem 2.6rem;
  transition: color 0.3s;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapNewsDetail__ttl-cat p {
    padding: 0.4rem 2.6rem;
  }
}
.wrapNewsDetail__ttl h2 {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapNewsDetail__ttl h2 {
    font-size: 1.8rem;
  }
}
.wrapNewsDetail__btn {
  border-top: 1px solid #E9E9E9;
  padding-top: 6rem;
  margin-top: 5rem;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapNewsDetail__btn {
    padding-top: 4rem;
    margin-top: 3rem;
  }
}
.wrapNewsDetail__btn-inner {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
}
.wrapNewsDetail__btn-inner a {
  color: #21211F;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: opacity 0.3s;
}
.wrapNewsDetail__btn-inner a > span {
  width: 2rem;
  height: 2rem;
  border-radius: 2rem;
  border: 1px solid #808080;
  display: flex;
  justify-content: center;
  align-items: center;
}
.wrapNewsDetail__btn-inner a > span svg {
  width: 1.4rem;
  height: 1.4rem;
  fill: #808080;
  transform: scale(-1, 1);
}
.wrapNewsDetail__btn-inner a:hover {
  opacity: 0.7;
}

/* ------------------------------------------------------------

会社案内

------------------------------------------------------------ */
.company table {
  width: 100%;
  table-layout: fixed;
}
.company table tr {
  border-bottom: 1px solid #E9E9E9;
}
.company table tr:last-of-type {
  border-bottom: none;
}
.company table tr th,
.company table tr td {
  padding: 2rem 0.5rem;
}
.company table tr th {
  width: 12.5rem;
  font-weight: 500;
  padding-left: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table tr th {
    width: 9rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location {
    width: 31.5rem;
    display: flex;
    flex-wrap: wrap;
    padding: 0 0.5rem 2rem;
  }
}
.company table .location th {
  vertical-align: middle;
  font-weight: 500;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location th {
    display: contents;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location th span {
    display: block;
    width: 9rem;
    padding: 2rem 0 1rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location td {
    display: contents;
  }
}
.company table .location td address {
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location td address {
    width: 21.5rem;
    padding: 2rem 0 1rem;
    margin-bottom: 0;
  }
}
.company table .location td address br:nth-of-type(2) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location td address br:nth-of-type(2) {
    display: block;
  }
}
.company table .location td p br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .location td p br {
    display: block;
  }
}
.company table .locationMap {
  display: flex;
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .locationMap {
    flex-direction: column;
  }
}
.company table .locationMap__google {
  flex: 1;
}
.company table .locationMap__google iframe {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 22rem;
  border-radius: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .locationMap__google iframe {
    height: 22rem;
  }
}
.company table .locationMap__image {
  width: 23rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .company table .locationMap__image {
    width: 100%;
  }
}
.company table .locationMap__image img {
  width: 100%;
  height: auto;
  border-radius: 0.4rem;
}

/* ------------------------------------------------------------

各機関リンク

------------------------------------------------------------ */
.secLinkBox {
  background: #FFFFFF;
  padding: 4rem 3rem;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox {
    border-radius: 0;
  }
}
.secLinkBox:not(:last-of-type) {
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}
.secLinkBox ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.secLinkBox ul li a {
  width: 100%;
  min-height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  background: #EBF1F4;
  color: #21211F;
  border-radius: 5rem;
  padding: 0.9rem 1.7rem;
  line-height: 1.23;
  font-size: 1.3rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .secLinkBox ul li a:hover {
    opacity: 0.7;
  }
}
.secLinkBox#link2 ul {
  grid-template-columns: repeat(7, 1fr);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox#link2 ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 1.5rem;
  }
}
.secLinkBox#link2 ul li a {
  font-size: 1.4rem;
  line-height: 1.4;
  padding: 0.5rem;
  min-height: unset;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox#link2 ul li a {
    padding: 1rem 0.5rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secLinkBox#link8 ul li:nth-last-child(4) br,
  .secLinkBox#link8 ul li:nth-last-child(11) br {
    display: none;
  }
}

/* ------------------------------------------------------------

広告掲載案内

------------------------------------------------------------ */
.advLead {
  padding: 0 3rem;
  margin-bottom: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead {
    padding: 0;
    margin-bottom: 3rem;
  }
}
.advLead__inner {
  background: url(/img/advertisement/bg_lead01.jpg) no-repeat center;
  background-size: cover;
  padding: 2rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner {
    background-image: url(/img/advertisement/bg_lead01_sp.jpg);
    padding: 3.2rem 2.55rem;
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner {
    padding: 3rem 2.55rem 2.3rem;
  }
}
.advLead__inner-image {
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner-image {
    width: 100%;
  }
}
.advLead__inner-image img {
  width: 100%;
  height: auto;
}
.advLead__inner-txt {
  flex: 1;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}
.advLead__inner-txt p:nth-of-type(1) {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner-txt p:nth-of-type(1) {
    font-size: 1.8rem;
  }
}
.advLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
    display: block;
  }
}
.advLead__inner-txt p:nth-of-type(2) {
  font-size: 1.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advLead__inner-txt p:nth-of-type(2) {
    font-size: 1.6rem;
  }
}

.advPriceArea {
  display: flex;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea {
    flex-direction: column;
    padding: 0 1.5rem;
  }
}
.advPriceArea.advPriceArea2 {
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea.advPriceArea2 {
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea.advPriceArea2 .advPriceArea__ttl h2 br:nth-of-type(1) {
    display: none;
  }
}
.advPriceArea.advPriceArea3 {
  margin-bottom: 6rem;
}
.advPriceArea__ttl {
  width: 25%;
  background: #2772B1;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__ttl {
    width: 100%;
    padding: 1.5rem;
  }
}
.advPriceArea__ttl span {
  display: block;
}
.advPriceArea__tbl {
  flex: 1;
  min-width: 0;
  background: #FFFFFF;
  table-layout: fixed;
}
.advPriceArea__tbl th,
.advPriceArea__tbl td {
  padding: 2rem;
  text-align: center;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__tbl th,
  .advPriceArea__tbl td {
    padding: 1.05rem 0.5rem;
  }
}
.advPriceArea__tbl th {
  background: #DCE9EF;
  font-weight: 500;
  width: 33.3333333333%;
}
.advPriceArea__tbl th span {
  font-size: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__tbl th span {
    display: block;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__tbl td {
    padding: 1.45rem 0.5rem;
  }
}
.advPriceArea__tbl td:nth-of-type(1) {
  border-right: none;
}
.advPriceArea__tbl td:nth-of-type(2) {
  border-left-style: dashed;
  border-right-style: dashed;
}
.advPriceArea__tbl td:nth-of-type(3) {
  border-left: none;
}
.advPriceArea__tbl td:nth-of-type(3) span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__tbl td:nth-of-type(3) span {
    font-size: 1.8rem;
  }
}
.advPriceArea__tbl td ul {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 0 0 2rem;
  list-style-type: square !important;
}
.advPriceArea__tbl td ul li {
  list-style: inherit;
}
.advPriceArea__tbl td ul li::marker {
  color: #2772B1;
}
.advPriceArea__tbl td ul li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advPriceArea__tbl td ul li:not(:last-of-type) {
    margin-bottom: 0;
  }
}

.advSample {
  display: flex;
  align-items: center;
  gap: 3.4rem;
  padding: 4rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advSample {
    flex-direction: column;
    padding: 3rem 1.5rem 2.1rem;
    gap: 2rem;
  }
}
.advSample__txt {
  width: 46rem;
  background: #FFFFFF;
  border-radius: 1.2rem;
  padding: 2rem 0 2rem 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advSample__txt {
    width: 34.5rem;
    padding: 2rem;
  }
}
.advSample__txt dl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 0.9rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advSample__txt dl {
    margin: 0 0 0.9rem;
  }
}
.advSample__txt dl div {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
}
.advSample__txt dl div:nth-of-type(1) {
  margin-bottom: 0.3rem;
}
.advSample__txt dl div dt {
  background: #DCE9EF;
  text-align: center;
  font-weight: 500;
  border-radius: 4rem;
  padding: 0.4rem 0;
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .advSample__txt dl div dt {
    padding: 0.2rem 0;
  }
}
.advSample__image {
  flex: 1;
  min-width: 0;
}
.advSample__image a {
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .advSample__image a:hover {
    opacity: 0.7;
  }
}
.advSample__image a figure {
  margin-bottom: 1rem;
}
.advSample__image a figure img {
  width: 100%;
  height: auto;
}
.advSample__image p {
  background: #D8D8D8;
  font-size: 1.3rem;
  padding: 0.55rem 1rem;
  border-radius: 4rem;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

/* ------------------------------------------------------------

経審Navi

------------------------------------------------------------ */
/* 製品概要
---------------------------------------------- */
.naviProduct {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviProduct {
    flex-direction: column;
    padding: 0 1.5rem;
    margin-bottom: 3rem;
  }
}
.naviProduct figure {
  width: 20rem;
  flex: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviProduct figure {
    margin: 0 auto;
  }
}
.naviProduct figure img {
  width: 100%;
  height: auto;
}
.naviProduct__txt {
  flex: 1;
  min-width: 0;
}
.naviProduct__txt p {
  line-height: 1.8;
}

/* 主な機能
---------------------------------------------- */
.naviFunction {
  margin-bottom: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviFunction {
    padding: 0 1.5rem;
  }
}
.naviFunction .heading03 {
  justify-content: center;
}
.naviFunction__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviFunction__list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.naviFunction__list li {
  padding: 3rem 0 3.6rem;
  text-align: center;
  background: #FFFFFF;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviFunction__list li {
    padding: 3rem 0 4.1rem;
  }
}
.naviFunction__list li img {
  width: 21rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .naviFunction__list li img {
    width: 22rem;
  }
}
.naviFunction__list li h3 {
  margin: 1rem 0;
  line-height: 1;
  font-size: 1.8rem;
  font-weight: 500;
}

/* ------------------------------------------------------------

入札ネット・入札ネット+α

------------------------------------------------------------ */
.onlineArea {
  margin-bottom: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .onlineArea {
    padding: 0 1.5rem;
  }
}
.onlineArea .secOnlineBox:not(:last-of-type) {
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .onlineArea .secOnlineBox:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}

/* 入札ネット・入札ネット+αでこんな事が出来る！
---------------------------------------------- */
.canOnline__inner1 {
  background: #FFF4E8;
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 4rem 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner1 {
    padding: 4rem 1.5rem;
  }
}
.canOnline__inner1 h3 {
  display: flex;
  align-items: center;
  gap: 4.4rem;
  margin-bottom: 2.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner1 h3 {
    gap: 3.2rem;
    justify-content: center;
    margin-bottom: 1.6rem;
  }
}
.canOnline__inner1 h3 img {
  width: auto;
  height: 6.1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner1 h3 img {
    height: 5.2rem;
  }
}
.canOnline__inner2 {
  background: #F2DDDD;
  border-radius: 0 0 1.2rem 1.2rem;
  padding: 4rem 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner2 {
    padding: 4rem 1.5rem;
  }
}
.canOnline__inner2-ttl {
  display: flex;
  align-items: center;
  gap: 2.066rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner2-ttl {
    justify-content: center;
    gap: 1rem;
  }
}
.canOnline__inner2-ttl img {
  width: auto;
  height: 6.1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner2-ttl img {
    height: 5.2rem;
  }
}
.canOnline__inner2-ttl p {
  background: #EB5F5F;
  color: #FFFFFF;
  padding: 0.5rem 2rem;
  font-size: 1.7rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline__inner2-ttl p {
    padding: 0.5rem 1rem;
  }
}
.canOnline ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .canOnline ul {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem;
  }
}
.canOnline ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.canOnline ul li img {
  width: 12rem;
  height: auto;
}
.canOnline ul li div p:nth-of-type(1) {
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
  font-weight: 500;
}

/* 入札ネットとは
---------------------------------------------- */
.aboutOnline1 {
  background: #FFFFFF;
  border-radius: 1.2rem;
  padding: 4rem 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1 {
    padding: 4rem 1.5rem;
  }
}
.aboutOnline1__ttl {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1__ttl {
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
    margin-bottom: 2.3rem;
  }
}
.aboutOnline1__ttl .heading03 {
  margin-bottom: 0;
}
.aboutOnline1__ttl p {
  background: #2772B1;
  color: #FFFFFF;
  padding: 0.5rem 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1__ttl p {
    font-size: 1.2rem;
    padding: 0.5rem;
  }
}
.aboutOnline1__recommend {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1__recommend {
    flex-direction: column;
    gap: 2rem;
  }
}
.aboutOnline1__recommend img {
  width: 36rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1__recommend img {
    width: 100%;
  }
}
.aboutOnline1__recommend-inner {
  background: #EBF1F4;
  border-radius: 0.4rem;
  padding: 3rem;
  color: #2772B1;
  font-weight: 500;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline1__recommend-inner {
    padding: 2rem 1rem;
  }
}
.aboutOnline1__recommend-inner ul {
  margin-bottom: 0.5rem;
}
.aboutOnline1__recommend-inner ul li {
  padding-left: 2.2rem;
  position: relative;
}
.aboutOnline1__recommend-inner ul li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.aboutOnline1__recommend-inner ul li::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: #2772B1;
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
}
.aboutOnline1__recommend-inner ul + p {
  padding-left: 2.2rem;
}
.aboutOnline1 > p {
  line-height: 1.8;
}
.aboutOnline1 > p:not(:last-of-type) {
  margin-bottom: 2.5rem;
}

/* 入札ネット+αとは
---------------------------------------------- */
.aboutOnline2 {
  background: #FFFFFF;
  border-radius: 1.2rem;
  padding: 4rem 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline2 {
    padding: 4rem 1.5rem;
  }
}
.aboutOnline2 .heading03 {
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline2 .heading03 {
    justify-content: center;
  }
}
.aboutOnline2__recommend {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  gap: 3rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline2__recommend {
    flex-direction: column;
    gap: 2rem;
  }
}
.aboutOnline2__recommend img {
  width: 36rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline2__recommend img {
    width: 100%;
  }
}
.aboutOnline2__recommend-inner {
  background: #EBF1F4;
  border-radius: 0.4rem;
  padding: 3rem;
  color: #2772B1;
  font-weight: 500;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .aboutOnline2__recommend-inner {
    padding: 2rem 1rem;
  }
}
.aboutOnline2__recommend-inner ul {
  margin-bottom: 0.5rem;
}
.aboutOnline2__recommend-inner ul li {
  padding-left: 2.2rem;
  position: relative;
}
.aboutOnline2__recommend-inner ul li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.aboutOnline2__recommend-inner ul li::before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background: #2772B1;
  position: absolute;
  top: 0.8rem;
  left: 0.8rem;
}
.aboutOnline2__recommend-inner ul + p {
  padding-left: 2.2rem;
}
.aboutOnline2 > p {
  line-height: 1.8;
}
.aboutOnline2 > p:not(:last-of-type) {
  margin-bottom: 2.5rem;
}

/* 入札ネットと入札ネット+αの違い
---------------------------------------------- */
.differenOnline table {
  width: 100%;
}
.differenOnline table th {
  padding: 2rem 1rem;
  text-align: center;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table th {
    padding: 1.5rem;
  }
}
.differenOnline table td {
  background: #FFFFFF;
  padding: 2rem 3rem;
  text-align: center;
  border-top: 1px solid #DCE9EF;
  border-bottom: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table td {
    border: none;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
  }
}
.differenOnline table td .price {
  color: #F41E1E;
  font-size: 2rem;
  font-weight: 700;
  padding: 0 0 0 0.5rem;
}
.differenOnline table td .price span {
  display: inline-block;
  color: #21211F;
  font-size: 1.4rem;
  font-weight: 400;
  padding: 0 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr {
    display: flex;
    flex-wrap: wrap;
  }
}
.differenOnline table tr:nth-of-type(1) th {
  border: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(1) th:nth-of-type(1) {
    display: none;
  }
}
.differenOnline table tr:nth-of-type(1) th:nth-of-type(2) {
  background: #FFF4E8;
  padding: 1rem 0 1.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(1) th:nth-of-type(2) {
    width: 50%;
  }
}
.differenOnline table tr:nth-of-type(1) th:nth-of-type(3) {
  background: #F2DDDD;
  padding: 1rem 0 1.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(1) th:nth-of-type(3) {
    width: 50%;
  }
}
.differenOnline table tr:nth-of-type(1) th img {
  width: auto;
  height: 5.6rem;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(1) th img {
    height: 4.7rem;
  }
}
.differenOnline table tr:not(:nth-of-type(1)) th {
  background: #2772B1;
  text-align: center;
  color: #FFFFFF;
  width: 20rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:not(:nth-of-type(1)) th {
    width: 100%;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(3) td, .differenOnline table tr:nth-of-type(4) td, .differenOnline table tr:nth-of-type(5) td, .differenOnline table tr:nth-of-type(8) td, .differenOnline table tr:nth-of-type(11) td {
    width: 50%;
  }
}
.differenOnline table tr:nth-of-type(3) td:first-of-type, .differenOnline table tr:nth-of-type(4) td:first-of-type, .differenOnline table tr:nth-of-type(5) td:first-of-type, .differenOnline table tr:nth-of-type(8) td:first-of-type, .differenOnline table tr:nth-of-type(11) td:first-of-type {
  border-right: 1px dashed #DCE9EF;
}
.differenOnline table tr:nth-of-type(2) td {
  border-top: none;
}
.differenOnline table tr:nth-of-type(3) td p:nth-of-type(1) {
  font-weight: 500;
  margin-bottom: 0.5rem;
}
.differenOnline table tr:nth-of-type(3) td p:nth-of-type(1) br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(3) td p:nth-of-type(1) br {
    display: block;
  }
}
.differenOnline table tr:nth-of-type(3) td p:nth-of-type(2) {
  text-align: left;
}
.differenOnline table tr:nth-of-type(3) td p:nth-of-type(2) span {
  display: inline-block;
}
.differenOnline table tr:nth-of-type(3) td ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(4) td div {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    text-align: left;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(4) td div span {
    display: inline-block;
    text-indent: -1em;
    padding-left: 1em;
  }
}
.differenOnline table tr:nth-of-type(4) td div span br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(4) td div span br {
    display: block;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(6) td {
    flex-direction: row;
  }
}
.differenOnline table tr:nth-of-type(10) td div {
  display: flex;
  justify-content: center;
  align-items: center;
}
.differenOnline table tr:nth-of-type(10) td div ul li {
  background: #DCE9EF;
  padding: 0.5rem;
  border-radius: 3rem;
  width: 15.1rem;
  text-align: center;
}
.differenOnline table tr:nth-of-type(10) td div ul li:not(:last-of-type) {
  margin-bottom: 1rem;
}
.differenOnline table tr:nth-of-type(10) td div img {
  display: block;
  width: 3rem;
  height: auto;
  margin: 0 3rem 0 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(10) td div img {
    width: 1.5rem;
    margin: 0 0.5rem;
  }
}
.differenOnline table tr:nth-of-type(10) td div p {
  background: #DCE9EF;
  padding: 0.5rem;
  border-radius: 3rem;
  width: 15.1rem;
  text-align: center;
  white-space: nowrap;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(10) td div p {
    width: 13.1rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .differenOnline table tr:nth-of-type(11) td {
    display: flex;
    flex-direction: row;
  }
}
.differenOnline table tr:nth-of-type(11) td img {
  width: 2.4rem;
  height: auto;
  margin-right: 1rem;
}
.differenOnline table tr:nth-of-type(12) dl {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.differenOnline table tr:nth-of-type(12) dl div {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.differenOnline table tr:nth-of-type(12) dl div:not(:last-of-type) {
  margin-bottom: 1rem;
}
.differenOnline table tr:nth-of-type(12) dl div dt {
  background: #DCE9EF;
  padding: 0.5rem;
  border-radius: 3rem;
  width: 12.1rem;
  text-align: center;
  flex: none;
}
.differenOnline table tr:nth-of-type(12) dl div dd {
  text-align: left;
}

/* ------------------------------------------------------------

新聞-日刊紙 日刊建設タイムズ

------------------------------------------------------------ */
.pubLead {
  padding: 0 3rem;
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead {
    padding: 0;
    margin-bottom: 4.3rem;
  }
}
.pubLead__inner {
  background: url(/img/publication/bg_lead01.jpg) no-repeat center;
  background-size: cover;
  padding: 2rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner {
    background-image: url(/img/publication/bg_lead01_sp.jpg);
    padding: 3.2rem 2.55rem;
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner {
    padding: 3rem 1.5rem 2.3rem;
  }
}
.pubLead__inner-image {
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner-image {
    width: 100%;
    padding: 0 1.055rem;
  }
}
.pubLead__inner-image img {
  width: 100%;
  height: auto;
}
.pubLead__inner-txt {
  flex: 1;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner-txt {
    text-align: center;
  }
}
.pubLead__inner-txt p:nth-of-type(1) {
  color: #2772B1;
  font-size: 2.2rem;
  margin-bottom: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner-txt p:nth-of-type(1) {
    font-size: 1.8rem;
  }
}
.pubLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
    display: block;
  }
}
.pubLead__inner-txt p:nth-of-type(2) {
  font-size: 1.6rem;
}
.pubLead__inner-txt p:nth-of-type(2) br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner-txt p:nth-of-type(2) br {
    display: block;
  }
}
.pubLead__inner + p {
  line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubLead__inner + p {
    padding: 0 1.5rem;
  }
}

.pubSample {
  display: flex;
  flex-wrap: wrap;
  background: #FFFFFF;
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample {
    flex-direction: column;
    margin-bottom: 3rem;
  }
}
.pubSample__image1 {
  width: 50%;
  background: url(/img/publication/bg_pub01.jpg) no-repeat center;
  background-size: cover;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__image1 {
    width: 100%;
    order: 2;
  }
}
.pubSample__image1 a {
  padding: 3.5rem 2.8rem;
  display: block;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .pubSample__image1 a:hover {
    opacity: 0.7;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__image1 a {
    padding: 3rem 1.5rem;
  }
}
.pubSample__image1 a figure {
  margin-bottom: 1rem;
}
.pubSample__image1 a figure img {
  width: 100%;
  height: auto;
}
.pubSample__image1 a p {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.3rem;
  background: #D8D8D8;
  border-radius: 3rem;
  padding: 0.55rem 1rem;
  margin: 0 auto;
}
.pubSample__image2 {
  width: 50%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__image2 {
    width: 100%;
    order: 4;
  }
}
.pubSample__image2 img {
  width: 100%;
  height: auto;
}
.pubSample__txt {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__txt {
    width: 100%;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__txt:nth-of-type(2) {
    order: 1;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSample__txt:nth-of-type(3) {
    order: 3;
  }
}

.pubSubscription {
  padding: 0 1.5rem;
  margin-bottom: 6rem;
}
.pubSubscription__lead {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead {
    gap: 1rem 4rem;
  }
}
.pubSubscription__lead img {
  width: 15rem;
  height: auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead img {
    width: 10rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead img:nth-of-type(1) {
    order: 2;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead img:nth-of-type(2) {
    order: 3;
  }
}
.pubSubscription__lead p {
  text-align: center;
  color: #2772B1;
  font-size: 2.6rem;
  font-weight: 500;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead p {
    font-size: 2.2rem;
  }
}
.pubSubscription__lead p br:nth-of-type(1) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription__lead p br:nth-of-type(1) {
    display: block;
  }
}
.pubSubscription table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table {
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr th,
  .pubSubscription table tr td {
    display: block;
  }
}
.pubSubscription table tr th {
  text-align: center;
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr th {
    width: 100%;
    padding: 1.35rem 0;
    border-color: #2772B1;
  }
}
.pubSubscription table tr th span {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.pubSubscription table tr td {
  background: #FFFFFF;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr td {
    border: none;
    padding: 1rem 1.5rem;
  }
}
.pubSubscription table tr td:first-of-type {
  border-right: 1px dashed #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr td:first-of-type {
    border-right: none;
    border-bottom: 1px dashed #E9E9E9;
  }
}
.pubSubscription table tr td:nth-of-type(2) {
  border-left: none;
  border-right: 1px dashed #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr td:nth-of-type(2) {
    border-right: none;
    border-bottom: 1px dashed #E9E9E9;
  }
}
.pubSubscription table tr td:last-of-type {
  border-left: none;
}
.pubSubscription table tr td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr td > div {
    justify-content: flex-start;
  }
}
.pubSubscription table tr td > div p:first-of-type {
  background: #DCE9EF;
  border-radius: 4rem;
  padding: 0.45rem 1.65rem;
  min-width: 7rem;
  text-align: center;
}
.pubSubscription table tr td > div span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr td > div span {
    font-size: 1.8rem;
  }
}
.pubSubscription table tr:first-of-type td {
  padding: 2rem 3rem;
  font-size: 1.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr:first-of-type td {
    padding: 1.5rem;
  }
}
.pubSubscription table tr:first-of-type td span {
  color: #808080;
  font-size: 1.5rem;
}
.pubSubscription table tr:nth-of-type(2) td {
  padding: 2rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .pubSubscription table tr:nth-of-type(2) td {
    padding: 1rem 1.5rem;
  }
}

/* ------------------------------------------------------------

新聞-他県版のご案内

------------------------------------------------------------ */
.otherLead {
  background: #FFFFFF;
  padding: 4rem 3rem;
  border-radius: 1.2rem;
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead {
    padding: 0 0 3rem;
    margin-bottom: 3rem;
    border-radius: 0;
  }
}
.otherLead__inner {
  background: url(/img/publication/bg_lead_other01.jpg) no-repeat center;
  background-size: cover;
  padding: 2rem 3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner {
    background-image: url(/img/publication/bg_lead_other01_sp.jpg);
    padding: 3.2rem 1.5rem;
    margin-bottom: 3rem;
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner {
    padding: 3.2rem 1.5rem 3rem;
  }
}
.otherLead__inner-image {
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner-image {
    width: 100%;
    padding: 0;
  }
}
.otherLead__inner-image img {
  width: 100%;
  height: auto;
}
.otherLead__inner-txt {
  flex: 1;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner-txt {
    text-align: center;
  }
}
.otherLead__inner-txt p:nth-of-type(1) {
  color: #2772B1;
  font-size: 2.3rem;
  margin-bottom: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner-txt p:nth-of-type(1) {
    font-size: 1.8rem;
  }
}
.otherLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner-txt p:nth-of-type(1) br:nth-of-type(1) {
    display: block;
  }
}
.otherLead__inner-txt p:nth-of-type(2) {
  font-size: 1.6rem;
}
.otherLead__inner-txt p:nth-of-type(2) br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner-txt p:nth-of-type(2) br {
    display: block;
  }
}
.otherLead__inner + p {
  line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .otherLead__inner + p {
    padding: 0 1.5rem;
  }
}

/* 購読料金
---------------------------------------------- */
.secOtherFee {
  position: relative;
  margin-bottom: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee {
    padding: 0 1.5rem;
  }
}
.secOtherFee table {
  width: 100%;
  table-layout: fixed;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table {
    margin-bottom: 1rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr {
    display: flex;
    flex-wrap: wrap;
    margin-top: -1px;
  }
}
.secOtherFee table tr th {
  padding: 0 1.5rem;
  text-align: center;
  line-height: 1.4;
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr th {
    width: 50%;
    padding: 1.5rem 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr th:last-of-type {
    margin-top: -1px;
  }
}
.secOtherFee table tr th span {
  display: block;
  font-size: 1.2rem;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.secOtherFee table tr th span br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr th span br {
    display: block;
  }
}
.secOtherFee table tr td {
  background: #FFFFFF;
  padding: 2.95rem 3rem;
  border: 1px solid #E9E9E9;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr td {
    width: 50%;
    padding: 2.55rem 0;
    border-left: none;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr td:last-of-type {
    margin-top: -1px;
  }
}
.secOtherFee table tr td span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
  letter-spacing: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr td span {
    font-size: 1.8rem;
  }
}
.secOtherFee table tr th.empty,
.secOtherFee table tr td.empty {
  background: none;
  border: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee table tr th.empty,
  .secOtherFee table tr td.empty {
    display: none;
  }
}
.secOtherFee__tax {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background: #DCE9EF;
  border-radius: 3.1rem;
  padding: 0.5rem 1rem;
  font-weight: 500;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secOtherFee__tax {
    position: unset;
    border-radius: 2.1rem;
    margin-left: auto;
  }
}

/* ------------------------------------------------------------

お問い合わせ

------------------------------------------------------------ */
/* 共通
---------------------------------------------- */
.secContactBox1 {
  background: #FFFFFF;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secContactBox1 {
    border-radius: 0;
  }
}
.secContactBox1:not(:last-of-type) {
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secContactBox1:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}

.secContactBox2 {
  background: #FFFFFF;
  border-radius: 1.2rem;
  padding: 6rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .secContactBox2 {
    padding: 3rem 1.5rem;
    border-radius: 0;
  }
}

.ttlContact01 .dropdown-btn {
  padding: 3rem 6rem;
  display: block;
  width: 100%;
  position: relative;
  transition: padding 0.3s;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .ttlContact01 .dropdown-btn {
    padding: 2rem 1.5rem;
  }
}
.ttlContact01 .dropdown-btn.is-active {
  padding: 6rem 6rem 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .ttlContact01 .dropdown-btn.is-active {
    padding: 4rem 1.5rem 3rem;
  }
}
.ttlContact01 .dropdown-btn.is-active .dropdown-btn__ico {
  top: 52%;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .ttlContact01 .dropdown-btn.is-active .dropdown-btn__ico {
    top: 49%;
  }
}
.ttlContact01 .dropdown-btn.is-active .dropdown-btn__ico::before {
  transform: rotate(90deg);
}
.ttlContact01 .dropdown-btn.is-active .dropdown-btn__ico::after {
  transform: rotate(270deg);
}
.ttlContact01 .dropdown-btn__txt {
  color: #2772B1;
  text-align: center;
  font-weight: 500;
  font-size: 2.6rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .ttlContact01 .dropdown-btn__txt {
    font-size: 2rem;
  }
}
.ttlContact01 .dropdown-btn__ico {
  position: absolute;
  top: 41%;
  right: 4rem;
  width: 2rem;
  height: 2rem;
  transition: all 0.3s;
  transform: rotate(180deg);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .ttlContact01 .dropdown-btn__ico {
    right: 2rem;
    width: 1.5rem;
    height: 1.5rem;
  }
}
.ttlContact01 .dropdown-btn__ico::before, .ttlContact01 .dropdown-btn__ico::after {
  content: "";
  display: block;
  width: 0.2rem;
  height: 1.5rem;
  background: #2772B1;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: all 0.3s;
}
.ttlContact01 .dropdown-btn__ico::after {
  transform: rotate(90deg);
}

.dropdown {
  padding: 0 6rem 6rem;
  transition: opacity 0.3s;
  pointer-events: none;
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .dropdown {
    padding: 0 1.5rem 4rem;
  }
}
.dropdown.is-open {
  pointer-events: all;
}

.contactBox:not(:last-of-type) {
  margin-bottom: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactBox:not(:last-of-type) {
    margin-bottom: 3rem;
  }
}

.formArea {
  background: #EBF1F4;
  padding: 4rem;
  border-radius: 0.8rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea {
    padding: 2rem 1.5rem;
  }
}
.formArea__item1:not(:last-of-type), .formArea__item2:not(:last-of-type) {
  margin-bottom: 2rem;
}
.formArea__item1-label, .formArea__item2-label {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.15rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item1-label, .formArea__item2-label {
    margin-bottom: 1rem;
  }
}
.formArea__item1-label-must, .formArea__item1-label-optional, .formArea__item2-label-must, .formArea__item2-label-optional {
  border-radius: 0.2rem;
  width: 4.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  height: 1.9rem;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
  line-height: 1;
  flex: none;
}
.formArea__item1-label-must, .formArea__item2-label-must {
  color: #FFFFFF;
  background: #2772B1;
  white-space: nowrap;
}
.formArea__item1-label-optional, .formArea__item2-label-optional {
  background: #C3C2C2;
  white-space: nowrap;
}
.formArea__item1-label-txt, .formArea__item2-label-txt {
  display: flex;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item1-label-txt, .formArea__item2-label-txt {
    display: inline;
  }
}
.formArea__item1-label-txt-multiple, .formArea__item2-label-txt-multiple {
  font-weight: 400;
}
.formArea__item1-label-txt-note, .formArea__item2-label-txt-note {
  color: #808080;
  font-size: 1.3rem;
  font-weight: 400;
  white-space: normal;
  line-height: 1.6;
}
.formArea__item1-input, .formArea__item2-input {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.postal .formArea__item1-input p, .postal .formArea__item2-input p {
  width: 3rem;
  text-align: center;
}
.postal .formArea__item1-input input, .postal .formArea__item2-input input {
  width: 17rem;
}
.address .formArea__item1-input, .address .formArea__item2-input {
  gap: 1rem;
}
.address .formArea__item1-input input[type=text]::-webkit-input-placeholder, .address .formArea__item2-input input[type=text]::-webkit-input-placeholder {
  font-size: 1.4rem;
}
.address .formArea__item1-input input[type=text]::-moz-placeholder, .address .formArea__item2-input input[type=text]::-moz-placeholder {
  font-size: 1.4rem;
}
.address .formArea__item1-input input[type=text]::-ms-input-placeholder, .address .formArea__item2-input input[type=text]::-ms-input-placeholder {
  font-size: 1.4rem;
}
.formArea__item1.address .wrapSelect1 {
  width: 20rem;
}
.formArea__item1.service .wrapRadio {
  grid-template-columns: repeat(2, 1fr);
}
.formArea__item2:first-of-type {
  border-top: 1px solid #E9E9E9;
  padding-top: 2rem;
  margin-top: 2rem;
}
.formArea__item2:not(:last-of-type) {
  border-bottom: 1px solid #E9E9E9;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
.formArea__item2-label {
  margin-bottom: 1.5rem;
}
.formArea__item2.trigger1 .wrapCheckbox, .formArea__item2.trigger2 .wrapCheckbox, .formArea__item2.expansion1 .wrapCheckbox, .formArea__item2.expansion2 .wrapCheckbox {
  width: 100%;
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item2.trigger1 .wrapCheckbox, .formArea__item2.trigger2 .wrapCheckbox, .formArea__item2.expansion1 .wrapCheckbox, .formArea__item2.expansion2 .wrapCheckbox {
    grid-template-columns: repeat(1, 1fr);
  }
}
.formArea__item2.area .wrapCheckbox {
  margin-bottom: 1rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item2.area .wrapCheckbox {
    grid-template-columns: repeat(2, 1fr);
  }
}
.formArea__item2.area .wrapCheckbox__item:last-of-type {
  grid-column: span 2;
}
.formArea__item2.term1 .wrapRadio, .formArea__item2.bidder .wrapRadio {
  grid-template-columns: repeat(2, 1fr);
}
.formArea__item2.term2 .wrapRadio {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item2.term2 .wrapRadio {
    grid-template-columns: repeat(3, 1fr);
  }
}
.formArea__item2.term2 .wrapRadio__item:last-of-type {
  grid-column: span 2;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .formArea__item2.term2 .wrapRadio__item:last-of-type {
    grid-column: span 1;
    white-space: nowrap;
  }
}
.formArea__item2.notice1 .wrapCheckbox, .formArea__item2.notice2 .wrapCheckbox {
  margin: 2rem 0 1rem;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.formArea__note1 {
  text-align: center;
  margin-top: 2rem;
}

/*--ボタン--*/
.btnForm {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnForm {
    margin-top: 2rem;
    flex-direction: column;
    gap: 1rem;
  }
}
.btnForm__inner {
  width: 20rem;
}
.btnForm__inner.back button {
  flex-direction: row-reverse;
  background: #E9E9E9;
  color: #21211F;
}
.btnForm__inner.back svg {
  fill: #808080;
  transform: scale(-1, 1);
}
.btnForm__inner.send button {
  background: #2772B1;
  color: #FFFFFF;
}
.btnForm__inner.send svg {
  fill: #FFFFFF;
}
.btnForm__inner button {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #9CD0EA;
  width: 100%;
  height: 100%;
  padding: 1.75rem 2rem;
  line-height: 1.5;
  font-size: 1.6rem;
  font-weight: 500;
  transition: background 0.3s;
  color: #2772B1;
  cursor: pointer;
  margin: 0;
  border-radius: 0;
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  transition: opacity 0.3s;
}
.btnForm__inner button:hover {
  opacity: 0.7;
}
.btnForm__inner-txt {
  flex: 1;
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 1.1;
}
.btnForm__inner svg {
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  fill: #2772B1;
}

/* 日刊建設タイムズ（電子版）
---------------------------------------------- */
/*--料金（税込み）--*/
.tblDigital {
  width: 100%;
  table-layout: fixed;
}
.tblDigital tr th,
.tblDigital tr td {
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr th,
  .tblDigital tr td {
    display: block;
    margin-top: -1px;
  }
}
.tblDigital tr th {
  padding: 0 1.5rem;
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
  width: 20rem;
  font-size: 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr th {
    width: 100%;
    padding: 1.5rem 0;
    border-color: #2772B1;
  }
}
.tblDigital tr th span {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.tblDigital tr td {
  padding: 2.5rem 1.5rem;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr td {
    padding: 1.5rem;
  }
}
.tblDigital tr td:first-of-type {
  border-right: 1px dashed #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr td:first-of-type {
    border-right-style: solid;
    border-bottom: 1px dashed #E9E9E9;
  }
}
.tblDigital tr td:last-of-type {
  border-left: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr td:last-of-type {
    border-left: 1px solid #E9E9E9;
    border-top: none;
  }
}
.tblDigital tr td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr td > div {
    justify-content: flex-start;
  }
}
.tblDigital tr td > div p:first-of-type {
  background: #DCE9EF;
  border-radius: 4rem;
  padding: 0.45rem 1.65rem;
  min-width: 7rem;
  text-align: center;
}
.tblDigital tr td > div span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDigital tr td > div span {
    font-size: 1.8rem;
  }
}
.tblDigital + .btnType01 {
  text-align: center;
}

/*--購読お申し込み--*/
.btnDigital {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .btnDigital {
    grid-template-columns: repeat(1, 1fr);
  }
}
.btnDigital li a {
  background: #9CD0EA;
  display: flex;
  align-items: center;
  padding: 2rem 3rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .btnDigital li a:hover {
    opacity: 0.7;
  }
}
.btnDigital li a span {
  flex: 1;
  color: #21211F;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.btnDigital li a svg {
  flex: none;
  width: 1.5rem;
  height: 1.5rem;
  fill: #FFFFFF;
}

/* 建設新聞（日刊紙）
---------------------------------------------- */
#contact2 .contactBox .heading02 br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  #contact2 .contactBox .heading02 br {
    display: block;
  }
}

/*--日刊建設タイムズ（千葉版）料金（税込み）--*/
.tblDaily1 {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 {
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr th,
  .tblDaily1 tr td {
    display: block;
    margin-top: -1px;
  }
}
.tblDaily1 tr th {
  text-align: center;
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
  width: 18rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr th {
    width: 100%;
    padding: 1.5rem 0;
    border-color: #2772B1;
  }
}
.tblDaily1 tr th span {
  display: block;
  font-size: 1.1rem;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.tblDaily1 tr td {
  padding: 2rem 3rem;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr td {
    padding: 1.5rem;
  }
}
.tblDaily1 tr td:first-of-type {
  border-right: 1px dashed #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr td:first-of-type {
    border-right-style: solid;
    border-bottom: 1px dashed #E9E9E9;
  }
}
.tblDaily1 tr td:last-of-type {
  border-left: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr td:last-of-type {
    border-left: 1px solid #E9E9E9;
    border-top: none;
  }
}
.tblDaily1 tr td > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr td > div {
    justify-content: flex-start;
  }
}
.tblDaily1 tr td > div p:first-of-type {
  background: #DCE9EF;
  border-radius: 4rem;
  padding: 0.45rem 1.65rem;
  min-width: 7rem;
  text-align: center;
}
.tblDaily1 tr td > div span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily1 tr td > div span {
    font-size: 1.8rem;
  }
}
.tblDaily1 tr:first-of-type td {
  font-size: 1.8rem;
}
.tblDaily1 tr:first-of-type td span {
  font-size: 1.5rem;
  color: #808080;
}
.tblDaily1 + .btnType01 {
  text-align: center;
}

/*--建設新聞（他県版）料金（金額は6か月分、税込み）--*/
.tblDaily2 {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 {
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr {
    display: flex;
    flex-wrap: wrap;
    margin-top: -1px;
  }
}
.tblDaily2 tr th {
  padding: 0 1.5rem;
  text-align: center;
  line-height: 1.4;
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr th {
    width: 50%;
    padding: 1.5rem 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr th:last-of-type {
    margin-top: -1px;
  }
}
.tblDaily2 tr th span {
  display: block;
  font-size: 1.2rem;
  margin-top: 0.2rem;
  line-height: 1.3;
}
.tblDaily2 tr th span br {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr th span br {
    display: block;
  }
}
.tblDaily2 tr td {
  padding: 2.95rem 3rem;
  border: 1px solid #E9E9E9;
  text-align: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr td {
    width: 50%;
    padding: 2.55rem 0;
    border-left: none;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr td:last-of-type {
    margin-top: -1px;
  }
}
.tblDaily2 tr td span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
  letter-spacing: 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr td span {
    font-size: 1.8rem;
  }
}
.tblDaily2 tr th.empty,
.tblDaily2 tr td.empty {
  background: none;
  border: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblDaily2 tr th.empty,
  .tblDaily2 tr td.empty {
    display: none;
  }
}
.tblDaily2 + .btnType01 {
  text-align: center;
}

/* 入札ネット・入札ネット＋α
---------------------------------------------- */
@media screen and (orientation: portrait) and (max-width: 767px) {
  #contact3 .formArea__item2.area .formArea__item2-label:nth-of-type(1),
  #contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
#contact3 .formArea__item2.area .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt,
#contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt {
  white-space: nowrap;
  gap: 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  #contact3 .formArea__item2.area .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt,
  #contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt {
    display: contents;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  #contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) {
    flex-wrap: wrap;
    gap: 0.5rem;
  }
}
#contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt {
  gap: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  #contact3 .formArea__item2.bidder .formArea__item2-label:nth-of-type(1) .formArea__item2-label-txt {
    display: contents;
  }
}

/*--料金（税込み）--*/
.tblOnline {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 1.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline {
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr {
    display: flex;
  }
}
.tblOnline tr th,
.tblOnline tr td {
  text-align: center;
  padding: 2.5rem 0;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr th,
  .tblOnline tr td {
    padding: 1.5rem 0;
  }
}
.tblOnline tr th {
  background: #2772B1;
  color: #FFFFFF;
  border: 1px solid #E9E9E9;
  width: 20rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr th {
    width: 100%;
    border-color: #2772B1;
  }
}
.tblOnline tr td {
  border: 1px solid #E9E9E9;
}
.tblOnline tr td span {
  color: #F41E1E;
  font-weight: 700;
  font-size: 2rem;
  display: inline-block;
  padding: 0 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr td span {
    font-size: 1.8rem;
  }
}
.tblOnline tr td img {
  width: auto;
  height: 3.7rem;
  display: block;
  margin: 0 auto;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr td img {
    height: 4.7rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(1) {
    flex-wrap: wrap;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(1) th {
    flex: 1;
    min-width: 100%;
  }
}
.tblOnline tr:nth-of-type(1) td {
  padding: 2.5rem 0 0;
  border-bottom: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(1) td {
    padding: 1.5rem 0 1.8rem;
    width: 50%;
  }
}
.tblOnline tr:nth-of-type(1) td:first-of-type {
  border-right: 1px dashed #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(1) td:first-of-type {
    border-right: none;
    background: #FFF4E8;
  }
}
.tblOnline tr:nth-of-type(1) td:last-of-type {
  border-left: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(1) td:last-of-type {
    background: #F2DDDD;
  }
}
.tblOnline tr:nth-of-type(2) td {
  border-top: none;
  padding-top: 0.5rem;
  vertical-align: top;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(2) td {
    padding: 1.5rem 0;
    width: 50%;
    vertical-align: middle;
  }
}
.tblOnline tr:nth-of-type(2) td:first-of-type {
  border-right: 1px dashed #E9E9E9;
}
.tblOnline tr:nth-of-type(2) td:last-of-type {
  border-left: none;
}
.tblOnline tr:nth-of-type(2) td p {
  display: inline-block;
  white-space: nowrap;
}
.tblOnline tr:nth-of-type(2) td p:nth-of-type(1) {
  background: #DCE9EF;
  border-radius: 4rem;
  padding: 0.45rem 1.65rem;
  min-width: 7rem;
  text-align: center;
  margin-right: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(2) td p:nth-of-type(2) {
    display: block;
  }
}
.tblOnline tr:nth-of-type(2) td p:nth-of-type(3) {
  display: block;
  margin-top: 0.5rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(2) td p:nth-of-type(3) {
    margin-top: 0;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(3) {
    flex-direction: column;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .tblOnline tr:nth-of-type(3) th br {
    display: none;
  }
}
.tblOnline tr:nth-of-type(3) td {
  margin-top: -1px;
}
.tblOnline tr:nth-of-type(3) td p {
  display: inline-block;
  white-space: nowrap;
}
.tblOnline tr:nth-of-type(3) td p:nth-of-type(1) {
  background: #DCE9EF;
  border-radius: 4rem;
  padding: 0.45rem 1.65rem;
  min-width: 7rem;
  text-align: center;
  margin-right: 0.5rem;
}
.tblOnline + .btnType01 {
  text-align: center;
}

/* その他お問い合わせ
---------------------------------------------- */
.contactOther {
  padding-bottom: 4rem;
  margin-bottom: 4rem;
  border-bottom: 2px dotted #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactOther {
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactOther .heading02 {
    justify-content: center;
    font-size: 1.6rem;
  }
}

/*--お電話でのお問い合わせ・各種お申し込み--*/
.numTel {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numTel {
    justify-content: center;
  }
}
.numTel svg {
  width: 3rem;
  height: 3rem;
  fill: #2772B1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numTel svg {
    margin-bottom: -0.3rem;
  }
}
.numTel__txt {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numTel__txt {
    font-size: 2.2rem;
  }
}
.numTel__txt-tel {
  color: #2772B1;
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numTel__txt-tel {
    display: inline-block;
    text-decoration: underline;
  }
}
.numTel__txt span,
.numTel__txt a:not(.numTel__txt-tel) {
  color: #2772B1;
  display: inline-block;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numTel__txt span,
  .numTel__txt a:not(.numTel__txt-tel) {
    display: none;
  }
}

/*--FAXでのお問い合わせ・各種お申し込み--*/
.numFax {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numFax {
    justify-content: center;
  }
}
.numFax img {
  width: 3rem;
  height: auto;
}
.numFax span {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  color: #2772B1;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .numFax span {
    font-size: 2.2rem;
  }
}
.numFax + p {
  margin: 1.5rem 0 3rem;
}

.listFax {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listFax {
    grid-template-columns: repeat(1, 1fr);
  }
}
.listFax li a {
  background: #EBF1F4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  height: 100%;
  min-height: 5.4rem;
  border-radius: 5.4rem;
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .listFax li a:hover {
    opacity: 0.7;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listFax li a {
    min-height: 4.6rem;
    border-radius: 4.6rem;
  }
}
.listFax li a span {
  display: block;
  text-align: center;
  color: #21211F;
  line-height: 1.2;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listFax li a span br {
    display: none;
  }
}
.listFax li a img {
  width: 2rem;
  height: auto;
}

/* ------------------------------------------------------------

お問い合わせ-確認

------------------------------------------------------------ */
.contactConf table {
  width: 100%;
}
.contactConf table tr th,
.contactConf table tr td {
  padding: 1rem 2rem;
  border: 1px solid #E9E9E9;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactConf table tr th,
  .contactConf table tr td {
    display: block;
    padding: 1.5rem;
  }
}
.contactConf table tr th {
  background: #EBF1F4;
  text-align: center;
  width: 20rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactConf table tr th {
    width: 100%;
    border-bottom: none;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactConf table tr td {
    border-top: none;
  }
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactConf table tr:not(:last-of-type) td {
    border-bottom: none;
  }
}

/* ------------------------------------------------------------

お問い合わせ-完了

------------------------------------------------------------ */
.contactComp {
  background: #FFFFFF;
  padding: 6rem;
  border-radius: 1.2rem;
  text-align: center;
  line-height: 1.8;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactComp {
    border-radius: 0;
    padding: 3rem 1.5rem;
    text-align: left;
  }
}
.contactComp h2 {
  color: #2772B1;
  font-size: 2.6rem;
  font-weight: 500;
  margin-bottom: 2rem;
  line-height: 1.5;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactComp h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}
.contactComp__note {
  background: #EBF1F4;
  padding: 2rem 0;
  margin-top: 2rem;
  line-height: 1.6;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactComp__note {
    padding: 1.5rem;
    margin-top: 1rem;
  }
}
.contactComp__note br:last-of-type {
  display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactComp__note br:last-of-type {
    display: block;
  }
}
.contactComp + .btnType02 {
  text-align: center;
  padding-top: 4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .contactComp + .btnType02 {
    padding-top: 3rem;
  }
}

/* ------------------------------------------------------------

フォーム要素

------------------------------------------------------------ */
.visually-hidden {
  position: absolute !important;
  top: 0px !important;
  left: 0px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}

/* textbox・textarea
---------------------------------------------- */
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=url],
input[type=number],
textarea {
  width: 100%;
  background: #FFFFFF;
  border: none;
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  outline: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #21211F;
  caret-color: #21211F;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  input[type=text],
  input[type=email],
  input[type=password],
  input[type=tel],
  input[type=url],
  input[type=number],
  textarea {
    padding: 0.8rem 1.5rem;
  }
}

/*autofillの背景色変更対応策*/
input[type=text]:-webkit-autofill,
input[type=email]:-webkit-autofill,
input[type=password]:-webkit-autofill,
input[type=tel]:-webkit-autofill,
input[type=url]:-webkit-autofill,
input[type=number]:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 999px #FFFFFF inset !important;
  -webkit-text-fill-color: #21211F;
}

input::-moz-focus-inner {
  border: 0;
  /* Firefox 点線消す */
}

input[type=text]::-webkit-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=text]::-moz-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=text]::-ms-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=email]::-webkit-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=email]::-moz-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=email]::-ms-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=tel]::-webkit-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=tel]::-moz-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

input[type=tel]::-ms-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

textarea {
  display: block;
  resize: vertical;
  width: 100%;
  min-height: 20rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  textarea {
    min-height: 16.8rem;
  }
}

textarea::-moz-focus-inner {
  border: 0;
  /* Firefox 点線消す */
}

textarea::-webkit-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

textarea::-moz-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

textarea::-ms-input-placeholder {
  color: #808080;
  font-size: 1.4rem;
}

/* Radio
---------------------------------------------- */
.wrapRadio {
  display: grid;
  gap: 1rem 2rem;
}
.wrapRadio__item {
  position: relative;
}
.wrapRadio__item input[type=radio] + label {
  display: inline-block;
  background: url(../img/img_radio01.png) no-repeat 0 0;
  background-size: 2rem;
  padding: 0 0 0 2.5rem;
  cursor: pointer;
  line-height: normal;
}
.wrapRadio__item input[type=radio]:checked + label {
  background: url(../img/img_radio01_on.png) no-repeat 0 0;
  background-size: 2rem;
}

/* Checkbox
---------------------------------------------- */
.wrapCheckbox {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1rem 2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapCheckbox {
    grid-template-columns: repeat(3, 1fr);
  }
}
.wrapCheckbox__item {
  position: relative;
}
.wrapCheckbox__item input[type=checkbox] + label {
  display: inline-block;
  background: url(../img/img_checkbox01.png) no-repeat 0 0;
  background-size: 2rem;
  padding: 0 0 0 2.5rem;
  cursor: pointer;
  line-height: normal;
}
.wrapCheckbox__item input[type=checkbox]:checked + label {
  background: url(../img/img_checkbox01_on.png) no-repeat 0 0;
  background-size: 2rem;
}

/* Select
---------------------------------------------- */
.wrapSelect1 {
  position: relative;
  font-size: 1.6rem;
}
.wrapSelect1::after {
  content: "";
  display: block;
  pointer-events: none;
  background: url(../img/ico/ico_arrow01.png) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 2rem;
  margin-top: -0.8rem;
  width: 1.6rem;
  height: 1.6rem;
  transition: transform 0.2s;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapSelect1::after {
    right: 1rem;
  }
}
.wrapSelect1.is-open::after {
  transform: scale(1, -1);
}
.wrapSelect1 .select-selected {
  background-color: #FFFFFF;
  padding: 1.1rem 4rem 1.1rem 1.5rem;
  cursor: pointer;
  border-radius: 0.4rem;
  color: #21211F;
  font-size: 1.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapSelect1 .select-selected {
    padding: 0.9rem 3rem 0.9rem 1.5rem;
  }
}
.wrapSelect1 .select-selected.placeholder {
  color: #808080;
}
.wrapSelect1 .select-items {
  display: none;
  position: absolute;
  background-color: #FFFFFF;
  border-top: none;
  z-index: 99;
  width: 100%;
  font-size: 1.4rem;
  box-sizing: border-box;
  border-radius: 0.4rem;
  box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.15);
  max-height: 26.5rem;
  overflow-x: hidden;
}
.wrapSelect1 .select-items .simplebar-track.simplebar-vertical {
  background: #DCE9EF;
  width: 0.4rem;
  margin-right: 1rem;
  top: 0.9rem !important;
  bottom: 0.9rem;
  height: auto;
}
.wrapSelect1 .select-items {
  /* つまみ */
}
.wrapSelect1 .select-items .simplebar-scrollbar {
  background: #2772B1;
  border-radius: 0.4rem;
  opacity: 1 !important;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: auto;
}
.wrapSelect1 .select-items .simplebar-scrollbar:hover::before {
  background: #1e5a8d;
}
.wrapSelect1 .option-item {
  padding: 1.1rem 1.5rem;
  cursor: pointer;
  color: #21211F;
  font-size: 1.4rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .wrapSelect1 .option-item {
    padding: 0.9rem 1.5rem;
  }
}
.wrapSelect1 .option-item.is-selected {
  display: none;
}
.wrapSelect1 .option-item:hover {
  background-color: #EBF1F4;
  color: #2772B1;
}
.contact .wrapSelect1 {
  width: 40rem;
  max-width: 100%;
}

/* ------------------------------------------------------------

コラム『復·建』

------------------------------------------------------------ */
.listColumn {
  background: #FFFFFF;
  padding: 3rem;
  border-radius: 1.2rem;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
  .listColumn {
    padding: 3rem 1.5rem;
  }
}/*# sourceMappingURL=style.css.map */