@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Alata&family=Noto+Sans+JP:wght@100..900&display=swap');
/* 基本設定 */
html {
 font-size: 62.5%;
 height: 100%;
}
body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  letter-spacing: 0.035em;
  font-weight: 500;
  color: #002d4c;
  background: #f8f8f8;
  font-size: 1.6rem;
  line-height: 1.6;
  overflow-x: clip;
}
a {
  display: block;
  transition: .2s;
  text-decoration: none;
  color: #fae534;
}
img {
  display: block;
  width: 100%;
  height: auto;
}
em {
  display: inline-block;
  font-weight: inherit;
}
span {
  font-weight: inherit;
}
strong {
  font-weight: 900;
}
small {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: inherit;
}
li {
  list-style: none;
}
.sp {
  display: none !important;
}
.pc {
  display: block;
}
/* レイアウト */
#wrapper {
  position: relative;
  width: 100%;
}
.contentsArea {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  z-index: 5;
  padding: 5% 0;
}
.contentsArea > .inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  overflow: visible;
  justify-content: space-between;
}
.contentsArea > .inner main {
  flex: 1 0 calc(100% - 30rem);
  max-width: calc(100% - 30rem);
  box-sizing: border-box;
  background: #efefef;
  padding: 0 2rem 2rem;
  border-radius: 4px;
  /*overflow: hidden;*/
}
aside {
  width: 27rem;
  box-sizing: border-box;
  align-self: flex-start;
  position: sticky;
  top: 10px;
}
section {
  position: relative;
  z-index: 5;
  margin: 0 auto;
  text-align: center;
  padding: 50px 0;
}
.inner {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
  position: relative;
  padding: 0 1.5rem;
  z-index: 5;
}
.lower #kv {
  color: #fcfcfc;
  background-color: #13131a;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  text-align: center;
  z-index: 6;
  position: relative;
  padding: 0;
}
.lower #kv:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(circle at center, rgba(0, 0, 0, 0.15) 1px, transparent 1px);
  background-size: 4px 4px;
  background-color: rgba(36, 43, 57, 0.5);
  position: absolute;
  top: 0;
  left: 0;
}
.lower #kv .inner {
  padding: 7.5% 0;
}
/* パーツ */
.yellow {
  color: #fae534 !important;
}
.pateTtl {
  text-align: center;
  position: relative;
  z-index: 5;
  font-size: 2.56rem;
  font-weight: 700;
}
.secTtl {
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 0.75em;
  color: #002d4c;
  display: inline-block;
  position: relative;
  padding-bottom: 0.75em;
}
.secTtl:first-letter {
  color: #13517C;
  font-size: 125%;
  line-height: 1;
  font-weight: 800;
}
.secTtl:after {
  content: "";
  display: block;
  background: #fae534;
  width: 4em;
  height: 4px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.bigTtl {
  font-size: 3.52rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 1.25em;
  position: relative;
}
.middleTtl {
  font-size: 3.04rem;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 1.25em;
  position: relative;
}
.middleTtl_y {
  font-size: 3.04rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 1.25em;
  position: relative;
  color: #fae534;
}
.barTtl {
  font-weight: 700;
  font-size: 1.84rem;
  line-height: 1.3;
  background: #002d4c;
  color: #fae534;
  position: relative;
  padding: 0.55em 0.75em 0.55em 2rem;
  margin: 0 0 1em -2rem;
  text-align: left;
  z-index: 5;
  width: calc(100% + 2rem);
}
.barTtl:before {
  content: "";
  display: block;
  border: 0.75em solid #fae534;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
.bgLightblue {
  background-color: #13517C;
}
.bgDarkblue {
  background-color: #002d4c;
}
.bgGray {
  background-color: #F1F2F2;
}
.bgYellow {
  background-image: linear-gradient(#fbd932 1px, transparent 1px), linear-gradient(90deg, #fbd932 1px, transparent 1px);
  background-size: 24px 24px;
  background-color: #fae534;
}
.bgDotted {
  background-image: radial-gradient(circle at center, #d3d3d3 1px, transparent 1px);
  background-size: 10px 10px;
  background-color: #dfdfdf;
}
.lead {
  font-size: 1.7rem;
  margin: 0 auto 5%;
  text-align: center;
  line-height: 1.8;
}
.lead p {
  font-size: 16px;
  font-weight: 500;
}
.caution {
  padding-top: 1em;
  font-size: 1.28rem !important;
  line-height: 1.5;
  font-weight: normal !important;
  opacity: 0.8;
}
ul.caution li {
  text-indent: -1em;
  padding-left: 1em;
}
.captionTxt {
  line-height: 1.2;
  font-size: 11px !important;
  color: #8e8e8e;
  word-break: break-all;
  padding-top: 0.5em;
}
.btn {
  position: relative;
  z-index: 5;
  margin: 1.5em auto 0;
}
.btn a {
  background: #002d4c;
  color: #fae534;
  font-weight: 600;
  line-height: 1.2;
  padding: 0.65em 3em 0.65em 0.75em;
  display: inline-block;
  position: relative;
  overflow: visible;
}
.btn a:hover {
  background: #fae534;
  color: #002d4c;
}
.btn a:before {
  content: "";
  display: block;
  height: 100%;
  padding-left: 18%;
  background: #13517C;
  position: absolute;
  top: 0;
  right: 0;
}
.btn a span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  z-index: 5;
  color: #fae534;
  font-size: 2.4rem;
}
.tab {
  margin: 0 auto;
}
.tab-list {
  display: flex;
  justify-content: space-between;
}
.tab-list-item {
  flex: 1 0 calc(33.333% - 1px);
  max-width: calc(33.333% - 1px);
  text-align: center;
  background: #13517C;
  color: #deecf6;
  padding: 1em;
  line-height: 1.2;
  cursor: pointer;
  border: none;
  font-size: 1.76rem;
  font-weight: 700;
  position: relative;
}
.tab-list-item:before {
  content: "";
  display: block;
  border: 0.75em solid #ebeced;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
.is-btn-active {
  background-color: #002d4c;
}
.tab-contents {
  background-color: #002d4c;
  display: none;
  padding: 2.5em;
  color: #deecf6;
  text-align: left;
}
.is-contents-active {
  display: block;
}
.tab-contents h3 {
  font-weight: 700;
  font-size: 2.24rem;
  color: #fae534;
  text-align: center;
  margin-bottom: 1em;
}
/* 各種リスト */
.cateNameList {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  padding-bottom: 4%;
  justify-content: center;
}
.cateNameList > li {
  flex: 1 0 calc(33.333% - 1rem);
  max-width: calc(33.333% - 1rem);
  margin: 0 calc(4rem / 3) calc(4rem / 3) 0 !important;
}
.cateNameList > li:nth-child(3n) {
  margin: 0 0 calc(4rem / 3) !important;
}
.cateNameList > li a {
  background-color: #202A4C;
  color: #fcfcfc !important;
  font-size: 1.5rem !important;
  padding: 0.5em 2em 0.5em 1.25em !important;
  border-radius: 20rem;
  position: relative;
  text-align: left;
}
.cateNameList > li a:hover {
  background-color: #565D71;
}
.cateNameList > li a:before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  cursor: pointer;
  transition: .2s;
  border-top: 3px solid #fcfcfc;
  border-right: 3px solid #fcfcfc;
  right: 1.5em;
  transform: rotate(45deg)translateY(-50%);
  top: 50%;
}
.targetList {
  display: block;
}
.targetList li {
  position: relative;
  display: flex;
  align-items: center;
  background: #fcfcfc;
  margin-bottom: 1em;
  padding: 1em;
}
.targetList li:before {
  content: "";
  display: block;
  border: 1.5em solid #dfdfdf;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
.targetList li .thumb {
  position: relative;
  overflow: hidden;
  flex: 1 0 20rem;
  max-width: 20rem;
}
.targetList li .thumb:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.targetList li .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.targetList li .txt {
  text-align: left;
  overflow: hidden;
  padding-left: 1em;
}
.targetList li .txt h2 {
  font-weight: 800;
  font-size: 2.88rem;
  line-height: 1.1;
  background: #13517C;
  color: #fcfcfc;
  display: inline-block;
  position: relative;
  margin: 0 0 0.25em;
  padding: 0.25em 0.5em;
  transform: translateY(0.15em);
}
.targetList li .txt p {
  font-size: 15px;
  position: relative;
  padding: 0.25em;
  text-align: justify;
}
.caseLargeList {
  position: relative;
  z-index: 5;
  margin: 5% 0 0;
  padding: 2rem;
}
.caseLargeList > li {
  display: flex;
  background: #fcfcfc;
  align-items: stretch;
  padding: 1em;
  margin-bottom: 1em;
}
.caseLargeList > li:last-child {
  margin-bottom: 0;
}
.caseLargeList > li .thumb {
  flex: 1 0 20rem;
}
.caseLargeList > li .txt {
  padding-left: 1em;
  flex: 1 0 calc(100% - 20rem);
  text-align: left;
}
.caseLargeList > li .txt .parameter {
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.caseLargeList > li .txt .parameter dl {
  display: flex;
  white-space: nowrap;
  margin-right: 1.5em;
}
.caseLargeList > li .txt .parameter dl dt {
  background: #DFE6F1;
  padding: 0.1em 0.5em;
  font-size: 1.44rem;
}
.caseLargeList > li .txt .parameter dl dd {
  padding-left: 0.5em;
}
.caseLargeList > li .txt h2 {
  font-weight: 700;
  font-size: 1.76rem;
  margin: 0.5em 0;
}
.caseLargeList > li .txt p {
  font-size: 1.5rem;
}
.caseLargeList > li .txt .btn {
  margin: 1em 0 0 auto;
  text-align: right;
}
.caseLargeList > li .txt .btn a {
  font-size: 1.6rem;
}
.caseLargeList > li .txt .btn a:before {
  padding-left: 25%;
}
.acList > li {
  overflow: hidden;
  margin: 0 0 1em;
}
.acList > li > dl {
  border-radius: 6px;
  overflow: hidden;
}
.acList > li > dl .accordionHeader {
  background-color: #13517C;
  color: #fcfcfc;
  padding: 1.5rem 3rem 1.5rem 4.5rem;
  transition: background .1s ease;
  cursor: pointer;
  text-align: left;
  position: relative;
  font-weight: 700;
}
.acList > li > dl .accordionHeader:before {
  position: absolute;
  content: "Q.";
  font-family: 'Alata';
  top: 1.2rem;
  left: 1.75rem;
  color: #fcfcfc;
  font-size: 120%;
}
.acList > li > dl .accordionHeader:after {
  position: absolute;
  content: '+';
  font-size: 3rem;
  font-family: 'Alata';
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
  right: 1.5rem;
}
.acList > li > dl .accordionHeader.active:after {
  content: "-";
}
.acList > li > dl .accordionContent {
  display: none;
  background-color: #fcfcfc;
  padding: 1.5em 3rem;
  text-align: left;
  position: relative;
}
.areaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.5rem;
}
.areaList > li {
  margin: 0 0 0.35em;
}
.areaList > li:after {
  content: "|";
  display: inline-block;
  padding: 0 0.35em;
  line-height: 1.2;
  opacity: 0.5;
}
.areaList > li:last-child:after {
  display: none;
}
.areaList > li a {
  color: #002d4c;
  display: inline-block;
  vertical-align: bottom;
}
.staffList {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  font-size: 1.4rem;
}
.staffList > li {
  flex: 1 0 calc(50% - 0.75rem);
  max-width: calc(50% - 0.75rem);
  margin: 0 1.5rem 1.5rem 0;
  background: #efefef;
}
.staffList > li:nth-child(even) {
  margin: 0 0 1.5rem 0;
}
.staffList > li .flex {
  display: flex;
  align-items: center;
}
.staffList > li .flex .ph {
  flex: 1 0 40%;
  max-width: 40%;
  padding: 2rem;
}
.staffList > li .flex .ph img {
  border-radius: 50%;
}
.staffList > li .flex .txt {
  flex: 1 0 60%;
  text-align: left;
}
.staffList > li .flex .txt small {
  display: block;
  font-size: 1.44rem;
  font-weight: 600;
}
.staffList > li .flex .txt dl {
  display: flex;
  align-items: center;
  line-height: 1;
  white-space: nowrap;
  margin-top: 1em;
  font-size: 1.84rem;
}
.staffList > li .flex .txt dl dt {
  font-size: 1.28rem;
  flex: 1 0 5em;
  max-width: 5em;
}
.staffList > li .flex .txt dl dd {
  font-size: 1.6rem;
  font-weight: 700;
}
.staffList > li .flex .txt dl.name dd {
  font-size: 2.08rem;
}
.staffList > li p {
  text-align: left;
  padding: 0 1.5rem 1.5rem;
}
.officeList {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  font-size: 1.4rem;
}
.officeList > li {
  flex: 1 0 calc(33.333% - 1.5rem);
  max-width: calc(33.333% - 1.5rem);
  margin: 0 calc(4.5rem / 2) calc(4.5rem / 2) 0;
  background: #efefef;
  text-align: left;
  padding: 1em;
  position: relative;
}
.officeList > li:before {
  content: "";
  display: block;
  border: 0.75em solid #002d4c;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
}
.officeList > li:nth-child(3n) {
  margin: 0 0 calc(4.5rem / 2) 0;
}
.officeList > li h3 {
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.3;
  margin-bottom: 0.35em;
}
.officeList > li .address {
  font-size: 1.44rem;
  margin-bottom: 1rem;
}
.officeList > li dl {
  display: inline-block;
  background: #dedede;
  padding: 0.25em 0.5em;
}
.officeList > li dl dt {
  display: inline-block;
}
.officeList > li dl dt:after {
  content: ":";
  padding: 0 0.1em;
}
.officeList > li dl dd {
  display: inline-block;
  white-space: nowrap;
  font-weight: 700;
}
.officeList > li .toMap {
  text-align: right;
  display: block;
  margin-top: 1rem;
}
.officeList > li .toMap a {
  background: #13517C;
  color: #fcfcfc;
  display: inline-block;
  padding: 0.25em 1em;
  font-size: 1.3rem;
  position: relative;
}
.officeList > li .toMap a span {
  font-size: 1.2em;
  transform: translateY(0.225em);
  display: inline-block;
  margin: 0 0 0 0.5em;
}
.p-toc {
  display: none !important;
}
.mokuji, #toc_container {
  padding: 1em 1.5em;
  margin: 2rem auto;
  background: #D8D8DF;
  border-radius: 8px;
  position: relative;
  z-index: 5;
  display: block;
  text-align: left;
}
.mokuji h2, #toc_container .toc_title {
  font-weight: 700;
  font-size: 1.76rem;
  margin-bottom: 0.8em;
}
.mokuji > ul, #toc_container > ul {
  display: inline-block;
  text-align: left;
}
.mokuji > ul > li, #toc_container > ul >li{
  font-size: 1.76rem;
  font-weight: 700;
  position: relative;
}
.mokuji > ul > li a:before, #toc_container > ul > li a:before{
  content: "00.";
  display: inline-block;
  vertical-align: inherit;
  letter-spacing: 0;
  color: #A1A3BF;
  margin-right: 0.35em;
  font-size: 120%;
  white-space: nowrap;
  text-align: right;
}
.mokuji > ul > li:nth-child(1) a:before, #toc_container > ul > li:nth-child(1) a:before {
  content: "01.";
}
.mokuji > ul > li:nth-child(2) a:before, #toc_container > ul > li:nth-child(2) a:before {
  content: "02.";
}
.mokuji > ul > li:nth-child(3) a:before, #toc_container > ul > li:nth-child(3) a:before {
  content: "03.";
}
.mokuji > ul > li:nth-child(4) a:before, #toc_container > ul > li:nth-child(4) a:before {
  content: "04.";
}
.mokuji > ul > li:nth-child(5) a:before, #toc_container > ul > li:nth-child(5) a:before {
  content: "05.";
}
.mokuji > ul > li:nth-child(6) a:before, #toc_container > ul > li:nth-child(6) a:before {
  content: "06.";
}
.mokuji > ul > li:nth-child(7) a:before, #toc_container > ul > li:nth-child(7) a:before {
  content: "07.";
}
.mokuji > ul > li:nth-child(8) a:before, #toc_container > ul > li:nth-child(8) a:before {
  content: "08.";
}
.mokuji > ul > li:nth-child(9) a:before, #toc_container > ul > li:nth-child(9) a:before {
  content: "09.";
}
.mokuji > ul > li:nth-child(10) a:before, #toc_container > ul > li:nth-child(10) a:before {
  content: "10.";
}
.mokuji > ul > li:nth-child(11) a:before, #toc_container > ul > li:nth-child(11) a:before {
  content: "11.";
}
.mokuji > ul > li:nth-child(12) a:before, #toc_container > ul > li:nth-child(12) a:before {
  content: "12.";
}
.mokuji > ul > li a, #toc_container > ul > li a {
  color: #5D6D77;
  display: inline-block;
  padding: 0.1em 0;
}
.mokuji > ul > li > ul, #toc_container > ul > li > ul {
  padding: 0.25em 0 0.25em 1.7em;
}
.mokuji > ul > li > ul li a, #toc_container > ul > li > ul li a {
  font-size: 90%;
  font-weight: 600;
}
.mokuji > ul > li > ul li a:before, #toc_container > ul > li > ul li a:before {
  content: "ー" !important;
}
.leadArea {
  margin: 0.5em 0 1.5em;
}

.editorArea {
  position: relative;
  margin: 1.5em 0 0;
  text-align: left;
}
.editorArea h2 {
  font-size: 2.24rem;
  font-weight: 700;
  border-bottom: 3px solid #13517C;
  padding-bottom: 5px;
  margin-bottom: 1em;
}
.editorArea h3 {
  font-size: 2.08rem;
  font-weight: 700;
  border-left: 5px solid #13517C; /* 左側にライン */
  padding-left: 0.5em;
  margin: 1em 0;
}
.editorArea h4 {
  font-size: 1.84rem;
  font-weight: 700;
  color: #13517C;
  margin: 1em 0;
}
.editorArea h5, .editorArea h6 {
  font-size: 1.76rem;
  color: #13517C;
  font-weight: 700;
  margin: 1em 0;
}
.editorArea p {
  margin: 1em 0;
  text-align: justify;
}
.editorArea strong {
  font-weight: 800;
  /* font-size: 1.84rem; */
}
.editorArea a {
  display: inline-block;
  color: #3498db;
  vertical-align: bottom;
}
.editorArea a:hover {
  color: #1D71AB;
}
.writer {
  margin: 2.5em 0 5%;
  text-align: left;
}
.writer h2 {
  display: inline-block;
  font-weight: 700;
  font-size: 1.92rem;
  margin-bottom: 0.5em;
}
.writer .box {
  background: #fcfcfc;
  padding: 1em;
  display: flex;
  align-items: center;
  border-radius: 4px;
}
.writer .box .thumb {
  flex: 1 0 15rem;
  max-width: 15rem;
  padding-top: 15rem;
  position: relative;
  border-radius: 50%;
  overflow: hidden;
}
.writer .box .thumb img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.writer .box .txt {
  flex: 1 0 calc(100% - 15rem);
  padding-left: 1em;
}
.writer .box .txt small {
  display: block;
  color: #445057;
}
.writer .box .txt .name {
  font-weight: 500;
  font-size: 2rem;
}
.writer .box .txt p {
  font-size: 1.3rem;
  color: #5D6D77;
  margin-top: 0.75em;
}
header {
  position: absolute;
  width: 100%;
  z-index: 10;
  height: 150px;
  padding: 0 7.5%;
}
header .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 0 0;
}
header .logo {
  color: #d9eaf5;
  flex: 1 0 165px;
  max-width: 165px;
  position: relative;
  padding: 0 0 20px 20px;
}
header .logo:before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #afd5ee;
  position: absolute;
  left: 0;
  top: -20px;
}
header .logo h1 {
  padding-bottom: 15px;
  position: relative;
}
header .logo h1:after {
  content: "";
  display: block;
  height: 1px;
  width: 300%;
  position: absolute;
  bottom: 0;
  right: -3px;
  background: #54c3f1;
}
header .logo h2 {
  font-size: 9px;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
  padding-top: 12px;
}
header nav {
  flex: 1 0 calc(100% - 150px);
  max-width: calc(100% - 150px);
  padding-top: 70px;
  white-space: nowrap;
}
header nav ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
header nav > ul > li {
  position: relative;
}
header nav > ul > li a {
  background: rgba(255, 255, 255, 0.5);
  font-size: 16px;
  font-weight: 500;
  color: rgba(0, 45, 76, 1);
  padding: 0.35em 1.25em;
  position: relative;
  overflow: hidden;
}
header nav > ul > li:first-child a {
  border-radius: 8px 0 0 8px;
}
header nav > ul > li:last-child a {
  border-radius: 0 8px 8px 0;
}
header nav > ul > li:hover .subMenu {
  transform: scaleY(1);
}
header nav > ul > li a:hover {
  background-color: rgba(255, 255, 255, 0.7);
  transition: .2s;
}
header nav > ul > li .subMenu {
  left: 0;
  position: absolute;
  top: calc(100% - 1px);
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform .2s;
  width: max-content;
  z-index: 1;
  display: block;
}
header nav > ul > li:hover .subMenu > li a {
  background-color: rgba(255, 255, 255, 0.9);
  transition: .2s;
  padding: 0.5em 1.25em;
  border-bottom: solid 1px rgba(255, 255, 255, 0.15);
}
header nav > ul > li:hover .subMenu > li a:hover {
  background-color: #fae534;
}
header nav > ul > li:hover .subMenu > li:last-child a {
  border-radius: 0 0 8px 8px;
  border-bottom: none;
}
header .utility {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: stretch;
}
.utility li {
  margin-left: 1em;
  display: flex;
  align-items: stretch;
}
.utility li a {
  /* background: rgba(0, 90, 212, 0.80); */
  background: rgba(0, 90, 212, 1);
  color: #fff;
  line-height: 1.3;
  padding: 0.5em 1em 0.5em 3em;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 23px;
  position: relative;
}
.utility li a:hover {
  background: rgba(0, 90, 212, 1);
}
.utility li.tel a {
  /* background: rgba(230, 3, 110, 0.80); */
  background: rgba(230, 3, 110, 1);
}
.utility li.tel a:hover {
  background: rgba(230, 3, 110, 1);
}
.utility li a:before {
  content: "";
  display: block;
  background: url("../images/icon_mail.svg") no-repeat;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 1.12em;
  top: 53%;
  transform: translateY(-50%);
}
.utility li.tel a:before {
  background: url("../images/icon_phone.svg") no-repeat;
  background-size: 100% auto;
  width: 0.75em;
  height: 1.25em;
  left: 1.25em;
}
.utility li a:after {
  content: "";
  display: block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  border: solid 1px #fdf7f8;
  position: absolute;
  left: 0.7em;
  top: 50%;
  transform: translateY(-50%);
}
.utility li a em {
  font-size: 51%;
  display: block;
  font-weight: 500;
  font-style: normal;
}
.lower header {
  background: #002d4c;
  position: relative;
}
.lower header .inner {
  align-items: flex-end;
}
.lower header nav {
  padding-top: 0;
}
.lower header nav > ul > li > a {
  background: none;
  color: #fcfcfc;
  border-radius: 0;
  padding: 1em 1.25em;
}
.lower header nav > ul > li > a:before {
  content: "";
  display: block;
  height: 3px;
  width: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #fae534;
  transition: .2s;
}
.lower header nav > ul > li a:hover:before {
  width: 100%;
}
.lower header nav > ul > li:hover .subMenu > li a {
  background-color: rgba(0, 45, 76, 0.9);
  color: #fae534;
}
.lower header nav > ul > li:hover .subMenu > li a:hover {
  background-color: #fae534;
  color: rgba(0, 45, 76, 1);
}
footer {
  background: #13131a;
  color: #efefef;
  position: relative;
  z-index: 10;
  background-image: radial-gradient(#1d1d25 1px, transparent 1px), radial-gradient(#1d1d25 1px, transparent 1px);
  background-size: 20px 20px;
  background-position: 0 0, 11.5px 11.5px;
  background-color: #13131a;
}
footer .inner {
  padding: 5% 0 calc(5% + 70px);
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
footer:before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 2px;
  left: 0;
  background: #3a3a41;
  z-index: 2;
}
footer .company {
  flex: 1 0 20rem;
  max-width: 20rem;
  position: relative;
  padding-right: 2em;
}
footer .cr {
  font-size: 1.3rem;
  margin-top: 2em;
  opacity: 0.8;
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
}
footer nav {
  flex: 1 0 calc(100% - 20rem);
  max-width: calc(100% - 20rem);
  display: flex;
  justify-content: flex-end;
}
footer nav ul {
  padding-left: 3em;
  font-size: 1.4rem;
  white-space: nowrap;
}
footer nav ul li {
  margin-bottom: 0.75em;
  text-indent: 1em;
}
footer nav ul li.big {
  text-indent: 0;
}
footer nav ul li a {
  color: #deecf6;
}
footer nav ul li.big a {
  color: #fae534;
  font-size: 1.92rem;
}
.fixedBtn {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0 7.5%;
  height: 75px;
  background-color: rgba(0, 32, 54, 0.82);
  color: #deecf6;
}
.fixedBtn:after {
  content: "";
  display: block;
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(4px);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.fixedBtn p {
  position: relative;
  z-index: 5;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  font-size: 22px;
  margin-right: 0.5em;
}
.fixedBtn p span {
  display: block;
  letter-spacing: 0.055em;
  color: #fae534;
}
.fixedBtn p span:last-child {
  font-size: 70%;
  font-weight: 800;
  letter-spacing: 0;
  color: #deecf6;
}
.fixedBtn p em {
  font-size: 80%;
  color: #deecf6;
}
.fixedBtn .tel {
  position: relative;
  z-index: 5;
  line-height: 1.1;
  transform: translateY(0.15em);
}
.fixedBtn .tel a {
  font-size: 2.24rem;
  font-weight: 800;
  text-align: center;
  background-color: #E6036E;
  color: #ebeced;
  padding: 0.25em 0.5em 0.25em 2.75em;
  position: relative;
}
.fixedBtn .tel a:before {
  content: "";
  display: block;
  background: url(../images/icon_phone_red.svg) no-repeat;
  background-size: 100% auto;
  width: 0.75em;
  height: 1.25em;
  left: 1.2em;
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  z-index: 3;
}
.fixedBtn .tel a:after {
  content: "";
  display: block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  background: #ebeced;
  position: absolute;
  left: 0.7em;
  top: 50%;
  transform: translateY(-50%);
}
.fixedBtn .tel a em {
  display: block;
  font-size: 55%;
  letter-spacing: 0;
  font-weight: 700;
  font-style: normal;
}
.fixedBtn .mail {
  position: relative;
  z-index: 5;
  line-height: 1.1;
  transform: translateY(0.15em);
  margin-left: 0.5em;
}
.fixedBtn .mail a {
  font-size: 1.92rem;
  font-weight: 700;
  background: #005AD4;
  color: #ebeced;
  padding: 0.37em 0.5em 0.37em 2.75em;
  position: relative;
  text-align: left;
}
.fixedBtn .mail a:before {
  content: "";
  display: block;
  background: url(../images/icon_mail_blue.svg) no-repeat;
  background-size: 100% auto;
  width: 0.95em;
  height: 1.25em;
  left: 1.1em;
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
  z-index: 3;
}
.fixedBtn .mail a:after {
  content: "";
  display: block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  background: #ebeced;
  position: absolute;
  left: 0.7em;
  top: 50%;
  transform: translateY(-50%);
}
.fixedBtn .mail a em {
  display: block;
  font-size: 60%;
  letter-spacing: 0;
  font-weight: 700;
  font-style: normal;
}
.navArea {
  display: none;
}
#area {
  color: #deecf6;
  overflow: hidden;
}
#area .inner {
  padding: 2.5% 1.5rem;
}
#area .flex {
  position: relative;
}
#area .flex .txt {
  width: 50%;
  text-align: left;
}
#area .flex .txt h2 {
  font-size: 3.2rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 0.75em;
  color: #fae534;
  display: inline-block;
  position: relative;
  padding-bottom: 0.75em;
}
#area .flex .txt h2:after {
  content: "";
  display: block;
  height: 2px;
  width: 300%;
  position: absolute;
  bottom: 0;
  right: -3px;
  background: #54c3f1;
}
#area .flex .txt ul {
  display: flex;
  flex-wrap: wrap;
}
#area .flex .txt ul li {
  flex: 1 0 20%;
  max-width: 20%;
  font-size: 1.44rem;
  margin-bottom: 0.25em;
}
#area .flex .txt ul li.disable {
  display: none;
}
#area .flex .map {
  position: absolute;
  right: 2%;
  top: -20%;
  background: url("../images/map_japan.svg") no-repeat;
  background-size: 100% auto;
  width: 50%;
  padding-top: calc(107.14% * 0.5);
}
.caseList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.caseList > li {
  flex: 1 0 calc(33.333% - 2%);
  max-width: calc(33.333% - 2%);
  margin: 0 calc(6% / 2) calc(6% / 2) 0;
  background: #ebeced;
  overflow: hidden;
  border-radius: 3px;
}
.caseList > li:nth-child(3n) {
  margin: 0 0 calc(6% / 2) 0;
}
.caseList > li a {
  color: #002d4c;
  display: block;
  position: relative;
}
.caseList > li a .thumb {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
.caseList > li a .thumb img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.caseList > li a h3 {
  line-height: 1.4;
  padding: 0.65em 5%;
  font-size: 1.76rem;
  font-weight: 700;
  text-align: left;
}
.caseList > li a dl {
  display: flex;
  padding: 0 5%;
  font-size: 1.12rem;
  margin-bottom: 1%;
}
.caseList > li a dl:last-of-type {
  padding: 0 5% 5%;
}
.caseList > li a dl dt {
  flex: 1 0 6em;
  max-width: 6em;
  background: #a4a4a4;
  color: #fcfcfc;
  padding: 0.15em 0.5em;
  text-align: center;
  position: relative;
}
.caseList > li a dl dt:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 0.65em solid #a4a4a4;
  border-top: 1em solid transparent;
  border-bottom: 1em solid transparent;
  position: absolute;
  left: 100%;
  top: 0;
}
.caseList > li a dl dd {
  padding: 0.15em 0 0 1.5em;
  font-weight: 600;
  color: #4c4c4c;
  font-size: 110%;
  line-height: 1.4;
}
.caseList > li a .date {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  font-size: 1.28rem;
  line-height: 1;
  padding: 0.35em 0.5em;
  font-weight: 700;
  display: inline-block;
  background: #f8f8f8;
  z-index: 2;
}
.columnList {
  display: flex;
  align-items: stretch;
}
.columnList > li {
  flex: 1 0 calc(25% - 2%);
  max-width: calc(25% - 2%);
  margin: 0 calc(8% / 3) calc(8% / 3) 0;
  background: #ebeced;
  overflow: hidden;
  border-radius: 3px;
}
.columnList > li:nth-child(4n) {
  margin: 0 0 calc(8% / 3) 0;
}
.columnList > li a {
  color: #002d4c;
}
.columnList > li .thumb {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}
.columnList > li .thumb img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.columnList > li .date {
  display: flex;
  justify-content: space-between;
  font-size: 1.12rem;
  line-height: 1.2;
  padding: 1em 1em 0.85em;
  color: #6c6c6c;
  letter-spacing: 0;
}
.columnList > li .date dl {
  display: flex;
  align-items: center;
}
.columnList > li .date dl dt:after {
  content: ":";
}
.columnList > li h3 {
  font-size: 1.44rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  padding: 0 0.85em;
}
.columnList > li h3 a:hover {
  color: rgba(230, 3, 110, 1);
}
.columnList > li .cate {
  padding: 1em;
  font-size: 1.12rem;
  text-align: left;
  display: block;
}
.columnList > li .cate li {
  display: inline-block;
  margin: 0 0.2em 0.2em 0;
}
.columnList > li .cate li a {
  display: inline-block;
  background: #dfdfdf;
  color: #7c7c7c;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.35em 0.75em;
  border-radius: 20rem;
}
.columnList > li .cate li a:hover {
  background: #fae534;
  color: #F07200;
}
#column .btn {
  margin: 1em auto 0;
}
#column .btn a {
  background: #002d4c;
  display: inline-block;
  color: #fae534;
  font-size: 1.76rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.65em 3em 0.65em 0.75em;
  position: relative;
}
#column .btn a:before {
  content: "";
  display: block;
  height: 100%;
  padding-left: 18%;
  background: #13517C;
  position: absolute;
  top: 0;
  right: 0;
}
#column .btn a span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  z-index: 5;
  color: #fae534;
  font-size: 150%;
}
.thumbList {
  display: flex;
  flex-wrap: wrap;
}
.thumbList > li {
  flex: 1 0 calc(33.333% - 1.5rem);
  max-width: calc(33.333% - 1.5rem);
  margin: 0 calc(4.5rem / 2) calc(4.5rem / 2) 0;
  background: #fefefe;
  border: solid #111 #a8a8a8;
  text-align: left;
}
.thumbList > li:nth-child(3n) {
  margin: 0 0 calc(4.5rem / 2) 0;
}
.thumbList.twin > li {
  flex: 1 0 calc(50% - 1.125rem);
  max-width: calc(50% - 1.125rem);
  margin: 0 2.25rem 2.25rem 0;
}
.thumbList.twin > li:nth-child(3n) {
  margin: 0 2.25rem 2.25rem 0;
}
.thumbList.twin > li:nth-child(even) {
  margin: 0 0 2.25rem 0;
}
.thumbBox {
  background: #fefefe !important;
  border: solid #111 #a8a8a8 !important;
  text-align: left;
  position: relative;
  z-index: 5;
}
.thumbBox .rank {
  position: absolute;
  top: 0;
  left: 0.35em;
  z-index: 1;
  background: url("../images/ribbon00.svg") no-repeat;
  background-size: 100%;
  width: 1.3em;
  height: 1.5em;
  line-height: 1;
  font-family: 'Alata';
  text-align: center;
  padding-top: 0.2em;
  letter-spacing: 0;
}
.thumbBox .rank.r01 {
  background: url("../images/ribbon01.svg") no-repeat;
  background-size: 100%;
}
.thumbBox .rank.r02 {
  background: url("../images/ribbon02.svg") no-repeat;
  background-size: 100%;
}
.thumbBox .rank.r03 {
  background: url("../images/ribbon03.svg") no-repeat;
  background-size: 100%;
}
.thumbList > li .thumb, .thumbBox .thumb {
  position: relative;
  overflow: hidden;
}
.thumbList > li .thumb:before, .thumbBox .thumb:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.thumbList > li .thumb img, .thumbBox .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.thumbList > li .date, .thumbBox .date, #postDetail .date {
  display: flex;
  flex-wrap: wrap;
  white-space: nowrap;
  align-items: stretch;
  padding: 0.25rem 1rem 0.25rem 0;
  background-color: #DFE6F1;
  font-size: 1.3rem;
}
.thumbList > li .date dl, .thumbBox .date dl, #postDetail .date dl {
  display: flex;
  align-items: center;
  color: #7c7c7c;
  margin-left: 1rem;
}
.thumbList > li .date dl dt, .thumbBox .date dl dt, #postDetail .date dl dt {
  background: url("../images/icon_clock.svg") no-repeat left center;
  background-size: auto 1em;
  padding-left: 1.2em;
}
.thumbList > li .date dl dt:after, .thumbBox .date dl dt:after, #postDetail .date dl dt:after {
  content: ":";
}
.thumbList > li h3 a, .thumbBox h3 a {
  font-weight: 700;
  color: #002d4c;
  line-height: 1.3;
  padding: 0.45em 1rem 0.25em;
  font-size: 1.7rem;
}
.thumbList > li .cate, .thumbBox .cate {
  padding: 0.5rem 1rem 1rem;
  font-size: 0;
  letter-spacing: -0.4em;
}
.thumbList > li .cate > li, .thumbBox .cate > li {
  display: inline-block;
  white-space: nowrap;
  margin: 0 0.3rem 0.3rem 0;
}
.thumbList > li .cate > li a, .thumbBox .cate > li a {
  background-color: #202A4C;
  color: #fcfcfc;
  font-size: 1.2rem;
  letter-spacing: 0;
  padding: 0.15em 0.5em;
  border-radius: 20rem;
}
.thumbList > li .cate > li a:hover, .thumbBox .cate > li a:hover {
  background-color: #565D71;
}
.contactArea {
  text-align: center;
  position: relative;
  z-index: 5;
  color: #deecf6;
  background: #fefefe;
}
.contactArea ul {
  display: flex;
  align-content: stretch;
  justify-content: center;
  position: relative;
  z-index: 5;
}
.contactArea ul > li {
  margin: 0 1.5%;
  display: flex;
  align-content: stretch;
}
.contactArea ul > li a {
  background: rgba(0, 90, 212, 0.9);
  color: #ebeced;
  line-height: 1.3;
  padding: 0.5em 2em 0.5em 4em;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 3.04rem;
  position: relative;
}
.contactArea.first .inner {
  padding: 7.5% 0 2.5%;
}
/*.contactArea.first:before {
  content: "";
  display: block;
  background: url("../images/worker.png") no-repeat;
  background-size: cover;
  width: 17%;
  padding-top: calc(169.697% * 0.17);
  position: absolute;
  bottom: 0;
  left: 7%;
  z-index: 4;
}*/
.contactArea.first:before {
  content: "";
  display: block;
  background: url("../images/worker2.png") no-repeat;
  background-size: cover;
  width: 18%;
  padding-top: calc(141.2% * 0.18);
  position: absolute;
  bottom: 0;
  left: 7%;
  z-index: 4;
}
.contactArea.first:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  border-top: 3em solid #13517C;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.contactArea.first p {
  color: #13517C;
  font-weight: 700;
  font-size: 2.72rem;
  margin-bottom: 0.75em;
  line-height: 1.2;
  position: relative;
  display: inline-block;
  z-index: 5;
}
.contactArea.first p span {
  letter-spacing: -0.015em;
  font-size: 135%;
  font-weight: 700;
}
.contactArea.large {
  background: url("../images/bg_contact.jpg") no-repeat center top;
  background-size: cover;
  padding: 4% 0 5%;
  margin: 0 auto;
}
.contactArea.large:before {
  content: "";
  display: block;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
  background-size: 8px 8px;
  background-color: rgba(36, 43, 57, 0.35);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.contactArea.large p {
  color: #fff;
  font-weight: 700;
  font-size: 2.4rem;
  margin-bottom: 0.75em;
  line-height: 1.3;
  position: relative;
  display: inline-block;
  z-index: 5;
}
.contactArea.large p span {
  display: block;
}
.contactArea.large p span:first-of-type {
  font-size: 110%;
}
.contactArea.large p:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.7em 6px 0 6px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  left: -1.0em;
  bottom: -0.3em;
  transform: rotate(-20deg);
}
.contactArea.large p:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.7em 6px 0 6px;
  border-color: #fff transparent transparent transparent;
  position: absolute;
  right: -1.0em;
  bottom: -0.3em;
  transform: rotate(20deg);
}
.contactArea.large p em {
  font-size: 75%;
  padding-right: 0.1em;
  display: inline-block;
}
.contactArea.large ul > li a {
  font-size: 2.88rem;
}
.contactArea.large ul {
  display: block;
  margin: 0 auto;
  text-align: center;
}
.contactArea.large ul li {
  justify-content: center;
  margin: 0 auto 1.5%;
}
.contactArea.large ul li.mail a {
  font-size: 2.24rem;
  text-align: left;
}
.contactArea ul > li a:hover {
  background: rgba(0, 90, 212, 1);
}
.contactArea ul > li.tel a {
  background: rgba(230, 3, 110, 0.90);
}
.contactArea ul > li.tel a:hover {
  background: rgba(230, 3, 110, 1);
}
.contactArea ul > li a:before {
  content: "";
  display: block;
  background: url("../images/icon_mail.svg") no-repeat;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 2.12em;
  top: 53%;
  transform: translateY(-50%);
}
.contactArea ul > li.tel a:before {
  background: url("../images/icon_phone.svg") no-repeat;
  background-size: 100% auto;
  width: 0.75em;
  height: 1.25em;
  left: 2.25em;
}
.contactArea ul > li a:after {
  content: "";
  display: block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  border: solid 2px #fdf7f8;
  position: absolute;
  left: 1.7em;
  top: 50%;
  transform: translateY(-50%);
}
.contactArea ul > li a em {
  font-size: 50%;
  display: block;
  font-weight: 500;
}
.breadcrumbs {
  position: relative;
  z-index: 5;
  background: #ebeced;
  overflow-x: scroll;
  word-break: keep-all;
  white-space: nowrap;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.breadcrumbs:-webkit-scrollbar {
  display: none;
}
.breadcrumbs .inner {
  max-width: 100%;
  white-space: nowrap;
}
.breadcrumbs ul {
  display: flex;
  align-items: center;
  line-height: 1;
  font-size: 14px;
  max-width: 1100px;
  margin: 0 auto;
}
.breadcrumbs ul li {
  position: relative;
  display: inline-block;
  padding: 0 0 0 1.5em;
}
.breadcrumbs ul li:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 1em solid #ccc;
  border-top: 1em solid transparent;
  border-bottom: 1em solid transparent;
  position: absolute;
    right: -1em;
    top: 0;
  }

.breadcrumbs ul li:nth-child(1) {
  padding: 0;
  background: #ebeced;
  z-index: 10;
}
.breadcrumbs ul li:nth-child(1):after {
  border-left: 1em solid #ebeced;
}
.breadcrumbs ul li:nth-child(2) {
  background: #DDDEE0;
  z-index: 9;
}
.breadcrumbs ul li:nth-child(2):after {
  border-left: 1em solid #DDDEE0;
}
.breadcrumbs ul li:nth-child(3) {
  background: #CFD1D4;
  z-index: 8;
}
.breadcrumbs ul li:nth-child(3):after {
  border-left: 1em solid #CFD1D4;
}
.breadcrumbs ul li:nth-child(4) {
  background: #BDC0C5;
  z-index: 7;
}
.breadcrumbs ul li:nth-child(4):after {
  border-left: 1em solid #BDC0C5;
}
.breadcrumbs ul li:nth-child(5) {
  background: #ADB0B6;
  z-index: 6;
}
.breadcrumbs ul li:nth-child(5):after {
  border-left: 1em solid #ADB0B6;
}
.breadcrumbs ul li:last-child {
  z-index: 1;
  display: flex;
  align-items: stretch;
  line-height: 2;
  padding: 0 1.5em 0 2.5em;
}
.breadcrumbs ul li a {
  color: #5D6D77;
  display: inline-block;
  padding: 0.5em 1em;
}
.breadcrumbs ul li a:hover {
  color: #002d4c;
}
.pagination, .wp-pagenavi {
  position: relative;
  margin: 1.5em auto 0;
  display: flex;
  align-content: center;
  justify-content: center;
}
.pagination li, .wp-pagenavi a, .wp-pagenavi .current {
  background: #002d4c;
  color: #efefef;
  margin: 0 0.25em;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0;
  width: 1.7em;
  border-radius: 50%;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-pagenavi .page{
    color: #fae534;
}
.pagination a {
 display: block;
 width: 100%;
 line-height: 18px;
}
.pagination a:hover, .wp-pagenavi a:hover {
 color: #efefef;
}
.formArea {
 padding: 2rem;
 margin: 2rem auto;
 background: #13517C;
 border-radius: 8px;
 position: relative;
 z-index: 5;
 text-align: left;
}
.formArea form {
 width: 100%;
 font-size: 1.5rem;
 position: relative;
}
.formArea input[type=text] {
 width: 100%;
 height: 38px;
 padding: 10px;
 box-sizing: border-box;
 border-radius: 20rem;
 -webkit-appearance: none;
 border: 1px solid #B6CBD9;
}
.formArea input[type=text]:focus {
 background: #FEFCEC;
 outline: none;
}
.formArea .searchButton {
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0.75em;
 display: block;
}
.formArea .searchButton input[type="submit"] {
 padding-left: 2em;
 background: url("../images/icon_search.svg") no-repeat left center;
 background-size: auto 100%;
 border: none;
 -webkit-appearance: none;
 font-size: 1.5rem;
 font-weight: 600;
 color: #13517C;
}
.formArea .keywords {
 padding: 0 0 0.25em;
 text-align: left;
}
.formArea .keywords li {
 display: inline-block;
 margin: 0 0.65em 0 0;
 font-size: 1.5rem;
}
.formArea .keywords li a:before {
 content: "#";
 font-family: 'Alata';
 display: inline-block;
 color: #B5CAD7;
 padding-right: 0.1em;
}
.formArea .keywords li a {
 color: #CBD2D6;
}
.formArea .cateTtl {
 color: #fae534;
 margin: 1.25em 0 0.75em;
 font-size: 1.76rem;
 font-weight: 600;
 line-height: 1.2;
 display: block;
}
.formArea .checkboxItem {
 display: inline-flex;
 align-items: center;
 column-gap: 6px;
 line-height: 1;
 cursor: pointer;
 color: #fcfcfc;
}
.formArea .checkboxItem:not(:last-of-type) {
 margin-right: 20px;
}
.formArea .checkbox {
 appearance: none;
 position: relative;
 width: 20px;
 height: 20px;
 border: 2px solid #fcfcfc;
 border-radius: 2px;
 cursor: pointer;
}
.formArea .checkbox:checked {
 background-color: #fcfcfc;
}
.formArea .checkbox:checked::after {
 content: "";
 position: absolute;
 top: 1px;
 left: -1px;
 width: 16px;
 height: 8px;
 border-bottom: 4px solid rgba(230, 3, 110, 1);
 border-left: 4px solid rgba(230, 3, 110, 1);
 transform: rotate(-45deg);
}
.formArea .submitButton {
 display: block;
 text-align: center;
 margin: 1.5em auto 0;
}
.formArea .submitButton input {
 background: #fae534;
 display: inline-block;
 color: #002d4c;
 font-size: 1.76rem;
 font-weight: 600;
 line-height: 1;
 padding: 0.35em 3em;
 position: relative;
 border: none;
 cursor: pointer;
 transition: .2s;
}
.formArea .submitButton input:hover {
 background-color: #FAAA34;
}
.regionList > li .region {
 font-size: 1.8rem;
 font-weight: 500;
 background: #13517C;
 margin-bottom: 1%;
 border-radius: 20rem;
 cursor: pointer;
 padding: 0.25em 1em;
 position: relative;
 text-align: center;
}
.regionList > li .region:after {
 content: "";
 display: block;
 position: absolute;
 top: 55%;
 transform: translateY(-50%)rotate(180deg);
 right: 1.5em;
 width: 0;
 height: 0;
 border-style: solid;
 border-right: 0.35em solid transparent;
 border-left: 0.35em solid transparent;
 border-top: 0.45em solid rgba(255, 255, 255, 0.4);
 border-bottom: 0;
}
.regionList > li .region.active:after {
 transform: translateY(-50%)rotate(0deg);
}
.regionList > li > ul {
 width: calc(100% - 2.5em);
 margin: 0 auto;
 display: none;
}
.regionList > li > ul li .prefectures {
 background-color: #104367;
 margin-bottom: 1%;
 border-radius: 20rem;
 text-align: left;
 cursor: pointer;
 padding: 0.25em 1em;
 font-size: 1.6rem;
 position: relative;
}
.regionList > li > ul li .prefectures:after {
 content: "";
 display: block;
 position: absolute;
 top: 55%;
 transform: translateY(-50%)rotate(180deg);
 right: 1.5em;
 width: 0;
 height: 0;
 border-style: solid;
 border-right: 0.35em solid transparent;
 border-left: 0.35em solid transparent;
 border-top: 0.45em solid rgba(255, 255, 255, 0.4);
 border-bottom: 0;
}
.regionList > li > ul li .prefectures.active:after {
 transform: translateY(-50%)rotate(0deg);
}
.regionList > li > ul li ul {
 padding: 0 1em 0.5em;
 display: none;
}
.regionList > li > ul li ul li {
 display: inline-block;
 font-size: 1.4rem;
}
.regionList > li > ul li ul li:after {
 content: "/";
 display: inline-block;
 line-height: 1;
 padding: 0 0 0 0.2em;
 transform: translateY(-0.4em);
 opacity: 0.6;
}
.regionList > li > ul li ul li:last-child:after {
 display: none;
}
.regionList > li > ul li ul li a {
 color: #fcfcfc;
 display: inline-block;
}
.vList {
 display: flex;
 flex-wrap: wrap;
}
.vList li {
 display: flex;
 align-items: stretch;
 justify-content: space-between;
 overflow: hidden;
 flex: 1 0 calc(50% - 0.75rem);
 max-width: calc(50% - 0.75rem);
 margin: 0 1.5rem 1.5rem 0;
}
.vList li:nth-child(even) {
 margin: 0 0 1.5rem 0;
}
.vList li .thumb {
 flex: 1 0 8em;
 max-width: 8em;
 position: relative;
 overflow: hidden;
 border-radius: 12px 0 0 12px;
 height: 8em;
}
.vList li .thumb img {
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 height: 100%;
 width: auto;
}
.vList li .txt {
 flex: 1 0 calc(100% - 8em);
 max-width: calc(100% - 8em);
 padding: 1.5em;
 text-align: left;
 background: #efefef;
 border-radius: 0 12px 12px 12px;
 overflow: hidden;
}
.vList li .txt h2 {
 font-weight: 700;
}
.vList li .txt h3 {
 font-weight: 700;
}
.vList li .txt p {
 font-size: 15px;
 margin-top: 0.75em;
}
.slick-prev, .slick-next {
 top: 50%;
 transform: translateY(-50%);
 position: absolute;
 font-size: 0;
 background: none;
 outline: none;
 border: none;
}
.slick-prev {
 left: -0.75rem;
}
.slick-next {
 right: -0.75rem;
}
.slick-prev:before, .slick-next:before {
 content: "";
 display: block;
 width: 1.5rem;
 height: 1.5rem;
 position: absolute;
 cursor: pointer;
 transition: .2s;
}
.slick-prev:before {
 border-left: 4px solid #13517C;
 border-bottom: 4px solid #13517C;
 left: 0;
 transform: rotate(45deg);
}
.slick-next:before {
 border-top: 4px solid #13517C;
 border-right: 4px solid #13517C;
 right: 0;
 transform: rotate(45deg);
}
.slick-prev:hover:before {
 border-left: 4px solid #176DA3;
 border-bottom: 4px solid #176DA3;
}
.slick-next:hover:before {
 border-top: 4px solid #176DA3;
 border-right: 4px solid #176DA3;
}
.slick-dots {
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 margin: 1.5rem auto;
}
.slick-dots li {
 margin: 0 3px;
}
.slick-dots li button {
 font-size: 0;
 background: #13517C;
 border: solid 2px #13517C;
 border-radius: 50%;
 height: 10px;
 width: 10px;
 box-sizing: border-box;
 display: block;
 line-height: 1;
 padding: 0;
}
.slick-dots li.slick-active button {
 background: #fae534;
}
aside .contactBnr {
 position: relative;
 margin: 0 0 2rem;
 text-align: center;
}
aside .contactBnr:before {
 content: "";
 display: block;
 background: url("../images/worker2.png") no-repeat;
 background-size: 30%;
}
aside .contactBnr .ttl {
 font-weight: 800;
 line-height: 1.4;
 position: relative;
 display: inline-block;
 color: #13517C;
 font-size: 2rem;
}
aside .contactBnr .ttl em {
 display: block;
 font-size: 84%;
}
aside .contactBnr .ttl:before {
 content: "";
 display: block;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 2.4em 6px 0 6px;
 border-color: #13517C transparent transparent transparent;
 position: absolute;
 left: -1.2em;
 bottom: -0.3em;
 transform: rotate(-20deg);
}
aside .contactBnr .ttl:after {
 content: "";
 display: block;
 width: 0;
 height: 0;
 border-style: solid;
 border-width: 2.4em 6px 0 6px;
 border-color: #13517C transparent transparent transparent;
 position: absolute;
 right: -1.2em;
 bottom: -0.3em;
 transform: rotate(20deg);
}
aside .contactBnr ul li {
 margin-top: 0.5em;
}
aside .contactBnr ul a {
 background: rgba(230, 3, 110, 1);
 color: #ebeced;
 line-height: 1.2;
 padding: 0.5em 1em 0.5em 2.6em;
 font-weight: 600;
 letter-spacing: 0;
 font-size: 2.6rem;
 position: relative;
 white-space: nowrap;
 box-shadow: 3px 3px 0 rgba(0, 45, 76, 0.3);
}
aside .contactBnr ul .mail a {
 background: rgba(0, 90, 212, 1);
}
aside .contactBnr ul .tel a:before {
 content: "";
 display: block;
 background: url("../images/icon_phone.svg") no-repeat;
 background-size: 100% auto;
 width: 0.75em;
 height: 1.25em;
 position: absolute;
 left: 8.7%;
 top: 53%;
 transform: translateY(-50%);
}
aside .contactBnr ul .mail a:before {
 content: "";
 display: block;
 background: url(../images/icon_mail.svg) no-repeat;
 background-size: 100% auto;
 width: 1em;
 height: 1em;
 position: absolute;
 left: 7.3%;
 top: 53%;
 transform: translateY(-50%);
}
aside .contactBnr ul a:after {
 content: "";
 display: block;
 width: 1.7em;
 height: 1.7em;
 border-radius: 50%;
 border: solid 2px #fdf7f8;
 position: absolute;
 left: 0.4em;
 top: 50%;
 transform: translateY(-50%);
}
aside .contactBnr ul a em {
 font-size: 50%;
 display: block;
 font-weight: 500;
 font-style: normal;
}
aside .sideCategory {
 background: #D8D8DF;
 font-size: 1.4rem;
 text-align: left;
 position: relative;
 border-radius: 4px;
 overflow: hidden;
}
aside .sideCategory:before {
 content: "";
 display: block;
 border: 0.75em solid #13517C;
 border-left-color: transparent;
 border-bottom-color: transparent;
 height: 0;
 width: 0;
 position: absolute;
 top: 0;
 right: 0;
 z-index: 5;
}
aside .sideCategory h2 {
 font-weight: 700;
 font-size: 1.8rem;
 line-height: 1;
 padding: 1.5rem 1.5rem;
 color: #fae534;
 background: #002d4c;
}
aside .sideCategory ul {
 padding: 1rem;
}
aside .sideCategory ul li {
 margin-bottom: 0.35rem;
}
aside .sideCategory ul li a {
 padding: 0.5em 2em 0.5em 1.25em;
 background-color: #202A4C;
 color: #fcfcfc;
 border-radius: 20rem;
 position: relative;
}
aside .sideCategory ul li a:hover {
 background-color: #565D71;
}
aside .sideCategory ul li a:before {
 content: "";
 display: block;
 width: 0.4em;
 height: 0.4em;
 position: absolute;
 cursor: pointer;
 transition: .2s;
 border-top: 3px solid #fcfcfc;
 border-right: 3px solid #fcfcfc;
 right: 1.5em;
 transform: rotate(45deg) translateY(-50%);
 top: 50%;
}
aside .sideCategory ul.tags li {
 display: inline;
}
aside .sideCategory ul.tags li a {
 display: inline;
 padding: 0.25em 0.5em 0.25em;
 background-color: unset;
 color: #202A4C;
 border-radius: unset;
}
aside .sideCategory ul.tags li a:before {
 content: "";
 display: none;
}

@media screen and (max-width: 999px) {
 body {
  font-size: 1.4rem;
 }
 .caution {
  font-size: 1.2rem !important;
 }
 .sp {
  display: block !important;
 }
 .pc {
  display: none !important;
 }
 /* レイアウト */
 .contentsArea {
  padding: 1rem 0;
 }
 .contentsArea > .inner {
  display: block;
  padding: 0 1rem;
 }
 .contentsArea > .inner main {
  flex: none;
  max-width: 100%;
  padding: 1rem;
 }
 aside {
  width: 100%;
  position: relative;
  top: 0;
  margin-top: 10%;
 }
 section {
  padding: 7.5% 0;
 }
 .lower #kv .inner {
  padding: 12% 1.5rem;
 }
 /* パーツ */
/* パーツ */
  .pateTtl {
    font-size: 2.24rem;
  }
  .secTtl {
    font-size: 2.88rem;
    margin-bottom: 0.5em;
    padding-bottom: 0.5em;
  }
  .bigTtl {
    font-size: 2.72rem;
    margin-bottom: 1em;
  }
  .middleTtl {
    font-size: 2.72rem;
    margin-bottom: 1em;
  }
  .middleTtl_y {
    font-size: 2.72rem;
    margin-bottom: 1em;
  }
 .barTtl {
  padding: 0.65em 0.75em 0.65em 1rem;
  margin: 0 0 1em -1rem;
  width: calc(100% + 1rem);
 }
 .bgYellow {
  background-image: linear-gradient(#fbd932 1px, transparent 1px), linear-gradient(90deg, #fbd932 1px, transparent 1px);
  background-size: 12px 12px;
 }
 .bgDotted {
  background-image: radial-gradient(circle at center, #d3d3d3 1px, transparent 1px);
  background-size: 5px 5px;
 }
 .lead {
  font-size: 1.4rem;
  margin: 0 auto 5%;
  font-weight: 500;
  line-height: 1.6;
 }
 .lead p {
  font-size: 1.4rem;
  font-weight: 500;
 }
 .caution {
  font-size: 1.1rem !important;
 }
 .tab-list-item {
  padding: 1em 0.75em;
  font-size: 1.44rem;
 }
 .tab-list-item:before {
  border: 0.5em solid #ebeced;
  border-left-color: transparent;
  border-bottom-color: transparent;
 }
 .tab-contents {
  padding: 0.75em 0.5em 0.5em;
 }
 .tab-contents h3 {
  font-size: 1.92rem;
  margin-bottom: 0.75em;
 }
 /* 各種リスト */
 .cateNameList {
  padding-bottom: calc(5% - 0.75rem);
 }
 .cateNameList > li {
  flex: 1 0 calc(33.333% - 0.375rem);
  max-width: calc(33.333% - 0.375rem);
  margin: 0 0.25rem 0.75rem 0.25rem !important;
 }
 .cateNameList > li:nth-child(even) {
  margin: 0 0 0.75rem !important;
 }
 .cateNameList > li a {
  background-color: #202A4C;
  color: #fcfcfc !important;
  font-size: 1.5rem !important;
  padding: 0.5em 2em 0.5em 1.25em !important;
  border-radius: 20rem;
  position: relative;
  text-align: left;
 }
 .cateNameList > li a:hover {
  background-color: #565D71;
 }
 .cateNameList > li a:before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  cursor: pointer;
  transition: .2s;
  border-top: 3px solid #fcfcfc;
  border-right: 3px solid #fcfcfc;
  right: 1.5em;
  transform: rotate(45deg)translateY(-50%);
  top: 50%;
 }
 .targetList li {
  display: block;
 }
 .targetList li:before {
  border: 0.75em solid #dfdfdf;
  border-left-color: transparent;
  border-bottom-color: transparent;
 }
 .targetList li:after {
  content: "";
  display: block;
  clear: both;
 }
 .targetList li .thumb {
  flex: none;
  max-width: 100%;
  width: 50%;
  float: right;
  margin-bottom: 0.25em;
 }
 .targetList li .txt {
  padding-left: 0;
  text-align: left;
  display: inline;
 }
 .targetList li .txt h2 {
  font-size: 2.56rem;
  display: block;
  width: calc(50% - 1rem);
  text-align: left;
  margin: 0 0 0.25em;
  padding: 0.25em 0.25em;
  transform: translateY(0);
 }
 .targetList li .txt p {
  padding: 0;
 }
 .caseLargeList {
  margin: 5% 0 0;
  padding: 1rem;
 }
 .caseLargeList > li {
  display: block;
  padding: 1rem;
  margin-bottom: 1.5rem;
 }
 .caseLargeList > li .thumb {
  flex: none;
 }
 .caseLargeList > li .txt {
  padding: 1em 0 0;
  flex: none;
 }
 .caseLargeList > li .txt .parameter {
  font-size: 1.4rem;
 }
 .caseLargeList > li .txt .parameter dl {
  margin-right: 1em;
  margin: 0 1.5em 0.5rem 0;
 }
 .caseLargeList > li .txt p {
  font-size: 1.4rem;
 }
 .caseLargeList > li .txt .btn a {
  font-size: 1.4rem;
 }
 .acList > li {
  margin: 0 0 1rem;
 }
 .acList > li > dl {
  border-radius: 4px;
 }
 .acList > li > dl .accordionHeader {
  padding: 1.25rem 3rem 1.25rem 3em;
 }
 .acList > li > dl .accordionHeader:before {
  top: 1.15rem;
  left: 1.5rem;
 }
 .acList > li > dl .accordionHeader:after {
  font-size: 2rem;
  right: 1.25rem;
 }
 .acList > li > dl .accordionContent {
  padding: 1.25em 1.5rem;
 }
 .areaList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 1.5rem;
 }
 .areaList > li {
  margin: 0 0 0.35em;
 }
 .areaList > li:after {
  content: "|";
  display: inline-block;
  padding: 0 0.35em;
  line-height: 1.2;
  opacity: 0.5;
 }
 .areaList > li:last-child:after {
  display: none;
 }
 .areaList > li a {
  color: #002d4c;
  display: inline-block;
  vertical-align: bottom;
 }
 .staffList {
  display: block;
 }
 .staffList > li {
  flex: none;
  max-width: 100%;
  margin: 0 0 1.5rem;
  padding: 1rem;
 }
 .staffList > li:nth-child(even) {
  margin: 0 0 1.5rem;
 }
 .staffList > li:last-child {
  margin: 0;
 }
 .staffList > li .flex .ph {
  padding: 1rem;
  flex: 1 0 35%;
  max-width: 35%;
 }
 .staffList > li .flex .txt {
  flex: 1 0 65%;
 }
 .staffList > li .flex .txt dl {
  display: block;
  margin-top: 0.5em;
 }
 .staffList > li .flex .txt dl dt {
  flex: none;
  max-width: 100%;
 }
 .staffList > li .flex .txt dl dd {
  padding-top: 0.25em;
 }
 .staffList > li p {
  padding: 0.5em 0 0;
 }
 .officeList {
  display: block;
 }
 .officeList > li {
  flex: none;
  max-width: 100%;
  margin: 0 0 1.5rem;
 }
 .officeList > li:nth-child(3n) {
  margin: 0 0 1.5rem;
 }
 .officeList > li:last-child {
  margin: 0;
 }
 .officeList > li .address {
  font-size: 100%;
 }
 .officeList > li .toMap a {
  font-size: 1.4rem;
 }
 .mokuji {
  padding: 1.5rem 1rem 1rem;
  border-radius: 5px;
 }
 .mokuji h2 {
  margin-bottom: 0.5em;
  text-align: center;
 }
 .mokuji > ul > li {
  font-size: 1.5rem;
 }
 .writer .box {
  display: block;
 }
 .writer .box .thumb {
  flex: none;
  margin: 0 auto;
 }
 .writer .box .txt {
  flex: none;
  padding: 1em 0 0;
 }
 .writer .box .txt small {
  text-align: center;
 }
 .writer .box .txt .name {
  text-align: center;
 }
 header {
  height: 80px;
  padding: 0 1.5rem;
 }
 header .inner {
  padding: 10px 0;
 }
 header .logo {
  flex: 1 0 125px;
  max-width: 125px;
  padding: 0 0 0 10px;
 }
 header .logo:before {
  top: -10px;
 }
 header .logo h1,
 header .logo p {
  padding-bottom: 10px;
 }
 header .logo h2 {
  line-height: 1;
  padding-top: 5px;
  opacity: 0;
 }
 header nav {
  display: none;
 }
 header .utility {
  display: none;
 }
 .lower header {
  background: none;
  height: 60px;
  display: flex;
  align-items: center;
 }
 .lower header:before {
  content: "";
  display: block;
  height: 100%;
  width: calc(100% - 6rem);
  background: #002d4c;
  position: absolute;
  top: 0;
  left: 0;
 }
 .lower header .inner {
  padding: 0;
  display: block;
 }
 .lower header .logo {
  display: flex;
  align-items: center;
  padding: 0;
 }
 .lower header .logo:before {
  display: none;
 }
 .lower header .logo h1,
 .lower header .logo p {
  flex: 1 0 12rem;
  max-width: 12rem;
  padding: 0 1em 0 0;
 }
 .lower header .logo h1:after,
 .lower header .logo p:after {
  display: none;
 }
 .lower header h2 {
  opacity: 1;
  padding: 0;
  line-height: 1.4;
  font-size: 10px;
 }
 footer .inner {
  padding: 7.5% 1.5rem calc(7.5% + 30px);
  display: block;
 }
 footer .company {
  flex: none;
  max-width: 100%;
  padding: 2em 0 0;
 }
 footer .company h2 {
  width: 50%;
  margin: 0 auto;
 }
 footer .cr {
  font-size: 1.2rem;
  margin: 2em auto 0;
  text-align: center;
  position: relative;
 }
 footer nav {
  flex: none;
  max-width: 100%;
  display: block;
  text-align: center;
 }
 footer nav ul {
  padding-left: 0;
  white-space: normal;
 }
 footer nav ul li {
  margin-bottom: 0.75em;
  text-indent: 0;
  display: inline-block;
 }
 footer nav ul li a::after {
  content: "/";
  margin: 0 0.25em;
 }
 footer nav ul li:last-child a::after {
  content: "";
 }

 footer nav ul li.big {
  display: block;
 }
 footer nav ul li a {
  color: #deecf6;
 }
 footer nav ul li.big a {
  color: #fae534;
  font-size: 1.92rem;
 }
 footer nav ul li.big a::after {
  content: "";
 }
 .navArea {
  display: block;
 }
 .navArea nav {
  display: block;
  position: fixed;
  top: 0;
  right: -30rem;
  bottom: 0;
  width: 30rem;
  background: #002d4c;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 5000;
  opacity: 0;
  padding: 8% 1.5em 1.5rem;
 }
 .open nav {
  right: 0;
  opacity: 1;
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
 }
 .open nav:-webkit-scrollbar {
  display: none;
 }
 .navArea nav .logo {
  width: 18rem;
  padding-bottom: 1.5em;
 }
 .navArea nav > ul {
  margin: 0 0 1em;
 }
 .navArea nav > ul > li > a {
  padding: 0.35em 0;
  font-size: 1.6rem;
  font-weight: 600;
 }
 .navArea nav > ul.mini > li > a {
  font-weight: 400;
  color: #deecf6;
  font-size: 1.4rem;
 }
 .navArea nav > ul > li .subMenu {
  display: flex;
  flex-wrap: wrap;
  padding-left: 1.25em;
  font-size: 1.3rem;
 }
 .navArea nav > ul > li .subMenu li {
  margin: 0 4px 4px 0;
 }
 .navArea nav > ul > li .subMenu li a {
  color: #deecf6;
  border: 1px solid rgba(222, 236, 246, 0.5);
  padding: 0.25em 0.5em;
  border-radius: 3px;
 }
 .navArea nav .utility {
  margin: 0;
 }
 .navArea nav .utility li {
  display: block;
  margin: 0 0 1rem;
 }
 .navArea nav .utility li a {
  padding: 0.5em 1em;
  text-align: center;
  font-size: 2rem;
 }
 .hamburger {
  display: block;
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  width: 3rem;
  height: 3rem;
  transition: all .5s;
  cursor: pointer;
  z-index: 5001;
 }
 .hamburger span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  transition: all .5s;
 }
 .hamburger span:nth-child(1) {
  top: 4px;
 }
 .hamburger span:nth-child(2) {
  top: 14px;
 }
 .hamburger span:nth-child(3) {
  bottom: 4px;
 }
 .open .hamburger span {
  background-color: #deecf6;
 }
 .open .hamburger span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
 }
 .open .hamburger span:nth-child(2) {
  opacity: 0;
 }
 .open .hamburger span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
 }
 #overlay {
  display: none;
  transition: all .5s;
 }
 .open #overlay {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 1000;
  cursor: pointer;
 }
 .fixedBtn {
  padding: 0 1.5rem;
  height: 50px;
 }
 .fixedBtn p {
  display: none;
 }
 .fixedBtn .tel a {
  font-size: 16px;
  font-weight: 800;
  padding: 0.25em 0.5em 0.25em 2.75em;
 }
  .fixedBtn .tel a em {
  font-size: 55%;
 }
 .fixedBtn .mail a {
  font-size: 16px;
  font-weight: 700;
  padding: 0.25em 0.5em 0.25em 2.75em;
 }
 .fixedBtn .mail a em {
  font-size: 55%;
 }
 #area .inner {
  padding: 2.5% 1.5rem;
 }
 #area .flex .txt {
  width: 100%;
 }
 #area .flex .txt h2 {
  font-weight: 800;
  font-size: 2.56rem;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
 }
 #area .flex .txt ul li {
  margin-bottom: 0.45em;
 }
 #area .flex .map {
  right: 2%;
  top: 0%;
  width: 90%;
  padding-top: calc(107.14% * 0.9);
  opacity: 0.2;
 }
 .caseList {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  overflow-x: scroll;
  flex-wrap: nowrap;
  justify-content: flex-start;
 }
 .caseList > li {
  flex: 1 0 calc(50% - 1.5rem);
  max-width: calc(50% - 1.5rem);
  margin: 0 0 0 1.5rem;
 }
 .caseList > li:nth-child(3n) {
  margin: 0 0 0 1.5rem;
 }
 .columnList {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  overflow-x: scroll;
 }
 .columnList > li {
  flex: 1 0 calc(50% - 1.5rem);
  max-width: calc(50% - 1.5rem);
  margin: 0 0 0 1.5rem;
 }
 .columnList > li:nth-child(4n) {
  margin: 0 0 0 1.5rem;
 }
 .columnList > li a {
  color: #002d4c;
 }
 .columnList > li .thumb {
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
 }
 .columnList > li .thumb img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
 }
 .columnList > li .date {
  display: flex;
  justify-content: space-between;
  font-size: 1.12rem;
  line-height: 1.2;
  padding: 1em 1em 0.85em;
  color: #6c6c6c;
  letter-spacing: 0;
 }
 .columnList > li .date dl {
  display: flex;
  align-items: center;
 }
 .columnList > li .date dl dt:after {
  content: ":";
 }
 .columnList > li h3 {
  font-size: 1.44rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  padding: 0 0.85em;
 }
 .columnList > li h3 a:hover {
  color: rgba(230, 3, 110, 1);
 }
 .columnList > li .cate {
  padding: 1em;
  font-size: 1.12rem;
  text-align: left;
  display: block;
 }
 .columnList > li .cate li {
  display: inline-block;
  margin: 0 0.2em 0.2em 0;
 }
 .columnList > li .cate li a {
  display: inline-block;
  background: #dfdfdf;
  color: #7c7c7c;
  font-weight: 500;
  line-height: 1.2;
  padding: 0.35em 0.75em;
  border-radius: 20rem;
 }
 .columnList > li .cate li a:hover {
  background: #fae534;
  color: #F07200;
 }
 #column .btn {
  margin: 1em auto 0;
 }
 #column .btn a {
  background: #002d4c;
  display: inline-block;
  color: #fae534;
  font-size: 1.76rem;
  font-weight: 600;
  line-height: 1;
  padding: 0.65em 3em 0.65em 0.75em;
  position: relative;
 }
 #column .btn a:before {
  content: "";
  display: block;
  height: 100%;
  padding-left: 18%;
  background: #13517C;
  position: absolute;
  top: 0;
  right: 0;
 }
 #column .btn a span {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
  z-index: 5;
  color: #fae534;
  font-size: 150%;
 }
 .thumbList > li {
  flex: 1 0 calc(50% - 0.375rem);
  max-width: calc(50% - 0.375rem);
  margin: 0 0.75rem 0.75rem 0;
 }
 .thumbList > li:nth-child(even) {
  margin: 0 0 0.75rem !important;
 }
 .thumbList > li:nth-child(3n) {
  margin: 0 0 0.75rem;
 }
 .thumbList.twin > li {
  flex: 1 0 calc(50% - 0.375rem);
  max-width: calc(50% - 0.375rem);
  margin: 0 0.75rem 0.75rem 0;
 }
 .thumbList.twin > li:nth-child(3n) {
  margin: 0 0.75rem 0.75rem 0;
 }
 .thumbList.twin > li:nth-child(even) {
  margin: 0 0 0.75rem !important;
 }
 .thumbBox {
  background: #fefefe !important;
  border: solid #111 #a8a8a8 !important;
  text-align: left;
  position: relative;
  z-index: 5;
 }
 .thumbBox .rank {
  position: absolute;
  top: 0;
  left: 0.35em;
  z-index: 1;
  background: url("../images/ribbon00.svg") no-repeat;
  background-size: 100%;
  width: 1.3em;
  height: 1.5em;
  line-height: 1;
  font-family: 'Alata';
  text-align: center;
  padding-top: 0.2em;
  letter-spacing: 0;
 }
 .thumbBox .rank.r01 {
  background: url("../images/ribbon01.svg") no-repeat;
  background-size: 100%;
 }
 .thumbBox .rank.r02 {
  background: url("../images/ribbon02.svg") no-repeat;
  background-size: 100%;
 }
 .thumbBox .rank.r03 {
  background: url("../images/ribbon03.svg") no-repeat;
  background-size: 100%;
 }
 .thumbList > li .thumb, .thumbBox .thumb {
  position: relative;
  overflow: hidden;
 }
 .thumbList > li .thumb:before, .thumbBox .thumb:before {
  content: "";
  display: block;
  padding-top: 56.25%;
 }
 .thumbList > li .thumb img, .thumbBox .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
 }
 .thumbList > li .date, .thumbBox .date, #postDetail .date {
  display: flex;
  flex-wrap: wrap;
  white-space: nowrap;
  align-items: stretch;
  padding: 0.25rem 1rem 0.25rem 0;
  background-color: #DFE6F1;
  font-size: 1.3rem;
 }
 .thumbList > li .date dl, .thumbBox .date dl, #postDetail .date dl {
  display: flex;
  align-items: center;
  color: #7c7c7c;
  margin-left: 1rem;
 }
 .thumbList > li .date dl dt, .thumbBox .date dl dt, #postDetail .date dl dt {
  background: url("../images/icon_clock.svg") no-repeat left center;
  background-size: auto 1em;
  padding-left: 1.2em;
 }
 .thumbList > li .date dl dt:after, .thumbBox .date dl dt:after, #postDetail .date dl dt:after {
  content: ":";
 }
 .thumbList > li h3 a, .thumbBox h3 a {
  font-size: 1.5rem;
 }
 .thumbList > li .cate > li a, .thumbBox .cate > li a {
  font-size: 1.1rem;
 }
 .contactArea ul {
  display: block;
  text-align: center;
 }
 .contactArea ul > li {
  margin: 0 auto 1rem;
  justify-content: center;
 }
 .contactArea ul > li a {
  font-size: 2.4rem;
 }
 .contactArea.first .inner {
  padding: calc(7.5% + 1.5em) 0 2.5%;
 }
 .contactArea.first:before {
  width: 28%;
  padding-top: calc(141.2% * 0.28);
  left: -5%;
 }
 .contactArea.first:after {
  border-top: 2em solid #13517C;
 }
 .contactArea.first p {
  font-size: 2.24rem;
 }
 .contactArea.large:before {
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
  background-size: 4px 4px;
 }
 .contactArea.large p {
  font-size: 1.76rem;
 }
 .contactArea.large ul > li a {
  font-size: 2.56rem;
 }
 .breadcrumbs ul {
  font-size: 12px;
 }
 .pagination {
  margin: 1em auto;
 }
 .pagination li {
  font-size: 15px;
 }
 .pagination a {
  line-height: 15px;
 }
 .formArea {
  padding: 2rem 1rem;
  margin: 0 auto 1.5rem;
  border-radius: 5px;
 }
 .formArea form {
  font-size: 1.4rem;
 }
 .formArea .submitButton {
  margin: 1.25em auto 0;
 }
 .formArea .submitButton input {
  font-size: 1.7rem;
  padding: 0.75em 3em;
 }
 .regionList > li .region {
  font-size: 1.6rem;
 }
 .regionList > li > ul {
  width: calc(100% - 1.5em);
 }
 .vList {
  display: block;
 }
 .vList li {
  flex: none;
  max-width: 100%;
  margin: 0 0 1.5rem;
 }
 .vList > li:nth-child(even) {
  margin: 0 0 1.5rem;
 }
 .vList > li:last-child {
  margin: 0;
 }
 .vList li .thumb {
  flex: 1 0 6em;
  max-width: 6em;
  border-radius: 6px 0 0 6px;
  height: 6em;
 }
 .vList li .txt {
  flex: 1 0 calc(100% - 6em);
  max-width: calc(100% - 6em);
  padding: 1em;
  border-radius: 0 6px 6px 6px;
 }
 .vList li .txt h3 {
  font-size: 1.76rem;
 }
 .vList li .txt p {
  font-size: 14px;
 }
 .slick-prev, .slick-next {
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  font-size: 0;
  background: none;
  outline: none;
  border: none;
 }
 .slick-prev {
  left: -0.75rem;
 }
 .slick-next {
  right: -0.75rem;
 }
 .slick-prev:before, .slick-next:before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  position: absolute;
  cursor: pointer;
  transition: .2s;
 }
 .slick-prev:before {
  border-left: 4px solid #13517C;
  border-bottom: 4px solid #13517C;
  left: 0;
  transform: rotate(45deg);
 }
 .slick-next:before {
  border-top: 4px solid #13517C;
  border-right: 4px solid #13517C;
  right: 0;
  transform: rotate(45deg);
 }
 .slick-prev:hover:before {
  border-left: 4px solid #176DA3;
  border-bottom: 4px solid #176DA3;
 }
 .slick-next:hover:before {
  border-top: 4px solid #176DA3;
  border-right: 4px solid #176DA3;
 }
 .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 1.5rem auto;
 }
 .slick-dots li {
  margin: 0 3px;
 }
 .slick-dots li button {
  font-size: 0;
  background: #13517C;
  border: solid 2px #13517C;
  border-radius: 50%;
  height: 10px;
  width: 10px;
  box-sizing: border-box;
  display: block;
  line-height: 1;
  padding: 0;
 }
 .slick-dots li.slick-active button {
  background: #fae534;
 }
 aside .contactBnr {
  position: relative;
  margin: 0 0 2rem;
  text-align: center;
 }
 aside .contactBnr:before {
  content: "";
  display: block;
  background: url("../images/worker2.png") no-repeat;
  background-size: 30%;
 }
 aside .contactBnr .ttl {
  font-weight: 800;
  line-height: 1.4;
  position: relative;
  display: inline-block;
  color: #13517C;
  font-size: 2rem;
 }
 aside .contactBnr .ttl em {
  display: block;
  font-size: 84%;
 }
 aside .contactBnr .ttl:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.4em 6px 0 6px;
  border-color: #13517C transparent transparent transparent;
  position: absolute;
  left: -1.2em;
  bottom: -0.3em;
  transform: rotate(-20deg);
 }
 aside .contactBnr .ttl:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.4em 6px 0 6px;
  border-color: #13517C transparent transparent transparent;
  position: absolute;
  right: -1.2em;
  bottom: -0.3em;
  transform: rotate(20deg);
 }
 aside .contactBnr ul li {
  margin-top: 0.5em;
 }
 aside .contactBnr ul a {
  background: rgba(230, 3, 110, 1);
  color: #ebeced;
  line-height: 1.2;
  padding: 0.5em 1em 0.5em 2.6em;
  font-weight: 600;
  letter-spacing: 0;
  font-size: 2.6rem;
  position: relative;
  white-space: nowrap;
  box-shadow: 3px 3px 0 rgba(0, 45, 76, 0.3);
 }
 aside .contactBnr ul .mail a {
  background: rgba(0, 90, 212, 1);
 }
 aside .contactBnr ul .tel a:before {
  content: "";
  display: block;
  background: url("../images/icon_phone.svg") no-repeat;
  background-size: 100% auto;
  width: 0.75em;
  height: 1.25em;
  position: absolute;
  left: 1em;
  top: 53%;
  transform: translateY(-50%);
 }
 aside .contactBnr ul .mail a:before {
  content: "";
  display: block;
  background: url(../images/icon_mail.svg) no-repeat;
  background-size: 100% auto;
  width: 1em;
  height: 1em;
  position: absolute;
  left: 0.82em;
  top: 53%;
  transform: translateY(-50%);
 }
 aside .contactBnr ul a:after {
  content: "";
  display: block;
  width: 1.7em;
  height: 1.7em;
  border-radius: 50%;
  border: solid 2px #fdf7f8;
  position: absolute;
  left: 0.4em;
  top: 50%;
  transform: translateY(-50%);
 }
 aside .contactBnr ul a em {
  font-size: 50%;
  display: block;
  font-weight: 500;
 }
 aside .sideCategory {
  background: #D8D8DF;
  font-size: 1.4rem;
  text-align: left;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
 }
 aside .sideCategory:before {
  content: "";
  display: block;
  border: 0.75em solid #13517C;
  border-left-color: transparent;
  border-bottom-color: transparent;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 5;
 }
 aside .sideCategory h2 {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1;
  padding: 1.5rem 1.5rem;
  color: #fae534;
  background: #002d4c;
 }
 aside .sideCategory ul {
  padding: 1rem;
 }
 aside .sideCategory ul li {
  margin-bottom: 0.35rem;
 }
 aside .sideCategory ul li a {
  padding: 0.5em 2em 0.5em 1.25em;
  background-color: #202A4C;
  color: #fcfcfc;
  border-radius: 20rem;
  position: relative;
 }
 aside .sideCategory ul li a:hover {
  background-color: #565D71;
 }
 aside .sideCategory ul li a:before {
  content: "";
  display: block;
  width: 0.4em;
  height: 0.4em;
  position: absolute;
  cursor: pointer;
  transition: .2s;
  border-top: 3px solid #fcfcfc;
  border-right: 3px solid #fcfcfc;
  right: 1.5em;
  transform: rotate(45deg) translateY(-50%);
  top: 50%;
 }
}