@charset "UTF-8";
/* reset.css */
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, input, textarea, select {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  word-wrap: break-word;
}

html {
  line-height: 1;
  overflow: auto;
}

body {
  font-size: 100%;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  overflow: hidden;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

img {
  vertical-align: bottom;
}

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

a {
  text-decoration: none;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-size: 0.66667vw;
  line-height: 1;
  font-weight: 300;
}

html * {
  font-weight: inherit;
  box-sizing: border-box;
}

a,
input[type=submit] {
  outline: none;
  color: inherit;
  transition: all ease-out 0.5s;
}

a * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:hover {
  cursor: pointer;
}

a:focus,
*:focus {
  outline: none;
}

@media screen and (min-width: 821px) {
  a:hover,
  input[type=submit]:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
  }
}
picture {
  display: block;
}

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

.mt0 {
  margin-top: 0 !important;
}

.wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
}

/*-----------------------------------------------------------------------------*/
/*sec
-----------------------------------------------------------------------------*/
section {
  position: relative;
  width: 100%;
}

/*-----------------------------------------------------------------------------*/
/*wrap
-----------------------------------------------------------------------------*/
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

/*-----------------------------------------------------------------------------*/
/*text
-----------------------------------------------------------------------------*/
.f-bold {
  font-weight: bold;
}

/*-----------------------------------------------------------------------------*/
/*Color
-----------------------------------------------------------------------------*/
.cl-black {
  color: #000 !important;
}

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

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

.cl-red {
  color: #ff2828 !important;
  font-weight: bold;
}

.liner {
  display: inline-block;
  background: linear-gradient(transparent 60%, #ffdd4f 55%);
}

/*font
-----------------------------------------------------------------------------*/
/*PC共通
-----------------------------------------------------------------------------*/
.wrapper {
  width: 100%;
  margin: 0 auto;
  font-size: 1.8rem;
}

@media screen and (min-width: 1500px) {
  html {
    font-size: 62.5%;
  }
  .sp {
    display: none !important;
  }
}
@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
    opacity: 1;
  }
}
/*--------------------------endPC--------------------------------*/
/*SP共通
-----------------------------------------------------------------------------*/
@media screen and (max-width: 750px) {
  html {
    font-size: 2vw;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
}
/*--------------------------endSP--------------------------------*/
/*==================================================
header
==================================================*/
.header {
  position: relative;
  width: 100%;
  background: #ffdd4f;
  padding: 1.5rem 4rem 0.5rem;
  z-index: 1000;
}
.header-wrap {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-logo {
  width: 21.54%;
}
.header-contact {
  width: -45.69%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-contact-item {
  width: 42.83%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-contact-item-list {
  width: calc(33.3333333333% - 0.6rem);
  height: 6rem;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  margin-right: 0.9rem;
  border-radius: 1rem;
  overflow: hidden;
}
.header-contact-item-list:last-of-type {
  margin-right: 0;
}
.header-contact-item-list.list1 {
  background: #5ea944;
}
.header-contact-item-list.list2 {
  background: #9a8e5b;
}
.header-contact-item-list.list3 {
  background: #e29e54;
}
.header-contact-item-list span {
  width: 100%;
  display: block;
  text-align: center;
  color: #fff;
  font-weight: bold;
  white-space: nowrap;
  margin: 0.5rem 0;
}
.header-contact-item-list span.f-small {
  font-size: 1rem;
  line-height: 1;
}
.header-contact-item-list span.f-normal {
  font-size: 1.3rem;
  line-height: 1;
}
.header-contact-item-list span.f-middle {
  font-size: 2rem;
  line-height: 1;
}
.header-contact-item-list span.f-big {
  font-size: 2.2rem;
  line-height: 1;
}
.header-contact-tel {
  width: 57.17%;
  padding-left: 1.5rem;
}
.header-contact-tel p {
  width: 100%;
  font-size: 1.2rem;
  line-height: 1;
  margin-top: 1rem;
  white-space: nowrap;
}
.header-contact-tel p.header-contact-tel-number {
  margin-top: 0;
}
.header-contact-tel p.header-contact-tel-number span {
  position: relative;
  font-size: 3.4rem;
  line-height: 1;
  font-weight: bold;
  color: #ff6000;
  display: inline-flex;
  align-items: center;
}
.header-contact-tel p.header-contact-tel-number span:before {
  content: "";
  display: inline-block;
  width: 2.55rem;
  height: 2.55rem;
  background: url(../img/ico-tel.png) no-repeat;
  background-size: 100%;
  margin-right: 0.8rem;
}
.header-btn {
  width: 34.15%;
}
.header-btn ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-btn ul li {
  width: 50%;
}

@media screen and (max-width: 750px) {
  .header {
    padding: 2.6666666667vw 1.3333333333vw 2vw 2.6666666667vw;
  }
  .header-wrap {
    max-width: 100%;
  }
  .header-logo {
    width: 39.2vw;
  }
  .header-contact {
    display: none;
  }
  .header-btn {
    width: calc(100% - 39.2vw);
    padding-left: 2vw;
  }
}
/*==================================================
footer
==================================================*/
.footer {
  position: relative;
  width: 100%;
  background: #ffdd4f;
  padding: 3rem 0 2rem;
}
.footer .pagetop {
  display: none;
  position: fixed;
  bottom: 4rem;
  right: 4rem;
  width: 8rem;
  height: 8rem;
  z-index: 100;
}
.footer-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.footer-logo {
  width: 100%;
}
.footer-logo img {
  max-width: 31%;
  display: block;
  margin: 0 auto;
}
.footer-nav {
  margin-top: 2.5rem;
  width: max-content;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.footer-nav li {
  width: auto;
  margin-right: 2.6rem;
  font-size: 12px;
  line-height: 1.55;
}
.footer-nav li:last-of-type {
  margin-right: 0;
}
.footer-copy {
  margin-top: 2.3rem;
  padding-top: 2.3rem;
  display: block;
  text-align: center;
  border-top: 1px solid #fff1b5;
  font-size: 12px;
  line-height: 1.55;
}
.footer-fiexd {
  display: none;
}

@media screen and (max-width: 750px) {
  .footer {
    padding: 6.6666666667vw 0 22vw;
  }
  .footer .pagetop {
    display: none;
    position: fixed;
    bottom: 20vw;
    right: 3.3333333333vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
  }
  .footer-wrap {
    max-width: 100%;
  }
  .footer-logo img {
    max-width: 48vw;
  }
  .footer-nav {
    width: 100%;
    max-width: 100%;
    margin-top: 4.6666666667vw;
  }
  .footer-nav li {
    width: 100%;
    text-align: center;
    margin-right: 0;
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
  }
  .footer-nav li:first-of-type {
    margin-top: 0;
  }
  .footer-copy {
    margin-top: 4vw;
    padding-top: 4vw;
    font-size: 2.6666666667vw;
  }
  .footer-fiexd {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    z-index: 100;
  }
  .footer-fiexd ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .footer-fiexd ul li {
    width: 33.3333333333%;
  }
}
.fade-in-top {
  opacity: 0;
}

.fade-in-top.fadeInTop {
  animation: fadeInTop 0.5s ease 0s 1 normal;
  opacity: 1;
}

/* fadeIn */
@keyframes fadeInTop {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
  }
}
section {
  position: relative;
  width: 100%;
}

/*==================================================
content
==================================================*/
.content {
  position: relative;
  width: 100%;
}

/*==================================================
main
==================================================*/
.main {
  position: relative;
  width: 100%;
  padding: 0 4rem;
  background: url(../img/main-bg.jpg) no-repeat;
  background-size: cover;
}
.main-wrap {
  position: relative;
  width: 100%;
  max-width: 1350px;
  margin: 0 auto;
  padding: 4rem 0 17rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.main-area {
  width: 14.44%;
  position: absolute;
  top: 1rem;
  right: 4rem;
  z-index: 2;
}
.main-text {
  width: 100%;
  max-width: 74.07%;
}
.main-img {
  max-width: 37.04%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.main-img figure {
  width: 100%;
}
.main-circle {
  width: 100%;
  position: absolute;
  bottom: -5rem;
  left: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: flex-end;
  z-index: 2;
}
.main-circle-character {
  width: 16.5rem;
}
.main-circle ul {
  width: calc(100% - 16.5rem);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.main-circle ul li {
  width: 21.3rem;
  margin-right: 0.5rem;
}
.main-circle ul li:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 750px) {
  .main {
    padding: 5.0666666667vw 0 0;
    background: url(../img/main-bg-sp.jpg) no-repeat;
    background-size: cover;
  }
  .main-wrap {
    max-width: 100%;
    padding: 0;
    flex-wrap: wrap;
  }
  .main-area {
    width: 34.5333333333vw;
    position: absolute;
    top: unset;
    bottom: 40.5333333333vw;
    right: 0;
    z-index: 2;
  }
  .main-text {
    width: 100%;
    max-width: 100%;
  }
  .main-img {
    max-width: 100%;
    position: static;
    margin-top: -8vw;
  }
  .main-img figure {
    width: 100%;
    max-width: 79.7333333333vw;
    margin: 0;
    margin-left: 4vw;
  }
  .main-circle {
    bottom: -7rem;
  }
  .main-circle-character {
    display: none;
  }
  .main-circle ul {
    width: 100%;
    padding: 0 4vw;
    justify-content: space-between;
  }
  .main-circle ul li {
    width: calc(33.3333333333% - 0.4vw);
    margin-right: 0;
  }
}
/*==================================================
contact
==================================================*/
.contact {
  padding: 7.5rem 4rem 7rem;
  /* テキストボックス */
  /* テキストエリア */
  /* チェックボックス */
  /* 送信ボタン */
  /* プレイスホルダー */
  /* エラー */
}
.contact.bg-yellow {
  background: #fff1b5;
  padding: 10rem 4rem 9.5rem;
}
.contact-wrap {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.contact-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-title h2 {
  width: 100%;
  max-width: 59.18%;
}
.contact-box {
  width: 100%;
  border: 3px solid #ff6103;
  border-radius: 1rem;
}
.contact-box-head {
  position: relative;
  width: 100%;
  padding: 2rem 2rem 1.5rem 3.5rem;
  background: url(../img/contact-head-bg.png) no-repeat;
  background-size: cover;
  background-position: top center;
}
.contact-box-head:after {
  content: "";
  display: inline-block;
  width: 18.8rem;
  height: 12.4rem;
  background: url(../img/contact-head-item.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: -1rem;
  z-index: 0;
}
.contact-box-head h2 {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 29px;
  font-weight: 900;
  line-height: 1;
  color: #fff;
}
.contact-box-head h2 span {
  display: inline-block;
  padding: 1.2rem 2.2rem;
  margin-left: 2.5rem;
  font-size: 30px;
  font-weight: 900;
  color: #222222;
  background: #fff;
  border-radius: 1rem;
}
.contact-box-body {
  width: 100%;
  background: #fff;
  padding: 2.2rem 4rem 4rem;
  border-radius: 0 0 1rem 1rem;
}
.contact-box-tit {
  display: block;
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
}
.contact-box-tel {
  width: 100%;
  text-align: center;
  margin-top: 2rem;
}
.contact-box-tel span {
  position: relative;
  font-size: 7rem;
  font-weight: bold;
  color: #ff6000;
  display: inline-flex;
  align-items: center;
}
.contact-box-tel span:before {
  content: "";
  display: inline-block;
  width: 4.372rem;
  height: 4.372rem;
  background: url(../img/ico-tel.png) no-repeat;
  background-size: 100%;
  margin-right: 1.8rem;
}
.contact-box-cap {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
}
.contact-box-btn {
  width: 100%;
  max-width: 860px;
  margin: 1.5rem auto 0;
}
.contact-box-btn ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.contact-box-btn ul li {
  width: calc(50% - 1.5rem);
}
.contact-box-area {
  width: 100%;
  max-width: 860px;
  margin: 2.5rem auto 0;
}
.contact-box-area-tit {
  width: 100%;
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 900;
}
.contact-box-area-tit:before, .contact-box-area-tit:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #000000;
}
.contact-box-area-tit:before {
  margin-right: 5rem;
}
.contact-box-area-tit:after {
  margin-left: 5rem;
}
.contact-box-area-txt {
  display: block;
  text-align: center;
  font-size: 2.2rem;
  line-height: 1.35;
  font-weight: 400;
  margin-top: 3rem;
}
.contact-form {
  width: 100%;
  max-width: 900px;
  margin: 4.5rem auto 0;
  background: #fff;
  border-radius: 1rem;
  padding: 6rem 7rem;
}
.contact-form-term {
  width: 100%;
  height: 95px;
  overflow: auto;
  margin-top: 4rem;
  padding: 2rem;
  background: #f8f8f8;
  border: 2px solid #cccccc;
}
.contact-form-term p {
  font-size: 1.4rem;
  line-height: 1.75;
}
.contact-form-agree {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 2.5rem;
}
.contact .step {
  margin-top: 50px;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.contact .step li {
  width: calc(33.3333333333% - 1.2rem);
  font-size: 1.8rem;
  color: #cccccc;
  font-size: 1.6rem;
  font-weight: 900;
  text-align: center;
}
.contact .step li:after {
  content: "";
  display: block;
  height: 1rem;
  margin-top: 1.8rem;
  background-color: #cccccc;
  border-radius: 5em;
}
.contact .step li.active {
  color: #000;
}
.contact .step li.active:after {
  background-color: #ff6623;
}
.contact form > dl {
  margin-top: 60px;
  text-align: left;
}
.contact form > dl dt {
  margin-top: 3rem;
  font-size: 1.8rem;
  font-weight: 900;
}
.contact form > dl dt .small {
  font-size: 16px;
  font-weight: 500;
}
.contact form > dl dt.hissu:after {
  content: "必須";
  display: inline-block;
  vertical-align: 0.2em;
  margin-left: 1.5rem;
  padding: 0.5rem 0.8rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  background-color: #f04900;
  border-radius: 0.5rem;
}
.contact form > dl dd {
  margin-top: 1.2rem;
}
.contact form > dl dd ul {
  display: block;
}
.contact form > dl dd ul li {
  width: 100%;
  margin: 1rem 0;
  display: inline-flex;
  align-items: center;
}
.contact form > dl dd ul li label {
  display: inline-flex;
  align-items: center;
  font-size: clamp(14px, 1.6rem, 20px);
  font-weight: 500;
  line-height: 1;
}
.contact form > dl dd ul li input[type=radio] {
  position: relative;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 20px;
  min-height: 20px;
  max-height: 20px;
  background-color: #fffae4;
  border: 1px solid #ccc;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  margin-right: 1.3rem;
}
.contact form > dl dd ul li input[type=radio]:checked {
  border-color: #ff6623;
}
.contact form > dl dd ul li input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  min-width: 12px;
  max-width: 12px;
  height: 12px;
  min-height: 12px;
  max-height: 12px;
  border-radius: 50%;
  background: #ff6623;
  content: "";
}
.contact form > dl dd ul li span {
  margin-left: 1rem;
  font-size: 1.8rem;
  font-weight: 400;
}
.contact form > dl dd table {
  width: 100%;
}
.contact form > dl dd table th {
  width: 8em;
  line-height: 1.3;
  font-size: 1.8rem;
  font-weight: normal;
}
.contact form > dl dd table td {
  padding: 1% 0;
}
.contact form > dl dd table td .hissu {
  display: inline-block;
  margin-left: 1em;
  padding: 0 0.5em;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  background-color: #ff6b71;
}
.contact form > dl dd a {
  display: inline-block;
  margin-bottom: 0.5em;
  font-weight: 500;
  text-decoration: underline;
}
.contact input[type=text],
.contact input[type=email],
.contact input[type=tel] {
  width: 100%;
  height: 50px;
  padding: 0 1em;
  font-size: 1.8rem;
  background-color: #fffae4;
  border: 2px solid #ccc;
  border-radius: 5px;
  outline: none;
  margin-top: 1.2rem;
}
.contact input[type=text].short,
.contact input[type=email].short,
.contact input[type=tel].short {
  width: 40%;
}
.contact dd.file {
  width: 100%;
  display: inline-flex;
  align-items: center;
}
.contact dd.file span#file-name {
  width: auto;
  padding-left: 1.5rem;
}
.contact input[type=file] {
  display: none; /* デフォルトのfile inputを非表示にする */
}
.contact #file-reset {
  margin-left: 10px;
  background-color: #f44336; /* 赤色の背景 */
  color: white;
  border: none;
  font-size: 10px;
  width: 50px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.contact #file-reset:hover {
  background-color: #d32f2f; /* ホバー時の色変更 */
}
.contact input[type=file] + label {
  display: block;
  text-align: center;
  min-width: 25.2rem;
  max-width: 25.2rem;
  background-color: #999;
  color: #fff;
  padding: 1.6rem 2rem;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: bold;
}
.contact input[type=file]:focus + label {
  outline: none;
}
.contact input[type=file]:hover + label {
  background-color: #888;
}
@media screen and (max-width: 480px) {
  .contact input[type=text],
  .contact input[type=email],
  .contact input[type=tel] {
    font-size: 16px;
  }
}
.contact textarea {
  width: 100%;
  min-height: 160px;
  font-size: 1.8rem;
  padding: 1em;
  background-color: #fffae4;
  border: 2px solid #ccc;
  border-radius: 5px;
  vertical-align: bottom;
}
@media screen and (max-width: 480px) {
  .contact textarea {
    min-height: 180px;
    font-size: 16px;
  }
}
.contact input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
  appearance: none;
  width: 2.9rem;
  height: 2.9rem;
  background-color: #fffae4;
  border: 2px solid #cccccc;
  border-radius: 0;
  vertical-align: middle;
  cursor: pointer;
}
.contact input[type=checkbox]:checked:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0.4em;
  content: "";
  width: 0.8rem;
  height: 1.4rem;
  border-right: 3px solid #ff6b71;
  border-bottom: 3px solid #ff6b71;
  -webkit-transform: rotate(52deg) skew(8deg);
  transform: rotate(52deg) skew(8deg);
  background-color: transparent;
  border-radius: 0;
}
.contact input[type=checkbox] + span {
  display: inline-block;
  vertical-align: middle;
  margin-left: 0.5em;
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: bold;
}
.contact button[type=submit] {
  width: 100%;
  margin-top: 4.5rem;
  cursor: pointer;
  background: transparent;
  border: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.contact input::placeholder,
.contact textarea::placeholder {
  color: #999999;
}
.contact input:-ms-input-placeholder,
.contact textarea::placeholder {
  color: #999999;
}
.contact input::-ms-input-placeholder,
.contact textarea::placeholder {
  color: #999999;
}
.contact form label.error {
  margin: 1rem 0 0;
  color: red;
  display: block;
  font-weight: bold;
}

/* .confirm */
.confirm {
  padding: 90px 0;
}

.confirm p {
  font-size: 1.8rem;
}

.confirm p .red {
  margin-top: 30px;
  display: block;
  font-size: 38px;
  color: #f00;
}

.confirm form {
  max-width: 1020px;
  margin-top: 60px;
  padding: 5% 6%;
  font-size: 17px;
  background-color: #fff;
}

.confirm form > dl {
  margin-top: 0;
}

.confirm dl > dt {
  margin: 0;
  padding: 1.5em 2.5em;
  font-size: 17px;
  font-weight: bold;
  float: left;
}

.confirm dl > dd {
  margin: 0;
  padding: 1.5em 0 1.5em 16em;
  border-bottom: 1px solid #ddd;
}

.confirm dl > dd:first-of-type {
  border-top: 1px solid #ddd;
}

.confirm .contact_btn {
  position: relative;
}

.confirm .contact_btn button[type=button] {
  font-size: 20px;
  font-weight: 500;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(50%);
  cursor: pointer;
}

.confirm .contact_btn button[type=button] img {
  margin-right: 0.5em;
  vertical-align: -0.1em;
}

/* .thanks */
.thanks {
  min-height: 80vh;
  padding: 90px 0;
}

.thanks .lead {
  line-height: 2.1;
  margin-top: 50px;
  font-size: 1.8rem;
}

.thanks dl {
  max-width: 1020px;
  line-height: 2;
  margin-top: 50px;
  padding: 50px 80px;
  font-size: 1.8rem;
  text-align: left;
  background-color: #fff;
}

.thanks dl dd ul {
  margin-top: 1.8em;
}

.thanks a {
  display: inline-block;
  margin-top: 50px;
}

.thanks h2 img,
.confirm h2 img {
  max-width: 1020px;
}

@media screen and (max-width: 1024px) {
  .confirm .contact_btn {
    position: static;
  }
  .confirm .contact_btn button[type=button] {
    display: block;
    width: 6em;
    margin: 1em auto 0;
    position: static;
    left: auto;
    top: auto;
    transform: none;
  }
}
@media screen and (max-width: 980px) {
  .contact-box-head h2 {
    font-size: 4.4rem;
  }
  .contact-box-head h2 span {
    font-size: 4.6rem;
  }
}
@media screen and (max-width: 750px) {
  .contact {
    padding: 17.3333333333vw 2.6666666667vw 10.6666666667vw;
  }
  .contact.bg-yellow {
    padding: 12vw 2.6666666667vw;
  }
  .contact-wrap {
    max-width: 100%;
  }
  .contact-title h2 {
    max-width: 56.4vw;
  }
  .contact-box-head {
    padding: 4vw 4vw 3.3333333333vw;
  }
  .contact-box-head:after {
    width: 20.1333333333vw;
    height: 13.3333333333vw;
    right: 0;
  }
  .contact-box-head h2 {
    font-size: 5.8666666667vw;
    display: block;
    text-align: center;
  }
  .contact-box-head h2 span {
    padding: 1.6vw 4.6666666667vw;
    margin-left: 0;
    font-size: 4vw;
    margin-top: 3.3333333333vw;
  }
  .contact-box-body {
    padding: 4vw 4vw 5.3333333333vw;
  }
  .contact-box-tit {
    width: 100%;
    display: flex;
    align-items: center;
    font-size: 3.7333333333vw;
    font-weight: 900;
  }
  .contact-box-tit:before, .contact-box-tit:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #000000;
  }
  .contact-box-tit:before {
    margin-right: 5.3333333333vw;
  }
  .contact-box-tit:after {
    margin-left: 5.3333333333vw;
  }
  .contact-box-tel {
    margin-top: 3.3333333333vw;
  }
  .contact-box-tel span {
    font-size: 9.0666666667vw;
  }
  .contact-box-tel span:before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    background: url(../img/ico-tel.png) no-repeat;
    background-size: 100%;
    margin-right: 2.4vw;
  }
  .contact-box-cap {
    font-size: 2.5333333333vw;
    margin-top: 3.3333333333vw;
  }
  .contact-box-btn {
    max-width: 100%;
    margin: 4vw auto 0;
  }
  .contact-box-btn ul li {
    width: 100%;
    margin-top: 4vw;
  }
  .contact-box-btn ul li:first-of-type {
    margin-top: 0;
  }
  .contact-box-area {
    max-width: 100%;
    margin: 6vw auto 0;
  }
  .contact-box-area-tit {
    font-size: 3.7333333333vw;
  }
  .contact-box-area-tit:before {
    margin-right: 5.3333333333vw;
  }
  .contact-box-area-tit:after {
    margin-left: 5.3333333333vw;
  }
  .contact-box-area-txt {
    font-size: 4vw;
    margin-top: 3.3333333333vw;
  }
  .contact-form {
    max-width: 100%;
    margin: 7.3333333333vw auto 0;
    padding: 7.3333333333vw 8vw;
  }
  .contact-form-term {
    height: 18.9333333333vw;
    margin-top: 5.6vw;
    padding: 4vw 2.6666666667vw;
  }
  .contact-form-term p {
    font-size: 2.8vw;
  }
  .contact-form-agree {
    margin-top: 5.0666666667vw;
  }
  .contact .step {
    margin-top: 0;
  }
  .contact .step li {
    width: calc(33.3333333333% - 1.3333333333vw);
    font-size: 3.0666666667vw;
  }
  .contact .step li:after {
    height: 1.0066666667vw;
    margin-top: 1.3333333333vw;
  }
  .contact form > dl {
    margin-top: 6%;
  }
  .contact form > dl dt {
    font-size: 4vw;
    margin-top: 6vw;
  }
  .contact form > dl dt .small {
    font-size: 2.8vw;
  }
  .contact form > dl dt.hissu:after {
    font-size: 2.4vw;
  }
  .contact form > dl dd {
    margin-top: 0;
  }
  .contact form > dl dd ul {
    display: block;
    margin-top: 2.6666666667vw;
  }
  .contact form > dl dd ul li {
    width: 100%;
    margin: 1.3333333333vw 0;
  }
  .contact form > dl dd table {
    width: 100%;
  }
  .contact form > dl dd table th {
    width: 6.2em;
    font-size: 3.7333333333vw;
  }
  .contact form > dl dd table td .hissu {
    font-size: 2.4vw;
  }
  .contact form > dl dd a {
    font-size: 3.5vw;
  }
  .contact input[type=text],
  .contact input[type=email],
  .contact input[type=tel] {
    height: 10vw;
    font-size: 4vw;
  }
  .contact dd.file {
    flex-wrap: wrap;
  }
  .contact input[type=file] + label {
    width: 100%;
    max-width: 100%;
    margin-top: 2vw;
  }
  .contact dd.file span#file-name {
    font-size: 3vw;
    width: 100%;
    margin-top: 2vw;
    padding-left: 0;
  }
  .contact input[type=text].short,
  .contact input[type=email].short,
  .contact input[type=tel].short {
    width: 70%;
  }
  .contact textarea {
    font-size: 4vw;
    margin-top: 2vw;
  }
  .contact input[type=checkbox] + span {
    font-size: 4vw;
  }
  .contact input[type=checkbox]:checked:after {
    border-right: 0.6vw solid #f00;
    border-bottom: 0.6vw solid #f00;
  }
  .contact button[type=submit] {
    width: 100%;
    margin-top: 6.6666666667vw;
  }
  .thanks {
    padding: 9% 0;
  }
  .thanks .lead {
    margin-top: 5%;
    padding: 0 7%;
    font-size: 3.6vw;
    text-align: left;
  }
  .thanks dl {
    margin-top: 5%;
    padding: 5%;
    font-size: 3.6vw;
  }
  .thanks a {
    display: inline-block;
    margin-top: 9%;
    width: 86%;
  }
  .confirm {
    padding: 9% 0;
  }
  .confirm p {
    font-size: 3.6vw;
  }
  .confirm p .red {
    margin-top: 5%;
    font-size: 5vw;
  }
  .confirm form {
    margin-top: 6%;
    padding: 5%;
    font-size: 3.5vw;
  }
  .confirm dl > dt {
    padding: 1.2em 0 0;
    font-size: 3.5vw;
    float: none;
  }
  .confirm dl > dd {
    padding: 0 0 1.2em;
  }
  .confirm dl > dd:first-of-type {
    border-top: none;
  }
  .confirm .contact_btn button[type=button] {
    font-size: 3.4vw;
  }
  .confirm .contact_btn button[type=button] img {
    width: 1.5em;
  }
  /* .thanks */
  .thanks {
    min-height: 80vh;
    padding: 90px 0;
  }
  .thanks .lead {
    line-height: 2.1;
    margin-top: 50px;
    font-size: 1.8rem;
  }
  .thanks dl {
    max-width: 1020px;
    line-height: 2;
    margin-top: 50px;
    padding: 50px 80px;
    font-size: 1.8rem;
    text-align: left;
    background-color: #fff;
  }
  .thanks dl dd ul {
    margin-top: 1.8em;
  }
  .thanks a {
    display: inline-block;
    margin-top: 50px;
  }
}
/*==================================================
worries
==================================================*/
.worries-title {
  position: relative;
  width: 100%;
  background: #6a2d00;
  padding: 0 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.worries-title:after {
  content: "";
  display: inline-block;
  width: 9.4rem;
  height: 4.5rem;
  background: url(../img/ico-title-arrow.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -2.5rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
.worries-title h2 {
  position: relative;
  display: inline-block;
  padding: 2.8rem 0 3rem;
  width: 100%;
  max-width: 36.25%;
}
.worries-title h2:after {
  content: "";
  display: inline-block;
  width: 25.3rem;
  height: 18.1rem;
  position: absolute;
  bottom: 0;
  right: -15rem;
  background: url(../img/worries-title-item.png) no-repeat;
  background-size: 100%;
}
.worries-title h2 img {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0 auto;
  display: block;
}
.worries-wrap {
  position: relative;
  width: 100%;
  background: #fff1b5;
  padding: 6rem 4rem 10rem;
  background: #fff1b5 url(../img/worries-bg.png) no-repeat;
  background-size: 100%;
  background-position: top center;
}
.worries-item {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.worries-item-list {
  width: calc(33.3333333333% - 2rem);
  margin-right: 3rem;
  margin-bottom: 3rem;
}
.worries-item-list:nth-child(3n) {
  margin-right: 0;
}
.worries-item-list p {
  font-size: 2.5rem;
  font-weight: bold;
  margin-top: 2.4rem;
  line-height: 1.4;
  text-align: center;
}
.worries .arrow {
  width: 100%;
  text-align: center;
}
.worries .arrow img {
  width: 100%;
  max-width: 43px;
  display: block;
  margin: 0 auto;
}
.worries-msg {
  width: 100%;
  max-width: 900px;
  margin: -0.5rem auto 0;
}

@media screen and (max-width: 750px) {
  .worries-title {
    padding: 0 2.6666666667vw;
  }
  .worries-title:after {
    width: 12.5333333333vw;
    height: 6vw;
    bottom: -4.6666666667vw;
    z-index: 1;
  }
  .worries-title h2 {
    max-width: 100%;
  }
  .worries-title h2:after {
    width: 40.2666666667vw;
    height: 28.9333333333vw;
    right: -10.6666666667vw;
  }
  .worries-wrap {
    padding: 7.3333333333vw 2.6666666667vw 13.3333333333vw;
  }
  .worries-item {
    max-width: 100%;
  }
  .worries-item-list {
    width: calc(50% - 2vw);
    margin-right: 4vw;
    margin-bottom: 5.3333333333vw;
  }
  .worries-item-list:nth-child(3n) {
    margin-right: 4vw;
  }
  .worries-item-list:nth-child(2n) {
    margin-right: 0;
  }
  .worries-item-list p {
    font-size: 4vw;
    margin-top: 3.3333333333vw;
  }
  .worries .arrow img {
    max-width: 7.6vw;
  }
  .worries-msg {
    max-width: 100%;
    margin: -18.6666666667vw auto 0;
  }
}
/*==================================================
reason
==================================================*/
.reason {
  padding: 7.5rem 4rem 6rem;
  background: #fff;
}
.reason-wrap {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
.reason-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.reason-title h2 {
  width: 100%;
  max-width: 70%;
}
.reason-item {
  width: 100%;
  margin-top: 8rem;
}
.reason-item-list {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: 5rem;
}
.reason-item-list:first-of-type {
  margin-top: 0;
}
.reason-item-list.reverse {
  flex-direction: row-reverse;
}
.reason-item-list.reverse .reason-item-list-text {
  padding-left: 0;
  padding-right: 5rem;
}
.reason-item-list-thumb {
  width: 45.92%;
}
.reason-item-list-text {
  width: 54.08%;
  padding-left: 5rem;
}
.reason-item-list-text h3 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.reason-item-list-text p {
  font-size: 1.9rem;
  line-height: 1.85;
  margin-top: 3rem;
  font-weight: 400;
}
.reason-item-list-num {
  width: 66px;
  min-width: 66px;
  height: 66px;
  min-height: 66px;
  background: #ff6623;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 3px 7px 10px rgba(0, 0, 0, 0.33);
}
.reason-item-list-num span {
  display: block;
  text-align: center;
  color: #fff;
  font-weight: 900;
  line-height: 1;
}
.reason-item-list-num span.txt {
  font-size: 16px;
  padding-top: 6px;
}
.reason-item-list-num span.int {
  font-size: 30px;
  margin-top: 1px;
}
.reason-item-list-tit {
  width: calc(100% - 66px);
  margin-left: 1.8rem;
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 1.35;
  display: block;
}
.reason-item-list-tit span.liner {
  display: inline;
}

@media screen and (max-width: 750px) {
  .reason {
    padding: 13.3333333333vw 0;
  }
  .reason-wrap {
    max-width: 100%;
  }
  .reason-title h2 {
    max-width: 59.8666666667vw;
  }
  .reason-item {
    margin-top: 8vw;
  }
  .reason-item-list {
    margin-top: 10.6666666667vw;
  }
  .reason-item-list:first-of-type {
    margin-top: 0;
  }
  .reason-item-list.reverse {
    flex-direction: unset;
    padding-left: 5.3333333333vw;
    padding-right: 0;
  }
  .reason-item-list.reverse .reason-item-list-text {
    padding: 0 5.3333333333vw;
    padding-left: 2.5333333333vw;
  }
  .reason-item-list-thumb {
    width: 100%;
    padding-right: 5.3333333333vw;
  }
  .reason-item-list-text {
    width: 100%;
    padding: 0 5.3333333333vw 0 7.8666666667vw;
    margin-top: 3.7333333333vw;
  }
  .reason-item-list-text p {
    font-size: 4vw;
    margin-top: 5.3333333333vw;
  }
  .reason-item-list-num {
    width: 13.3333333333vw;
    min-width: 13.3333333333vw;
    height: 13.3333333333vw;
    min-height: 13.3333333333vw;
  }
  .reason-item-list-num span.txt {
    font-size: 3.0666666667vw;
    padding-top: 1.6vw;
  }
  .reason-item-list-num span.int {
    font-size: 5.6vw;
    margin-top: 0.4vw;
  }
  .reason-item-list-tit {
    width: calc(100% - 13.3333333333vw);
    margin-left: 4vw;
    font-size: 6.6666666667vw;
  }
}
/*==================================================
service
==================================================*/
.service {
  padding: 10rem 4rem 12rem;
  background: url(../img/service-bg.png) no-repeat;
  background-size: 100%;
  background-size: cover;
}
.service-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.service-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.service-title h2 {
  width: 100%;
  max-width: 36.11%;
}
.service-item {
  width: 100%;
  margin-top: 5rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
.service-item-list {
  width: calc(50% - 1.5rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  border: 3px solid #ff6103;
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  margin-right: 3rem;
}
.service-item-list:nth-child(2n) {
  margin-right: 0;
}
.service-item-list-thumb {
  width: 16.5rem;
}
.service-item-list-text {
  width: calc(100% - 16.5rem);
  padding: 0 2.2rem;
}
.service-item-list-text h3 {
  font-size: 2.5rem;
  color: #ff6103;
  font-weight: 900;
  line-height: 1;
}
.service-item-list-text p {
  font-size: 1.6rem;
  line-height: 1.68;
  margin-top: 2rem;
  font-weight: 400;
}

@media screen and (max-width: 750px) {
  .service {
    padding: 12vw 2.6666666667vw;
    background: url(../img/service-bg-sp.jpg) no-repeat;
    background-size: 100%;
    background-position: bottom;
    background-size: cover;
  }
  .service-wrap {
    max-width: 100%;
  }
  .service-title h2 {
    max-width: 51.2vw;
  }
  .service-item {
    width: 100%;
    margin-top: 7.2vw;
  }
  .service-item-list {
    width: 100%;
    margin-bottom: 7.6vw;
    margin-right: 0;
  }
  .service-item-list-thumb {
    width: 35.2vw;
  }
  .service-item-list-text {
    width: calc(100% - 35.2vw);
    padding: 0 4vw 0 5.3333333333vw;
  }
  .service-item-list-text h3 {
    font-size: 4.2666666667vw;
  }
  .service-item-list-text p {
    font-size: 3.7333333333vw;
    margin-top: 3.6vw;
  }
}
/*==================================================
price
==================================================*/
.price {
  padding: 10rem 4rem 12rem;
  background: #ffdd4f;
}
.price-wrap {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}
.price-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.price-title h2 {
  width: 100%;
  max-width: 40.63%;
}
.price h3 {
  width: 100%;
  display: block;
  text-align: center;
  margin-top: 4.5rem;
}
.price h3 span {
  width: 100%;
  max-width: 26.2rem;
  height: 4.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff6103;
  border: 3px solid #fff;
  border-radius: 5em;
  color: #fff;
  font-size: 2.7rem;
  font-weight: 900;
  line-height: 1;
}
.price-table {
  position: relative;
  width: 100%;
  border: 2px solid #000;
  margin-top: 2rem;
  z-index: 1;
}
.price-table:before {
  content: "";
  display: inline-block;
  width: 15.5rem;
  height: 20.4rem;
  background: url(../img/character.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: -17.8rem;
  left: 0;
  z-index: -1;
}
.price-table thead th {
  width: 50%;
  background: #fff1b5;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  border: 1px solid #000;
  padding: 2rem;
}
.price-table tbody tr td:last-of-type {
  text-align: center;
}
.price-table tbody td {
  background: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  text-align: left;
  border: 1px solid #000;
  padding: 3.5rem 2rem 3.5rem 4.5rem;
}
.price-table-cap {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.875;
}
.price-note {
  width: 100%;
  margin-top: 5rem;
  border: 3px solid #ff6103;
  background: #fff;
  border-radius: 1rem;
  padding: 2.5rem 4rem 7rem;
}
.price-note h3 {
  margin-top: 0;
}
.price-note h3 span {
  height: 6rem;
}
.price-note h4 {
  font-size: 2rem;
  line-height: 1.35;
  font-weight: bold;
  margin-top: 3.5rem;
}
.price-note h4:first-of-type {
  margin-top: 2.5rem;
}
.price-note p {
  margin-top: 1rem;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.875;
}

@media screen and (max-width: 750px) {
  .price {
    padding: 12vw 2.6666666667vw 13.3333333333vw;
  }
  .price-wrap {
    max-width: 100%;
  }
  .price-title h2 {
    max-width: 52.5333333333vw;
  }
  .price h3 {
    margin-top: 8.5333333333vw;
  }
  .price h3 span {
    max-width: 44.4vw;
    height: 7.3333333333vw;
    font-size: 4.6666666667vw;
  }
  .price-table {
    margin-top: 6.6666666667vw;
    z-index: 1;
  }
  .price-table:before {
    width: 20.6666666667vw;
    height: 27.2vw;
    top: -23.4666666667vw;
  }
  .price-table thead th {
    font-size: 4vw;
    padding: 3.7333333333vw 4vw;
  }
  .price-table tbody tr td:last-of-type {
    text-align: right;
  }
  .price-table tbody td {
    font-size: 4vw;
    padding: 3.7333333333vw 4vw;
  }
  .price-table-cap {
    margin-top: 3.3333333333vw;
    font-size: 2.1333333333vw;
    font-weight: 400;
    line-height: 1.875;
  }
  .price-note {
    margin-top: 5.3333333333vw;
    padding: 4vw;
  }
  .price-note h3 {
    margin-top: 0;
  }
  .price-note h3 span {
    max-width: 44.4vw;
    height: 8.8vw;
    font-size: 4.6666666667vw;
  }
  .price-note h4 {
    font-size: 3.3333333333vw;
    margin-top: 6vw;
  }
  .price-note h4:first-of-type {
    margin-top: 3.3333333333vw;
  }
  .price-note p {
    font-size: 2.9333333333vw;
  }
}
/*==================================================
flow
==================================================*/
.flow {
  padding: 9.5rem 4rem;
  background: #fff1b5;
}
.flow-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.flow-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.flow-title h2 {
  width: 100%;
  max-width: 36.33%;
}
.flow-list {
  position: relative;
  width: 100%;
  margin-top: 5rem;
  border: 3px solid #ffdd4f;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  border-radius: 1rem;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
}
.flow-list:after {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 1.8rem;
  background: url(../img/ico-flow-arrow.png) no-repeat;
  background-size: 100%;
  position: absolute;
  bottom: -4rem;
  left: 50%;
  transform: translate(-50%, 0);
}
.flow-list:last-of-type:after {
  display: none;
}
.flow-list:first-of-type {
  margin-top: 7.5rem;
}
.flow-list-title {
  width: 33.33%;
  background: #ffdd4f;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.2rem 1.8rem;
}
.flow-list-title span {
  display: inline-block;
}
.flow-list-title span.ico {
  width: 6.8rem;
  height: 6.8rem;
}
.flow-list-title span.txt {
  width: calc(100% - 6.8rem);
  padding-left: 2rem;
  font-size: 2rem;
  line-height: 1.45;
  color: #f04900;
  font-weight: 900;
}
@media screen and (min-width: 1441px) {
  .flow-list-title span.txt {
    font-size: 1.9rem;
  }
}
.flow-list-text {
  width: 66.67%;
  padding: 0 3rem;
}
.flow-list-text p {
  font-size: 1.8rem;
  line-height: 1.66667;
  font-weight: 400;
}

@media screen and (max-width: 750px) {
  .flow {
    padding: 12vw 2.6666666667vw 13.3333333333vw;
  }
  .flow-wrap {
    max-width: 100%;
  }
  .flow-title h2 {
    max-width: 51.4666666667vw;
  }
  .flow-list {
    margin-top: 7.2vw;
  }
  .flow-list:after {
    width: 5.2vw;
    height: 3.0666666667vw;
    bottom: -6.4vw;
  }
  .flow-list:first-of-type {
    margin-top: 10.6666666667vw;
  }
  .flow-list-title {
    width: 100%;
    padding: 2.9333333333vw 4vw;
  }
  .flow-list-title span.ico {
    width: 9.0666666667vw;
    height: 9.0666666667vw;
  }
  .flow-list-title span.txt {
    width: calc(100% - 9.0666666667vw);
    padding-left: 2.6666666667vw;
    font-size: 4.6666666667vw;
  }
  .flow-list-text {
    width: 100%;
    padding: 4.6666666667vw 4vw;
  }
  .flow-list-text p {
    font-size: 3.7333333333vw;
  }
}
/*==================================================
area
==================================================*/
.area {
  padding: 9.5rem 4rem 8rem;
  background: #fff;
}
.area-wrap {
  width: 100%;
  max-width: 755px;
  margin: 0 auto;
}
.area-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.area-title h2 {
  width: 100%;
  max-width: 50.33%;
}
.area-img {
  width: 100%;
  margin-top: 4rem;
}
.area h3 {
  width: 100%;
  display: block;
  text-align: center;
  margin-top: 5rem;
}
.area h3 span {
  width: 100%;
  max-width: 26.2rem;
  box-shadow: 3px 7px 10px rgba(0, 0, 0, 0.35);
  height: 4.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff6103;
  border: 3px solid #fff;
  border-radius: 5em;
  color: #fff;
  font-size: 2.7rem;
  font-weight: 900;
  line-height: 1;
}
.area p {
  text-align: center;
  margin-top: 3.5rem;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.875;
}
.area p span {
  display: block;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 1rem;
}

@media screen and (max-width: 750px) {
  .area {
    padding: 12vw 4vw 13.3333333333vw;
  }
  .area-wrap {
    max-width: 100%;
  }
  .area-title h2 {
    max-width: 59.8666666667vw;
  }
  .area-img {
    width: 100%;
    margin-top: 6.6666666667vw;
  }
  .area h3 {
    margin-top: 7.3333333333vw;
  }
  .area h3 span {
    max-width: 44.4vw;
    height: 8.8vw;
    font-size: 4.6666666667vw;
  }
  .area p {
    margin-top: 6vw;
    font-size: 4vw;
  }
  .area p span {
    font-size: 4vw;
    margin-bottom: 1.3333333333vw;
  }
}
/*==================================================
case
==================================================*/
.case {
  padding: 10.5rem 10rem 13rem;
  background: #fff1b5;
}
.case-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.case-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.case-title h2 {
  width: 100%;
  max-width: 23.08%;
}
.case-slider {
  position: relative;
  width: 100%;
  margin-top: 5rem;
}
.case-slider .slick-track {
  display: flex;
}
.case-slider-list {
  background: #fff;
  margin: 0 1.5rem;
  border-radius: 1rem;
  border: 3px solid #ff6103;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
  padding: 4rem 2.8rem 7rem;
  min-height: 56rem !important;
}
.case-slider-list figure {
  text-align: center;
}
.case-slider-list figure img {
  width: 100%;
  max-width: 110px;
  margin: 0 auto;
  display: block;
}
.case-slider-txt {
  display: block;
  margin-top: 4rem;
  font-size: 2.2rem;
  line-height: 1.59;
  color: #ff6103;
  font-weight: bold;
}
.case-slider-uservoice {
  font-size: 1.8rem;
  line-height: 1.75;
  margin-top: 1.8rem;
  font-weight: 400;
}
.case-slider-uservoice span {
  font-weight: bold;
  display: block;
  margin-bottom: 2rem;
}
.case-slider .slick-prev:before,
.case-slider .slick-next:before {
  content: "";
  display: inline-block;
  width: 7.4rem;
  height: 7.4rem;
  opacity: 1;
}
.case-slider .slick-prev {
  left: -9rem;
  width: 7.4rem;
  height: 7.4rem;
}
.case-slider .slick-prev:before {
  background: url(../img/ico-slider-prev.png) no-repeat;
  background-size: 100%;
}
.case-slider .slick-next {
  right: -9rem;
  width: 7.4rem;
  height: 7.4rem;
}
.case-slider .slick-next:before {
  background: url(../img/ico-slider-next.png) no-repeat;
  background-size: 100%;
}

@media screen and (max-width: 750px) {
  .case {
    padding: 12vw 0 13.3333333333vw;
  }
  .case-wrap {
    max-width: 100%;
  }
  .case-title h2 {
    width: 100%;
    max-width: 43.6vw;
  }
  .case-slider {
    margin-top: 8vw;
  }
  .case-slider-list {
    margin: 0 3.2vw;
    padding: 8.6666666667vw 4.6666666667vw 9.3333333333vw;
    min-height: unset !important;
  }
  .case-slider-list figure img {
    max-width: 22vw;
  }
  .case-slider-txt {
    margin-top: 8vw;
    font-size: 4.4vw;
  }
  .case-slider-uservoice {
    font-size: 3.6vw;
    margin-top: 3.6vw;
  }
  .case-slider-uservoice span {
    margin-bottom: 4vw;
  }
  .case-slider .slick-prev:before,
  .case-slider .slick-next:before {
    width: 14.8vw;
    height: 14.8vw;
  }
  .case-slider .slick-prev {
    left: 1.3333333333vw;
    width: 14.8vw;
    height: 14.8vw;
    z-index: 2;
  }
  .case-slider .slick-next {
    right: 1.3333333333vw;
    width: 14.8vw;
    height: 14.8vw;
    z-index: 2;
  }
}
/*==================================================
faq
==================================================*/
.faq {
  padding: 10rem 4rem 10.5rem;
  background: #fff1b5;
}
.faq-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.faq-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq-title h2 {
  width: 100%;
  max-width: 38.78%;
}
.faq-list {
  width: 100%;
  margin-top: 4.5rem;
}
.faq-list-box {
  width: 100%;
  margin-top: 2.2rem;
  border: 3px solid #ffdd4f;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.35);
}
.faq-list-box:first-of-type {
  margin-top: 0;
}
.faq-list-box dt {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 3rem 8rem 2.5rem 2.5rem;
  background: #ffdd4f;
  cursor: pointer;
}
.faq-list-box dt.is-active:after {
  background: url(../img/ico-minus.png) no-repeat;
  background-size: 100%;
}
.faq-list-box dt:after {
  content: "";
  display: inline-block;
  width: 3.5rem;
  height: 3.5rem;
  background: url(../img/ico-plus.png) no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 3rem;
  transform: translate(0, -50%);
}
.faq-list-box dt span.q {
  font-size: 3rem;
  color: #ff6103;
  font-weight: 900;
  line-height: 1;
}
.faq-list-box dt span.txt {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 900;
  padding-left: 3.5rem;
}
.faq-list-box dd {
  width: 100%;
  display: none;
  padding: 2.5rem 8rem 2.5rem 2.5rem;
  background: #fff;
  border-radius: 0 0 1rem 1rem;
}
.faq-list-box dd div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.faq-list-box dd span.a {
  font-size: 3rem;
  color: #ff6103;
  font-weight: 900;
  line-height: 1;
}
.faq-list-box dd span.txt {
  font-size: 1.8rem;
  line-height: 1.6667;
  font-weight: 400;
  padding-left: 3.5rem;
}

@media screen and (max-width: 750px) {
  .faq {
    padding: 12vw 4vw 13.3333333333vw;
  }
  .faq-wrap {
    max-width: 100%;
  }
  .faq-title h2 {
    max-width: 58.2666666667vw;
  }
  .faq-list {
    margin-top: 8vw;
  }
  .faq-list-box {
    margin-top: 4.6666666667vw;
  }
  .faq-list-box dt {
    padding: 5.3333333333vw 12vw 5.3333333333vw 4vw;
    align-items: baseline;
  }
  .faq-list-box dt:after {
    width: 6vw;
    height: 6vw;
    right: 4vw;
  }
  .faq-list-box dt span.q {
    font-size: 5.0666666667vw;
  }
  .faq-list-box dt span.txt {
    font-size: 4vw;
    padding-left: 2.6666666667vw;
  }
  .faq-list-box dd {
    padding: 4.6666666667vw 4vw;
  }
  .faq-list-box dd div {
    align-items: baseline;
  }
  .faq-list-box dd span.a {
    font-size: 5.0666666667vw;
  }
  .faq-list-box dd span.txt {
    font-size: 3.7333333333vw 1.8rem;
    padding-left: 2.6666666667vw;
  }
}
/*==================================================
company
==================================================*/
.company {
  padding: 11rem 4rem 13rem;
  background: #fff;
}
.company-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}
.company-title {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.company-title h2 {
  width: 100%;
  max-width: 25.22%;
}
.company-lead {
  width: 100%;
  margin-top: 7rem;
  font-size: 1.8rem;
  line-height: 1.875;
  font-weight: 400;
}
.company-table {
  width: 100%;
  margin-top: 5rem;
}
.company-table tbody tr {
  border-top: 1px solid #cccccc;
}
.company-table tbody tr:last-of-type {
  border-bottom: 1px solid #cccccc;
}
.company-table tbody tr th {
  width: 28.89%;
  font-size: 1.8rem;
  line-height: 1.6667;
  padding: 3rem 2rem;
  vertical-align: middle;
  font-weight: bold;
}
.company-table tbody tr td {
  font-size: 1.8rem;
  line-height: 1.6667;
  padding: 3rem 2rem;
  font-weight: 400;
}

@media screen and (max-width: 750px) {
  .company {
    padding: 10.6666666667vw 4vw 13.3333333333vw;
  }
  .company-wrap {
    max-width: 100%;
  }
  .company-title h2 {
    max-width: 35.8666666667vw;
  }
  .company-lead {
    margin-top: 6.6666666667vw;
    font-size: 4vw;
  }
  .company-table {
    margin-top: 6vw;
  }
  .company-table tbody tr th {
    width: 30.6666666667vw;
    font-size: 4vw;
    padding: 3.2vw 0;
  }
  .company-table tbody tr td {
    font-size: 4vw;
    padding: 3.2vw 0 3.2vw 2.6666666667vw;
  }
}
/*# sourceMappingURL=style.css.map */