/* --------------- variables --------------------- */
/* Break Point */
#header {
  border-bottom: 1px solid #dbdbd9;
}

.breadcrumb {
  display: flex;
  border-bottom: 1px solid #dbdbd9;
}
.breadcrumb a {
  color: #222426;
  text-decoration: underline;
}
.breadcrumb > span {
  display: inline-block;
  position: relative;
  white-space: nowrap;
}

.wp-pagenavi {
  overflow: hidden;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 1;
}
.wp-pagenavi .page, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink, .wp-pagenavi .extend, .wp-pagenavi .last, .wp-pagenavi .first {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background-color: #fff;
  border-radius: 50%;
  color: #222426;
}
.wp-pagenavi .extend {
  border: none;
}
.wp-pagenavi .extend:hover {
  color: #005046;
  font-weight: 700;
}
.wp-pagenavi span.current {
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  color: #005046;
  font-weight: 700;
}
.wp-pagenavi .previouspostslink {
  background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
  transition: 0.5s;
  transform: scale(-1, 1);
}
.wp-pagenavi .nextpostslink {
  background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
  transition: 0.5s;
}

.pageTitleWrap .pageTitle {
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
}
.pageTitleWrap .pageTitleEn {
  font-weight: 400;
  font-family: "Viga", sans-serif;
  letter-spacing: 0.06em;
  color: #40a6a6;
}

main a {
  text-decoration: underline;
  text-decoration-color: #005046;
  color: #005046;
  overflow-wrap: break-word;
}

.anchorLink a {
  font-weight: 700;
  text-decoration: none;
  text-align: center;
  border-left: 1px solid #cacacc;
  position: relative;
  line-height: 1.3;
}
.anchorLink a:last-of-type {
  border-right: 1px solid #cacacc;
  width: 22%;
}

.singleContents article > :first-child {
  margin-top: 0;
}
.singleContents .postH1 {
  font-weight: bold;
  line-height: 1.5;
  color: #005046;
}
.singleContents .ymdcat {
  display: flex;
}
.singleContents .ymdcat .ymd {
  font-weight: bold;
  font-family: "Viga", sans-serif;
  letter-spacing: 0.06em;
}
.singleContents .ymdcat .cat {
  color: #005046;
  font-weight: 700;
  background-color: #dff5f2;
  display: inline-block;
  line-height: 1;
}

.excursionLink {
  border-top: 1px solid #005046;
  font-weight: 700;
  line-height: 1;
}
.excursionLink a {
  text-decoration: none;
}
.excursionLink .prevLink a {
  position: relative;
}
.excursionLink .nextLink a {
  font-weight: 700;
  position: relative;
}
.excursionLink .allLink {
  font-weight: 700;
  position: relative;
}

.catList {
  background-color: #f5f5f2;
}
.catList li a {
  color: #4f5459;
  font-weight: 500;
  text-decoration: none;
  line-height: 1;
  display: inline-block;
}

.yearList li a {
  font-weight: 500;
  color: #4f5459;
  line-height: 1;
  text-decoration: none;
}
.yearList li a.now {
  font-weight: 700;
  color: #222426;
}

.yearSelectWrap {
  position: relative;
  display: block;
  margin-left: auto;
  width: 150px;
}
.yearSelectWrap .yearSelect {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  min-width: 150px;
  height: auto;
  padding: 10px 40px 10px 25px;
  border: 1px solid #222426;
  border-radius: 25px;
  background-color: #fff;
  color: #222426;
  cursor: pointer;
  line-height: 1.2;
}

.newsList .newsItem {
  box-shadow: 0 0 10px 0 rgba(74, 112, 108, 0.3);
}
.newsList .newsItem .topicText .ymdcat {
  display: flex;
  align-items: center;
}
.newsList .newsItem .topicText .ymdcat .ymd {
  color: #222426;
  font-family: "Viga", sans-serif;
  letter-spacing: 0.06em;
  line-height: 1;
}
.newsList .newsItem .topicText .ymdcat .cat {
  color: #005046;
  font-weight: 700;
  background-color: #dff5f2;
  display: inline-block;
  line-height: 1;
}
.newsList .newsItem .topicText .topicTitle {
  font-weight: 700;
  line-height: 1.5;
  color: #222426;
}
.newsList .newsItem .topicText .excerpt {
  color: #222426;
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pageCatch {
  text-align: center;
  font-weight: 700;
  color: #005046;
  line-height: 1.9;
}

.rinenTitle {
  text-align: center;
  font-weight: 700;
  color: #005046;
  line-height: 1.5;
  position: relative;
}
.rinenTitle span {
  display: inline-block;
  background: linear-gradient(transparent 70%, #ebf5f4 30%);
}

.rinenBox {
  background-color: #ebf5f4;
  line-height: 1.9;
}
.rinenBox span {
  font-weight: 700;
  color: #005046;
}

.pageLinkWrap {
  background-color: #daedeb;
}
.pageLinkWrap .pageLinkList a {
  box-shadow: 0 0 10px 0 rgba(74, 112, 108, 0.3);
  display: block;
  background-color: #fff;
  text-decoration: none;
}
.pageLinkWrap .pageLinkList a .title {
  font-weight: 700;
  color: #005046;
}
.pageLinkWrap .pageLinkList a .text {
  color: #222426;
}

.pageContactWrap {
  background-color: #daedeb;
}
.pageContactWrap .title {
  text-align: center;
  font-weight: 700;
  color: #005046;
}
.pageContactWrap .pageContact a {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  box-shadow: 4px 0 20px 0 rgba(74, 112, 108, 0.25);
  font-weight: 700;
  text-align: center;
  color: #005046;
  text-decoration: none;
}

.serviceList {
  border-top: 1px solid #d9dedd;
}
.serviceList .serviceItem {
  border-bottom: 1px solid #d9dedd;
}
.serviceList .serviceItem a {
  text-decoration: none;
  position: relative;
}
.serviceList .serviceItem a figure {
  text-align: center;
}
.serviceList .serviceItem a .serviceTextWrap .serviceTitle {
  font-weight: 700;
  color: #005046;
  line-height: 1.5;
}
.serviceList .serviceItem a .serviceTextWrap .serviceText {
  color: #4d4d4f;
}
.serviceList .serviceItem a .serviceTextWrap .more {
  color: #4d4d4f;
  font-weight: 700;
  display: inline-block;
  position: absolute;
}

.textBtnWrap {
  background-color: #ebf5f4;
}
.projectFlow li {
  border-bottom: 1px solid #cacacc;
}
.projectFlow li figure {
  background-color: #ebf5f4;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.projectFlow li .title {
  margin: 0;
  font-weight: 700;
  color: #005046;
  line-height: 1.5;
}
.projectFlow li .text {
  margin: 0;
}

.imgLine4 li {
  text-align: center;
  padding: 0 !important;
}
.imgLine4 li:before {
  content: none !important;
}
.imgLine4 li img {
  max-width: 100%;
}

.colorBox2 .cont p {
  margin: 0;
}

.caseSearchWrap {
  background-color: #f5f5f2;
}
.caseSearchWrap .caseSearchTitle {
  text-align: center;
  font-weight: 700;
  margin: 0;
}
.caseSearchWrap .caseSearch > div {
  position: relative;
}
.caseSearchWrap .caseSearch select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  background-color: #fff;
  font-weight: 700;
  width: 100%;
  cursor: pointer;
}

.caseResult .caseResultList li {
  box-shadow: 0 0 10px 0 rgba(74, 112, 108, 0.3);
}
.caseResult .caseResultList li .caseResultTitle span {
  color: #fff;
  font-weight: 700;
  background-color: #005046;
  display: inline-block;
  line-height: 1;
  max-width: 90%;
}
.caseResult .caseResultList li p {
  margin: 0;
}
.caseResult .caseResultList li .areaCat {
  color: #4f5459;
  font-weight: 500;
}
.caseResult .caseResultList li .areaCat .cat {
  background-color: #fcf2d4;
  display: inline-block;
  position: relative;
  line-height: 1;
}
.caseResult .caseResultList li .areaCat .area {
  background-color: #fcf2d4;
  display: inline-block;
  position: relative;
  line-height: 1;
}
.caseResult .caseResultMore span {
  font-weight: 700;
  display: inline-block;
  position: relative;
}

.secondLinkList > a {
  display: flex;
  align-items: center;
  box-shadow: 0 0 10px 0 rgba(74, 112, 108, 0.3);
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  color: #005046;
  position: relative;
}
.secondLinkList > a figure {
  margin: 0;
}
.secondLinkList > a p {
  margin: 0;
}

.historyWrap .historyHead {
  border-top: 2px solid #f5f5f2;
  border-bottom: 2px solid #f5f5f2;
}
.historyWrap .historyHead > div .ayumi {
  color: #0a7167;
  display: inline-block;
  font-weight: 500;
  position: relative;
}
.historyWrap .historyHead > div .sisaku {
  color: #4f5459;
  display: inline-block;
  font-weight: 500;
  position: relative;
}
.historyWrap .historyList > div.sisaku {
  background-color: #f5f5f2;
  position: relative;
  color: #4f5459;
  font-weight: 500;
}
.historyWrap .historyList > div.sisaku dt {
  flex: none;
}
.historyWrap .historyList > div.ayumi {
  background-color: #ebf5f4;
  position: relative;
  color: #0a7167;
  font-weight: 500;
}
.historyWrap .historyList > div.ayumi dt {
  flex: none;
}
.recruitLinks a {
  display: flex;
  box-shadow: 4px 0 20px 0 rgba(74, 112, 108, 0.25);
  text-decoration: none;
  font-weight: 700;
  font-family: "Zen Maru Gothic", sans-serif;
  align-items: center;
  color: #fff;
}
.recruitLinks a.entry {
  background: url(../images/second/recruit/entry_btn_bg.webp) no-repeat center/cover;
}
.recruitLinks a.other {
  background: url(../images/second/recruit/contact_btn_bg.webp) no-repeat center/cover;
}

.singleContents .has-inline-color.has-luminous-vivid-orange-color {
  color: #005046 !important;
}
.singleContents .inner > *:first-child {
  margin-top: 0;
}
.singleContents h2 {
  position: relative;
  font-weight: 700;
  color: #005046;
  background-color: #f5f5f2;
}
.singleContents h3 {
  border-bottom: 2px solid #e5e5e3;
  font-weight: 700;
  position: relative;
}
.singleContents h4 {
  color: #005046;
  position: relative;
  font-weight: 700;
}
.singleContents ul {
  padding-left: 0;
}
.singleContents ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
.singleContents ol li {
  position: relative;
}
.singleContents p + .wp-block-gallery {
  margin-top: 10px;
}
.singleContents .wp-block-button a, .singleContents .wp-block-button .wp-block-button__link {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  box-shadow: 4px 0 20px 0 rgba(74, 112, 108, 0.25);
  font-weight: 700;
  text-align: center;
  color: #005046;
  text-decoration: none;
}
.singleContents .wp-block-button a[href$=".pdf"]:before, .singleContents .wp-block-button .wp-block-button__link[href$=".pdf"]:before {
  content: none;
}
.singleContents .wp-block-button a[href$=".pdf"]:after, .singleContents .wp-block-button .wp-block-button__link[href$=".pdf"]:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/common/icon_pdf.svg) no-repeat center/cover !important;
  border-radius: 0;
  position: absolute;
  right: 20px;
  top: calc(50% - 10px);
  transition: none;
}
.singleContents .wp-block-button a[href$=".pdf"]:hover:after, .singleContents .wp-block-button .wp-block-button__link[href$=".pdf"]:hover:after {
  opacity: 1;
}
.singleContents .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: inherit;
  text-align: left;
  border: 1px solid #dbdbd9;
}
.singleContents .wp-block-table table .notes {
  font-size: 13px;
}
.singleContents .wp-block-table table.is-style-stripes td:nth-of-type(odd) {
  background-color: #f3f3f3;
}
.singleContents .wp-block-table table thead {
  border-bottom: none;
}
.singleContents .wp-block-table table tr th {
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #dbdbd9;
  border-top: 1px solid #dbdbd9;
  border-left: 1px solid #dbdbd9;
}
.singleContents .wp-block-table table tr th:last-child {
  margin-bottom: 0;
  border-right: none;
}
.singleContents .wp-block-table table tr th.sub {
  background-color: #005046;
  color: #fff;
}
.singleContents .wp-block-table table tr td {
  border: none;
  border-bottom: 1px solid #dbdbd9;
  border-top: 1px solid #dbdbd9;
  border-left: 1px solid #dbdbd9;
  word-break: break-all;
  background-color: #fff;
}
.singleContents .wp-block-table table tr td:last-child {
  margin-bottom: 0;
  border-right: none;
}
.singleContents .wp-block-columns .wp-block-image {
  margin-bottom: 0px;
  margin-top: 0;
}
.singleContents .wp-block-columns p {
  margin: 0;
}
.singleContents .wp-block-media-text .wp-block-media-text__content p {
  margin-top: 0;
}
.singleContents .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  background: none;
  color: #222426;
  position: static;
  font-size: 15px;
  font-weight: bold;
}
.singleContents .wp-block-gallery.has-nested-images figure.wp-block-image {
  display: initial;
}
.singleContents .wp-block-gallery.has-nested-images figure.wp-block-image img {
  height: auto !important;
}
.singleContents .colorBox .cont p {
  margin: 0;
}

h2, h3, h4 {
  line-height: 1.5;
}

h2.title {
  position: relative;
  font-weight: 700;
  color: #005046;
  background-color: #f5f5f2;
}

h3.title {
  border-bottom: 2px solid #e5e5e3;
  font-weight: 700;
  position: relative;
}

h4.title {
  color: #005046;
  position: relative;
  font-weight: 700;
}

.h2 {
  position: relative;
  font-weight: 700;
  color: #005046;
  background-color: #f5f5f2;
}

ul.commonList {
  padding-left: 0;
}

ol {
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
}
ol li {
  position: relative;
}

a[href$=".pdf"], a[href$=".doc"], a[href$=".docx"], a[href$=".xls"], a[href$=".xlsx"] {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}
a[href$=".pdf"]:after, a[href$=".doc"]:after, a[href$=".docx"]:after, a[href$=".xls"]:after, a[href$=".xlsx"]:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 0;
  position: absolute;
  right: 0px;
  top: 0.2em;
}
a[href$=".pdf"]:after {
  background-image: url(../images/common/icon_pdf.svg);
}
a[href$=".doc"]:after, a[href$=".docx"]:after {
  background-image: url(../images/common/icon_word.svg);
}
a[href$=".xls"]:after, a[href$=".xlsx"]:after {
  background-image: url(../images/common/icon_excel.svg);
}
a.front {
  padding-left: 25px;
  padding-right: 0;
}
a.front:after {
  left: 0px;
}

.iconBlank {
  display: inline-block;
  width: 15px;
  height: 13px;
  background: url("../images/common/icon_blank.webp") no-repeat 0 0;
  background-size: cover;
  vertical-align: middle;
  margin-left: 8px;
  position: relative;
  top: -3px;
}

.subLink {
  color: #4d4d4f;
  font-weight: 700;
  display: inline-block;
  position: relative;
  text-decoration: none;
}

.commonBtn {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  box-shadow: 4px 0 20px 0 rgba(74, 112, 108, 0.25);
  font-weight: 700;
  text-align: center;
  color: #005046;
  text-decoration: none;
}
.commonBtn[href$=".pdf"]:before {
  content: none;
}
.commonBtn[href$=".pdf"]:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(../images/common/icon_pdf.svg) no-repeat center/cover !important;
  border-radius: 0;
  position: absolute;
  right: 20px;
  top: calc(50% - 10px);
  transition: none;
}
.commonBtn[href$=".pdf"]:hover:after {
  opacity: 1;
}

.backBtn {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #fff;
  box-shadow: 4px 0 20px 0 rgba(74, 112, 108, 0.25);
  font-weight: 700;
  text-align: center;
  color: #005046;
  text-decoration: none;
}

.imgLine2 li {
  text-align: center;
  padding: 0 !important;
}
.imgLine2 li:before {
  content: none !important;
}
.imgLine2 li img {
  max-width: 100%;
}
.imgLine3 li {
  text-align: center;
  padding: 0 !important;
}
.imgLine3 li:before {
  content: none !important;
}
.imgLine3 li img {
  max-width: 100%;
}

.cap {
  display: block;
  margin-top: 10px;
  color: #4d4d4f;
  text-align: center;
  font-weight: 700;
}

.colorBox .cont p {
  margin: 0;
}

.commonTable {
  width: 100%;
  border-collapse: collapse;
  border-spacing: inherit;
  text-align: left;
  border: 1px solid #dbdbd9;
}
.commonTable .notes {
  font-size: 13px;
}
.commonTable.is-style-stripes td:nth-of-type(odd) {
  background-color: #f3f3f3;
}
.commonTable th {
  font-weight: bold;
  border: none;
  border-bottom: 1px solid #dbdbd9;
  border-top: 1px solid #dbdbd9;
  border-left: 1px solid #dbdbd9;
}
.commonTable th:last-child {
  margin-bottom: 0;
  border-right: none;
}
.commonTable th.sub {
  background-color: #005046;
  color: #fff;
}
.commonTable td {
  border: none;
  border-bottom: 1px solid #dbdbd9;
  border-top: 1px solid #dbdbd9;
  border-left: 1px solid #dbdbd9;
  word-break: break-all;
  background-color: #fff;
}
.commonTable td:last-child {
  margin-bottom: 0;
  border-right: none;
}

.scrollTable {
  overflow: auto;
}
.scrollText {
  font-size: 12px;
  display: block;
  text-align: right;
  margin: 30px 0 -20px;
}

.iframeBox {
  position: relative;
  padding-bottom: 56.25%;
}
.iframeBox iframe, .iframeBox video {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border: 0;
}

.ofh {
  overflow: hidden;
}

dl.commonList > div {
  border-bottom: 1px solid #005046;
}
dl.commonList > div > dd {
  font-weight: 400;
}

/* common class */
.pointerNone {
  cursor: default;
  text-decoration: none;
}

.taC {
  text-align: center !important;
}

.taL {
  text-align: left !important;
}

.taR {
  text-align: right !important;
}

.Center {
  margin: 0 auto !important;
}

.ovh {
  overflow: hidden !important;
}

.mw100 {
  max-width: 100% !important;
  width: auto !important;
}

.w100p {
  width: 100% !important;
}

.pT0 {
  padding-top: 0 !important;
}

.mB0 {
  margin-bottom: 0 !important;
}

.mB5 {
  margin-bottom: 5px !important;
}

.mB10 {
  margin-bottom: 10px !important;
}

.mB20 {
  margin-bottom: 20px !important;
}

.mB30 {
  margin-bottom: 30px !important;
}

.mB40 {
  margin-bottom: 40px !important;
}

.mB50 {
  margin-bottom: 50px !important;
}

.mT0 {
  margin-top: 0 !important;
}

.mT5 {
  margin-top: 5px !important;
}

.mT10 {
  margin-top: 10px !important;
}

.mT20 {
  margin-top: 20px !important;
}

.mT30 {
  margin-top: 30px !important;
}

.mT40 {
  margin-top: 40px !important;
}

.mT50 {
  margin-top: 50px !important;
}

.mT60 {
  margin-top: 60px !important;
}

.mL0 {
  margin-left: 0px !important;
}

.mL5 {
  margin-left: 5px !important;
}

.mL10 {
  margin-left: 10px !important;
}

.mL20 {
  margin-left: 20px !important;
}

.mL30 {
  margin-left: 30px !important;
}

.mL40 {
  margin-left: 40px !important;
}

.mL50 {
  margin-left: 50px !important;
}

.mR0 {
  margin-right: 0px !important;
}

.mR5 {
  margin-right: 5px !important;
}

.mR10 {
  margin-right: 10px !important;
}

.mR20 {
  margin-right: 20px !important;
}

.mR30 {
  margin-right: 30px !important;
}

.mR40 {
  margin-right: 40px !important;
}

.mR50 {
  margin-right: 50px !important;
}

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

.underline {
  text-decoration: underline !important;
}

.bdb {
  border-bottom: 2px solid #004aa4;
}

.fontL {
  font-size: 1.2em;
}

.fontS {
  font-size: 0.8em;
}

.floatL {
  float: left;
}

.floatR {
  float: right;
}

.textred {
  color: #b01700;
}

.textblue {
  color: #005980;
}

.preBox {
  background: #eff0f4;
  border: 1px solid #005046;
  padding: 15px;
  box-sizing: border-box;
  clear: both;
  overflow: hidden;
  margin-top: 30px;
  font-family: Arial, sans-serif;
  line-height: 1.8;
}
.preBox pre {
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  -moz-text-align-last: auto;
       text-align-last: auto;
}

@media screen and (max-width: 1023px) {
  .breadcrumb {
    width: 100%;
    padding: 8px 20px;
  }
  .breadcrumb > span {
    font-size: 12px;
  }
  .breadcrumb > span + span {
    margin-left: 25px;
  }
  .breadcrumb > span:not(:last-of-type)::after {
    content: "";
    width: 8px;
    height: 1px;
    background-color: #222426;
    position: absolute;
    top: 50%;
    right: -17px;
  }
  .breadcrumb > span:last-of-type {
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .wp-pagenavi {
    margin-top: 60px;
    font-size: 14px;
  }
  .wp-pagenavi .page, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink, .wp-pagenavi .extend, .wp-pagenavi .last, .wp-pagenavi .first {
    width: 30px;
    height: 30px;
    margin: 0 5px;
  }
  .wp-pagenavi span.current {
    width: 30px;
    height: 30px;
    margin: 0 5px;
    font-size: 17px;
  }
  .wp-pagenavi .previouspostslink {
    width: 30px;
    height: 30px;
  }
  .wp-pagenavi .nextpostslink {
    width: 30px;
    height: 30px;
  }
  .pageTitleWrap {
    height: 140px;
    display: flex;
    align-items: center;
    padding: 0 20px;
  }
  .pageTitleWrap .pageTitle {
    font-size: 28px;
  }
  .pageTitleWrap .pageTitle.second {
    padding-bottom: 20px;
  }
  .pageTitleWrap .pageTitle.second:after {
    content: "";
    width: 50px;
    height: 3px;
    border-radius: 2px;
    background-color: #21a2a2;
    position: absolute;
    left: 0;
    bottom: 0px;
  }
  .pageTitleWrap .pageTitleEn {
    font-size: 16px;
    margin-top: 10px;
  }
  #contents {
    padding-bottom: 90px;
  }
  .anchorLink {
    display: flex;
    flex-wrap: wrap;
  }
  .anchorLink a {
    font-size: 13px;
    padding: 0px 5px 20px;
    display: block;
    width: 25%;
  }
  .anchorLink a:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    bottom: 9px;
    right: calc(50% - 3px);
  }
  .anchorLink a:nth-of-type(4) {
    border-right: 1px solid #cacacc;
  }
  .anchorLink a:nth-of-type(n + 5) {
    margin-top: 10px;
  }
  .anchorLink a:nth-of-type(7) {
    width: 50%;
  }
  .singleContents article {
    padding-top: 25px;
  }
  .singleContents .postH1 {
    font-size: 20px;
    margin-top: 20px;
    padding-bottom: 25px;
    border-bottom: 2px solid #e6e6e3;
  }
  .singleContents .ymdcat .ymd {
    font-size: 15px;
    margin-right: 10px;
  }
  .singleContents .ymdcat .cat {
    border-radius: 15px;
    text-align: center;
    padding: 6px 20px 5px;
    font-size: 12px;
    margin-right: 5px;
  }
  .excursionLink {
    margin-top: 50px;
    padding-top: 20px;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
  }
  .excursionLink .prevLink a {
    padding-left: 18px;
  }
  .excursionLink .prevLink a:before {
    content: "";
    display: inline-block;
    background: url(../images/common/link_arrow.webp) no-repeat center/cover;
    width: 10px;
    height: 10px;
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
    transform: scale(-1, 1);
  }
  .excursionLink .nextLink a {
    padding-right: 18px;
  }
  .excursionLink .nextLink a:before {
    content: "";
    display: inline-block;
    background: url(../images/common/link_arrow.webp) no-repeat center/cover;
    width: 10px;
    height: 10px;
    position: absolute;
    right: 0;
    top: calc(50% - 5px);
  }
  .excursionLink .allLink {
    padding-left: 20px;
  }
  .excursionLink .allLink:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_ichiran.webp) no-repeat center/cover;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
  }
  .catList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    border-radius: 50px;
    padding: 10px 10px;
    gap: 7px 0px;
  }
  .catList li a {
    padding: 6px 13px;
    border-radius: 12px;
    font-size: 12px;
  }
  .catList li a.now {
    color: #005046;
    background-color: #fff;
  }
  .yearList {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
  }
  .yearList li {
    padding: 0 15px;
    position: relative;
  }
  .yearList li + li:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: #cacacc;
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
  }
  .yearSelectWrap {
    margin-top: 20px;
  }
  .yearSelectWrap:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
  }
  .newsList {
    margin-top: 25px;
  }
  .newsList .newsItem {
    height: 100%;
    border-radius: 15px;
  }
  .newsList .newsItem a {
    display: block;
    height: 100%;
    background-color: #fff;
    padding: 25px 25px 25px;
    border-radius: 15px;
    position: relative;
    text-decoration: none;
  }
  .newsList .newsItem a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 15px;
    bottom: 15px;
  }
  .newsList .newsItem + .newsItem {
    margin-top: 20px;
  }
  .newsList .newsItem figure img {
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 14/9;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .newsList .newsItem .topicText {
    margin-top: 20px;
  }
  .newsList .newsItem .topicText .ymdcat .ymd {
    font-size: 14px;
    margin-right: 10px;
  }
  .newsList .newsItem .topicText .ymdcat .cat {
    border-radius: 15px;
    text-align: center;
    padding: 6px 20px 6px;
    font-size: 12px;
    margin-right: 5px;
  }
  .newsList .newsItem .topicText .topicTitle {
    margin-top: 10px;
    font-size: 15px;
  }
  .newsList .newsItem .topicText .excerpt {
    margin-top: 10px;
    font-size: 12px;
    padding-right: 30px;
  }
  .pageCatch {
    font-size: 18px;
    margin-top: 40px;
  }
  .rinenTitle {
    font-size: 18px;
    margin: 40px auto 0;
    padding: 15px 30px;
    max-width: 360px;
  }
  .rinenTitle:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 40px;
    border-top: 1px solid #005046;
    border-left: 1px solid #005046;
    position: absolute;
    top: 0;
    left: 0;
  }
  .rinenTitle:after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 40px;
    border-bottom: 1px solid #005046;
    border-right: 1px solid #005046;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .rinenTitle + p {
    margin-top: 20px;
    text-align: center;
    font-size: 15px;
    line-height: 1.9;
  }
  .rinenBox {
    margin: 30px auto 0;
    border-radius: 15px;
    padding: 30px 20px;
    font-size: 15px;
  }
  .pageLinkWrap {
    padding: 50px 0 60px;
    margin-top: 50px;
    margin-bottom: -90px;
  }
  .pageLinkWrap .pageLinkList {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  .pageLinkWrap .pageLinkList a {
    border-radius: 10px;
    width: calc(50% - 8px);
    padding: 20px 15px 30px;
    text-decoration: none;
    position: relative;
  }
  .pageLinkWrap .pageLinkList a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 15px;
    bottom: 15px;
  }
  .pageLinkWrap .pageLinkList a .title {
    font-size: 16px;
  }
  .pageLinkWrap .pageLinkList a .text {
    font-size: 13px;
    margin-top: 10px;
  }
  .pageContactWrap {
    padding: 50px 0 60px;
    margin-top: 50px;
    margin-bottom: -90px;
  }
  .pageContactWrap .title {
    font-size: 18px;
  }
  .pageContactWrap .pageContact {
    display: flex;
    flex-direction: column;
    margin-top: 25px;
    gap: 20px;
  }
  .pageContactWrap .pageContact a {
    width: 100%;
    border-radius: 35px;
    font-size: 15px;
    padding: 17px 35px;
    margin: 0 auto;
    max-width: 295px;
  }
  .pageContactWrap .pageContact a.siryou span {
    position: relative;
    padding-left: 30px;
  }
  .pageContactWrap .pageContact a.siryou span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_siryou.webp) no-repeat center/cover;
    width: 16px;
    height: 20px;
    position: absolute;
    left: 0;
    top: calc(50% - 10px);
  }
  .pageContactWrap .pageContact a.contact span {
    position: relative;
    padding-left: 30px;
  }
  .pageContactWrap .pageContact a.contact span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_contact.webp) no-repeat center/cover;
    width: 19px;
    height: 14px;
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
  }
  .serviceList {
    margin-top: 30px;
  }
  .serviceList .serviceItem a {
    padding: 20px;
    display: block;
  }
  .serviceList .serviceItem a[target=_blank] .serviceTextWrap .more:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_blank.webp) no-repeat center/cover;
    width: 15px;
    height: 13px;
    position: absolute;
    top: calc(50% - 7px);
    right: 5px;
  }
  .serviceList .serviceItem a figure img {
    border-radius: 10px;
  }
  .serviceList .serviceItem a .serviceTextWrap {
    padding: 20px 0 25px;
  }
  .serviceList .serviceItem a .serviceTextWrap .serviceTitle {
    font-size: 18px;
  }
  .serviceList .serviceItem a .serviceTextWrap .serviceText {
    margin-top: 10px;
  }
  .serviceList .serviceItem a .serviceTextWrap .more {
    font-size: 13px;
    padding-right: 28px;
    right: 0;
    bottom: 15px;
  }
  .serviceList .serviceItem a .serviceTextWrap .more:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 20px;
    height: 20px;
    position: absolute;
    top: calc(50% - 10px);
    right: 0;
  }
  .textBtnWrap {
    margin-top: 20px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .textBtnWrap .btnWrap {
    text-align: center;
  }
  .projectFlow {
    margin-top: 15px;
  }
  .projectFlow li {
    padding: 15px 20px 15px 80px;
    position: relative;
  }
  .projectFlow li figure {
    width: 50px;
    height: 50px;
    position: absolute;
    top: 15px;
    left: 10px;
  }
  .projectFlow li figure img {
    max-width: 30px;
  }
  .projectFlow li .title {
    font-size: 16px;
  }
  .projectFlow li .text {
    margin-top: 10px;
  }
  .imgLine4 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
  }
  .imgLine4 li {
    width: calc(50% - 6px);
  }
  .imgLine4 li img {
    max-width: 100%;
  }
  .colorBox2 {
    padding: 20px 20px;
    border: 2px solid #f2f2f0;
    margin-top: 30px;
  }
  .colorBox2 .title {
    font-weight: bold;
    font-size: 16px;
    color: #005046;
    border-bottom: 1px solid #ccccca;
    padding-bottom: 5px;
  }
  .colorBox2 * + .title {
    margin-top: 10px;
  }
  .colorBox2 .cont {
    margin-top: 15px;
  }
  .colorBox2 .cont * + p {
    margin: 10px 0 0;
  }
  .colorBox2 .strong {
    color: #005046;
    font-weight: 500;
    font-size: 15px;
  }
  .colorBox2 dl {
    margin-top: 20px;
  }
  .colorBox2 dl dt {
    color: #4f5459;
    font-size: 13px;
    text-align: center;
    border: 1px solid #ccccca;
    background-color: #f5f5f2;
    border-radius: 16px;
    line-height: 1;
    width: 90px;
    flex: none;
    padding: 6px;
  }
  .colorBox2 dl dd {
    margin-top: 10px;
  }
  .colorBox2 dl dd ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
  }
  .colorBox2 dl dd ul li {
    position: relative;
    padding-left: 18px;
  }
  .colorBox2 dl dd ul li:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ccccca;
    position: absolute;
    left: 3px;
    top: calc(50% - 3px);
  }
  .caseSearchWrap {
    margin-top: 30px;
    border-radius: 10px;
    padding: 25px 20px 30px;
  }
  .caseSearchWrap .caseSearchTitle {
    font-size: 18px;
  }
  .caseSearchWrap .caseSearch {
    margin-top: 20px;
  }
  .caseSearchWrap .caseSearch > div {
    flex: 1;
    max-width: 285px;
    margin: 0 auto;
  }
  .caseSearchWrap .caseSearch > div:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 4px);
    right: 20px;
  }
  .caseSearchWrap .caseSearch > div + div {
    margin-top: 15px;
  }
  .caseSearchWrap .caseSearch select {
    border-radius: 28px;
    padding: 10px 40px 10px 30px;
  }
  .caseResult {
    margin-top: 30px;
  }
  .caseResult .caseResultList li {
    border-radius: 10px;
    overflow: hidden;
    padding-bottom: 20px;
  }
  .caseResult .caseResultList li + li {
    margin-top: 15px;
  }
  .caseResult .caseResultList li .caseResultTitle span {
    font-size: 13px;
    border-radius: 0 0 10px 0;
    padding: 10px 10px;
  }
  .caseResult .caseResultList li p {
    padding: 15px 20px 0;
    font-size: 15px;
  }
  .caseResult .caseResultList li .areaCat {
    padding: 0 20px;
    margin-top: 10px;
    font-size: 13px;
    display: flex;
    gap: 3px;
  }
  .caseResult .caseResultList li .areaCat .cat {
    padding: 7px 10px 7px 30px;
  }
  .caseResult .caseResultList li .areaCat .cat:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_human.webp) no-repeat center/cover;
    width: 12px;
    height: auto;
    aspect-ratio: 15/16;
    position: absolute;
    left: 9px;
    top: calc(50% - 6px);
  }
  .caseResult .caseResultList li .areaCat .area {
    padding: 7px 10px 7px 28px;
  }
  .caseResult .caseResultList li .areaCat .area:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_pin.webp) no-repeat center/cover;
    width: 10px;
    height: auto;
    aspect-ratio: 10/15;
    position: absolute;
    left: 10px;
    top: calc(50% - 7px);
  }
  .caseResult .caseResultMore {
    margin-top: 40px;
    text-align: center;
  }
  .caseResult .caseResultMore span {
    font-size: 15px;
    padding-left: 30px;
  }
  .caseResult .caseResultMore span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/plus.webp) no-repeat center/cover;
    width: 20px;
    height: 20px;
    position: absolute;
    left: 0;
    top: calc(50% - 10px);
  }
  .secondLinkList {
    margin-top: 50px;
  }
  .secondLinkList > a {
    gap: 20px;
    width: 100%;
    padding: 15px 60px 15px 15px;
    font-size: 18px;
  }
  .secondLinkList > a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 26px;
    height: 26px;
    position: absolute;
    right: 20px;
    top: calc(50% - 13px);
  }
  .secondLinkList > a + a {
    margin-top: 15px;
  }
  .secondLinkList > a figure {
    width: 60px;
    flex: none;
  }
  .historyWrap {
    margin-top: 30px;
  }
  .historyWrap .historyHead {
    padding: 10px 15px;
    display: flex;
    gap: 20px;
  }
  .historyWrap .historyHead > div .ayumi {
    font-size: 14px;
    padding-left: 15px;
  }
  .historyWrap .historyHead > div .ayumi:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #0a7167;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
  }
  .historyWrap .historyHead > div .sisaku {
    font-size: 13px;
    padding-left: 13px;
  }
  .historyWrap .historyHead > div .sisaku:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 1px solid #4f5459;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 4px);
    background-color: #fff;
  }
  .historyWrap .historyList {
    margin-top: 10px;
    border-left: 1px solid #d9d9d7;
    padding-bottom: 20px;
  }
  .historyWrap .historyList > div + div {
    margin-top: 5px;
  }
  .historyWrap .historyList > div.sisaku {
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
  }
  .historyWrap .historyList > div.sisaku:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border: 1px solid #4f5459;
    border-radius: 50%;
    position: absolute;
    left: -5px;
    top: calc(50% - 4px);
    background-color: #fff;
  }
  .historyWrap .historyList > div.ayumi {
    padding: 10px 15px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
  }
  .historyWrap .historyList > div.ayumi:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #0a7167;
    border-radius: 50%;
    position: absolute;
    left: -6px;
    top: calc(50% - 5px);
  }
  .historyWrap .historyList > div.ayumi dt {
    font-weight: 700;
    font-size: 15px;
  }
  .recruitLinks {
    margin-top: 65px;
    margin-bottom: 70px;
  }
  .recruitLinks a {
    width: 100%;
    height: 110px;
    border-radius: 10px;
    border: 5px solid #fff;
    font-size: 18px;
    padding: 20px 20px;
    justify-content: center;
  }
  .recruitLinks a + a {
    margin-top: 20px;
  }
  .singleContents .has-inline-color.has-luminous-vivid-orange-color {
    color: #005046 !important;
  }
  .singleContents .inner > *:first-child {
    margin-top: 0;
  }
  .singleContents p {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .singleContents h3 + p, .singleContents h4 + p {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  .singleContents * + h2 {
    margin-top: 60px;
  }
  .singleContents * + h3 {
    margin-top: 40px;
  }
  .singleContents * + h4 {
    margin-top: 30px;
  }
  .singleContents h2 {
    font-size: 21px;
    border-radius: 10px;
    padding: 16px 16px 16px 30px;
  }
  .singleContents h2:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 25px;
    height: 3px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 15px;
  }
  .singleContents h3 {
    font-size: 19px;
    padding-bottom: 15px;
  }
  .singleContents h3:before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 2px;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .singleContents h4 {
    font-size: 16px;
    padding-left: 20px;
  }
  .singleContents h4:before {
    content: "";
    display: inline-block;
    background-color: #005046;
    width: 6px;
    height: calc(100% - 6px);
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: calc(50% - 8px);
  }
  .singleContents ul li {
    padding-left: 20px;
    position: relative;
  }
  .singleContents ul li:not(:first-of-type) {
    margin-top: 10px;
  }
  .singleContents ul li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #ccccca;
    position: absolute;
    margin: auto;
    top: 9px;
    left: 3px;
    border-radius: 50%;
  }
  .singleContents ol li {
    padding-left: 15px;
    counter-increment: mycounter;
  }
  .singleContents ol li:before {
    content: counter(mycounter) ".";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #ccccca;
    font-weight: bold;
  }
  .singleContents ol li:not(:first-of-type) {
    margin-top: 10px;
  }
  .singleContents * + ul, .singleContents * + ol {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .singleContents p + .wp-block-gallery {
    margin-top: 10px;
  }
  .singleContents .wp-block-button {
    margin-bottom: 30px;
  }
  .singleContents .wp-block-button a, .singleContents .wp-block-button .wp-block-button__link {
    width: 100%;
    border-radius: 25px;
    font-size: 15px;
    padding: 13px 35px;
    margin: 0 auto;
    max-width: 295px;
  }
  .singleContents .wp-block-button a:after, .singleContents .wp-block-button .wp-block-button__link:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    right: 20px;
    top: calc(50% - 3px);
    background-image: none !important;
  }
  .singleContents .wp-block-buttons {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .singleContents .wp-block-table table {
    margin-bottom: 30px;
    margin-top: 30px;
  }
  .singleContents .wp-block-table table tr th {
    padding: 10px 10px;
  }
  .singleContents .wp-block-table table tr td {
    padding: 10px 10px;
  }
  .singleContents .wp-block-image {
    margin-bottom: 30px;
    margin-top: 30px;
  }
  .singleContents .wp-block-media-text .wp-block-media-text__content {
    margin-top: 10px;
    padding-left: 0;
    padding-right: 0;
  }
  .singleContents .wp-block-media-text {
    margin-bottom: 30px;
    margin-top: 30px;
  }
  .singleContents .wp-block-group, .singleContents .wp-block-columns {
    margin-bottom: 30px;
    margin-top: 30px;
  }
  .singleContents .wp-block-gallery + .wp-block-gallery {
    margin-bottom: 30px;
    margin-top: 30px;
  }
  .singleContents .colorBox {
    padding: 20px 20px;
    border: 2px solid #f2f2f0;
    border-radius: 10px;
  }
  .singleContents .colorBox .title {
    font-weight: bold;
    font-size: 16px;
    position: relative;
    padding-left: 18px;
  }
  .singleContents .colorBox .title:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    top: 12px;
  }
  .singleContents .colorBox * + .title {
    margin-top: 10px;
  }
  .singleContents .colorBox .cont {
    margin-top: 10px;
  }
  .singleContents .colorBox .cont * + p {
    margin: 10px 0 0;
  }
  * + p {
    margin-top: 30px;
  }
  * + p.wide {
    margin-top: 40px;
  }
  h2, h3, h4 {
    line-height: 1.5;
  }
  h3 + p, h4 + p {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  h3 + .commonList {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  * + h2.title, * + .h2 {
    margin-top: 60px;
  }
  * + h3.title {
    margin-top: 40px;
  }
  * + h4.title {
    margin-top: 30px;
  }
  h2.title {
    font-size: 21px;
    border-radius: 10px;
    padding: 16px 16px 16px 30px;
  }
  h2.title:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 25px;
    height: 3px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 15px;
  }
  h3.title {
    font-size: 19px;
    padding-bottom: 15px;
  }
  h3.title:before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 2px;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  h4.title {
    font-size: 16px;
    padding-left: 20px;
  }
  h4.title:before {
    content: "";
    display: inline-block;
    background-color: #005046;
    width: 6px;
    height: calc(100% - 6px);
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: calc(50% - 8px);
  }
  .h2 {
    font-size: 21px;
    border-radius: 10px;
    padding: 16px 16px 16px 30px;
  }
  .h2:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 25px;
    height: 3px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 15px;
  }
  ul.commonList li {
    padding-left: 20px;
    position: relative;
  }
  ul.commonList li:not(:first-of-type) {
    margin-top: 10px;
  }
  ul.commonList li:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #ccccca;
    position: absolute;
    margin: auto;
    top: 9px;
    left: 3px;
    border-radius: 50%;
  }
  ol li {
    padding-left: 15px;
    counter-increment: mycounter;
  }
  ol li:before {
    content: counter(mycounter) ".";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #ccccca;
    font-weight: bold;
  }
  ol li:not(:first-of-type) {
    margin-top: 10px;
  }
  section + section {
    margin-top: 70px;
  }
  * + .commonList, * + .linkList, * + .colorBox, * + .commonTable, * + .wp-block-lazyblock-color-box, * + .wp-block-lazyblock-list {
    margin-top: 30px;
  }
  * + ol {
    margin-top: 30px;
  }
  * + .imgLine2, * + .imgLine3, * + .twoCol {
    margin-top: 30px;
  }
  .subLink {
    font-size: 15px;
    padding-right: 30px;
  }
  .subLink:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 24px;
    height: 24px;
    position: absolute;
    right: 0;
    top: calc(50% - 12px);
  }
  .commonBtn {
    width: 100%;
    border-radius: 25px;
    font-size: 15px;
    padding: 13px 35px;
    margin: 0 auto;
    max-width: 295px;
  }
  .commonBtn:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    right: 20px;
    top: calc(50% - 3px);
    background-image: none !important;
  }
  .backBtn {
    width: 100%;
    border-radius: 25px;
    font-size: 15px;
    padding: 13px 35px;
    margin: 0 auto;
    max-width: 295px;
  }
  .backBtn:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    left: 22px;
    top: calc(50% - 3px);
  }
  p .commonBtn + .commonBtn {
    margin-top: 20px;
  }
  .imgLine2.spflex {
    display: flex;
  }
  .imgLine2.spflex li {
    margin: 0;
    width: calc(50% - 8px);
  }
  .imgLine2.spflex li:nth-of-type(odd) {
    margin-right: 16px;
  }
  .imgLine2 li {
    margin-top: 10px !important;
  }
  .imgLine2 li img {
    max-width: 100%;
  }
  .imgLine3 li {
    margin-top: 10px !important;
  }
  .imgLine3 li img {
    max-width: 100%;
  }
  .cap {
    font-size: 12px;
  }
  .imgInP .img {
    display: block;
    margin: 0 auto;
    padding-bottom: 20px;
  }
  .imgInP.sp_img_btm {
    display: flex;
    flex-wrap: wrap;
  }
  .imgInP.sp_img_btm .img {
    display: block;
    order: 2;
    margin: 20px auto 0;
    padding-bottom: 0;
  }
  .imgInP.sp_img_btm .text {
    flex-basis: 100%;
    order: 1;
  }
  .twoCol .txt *:nth-child(1) {
    margin-top: 0;
  }
  .twoCol .txt + .img {
    margin-top: 30px;
  }
  .twoCol .txt + .txt {
    margin-top: 30px;
  }
  .twoCol .img {
    width: 100%;
    text-align: center;
  }
  .twoCol .img + .img {
    margin-top: 30px;
  }
  .twoCol .img + .txt {
    margin-top: 30px;
  }
  .twoCol .img img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .colorBox {
    padding: 20px 20px;
    border: 2px solid #f2f2f0;
    border-radius: 10px;
  }
  .colorBox .title {
    font-weight: bold;
    font-size: 16px;
    position: relative;
    padding-left: 18px;
  }
  .colorBox .title:before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    top: 12px;
  }
  .colorBox * + .title {
    margin-top: 10px;
  }
  .colorBox .cont {
    margin-top: 10px;
  }
  .colorBox .cont * + p {
    margin: 10px 0 0;
  }
  .commonTable td.wFix,
  .commonTable th.wFix {
    width: 120px;
  }
  .commonTable th {
    padding: 10px 10px;
  }
  .commonTable td {
    padding: 10px 10px;
  }
  .scrollTable {
    margin-top: 30px;
  }
  .scrollTable table {
    white-space: nowrap;
  }
  .scrollText {
    font-size: 12px;
    display: block;
    text-align: right;
    margin: 30px 0 -20px;
  }
  .iframeBox {
    position: relative;
    padding-bottom: 56.25%;
  }
  .iframeBox iframe, .iframeBox video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 0;
  }
  .iframeBox {
    margin-top: 30px;
  }
  * + dl.commonList {
    margin-top: 30px;
  }
  dl.commonList > div {
    padding: 15px 0;
  }
  dl.commonList > div > dd {
    margin-top: 5px;
  }
  /* common class */
  .pointerNone {
    cursor: default;
    text-decoration: none;
  }
  .mB0 {
    margin-bottom: 0 !important;
  }
  .mB5_sp {
    margin-bottom: 5px !important;
  }
  .mB10_sp {
    margin-bottom: 10px !important;
  }
  .mB20_sp {
    margin-bottom: 20px !important;
  }
  .mB30_sp {
    margin-bottom: 30px !important;
  }
  .mB40_sp {
    margin-bottom: 40px !important;
  }
  .mB50_sp {
    margin-bottom: 50px !important;
  }
  .mT0 {
    margin-top: 0 !important;
  }
  .mT5_sp {
    margin-top: 5px !important;
  }
  .mT10_sp {
    margin-top: 10px !important;
  }
  .mT20_sp {
    margin-top: 20px !important;
  }
  .mT30_sp {
    margin-top: 30px !important;
  }
  .mT40_sp {
    margin-top: 40px !important;
  }
  .mT50_sp {
    margin-top: 50px !important;
  }
  .mL0_sp {
    margin-left: 0px !important;
  }
  .mL5_sp {
    margin-left: 5px !important;
  }
  .mL10_sp {
    margin-left: 10px !important;
  }
  .mL20_sp {
    margin-left: 20px !important;
  }
  .mL30_sp {
    margin-left: 30px !important;
  }
  .mL40_sp {
    margin-left: 40px !important;
  }
  .mL50_sp {
    margin-left: 50px !important;
  }
  .mR0_sp {
    margin-right: 0px !important;
  }
  .mR5_sp {
    margin-right: 5px !important;
  }
  .mR10_sp {
    margin-right: 10px !important;
  }
  .mR20_sp {
    margin-right: 20px !important;
  }
  .mR30_sp {
    margin-right: 30px !important;
  }
  .mR40_sp {
    margin-right: 40px !important;
  }
  .mR50_sp {
    margin-right: 50px !important;
  }
  .size12_sp {
    font-size: 12px !important;
  }
  .size14_sp {
    font-size: 14px !important;
  }
  .size16_sp {
    font-size: 16px !important;
  }
  .size18_sp {
    font-size: 18px !important;
  }
  .size20_sp {
    font-size: 20px !important;
  }
  .w50p_sp {
    width: 50% !important;
  }
  .taL_sp {
    text-align: left !important;
  }
  .taC_sp {
    text-align: center !important;
  }
}
@media print, screen and (min-width: 1024px) {
  .breadcrumb {
    width: 100%;
    padding: 16px 40px;
  }
  .breadcrumb a:hover {
    text-decoration: none;
  }
  .breadcrumb > span {
    font-size: 14px;
  }
  .breadcrumb > span + span {
    margin-left: 40px;
  }
  .breadcrumb > span:not(:last-of-type)::after {
    content: "";
    width: 12px;
    height: 1px;
    background-color: #222426;
    position: absolute;
    top: 50%;
    right: -25px;
  }
  .breadcrumb > span:last-of-type {
    text-overflow: ellipsis;
    overflow: hidden;
  }
  .wp-pagenavi {
    margin-top: 80px;
    font-size: 15px;
  }
  .wp-pagenavi .page, .wp-pagenavi .nextpostslink, .wp-pagenavi .previouspostslink, .wp-pagenavi .extend, .wp-pagenavi .last, .wp-pagenavi .first {
    width: 30px;
    height: 30px;
    margin: 0 5px;
    transition: 0.5s;
  }
  .wp-pagenavi .page:hover, .wp-pagenavi .nextpostslink:hover, .wp-pagenavi .previouspostslink:hover, .wp-pagenavi .extend:hover, .wp-pagenavi .last:hover, .wp-pagenavi .first:hover {
    color: #005046;
    font-weight: 700;
  }
  .wp-pagenavi span.current {
    width: 30px;
    height: 30px;
    margin: 0 5px;
    font-size: 17px;
  }
  .wp-pagenavi .previouspostslink {
    width: 30px;
    height: 30px;
  }
  .wp-pagenavi .previouspostslink:hover {
    opacity: 0.5;
  }
  .wp-pagenavi .nextpostslink {
    width: 30px;
    height: 30px;
  }
  .wp-pagenavi .nextpostslink:hover {
    opacity: 0.5;
  }
  .pageTitleWrap {
    height: 214px;
    display: flex;
    align-items: center;
  }
  .pageTitleWrap .pageTitleInner {
    max-width: 1280px;
    width: 90%;
    margin: 0 auto;
  }
  .pageTitleWrap .pageTitle {
    font-size: 46px;
  }
  .pageTitleWrap .pageTitle.second {
    padding-bottom: 35px;
  }
  .pageTitleWrap .pageTitle.second:after {
    content: "";
    width: 68px;
    height: 5px;
    border-radius: 2px;
    background-color: #21a2a2;
    position: absolute;
    left: 0;
    bottom: 0px;
  }
  .pageTitleWrap .pageTitleEn {
    font-size: 21px;
    margin-top: 25px;
  }
  #contents {
    padding-bottom: 180px;
  }
  main a:hover {
    text-decoration: none;
    color: #005046;
  }
  .anchorLink {
    display: table;
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
  }
  .anchorLink a {
    font-size: 19px;
    padding: 10px 10px 30px;
    display: table-cell;
  }
  .anchorLink a:after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    bottom: 18px;
    right: calc(50% - 4px);
    transition: 0.3s;
  }
  .anchorLink a:hover:after {
    bottom: 13px;
  }
  .singleContents article {
    padding-top: 40px;
  }
  .singleContents .postH1 {
    font-size: 32px;
    margin-top: 30px;
    padding-bottom: 35px;
    border-bottom: 2px solid #e6e6e3;
  }
  .singleContents .ymdcat .ymd {
    font-size: 19px;
    margin-right: 15px;
  }
  .singleContents .ymdcat .cat {
    border-radius: 18px;
    text-align: center;
    padding: 9px 30px 5px;
    font-size: 15px;
    margin-right: 5px;
  }
  .excursionLink {
    margin-top: 100px;
    padding-top: 30px;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
  }
  .excursionLink .prevLink a {
    padding-left: 25px;
  }
  .excursionLink .prevLink a:before {
    content: "";
    display: inline-block;
    background: url(../images/common/link_arrow.webp) no-repeat center/cover;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0;
    top: calc(50% - 6px);
    transform: scale(-1, 1);
    transition: 0.3s;
  }
  .excursionLink .prevLink a:hover:before {
    left: -5px;
  }
  .excursionLink .nextLink a {
    padding-right: 25px;
  }
  .excursionLink .nextLink a:before {
    content: "";
    display: inline-block;
    background: url(../images/common/link_arrow.webp) no-repeat center/cover;
    width: 12px;
    height: 12px;
    position: absolute;
    right: 0;
    top: calc(50% - 6px);
    transition: 0.3s;
  }
  .excursionLink .nextLink a:hover:before {
    right: -5px;
  }
  .excursionLink .allLink {
    padding-left: 25px;
    transition: 0.5s;
  }
  .excursionLink .allLink:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_ichiran.webp) no-repeat center/cover;
    width: 15px;
    height: 15px;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
  }
  .excursionLink .allLink:hover {
    opacity: 0.5;
  }
  .catList {
    display: flex;
    justify-content: center;
    border-radius: 31px;
    padding: 10px 20px;
  }
  .catList li a {
    padding: 12px 25px;
    border-radius: 21px;
    transition: 0.5s;
  }
  .catList li a.now {
    color: #005046;
    background-color: #fff;
  }
  .yearList {
    margin-top: 25px;
    display: flex;
    justify-content: flex-end;
  }
  .yearList li {
    padding: 0 20px;
    position: relative;
  }
  .yearList li + li:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: #cacacc;
    position: absolute;
    left: 0;
    top: calc(50% - 5px);
  }
  .yearList li a {
    transition: 0.5s;
  }
  .yearSelectWrap {
    margin-top: 25px;
  }
  .yearSelectWrap:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
  }
  .newsList {
    margin-top: 35px;
  }
  .newsList .newsItem {
    border-radius: 30px;
  }
  .newsList .newsItem a {
    display: flex;
    height: 100%;
    background-color: #fff;
    padding: 40px 70px 40px 40px;
    border-radius: 30px;
    transition: 0.5s;
    gap: 40px;
    text-decoration: none;
    position: relative;
  }
  .newsList .newsItem a:hover {
    background-color: #e3fcf9;
  }
  .newsList .newsItem a:hover .topicTitle {
    color: #005046;
  }
  .newsList .newsItem a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 25px;
    bottom: 25px;
  }
  .newsList .newsItem + .newsItem {
    margin-top: 20px;
  }
  .newsList .newsItem figure {
    width: 280px;
    flex: none;
  }
  .newsList .newsItem figure img {
    width: 100%;
    border-radius: 10px;
    aspect-ratio: 14/9;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .newsList .newsItem .topicText .ymdcat .ymd {
    font-size: 16px;
    margin-right: 15px;
  }
  .newsList .newsItem .topicText .ymdcat .cat {
    border-radius: 18px;
    text-align: center;
    padding: 7px 30px 7px;
    font-size: 14px;
    margin-right: 5px;
  }
  .newsList .newsItem .topicText .topicTitle {
    margin-top: 20px;
    font-size: 24px;
    transition: 0.5s;
  }
  .newsList .newsItem .topicText .excerpt {
    margin-top: 15px;
    font-size: 16px;
  }
  .pageCatch {
    font-size: 28px;
    margin-top: 70px;
  }
  .rinenTitle {
    font-size: 28px;
    margin: 60px auto 0;
    padding: 15px 60px;
    max-width: 520px;
  }
  .rinenTitle:before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 56px;
    border-top: 1px solid #005046;
    border-left: 1px solid #005046;
    position: absolute;
    top: 0;
    left: 0;
  }
  .rinenTitle:after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 56px;
    border-bottom: 1px solid #005046;
    border-right: 1px solid #005046;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .rinenTitle + p {
    margin-top: 50px;
    text-align: center;
    font-size: 19px;
    line-height: 1.9;
  }
  .rinenBox {
    margin: 40px auto 0;
    text-align: center;
    border-radius: 15px;
    padding: 50px;
    font-size: 19px;
    max-width: 960px;
  }
  .pageLinkWrap {
    padding: 80px 0 120px;
    margin-top: 100px;
    margin-bottom: -180px;
  }
  .pageLinkWrap .pageLinkList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  .pageLinkWrap .pageLinkList a {
    border-radius: 20px;
    width: calc(33.3333333333% - 20px);
    padding: 40px 40px 50px 40px;
    transition: 0.5s;
    text-decoration: none;
    position: relative;
  }
  .pageLinkWrap .pageLinkList a:hover {
    background-color: #e3fcf9;
  }
  .pageLinkWrap .pageLinkList a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 19px;
    bottom: 19px;
  }
  .pageLinkWrap .pageLinkList a .title {
    font-size: 26px;
  }
  .pageLinkWrap .pageLinkList a .text {
    font-size: 16px;
    margin-top: 10px;
  }
  .pageContactWrap {
    padding: 80px 0 100px;
    margin-top: 80px;
    margin-bottom: -180px;
  }
  .pageContactWrap .title {
    font-size: 26px;
  }
  .pageContactWrap .pageContact {
    display: flex;
    justify-content: center;
    -moz-column-gap: 40px;
         column-gap: 40px;
    margin: 45px auto 0;
    max-width: 920px;
  }
  .pageContactWrap .pageContact a {
    flex: 1;
    border-radius: 45px;
    font-size: 20px;
    padding: 28px 40px;
    transition: 0.3s;
  }
  .pageContactWrap .pageContact a:hover {
    background-color: #e3fcf9;
  }
  .pageContactWrap .pageContact a.siryou span {
    position: relative;
    padding-left: 50px;
  }
  .pageContactWrap .pageContact a.siryou span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_siryou.webp) no-repeat center/cover;
    width: 32px;
    height: 40px;
    position: absolute;
    left: 0;
    top: calc(50% - 20px);
  }
  .pageContactWrap .pageContact a.contact span {
    position: relative;
    padding-left: 55px;
  }
  .pageContactWrap .pageContact a.contact span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_contact.webp) no-repeat center/cover;
    width: 38px;
    height: 28px;
    position: absolute;
    left: 0;
    top: calc(50% - 14px);
  }
  .serviceList {
    margin-top: 60px;
  }
  .serviceList .serviceItem a {
    display: flex;
    align-items: center;
    gap: 45px;
    padding: 30px 15px;
    transition: 0.5s;
  }
  .serviceList .serviceItem a:hover {
    background-color: #e3fcf9;
  }
  .serviceList .serviceItem a:hover .more {
    color: #005046;
  }
  .serviceList .serviceItem a[target=_blank] .serviceTextWrap .more:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_blank.webp) no-repeat center/cover;
    width: 18px;
    height: 15px;
    position: absolute;
    top: calc(50% - 7px);
    right: 15px;
  }
  .serviceList .serviceItem a figure {
    width: 380px;
    flex: none;
    overflow: hidden;
    border-radius: 10px;
  }
  .serviceList .serviceItem a figure img {
    transition: 0.5s;
  }
  .serviceList .serviceItem a .serviceTextWrap {
    padding: 30px 0;
  }
  .serviceList .serviceItem a .serviceTextWrap .serviceTitle {
    font-size: 28px;
  }
  .serviceList .serviceItem a .serviceTextWrap .serviceText {
    margin-top: 15px;
  }
  .serviceList .serviceItem a .serviceTextWrap .more {
    font-size: 18px;
    padding-right: 53px;
    right: 0;
    bottom: 20px;
    transition: 0.5s;
  }
  .serviceList .serviceItem a .serviceTextWrap .more:before {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    top: calc(50% - 15px);
    right: 15px;
  }
  .textBtnWrap {
    margin-top: 30px;
    padding: 40px;
    display: flex;
    justify-content: space-between;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .textBtnWrap .btnWrap {
    width: 244px;
    flex: none;
  }
  .projectFlow {
    margin-top: 15px;
  }
  .projectFlow li {
    padding: 18px 30px;
    display: flex;
    align-items: center;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .projectFlow li figure {
    width: 74px;
    height: 74px;
    flex: none;
  }
  .projectFlow li .title {
    width: 180px;
    flex: none;
    font-size: 22px;
  }
  .twoCol.type2 {
    align-items: center;
  }
  .twoCol.type2 .txt {
    font-size: 19px;
  }
  .imgLine4 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 60px;
  }
  .imgLine4 li {
    width: calc(25% - 9px);
  }
  .imgLine4 li + li {
    margin-top: 0 !important;
  }
  .imgLine4 li img {
    max-width: 100%;
  }
  .colorBox2 {
    padding: 25px 40px;
    border: 4px solid #f2f2f0;
    margin-top: 30px;
  }
  .colorBox2 .title {
    font-weight: bold;
    font-size: 19px;
    color: #005046;
    border-bottom: 1px solid #ccccca;
    padding-bottom: 5px;
  }
  .colorBox2 * + .title {
    margin-top: 10px;
  }
  .colorBox2 .cont {
    margin-top: 20px;
  }
  .colorBox2 .cont * + p {
    margin: 10px 0 0;
  }
  .colorBox2 .strong {
    color: #005046;
    font-weight: 500;
    font-size: 19px;
  }
  .colorBox2 dl {
    display: flex;
    align-items: flex-start;
    -moz-column-gap: 20px;
         column-gap: 20px;
    margin-top: 30px;
  }
  .colorBox2 dl dt {
    color: #4f5459;
    font-size: 16px;
    text-align: center;
    border: 1px solid #ccccca;
    background-color: #f5f5f2;
    border-radius: 16px;
    line-height: 1;
    width: 100px;
    flex: none;
    padding: 6px;
  }
  .colorBox2 dl dd ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 1.5vw;
  }
  .colorBox2 dl dd ul li {
    position: relative;
    padding-left: 20px;
  }
  .colorBox2 dl dd ul li:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #ccccca;
    position: absolute;
    left: 0;
    top: calc(50% - 4px);
  }
  .caseSearchWrap {
    margin-top: 50px;
    border-radius: 15px;
    padding: 35px 50px 50px;
  }
  .caseSearchWrap .caseSearchTitle {
    font-size: 22px;
  }
  .caseSearchWrap .caseSearch {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    gap: 40px;
  }
  .caseSearchWrap .caseSearch > div {
    flex: 1;
    max-width: 285px;
  }
  .caseSearchWrap .caseSearch > div:after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-bottom: solid 2px #005046;
    border-right: solid 2px #005046;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: 25px;
  }
  .caseSearchWrap .caseSearch select {
    border-radius: 28px;
    padding: 14px 50px 14px 40px;
  }
  .caseResult {
    margin-top: 60px;
  }
  .caseResult .caseResultList {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  .caseResult .caseResultList li {
    width: calc(33.3333333333% - 20px);
    border-radius: 10px;
    overflow: hidden;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .caseResult .caseResultList li .caseBody {
    margin-bottom: auto;
  }
  .caseResult .caseResultList li .caseResultTitle span {
    font-size: 16px;
    border-radius: 0 0 10px 0;
    padding: 10px 10px;
  }
  .caseResult .caseResultList li p {
    padding: 15px 30px 0;
  }
  .caseResult .caseResultList li .areaCat {
    padding: 0 30px;
    margin-top: 10px;
    font-size: 15px;
    display: flex;
    gap: 3px;
  }
  .caseResult .caseResultList li .areaCat .cat {
    padding: 7px 10px 7px 30px;
  }
  .caseResult .caseResultList li .areaCat .cat:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_human.webp) no-repeat center/cover;
    width: 15px;
    height: 16px;
    position: absolute;
    left: 8px;
    top: calc(50% - 7px);
  }
  .caseResult .caseResultList li .areaCat .area {
    padding: 7px 10px 7px 28px;
  }
  .caseResult .caseResultList li .areaCat .area:before {
    content: "";
    display: inline-block;
    background: url(../images/second/icon_pin.webp) no-repeat center/cover;
    width: 10px;
    height: 15px;
    position: absolute;
    left: 10px;
    top: calc(50% - 6px);
  }
  .caseResult .caseResultMore {
    margin-top: 80px;
    text-align: center;
  }
  .caseResult .caseResultMore span {
    font-size: 19px;
    padding-left: 40px;
    cursor: pointer;
    transition: 0.3s;
  }
  .caseResult .caseResultMore span:hover {
    opacity: 0.5;
  }
  .caseResult .caseResultMore span:before {
    content: "";
    display: inline-block;
    background: url(../images/second/plus.webp) no-repeat center/cover;
    width: 31px;
    height: 31px;
    position: absolute;
    left: 0;
    top: calc(50% - 15px);
  }
  .secondLinkList {
    margin-top: 100px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .secondLinkList > a {
    gap: 35px;
    width: calc(50% - 20px);
    padding: 15px 70px 15px 15px;
    font-size: 24px;
    transition: 0.3s;
  }
  .secondLinkList > a:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 25px;
    top: calc(50% - 15px);
  }
  .secondLinkList > a:hover {
    background-color: #e3fcf9;
  }
  .secondLinkList > a figure {
    width: 120px;
    flex: none;
  }
  .historyWrap {
    margin-top: 40px;
  }
  .historyWrap .historyHead {
    padding: 15px 0;
    display: flex;
  }
  .historyWrap .historyHead > div {
    flex: 1;
    text-align: center;
  }
  .historyWrap .historyHead > div .ayumi {
    font-size: 19px;
    padding-left: 29px;
  }
  .historyWrap .historyHead > div .ayumi:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #0a7167;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 8px);
  }
  .historyWrap .historyHead > div .sisaku {
    font-size: 17px;
    padding-left: 24px;
  }
  .historyWrap .historyHead > div .sisaku:before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 1px solid #4f5459;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: calc(50% - 7px);
    background-color: #fff;
  }
  .historyWrap .historyList {
    margin-top: 20px;
    position: relative;
    padding-bottom: 50px;
  }
  .historyWrap .historyList:before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 100%;
    background-color: #d9d9d7;
    position: absolute;
    left: 50%;
    top: 0;
  }
  .historyWrap .historyList > div + div {
    margin-top: 10px;
  }
  .historyWrap .historyList > div.sisaku {
    margin-left: auto;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 17px;
    width: calc(50% - 1px);
  }
  .historyWrap .historyList > div.sisaku:before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 1px solid #4f5459;
    border-radius: 50%;
    position: absolute;
    left: -7px;
    top: calc(50% - 7px);
    background-color: #fff;
  }
  .historyWrap .historyList > div.ayumi {
    padding: 20px 30px 20px 20px;
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 19px;
    width: 50%;
  }
  .historyWrap .historyList > div.ayumi:before {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: #0a7167;
    border-radius: 50%;
    position: absolute;
    right: -8px;
    top: calc(50% - 8px);
  }
  .historyWrap .historyList > div.ayumi dt {
    font-size: 22px;
  }
  .recruitLinks {
    margin-top: 130px;
    margin-bottom: 140px;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .recruitLinks a {
    width: calc(50% - 20px);
    height: 160px;
    border-radius: 20px;
    border: 6px solid #fff;
    font-size: 30px;
    padding: 20px 50px;
    transition: 0.5s;
  }
  .recruitLinks a:hover {
    color: #fff;
    opacity: 0.5;
  }
  .singleContents .has-inline-color.has-luminous-vivid-orange-color {
    color: #005046 !important;
  }
  .singleContents .inner > *:first-child {
    margin-top: 0;
  }
  .singleContents p {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .singleContents h3 + p, .singleContents h4 + p {
    margin-top: 25px;
    margin-bottom: 25px;
  }
  .singleContents * + h2 {
    margin-top: 90px;
  }
  .singleContents * + h3 {
    margin-top: 60px;
  }
  .singleContents * + h4 {
    margin-top: 50px;
  }
  .singleContents h2 {
    font-size: 32px;
    border-radius: 15px;
    padding: 26px 25px 26px 40px;
  }
  .singleContents h2:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 30px;
    height: 5px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 20px;
  }
  .singleContents h3 {
    font-size: 28px;
    padding-bottom: 20px;
  }
  .singleContents h3:before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 2px;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  .singleContents h4 {
    font-size: 25px;
    padding-left: 25px;
  }
  .singleContents h4:before {
    content: "";
    display: inline-block;
    background-color: #005046;
    width: 8px;
    height: calc(100% - 15px);
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: calc(50% - 11px);
  }
  .singleContents ul li {
    padding-left: 30px;
    position: relative;
  }
  .singleContents ul li:not(:first-of-type) {
    margin-top: 10px;
  }
  .singleContents ul li:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: #ccccca;
    position: absolute;
    margin: auto;
    top: 11px;
    left: 9px;
    border-radius: 50%;
  }
  .singleContents ol li {
    padding-left: 20px;
    counter-increment: mycounter;
  }
  .singleContents ol li:before {
    content: counter(mycounter) ".";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #ccccca;
    font-weight: bold;
  }
  .singleContents ol li:not(:first-of-type) {
    margin-top: 10px;
  }
  .singleContents * + ul, .singleContents * + ol {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .singleContents p + .wp-block-gallery {
    margin-top: 10px;
  }
  .singleContents .wp-block-button {
    margin-bottom: 50px;
  }
  .singleContents .wp-block-button a, .singleContents .wp-block-button .wp-block-button__link {
    min-width: 244px;
    border-radius: 32px;
    font-size: 19px;
    padding: 16px 40px;
    transition: 0.3s;
  }
  .singleContents .wp-block-button a:before, .singleContents .wp-block-button .wp-block-button__link:before {
    content: "";
    display: inline-block;
    background: url(../images/common/btn_arrow.webp) no-repeat center/cover;
    width: 15px;
    height: 14px;
    position: absolute;
    right: 22px;
    top: calc(50% - 7px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    opacity: 0;
  }
  .singleContents .wp-block-button a:after, .singleContents .wp-block-button .wp-block-button__link:after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    right: 27px;
    top: calc(50% - 3.5px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    background-image: none !important;
  }
  .singleContents .wp-block-button a:hover, .singleContents .wp-block-button .wp-block-button__link:hover {
    background-color: #e3fcf9;
  }
  .singleContents .wp-block-button a:hover:before, .singleContents .wp-block-button .wp-block-button__link:hover:before {
    opacity: 1;
  }
  .singleContents .wp-block-button a:hover:after, .singleContents .wp-block-button .wp-block-button__link:hover:after {
    opacity: 0;
  }
  .singleContents .wp-block-buttons {
    margin-top: 40px;
    margin-bottom: 40px;
  }
  .singleContents .wp-block-table table {
    margin-bottom: 50px;
    margin-top: 50px;
  }
  .singleContents .wp-block-table table tr th {
    padding: 15px 20px;
  }
  .singleContents .wp-block-table table tr td {
    padding: 15px 20px;
  }
  .singleContents .wp-block-image {
    margin-bottom: 40px;
    margin-top: 40px;
  }
  .singleContents .wp-block-media-text {
    margin-bottom: 54px;
    margin-top: 40px;
  }
  .singleContents .wp-block-group, .singleContents .wp-block-columns {
    margin-bottom: 40px;
    margin-top: 40px;
  }
  .singleContents .wp-block-gallery + .wp-block-gallery {
    margin-bottom: 40px;
    margin-top: 40px;
  }
  .singleContents .colorBox {
    padding: 30px 50px;
    border: 4px solid #f2f2f0;
    border-radius: 15px;
  }
  .singleContents .colorBox .title {
    font-weight: bold;
    font-size: 19px;
    position: relative;
    padding-left: 20px;
  }
  .singleContents .colorBox .title:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    top: 14px;
  }
  .singleContents .colorBox * + .title {
    margin-top: 10px;
  }
  .singleContents .colorBox .cont {
    margin-top: 15px;
  }
  .singleContents .colorBox .cont * + p {
    margin: 10px 0 0;
  }
  * + p {
    margin-top: 40px;
  }
  * + p.wide {
    margin-top: 60px;
  }
  h2, h3, h4 {
    line-height: 1.5;
  }
  h3 + p, h4 + p {
    margin-top: 25px;
    margin-bottom: 25px;
  }
  h3 + .commonList {
    margin-top: 25px;
    margin-bottom: 25px;
  }
  * + h2.title, * + .h2 {
    margin-top: 90px;
  }
  * + h3.title {
    margin-top: 60px;
  }
  * + h4.title {
    margin-top: 50px;
  }
  h2.title {
    font-size: 32px;
    border-radius: 15px;
    padding: 26px 25px 26px 40px;
  }
  h2.title:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 30px;
    height: 5px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 20px;
  }
  h3.title {
    font-size: 28px;
    padding-bottom: 20px;
  }
  h3.title:before {
    content: "";
    display: inline-block;
    width: 100px;
    height: 2px;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    bottom: -2px;
  }
  h4.title {
    font-size: 25px;
    padding-left: 25px;
  }
  h4.title:before {
    content: "";
    display: inline-block;
    background-color: #005046;
    width: 8px;
    height: calc(100% - 15px);
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: calc(50% - 11px);
  }
  .h2 {
    font-size: 32px;
    border-radius: 15px;
    padding: 26px 25px 26px 40px;
  }
  .h2:before {
    content: "";
    display: inline-block;
    background-color: #21a2a2;
    width: 30px;
    height: 5px;
    border-radius: 0 3px 3px 0;
    position: absolute;
    left: 0;
    top: 20px;
  }
  ul.commonList li {
    padding-left: 30px;
    position: relative;
  }
  ul.commonList li:not(:first-of-type) {
    margin-top: 10px;
  }
  ul.commonList li:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: #ccccca;
    position: absolute;
    margin: auto;
    top: 11px;
    left: 9px;
    border-radius: 50%;
  }
  ol li {
    padding-left: 20px;
    counter-increment: mycounter;
  }
  ol li:before {
    content: counter(mycounter) ".";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    color: #ccccca;
    font-weight: bold;
  }
  ol li:not(:first-of-type) {
    margin-top: 10px;
  }
  section + section {
    margin-top: 90px;
  }
  * + .commonList, * + .linkList, * + .colorBox, * + .commonTable, * + .wp-block-lazyblock-color-box, * + .wp-block-lazyblock-list {
    margin-top: 40px;
  }
  * + ol {
    margin-top: 40px;
  }
  * + .imgLine2, * + .imgLine3, * + .twoCol {
    margin-top: 40px;
  }
  .subLink {
    font-size: 18px;
    padding-right: 40px;
  }
  .subLink:after {
    content: "";
    display: inline-block;
    background: url(../images/common/icon_arrow.svg) no-repeat center/cover;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 0;
    top: calc(50% - 15px);
  }
  .commonBtn {
    min-width: 244px;
    border-radius: 32px;
    font-size: 19px;
    padding: 16px 40px;
    transition: 0.3s;
  }
  .commonBtn:before {
    content: "";
    display: inline-block;
    background: url(../images/common/btn_arrow.webp) no-repeat center/cover;
    width: 15px;
    height: 14px;
    position: absolute;
    right: 22px;
    top: calc(50% - 7px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    opacity: 0;
  }
  .commonBtn:after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    right: 27px;
    top: calc(50% - 3.5px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    background-image: none !important;
  }
  .commonBtn:hover {
    background-color: #e3fcf9;
  }
  .commonBtn:hover:before {
    opacity: 1;
  }
  .commonBtn:hover:after {
    opacity: 0;
  }
  .backBtn {
    min-width: 244px;
    border-radius: 32px;
    font-size: 19px;
    padding: 16px 40px;
    transition: 0.3s;
  }
  .backBtn:before {
    content: "";
    display: inline-block;
    background: url(../images/common/btn_arrow.webp) no-repeat center/cover;
    width: 15px;
    height: 14px;
    position: absolute;
    left: 22px;
    top: calc(50% - 7px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
    opacity: 0;
    transform: scale(-1, 1);
  }
  .backBtn:after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #40a6a6;
    border-radius: 50%;
    position: absolute;
    left: 27px;
    top: calc(50% - 3.5px);
    transition: transform 0.3s ease-out, opacity 0.3s ease-out;
  }
  .backBtn:hover {
    background-color: #e3fcf9;
  }
  .backBtn:hover:before {
    opacity: 1;
  }
  .backBtn:hover:after {
    opacity: 0;
  }
  p .commonBtn + .commonBtn {
    margin-left: 40px;
  }
  .singleContents img, .img img {
    max-width: 860px;
  }
  .imgLine2 {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
  }
  .imgLine2 li {
    width: calc(50% - 20px);
  }
  .imgLine2 li + li {
    margin-top: 0 !important;
  }
  .imgLine2 li img {
    max-width: 100%;
  }
  .imgLine2.small {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .imgLine3 {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
  }
  .imgLine3 li {
    width: calc(33.3333333333% - 20px);
  }
  .imgLine3 li + li {
    margin-top: 0 !important;
  }
  .imgLine3 li img {
    max-width: 100%;
  }
  .cap {
    font-size: 15px;
  }
  .imgInP {
    overflow: hidden;
  }
  .imgInP .img {
    max-width: 340px;
  }
  .imgInP .img img {
    width: 100%;
    height: auto;
  }
  .imgInP .img.left {
    float: left;
    margin-right: 40px;
  }
  .imgInP .img.right {
    float: right;
    margin-left: 40px;
  }
  .twoCol {
    display: flex;
  }
  .twoCol .txt {
    flex: 1;
  }
  .twoCol .txt *:nth-child(1) {
    margin-top: 0;
  }
  .twoCol .txt + .img {
    margin-left: 40px;
  }
  .twoCol .txt + .txt {
    margin-left: 40px;
  }
  .twoCol .img {
    max-width: calc(50% - 20px);
  }
  .twoCol .img + .img {
    margin-left: 40px;
  }
  .twoCol .img + .txt {
    margin-left: 40px;
  }
  .twoCol .img img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .colorBox {
    padding: 30px 50px;
    border: 4px solid #f2f2f0;
    border-radius: 15px;
  }
  .colorBox .title {
    font-weight: bold;
    font-size: 19px;
    position: relative;
    padding-left: 20px;
  }
  .colorBox .title:before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #40a6a6;
    position: absolute;
    left: 0;
    top: 14px;
  }
  .colorBox * + .title {
    margin-top: 10px;
  }
  .colorBox .cont {
    margin-top: 15px;
  }
  .colorBox .cont * + p {
    margin: 10px 0 0;
  }
  .commonTable td.wFix,
  .commonTable th.wFix {
    width: 150px;
  }
  .commonTable th {
    padding: 15px 20px;
  }
  .commonTable td {
    padding: 15px 20px;
  }
  .scrollTable {
    margin-top: 50px;
  }
  .scrollText {
    font-size: 12px;
    display: block;
    text-align: right;
    margin: 30px 0 -20px;
  }
  .iframeWrap {
    max-width: 780px;
    margin: 0 auto;
  }
  .iframeBox {
    position: relative;
    padding-bottom: 56.25%;
  }
  .iframeBox iframe, .iframeBox video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 0;
  }
  .iframeBox {
    margin-top: 40px;
  }
  * + dl.commonList {
    margin-top: 40px;
  }
  dl.commonList > div {
    display: flex;
    padding: 30px 0px;
  }
  dl.commonList > div > dt {
    width: 240px;
    padding-right: 40px;
    flex: none;
  }
  /* common class */
  .pointerNone {
    cursor: default;
    text-decoration: none;
  }
  .mB0_pc {
    margin-bottom: 0 !important;
  }
  .mB5_pc {
    margin-bottom: 5px !important;
  }
  .mB10_pc {
    margin-bottom: 10px !important;
  }
  .mB20_pc {
    margin-bottom: 20px !important;
  }
  .mB30_pc {
    margin-bottom: 30px !important;
  }
  .mB40_pc {
    margin-bottom: 40px !important;
  }
  .mB50_pc {
    margin-bottom: 50px !important;
  }
  .mT0_pc {
    margin-top: 0 !important;
  }
  .mT5_pc {
    margin-top: 5px !important;
  }
  .mT10_pc {
    margin-top: 10px !important;
  }
  .mT20_pc {
    margin-top: 20px !important;
  }
  .mT30_pc {
    margin-top: 30px !important;
  }
  .mT40_pc {
    margin-top: 40px !important;
  }
  .mT50_pc {
    margin-top: 50px !important;
  }
  .mT100_pc {
    margin-top: 100px !important;
  }
  .mL0_pc {
    margin-left: 0px !important;
  }
  .mL5_pc {
    margin-left: 5px !important;
  }
  .mL10_pc {
    margin-left: 10px !important;
  }
  .mL20_pc {
    margin-left: 20px !important;
  }
  .mL30_pc {
    margin-left: 30px !important;
  }
  .mL40_pc {
    margin-left: 40px !important;
  }
  .mL50_pc {
    margin-left: 50px !important;
  }
  .mR0_pc {
    margin-right: 0px !important;
  }
  .mR5_pc {
    margin-right: 5px !important;
  }
  .mR10_pc {
    margin-right: 10px !important;
  }
  .mR20_pc {
    margin-right: 20px !important;
  }
  .mR30_pc {
    margin-right: 30px !important;
  }
  .mR40_pc {
    margin-right: 40px !important;
  }
  .mR50_pc {
    margin-right: 50px !important;
  }
  .size12 {
    font-size: 12px !important;
  }
  .size14 {
    font-size: 14px !important;
  }
  .size16 {
    font-size: 16px !important;
  }
  .size18 {
    font-size: 18px !important;
  }
  .size20 {
    font-size: 20px !important;
  }
  .taC_pc {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1023px) {
  .imgLine4 li img {
    max-width: 100%;
  }
  .singleContents .has-inline-color.has-luminous-vivid-orange-color {
    color: #005046 !important;
  }
  .singleContents .inner > *:first-child {
    margin-top: 0;
  }
  .singleContents p + .wp-block-gallery {
    margin-top: 10px;
  }
  h2, h3, h4 {
    line-height: 1.5;
  }
  .imgLine2 li img {
    max-width: 100%;
  }
  .imgLine3 li img {
    max-width: 100%;
  }
  .scrollText {
    font-size: 12px;
    display: block;
    text-align: right;
    margin: 30px 0 -20px;
  }
  .iframeBox {
    position: relative;
    padding-bottom: 56.25%;
  }
  .iframeBox iframe, .iframeBox video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border: 0;
  }
  /* common class */
  .pointerNone {
    cursor: default;
    text-decoration: none;
  }
}
/*# sourceMappingURL=map/second.css.map */
