@charset "UTF-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

* {
  box-sizing: border-box;
}

html {
  font-family: "Noto Sans JP", "メイリオ", "Meiryo", sans-serif;
  line-height: 1.8;
  letter-spacing: 0.05rem;
  font-size: 62.5%;
  height: 100%;
  font-feature-settings: "palt";
}

header {
  z-index: 1000;
  width: 100%;
  margin: 0 auto;
  display: flex;
  position: fixed;
  justify-content: space-between;
  align-items: center;
  padding: 20px 200px;
  left: 0;
  right: 0;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 1200px) {
  header {
    padding: 20px 20px;
  }
}
header .logo_header {
  width: 154px;
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 600px) {
  header .logo_header {
    width: 120px;
    margin: 0 auto;
    display: block;
  }
}
header.show-logo .logo_header {
  opacity: 1;
  transform: translateY(0);
}
header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, rgb(20, 53, 108), rgba(20, 53, 108, 0.9));
  opacity: 0;
  transition: all 0.3s ease-out;
  z-index: -1;
}
header.scrolled::before {
  opacity: 1;
}
header nav ul {
  display: flex;
  gap: 50px;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
@media screen and (max-width: 768px) {
  header nav ul {
    display: none;
  }
}
header nav ul a.underline {
  position: relative;
  font-size: 1.6rem;
  color: #fff;
  text-decoration: none;
}
header nav ul a.underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: right top;
  transition: transform 0.3s ease;
}
header nav ul a.underline:hover::after {
  transform: scaleX(1);
  transform-origin: left top;
}
header nav ul .inquiry_btn {
  text-decoration: none;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  background: #FFC200;
  padding: 2px 20px;
  transition: all 0.3s ease-out;
}
header nav ul .inquiry_btn:hover {
  background: #ffda66;
}

#scrollTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  text-align: center;
  cursor: pointer;
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}
@media screen and (max-width: 600px) {
  #scrollTop {
    bottom: 10px;
    right: 10px;
  }
}

#scrollTop.show {
  opacity: 1;
  pointer-events: auto;
}

#scrollTop img {
  width: 60px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  #scrollTop img {
    width: 40px;
  }
}

#scrollTop .label {
  font-size: 1.6rem;
  color: #007DDF;
  font-weight: bold;
  margin-top: 5px;
}
@media screen and (max-width: 600px) {
  #scrollTop .label {
    font-size: 1.2rem;
    margin-top: 2px;
  }
}

#scrollTop img,
#scrollTop .label {
  transition: all 0.3s ease;
}
#scrollTop:hover img {
  filter: brightness(1.3);
}
#scrollTop:hover .label {
  color: #2da2ff;
}

body {
  position: relative;
  height: 100%;
  color: #333;
  font-size: 1.4rem;
  font-style: normal;
  background-color: #F2F3F4;
  text-align: justify;
  text-justify: inter-ideograph;
  font-variant-east-asian: proportional-width;
  font-feature-settings: "palt";
}

main .inner {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
main .letter {
  border-radius: 10px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
main .scroll-in {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.6s ease-out;
}
main .scroll-in.visible {
  opacity: 1;
  transform: translateY(0);
}
main ul {
  list-style-position: outside;
  padding-left: 1.2em;
  margin-left: 0;
}
main li {
  line-height: 1.6;
  margin-bottom: 0.5em;
}
main .footnote {
  font-size: 1.3rem;
  color: #607D8B;
  padding-left: 1em;
  text-indent: -1.4rem;
}
main .bg_ivory {
  background: #F5F2ED;
}
main .bg_white {
  background: #fff;
}
main .bg_gray {
  background: #F6F7F8;
}
main .text-center {
  text-align: center;
  margin: 0 auto;
}
main h1 {
  display: inline;
  font-size: 3.2rem;
  font-weight: 500;
  border-bottom: 4px solid #FFC200;
  padding-bottom: 4px;
  text-decoration: none;
}
@media screen and (max-width: 600px) {
  main h1 {
    font-size: 2.5rem;
    line-height: 1.4;
  }
}
main p.lead {
  line-height: 1.6;
  margin: 60px 0;
  font-size: 3rem;
  font-weight: 800;
}
@media screen and (max-width: 1000px) {
  main p.lead br {
    display: none;
  }
}
@media screen and (max-width: 600px) {
  main p.lead {
    font-size: 2rem;
    line-height: 1.4;
  }
}
main p.note {
  font-weight: 1.6rem;
  text-align: left;
  max-width: 805px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  main p.note br {
    display: none;
  }
}
main .main_visual {
  max-width: 100%;
  padding: 10%;
  padding-bottom: 400px;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 90%, #F2F3F4 100%), url("../img/main.png");
  background-size: 120%;
  background-repeat: no-repeat;
  background-position: center 65%;
}
@media screen and (max-width: 1000px) {
  main .main_visual {
    background-size: 150%;
  }
}
@media screen and (max-width: 600px) {
  main .main_visual {
    padding: 15%;
    background-size: 200%;
    padding-bottom: 250px;
    background-position: center 20%;
  }
}
main .main_visual img {
  width: 258px;
  margin: 20px 0;
}
main .main_visual p {
  color: #fff;
  font-size: 1.6rem;
}
main .main_visual span {
  font-weight: 500;
}
main .main_visual .sp_br {
  display: none;
}
@media screen and (max-width: 600px) {
  main .main_visual .sp_br {
    display: inline;
  }
}
main .main_visual a {
  text-decoration: none;
}
main .main_visual .inquiry_btn_top {
  margin-top: 40px;
  text-decoration: none;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  background: #FFC200;
  padding: 4px 20px;
  box-shadow: 0px 5px 15px 5px rgba(244, 192, 49, 0.35);
  text-align: center;
  transition: all 0.2s ease-out;
  display: none;
}
@media screen and (max-width: 768px) {
  main .main_visual .inquiry_btn_top {
    display: block;
  }
}
main .main_visual .inquiry_btn_top:hover {
  background: #ffda66;
}
main .summary_section {
  background-image: url("../img/img_stamp.svg");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 400px auto;
  position: relative;
  min-height: 300px;
}
@media screen and (max-width: 600px) {
  main .summary_section {
    background-position: center top;
  }
}
main .summary_section .summary_contents {
  background-image: url("../img/summary_bg.svg");
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 60% auto;
  padding: 70px 0 80px 0;
}
@media screen and (max-width: 900px) {
  main .summary_section .summary_contents {
    background-size: auto;
    padding: 60px 20px 30px 20px;
  }
}
main .regulatory_steps {
  margin: 0 auto;
  padding: 60px 0 110px 0;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media screen and (max-width: 600px) {
  main .regulatory_steps {
    padding: 30px 10px 80px 10px;
  }
}
main .step_title {
  font-size: 2.5rem;
  font-weight: 500;
  color: #fff;
  background-color: #007DDF;
  padding: 2px 0;
  max-width: 805px;
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  main .step_title {
    font-size: 2rem;
  }
}
main .step_contents {
  max-width: 805px;
  margin: 0 auto;
}
main .step_contents .step_item {
  position: relative;
}
main .step_contents .step_item .step_connector {
  position: absolute;
  top: 0;
  left: 50%;
  width: 20px;
  height: 100%;
  background-color: #FFC200;
  z-index: 10;
  height: 0;
  transition: all 0.8s ease-out;
  overflow: hidden;
}
main .step_contents .step_item.show .step_connector {
  height: 100%;
}
main .step_contents .step_item .step_badge {
  position: relative;
  z-index: 12;
  top: 3em;
  left: -2em;
  color: #fff;
  width: 70px;
  height: 70px;
  background-color: #007DDF;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1;
  border: 4px solid #F2F3F4;
}
@media screen and (max-width: 600px) {
  main .step_contents .step_item .step_badge {
    width: 60px;
    height: 60px;
    top: 1.4em;
    left: 0.5em;
    line-height: 1.2;
  }
}
main .step_contents .step_item .step_badge span {
  font-size: 3rem;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  main .step_contents .step_item .step_badge span {
    font-size: 2rem;
  }
}
main .step_contents .step_item .step_box {
  position: relative;
  z-index: 11;
  padding: 20px 30px 20px 50px;
  color: #007DDF;
  background-color: #FFF;
  border: 1px solid #007DDF;
}
@media screen and (max-width: 600px) {
  main .step_contents .step_item .step_box {
    padding: 20px 10px 10px 20px;
  }
}
main .step_contents .step_item .step_box .step_heading {
  margin-bottom: 10px;
  text-align: left;
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 600px) {
  main .step_contents .step_item .step_box .step_heading {
    font-size: 1.8rem;
  }
}
main .step_contents .step_item .step_box .step_description {
  font-weight: 1.6rem;
  text-align: left;
}
main .service_section {
  padding: 70px 80px 110px 80px;
  background-image: url("../img/img_stamp.svg");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 400px auto;
  position: relative;
  min-height: 300px;
}
@media screen and (max-width: 600px) {
  main .service_section {
    padding: 60px 10px 80px 10px;
    background-position: center top;
  }
}
main .service_section .service_contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  main .service_section .service_contents {
    grid-template-columns: 1fr;
  }
}
main .service_section .service_contents .blue_accent {
  border: 5px solid #007DDF;
}
main .service_section .service_contents .service_item {
  display: flex;
  flex-direction: column;
  background: white;
  overflow: hidden;
}
main .service_section .service_contents .service_item .image_area {
  height: 160px;
  background-size: cover;
  background-position: center top;
}
main .service_section .service_contents .service_item .item_1 {
  background-image: url("../img/img_service_1.png");
}
main .service_section .service_contents .service_item .item_2 {
  background-image: url("../img/img_service_2.png");
}
main .service_section .service_contents .service_item .item_3 {
  background-image: url("../img/img_service_3.png");
}
main .service_section .service_contents .service_item .item_4 {
  background-image: url("../img/img_service_4.png");
}
main .service_section .service_contents .service_item .item_5 {
  background-image: url("../img/img_service_5.png");
}
main .service_section .service_contents .service_item .item_6 {
  background-image: url("../img/img_service_6.png");
}
main .service_section .service_contents .service_item .item_7 {
  background-image: url("../img/img_service_7.png");
}
main .service_section .service_contents .service_item .service_heading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 160px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 20px;
  color: #fff;
  position: relative;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 1200px) {
  main .service_section .service_contents .service_item .service_heading br {
    display: none;
  }
}
main .service_section .service_contents .service_item .service_description {
  text-align: left;
  margin: 25px 20px 25px 30px;
}
@media screen and (max-width: 600px) {
  main .service_section .service_contents .service_item .service_description {
    margin: 25px 20px 25px 20px;
  }
}
main .service_section .service_contents .service_item .blue_font {
  color: #007DDF;
}
main .inquiry_section {
  padding: 70px 120px 40px 120px;
  background-image: url("../img/img_stamp.svg");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: 400px auto;
  position: relative;
  min-height: 300px;
}
@media screen and (max-width: 600px) {
  main .inquiry_section {
    padding: 60px 10px;
    background-position: center top;
  }
}
main .inquiry_section a {
  text-decoration: none;
}
main .inquiry_section .inquiry_contents {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 80px;
  padding-top: 80px;
}
@media screen and (max-width: 1000px) {
  main .inquiry_section .inquiry_contents {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
main .inquiry_section .inquiry_contents .inquiry_item {
  text-align: left;
}
main .inquiry_section .inquiry_contents .inquiry_item .Department {
  padding-bottom: 10px;
}
main .inquiry_section .inquiry_contents .inquiry_item p {
  line-height: 1.4;
  padding-bottom: 10px;
}
main .inquiry_section .inquiry_contents .inquiry_item p.Name {
  font-size: 2rem;
  font-weight: 500;
}
main .inquiry_section .inquiry_contents .inquiry_item img {
  margin-top: 20px;
  width: 200px;
}
main .inquiry_section .inquiry_contents .inquiry_item .inquiry_btn_form {
  margin-top: 40px;
  text-decoration: none;
  color: #333;
  font-size: 1.6rem;
  font-weight: 500;
  background: #FFC200;
  padding: 4px 20px;
  box-shadow: 0px 5px 15px 5px rgba(244, 192, 49, 0.35);
  text-align: center;
  transition: all 0.2s ease-out;
}
main .inquiry_section .inquiry_contents .inquiry_item .inquiry_btn_form:hover {
  background: #ffda66;
}
main .inquiry_section .inquiry_contents .inquiry_item hr {
  border: none;
  border-top: 2px solid #ccc;
  margin: 2em 0;
}
main .inquiry_section .Copyright {
  padding-top: 150px;
}/*# sourceMappingURL=style.css.map */