#inquiryFilepath {
  display: none;
}

/* -------------------- topImageContainer -------------------- */

#topImageContainer {
  overflow: hidden;
  height: 30rem;
  position: relative;
}

#topImageContainer.topImageContainer50 {
  height: 50rem;
}

@media screen and (max-width: 959px) {

  #topImageContainer {
    max-height: 30vh;
    min-height: 200px;
  }

}

#topImageContainer > img, #topImageContainer .illust01 img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  height: 100%;
  max-width: none;
}

@media screen and (max-width: 559px) {

#topImageContainer.topImageContainer50 {
  height: auto;
  max-height: none;
  min-height: auto;
}

#topImageContainer.topImageContainer50 img {
  left: 0;
  top: 0;
  transform: none;
  position: relative;
  width: 100%;
  height: auto;
}

}

/* ----- .servicepage01 ----- */

#topImageContainer.servicepage01 {
  height: auto;
  min-height: 30rem;
  overflow: visible;
  background-color: rgba(45,130,240,0.05);
}

#topImageContainer.servicepage01 .innerContainer {
  max-width: 120rem;
  min-height: 30rem;
  margin-left: auto;
  margin-right: auto;
  padding: 5.5rem 0 6.5rem;
  position: relative;
}

#topImageContainer.servicepage01 .illust01 {
  position: absolute;
  right: 0;
  width: auto;
  text-align: right;
}

@media screen and (min-width: 560px) {

#topImageContainer.servicepage01 .illust01 {
  top: 50%;
  transform: translateY(-50%);
}

}

#topImageContainer.servicepage01 .illust01 img {
  position: relative;
  top: auto;
  left: auto;
  transform: none;
  height: auto;
}

#topImageContainer.servicepage01 h1 {
  font-size: 4.5rem;
  line-height: 6.7rem;
  font-weight: 700;
  margin: 0;
  width: calc(100% - 52rem);
}

#topImageContainer.servicepage01 .text01 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 500;
  margin: 1.0rem 0 0 0.2rem;
  width: calc(100% - 52rem);
}

@media screen and (max-width: 1250px) {

#topImageContainer.servicepage01 {
  overflow: hidden;
}

#topImageContainer.servicepage01 .innerContainer {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

}

@media screen and (min-width: 560px) and (max-width: 959px) {

#topImageContainer.servicepage01 {
  min-height: auto;
  max-height: none;
}

#topImageContainer.servicepage01 .innerContainer {
  padding: 2.5rem 0 3.0rem;
  min-height: 20rem;
}

#topImageContainer.servicepage01 h1 {
  font-size: 3.0rem;
  line-height: 4.6rem;
  width: calc(100% - 26rem);
}

#topImageContainer.servicepage01 .illust01 img {
  width: 26rem;
}

#topImageContainer.servicepage01 .text01 {
  font-size: 1.5rem;
  line-height: 2.5rem;
  margin: 1.0rem 0 0;
  width: calc(100% - 26rem);
}

}

@media screen and (max-width: 559px) {

#topImageContainer.servicepage01 {
  min-height: 270px;
  max-height: none;
  height: auto;
  padding-bottom: 2.5rem;
}

#topImageContainer.servicepage01 .innerContainer {
  padding: 2.5rem 0 0;
}

#topImageContainer.servicepage01 .illust01 {
  position: relative;
  margin: 2rem 0;
}

#topImageContainer.servicepage01 .illust01 img {
  max-width: 100%;
}

#topImageContainer.servicepage01 h1 {
  font-size: 2.6rem;
  line-height: 4.0rem;
  width: auto;
}

#topImageContainer.servicepage01 .text01 {
  font-size: 1.5rem;
  line-height: 2.5rem;
  margin: 0;
  width: auto;
}

#topImageContainer.servicepage01 .text01 br {
  display: none;
}

}

/* -------------------- breadcrumb -------------------- */

#breadcrumbSnsbuttonContainer {
  display: none;
}

#breadcrumbSnsbuttonContainer:has(#breadcrumb) {
  display: block;
}

#breadcrumb {
  font-size: 1.3rem;
  font-weight: 300;
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  float: left;
  margin-bottom: 2.5rem;
}

@media screen and (max-width: 1250px) {

#breadcrumb {
  margin-left: 0;
  margin-right: 0;
}

}

#breadcrumb ul {
  margin-bottom: 0;
}

#breadcrumb ul li {
  display: inline;
  color: #666666;
}

#breadcrumb ul li a {
  display: inline;
  color: #666666;
	transition-duration: 0.2s;
}

#breadcrumb ul li a:hover {
  color: #0083B3;
	transition-duration: 0.2s;
}

#breadcrumb ul li:after {
	font-family: "Font Awesome 5 Free";
	content: "\f105";
	font-weight: 900;
  margin: 0 0.147em 0 0.588em;
  color: #cccccc;
}

#breadcrumb ul li:last-child:after {
    content: "";
}

/* -------------------- シェアボタン -------------------- */

.shareButtonSocial {
  display: inline-block;
  margin-left: 1rem;
}

.shareButtonContainerWithBreadcrumb {
  margin: -0.4rem 0 3rem;
  line-height: 1.5;
  float: right;
}

.shareButtonContainerWithoutBreadcrumb {
  margin: -0.3rem 1.5rem 1.5rem 0;
  line-height: 1.5;
  text-align: right;
}

@media screen and (max-width: 1199px) {

.shareButtonContainerWithoutBreadcrumb {
  margin: 1.2rem 0 1.5rem 0;
}

}

/* -------------------- Release Update -------------------- */

.releaseDate {
  font-size: 1.3rem;
  line-height: 1.3rem;
  font-weight: 400;
  text-align: right;
  color: #666666;
  margin-bottom: 1.8rem;
}

.releaseDate_update {
  display: inline-block;
  margin-left: 0.7rem;
  padding-left: 0.7rem;
  border-left: 1px solid #999999;
}

/* ---------------------------------------- 見出し ---------------------------------------- */

/* -------------------- header01 -------------------- */

.header01 {
  font-size: 3.2rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 1rem;
  margin-bottom: calc(3rem + 5px + 0.3rem);
  line-height: 1.4;
}

.header01 .header01Note {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 1.7;
  display: block;
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
}

@media screen and (max-width: 559px) {

  .header01 {
    font-size: 2.6rem;
  }

}

.header01:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 5px;
  width: 100%;
  background-color: #b3b3b3;
}

.header01:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 5px;
  width: 50%;
  max-width: 200px;
  background-color: #009E96;
}

/* -------------------- copy01 -------------------- */

.copy01 {
  font-size: 2.4rem;
  font-weight: 500;
  color: #e56b00;
  margin-bottom: 3rem;
  line-height: 1.5;
}

@media screen and (max-width: 559px) {

  .copy01 {
    font-size: 2.0rem;
  }

}

/* -------------------- header02 -------------------- */

.header02 {
  font-size: 2.4rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 1.85rem;
  margin-bottom: calc(3rem + 5px - 0.2rem);
  margin-top: 3rem;
  line-height: 1.5;
  overflow: hidden;
}

@media screen and (max-width: 559px) {

  .header02 {
    font-size: 2.0rem;
  }

}

.header02:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px;
  height: 1px;
  width: 100%;
  background-color: #cccccc;
}

.header02:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  height: 5px;
  width: 40%;
  max-width: 150px;
  background-color: #009E96;
}

/* -------------------- header03 -------------------- */

.header03 {
  font-size: 2rem;
  font-weight: 500;
  position: relative;
  padding-bottom: 0.75rem;
  margin-bottom: calc(3rem + 3px + 0.3rem);
  margin-top: 3rem;
  line-height: 1.6;
  display: table;
}

@media screen and (max-width: 559px) {

  .header03 {
    font-size: 1.8rem;
  }

}

.header03:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  min-width: 200px;
  background-image: linear-gradient(to right, #cccccc, #cccccc 1px, transparent 1px, transparent 2px);
  background-size: 2px 1px;
}

.header03:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 3px;
  width: 100px;
  background-color: #009E96;
}

/* -------------------- header_lb01 -------------------- */

.header_lb01 {
  position: relative;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
}

.header_lb01:before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.35em - 0.2rem);
  bottom: 1.8rem;
  width: 0.7rem;
  background-color: #009e96;
}

.header_lb01:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 5px;
  height: 1px;
  width: 100%;
  background-color: #cccccc;
}

/* -------------------- header_lb02 -------------------- */

.header_lb02 {
  position: relative;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
}

.header_lb02:after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.35em - 0.2rem);
  bottom: 1.8rem;
  width: 0.6rem;
  background-color: #009e96;
  border-radius: 0.3rem;
}

/* -------------------- header_dq01 -------------------- */

.header_dq01 {
  position: relative;
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  text-align: center;
  padding: 1rem 6rem 1rem;
  z-index: 1;
  width: fit-content;
  margin: 0 auto;
}

.header_dq01::before{
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  background: url(../images/double_quote.svg) no-repeat center center;
  height: 3rem;
  width: 4rem;
  z-index: -1;
}

.header_dq01::after{
  position: absolute;
  bottom: 0;
  right: 0;
  content: '';
  background: url(../images/double_quote.svg) no-repeat center center;
  height: 3rem;
  width: 4rem;
  transform: rotateX(180deg) rotateY(180deg);
  z-index: -1;
}

@media screen and (max-width: 559px) {

.header_dq01 {
  font-size: 2.5rem;
  line-height: 4.2rem;
  padding: 3.1rem 0 3.1rem;
}

.header_dq01::before,
.header_dq01::after{
  height: 2rem;
  width: 3rem;
}

}

/* -------------------- header_slash01 -------------------- */

@media all and (min-width: 960px) {

.header_slash01 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.header_slash01 > span {
  position: relative;
  display: inline-grid;
}

.header_slash01 > span::before{
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  width: 0.1rem;
  height: 100%;
  border-left: 1px solid #ffffff;
  transform: rotate(-20deg);
}

.header_slash01 > span::after{
  content: "";
  position: absolute;
  top: 0;
  right: -3rem;
  width: 0.1rem;
  height: 100%;
  border-left: 1px solid #ffffff;
  transform: rotate(20deg);
}

}

/* -------------------- header_obi01 -------------------- */

.header_obi01 {
  padding: 4.7rem 0 4rem;
  margin: 6rem 0 0;
}

.header_obi01 > * {
  font-size: 4.5rem;
  line-height: 6.0rem;
  text-align: center;
  font-weight: 700;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}

.header_obi01 .balloon01 {
  position: absolute;
  top: -8.0rem;
  left: 0;
  right: 0;
  margin: auto;
}

.header_obi01 .textLarge {
  font-size: 6.5rem;
  vertical-align: -0.6rem;
}

@media screen and (max-width: 1440px) {

.header_obi01 > * {
  max-width: calc(100% - 24rem);
}

}

@media screen and (max-width: 559px) {

.header_obi01 {
  padding: 3.6rem 2rem 2.7rem;
  margin: 4.5rem 0 0;
}

.header_obi01 > * {
  font-size: 2.2rem;
  line-height: 3.5rem;
  max-width: none;
  width: 100%;
}

.header_obi01 .balloon01 {
  top: -6.0rem;
}

.header_obi01 .textLarge {
  font-size: 3.0rem;
  vertical-align: -0.2rem;
}

}

.header_obi01_pict_light::after {
  content: "";
  position: absolute;
  top: -10.5rem;
  left: -12rem;
  height: 14rem;
  width: 9rem;
  background: url("../images/pict_light.svg") no-repeat center center;
}

@media screen and (max-width: 559px) {

.header_obi01_pict_light::after {
  top: -8rem;
  left: 0;
  height: 9rem;
  width: 6rem;
}

}

/* -------------------- header_number01 -------------------- */

.header_number01 {
  font-size: 3.5rem;
  line-height: 5.4rem;
  font-weight: 700;
  padding: 0 0 1.2rem 14.5rem;
  margin: 0 0 2rem;
  position: relative;
  min-height: 12.2rem;
}

.header_number01::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 10rem;
  width: 10.6rem;
  mix-blend-mode: screen;
}

.header_number01::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  height: 9.0rem;
  width: 10.6rem;
}

.header_number01_01::before { background: url(/common/images/pict_number01_01.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_02::before { background: url(/common/images/pict_number01_02.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_03::before { background: url(/common/images/pict_number01_03.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_04::before { background: url(/common/images/pict_number01_04.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_05::before { background: url(/common/images/pict_number01_05.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_06::before { background: url(/common/images/pict_number01_06.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_07::before { background: url(/common/images/pict_number01_07.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_08::before { background: url(/common/images/pict_number01_08.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }
.header_number01_09::before { background: url(/common/images/pict_number01_09.png) no-repeat left 0.6rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 8.4rem, #000000 8.4rem, #000000 100%); background-size: 10.2rem; }

@media screen and (max-width: 559px) {

.header_number01 {
  font-size: 2.5rem;
  line-height: 3.75rem;
  padding: 10rem 0 0rem;
  margin: 1rem 0 3rem;
  border-bottom: none;
  text-align: center;
  min-height: none;
}

.header_number01::after {
  top: 0;
  left: 50%;
  height: 8.0rem;
  width: 9rem;
  transform: translateX(-50%);
}

.header_number01::before {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 7.9rem;
  width: 9.0rem;
}

.header_number01_01::before { background: url(/common/images/pict_number01_01.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_02::before { background: url(/common/images/pict_number01_02.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_03::before { background: url(/common/images/pict_number01_03.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_04::before { background: url(/common/images/pict_number01_04.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_05::before { background: url(/common/images/pict_number01_05.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_06::before { background: url(/common/images/pict_number01_06.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_07::before { background: url(/common/images/pict_number01_07.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_08::before { background: url(/common/images/pict_number01_08.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }
.header_number01_09::before { background: url(/common/images/pict_number01_09.png) no-repeat left 0.4rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 7.5rem, #000000 7.5rem, #000000 100%); background-size: 9.0rem; }

}

/* -------------------- header_number02 -------------------- */

.header_number02 {
  font-size: 2.5rem;
  line-height: 3.9rem;
  font-weight: 700;
  padding: 6.5rem 0 0 0;
  margin: 0 0 2rem;
  position: relative;
  text-align: center;
}

.header_number02::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(50% - 2.4rem);
  height: 4.4rem;
  width: 4.8rem;
  mix-blend-mode: screen;
}

.header_number02::before {
  content: "";
  position: absolute;
  top:0;
  left: calc(50% - 2.4rem);
  height: 4.4rem;
  width: 4.8rem;
}

.header_number02_01::before { background: url(/common/images/pict_number01_01.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_02::before { background: url(/common/images/pict_number01_02.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_03::before { background: url(/common/images/pict_number01_03.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_04::before { background: url(/common/images/pict_number01_04.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_05::before { background: url(/common/images/pict_number01_05.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_06::before { background: url(/common/images/pict_number01_06.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_07::before { background: url(/common/images/pict_number01_07.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_08::before { background: url(/common/images/pict_number01_08.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number02_09::before { background: url(/common/images/pict_number01_09.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }

.header_number02_colorBlue::after { background-color: rgba(45,130,240,1.00); }
.header_number02_colorPink::after { background-color: rgba(235,30,120,1.00); }
.header_number02_colorOrg::after { background-color: rgba(229,107,0,1.00); }

@media screen and (max-width: 559px) {

.header_number02 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  padding: 6rem 0 0rem;
  margin: 1rem 0 2rem;
  border-bottom: none;
  text-align: center;
  min-height: none;
}

}

/* -------------------- header_number03 -------------------- */

.header_number03 {
  font-size: 2.5rem;
  line-height: 3.9rem;
  font-weight: 700;
  padding: 0 0 0 7rem;
  margin: 0 0 1rem;
  position: relative;
  text-align: left;
}

.header_number03::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4.4rem;
  width: 4.8rem;
  mix-blend-mode: screen;
}

.header_number03::before {
  content: "";
  position: absolute;
  top:0;
  left: 0;
  height: 4.4rem;
  width: 4.8rem;
}

.header_number03_01::before { background: url(/common/images/pict_number01_01.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_02::before { background: url(/common/images/pict_number01_02.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_03::before { background: url(/common/images/pict_number01_03.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_04::before { background: url(/common/images/pict_number01_04.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_05::before { background: url(/common/images/pict_number01_05.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_06::before { background: url(/common/images/pict_number01_06.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_07::before { background: url(/common/images/pict_number01_07.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_08::before { background: url(/common/images/pict_number01_08.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }
.header_number03_09::before { background: url(/common/images/pict_number01_09.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: 4.8rem; }

.header_number03_colorBlue::after { background-color: rgba(45,130,240,1.00); }
.header_number03_colorPink::after { background-color: rgba(235,30,120,1.00); }
.header_number03_colorOrg::after { background-color: rgba(229,107,0,1.00); }
.header_number03_colorRed::after { background-color: rgba(223,31,34,1.00); }

@media screen and (max-width: 559px) {

.header_number03 {
  font-size: 2.0rem;
  line-height: 3.2rem;
  padding: 0 0 0 5rem;
}

.header_number03::after {
  height: 3.52rem;
  width: 3.84rem;
}

.header_number03::before {
  height: 3.52rem;
  width: 3.84rem;
}

.header_number03_01::before { background: url(/common/images/pict_number01_01.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_02::before { background: url(/common/images/pict_number01_02.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_03::before { background: url(/common/images/pict_number01_03.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_04::before { background: url(/common/images/pict_number01_04.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_05::before { background: url(/common/images/pict_number01_05.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_06::before { background: url(/common/images/pict_number01_06.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_07::before { background: url(/common/images/pict_number01_07.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_08::before { background: url(/common/images/pict_number01_08.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }
.header_number03_09::before { background: url(/common/images/pict_number01_09.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 3.28rem, #000000 3.28rem, #000000 100%); background-size: 3.84rem; }

}

/* -------------------- header_number04 -------------------- */

.header_number04 {
  font-size: 2.5rem;
  line-height: 3.9rem;
  font-weight: 700;
  position: relative;
  text-align: left;
}

.header_number04 span.number {
  display: inline-block;
  height: 2.4rem;
  width: 3.9rem;
  position: relative;
  top: 0.20rem;
}

.header_number04 span.number::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 2.4rem;
  width: 3.9rem;
  mix-blend-mode: screen;
}

.header_number04_01 span.number { background: url(/common/images/pict_number01_01.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_02 span.number { background: url(/common/images/pict_number01_02.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_03 span.number { background: url(/common/images/pict_number01_03.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_04 span.number { background: url(/common/images/pict_number01_04.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_05 span.number { background: url(/common/images/pict_number01_05.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_06 span.number { background: url(/common/images/pict_number01_06.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_07 span.number { background: url(/common/images/pict_number01_07.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_08 span.number { background: url(/common/images/pict_number01_08.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }
.header_number04_09 span.number { background: url(/common/images/pict_number01_09.png) no-repeat left 0.2rem top,linear-gradient(180deg, #ffffff 0%, #ffffff 4.1rem, #000000 4.1rem, #000000 100%); background-size: contain; }

.header_number04_colorBlue span.number::after { background-color: rgba(45,130,240,1.00); }
.header_number04_colorPink span.number::after { background-color: rgba(235,30,120,1.00); }
.header_number04_colorOrg span.number::after { background-color: rgba(229,107,0,1.00); }

@media screen and (max-width: 559px) {

.header_number04 {
  font-size: 2.0rem;
  line-height: 3.2rem;
}

.header_number04 span.number {
  height: 2.0rem;
  width: 3.3rem;
  top: 0.20rem;
}

.header_number04 span.number::after {
  height: 2.0rem;
  width: 3.3rem;
}

}

/* -------------------- header_CheckBox -------------------- */

.header_checkbox {
  font-size: 2.5rem;
  line-height: 3.9rem;
  font-weight: 700;
  padding: 0 0 0 7rem;
  margin: 0 0 1rem;
  position: relative;
  text-align: left;
}

.header_checkbox::before {
  content: "";
  position: absolute;
  top:0;
  left: 0;
  height: 3.8rem;
  width: 4.8rem;
}

.header_checkbox.header_checkbox_colorOrg::before { background: url(/common/images/checkbox_Org.png) no-repeat left top; background-size: 4.8rem; }

@media screen and (max-width: 559px) {

.header_checkbox {
  font-size: 2.0rem;
  line-height: 3.2rem;
  padding: 0 0 0 5rem;
}

.header_checkbox::before {
  height: 3.04rem;
  width: 3.84rem;
}

.header_checkbox.header_checkbox_colorOrg::before { background: url(/common/images/checkbox_Org.png) no-repeat left top; background-size: 3.84rem; }

}

/* -------------------- header_ulg01 -------------------- */

.header_ulg01 {
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  padding-bottom: 2rem;
  margin: 4rem 0 3rem;
  position: relative;
  display: flex;
  flex-direction: column;
}

.header_ulg01 .header_ulg01Note {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.5rem;
  display: block;
  margin-top: 0.2rem;
  margin-bottom: 0.2rem;
}

@media screen and (max-width: 559px) {

.header_ulg01 {
  font-size: 2.5rem;
  line-height: 3.9rem;
}

}

.header_ulg01:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: #109189;
}

/* ---------------------------------------- ボックスシャドウ ---------------------------------------- */

.bs01 {
  box-shadow: 0px 0px 20px -10px rgba(0,0,0,0.6);  
}

/* ---------------------------------------- リンク ---------------------------------------- */

/* -------------------- linkHoverEffect01 -------------------- */

.linkHoverEffect01:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 50%;
  top: 50%;
/*  background-color: #0083B3;*/
	transition-duration: 0.2s;
  opacity: 0;
}

.linkHoverEffect01:hover:before {
  width: calc(100% + 3rem);
  left: -1.5rem;
  top: -1.5rem;
  height: 100%;
	transition-duration: 0.2s;
  --g: #0096cc 0%, #0096cc 15%, transparent 15%, transparent 85%, #0096cc 85%, #0096cc 100%;
  background: linear-gradient(90deg, var(--g)) 0 0/100% 1px,
  linear-gradient(90deg, var(--g)) 0 100%/100% 1px,
  linear-gradient(0, var(--g)) 0 0/1px 100%,
  linear-gradient(0, var(--g)) 100% 0/1px 100% transparent;
  background-repeat: no-repeat;
  opacity: 1;
/*  opacity: 0.2;*/
/*  mix-blend-mode: multiply;*/
}

_:-ms-lang(x)::-ms-backdrop, .linkHoverEffect01:before {
  height: 0;
  width: 0;
}

_:-ms-lang(x)::-ms-backdrop, .linkHoverEffect01:hover:before {
  height: 0;
  width: 0;
}

.linkHoverEffect01 * {
	transition-duration: 0.2s;
}

.linkHoverEffect01:hover * {
  color: #0083B3;
	transition-duration: 0.2s;
}

.linkHoverEffect01 .linkContentsThumb {
	overflow: hidden;
}

.linkHoverEffect01 .linkContentsThumb img {
	transition-duration: 0.2s;
}

.linkHoverEffect01:hover .linkContentsThumb img {
	transform: scale(1.2);
	transition-duration: 0.2s;
}

/* -------------------- linkBtn01 -------------------- */

.linkBtn01Container {
	list-style: none;
	line-height: 1;
  margin-right: -1rem;
}

.linkBtn01Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtn01Container li {
		display: block;
	}

}

.linkBtn01 {
  border: 1px solid #cccccc;
  font-weight: 300;
  text-align: left;
  position: relative;
  display: table;
  padding: 1rem 4rem;
  font-size: 1.55rem;
  background-color: #f6f6f6;
}

@media (max-width: 559px) {

	.linkBtn01 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 3rem;
		width: 100%;
	}

}

.linkBtn01 .linkBtn01InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtn01 .linkBtn01InnerContainer .linkBtn01Note {
  font-weight: 300;
  font-size: 1.3rem;
}

.linkBtn01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  background-image: url(../images/linkarrow.svg);
	transition-duration: 0.2s;
  z-index: 2;
}

.linkBtn01[target="_blank"]:after {
  top: calc(50% - 7px);
  width: 14px;
  height: 13px;
  background-image: url(../images/iconExternalLink.svg);
}

@media (min-width: 560px) {

  .linkBtn01:hover .linkBtn01InnerContainer, .linkBtn01:hover .linkBtn01InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn01:hover:after {
    background-image: url(../images/linkarrowWhite.svg);
    transition-duration: 0.2s;
  }

  .linkBtn01[target="_blank"]:hover:after {
    background-image: url(../images/iconExternalLinkWhite.svg);
  }

  .linkBtn01:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #0083B3;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtn01:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtn02 -------------------- */

.linkBtn02Container {
	list-style: none;
	line-height: 1;
}

.linkBtn02Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtn02Container li {
		display: block;
		margin-right: 0;
	}

}

.linkBtn02 {
  border: 1px solid #cccccc;
  font-weight: 300;
  text-align: left;
  position: relative;
  display: table;
  padding: 1rem 4rem;
  font-size: 1.55rem;
  background-color: #0082a6;
  color: #ffffff;
}

.linkBtn02 .linkBtn02InnerContainer, .linkBtn02 .linkBtn02InnerContainer * {
  color: #ffffff;
}

@media (max-width: 559px) {

	.linkBtn02 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 3rem;
		width: 100%;
	}

}

.linkBtn02 .linkBtn02InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtn02 .linkBtn02InnerContainer .linkBtn02Note {
  font-weight: 300;
  font-size: 1.3rem;
}

.linkBtn02:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  background-image: url(../images/linkarrowWhite.svg);
	transition-duration: 0.2s;
  z-index: 2;
}

.linkBtn02[target="_blank"]:after {
  top: calc(50% - 7px);
  width: 14px;
  height: 13px;
  background-image: url(../images/iconExternalLinkWhite.svg);
}

@media (min-width: 560px) {

  .linkBtn02:hover .linkBtn02InnerContainer, .linkBtn02:hover .linkBtn02InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn02:hover:after {
    background-image: url(../images/linkarrowWhite.svg);
    transition-duration: 0.2s;
  }

  .linkBtn02[target="_blank"]:hover:after {
    background-image: url(../images/iconExternalLinkWhite.svg);
  }

  .linkBtn02:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #006080;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtn02:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtn03 -------------------- */

.linkBtn03Container {
	list-style: none;
	line-height: 1;
  margin-right: -1rem;
}

.linkBtn03Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtn03Container li {
		display: block;
	}

}

.linkBtn03 {
  color: #000000;
  background-color: #ffffff;
  text-align: center;
  padding: 2.3rem 9rem 2.5rem;
  margin-top: 0.4rem;
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 700;
  position: relative;
  display: table;
}

@media (max-width: 559px) {

	.linkBtn03 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 4rem;
    font-size: 1.7rem;
    line-height: 2.7rem;
		width: 100%;
	}

}

.linkBtn03 .linkBtn03InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtn03 .linkBtn03InnerContainer .linkBtn03Note {
  font-weight: 300;
  font-size: 1.3rem;
}

.linkBtn03:after {
  content: "";
  position: absolute;
  right: 3.5rem;
  top: calc(50% - 2.0rem);
  width: 4rem;
  height: 4rem;
  background-color: #000000;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  transition-duration: 0.2s;
  z-index: 2;
}

.linkBtn03[target="_blank"]:after {
  top: calc(50% - 0.75rem);
  width: 1.6rem;
  height: 1.6rem;
  -webkit-mask-image: url("/common/images/iconExternalLink.svg");
  mask-image: url("/common/images/iconExternalLink.svg");
}

@media (max-width: 559px) {

  .linkBtn03:after {
    right: 1.5rem;
    top: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
  }

}

@media (min-width: 560px) {

  .linkBtn03:hover .linkBtn03InnerContainer, .linkBtn03:hover .linkBtn03InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn03:hover:after {
    background-color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn03[target="_blank"]:hover:after {
    background-image: url(../images/iconExternalLinkWhite.svg);
  }

  .linkBtn03:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #000000;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtn03:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtn04 -------------------- */

.linkBtn04Container {
	list-style: none;
	line-height: 1;
  margin-right: -1rem;
}

.linkBtn04Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtn04Container li {
		display: block;
	}

}

.linkBtn04 {
  color: #000000;
  border: 1px solid #000000;
  background-color: #ffffff;
  text-align: center;
  padding: 1.6rem 5rem 1.6rem;
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 700;
  position: relative;
  display: table;
}

@media (max-width: 559px) {

	.linkBtn04 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 4rem;
		width: 100%;
	}

}

.linkBtn04 .linkBtn04InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtn04 .linkBtn04InnerContainer .linkBtn04Note {
  font-weight: 300;
  font-size: 1.3rem;
}

.linkBtn04:after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background-color: #000000;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  z-index: 2;
  transition-duration: 0.2s;
}

.linkBtn04[target="_blank"]:after {
  top: calc(50% - 7px);
  width: 14px;
  height: 13px;
  background-image: url(../images/iconExternalLink.svg);
}

.linkBtn04.linkBtn04Markless:after {
  display: none;
}

@media (max-width: 559px) {

  .linkBtn04:after {
    right: 0.5rem;
    top: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
  }

}

@media (min-width: 560px) {

  .linkBtn04:hover .linkBtn04InnerContainer, .linkBtn04:hover .linkBtn04InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn04:hover:after {
    background-color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn04[target="_blank"]:hover:after {
    background-image: url(../images/iconExternalLinkWhite.svg);
  }

  .linkBtn04:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: rgba(0,0,0,1.00);
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtn04:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtn05 -------------------- */

.linkBtn05Container {
	list-style: none;
	line-height: 1;
  margin-right: -1rem;
}

.linkBtn05Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtn05Container li {
		display: block;
	}

}

.linkBtn05 {
  color: #ffffff;
  background-color: #000000;
  text-align: center;
  min-width: 47.5rem;
  padding: 1.5rem 5rem 1.8rem;
  font-size: 1.7rem;
  line-height: 2.7rem;
  font-weight: 700;
  position: relative;
  display: inline-block;
}

@media (max-width: 559px) {

	.linkBtn05 {
		text-align: center;
    font-size: 1.5rem;
    line-height: 2.5rem;
		position: relative;
		display: block;
    min-width: auto;
		padding: 1.4rem 4rem 1.6rem;
		width: 100%;
	}

}

.linkBtn05 .linkBtn05InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtn05:after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background-color: #ffffff;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  transition-duration: 0.2s;
  z-index: 2;
}

.linkBtn05[target="_blank"]:after {
  top: calc(50% - 7px);
  width: 14px;
  height: 13px;
  -webkit-mask-image: url("/common/images/iconExternalLink.svg");
}

@media (max-width: 559px) {

  .linkBtn05:after {
    right: 0.5rem;
    top: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
  }

}

@media (min-width: 560px) {

  .linkBtn05:hover .linkBtn05InnerContainer, .linkBtn05:hover .linkBtn05InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn05:hover:after {
    background-color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtn05[target="_blank"]:hover:after {
    -webkit-mask-image: url("/common/images/iconExternalLink.svg");
    background-image: url(../images/iconExternalLinkWhite.svg);
  }

  .linkBtn05:before {
    content: "";
    display: block;
    width: 0;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #0082a6;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtn05:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtnDown01 -------------------- */

.linkBtnDown01 {
  border: 1px solid #cccccc;
  font-weight: 300;
  text-align: left;
  position: relative;
  display: table;
  padding: 1rem 4rem;
  font-size: 1.55rem;
  background-color: #f6f6f6;
}

@media (max-width: 559px) {

	.linkBtnDown01 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 3rem;
		width: 100%;
	}

}

.linkBtnDown01 .linkBtnDown01InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtnDown01:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 10px;
  height: 10px;
  background-image: url(../images/linkarrow.svg);
  transform: rotateZ(90deg);
	transition-duration: 0.2s;
  z-index: 2;
}

@media (min-width: 960px) {

  .linkBtnDown01:hover .linkBtnDown01InnerContainer {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtnDown01:hover:after {
    background-image: url(../images/linkarrowWhite.svg);
    transition-duration: 0.2s;
  }

  .linkBtnDown01:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #0083B3;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtnDown01:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkBtnDown02 -------------------- */

.linkBtnDown02Container {
	list-style: none;
	line-height: 1;
  margin-right: -1rem;
}

.linkBtnDown02Container li {
	display: inline-block;
	margin-bottom: 1rem;
	margin-right: 1rem;
	line-height: 1.7;
}

@media (max-width: 559px) {

	.linkBtnDown02Container li {
		display: block;
	}

}

.linkBtnDown02 {
  color: #109189;
  border: 1px solid #109189;
  background-color: #ffffff;
  text-align: center;
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 700;
  position: relative;
  display: table;
}

@media (max-width: 559px) {

	.linkBtnDown02 {
		text-align: center;
		position: relative;
		display: block;
		padding: 1rem 4rem;
		width: 100%;
	}

}

.linkBtnDown02 .linkBtnDown02InnerContainer {
  position: relative;
  z-index: 2;
	transition-duration: 0.2s;
}

.linkBtnDown02 .linkBtnDown02InnerContainer .linkBtnDown02Note {
  font-weight: 300;
  font-size: 1.3rem;
}

.linkBtnDown02:after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background-color: #109189;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  z-index: 2;
  transition-duration: 0.2s;
  transform: rotate(90deg);
}

.linkBtnDown02.linkBtnDown02Markless:after {
  display: none;
}

@media (max-width: 559px) {

  .linkBtnDown02:after {
    right: 0.5rem;
    top: calc(50% - 1.5rem);
    width: 3rem;
    height: 3rem;
  }

}

@media (min-width: 560px) {

  .linkBtnDown02:hover .linkBtnDown02InnerContainer, .linkBtnDown02:hover .linkBtnDown02InnerContainer * {
    color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtnDown02:hover:after {
    background-color: #ffffff;
    transition-duration: 0.2s;
  }

  .linkBtnDown02:before {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    background-color: #109189;
    transition-duration: 0.2s;
    opacity: 0;
    z-index: 1;
  }

  .linkBtnDown02:hover:before {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    transition-duration: 0.2s;
    opacity: 1;
  }

}

/* -------------------- linkText01 -------------------- */

.linkText01 {
  position: relative;
  padding-left: 19px;
  padding-right: 3px;
	transition-duration: 0.2s;
}

.linkText01:hover {
  color: #0083B3;
	transition-duration: 0.2s;
}

.linkText01:before {
  content: "";
  position: absolute;
  left: 3px;
  top: 0.35em;
  width: 13px;
  height: 13px;
  background-size: 60%;
  background-repeat: no-repeat;
  background-position: 50% calc(50% + 1.0px);
	transition-duration: 0.2s;
  background-color: #0083B3;
  background-image: url("../images/linkarrowWhite.svg");
/*
  background-image: url("../images/linkarrow.svg");
  border: 1px solid #999999;
*/
}

.linkText01:hover:before {
  background-image: url("../images/linkarrowWhite.svg");
  border: none;
  background-color: #0083B3;
	transition-duration: 0.2s;
}

.linkText01[target="_blank"]:after {
  content: url("../images/iconExternalLink.svg");
  display: inline-block;
  width: 1.13em;
  height: 0.87em;
	transition-duration: 0.2s;
  vertical-align: -1px;
  padding-left: 3px;
}

.linkText01[target="_blank"]:hover:after {
  content: url("../images/iconExternalLinkBlue.svg");
	transition-duration: 0.2s;
}

/* -------------------- linkText02 -------------------- */

.linkText02 {
  position: relative;
  padding-right: 3px;
	transition-duration: 0.2s;
}

.linkText02:hover {
  color: #0083B3;
	transition-duration: 0.2s;
}

.linkText02[target="_blank"]:after {
  content: url("../images/iconExternalLink.svg");
  display: inline-block;
  width: 1.13em;
  height: 0.87em;
	transition-duration: 0.2s;
  vertical-align: -1px;
  padding-left: 3px;
}

.linkText02[target="_blank"]:hover:after {
  content: url("../images/iconExternalLinkBlue.svg");
	transition-duration: 0.2s;
}

/* -------------------- linkText03 -------------------- */

.linkText03 {
  color: #0083B3;
  text-decoration: underline;
  padding: 0 0.1rem;
	transition-duration: 0.2s;
}

.linkText03:hover {
  color: #ff7a1c;
	transition-duration: 0.2s;
}

.linkText03[target="_blank"]:after {
  content: url("../images/iconExternalLink.svg");
  display: inline-block;
  width: 1.13em;
  height: 0.87em;
	transition-duration: 0.2s;
  vertical-align: -1px;
  padding-left: 3px;
}

.linkText03[target="_blank"]:hover:after {
  content: url("../images/iconExternalLinkBlue.svg");
	transition-duration: 0.2s;
}

/* -------------------- linkTextGlossary -------------------- */

.linkTextGlossary {
  color: #0083B3;
  text-decoration: underline;
  padding: 0 0.1rem;
	transition-duration: 0.2s;
}

.linkTextGlossary:hover {
  color: #ff7a1c;
	transition-duration: 0.2s;
}

/* -------------------- linkMovie01 -------------------- */

.linkMovie01 {
  display: inline-block;
  position: relative;
}

.linkMovie01::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.5rem);
  left: calc(50% - 0.9rem);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.5rem 0 1.5rem 2.6rem;
  transition-duration: 0.2s;
}

.linkMovie01::before {
  content: "";
  position: absolute;
  top: calc(50% - 3.75rem);
  left: calc(50% - 3.75rem);
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 100%;
  background-color: #ffffff;
  transition-duration: 0.2s;
}

.linkMovie01.linkMovie01Org::after { border-color: transparent transparent transparent #ED6C0F; }
.linkMovie01.linkMovie01Blu::after { border-color: transparent transparent transparent #0075C4; }

.linkMovie01.linkMovie01Org:hover::before { background-color: #ED6C0F; }
.linkMovie01.linkMovie01Blu:hover::before { background-color: #0075C4; }

.linkMovie01:hover::after {
  content: "";
  position: absolute;
  top: calc(50% - 1.8rem);
  left: calc(50% - 1.08rem);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.8rem 0 1.8rem 3.12rem;
  border-color: transparent transparent transparent #ffffff;
  transition-duration: 0.2s;
}

.linkMovie01:hover::before {
  content: "";
  position: absolute;
  top: calc(50% - 4.5rem);
  left: calc(50% - 4.5rem);
  width: 9.0rem;
  height: 9.0rem;
  border-radius: 100%;
  transition-duration: 0.2s;
}

/* -------------------- ボタン色 -------------------- */

.btnColorGrn02 { color: #23beb4; border-color: #23beb4; }
.btnColorBlu   { color: #2d82f0; border-color: #2d82f0; }
.btnColorYlw   { color: #ffaf0a; border-color: #ffaf0a; }

.btnColorGrn02:before { background-color: #23beb4; }
.btnColorBlu:before   { background-color: #2d82f0; }
.btnColorYlw:before   { background-color: #ffaf0a; }

.btnColorGrn02:after { background-color: #23beb4; }
.btnColorBlu:after   { background-color: #2d82f0; }
.btnColorYlw:after   { background-color: #ffaf0a; }

/* ---------------------------------------- 目次 ---------------------------------------- */

/* -------------------- contentsList01 -------------------- */

.contentsList01 {
  border-radius: 2.5rem;
  background-color: rgba(234,234,234,0.50);
  padding: 3rem 7rem 4rem;
}

.contentsList01 h2 {
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  margin-bottom: 2rem;
}

@media (max-width: 559px) {

.contentsList01 {
  padding: 2.5rem 2.5rem 3.5rem;
}

.contentsList01 h2 {
  font-size: 2.5rem;
  line-height: 3.9rem;
  margin-bottom: 1rem;
}

}

.contentsList01 ol {
  list-style-type: decimal;
  margin-left: 1.3em;
}

.contentsList01 ol li {
  padding-left: 0.5em;
  position: relative;
}

.contentsList01 ol li a {
  display: block;
  padding: 1rem 0;
	transition-duration: 0.2s;
}

.contentsList01 ol li a:hover {
  color: #0083B3;
	transition-duration: 0.2s;
}

.contentsList01 ol li::after {
  content: "";
  position: absolute;
  left: -1.3em;
  right: 0;
  bottom: 0;
  height: 0.1rem;
  width: calc(100% + 1.3em);
  background-color: #cccccc;
}

/* -------------------- contentsList02 -------------------- */

.contentsList02 {
  border-radius: 2.5rem;
  border: 0.3rem solid #109189;
  padding: 3rem 7rem 4rem;
}

.contentsList02 h2 {
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  margin-bottom: 2rem;
}

@media (max-width: 559px) {

.contentsList02 {
  padding: 2.5rem 2.5rem 3.5rem;
}

.contentsList02 h2 {
  font-size: 2.5rem;
  line-height: 3.9rem;
  margin-bottom: 1rem;
}

}

.contentsList02 > ul {
  list-style-type: none;
}

.contentsList02 > ul > li {
  position: relative;
}

.contentsList02 > ul > li a {
  display: block;
  padding: 1rem 0;
	transition-duration: 0.2s;
}

.contentsList02 > ul > li a:hover, .contentsList02 > ul > li a:hover * {
  color: #0083B3;
	transition-duration: 0.2s;
}

.contentsList02 > ul > li::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.1rem;
  width: 100%;
  background-color: #cccccc;
}

.contentsList02 > ul > li > ul, .contentsList02 > ul > li > ol {
  margin-top: -0.5rem;
  padding: 0 0 0.5rem 1.5rem;
}

.contentsList02 > ul > li > ul {
  list-style-type: none;
}

.contentsList02 > ul > li > ul > li > a, .contentsList02 > ul > li > ol > li > a {
  display: block;
  padding: 0 0 0.5rem;
}

/* -------------------- リスト -------------------- */

.lsDisc {
  list-style-type: disc;
  margin-left: 1.5em;
}

.lsDisc02 li {
  list-style: none;
  padding-left: 2.3rem;
  position: relative;
}

.lsDisc02 li::before {
  content: "";
  position: absolute;
  top: 0.7rem;
  left: 0.1rem;
  width: 1.3rem;
  height: 1.3rem;
  border-radius: 0.7rem;
}

.lsDisc02_colorBlue li::before { background-color: #2D82F0; }
.lsDisc02_colorPink li::before { background-color: #EB1E78; }
.lsDisc02_colorOrg li::before { background-color: #E56B00; }

.lsDisc02_25 li {
  list-style: none;
  padding-left: 3.3rem;
  position: relative;
}

.lsDisc02_25 li::before {
  content: "";
  position: absolute;
  top: 0.9rem;
  left: 0.1rem;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 1.2rem;
}

@media (max-width: 559px) {

.lsDisc02_25 li {
  padding-left: 2.8rem;
}

.lsDisc02_25 li::before {
  top: 0.8rem;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 0.9rem;
}

}

.lsNone {
  list-style: none;
}

.lsDecimal {
  list-style-type: decimal;
  margin-left: 1.3em;
}

.lsDecimal li {
  padding-left: 0.3em;
}

.lsDecimalEnclosed {
  counter-reset: my-counter;
  list-style: none;
}
 
.lsDecimalEnclosed li {
  padding-left: 1.59em;
  position: relative;
}

.lsDecimalEnclosed li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid rgba(0,0,0,0.50);
  display: block;
  float: left;
  font-size: 0.6em;
  line-height: 1.3em;
  margin-top: 0.7rem;
  margin-left: -2.64em;
  margin-right: 0.0em;
  text-align: center;
  height: 1.6em;
  width: 1.6em;
  border-radius: 50%;
}

.lsCrossBlue {
  list-style-type: none;
}

.lsCrossBlue li {
  padding-left: 2.8rem;
  background: url("/common/images/listMarkCrossBlue.png") left top 0.3rem no-repeat;
}

.lsCheckPink {
  list-style-type: none;
}

.lsCheckPink li {
  padding-left: 2.8rem;
  background: url("/common/images/listMarkCheckPink.png") left top 0.3rem no-repeat;
}

/* ---------------------------------------- 全幅表示したい要素 ---------------------------------------- */

.fullVw {
  margin-left: calc((100% - 100vw) / 2);
  margin-right: calc((100% - 100vw) / 2);
}

.contentsContainer {
    display: block;
    width: 100%;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 1250px){

.contentsContainer {
    width: calc(100% - 5rem);
    margin-left: 2.5rem;
    margin-right: 2.5rem;
}

}

/* ---------------------------------------- 表 ---------------------------------------- */

/* -------------------- tbl01 -------------------- */

.tbl01 {
  width: 100%;
  word-break: normal;
}

.tbl01 td, .tbl01 th {
  border: 1px solid #cccccc;
  padding: 0.5em;
}

.tbl01.tbl01_bWht td, .tbl01.tbl01_bWht th {
  border: 1px solid #ffffff;
}

.tbl01 th {
  color: #ffffff;
	background-color: #009E96;
  font-weight: inherit;
}

.tbl01 .tbl01BgGr { background-color: #f0f0f0; }
.tbl01 .tbl01BgLyl { background-color: #fff7dd; }
.tbl01 .tbl01BgLgrn { background-color: #e6fae3; }
.tbl01 .tbl01BgLgrn02 { background-color: rgba(16,145,137,0.10); }
.tbl01 .tbl01BgDgrn { background-color: rgba(16,145,137,0.80); }

.tbl01 .minw1em { min-width: calc(1em + 1em + 0.2rem); }
.tbl01 .minw2em { min-width: calc(2em + 1em + 0.2rem); }
.tbl01 .minw3em { min-width: calc(3em + 1em + 0.2rem); }
.tbl01 .minw4em { min-width: calc(4em + 1em + 0.2rem); }
.tbl01 .minw5em { min-width: calc(5em + 1em + 0.2rem); }
.tbl01 .minw6em { min-width: calc(6em + 1em + 0.2rem); }
.tbl01 .minw7em { min-width: calc(7em + 1em + 0.2rem); }
.tbl01 .minw8em { min-width: calc(8em + 1em + 0.2rem); }
.tbl01 .minw9em { min-width: calc(9em + 1em + 0.2rem); }
.tbl01 .minw10em { min-width: calc(10em + 1em + 0.2rem); }
.tbl01 .minw11em { min-width: calc(11em + 1em + 0.2rem); }
.tbl01 .minw12em { min-width: calc(12em + 1em + 0.2rem); }
.tbl01 .minw13em { min-width: calc(13em + 1em + 0.2rem); }
.tbl01 .minw14em { min-width: calc(14em + 1em + 0.2rem); }
.tbl01 .minw15em { min-width: calc(15em + 1em + 0.2rem); }
.tbl01 .minw16em { min-width: calc(16em + 1em + 0.2rem); }
.tbl01 .minw17em { min-width: calc(17em + 1em + 0.2rem); }
.tbl01 .minw18em { min-width: calc(18em + 1em + 0.2rem); }
.tbl01 .minw19em { min-width: calc(19em + 1em + 0.2rem); }
.tbl01 .minw20em { min-width: calc(20em + 1em + 0.2rem); }

/* -------------------- tbl02 -------------------- */

.tbl02 {
  width: 100%;
  word-break: normal;
}

.tbl02 td, .tbl02 th {
  border: 1px solid #999999;
  padding: 0.9rem 2.4rem 1.0rem;
}

.tbl02 th {
  font-weight: 700;
}

.tbl02 .minw1em { min-width: calc(1em + 5.0rem); }
.tbl02 .minw2em { min-width: calc(2em + 5.0rem); }
.tbl02 .minw3em { min-width: calc(3em + 5.0rem); }
.tbl02 .minw4em { min-width: calc(4em + 5.0rem); }
.tbl02 .minw5em { min-width: calc(5em + 5.0rem); }
.tbl02 .minw6em { min-width: calc(6em + 5.0rem); }
.tbl02 .minw7em { min-width: calc(7em + 5.0rem); }
.tbl02 .minw8em { min-width: calc(8em + 5.0rem); }
.tbl02 .minw9em { min-width: calc(9em + 5.0rem); }
.tbl02 .minw10em { min-width: calc(10em + 5.0rem); }
.tbl02 .minw11em { min-width: calc(11em + 5.0rem); }
.tbl02 .minw12em { min-width: calc(12em + 5.0rem); }
.tbl02 .minw13em { min-width: calc(13em + 5.0rem); }
.tbl02 .minw14em { min-width: calc(14em + 5.0rem); }
.tbl02 .minw15em { min-width: calc(15em + 5.0rem); }
.tbl02 .minw16em { min-width: calc(16em + 5.0rem); }
.tbl02 .minw17em { min-width: calc(17em + 5.0rem); }
.tbl02 .minw18em { min-width: calc(18em + 5.0rem); }
.tbl02 .minw19em { min-width: calc(19em + 5.0rem); }
.tbl02 .minw20em { min-width: calc(20em + 5.0rem); }

/* -------------------- tbl03 -------------------- */

.tbl03 {
  width: 100%;
  word-break: normal;
}

.tbl03 td, .tbl03 th {
  border: 1px solid #999999;
  padding: 1.3rem 2.4rem 1.4rem;
}

.tbl03 th {
  font-weight: 700;
}

.tbl03 .minw1em { min-width: calc(1em + 5.0rem); }
.tbl03 .minw2em { min-width: calc(2em + 5.0rem); }
.tbl03 .minw3em { min-width: calc(3em + 5.0rem); }
.tbl03 .minw4em { min-width: calc(4em + 5.0rem); }
.tbl03 .minw5em { min-width: calc(5em + 5.0rem); }
.tbl03 .minw6em { min-width: calc(6em + 5.0rem); }
.tbl03 .minw7em { min-width: calc(7em + 5.0rem); }
.tbl03 .minw8em { min-width: calc(8em + 5.0rem); }
.tbl03 .minw9em { min-width: calc(9em + 5.0rem); }
.tbl03 .minw10em { min-width: calc(10em + 5.0rem); }
.tbl03 .minw11em { min-width: calc(11em + 5.0rem); }
.tbl03 .minw12em { min-width: calc(12em + 5.0rem); }
.tbl03 .minw13em { min-width: calc(13em + 5.0rem); }
.tbl03 .minw14em { min-width: calc(14em + 5.0rem); }
.tbl03 .minw15em { min-width: calc(15em + 5.0rem); }
.tbl03 .minw16em { min-width: calc(16em + 5.0rem); }
.tbl03 .minw17em { min-width: calc(17em + 5.0rem); }
.tbl03 .minw18em { min-width: calc(18em + 5.0rem); }
.tbl03 .minw19em { min-width: calc(19em + 5.0rem); }
.tbl03 .minw20em { min-width: calc(20em + 5.0rem); }

@media (max-width: 559px) {

.tbl03_ms_dspBlock td, .tbl03_ms_dspBlock th {
  display: block;
  width: 100%;
  border: none;
}

.tbl03_ms_dspBlock td {
  padding-left: 0;
  padding-right: 0;
}

}

/* -------------------- tbl04 -------------------- */

.tbl04 {
  width: calc(100% + 2rem);
  word-break: normal;
  border-collapse: separate;
  border-spacing: 1rem;
  margin: -1rem;
}

.tbl04 th {
  padding: 0.4rem;
  width: 10rem;
}

.tbl04 td {
  padding-left: 0.5rem;
}

@media (max-width: 559px) {

.tbl04 th {
  display: block;
  width: 100%;
  margin-bottom: 0.8rem;
}

.tbl04 td {
  display: block;
  padding-left: 0;
}

}

.tbl04Blue th {
  color: #2D82F0;
	background-color: rgba(45,130,240,0.10);
}

.tbl04Pink th {
  color: #EB1E78;
	background-color: rgba(235,30,120,0.10);
}

/* -------------------- tbl05 -------------------- */

.tbl05 {
  width: 100%;
  border-top: 1px solid #999999;
  text-align: left;
}

.tbl05 tr {
  border-bottom: 1px solid #999999;
}

.tbl05 th {
  padding: 1.5rem 0;
  font-weight: 400;
}

.tbl05 td {
  padding: 1.5rem 0 1.5rem 2rem;
}

/* -------------------- tbl06 -------------------- */

.tbl06 {
  width: 100%;
  word-break: normal;
  font-weight: 400;
  border-color: #cccccc;
}

.tbl06 td, .tbl06 th {
  border-width: 1px;
  border-style: solid;
  border-color: inherit;
  padding: 0.9rem 2.4rem 1.0rem;
}

.tbl06 .minw1em { min-width: calc(1em + 5.0rem); }
.tbl06 .minw2em { min-width: calc(2em + 5.0rem); }
.tbl06 .minw3em { min-width: calc(3em + 5.0rem); }
.tbl06 .minw4em { min-width: calc(4em + 5.0rem); }
.tbl06 .minw5em { min-width: calc(5em + 5.0rem); }
.tbl06 .minw6em { min-width: calc(6em + 5.0rem); }
.tbl06 .minw7em { min-width: calc(7em + 5.0rem); }
.tbl06 .minw8em { min-width: calc(8em + 5.0rem); }
.tbl06 .minw9em { min-width: calc(9em + 5.0rem); }
.tbl06 .minw10em { min-width: calc(10em + 5.0rem); }
.tbl06 .minw11em { min-width: calc(11em + 5.0rem); }
.tbl06 .minw12em { min-width: calc(12em + 5.0rem); }
.tbl06 .minw13em { min-width: calc(13em + 5.0rem); }
.tbl06 .minw14em { min-width: calc(14em + 5.0rem); }
.tbl06 .minw15em { min-width: calc(15em + 5.0rem); }
.tbl06 .minw16em { min-width: calc(16em + 5.0rem); }
.tbl06 .minw17em { min-width: calc(17em + 5.0rem); }
.tbl06 .minw18em { min-width: calc(18em + 5.0rem); }
.tbl06 .minw19em { min-width: calc(19em + 5.0rem); }
.tbl06 .minw20em { min-width: calc(20em + 5.0rem); }

@media (max-width: 559px) {

.tbl06 td, .tbl06 th {
  padding: 0.5em;
}

.tbl06 .minw1em { min-width: calc(1em + 1em + 0.2rem); }
.tbl06 .minw2em { min-width: calc(2em + 1em + 0.2rem); }
.tbl06 .minw3em { min-width: calc(3em + 1em + 0.2rem); }
.tbl06 .minw4em { min-width: calc(4em + 1em + 0.2rem); }
.tbl06 .minw5em { min-width: calc(5em + 1em + 0.2rem); }
.tbl06 .minw6em { min-width: calc(6em + 1em + 0.2rem); }
.tbl06 .minw7em { min-width: calc(7em + 1em + 0.2rem); }
.tbl06 .minw8em { min-width: calc(8em + 1em + 0.2rem); }
.tbl06 .minw9em { min-width: calc(9em + 1em + 0.2rem); }
.tbl06 .minw10em { min-width: calc(10em + 1em + 0.2rem); }
.tbl06 .minw11em { min-width: calc(11em + 1em + 0.2rem); }
.tbl06 .minw12em { min-width: calc(12em + 1em + 0.2rem); }
.tbl06 .minw13em { min-width: calc(13em + 1em + 0.2rem); }
.tbl06 .minw14em { min-width: calc(14em + 1em + 0.2rem); }
.tbl06 .minw15em { min-width: calc(15em + 1em + 0.2rem); }
.tbl06 .minw16em { min-width: calc(16em + 1em + 0.2rem); }
.tbl06 .minw17em { min-width: calc(17em + 1em + 0.2rem); }
.tbl06 .minw18em { min-width: calc(18em + 1em + 0.2rem); }
.tbl06 .minw19em { min-width: calc(19em + 1em + 0.2rem); }
.tbl06 .minw20em { min-width: calc(20em + 1em + 0.2rem); }

}

/* ---------------------------------------- テキスト ---------------------------------------- */

/* -------------------- 一塊にしたい文字列やフレーズ -------------------- */

.wdPh, .wdPh_invalid_mobile, .wdPh_invalid_tm {
  display: inline-block;
  line-height: inherit;
  font-size: inherit;
  text-indent: 0;
  text-decoration: inherit;
}

@media (max-width: 959px) {

.wdPh_invalid_tm {
  display: inline;
}

}

@media (max-width: 559px) {

.wdPh_invalid_mobile {
  display: inline;
}

}

/* -------------------- 文字色 -------------------- */

.tcGrn { color: #1d948d; }
.tcGrn02 { color: #23beb4; }
.tcGrn03 { color: #009e96; }
.tcGrn04 { color: #109189; }
.tcRed { color: #e54144; }
.tcRed02 { color: #df1f22; }
.tcOrg { color: #e56b00; }
.tcOrg02 { color: #ff7d21; }
.tcBlk { color: #000000; }
.tcGry { color: #666666; }
.tcWht { color: #ffffff; }
.tcBlu { color: #2D82F0; }
.tcBlu02 { color: #0075C4; }
.tcPnk { color: #EB1E78; }
.tcPpl { color: #968cf0; }
.tcYlw { color: #ffaf0a; }
.tcPpl02 { color: #62237C; }

/* -------------------- 背景色 -------------------- */

.bgGrn { background-color: #1d948d; }
.bgGrn02 { background-color: #23beb4; }
.bgGrn03 { background-color: #009e96; }
.bgGrn04 { background-color: rgba(16,145,137,0.15); }
.bgRed { background-color: #e54144; }
.bgRed02 { background-color: rgba(223,31,34,0.10); }
.bgRed03 { background-color: #DF1F22; }
.bgLRed02 { background-color: rgba(223,31,34,0.10); }
.bgBlk { background-color: #000000; }
.bgWht { background-color: #ffffff; }
.bgGry { background-color: #666666; }
.bgGry02 { background-color: #F4F4F4; }
.bgLgr { background-color: #e8e8e8; }
.bgLgr02 { background-color: #f5f5f5; }
.bgLsc { background-color: #faf5f0; }
.bgPnk { background-color: #EB1E78; }
.bgLpk { background-color: #fff6fa; }
.bgLylw { background-color: #fcf8de; }
.bgBlu { background-color: #2D82F0; }
.bgBlu02 { background-color: #0075C4; }
.bgLBlu { background-color: rgba(45,130,240,0.05); }
.bgLBlu02 { background-color: rgba(45,130,240,0.15); }
.bgOrg { background-color: #E56B00; }
.bgLOrg { background-color: rgba(237,108,15,0.10); }
.bgPpl { background-color: #62237C; }
.bgPpl02 { background-color: #f1ecf4; }

.bgcDatabase { background-color: #2d82f0; }
.bgcTopics { background-color: #23beb4; }
.bgcSeminar { background-color: #ff3300; }
.bgcService { background-color: #339933; }
.bgcProduct { background-color: #ffaf0a; }
.bgcRecruit { background-color: #006699; }
.bgcCampaign { background-color: #fa69aa; }
.bgcShowcase { background-color: #cc0033; }
.bgcBlog { background-color: #968cf0; }

/* -------------------- 枠線 -------------------- */

.bBs1 { border-bottom: 1px solid; }
.bBs2 { border-bottom: 2px solid; }
.bBs3 { border-bottom: 3px solid; }
.bBs4 { border-bottom: 4px solid; }
.bBs5 { border-bottom: 5px solid; }

.bcLgr { border-color: #CCCCCC; }
.bcGrn02 { border-color: #23beb4; }
.bcGrn03 { border-color: #109189; }
.bcOrg02 { border-color: #ff7d21; }
.bcBlu { border-color: rgba(45,130,240,1.00); }
.bcBlu02 { border-color: rgba(0,117,196,1.00); }
.bcPnk { border-color: rgba(235,30,120,1.00); }
.bcPpl { border-color: #968cf0; }

/* -------------------- 強調 -------------------- */

.textEmphasis {
  color: #1d948d;
  font-weight: 500;
}

/* -------------------- annotation -------------------- */

.textAnnotation {
  font-size: 1.2rem;
	line-height: 2.0rem;
}

/* -------------------- 上付き・下付き -------------------- */

.sup {
	vertical-align:0.3em;
	font-size:77%;
	font-style: normal;
  font-weight: 300;
	*line-height:2em;
}

.sub {
	vertical-align:-0.2em;
	font-size:77%;
	line-height:100%;
	font-style: normal;
  font-weight: 300;
}

/* ---------------------------------------- その他 ---------------------------------------- */

/* -------------------- タイマー付き要素（初期表示は非表示にしておく） -------------------- */

*[data-showDate] { display: none; }
*[data-hideDate] { display: none; }
.showByShowDate[data-showDate] { display: block; }
.showByHideDate[data-hideDate] { display: block; }
.hideByShowDate[data-showDate] { display: none; }
.hideByHideDate[data-hideDate] { display: none; }

/*
*[data-showDate] { visibility: hidden; position: absolute; }
*[data-hideDate] { visibility: hidden; position: absolute; }
.showByShowDate[data-showDate] { visibility: visible; position: relative; }
.showByHideDate[data-hideDate] { visibility: visible; position: relative; }
.hideByShowDate[data-showDate] { visibility: hidden; position: absolute; }
.hideByHideDate[data-hideDate] { visibility: hidden; position: absolute; }
*/

/* -------------------- 吹き出し -------------------- */

.balloon01 {
  max-width: max-content;
  font-size: 3.0rem;
  border-radius: 10rem;
  font-weight: 700;
  line-height: 4.5rem;
  padding: 0.9rem 6rem 1.1rem;
  position: relative;
}

.balloon01::after {
  position: absolute;
  content: "";
  bottom: -0.9rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  height: 1.8rem;
  width: 1.8rem;
}

@media screen and (max-width: 559px) {

.balloon01 {
  font-size: 1.8rem;
  line-height: 3.0rem;
  top: -6.2rem;
  padding: 0.9rem 3rem 1.1rem;  
}

}

/* -------------------- 吹き出し .balloon02 -------------------- */

.balloon02 {
  max-width: 100%;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  font-size: 2.5rem;
  border-radius: 10rem;
  font-weight: 700;
  line-height: 3.9rem;
  padding: 1.1rem 3rem 1.4rem;
  position: relative;
  text-align: center;
}

.balloon02::after {
  position: absolute;
  content: "";
  bottom: -0.9rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  height: 1.8rem;
  width: 1.8rem;
}

@media screen and (max-width: 559px) {

.balloon02 {
  font-size: 1.8rem;
  line-height: 3.0rem;
  padding: 0.8rem 3rem 1.1rem;  
}

}

/* -------------------- 吹き出し .balloon03 -------------------- */

.balloon03 {
  max-width: 100%;
  width: fit-content;
  min-width: 20rem;
  border-radius: 10rem;
  padding: 0.5rem 3rem 0.7rem;
  position: relative;
  text-align: center;
}

.balloon03::after {
  position: absolute;
  content: "";
  bottom: -0.5rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  height: 1.0rem;
  width: 1.0rem;
}

.balloon03_notail::after {
  display: none;
}

/* -------------------- 吹き出し 背景色設定 -------------------- */

.balloon_colorBlack { color: #ffffff; background-color: #000000; }
.balloon_colorBlack::after { background-color: #000000; }

.balloon_colorPink { color: #ffffff; background-color: rgba(235,30,120,1.00); }
.balloon_colorPink::after { background-color: rgba(235,30,120,1.00); }

.balloon_colorBlue { color: #ffffff; background-color: #2d82f0; }
.balloon_colorBlue::after { background-color: #2d82f0; }

.balloon_colorOrg { color: #ffffff; background-color: rgba(229,107,0,1.00); }
.balloon_colorOrg::after { background-color: rgba(229,107,0,1.00); }

.balloon_colorRed { color: #ffffff; background-color: rgba(223,31,34,1.00); }
.balloon_colorRed::after { background-color: rgba(223,31,34,1.00); }

.balloon_colorPurple { color: #ffffff; background-color: #62237C; }
.balloon_colorPurple::after { background-color: #62237C; }

/* -------------------- 矢印 -------------------- */

.arrow01RightwardPink {
  position: relative;
}

.arrow01RightwardPink::after {
  content: "";
  position: absolute;
  right: -7rem;
  top: 50%;
  transform: translateY(-50%);
  height: 17rem;
  width: 7rem;
  background: url("/common/images/arrow01RightwardPink.png") center center no-repeat;
  z-index: 1;
}

.arrow01RightwardOrg {
  position: relative;
}

.arrow01RightwardOrg::after {
  content: "";
  position: absolute;
  right: -7rem;
  top: 50%;
  transform: translateY(-50%);
  height: 17rem;
  width: 7rem;
  background: url("/common/images/arrow01RightwardOrg.png") center center no-repeat;
  z-index: 1;
}

@media screen and (max-width: 959px) {

.arrow01RightwardPink::after {
  right: 50%;
  top: auto;
  bottom: -6rem;
  transform: translateY(0) translateX(50%) rotate(90deg);
  height: 8.5rem;
  width: 3.5rem;
  background-size: contain;
}
	
.arrow01RightwardOrg::after {
  right: 50%;
  top: auto;
  bottom: -6rem;
  transform: translateY(0) translateX(50%) rotate(90deg);
  height: 8.5rem;
  width: 3.5rem;
  background-size: contain;
}

}

/* -------------------- 画面幅よる表示・非表示 -------------------- */

@media screen and (max-width: 559px) {
  .hideMobile {
    display: none !important;
  }
}

@media screen and (min-width: 560px) and (max-width: 959px) {
  .hideTablet {
    display: none !important;
  }
}

@media (min-width: 960px) {
  .hidePc {
    display: none !important;
  }

}

/* -------------------- 著者枠 -------------------- */

.authorBox {
  border-radius: 2.5rem;
  border: 0.3rem solid #109189;
  padding: 3rem 5rem 2rem;
}

.authorBoxPhoto {
  float: left;
  width: 10rem;
  margin-right: 3rem;
}

.authorBoxName {
  padding-top: 2rem;
  margin-bottom: 0.5rem;
}

.authorBoxName > span:first-of-type {
  font-size: 1.8rem;
  line-height: 2.9rem;
  margin-right: 2.5rem;
}

.authorBoxName > span:nth-of-type(2) {
  font-size: 2.5rem;
  line-height: 3.9rem;
  display: inline-block;
}

.authorBoxCompany {
  margin-bottom: 0;
}

.authorBoxText {
  clear: both;
}

@media screen and (min-width: 560px) and (max-width: 959px) {

.authorBoxName {
  padding-top: 0;
}

}

@media screen and (max-width: 559px) {

.authorBox {
  padding: 2.2rem 2.2rem 0.7rem;
}

.authorBoxPhoto {
  margin-right: 2rem;
}

.authorBoxName > span:first-of-type {
  font-size: 1.6rem;
  line-height: 2.6rem;
  margin-right: 1.5rem;
}

.authorBoxName > span:nth-of-type(2) {
  font-size: 2.0rem;
  line-height: 3.2rem;
}

.authorBoxCompany {
  clear: both;
  padding-top: 2rem;
}

}

/* ---------------------------------------- 要素表示時のエフェクト ---------------------------------------- */

/* -------------------- loadEffect01 -------------------- */

.loadEffect01 {
  visibility: hidden;
}

.linkContainer .loadEffect01 {
/*  visibility: visible;*/
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect01 {
  visibility: visible;
}

.loadEffect01.loadAnimation {
  animation: img-opacity01 0.5s cubic-bezier(.4, 0, .6, 1);
  overflow: hidden;
  position: relative;
  visibility: visible;
}

.loadEffect01.loadAnimation:before {
  animation: img-animation01 0.5s cubic-bezier(.4, 0, .6, 1) forwards;
  background: #ffffff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-opacity01 {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation01 {
  100% {
    transform: translateX(100%);
  }
}

/* -------------------- loadEffect02 -------------------- */

.loadEffect02 {
  visibility: hidden;
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect02 {
  visibility: visible;
}

.loadEffect02.loadAnimation {
  animation: img-opacity02 0.5s cubic-bezier(.4, 0, .6, 1);
  overflow: hidden;
  position: relative;
  visibility: visible;
}

.loadEffect02.loadAnimation:before {
  animation: img-animation02 0.5s cubic-bezier(.4, 0, .6, 1) forwards;
  background: #ffffff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-opacity02 {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation02 {
  0% {
    left: 0;
    right: 0;
  }
  100% {
    left: 100%;
    right: 0;
  }
}

/* -------------------- loadEffect03 -------------------- */

.loadEffect03 {
  visibility: hidden;
  opacity: 0;
  left: -20rem;
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect03 {
  visibility: visible;
}

.loadEffect03.loadAnimation {
  overflow: hidden;
  position: relative;
  visibility: visible;
  opacity: 1;
  left: 0;
  transition-duration: 0.5s;
}

/* -------------------- loadEffect04 -------------------- */

/*
.loadEffect04 {
  visibility: hidden;
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect04 {
  visibility: visible;
}

.loadEffect04.loadAnimation {
  animation: img-opacity04 0.5s cubic-bezier(.4, 0, .6, 1);
  overflow: hidden;
  position: relative;
  visibility: visible;
}

.loadEffect04.loadAnimation:before {
  animation: img-animation04 0.5s cubic-bezier(.4, 0, .6, 1) forwards;
  background: #ffffff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-opacity04 {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation04 {
  100% {
    transform: translateY(-100%);
  }
}

*/

/* -------------------- loadEffect05 -------------------- */

.loadEffect05 {
  opacity: 0;
}

/* IEの場合はエフェクトを掛けない */
_:-ms-lang(x)::-ms-backdrop, .loadEffect05 {
  opacity: 1;
}

.loadEffect05.loadAnimation {
  animation: poyoyon2 1s ease-in-out 1 forwards;
  animation-delay: 0.5s;
}
 
@keyframes poyoyon2 {
  0%  {
    transform: scale(0, 0) translate(0, 0);
  }
  50% {
    transform: scale(1.05, 1.05) translate(0, 0);
  }
  75% {
    transform: scale(0.95, 0.95) translate(0, 0);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
/*
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
*/
}

/* -------------------- loadEffect06 -------------------- */

.loadEffect06 {
  visibility: hidden;
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect06 {
  visibility: visible;
}

.loadEffect06.loadAnimation {
  animation: img-opacity06 0.5s cubic-bezier(.4, 0, .6, 1);
  overflow: hidden;
  position: relative;
  visibility: visible;
}

.loadEffect06.loadAnimation:before {
  animation: img-animation06 0.5s cubic-bezier(.4, 0, .6, 1) forwards;
  background: #ffffff;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-opacity06 {
  0% {
    opacity: 0;
  }
}

@keyframes img-animation06 {
  100% {
    transform: translateY(-100%);
  }
}

/* -------------------- loadEffect07 -------------------- */

.loadEffect07 {
  visibility: hidden;
  opacity: 0;
  bottom: -3rem;
}

_:-ms-lang(x)::-ms-backdrop, .loadEffect07 {
  visibility: visible;
}

.loadEffect07.loadAnimation {
  overflow: hidden;
  position: relative;
  visibility: visible;
  opacity: 1;
  bottom: 0;
  transition-duration: 0.5s;
}

/* ---------------------------------------- 事例 ---------------------------------------- */

.showcaseCompany {
  font-size: 2.7rem;
  line-height: 1.4;
  font-weight: 400;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 559px) {

  .showcaseCompany {
    font-size: 2.2rem;
  }

}

.showcaseDescription {
  font-size: 1.3rem;
  font-weight: 300;
}

.showcaseUrl {
  font-weight: 300;
  margin-bottom: 0.23rem;
  word-break: break-all;
  max-width: calc(100vw - 3rem);
}

.showcaseKeywords li {
  display: inline-block;
  background-color: #444444;
  color: #ffffff;
  border-radius: 3px;
  padding: 4px 9px 6px;
  margin-bottom: 0.3rem;
  line-height: 1.4;
  font-size: 1.2rem;
}

.showcaseIntervew {
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 700;
  color: #666666;
  padding-left: 12rem;
  position: relative;
}

.showcaseIntervew::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  height: 0.1rem;
  width: 10rem;
  background-color: #707070;
}

@media screen and (max-width: 559px) {

.showcaseIntervew {
  font-size: 1.5rem;
  line-height: 2.5rem;
  padding-left: 4rem;
}

.showcaseIntervew::before {
  width: 2rem;
}

}

/* ---------------------------------------- お知らせ、ブログ ---------------------------------------- */

.informationReleaseDate, .blogReleaseDate {
  text-align: right;
  font-weight: 300;
  color: #808080;
  margin-top: -2rem;
  margin-bottom: 2rem;
  font-size: 1.3rem;
}

/* ---------------------------------------- ハブページ大（第一階層のハブページ／.hubpage01-02） ---------------------------------------- */

#topImageContainer.hubpage01-02 {
  height: 25rem;
  background: url("/common/images/topimageBg01-02.png") center center no-repeat #ffffff;
  background-size: cover;
  overflow: visible;
}

#topImageContainer.hubpage01-02 .innerContainer {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding-top: 3.4rem;
  padding-right: 50rem;
}

#topImageContainer.hubpage01-02.hubpage01-02_noImage .innerContainer {
  padding-right: 0;
}

#topImageContainer.hubpage01-02 .illust01 {
  position: absolute;
  top: 1.5rem;
  right: 7rem;
  height: 25rem;
  width: 36rem;
}

#topImageContainer.hubpage01-02 h1 {
  display: inline-block;
  font-size: 4.5rem;
  line-height: 6.7rem;
  font-weight: 700;
  color: #109189;
  margin: 0.3rem 3rem 0 -0.1rem;
}

#topImageContainer.hubpage01-02 .text01 {
  display: inline-block;
  font-size: 3.0rem;
  line-height: 5.3rem;
  font-weight: 700;
  color: #87c8c4;
  transform: scale(1.0, 1.15);
  letter-spacing: -0.05rem;
  margin: 1.7rem 0 0;
}

#topImageContainer.hubpage01-02 .text02 {
  margin: 0.9rem 0 0 0.1rem;
}

@media screen and (max-width: 1250px) {

#topImageContainer.hubpage01-02 .innerContainer {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

}

@media screen and (max-width: 1199px) {

#topImageContainer.hubpage01-02 {
  max-height: none;
  min-height: 25rem;
  height: auto;
  background: #dbeeed;
}

#topImageContainer.hubpage01-02 .innerContainer {
  padding-right: 35%;
  padding-bottom: 4rem;
  zoom: 1;
}

#topImageContainer.hubpage01-02 .innerContainer::after {
  content: ".";
  display: block;
  height: 0px;
  clear: both;
  visibility: hidden;
}

#topImageContainer.hubpage01-02 .illust01 {
  top: 0;
  right: 0;
  max-width: 30%;
}

#topImageContainer.hubpage01-02 .illust01 img {
  max-width: 100%;
  height: auto;
}

}

@media screen and (max-width: 559px) {

#topImageContainer.hubpage01-02 {
  min-height: auto;
}

#topImageContainer.hubpage01-02 .innerContainer {
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 2rem;
}

#topImageContainer.hubpage01-02 .illust01 {
  position: relative;
  max-width: none;
  width: 100%;
  text-align: center;
}

#topImageContainer.hubpage01-02 h1 {
  font-size: 3.0rem;
  line-height: 4.6rem;
  margin: 2.0rem 1.5rem 0 0;
}

#topImageContainer.hubpage01-02 .text01 {
  font-size: 1.9rem;
  line-height: 3.4rem;
}

#topImageContainer.hubpage01-02 .text02 {
  margin: 1.5rem 0 1.0rem;
}

#topImageContainer.hubpage01-02 .text02 br {
  display: none;
}

}

#topImageContainer.hubpage01-02.hubpage01-02_noImage .innerContainer {
  padding-right: 0;
}

/* -------------------- ブラウザ幅 960px以上の場合（＝ボックス内 画像が左側（幅38rem固定）） -------------------- */
@media all and (min-width: 960px) {

.hubpage01-02Container1Col .box01 {
  border: 1px solid #cccccc;
  padding: 5rem;
  margin: 0 0 5rem;
  transition-duration: 0.2s;
  display: grid;
  grid-gap: 1.4rem 5rem;
  grid-template-rows: auto auto minmax(5rem, 1fr);
  grid-template-columns: 38rem 1fr;
  grid-template-areas:
    "thumb01 cap01"
    "thumb01 text01"
    "thumb01 btn01";
  display: -ms-grid;
  -ms-grid-rows: auto auto minmax(5rem, 1fr);
  -ms-grid-columns: 38rem 5rem 1fr;
}

}

/* -------------------- ブラウザ幅 760px以上の場合（＝ボックス内 画像が左側（左右が等幅）） -------------------- */
@media screen and (min-width: 760px) and (max-width: 959px)  {

.hubpage01-02Container1Col .box01 {
  border: 1px solid #cccccc;
  padding: 5rem;
  margin: 0 0 5rem;
  transition-duration: 0.2s;
  display: grid;
  grid-gap: 1.4rem 5rem;
  grid-template-rows: auto auto minmax(5rem, 1fr);
  grid-template-columns: calc(50% - 2.5rem) 1fr;
  grid-template-areas:
    "thumb01 cap01"
    "thumb01 text01"
    "thumb01 btn01";
  display: -ms-grid;
  -ms-grid-rows: auto auto minmax(5rem, 1fr);
  -ms-grid-columns: calc(50% - 2.5rem) 5rem 1fr;
}

}

@media all and (min-width: 760px) {

.hubpage01-02Container1Col .thumb01 {
  grid-area: thumb01;
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  -ms-grid-row-span: 3;
  text-align: center;
  z-index: 2;
}

.hubpage01-02Container1Col .cap01 {
  grid-area: cap01;
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  font-size: 2.8rem;
  line-height: 4.2rem;
  color: #ff7a1c;

  text-align: left;
  margin-top: 1.4rem;
}

.hubpage01-02Container1Col .text01 {
  grid-area: text01;
  -ms-grid-row: 2;
  -ms-grid-column: 3;
  font-size: 1.6rem;
  line-height: 2.8rem;
  margin-bottom: 2rem;
  margin-left: 0.1rem;
}

.hubpage01-02Container1Col .btn01 {
  grid-area: btn01;
  -ms-grid-row: 3;
  -ms-grid-column: 3;
  position: relative;
}

.hubpage01-02Container1Col .btn01 .linkBtn01 {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #109189;
  border: 1px solid #109189;
  background-color: #ffffff;
  width: 27.5rem;
  text-align: center;
  padding: 1.3rem 1rem 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.hubpage01-02Container1Col .btn01 .linkBtn01::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background-color: #109189;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  transition-duration: 0.2s;
  z-index: 2;
}

}

/* -------------------- ブラウザ幅 760px未満の場合（＝ボックス内縦積み） -------------------- */
@media screen and (max-width: 759px) {

.hubpage01-02Container1Col .box01 {
  border: 1px solid #cccccc;
  padding: 2.5rem;
  margin: 0 0 2.5rem;
  transition-duration: 0.2s;
  display: grid;
  grid-gap: 1.4rem 5rem;
  grid-template-rows: auto auto auto 4.8rem;
  grid-template-columns: 1fr;
  grid-template-areas:
    "cap01"
    "thumb01"
    "text01"
    "btn01";
  display: -ms-grid;
  -ms-grid-rows: auto auto auto 4.8rem;
  -ms-grid-columns: 1fr;
}

.hubpage01-02Container1Col .thumb01 {
  grid-area: thumb01;
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  text-align: center;
  z-index: 2;
}

.hubpage01-02Container1Col .cap01 {
  grid-area: cap01;
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  font-size: 2.4rem;
  line-height: 3.6rem;
  color: #ff7a1c;
  text-align: left;
  margin: -0.8rem 0 -0.3rem;
}

.hubpage01-02Container1Col .text01 {
  grid-area: text01;
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  margin: 0.5rem 0 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

.hubpage01-02Container1Col .btn01 {
  grid-area: btn01;
  -ms-grid-row: 3;
  -ms-grid-column: 2;
  position: relative;
}

.hubpage01-02Container1Col .btn01 .linkBtn01 {
  position: absolute;
  bottom: 0;
  right: 0;
  color: #109189;
  border: 1px solid #109189;
  background-color: #ffffff;
  width: 100%;
  text-align: center;
  padding: 1.3rem 1rem 1.5rem;
  font-size: 1.8rem;
  font-weight: 700;
}

.hubpage01-02Container1Col .btn01 .linkBtn01::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  top: calc(50% - 1.5rem);
  width: 3rem;
  height: 3rem;
  background-color: #109189;
  -webkit-mask-image: url("/common/images/linkarrow02Black.svg");
  mask-image: url("/common/images/linkarrow02Black.svg");
  -webkit-mask-size: cover;
  mask-size: cover;
  transition-duration: 0.2s;
  z-index: 2;
}

}

/* -------------------- ブラウザ幅 560px未満の場合はホバーエフェクト無し -------------------- */
@media (min-width: 560px) {

.hubpage01-02Container1Col a.box01:hover {
  border-color: #109189;
  box-shadow: 0 0 1.8rem rgba(16,145,137,0.4);
  transition-duration: 0.2s;
}

.hubpage01-02Container1Col a.box01:hover .btn01 .linkBtn01 .linkBtn01InnerContainer, .hubpage01-02Container1Col a.box01:hover .btn01 .linkBtn01:hover .linkBtn01InnerContainer * {
  color: #ffffff;
  transition-duration: 0.2s;
}

.hubpage01-02Container1Col a.box01:hover .btn01 .linkBtn01:after {
  background-color: #ffffff;
  transition-duration: 0.2s;
}

.hubpage01-02Container1Col .btn01 .linkBtn01:before {
  content: "";
  display: block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #109189;
  transition-duration: 0.2s;
  opacity: 0;
  z-index: 1;
}

.hubpage01-02Container1Col a.box01:hover .btn01 .linkBtn01:before {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transition-duration: 0.2s;
  opacity: 1;
}

}

/* ---------------------------------------- ハブページ中（第二階層のハブページ／.hubpage02-02） ---------------------------------------- */

#topImageContainer.hubpage02-02 {
  height: auto;
  max-height: none;
  min-height: 14.5rem;
  background-color: rgba(16,145,137,0.15);
}

#topImageContainer.hubpage02-02 .innerContainer {
  max-width: 120rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 2.9rem 0 1.6rem;
}

#topImageContainer.hubpage02-02 h1 {
  font-size: 3.5rem;
  line-height: 5.3rem;
  font-weight: 700;
  color: rgba(16,145,137,1.00);
  margin: 0 2.5rem 0.7rem 0;
  display: inline-block;
}

#topImageContainer.hubpage02-02 .text01 {
  font-size: 2.1rem;
  line-height: 3.7rem;
  font-weight: 700;
  transform: scale(1.0, 1.15);
  letter-spacing: -0.05rem;
  color: rgba(16,145,137,0.50);
  margin: 0 0 0.7rem;
  display: inline-block;
}

@media screen and (max-width: 1250px) {

#topImageContainer.hubpage02-02 .innerContainer {
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

}

@media screen and (max-width: 559px) {

#topImageContainer.hubpage02-02 h1 {
  font-size: 2.5rem;
  line-height: 3.9rem;
}

#topImageContainer.hubpage02-02 .text01 {
  font-size: 1.8rem;
  line-height: 2.9rem;
}

}

/* ---------------------------------------- 販促ソリューション系ページの事例紹介とスペック ---------------------------------------- */

.spsCaseStudyContainer {
  padding: 0 0 4rem;
  margin-left: calc((100% - 100vw) / 2);
  margin-right: calc((100% - 100vw) / 2);
  margin-bottom: 8rem;
}

.header_spsCaseStudy01 {
  display: inline-block;
  margin: 4rem 0 0;
  padding: 1rem 0 1.3rem;
  font-size: 3.5rem;
  line-height: 5.2rem;
  font-weight: 700;
  position: relative;
  width: 100%;
  text-align: center;
}

@media screen and (max-width: 959px) {

.header_spsCaseStudy01 {
  margin-top: 6rem;
}

}

.header_spsCaseStudy01::before {
  content: "　";
  padding: 1rem 0 1.3rem;
  position: absolute;
  height: auto;
  width: calc((100vw - 120rem) / 2);
  left: calc((120rem - 100vw) / 2);
  z-index: 0;
  top: 0;
}

.header_spsCaseStudy01R::before {
  content: "　";
  padding: 1rem 0 1.3rem;
  position: absolute;
  height: auto;
  width: calc((100vw - 120rem) / 2);
  right: calc((120rem - 100vw) / 2);
  left: auto;
  z-index: 0;
  top: 0;
}

.header_spsCaseStudy02 {
  font-size: 2.5rem;
  line-height: 4.0rem;
  font-weight: 700;
  border-bottom: 2px solid #000000;
  margin: 2rem 0 3rem;
  padding: 0 0 0.6rem;
}

.header_spsCaseStudy02_shoulder {
  display: inline-block;
  padding: 0.8rem 3rem 0.8rem;
  font-size: 1.5rem;
  line-height: 2.25rem;
  font-weight: 500;
  border-radius: 10rem;
}

.spsCaseStudy_frame01 {
  background-color: #ffffff;
  padding: 4rem 5rem;
  margin: 4rem 0;
}

.spsCaseStudy_box01 {
  padding: 2.7rem 3rem 2.7rem;
  font-size: 1.5rem;
  line-height: 2.6rem;
  font-weight: 400;
  background-color: #f2f2f2;
  border: 1px solid #000000;
  position: relative;
}

.spsCaseStudy_box01::after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
  border-color: rgba(255, 255, 255, 0);
  border-left-color: #000000;
  border-width: 2.0rem;
  margin: -2.0rem 0 0;
}

.spsCaseStudy_box02 {
  padding: 3.0rem 3rem 3.2rem;
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 700;
}

.spsCaseStudy_box03 {
  margin: 1.5rem 0 1rem;
  padding: 2.0rem 3rem 2.1rem;
  font-size: 2.0rem;
  line-height: 3.2rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid;
  position: relative;
  box-shadow: 1.0rem 1.0rem #e2e6e6;
}

@media screen and (max-width: 1250px) {

.header_spsCaseStudy01::before {
  width: calc((100vw - 100%) / 2);
  left: calc((100% - 100vw) / 2);
}

.header_spsCaseStudy01R::before {
  width: calc((100vw - 100%) / 2);
  right: calc((100% - 100vw) / 2);
  left: auto;
}

}

@media (max-width: 959px) {

.spsCaseStudyContainer {
  margin-bottom: 6rem;
}

.header_spsCaseStudy01::before {
  display: none;
}

.spsCaseStudy_box01 {
  margin-bottom: 3rem;
}

.spsCaseStudy_box01::after {
	left: 50%;
	top: 100%;
  border-color: rgba(255, 255, 255, 0);
  border-top-color: #000000;
  margin: 0 0 0 -2.0rem;
}

}

@media (max-width: 559px) {

.spsCaseStudyContainer {
  margin-bottom: 0;
}

.header_spsCaseStudy01 {
  margin: 3rem 0 1rem;
  padding: 0.2rem 1rem 0.5rem;
  font-size: 2.5rem;
  line-height: 3.75rem;
}

.header_spsCaseStudy02 {
  font-size: 2.0rem;
  line-height: 3.1rem;
  margin: 1.2rem 0 2.5rem;
  padding: 0 0 1.2rem;
}

.header_spsCaseStudy02_shoulder {
  padding: 0.4rem 1.5rem 0.6rem;
  font-size: 1.2rem;
  line-height: 1.8rem;
}

.spsCaseStudy_frame01 {
  padding: 2rem;
  margin: 2rem 0 0;
}

.spsCaseStudy_box01 {
  padding: 1.8rem 2rem 2.0rem;
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin-bottom: 3rem;
}

.spsCaseStudy_box01::after {
	left: 50%;
	top: 100%;
  border-color: rgba(255, 255, 255, 0);
  border-top-color: #000000;
  margin: 0 0 0 -2.0rem;
}

.spsCaseStudy_box02 {
  padding: 1.8rem 2rem 2.0rem;
  font-size: 1.8rem;
  line-height: 2.7rem;
}

.spsCaseStudy_box03 {
  margin: 2rem 0 1rem;
  padding: 2.0rem 2rem 2.2rem;
  font-size: 1.8rem;
  line-height: 2.7rem;
}

}

.spsSpecContainer {
  padding: 1rem 0 5rem;
  margin-left: calc((100% - 100vw) / 2);
  margin-right: calc((100% - 100vw) / 2);
  margin-bottom: -5rem;
}

.header_spsSpec01 {
  margin: 0 0 1.5rem;
  padding: 3rem 0 0;
  font-size: 3.5rem;
  line-height: 5.2rem;
  font-weight: 700;
  text-align: center;
}

.spsSpec_tbl01 {
  overflow-x: auto;
}

.spsSpec_tbl01 table {
  width: 100%;
}

.spsSpec_tbl01 tr {
  border-bottom: 5px solid;
}

.spsSpec_tbl01 th {
  background-color:;
  font-size: 1.6rem;
  line-height: 3.4rem;
  font-weight: 500;
  padding: 1.1rem 2.5rem;
  vertical-align: top;
  text-align: left;
  width: 23rem;
}

.spsSpec_tbl01 td {
  font-size: 1.5rem;
  line-height: 3.4rem;
  font-weight: 400;
  padding: 1.2rem 3rem;
  vertical-align: top;
  text-align: left;
}

.spsSpec_tbl01 td ul {
  margin-bottom: 0;
  margin-right: -3rem;
}

.spsSpec_tbl01 td ul li {
  list-style: none;
  padding: 0 5rem 0 2rem;
  display: inline-block;
  position: relative;
}

.spsSpec_tbl01 td ul li::before {
  content: "";
  position: absolute;
  top: 1.0rem;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 1.5rem;
}

@media (max-width: 559px) {

.spsSpecContainer {
  padding: 0 0 2rem;
  margin-bottom: -2rem
}

.header_spsSpec01 {
  margin: 0 0 1.5rem;
  padding: 2rem 0 0 0;
  font-size: 2.5rem;
  line-height: 3.75rem;
}

.spsSpec_tbl01 {
  overflow-x: auto;
  margin: 0;
}

.spsSpec_tbl01 th {
  font-size: 1.5rem;
  line-height: 2.25rem;
  padding: 1.2rem 1.5rem 1.3rem;
  width: 7.5rem;
}

.spsSpec_tbl01 td {
  font-size: 1.5rem;
  line-height: 2.25rem;
  padding: 1.2rem 1.5rem 1.3rem;
}

.spsSpec_tbl01 td ul {
  margin-right: -1.5rem;
}

.spsSpec_tbl01 td ul li {
  padding: 0 1.5rem 0 2rem;
}

.spsSpec_tbl01 td ul li::before {
  top: 0.6rem;
  width: 1.3rem;
  height: 1.3rem;
}

}

.spsSpec_tbl02 {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
}

.spsSpec_tbl02 .spsSpec_tbl02_inner {
  overflow-x: auto;
}

.spsSpec_tbl02 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.5rem;
}

.spsSpec_tbl02 th, .spsSpec_tbl02 td {
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 400;
  padding: 1.1rem 2.5rem;
}

.spsSpec_tbl02 .minw1em { min-width: calc(1em + 5.0rem); }
.spsSpec_tbl02 .minw2em { min-width: calc(2em + 5.0rem); }
.spsSpec_tbl02 .minw3em { min-width: calc(3em + 5.0rem); }
.spsSpec_tbl02 .minw4em { min-width: calc(4em + 5.0rem); }
.spsSpec_tbl02 .minw5em { min-width: calc(5em + 5.0rem); }
.spsSpec_tbl02 .minw6em { min-width: calc(6em + 5.0rem); }
.spsSpec_tbl02 .minw7em { min-width: calc(7em + 5.0rem); }
.spsSpec_tbl02 .minw8em { min-width: calc(8em + 5.0rem); }
.spsSpec_tbl02 .minw9em { min-width: calc(9em + 5.0rem); }
.spsSpec_tbl02 .minw10em { min-width: calc(10em + 5.0rem); }
.spsSpec_tbl02 .minw11em { min-width: calc(11em + 5.0rem); }
.spsSpec_tbl02 .minw12em { min-width: calc(12em + 5.0rem); }
.spsSpec_tbl02 .minw13em { min-width: calc(13em + 5.0rem); }
.spsSpec_tbl02 .minw14em { min-width: calc(14em + 5.0rem); }
.spsSpec_tbl02 .minw15em { min-width: calc(15em + 5.0rem); }
.spsSpec_tbl02 .minw16em { min-width: calc(16em + 5.0rem); }
.spsSpec_tbl02 .minw17em { min-width: calc(17em + 5.0rem); }
.spsSpec_tbl02 .minw18em { min-width: calc(18em + 5.0rem); }
.spsSpec_tbl02 .minw19em { min-width: calc(19em + 5.0rem); }
.spsSpec_tbl02 .minw20em { min-width: calc(20em + 5.0rem); }

@media (max-width: 559px) {

.spsSpec_tbl02 th,.spsSpec_tbl02 td  {
  padding: 1.2rem 1.5rem 1.3rem;
}

.spsSpec_tbl02 .minw1em { min-width: calc(1em + 3.0rem); }
.spsSpec_tbl02 .minw2em { min-width: calc(2em + 3.0rem); }
.spsSpec_tbl02 .minw3em { min-width: calc(3em + 3.0rem); }
.spsSpec_tbl02 .minw4em { min-width: calc(4em + 3.0rem); }
.spsSpec_tbl02 .minw5em { min-width: calc(5em + 3.0rem); }
.spsSpec_tbl02 .minw6em { min-width: calc(6em + 3.0rem); }
.spsSpec_tbl02 .minw7em { min-width: calc(7em + 3.0rem); }
.spsSpec_tbl02 .minw8em { min-width: calc(8em + 3.0rem); }
.spsSpec_tbl02 .minw9em { min-width: calc(9em + 3.0rem); }
.spsSpec_tbl02 .minw10em { min-width: calc(10em + 3.0rem); }
.spsSpec_tbl02 .minw11em { min-width: calc(11em + 3.0rem); }
.spsSpec_tbl02 .minw12em { min-width: calc(12em + 3.0rem); }
.spsSpec_tbl02 .minw13em { min-width: calc(13em + 3.0rem); }
.spsSpec_tbl02 .minw14em { min-width: calc(14em + 3.0rem); }
.spsSpec_tbl02 .minw15em { min-width: calc(15em + 3.0rem); }
.spsSpec_tbl02 .minw16em { min-width: calc(16em + 3.0rem); }
.spsSpec_tbl02 .minw17em { min-width: calc(17em + 3.0rem); }
.spsSpec_tbl02 .minw18em { min-width: calc(18em + 3.0rem); }
.spsSpec_tbl02 .minw19em { min-width: calc(19em + 3.0rem); }
.spsSpec_tbl02 .minw20em { min-width: calc(20em + 3.0rem); }

}

/* ---------------------------------------- よくあるご質問 ---------------------------------------- */

.faq01 dt {
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 700;
  color: #109189;
  background: url(/common/images/faq01_icon_q.png) left 2rem top 1.5rem no-repeat rgba(16,145,137,0.15);
  padding: 1.7rem 6.5rem 1.7rem 6.5rem;
  border-bottom: none;
  position: relative;
  transition: background-color 0.2s linear 0s, border-bottom 0s linear 0.5s;
  cursor: pointer;
}

.faq01 dd {
  font-size: 1.5rem;
  line-height: 2.5rem;
  font-weight: 400;
  background: url(/common/images/faq01_icon_a.png) left 2rem top 1.5rem no-repeat #ffffff;
  padding: 1.7rem 2rem 1.7rem 6.5rem;
  transition: background-color 0.2s linear 0s, border-bottom 0s linear 0.5s;
  cursor: pointer;
}

.faq01 dt.closed {
  border-bottom: 1px solid #ffffff;
  transition: background-color 0.2s linear 0s, border-bottom 0s linear 0.5s;
}

.faq01 dt::before {
	content: "";
  position: absolute;
  height: 3.0rem;
  width: 3.0rem;
  top: 1.5rem;
  right: 2rem;
  border-radius: 1.5rem;
  background: url("/common/images/ico_minusGreen.svg") center center no-repeat #ffffff;
  transition: background 0.2s;
}

.faq01 dt.closed::before {
  background: url("/common/images/ico_plus.svg") center center no-repeat #109189;
  transition: background 0.2s;
}

@media (max-width: 559px) {

.faq01 dt {
  padding: 1.7rem 5.5rem 1.8rem 5.5rem;
  background: url(/common/images/faq01_icon_q.png) left 1.5rem top 1.5rem no-repeat rgba(16,145,137,0.15);
}

.faq01 dd {
  background: url(/common/images/faq01_icon_a.png) left 1.5rem top 1.5rem no-repeat #ffffff;
  padding: 1.7rem 1.5rem 1.7rem 5.5rem;
}

.faq01 dt::before {
  right: 1.5rem;
}

}




