@charset "UTF-8";
/* --------------------------------------------------------------------------------
 web fonts
-------------------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css2?family=Amiri&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@font-face {
  font-family: 'Helvetica-Light';
  src: url('../fonts/Helvetica/Helvetica-Light.eot');
  src: url('../fonts/Helvetica/Helvetica-Light.eot?#iefix') format('embedded-opentype'), url('../fonts/Helvetica/Helvetica-Light.svg#Helvetica-Light') format('svg'), url('../fonts/Helvetica/Helvetica-Light.ttf') format('truetype'), url('../fonts/Helvetica/Helvetica-Light.woff2') format('woff2'), url('../fonts/Helvetica/Helvetica-Light.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/*
@font-face {
    font-family: 'Symbol';
    src: url('../fonts/Symbol/Symbol.eot');
    src: url('../fonts/Symbol/Symbol.eot?#iefix') format('embedded-opentype'), url('../fonts/Symbol/Symbol.svg#Symbol') format('svg'), url('../fonts/Symbol/Symbol.ttf') format('truetype'), url('../fonts/Symbol/Symbol.woff') format('woff'), url('../fonts/Symbol/Symbol.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
} */

.en {
  font-family: "Arial";
}

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */

article, aside, footer, header, nav, section {
  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;
  -moz-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
   ========================================================================== */

/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */

a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 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 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */

b, strong {
  font-weight: inherit;
}

/**
 * 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 style in Android 4.3-.
 */

dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */

mark {
  background-color: #ff0;
  color: #000;
}

/**
 * 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
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

audio, video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */

button, input, optgroup, select, textarea {
  font-family: sans-serif;
  /* 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;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * 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;
  -moz-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 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */

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;
  -moz-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 and cancel buttons in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-cancel-button, [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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */

details, menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* Hidden
   ========================================================================== */

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

/* ----------------------------------------------------------------------
 reset (exculding 'sup')
---------------------------------------------------------------------- */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

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

input, textarea {
  margin: 0;
  padding: 0;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

/* add reset */

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: scroll;
  /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%;
  /* iOS 8+ */
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Lato", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #000;
  line-height: 1.625;
}

*, ::before, ::after {
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
  text-decoration: none;
  cursor: pointer;
}

a:hover {
  opacity: 0.7;
}

figure {
  margin: 0;
  padding: 0;
  line-height: 0;
}

figure img {
  max-width: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

ol, ul {
  list-style: none;
}

/* iOS form reset */

input[type="submit"], input[type="button"] {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}

button, input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

/* Commonset
-------------------------------------------------------- */

/*   display   */

.dp-block {
  display: block;
}

@media screen and (min-width: 480px) {
  .dp-block-xs {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .dp-block-sm {
    display: block;
  }
}

@media screen and (min-width: 920px) {
  .dp-block-md {
    display: block;
  }
}

@media screen and (min-width: 1272px) {
  .dp-block-lg {
    display: block;
  }
}

@media screen and (min-width: 1480px) {
  .dp-block-xl {
    display: block;
  }
}

.dp-none {
  display: none;
}

@media screen and (min-width: 480px) {
  .dp-none-xs {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .dp-none-sm {
    display: none;
  }
}

@media screen and (min-width: 920px) {
  .dp-none-md {
    display: none;
  }
}

@media screen and (min-width: 1272px) {
  .dp-none-lg {
    display: none;
  }
}

@media screen and (min-width: 1480px) {
  .dp-none-xl {
    display: none;
  }
}

@media screen and (max-width: 479px) {
  .dp-block-down-xs {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .dp-block-down-sm {
    display: block;
  }
}

@media screen and (max-width: 919px) {
  .dp-block-down-md {
    display: block;
  }
}

@media screen and (max-width: 1271px) {
  .dp-block-down-lg {
    display: block;
  }
}

@media screen and (max-width: 1479px) {
  .dp-block-down-xl {
    display: block;
  }
}

@media screen and (max-width: 479px) {
  .dp-none-down-xs {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .dp-none-down-sm {
    display: none;
  }
}

@media screen and (max-width: 919px) {
  .dp-none-down-md {
    display: none;
  }
}

@media screen and (max-width: 1271px) {
  .dp-none-down-lg {
    display: none;
  }
}

@media screen and (max-width: 1479px) {
  .dp-none-down-xl {
    display: none;
  }
}

/*  width   */

.w-50 {
  width: 50%!important;
}

.w-60 {
  width: 60%!important;
}

.w-70 {
  width: 70%!important;
}

.w-80 {
  width: 80%!important;
}

.w-90 {
  width: 90%!important;
}

.w-100 {
  width: 100%!important;
}

/* margin */

.mt0 {
  margin-top: 0px;
}

.mr0 {
  margin-right: 0px;
}

.mb0 {
  margin-bottom: 0px;
}

.ml0 {
  margin-left: 0px;
}

.mt5 {
  margin-top: 5px;
}

.mr5 {
  margin-right: 5px;
}

.mb5 {
  margin-bottom: 5px;
}

.ml5 {
  margin-left: 5px;
}

.mt10 {
  margin-top: 10px;
}

.mr10 {
  margin-right: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.ml10 {
  margin-left: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mr15 {
  margin-right: 15px;
}

.mb15 {
  margin-bottom: 15px;
}

.ml15 {
  margin-left: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mr20 {
  margin-right: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.ml20 {
  margin-left: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mr25 {
  margin-right: 25px;
}

.mb25 {
  margin-bottom: 25px;
}

.ml25 {
  margin-left: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mr30 {
  margin-right: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.ml30 {
  margin-left: 30px;
}

.mt35 {
  margin-top: 35px;
}

.mr35 {
  margin-right: 35px;
}

.mb35 {
  margin-bottom: 35px;
}

.ml35 {
  margin-left: 35px;
}

.mt40 {
  margin-top: 40px;
}

.mr40 {
  margin-right: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.ml40 {
  margin-left: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mr45 {
  margin-right: 45px;
}

.mb45 {
  margin-bottom: 45px;
}

.ml45 {
  margin-left: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mr50 {
  margin-right: 50px;
}

.mb50 {
  margin-bottom: 50px;
}

.ml50 {
  margin-left: 50px;
}

.mt55 {
  margin-top: 55px;
}

.mr55 {
  margin-right: 55px;
}

.mb55 {
  margin-bottom: 55px;
}

.ml55 {
  margin-left: 55px;
}

.mt60 {
  margin-top: 60px;
}

.mr60 {
  margin-right: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.ml60 {
  margin-left: 60px;
}

.mt65 {
  margin-top: 65px;
}

.mr65 {
  margin-right: 65px;
}

.mb65 {
  margin-bottom: 65px;
}

.ml65 {
  margin-left: 65px;
}

.mt70 {
  margin-top: 70px;
}

.mr70 {
  margin-right: 70px;
}

.mb70 {
  margin-bottom: 70px;
}

.ml70 {
  margin-left: 70px;
}

.mt75 {
  margin-top: 75px;
}

.mr75 {
  margin-right: 75px;
}

.mb75 {
  margin-bottom: 75px;
}

.ml75 {
  margin-left: 75px;
}

.mt80 {
  margin-top: 80px;
}

.mr80 {
  margin-right: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.ml80 {
  margin-left: 80px;
}

.mt85 {
  margin-top: 85px;
}

.mr85 {
  margin-right: 85px;
}

.mb85 {
  margin-bottom: 85px;
}

.ml85 {
  margin-left: 85px;
}

.mt90 {
  margin-top: 90px;
}

.mr90 {
  margin-right: 90px;
}

.mb90 {
  margin-bottom: 90px;
}

.ml90 {
  margin-left: 90px;
}

.mt95 {
  margin-top: 95px;
}

.mr95 {
  margin-right: 95px;
}

.mb95 {
  margin-bottom: 95px;
}

.ml95 {
  margin-left: 95px;
}

.mt100 {
  margin-top: 100px;
}

.mr100 {
  margin-right: 100px;
}

.mb100 {
  margin-bottom: 100px;
}

.ml100 {
  margin-left: 100px;
}

@media only screen and (max-width: 767px) {
  .mt0 {
    margin-top: 0px;
  }
  .mr0 {
    margin-right: 0px;
  }
  .mb0 {
    margin-bottom: 0px;
  }
  .ml0 {
    margin-left: 0px;
  }
  .sp-mt0 {
    margin-top: 0px !important;
  }
  .sp-mb0 {
    margin-bottom: 0px !important;
  }
  .mt5 {
    margin-top: 2.5px;
  }
  .mr5 {
    margin-right: 2.5px;
  }
  .mb5 {
    margin-bottom: 2.5px;
  }
  .ml5 {
    margin-left: 2.5px;
  }
  .sp-mt5 {
    margin-top: 5px !important;
  }
  .sp-mb5 {
    margin-bottom: 5px !important;
  }
  .mt10 {
    margin-top: 5px;
  }
  .mr10 {
    margin-right: 5px;
  }
  .mb10 {
    margin-bottom: 5px;
  }
  .ml10 {
    margin-left: 5px;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .mt15 {
    margin-top: 7.5px;
  }
  .mr15 {
    margin-right: 7.5px;
  }
  .mb15 {
    margin-bottom: 7.5px;
  }
  .ml15 {
    margin-left: 7.5px;
  }
  .sp-mt15 {
    margin-top: 15px !important;
  }
  .sp-mb15 {
    margin-bottom: 15px !important;
  }
  .mt20 {
    margin-top: 10px;
  }
  .mr20 {
    margin-right: 10px;
  }
  .mb20 {
    margin-bottom: 10px;
  }
  .ml20 {
    margin-left: 10px;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .mt25 {
    margin-top: 12.5px;
  }
  .mr25 {
    margin-right: 12.5px;
  }
  .mb25 {
    margin-bottom: 12.5px;
  }
  .ml25 {
    margin-left: 12.5px;
  }
  .sp-mt25 {
    margin-top: 25px !important;
  }
  .sp-mb25 {
    margin-bottom: 25px !important;
  }
  .mt30 {
    margin-top: 15px;
  }
  .mr30 {
    margin-right: 15px;
  }
  .mb30 {
    margin-bottom: 15px;
  }
  .ml30 {
    margin-left: 15px;
  }
  .sp-mt30 {
    margin-top: 30px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .mt35 {
    margin-top: 17.5px;
  }
  .mr35 {
    margin-right: 17.5px;
  }
  .mb35 {
    margin-bottom: 17.5px;
  }
  .ml35 {
    margin-left: 17.5px;
  }
  .sp-mt35 {
    margin-top: 35px !important;
  }
  .sp-mb35 {
    margin-bottom: 35px !important;
  }
  .mt40 {
    margin-top: 20px;
  }
  .mr40 {
    margin-right: 20px;
  }
  .mb40 {
    margin-bottom: 20px;
  }
  .ml40 {
    margin-left: 20px;
  }
  .sp-mt40 {
    margin-top: 40px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .mt45 {
    margin-top: 22.5px;
  }
  .mr45 {
    margin-right: 22.5px;
  }
  .mb45 {
    margin-bottom: 22.5px;
  }
  .ml45 {
    margin-left: 22.5px;
  }
  .sp-mt45 {
    margin-top: 45px !important;
  }
  .sp-mb45 {
    margin-bottom: 45px !important;
  }
  .mt50 {
    margin-top: 25px;
  }
  .mr50 {
    margin-right: 25px;
  }
  .mb50 {
    margin-bottom: 25px;
  }
  .ml50 {
    margin-left: 25px;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .mt55 {
    margin-top: 27.5px;
  }
  .mr55 {
    margin-right: 27.5px;
  }
  .mb55 {
    margin-bottom: 27.5px;
  }
  .ml55 {
    margin-left: 27.5px;
  }
  .sp-mt55 {
    margin-top: 55px !important;
  }
  .sp-mb55 {
    margin-bottom: 55px !important;
  }
  .mt60 {
    margin-top: 30px;
  }
  .mr60 {
    margin-right: 30px;
  }
  .mb60 {
    margin-bottom: 30px;
  }
  .ml60 {
    margin-left: 30px;
  }
  .sp-mt60 {
    margin-top: 60px !important;
  }
  .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .mt65 {
    margin-top: 32.5px;
  }
  .mr65 {
    margin-right: 32.5px;
  }
  .mb65 {
    margin-bottom: 32.5px;
  }
  .ml65 {
    margin-left: 32.5px;
  }
  .sp-mt65 {
    margin-top: 65px !important;
  }
  .sp-mb65 {
    margin-bottom: 65px !important;
  }
  .mt70 {
    margin-top: 35px;
  }
  .mr70 {
    margin-right: 35px;
  }
  .mb70 {
    margin-bottom: 35px;
  }
  .ml70 {
    margin-left: 35px;
  }
  .sp-mt70 {
    margin-top: 70px !important;
  }
  .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .mt75 {
    margin-top: 37.5px;
  }
  .mr75 {
    margin-right: 37.5px;
  }
  .mb75 {
    margin-bottom: 37.5px;
  }
  .ml75 {
    margin-left: 37.5px;
  }
  .sp-mt75 {
    margin-top: 75px !important;
  }
  .sp-mb75 {
    margin-bottom: 75px !important;
  }
  .mt80 {
    margin-top: 40px;
  }
  .mr80 {
    margin-right: 40px;
  }
  .mb80 {
    margin-bottom: 40px;
  }
  .ml80 {
    margin-left: 40px;
  }
  .sp-mt80 {
    margin-top: 80px !important;
  }
  .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .mt85 {
    margin-top: 42.5px;
  }
  .mr85 {
    margin-right: 42.5px;
  }
  .mb85 {
    margin-bottom: 42.5px;
  }
  .ml85 {
    margin-left: 42.5px;
  }
  .sp-mt85 {
    margin-top: 85px !important;
  }
  .sp-mb85 {
    margin-bottom: 85px !important;
  }
  .mt90 {
    margin-top: 45px;
  }
  .mr90 {
    margin-right: 45px;
  }
  .mb90 {
    margin-bottom: 45px;
  }
  .ml90 {
    margin-left: 45px;
  }
  .sp-mt90 {
    margin-top: 90px !important;
  }
  .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .mt95 {
    margin-top: 47.5px;
  }
  .mr95 {
    margin-right: 47.5px;
  }
  .mb95 {
    margin-bottom: 47.5px;
  }
  .ml95 {
    margin-left: 47.5px;
  }
  .sp-mt95 {
    margin-top: 95px !important;
  }
  .sp-mb95 {
    margin-bottom: 95px !important;
  }
  .mt100 {
    margin-top: 50px;
  }
  .mr100 {
    margin-right: 50px;
  }
  .mb100 {
    margin-bottom: 50px;
  }
  .ml100 {
    margin-left: 50px;
  }
  .sp-mt100 {
    margin-top: 100px !important;
  }
  .sp-mb100 {
    margin-bottom: 100px !important;
  }
}

/* flex */

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-box;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex.fl-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  -moz-box-orient: horizontal;
  -moz-box-direction: reverse;
  flex-direction: row-reverse;
}

.flex.jc-cen {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  -moz-box-pack: center;
  justify-content: center;
}

.flex.jc-bet {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  -moz-box-pack: justify;
  justify-content: space-between;
}

.flex.jc-ar {
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.flex.jc-end {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  -moz-box-pack: end;
  justify-content: flex-end;
}

.flex.ai-cen {
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  -moz-box-align: center;
  -ms-grid-row-align: center;
  align-items: center;
}

.flex.ai-end {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  -moz-box-align: end;
  -ms-grid-row-align: flex-end;
  align-items: flex-end;
}

/* col */

.col-2>.box {
  width: -webkit-calc(100% / 2 - 10px);
  width: -moz-calc(100% / 2 - 10px);
  width: calc(100% / 2 - 10px);
}

.col-3>.box {
  width: -webkit-calc(100% / 3 - 10px);
  width: -moz-calc(100% / 3 - 10px);
  width: calc(100% / 3 - 10px);
}

.col-4>.box {
  width: -webkit-calc(100% / 4 - 10px);
  width: -moz-calc(100% / 4 - 10px);
  width: calc(100% / 4 - 10px);
}

.col-5>.box {
  width: -webkit-calc(100% / 5 - 10px);
  width: -moz-calc(100% / 5 - 10px);
  width: calc(100% / 5 - 10px);
}

.col-6>.box {
  width: -webkit-calc(100% / 6 - 10px);
  width: -moz-calc(100% / 6 - 10px);
  width: calc(100% / 6 - 10px);
}

/* font-style */

.fs-12 {
  font-size: 1.2rem !important;
}

.fs-14 {
  font-size: 1.4rem !important;
}

.fs-16 {
  font-size: 1.6rem !important;
}

.fs-18 {
  font-size: 1.8rem !important;
}

.fs-20 {
  font-size: 2rem !important;
}

.fs-22 {
  font-size: 2.2rem !important;
}

.fs-24 {
  font-size: 2.4rem !important;
}

.fs-26 {
  font-size: 2.6rem !important;
}

.fs-28 {
  font-size: 2.8rem !important;
}

.fs-30 {
  font-size: 3rem !important;
}

.fs-36 {
  font-size: 3.6rem !important;
}

.fs-40 {
  font-size: 4rem !important;
}

/* font-weight */

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.f-min {
  font-family: 'Noto Serif JP', serif;
}

/* font-color */

.cl-wht {
  color: #fff !important;
}

.cl-orange {
  color: #DE5600 !important;
}

/*   text-align  */

.ta-cen {
  text-align: center;
}

.ta-left {
  text-align: left !important;
}

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

/* background-color */

.bg-wht {
  background: #fff !important;
}

/* letter-spacing */

/* Module
-------------------------------------------------------- */

/* title -----------------*/

.sec_title h2::after {
  content: url(../images/top/line5.png);
  display: block;
  margin: 1.2rem auto;
  line-height: 0;
}

@media only screen and (min-width: 768px) {
  .sec_title h2 {
    font-size: 28px!important;
  }
  .ttl h2, .ttl h3 {
    font-size: 24px!important;
  }
}

/* button -----------------*/

.btn a {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 302px;
  text-align: center;
  padding: 2rem 3rem 2rem .5rem;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
  background: -webkit-gradient(linear, left top, left bottom, from(#FFC56E), to(#FAAF3B));
  background: -webkit-linear-gradient(top, #FFC56E, #FAAF3B);
  background: -moz-linear-gradient(top, #FFC56E, #FAAF3B);
  background: -o-linear-gradient(top, #FFC56E, #FAAF3B);
  background: linear-gradient(to bottom, #FFC56E, #FAAF3B);
  -webkit-box-shadow: 0 4px 0 #D58100;
  -moz-box-shadow: 0 4px 0 #D58100;
  box-shadow: 0 4px 0 #D58100;
  border-radius: 7px;
  -webkit-border-radius: 7px;
  -moz-border-radius: 7px;
  -ms-border-radius: 7px;
  -o-border-radius: 7px;
}

.btn a:hover {
  top: 4px;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}

.btn a::after {
  content: url(../images/top/arrow_down2.png);
  position: absolute;
  right: 2rem;
  top: -webkit-calc(50% - 1.5rem);
  top: -moz-calc(50% - 1.5rem);
  top: calc(50% - 1.5rem);
  line-height: 0;
}

/* Layout
-------------------------------------------------------- */

/* Container -----------------*/

.content_wrapper {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 919px) {
  .content_wrapper {
    width: 94%;
  }
}

.content_wrapper {
  max-width: 800px;
}

/* header -----------------*/

.header {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
}

.header .header__logo {
  width: 40%;
  max-width: 300px;
}

.header .header__logo img {
  width: 100%;
}

.header .content_wrapper {
  width: 100%;
  max-width: 1200px;
}

/* footer -----------------*/

.footer {
  position: relative;
  padding: 2rem 0 8rem;
}

.float__btn {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 100;
  width: 100%;
}

.float__btn a {
  position: relative;
  display: block;
  width: 50%;
  /* max-width: 400px; */
  text-align: center;
  padding: 1.6rem;
  color: #000;
}

.float__btn a::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
  -webkit-transition: width .3s;
  -moz-transition: width .3s;
  -o-transition: width .3s;
  transition: width .3s;
}

.float__btn a:hover {
  opacity: 1;
}

.float__btn a:hover::before {
  width: 100%;
}

.float__btn a img {
  margin-right: 1.2rem;
}

.float__btn a:first-of-type {
  background: #FCE6A5 url(../images/common/dot.png);
}

.float__btn a:last-of-type {
  background: #FAAF3B url(../images/common/dot.png);
}

/* .main -----------------*/

/* bxslider -----------------*/

.bx-wrapper {
  z-index: 0;
  max-width: 100% !important;
  margin-bottom: 0;
  border: 0;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  background: transparent;
}

/* Page
-------------------------------------------------------- */

/* Top -----------------*/

.top {
  overflow-x: hidden;
}

.top__keyvisual-slider .item figure {
  height: 34.8vw;
  overflow: hidden;
}

.top__keyvisual-slider .item img {
  width: 100%;
}

.top__keyvisual-copy {
  position: relative;
  margin-top: -70px;
  margin-bottom: 60px;
  z-index: 2;
}

.top__keyvisual-copy figure {
  padding-left: 15px;
}

.top__keyvisual-copy figure img {
  max-width: 350px;
}

.top__keyvisual-copy p {
  font-size: 20px;
}

.top__keyvisual-copy p span {
  font-size: 24px;
}

span.bg-half-yel {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #FFF0BD), color-stop(50%, transparent));
  background: -webkit-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -moz-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -o-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: linear-gradient(to top, #FFF0BD 50%, transparent 50%);
}

@media screen and (max-width: 767px) {
  .top__keyvisual-slider .item figure {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    height: 64vw;
  }
  .top__keyvisual-slider .item figure img {
    width: auto;
    max-width: 500%;
    height: 100%;
  }
  .top__keyvisual-copy {
    margin-bottom: 20px;
    padding: 0;
    width: 94%;
    margin-right: auto;
    margin-left: auto;
  }
  .top__keyvisual-copy img {
    width: 100%;
  }
  .top__keyvisual-copy p {
    font-size: 17px;
  }
}

@media screen and (max-width: 599px) {
  .top__keyvisual-copy p {
    font-size: 16px;
  }
  .top__keyvisual-copy p span {
    font-size: 18px;
  }
}

.top__reason {
  position: relative;
  padding: 4.5rem 0 6rem;
  background: url(../images/top/bg1.jpg);
}

.top__reason::before, .top__reason::after {
  content: '';
  position: absolute;
  top: 0;
  width: 50%;
  height: 5rem;
  background: #fff;
}

.top__reason::before {
  left: 0;
  -webkit-transform-origin: right bottom;
  -moz-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  -o-transform-origin: right bottom;
  transform-origin: right bottom;
  transform: skewY(12deg);
  -webkit-transform: skewY(12deg);
  -moz-transform: skewY(12deg);
  -ms-transform: skewY(12deg);
  -o-transform: skewY(12deg);
}

.top__reason::after {
  right: 0;
  -webkit-transform-origin: left bottom;
  -moz-transform-origin: left bottom;
  -ms-transform-origin: left bottom;
  -o-transform-origin: left bottom;
  transform-origin: left bottom;
  transform: skewY(-12deg);
  -webkit-transform: skewY(-12deg);
  -moz-transform: skewY(-12deg);
  -ms-transform: skewY(-12deg);
  -o-transform: skewY(-12deg);
}

.top__reason-list--item {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 8rem;
  padding: 0 5% 2rem;
  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.top__reason-list--item::before {
  content: '';
  position: absolute;
  left: -webkit-calc(50% - 5.6rem);
  left: -moz-calc(50% - 5.6rem);
  left: calc(50% - 5.6rem);
  top: -3rem;
  width: 11.2rem;
  height: 11.2rem;
  background: #fff;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  box-shadow: 0 0 3px rgba(0, 0, 0, .16);
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.top__reason-list--item::after {
  content: '';
  position: absolute;
  left: 2rem;
  right: 2rem;
  top: 0;
  height: 90px;
  background: #fff;
}

.top__reason-list--item .letter {
  line-height: 2;
}

.top__reason-list--item .character {
  position: absolute;
  right: 3%;
  top: 0;
  width: 20%;
  transform: translateY(-22%);
  -webkit-transform: translateY(-22%);
  -moz-transform: translateY(-22%);
  -ms-transform: translateY(-22%);
  -o-transform: translateY(-22%);
  z-index: 2;
}

.top__reason-list--item:last-of-type .character {
  right: auto;
  left: 3%;
  transform: translateY(-22%) rotateY(180deg);
  -webkit-transform: translateY(-22%) rotateY(180deg);
  -moz-transform: translateY(-22%) rotateY(180deg);
  -ms-transform: translateY(-22%) rotateY(180deg);
  -o-transform: translateY(-22%) rotateY(180deg);
}

.top__reason-list--item .num {
  position: relative;
  top: -1rem;
  font-family: 'Amiri', serif;
  font-size: 5rem;
  font-weight: 500;
  text-shadow: 2px 2px 0 #D9EBC7;
  line-height: 1;
  z-index: 2;
}

.top__reason-list--item .num span {
  position: relative;
  top: -1rem;
  margin-right: .7rem;
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 1px solid #000;
  text-shadow: none;
}

.top__reason-list--item h3 {
  position: relative;
  z-index: 2;
}

.top__reason-list--item h3::after {
  content: url(../images/top/line1.png);
  display: block;
  margin: 1.5rem auto;
  line-height: 0;
}

.top__reason-list--item ul {
  position: relative;
}

.top__reason-list--item ul::after {
  display: none;
  content: url(../images/top/arrow_right.png);
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
}

.top__reason-list--item ul li {
  width: -webkit-calc(50% - .5rem);
  width: -moz-calc(50% - .5rem);
  width: calc(50% - .5rem);
}

.top__reason-list--item ul li figure {
  display: block;
  margin: 0 auto;
  width: 75%;
}

.top__reason-bnr img {
  width: 96%;
  max-width: 500px;
}

@media screen and (max-width: 919px) {
  .top__about {
    padding: 10vw 0;
  }
}

.top__price {
  position: relative;
  padding: 6rem 0;
  background: url(../images/top/bg2.png) no-repeat top / 70% auto;
}

.top__price h2 span {
  display: inline-block;
  padding-bottom: .3rem;
  background: url(../images/top/line2.png) no-repeat left bottom / auto;
}

.top__price .top__price-introttl {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .top__price .top__price-introttl br {
    display: none;
  }
}

.top__price-list {
  max-width: 435px;
  margin: 0 auto 2rem;
  padding: 1.5rem;
  background: #FCE6A5;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
}

.top__price-list li {
  position: relative;
  padding-left: 1.6rem;
  z-index: 2;
}

.top__price-list li+li {
  margin-top: 8px;
}

@media screen and (min-width: 768px) {
  .top__price-list li br {
    display: none;
  }
  .br_sp{
    display: none;
  }
}

.top__price-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: .7rem;
  width: 1rem;
  height: 1rem;
  background: #FAAF3B;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
}

.top__price-list li span {
  border-bottom: 1px dotted #000;
}

.top__price table {
  border-collapse: collapse;
  border: 1px solid #707070;
  text-align: center;
  table-layout: fixed;
}

.top__price table tr th {
  font-weight: bold;
}

.top__price table tr td, .top__price table tr th {
  padding: 1rem;
  border-left: 1px solid #707070;
  border-right: 1px solid#707070;
  background: #fff;
  vertical-align: middle;
}

.top__price table thead tr td {
  background: #FFD086;
  font-weight: bold;
}

.top__price table tbody tr:not(:last-of-type) td, .top__price table tbody tr:not(:last-of-type) th {
  border-bottom: 1px dotted #707070;
}

.top__price-compair {
  position: relative;
  padding: 8rem 0 13rem;
  background: url(../images/top/bg3.jpg);
}

.top__price-compair--ttl {
  padding: 3rem 2rem;
}

.top__price-compair--ttl h3 {
  margin-bottom: 1.5rem;
  font-size: 24px;
}

.top__price-compair--ttl p {
  text-align: center;
}

.top__price-compair--ttl p span {
  font-size: 20px;
  font-weight: bold;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #FFF0BD), color-stop(50%, transparent));
  background: -webkit-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -moz-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -o-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: linear-gradient(to top, #FFF0BD 50%, transparent 50%);
}

@media screen and (max-width: 767px) {
  .top__price-compair--ttl h3 {
    font-size: 20px;
  }
  .top__price-compair--ttl p span {
    font-size: 17px;
  }
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  .top__price-compair table tbody tr th br {
    display: none;
  }
}

.top__price-compair h3 {
  position: relative;
  display: inline-block;
}

.top__price-compair h3::before, .top__price-compair h3::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 5.6rem;
  height: .1rem;
  background: #000;
}

.top__price-compair h3::before {
  left: -6.4rem;
}

.top__price-compair h3::after {
  right: -6.4rem;
}

.top__price-compair--table+p {
  display: none;
}

.top__price-compair--table table {
  min-width: 640px;
}

.top__price-compair table tr th {
  width: 17%;
}

.top__price-compair table tr td {
  width: 27.666666667%;
}

.top__price-compair table tbody tr td {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .top__price-compair table tr td .fs-14 {
    font-size: 16px!important;
  }
}

@media screen and (max-width: 767px) {
  .top__price-compair--table {
    overflow-x: scroll;
  }
}

.top__price-compair table thead tr th, .top__price-compair table thead tr td {
  border-bottom: 1px solid #707070;
}

/* .top__price-compair table tr td:first-of-type {
  width: 30%;
} */

.top__price-compair table tbody tr th {
  background: #FAF3E1;
}

@media screen and (max-width: 767px) {
  .top__price-compair table tr th {
    width: 21%;
  }
  .top__price-compair table tr td {
    width: 26.333333333%;
  }
  .top__price-compair--table+p {
    display: block;
    margin-top: 1rem;
    font-size: 16px;
  }
}

.top__price-trouble {
  position: relative;
  margin-top: -5rem;
  padding: 4rem 0;
  z-index: 1;
}

.top__price-trouble::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #BBD6CD;
  transform: skewY(-3deg);
  -webkit-transform: skewY(-3deg);
  -moz-transform: skewY(-3deg);
  -ms-transform: skewY(-3deg);
  -o-transform: skewY(-3deg);
  z-index: -1;
}

.top__price-trouble--ttl {
  position: relative;
}

.top__price-trouble--pict img {
  width: 96%;
  max-width: 600px;
}

.top__price-trouble--ttl::before {
  content: url(../images/top/line3.png);
  position: absolute;
  left: -webkit-calc(50% - 170px);
  left: -moz-calc(50% - 170px);
  left: calc(50% - 170px);
  bottom: .5rem;
  line-height: 0;
}

.top__price-trouble--ttl::after {
  content: url(../images/top/line3.png);
  position: absolute;
  left: -webkit-calc(50% + 140px);
  left: -moz-calc(50% + 140px);
  left: calc(50% + 140px);
  bottom: 0.5rem;
  line-height: 0;
  transform: rotateY(180deg);
  -webkit-transform: rotateY(180deg);
  -moz-transform: rotateY(180deg);
  -ms-transform: rotateY(180deg);
  -o-transform: rotateY(180deg);
}

.top__price-trouble--ttl h2::before {
  content: url(../images/top/shape.png);
  position: absolute;
  left: -webkit-calc(50% + 130px);
  left: -moz-calc(50% + 130px);
  left: calc(50% + 130px);
  top: -10px;
  line-height: 0;
}

.top__price-trouble h3 {
  position: relative;
  padding: 1rem;
}

.top__price-trouble h3::before {
  content: '';
  position: absolute;
  left: -webkit-calc(50% - 170px);
  left: -moz-calc(50% - 170px);
  left: calc(50% - 170px);
  top: 0;
  width: 340px;
  height: 100%;
  background: #DE5600;
  transform: skewX(-10deg);
  -webkit-transform: skewX(-10deg);
  -moz-transform: skewX(-10deg);
  -ms-transform: skewX(-10deg);
  -o-transform: skewX(-10deg);
  z-index: -1;
}

.top__price-trouble h3::after {
  content: url(../images/top/shape2.png);
  position: absolute;
  left: -webkit-calc(50% - 150px);
  left: -moz-calc(50% - 150px);
  left: calc(50% - 150px);
  top: -2rem;
  line-height: 0;
}

.top__price-troubleimg {
  display: block;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
}

.top__price-item {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  margin-bottom: 5rem;
}

.top__price-item .text {
  width: 45%;
  line-height: 2;
}

.top__price-item .text p+p {
  margin-top: 1.5rem;
}

.top__price-item .pict {
  width: 50%;
}

.top__price-item:nth-of-type(2n) .text {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  -moz-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.top__price-item:nth-of-type(2n) .pict {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  -moz-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}

.top__price-troubletext span {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #FFF0BD), color-stop(50%, transparent));
  background: -webkit-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -moz-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: -o-linear-gradient(bottom, #FFF0BD 50%, transparent 50%);
  background: linear-gradient(to top, #FFF0BD 50%, transparent 50%);
  font-size: 24px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .top__price-troubletext {
    text-align: left;
    font-size: 18px;
  }
  .top__price-troubletext span {
    font-size: 20px;
  }
  .top__price-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -moz-box-orient: vertical;
    -moz-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .top__price-item .text {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -moz-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    width: 100%;
  }
  .top__price-item .pict {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -moz-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    width: 100%;
    margin-bottom: 2rem;
  }
}

.bg-shape {
  padding: 1.5rem 0;
  background: url(../images/top/shape3.png) no-repeat center / contain;
}

.top__info {
  padding: 2rem 0 5rem;
}

.top__info-item .ttl {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 55px;
  padding-left: 25px;
}

.top__info-item .ttl::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 12px;
  height: 100%;
  background: url(../images/top/line4.png);
}

.top__info-item .ttl+p {
  line-height: 2;
}

.top__info-item--table dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px dotted #707070;
  border-left: 1px dotted #707070;
  border-right: 1px dotted #707070;
  line-height: 2;
}

.top__info-item--table dl:last-of-type {
  border-bottom: 1px dotted #707070;
}

.top__info-item--table dl dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 106px;
  padding: 1rem 1.3rem;
  background: #FFD086;
}

.top__info-item--table dl dd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -moz-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 1rem 1.5rem;
}

.top__info-item_area {
  background: url(../images/top/map.png) no-repeat right top;
}

@media screen and (min-width: 768px) {
  .top__info-item_area .ttl+p {
    margin-bottom: 11rem;
  }
}

.top__info-repair {
  padding: 10%;
  background: #FAF3E1;
  border-radius: 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
}

.top__info-repair ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.top__info-repair_mr{
  margin-right: 4%;
}

.top__info-repair ul li {
  width: 48%;
  padding: .8rem 0;
  border-bottom: 1px dotted #707070;
}

.top__info-repair ul li:last-child {
  border-bottom: none;
}

.top__flow {
  padding: 5rem 0;
  background: url(../images/top/bg3.jpg);
}

.top__flow-list ul li {
  position: relative;
  padding: 2.5rem 5% 2rem;
  background: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.top__flow-list ul li:not(:last-child)::after {
  content: url(../images/top/arrow_down3.png);
  position: absolute;
  left: -webkit-calc(50% - 13px);
  left: -moz-calc(50% - 13px);
  left: calc(50% - 13px);
  bottom: -26px;
  line-height: 0;
}

.top__flow-list ul li .num {
  position: absolute;
  width: 4.5rem;
  left: 5%;
  top: -2.2rem;
  text-align: center;
  font-family: 'Amiri', serif;
  line-height: 4.4rem;
  background: url(../images/top/shape4.png);
}

@media screen and (min-width: 768px) {
  .top__flow-list ul li .num {
    left: 2%;
    top: -4rem;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 8rem;
    height: 8rem;
    font-size: 6rem!important;
    background: url(../images/top/shape4.png) no-repeat center center / 100%;
  }
  .top__flow-list h3 br {
    display: none;
  }
  .top__flow-list ul li p.fs-12 {
    font-size: 16px!important;
  }
}

.top__thoughts {
  padding: 6rem 0;
}

.top__thoughts-btn.open {
  display: none;
}

.top__thoughts-btn p {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 340px;
  padding: 1rem;
  background: #fff;
  border: 1px solid #707070;
  cursor: pointer;
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
}

.top__thoughts-btn p::after {
  content: '\f078';
  position: absolute;
  right: 5rem;
  top: 50%;
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.top__thoughts-message {
  position: relative;
  height: 130px;
  overflow: hidden;
}

.top__thoughts-message::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50px;
  background-image: linear-gradient(to top, rgba(255,255,255,1),rgba(255,255,255,0));
}

.top__thoughts-message.open {
  height: auto;
  padding-bottom: 40px;
}


.top__case {
  position: relative;
  padding: 4rem 0;
}

.top__case::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: #E3F2DB;
  transform: skewY(-3deg);
  -webkit-transform: skewY(-3deg);
  -moz-transform: skewY(-3deg);
  -ms-transform: skewY(-3deg);
  -o-transform: skewY(-3deg);
  z-index: -1;
}

.top__case-list ul li {
  width: 48.5%;
  padding: 2rem 4.5%;
  background: #F8FFF5;
  border: 1px solid #707070;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
}

.top__case-listwrap {
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .top__case-list ul li {
    width: 100%;
  }
  .top__case-list ul li+li {
    margin-top: 3rem;
  }
  .top__case-list ul li .top__case-listwrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .top__case-list ul li .top__case-listwrap figure {
    width: 48%;
  }
  .top__case-list ul li .top__case-listwrap figure img {
    width: 90%;
  }
  .top__case-list ul li .top__case-listwrap p {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  .top__case-list ul li {
    width: 100%;
    margin-bottom: 2.5rem;
  }
}

.top__faq {
  padding: 4rem 0 2rem;
}

.top__faq-list ul li {
  overflow: hidden;
  border: 1px solid #707070;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
}

.top__faq-list--question {
  position: relative;
  padding: 1rem 5rem;
  cursor: pointer;
  background: #F8F2E1;
  border-radius: 5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  -ms-border-radius: 5px 5px 0 0;
  -o-border-radius: 5px 5px 0 0;
}

.top__faq-list--answer {
  position: relative;
  display: none;
  padding: 1.5rem 2rem 1.5rem 5rem;
  border-top: 1px dotted #707070;
}

.top__faq-list ul li .mark {
  position: absolute;
  left: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.top__faq-list--question::after {
  content: '\f078';
  position: absolute;
  right: 1.5rem;
  top: 50%;
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
}

.top__faq-list--question.active::after {
  content: '\f077';
}

.top__faq-list ul li .top__faq-list--answer .mark {
  top: 3rem;
}

.top__contact {
  position: relative;
  padding: 4.5rem 0 3.5rem;
  background: #FCE6A5;
}

.top__contact::before {
  content: '';
  position: absolute;
  left: 0;
  top: .7rem;
  width: 100%;
  border-top: 5px dotted #707070;
}
.hikaku_under
{
  background: -webkit-gradient(linear, left bottom, left top, color-stop(50%, #faaf3b), color-stop(50%, transparent)) !important;
  background: -webkit-linear-gradient(bottom, #faaf3b 50%, transparent 50%) !important;
  background: -moz-linear-gradient(bottom, #faaf3b 50%, transparent 50%) !important;
  background: -o-linear-gradient(bottom, #faaf3b 50%, transparent 50%) !important;
  background: linear-gradient(to top, #faaf3b 50%, transparent 50%) !important;
}
table .border_t{
  border-top: 3px solid #707070 !important;
}
table .border_r{
  border-right: 3px solid #707070 !important;
}
table .border_l{
  border-left: 3px solid #707070 !important;
}
table .border_b{
  border-bottom: 3px solid #707070 !important;
}

.text_l{
  text-align: left;
}

.text_c{
  text-align: center;
}

.td_r{
  vertical-align: revert !important;
}

.w_b{
  background-color: #fff !important;
}

.o_b{
  background-color: #FFD086;
}