/*
  html5doctor.com
  Reset Stylesheetv1.6.1
  Last Updated: 2010-09-17
  Author: Richard Clark - http://richclarkdesign.com
  Twitter: @rich_clark
  */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  /* change colours to suit your needs */ }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
  /* change colours to suit your needs */ }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  /* change border colour to suit your needs */ }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: center; }

li {
  list-style-type: none; }

input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0px; }

body {
  color: #333;
  font-size: 1rem;
  line-height: 2;
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  overflow-x: hidden; }

.t2 {
  text-align: center;
  margin-bottom: 24px;
  line-height: 1.75; }

.t2 span.jp {
  font-weight: 900;
  font-size: 2rem;
  display: block; }

.t2 span.en {
  font-size: 1.5rem;
  color: #ef630c;
  text-align: center; }

.button {
  width: fit-content;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 20px;
  font-weight: bold;
  border: solid 2px #ef630c;
  text-decoration: none;
  color: #ef630c;
  line-height: 1; }

.db {
  display: block; }

.underline {
  text-decoration: underline; }

div.table-area {
  max-width: 1040px;
  margin: 0 auto; }

div.table-area dl div.dl-column {
  display: flex;
  border-bottom: solid 2px #fff; }

div.table-area dl div.dl-column dt {
  background-color: #333;
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
  display: flex;
  align-items: center;
  min-width: 220px;
  box-sizing: border-box;
  padding-left: 24px; }

div.table-area dl div.dl-column dd {
  width: 100%;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box; }

input[type="text"], input[type="email"], input[type="tel"], select {
  font-size: 1.25rem;
  background-color: #f1f1f1;
  border-radius: 24px;
  border: solid 1px;
  padding: 6px 24px;
  width: 100%;
  box-sizing: border-box;
  height: 48px; }

textarea {
  font-size: 1.25rem;
  background-color: #f1f1f1;
  border-radius: 24px;
  border: solid 1px;
  padding: 24px;
  width: 100%;
  box-sizing: border-box; }

.form-explain-area {
  padding: 12px;
  background-color: #f1f1f1;
  margin-top: 12px; }

input[type="submit"] {
  cursor: pointer;
  display: block;
  width: 344px;
  height: 64px;
  border-radius: 32px;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  border: none;
  background: no-repeat right 40px center url(img/icon_send.svg), linear-gradient(to right, #f98500 0%, #f93c00 100%);
  margin: 24px auto 12px; }

.contact-complete {
  padding: 120px 12px;
  text-align: center; }

.contact-complete .button {
  margin: 24px auto; }

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

  .t2 span.jp {
    font-size: 1.5rem; }

  .t2 span.en {
    font-size: 1rem; }

  div.table-area dl div.dl-column {
    display: block; }

  div.table-area dl div.dl-column dt {
    font-size: 1.125rem; }

  input[type="text"], input[type="email"], input[type="tel"], select {
    font-size: 1rem; }

  textarea {
    font-size: 1rem; }

  input[type="submit"] {
    font-size: 1rem; } }

header.siteHeader {
  padding: 20px 0px 12px 32px;
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 100; }

header.siteHeader h1 a {
  display: block;
  text-indent: -9999px;
  width: 212px;
  height: 88px;
  background: no-repeat center / contain url(img/logo.svg); }

header.siteHeader nav ul {
  display: flex; }

header.siteHeader nav ul li.to-contact-li a {
  width: 272px;
  height: 64px;
  background: no-repeat left center url(img/contact_back.svg);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 76px;
  box-sizing: border-box;
  color: #fff; }

header.siteHeader nav ul li a {
  display: flex;
  height: 100%;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
  color: #333;
  font-size: 1.125rem;
  padding: 0 20px; }

main section.catch {
  height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  box-sizing: border-box;
  padding: 80px;
  background: no-repeat left -420px center url(img/catch_obj_left.svg), no-repeat right -330px bottom -204px url(img/catch_obj_right.svg); }

main section.catch div.textarea {
  position: relative; }

main section.catch div.textarea h2 {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5; }

main section.catch div.textarea h2 span.db {
  background-color: #fff;
  margin-bottom: 12px;
  padding: 0 16px; }

main section.catch div.textarea h2 span.db span.orange {
  color: #ef630c; }

main section.catch div.textarea p.consulting {
  font-size: 4rem;
  position: absolute;
  left: 64%;
  bottom: -70px; }

main section.catch ul.img-list {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1; }

main section.catch ul.img-list li {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

main section.catch ul.img-list li:first-child {
  display: block;
  background-image: url(img/catch_img1.jpg); }

main section.catch ul.img-list li:nth-child(2) {
  background-image: url(img/catch_img2.jpg); }

main section.catch ul.img-list li:nth-child(3) {
  background-image: url(img/catch_img3.jpg); }

main section.catch ul.img-list li:nth-child(4) {
  background-image: url(img/catch_img4.jpg); }

main section.catch ul.img-list li img {
  display: none; }

main section.catch p.scroll {
  position: absolute;
  left: calc(50% - 200px);
  bottom: -16px;
  background: no-repeat center bottom / contain url(img/catch_scroll.svg);
  width: 400px;
  height: 116px;
  text-indent: -9999px; }

main section.business {
  padding: 96px 12px;
  background: no-repeat center bottom / cover url(img/business_back.jpg); }

main section.business h3 {
  text-align: center;
  color: #ef630c;
  font-size: 1.25rem;
  margin-bottom: 24px; }

main section.business div.textarea {
  text-align: center; }

main section.service {
  padding: 96px 12px;
  background-color: #f7f7f7;
  overflow: hidden; }

main section.service p.explain {
  text-align: center;
  font-weight: bold; }

main section.service ul.service-list {
  max-width: 1040px;
  margin: 48px auto 0;
  position: relative;
  display: flex; }

main section.service ul.service-list:before {
  content: "";
  display: block;
  position: absolute;
  left: -80px;
  top: -80px;
  width: 160px;
  height: 160px;
  background: no-repeat center / contain url(img/service_circle.svg);
  z-index: -1; }

main section.service ul.service-list:after {
  content: "";
  display: block;
  position: absolute;
  right: -80px;
  bottom: -80px;
  width: 160px;
  height: 160px;
  background: no-repeat center / contain url(img/service_circle.svg);
  z-index: -1; }

main section.service ul.service-list li {
  border-top: solid 8px #efefef;
  padding-top: 56px;
  width: 100%;
  box-sizing: border-box;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 88px;
  background: no-repeat center top url(img/service_half_circle.svg) #fff; }

main section.service ul.service-list li dl {
  max-width: 240px;
  margin: 0 auto; }

main section.service ul.service-list li dl dt {
  text-align: center; }

main section.service ul.service-list li dl dt span.icon {
  display: block; }

main section.service ul.service-list li dl dt span.icon img {
  display: block;
  margin: 0 auto; }

main section.service ul.service-list li dl dt span.text {
  font-size: 1.5rem;
  text-align: center;
  color: #ef630c; }

main section.company {
  padding: 206px 12px;
  background: no-repeat left bottom / 100% 104px url(img/company_bottom_back.svg), no-repeat left top / 100% 104px url(img/company_top_back.svg), no-repeat center / cover url(img/company_back.jpg); }

main section.company div.table-area dl div.dl-column dt {
  min-height: 120px; }

main section.company div.table-area dl div.dl-column dd {
  min-height: 120px; }

main section.contact {
  padding: 96px 12px;
  background: linear-gradient(to bottom, #f93c00 0, transparent 120px) #f7f7f7; }

main section.contact div.contact-inner {
  padding: 40px;
  max-width: 1040px;
  background-color: #fff;
  margin: 0 auto;
  box-sizing: border-box; }

footer.site-footer {
  padding: 96px 12px;
  background-color: #333; }

footer.site-footer h2 {
  text-indent: -9999px;
  width: 220px;
  height: 88px;
  background: no-repeat center / contain url(img/logo_white.svg);
  margin: 0 auto 40px; }

footer.site-footer a {
  text-align: center;
  color: #f1f1f1;
  font-weight: bold;
  display: block;
  width: fit-content;
  text-decoration: none;
  margin: 0 auto 40px; }

footer.site-footer p.footer-copyrights {
  text-align: center;
  color: #f1f1f1; }
@media (max-width: 640px) {
  body {
    font-size: 1rem; }

  .t2 span.jp {
    font-size: 1.5rem; }

  .t2 span.en {
    font-size: 1rem; }

  div.table-area dl div.dl-column {
    display: block; }

  div.table-area dl div.dl-column dt {
    font-size: 1.125rem; }

  input[type="text"], input[type="email"], input[type="tel"], select {
    font-size: 1rem; }

  textarea {
    font-size: 1rem; }

  input[type="submit"] {
    font-size: 1rem; } }

@media (max-width: 640px) {
  header.siteHeader {
    display: none; }

  header.siteHeader nav ul li a {
    font-size: 1rem; }

  main section.catch {
    padding: 40px; }

  main section.catch div.textarea h2 {
    font-size: 1.5rem; }

  main section.catch div.textarea p.consulting {
    font-size: 2rem; }

  main section.business h3 {
    font-size: 1rem; }

  main section.service {
    padding: 40px 12px; }

  main section.service ul.service-list {
    display: block; }

  main section.service ul.service-list li dl dt span.text {
    font-size: 1rem; }

  main section.company {
    padding: 80px 12px; }

  main section.company div.table-area dl div.dl-column {
    display: block; }

  main section.company div.table-area dl div.dl-column dt {
    min-height: 0;
    font-size: 1rem;
    padding-left: 12px; }

  main section.company div.table-area dl div.dl-column dd {
    min-height: 0;
    padding: 12px; } }
