section.intro {
  padding: 0 10px 50px
}

@media(min-width: 768px) {
  section.intro {
    padding: 0 25px 85px
  }
}

section.intro div.wrap {
  padding: 40px 0 150px;
  background: #bbb
}

@media(min-width: 768px) {
  section.intro div.wrap {
    padding: 65px 0 130px
  }
}

section.intro div.wrap {
  position: relative
}

section.intro div.wrap img.bg {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center
}

section.intro div.wrap div.contents {
  position: relative
}

section.intro div.wrap div.contents div.logo {
  margin: 0 auto 40px;
  text-align: center;
  max-width: 98%;
  line-height: 1.2;
  font-size: calc(1.375rem + 1.5vw)
}

@media(min-width: 768px) {
  section.intro div.wrap div.contents div.logo {
    margin: 0 auto 75px;
    max-width: 630px
  }
}

@media(min-width: 1200px) {
  section.intro div.wrap div.contents div.logo {
    font-size: 2.5rem
  }
}

@media(min-width: 768px) {
  section.intro div.wrap div.contents div.block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media(min-width: 768px) {
  section.intro div.wrap div.contents div.block div.detail {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin: 0 auto
  }
}

section.intro div.wrap div.contents div.block div.detail div.title {
  text-align: center;
  color: #fff;
  font-size: 20px;
  letter-spacing: .2em;
  margin: 0 0 20px
}

@media(min-width: 768px) {
  section.intro div.wrap div.contents div.block div.detail div.title {
    font-size: 26px;
    text-align: left;
    margin: 0 0 0 60px;
    letter-spacing: .25em
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.intro div.wrap div.contents div.block div.detail div.title {
    font-size: 24px;
    margin: 0 0 0 40px
  }
}

section.intro div.wrap div.contents div.block div.detail div.text {
  text-align: center;
  color: #fff;
  letter-spacing: .2em;
  line-height: 2.2
}

@media(min-width: 768px) {
  section.intro div.wrap div.contents div.block div.detail div.text {
    font-size: 20px;
    text-align: left;
    line-height: 3.9;
    letter-spacing: .25em
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.intro div.wrap div.contents div.block div.detail div.text {
    font-size: 18px;
    line-height: 2.4
  }
}

@media(min-width: 992px)and (max-width: 1199px) {
  section.intro div.wrap div.contents div.block div.detail div.text {
    line-height: 3
  }
}

@media(min-width: 768px) {

  section.intro div.wrap div.contents div.block div.detail .title,
  section.intro div.wrap div.contents div.block div.detail .text .line {
    display: inline-block;
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
    -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, transform .8s ease;
    transition: opacity .8s ease, transform .8s ease, -webkit-transform .8s ease;
    will-change: opacity, transform
  }
}

@media(min-width: 768px) {

  section.intro div.wrap div.contents div.block div.detail.is-animated .title,
  section.intro div.wrap div.contents div.block div.detail.is-animated .text .line {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

h2 {
  font-weight: bold;
  text-align: center;
  font-size: 22px;
  line-height: 1.6
}

@media(min-width: 768px) {
  h2 {
    font-size: 34px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  h2 {
    font-size: 28px
  }
}

section.concept {
  padding: 0 0 50px
}

@media(min-width: 768px) {
  section.concept {
    padding: 0 0 120px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.concept {
    padding: 0 0 85px
  }
}

@media(min-width: 768px) {
  section.concept div.container {
    width: 1190px
  }
}

section.concept h2 {
  margin-bottom: 30px
}

@media(min-width: 768px) {
  section.concept h2 {
    margin-bottom: 105px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.concept h2 {
    margin-bottom: 80px
  }
}

@media(min-width: 768px) {
  section.concept div.contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-column-gap: 100px;
    -moz-column-gap: 100px;
    column-gap: 100px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  section.concept div.contents {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px
  }
}

section.concept div.contents div.image {
  text-align: center;
  margin-bottom: 20px
}

@media(min-width: 768px) {
  section.concept div.contents div.image {
    width: 50%;
    margin-bottom: 0
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.concept div.contents div.image {
    width: 40%
  }
}

@media(min-width: 768px) {
  section.concept div.contents div.text {
    font-size: 18px;
    line-height: 1.9;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    letter-spacing: .06em
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.concept div.contents div.text {
    font-size: 16px
  }
}

section.point {
  background: #e8eaeb;
  padding: 50px 0
}

@media(min-width: 768px) {
  section.point {
    padding: 85px 0 95px
  }
}

@media(min-width: 768px) {
  section.point div.container {
    width: 1290px
  }
}

section.point div.container h2 {
  margin: 0 0 50px
}

@media(min-width: 768px) {
  section.point div.container h2 {
    margin: 0 0 60px
  }
}

@media(min-width: 768px) {
  section.point div.container div.lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 27px;
    -moz-column-gap: 27px;
    column-gap: 27px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.point div.container div.lists {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px
  }
}

@media(min-width: 768px) {
  section.point div.container div.lists div.item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

section.point div.container div.lists div.item+.item {
  margin-top: 55px
}

@media(min-width: 768px) {
  section.point div.container div.lists div.item+.item {
    margin-top: 0
  }
}

section.point div.container div.lists div.item h3 {
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  margin: 0 0 20px
}

@media(min-width: 768px) {
  section.point div.container div.lists div.item h3 {
    font-size: 24px;
    margin: 0 0 35px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.point div.container div.lists div.item h3 {
    font-size: 20px
  }
}

section.point div.container div.lists div.item div.image {
  text-align: center;
  margin: 0 0 15px
}

@media(min-width: 768px) {
  section.point div.container div.lists div.item div.image {
    margin: 0 0 30px
  }
}

@media(min-width: 768px) {
  section.point div.container div.lists div.item div.text {
    line-height: 1.7;
    letter-spacing: .05em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
}

section.toggle-contents {
  padding-bottom: 50px
}

@media(min-width: 768px) {
  section.toggle-contents {
    padding-bottom: 130px
  }
}

section.toggle-contents div.block+.block {
  margin-top: 20px
}

section.toggle-contents div.block div.contents.container {
  padding-top: 50px;
  padding-bottom: 30px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container {
    width: 1200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    padding-top: 95px;
    padding-bottom: 80px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.toggle-contents div.block div.contents.container {
    display: block
  }
}

section.toggle-contents div.block div.contents.container h3 {
  font-weight: bold;
  text-align: center;
  font-size: 22px;
  line-height: 1.6;
  padding-bottom: 45px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container h3 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: left;
    padding-bottom: 0;
    padding-top: 100px;
    font-size: 34px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.toggle-contents div.block div.contents.container h3 {
    text-align: center;
    padding-top: 0;
    font-size: 28px
  }
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container div.detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

section.toggle-contents div.block div.contents.container div.detail h4 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  font-size: 18px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container div.detail h4 {
    font-size: 26px
  }
}

section.toggle-contents div.block div.contents.container div.detail div.sub {
  text-align: center;
  font-size: 12px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container div.detail div.sub {
    font-size: 14px;
    letter-spacing: .05em
  }
}

section.toggle-contents div.block div.contents.container div.detail div.text {
  margin-top: 30px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.contents.container div.detail div.text {
    margin-top: 40px;
    font-size: 18px;
    line-height: 1.7;
    letter-spacing: .05em
  }
}

section.toggle-contents div.block div.openclose div.openclose-btn.container {
  text-align: center;
  margin-bottom: -21px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.openclose-btn.container {
    margin-bottom: -25px
  }
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button {
  border: none;
  font-size: 15px;
  background: #373737;
  text-align: center;
  cursor: pointer;
  color: #fff;
  width: 180px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.openclose-btn.container button {
    width: 220px;
    font-size: 17px
  }
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 42px;
  -webkit-column-gap: 12px;
  -moz-column-gap: 12px;
  column-gap: 12px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.openclose-btn.container button span {
    height: 50px
  }
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button span img {
  padding: 5px 0 0;
  width: 15px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.openclose-btn.container button span img {
    padding: 2px 0 0;
    width: 17px
  }
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button span.when-open img {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  padding: 0
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button[aria-expanded=false] .when-open {
  display: none
}

section.toggle-contents div.block div.openclose div.openclose-btn.container button[aria-expanded=true] .when-closed {
  display: none
}

section.toggle-contents div.block div.openclose div.collapse_contents {
  padding: 0 15px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents {
    padding: 0 50px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray {
  background: #e8eaeb;
  padding: 50px 0px 40px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray {
    padding: 90px 50px 60px
  }
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container {
    max-width: 1200px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container:after {
  content: "";
  display: block;
  clear: both
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container .alignleft {
    float: left;
    max-width: 50%;
    margin: 0 40px 40px 0
  }
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container .alignright {
    float: right;
    max-width: 50%;
    margin: 0 0 40px 40px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container strong,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container b {
  font-weight: 900
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h1,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h2,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h3,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h4,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h5,
section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h6 {
  line-height: 1.6
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h1 {
  font-size: 18px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h1 {
    font-size: 31px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h2 {
  font-size: 18px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h2 {
    font-size: 24px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h3 {
  font-size: 17px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h3 {
    font-size: 22px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h4 {
  font-size: 16px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h4 {
    font-size: 20px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h5 {
  font-size: 15px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h5 {
    font-size: 18px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h6 {
  font-size: 14px
}

@media screen and (min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container h6 {
    font-size: 16px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container *+* {
  margin-top: 25px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container *+* {
    margin-top: 30px
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container figure img {
  -o-object-fit: cover;
  object-fit: cover
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ul li {
  border: initial;
  padding: initial;
  list-style-type: disc;
  list-style-position: inside;
  line-height: initial;
  margin-left: 16px
}

@media(min-width: 768px) {
  section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ul li {
    line-height: initial
  }
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ul li+li {
  margin-top: 8px
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ol {
  list-style-type: decimal
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ol li {
  list-style-position: inside;
  line-height: initial;
  margin-left: 16px
}

section.toggle-contents div.block div.openclose div.collapse_contents div.bg_gray div.container ol li+li {
  margin-top: 8px
}

section.content-block {
  padding: 0 0 50px;
  margin-top: 20px
}

@media(min-width: 768px) {
  section.content-block {
    padding: 0 0 120px
  }
}

@media(min-width: 768px) {
  section.content-block div.container {
    width: 1190px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 100px;
    -moz-column-gap: 100px;
    column-gap: 100px
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  section.content-block div.container {
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px
  }
}

@media(min-width: 768px) {
  section.content-block div.container div.detail {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
  }
}

section.content-block div.container div.detail h2 {
  margin: 0 0 30px
}

@media(min-width: 768px) {
  section.content-block div.container div.detail h2 {
    text-align: left;
    margin: 0 0 38px
  }
}

section.content-block div.container div.detail div.text {
  margin: 0 0 20px
}

@media(min-width: 768px) {
  section.content-block div.container div.detail div.text {
    margin: 0;
    letter-spacing: .05em;
    font-size: 18px
  }
}

section.content-block div.container div.image {
  text-align: center
}

@media(min-width: 768px) {
  section.content-block div.container div.image {
    width: 50%
  }
}

section.movie {
  background: #e8eaeb;
  padding: 50px 0
}

@media(min-width: 768px) {
  section.movie {
    padding: 85px 0 70px
  }
}

@media(min-width: 768px) {
  section.movie div.container {
    width: 1024px
  }
}

section.movie div.container h2 {
  margin: 0 0 30px
}

@media(min-width: 768px) {
  section.movie div.container h2 {
    margin: 0 0 65px
  }
}

section.movie div.container div.youtube iframe {
  width: 100%;
  aspect-ratio: 16/9;
  height: auto
}

section.highlight-block {
  padding: 50px 0
}

@media(min-width: 768px) {
  section.highlight-block {
    padding: 105px 0
  }
}

@media(min-width: 768px) {
  section.highlight-block div.container {
    width: 1302px
  }
}

section.highlight-block div.container h2 {
  margin: 0 0 30px
}

@media(min-width: 768px) {
  section.highlight-block div.container h2 {
    margin: 0 0 65px
  }
}

section.highlight-block div.container div.image {
  position: relative;
  text-align: center;
  margin-bottom: 20px
}

@media(min-width: 768px) {
  section.highlight-block div.container div.image {
    margin-bottom: 80px
  }
}

section.highlight-block div.container div.image img.logo {
  position: absolute;
  right: 10px;
  top: 10px;
  max-width: 80px
}

@media(min-width: 768px) {
  section.highlight-block div.container div.image img.logo {
    max-width: 168px;
    right: 50px;
    top: 38px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.highlight-block div.container div.image img.logo {
    right: 20px;
    top: 20px;
    max-width: 130px
  }
}

@media(min-width: 768px) {
  section.highlight-block div.container div.text {
    font-size: 18px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
}

section.target {
  background: #1c3b5a;
  padding: 50px 0
}

@media(min-width: 768px) {
  section.target {
    padding: 85px 0 95px
  }
}

section.target div.container h2 {
  color: #fff;
  margin-bottom: 30px
}

@media(min-width: 768px) {
  section.target div.container h2 {
    font-size: 32px;
    margin-bottom: 60px
  }
}

section.target div.container ul {
  color: #fff
}

@media(min-width: 768px) {
  section.target div.container ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto
  }
}

section.target div.container ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-column-gap: 10px;
  -moz-column-gap: 10px;
  column-gap: 10px;
  font-weight: 600;
  font-size: 16px
}

@media(min-width: 768px) {
  section.target div.container ul li {
    font-size: 22px;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px
  }
}

section.target div.container ul li+li {
  margin-top: 13px
}

section.target div.container ul li img {
  width: 18px;
  padding: 5px 0 0
}

@media(min-width: 768px) {
  section.target div.container ul li img {
    width: 27px;
    padding: 7px 0 0
  }
}

section.cta {
  padding: 50px 0
}

@media(min-width: 768px) {
  section.cta {
    padding: 105px 0
  }
}

section.cta h2 {
  margin-bottom: 30px
}

@media(min-width: 768px) {
  section.cta h2 {
    margin-bottom: 65px;
    letter-spacing: 0
  }
}

section.cta div.text {
  margin-bottom: 30px
}

@media(min-width: 768px) {
  section.cta div.text {
    text-align: center;
    letter-spacing: .05em;
    margin-bottom: 80px
  }
}

@media(min-width: 768px) {
  section.cta div.lists ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-column-gap: 52px;
    -moz-column-gap: 52px;
    column-gap: 52px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.cta div.lists ul {
    -webkit-column-gap: 30px;
    -moz-column-gap: 30px;
    column-gap: 30px
  }
}

section.cta div.lists ul li {
  max-width: 300px;
  margin: 0 auto
}

@media(min-width: 768px) {
  section.cta div.lists ul li {
    display: grid;
    grid-template-rows: auto 1fr auto;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0
  }
}

section.cta div.lists ul li+li {
  margin-top: 35px
}

@media(min-width: 768px) {
  section.cta div.lists ul li+li {
    margin-top: 0
  }
}

section.cta div.lists ul li div.image {
  margin-bottom: 15px;
  text-align: center
}

section.cta div.lists ul li div.catch {
  margin-bottom: 20px
}

@media(min-width: 768px) {
  section.cta div.lists ul li div.catch {
    font-size: 14px;
    margin-bottom: 25px;
    letter-spacing: .05em
  }
}

section.cta div.lists ul li div.link {
  text-align: center
}

section.cta div.lists ul li div.link a {
  display: inline-block;
  border: 1px solid #fb3201;
  color: #fb3201;
  padding: 7px 15px;
  border-radius: 50px;
  min-width: 180px;
  font-size: 14px;
  letter-spacing: 0
}

section.cta div.lists ul li div.link a:hover {
  background: #fb3201;
  color: #fff;
  opacity: 1
}

@media(min-width: 768px) {
  section.cta div.container {
    width: 1001px
  }
}

section.contact {
  background: #e9eaec;
  padding: 50px 0
}

@media(min-width: 768px) {
  section.contact {
    padding: 130px 0 160px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  section.contact {
    padding: 100px 0
  }
}

section.contact div.container h2 {
  font-weight: 400;
  margin: 0 0 40px
}

@media(min-width: 768px) {
  section.contact div.container h2 {
    font-size: 28px;
    margin: 0 0 80px
  }
}

form#mailformpro {
  padding: 0
}

@media screen and (min-width: 768px) {
  form#mailformpro {
    max-width: 770px;
    margin: 0 auto
  }
}

form#mailformpro label {
  border-radius: initial;
  margin: initial;
  display: initial;
  white-space: initial;
  line-height: 1
}

@media(min-width: 992px) {
  form#mailformpro .block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

form#mailformpro .block+.block {
  margin-top: 30px
}

@media(min-width: 992px) {
  form#mailformpro .block+.block {
    margin-top: 15px
  }
}

form#mailformpro .block .caption {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 10px;
  font-weight: bold
}

@media(min-width: 768px) {
  form#mailformpro .block .caption {
    width: 210px
  }
}

@media(min-width: 992px) {
  form#mailformpro .block .caption {
    padding-top: 10px
  }
}

@media screen and (min-width: 768px)and (max-width: 991px) {
  form#mailformpro .block .caption {
    width: 100%
  }
}

form#mailformpro .block .caption .label {
  background-color: #afafaf;
  color: #fff;
  display: inline-block;
  padding: 0 8px;
  font-size: 12px;
  border-radius: 5px;
  line-height: 1.7
}

form#mailformpro .block .caption .label.essential {
  background-color: #fb3201
}

form#mailformpro .block .caption .name {
  font-size: 16px;
  line-height: 1.6
}

form#mailformpro .block .input {
  margin-top: 10px
}

@media(min-width: 992px) {
  form#mailformpro .block .input {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-top: 0;
    font-size: 15px
  }
}

form#mailformpro .block .input select {
  color: #242424;
  font-weight: bold
}

form#mailformpro .block .input select option[value=""] {
  color: #242424
}

form#mailformpro .block .input input[type=text],
form#mailformpro .block .input input[type=email],
form#mailformpro .block .input select,
form#mailformpro .block .input textarea {
  max-width: initial;
  width: 100%;
  -webkit-box-shadow: initial;
  box-shadow: initial;
  padding: 6px 12px;
  border-radius: 4px;
  border-width: 1px
}

@media(min-width: 992px) {

  form#mailformpro .block .input input[type=text],
  form#mailformpro .block .input input[type=email],
  form#mailformpro .block .input select,
  form#mailformpro .block .input textarea {
    padding: 15px 12px;
    border-radius: 8px
  }
}

form#mailformpro .block .input input[type=text].wide-short,
form#mailformpro .block .input input[type=email].wide-short,
form#mailformpro .block .input select.wide-short,
form#mailformpro .block .input textarea.wide-short {
  width: 200px
}

form#mailformpro .block .input textarea {
  width: 100% !important;
  height: 120px;
  padding: 8px 16px
}

@media(max-width: 767px) {
  form#mailformpro .block .input textarea {
    height: 120px !important
  }
}

@media(min-width: 768px) {
  form#mailformpro .block .input label {
    cursor: pointer;
    font-size: 16px
  }
}

form#mailformpro .block .input input[type=checkbox],
form#mailformpro .block .input input[type=radio] {
  border-radius: .25em;
  width: 1em;
  height: 1em
}

@media(min-width: 768px) {

  form#mailformpro .block .input input[type=checkbox],
  form#mailformpro .block .input input[type=radio] {
    cursor: pointer
  }
}

form#mailformpro .block .input .zipcode {
  text-decoration: underline;
  margin-left: 10px
}

form#mailformpro .block .input ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0 8px
}

form#mailformpro .block .input ul li+li {
  margin-top: 16px
}

@media screen and (min-width: 768px) {
  form#mailformpro .block .input ul li+li {
    margin-top: 20px
  }
}

form#mailformpro .block .input ul.purpose {
  padding: 10px 0
}

@media(min-width: 768px) {
  form#mailformpro .block .input ul.purpose {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 15px;
    margin-left: 30px
  }
}

@media(min-width: 768px)and (max-width: 991px) {
  form#mailformpro .block .input ul.purpose {
    margin-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    padding: 15px 0
  }
}

form#mailformpro .block .input ul.purpose li {
  font-weight: bold
}

@media(min-width: 768px) {
  form#mailformpro .block .input ul.purpose li {
    font-size: 15px;
    margin-top: 0
  }
}

@media(min-width: 992px) {
  form#mailformpro .block.policy {
    margin-top: 75px
  }
}

form#mailformpro .block.policy .input .text {
  padding: 5px 0 20px
}

@media(min-width: 768px) {
  form#mailformpro .block.policy .input .text {
    font-size: 16px;
    padding: 0 5px 30px 0
  }
}

form#mailformpro .block.policy .input .text a {
  text-decoration: underline
}

form#mailformpro .block.policy .input label {
  font-weight: bold
}

form#mailformpro .policy_button {
  background: none;
  border: 0;
  padding: 0;
  text-decoration: underline
}

form#mailformpro .policy_button:hover {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none
}

form#mailformpro .submit {
  margin-top: 40px;
  text-align: center
}

@media screen and (min-width: 992px) {
  form#mailformpro .submit {
    margin-top: 80px
  }
}

form#mailformpro .submit button {
  background: #fb3201;
  font-size: 14px;
  border: 0;
  text-shadow: initial;
  color: #fff;
  border-radius: 50px;
  padding: 6px 0;
  width: 180px;
  border: 2px solid #fb3201;
  -webkit-transition: all .5s;
  transition: all .5s
}

form#mailformpro .submit button:hover {
  background: #fff;
  color: #fb3201
}

form#mailformpro div.mfp_err {
  background-position: 0 5px
}

div#mfp_overlay_inner {
  font-family: "ZenKakuGothicNew", sans-serif
}

div#mfp_overlay_inner div.mfp_buttons button#mfp_button_send {
  background: #333;
  color: #fff;
  border-color: initial;
  border-radius: none;
  width: 125px;
  border: none;
  padding: 8px 16px;
  text-shadow: none
}

@media(min-width: 768px) {
  div#mfp_overlay_inner div.mfp_buttons button#mfp_button_send {
    width: 150px
  }
}

@media(min-width: 768px)and (max-width: 991.98px) {
  div#mfp_overlay_inner div.mfp_buttons button#mfp_button_send {
    font-size: 15px
  }
}

div#mfp_overlay_inner div.mfp_buttons button#mfp_button_send:hover {
  -webkit-box-shadow: 0px 2px 15px #ccc;
  box-shadow: 0px 2px 15px #ccc
}

div#mfp_overlay_inner div.mfp_buttons button#mfp_button_cancel {
  background: initial;
  color: #000;
  border: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  padding: 16px
}

@media(min-width: 768px)and (max-width: 991.98px) {
  div#mfp_overlay_inner div.mfp_buttons button#mfp_button_cancel {
    font-size: 15px
  }
}

div#mfp_overlay_inner table#mfp_confirm_table {
  margin-top: 16px
}

div#mfp_overlay_inner table#mfp_confirm_table tr th {
  width: 45%
}

@media(min-width: 768px) {
  div#mfp_overlay_inner table#mfp_confirm_table tr th {
    width: 30%
  }
}

div#mfp_overlay_inner table#mfp_confirm_table tr td {
  width: 55%
}

@media(min-width: 768px) {
  div#mfp_overlay_inner table#mfp_confirm_table tr td {
    width: 70%
  }
}

div#mfp_overlay_inner table#mfp_confirm_table tr th,
div#mfp_overlay_inner table#mfp_confirm_table tr td {
  white-space: normal !important;
  word-break: break-word !important
}

div#mfp_overlay_inner tr.mfp_achroma,
div#mfp_overlay_inner tr.mfp_colored {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media(min-width: 768px) {

  div#mfp_overlay_inner tr.mfp_achroma,
  div#mfp_overlay_inner tr.mfp_colored {
    display: table-row
  }
}

@media(min-width: 768px)and (max-width: 991.98px) {

  div#mfp_overlay_inner tr.mfp_achroma,
  div#mfp_overlay_inner tr.mfp_colored {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
  }
}

.privacy-policy p {
  line-height: 1.8
}

.privacy-policy p.text-wide {
  letter-spacing: .04em
}

.privacy-policy p.text-disc {
  position: relative;
  padding-left: 20px
}

.privacy-policy p.text-disc::before {
  position: absolute;
  left: 0;
  content: "・"
}

.privacy-policy p+p {
  margin-top: 1rem
}

@media(min-width: 768px) {
  .privacy-policy p+p {
    margin-top: 2rem
  }
}

.privacy-policy article+article {
  padding-top: 16px
}

@media(min-width: 768px) {
  .privacy-policy article+article {
    padding-top: 40px
  }
}

.privacy-policy .pp-title {
  font-size: 21px;
  line-height: 1.3;
  padding-bottom: 1.5rem
}

@media(min-width: 768px) {
  .privacy-policy .pp-title {
    font-size: 24px
  }
}

.privacy-policy .pp-subtitle {
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: .04em;
  position: relative;
  padding-top: 20px
}

@media(min-width: 768px) {
  .privacy-policy .pp-subtitle {
    padding-top: 40px
  }
}

.privacy-policy .pp-subtitle:not(.no-disc) {
  padding-left: 20px
}

.privacy-policy .pp-subtitle:not(.no-disc)::before {
  position: absolute;
  left: 5px;
  content: "・"
}

.privacy-policy .pp-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 10px;
  padding-top: 1.25rem;
  list-style-type: revert;
  padding-left: 2.25rem;
  font-size: 14px
}

@media(min-width: 768px) {
  .privacy-policy .pp-list {
    font-size: 15px
  }
}

.privacy-policy .pp-list {
  line-height: 1.6
}

.privacy-policy .pp-list .text-md-16::marker {
  font-size: 15px
}

@media(min-width: 768px) {
  .privacy-policy .pp-list .text-md-16::marker {
    font-size: 16px
  }
}

.privacy-policy .pp-list .text-md-16 span {
  font-size: 15px
}

@media(min-width: 768px) {
  .privacy-policy .pp-list .text-md-16 span {
    font-size: 16px
  }
}

.privacy-policy ul {
  letter-spacing: .04em
}

.privacy-policy ul li::marker {
  font-size: 8px
}

/*# sourceMappingURL=wb-house.css.map */