@charset "UTF-8";
/* common */
.basb01 { color: #333; min-width: 320px; font-size: 16px; background: #fff}
.basb01 sup { font-size: 10px; vertical-align: super}
.basb01 sub { font-size: 10px}
.basb01 img { width: 100%; height: auto; margin: auto}
.basb01 h2 { margin-bottom: 30px; font-size: 24px; text-align: center}
.basb01 .inr { width: 100%; padding: 50px 20px}
.basb01 p { line-height: 1.8}
.basb01 ul { margin: 0}
.basb01 .b-radius-6-12 { border-radius: 6px}
.basb01 .base-fukidashi { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 40px; margin: 0 auto -10px; color: #fff; font-size: 17px; font-weight: bold; border-radius: 80px}
.basb01 .base-fukidashi:after { content: ""; position: absolute; top: 100%; left: 50%; height: 50px; transform: translateX(-50%); border: 10px solid transparent; border-top: 10px solid #c70f0f}
.basb01 .ad-cta.is-hidden { visibility: hidden; opacity: 0}
@media screen and (min-width: 768px) {
  .basb01 { font-size: 22px}
  .basb01 h2 { margin-bottom: 50px; font-size: 44px}
  .basb01 .inr { width: 1080px; margin: auto; padding: 90px 20px}
  .basb01 .b-radius-6-12 { border-radius: 12px}
  .basb01 .base-fukidashi { height: 80px; margin: 0 auto -20px;  font-size: 32px}
  .basb01 .base-fukidashi:after { border-width: 20px; border-top-width: 20px}
}
/* header */
.basb01 header { border-top: 4px solid #c60f0f}
.basb01 .header-inr { padding: 15px 10px 10px}
.basb01 .header-inr .logo { width: 100%; margin-bottom: 5px; text-align: center}
.basb01 .header-inr .btn-area { display: flex; justify-content: space-between; width: 100%}
.basb01 .header-inr .btn-area a { width: 49%; height: 45px; position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; color: #fff; font-weight: 500; font-size: 13px; line-height: 1.3; background: #4b4b4b; border-radius: 4px; box-shadow: 1px 1px 0.5px rgba(0,0,0,0.3)}
.basb01 .header-inr .btn-area a span { font-size: 10px; font-weight: normal}
.basb01 .header-inr .btn-area a:nth-of-type(2),
.basb01 .header-inr .btn-area a:nth-of-type(3) { margin-left: 10px; background: #61c850}
.basb01 .header-inr .btn-area .icon { position: absolute; top: 50%; transform: translateY(-50%); left: 5px; width: 20px; height: 20px; background-size: 20px auto; background-repeat: no-repeat; background-position: center center}
.basb01 .header-inr .btn-area .icon.tel { background-image: url(../img/common/icon-tel-w.png)}
.basb01 .header-inr .btn-area .icon.download { background-image: url(../img/common/icon-download-w.png)}
.basb01 .header-inr .btn-area .arrow-right::before { content: ""; position: absolute; margin: auto; top: 0; bottom: 0; right: 5px; width: 20px; height: 20px; background: #fff; border-radius: 30px}
.basb01 .header-inr .btn-area .arrow-right::after {  content: "";  position: absolute; margin: auto; top: 0; bottom: 0;  right: 13px; width: 6px; height: 6px; border: 1px solid; border-color: #61c850 #61c850 transparent transparent; transform: rotate(45deg)}
.basb01 .header-inr .btn-area a:nth-of-type(1) .arrow-right::after { border-color: #333 #333 transparent transparent}
@media screen and (max-width: 767px) {
  .basb01 .header-inr .btn-area { margin-top: 10px}
  .basb01 .header-inr .logo img { max-width: 260px}
}
@media screen and (min-width: 768px) {
  .basb01 header { display: flex; align-items: center; height: 96px}
  .basb01 .header-inr { display: flex; justify-content: space-between; align-items: center; width: 100%; max-width: 1080px; margin: auto; padding: 0 20px}
  .basb01 .header-inr .logo { max-width: 454px}
  .basb01 .header-inr .btn-area { width: fit-content}
  .basb01 .header-inr .btn-area a { width: 250px; height: 55px; font-size: 18px}
  .basb01 .header-inr .btn-area a:first-of-type { font-size: 15px!important}
  .basb01 .header-inr .btn-area a span { font-size: 12px}
  .basb01 .header-inr .btn-area a:first-of-type { padding-left: 16px}
  .basb01 .header-inr .btn-area .icon { left: 20px; width: 25px; height: 25px; background-size: 25px auto}
  .basb01 .header-inr .btn-area .arrow-right::before { right: 10px}
  .basb01 .header-inr .btn-area .arrow-right::after { right: 18px; width: 8px; height: 8px; border-width: 2px}
  .basb01 .header-inr .btn-area a:hover { opacity: .7}
}
/* MV */
.mv { overflow: hidden}
.mv-outline .box-text { position: relative; width: 100%}
.mv-outline .box-fukidashi { position: relative; height: 40px; margin-bottom: 20px; line-height: 35px; color: #333; font-weight: bold; font-size: 17px; text-align: center; background: #fff; border-radius: 3px}
.mv-outline .box-fukidashi span { font-size: 14px}
.mv-outline .box-fukidashi:before { content: ""; position: absolute; top: 100%; left: 20%; margin: -5px 0 -20px; border: 5px solid transparent; border-top: 26px solid #fff; transform:rotate(-20deg)}
.mv-outline .notes { margin: 20px 0 0; font-size: 12px;  line-height: 1.5}
.mv-outline h1 { font-size: 27px; line-height: 1.3}
.mv-outline h1 strong { color: #e60012}
.mv-outline .badg { position: absolute; right: -5px; top: 80px; width: auto; height: 75px}
.mv-outline .btn { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; font-size: 20px; line-height: 1.3; box-shadow: 1px 1px 2px rgba(0,0,0,0.3)}
.mv-outline .btn span { font-size: 12px; letter-spacing: 0.15em; font-weight: normal}
.mv-outline .btn-contact { flex-direction: column; height: 65px; margin-bottom: 30px; color: #fff; text-shadow: 0px 1px 1px rgba(0,0,0,0.3); background: #61C850; border-radius: 6px}
.mv-outline .btn-contact .icon { position: absolute; top: 50%; transform: translateY(-50%); left: 10px; width: 35px; height: 35px; background-size: 35px auto; background-repeat: no-repeat; background-position: center center}
.mv-outline .btn-contact .icon.mail { background-image: url(../img/common/icon-mail-w.png)}
.mv-outline .btn-contact .arrow-right::before { content: ""; position: absolute;  margin: auto;  top: 0;  bottom: 0; right: 10px; width: 30px; height: 30px; background: #fff; border-radius: 30px; box-shadow: 1px 1px 0.5px rgba(0,0,0,0.3)}
.mv-outline .btn-contact .arrow-right::after {  content: "";  position: absolute;  margin: auto;  top: 0;  bottom: 0;  right: 22px;  width: 12px;  height: 12px;  border: 2px solid;  border-color:  #0f9a1d #0f9a1d transparent transparent; transform: rotate(45deg)}
.mv-outline .btn-cam { display: flex; justify-content: space-between; height: 60px; margin-top: 20px; color: #c60f0f; font-weight: bold; background: #fff; border-radius: 3px; transition-duration: .4s}
.mv-outline .btn-cam span { display: block; border-bottom: 1px solid #c60f0f}
.mv-outline .btn-cam .left, .ba02 .mv .btn-cam .right { display: flex; justify-content: center; align-items: center; flex-direction: column}
.mv-outline .btn-cam .left { width: calc(100% - 80px); text-align: center}
.mv-outline .btn-cam .right { display: flex; align-items: center; width: 80px; height: 100%; padding: 0 10px; color: #c60f0f; font-size: 12px; background: #fff100; border-radius: 0 3px 3px 0}
.mv-outline .btn-cam .arrow-right02::before {  content: "";  position: absolute; margin: auto; top: 0; bottom: 0;  right: 10px; width: 10px; height: 10px; border: 2px solid; border-color: #c60f0f #c60f0f transparent transparent; transform: rotate(45deg)}
.mv-outline .text-underline { margin: 20px 0 0; font-size: 14px; text-align: center}
.mv-outline .text-underline a { text-decoration: underline}
.mv-outline .box-right { display: block}
.mv-notes { max-width: 1080px; margin: auto; padding: 10px 20px 0}
@media screen and (max-width: 767px) {
  .mv { min-height: 610px; background-color: #ffb6b6}
  .mv-outline .inner { padding: 20px}
  .mv-outline .box-right { margin: 30px -20px -1px -20px}
  .mv-outline .btn-contact { margin-top: 20px}
  .mv .sp-only { width: 100%}
}
@media screen and (min-width: 768px) {
  .mv { position: relative; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 500px; background-color: #ffb6b6}
  .mv .bg-kv.bg-kv { display: block}
  .mv .bg-kv:first-child { flex: 0 0 45%}
  .mv .bg-kv:last-child { height: 120%; flex: 0 0 55%; background: url(../img/basb01/bg-kv_pc.jpg) no-repeat bottom left/cover}
  .mv-outline { display: contents}
  .mv-outline .inner { position: absolute; border-bottom: 0; left: 50%; transform: translateX(-50%); display: flex; justify-content: space-between; align-items: flex-end; width: 1080px; height: 500px}
  .mv-outline .box-text { width: 450px; padding: 21px 20px 0; }
  .mv-outline .box-right { width: calc(100% - 450px)}
  .mv-outline .box-right img { width: auto!important; height: 500px; margin-left: 20px}
  .mv-outline .box-fukidashi { height: 50px; line-height: 45px; font-size: 20px}
  .mv-outline .box-fukidashi:before { left: 50%}
  .mv-outline h1{ font-size: 33px}
  .mv-outline .badg { right: 0; top: 135px; height: 90px}
  .mv-outline .btn-contact { margin-top: 20px; font-size: 24px}
  .mv-outline .btn-contact:hover { opacity: .7}
  .mv-outline .btn-cam { width: 90%; margin: 20px auto 0}
  .mv-outline .btn-cam:hover { color: #fe0202; transform: scale(1.1)}
  .mv-outline .btn-cam:hover span { border-bottom: 1px solid #fe0202}
  .mv-outline .notes { margin: 10px 0 15px}
}
/* .sec-service */
.basb01 .sec-service .top-heading { display: flex; justify-content: center; align-items: center; width: 100%; margin-bottom: 30px; padding: 10px 20px; color: #fff; font-weight: 900; line-height: 1.5; background: linear-gradient(90deg, #ff0000 25%, #ffc000 75%); border-radius: 100vh}
.basb01 .sec-service h2 { font-size: 18px; line-height: 1.5}
.basb01 .sec-service h2 img { max-width: 300px; margin: 0 auto 10px}
.basb01 .sec-service .box-outline { margin-bottom: 30px}
.basb01 .sec-service .box-outline figure { padding: 20px; border: 1.5px solid #dd0033; border-radius: 8px}
.basb01 .sec-service .box-outline figure:last-of-type { border-color: #ffda69;}
.basb01 .sec-service p { margin-bottom: 30px!important}
.basb01 .sec-service p:last-of-type { margin-bottom: 0!important}
.basb01 .sec-service .notes { color: #666; font-size: 14px}
@media screen and (max-width: 767px) {
  .basb01 .sec-service .top-heading { text-align: center}
  .basb01 .sec-service figure { margin-top: 50px; text-align: center}
  .basb01 .sec-service figure img { width: 90%}
}
@media screen and (min-width: 768px) {
  .basb01 .sec-service .top-heading { padding: 15px 20px; font-size: 22px}
  .basb01 .sec-service h2 { font-size: 30px}
  .basb01 .sec-service h2 img { max-width: 937px; margin-bottom: 20px}
  .basb01 .sec-service .box-outline { display: flex; justify-content: space-between}
  .basb01 .sec-service .box-outline figure { width: 48%}
  .basb01 .sec-service p { font-size: 18px}
}
/* .sec-strength */
.basb01 .sec-strength { color: #fff; background: #ffe9e9}
.basb01 .sec-strength .inr { width: 100%; padding: 50px 0}
.basb01 .sec-strength h2 { margin-bottom: 30px; color: #ff0000}
.basb01 .sec-strength h2 img { max-width: 109px}
.basb01 .sec-strength h2 span { color: #333; font-size: 20px; text-shadow: none}
.basb01 .sec-strength h2 i { margin-right: 10px; color: #ff0000; font-size: 65px}
.basb01 .sec-strength .box-strength { color: #333; font-size: 16px}
.basb01 .sec-strength .box-strength:nth-of-type(n + 2) { margin-top: 50px}
.basb01 .sec-strength .box-strength img { border-radius: 12px}
.basb01 .sec-strength .box-strength.right { background: #fff}
.basb01 .sec-strength .box-strength.left { background: #fff}
.basb01 .sec-strength .box-inr { position: relative; display: flex; justify-content: space-between; flex-wrap: wrap}
.basb01 .sec-strength .box-inr .label { position: absolute; bottom: -50px; right: -30px; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 26.66vw; height: 26.66vw; color: #fff; text-align: center; font-weight: bold; background: #dd0033; border-radius: 200px; box-shadow: 5px 5px 0 rgba(0,0,0,0.2)}
.basb01 .sec-strength .box-strength.right .label { left: -30px}
.basb01 .sec-strength .box-inr .label i { font-size: 30px}
.basb01 .sec-strength .box-inr .label i:after { content: "倍"; margin-left: 5px; font-size: 20px}
.basb01 .sec-strength h3 { margin-bottom: 20px; color: #333; font-size: 24px}
.basb01 .sec-strength h3 sub { color: #333}
.basb01 .sec-strength h3 i { margin-right: 10px; color: #dd0033; font-size: 36px; font-style: italic}
.basb01 .sec-strength .video-mp4 { width: 100%; height: auto}
.basb01 .sec-strength .video-mp4 video { width: 100%}
.basb01 .sec-strength .notes { margin-top: 30px; color: #666; font-size: 12px; font-weight: normal}
@media screen and (max-width: 767px) {
  .basb01 .sec-strength h2 img { margin: 16px 0 2px}
  .basb01 .sec-strength .box-strength.right { margin-left: 30px; padding: 20px 50px 20px 20px; border-radius: 12px 0 0 12px}
  .basb01 .sec-strength .box-strength.left { margin-right: 30px; padding: 20px 20px 20px 50px; border-radius: 0 12px 12px 0}
  .basb01 .sec-strength .box-inr .box-text { margin-bottom: 30px}
  .basb01 .sec-strength h3 { padding-left: 50px; line-height: 1.3}
  .basb01 .sec-strength h3 i { margin-left: -50px}
}
@media screen and (min-width: 768px) {
  .basb01 .sec-strength .inr { padding: 90px 0}
  .basb01 .sec-strength h2 { margin-bottom: 60px}
  .basb01 .sec-strength h2 img { max-width: 150px; margin-right: 25px}
  .basb01 .sec-strength h2 span { font-size: 30px}
  .basb01 .sec-strength h2 i { font-size: 120px}
  .basb01 .sec-strength .box-strength { padding: 20px; font-size: 22px}
  .basb01 .sec-strength .box-strength.right { padding: 0; background: linear-gradient(90deg, #ffe9e9 0%, #ffe9e9 50%, #fff 50%, #fff 100%)}
  .basb01 .sec-strength .box-strength.left { padding: 0; background: linear-gradient(-90deg, #ffe9e9 0%, #ffe9e9 50%, #fff 50%, #fff 100%)}
  .basb01 .sec-strength .box-inr { width: 1020px; margin: auto; padding: 50px 0; background: #fff; border-radius: 12px}
  .basb01 .sec-strength .box-inr .label { bottom: -30px; right: 20px; width: 190px; height: 190px; font-size: 28px}
  .basb01 .sec-strength .box-inr .label i { font-size: 70px}
  .basb01 .sec-strength .box-inr .label i:after { font-size: 40px}
  .basb01 .sec-strength h3 { margin-bottom: 30px; font-size: 32px}
  .basb01 .sec-strength h3 i { margin-right: 15px; font-size: 68px}
  .basb01 .sec-strength .box-strength.right .box-inr { flex-direction: row-reverse; padding-left: 30px}
  .basb01 .sec-strength .box-strength.left .box-inr { padding-right: 30px}
  .basb01 .sec-strength .box-inr figure,  .basb01 .box-inr .video-mp4 { width: 420px}
  .basb01 .sec-strength .box-inr .box-text { width: calc(100% - 470px)}
  .basb01 .sec-strength .notes { font-size: 14px}
}
/* .sec-features */
.basb01 .sec-features { background: #fff5d5}
.basb01 .sec-features a { text-decoration: underline}
.basb01 .sec-features h2 { margin-bottom: 30px}
.basb01 .sec-features h2 img { max-width: 205px}
.basb01 .sec-features h2 span { font-size: 20px; font-weight: normal; text-shadow: none}
.basb01 .sec-features h2 i { margin-right: 10px; font-size: 65px}
.basb01 .sec-features .text-summary { margin-bottom: 80px; font-weight: 400}
.basb01 .sec-features figure { width: 100%; margin: 50px auto 0}
.basb01 .sec-features .box-features { position: relative; margin-bottom: 40px; padding: 50px 20px; background: #fff; border-radius: 16px}

.basb01 .sec-features .box-features:nth-of-type(1) { padding-bottom: 0}
.basb01 .sec-features .box-features:nth-of-type(3) { margin-bottom: 0}
.basb01 .sec-features .box-features .icon-number { position: absolute; top: -30px; left: -20px; width: 70px; height: 70px; line-height: 70px; padding-left: 0.4em; color: #fff; font-size: 30px; font-style: italic; font-weight: 900; background: #0b83fb; border-radius: 100vh}
.basb01 .sec-features ul, .sec-fee ul { margin-top: 40px!important; line-height: 1.8}
.basb01 .sec-features h3 { margin-bottom: 20px; font-size: 18px; font-weight: bold; text-align: center; line-height: 1.5}
.basb01 .sec-features .box-ouline { margin-top: 30px}
.basb01 .sec-features .box-ouline .ttl { margin-bottom: 20px; font-size: 18px; text-align: center}
.basb01 .sec-features .box-ouline .ttl span { display: inline-block; width: 60px;  margin-right: 10px; color: #fff; font-size: 12px; font-weight: bold; background: #c60f0f}
.basb01 .sec-features .box-ouline dl { display: flex; justify-content: space-between; flex-wrap: wrap}
.basb01 .sec-features .box-ouline dl dt, .basb01 .sec-features .box-ouline dl dd { display: flex; justify-content: center; flex-direction: column}
.basb01 .sec-features .box-ouline dl dt { padding: 10px; background: #fef8e7}
.basb01 .sec-features .box-ouline dl dt span { display: flex; justify-content: center; align-items: center; width: 50px; min-height: 50px; font-weight: bold; background: #ffc000}
.basb01 .sec-features .box-ouline dl dd { width: calc(100% - 70px); padding: 10px; font-size: 14px; line-height: 1.3; background: #fef8e7}
.basb01 .sec-features .box-ouline dl dt:nth-of-type(2), .basb01 .sec-features .box-ouline dl dd:nth-of-type(2) { margin-top: 20px}

.basb01 .sec-features .notes { color: #666; font-size: 14px}
@media screen and (max-width: 767px) {
  .basb01 .sec-features h2 img { margin-bottom: 8px}
  .basb01 .sec-features .box-ouline .box.right { margin-top: 30px}
}
@media screen and (min-width: 768px) {
  .basb01 .sec-features .inr { padding: 40px 0 90px!important}
  .basb01 .sec-features h2 { margin-bottom: 60px}
  .basb01 .sec-features h2 img { max-width: 352px; margin-right: 0}
  .basb01 .sec-features h2 span { font-size: 30px}
  .basb01 .sec-features h2 i { font-size: 120px}
  .basb01 .sec-features h3 { font-size: 28px}
  .basb01 .sec-features p { font-size: 16px}
  .basb01 .sec-features .box-features { margin: 0 0 105px 7%; padding: 30px 40px; border-width: 3px; border-radius: 45px}
  .basb01 .sec-features .box-features .icon-number { position: absolute; top: -25px; left: -7%; width: 125px; height: 125px; line-height: 125px; padding-left: 0.3em; color: #fff; font-size: 6.25vw}
  .basb01 .sec-features figure { width: 100%; max-width: 800px}
  .basb01 .sec-features .box-features .icon-number { font-size: 60px}
  .basb01 .sec-features .box-ouline { display: flex; justify-content: space-between}
  .basb01 .sec-features .box-ouline .box { width: 49%;}
  .basb01 .sec-features .box-ouline .ttl { font-size: 24px}
  .basb01 .sec-features .box-ouline dl dt, .basb01 .sec-features .box-ouline dl dd { min-height: 110px}
  .basb01 .sec-features .box-ouline dl dd.jusoku { font-size: 16px}
}

/* .btn-area */
.sec-features .btn-area { margin-top: 50px; text-align: center}
.sec-features .btn-area small { display: block; margin-bottom: 10px; color: #0162b1; font-size: 16px; font-weight: 500}
.sec-features .btn-area .btn { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; max-width:90%; height: 60px; margin: auto; color: #fff; font-size: 18px; text-decoration: none; background: #0162b1;  border-radius: 6px; box-shadow: 3px 3px rgba(1,98,177,.5)}
.sec-features .btn-area .btn small { display: block; margin-bottom: 5px; font-size: 13px}
.sec-features .btn-area .arrow-right::before { content: ""; position: absolute; margin: auto; top: 0; bottom: 0; right: 15px; width: 20px; height: 20px; background: #fff; border-radius: 30px; box-shadow: 1px 1px 1px rgba(0,0,0,0.3)}
.sec-features .btn-area .arrow-right::after {  content: "";  position: absolute; margin: auto; top: 0; bottom: 0;  right: 23px; width: 6px; height: 6px; border: 1px solid; border-color: #0162b1 #0162b1 transparent transparent; transform: rotate(45deg)}
@media screen and (min-width: 768px) {
  .sec-features .btn-area { margin-top: 80px}
  .sec-features .btn-area small { font-size: 20px}
  .sec-features .btn-area .btn { max-width: 400px; font-size: 24px}
  .sec-features .btn-area .btn:hover { background: #027de1}
  /*.sec-features .btn-area .btn:hover { color: #0162b1; background: #fff; border: 2px solid #0162b1; transform: scale(1.05)}*/
  .sec-features .btn-area.content { margin-top: 80px}
}

/* .sec-example */
.basb01 .sec-example { background: url(../img/basb01/bg-example-sp.jpg) no-repeat center center/cover}
.basb01 .sec-example .slide-example { width: 90%; margin: auto; border-radius: 6px; box-shadow: 5px 5px 0 rgba(0,0,0,0.1)}
.basb01 .sec-example .box-example { background: #fff; border-radius: 12px}
.basb01 .sec-example .box-example .ttl { display: flex; justify-content: center; align-items: center; height: 40px; color: #fff; background: #dd0033; border-radius: 12px 12px 0 0}
.basb01 .sec-example .ttl i { margin-right: 20px; font-size: 12px;font-style: italic}
.basb01 .sec-example .example-inr { padding: 20px}
.basb01 .sec-example h3 { width: 100%; font-size: 18px; text-align: center; line-height: 1.8}
.basb01 .sec-example h3 span { color: #c60f0f}
.basb01 .sec-example .mission { position: relative; margin: 20px 0 90px; padding: 20px 10px; background: #efefef; border-radius: 6px}
.basb01 .sec-example .mission:after { content: ""; position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%) rotate(45deg); width: 30px; height: 30px; border-bottom: 6px solid #c7c7c7; border-right: 6px solid #c7c7c7}
.basb01 .sec-example .mission dt, .basb01 .sec-example .succsess dt  { width: 100%; padding-bottom: 10px; font-size: 18px; font-weight: bold; border-bottom: 2px dotted #bdbdbd}
.basb01 .sec-example .mission dd, .basb01 .sec-example .succsess dd { padding-top: 20px; font-size: 14px; line-height: 1.8}
.basb01 .sec-example .mission dt, .basb01 .sec-example .succsess dt { position: relative; color: #c60f0f}
.basb01 .sec-example .mission dt:after { content: "MISSION"; position: absolute; right: 0; color: #cfcfcf; font-style: italic}
.basb01 .sec-example .succsess dt:after { content: "SUCCESS"; position: absolute; right: 0; color: #efb9b9; font-style: italic}
.basb01 .sec-example .succsess figure { width: 100%}
.basb01 .sec-example .succsess img { border-radius: 6px}
.basb01 .slide-arrow { position: absolute; top: 40%; width: 40px!important; margin: auto; z-index: 5; cursor: pointer}
.basb01 .prev-arrow { left: -20px}
.basb01 .next-arrow { right: -20px}
.basb01 .slick-track { display: flex}
.basb01 .slick-slide { height: auto !important}
@media screen and (max-width: 767px) {
  .basb01 .sec-example { padding-bottom: 50px}
  .basb01 .sec-example .succsess figure { margin-top: 40px}
  .basb01 .sec-example .succsess img { height: 200px; object-fit: cover; object-position: top center}
}
@media screen and (min-width: 768px) {
  .basb01 .sec-example { background: url(../img/basb01/bg-example-pc_02.jpg) no-repeat center center/auto 970px}
  .basb01 .sec-example .slide-example { width: 920px}
  .basb01 .sec-example .box-example .ttl { height: 80px; font-size: 32px}
  .basb01 .sec-example .box-example .ttl i { font-size: 40px}
  .basb01 .sec-example h3 { font-size: 32px}
  .basb01 .sec-example .example-inr { padding: 40px}
  .basb01 .sec-example .mission { margin: 40px 0 90px; padding: 40px; border-radius: 12px}
  .basb01 .sec-example .mission dt, .basb01 .sec-example .succsess dt { padding-bottom: 20px; font-size: 30px; border-width: 4px}
  .basb01 .sec-example .mission dd, .basb01 .sec-example .succsess dd { font-size: 22px}
  .basb01 .sec-example .succsess { display: flex; justify-content: space-between; flex-direction: row-reverse}
  .basb01 .sec-example .succsess figure { width: 280px}
  .basb01 .sec-example .succsess img { border-radius: 12px}
  .basb01 .sec-example .succsess dl { width: calc(100% - 320px)} 
  .basb01 .slide-arrow { width: 60px!important}
  .basb01 .prev-arrow { left: -80px}
  .basb01 .next-arrow { right: -80px}
}
/* .sec-flow */
.basb01 .sec-flow { background: #efefef}
.basb01 .sec-flow ul { display: flex; justify-content: space-between; flex-wrap: wrap; margin: auto}
.basb01 .sec-flow ul li { width:100%; font-size: 15px}
.basb01 .sec-flow ul li .step { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 21.33vw; height: 21.33vw; margin: 0 auto -25px; color: #fff; font-size: 40px; text-align: center; font-style: italic; font-weight: bold; background: #0b83fb; border-radius: 160px}
.basb01 .sec-flow ul li .step:after { content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: -5px; border: 10px solid transparent; border-top: 15px solid #0b83fb}
.basb01 .sec-flow ul li .step span { font-size: 16px; font-weight: bold}
.basb01 .sec-flow ul li .list-inr { padding: 60px 20px 20px; background: #fff; border-radius: 6px; box-shadow: 5px 5px 0 rgba(0,0,0,0.1)}
.basb01 .sec-flow ul li .list-inr figure { height: 70px; margin-bottom: 20px; text-align: center}
.basb01 .sec-flow ul li .list-inr img { width: auto; height: 100%}
.basb01 .sec-flow ul li .list-inr .ttl { margin-bottom: 20px; padding-bottom: 20px; font-size: 18px; font-weight: bold; line-height: 1.3; text-align: center; border-bottom: 2px dotted #bdbdbd}
@media screen and (max-width: 767px) {
  .basb01 .sec-flow ul, .basb01 .box-faq  { width: 80%; min-width: 290px}
  .basb01 .sec-flow ul li:nth-of-type(n + 2) { margin-top: 30px}
}
@media screen and (min-width: 768px) {
  .basb01 .sec-flow ul li { width: 32%; font-size: 22px}
  .basb01 .sec-flow ul li .step { width: 160px; height: 160px; margin: 0 auto -50px; font-size: 80px}
  .basb01 .sec-flow ul li .step:after { border: 20px solid transparent; border-top: 25px solid #0b83fb}
  .basb01 .sec-flow ul li .step span { font-size: 28px}
  .basb01 .sec-flow ul li .list-inr { display: flex; flex-direction: column; min-height: 770px; padding: 110px 30px 30px; border-radius: 12px}
  .basb01 .sec-flow ul li .list-inr figure { height: 100px;  margin-bottom: 40px}
  .basb01 .sec-flow ul li .list-inr .ttl { display: flex; justify-content: center; align-items: center; height: 100px; font-size: 30px; border-width: 4px}
}
/* .back-up */
.basb01 .back-up { color: #fff; font-size: 14px; text-align: center; background: url(../img/basb01/bg-back-up-sp.jpg) no-repeat center center/cover}
.basb01 .back-up .box-fukidashi { width: 90%; margin: 0 auto 29px; color: #333; background: #fff}
.basb01 .back-up .box-fukidashi:after { border-top: 10px solid #fff}
.back-up h2 span { color: #ffc000}
@media screen and (max-width: 767px) {
  .basb01 .back-up .box-fukidashi { max-width: 250px}
}
@media screen and (min-width: 768px) {
  .basb01 .back-up { height: 500px; font-size: 24px; background: url(../img/basb01/bg-back-up-pc.jpg) no-repeat top center/auto 500px}
  .basb01 .back-up .box-fukidashi { width: 500px}
  .basb01 .back-up .box-fukidashi:after { border-top: 20px solid #fff}
}
/* .sec-faq */
.basb01 .sec-faq .box-faq { margin: auto; padding: 20px; background: #efefef; border-radius: 6px; box-shadow: 2px 2px 0 rgba(0,0,0,0.1)}
.basb01 .sec-faq .box-faq:nth-of-type(n + 2) { margin-top: 25px}
.basb01 .sec-faq .box-faq dt { margin-bottom: 20px; padding: 0 0 20px 20px; font-size: 16px; font-weight: bold; line-height: 1.8; border-bottom: 2px dotted #bdbdbd}
.basb01 .sec-faq .box-faq dt i { margin-left: -25px}
.basb01 .sec-faq .box-faq dt i, .sec-faq .box-faq dd i { margin-right: 5px; font-style: italic; font-weight: bold}
.basb01 .sec-faq .box-faq dd { padding-left: 20px; font-size: 15px; line-height: 1.8}
.basb01 .sec-faq .box-faq dd i { margin-left: -20px; color: #dd0033; font-size: 18px}
@media screen and (min-width: 768px) {
  .basb01 .sec-faq .box-faq { width: 920px; margin: auto; padding: 40px; border-radius: 12px; box-shadow: 5px 5px 0 rgba(0,0,0,0.1)}
  .basb01 .sec-faq .box-faq:nth-of-type(n + 2) { margin-top: 50px}
  .basb01 .sec-faq .box-faq dt { font-size: 30px; border-width: 4px}
  .basb01 .sec-faq .box-faq dt i { margin-right: 30px; font-size: 32px}
  .basb01 .sec-faq .box-faq dd { padding-left: 120px; font-size: 22px}
  .basb01 .sec-faq .box-faq dd i { margin-left: -120px; margin-right: 90px; font-size: 32px}
}
/* .button-area */
.basb01 .button-area {background: linear-gradient(90deg, #ffe9e9 25%, #fffaea 75%)}
.basb01 .button-area h2 { font-size: 25px; line-height: 1.5}
.basb01 .button-area h2 img { width: 100%; max-width: 90%}
.basb01 .button-area h2 span { color: #dd0033; font-size: 32px}
.basb01 .button-area .cta-outline { display: flex; justify-content: space-between; flex-wrap: wrap; margin: auto}
.basb01 .button-area .cta-outline a { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; height: 65px; color: #fff; font-size:14px; line-height: 1.3; font-weight: bold; background: #4b4b4b; border-radius: 6px}
.basb01 .button-area .cta-outline a:nth-of-type(n+2)  { background: #61c850}
.basb01 .button-area .cta-outline a span { font-size:12px}
.basb01 .button-area .icon { position: absolute; top: 50%; transform: translateY(-50%); left: 10px!important; width: 20px; height: 20px; background-size: 20px auto; background-repeat: no-repeat; background-position: center center}
.basb01 .button-area .icon.mail { background-image: url(../img/common/icon-mail-w.png)}
.basb01 .button-area .icon.tel { background-image: url(../img/common/icon-tel-w.png)}
.basb01 .button-area .icon.download { background-image: url(../img/common/icon-download-w.png)}
.basb01 .arrow-right::before { content: ""; position: absolute;  margin: auto;  top: 0;  bottom: 0; right: 10px; width: 18px; height: 18px; background: #fff; border-radius: 30px}
.basb01 .arrow-right::after {  content: "";  position: absolute;  margin: auto;  top: 0;  bottom: 0;  right: 17px;  width: 6px;  height: 6px;  border: 1px solid;  border-color:  #61c850 #61c850 transparent transparent;  transform: rotate(45deg)}
.basb01 .link01 .arrow-right::after {  border-color:  #333 #333 transparent transparent}
.basb01 .button-area .notes { margin-top: 20px; font-size: 12px; text-align: center}
@media screen and (max-width: 767px) {
  .basb01 .button-area h2 img { max-width: 270px}
  .basb01 .button-area .link03 .icon.mail { left: 15%!important}
  .basb01 .button-area .link01 { order: 2; width: 49%; margin-top: 10px; font-size: 13px!important}
  .basb01 .button-area .link02 { order: 3; width: 49%; margin-top: 10px;  font-size: 13px!important}
  .basb01 .button-area .link03 { order: 1; width: 100%; font-size: 18px!important}
}
@media screen and (min-width: 768px) {
  .basb01 .button-area { height: 700px}
  .basb01 .button-area h2 { font-size: 44px; line-height: 3}
  .basb01 .button-area h2 span { font-size: 56px}
  .basb01 .button-area h2 sub { font-size: 14px}
  .basb01 .button-area h2 img { max-width: 900px}
  .basb01 .button-area .icon { left: 20px; width: 30px; height: 30px; background-size: 30px auto}
  .basb01 .button-area .cta-outline { margin-top: -40px}
  .basb01 .button-area .cta-outline a { width: 32%; height: 110px; font-size: 26px; border-width: 4px; border-radius: 12px}
  .basb01 .button-area .cta-outline a:hover { opacity: .7}
  .basb01 .button-area .cta-outline a:nth-child(3)  { font-size: 24px!important}
  .basb01 .button-area  .cta-outline a span { font-size:16px}
  .basb01 .button-area  .cta-outline a .icon { left: 20px; width: 35px; height: 35px; background-size: 35px auto}
  .basb01 .arrow-right::before { width: 30px; height: 30px}
  .basb01 .arrow-right::after { right: 21px;  width: 10px;  height: 10px; border-width: 2px}
  .basb01 .button-area .notes { font-size: 16px}
}
/* modal-container */
.modal-container, .modal-tel-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; text-align: center; background: rgba(0,0,0,0.8); overflow: auto; opacity: 0; visibility: hidden; transition: .3s; z-index: 20}
.modal-container:before, .modal-tel-container:before { content: ""; display: inline-block; vertical-align: middle; height: 100%}
.modal-container.active, .modal-tel-container.active { opacity: 1; visibility: visible}
.modal-body { position: relative; display: inline-block; vertical-align: middle; width: 90%; max-width: 760px}
.modal-tel-body { position: relative; display: inline-block; vertical-align: middle; width: 50%; max-width: 360px}
.modal-tel-body img { width: 90%}
.modal-close, .modal-tel-close { position: absolute; display: flex; align-items: center; justify-content: center; top: 10px; right: 10px; width: 40px; height: 40px; font-size: 40px; color: #000; cursor: pointer}
.modal-content { padding: 40px 20px 20px; text-align: center; background: #fff; border-radius: 6px}
@media screen and (max-width: 767px) {
  .modal-content { width: calc(100% - 40px)}
}
/* SERVICE LINK */
.sec-sa-common { padding: 40px 0 120px; background: #efefef}
.sec-sa-common h2 { color: #333!important}
.sec-sa-common ul { display: flex; justify-content: space-between; flex-wrap: wrap}
.sec-sa-common ul li a { display: flex; justify-content: space-between; align-items: center; height: 100%; padding: 20px 15px 20px 0px; background: #fff; border-radius: 4px}
.sec-sa-common ul .logo { max-width: 100px}
.sec-sa-common ul .box-text { width: calc(100% - 120px); font-size: 12px; line-height: 1.5}
.sec-sa-common ul .ttl { margin-bottom: 6px!important; color: #d62c29; font-size: 14px; font-weight: bold}
.sec-sa-common ul .ba-next .ttl { color: #004ea2}
.sec-sa-common ul .ba-pro .ttl { color: #7b0000}
.sec-sa-common ul .hatarako .ttl { color: #f08200}
.sec-sa-common ul .kobot .ttl { color: #009bdc}
.sec-sa-common ul .kaigo .ttl { color: #fa508c}
@media screen and (max-width: 767px) {
  .sec-sa-common ul li:nth-child(n + 2) { margin-top: 20px}
}
@media screen and (min-width: 768px) {
  .sec-sa-common { padding: 80px 0 200px}
  .sec-sa-common ul li { width: 49%}
  .sec-sa-common ul li:nth-child(n + 3) { margin-top: 20px}
  .sec-sa-common ul li a { border: 1.5px solid #fff}
  .sec-sa-common ul li a:hover { color: #333!important; border-color: #d82d2a}
  .sec-sa-common ul li.ba-next a:hover  { border-color: #004ea2}
  .sec-sa-common ul li.ba-pro a:hover  { border-color: #7b0000}
  .sec-sa-common ul li.hatarako a:hover  { border-color: #f08200}
  .sec-sa-common ul li.kobot a:hover  { border-color: #009bdc}
  .sec-sa-common ul li.kaigo a:hover  { border-color: #fa508c}
  .sec-sa-common ul .logo { max-width: 150px}
  .sec-sa-common ul .box-text { width: calc(100% - 190px); font-size: 13px}
  .sec-sa-common ul .box-text .ttl { font-size: 16px}
}
.cta-area .inr { padding: 30px 20px}
.cta-area .text { margin-bottom: 20px; text-align: center; font-size: 18px; font-weight: bold}
.cta-area .text img { max-width: 350px}
.cta-area .cta-outline { display: flex; justify-content: space-between; flex-wrap: wrap}
.cta-area .cta-outline a { position: relative; display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 70px; color: #fff; font-size: 15px; line-height: 1.3; font-weight: bold; background: #61c850; border-radius: 8px}
.cta-area .cta-outline a:nth-of-type(1)  { background: #4b4b4b}
.cta-area .cta-outline a small { display: block; font-size: 12px}
.cta-area .cta-outline a .icon { position: absolute; top: 50%; transform: translateY(-50%); left: 10px; width: 20px; height: 20px; background-size: 20px auto; background-repeat: no-repeat; background-position: center center}
.cta-area .cta-outline a .icon.mail { background-image: url(../img/common/icon-mail-w.png)}
.cta-area .cta-outline a .icon.tel { background-image: url(../img/common/icon-tel-w.png)}
.cta-area .cta-outline a .icon.download { background-image: url(../img/common/icon-download-w.png)}
@media screen and (max-width: 767px) {
  .cta-area .text img { margin-bottom: 4px}
  .cta-area .cta-outline .link03 .icon.mail { left: 15%}
  .cta-area .cta-outline .link01 { order: 2; width: 49%; margin-top: 10px; font-size: 13px}
  .cta-area .cta-outline .link02 { order: 3; width: 49%; margin-top: 10px; font-size: 13px}
  .cta-area .cta-outline .link03 { order: 1; font-size: 18px}
}
@media screen and (min-width: 768px) {
  .cta-area .text { margin-bottom: 30px; font-size: 2.524vw}
  .cta-area .text img { margin-right: 20px}
  .cta-area .cta-outline a { width: 32%; height: 80px; font-size: 1.9417vw; border-width: 3px}
  .cta-area .cta-outline a:first-of-type { padding-left: 30px}
  .cta-area .cta-outline a .icon { left: 20px; width: 30px; height: 30px; background-size: 30px auto}
}
@media screen and (min-width: 1030px) {
  .cta-area .text { font-size: 26px}
  .cta-area .cta-outline a { font-size: 20px}
  .cta-area .cta-outline a:hover { opacity: .7}
}
/* CTA */
.basb01 .ad-cta { display: none; width: 100%; position: fixed; bottom: 0; margin: auto; z-index: 7}
.basb01 .ad-cta_inner { width: 98%; margin: 0 auto; position: relative}
.basb01 .ad-cta_inner img { width: 100%}
.basb01 .ad-cta_contents { position: absolute; width: 100%; left: 0; top: 51.5%; display: flex; justify-content: space-between}
.basb01 .ad-cta_contents div { width: 32%}
@media screen and (min-width: 768px) {
  .basb01 .ad-cta_inner { width: 750px}
}
/* 20250508 add */
.sec-features .box-features:nth-of-type(3) figure { max-width: 100%; text-align: center; margin-top: 30px}
.sec-features .box-features:nth-of-type(3) figure img { max-width: 90%!important}
.sec-features .marker { display: block; width: fit-content; padding-bottom: 5px; border-bottom: 2.5px solid #ffd555}
.sec-features .mb2em { margin-bottom: 2em!important}
.sec-features small {font-size: 14px}
@media print {
  #body {  display: none!important}
}