/*! CSS Used from: https://www.ntt-f.co.jp/common/css/style.css?v=202207 */
a, div, iframe, li, ol, p, span {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

ol {
  list-style: none;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-md-12 {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

@media screen and (max-width: 767px) {
  .row {
    margin-right: -5px;
    margin-left: -5px;
  }
  .col-md-12 {
    padding-right: 5px;
    padding-left: 5px;
  }
}
@media (min-width: 768px) {
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
a {
  text-decoration: none;
}

#contents-wrap * {
  box-sizing: border-box;
}

article p {
  margin-bottom: 17px;
  line-height: 1.8;
}

article p + p {
  margin-top: -7px;
}

.box-inner {
  max-width: 1250px;
  margin: 0 auto;
  position: relative;
  padding-left: 40px;
  padding-right: 40px;
}

@media screen and (max-width: 767px) {
  .box-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media print {
  .box-inner {
    max-width: inherit !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
a {
  color: #053250;
}

article a {
  text-decoration: underline;
}

article a:link {
  color: #212121;
}

article a:visited {
  color: #8c5aa0;
}

article a:hover {
  color: #1958aa;
}

.ttl-type03 {
  position: relative;
  color: #212121;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 20px;
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}

.ttl-type03.navy {
  color: #053250;
}

@media screen and (max-width: 767px) {
  .ttl-type03 {
    font-size: 1.4rem;
    margin-bottom: 15px;
    margin-top: 30px;
  }
}
ol.numbering-list {
  list-style: none;
  padding-bottom: 10px;
  counter-reset: numbering;
}

ol.numbering-list > li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 2.2em;
}

ol.numbering-list > li:before {
  counter-increment: numbering;
  content: "(" counter(numbering) ")";
  color: #212121;
  position: absolute;
  left: 0;
}

.column-text p {
  line-height: 1.7;
  margin-bottom: 20px;
}

.column-text02-bg01 {
  background: #f5f5f5;
  padding: 20px;
  margin-bottom: 20px;
}

.column-text02-bg01 p:last-child {
  margin-bottom: 0;
}

.column-text02-bg01 > .ttl-type03 {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .column-text p {
    line-height: 1.6;
    margin-bottom: 17px;
  }
  .column-text02-bg01 {
    padding: 15px;
  }
}
.tbl-scroll-wrap {
  margin-top: 0px;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .tbl-scroll-wrap {
    overflow: auto;
    width: 100%;
    padding-bottom: 8px;
  }
  .tbl-scroll-wrap::-webkit-scrollbar {
    height: 5px;
  }
  .tbl-scroll-wrap::-webkit-scrollbar-thumb {
    background: #053250;
    border-radius: 5px;
  }
  .tbl-scroll-wrap::-webkit-scrollbar-track-piece {
    background: url(https://www.ntt-f.co.jp/common/images/table_scroll_bg.png) 0 50% no-repeat;
    background-size: 100% 1px;
  }
}
@media screen and (min-width: 768px) {
  a {
    transition: 0.3s ease;
  }
  .mt30 {
    margin-top: 30px !important;
  }
  .mb100 {
    margin-bottom: 100px !important;
  }
}
/*! CSS Used from: https://www.ntt-f.co.jp/common/css/renewal2020.css?v=20231206 */
*, ::before, ::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

a {
  background-color: rgba(0, 0, 0, 0);
}

::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}

iframe {
  vertical-align: middle;
}

a {
  touch-action: manipulation;
}

p {
  margin: 0;
  text-align: justify;
  text-justify: inter-ideograph;
}

a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}

a {
  color: inherit;
}

a:visited {
  color: #3b4043;
}

ol {
  margin: 0;
  padding: 0;
}

ol {
  list-style: none;
}

/*! CSS Used from: https://www.ntt-f.co.jp/contact/css/style.css */
.column-text {
  margin-top: 100px;
  margin-bottom: 50px;
}

.column-text p {
  margin-bottom: 10px;
}

.terms_wrap {
  height: 210px;
  overflow: hidden;
  background-color: #fff;
}

.terms_wrap .terms_inner {
  overflow-y: auto;
  padding: 20px;
  height: 100%;
}

.form {
  height: 100%;
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 767px) {
  .column-text {
    margin-top: 30px;
    margin-bottom: 10px;
  }
  .column-text p {
    margin-bottom: 10px;
  }
  .terms_wrap {
    height: 250px;
  }
  .terms_wrap .terms_inner {
    padding: 15px;
  }
}
p {
  margin-bottom: 0.75em;
}

/*! CSS Used from: https://www.ntt-f.co.jp/contact/css/style_n.css ; media=all */
@media all {
  .terms_wrap {
    height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .terms_wrap {
    height: 160px;
  }
}
@media screen and (max-width: 576px) {
  .terms_wrap {
    height: 220px;
  }
}
@media screen and (max-width: 425px) {
  .terms_wrap {
    height: 300px;
  }
}
@media screen and (max-width: 375px) {
  .terms_wrap {
    height: 340px;
  }
}
/*! CSS Used from: https://www.ntt-f.co.jp/contact/css/style_n.css ; media=all */
.f_maga_txt01 {
  font-size: 2rem;
  font-weight: bold;
  color: #053250;
  margin-bottom: 10px;
  text-align: center;
}

#contents-wrap {
  display: block;
  margin-top: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 768px) and (max-width: 1400px) and (min-width: 1920px) {
  #contents-wrap {
    margin-top: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1400px) and (min-width: 1401px) and (max-width: 1919px) {
  #contents-wrap {
    margin-top: 0.8333333333vw;
  }
}
@media (max-width: 767px) {
  #contents-wrap {
    margin-top: 0;
  }
}

.content img {
  width: auto;
}

.page-ttl-wrap {
  max-width: 100%;
  height: auto !important;
  background-image: url(/common/images/bg_header.png) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  width: 100vw !important;
  padding-left: 0;
  padding-right: 0;
}
@media screen and (min-width: 1920px) {
  .page-ttl-wrap {
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl-wrap {
    margin-bottom: 4.1666666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .page-ttl-wrap {
    padding-top: 120px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl-wrap {
    padding-top: 6.25vw;
  }
}
@media screen and (min-width: 1920px) {
  .page-ttl-wrap {
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl-wrap {
    padding-bottom: 6.25vw;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .page-ttl-wrap {
    padding: calc(87.5 / 1400 * 100vw) calc(50vw - 50%);
    margin-bottom: calc(87.5 / 1400 * 100vw);
  }
}
@media (max-width: 767px) {
  .page-ttl-wrap {
    padding: calc(50 / 390 * 100vw) calc(50vw - 50%) calc(50 / 390 * 100vw) !important;
    margin-bottom: calc(40 / 390 * 100vw);
    border-bottom: none !important;
  }
}

.page-ttl {
  margin: auto;
}
@media screen and (min-width: 1920px) {
  .page-ttl {
    width: 1640px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl {
    width: 85.4166666667vw;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .page-ttl {
    width: calc(1268.75 / 1400 * 100vw);
  }
}
@media (max-width: 767px) {
  .page-ttl {
    width: calc(370 / 390 * 100vw);
  }
}

.page-ttl__text {
  position: relative;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 1;
  font-weight: 700;
  font-family: unset;
  padding-left: 0;
  margin-top: 0;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1920px) {
  .page-ttl__text {
    font-size: 50px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl__text {
    font-size: max(10px, 2.6041666667vw);
  }
}
@media screen and (min-width: 1920px) {
  .page-ttl__text {
    padding-left: 0px;
  }
}
@media screen and (min-width: 1401px) and (max-width: 1919px) {
  .page-ttl__text {
    padding-left: 0vw;
  }
}
@media (min-width: 768px) and (max-width: 1400px) {
  .page-ttl__text {
    letter-spacing: calc(1.09375 / 1400 * 100vw);
    padding-left: calc(0 / 1400 * 100vw);
    font-size: max(12px, 36.09375 / 1400 * 100vw);
  }
}
@media (max-width: 767px) {
  .page-ttl__text {
    line-height: 1.4;
    letter-spacing: calc(1 / 390 * 100vw);
    margin-left: calc(0 / 390 * 100vw);
    font-size: max(10px, 24 / 390 * 100vw);
  }
}
.page-ttl__text .sp {
  display: none !important;
}
@media (max-width: 767px) {
  .page-ttl__text .sp {
    display: block !important;
  }
}

.anchorLink {
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .anchorLink {
    margin-bottom: 60px;
    gap: 40px;
  }
}
@media (max-width: 767px) {
  .anchorLink {
    margin-bottom: calc(40 / 390 * 100vw);
    gap: calc(20 / 390 * 100vw);
  }
}
.anchorLink .line {
  width: 1px;
  background: rgba(129, 139, 154, 0.3);
}
@media (min-width: 768px) {
  .anchorLink .line {
    height: 37px;
  }
}
@media (max-width: 767px) {
  .anchorLink .line {
    height: calc(20 / 390 * 100vw);
  }
}
.anchorLink a {
  display: flex;
  align-items: center;
  color: #303234 !important;
  font-weight: 700;
}
@media (min-width: 768px) {
  .anchorLink a {
    gap: 10px;
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .anchorLink a {
    gap: calc(8 / 390 * 100vw);
    font-size: max(10px, 16 / 390 * 100vw);
  }
}
.anchorLink a:hover img {
  opacity: 1;
}
@media (min-width: 768px) {
  .anchorLink .icon {
    width: 22px;
  }
}
@media (max-width: 767px) {
  .anchorLink .icon {
    width: calc(16 / 390 * 100vw);
  }
}