*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd,
figure {
  margin: 0;
  padding: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  border: 0;
}

input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  font: inherit;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

html {
  font-family: "Noto Sans JP", 'Yu Gothic UI', YuGothic, 'Yu Gothic',
    'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック',
    'Hiragino Sans', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 62.5%;
  color: #000;
  -webkit-overflow-scrolling: touch;
}

body {
  margin: 0;
  font-family: "Noto Sans JP", 'Yu Gothic UI', YuGothic, 'Yu Gothic',
    'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'ヒラギノ角ゴシック',
    'Hiragino Sans', sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
  overflow-x: hidden;
  position: relative;
}

@media (max-width: 480px) {
  body {
    font-size: 1.4rem;
  }
}

a,
a:link,
a:visited {
  color: #BB121B;
  text-decoration: none;
  -webkit-transition: all .4s;
  transition: all .4s;
}

a:hover {
  opacity: 0.6;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
  -webkit-transition: all .4s;
  transition: all .4s;
}

header {
  padding: clamp(12px, 1.9446vw, 20px) 5%;
  border-bottom: 5px solid #BB121B;
}

main {
  padding: clamp(60px, 8.3328vw, 35px) 0;
  display: block;
}

.formArea {
  margin: 0 auto;
  width: 84%;
  max-width: 960px;
}

.formArea h1 {
  margin: 0 auto clamp(36px, 5.8338vw, 60px);
  text-align: center;

  color: #000000;
  font-size: 32px;
  font-weight: 700;
}

.formArea h1::after {
  content: '';
  margin: 1em auto 0;
  width: 4em;
  height: 5px;
  border-radius: 3px;
  background: #1976A8;
  display: block;
}

.formArea .topText {
  margin: 0 auto clamp(24px, 3.8892vw, 40px);
  text-align: center;
}

#formWrap {
  padding: 5%;
  border: 1px solid #c0c0c0;
  border-radius: clamp(24px, 3.8892vw, 40px);
}

#formWrap .mt-20 {
  margin-top: max(-20px, -2.778vw);
  position: relative;
}

#formWrap .p-country-name {
  display: none;
}

#formWrap > .fluentform > form > fieldset .ff-custom_html h4 .required {
  font-weight: 500;
}

#formWrap > .fluentform > form > fieldset .ff-el-group.ff_list_3col .ff-el-form-check {
  width: 30%;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group {
  margin-bottom: clamp(24px, 3.8892vw, 40px);
  padding-bottom: clamp(24px, 3.8892vw, 40px);
  border-bottom: 1px solid #c0c0c0;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.headlineBox,
#formWrap > .fluentform > form > fieldset > .ff-el-group.p-region,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address02,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address03 {
  border-bottom: none;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.headlineBox {
  margin-bottom: clamp(12px, 1.9446vw, 20px);
  padding-bottom: 0;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.headlineBox h4 .required {
  margin-left: 20px;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.p-region,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address02,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address03 {
  margin-bottom: clamp(12px, 1.9446vw, 20px);
  padding-bottom: 0;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.p-region .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address02 .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
#formWrap > .fluentform > form > fieldset > .ff-el-group.address03 .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  display: none;
}

#formWrap > .fluentform > form > fieldset > .ff-el-group.warningBox,
#formWrap > .fluentform > form > fieldset > .ff-el-group.ff_submit_btn_wrapper {
  margin-bottom: clamp(24px, 3.8892vw, 40px);
  padding-bottom: 0;
  text-align: center;
  border-bottom: none;
}

#formWrap > .fluentform > form > fieldset .zipcode {
  margin-bottom: clamp(12px, 1.9446vw, 20px);
  width: 50%;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 5px 15px;
}

#formWrap > .fluentform > form > fieldset .zipcode::before {
  content: '郵便番号';
  font-weight: 500;
  width: 100%;
}

#formWrap > .fluentform > form > fieldset .zipcode .ff-el-group {
  margin: auto 0;
}

#formWrap > .fluentform > form > fieldset .zipcode .ff-el-group.hyphen {
  text-align: center;
}

#formWrap .sectionBox {
  margin-bottom: clamp(24px, 3.8892vw, 40px);
  padding-bottom: clamp(12px, 1.9446vw, 20px);
  border-bottom: 1px solid #c0c0c0;
}

#formWrap .sectionBox.name .ff-el-input--label.ff-el-is-required.asterisk-right label::after {
  display: none;
}

#formWrap .sectionBox.tel .ff-t-column-2 {
  margin: auto 0 0;
}

footer {
  padding-top: clamp(60px, 8.3328vw, 100px);
  background: #EEEFF1;
}

footer #fCompanyBox {
  padding: clamp(60px, 8.3328vw, 100px) 5% clamp(36px, 5.8338vw, 60px);
  text-align: center;
}

footer #fCompanyBox #fname {
  margin-bottom: clamp(24px, 3.8892vw, 40px);
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  line-height: 1.2;
}

footer #flink {
  margin: 0 auto;
  width: 90%;
}

footer #flink li a {
  padding: 10px 20px;
  color: #FFFFFF;
  background: #BB121B;
  border-radius: 40px;
  display: block;
}

footer #flink li + li {
  margin-left: 4em;
}

footer #copyright {
  padding: 10px 0;
  color: #FFFFFF;
  font-size: 1.4rem;
  text-align: center;
  background: #4D4D4D;
}

.fl,
.fl-tab,
.fl-sp {
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
}

.fl-jst {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.fl-cen {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.fl-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.fl-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.fl-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.fl-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.mt0 { margin-top: min(0vw, 0px); }
.mb0 { margin-bottom: min(0vw, 0px); }
.pt0 { padding-top: min(0vw, 0px); }
.pb0 { padding-bottom: min(0vw, 0px); }

.mt10 { margin-top: min(3vw, 10px); }
.mb10 { margin-bottom: min(3vw, 10px); }
.pt10 { padding-top: min(3vw, 10px); }
.pb10 { padding-bottom: min(3vw, 10px); }

.mt20 { margin-top: min(6vw, 20px); }
.mb20 { margin-bottom: min(6vw, 20px); }
.pt20 { padding-top: min(6vw, 20px); }
.pb20 { padding-bottom: min(6vw, 20px); }

.mt30 { margin-top: min(9vw, 30px); }
.mb30 { margin-bottom: min(9vw, 30px); }
.pt30 { padding-top: min(9vw, 30px); }
.pb30 { padding-bottom: min(9vw, 30px); }

.mt40 { margin-top: min(12vw, 40px); }
.mb40 { margin-bottom: min(12vw, 40px); }
.pt40 { padding-top: min(12vw, 40px); }
.pb40 { padding-bottom: min(12vw, 40px); }

.mt50 { margin-top: min(15vw, 50px); }
.mb50 { margin-bottom: min(15vw, 50px); }
.pt50 { padding-top: min(15vw, 50px); }
.pb50 { padding-bottom: min(15vw, 50px); }

.mt60 { margin-top: min(18vw, 60px); }
.mb60 { margin-bottom: min(18vw, 60px); }
.pt60 { padding-top: min(18vw, 60px); }
.pb60 { padding-bottom: min(18vw, 60px); }

.mt70 { margin-top: min(21vw, 70px); }
.mb70 { margin-bottom: min(21vw, 70px); }
.pt70 { padding-top: min(21vw, 70px); }
.pb70 { padding-bottom: min(21vw, 70px); }

.mt80 { margin-top: min(24vw, 80px); }
.mb80 { margin-bottom: min(24vw, 80px); }
.pt80 { padding-top: min(24vw, 80px); }
.pb80 { padding-bottom: min(24vw, 80px); }

.mt90 { margin-top: min(27vw, 90px); }
.mb90 { margin-bottom: min(27vw, 90px); }
.pt90 { padding-top: min(27vw, 90px); }
.pb90 { padding-bottom: min(27vw, 90px); }

.mt100 { margin-top: min(30vw, 100px); }
.mb100 { margin-bottom: min(30vw, 100px); }
.pt100 { padding-top: min(30vw, 100px); }
.pb100 { padding-bottom: min(30vw, 100px); }

.mt110 { margin-top: min(33vw, 110px); }
.mb110 { margin-bottom: min(33vw, 110px); }
.pt110 { padding-top: min(33vw, 110px); }
.pb110 { padding-bottom: min(33vw, 110px); }

.mt120 { margin-top: min(36vw, 120px); }
.mb120 { margin-bottom: min(36vw, 120px); }
.pt120 { padding-top: min(36vw, 120px); }
.pb120 { padding-bottom: min(36vw, 120px); }

.mt130 { margin-top: min(39vw, 130px); }
.mb130 { margin-bottom: min(39vw, 130px); }
.pt130 { padding-top: min(39vw, 130px); }
.pb130 { padding-bottom: min(39vw, 130px); }

.mt140 { margin-top: min(42vw, 140px); }
.mb140 { margin-bottom: min(42vw, 140px); }
.pt140 { padding-top: min(42vw, 140px); }
.pb140 { padding-bottom: min(42vw, 140px); }

br,
span {
  display: inline;
}

p,
div,
figure,
ul {
  display: block;
}

li {
  display: list-item;
}

@media (max-width: 1024px) {
  .fl-tab {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
  }
}

@media (max-width: 480px) {
  .fl-sp {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    flex-direction: column;
  }
}

@media (min-width: 1401px) {
  br.showPC,
  span.showPC,
  p.showPC,
  div.showPC,
  figure.showPC,
  ul.showPC,
  li.showPC {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  br.showTab,
  span.showTab,
  p.showTab,
  div.showTab,
  figure.showTab,
  ul.showTab,
  li.showTab {
    display: none !important;
  }
}

@media (min-width: 821px) {
  br.showStab,
  span.showStab,
  p.showStab,
  div.showStab,
  figure.showStab,
  ul.showStab,
  li.showStab {
    display: none !important;
  }
}

@media (min-width: 481px) {
  br.showSP,
  span.showSP,
  p.showSP,
  div.showSP,
  figure.showSP,
  ul.showSP,
  li.showSP {
    display: none !important;
  }
}

@media (max-width: 1400px) {
  br.hdnPC,
  span.hdnPC,
  p.hdnPC,
  div.hdnPC,
  figure.hdnPC,
  ul.hdnPC,
  li.hdnPC {
    display: none !important;
  }

  br.showPC,
  span.showPC,
  p.showPC,
  div.showPC,
  figure.showPC,
  ul.showPC,
  li.showPC {
    display: inherit;
  }
}

@media (max-width: 1024px) {
  br.hdnTab,
  span.hdnTab,
  p.hdnTab,
  div.hdnTab,
  figure.hdnTab,
  ul.hdnTab,
  li.hdnTab {
    display: none !important;
  }

  br.showTab,
  span.showTab,
  p.showTab,
  div.showTab,
  figure.showTab,
  ul.showTab,
  li.showTab {
    display: inherit;
  }
}

@media (max-width: 820px) {
  br.hdnStab,
  span.hdnStab,
  p.hdnStab,
  div.hdnStab,
  figure.hdnStab,
  ul.hdnStab,
  li.hdnStab {
    display: none !important;
  }

  br.showStab,
  span.showStab,
  p.showStab,
  div.showStab,
  figure.showStab,
  ul.showStab,
  li.showStab {
    display: inherit;
  }
}

@media (max-width: 480px) {
  br.hdnSP,
  span.hdnSP,
  p.hdnSP,
  div.hdnSP,
  figure.hdnSP,
  ul.hdnSP,
  li.hdnSP {
    display: none !important;
  }

  br.showSP,
  span.showSP,
  p.showSP,
  div.showSP,
  figure.showSP,
  ul.showSP,
  li.showSP {
    display: inherit;
  }
}

.ta_cnt {
  text-align: center;
}

.ta_right {
  text-align: right;
}

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}



/* 追記記載 */

.formArea__img {
  margin: 0 auto 20px;
  width: 100%;
  max-width: 300px;
  display: block;
}

.sampleInfo {
  margin: 0 auto 60px;
  padding: 30px;
  border: 1px solid #D5E6F2;
  border-left: 4px solid #1976A8;
  border-radius: 8px;
  background: #F4F9FC;
}

.sampleInfo__title {
  margin-bottom: 12px;
  color: #000000;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}

.sampleInfo__list {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 2;
}

.sampleInfo__list li {
  position: relative;
  padding-left: 1.5em;
}

.sampleInfo__list li + li {
  margin-top: 1em;
}

.sampleInfo__list li::before {
  content: '';
  position: absolute;
  top: 0.8em;
  left: 0.25em;
  width: 0.45em;
  height: 0.45em;
  border-radius: 50%;
  background: #000000;
}

.attention {
  display: block;
  margin: 0 26px 4px;
  color: #BB121B;
  font-size: 1.5rem;
  font-weight: 500;
}


/* フィードバック */
.sectionBox {
  margin-bottom: clamp(24px, 3.8892vw, 40px);
  padding-bottom: clamp(12px, 1.9446vw, 20px);
  border-bottom: 1px solid #c0c0c0;
}