@charset "UTF-8";
/*============================================================
リセット
============================================================*/
/*! A Modern CSS Reset https://github.com/hankchizljaw/modern-css-reset*/
*, *::before, *::after {
  box-sizing: border-box;
}
body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}
/*============================================================
  デフォルト
  ============================================================*/
body {
  font-family: "Meirio", sans-serif;
  color: #2e2e2e;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
ul, ol {
  margin: 0;
  padding: 0;
}
ul {
  list-style: none;
}
a {
  text-decoration: none;
  word-wrap: break-word;
}
a:focus:not(:focus-visible) {
  outline: 0;
}
a:focus-visible {
  outline: 2px solid #ccc;
}
a, a img {
  transition: opacity 0.2s linear, color 0.2s linear, border 0.2s linear, background 0.2s linear;
  -webkit-tap-highlight-color: transparent;
}
img {
  max-width: 100%;
  height: auto;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
/*============================================================
  レイアウト
  ============================================================*/
.l-wrapper.is-fixed {
  position: fixed;
  right: 0;
  left: 0;
}
@-moz-document url-prefix() {}
.l-wrapper.is-fixed-footer {
  /*フッター下固定のため*/
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
_:-ms-lang(x)::-ms-backdrop, .l-wrapper.is-fixed-footer {
  display: block;
  position: relative;
}
/*----------------------------------------
  メインエリア
  ----------------------------------------*/
.l-main {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .l-main {
    padding: 46px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .l-main {
    margin: 0 auto;
  }
}
/*----------------------------------------
  ヘッダー
  ----------------------------------------*/
.type-column1-header {
  position: fixed;
  z-index: 10;
  top: 0;
  width: 100%;
  background: #fff;
  transition: 0.2s;
}
.type-column1-header.is-scroll {
  opacity: 0.85;
  box-shadow: 0 0 8px rgba(184, 184, 184, 0.8);
}
.type-pc .type-column1-header.is-scroll:hover {
  opacity: 1;
}
.header-inner {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 1040px;
  height: 60px;
  margin: 0 auto;
  padding: 0 20px;
  transition: 0.2s;
}
.is-scroll .header-inner {
  height: 46px;
}
.type-pc .is-scroll .header-inner:hover {
  height: 60px;
}
@media screen and (max-width: 767px) {
  .header-inner {
    min-width: 320px;
    max-width: none;
    padding: 0 50px 0 10px;
  }
}
@media screen and (min-width: 768px) {
  .nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: calc(100% - 160px);
  }
}
.header-link {
  display: flex;
}
@media screen and (max-width: 767px) {
  .header-link {
    flex-direction: column;
    align-items: center;
    margin: 32px 0 0;
  }
}
.header-link-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 126px;
  height: 38px;
  border-radius: 19px;
  font-size: 13px;
  color: #fff;
  letter-spacing: 2px;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .header-link-list a {
    width: 110px;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 767px) {
  .header-link .header-link-list a {
    width: 300px;
    height: 44px;
    border-radius: 22px;
    font-size: 16px;
  }
}
.header-link-list a.s-blue {
  background: #0066df;
}
.type-pc .header-link-list a.s-blue:hover {
  background: #0979ff;
}
.header-link-list a.s-green {
  background: #00b427;
}
.type-pc .header-link-list a.s-green:hover {
  background: #00ce2d;
}
.header-link-list + .header-link-list {
  margin: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .header-link-list + .header-link-list {
    margin: 12px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .header-link-list.sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header-link-list.sp-only {
    margin-left: auto;
  }
}
.type-pc .logo-header a:hover, .type-mobile .logo-header a:active {
  opacity: 0.7;
}
/*--- sp時メニュー -------------------*/
@media screen and (max-width: 767px) {
  .nav {
    display: none;
    position: fixed;
    z-index: 12;
    top: 60px;
    right: 0;
    width: 100%;
    padding: 20px 0 50px;
    background: #fff;
    transition: all 0.3s;
  }
}
.nav.is-visible {
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.1);
}
.menu-header {
  margin: 0 0 0 10px;
}
@media screen and (max-width: 767px) {
  .menu-header {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
}
/*--- pc時メニュー -------------------*/
.menu-list {
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .menu-list:nth-of-type(n+2) {
    margin: 0 0 0 10px;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .menu-list:first-of-type, .menu-list:last-of-type {
    display: none;
  }
  .menu-list:nth-of-type(n+3) {
    margin: 0 0 0 10px;
  }
}
@media screen and (max-width: 767px) {
  .menu-list {
    width: 100%;
    border: 2px solid #ccc;
    border-radius: 2px;
    transition: 0.2s;
    transform: skewX(-15deg);
  }
  .menu-list:nth-of-type(n+2) {
    margin: 12px 0 0;
  }
  .type-pc .menu-list:hover {
    background: #eee;
  }
}
.menu-list-link {
  position: relative;
  font-size: 14px;
  color: inherit;
}
.menu-list-link::before {
  display: inline-block;
  opacity: 0;
  position: absolute;
  top: 6px;
  left: calc(50% - 6px);
  width: 12px;
  height: 12px;
  border-radius: 6px;
  background: #ffd3cb;
  content: "";
  transition: 0.2s;
}
@media screen and (min-width: 768px) {
  .menu-list-link {
    display: block;
    padding: 20px 0;
  }
  .type-pc .menu-list-link:hover::before {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .menu-list-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    font-size: 16px;
    color: inherit;
    transform: skewX(15deg);
  }
  .type-pc .menu-list-link:hover {
    opacity: 0.8;
  }
  .menu-list-link:focus:not(:focus-visible) {
    outline: 0;
  }
  .menu-list-link:focus-visible {
    opacity: 0.8;
  }
}
/*--- メニュー開閉ボタン -------------------*/
.btn-menu {
  display: none;
  border: none;
}
@media screen and (max-width: 767px) {
  .btn-menu {
    display: flex;
    position: absolute;
    z-index: 13;
    right: 4px;
    width: 38px;
    height: 38px;
    border-radius: 2px;
    background: #fff;
    color: #2e2e2e;
    transform: translateY(-5px);
  }
  .btn-menu:hover {
    cursor: pointer;
  }
}
.btn-menu::after {
  position: absolute;
  bottom: -0.5em;
  left: 0;
  width: 38px;
  text-align: center;
  font-size: 10px;
  color: inherit;
  content: "menu";
}
_:-ms-lang(x)::-ms-backdrop, .btn-menu::after {
  bottom: 0;
}
.btn-menu.is-active::after {
  content: "close";
}
/*--- ハンバーガーライン -------------------*/
.type-pc .btn-menu:not(.is-active):hover .menubtn-line-top {
  top: 13px;
}
.type-pc .btn-menu:not(.is-active):hover .menubtn-line-bottom {
  top: 23px;
}
.btn-menu.is-active .menubtn-line-top {
  top: 48%;
  transform: translateY(0) scale(0);
}
.btn-menu.is-active .menubtn-line-middle::before {
  transform: rotate(45deg);
}
.btn-menu.is-active .menubtn-line-middle::after {
  transform: rotate(-45deg);
}
.btn-menu.is-active .menubtn-line-bottom {
  top: 48%;
  transform: translateY(0) scale(0);
}
.menubtn-line {
  display: block;
  position: absolute;
  left: 9px;
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: #2e2e2e;
  transition: 0.2s linear;
}
.menubtn-line-top {
  top: 12px;
  transform: scale(1);
}
.menubtn-line-middle {
  top: 18px;
  background: none;
}
.menubtn-line-middle::before, .menubtn-line-middle::after {
  display: block;
  position: absolute;
  width: 20px;
  height: 2px;
  background: #2e2e2e;
  content: "";
  transition: 0.2s linear;
  transform: rotate(0);
}
.menubtn-line-bottom {
  top: 24px;
  transform: scale(1);
}
/*----------------------------------------
  フッター
  ----------------------------------------*/
footer {
  padding: 52px 0;
  background: #222;
  color: #fff;
}
@media screen and (max-width: 767px) {
  footer {
    min-width: auto;
  }
}
.is-fixed-footer footer {
  margin-top: auto;
}
_:-ms-lang(x)::-ms-backdrop, .is-fixed-footer footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}
.footer-contact {
  padding: 0 40px;
}
@media screen and (min-width: 768px) {
  .footer-contact {
    display: flex;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .footer-contact {
    padding: 0 20px;
  }
}
@media screen and (min-width: 768px) {
  .footer-contact-cmn-item {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .footer-contact-cmn-item + .footer-contact-cmn-item {
    margin: 40px 0 0;
  }
}
.footer-contact-cmn-head {
  font-size: 30px;
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .footer-contact-cmn-head {
    font-size: 22px;
  }
}
.footer-contact-cmn-body {
  margin: 20px 0 0;
}
.footer-contact-tel-num {
  font-size: 30px;
}
.footer-contact-tel-num::before {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin: 0 15px 0 0;
  border-radius: 16px;
  background: #fff url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2022%2028%22%20style%3D%22enable-background%3Anew%200%200%2022%2028%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M22%2019.4c0%20.6-.2%201.7-.5%202.2-.3.8-1.2%201.3-1.9%201.7-.9.5-1.9.8-2.9.8-1.5%200-2.8-.6-4.1-1.1-1-.3-1.9-.8-2.7-1.3C7.2%2020%204%2016.8%202.4%2014.1c-.5-.9-1-1.8-1.3-2.7C.6%2010.1%200%208.8%200%207.3c0-1%20.3-2%20.8-2.9.4-.7.9-1.6%201.7-1.9C3%202.3%204.1%202%204.6%202H5c.3.1.7.9.8%201.2l1.5%202.7c.2.4.7.9.7%201.4%200%201-2.8%202.3-2.8%203.2%200%20.4.4%201%20.6%201.3%201.6%202.8%203.5%204.8%206.4%206.4.4.2.9.6%201.3.6.8%200%202.2-2.8%203.2-2.8.5%200%201%20.5%201.4.7l2.7%201.5c.3.2%201.1.5%201.2.8v.4z%22%20style%3D%22fill%3A%23272727%22%2F%3E%3C%2Fsvg%3E) no-repeat center 52%;
  background-size: 14px auto;
  content: "";
  transform: translateY(3px);
}
.footer-contact-tel-time {
  margin: 10px 0 0;
  font-size: 14px;
}
.footer-contact-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 390px;
  height: 60px;
  border-radius: 30px;
  background: #00b427;
  font-size: 25px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 3px;
}
.type-pc .footer-contact-btn:hover {
  background: #00c82b;
}
.footer-credit {
  margin: 40px 20px 0;
  padding: 40px 0 0;
  border-top: 1px solid #fff;
}
.footer-credit-company {
  text-align: center;
}
.footer-credit-logo {
  margin: 40px 0 0;
}
@media screen and (min-width: 768px) {
  .footer-credit-logo {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .footer-credit-logo-item + .footer-credit-logo-item {
    margin: 0 0 0 80px;
  }
}
@media screen and (max-width: 767px) {
  .footer-credit-logo-item + .footer-credit-logo-item {
    margin: 20px 0 0;
  }
}
/*============================================================
  汎用スタイル
  ============================================================*/
/*----------------------------------------
  トップへ戻るボタン
  ----------------------------------------*/
.btn-to-top {
  opacity: 0;
  position: fixed;
  right: 20px;
  bottom: 20px;
  transition: 0.2s linear;
}
@media screen and (max-width: 767px) {
  .btn-to-top {
    right: 10px;
    bottom: 10px;
  }
}
.btn-to-top.is-visible {
  opacity: 1;
}
.to-top-link {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.7;
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #c0c0c0;
  transition: 0.2s linear;
  transform: scale(1);
}
.type-pc .to-top-link:hover, .type-mobile .to-top-link:active {
  opacity: 0.9;
  transform: scale(1.05);
}
.cmn-btn {
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 390px;
  height: 80px;
  border-radius: 40px;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  .cmn-btn {
    max-width: 300px;
    height: 70px;
    border-radius: 35px;
    font-size: 20px;
  }
}
.cmn-btn::after {
  display: inline-block;
  position: absolute;
  right: 30px;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2010%22%20style%3D%22enable-background%3Anew%200%200%2016%2010%22%20xml%3Aspace%3D%22preserve%22%20width%3D%2212%22%20height%3D%228%22%3E%3Cpath%20style%3D%22fill%3A%23ffffff%22%20d%3D%22M15.8%208.3c0%20.1-.1.3-.2.4l-.8.8c-.1.1-.2.2-.4.2-.1%200-.3-.1-.4-.2L8%203.3%201.9%209.4c-.1.1-.3.2-.4.2s-.3-.1-.4-.2l-.7-.7c-.1-.1-.2-.3-.2-.4s.1-.3.2-.4L7.7.6s.2-.1.3-.1.3.1.4.2L15.7%208s.1.2.1.3z%22%20%2F%3E%3C%2Fsvg%3E");
  background-size: 20px auto;
  background-repeat: no-repeat;
  content: "";
  transition: 0.2s;
  transform: rotate(90deg);
}
.type-pc .cmn-btn:hover::after {
  right: 28px;
}
.cmn-btn.s-blue {
  background: #0066df;
  color: #fff;
}
.type-pc .cmn-btn.s-blue:hover {
  background: #137fff;
}
.cmn-inner {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px;
}
.cmn-ttl {
  position: relative;
  padding: 0 0 0 50px;
  font-size: 20px;
  color: #ff431c;
  line-height: 150%;
  letter-spacing: 3px;
}
.cmn-ttl::before, .cmn-ttl::after {
  position: absolute;
  background: #ff431c;
  content: "";
}
.cmn-ttl::before {
  top: 5px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 5px;
}
.cmn-ttl::after {
  top: 9px;
  left: 10px;
  width: 30px;
  height: 2px;
}
/*============================================================
  トップページ
  ============================================================*/
.sec-first {
  position: relative;
  padding: 60px 20px 150px;
  background: #df4524 url("../img/bg-first.png") no-repeat bottom center;
  background-size: 100% auto;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .sec-first {
    padding: 100px 10px 100px;
    background-size: 250% auto;
  }
}
@media screen and (max-width: 767px) {
  .sec-first {
    padding: 50px 10px 100px;
    background-size: auto 115vh;
  }
}
.first-contents {
  display: flex;
  gap: 30px;
  align-items: flex-end;
  max-width: 1100px;
  margin: 60px auto 0;
  padding: 0 50px;
}
@media screen and (max-width: 1024px) {
  .first-contents {
    gap: 20px;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
    padding: 0;
  }
}
@media screen and (max-width: 1024px) {
  .first-head {
    width: 100%;
  }
}
.first-ttl-cha {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .first-ttl-cha {
    font-size: 18px;
  }
}
.first-ttl-img {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 40px 0 0;
}
.first-copy {
  margin: 56px 0 0;
  text-align: center;
  font-size: 25px;
  font-weight: normal;
  color: #fff;
  line-height: 180%;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  .first-copy {
    font-size: 20px;
  }
}
.first-link {
  display: flex;
  gap: 20px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 40px 0 0;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .first-link {
    flex-direction: row;
  }
  .first-link .cmn-btn {
    max-width: 320px;
    font-size: 22px;
  }
}
@media screen and (min-width: 1024px) {
  .first-img {
    margin: 0 0 20px;
  }
}
.first-detail {
  position: absolute;
  left: 50%;
  width: 100%;
  max-width: 1100px;
  margin: 50px 0 0;
  padding: 56px;
  border-radius: 23px;
  background: #e8ecf0;
  transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  .first-detail {
    width: calc(100% - 20px);
    margin-inline: auto;
    padding: 30px;
  }
}
.first-detail-head {
  font-size: 30px;
}
.first-detail-body {
  margin: 1em 0 0;
  line-height: 180%;
}
/* ポイント
  ----------------------------------------*/
.sec-point {
  padding: 250px 0 110px;
}
@media screen and (max-width: 767px) {
  .sec-point {
    padding: 360px 0 110px;
  }
}
.point-contents {
  margin: 80px 0 0;
}
.point-head {
  font-size: 30px;
  font-weight: normal;
  line-height: 150%;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .point-head {
    letter-spacing: -1px;
  }
}
@media screen and (max-width: 767px) {
  .point-head {
    font-size: 24px;
  }
}
.point-body {
  display: flex;
  margin: 40px 0 0;
}
@media screen and (max-width: 767px) {
  .point-body {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .point-body.type-reverse {
    flex-direction: row-reverse;
  }
  .point-body.type-reverse .point-img {
    padding: 0 0 0 40px;
  }
}
@media screen and (min-width: 768px) {
  .point-img {
    width: 44%;
    padding: 0 40px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .point-img {
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .point-detail {
    width: 56%;
  }
}
@media screen and (max-width: 767px) {
  .point-detail {
    margin: 40px 0 0;
  }
}
.point-detail p {
  line-height: 180%;
}
.point-detail p + p {
  margin: 1.5em 0 0;
}
.point-detail p .s-point {
  padding: 0 2px;
  background: #ffd3cb;
  font-weight: normal;
}
/* feature
  ----------------------------------------*/
.bg-gray {
  padding: 100px 0;
  background: #e7edf1;
}
.feature-contents {
  margin: 60px 0 0;
}
.feature-head {
  font-size: 30px;
  font-weight: normal;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .feature-head .sp-only {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .feature-head {
    font-size: 24px;
  }
}
.feature-body {
  display: flex;
  margin: 54px 0 0;
}
@media screen and (min-width: 768px) {
  .feature-body {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .feature-body {
    flex-direction: column;
    align-items: center;
  }
}
.feature-item {
  width: 280px;
  padding: 30px 26px;
  border-radius: 10px;
  background: #fff;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .feature-item {
    width: calc((100% - 40px) / 3);
    padding: 30px 12px;
  }
}
@media screen and (max-width: 767px) {
  .feature-item {
    width: 100%;
  }
}
.feature-item:nth-of-type(n+2) {
  position: relative;
}
@media screen and (max-width: 767px) {
  .feature-item:nth-of-type(n+2) {
    margin: 60px 0 0;
  }
}
.feature-item:nth-of-type(n+2)::before {
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  content: "";
}
@media screen and (min-width: 1024px) {
  .feature-item:nth-of-type(n+2)::before {
    top: calc(50% - 33px);
    left: -58px;
    border-width: 33px 0 33px 42px;
    border-color: transparent transparent transparent #ff431c;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .feature-item:nth-of-type(n+2)::before {
    top: calc(50% - 18px);
    left: -23px;
    border-width: 18px 0 18px 28px;
    border-color: transparent transparent transparent #ff431c;
  }
}
@media screen and (max-width: 767px) {
  .feature-item:nth-of-type(n+2)::before {
    top: -40px;
    left: calc(50% - 15px);
    border-width: 22px 15px 0 15px;
    border-color: #ff431c transparent transparent transparent;
  }
}
.feature-item-head {
  min-height: 3em;
  text-align: center;
  font-size: 20px;
  font-weight: normal;
  color: #ff431c;
  line-height: 150%;
}
.feature-item-img {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 241px;
}
.feature-item-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 222px;
  height: 40px;
  margin: 14px auto 0;
  border-radius: 20px;
  background: #ff431c;
  font-size: 18px;
  color: #fff;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .feature-item-copy {
    width: 100%;
  }
}
.feature-item-detail {
  margin: 1em 0 0;
  line-height: 180%;
}
/* 充実の機能
  ----------------------------------------*/
.bg-ruled-gray {
  padding: 100px 0 260px;
  background: url("../img/bg-ruled-gray.png");
  background-size: 48px auto;
}
.function-body {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
  margin: 54px 0 0;
}
@media screen and (max-width: 767px) {
  .function-body {
    grid-template-columns: auto;
  }
}
.function-item {
  padding: 46px 36px;
  border-radius: 10px;
  background: #e7edf1;
}
@media screen and (max-width: 1023px) {
  .function-item {
    padding: 30px 26px;
  }
}
.function-item-head {
  font-size: 20px;
  font-weight: normal;
  color: #ff431c;
  line-height: 150%;
}
@media screen and (min-width: 768px) {
  .function-item-head {
    min-height: 4.5em;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .function-item-head {
    letter-spacing: -1px;
  }
}
.function-item-img {
  margin: 16px 0 0;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 768px) {
  .function-item-img {
    min-height: 232px;
  }
}
.function-item-detail {
  margin: 20px 0 0;
  line-height: 180%;
}
/* プレゼンメーカーの特徴
  ----------------------------------------*/
.sec-service {
  position: relative;
  margin: 0 0 180px;
  padding: 100px 0 180px;
  background: #ffdbd4;
}
@media screen and (max-width: 767px) {
  .sec-service {
    padding: 60px 0;
  }
}
.sec-service::before, .sec-service::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 180px;
  background: #ffdbd4;
  content: "";
}
@media screen and (max-width: 767px) {
  .sec-service::before, .sec-service::after {
    height: 100px;
  }
}
.sec-service::before {
  top: -179px;
  -webkit-clip-path: polygon(0 76%, 100% 0%, 100% 100%, 0% 100%);
  clip-path: polygon(0 76%, 100% 0%, 100% 100%, 0% 100%);
}
@media screen and (max-width: 767px) {
  .sec-service::before {
    top: -99px;
    -webkit-clip-path: polygon(0 58%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0 58%, 100% 0%, 100% 100%, 0% 100%);
  }
}
.sec-service::after {
  bottom: -179px;
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 24%, 0% 100%);
  clip-path: polygon(0 0, 100% 0%, 100% 24%, 0% 100%);
}
@media screen and (max-width: 767px) {
  .sec-service::after {
    bottom: -99px;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 42%, 0% 100%);
    clip-path: polygon(0 0, 100% 0%, 100% 42%, 0% 100%);
  }
}
.service-body {
  display: flex;
  margin: 68px 0 0;
}
@media screen and (min-width: 768px) {
  .service-body {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .service-body {
    flex-direction: column;
    align-items: center;
  }
}
.service-item {
  padding: 40px 30px;
  border-radius: 10px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .service-item {
    width: calc((100% - 40px) / 3);
  }
  .service-item:nth-of-type(2) {
    transform: translateY(40px);
  }
  .service-item:nth-of-type(3) {
    transform: translateY(80px);
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .service-item {
    padding: 30px 15px;
  }
}
@media screen and (max-width: 767px) {
  .service-item:nth-of-type(n+2) {
    margin: 20px 0 0;
  }
}
.service-item-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin: 0 auto;
  padding: 6px 0 0;
  border-radius: 27px;
  background: #ff431c;
  font-size: 38px;
  color: #fff;
}
.service-item-head {
  margin: 20px 0 0;
  text-align: center;
  font-size: 20px;
  font-weight: normal;
  color: #ff431c;
  line-height: 150%;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  .service-item-head {
    letter-spacing: -1px;
  }
  .service-item-head br {
    display: none;
  }
}
.service-item-img {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 194px;
  margin: 20px 0 0;
}
.service-item-detail {
  margin: 40px 0 0;
  line-height: 180%;
}
.service-item-detail .s-point {
  padding: 0 2px;
  background: #ffd3cb;
  font-weight: normal;
}
/* 活用シーン
  ----------------------------------------*/
.sec-cases {
  padding: 100px 0 110px;
}
@media screen and (max-width: 767px) {
  .sec-cases {
    padding: 60px 0 70px;
  }
}
.cases-contents {
  margin: 70px 0 0;
}
.cases-item + .cases-item {
  margin: 75px 0 0;
}
.cases-item:nth-child(2n+1) .cases-item-num {
  background: #ff431c;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .cases-item:nth-child(2n+1) .cases-item-detail {
    padding: 0 0 0 20px;
  }
}
.cases-item:nth-child(2n) .cases-item-num {
  color: #ff431c;
}
@media screen and (min-width: 768px) {
  .cases-item:nth-child(2n) .cases-item-body {
    flex-direction: row-reverse;
  }
}
.cases-item-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 40px;
  border: 2px solid #ff431c;
  border-radius: 20px;
  font-size: 18px;
  letter-spacing: 3px;
}
.cases-item-ttl {
  display: inline-block;
  margin: 40px 0 0;
  padding: 0 0 2px;
  background: linear-gradient(transparent 60%, #ffd3cb 60%);
  font-size: 20px;
  font-weight: normal;
  line-height: 120%;
  letter-spacing: 0.5px;
}
@media screen and (max-width: 767px) {
  .cases-item-ttl {
    margin: 20px 0 0;
    background: none;
  }
}
.cases-item-body {
  display: flex;
  margin: 20px 0 0;
}
@media screen and (min-width: 768px) {
  .cases-item-body {
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .cases-item-body {
    flex-direction: column;
    align-items: center;
  }
}
.cases-item-img {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .cases-item-img {
    width: 56%;
  }
}
.cases-item-detail {
  line-height: 180%;
}
@media screen and (min-width: 768px) {
  .cases-item-detail {
    width: 44%;
  }
}
@media screen and (max-width: 767px) {
  .cases-item-detail {
    margin: 20px 0 0;
  }
}
.cases-item-detail .s-point {
  padding: 0 2px;
  background: #ffd3cb;
  font-weight: normal;
}
.cases-item-detail p + p {
  margin: 1em 0 0;
}
/* よくある質問
  ----------------------------------------*/
.sec-qa {
  padding: 100px 0 110px;
  background: #e7edf1 url("../img/bg-ruled-white.png");
  background-size: 48px auto;
}
.qa-contents {
  margin: 65px 0 0;
}
.qa-item {
  padding: 40px;
  border-radius: 10px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .qa-item {
    padding: 20px;
  }
}
.qa-item + .qa-item {
  margin: 70px 0 0;
}
.qa-head, .qa-detail {
  position: relative;
  padding: 0 0 0 80px;
}
@media screen and (max-width: 767px) {
  .qa-head, .qa-detail {
    padding: 0 0 0 40px;
  }
}
.qa-head::before, .qa-detail::before {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  font-size: 16px;
  color: #fff;
}
.qa-head {
  font-size: 20px;
  font-weight: normal;
  line-height: 150%;
}
.qa-head::before {
  top: -2px;
  left: 2px;
  width: 36px;
  height: 36px;
  background: #ff431c;
  content: "Q";
}
@media screen and (max-width: 767px) {
  .qa-head::before {
    width: 28px;
    height: 28px;
  }
}
.qa-detail {
  margin: 30px 0 0;
}
.qa-detail::before {
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background: #0066df;
  content: "A";
}
@media screen and (max-width: 767px) {
  .qa-detail::before {
    width: 32px;
    height: 32px;
    border-radius: 16px;
  }
}
.qa-detail p {
  line-height: 180%;
}
/*============================================================
  お問い合わせ・確認・完了画面
  ============================================================*/
.sec-contact, .sec-confirm, .sec-thanks {
  padding: 100px 0;
}
.contact-ttl {
  text-align: center;
  font-weight: normal;
  color: #ff431c;
  letter-spacing: 2px;
}
.contact-ttl-en {
  display: block;
  font-size: 18px;
}
.contact-ttl-ja {
  display: block;
  margin: 20px 0 0;
  font-size: 30px;
  line-height: 120%;
}
.contact-contents {
  margin: 40px 0 0;
}
.txt-thanks {
  margin: 2em 0 0;
  line-height: 180%;
}
.link-thanks {
  margin: 24px 0 0;
}