@charset "UTF-8";
/* ************************************** _
タイトル：lohome.css
概要：有吉商店 フレコンスタンドLP用CSS
更新：2021.03.26
_ ************************************** */
/* Imported Styles
---------------------------------------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* =========================================================================
   _setting
============================================================================ */
/* kill 'Browser standard style'
---------------------------------------------------------------------------- */
body, h1, h2, h3, h4, h5, h6, div, p, span, ul, ol, li, dl, dt, dd, table, tr, th, td, form, select, option, address, pre, strong, em, figure {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 100%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-decoration: none; }

/* Re style
---------------------------------------------------------------------------- */
* {
  box-sizing: border-box; }
  *::before, *::after {
    box-sizing: border-box; }

html,
body {
  height: 100%;
  margin: 0;
  padding: 0; }

html {
  font-size: 62.5%; }

a:link, a:visited {
  color: #006ba8;
  text-decoration: none; }
a:hover, a:active, a:focus {
  color: #005282;
  text-decoration: underline; }
a img {
  transition: opacity .3s; }
a:hover img, a:active img, a:focus img {
  transition: opacity .3s;
  opacity: .7; }

@media screen and (max-width: 600px) {
  a [href^="tel:"] {
    pointer-events: none; } }
em {
  font-style: normal; }

img {
  border: 0;
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
  width: auto; }

li {
  list-style: none; }

p {
  margin-bottom: 20px; }

strong {
  font-weight: bold; }

table {
  border-collapse: collapse; }

/* html5
---------------------------------------------------------------------------- */
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display: block; }

/* IE11・Edge webフォント対応
---------------------------------------------------------------------------- */
@font-face {
  font-family: 'Noto Sans JP Woff';
  font-style: normal;
  font-weight: 400;
  src: url("./font/NotoSansJPSubsetWoff-Regular.woff") format("woff"); }
@font-face {
  font-family: 'Noto Sans JP Woff';
  font-style: normal;
  font-weight: 700;
  src: url("./font/NotoSansJPSubsetWoff-Bold.woff") format("woff"); }
/* body
---------------------------------------------------------------------------- */
body {
  background-color: #fff;
  background-size: auto;
  color: #333;
  font-size: 1.8rem;
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', "メイリオ", Meiryo, "Meiryo UI", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif, Arial, Helvetica;
  font-weight: 400;
  line-height: 1.25;
  overflow-x: hidden; }

@media screen and (max-width: 960px) {
  body {
    font-size: 1.7rem; } }
@media screen and (max-width: 600px) {
  body {
    font-size: 1.6rem; } }
@media screen and (max-width: 414px) {
  body {
    font-size: 1.5rem; } }
/* =========================================================================
    _layout-setting
============================================================================ */
/* header
---------------------------------------------------------------------------- */
.layout-header {
  background-color: #e5f6ff;
  display: flex;
  align-items: center;
  height: 70px;
  margin: 0;
  padding: 0 50px;
  width: 100%; }
  .layout-header .brandLogo {
    display: block;
    max-width: 208px;
    width: 100%; }
    .layout-header .brandLogo .brandLogo--M {
      height: 45px;
      width: 208px; }

@media screen and (max-width: 600px) {
  .layout-header {
    height: 50px;
    padding: 0 15px; }
    .layout-header .brandLogo {
      max-width: 138px; }
      .layout-header .brandLogo .brandLogo--M {
        height: 30px;
        width: 138px; } }
/* レイアウトコンテナ
---------------------------------------------------------------------------- */
body {
  position: relative; }

.layout-contents {
  margin: 0 auto;
  padding-top: 0;
  position: relative;
  z-index: 5; }

.sectionOuter {
  margin: 100px auto;
  position: relative;
  width: 100%; }

@media screen and (max-width: 780px) {
  .sectionOuter {
    margin: 80px auto; } }
@media screen and (max-width: 600px) {
  .sectionOuter {
    /*margin: 60px auto;*/margin: 40px auto; } }
.sectionInner {
  margin: 0 auto;
  max-width: 1000px;
  padding: 0 20px;
  width: 100%; }
  @media screen and (max-width: 600px) {
    .sectionInner {
      padding: 0 15px; } }
  .sectionInner + .sectionInner {
    margin: 70px auto; }
  .sectionInner .sectionContent {
    margin: 40px 0;
    width: 100%; }
  .sectionInner .sectionContentInner {
    margin: 30px 0;
    width: 100%; }

/* footer
---------------------------------------------------------------------------- */
.footer {
  background-color: #afdefa;
  width: 100%; }
  .footer .layout-footer {
    text-align: center;
    margin: 0 auto;
    max-width: 960px;
    padding: 25px 20px 10px;
    width: 100%; }
    .footer .layout-footer .footerText {
      font-size: 1.3rem; }
    .footer .layout-footer .brandLogo {
      display: block;
      margin: 16px auto 28px;
      max-width: 208px;
      width: 100%; }
      .footer .layout-footer .brandLogo .brandLogo--M {
        height: 45px;
        width: 208px; }
  .footer .footerLink {
    display: flex;
    justify-content: center; }
    .footer .footerLink .item {
      border-left: 1px solid #333;
      font-size: 1.3rem;
      padding: 0 10px; }
      .footer .footerLink .item a {
        color: #333; }
        .footer .footerLink .item a:hover, .footer .footerLink .item a:active, .footer .footerLink .item a:focus {
          color: #005282; }
      .footer .footerLink .item:first-child {
        border-left-width: 0; }
  .footer .copy {
    background-color: #005282;
    color: #fff;
    font-size: 1.2rem;
    padding: 19px 20px 18px;
    text-align: center;
    width: 100%; }

@media screen and (max-width: 600px) {
  .footer .layout-footer {
    max-width: 100%;
    padding: 20px 15px 10px; }
  .footer .copy {
    padding: 19px 15px 18px; } }
@media screen and (max-width: 414px) {
  .footer .layout-footer .footerText {
    font-size: 1.2rem; }
  .footer .layout-footer .brandLogo {
    display: block;
    margin: 16px auto 28px;
    max-width: 208px;
    width: 100%; }
    .footer .layout-footer .brandLogo .brandLogo--M {
      height: 45px;
      width: 208px; }
  .footer .footerLink .item {
    font-size: 1.1rem;
    padding: 0 7px; }
  .footer .copy {
    font-size: 1.1rem;
    padding: 14px 15px 13px; } }
/* =========================================================================
  _nav-global
============================================================================ */
/* global Nav
---------------------------------------------------------------------------- */
.globalNav {
  max-width: 770px;
  width: 80%; }
  .globalNav .globalMenu {
    display: flex;
    justify-content: flex-end;
    align-items: center; }
  .globalNav a {
    font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
    font-size: 1.6rem;
    font-weight: 400;
    font-display: swap;
    line-height: 1;
    position: relative;
    transition: border 0.3s;
    width: 100%; }
    .globalNav a:hover, .globalNav a:active, .globalNav a:focus {
      text-decoration: none; }
  .globalNav .item {
    margin: 0 0 0 calc(28 / 700 * 100%);
    padding: 0;
    position: relative;
    width: auto; }
    .globalNav .item:first-child {
      margin: 0; }
    .globalNav .item > a {
      color: #333;
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: center;
      height: auto;
      padding: 29px 0;
      position: relative;
      text-align: center;
      transition: 0.25s; }
      .globalNav .item > a::before {
        content: "▼";
        font-size: 12px;
        left: 0;
        margin: 0 auto;
        opacity: 0;
        position: absolute;
        text-align: center;
        transition: opacity 0.3s;
        right: 0;
        top: 11px; }
      .globalNav .item > a .menuTitle {
        display: block;
        margin: 0; }
    .globalNav .item:hover > a, .globalNav .item:active > a, .globalNav .item:focus > a {
      color: #0083ce; }
      .globalNav .item:hover > a::before, .globalNav .item:active > a::before, .globalNav .item:focus > a::before {
        opacity: 1; }

@media screen and (max-width: 1200px) {
  .globalNav a {
    font-size: calc(1 * ((100vw - 960px) / 240) + 1.5rem); } }
@media screen and (max-width: 960px) {
  .globalNav {
    display: none; } }
@media screen and (max-width: 600px) {
  .globalNav {
    display: none; } }
/* スマートフォンメニューボタン
---------------------------------------------------------------------------- */
.hamburgerMenu {
  display: none; }

@media screen and (max-width: 960px) {
  .hamburgerMenu {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    display: inline-block;
    height: 28px;
    margin: 9px 5px 8px auto;
    padding: 0;
    position: absolute;
    right: 10px;
    top: 15px;
    width: 38px; }
    .hamburgerMenu:focus {
      outline-style: none; }
    .hamburgerMenu::before {
      color: #333;
      content: "MENU";
      display: block;
      font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
      font-size: 1.3rem;
      font-weight: 400;
      font-display: swap;
      left: 0;
      position: absolute;
      text-decoration: none;
      text-align: center;
      top: -18px;
      white-space: nowrap;
      width: 100%; }
    .hamburgerMenu span {
      background-color: #0083ce;
      border-radius: 4px;
      display: inline-block;
      left: 0;
      height: 4px;
      position: absolute;
      -webkit-transition: all .4s;
      transition: all .4s;
      width: 100%; }
      .hamburgerMenu span:nth-of-type(1) {
        top: 0; }
      .hamburgerMenu span:nth-of-type(2) {
        top: 12px; }
      .hamburgerMenu span:nth-of-type(3) {
        bottom: 0; }
    .hamburgerMenu.is-active::before {
      content: "CLOSE";
      top: -20px; }
    .hamburgerMenu.is-active span:nth-of-type(1) {
      -webkit-transform: translateY(10px) rotate(-45deg);
      transform: translateY(10px) rotate(-45deg); }
    .hamburgerMenu.is-active span:nth-of-type(2) {
      opacity: 0; }
    .hamburgerMenu.is-active span:nth-of-type(3) {
      -webkit-transform: translateY(-15px) rotate(45deg);
      transform: translateY(-15px) rotate(45deg); } }
@media screen and (max-width: 414px) {
  .hamburgerMenu {
    right: 5px; } }
/* お問い合わせボタン
---------------------------------------------------------------------------- */
.floatInquiry {
  position: absolute;
  right: 20px;
  top: 0; }
  .floatInquiry a {
    background-color: #0083ce;
    border-width: 0;
    border-radius: 0 0 5px 5px;
    color: #fff;
    cursor: pointer;
    display: block;
    font-size: 1.3rem;
    line-height: 1;
    height: 90px;
    padding: 11px 11px 15px 11px;
    position: relative;
    text-align: center;
    text-decoration: none;
    -webkit-transition: 0.25s;
    transition: 0.25s;
    width: 100px; }
    .floatInquiry a:hover, .floatInquiry a:active, .floatInquiry a:focus {
      background-color: #f2920c; }
      .floatInquiry a:hover img, .floatInquiry a:active img, .floatInquiry a:focus img {
        opacity: 1; }
    .floatInquiry a .icon--mail {
      height: 39px;
      margin: 0 17px 13px 8px;
      width: 53px; }
  .floatInquiry p {
    margin: 0; }

@media screen and (max-width: 1670px) {
  .floatInquiry {
    right: 0;
    top: 75px; }
    .floatInquiry a {
      border-radius: 0 0 0 5px;
      display: flex;
      align-items: center;
      height: 45px;
      font-size: 1.6rem;
      padding: 0 10px 3px;
      width: 182px; }
      .floatInquiry a .icon--mail {
        height: 25px;
        margin: 0 16px 3px 7px;
        width: auto; } }
@media screen and (max-width: 960px) {
  .floatInquiry {
    right: 70px;
    top: 10px; }
    .floatInquiry a {
      border-radius: 5px;
      width: 170px; }
      .floatInquiry a .icon--mail {
        margin: 0 13px 3px 3px; } }
@media screen and (max-width: 600px) {
  .floatInquiry a {
    font-size: 1.5rem;
    width: 160px; }
    .floatInquiry a .icon--mail {
      margin: 0 13px 2px 0; } }
@media screen and (max-width: 414px) {
  .floatInquiry {
    right: 60px; }
    .floatInquiry a {
      width: 56px; }
    .floatInquiry p {
      display: none; } }
/* =========================================================================
    _nav-footer
============================================================================ */
/* footer scroll Top
---------------------------------------------------------------------------- */
.scrollTop {
  position: fixed;
  bottom: 7%;
  right: 100px;
  z-index: 10; }
  .scrollTop a {
    background-color: #0083ce;
    border-width: 0;
    border-radius: 5px;
    color: #fff;
    cursor: pointer;
    display: block;
    line-height: 1;
    height: 80px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: 0.25s;
    width: 80px; }
    .scrollTop a:hover, .scrollTop a:active, .scrollTop a:focus {
      background-color: #f2920c; }
    .scrollTop a::after {
      background: url("../images/cmn_img/arrow_w.svg") no-repeat center center;
      background-size: 25px 26px;
      bottom: 0;
      content: "";
      height: 25px;
      margin: auto;
      position: absolute;
      right: 26px;
      top: 0;
      transform: rotate(-90deg);
      transition: all 0.25s;
      width: 26px;
      z-index: 11; }

@media screen and (max-width: 1400px) {
  .scrollTop {
    right: 40px; } }
@media screen and (max-width: 1200px) {
  .scrollTop {
    right: 20px; } }
@media screen and (max-width: 960px) {
  .scrollTop a {
    height: 70px;
    width: 70px; }
    .scrollTop a::after {
      right: 21px; } }
@media screen and (max-width: 600px) {
  .scrollTop a {
    height: 60px;
    width: 60px; }
    .scrollTop a::after {
      background-size: 20px 21px;
      right: 16px; } }
/* footer site map
---------------------------------------------------------------------------- */
.footerInner {
  display: flex;
  margin: 0 auto;
  max-width: 1200px;
  padding: 0;
  width: 100%; }

/* =========================================================================
   _modules-heading
============================================================================ */
/* 見出し
---------------------------------------------------------------------------- */
.heading--hidden {
  font-size: 0;
  height: 0;
  margin: 0;
  position: absolute;
  opacity: 0;
  width: 0; }

.heading--rightLine {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1;
  margin: 0 auto 50px;
  padding: 0;
  position: relative;
  text-align: left; }
  .heading--rightLine .heading {
    font-size: inherit;
    font-weight: inherit;
    order: 1;
    width: 7em; }
    .heading--rightLine .heading .sub {
      font-size: 2.8rem;
      font-weight: inherit;
      display: block;
      line-height: 1;
      margin-bottom: 10px; }
  .heading--rightLine .headingLine {
    height: 6px;
    order: 2;
    margin-bottom: 16px;
    position: relative;
    width: calc(100% - 7em - 20px); }
    .heading--rightLine .headingLine::before, .heading--rightLine .headingLine::after {
      content: "";
      display: block;
      height: 0;
      line-height: 1;
      position: absolute;
      width: calc(100% - 20px); }
    .heading--rightLine .headingLine::before {
      border-top: 8px solid #0083ce;
      margin-left: 20px;
      right: 20px;
      top: -8px; }
    .heading--rightLine .headingLine::after {
      border-bottom: 8px solid #00a993;
      margin-left: 20px;
      right: 0;
      top: 6px; }

.heading--betweenLine {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1;
  margin: 0 auto 50px;
  padding: 0;
  position: relative;
  text-align: center; }
  .heading--betweenLine .heading {
    font-size: inherit;
    font-weight: inherit;
    order: 2;
    width: 12em; }
    .heading--betweenLine .heading .sub {
      font-size: 2.8rem;
      font-weight: inherit;
      display: block;
      line-height: 1;
      margin-bottom: 10px; }
  .heading--betweenLine::before, .heading--betweenLine::after {
    background-color: transparent;
    border-bottom: 8px solid #00a993;
    border-top: 8px solid #0083ce;
    content: "";
    display: block;
    height: 22px;
    line-height: 1;
    margin-bottom: 6px;
    width: calc((100% - 12em - 40px) / 2); }
  .heading--betweenLine::before {
    order: 1; }
  .heading--betweenLine::after {
    order: 3; }

.heading--sandwichLine {
  @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1;
  margin: 50px auto;
  position: relative;
  text-align: center;
  max-width: 350px;
  width: 100%; }
  .heading--sandwichLine .heading {
    font-size: inherit;
    font-weight: inherit; }
    .heading--sandwichLine .heading .sub {
      font-size: 2.8rem;
      font-weight: inherit;
      display: block;
      line-height: 1;
      margin-bottom: 10px; }
  .heading--sandwichLine::before, .heading--sandwichLine::after {
    background-color: transparent;
    border-bottom: 8px solid #00a993;
    border-top: 8px solid #0083ce;
    content: "";
    display: block;
    height: 22px;
    line-height: 1;
    margin: 0 auto;
    max-width: 350px;
    width: 100%; }
  .heading--sandwichLine::before {
    margin: 0 auto 25px; }
  .heading--sandwichLine::after {
    margin: 25px auto 0; }

.heading--bold {
  display: block;
  @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
  font-size: 3.6rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1;
  margin: 0 auto 50px;
  position: relative;
  text-align: center; }
  .heading--bold .lineStrong {
    border-bottom: 2px dashed #45abe6; }

.heading--square {
  display: block;
  @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
  font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
  font-size: 2.4rem;
  font-weight: 700;
  font-display: swap;
  line-height: 1;
  margin: 0 auto 20px;
  padding-left: 1.05em;
  position: relative; }
  .heading--square::before {
    background-color: #00a993;
    bottom: 0;
    content: "";
    display: block;
    height: 20px;
    line-height: 1;
    left: 0;
    margin: auto;
    position: absolute;
    top: 0;
    width: 20px; }
  .heading--square.squareBlue::before {
    background-color: #45abe6; }
  .heading--square.squareMikan::before {
    background-color: #f5ab18; }
  .heading--square.square36 {
    font-size: 3.6rem;
    margin: 0 auto 50px; }
    .heading--square.square36::before {
      height: 30px;
      top: 4px;
      width: 30px; }
  .heading--square.square30 {
    font-size: 3.0rem;
    margin: 0 auto 12px; }
    .heading--square.square30::before {
      height: 22px;
      width: 22px; }
  .heading--square.square18 {
    font-size: 1.8rem;
    margin: 0 auto 8px 0; }
    .heading--square.square18::before {
      height: 16px;
      width: 16px; }

.heading--simpleLine {
  color: #0083ce;
  display: block;
  margin: 0 auto 30px;
  padding: 0;
  position: relative; }
  .heading--simpleLine > span {
    background-color: #fff;
    display: inline-block;
    @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
    font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    font-display: swap;
    line-height: 1;
    padding-right: 20px;
    position: relative;
    z-index: 15; }
  .heading--simpleLine::before {
    border-top: 1px solid #0083ce;
    bottom: 0;
    content: "";
    display: block;
    height: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 12; }
  .heading--simpleLine.merit {
    color: #f5ab18;
    margin: 0 auto 18px; }
    .heading--simpleLine.merit > span {
      background-color: #faf3e6;
      font-size: 2.4rem; }
    .heading--simpleLine.merit::before {
      border-top: 1px solid #f5ab18; }

@media screen and (max-width: 780px) {
  .heading--rightLine {
    font-size: 3.5rem;
    margin: 0 auto 45px; }
    .heading--rightLine .heading .sub {
      font-size: 2.2rem; }
    .heading--rightLine .headingLine {
      height: 4px;
      margin-bottom: 16px;
      width: calc(100% - 7em - 15px); }
      .heading--rightLine .headingLine::before, .heading--rightLine .headingLine::after {
        width: calc(100% - 15px); }
      .heading--rightLine .headingLine::before {
        border-top-width: 6px;
        margin-left: 15px;
        right: 15px;
        top: -2px; }
      .heading--rightLine .headingLine::after {
        border-bottom-width: 6px;
        margin-left: 15px;
        top: 8px; }

  .heading--betweenLine {
    font-size: 3.5rem; }
    .heading--betweenLine .heading .sub {
      font-size: 2.2rem; }
    .heading--betweenLine::before, .heading--betweenLine::after {
      border-bottom-width: 6px;
      border-top-width: 6px;
      height: 16px;
      margin-bottom: 8px;
      width: calc((100% - 12em - 30px) / 2); }

  .heading--sandwichLine {
    font-size: 3.5rem; }
    .heading--sandwichLine .heading .sub {
      font-size: 2.2rem; }
    .heading--sandwichLine::before, .heading--sandwichLine::after {
      border-bottom-width: 6px;
      border-top-width: 6px;
      height: 16px; }
    .heading--sandwichLine::before {
      margin: 0 auto 20px; }
    .heading--sandwichLine::after {
      margin: 20px auto 0; }

  .heading--bold {
    font-size: 2.8rem;
    margin: 0 auto 40px; }

  .heading--square {
    font-size: 2.0rem;
    margin: 0 auto 15px; }
    .heading--square::before {
      height: 18px;
      width: 18px; }
    .heading--square.square36 {
      font-size: 2.8rem;
      margin: 0 auto 40px; }
      .heading--square.square36::before {
        height: 24px;
        top: 3px;
        width: 24px; }
    .heading--square.square30 {
      font-size: 2.4rem; }
      .heading--square.square30::before {
        height: 20px;
        width: 20px; }
    .heading--square.square18 {
      font-size: 1.7rem; }
      .heading--square.square18::before {
        height: 14px;
        width: 14px; }

  .heading--simpleLine > span {
    font-size: 2.8rem; }
  .heading--simpleLine.merit > span {
    font-size: 2.0rem; } }
@media screen and (max-width: 600px) {
  .heading--rightLine {
    font-size: 2.8rem;
    margin: 0 auto 40px; }
    .heading--rightLine .heading .sub {
      font-size: 1.7rem;
      margin-bottom: 7px; }
    .heading--rightLine .headingLine {
      height: 2px;
      margin-bottom: 14px;
      width: calc(100% - 7em - 10px); }
      .heading--rightLine .headingLine::before, .heading--rightLine .headingLine::after {
        width: calc(100% - 10px); }
      .heading--rightLine .headingLine::before {
        border-top-width: 4px;
        margin-left: 10px;
        right: 10px;
        top: 0; }
      .heading--rightLine .headingLine::after {
        border-bottom-width: 4px;
        margin-left: 10px;
        top: 6px; }

  .heading--betweenLine {
    font-size: 2.8rem;
    margin: 0 auto 40px; }
    .heading--betweenLine .heading .sub {
      font-size: 1.7rem;
      margin-bottom: 7px; }
    .heading--betweenLine::before, .heading--betweenLine::after {
      border-bottom-width: 4px;
      border-top-width: 4px;
      height: 10px;
      margin-bottom: 6px;
      width: calc((100% - 12em - 20px) / 2); }

  .heading--sandwichLine {
    font-size: 2.8rem;
    margin: 0 auto 40px; }
    .heading--sandwichLine .heading .sub {
      font-size: 1.7rem;
      margin-bottom: 7px; }
    .heading--sandwichLine::before, .heading--sandwichLine::after {
      border-bottom-width: 4px;
      border-top-width: 4px;
      height: 12px; }
    .heading--sandwichLine::before {
      margin: 0 auto 15px; }
    .heading--sandwichLine::after {
      margin: 15px auto 0; }

  .heading--bold {
    font-size: 2.4rem;
    margin: 0 auto 30px; }

  .heading--square {
    font-size: 1.8rem;
    margin: 0 auto 10px; }
    .heading--square::before {
      height: 16px;
      width: 16px; }
    .heading--square.square36 {
      font-size: 2.4rem;
      margin: 0 auto 30px; }
      .heading--square.square36::before {
        height: 20px;
        top: 2px;
        width: 20px; }
    .heading--square.square30 {
      font-size: 2.1rem; }
      .heading--square.square30::before {
        height: 18px;
        width: 18px; }
    .heading--square.square18 {
      font-size: 1.6rem; }
      .heading--square.square18::before {
        height: 13px;
        width: 13px; }

  .heading--simpleLine > span {
    font-size: 2.4rem; }
  .heading--simpleLine.merit > span {
    font-size: 1.80rem; } }
@media screen and (max-width: 414px) {
  .heading--betweenLine .heading {
    width: 8em; }
  .heading--betweenLine::before, .heading--betweenLine::after {
    width: calc((100% - 8em - 20px) / 2); }

  .heading--bold {
    font-size: 2.2rem; } }
/* =========================================================================
  _modules-button
============================================================================ */
/* ボタン
---------------------------------------------------------------------------- */
.btn {
  line-height: 1;
  margin: 0 auto;
  padding: 0;
  position: relative;
  text-align: left;
  max-width: 450px;
  width: 100%; }
  .btn > a,
  .btn > button {
    background-color: #f2920c;
    border-width: 0;
    border-radius: 50px;
    color: #fff;
    cursor: pointer;
    display: block;
    @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
    font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
    font-size: 3rem;
    font-weight: 700;
    font-display: swap;
    line-height: 1;
    padding: 33px 10px 37px;
    position: relative;
    text-align: center;
    text-decoration: none;
    transition: 0.25s;
    width: 100%; }
    .btn > a:hover, .btn > a:active, .btn > a:focus,
    .btn > button:hover,
    .btn > button:active,
    .btn > button:focus {
      background-color: #f07c00; }
  .btn.form {
    margin-left: 10px;
    margin-right: 10px;
    max-width: 400px;
    width: 100%; }
    .btn.form > a,
    .btn.form > button {
      font-size: 2.0rem;
      height: 80px;
      padding: 10px 20px;
      text-align: center;
      max-width: 100%; }
      .btn.form > a[type="reset"],
      .btn.form > button[type="reset"] {
        background-color: #aaa; }
        .btn.form > a[type="reset"]:hover, .btn.form > a[type="reset"]:active, .btn.form > a[type="reset"]:focus,
        .btn.form > button[type="reset"]:hover,
        .btn.form > button[type="reset"]:active,
        .btn.form > button[type="reset"]:focus {
          background-color: #999; }
      .btn.form > a::before, .btn.form > a::after,
      .btn.form > button::before,
      .btn.form > button::after {
        display: none; }
  .btn.disabled a {
    background-color: #ccc;
    color: #666;
    pointer-events: none; }

@media screen and (max-width: 960px) {
  .btn > a,
  .btn > button {
    border-radius: 50px;
    font-size: 2.6rem;
    padding: 35px 10px 39px; } }
@media screen and (max-width: 780px) {
  .btn > a,
  .btn > button {
    border-radius: 45px;
    font-size: 2.0rem;
    padding: 33px 8px 37px; } }
@media screen and (max-width: 600px) {
  .btn.form {
    margin-top: 20px;
    width: 100%; } }
/* =========================================================================
   _modules-parts
============================================================================ */
/* web font
---------------------------------------------------------------------------- */
.font-noto {
  font-family: "Noto Sans Japanese", sans-serif; }

/* align
---------------------------------------------------------------------------- */
.txt--left {
  text-align: left !important; }

.txt--center {
  text-align: center !important; }

.txt--right {
  text-align: right !important; }

/* images
---------------------------------------------------------------------------- */
.image {
  margin-bottom: 30px; }

@media screen and (max-width: 600px) {
  .image {
    margin-bottom: 20px; } }
.with-line {
  border: 1px solid #aaa; }

/* font
---------------------------------------------------------------------------- */
.attention,
.required {
  color: #cc0000 !important; }

.attention-orange,
.price-color {
  color: #f07c00 !important; }

.smallTxt {
  color: #666 !important;
  font-size: 1.6rem; }

.weightBold {
  font-weight: 700; }

.weightBold--eng {
  font-weight: 500; }

/* 汎用
---------------------------------------------------------------------------- */
.newline {
  display: inline-block;
  font-weight: inherit; }

.spacing--narrow1 {
  font-weight: inherit;
  letter-spacing: -1px; }

.spacing--narrow2 {
  letter-spacing: -2px; }

.spacing--narrow3 {
  font-weight: inherit;
  letter-spacing: -3px; }

.only--pc {
  display: block; }

.only--sp {
  display: none; }

@media screen and (max-width: 600px) {
  .only--pc {
    display: none; }

  .only--sp {
    display: block; } }
a.disabled {
  color: #777;
  pointer-events: none; }

/* 有吉商店 フレコンスタンドLP
---------------------------------------------------------------------------- */
.hero {
  background: url("../images/bg_hero.jpg") no-repeat top center;
  height: 850px;
  max-height: 850px;
  margin-top: 0;
  padding-top: 50px;
  width: 100%; }
  .hero .heroInner {
    background-color: #0083ce;
    color: #fff;
    height: 600px;
    margin: 0 auto;
    position: relative;
    text-align: center;
    width: 740px; }
    .hero .heroInner::before {
      border-top: 200px solid #0083ce;
      border-left: 370px solid transparent;
      border-right: 370px solid transparent;
      bottom: -199px;
      content: "";
      height: 0;
      left: 0;
      position: absolute;
      width: 0; }
    .hero .heroInner .heading--main {
      padding-top: 20px; }
      .hero .heroInner .heading--main .brandLogo--L {
        height: 90px;
        width: 414px; }
      .hero .heroInner .heading--main .part1 {
        background-color: #fff;
        color: #333;
        display: block;
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 5.5rem;
        font-weight: 700;
        font-display: swap;
        height: 130px;
        margin: 0 auto 76px;
        padding: 19px 10px 21px; }
        .hero .heroInner .heading--main .part1 > span {
          display: inline-block;
          margin-bottom: 9px;
          margin-left: 12px; }
      .hero .heroInner .heading--main .part2 {
        display: block;
        color: #fff;
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 8.5rem;
        font-weight: 700;
        font-display: swap;
        letter-spacing: -5px;
        line-height: 1;
        margin: 0 auto 76px; }
      .hero .heroInner .heading--main .part3 {
        display: block;
        color: #fff;
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 5rem;
        font-weight: 700;
        font-display: swap;
        line-height: 1.15;
        padding-left: 30px; }

@media screen and (min-width: 1500px) {
  .hero {
    background-position: bottom center;
    background-size: cover; } }
@media screen and (max-width: 960px) {
  .hero {
    background-size: cover;
    height: 100vw;
    max-height: 600px; }
    .hero .heroInner {
      height: 500px;
      max-width: 740px;
      width: 65vw; }
      .hero .heroInner::before {
        border-top-width: 25vw;
        border-left-width: calc(65vw / 2);
        border-right-width: calc(65vw / 2);
        bottom: -24.8vw; }
      .hero .heroInner .heading--main .brandLogo--L {
        width: 370px;
        height: auto; }
      .hero .heroInner .heading--main .part1 {
        font-size: 4.8rem;
        height: 115px;
        margin: 0 auto 60px; }
      .hero .heroInner .heading--main .part2 {
        font-size: calc(14 * ((100vw - 780px) / 180) + 6.2rem);
        margin: 0 auto 60px; }
      .hero .heroInner .heading--main .part3 {
        font-size: calc(8 * ((100vw - 780px) / 180) + 3.8rem);
        padding-left: 30px; } }
@media screen and (max-width: 780px) {
  .hero {
    height: 80vw;
    max-height: 500px; }
    .hero .heroInner {
      height: 380px; }
      .hero .heroInner::before {
        border-top-width: 23vw;
        bottom: -23vw; }
      .hero .heroInner .heading--main .brandLogo--L {
        width: 280px; }
      .hero .heroInner .heading--main .part1 {
        font-size: 3.7rem;
        height: 100px;
        margin: 0 auto 50px; }
        .hero .heroInner .heading--main .part1 > span {
          margin-bottom: 6px;
          margin-left: 8px; }
      .hero .heroInner .heading--main .part2 {
        font-size: calc(14 * ((100vw - 600px) / 180) + 4.7rem);
        margin: 0 auto 50px; }
      .hero .heroInner .heading--main .part3 {
        font-size: calc(8 * ((100vw - 600px) / 180) + 3.0rem);
        padding-left: 25px; } }
@media screen and (max-width: 600px) {
  .hero {
    background-position: bottom center;
    background-size: contain;
    /*height: 100vw;*/
    margin-top: -50px;
    max-height: 410px;
    padding-top: 0; }
    .hero .heroInner {
      height: 270px;
      width: 100%; }
      .hero .heroInner::before {
        /*border-left-width: 45vw;
        border-right-width: 45vw;
        border-top-width: 17vw;
        bottom: -16.8vw;
        left: 5vw;-*/
		  border-left-width: 25vw;
			border-right-width: 25vw;
			border-top-width: 13vw;
			bottom: -8.8vw;
			left: 25vw;
		}
      .hero .heroInner .heading--main {
        padding-top: 30px; }
        .hero .heroInner .heading--main .brandLogo--L {
          width: 230px; }
        .hero .heroInner .heading--main .part1 {
          font-size: 3.0rem;
          height: 70px;
          margin: 0 auto 25px;
          padding: 9px; }
          .hero .heroInner .heading--main .part1 > span {
            margin-bottom: 5px;
            margin-left: 8px; }
        .hero .heroInner .heading--main .part2 {
          font-size: 4.7rem;
          margin: 0 auto 25px; }
        .hero .heroInner .heading--main .part3 {
          font-size: 2.4rem;
          padding-left: 25px; } }
@media screen and (max-width: 414px) {
  .hero {
    height: 370px/*400px;*/ }
    .hero .heroInner .heading--main .part2 {
      font-size: 4.0rem; }
    .hero .heroInner .heading--main .part3 {
      font-size: 2.3rem; } }
.good {
  margin-top: -350px;
  margin-bottom: 0; }
  .good .goodList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; }
    .good .goodList .heading--sandwichLine {
      order: 4; }
    .good .goodList .item {
      width: 270px; }
      .good .goodList .item .heading {
        color: #fff;
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 2.4rem;
        font-weight: 700;
        font-display: swap;
        margin-top: -3em;
        text-align: center; }
      .good .goodList .item.good--1 {
        margin-right: 75px;
        order: 1;
        text-align: right;
        width: calc((100% - 75px) / 2); }
        .good .goodList .item.good--1 .heading {
          margin-left: auto;
          margin-right: 0;
          width: 270px; }
      .good .goodList .item.good--2 {
        margin-left: 0;
        order: 2;
        text-align: left;
        width: calc((100% - 75px) / 2); }
        .good .goodList .item.good--2 .heading {
          margin-left: 0;
          margin-right: auto;
          width: 270px; }
      .good .goodList .item.good--3 {
        order: 3; }
        .good .goodList .item.good--3 .heading {
          margin-top: -2.4em; }
      .good .goodList .item.good--4 {
        order: 5; }
        .good .goodList .item.good--4 .heading {
          margin-top: -2.4em; }
      .good .goodList .item.good--5 {
        margin-right: 75px;
        order: 6;
        text-align: right;
        width: calc((100% - 75px) / 2); }
        .good .goodList .item.good--5 .heading {
          margin-left: auto;
          margin-right: 0;
          margin-top: -2.4em;
          width: 270px; }
      .good .goodList .item.good--6 {
        margin-left: 0;
        order: 7;
        text-align: left;
        width: calc((100% - 75px) / 2); }
        .good .goodList .item.good--6 .heading {
          margin-left: 0;
          margin-right: auto;
          width: 270px; }

@media screen and (max-width: 960px) {
  .good {
    margin-top: -190px; }
    .good .goodList {
      flex-wrap: wrap;
      justify-content: center; }
      .good .goodList .heading--sandwichLine {
        order: 4;
        margin: 30px auto 35px;
        max-width: 100%;
        width: 100%; }
      .good .goodList .item {
        width: calc((100% - 100px) / 3); }
        .good .goodList .item .heading {
          font-size: calc(4 * ((100vw - 780px) / 180) + 2.0rem);
          margin-top: -2.8em; }
        .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--3, .good .goodList .item.good--4, .good .goodList .item.good--5, .good .goodList .item.good--6 {
          text-align: center;
          width: calc((100% - 100px) / 3); }
          .good .goodList .item.good--1 .heading, .good .goodList .item.good--2 .heading, .good .goodList .item.good--3 .heading, .good .goodList .item.good--4 .heading, .good .goodList .item.good--5 .heading, .good .goodList .item.good--6 .heading {
            margin-left: 0;
            margin-right: 0;
            width: 100%; }
        .good .goodList .item.good--3 .heading, .good .goodList .item.good--4 .heading, .good .goodList .item.good--5 .heading {
          margin-top: -2.3em; }
        .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--4, .good .goodList .item.good--5 {
          margin-left: 0;
          margin-right: 50px; }
        .good .goodList .item.good--3, .good .goodList .item.good--6 {
          margin-left: 0;
          margin-right: 0; } }
@media screen and (max-width: 780px) {
  .good {
    margin-top: -150px; }
    .good .goodList .heading--sandwichLine {
      margin: 15px auto 28px; }
    .good .goodList .item {
      width: calc((100% - 60px) / 3); }
      .good .goodList .item .heading {
        font-size: calc(4 * ((100vw - 600px) / 180) + 1.6rem);
        margin-top: -2.8em; }
      .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--3, .good .goodList .item.good--4, .good .goodList .item.good--5, .good .goodList .item.good--6 {
        width: calc((100% - 60px) / 3); }
      .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--4, .good .goodList .item.good--5 {
        margin-right: 30px; } }
@media screen and (max-width: 600px) {
  .good {
    margin-top: -100px; }
    .good .goodList .heading--sandwichLine {
      order: 4;
      margin: 5px auto 20px; }
    .good .goodList .item {
      width: calc((100% - 20px) / 2); }
      .good .goodList .item .heading {
        font-size: 1.6rem;
        margin-top: -3.0em; }
      .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--3, .good .goodList .item.good--4, .good .goodList .item.good--5, .good .goodList .item.good--6 {
        margin-left: 0;
        margin-right: 0;
        max-width: 200px;
        width: calc((100% - 20px) / 2); }
      .good .goodList .item.good--3 .heading, .good .goodList .item.good--4 .heading, .good .goodList .item.good--5 .heading {
        margin-top: -2.4em; }
      .good .goodList .item.good--1, .good .goodList .item.good--6 {
        margin-left: 20vw;
        margin-right: 20vw; }
      .good .goodList .item.good--2, .good .goodList .item.good--4 {
        margin-right: 20px; } }
@media screen and (max-width: 414px) {
  .good {
    margin-top: -100px; }
    .good .goodList .item {
      width: calc((100% - 10px) / 2); }
      .good .goodList .item .heading {
        font-size: 1.4rem;
        margin-top: -2.7em; }
      .good .goodList .item.good--1, .good .goodList .item.good--2, .good .goodList .item.good--3, .good .goodList .item.good--4, .good .goodList .item.good--5, .good .goodList .item.good--6 {
        width: calc((100% - 10px) / 2); }
      .good .goodList .item.good--3 .heading, .good .goodList .item.good--4 .heading, .good .goodList .item.good--5 .heading {
        margin-top: -2.15em; }
      .good .goodList .item.good--2, .good .goodList .item.good--4 {
        margin-right: 10px; } }
.industry {
  background-color: #faf3e6;
  margin-bottom: 0;
  margin-top: 30px;
  padding: 100px 0 0;
  position: relative; }
  .industry::before {
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 100px solid #fff;
    content: "";
    height: 0;
    left: 5vw;
    position: absolute;
    top: 0;
    width: 0; }
  .industry .industryCaseWrap {
    display: flex;
    flex-wrap: wrap; }
  .industry .industryCase--1,
  .industry .industryCase--2 {
    position: relative;
    width: 100%; }
    .industry .industryCase--1::before,
    .industry .industryCase--2::before {
      content: "";
      height: 100%;
      position: absolute;
      top: -50px;
      width: 50vw;
      z-index: 8; }
  .industry .industryCaseInner {
    background-color: #fff;
    border-radius: 10px;
    max-width: 640px;
    padding: 30px;
    position: relative;
    width: 100%;
    z-index: 10; }
    .industry .industryCaseInner > .heading {
      @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
      font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
      font-size: 5.5rem;
      font-weight: 700;
      font-display: swap;
      line-height: 1;
      margin: 24px auto 30px;
      position: relative;
      text-align: center; }
      .industry .industryCaseInner > .heading::before {
        background-color: #f5ab18;
        border-radius: 10px;
        color: #fff;
        content: "例えば";
        display: block;
        font-size: 2.4rem;
        font-weight: 400;
        height: 40px;
        left: 0;
        line-height: 40px;
        margin: 0 auto;
        position: absolute;
        right: 0;
        text-align: center;
        top: -66px;
        width: 5em; }
      .industry .industryCaseInner > .heading::after {
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 10px solid #f5ab18;
        content: "";
        display: block;
        height: 10px;
        left: 0;
        margin: 0 auto;
        position: absolute;
        right: 0;
        text-align: center;
        top: -26px;
        width: 10px; }
    .industry .industryCaseInner .appeal {
      display: flex;
      align-items: center; }
      .industry .industryCaseInner .appeal .heading--bold {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 3.6rem;
        font-weight: 700;
        font-display: swap;
        margin-bottom: 35px;
        padding-left: 60px;
        position: relative;
        text-align: center; }
        .industry .industryCaseInner .appeal .heading--bold::before {
          background: url("../images/face.svg") no-repeat center center;
          background-size: 56px;
          content: "";
          display: block;
          height: 56px;
          left: 0;
          position: absolute;
          transform: rotate(-15deg);
          top: -8px;
          width: 56px; }
    .industry .industryCaseInner .industryMeritListWrap {
      background-color: #faf3e6;
      min-height: 224px;
      padding: 25px 20px 24px; }
      .industry .industryCaseInner .industryMeritListWrap .heading {
        color: #f5ab18;
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 2.4rem;
        font-weight: 700;
        font-display: swap;
        line-height: 1; }
    .industry .industryCaseInner .industryMeritList {
      line-height: 1.5; }
      .industry .industryCaseInner .industryMeritList .item {
        padding-left: 24px;
        position: relative; }
        .industry .industryCaseInner .industryMeritList .item::before {
          background: url("../images/circle.svg") no-repeat center center;
          background-size: 20px;
          content: "";
          display: block;
          height: 20px;
          left: 0;
          position: absolute;
          top: 2px;
          width: 20px; }
  .industry .industryCase--1 {
    margin: 100px auto 0;
    order: 1; }
    .industry .industryCase--1::before {
      background: url("../images/bg_industry_01.jpg") no-repeat right center;
      background-size: cover;
      left: 0; }
    .industry .industryCase--1 .industryCaseInner {
      margin: 0 0 0 auto;
      position: relative; }
      .industry .industryCase--1 .industryCaseInner::after {
        background: url("../images/img_industry_human_01.png") no-repeat right bottom;
        bottom: 0;
        content: "";
        display: block;
        height: 273px;
        position: absolute;
        right: 0;
        width: 274px; }
    .industry .industryCase--1 .industryMeritListWrap {
      padding-right: 224px; }
  .industry .industryCase--2 {
    margin: 100px auto 0;
    order: 2; }
    .industry .industryCase--2::before {
      background: url("../images/bg_industry_02.jpg") no-repeat right center;
      background-size: cover;
      right: 0; }
    .industry .industryCase--2 .industryCaseInner {
      margin: 0 auto 0 0;
      position: relative; }
      .industry .industryCase--2 .industryCaseInner::after {
        background: url("../images/img_industry_human_02.png") no-repeat left bottom;
        bottom: 0;
        content: "";
        display: block;
        height: 271px;
        left: 0;
        position: absolute;
        width: 256px; }
      .industry .industryCase--2 .industryCaseInner .industryMeritListWrap {
        padding-left: 212px; }
  .industry .industryCase--other {
    padding-bottom: 100px;
    padding-top: 100px;
    text-align: center;
    order: 5; }
    .industry .industryCase--other .heading--bold {
      line-height: 1.2;
      margin-bottom: 30px; }
  .industry .industryCase--contact {
    /*padding-bottom: 100px;
    padding-top: 100px;*/
    text-align: center;
    order: 4; }
    .industry .industryCase--contact .heading--bold {
      line-height: 1.2;
      margin-bottom: 30px; }
  .industry .industryOtherList {
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    padding: 0; }
    .industry .industryOtherList .item {
      margin: 20px; }
      .industry .industryOtherList .item > .heading {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 2.4rem;
        font-weight: 700;
        font-display: swap; }

@media screen and (max-width: 960px) {
  .industry .industryCase--1::before,
  .industry .industryCase--2::before {
    height: 50%;
    width: 100vw; }
  .industry .industryCase--1 > .sectionInner,
  .industry .industryCase--2 > .sectionInner {
    margin: 220px auto 0; }
  .industry .industryCase--1::before {
    background-position: right 75%; }
  .industry .industryCase--1 .industryCaseInner {
    margin: 0 auto; }
  .industry .industryCase--2::before {
    background-position: right 90%; }
  .industry .industryCase--2 .industryCaseInner {
    margin: 0 auto; }
  .industry .industryCase--other, .industry .industryCase--contact {
    padding-top: 70px; }
  .industry .industryOtherList .item > .heading {
    font-size: 2.3rem; } }
@media screen and (max-width: 780px) {
  .industry {
    margin-top: 20px;
    padding: 80px 0 0; }
    .industry::before {
      border-top-width: 80px; }
    .industry .industryCaseInner {
      padding: 25px; }
      .industry .industryCaseInner > .heading {
        font-size: 4.5rem;
        margin: 14px auto 25px; }
        .industry .industryCaseInner > .heading::before {
          font-size: 2.2rem;
          top: -56px; }
        .industry .industryCaseInner > .heading::after {
          top: -16px; }
      .industry .industryCaseInner .appeal .heading--bold {
        font-size: 2.8rem;
        margin-bottom: 25px;
        padding-left: 50px; }
        .industry .industryCaseInner .appeal .heading--bold::before {
          background-size: 46px;
          height: 46px;
          width: 46px; }
      .industry .industryCaseInner .industryMeritListWrap {
        min-height: 235px; }
    .industry .industryCase--1::before,
    .industry .industryCase--2::before {
      height: 40%; }
    .industry .industryCase--1 {
      margin: 100px auto 0; }
      .industry .industryCase--1 .industryCaseInner::after {
        background-size: 100%;
        height: 240px;
        width: 240px; }
      .industry .industryCase--1 .industryMeritListWrap {
        padding-right: 184px; }
    .industry .industryCase--2 {
      margin: 100px auto 0; }
      .industry .industryCase--2 .industryCaseInner::after {
        background-size: 100%;
        height: 225px;
        width: 212px; }
      .industry .industryCase--2 .industryCaseInner .industryMeritListWrap {
        padding-left: 166px; }
    .industry .industryCase--other, .industry .industryCase--contact {
      padding-bottom: 80px;
      padding-top: 40px; }
    .industry .industryOtherList {
      padding: 0 10px; }
      .industry .industryOtherList .item {
        margin: 20px 10px; }
        .industry .industryOtherList .item > .heading {
          font-size: 1.8rem; } }
@media screen and (max-width: 600px) {
  .industry {
    padding: 60px 0 0; }
    .industry::before {
      border-top-width: 60px; }
    .industry .industryCaseInner {
      padding: 15px; }
      .industry .industryCaseInner > .heading {
        font-size: 3.5rem;
        margin: 14px auto 25px; }
        .industry .industryCaseInner > .heading::before {
          font-size: 2.0rem;
          height: 38px;
          line-height: 38px;
          top: -50px; }
        .industry .industryCaseInner > .heading::after {
          top: -14px; }
      .industry .industryCaseInner .appeal .heading--bold {
        font-size: 2.3rem;
        line-height: 1.4;
        margin: 3vw auto 6.5vw 1vw;
        padding-left: 42px;
        text-align: left;
        width: calc(100% - 100px); }
        .industry .industryCaseInner .appeal .heading--bold::before {
          background-size: 38px;
          bottom: 0;
          height: 38px;
          left: 0;
          margin: auto;
          top: 0;
          width: 38px; }
      .industry .industryCaseInner .industryMeritListWrap {
        min-height: 235px;
        padding: 15px 15px 15px; }
    .industry .industryCase--1::before,
    .industry .industryCase--2::before {
      height: 40%; }
    .industry .industryCase--1 {
      margin: 80px auto 0; }
      .industry .industryCase--1 .industryCaseInner::after {
        background-size: 100%;
        bottom: 205px;
        height: 108px;
        right: 1vw;
        top: auto;
        width: 108px; }
      .industry .industryCase--1 .industryMeritListWrap {
        padding-right: 15px;
        height: 190px;
        min-height: 190px; }
    .industry .industryCase--2 {
      margin: 80px auto 0; }
      .industry .industryCase--2 .industryCaseInner::after {
        background: url("../images/img_industry_human_02_sp.png") no-repeat left bottom;
        background-size: 100%;
        bottom: 235px;
        left: auto;
        height: 107px;
        right: 15px;
        width: 136px; }
      .industry .industryCase--2 .industryCaseInner .industryMeritListWrap {
        padding-left: 15px;
        height: 220px;
        min-height: 220px; }
    .industry .industryCase--other {
      padding-bottom: 60px;
      padding-top: 30px; }
    .industry .industryOtherList {
      padding: 10px;
      flex-wrap: wrap; }
      .industry .industryOtherList .item {
        margin: 10px;
        width: 44%; }
        .industry .industryOtherList .item > .heading {
          font-size: 1.8rem; } }
@media screen and (max-width: 414px) {
  .industry .industryCaseInner {
    padding: 10px; }
    .industry .industryCaseInner > .heading {
      font-size: 3.2rem;
      margin: 14px auto 20px; }
      .industry .industryCaseInner > .heading::before {
        font-size: 1.8rem;
        height: 36px;
        line-height: 36px;
        top: -48px; }
    .industry .industryCaseInner .appeal .heading--bold {
      font-size: 1.8rem;
      line-height: 1.3;
      margin: 2vw auto 5.5vw 1vw;
      padding-left: 32px;
      width: calc(100% - 70px); }
      .industry .industryCaseInner .appeal .heading--bold::before {
        background-size: 30px;
        height: 30px;
        width: 30px; }
    .industry .industryCaseInner .industryMeritListWrap {
      min-height: 235px;
      padding: 15px 10px; }
    .industry .industryCaseInner .industryMeritList {
      font-size: 1.4rem;
      line-height: 1.4; }
      .industry .industryCaseInner .industryMeritList .item {
        padding-left: 16px;
        position: relative; }
        .industry .industryCaseInner .industryMeritList .item::before {
          background-size: 14px;
          height: 14px;
          top: 2px;
          width: 14px; }
  .industry .industryCase--1::before,
  .industry .industryCase--2::before {
    height: 40%; }
  .industry .industryCase--1 .sectionInner,
  .industry .industryCase--2 .sectionInner {
    margin: 170px auto 0; }
  .industry .industryCase--1 {
    margin: 80px auto 0; }
    .industry .industryCase--1 .industryCaseInner::after {
      bottom: 180px;
      height: 78px;
      width: 78px; }
    .industry .industryCase--1 .industryMeritListWrap {
      padding-right: 10px;
      height: 170px;
      min-height: 170px; }
  .industry .industryCase--2 {
    margin: 80px auto 0; }
    .industry .industryCase--2 .industryCaseInner::after {
      bottom: 220px;
      height: 84px;
      width: 106px; }
    .industry .industryCase--2 .industryCaseInner .industryMeritListWrap {
      padding-left: 10px;
      height: 210px;
      min-height: 210px; }
  .industry .industryCase--other .heading--bold, .industry .industryCase--contact .heading--bold {
    font-size: 2.0rem; }
  .industry .industryOtherList .item {
    margin: 8px;
    width: 43%; } }
.strengths {
  background: url("../images/bg_strengths.jpg") no-repeat center center;
  background-size: cover;
  margin: 0 auto;
  padding: 100px 0; }
  .strengths .heading--rightLine .heading {
    width: 7em; }
  .strengths .heading--rightLine .headingLine {
    width: calc(100% - 7em - 20px); }
  .strengths .strengthsListWrap {
    display: flex; }
  .strengths .strengthsList {
    order: 2;
    width: calc(100% - 240px); }
    .strengths .strengthsList > .item {
      margin-top: 50px; }
      .strengths .strengthsList > .item:first-child {
        margin-top: 0; }
      .strengths .strengthsList > .item p:last-child {
        margin-bottom: 0; }
  .strengths .customOrder {
    display: flex;
    flex-wrap: wrap; }
    .strengths .customOrder > .item {
      width: 50%; }
  .strengths .strengthsImages {
    margin-right: 40px;
    order: 1; }
    .strengths .strengthsImages .item {
      margin-bottom: 5px;
      width: 200px; }

@media screen and (max-width: 780px) {
  .strengths {
    padding: 80px 0; }
    .strengths .heading--rightLine .headingLine {
      width: calc(100% - 7em - 15px); }
    .strengths .strengthsListWrap {
      flex-wrap: wrap;
      align-items: center; }
    .strengths .strengthsList {
      width: 100%; }
      .strengths .strengthsList > .item {
        margin-top: 40px; }
    .strengths .customOrder {
      display: flex;
      flex-wrap: wrap; }
      .strengths .customOrder > .item {
        width: 50%; }
    .strengths .strengthsImages {
      display: flex;
      justify-content: center;
      align-items: center;
      margin-bottom: 40px;
      margin-right: 0;
      width: 100%; }
      .strengths .strengthsImages .item {
        margin-bottom: 0;
        margin-left: 5px;
        max-width: 200px;
        width: 100%; }
        .strengths .strengthsImages .item:first-child {
          margin-left: 0; } }
@media screen and (max-width: 600px) {
  .strengths {
    padding: 60px 0; }
    .strengths .heading--rightLine .headingLine {
      width: calc(100% - 7em - 10px); }
    .strengths .strengthsList > .item {
      margin-top: 30px; }
    .strengths .customOrder > .item {
      width: 100%; }
    .strengths .strengthsImages {
      margin-bottom: 30px; } }
@media screen and (max-width: 414px) {
  .strengths .heading--bold > .newline {
    display: inline; } }
.improvementPoints {
  background: #005282 url("../images/bg_problem.jpg") no-repeat top center;
  background-size: cover;
  margin-bottom: 0;
  margin-top: 0;
  padding: 100px 0;
  position: relative; }
  .improvementPoints::before {
    border-bottom: 100px solid #fff;
    border-left: 5vw solid #fff;
    border-right: 45vw solid transparent;
    border-top: 0 solid transparent;
    bottom: 0;
    content: "";
    height: 0;
    left: 0;
    position: absolute;
    width: 0; }
  .improvementPoints::after {
    border-bottom: 100px solid #fff;
    border-left: 45vw solid transparent;
    border-right: 5vw solid #fff;
    border-top: 0 solid transparent;
    bottom: 0;
    content: "";
    height: 0;
    position: absolute;
    right: 0;
    width: 0; }
  .improvementPoints .heading--bold {
    color: #fff;
    font-size: 4.8rem; }
  .improvementPoints .improvementPointsList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; }
    .improvementPoints .improvementPointsList > .item {
      @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
      font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
      font-size: 2.4rem;
      font-weight: 700;
      font-display: swap;
      margin-bottom: 30px;
      text-align: center;
      width: 50%; }
      .improvementPoints .improvementPointsList > .item p {
        background-color: #fff;
        border-radius: 20px;
        margin: 0 auto;
        padding: 18px 20px;
        position: relative; }
        .improvementPoints .improvementPointsList > .item p span {
          position: relative;
          z-index: 15; }
        .improvementPoints .improvementPointsList > .item p::before, .improvementPoints .improvementPointsList > .item p::after {
          background-color: #fff;
          border-radius: 50%;
          content: "";
          display: block;
          left: 0;
          margin: auto;
          position: absolute;
          right: 0;
          z-index: 13; }
        .improvementPoints .improvementPointsList > .item p::before {
          bottom: -13px;
          height: 40px;
          width: 40px; }
        .improvementPoints .improvementPointsList > .item p::after {
          bottom: -43px;
          height: 20px;
          width: 20px; }
      .improvementPoints .improvementPointsList > .item:nth-child(1) > p {
        margin-left: 0;
        max-width: 400px; }
        .improvementPoints .improvementPointsList > .item:nth-child(1) > p::before {
          left: 80px;
          right: auto; }
        .improvementPoints .improvementPointsList > .item:nth-child(1) > p::after {
          bottom: -33px;
          left: 115px;
          right: auto; }
      .improvementPoints .improvementPointsList > .item:nth-child(2) > p {
        margin-right: 0;
        max-width: 400px; }
        .improvementPoints .improvementPointsList > .item:nth-child(2) > p::before {
          left: auto;
          right: 80px; }
        .improvementPoints .improvementPointsList > .item:nth-child(2) > p::after {
          bottom: -33px;
          left: auto;
          right: 115px; }
      .improvementPoints .improvementPointsList > .item:nth-child(3) {
        width: 100%; }
        .improvementPoints .improvementPointsList > .item:nth-child(3) > p {
          max-width: 460px;
          width: 100%; }
      .improvementPoints .improvementPointsList > .item:nth-child(4) {
        padding-left: 30px; }
        .improvementPoints .improvementPointsList > .item:nth-child(4) > p {
          margin-left: 0;
          max-width: 360px; }
          .improvementPoints .improvementPointsList > .item:nth-child(4) > p::before {
            left: 130px;
            right: auto; }
          .improvementPoints .improvementPointsList > .item:nth-child(4) > p::after {
            bottom: -33px;
            left: 165px;
            right: auto; }
      .improvementPoints .improvementPointsList > .item:nth-child(5) {
        padding-right: 30px; }
        .improvementPoints .improvementPointsList > .item:nth-child(5) > p {
          margin-right: 0;
          max-width: 360px; }
          .improvementPoints .improvementPointsList > .item:nth-child(5) > p::before {
            left: auto;
            right: 130px; }
          .improvementPoints .improvementPointsList > .item:nth-child(5) > p::after {
            bottom: -33px;
            left: auto;
            right: 165px; }
      .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
        max-width: 360px; }

@media screen and (max-width: 960px) {
  .improvementPoints .improvementPointsList > .item {
    font-size: 2.1rem;
    margin-bottom: 40px;
    width: 47%; }
    .improvementPoints .improvementPointsList > .item p {
      padding: 18px 10px; }
      .improvementPoints .improvementPointsList > .item p::before {
        bottom: -10px;
        height: 30px;
        width: 30px; }
      .improvementPoints .improvementPointsList > .item p::after {
        bottom: -30px;
        height: 15px;
        width: 15px; }
    .improvementPoints .improvementPointsList > .item:nth-child(1) > p::after {
      bottom: -23px;
      left: 105px; }
    .improvementPoints .improvementPointsList > .item:nth-child(2) > p::after {
      bottom: -23px;
      right: 105px; }
    .improvementPoints .improvementPointsList > .item:nth-child(3) > p {
      max-width: 420px; }
    .improvementPoints .improvementPointsList > .item:nth-child(4) {
      padding-left: 20px; }
      .improvementPoints .improvementPointsList > .item:nth-child(4) > p::after {
        bottom: -23px;
        left: 155px; }
    .improvementPoints .improvementPointsList > .item:nth-child(5) {
      padding-right: 20px; }
      .improvementPoints .improvementPointsList > .item:nth-child(5) > p::after {
        bottom: -23px;
        right: 155px; }
    .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
      max-width: 320px; } }
@media screen and (max-width: 780px) {
  .improvementPoints {
    padding: 80px 0; }
    .improvementPoints::before {
      border-bottom-width: 80px; }
    .improvementPoints::after {
      border-bottom-width: 80px; }
    .improvementPoints .heading--bold {
      font-size: 3.5rem; }
    .improvementPoints .improvementPointsList > .item {
      font-size: 1.7rem;
      width: 49%; }
      .improvementPoints .improvementPointsList > .item p {
        padding: 14px 5px 15px; }
      .improvementPoints .improvementPointsList > .item:nth-child(3) > p {
        max-width: 380px; }
      .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
        max-width: 320px; } }
@media screen and (max-width: 600px) {
  .improvementPoints {
    padding: 60px 0; }
    .improvementPoints::before {
      border-bottom-width: 60px; }
    .improvementPoints::after {
      border-bottom-width: 60px; }
    .improvementPoints .heading--bold {
      font-size: 2.8rem; }
    .improvementPoints .improvementPointsList > .item {
      font-size: 1.7rem;
      width: 44%; }
      .improvementPoints .improvementPointsList > .item p {
        height: 4.0em;
        padding: 14px 15px 15px; }
      .improvementPoints .improvementPointsList > .item:nth-child(1) > p::before, .improvementPoints .improvementPointsList > .item:nth-child(4) > p::before {
        left: 80px;
        right: auto; }
      .improvementPoints .improvementPointsList > .item:nth-child(1) > p::after, .improvementPoints .improvementPointsList > .item:nth-child(4) > p::after {
        bottom: -23px;
        left: 105px; }
      .improvementPoints .improvementPointsList > .item:nth-child(2) > p::before, .improvementPoints .improvementPointsList > .item:nth-child(5) > p::before {
        left: auto;
        right: 80px; }
      .improvementPoints .improvementPointsList > .item:nth-child(2) > p::after, .improvementPoints .improvementPointsList > .item:nth-child(5) > p::after {
        bottom: -23px;
        right: 105px; }
      .improvementPoints .improvementPointsList > .item:nth-child(4) {
        padding-left: 0; }
      .improvementPoints .improvementPointsList > .item:nth-child(5) {
        padding-right: 0; }
      .improvementPoints .improvementPointsList > .item:nth-child(3), .improvementPoints .improvementPointsList > .item:nth-child(6) {
        width: 93%; }
        .improvementPoints .improvementPointsList > .item:nth-child(3) > p, .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
          height: 3.0em;
          margin-left: 0;
          margin-right: 0;
          max-width: 570px; } }
@media screen and (max-width: 414px) {
  .improvementPoints .improvementPointsList > .item p {
    height: 5.0em;
    padding: 10px; }
  .improvementPoints .improvementPointsList > .item:nth-child(3) > p, .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
    height: 3.6em; }
  .improvementPoints .improvementPointsList > .item:nth-child(6) > p {
    padding-top: 18px; } }
.solution {
  margin-bottom: 50px;
  margin-top: 0; }
  .solution .solutionClear {
    margin: -22px auto 50px;
    max-width: 436px;
    width: 50%; }
  .solution .solutionItem {
    display: flex;
    align-items: center;
    width: 100%; }
    .solution .solutionItem .image {
      margin-right: 40px;
      max-width: 460px;
      width: calc((100% - 40px) / 2); }
    .solution .solutionItem .text {
      max-width: 460px;
      width: calc((100% - 40px) / 2); }
    .solution .solutionItem:nth-child(2n+1) .image {
      order: 2;
      margin-right: 0; }
    .solution .solutionItem:nth-child(2n+1) .text {
      order: 1;
      margin-right: 40px; }

@media screen and (max-width: 780px) {
  .solution {
    margin-bottom: 40px; }
    .solution .solutionClear {
      margin: -20px auto 40px;
      max-width: 291px;
      width: 70%; }
    .solution .solutionItem {
      flex-wrap: wrap;
      justify-content: center;
      align-items: flex-start;
      margin-bottom: 40px;
      width: 100%; }
      .solution .solutionItem .image {
        margin-bottom: 20px;
        margin-right: 0;
        max-width: 460px;
        width: 100%; }
      .solution .solutionItem .text {
        max-width: 100%;
        width: 90vw; }
      .solution .solutionItem:nth-child(2n+1) .image {
        order: 1;
        margin-right: 0; }
      .solution .solutionItem:nth-child(2n+1) .text {
        order: 2;
        margin-right: 0; } }
@media screen and (max-width: 600px) {
  .solution {
    margin-bottom: 30px; }
    .solution .solutionClear {
      margin: -20px auto 30px;
      width: 70%; }
    .solution .solutionItem {
      margin-bottom: 30px; } }
.inquiry {
  background: #e5f6ff url("../images/bg_inquiry.png") no-repeat top center;
  background-size: cover;
  margin-bottom: 0;
  margin-top: 50px;
  padding: 170px 0 100px;
  position: relative;
  text-align: center; }
  .inquiry::before {
    border-left: 45vw solid transparent;
    border-right: 45vw solid transparent;
    border-top: 100px solid #fff;
    content: "";
    height: 0;
    left: 5vw;
    position: absolute;
    top: 0;
    width: 0; }
  .inquiry p {
    margin-bottom: 0; }
  .inquiry .inquiryList {
    display: flex;
    justify-content: space-between; }
  .inquiry .industryForm,
  .inquiry .industryTel {
    margin-bottom: 30px;
    text-align: center;
    width: calc((100% - 60px) / 2); }
    .inquiry .industryForm .heading,
    .inquiry .industryTel .heading {
      display: flex;
      justify-content: center;
      align-items: center;
      @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
      font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
      font-size: 2.4rem;
      font-weight: 700;
      font-display: swap;
      margin-bottom: 20px;
      position: relative; }
      .inquiry .industryForm .heading::before,
      .inquiry .industryTel .heading::before {
        background-size: 50px;
        content: "";
        display: block;
        height: 50px;
        margin-right: 10px;
        position: relative;
        width: 50px; }
  .inquiry .industryForm {
    margin-right: 30px; }
    .inquiry .industryForm .heading::before {
      background: url("../images/mail.svg") no-repeat center center; }
  .inquiry .industryTel {
    margin-left: 30px; }
    .inquiry .industryTel .telBox {
      background-color: #fff;
      border-radius: 10px;
      line-height: 1;
      padding: 7px 10px 12px 10px; }
      .inquiry .industryTel .telBox .telNo {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 4.8rem;
        font-weight: 700;
        font-display: swap;
        margin-bottom: 15px; }
        .inquiry .industryTel .telBox .telNo.only--pc {
          display: block; }
        .inquiry .industryTel .telBox .telNo.only--sp {
          display: none; }
    .inquiry .industryTel .heading::before {
      background: url("../images/tel.svg") no-repeat center center; }

.inquiry2 {
  background: #e5f6ff url("../images/bg_inquiry.png") no-repeat top center;
  background-size: cover;
  margin-bottom: 0;
  margin-top: 50px;
  padding: 50px 0 50px;
  position: relative;
  text-align: center; }
  .inquiry2 p {
    margin-bottom: 0; }
  .inquiry2 .inquiryList {
    display: flex;
    justify-content: space-between; }
  .inquiry2 .industryForm,
  .inquiry2 .industryTel {
    margin-bottom: 30px;
    text-align: center;
    width: calc((100% - 60px) / 2); }
    .inquiry2 .industryForm .heading,
    .inquiry2 .industryTel .heading {
      display: flex;
      justify-content: center;
      align-items: center;
      @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
      font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
      font-size: 2.4rem;
      font-weight: 700;
      font-display: swap;
      margin-bottom: 20px;
      position: relative; }
      .inquiry2 .industryForm .heading::before,
      .inquiry2 .industryTel .heading::before {
        background-size: 50px;
        content: "";
        display: block;
        height: 50px;
        margin-right: 10px;
        position: relative;
        width: 50px; }
  .inquiry2 .industryForm {
    margin-right: 30px; }
    .inquiry2 .industryForm .heading::before {
      background: url("../images/mail.svg") no-repeat center center; }
  .inquiry2 .industryTel {
    margin-left: 30px; }
    .inquiry2 .industryTel .telBox {
      background-color: #fff;
      border-radius: 10px;
      line-height: 1;
      padding: 7px 10px 12px 10px; }
      .inquiry2 .industryTel .telBox .telNo {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 4.8rem;
        font-weight: 700;
        font-display: swap;
        margin-bottom: 15px; }
        .inquiry2 .industryTel .telBox .telNo.only--pc {
          display: block; }
        .inquiry2 .industryTel .telBox .telNo.only--sp {
          display: none; }
    .inquiry2 .industryTel .heading::before {
      background: url("../images/tel.svg") no-repeat center center; }

@media screen and (max-width: 960px) {
  .inquiry .industryForm,
  .inquiry .industryTel {
    width: calc((100% - 40px) / 2); }
  .inquiry .industryForm {
    margin-right: 20px; }
  .inquiry .industryTel {
    margin-left: 20px; }
    .inquiry .industryTel .telBox {
      padding: 10px 10px 14px 10px; }
      .inquiry .industryTel .telBox .telNo {
        font-size: 4.4rem;
        margin-bottom: 15px; }

  .inquiry2 .industryForm,
  .inquiry2 .industryTel {
    width: calc((100% - 40px) / 2); }
  .inquiry2 .industryForm {
    margin-right: 20px; }
  .inquiry2 .industryTel {
    margin-left: 20px; }
    .inquiry2 .industryTel .telBox {
      padding: 10px 10px 14px 10px; }
      .inquiry2 .industryTel .telBox .telNo {
        font-size: 4.4rem;
        margin-bottom: 15px; } }
@media screen and (max-width: 780px) {
  .inquiry {
    margin-top: 40px;
    padding: 30px 0 30px; }
    .inquiry::before {
      border-top-width: 80px; }
    .inquiry .industryForm,
    .inquiry .industryTel {
      margin-bottom: 20px;
      width: calc((100% - 20px) / 2); }
      .inquiry .industryForm .heading,
      .inquiry .industryTel .heading {
        font-size: 2.0rem;
        margin-bottom: 15px; }
        .inquiry .industryForm .heading::before,
        .inquiry .industryTel .heading::before {
          background-size: 40px;
          height: 40px;
          margin-right: 5px;
          width: 40px; }
    .inquiry .industryForm {
      margin-right: 10px; }
    .inquiry .industryTel {
      margin-left: 10px; }
      .inquiry .industryTel .telBox {
        padding: 10px 10px 14px 10px; }
        .inquiry .industryTel .telBox .telNo {
          font-size: 3.4rem;
          margin-bottom: 15px; }

  .inquiry2 {
    margin-top: 40px;
    padding: 30px 0 30px; }
    .inquiry2 .industryForm,
    .inquiry2 .industryTel {
      margin-bottom: 20px;
      width: calc((100% - 20px) / 2); }
      .inquiry2 .industryForm .heading,
      .inquiry2 .industryTel .heading {
        font-size: 2.0rem;
        margin-bottom: 15px; }
        .inquiry2 .industryForm .heading::before,
        .inquiry2 .industryTel .heading::before {
          background-size: 40px;
          height: 40px;
          margin-right: 5px;
          width: 40px; }
    .inquiry2 .industryForm {
      margin-right: 10px; }
    .inquiry2 .industryTel {
      margin-left: 10px; }
      .inquiry2 .industryTel .telBox {
        padding: 10px 10px 14px 10px; }
        .inquiry2 .industryTel .telBox .telNo {
          font-size: 3.4rem;
          margin-bottom: 15px; } }
@media screen and (max-width: 600px) {
  .inquiry {
    margin-top: 30px;
    padding: 120px 0 60px; }
    .inquiry::before {
      border-top-width: 60px; }
    .inquiry .inquiryList {
      justify-content: center;
      flex-wrap: wrap; }
    .inquiry .industryForm,
    .inquiry .industryTel {
      margin-bottom: 30px;
      width: 100%; }
    .inquiry .industryForm {
      margin-right: 0; }
    .inquiry .industryTel {
      margin-left: 0; }
      .inquiry .industryTel .telBox {
        max-width: 450px;
        margin-left: auto;
        margin-right: auto; }
        .inquiry .industryTel .telBox .telNo.only--pc {
          display: none; }
        .inquiry .industryTel .telBox .telNo.only--sp {
          display: block; }

  .inquiry2 {
    margin-top: 30px;
    padding: 20px 0 20px; }
    .inquiry2::before {
      border-top-width: 60px; }
    .inquiry2 .inquiryList {
      justify-content: center;
      flex-wrap: wrap; }
    .inquiry2 .industryForm,
    .inquiry2 .industryTel {
      margin-bottom: 30px;
      width: 100%; }
    .inquiry2 .industryForm {
      margin-right: 0; }
    .inquiry2 .industryTel {
      margin-left: 0; }
      .inquiry2 .industryTel .telBox {
        max-width: 450px;
        margin-left: auto;
        margin-right: auto; }
        .inquiry2 .industryTel .telBox .telNo.only--pc {
          display: none; }
        .inquiry2 .industryTel .telBox .telNo.only--sp {
          display: block; } }
.specification {
  margin-bottom: 50px; }
  .specification .heading--betweenLine .heading {
    width: 13em; }
  .specification .heading--betweenLine::before, .specification .heading--betweenLine::after {
    width: calc((100% - 13em - 40px) / 2); }
  .specification .heading--bold {
    text-align: left; }
  .specification .standard {
    margin-bottom: 50px; }
    .specification .standard .marker--blue {
      color: #45abe6; }
    .specification .standard .marker--green {
      color: #00a993; }
  .specification .standardList {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 0 50px; }
  .specification .standardListInner:nth-child(1) {
    padding-right: 40px;
    width: 375px; }
  .specification .standardListInner:nth-child(2) {
    width: calc(100% - 375px); }
  .specification .standardListInner .item {
    display: flex;
    align-items: center;
    margin-top: 10px;
    width: 100%; }
    .specification .standardListInner .item:first-child {
      margin-top: 0; }
    .specification .standardListInner .item .image {
      margin-bottom: 0;
      margin-right: 20px;
      width: 170px; }
    .specification .standardListInner .item .text {
      width: calc(100% - 170px); }
      .specification .standardListInner .item .text p:last-child {
        margin-bottom: 0; }
    .specification .standardListInner .item.overall {
      flex-wrap: wrap; }
      .specification .standardListInner .item.overall .image {
        margin-bottom: 30px;
        max-width: 320px;
        text-align: center;
        width: 100%; }
        .specification .standardListInner .item.overall .image img {
          margin-bottom: 10px; }
      .specification .standardListInner .item.overall .text {
        width: 100%; }
  .specification .optionList {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; }
    .specification .optionList .item {
      border-top: 1px solid #ccc;
      display: flex;
      margin-bottom: 20px;
      padding-top: 20px;
      width: 100%; }
      .specification .optionList .item .image {
        margin-bottom: 0;
        margin-right: 20px;
        width: 340px; }
      .specification .optionList .item .text {
        width: calc(100% - 340px - 20px); }
        .specification .optionList .item .text .heading--square span {
          font-size: 2.0rem; }
      .specification .optionList .item.half {
        margin-left: 20px;
        width: calc((100% - 20px) / 2); }
        .specification .optionList .item.half:nth-child(2n+1) {
          margin-left: 0; }
        .specification .optionList .item.half .image {
          width: 170px; }
        .specification .optionList .item.half .text {
          width: calc(100% - 170px - 20px); }
      .specification .optionList .item.reverse .image {
        order: 2;
        margin-left: 20px;
        margin-right: 0; }
      .specification .optionList .item.reverse .text {
        order: 1; }

@media screen and (max-width: 960px) {
  .specification .standardList {
    padding: 0; }
  .specification .standardListInner:nth-child(1) {
    padding-right: 0;
    width: 100%; }
  .specification .standardListInner:nth-child(2) {
    width: 100%; }
  .specification .standardListInner .item.overall {
    flex-wrap: nowrap;
    justify-content: center;
    padding: 0 50px; }
    .specification .standardListInner .item.overall .image {
      margin-bottom: 30px;
      margin-right: 30px;
      max-width: 260px;
      text-align: left;
      width: 260px; }
    .specification .standardListInner .item.overall .text {
      width: calc(100% - 260px - 30px); } }
@media screen and (max-width: 780px) {
  .specification {
    margin-bottom: 40px; }
    .specification .heading--betweenLine::before, .specification .heading--betweenLine::after {
      width: calc((100% - 13em - 30px) / 2); }
    .specification .standardListInner .item.overall {
      padding: 0 5vw; }
      .specification .standardListInner .item.overall .image {
        margin-bottom: 10px;
        margin-right: 30px;
        max-width: 180px;
        width: 180px; }
      .specification .standardListInner .item.overall .text {
        width: calc(100% - 180px - 30px); }
    .specification .optionList .item {
      flex-wrap: wrap;
      margin-bottom: 0;
      padding-top: 20px;
      width: 100%; }
      .specification .optionList .item .image {
        margin-bottom: 20px;
        margin-right: 0;
        text-align: center;
        width: 100%; }
      .specification .optionList .item .text {
        width: 100%; }
        .specification .optionList .item .text .heading--square span {
          font-size: 2.0rem; }
      .specification .optionList .item.half {
        margin-left: 20px; }
        .specification .optionList .item.half:nth-child(2n+1) {
          margin-left: 0; }
        .specification .optionList .item.half .image {
          text-align: center;
          width: 100%; }
        .specification .optionList .item.half .text {
          width: 100%; }
      .specification .optionList .item.reverse .image {
        order: 1;
        margin-left: 0; }
      .specification .optionList .item.reverse .text {
        order: 2; } }
@media screen and (max-width: 600px) {
  .specification {
    margin-bottom: 30px; }
    .specification .heading--betweenLine::before, .specification .heading--betweenLine::after {
      width: calc((100% - 13em - 20px) / 2); } }
@media screen and (max-width: 414px) {
  .specification .heading--betweenLine .heading {
    width: 8em; }
  .specification .heading--betweenLine::before, .specification .heading--betweenLine::after {
    width: calc((100% - 8em - 20px) / 2); }
  .specification .standardListInner .item {
    margin-top: 40px;
    flex-wrap: wrap; }
    .specification .standardListInner .item .image {
      margin-right: 0;
      max-width: 100%;
      text-align: center;
      width: 100%; }
    .specification .standardListInner .item .text {
      margin-top: 10px;
      max-width: 100%;
      width: 100%; }
    .specification .standardListInner .item.overall {
      flex-wrap: wrap;
      margin-bottom: 40px;
      padding: 0; }
      .specification .standardListInner .item.overall .image {
        margin-bottom: 0;
        margin-right: 0;
        max-width: 180px;
        width: 100%; }
      .specification .standardListInner .item.overall .text {
        margin-top: -10px;
        max-width: 100%;
        width: 100%; } }
.support {
  background: linear-gradient(180deg, #faf3e6, #fff);
  margin-top: 0;
  padding: 100px 0 0; }
  .support .heading--rightLine .heading {
    width: 6em; }
  .support .heading--rightLine .headingLine {
    width: calc(100% - 6em - 20px); }
  .support .supportList {
    display: flex;
    justify-content: space-between;
    margin: 30px auto 0;
    padding: 0 50px; }
    .support .supportList .item {
      margin-left: calc(100 / 860 * 100%);
      width: calc(380 / 860 * 100%); }
      .support .supportList .item:nth-child(2n+1) {
        margin-left: 0; }
      .support .supportList .item .image {
        margin-bottom: 20px;
        text-align: center; }
      .support .supportList .item .heading {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 3rem;
        font-weight: 700;
        font-display: swap;
        line-height: 1;
        margin-bottom: 20px; }
      .support .supportList .item p {
        margin-bottom: 0; }

@media screen and (max-width: 960px) {
  .support .supportList {
    justify-content: center;
    padding: 0; }
    .support .supportList .item {
      margin-left: 40px;
      max-width: 380px;
      width: calc((100% - 40px) / 2); }
      .support .supportList .item:nth-child(2n+1) {
        margin-left: 0; } }
@media screen and (max-width: 780px) {
  .support {
    padding: 80px 0 0; }
    .support .heading--rightLine .headingLine {
      width: calc(100% - 6em - 15px); }
    .support .supportList .item .heading {
      font-size: 2.4rem;
      margin-bottom: 15px; } }
@media screen and (max-width: 600px) {
  .support {
    padding: 60px 0 0; }
    .support .heading--rightLine .headingLine {
      width: calc(100% - 6em - 10px); }
    .support .supportList .item {
      margin-left: 20px;
      width: calc((100% - 20px) / 2); }
      .support .supportList .item .heading {
        font-size: 2.1rem;
        margin-bottom: 10px; } }
@media screen and (max-width: 414px) {
  .support .supportList {
    flex-wrap: wrap; }
    .support .supportList .item {
      margin-top: 20px;
      margin-left: 0;
      width: 100%; }
      .support .supportList .item:first-child {
        margin-top: 0; } }
.howToUse {
  margin-bottom: 50px; }
  .howToUse .heading--betweenLine .heading {
    width: 12em; }
  .howToUse .heading--betweenLine::before, .howToUse .heading--betweenLine::after {
    width: calc((100% - 12em - 40px) / 2); }
  .howToUse .howToUseLayout {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  .howToUse .howToUseListWrap {
    background-color: #e5f6ff;
    border-radius: 10px;
    margin-top: 50px;
    padding: 30px 20px; }
    .howToUse .howToUseListWrap .heading--bold {
      font-size: 3.0rem;
      margin-bottom: 33px; }
    .howToUse .howToUseListWrap.chain1 {
      max-width: 310px;
      width: calc((100% - 20px) / 3); }
      .howToUse .howToUseListWrap.chain1 .item .heading::before {
        display: none; }
    .howToUse .howToUseListWrap.chain2 {
      margin-left: 20px;
      max-width: 630px;
      width: calc((100% - 20px) / 3 * 2); }
    .howToUse .howToUseListWrap.chain3 {
      margin-top: 0;
      max-width: 960px;
      width: 100%; }
  .howToUse .howToUseList {
    display: flex;
    justify-content: space-between;
    width: 100%; }
    .howToUse .howToUseList .item {
      background-color: #fff;
      border: 1px solid #aaa;
      margin-left: 20px;
      max-width: 270px;
      padding: 18px 18px 0;
      text-align: center; }
      .howToUse .howToUseList .item:first-child {
        margin-left: 0; }
      .howToUse .howToUseList .item .heading {
        @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
        font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
        font-size: 2rem;
        font-weight: 700;
        font-display: swap;
        margin-bottom: 15px;
        margin-top: 33px;
        position: relative; }
        .howToUse .howToUseList .item .heading::before {
          background: url("../images/img_number_circle.png") no-repeat center center;
          background-size: 57px;
          color: #0083ce;
          content: attr(data-step);
          display: block;
          @import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:500&display=swap&subset=japanese");
          font-family: 'Noto Sans JP', 'Noto Sans JP Woff', sans-serif;
          font-size: 2.4rem;
          font-weight: 700;
          font-display: swap;
          height: 56px;
          left: 0;
          margin: auto;
          padding: 15px;
          position: absolute;
          right: 0;
          top: -63px;
          width: 57px; }
      .howToUse .howToUseList .item .image {
        margin-bottom: 10px;
        max-width: 234px;
        width: 100%; }

@media screen and (max-width: 960px) {
  .howToUse .howToUseList .item {
    padding: 18px 13px 0; }
    .howToUse .howToUseList .item .heading {
      height: 2.5em; } }
@media screen and (max-width: 780px) {
  .howToUse {
    margin-bottom: 40px; }
    .howToUse .heading--betweenLine::before, .howToUse .heading--betweenLine::after {
      width: calc((100% - 12em - 30px) / 2); }
    .howToUse .howToUseListWrap {
      margin-top: 40px;
      padding: 25px 10px; }
      .howToUse .howToUseListWrap .heading--bold {
        font-size: 2.4rem;
        margin-bottom: 28px; }
      .howToUse .howToUseListWrap.chain1 {
        width: calc((100% - 10px) / 3); }
      .howToUse .howToUseListWrap.chain2 {
        margin-left: 10px;
        width: calc((100% - 10px) / 3 * 2); }
    .howToUse .howToUseList .item {
      margin-left: 10px;
      padding: 18px 8px 0; }
      .howToUse .howToUseList .item .heading {
        margin-top: 23px; }
        .howToUse .howToUseList .item .heading::before {
          background-size: 47px;
          font-size: 2.0rem;
          height: 46px;
          padding: 11px;
          top: -48px;
          width: 47px; } }
@media screen and (max-width: 600px) {
  .howToUse {
    margin-bottom: 30px; }
    .howToUse .heading--betweenLine::before, .howToUse .heading--betweenLine::after {
      width: calc((100% - 12em - 20px) / 2); }
    .howToUse .howToUseListWrap {
      margin-top: 20px;
      padding: 25px 8vw 2vw; }
      .howToUse .howToUseListWrap .heading--bold {
        font-size: 2.4rem;
        margin-bottom: 28px; }
      .howToUse .howToUseListWrap.chain1 {
        max-width: 100%;
        width: 100%; }
      .howToUse .howToUseListWrap.chain2 {
        margin-left: 0;
        max-width: 100%;
        width: 100%; }
    .howToUse .howToUseList {
      flex-wrap: wrap; }
      .howToUse .howToUseList .item {
        margin-bottom: 10px;
        margin-left: 0;
        max-width: 100%;
        padding: 18px 8px 0;
        width: 100%; }
        .howToUse .howToUseList .item .heading {
          height: 1.2em;
          margin-top: 23px; }
          .howToUse .howToUseList .item .heading::before {
            background-size: 47px;
            font-size: 2.0rem;
            height: 46px;
            padding: 11px;
            top: -48px;
            width: 47px; }
        .howToUse .howToUseList .item .image {
          margin: 0 auto 15px; } }
@media screen and (max-width: 414px) {
  .howToUse {
    margin-bottom: 30px; }
    .howToUse .heading--betweenLine .heading {
      width: 8em; }
    .howToUse .heading--betweenLine::before, .howToUse .heading--betweenLine::after {
      width: calc((100% - 8em - 20px) / 2); }
    .howToUse .howToUseListWrap {
      margin-top: 20px;
      padding: 25px 5vw 2vw; } }
/* =========================================================================
  _form-style
============================================================================ */
/* form style
---------------------------------------------------------------------------- */
.lpform #header {
  margin-bottom: 50px; }
.lpform .heading--sandwichLine {
  max-width: 500px; }
  .lpform .heading--sandwichLine::before, .lpform .heading--sandwichLine::after {
    max-width: 500px; }

.lpform form#mailformpro {
  /* Data リスト（dl デフォルト）*/ }
  .lpform form#mailformpro dl dt {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: left; }
  .lpform form#mailformpro dl dd {
    font-size: 1.8rem; }
  .lpform form#mailformpro .dataList {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    .lpform form#mailformpro .dataList dt {
      padding: 1em 0.5em;
      width: 11.75em; }
    .lpform form#mailformpro .dataList dd {
      padding: 1em;
      width: calc(100% - 11.75em); }
  .lpform form#mailformpro .dataListInList {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px; }
    .lpform form#mailformpro .dataListInList dt {
      padding: 1em 0.5em;
      width: 8em; }
      .lpform form#mailformpro .dataListInList dt:first-of-type {
        border-top-width: 0; }
    .lpform form#mailformpro .dataListInList dd {
      padding: 1em;
      width: calc(100% - 8em); }
      .lpform form#mailformpro .dataListInList dd:first-of-type {
        border-top-width: 0; }
  @media screen and (max-width: 600px) {
    .lpform form#mailformpro .dataList {
      margin-bottom: 10px; }
      .lpform form#mailformpro .dataList dt {
        width: 100%; }
      .lpform form#mailformpro .dataList dd {
        width: 100%; }
    .lpform form#mailformpro .dataListInList {
      margin-bottom: 10px; }
      .lpform form#mailformpro .dataListInList dt {
        width: 100%; }
        .lpform form#mailformpro .dataListInList dt:first-of-type {
          border-top-width: 1px; }
      .lpform form#mailformpro .dataListInList dd {
        width: 100%; }
        .lpform form#mailformpro .dataListInList dd:first-of-type {
          border-top-width: 1px; } }
  .lpform form#mailformpro label {
    white-space: initial; }

@media screen and (max-width: 736px) {
  .lpform form #mailformpro .optionally {
    font-size: 10px;
    margin-left: 0;
    padding: 1px 3px; } }
.inquiryFormNext {
  border-top: solid 1px #CCC;
  margin-top: 0;
  margin-bottom: 20px;
  padding-top: 50px;
  text-align: center; }

.btnWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 20px auto 50px;
  max-width: 740px; }

@media screen and (max-width: 600px) {
  .inquiryFormNext {
    font-size: 15px;
    padding-top: 40px; }

  .btnWrapper {
    flex-wrap: wrap;
    margin: 20px auto 40px;
    max-width: 100%; } }
.lpform .mfp_thanks {
  margin-bottom: 35vh; }
