@charset "UTF-8";
/**
 *
 * style.scss
 *
 * 全てのscssファイルのインポートや
 * 全ての変数の指定を行います。
 *
 */
/**
 *
 * Foundation
 *
 * mixinやresetなど
 * あらかじめ記述しておかなければならないものを記述してあります。
 *
 */
* {
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
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; }

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

html {
  -webkit-text-size-adjust: 100%; }

body {
  line-height: 1;
  overflow-x: hidden; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

a {
  text-decoration: none;
  cursor: pointer; }

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

main {
  display: block; }

select::-ms-expand {
  display: none; }

textarea {
  width: 100%;
  max-width: 100%;
  -webkit-appearance: none;
  border: none;
  border-radius: 0;
  box-shadow: none; }

textarea:focus {
  outline: 0; }

input {
  border: none;
  background: none;
  -webkit-appearance: none;
  border-radius: 0;
  box-shadow: none; }

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

input:focus {
  outline: 0; }

select {
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
  background: none; }

select:focus {
  outline: 0; }

button {
  border: none;
  background: none;
  cursor: pointer; }

button:focus {
  outline: 0; }

/**
 *
 * Layout
 *
 * Componentは将来的に大量なデザインパターンを
 * 別ディレクトリで管理していくようになります。
 * 現状は何もインポートしていません。
 * Project内のLayoutとは別のものになります。
 *
 */
/**
 *
 * Component
 *
 * Componentは将来的に大量なデザインパターンを
 * 別ディレクトリで管理していくようになります。
 * 現状はpc, sp, clearfixクラスのみインポートしています。
 * Project内のComponentとは別のものになります。
 * 
 * Componentを利用する際は各種変数の値を
 * 適切に指定する必要があります。
 *
 */
.c-fzxs {
  font-size: 14px;
  font-size: 0.875rem; }
  @media (max-width: 768px) {
    .c-fzxs {
      font-size: 12px;
      font-size: 0.75rem; } }

.c-fzsm {
  font-size: 16px;
  font-size: 1rem; }
  @media (max-width: 768px) {
    .c-fzsm {
      font-size: 14px;
      font-size: 0.875rem; } }

.c-fzmd {
  font-size: 18px;
  font-size: 1.125rem; }
  @media (max-width: 768px) {
    .c-fzmd {
      font-size: 16px;
      font-size: 1rem; } }

.c-fzlg {
  font-size: 24px;
  font-size: 1.5rem; }
  @media (max-width: 768px) {
    .c-fzlg {
      font-size: 18px;
      font-size: 1.125rem; } }

.c-fzxl {
  font-size: 32px;
  font-size: 2rem; }
  @media (max-width: 768px) {
    .c-fzxl {
      font-size: 24px;
      font-size: 1.5rem; } }

.c-fwn {
  font-weight: normal; }

.c-fwb {
  font-weight: bold; }

.c-fw1 {
  font-weight: 100; }

.c-fw2 {
  font-weight: 200; }

.c-fw3 {
  font-weight: 300; }

.c-fw4 {
  font-weight: 400; }

.c-fw5 {
  font-weight: 500; }

.c-fw6 {
  font-weight: 600; }

.c-fw7 {
  font-weight: 700; }

.c-fw8 {
  font-weight: 800; }

.c-fw9 {
  font-weight: 900; }

.c-tal {
  text-align: left; }

.c-tac {
  text-align: center; }

.c-tar {
  text-align: right; }

.c-mbxs {
  margin-bottom: 8px; }
  @media (max-width: 768px) {
    .c-mbxs {
      margin-bottom: 8px; } }

.c-mbsm {
  margin-bottom: 16px; }
  @media (max-width: 768px) {
    .c-mbsm {
      margin-bottom: 16px; } }

.c-mbmd {
  margin-bottom: 24px; }
  @media (max-width: 768px) {
    .c-mbmd {
      margin-bottom: 24px; } }

.c-mblg {
  margin-bottom: 32px; }
  @media (max-width: 768px) {
    .c-mblg {
      margin-bottom: 32px; } }

.c-mbxl {
  margin-bottom: 40px; }
  @media (max-width: 768px) {
    .c-mbxl {
      margin-bottom: 40px; } }

.c-ttl00 {
  color: black;
  line-height: 1.6; }

.c-ttl01 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 1px solid black;
  line-height: 1.6; }

.c-ttl02 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 1px dashed black;
  line-height: 1.6; }

.c-ttl03 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 2px solid black;
  line-height: 1.6; }

.c-ttl04 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 2px dashed black;
  line-height: 1.6; }

.c-ttl05 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 4px solid black;
  line-height: 1.6; }

.c-ttl06 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 4px dashed black;
  line-height: 1.6; }

.c-ttl07 {
  color: black;
  padding-bottom: 8px;
  border-bottom: 4px double black;
  line-height: 1.6; }

.c-ttl08 {
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  line-height: 1.6; }

.c-ttl09 {
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 1px dashed black;
  border-bottom: 1px dashed black;
  line-height: 1.6; }

.c-ttl10 {
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  border-top: 4px double black;
  border-bottom: 4px double black;
  line-height: 1.6; }

.c-ttl11 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  line-height: 1.6; }

.c-ttl12 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black;
  line-height: 1.6; }

.c-ttl13 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px dashed black;
  line-height: 1.6; }

.c-ttl14 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 4px double black;
  line-height: 1.6; }

.c-ttl15 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 2px;
  line-height: 1.6; }

.c-ttl16 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 2px;
  border: 1px solid black;
  line-height: 1.6; }

.c-ttl17 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 2px;
  border: 1px dashed black;
  line-height: 1.6; }

.c-ttl18 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 2px;
  border: 4px double black;
  line-height: 1.6; }

.c-ttl19 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px;
  line-height: 1.6; }

.c-ttl20 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px;
  border: 1px solid black;
  line-height: 1.6; }

.c-ttl21 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px;
  border: 1px dashed black;
  line-height: 1.6; }

.c-ttl22 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px;
  border: 4px double black;
  line-height: 1.6; }

.c-ttl23 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 100px;
  line-height: 1.6; }

.c-ttl24 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 100px;
  border: 1px solid black;
  line-height: 1.6; }

.c-ttl25 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 100px;
  border: 1px dashed black;
  line-height: 1.6; }

.c-ttl26 {
  background: white;
  color: black;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 100px;
  border: 4px double black;
  line-height: 1.6; }

.c-ttl27 {
  color: black;
  position: relative;
  padding-bottom: 16px;
  line-height: 1.6; }
  .c-ttl27::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 80px;
    height: 1px;
    background: black; }

.c-ttl28 {
  color: black;
  position: relative;
  padding-bottom: 16px;
  line-height: 1.6; }
  .c-ttl28::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 80px;
    height: 2px;
    background: black; }

.c-ttl29 {
  color: black;
  position: relative;
  padding-bottom: 16px;
  line-height: 1.6; }
  .c-ttl29::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: block;
    width: 80px;
    height: 1px;
    background: black; }

.c-ttl30 {
  color: black;
  position: relative;
  padding-bottom: 16px;
  line-height: 1.6; }
  .c-ttl30::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: block;
    width: 80px;
    height: 2px;
    background: black; }

.c-ttl31 {
  color: black;
  position: relative;
  padding-left: 24px;
  line-height: 1.6; }
  .c-ttl31::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    background: black; }

.c-ttl32 {
  color: black;
  position: relative;
  padding-left: 16px;
  line-height: 1.6; }
  .c-ttl32::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: black; }

.c-ttl33 {
  color: black;
  position: relative;
  padding-left: 40px;
  line-height: 1.6; }
  .c-ttl33::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 32px;
    height: 1px;
    background: black; }

.c-ttl34 {
  color: black;
  position: relative;
  padding-left: 40px;
  line-height: 1.6; }
  .c-ttl34::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: block;
    width: 32px;
    height: 2px;
    background: black; }

.c-ttl35 {
  color: black;
  line-height: 1.6; }
  .c-ttl35 > span {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 1px solid black; }

.c-ttl36 {
  color: black;
  line-height: 1.6; }
  .c-ttl36 > span {
    display: inline-block;
    padding-bottom: 8px;
    border-bottom: 2px solid black; }

.c-ttl37 {
  color: black;
  line-height: 1.6; }
  .c-ttl37 > span {
    display: inline-block;
    padding-top: 8px;
    padding-bottom: 8px;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }

.c-ttl38 {
  color: black;
  line-height: 1.6; }
  .c-ttl38 > span {
    display: inline-block;
    padding-top: 8px;
    padding-bottom: 8px;
    border-top: 2px solid black;
    border-bottom: 2px solid black; }

.c-ttl39 {
  color: black;
  line-height: 1.6; }
  .c-ttl39 > span {
    display: inline-block;
    padding-top: 16px;
    padding-bottom: 16px;
    border-top: 1px solid black;
    border-bottom: 1px solid black; }

.c-ttl40 {
  color: black;
  line-height: 1.6; }
  .c-ttl40 > span {
    display: inline-block;
    padding-top: 16px;
    padding-bottom: 16px;
    border-top: 2px solid black;
    border-bottom: 2px solid black; }

.c-ttl41 {
  color: black;
  line-height: 1.6;
  text-align: center; }
  .c-ttl41 > span {
    display: inline-block;
    padding-left: 48px;
    padding-right: 48px;
    position: relative; }
    .c-ttl41 > span::before, .c-ttl41 > span::after {
      content: "";
      position: absolute;
      display: block;
      width: 32px;
      height: 1px;
      background: black;
      top: 50%;
      transform: translateY(-50%); }
    .c-ttl41 > span::before {
      left: 0; }
    .c-ttl41 > span::after {
      right: 0; }

.c-ttl42 {
  color: black;
  line-height: 1.6;
  text-align: center; }
  .c-ttl42 > span {
    display: inline-block;
    padding-left: 48px;
    padding-right: 48px;
    position: relative; }
    .c-ttl42 > span::before, .c-ttl42 > span::after {
      content: "";
      position: absolute;
      display: block;
      width: 32px;
      height: 2px;
      background: black;
      top: 50%;
      transform: translateY(-50%); }
    .c-ttl42 > span::before {
      left: 0; }
    .c-ttl42 > span::after {
      right: 0; }

.c-ttl43 {
  color: black;
  line-height: 1.6; }
  .c-ttl43 > span {
    display: inline-block;
    position: relative; }
    .c-ttl43 > span::before {
      content: "";
      display: block;
      position: absolute;
      z-index: -1;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 16px;
      background: black; }

.c-ttl44 {
  color: black;
  line-height: 1.6;
  position: relative; }
  .c-ttl44::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 8px;
    background: black; }
  .c-ttl44 > span {
    display: inline-block;
    position: relative;
    padding-bottom: 16px; }
    .c-ttl44 > span::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 8px;
      background: white; }

.c-ttl45 {
  color: black;
  line-height: 1.6;
  position: relative; }
  .c-ttl45::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background: black; }
  .c-ttl45 > span {
    display: inline-block;
    position: relative;
    padding-bottom: 8px; }
    .c-ttl45 > span::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 4px;
      background: white; }

.c-ttl46 {
  color: black;
  line-height: 1.6;
  position: relative; }
  .c-ttl46::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: black; }
  .c-ttl46 > span {
    display: inline-block;
    position: relative;
    padding-bottom: 8px; }
    .c-ttl46 > span::before {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 1px;
      background: white; }

.c-ttl47 {
  color: black;
  line-height: 1.6;
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 8px, white 8px, white 16px); }

.c-ttl48 {
  color: black;
  line-height: 1.6;
  padding-bottom: 8px;
  position: relative; }
  .c-ttl48::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-size: auto auto;
    background-color: rgba(255, 255, 255, 0);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, black 4px, black 8px); }

.c-ttl49 {
  color: black;
  line-height: 1.6;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 4px, black 4px, black 8px);
  position: relative;
  padding: 4px; }
  .c-ttl49 > span {
    display: block;
    background: white;
    padding-top: 8px;
    padding-right: 8px;
    padding-bottom: 8px;
    padding-left: 8px; }

.c-ttl50 {
  color: black;
  line-height: 1.6;
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
  background-image: repeating-linear-gradient(135deg, transparent, transparent 1px, white 1px, white 9px); }

.c-ttl51 {
  color: black;
  line-height: 1.6;
  border-left: 1px solid black;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 16px; }

.c-ttl52 {
  color: black;
  line-height: 1.6;
  border-left: 2px solid black;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 16px; }

.c-ttl53 {
  color: black;
  line-height: 1.6;
  border-left: 4px solid black;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 16px; }

.c-ttl54 {
  color: black;
  line-height: 1.6; }
  .c-ttl54 > small {
    font-size: 12px;
    font-size: 0.75rem;
    padding-left: 8px; }

.c-ttl55 {
  color: black;
  line-height: 1.6; }
  .c-ttl55 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: block; }

.c-ttl56 {
  color: black;
  line-height: 1.6; }
  .c-ttl56 > span {
    display: block; }
  .c-ttl56 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: inline-block;
    padding-left: 48px;
    padding-right: 48px;
    position: relative; }
    .c-ttl56 > small::before, .c-ttl56 > small::after {
      content: "";
      position: absolute;
      display: block;
      width: 32px;
      height: 1px;
      background: black;
      top: 50%;
      transform: translateY(-50%); }
    .c-ttl56 > small::before {
      left: 0; }
    .c-ttl56 > small::after {
      right: 0; }

.c-ttl57 {
  color: black;
  line-height: 1.6;
  position: relative;
  padding-top: 8px;
  padding-right: 8px;
  padding-bottom: 8px;
  padding-left: 8px;
  border: 1px solid black;
  text-align: center; }
  .c-ttl57 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: block;
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    padding-right: 8px;
    padding-left: 8px; }

.c-ttl58 {
  color: black;
  line-height: 1.6; }
  .c-ttl58 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: block; }

.c-ttl59 {
  color: black;
  line-height: 1.6; }
  .c-ttl59 > span {
    display: block;
    padding-bottom: 8px; }
  .c-ttl59 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: inline-block;
    padding-top: 8px;
    position: relative; }
    .c-ttl59 > small::before {
      display: block;
      content: "";
      width: 100%;
      height: 1px;
      background: black;
      position: absolute;
      top: 0;
      left: 0; }

.c-ttl60 {
  color: black;
  line-height: 1.6; }
  .c-ttl60 > span {
    display: block;
    padding-bottom: 16px; }
  .c-ttl60 > small {
    font-size: 12px;
    font-size: 0.75rem;
    display: inline-block;
    padding-top: 16px;
    position: relative; }
    .c-ttl60 > small::before {
      display: block;
      content: "";
      width: 100%;
      height: 4px;
      background: black;
      position: absolute;
      top: 0;
      left: 0; }

.c-ttl61 {
  overflow: hidden;
  text-align: left; }
  .c-ttl61 > span {
    position: relative;
    display: inline-block;
    padding-right: 8px; }
    .c-ttl61 > span::before, .c-ttl61 > span::after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      width: 100vw;
      height: 1px;
      background: black; }
    .c-ttl61 > span::before {
      right: 100%; }
    .c-ttl61 > span::after {
      left: 100%; }

.c-ttl62 {
  overflow: hidden;
  text-align: center; }
  .c-ttl62 > span {
    position: relative;
    display: inline-block;
    padding-left: 8px;
    padding-right: 8px; }
    .c-ttl62 > span::before, .c-ttl62 > span::after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      width: 100vw;
      height: 1px;
      background: black; }
    .c-ttl62 > span::before {
      right: 100%; }
    .c-ttl62 > span::after {
      left: 100%; }

.c-ttl63 {
  overflow: hidden;
  text-align: right; }
  .c-ttl63 > span {
    position: relative;
    display: inline-block;
    padding-left: 8px; }
    .c-ttl63 > span::before, .c-ttl63 > span::after {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      content: "";
      width: 100vw;
      height: 1px;
      background: black; }
    .c-ttl63 > span::before {
      right: 100%; }
    .c-ttl63 > span::after {
      left: 100%; }

.c-btn01 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black; }
  .c-btn01:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn01:not(.is-off):hover {
      opacity: 0.7; }

.c-btn02 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px dashed black; }
  .c-btn02:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn02:not(.is-off):hover {
      opacity: 0.7; }

.c-btn03 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black; }
  .c-btn03:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn03:not(.is-off):hover {
      opacity: 0.7; }

.c-btn04 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px; }
  .c-btn04:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn04:not(.is-off):hover {
      opacity: 0.7; }

.c-btn05 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black;
  border-radius: 2px; }
  .c-btn05:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn05:not(.is-off):hover {
      opacity: 0.7; }

.c-btn06 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px dashed black;
  border-radius: 2px; }
  .c-btn06:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn06:not(.is-off):hover {
      opacity: 0.7; }

.c-btn07 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black;
  border-radius: 2px; }
  .c-btn07:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn07:not(.is-off):hover {
      opacity: 0.7; }

.c-btn08 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 2px; }
  .c-btn08:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn08:not(.is-off):hover {
      opacity: 0.7; }

.c-btn09 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black;
  border-radius: 5px; }
  .c-btn09:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn09:not(.is-off):hover {
      opacity: 0.7; }

.c-btn10 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px dashed black;
  border-radius: 5px; }
  .c-btn10:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn10:not(.is-off):hover {
      opacity: 0.7; }

.c-btn11 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border: 1px solid black;
  border-radius: 5px; }
  .c-btn11:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn11:not(.is-off):hover {
      opacity: 0.7; }

.c-btn12 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  background: white;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  border-radius: 5px; }
  .c-btn12:not(.is-off) {
    cursor: pointer;
    transition: opacity 0.3s ease; }
    .c-btn12:not(.is-off):hover {
      opacity: 0.7; }

.c-btn13 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  border: 1px solid black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px; }
  .c-btn13:not(.is-off) {
    transition: all 0.3s ease; }
    .c-btn13:not(.is-off):hover {
      color: white;
      background: black; }

.c-btn14 {
  font-size: 14px;
  font-size: 0.875rem;
  color: black;
  border: 1px solid black;
  line-height: 1.6;
  display: inline-block;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
  position: relative;
  overflow: hidden; }
  .c-btn14 > span {
    position: relative;
    z-index: 1; }
  .c-btn14::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: black;
    transition: all 0.3s ease; }
  .c-btn14:not(.is-off) {
    transition: all 0.3s ease; }
    .c-btn14:not(.is-off):hover {
      color: white; }
      .c-btn14:not(.is-off):hover::before {
        left: 0; }

.pc {
  display: block; }
  @media (max-width: 768px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media (max-width: 768px) {
    .sp {
      display: block; } }

.clearfix::after {
  content: "";
  display: block;
  clear: both; }

/**
 *
 * Project
 *
 * 実質的なWEBサイトの構築を行います。
 * layout.scssには全ページに存在するWEBサイトの
 * レイアウトに相当するものを記述してください。
 * bodyへの指定もここで行います。
 * component.scssには全ページに存在しうる
 * 汎用的なコンポーネントを記述してください。
 *
 */
/**
 *
 * header, footer, navigation
 * content, sidebar, modal,
 * keyvisual, lowervisual, breadcrumbs 
 *
 * などなど全ページに存在する
 * WEBサイトのレイアウトに相当するものを記述してください。
 * bodyへの指定もここで行います。
 *
 */
::selection {
  background: #ea650d;
  color: #fff; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #262626; }

.wr {
  position: relative; }

.hd {
  height: 464px;
  background: url(../img/kv_img_pc.png) 50% 50%/cover no-repeat; }
  @media (max-width: 768px) {
    .hd {
      height: 296px;
      background: url(../img/kv_img_sp.png) 50% 50%/cover no-repeat; } }
  .hd__in {
    width: 100%;
    height: 100%;
    position: relative; }
  .hd__ttl {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: -40px;
    max-width: 686px;
    width: 100%;
    padding: 0px 16px 30px;
    border-radius: 20px;
    border: 6px solid #ea650d;
    background: #fff; }
    @media (max-width: 768px) {
      .hd__ttl {
        border-radius: 12px;
        border: 3px solid #ea650d;
        max-width: none;
        width: calc(100vw - 66px);
        padding: 0 12px 24px;
        bottom: -84px; } }
    .hd__ttl > span {
      display: block;
      text-align: center; }
      @media (max-width: 768px) {
        .hd__ttl > span.is-img {
          margin: 0 0 5px; } }
      .hd__ttl > span.is-img > a {
        display: inline-block; }
        .hd__ttl > span.is-img > a > img {
          width: 360px; }
          @media (max-width: 768px) {
            .hd__ttl > span.is-img > a > img {
              width: 257px; } }
      .hd__ttl > span.is-txt {
        font-size: 46px;
        font-size: 2.875rem;
        line-height: 1.3;
        font-weight: 700;
        color: #ea650d;
        margin: -16px 0 0; }
        @media (max-width: 768px) {
          .hd__ttl > span.is-txt {
            font-size: 30px;
            font-size: 1.875rem; } }
        .hd__ttl > span.is-txt.is-pc {
          display: block; }
          @media (max-width: 768px) {
            .hd__ttl > span.is-txt.is-pc {
              display: none; } }
        .hd__ttl > span.is-txt.is-sp {
          display: none; }
          @media (max-width: 768px) {
            .hd__ttl > span.is-txt.is-sp {
              display: block; } }

.mn {
  padding: 96px 0 0; }
  @media (max-width: 768px) {
    .mn {
      padding: 110px 0 0; } }
  .mn__in {
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: content-box;
    padding-right: 20px;
    padding-left: 20px; }

.ft__in {
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 20px;
  padding-left: 20px;
  padding-top: 80px;
  padding-bottom: 40px; }
  @media (max-width: 768px) {
    .ft__in {
      padding-top: 65px;
      padding-bottom: 55px; } }

.ft__tel {
  text-align: center;
  font-weight: 700;
  margin: 0 0 32px; }
  @media (max-width: 768px) {
    .ft__tel {
      margin: 0 0 24px; } }
  .ft__tel > span {
    display: block; }
    .ft__tel > span.is-txt01 {
      font-size: 20px;
      font-size: 1.25rem;
      margin: 0 0 12px; }
      @media (max-width: 768px) {
        .ft__tel > span.is-txt01 {
          font-size: 14px;
          font-size: 0.875rem;
          margin: 0 0 8px; } }
    .ft__tel > span.is-txt02 {
      font-size: 16px;
      font-size: 1rem;
      margin: 0 0 8px; }
      @media (max-width: 768px) {
        .ft__tel > span.is-txt02 {
          font-size: 10px;
          font-size: 0.625rem;
          margin: 0 0 4px; } }
    .ft__tel > span.is-txt03 {
      font-size: 24px;
      font-size: 1.5rem;
      margin: 0 0 12px; }
      @media (max-width: 768px) {
        .ft__tel > span.is-txt03 {
          font-size: 18px;
          font-size: 1.125rem;
          margin: 0 0 8px; } }
      .ft__tel > span.is-txt03 > a {
        color: #262626; }
    .ft__tel > span.is-txt04 {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 400; }
      @media (max-width: 768px) {
        .ft__tel > span.is-txt04 {
          font-size: 10px;
          font-size: 0.625rem; } }

.ft__anote {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: center; }
  @media (max-width: 768px) {
    .ft__anote {
      font-size: 10px;
      font-size: 0.625rem;
      letter-spacing: -1px; } }

.ft__copy {
  font-size: 10px;
  font-size: 0.625rem;
  display: block;
  text-align: center;
  line-height: 42px;
  height: 42px;
  background: #f1f0ed; }
  @media (max-width: 768px) {
    .ft__copy {
      line-height: 30px;
      height: 30px; } }

/**
 *
 * ttl, btn, card, sec
 * 
 * などなど全ページに存在"しうる"
 * 汎用的なコンポーネントを記述してください。
 * またコンポーネントに相当するクラスは
 * 先頭にc-のプリフィクスをつけてください。
 *
 */
.p-ttl01 {
  line-height: 70px;
  height: 70px;
  text-align: center;
  background: #ea650d; }
  @media (max-width: 768px) {
    .p-ttl01 {
      line-height: 50px;
      height: 50px; } }
  .p-ttl01 > span {
    font-size: 28px;
    font-size: 1.75rem;
    font-weight: 700;
    color: #fff; }
    @media (max-width: 768px) {
      .p-ttl01 > span {
        font-size: 19px;
        font-size: 1.1875rem; } }

.p-btn01 {
  display: inline-block;
  text-align: center;
  height: 86px;
  width: 100%;
  position: relative;
  border-radius: 10px;
  transition: .3s; }
  @media (max-width: 768px) {
    .p-btn01 {
      height: 60px;
      border-radius: 5px; } }
  .p-btn01:before, .p-btn01:after {
    content: "";
    border-radius: 10px; }
    @media (max-width: 768px) {
      .p-btn01:before, .p-btn01:after {
        border-radius: 5px; } }
  .p-btn01:before {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100%;
    background: #96b439;
    z-index: 2; }
  .p-btn01:after {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    top: 12px;
    right: auto;
    bottom: auto;
    left: 0;
    width: 100%;
    height: 100%;
    background: #5b9853;
    z-index: 1;
    transition: .3s; }
    @media (max-width: 768px) {
      .p-btn01:after {
        top: 5px; } }
  .p-btn01:hover {
    transform: translateY(8px); }
    @media (max-width: 768px) {
      .p-btn01:hover {
        transform: translateY(0px); } }
    .p-btn01:hover:after {
      top: 4px; }
      @media (max-width: 768px) {
        .p-btn01:hover:after {
          top: 5px; } }
    .p-btn01:hover > div:before {
      transform: translateY(-50%) rotate(90deg); }
      @media (max-width: 768px) {
        .p-btn01:hover > div:before {
          transform: translateY(-50%); } }
  .p-btn01 > div {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 22px;
    font-size: 1.375rem;
    z-index: 3;
    width: 100%;
    color: #fff;
    line-height: 1.4;
    font-weight: 700; }
    @media (max-width: 768px) {
      .p-btn01 > div {
        font-size: 16px;
        font-size: 1rem; } }
    .p-btn01 > div:after {
      position: absolute;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      left: auto;
      right: 20px;
      width: 9px;
      height: 14px;
      content: "";
      background: url(../img/ico_arrow_right.png) 50% 50%/cover no-repeat;
      transition: .3s; }
    .p-btn01 > div > span {
      color: #feef00; }
  .p-btn01.is-contact > div {
    font-size: 20px;
    font-size: 1.25rem; }
    @media (max-width: 768px) {
      .p-btn01.is-contact > div {
        font-size: 16px;
        font-size: 1rem; } }
    .p-btn01.is-contact > div:after {
      display: none; }
    .p-btn01.is-contact > div > span > img {
      width: 25px;
      margin: 0 4px;
      vertical-align: -2px; }
  @media (max-width: 768px) {
    .p-btn01.is-1col > div {
      font-size: 18px;
      font-size: 1.125rem; } }
  @media (max-width: 768px) {
    .p-btn01.is-2col > div:after {
      position: static;
      top: auto;
      left: auto;
      right: auto;
      bottom: auto;
      transform: translate(0%, 0%);
      display: inline-block;
      margin: 0 0 0 6px;
      vertical-align: -2px; } }
  @media (max-width: 768px) {
    .p-btn01.is-left > div {
      text-align: left;
      white-space: nowrap;
      display: inline-block;
      width: auto; } }

.p-pc {
  display: inline-block; }
  @media (max-width: 768px) {
    .p-pc {
      display: none; } }

.p-sp {
  display: none; }
  @media (max-width: 768px) {
    .p-sp {
      display: inline-block; } }

.begining {
  margin: 0 0 48px; }
  @media (max-width: 768px) {
    .begining {
      margin: 0 0 24px; } }
  .begining > p {
    text-align: center;
    font-weight: 700;
    line-height: 1.6; }
    .begining > p.is-ttl {
      font-size: 36px;
      font-size: 2.25rem;
      letter-spacing: 0.065em; }
      @media (max-width: 768px) {
        .begining > p.is-ttl {
          font-size: 19px;
          font-size: 1.1875rem; } }
      .begining > p.is-ttl > span {
        display: inline-block;
        position: relative; }
        .begining > p.is-ttl > span:before, .begining > p.is-ttl > span:after {
          content: "";
          width: 42px;
          height: 1px;
          background: #262626; }
          @media (max-width: 768px) {
            .begining > p.is-ttl > span:before, .begining > p.is-ttl > span:after {
              width: 24px; } }
        .begining > p.is-ttl > span:before {
          position: absolute;
          display: block;
          top: 50%;
          transform: translateY(-50%);
          left: -50px;
          right: auto;
          top: calc(50% + 6px);
          transform: translateY(-50%) rotate(45deg); }
          @media (max-width: 768px) {
            .begining > p.is-ttl > span:before {
              left: -30px; } }
        .begining > p.is-ttl > span:after {
          position: absolute;
          display: block;
          top: 50%;
          transform: translateY(-50%);
          left: auto;
          right: -50px;
          top: calc(50% + 6px);
          transform: translateY(-50%) rotate(-45deg); }
          @media (max-width: 768px) {
            .begining > p.is-ttl > span:after {
              right: -30px; } }
        .begining > p.is-ttl > span > span {
          font-size: 46px;
          font-size: 2.875rem;
          color: #ea650d; }
          @media (max-width: 768px) {
            .begining > p.is-ttl > span > span {
              font-size: 28.5px;
              font-size: 1.78125rem; } }
    .begining > p.is-txt {
      font-size: 30px;
      font-size: 1.875rem; }
      @media (max-width: 768px) {
        .begining > p.is-txt {
          font-size: 18px;
          font-size: 1.125rem; } }

.lead01,
.lead02,
.lead03 {
  max-width: 687px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 0;
  padding-left: 0;
  margin-bottom: 60px; }
  @media (max-width: 768px) {
    .lead01,
    .lead02,
    .lead03 {
      margin-bottom: 40px; } }
  .lead01 > li,
  .lead02 > li,
  .lead03 > li {
    width: calc(50% - 10px); }
    @media (max-width: 768px) {
      .lead01 > li,
      .lead02 > li,
      .lead03 > li {
        width: calc(50% - 5px); } }

.lead01,
.lead03 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center; }
  .lead01 > *,
  .lead03 > * {
    min-height: 0%; }
  @media (max-width: 768px) {
    .lead01,
    .lead03 {
      flex-direction: row;
      justify-content: space-between;
      align-items: center; } }

@media (max-width: 768px) {
  .lead01.is-1col > li {
    width: 100%; } }

@media (max-width: 768px) {
  .lead01.is-1col > li:first-child {
    margin: 0 0 20px; } }

.lead02 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  align-items: center; }
  .lead02 > * {
    min-height: 0%; }
  @media (max-width: 768px) {
    .lead02 {
      flex-direction: row;
      justify-content: center;
      align-items: center; } }
  @media (max-width: 768px) {
    .lead02 {
      display: block; } }
  @media (max-width: 768px) {
    .lead02 > li {
      width: 100%; } }

.lead03 {
  margin-bottom: 0; }
  @media (max-width: 768px) {
    .lead03 {
      display: block; } }
  @media (max-width: 768px) {
    .lead03 > li {
      width: 100%; } }
  @media (max-width: 768px) {
    .lead03 > li:first-child {
      margin: 0 0 20px; } }

.ratio,
.about,
.three_feature,
.flow {
  margin: 0 0 60px;
  background: #f1f0ed;
  border-radius: 16px;
  overflow: hidden; }
  @media (max-width: 768px) {
    .ratio,
    .about,
    .three_feature,
    .flow {
      margin: 0 0 25px;
      border-radius: 12px; } }

.qa {
  margin: 0 0 90px;
  background: #f1f0ed;
  border-radius: 16px;
  overflow: hidden; }
  @media (max-width: 768px) {
    .qa {
      margin: 0 0 50px;
      border-radius: 12px; } }

.about__in,
.three_feature__in {
  padding-top: 56px;
  padding-bottom: 60px; }
  @media (max-width: 768px) {
    .about__in,
    .three_feature__in {
      padding-top: 30px;
      padding-bottom: 40px; } }

@media (max-width: 768px) {
  .about__in {
    padding-top: 30px;
    padding-bottom: 40px; } }

.ratio__in {
  padding: 40px 16px 44px; }
  @media (max-width: 768px) {
    .ratio__in {
      padding: 20px; } }

.ratio__img {
  text-align: center; }

.about__in {
  padding-left: 20px;
  padding-right: 20px; }

.about__cth {
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 56px;
  text-align: center; }
  @media (max-width: 768px) {
    .about__cth {
      font-size: 18px;
      font-size: 1.125rem;
      margin: 0 0 20px;
      line-height: 1.6;
      white-space: nowrap; } }

.about__ld {
  max-width: 816px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 0px;
  padding-left: 0px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 700;
  margin-bottom: 50px; }
  @media (max-width: 768px) {
    .about__ld {
      font-size: 12px;
      font-size: 0.75rem;
      margin: 0 0 45px; } }

.about__check__ttl {
  text-align: center;
  margin: 0 0 32px; }
  @media (max-width: 768px) {
    .about__check__ttl {
      margin: 0 0 20px; } }
  .about__check__ttl > span {
    font-size: 30px;
    font-size: 1.875rem;
    display: inline-block;
    font-weight: 700;
    position: relative; }
    @media (max-width: 768px) {
      .about__check__ttl > span {
        font-size: 18px;
        font-size: 1.125rem; } }
    .about__check__ttl > span:before, .about__check__ttl > span:after {
      content: "";
      width: 38px;
      height: 1px;
      background: #262626; }
      @media (max-width: 768px) {
        .about__check__ttl > span:before, .about__check__ttl > span:after {
          width: 24px; } }
    .about__check__ttl > span:before {
      position: absolute;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      left: -46px;
      right: auto;
      top: calc(50% + 4px);
      transform: translateY(-50%) rotate(45deg); }
      @media (max-width: 768px) {
        .about__check__ttl > span:before {
          left: -30px; } }
    .about__check__ttl > span:after {
      position: absolute;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      left: auto;
      right: -46px;
      top: calc(50% + 4px);
      transform: translateY(-50%) rotate(-45deg); }
      @media (max-width: 768px) {
        .about__check__ttl > span:after {
          right: -30px; } }
    .about__check__ttl > span > span {
      font-size: 38px;
      font-size: 2.375rem;
      color: #ea650d; }
      @media (max-width: 768px) {
        .about__check__ttl > span > span {
          font-size: 27px;
          font-size: 1.6875rem; } }

.about__check__mv {
  width: 408px;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .about__check__mv {
      width: 100%; } }
  .about__check__mv__in {
    width: 100%;
    padding: 56.25% 0 0;
    position: relative;
    cursor: pointer; }
    @media (max-width: 768px) {
      .about__check__mv__in {
        width: 100%; } }
    .about__check__mv__in > iframe {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }

.three_feature__in {
  max-width: 687px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 0;
  padding-left: 0; }
  @media (max-width: 768px) {
    .three_feature__in {
      padding: 25px 20px 20px; } }

.feature {
  margin: 0 0 60px;
  padding: 0 0 40px;
  position: relative; }
  @media (max-width: 768px) {
    .feature {
      margin: 0 0 30px;
      padding: 0 0 30px; } }
  .feature:last-of-type {
    margin: 0;
    padding: 0; }
  .feature:before {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    top: auto;
    bottom: 0;
    background: #ea650d;
    content: ""; }
  .feature.is-01:before {
    width: 416px;
    height: 2px; }
    @media (max-width: 768px) {
      .feature.is-01:before {
        width: 100%;
        height: 1px; } }
  .feature.is-02:before {
    width: 100%;
    height: 2px; }
    @media (max-width: 768px) {
      .feature.is-02:before {
        width: 100%;
        height: 1px; } }
  .feature__ttl {
    margin: 0 0 40px; }
    @media (max-width: 768px) {
      .feature__ttl {
        margin: 0 0 20px; } }
    .feature__ttl > span {
      display: block;
      text-align: center; }
      .feature__ttl > span.is-img {
        margin: 0 0 16px; }
        @media (max-width: 768px) {
          .feature__ttl > span.is-img {
            margin: 0 0 14px; } }
        .feature__ttl > span.is-img > img {
          width: 102px; }
          @media (max-width: 768px) {
            .feature__ttl > span.is-img > img {
              width: 73px; } }
      .feature__ttl > span.is-txt {
        font-size: 28px;
        font-size: 1.75rem;
        font-weight: 700;
        white-space: nowrap;
        color: #ea650d; }
        @media (max-width: 768px) {
          .feature__ttl > span.is-txt {
            font-size: 19px;
            font-size: 1.1875rem;
            line-height: 1.4; } }
  .feature__cnt {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    max-width: 550px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: content-box;
    padding-right: 0;
    padding-left: 0;
    margin-bottom: 40px; }
    .feature__cnt > * {
      min-height: 0%; }
    @media (max-width: 768px) {
      .feature__cnt {
        flex-direction: row;
        justify-content: center;
        align-items: center; } }
    @media (max-width: 768px) {
      .feature__cnt {
        margin-bottom: 30px; } }
    .feature__cnt__img {
      width: 110px;
      text-align: right; }
      @media (max-width: 768px) {
        .feature__cnt__img {
          width: 75px; } }
      .feature__cnt__img.is-01 > img {
        width: 105px; }
        @media (max-width: 768px) {
          .feature__cnt__img.is-01 > img {
            width: 100%; } }
      .feature__cnt__img.is-02 > img {
        width: 76px; }
        @media (max-width: 768px) {
          .feature__cnt__img.is-02 > img {
            width: 54px; } }
    .feature__cnt__txt {
      width: calc(100% - 110px);
      padding: 0 0 0 24px; }
      @media (max-width: 768px) {
        .feature__cnt__txt {
          width: calc(100% - 75px);
          padding: 0 0 0 16px; } }
    .feature__cnt__ld {
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.6; }
      @media (max-width: 768px) {
        .feature__cnt__ld {
          font-size: 12px;
          font-size: 0.75rem; } }
  .feature__voice {
    padding: 40px 16px 36px;
    border-radius: 10px;
    background: #fff;
    position: relative; }
    @media (max-width: 768px) {
      .feature__voice {
        padding: 20px;
        border-radius: 5px; } }
    .feature__voice:before {
      position: absolute;
      display: block;
      left: 50%;
      transform: translateX(-50%);
      top: auto;
      bottom: -40px;
      left: calc(50% + 80px);
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 40px 40px 0 0;
      border-color: #ffffff transparent transparent transparent; }
      @media (max-width: 768px) {
        .feature__voice:before {
          left: calc(50% + 50px);
          bottom: -29px;
          border-width: 29px 29px 0 0; } }
    .feature__voice__ttl {
      font-size: 25px;
      font-size: 1.5625rem;
      text-align: center;
      font-weight: 700;
      margin: 0 0 24px; }
      @media (max-width: 768px) {
        .feature__voice__ttl {
          font-size: 18px;
          font-size: 1.125rem;
          margin: 0 0 20px; } }
    .feature__voice__cth {
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      margin: 0 0 24px;
      color: #ea650d;
      text-align: center; }
      @media (max-width: 768px) {
        .feature__voice__cth {
          font-size: 15px;
          font-size: 0.9375rem;
          line-height: 1.4;
          margin: 0 0 16px; } }
    .feature__voice__ld {
      max-width: 500px;
      margin-right: auto;
      margin-left: auto;
      box-sizing: content-box;
      padding-right: 0;
      padding-left: 0;
      font-size: 16px;
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.8; }
      @media (max-width: 768px) {
        .feature__voice__ld {
          font-size: 12px;
          font-size: 0.75rem; } }
  .feature__customer__img_box {
    margin: -30px 0 24px;
    text-align: center; }
    @media (max-width: 768px) {
      .feature__customer__img_box {
        margin: -20px 0 20px; } }
  .feature__customer__img {
    display: inline-block;
    position: relative; }
    .feature__customer__img > img {
      width: 136px; }
      @media (max-width: 768px) {
        .feature__customer__img > img {
          width: 90px; } }
  .feature__customer__inform {
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    top: auto;
    right: auto;
    bottom: 0;
    left: 150px;
    font-size: 12px;
    font-size: 0.75rem;
    width: 200px;
    text-align: left;
    font-weight: 500;
    line-height: 1.6; }
    @media (max-width: 768px) {
      .feature__customer__inform {
        font-size: 10px;
        font-size: 0.625rem;
        left: 100px;
        line-height: 1.4; } }
  .feature__anote {
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.6; }
    @media (max-width: 768px) {
      .feature__anote {
        font-size: 10px;
        font-size: 0.625rem;
        line-height: 1.4;
        color: #575757; } }
  .feature__cth {
    margin: 0 0 108px;
    text-align: center; }
    @media (max-width: 768px) {
      .feature__cth {
        margin: 30px 0 64px; } }
    .feature__cth > span {
      font-size: 24px;
      font-size: 1.5rem;
      display: inline-block;
      font-weight: 700;
      position: relative; }
      @media (max-width: 768px) {
        .feature__cth > span {
          font-size: 16px;
          font-size: 1rem; } }
      .feature__cth > span:before, .feature__cth > span:after {
        content: "";
        width: 32px;
        height: 1px;
        background: #262626; }
        @media (max-width: 768px) {
          .feature__cth > span:before, .feature__cth > span:after {
            width: 24px; } }
      .feature__cth > span:before {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: -32px;
        right: auto;
        transform: translateY(-50%) rotate(45deg); }
        @media (max-width: 768px) {
          .feature__cth > span:before {
            left: -28px; } }
      .feature__cth > span:after {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: auto;
        right: -32px;
        transform: translateY(-50%) rotate(-45deg); }
        @media (max-width: 768px) {
          .feature__cth > span:after {
            right: -28px; } }
  .feature__li > li {
    border-radius: 10px;
    margin: 0 0 106px;
    padding: 242px 20px 60px;
    position: relative; }
    @media (max-width: 768px) {
      .feature__li > li {
        margin: 0 0 55px;
        padding: 165px 20px 30px; } }
    .feature__li > li:last-of-type {
      margin: 0; }
    .feature__li > li.is-normal {
      background: #efc6a9; }
    .feature__li > li.is-l {
      background: #d6deb7; }
    .feature__li > li.is-l2 {
      background: #c1d1e0; }
  .feature__li__in {
    max-width: 490px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: content-box;
    padding-right: 0;
    padding-left: 0; }
  .feature__li__img {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
    bottom: auto; }
    @media (max-width: 768px) {
      .feature__li__img {
        top: -35px;
        width: 189px; } }
    .feature__li__img > img {
      width: 264px; }
      @media (max-width: 768px) {
        .feature__li__img > img {
          width: 189px; } }
  .feature__li__ttl_box {
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 2px solid #fff; }
  .feature__li__ttl {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 700;
    margin: 0 0 20px;
    text-align: center; }
    @media (max-width: 768px) {
      .feature__li__ttl {
        font-size: 16px;
        font-size: 1rem; } }
    .feature__li__ttl.is-normal {
      color: #ea650d; }
    .feature__li__ttl.is-l {
      color: #5b9853; }
    .feature__li__ttl.is-l2 {
      color: #5389c2; }
  .feature__li__cth {
    text-align: center; }
    .feature__li__cth > span {
      font-size: 20px;
      font-size: 1.25rem;
      display: inline-block;
      position: relative;
      font-weight: 500; }
      @media (max-width: 768px) {
        .feature__li__cth > span {
          font-size: 13px;
          font-size: 0.8125rem; } }
      .feature__li__cth > span:before, .feature__li__cth > span:after {
        content: "";
        width: 24px;
        height: 1px;
        background: #262626; }
        @media (max-width: 768px) {
          .feature__li__cth > span:before, .feature__li__cth > span:after {
            width: 20px; } }
      .feature__li__cth > span:before {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: -28px;
        right: auto;
        transform: translateY(-50%) rotate(45deg); }
        @media (max-width: 768px) {
          .feature__li__cth > span:before {
            left: -24px; } }
      .feature__li__cth > span:after {
        position: absolute;
        display: block;
        top: 50%;
        transform: translateY(-50%);
        left: auto;
        right: -28px;
        transform: translateY(-50%) rotate(-45deg); }
        @media (max-width: 768px) {
          .feature__li__cth > span:after {
            right: -24px; } }
      .feature__li__cth > span > span {
        font-weight: 700; }
  .feature__li__ld {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.8;
    margin: 0 0 32px; }
    @media (max-width: 768px) {
      .feature__li__ld {
        font-size: 12px;
        font-size: 0.75rem;
        margin: 0 0 20px; } }
  .feature__li__recommend {
    text-align: center; }
    @media (max-width: 768px) {
      .feature__li__recommend {
        white-space: nowrap; } }
    @media (max-width: 768px) {
      .feature__li__recommend > img {
        max-height: 127px; } }

.flow__in {
  max-width: 687px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 0;
  padding-left: 0; }
  @media (max-width: 768px) {
    .flow__in {
      padding: 0 40px 20px; } }

.flow__li > li {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;
  border-bottom: 2px solid #fff; }
  .flow__li > li > * {
    min-height: 0%; }
  @media (max-width: 768px) {
    .flow__li > li {
      flex-direction: row;
      justify-content: space-between;
      align-items: center; } }
  @media (max-width: 768px) {
    .flow__li > li {
      padding: 35px 0;
      border-bottom: 1px solid #fff; } }
  .flow__li > li:last-of-type {
    border-bottom: none; }

.flow__li__img {
  width: 132px; }
  @media (max-width: 768px) {
    .flow__li__img {
      width: 100%;
      text-align: center;
      margin: 0 0 20px; } }
  @media (max-width: 768px) {
    .flow__li__img > img {
      width: 96px; } }

.flow__li__txt {
  width: calc(100% - 132px);
  padding: 0 0 0 42px; }
  @media (max-width: 768px) {
    .flow__li__txt {
      width: 100%;
      padding: 0; } }

.flow__li__ttl {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 700;
  margin: 0 0 16px; }
  @media (max-width: 768px) {
    .flow__li__ttl {
      font-size: 14px;
      font-size: 0.875rem;
      text-align: center;
      line-height: 1.6;
      margin: 0 0 20px; } }

.flow__li__ld {
  font-size: 16px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8; }
  @media (max-width: 768px) {
    .flow__li__ld {
      font-size: 12px;
      font-size: 0.75rem; } }

.qa__in {
  max-width: 687px;
  margin-right: auto;
  margin-left: auto;
  box-sizing: content-box;
  padding-right: 0;
  padding-left: 0; }
  @media (max-width: 768px) {
    .qa__in {
      padding: 20px; } }

.qa__def > div {
  position: relative;
  padding: 52px 0; }
  @media (max-width: 768px) {
    .qa__def > div {
      padding: 25px 0; } }
  .qa__def > div:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    top: auto;
    right: auto;
    bottom: 0;
    left: 0;
    background: #fff; }
    @media (max-width: 768px) {
      .qa__def > div:before {
        height: 1px;
        left: 20px;
        width: calc(100% - 40px); } }
  .qa__def > div:last-of-type {
    border-bottom: none; }
  .qa__def > div > dt {
    position: relative; }
    .qa__def > div > dt:before {
      content: "";
      width: 35px;
      height: 37px;
      position: absolute;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      left: 0;
      right: auto;
      background: url(../img/ico_question.png) 50% 50%/cover no-repeat; }
      @media (max-width: 768px) {
        .qa__def > div > dt:before {
          width: 25px;
          height: 26px; } }
    .qa__def > div > dt > span.is-txt {
      font-size: 22px;
      font-size: 1.375rem;
      font-weight: 700;
      line-height: 1.4;
      width: 100%;
      display: block;
      padding: 0 40px 0 68px; }
      @media (max-width: 768px) {
        .qa__def > div > dt > span.is-txt {
          font-size: 13px;
          font-size: 0.8125rem;
          padding: 0 38px 0 38px;
          line-height: 1.6; } }
    .qa__def > div > dt > span.is-ico {
      position: absolute;
      display: block;
      top: 50%;
      transform: translateY(-50%);
      left: auto;
      right: 0;
      width: 24px;
      height: 24px;
      background: url(../img/ico_qa_btn.png) 50% 50%/cover no-repeat;
      transform: translateY(-50%) rotate(180deg);
      transition: .3s;
      cursor: pointer; }
      .qa__def > div > dt > span.is-ico.is-active {
        transform: translateY(-50%) rotate(0deg); }
  .qa__def > div > dd {
    display: none;
    padding: 50px 0 0; }
    @media (max-width: 768px) {
      .qa__def > div > dd {
        padding: 50px 0 0; } }

.qa__ld {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: 700; }
  @media (max-width: 768px) {
    .qa__ld {
      font-size: 13px;
      font-size: 0.8125rem; } }

.qa__anote {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.6;
  margin: 24px 0 0; }
  @media (max-width: 768px) {
    .qa__anote {
      font-size: 10px;
      font-size: 0.625rem;
      color: #575757; } }

.ending {
  margin: 0 auto 60px;
  max-width: 686px;
  width: 100%;
  padding: 50px 20px 40px;
  border-radius: 20px;
  border: 6px solid #ea650d;
  background: #fff;
  position: relative; }
  @media (max-width: 768px) {
    .ending {
      border-radius: 12px;
      border: 3px solid #ea650d;
      padding: 40px 20px 30px; } }
  .ending__logo {
    position: absolute;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    top: -62px;
    bottom: auto; }
    @media (max-width: 768px) {
      .ending__logo {
        top: -44px; } }
    .ending__logo > img {
      width: 169px; }
      @media (max-width: 768px) {
        .ending__logo > img {
          width: 121px; } }
  .ending__ld {
    font-size: 36px;
    font-size: 2.25rem;
    text-align: center;
    line-height: 1.4;
    font-weight: 700;
    color: #ea650d; }
    @media (max-width: 768px) {
      .ending__ld {
        font-size: 25px;
        font-size: 1.5625rem; } }

/**
 *
 * Utility
 * 
 * 汎用クラスです。
 * 必要であればインポートしてください。
 * !importantは付いていません。
 *
 */
