@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 300;
  src: url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/YakuHanJP/YakuHanJP-DemiLight.woff2)
      format("woff2"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/YakuHanJP/YakuHanJP-DemiLight.woff)
      format("woff");
  font-display: swap;
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01,
    U+ff08-ff09, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}

@font-face {
  font-family: YakuHanJP;
  font-style: normal;
  font-weight: 700;
  src: url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/YakuHanJP/YakuHanJP-Bold.woff2)
      format("woff2"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/YakuHanJP/YakuHanJP-Bold.woff)
      format("woff");
  font-display: swap;
  unicode-range: U+3001-3002, U+3008-3011, U+3014-3015, U+30fb, U+ff01,
    U+ff08-ff09, U+ff1b, U+ff1f, U+ff3b, U+ff3d, U+ff5b, U+ff5d;
}

@font-face {
  font-family: Noto Sans JP;
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/NotoSansJP/NotoSansJP-Regular.woff2)
      format("woff2"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/NotoSansJP/NotoSansJP-Regular.woff)
      format("woff");
  font-display: swap;
}

@font-face {
  font-family: Noto Sans JP;
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/NotoSansJP/NotoSansJP-Bold.woff2)
      format("woff2"),
    url(https://d1gk5mgybqzsvw.cloudfront.net/cms/assets/fonts/NotoSansJP/NotoSansJP-Bold.woff)
      format("woff");
  font-display: swap;
}

body .contentfix960N2014 .mainArea {
  width: 100%;
}

body.no-scroll .headerN2015 {
  z-index: -1;
}

#contents {
  background: #f5f5f7;
  padding-bottom: 240px;
}
#contents *,
#contents ::before,
#contents ::after {
  box-sizing: border-box;
}
#contents .breadcrumb {
  width: 960px;
  margin: 0 auto;
  padding: 12px 0;
  font-size: 12px;
  vertical-align: top;
}
#contents .breadcrumb_item {
  display: inline-block;
  margin-top: 4px;
}
#contents .breadcrumb_item:not(:last-of-type):after {
  display: inline-block;
  width: 0.7em;
  height: 0.7em;
  margin: 0 10px;
  content: "";
  border-top: 1px solid #30201a;
  border-right: 1px solid #30201a;
  transform: rotate(45deg) skew(-15deg, -15deg);
}
#contents .breadcrumb .textlink {
  color: #183d9f;
}
#contents .menuber {
  color: #ffffff;
  background-color: #333333;
  position: relative;
  z-index: 1;
}
#contents .menuber.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
#contents .menuber .menuTitle {
  font-size: 16px;
  font-weight: 600;
}
#contents .menuber .menuTitle:not(:last-child) {
  margin-right: 80px;
}
#contents .menuber .menuTitle .icon {
  transition: 0.3s;
}
#contents .menuber .menuTitle.is-active .icon {
  transform: rotate(180deg);
}
#contents .menuber .menuList {
  display: flex;
  list-style: none;
  justify-content: center;
  padding: 20px 0;
}
#contents .menuber .icon {
  margin-left: 8px;
  vertical-align: baseline;
}
#contents .menuber .menuLinks {
  position: absolute;
  background-color: #333333;
  right: 0;
  left: 0;
  height: 0;
  overflow: hidden;
  font-size: 16px;
  font-weight: 300;
  transition: height 0.3s;
}
#contents .menuber .menuLinks .linkList {
  padding-bottom: 24px;
  position: absolute;
}
#contents .menuber .menuLinks .linkList li:not(:last-child) {
  margin-bottom: 16px;
}
#contents .menuber .menuLinks .linkList.is-hidden {
  display: none;
}
#contents .menuber .menuLinks .linkList#menu01 {
  left: calc(50% - 273.5px);
}
#contents .menuber .menuLinks .linkList#menu02 {
  left: calc(50% - 143.5px);
}
#contents .menuber .menuLinks .linkList#menu03 {
  left: calc(50% - 8.5px);
}
#contents .menuber .menuLinks .linkList#menu04 {
  right: calc(50% - 303px);
}
#contents .menuber .menuLink {
  color: #ffffff;
}
#contents .top {
  margin: 72px 0;
  text-align: center;
}
#contents .top .heading {
  margin-bottom: 40px;
  z-index: 0;
}
#contents .grid {
  margin: 0 auto;
}
#contents .gridInner {
  display: flex;
  flex-wrap: wrap;
}
#contents .grid .gridCell {
  text-align: center;
}
#contents .grid.-col2 {
  width: 960px;
}
#contents .grid.-col2 .gridInner {
  margin-right: -24px;
  margin-bottom: -22px;
}
#contents .grid.-col2 .gridCell {
  padding-right: 24px;
  margin-bottom: 22px;
  width: 50%;
}
#contents .grid.-col2 .gridCell:last-child {
  width: 100%;
  padding-right: 0;
}
#contents .grid.-col3 {
  margin-right: -16px;
  margin-bottom: -56px;
}
#contents .grid.-col3 .gridCell {
  display: flex;
  flex-direction: column;
  padding-right: 16px;
  margin-bottom: 56px;
  width: calc(100% / 3);
  height: auto;
}
#contents .grid .-center {
  justify-content: center;
}
#contents .grid .modalLink {
  display: block;
  color: #30201a;
  background-color: #ffffff;
  padding: 48px 64px;
  border-radius: 18px;
  box-shadow: 2px 4px 12px 0px rgba(0, 0, 0, 0.0784);
  transition: 0.3s;
}
#contents .grid .modalLink:hover {
  text-decoration: none;
  transform: scale(1.01);
  box-shadow: 2px 4px 12px 0px rgba(0, 0, 0, 0.4);
}
#contents .grid .modalLink.-colBox {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #30201a;
}
#contents .grid .modalLink.-colBox:first-child {
  margin-right: 16px;
}
#contents .grid .modalLink.-colBox .linktext {
  display: inline-block;
  margin-bottom: 8px;
  padding: 11px 26px;
  font-size: 16px;
  line-height: 1;
  border: 1px solid #000000;
  border-radius: 90px;
}
#contents .grid .modalLink.-colBox .linktext .linkWindow {
  vertical-align: baseline;
  margin-left: 4px;
}
#contents .grid .modalLink.-colBox .caption {
  font-size: 12px;
  font-weight: 400;
}
#contents .grid .heading {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
}
#contents .grid .heading2 {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 24px;
}
#contents .grid .headingImg {
  margin-bottom: 16px;
}
#contents .grid .variations {
  display: inline-block;
  font-size: 16px;
  font-weight: 400;
  padding: 11px 23px;
  border: 1px solid #000000;
  border-radius: 90px;
}
#contents .grid .variations .linkIcon {
  vertical-align: middle;
  margin-left: 4px;
}
#contents .grid .variationName {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
}
#contents .grid .variationName.-autoMargin {
  margin-bottom: auto;
}
#contents .grid .variationImg {
  margin-bottom: 16px;
}
#contents .grid .linkBtn {
  margin: 0 auto;
  padding: 11px 39px;
  color: #ffffff;
  font-size: 16px;
  background-color: #0e71dd;
  border-radius: 40px;
}
#contents .grid .linkBtn:hover {
  opacity: 0.5;
  text-decoration: none;
}
#contents .modal {
  display: none;
  overflow-y: scroll;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 2;
}
#contents .modalInner {
  position: relative;
  width: 832px;
  border-radius: 12px;
  background-color: #ffffff;
  margin: 40px auto;
  padding: 80px 56px;
}
#contents .modal-close {
  width: 13px;
  height: 13px;
  background-color: #eeeeee;
  border-radius: 50%;
  border: none;
  padding: 18px;
  position: absolute;
  top: 32px;
  right: 32px;
  cursor: pointer;
}
#contents .modal-close:before,
#contents .modal-close:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 2px;
  height: 16px;
  margin: auto;
  content: "";
  background-color: #7a7a7a;
}
#contents .modal-close:before {
  transform: rotateZ(45deg);
}
#contents .modal-close:after {
  transform: rotateZ(-45deg);
}
#contents .modal.is-open {
  display: block;
}
#contents #mainBlock.is-blur {
  filter: blur(10px);
}

.no-scroll {
  overflow: hidden;
}

.footerSection * {
  z-index: -1;
}

.normalType .stickyFooterBnr .close {
  z-index: 1;
}

.pc .contentfix960N2014 .mainArea {
  margin: 0 !important;
  width: 100%;
  overflow: hidden;
}

.pc .contentfix960N2014 .headerN2015 .hdCateOuter,
.pc .contentfix960N2014 .headerN2015 .lowInfoOuter {
  margin-bottom: 0 !important;
}

.feature_footer_wrap {
  display: none;
}
