@charset "UTF-8";
/* ========================================
  RESET & NORMALIZE (2025最新版)
======================================== */
*,
*::before,
*::after {
  box-sizing: border-box; }

html {
  font-size: 62.5%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #3E3939;
  background-color: #EFECE7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased; }

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto; }

img {
  width: 100%; }

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  outline: none; }

button {
  cursor: pointer;
  appearance: none; }

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

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  font-weight: normal; }

a {
  color: inherit;
  text-decoration: none;
  background-color: transparent; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%; }

address {
  font-style: normal; }

strong {
  font-weight: bold; }

[hidden] {
  display: none !important; }

body {
  overflow-x: hidden; }

.is-pc {
  display: block; }
  @media screen and (max-width: 820px) {
    .is-pc {
      display: none; } }

.is-sp {
  display: none; }
  @media screen and (max-width: 820px) {
    .is-sp {
      display: block; } }

.c_container {
  max-width: 114.0rem;
  margin: 0 auto;
  padding: 0 2.0rem; }

.hamburger {
  display: none;
  position: fixed;
  top: 1.8rem;
  right: 1.8rem;
  width: 4.6rem;
  height: 4.6rem;
  z-index: 1001;
  border-radius: 5.0rem;
  border: 2px solid #fff;
  background: transparent;
  cursor: pointer;
  padding: 1.0rem; }
  @media screen and (max-width: 820px) {
    .hamburger {
      display: block; } }
  .hamburger span {
    position: absolute;
    display: block;
    width: 52%;
    height: 3px;
    background-color: #fff;
    transition: 0.3s; }
    .hamburger span:nth-child(1) {
      top: 1.35rem; }
    .hamburger span:nth-child(2) {
      bottom: 1.35rem; }
  .hamburger.is-active span:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(-45deg); }
  .hamburger.is-active span:nth-child(2) {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) rotate(45deg); }

header {
  background-color: #19326E; }
  header .c_container {
    height: 10.0rem;
    display: flex;
    align-items: center; }
    @media screen and (max-width: 820px) {
      header .c_container {
        height: 8.5rem; } }
    header .c_container .logo {
      max-width: 19.5rem;
      margin-right: 7.0rem;
      width: 100%; }
      @media screen and (max-width: 820px) {
        header .c_container .logo {
          max-width: 16.5rem;
          margin-right: 0; } }
    @media screen and (max-width: 820px) {
      header .c_container .nav-menu {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100vh;
        background-color: #19326E;
        z-index: 1000;
        transition: right 0.3s ease;
        padding: 11.5rem 2.0rem 2.5rem;
        overflow-y: scroll;
        display: flex;
        flex-flow: column;
        align-items: center; } }
    header .c_container .nav-menu ul {
      list-style: none;
      padding: 0;
      display: flex; }
      @media screen and (max-width: 820px) {
        header .c_container .nav-menu ul {
          display: block;
          margin-bottom: 3.5rem; } }
      @media screen and (max-width: 820px) {
        header .c_container .nav-menu ul li {
          text-align: center; } }
      header .c_container .nav-menu ul li a {
        text-decoration: none;
        font-size: 1.4rem;
        color: #fff; }
        @media screen and (max-width: 820px) {
          header .c_container .nav-menu ul li a {
            font-size: 4.8vw; } }
        header .c_container .nav-menu ul li a:hover {
          opacity: .8; }
      header .c_container .nav-menu ul li + li {
        margin-left: 2.5rem; }
        @media screen and (max-width: 820px) {
          header .c_container .nav-menu ul li + li {
            margin-left: 0;
            margin-top: 2.5rem; } }
    header .c_container .nav-menu .menu-quotation {
      display: none; }
      @media screen and (max-width: 820px) {
        header .c_container .nav-menu .menu-quotation {
          display: block; }
          header .c_container .nav-menu .menu-quotation a {
            display: flex;
            flex-flow: column;
            align-items: center; }
            header .c_container .nav-menu .menu-quotation a .icon {
              max-width: 8.7rem;
              width: 100%; }
            header .c_container .nav-menu .menu-quotation a .menu-quotation_box {
              margin-top: -1.3rem;
              background-color: #F84419;
              border-radius: 1.1rem;
              color: #fff;
              width: 57.333333333333336vw;
              padding: 1.0rem 1.5rem; }
              header .c_container .nav-menu .menu-quotation a .menu-quotation_box .ttl {
                display: flex;
                align-items: center;
                justify-content: center; }
                header .c_container .nav-menu .menu-quotation a .menu-quotation_box .ttl .free {
                  font-size: 10.666666666666668vw;
                  font-weight: 900;
                  margin-right: .6rem; }
                header .c_container .nav-menu .menu-quotation a .menu-quotation_box .ttl .copy {
                  font-size: 4.8vw;
                  font-weight: 900;
                  line-height: 1.1; } }
    header .c_container .nav-menu .menu-logo {
      display: none; }
      @media screen and (max-width: 820px) {
        header .c_container .nav-menu .menu-logo {
          display: block;
          max-width: 19.5rem;
          margin-top: auto; } }
    header .c_container .nav-menu.is-active {
      right: 0; }
    header .c_container .menu-solar {
      display: flex;
      align-items: center;
      margin-left: auto;
      margin-right: 2.0rem; }
      @media screen and (max-width: 820px) {
        header .c_container .menu-solar {
          display: none; } }
      header .c_container .menu-solar .icon {
        max-width: 5.6rem;
        width: 100%;
        margin-right: 1.0rem; }
      header .c_container .menu-solar .tel-box {
        color: #fff;
        display: flex;
        flex-flow: column;
        align-items: center; }
        header .c_container .menu-solar .tel-box .tel {
          font-size: 3.0rem;
          font-weight: 700;
          line-height: 1; }
          @media screen and (max-width: 820px) {
            header .c_container .menu-solar .tel-box .tel {
              font-size: 8vw; } }
        header .c_container .menu-solar .tel-box .txt {
          font-size: 1.4rem;
          font-weight: 500; }
          @media screen and (max-width: 820px) {
            header .c_container .menu-solar .tel-box .txt {
              font-size: 3.733333333333334vw; } }
    @media screen and (max-width: 820px) {
      header .c_container .menu-consultation {
        display: none; } }
    header .c_container .menu-consultation a {
      display: flex;
      align-items: center;
      color: #fff;
      font-size: 1.8rem;
      font-weight: 700;
      padding: 2.2rem 1.0rem;
      background-color: #F84419;
      border-radius: .7rem;
      line-height: 1.4; }
      header .c_container .menu-consultation a img {
        max-width: 2.5rem;
        width: 100%;
        margin-right: .5rem; }

footer {
  position: relative;
  background-color: #3E3939;
  color: #fff;
  padding: 7.0rem 0 2.0rem; }
  @media screen and (max-width: 820px) {
    footer {
      padding: 3.5rem 0 2.0rem; } }
  footer .c_container {
    display: flex;
    align-items: center;
    margin-bottom: 10.0rem; }
    @media screen and (max-width: 820px) {
      footer .c_container {
        display: block;
        margin-bottom: 3.0rem; } }
    footer .c_container .logo-address {
      width: 50%; }
      @media screen and (max-width: 820px) {
        footer .c_container .logo-address {
          width: 100%;
          display: flex;
          flex-flow: column;
          align-items: center;
          margin-bottom: 3.0rem; } }
      footer .c_container .logo-address .logo {
        max-width: 41.2rem;
        width: 100%;
        margin-bottom: 5.0rem; }
        @media screen and (max-width: 820px) {
          footer .c_container .logo-address .logo {
            max-width: 27.5rem;
            margin-bottom: 1.5rem; } }
      footer .c_container .logo-address .address {
        margin-left: 2.5rem;
        font-size: 1.4rem;
        line-height: 1.71; }
        @media screen and (max-width: 820px) {
          footer .c_container .logo-address .address {
            margin-left: 0;
            font-size: 3.2vw;
            line-height: 2.0; } }
    footer .c_container .menu-contact {
      width: 50%;
      padding-right: 3.5rem; }
      @media screen and (max-width: 820px) {
        footer .c_container .menu-contact {
          width: 100%;
          padding-right: 0; } }
      footer .c_container .menu-contact .f_menu {
        margin-bottom: 6.5rem; }
        @media screen and (max-width: 820px) {
          footer .c_container .menu-contact .f_menu {
            display: none; } }
        footer .c_container .menu-contact .f_menu ul {
          display: flex;
          justify-content: flex-end; }
          footer .c_container .menu-contact .f_menu ul li {
            font-size: 1.8rem;
            font-weight: 500;
            margin-left: 2.5rem; }
            @media screen and (max-width: 820px) {
              footer .c_container .menu-contact .f_menu ul li {
                font-size: 4.8vw; } }
      footer .c_container .menu-contact .solar-consultation {
        display: flex;
        justify-content: space-between; }
        @media screen and (max-width: 820px) {
          footer .c_container .menu-contact .solar-consultation {
            flex-flow: column;
            align-items: center; } }
        footer .c_container .menu-contact .solar-consultation .menu-solar {
          max-width: 35.5rem;
          width: 100%;
          display: flex;
          align-items: center; }
          @media screen and (max-width: 820px) {
            footer .c_container .menu-contact .solar-consultation .menu-solar {
              max-width: none;
              flex-flow: column; } }
          footer .c_container .menu-contact .solar-consultation .menu-solar .icon {
            max-width: 7.5rem;
            width: 100%;
            margin-right: 1.3rem; }
            @media screen and (max-width: 820px) {
              footer .c_container .menu-contact .solar-consultation .menu-solar .icon {
                margin-right: 0;
                margin-bottom: 1.0rem; } }
          footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box {
            color: #fff;
            display: flex;
            flex-flow: column;
            align-items: center; }
            @media screen and (max-width: 820px) {
              footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box {
                margin-bottom: 3.0rem; } }
            footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box .tel {
              font-size: 3.6rem;
              font-weight: 700;
              line-height: 1.1; }
              @media screen and (max-width: 820px) {
                footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box .tel {
                  font-size: 10.133333333333333vw; } }
            footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box .txt {
              font-size: 1.7rem;
              font-weight: 500; }
              @media screen and (max-width: 820px) {
                footer .c_container .menu-contact .solar-consultation .menu-solar .tel-box .txt {
                  font-size: 4.533333333333333vw; } }
        footer .c_container .menu-contact .solar-consultation .menu-consultation {
          max-width: 16.0rem;
          width: 100%; }
          @media screen and (max-width: 820px) {
            footer .c_container .menu-contact .solar-consultation .menu-consultation {
              max-width: none;
              width: 42.66666666666667vw; } }
          footer .c_container .menu-contact .solar-consultation .menu-consultation a {
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 2.3rem;
            font-weight: 700;
            padding: 2.2rem 1.0rem;
            background-color: #F84419;
            border-radius: .7rem;
            line-height: 1.4; }
            @media screen and (max-width: 820px) {
              footer .c_container .menu-contact .solar-consultation .menu-consultation a {
                font-size: 6.133333333333333vw; } }
            footer .c_container .menu-contact .solar-consultation .menu-consultation a img {
              max-width: 3.2rem;
              width: 100%;
              margin-right: .6rem; }
  footer .copy {
    text-align: center;
    font-size: 1.2rem; }
    @media screen and (max-width: 820px) {
      footer .copy {
        font-size: 2.666666666666667vw; } }

.mv {
  background: url("../images/mv.jpg") no-repeat center center;
  background-size: cover; }
  @media screen and (max-width: 820px) {
    .mv {
      background-image: url("../images/mv_sp.jpg"); } }
  .mv .c_container {
    display: flex;
    align-items: center;
    height: calc(100vh - 10.0rem); }
    @media screen and (max-width: 820px) {
      .mv .c_container {
        align-items: flex-start;
        height: calc(100vh - 19.0rem); } }
  .mv-copy {
    font-size: 4.8rem;
    font-weight: 900;
    color: #fff; }
    @media screen and (max-width: 820px) {
      .mv-copy {
        font-size: 8vw;
        margin-top: 10.0rem; } }
    .mv-copy span {
      display: inline-block;
      background-color: #19326E;
      padding-right: 1.5em;
      padding-left: .3em; }
      @media screen and (max-width: 820px) {
        .mv-copy span {
          padding-right: 1.0rem; } }

.sp-quotation a {
  display: none; }
  @media screen and (max-width: 820px) {
    .sp-quotation a {
      width: 100%;
      display: block;
      background-color: #F84419;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #fff;
      height: 28.000000000000004vw;
      padding: 0 2.0rem;
      font-weight: 700; }
      .sp-quotation a .icon {
        max-width: 23.200000000000003vw;
        margin-right: .5rem; }
      .sp-quotation a .free {
        font-size: 13.866666666666665vw;
        margin-right: 1.0rem; }
      .sp-quotation a .copy {
        font-size: 6.4vw;
        line-height: 1.1; } }

.introduction {
  margin-top: 6.5rem; }
  @media screen and (max-width: 820px) {
    .introduction {
      margin-top: 2.0rem; } }
  .introduction_txt {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 700;
    line-height: 1.26;
    color: #19326E;
    letter-spacing: 0.19em; }
    @media screen and (max-width: 820px) {
      .introduction_txt {
        font-size: 5.333333333333334vw;
        line-height: 1.4;
        text-align: left; } }
  .introduction_column {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8.0rem; }
    @media screen and (max-width: 820px) {
      .introduction_column {
        display: block;
        margin-bottom: 3.0rem; } }
    .introduction_column .txt {
      max-width: 57.0rem;
      width: 100%;
      margin-left: 5.0rem;
      font-size: 1.8rem;
      line-height: 1.88; }
      @media screen and (max-width: 820px) {
        .introduction_column .txt {
          font-size: 3.733333333333334vw;
          margin: 2.5rem 0; } }
    .introduction_column .img {
      max-width: 43.2rem;
      width: 100%;
      margin-right: 3.0rem; }
      @media screen and (max-width: 820px) {
        .introduction_column .img {
          width: 70%;
          margin: 0 auto; } }
  @media screen and (max-width: 820px) {
    .introduction .quotation {
      display: none; } }

.quotation {
  position: relative;
  background-color: #F84419;
  border-radius: 2.5rem;
  padding: 5.5rem  3.0rem  3.5rem 2.5rem;
  color: #fff;
  margin-bottom: 8.0rem; }
  @media screen and (max-width: 820px) {
    .quotation {
      padding: 2.0rem;
      margin-bottom: 0;
      border-radius: 0; } }
  .quotation .icon {
    position: absolute;
    top: -7.3rem;
    left: 0;
    max-width: 11.3rem; }
    @media screen and (max-width: 820px) {
      .quotation .icon {
        top: 0;
        left: 1.5rem;
        max-width: none;
        width: 23.200000000000003vw; } }
  .quotation_box {
    display: flex;
    align-items: center;
    margin-bottom: 3.0rem; }
    @media screen and (max-width: 820px) {
      .quotation_box {
        display: block;
        margin-bottom: 5.333333333333334vw; } }
    .quotation_box .ttl {
      width: 50%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-weight: 900; }
      @media screen and (max-width: 820px) {
        .quotation_box .ttl {
          width: 100%;
          justify-content: flex-start;
          padding-left: 23.466666666666665vw;
          margin-bottom: 4vw; } }
      .quotation_box .ttl .free {
        font-size: 12.0rem;
        line-height: 1.0; }
        @media screen and (max-width: 820px) {
          .quotation_box .ttl .free {
            font-size: 13.866666666666665vw;
            margin-right: 1.0rem;
            line-height: 1.1; } }
      .quotation_box .ttl .copy {
        font-size: 5.5rem;
        line-height: 1.1; }
        @media screen and (max-width: 820px) {
          .quotation_box .ttl .copy {
            font-size: 6.4vw;
            line-height: 1.2; } }
    .quotation_box .txt {
      width: 50%;
      padding-left: 2.0rem;
      font-size: 1.8rem;
      line-height: 1.7; }
      @media screen and (max-width: 820px) {
        .quotation_box .txt {
          width: 100%;
          font-size: 3.733333333333334vw;
          padding-left: 0; } }
  .quotation_btn {
    max-width: 35.4rem;
    margin: 0 auto; }
    @media screen and (max-width: 820px) {
      .quotation_btn {
        max-width: none;
        width: 80%; } }
    .quotation_btn a {
      width: 100%;
      height: 5.6rem;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #fff;
      color: #F84419;
      font-size: 2.3rem;
      font-weight: 700;
      border-radius: 5.0rem;
      transition: 0.3s; }
      @media screen and (max-width: 820px) {
        .quotation_btn a {
          height: 10.666666666666668vw;
          font-size: 4.8vw; } }
      .quotation_btn a:hover {
        opacity: .7; }

.merit {
  background-color: #19326E;
  padding: 10.5rem 0 5.0rem;
  color: #fff; }
  @media screen and (max-width: 820px) {
    .merit {
      padding: 5.0rem 0 1.0rem; } }
  .merit-ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: 0.19em;
    margin-bottom: 12.0rem; }
    @media screen and (max-width: 820px) {
      .merit-ttl {
        font-size: 4.8vw;
        margin-bottom: 2.0rem;
        letter-spacing: 0.1em; } }
    .merit-ttl span {
      font-size: 10.3rem;
      color: #F84419; }
      @media screen and (max-width: 820px) {
        .merit-ttl span {
          font-size: 12.533333333333333vw; } }
  .merit-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    @media screen and (max-width: 820px) {
      .merit-list {
        display: block; } }
    .merit-list__item {
      width: 46.36%;
      margin-bottom: 7.0rem; }
      @media screen and (max-width: 820px) {
        .merit-list__item {
          width: 100%;
          margin-bottom: 6.0rem; } }
      .merit-list__item .photo {
        line-height: 0;
        margin-bottom: 2.5rem; }
        @media screen and (max-width: 820px) {
          .merit-list__item .photo {
            margin-bottom: 1.5rem; } }
      .merit-list__item .ttl {
        font-size: 2.3rem;
        font-weight: 700;
        text-align: center;
        margin-bottom: 2.5rem; }
        @media screen and (max-width: 820px) {
          .merit-list__item .ttl {
            margin-bottom: 1.5rem;
            font-size: 4.8vw; } }
      .merit-list__item .txt {
        font-size: 1.4rem;
        line-height: 1.64; }
        @media screen and (max-width: 820px) {
          .merit-list__item .txt {
            font-size: 3.733333333333334vw; } }

.environment {
  padding: 11.5rem 2.0rem 10.0rem; }
  @media screen and (max-width: 820px) {
    .environment {
      padding: 3.0rem 2.0rem 2.0rem; } }
  .environment-ttl {
    text-align: center;
    font-size: 3.0rem;
    color: #19326E;
    letter-spacing: 0.19em;
    line-height: 1.26;
    margin-bottom: 3.5rem; }
    @media screen and (max-width: 820px) {
      .environment-ttl {
        font-size: 5.333333333333334vw;
        letter-spacing: 0.1em;
        margin-bottom: 2.0rem;
        line-height: 1.4; } }
  .environment-txt {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.88;
    margin-bottom: 2.5rem; }
    @media screen and (max-width: 820px) {
      .environment-txt {
        font-size: 3.733333333333334vw;
        margin-bottom: 1.5rem; } }
  .environment-img {
    max-width: 104.0rem;
    margin: 0 auto 2.5rem; }
    @media screen and (max-width: 820px) {
      .environment-img {
        margin-bottom: 4.0rem; } }
  .environment-list {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 820px) {
      .environment-list {
        display: block; } }
    .environment-list__item {
      width: 46.63%; }
      @media screen and (max-width: 820px) {
        .environment-list__item {
          width: 100%; } }
      .environment-list__item dt {
        text-align: center;
        font-size: 2.3rem;
        font-weight: 700;
        margin-bottom: 1.5rem; }
        @media screen and (max-width: 820px) {
          .environment-list__item dt {
            font-size: 4.8vw;
            margin-bottom: 2.0rem; } }
      .environment-list__item dd {
        display: flex;
        justify-content: space-between; }
        .environment-list__item dd .photo {
          width: 48.34%;
          text-align: center;
          font-size: 1.8rem; }
          @media screen and (max-width: 820px) {
            .environment-list__item dd .photo {
              font-size: 3.733333333333334vw; } }
          .environment-list__item dd .photo img {
            margin-bottom: 1.0rem; }
      @media screen and (max-width: 820px) {
        .environment-list__item + .environment-list__item {
          margin-top: 3.5rem; } }

.flow {
  background: url("../images/glow_bg.png") no-repeat center 0;
  background-size: cover;
  padding: 28.0rem 0 8.5rem;
  position: relative;
  color: #fff; }
  @media screen and (max-width: 820px) {
    .flow {
      background-image: url("../images/glow_bg_sp.png");
      background-size: 100%;
      background-position: center 5.5rem;
      padding-top: 11.0rem;
      padding-bottom: 0;
      overflow: hidden; } }
  @media screen and (max-width: 820px) {
    .flow .c_container {
      padding: 0; } }
  .flow-ttl {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: 0.19em;
    margin-bottom: 20.0rem; }
    @media screen and (max-width: 820px) {
      .flow-ttl {
        font-size: 5.333333333333334vw;
        letter-spacing: .1em;
        margin-bottom: 10.0rem; } }
  .flow-img01 {
    position: absolute;
    top: 0;
    right: 0;
    max-width: 43.0rem; }
    @media screen and (max-width: 820px) {
      .flow-img01 {
        max-width: 17.8rem;
        right: -3.7rem; } }
  .flow-img02 {
    position: absolute;
    top: 0;
    left: 0;
    max-width: 43.0rem; }
    @media screen and (max-width: 820px) {
      .flow-img02 {
        max-width: 17.8rem;
        left: -3.2rem; } }
  .flow-list {
    padding: 0 14.0rem 0 6.5rem;
    margin-bottom: 14.0rem; }
    @media screen and (max-width: 820px) {
      .flow-list {
        padding: 0 2.0rem;
        margin-bottom: 4.0rem; } }
    .flow-list__item {
      display: flex; }
      .flow-list__item .no {
        width: 8.0rem;
        height: 8.0rem;
        background-color: #FDDD3A;
        border: 3px solid #fff;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 5.8rem;
        font-weight: 700;
        color: #19326E;
        line-height: 1.0;
        border-radius: 8.0rem;
        padding-bottom: 1.0rem;
        margin-right: 3.5rem; }
        @media screen and (max-width: 820px) {
          .flow-list__item .no {
            width: 9.6vw;
            height: 9.6vw;
            font-size: 6.933333333333333vw;
            margin-right: 1.5rem;
            padding-bottom: .4rem; } }
      .flow-list__item .txt-area {
        max-width: 48.0rem; }
        @media screen and (max-width: 820px) {
          .flow-list__item .txt-area {
            width: 52vw; } }
        .flow-list__item .txt-area .ttl {
          font-size: 3.0rem;
          font-weight: 700;
          letter-spacing: 0.19em;
          margin-top: 2.0rem;
          margin-bottom: 1.0rem;
          color: #FDDD3A; }
          @media screen and (max-width: 820px) {
            .flow-list__item .txt-area .ttl {
              margin-top: 0;
              font-size: 4.266666666666667vw; } }
        .flow-list__item .txt-area .txt {
          font-size: 1.8rem;
          line-height: 1.88; }
          @media screen and (max-width: 820px) {
            .flow-list__item .txt-area .txt {
              font-size: 3.733333333333334vw;
              line-height: 1.5; } }
      .flow-list__item .img {
        width: 24%;
        margin-left: auto;
        text-align: center; }
        @media screen and (max-width: 820px) {
          .flow-list__item .img {
            width: 21.066666666666666vw; } }
      .flow-list__item + .flow-list__item {
        margin-top: 5.0rem; }
      .flow-list__item:nth-child(3) .img img {
        width: 63%;
        margin: 0 auto; }
      .flow-list__item:nth-child(4) .img img {
        width: 72%;
        margin: 0 auto; }

.manufacturer {
  padding-top: 17.0rem;
  padding-bottom: 19.0rem; }
  @media screen and (max-width: 820px) {
    .manufacturer {
      padding-top: 4.0rem;
      padding-bottom: 8.0rem; } }
  .manufacturer-ttl {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: 0.19em;
    margin-bottom: 3.0rem;
    color: #19326E; }
    @media screen and (max-width: 820px) {
      .manufacturer-ttl {
        font-size: 5.333333333333334vw;
        letter-spacing: .1em;
        margin-bottom: 0; } }
  .manufacturer-list {
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 820px) {
      .manufacturer-list {
        display: block; } }
    .manufacturer-list__item {
      max-width: 25.0rem;
      width: 100%;
      margin: 0 2.0rem; }
      @media screen and (max-width: 820px) {
        .manufacturer-list__item {
          max-width: none;
          width: 67.2vw;
          margin: 0 auto 4.0rem; } }
      .manufacturer-list__item .img {
        max-width: 12.7rem;
        margin: 0 auto 4.0rem; }
        @media screen and (max-width: 820px) {
          .manufacturer-list__item .img {
            max-width: none;
            width: 33.86666666666667vw;
            margin-bottom: 2.5rem; } }
      .manufacturer-list__item .ttl {
        text-align: center;
        border: 1px solid #00285D;
        color: #00285D;
        font-size: 1.7rem;
        margin-bottom: 2.5rem; }
        @media screen and (max-width: 820px) {
          .manufacturer-list__item .ttl {
            font-size: 4.533333333333333vw; } }
      .manufacturer-list__item .txt {
        text-align: center;
        font-size: 1.4rem;
        line-height: 1.88; }
        @media screen and (max-width: 820px) {
          .manufacturer-list__item .txt {
            font-size: 3.733333333333334vw; } }

.company {
  padding-bottom: 10.0rem; }
  @media screen and (max-width: 820px) {
    .company {
      padding-bottom: 7.0rem; } }
  .company-ttl {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: 0.19em;
    margin-bottom: 3.0rem;
    color: #19326E; }
    @media screen and (max-width: 820px) {
      .company-ttl {
        font-size: 5.333333333333334vw;
        letter-spacing: .1em; } }
  .company-list {
    max-width: 82.0rem;
    margin: 0 auto; }
    @media screen and (max-width: 820px) {
      .company-list {
        padding: 0 2.0rem; } }
    .company-list__item {
      display: flex;
      border-bottom: 1px solid #707070;
      padding: 2.0rem;
      font-size: 1.8rem;
      line-height: 1.88; }
      @media screen and (max-width: 820px) {
        .company-list__item {
          padding: 2.0rem 0;
          font-size: 3.2vw; } }
      .company-list__item dt {
        width: 33%; }
        @media screen and (max-width: 820px) {
          .company-list__item dt {
            width: 27%; } }
      .company-list__item dd {
        width: 67%; }
        @media screen and (max-width: 820px) {
          .company-list__item dd {
            width: 73%; } }

.pagetop {
  position: fixed;
  right: 2.0rem;
  bottom: 2.0rem;
  z-index: 1000;
  width: 8.4rem;
  height: 8.4rem;
  opacity: 0;
  transition: 0.3s; }
  @media screen and (max-width: 820px) {
    .pagetop {
      width: 5.2rem;
      height: 5.2rem; } }
  .pagetop.active {
    opacity: 1; }
  .pagetop.absolute {
    position: absolute;
    top: -6.0rem;
    right: 2.0rem; }
    @media screen and (max-width: 820px) {
      .pagetop.absolute {
        top: -4.0rem; } }

.top-img {
  max-height: 24.0rem;
  overflow: hidden; }

.contact {
  padding-top: 8.0rem;
  padding-bottom: 14.0rem; }
  @media screen and (max-width: 820px) {
    .contact {
      padding-top: 4.0rem;
      padding-bottom: 7.0rem; } }
  .contact-ttl {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 900;
    letter-spacing: .19em;
    color: #19326E;
    margin-bottom: 3.5rem; }
    @media screen and (max-width: 820px) {
      .contact-ttl {
        font-size: 5.333333333333334vw;
        letter-spacing: .1em;
        margin-bottom: 2.0rem; } }
  .contact-txt {
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.88;
    margin-bottom: 8.0rem; }
    @media screen and (max-width: 820px) {
      .contact-txt {
        font-size: 3.733333333333334vw;
        margin-bottom: 4.0rem; } }
  .contact-list {
    max-width: 92.0rem;
    margin: 0 auto; }
    .contact-list__item {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      font-size: 1.4rem; }
      @media screen and (max-width: 820px) {
        .contact-list__item {
          display: block;
          font-size: 3.7333333333vw; } }
      .contact-list__item dt {
        max-width: 21.0rem;
        width: 100%;
        color: #fff;
        background-color: #194DA8;
        padding: 1.5rem 2.0rem; }
        @media screen and (max-width: 820px) {
          .contact-list__item dt {
            max-width: none; } }
      .contact-list__item dd {
        max-width: 68.0rem;
        width: 100%; }
        @media screen and (max-width: 820px) {
          .contact-list__item dd {
            max-width: none;
            padding-top: 1.0rem; } }
        .contact-list__item dd input {
          border: 1px solid #CECECE;
          background-color: #fff;
          padding: 1.5rem 2.0rem;
          width: 100%; }
        .contact-list__item dd select {
          border: 1px solid #CECECE;
          background-color: #fff;
          padding: 1.5rem 2.0rem; }
        .contact-list__item dd textarea {
          border: 1px solid #CECECE;
          background-color: #fff;
          padding: 1.5rem 2.0rem;
          width: 100%;
          height: 30.0rem; }
      .contact-list__item + .contact-list__item {
        margin-top: 1.0rem; }
        @media screen and (max-width: 820px) {
          .contact-list__item + .contact-list__item {
            margin-top: 2.0rem; } }
  .contact .point {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    margin-top: 1.0rem; }
    .contact .point-txt {
      width: 74.07%; }
      @media screen and (max-width: 820px) {
        .contact .point-txt {
          width: 100%; } }
      .contact .point-txt li {
        text-indent: -1em;
        margin-left: 1em;
        font-size: 1.2rem; }
        @media screen and (max-width: 820px) {
          .contact .point-txt li {
            font-size: 3.2vw; } }
        .contact .point-txt li + li {
          margin-top: .5rem; }
  .contact-btn {
    text-align: center;
    margin-top: 7.0rem; }
    @media screen and (max-width: 820px) {
      .contact-btn {
        margin-top: 4.0rem; } }
    .contact-btn input[type="submit"] {
      width: 39.0rem;
      border-radius: .8rem;
      line-height: 5.6rem;
      color: #fff;
      font-size: 2.6rem;
      background-color: #FF5800;
      cursor: pointer;
      transition: 0.3s; }
      @media screen and (max-width: 820px) {
        .contact-btn input[type="submit"] {
          width: 80%;
          font-size: 5.333333333333334vw;
          line-height: 12.266666666666666vw; } }
      .contact-btn input[type="submit"]:hover {
        opacity: .7; }
  .contact .error_messe {
    font-size: 1.8rem;
    line-height: 1.88;
    color: red;
    text-align: center; }
    @media screen and (max-width: 820px) {
      .contact .error_messe {
        font-size: 4.8vw; } }
  .contact .btn-area {
    margin-top: 5.0rem;
    text-align: center; }
    @media screen and (max-width: 820px) {
      .contact .btn-area {
        margin-top: 3.0rem;
        display: flex;
        flex-flow: column;
        align-items: center; } }
  .contact .back-btn {
    width: 39.0rem;
    margin: 0 1.0rem;
    border-radius: .8rem;
    line-height: 5.6rem;
    color: #fff;
    font-size: 2.6rem;
    background-color: #9F9F9F;
    cursor: pointer;
    transition: 0.3s; }
    @media screen and (max-width: 820px) {
      .contact .back-btn {
        width: 80%;
        font-size: 5.333333333333334vw;
        line-height: 12.266666666666666vw; } }
    .contact .back-btn:hover {
      opacity: .7; }
  .contact .submit-btn {
    width: 39.0rem;
    margin: 0 1.0rem;
    border-radius: .8rem;
    line-height: 5.6rem;
    color: #fff;
    font-size: 2.6rem;
    background-color: #FF5800;
    cursor: pointer;
    transition: 0.3s; }
    @media screen and (max-width: 820px) {
      .contact .submit-btn {
        width: 80%;
        font-size: 5.333333333333334vw;
        line-height: 12.266666666666666vw; } }
    .contact .submit-btn:hover {
      opacity: .7; }
    .contact .submit-btn + .back-btn {
      margin-top: 1.5rem; }
  .contact .top-btn {
    display: block;
    width: 39.0rem;
    margin: 0 auto;
    border-radius: .8rem;
    line-height: 5.6rem;
    color: #fff;
    font-size: 2.6rem;
    background-color: #FF5800;
    cursor: pointer;
    transition: 0.3s; }
    @media screen and (max-width: 820px) {
      .contact .top-btn {
        width: 80%;
        font-size: 5.333333333333334vw;
        line-height: 12.266666666666666vw; } }
    .contact .top-btn:hover {
      opacity: .7; }
