/* =======================================

  COMMON

======================================= */
/*-----------------------------------------
  font
-----------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@600&family=Roboto:wght@500&display=swap");
/*-----------------------------------------
  reset
-----------------------------------------*/
#mainContents p, #mainContents a, #mainContents ul, #mainContents ol, #mainContents li, #mainContents dl, #mainContents dt, #mainContents dt, #mainContents dd {
  padding-top: 0;
}
#mainContents * {
  box-sizing: border-box;
}
#mainContents .contOuter {
  max-width: 1920px;
  margin-inline: auto;
  padding-inline: 40px;
}
@media screen and (max-width: 750px) {
  #mainContents .contOuter {
    padding-inline: 20px;
  }
}
#mainContents .contInner {
  max-width: 1200px;
  margin-inline: auto;
}

/*-----------------------------------------
  smooth scroll
-----------------------------------------*/
html {
  scroll-behavior: smooth;
}

[id^=anc_] {
  scroll-margin-top: 200px;
}
@media screen and (max-width: 750px) {
  [id^=anc_] {
    scroll-margin-top: 88px;
  }
}

/*-----------------------------------------
  focus-visible
-----------------------------------------*/
#mainContents a:focus-visible,
#mainContents button:focus-visible,
#mainContents input:focus-visible,
#mainContents textarea:focus-visible,
#mainContents select:focus-visible {
  outline: 3px solid #231815 !important;
  outline-offset: 3px;
  z-index: 1;
}

/*-----------------------------------------
  tel
-----------------------------------------*/
@media screen and (min-width: 751px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: #111;
  }
}
@media screen and (max-width: 750px) {
  a[href^="tel:"] {
    text-decoration: underline;
    color: #00368f;
  }
}

/*-----------------------------------------
  utility
-----------------------------------------*/
#mainContents .pc {
  display: block !important;
}
@media screen and (max-width: 750px) {
  #mainContents .pc {
    display: none !important;
  }
}
#mainContents .sp {
  display: none !important;
}
@media screen and (max-width: 750px) {
  #mainContents .sp {
    display: block !important;
  }
}
#mainContents .alignR {
  text-align: right !important;
}
#mainContents .alignC {
  text-align: center !important;
}
#mainContents .alignL {
  text-align: left !important;
}
#mainContents .vAlignT {
  vertical-align: top !important;
}
#mainContents .vAlignM {
  vertical-align: middle !important;
}
#mainContents .vAlignB {
  vertical-align: bottom !important;
}
#mainContents .mb0 {
  margin-bottom: 0 !important;
}
#mainContents .visuallyHidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*-----------------------------------------
  .baseBlock
-----------------------------------------*/
#mainContents .baseBlock {
  margin-bottom: 80px;
}

/*-----------------------------------------
  .colWrap
-----------------------------------------*/
#mainContents .colWrap {
  display: flex;
  flex-direction: column;
  gap: 80px;
  container-type: inline-size;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap {
    gap: 60px;
  }
}
#mainContents .colWrap:nth-last-child(n+2) {
  margin-bottom: 40px;
}
#mainContents .colWrap > .colItem {
  display: flex;
}
#mainContents .colWrap > .colItem.col2 {
  gap: 20px 3.3333333333cqw;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap > .colItem {
    flex-direction: column;
  }
}
#mainContents .colWrap > .colItem.reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap > .colItem.reverse {
    flex-direction: column;
  }
}
#mainContents .colWrap > .colItem figure,
#mainContents .colWrap > .colItem .textWrap {
  width: 48.3333333333cqw;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap > .colItem figure,
  #mainContents .colWrap > .colItem .textWrap {
    width: 100%;
  }
}
#mainContents .colWrap > .colItem figure {
  display: grid;
  grid-template-columns: 100%;
  margin-bottom: 0;
}
#mainContents .colWrap > .colItem figure figcaption {
  margin-top: 0.625em;
  line-height: 1.875;
  letter-spacing: 3%;
  color: #111;
}
#mainContents .colWrap > .colItem .textWrap {
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto 1fr auto;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap > .colItem .textWrap {
    grid-template-rows: repeat(3, auto);
  }
}
#mainContents .colWrap > .colItem h2 {
  margin-bottom: 40px;
  font-weight: 600;
  font-size: 3.2rem;
  line-height: 1.4375;
  color: #111;
  letter-spacing: 3%;
}
@media screen and (max-width: 750px) {
  #mainContents .colWrap > .colItem h2 {
    margin-bottom: 20px;
    font-size: 2.8rem;
    line-height: 1.46;
    letter-spacing: 0;
    font-feature-settings: "palt";
  }
}
#mainContents .colWrap > .colItem p {
  line-height: 1.875;
  letter-spacing: 3%;
  color: #111;
}

/*-----------------------------------------
  btn
-----------------------------------------*/
#mainContents .btnArea {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
  margin-top: 20px;
}
@media screen and (max-width: 750px) {
  #mainContents .btnArea {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 751px) {
  #mainContents .btnArea.pcJce {
    justify-content: end;
  }
}
@media screen and (min-width: 751px) {
  #mainContents .btnArea.pcJcs {
    justify-content: start;
  }
}
#mainContents .btn {
  min-width: 244px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 24px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 2.4rem;
  color: #fff;
  text-decoration: none;
  border-radius: 100vmax;
  border: solid 1px transparent;
  background: #00368f;
  transition: all 0.2s ease-out;
}
#mainContents .btn:focus-visible {
  color: #00368f;
  border-color: currentColor;
  background-color: #fff;
}
@media (any-hover: hover) {
  #mainContents .btn:hover {
    color: #00368f;
    border-color: currentColor;
    background-color: #fff;
  }
}
#mainContents .btn span {
  flex: 1;
}

/*-----------------------------------------
  svg
-----------------------------------------*/
.iconArrowR,
.iconArrowD {
  width: 1.1rem;
  height: 1.1rem;
  transition: translate 0.2s ease-out;
}
.iconArrowR path,
.iconArrowD path {
  fill: none;
  stroke: currentColor;
  stroke-width: 2px;
}

.iconArrowR {
  margin-inline: auto 0;
}
.iconArrowR path {
  transition: stroke 0.2s ease-out;
}
a:focus-visible .iconArrowR {
  translate: 40% 0;
}
@media (any-hover: hover) {
  a:hover .iconArrowR {
    translate: 40% 0;
  }
}

.iconArrowD {
  translate: 0 20%;
}
a:focus-visible .iconArrowD {
  translate: 0 50%;
}
@media (any-hover: hover) {
  a:hover .iconArrowD {
    translate: 0 50%;
  }
}
.anchorLinks .iconArrowD path {
  stroke: #0098d9;
}

.iconPdf {
  fill: none;
  height: 1.1428571429em;
  aspect-ratio: 7/8;
  transition: translate 0.2s ease-out;
}
.iconPdf path {
  fill: currentColor;
}

.iconBack {
  fill: none;
  height: 1.1428571429em;
  aspect-ratio: 1/1;
  transition: translate 0.2s ease-out;
}
.iconBack path {
  fill: currentColor;
}

/*-----------------------------------------
  print
-----------------------------------------*/
@media print {
  body {
    zoom: 0.7;
  }
  #stage header,
  #mainMenu,
  #pagetop {
    display: none !important;
  }
  .js-scroll {
    opacity: 1 !important;
  }
}/*# sourceMappingURL=common.css.map */