@charset "UTF-8";
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  max-width: 100%;
  overflow-x: hidden;
  font-weight: 400;
  background: #ffffff;
}

body.navOn {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

body * {
  letter-spacing: 0.02em;
  line-height: 140%;
}

#mainContent {
  max-width: 100%;
  overflow-x: hidden;
}

a {
  color: #000000;
}
.commonWidth {
  margin: 0 auto;
}

.inWidth {
  margin: 0 auto;
}

.noLink {
  opacity: 0.5;
  pointer-events: none;
  cursor: inherit;
}

.fontBar {
  font-family: "Figtree", sans-serif;
}

@media only screen and (max-width: 767px) {
  .commonWidth {
    width: min(92vw, 390px);
  }
  .commonWidthSp {
    width: min(92vw, 390px);
    margin: 0 auto;
  }
  .contentArea {
    padding-top: 62px;
    padding-bottom: 60px;
  }
}
@media print, screen and (min-width: 768px) {
  .commonWidth {
    width: min(92vw, 1150px);
  }
  .commonWidthPc {
    width: min(92vw, 1150px);
    margin: 0 auto;
  }
  .contentArea {
    padding-top: 100px;
    min-height: calc(100vh - 100px - 100px);
    padding-bottom: 80px;
  }
}
.secHeader {
  position: fixed;
  z-index: 10;
  left: 0;
  width: 100%;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
}
.secHeader .secHeaderIn {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menuBtnWrap {
  position: fixed;
  z-index: 200;
  display: flex;
  align-items: center;
}
.menuBtnWrap .menuBtn {
  width: 62px;
  height: 62px;
  position: relative;
  background: #1668AF;
}
@media only screen and (max-width: 1079px) {
  .secHeader {
    height: 62px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .secHeader .secHeaderIn {
    padding: 0 10px;
  }
  .secHeader .secHeaderIn .headerLogo {
    width: min(70%, 188px);
  }
  .secHeader .secHeaderIn .headerGrow {
    display: none;
  }
  .secHeader .secHeaderIn .headerLink {
    display: none;
  }
  .secHeader .secHeaderIn .headerContact {
    display: none;
  }
  .menuBtnWrap {
    right: 0px;
    top: 0px;
  }
}
@media print, screen and (min-width: 1080px) {
  .secHeader {
    height: 100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .secHeader .secHeaderIn {
    display: flex;
    -moz-column-gap: 20px;
         column-gap: 20px;
    justify-content: space-between;
    align-items: center;
    padding: 30px clamp(20px, 2.22vw, 32px) 20px;
  }
  .secHeader .secHeaderIn .headerLogo {
    width: min(20%, 236px);
  }
  .secHeader .secHeaderIn .headerGrow {
    flex-grow: 1;
  }
  .secHeader .secHeaderIn .headerLink {
    display: flex;
    -moz-column-gap: min(2.8vw, 40px);
         column-gap: min(2.8vw, 40px);
    padding: 12px min(2.8vw, 40px);
    background: #F4FAFF;
    border-radius: 5px;
  }
  .secHeader .secHeaderIn .headerLink .linkList {
    font-size: clamp(14px, 1.33vw, 17px);
  }
  .secHeader .secHeaderIn .headerContact .btnContact {
    display: flex;
    justify-content: center;
    align-items: baseline;
    padding: 10px min(1.82vw, 26px);
    -moz-column-gap: min(0.8vw, 10px);
         column-gap: min(0.8vw, 10px);
    background: #1668AF;
    border-radius: 5px;
    color: #ffffff;
    font-weight: 500;
    font-size: clamp(14px, 1.33vw, 17px);
  }
  .menuBtnWrap {
    display: none;
  }
}
#menuButton {
  width: 100%;
  height: 100%;
  cursor: pointer;
}
#menuButton span {
  display: inline-block;
  transition: transform 0.4s;
  box-sizing: border-box;
  position: absolute;
  left: 21px;
  width: 20px;
  height: 1px;
  background-color: #ffffff;
}
#menuButton span:nth-of-type(1) {
  top: 45%;
}
#menuButton span:nth-of-type(2) {
  top: 55%;
}

body.navOn .menuBtnWrap .menuBtn #menuButton span {
  left: 17px;
  width: 28px;
}
body.navOn .menuBtnWrap .menuBtn #menuButton span:nth-of-type(1) {
  transform: translateY(4px) rotate(-45deg);
}
body.navOn .menuBtnWrap .menuBtn #menuButton span:nth-of-type(2) {
  transform: translateY(-2px) rotate(45deg);
}

.globalNavWrap {
  pointer-events: none;
}
.globalNavWrap .globalNav {
  background: #1668AF;
}
.globalNavWrap .globalNav .globalNavInner {
  position: relative;
}
.globalNavWrap .globalNav .globalNavInner .naviListArea .naviList .naviLink {
  color: #ffffff;
  font-weight: 400;
}
.globalNavWrap .globalNav .globalNavInner .navContact .btnContact {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffffff;
  border-radius: 5px;
  width: 196px;
  height: 56px;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin: 0 auto;
}
.globalNavWrap .globalNav .globalNavInner .navContact .btnContact .text {
  font-size: 17px;
  font-weight: 500;
  color: #1668AF;
}

@media only screen and (max-width: 1079px) {
  .globalNavWrap .globalNav {
    max-height: 664px;
    border-radius: 10px 0 0 10px;
  }
  .globalNavWrap .globalNav .globalNavInner .naviListArea {
    padding: 105px 0 0px 0;
  }
  .globalNavWrap .globalNav .globalNavInner .naviListArea .naviList {
    padding: 20px 0;
  }
  .globalNavWrap .globalNav .globalNavInner .naviListArea .naviList .naviLink {
    font-size: clamp(14px, 4.62vw, 18px);
  }
  .globalNavWrap .globalNav .globalNavInner .navContact {
    padding: 40px 0 132px 0;
  }
}
body.navOn .globalNavWrap {
  pointer-events: all;
}
body.navOn .globalNavWrap .globalNav {
  width: min(100vw, 312px);
}

.secBottomContact {
  background: #1668AF;
  color: #ffffff;
  position: relative;
}
.secBottomContact .contactImg {
  position: absolute;
  z-index: 1;
}
.secBottomContact .secBottomContactIn {
  position: relative;
  z-index: 2;
}
.secBottomContact .contactTitle {
  text-align: center;
}
.secBottomContact .contactListWrap .contactList .listTitle {
  display: flex;
  justify-content: center;
  align-items: center;
}
.secBottomContact .contactListWrap .contactList .tel {
  font-weight: 500;
  font-family: "Figtree", sans-serif;
  color: #ffffff;
}
.secBottomContact .contactListWrap .contactList .time .num {
  font-family: "Figtree", sans-serif;
}
.secBottomContact .contactListWrap .contactList .btnContact {
  background: #ffffff;
  color: #1668AF;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  font-weight: 500;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .secBottomContact {
    padding: 94px 11.1% 60px;
    margin: 70px 0 60px 0;
  }
  .secBottomContact .contactImg {
    top: -82px;
    left: calc(50% - 80px);
    width: 160px;
    aspect-ratio: 160/169;
  }
  .secBottomContact .contactTitle {
    font-size: clamp(14px, 5.64vw, 22px);
    line-height: 160%;
    padding: 0px 0 0px;
  }
  .secBottomContact .contactListWrap .contactList {
    border-bottom: solid 1px #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 34px 0;
  }
  .secBottomContact .contactListWrap .contactList:last-of-type {
    border-bottom: none;
  }
  .secBottomContact .contactListWrap .contactList .listTitle {
    -moz-column-gap: 8px;
         column-gap: 8px;
  }
  .secBottomContact .contactListWrap .contactList .listTitle .text {
    font-size: clamp(14px, 4.62vw, 18px);
  }
  .secBottomContact .contactListWrap .contactList .tel {
    font-size: clamp(17px, 7.18vw, 28px);
    margin-top: 14px;
  }
  .secBottomContact .contactListWrap .contactList .time {
    font-size: 13px;
    padding: 8px 0 0 0;
  }
  .secBottomContact .contactListWrap .contactList .btnContact {
    width: 233px;
    height: 58px;
    font-size: 17px;
    margin-top: 26px;
  }
  .secBottomContact .contactListWrap .contactList .noteText {
    font-size: 13px;
    padding: 18px 0 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .secBottomContact {
    padding: 46px 0 50px 0;
    margin: 90px 0 100px 0;
  }
  .secBottomContact .contactImg {
    top: max(-9.5vw, -112px);
    left: 73%;
    width: min(20vw, 208px);
    aspect-ratio: 208/208;
  }
  .secBottomContact .contactTitle {
    font-size: clamp(14px, 1.88vw, 24px);
    padding: 0px 0 24px;
  }
  .secBottomContact .contactListWrap {
    display: flex;
    justify-content: center;
  }
  .secBottomContact .contactListWrap .contactList {
    width: 50%;
    border-right: solid 1px #ffffff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 190px;
  }
  .secBottomContact .contactListWrap .contactList:last-of-type {
    border-right: none;
  }
  .secBottomContact .contactListWrap .contactList .listTitle {
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .secBottomContact .contactListWrap .contactList .listTitle .text {
    font-size: clamp(14px, 1.72vw, 22px);
  }
  .secBottomContact .contactListWrap .contactList .tel {
    font-size: clamp(19px, 2.5vw, 32px);
    margin-top: 20px;
  }
  .secBottomContact .contactListWrap .contactList .time {
    font-size: clamp(14px, 1.17vw, 15px);
    padding: 24px 0 0 0;
  }
  .secBottomContact .contactListWrap .contactList .btnContact {
    width: 233px;
    height: 58px;
    font-size: 17px;
    margin-top: 28px;
  }
  .secBottomContact .contactListWrap .contactList .noteText {
    font-size: clamp(14px, 1.17vw, 15px);
    padding: 18px 0 0 0;
  }
}
.secFooter .secFooterIn {
  border-top: solid 1px #141414;
}
.secFooter .secFooterIn .copyright {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .secFooter {
    padding: 0 0 16px 0;
  }
  .secFooter .secFooterIn {
    padding: 50px 0 0 0;
  }
  .secFooter .secFooterIn .infoCol .logo {
    text-align: center;
  }
  .secFooter .secFooterIn .infoCol .linkListWrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 24px;
    padding: 42px 0 30px 0;
  }
  .secFooter .secFooterIn .infoCol .linkListWrap .linkList {
    font-size: 14px;
  }
  .secFooter .secFooterIn .copyright {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 768px) {
  .secFooter {
    padding: 0 0 36px 0;
  }
  .secFooter .secFooterIn {
    padding: 24px 0 0 0;
  }
  .secFooter .secFooterIn .infoCol {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 12px 0;
  }
  .secFooter .secFooterIn .infoCol .logo {
    width: min(20%, 227px);
  }
  .secFooter .secFooterIn .infoCol .linkListWrap {
    width: min(76%, 830px);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .secFooter .secFooterIn .infoCol .linkListWrap .linkList {
    font-size: 14px;
  }
  .secFooter .secFooterIn .copyright {
    font-size: 14px;
  }
}
.commonTitleArea .pageTitle .titleEn {
  font-family: "Figtree", sans-serif;
  color: #3E85C3;
}
.commonTitleArea .pageTitle .titleJp {
  font-weight: 500;
}
.commonTitleArea .pnkzArea {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-wrap: wrap;
}
.commonTitleArea .pnkzArea a.pnkzList {
  color: #3E85C3;
}
.commonTitleArea .pnkzArea .pnkzArrow {
  background: url(../images/arrow_pnkz.svg) center center no-repeat;
  background-size: contain;
  width: 4px;
  height: 8px;
}

@media only screen and (max-width: 767px) {
  .commonTitleArea {
    padding: 56px 0 40px 0;
  }
  .commonTitleArea .pageTitle {
    padding: 0 0 16px 0;
  }
  .commonTitleArea .pageTitle .titleEn {
    font-size: 14px;
  }
  .commonTitleArea .pageTitle .titleJp {
    font-size: clamp(16px, 6.67vw, 26px);
  }
  .commonTitleArea .pnkzArea {
    -moz-column-gap: 8px;
         column-gap: 8px;
    font-size: clamp(14px, 1.25vw, 16px);
  }
}
@media print, screen and (min-width: 768px) {
  .commonTitleArea {
    padding: 70px 0 100px 0;
  }
  .commonTitleArea .pageTitle .titleEn {
    font-size: clamp(14px, 1.25vw, 16px);
  }
  .commonTitleArea .pageTitle .titleJp {
    font-size: clamp(19px, 2.5vw, 32px);
  }
  .commonTitleArea .pnkzArea {
    -moz-column-gap: 16px;
         column-gap: 16px;
    font-size: clamp(14px, 1.25vw, 16px);
  }
}
/*---------------------------------------------
エラー系テキスト
---------------------------------------------*/
.commonErrorText {
  line-height: 200%;
  text-align: justify;
}
.commonErrorText a {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .commonErrorText {
    font-size: clamp(14px, 4.62vw, 18px);
  }
}
@media only screen and (min-width: 768px) {
  .commonErrorText {
    font-size: clamp(14px, 1.72vw, 22px);
  }
}
.commonNewsListWrap .newsList {
  border-bottom: solid 1px #dcdcdc;
  display: block;
}
.commonNewsListWrap .newsList:last-of-type {
  border-bottom: none;
}
.commonNewsListWrap .newsList .date {
  font-family: "Figtree", sans-serif;
  color: #8c8c8c;
}
.commonNewsListWrap .newsList .title {
  background: url(../images/arrow_circle_blue.svg) right center no-repeat;
  background-size: 32px;
}

@media only screen and (max-width: 767px) {
  .commonNewsListWrap .newsList {
    padding: 26px 0 26px 0;
  }
  .commonNewsListWrap .newsList .date {
    font-size: 13px;
  }
  .commonNewsListWrap .newsList .title {
    font-size: clamp(14px, 1.33vw, 17px);
    padding: 4px 50px 4px 0;
    min-height: 32px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 768px) {
  .commonNewsListWrap .newsList {
    padding: 46px 0px 32px 0;
  }
  .commonNewsListWrap .newsList .date {
    font-size: 14px;
  }
  .commonNewsListWrap .newsList .title {
    font-size: clamp(14px, 1.33vw, 17px);
    padding: 4px min(8%, 72px) 4px 0;
    min-height: 32px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}/*# sourceMappingURL=common.css.map */