@charset "UTF-8";
html {
  font-size: 62.5%;
}

body {
  width: 100%;
  min-width: 1200px;
  line-height: 1.6;
  color: #333;
  background: #fff;
  font-family: Roboto, "Noto Sans JP", "游ゴシック体", "Yu Gothic", Arial, sans-serif;
  font-size: 1.4rem;
  font-feature-settings: "pkna";
  text-align: left;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::-moz-placeholder {
  color: #999999;
}

::placeholder {
  color: #999999;
}

* {
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: normal;
  src: url(/fonts/Roboto/Roboto-Regular.ttf) format("truetype");
  font-display: swap;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: bold;
  src: url(/fonts/Roboto/Roboto-Bold.ttf) format("truetype");
  font-display: swap;
}
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track::before, .slick-track::after {
  content: "";
  display: table;
}
.slick-track::after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.l-complete {
  padding: 120px 0;
}
.l-complete--gray {
  padding: 80px 0;
  background: rgb(244.55, 244.55, 244.55);
}

.complete {
  width: 960px;
  margin: auto;
  background: #fff;
}
.complete--bg {
  padding: 40px;
}
.complete__ttl {
  line-height: 1.8;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}
.complete__ttl span {
  font-size: 2.4rem;
}
.complete__sub {
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
}
.complete__txt {
  line-height: 2;
  margin-top: 24px;
  text-align: center;
}
.complete__cta {
  width: 256px;
  margin: 24px auto 0;
}
.complete__cta a {
  position: relative;
  display: block;
  width: 100%;
  line-height: 56px;
  overflow: hidden;
  border-radius: 2em;
  color: #fff;
  background: #f57d00;
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
  text-decoration: none;
  transform: perspective(1px);
  transition: 0.2s;
}
.complete__cta a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: rgb(255, 150.1836734694, 41);
  opacity: 0.4;
  content: "";
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: 0.2s;
}
.complete__cta a:visited, .complete__cta a:hover {
  color: #fff;
}
.complete__cta a:hover::before {
  transform: scaleX(1);
}

.completeInfo {
  width: 560px;
  line-height: 2;
  margin: 24px auto 0;
  padding: 24px;
  border-radius: 8px;
  background: rgb(244.55, 244.55, 244.55);
  font-size: 1.6rem;
}
.completeInfo__item {
  display: flex;
  flex-wrap: wrap;
}
.completeInfo__item + .completeInfo__item {
  margin-top: 16px;
}
.completeInfo__item__ttl {
  width: 112px;
  font-weight: bold;
  font-size: 1.6rem;
}
.completeInfo__item__txt {
  width: 400px;
}

.completeTel {
  margin-top: 16px;
  text-align: center;
}
.completeTel__txt {
  font-size: 1.2rem;
}
.completeTel__num {
  line-height: 1.2;
  font-weight: bold;
  font-size: 1.8rem;
}
.completeTel__num::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  margin-right: 4px;
  background: url(/contact/img/pc/common/icon/filled/green/phone.svg) center/14px no-repeat;
  content: "";
}
.completeTel__num span {
  margin-left: 4px;
  color: #666666;
  font-weight: normal;
  font-size: 1rem;
}

.l-header {
  padding: 12px 0;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
  background: #fff;
}

.header {
  text-align: center;
}
.header__logo {
  width: 120px;
  margin: auto;
}
.header__logo img {
  width: 100%;
  height: auto;
}

.ctaBtn {
  position: relative;
  display: block;
  width: 100%;
  line-height: 58px;
  overflow: hidden;
  border-radius: 4px;
  color: #fff;
  background: #f57d00;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  text-decoration: none;
  transform: perspective(1px);
  transition: 0.2s;
}
.ctaBtn::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: rgb(255, 150.1836734694, 41);
  opacity: 0.4;
  content: "";
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: 0.2s;
}
.ctaBtn:visited, .ctaBtn:hover {
  color: #fff;
}
.ctaBtn:hover::before {
  transform: scaleX(1);
}

.l-webinar {
  padding: 40px 0 80px;
}
.l-webinar--gray {
  padding: 80px 0;
  background: rgb(249.65, 249.65, 249.65);
}
.l-webinar img {
  width: 100%;
  height: auto;
}

.webinar {
  width: 840px;
  margin: auto;
}
.webinar__closed {
  margin-bottom: 40px;
  padding: 16px;
  border-radius: 8px;
  color: #f50b00;
  background: rgba(245, 11, 0, 0.05);
  font-weight: bold;
  font-size: 1.6rem;
  text-align: center;
}
.webinar__ttl {
  font-weight: bold;
  font-size: 3.2rem;
  text-align: center;
}
.webinar__mv {
  margin: 40px 0 56px;
}
.webinar__cta {
  width: 320px;
  margin: auto;
  margin: 0 auto 56px;
}
.webinar__txt {
  line-height: 2;
  margin-top: 32px;
  font-size: 1.6rem;
}
.webinar__heading {
  position: relative;
  margin-top: 80px;
  padding-bottom: 12px;
  font-weight: bold;
  font-size: 2.4rem;
}
.webinar__heading::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(to right, #30b7c8 0%, #3b9cca 100%);
  content: "";
}
.webinar__profile {
  margin-top: 32px;
}

.webinarProfile {
  display: flex;
}
.webinarProfile + .webinarProfile {
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #ebebeb;
}
.webinarProfile__img {
  flex: 0 0 128px;
  margin-right: 24px;
}
.webinarProfile__info {
  line-height: 1.8;
  font-size: 1.6rem;
}
.webinarProfile__info__txt {
  font-size: 1.4rem;
  margin-top: 16px;
}
.webinarProfile__info span {
  font-weight: bold;
  font-size: 2.2rem;
}

.form__ttl {
  font-weight: bold;
  font-size: 3.2rem;
  text-align: center;
}
.form__cont {
  width: 840px;
  margin: 40px auto 0;
  padding: 40px 60px;
  border-radius: 4px;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  background: #fff;
}

.formSection__ttl {
  margin-bottom: 4px;
  font-weight: bold;
}
.formSection__ttl span {
  margin-left: 6px;
  padding: 2px 4px;
  color: #fff;
  background: #f57d00;
  font-weight: bold;
  font-size: 1.2rem;
}
.formSection__ttl__optional {
  margin-bottom: 4px;
  font-weight: bold;
}
.formSection__ttl__optional span {
  margin-left: 6px;
  padding: 2px 4px;
  font-weight: bold;
  font-size: 1.2rem;
  color: #666666;
  background: rgb(229.25, 229.25, 229.25);
}
.formSection__cont {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 24px;
}
.formSection__cont__2col {
  width: 49%;
}
.formSection__cont__4col {
  width: 24%;
}
.formSection__note {
  margin: 40px 0 16px;
  font-size: 1.2rem;
  text-align: center;
}
.formSection__note span {
  font-weight: bold;
}
.formSection__note a {
  color: #37789b;
}
.formSection__submitBtn {
  width: 320px;
  margin: auto;
  text-align: center;
}
.formSection__submitBtn input {
  display: block;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  text-decoration: none;
  transition: 0.2s;
  line-height: 56px;
  border-radius: 4px;
  color: #fff;
  background: #f57d00;
}
.formSection__submitBtn input:hover {
  background: rgb(255, 150.1836734694, 41);
}
.formSection__submitBtn input {
  width: 100%;
  border: none;
  letter-spacing: 0.05em;
  cursor: pointer;
}

.inputText {
  width: 100%;
  min-height: 40px;
  padding: 0 8px;
  border: 2px solid #f2f2f2;
  border-radius: 4px;
  box-sizing: border-box;
  background: #f2f2f2;
  transition: 0.2s;
}
.inputText:hover {
  border: 2px solid rgb(229.25, 229.25, 229.25);
  background: rgb(229.25, 229.25, 229.25);
}
.inputText.is_error {
  border: 2px solid rgb(245, 10.5214723926, 0);
  background: rgba(245, 10.5214723926, 0, 0.05);
}
.inputText:focus {
  border: 2px solid rgb(47.8375634518, 182.538071066, 200.1624365482);
  background: #fff;
  outline: none;
}

.textarea {
  width: 100%;
  height: 160px;
  padding: 8px;
  border: 2px solid #f2f2f2;
  border-radius: 4px;
  box-sizing: border-box;
  background: #f2f2f2;
  transition: 0.2s;
}
.textarea:hover {
  border: 2px solid rgb(229.25, 229.25, 229.25);
  background: rgb(229.25, 229.25, 229.25);
}
.textarea.is_error {
  border: 2px solid rgb(245, 10.5214723926, 0);
  background: rgba(255, 50.1901840491, 41, 0.05);
}
.textarea:focus {
  border: 2px solid rgb(47.8375634518, 182.538071066, 200.1624365482);
  background: #fff;
  outline: none;
}

.errorText {
  margin-top: 2px;
  color: #f50b00;
}

.select {
  width: 100%;
  min-height: 40px;
  padding: 0 8px;
  border: 2px solid #f2f2f2;
  border-radius: 4px;
  background: #f2f2f2 url(/contact/img/pc/common/icon/filled/black/arrow-down.svg) right 8px center/24px no-repeat;
  transition: all 0.2s;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.select:hover {
  border: 2px solid rgb(229.25, 229.25, 229.25);
  background: rgb(229.25, 229.25, 229.25) url(/contact/img/pc/common/icon/filled/black/arrow-down.svg) right 8px center/24px no-repeat;
}
.select.is_error {
  border: 2px solid rgb(245, 10.5214723926, 0);
  background: rgba(245, 10.5214723926, 0, 0.05) url(/contact/img/pc/common/icon/filled/black/arrow-down.svg) right 8px center/24px no-repeat;
}
.select:focus {
  border: 2px solid rgb(47.8375634518, 182.538071066, 200.1624365482);
  background: #fff url(/contact/img/pc/common/icon/filled/black/arrow-down.svg) right 8px center/24px no-repeat;
}
.select::-ms-expand {
  display: none;
}

.inputCheckbox {
  position: absolute;
  opacity: 0;
}
.inputCheckbox:checked + label {
  border-color: rgb(47.8375634518, 182.538071066, 200.1624365482);
  background: rgba(47.8375634518, 182.538071066, 200.1624365482, 0.05);
}
.inputCheckbox:checked + label::before {
  border-color: rgb(47.8375634518, 182.538071066, 200.1624365482);
  background: rgb(47.8375634518, 182.538071066, 200.1624365482);
}
.inputCheckbox:checked + label::after {
  opacity: 1;
}

.checkboxLabel {
  position: relative;
  display: flex;
  height: 40px;
  align-items: center;
  padding-left: 8px;
  border: 2px solid #f2f2f2;
  border-radius: 4px;
  background: #f2f2f2;
  font-size: 1.2rem;
  transition: 0.2s;
  cursor: pointer;
}
.checkboxLabel::before {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  border: 2px solid #fff;
  background: #fff;
  content: "";
  transition: all 0.2s;
}
.checkboxLabel::after {
  opacity: 0;
}
.checkboxLabel:hover {
  border: 2px solid rgb(229.25, 229.25, 229.25);
  background: rgb(229.25, 229.25, 229.25);
}
.is_error.checkboxLabel {
  border: 2px solid rgb(245, 10.5214723926, 0);
  background: rgba(245, 10.5214723926, 0, 0.05);
}
.is_error.checkboxLabel::before {
  border-color: rgba(245, 10.5214723926, 0, 0);
  background: rgba(245, 10.5214723926, 0, 0.1);
}
.inactive.checkboxLabel {
  color: #999999;
  cursor: not-allowed;
}
.inactive.checkboxLabel:hover {
  border: 2px solid #f2f2f2;
  background: #f2f2f2;
}

.checkboxLabel::before {
  border-radius: 2px;
}
.checkboxLabel::after {
  position: absolute;
  top: 11px;
  left: 14px;
  width: 4px;
  height: 9px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
  transform: rotate(-135deg);
}
