@charset "UTF-8";
/* COMMON STYLE */
.talk-restaurant { font-size: 14px}
.talk-restaurant a { color: #02cc77}
.talk-restaurant a:hover { opacity: 0.8; color: #02cc77; text-decoration: none}
.talk-restaurant h2 { margin-bottom: 15px; line-height: 1.5}
.talk-restaurant h2 span { color: #02cc77}
.talk-restaurant h3 { font-size: 18px; font-weight: normal; text-align: center}
.talk-restaurant h2 + .text, .talk-restaurant h3 + .text { margin-bottom: 40px!important; text-align: center}
.talk-restaurant img { width: 100%}
.talk-restaurant .btn-detail { display: flex; justify-content: center; align-items: center; height: 45px; color: #000; border: 1px solid #161917}
.talk-restaurant .btn-detail span::after { display: inline-block; content: ""; width: 10px; height: 10px; margin-left: 10px; border: 1.5px solid; border-color: #02cc77 #02cc77 transparent transparent; transform: rotate(45deg)}
.talk-restaurant .btn-list { display: flex; justify-content: center; align-items: center; width: fit-content; min-width: 250px; height: 45px; margin: 50px auto 0; padding: 0 20px; color: #000; background: #fff; border: 1px solid #161917}
@media (max-width: 767px) {
  .talk-restaurant h2 { font-size: 18px!important}
}
@media (min-width: 768px) {
  #sa-common.talk-restaurant section .contents-inr { padding-top: 80px!important; padding-bottom: 80px!important;} 
  .talk-restaurant h2 { font-size: 30px}
  .talk-restaurant h3 { font-size: 22px}
  .talk-restaurant h2 + .text, .talk-restaurant h3 + .text { font-size: 16px}
}
/* KV */
.talk-restaurant .kv { background:#31b372}
.talk-restaurant .kv-inr { width: 100%; min-width: 320px; max-width: 1030px; margin: 0 auto; padding: 80px 20px 20px}
.talk-restaurant .kv-inr .heading { width: fit-content; display: flex; align-items: center; padding: 5px 10px; color: #fff; font-weight: normal; background: #161917; border-radius: 4px 4px 0 0}
.talk-restaurant .kv-inr .ttl { padding: 15px; font-size: 16px; font-weight: 500; line-height: 2!important; background: #fff; border-radius: 0 4px 4px 4px}
.talk-restaurant .kv-inr .ttl span { font-weight: bold; border-bottom: 4px solid #f6993c}
.talk-restaurant .kv-inr .sub-ttl { margin-top: 20px!important; color: #fff; font-weight: 500; ine-height: 1.5!important}
.talk-restaurant .kv-inr .btn-area { margin: 30px auto 0; width: 85%;}
.talk-restaurant .kv-inr .btn-area a { position: relative; display: flex; justify-content: center; align-items: center; height: 50px; padding: 0 30px; font-weight: bold; text-decoration: none!important; border-radius: 100vh; box-shadow: 2px 2px 2px rgb(0 0 0 / 20%)}
.talk-restaurant .kv-inr .btn-area i { position: absolute; top: -20px; right: -20px; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; color: #000; font-size: 10px; font-style: normal; font-weight: bold; line-height: 1.3; text-align: center; background: #f7f980; border-radius: 50%}
.talk-restaurant .kv-inr .btn-area a:first-of-type { color: #fff; background-image: linear-gradient(#ff7f00, #d07010 80%); border: 2px solid #fff}
.talk-restaurant .kv-inr .btn-area a:last-of-type { color: #000; background-image: linear-gradient(#ffffff, #f0f0f0 50%)}
@media (max-width: 767px) {
  .talk-restaurant .kv-sp { margin-top: 20px; border-radius: 6px}
  .talk-restaurant .kv-inr .btn-area a:last-of-type { margin-top: 20px}
}
@media (min-width: 768px) {
  .talk-restaurant .kv { background: url(/solution/wp-content/themes/drop-child/img/talk-restaurant/bg-kv_pc.jpg) no-repeat center center/cover}
  .talk-restaurant .kv-inr { display: flex; justify-content: space-between; min-width: 990px; height: 460px; padding: 80px 20px} 
  .talk-restaurant .kv-inr .box-left { display: flex; justify-content: center; flex-direction: column; width: 53%} 
  .talk-restaurant .kv-inr .heading { margin-top: 60px!important; padding: 10px 15px}
  .talk-restaurant .kv-inr .ttl { padding: 10px 15px 20px 20px; font-size: 18px; line-height: 1.7!important}
  .talk-restaurant .kv-inr .ttl span { font-size: 25px}
  .talk-restaurant .kv-inr .btn-area { display: flex; justify-content: space-between; margin-top: 30px; width: calc(100% - 20px)}
  .talk-restaurant .kv-inr .btn-area a { width: 47%}
  .talk-restaurant .kv-inr .box-image { width: 45%; height: 380px}
}
/* CTA */
.talk-restaurant .cta-area { margin-top: 40px}
.talk-restaurant .cta-area a { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 50px; text-decoration: none!important; font-weight: bold; border-radius: 100vh}
.talk-restaurant .cta-area i { position: absolute; top: -20px; right: -20px; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; color: #000; font-size: 10px; font-style: normal; font-weight: bold; line-height: 1.3; text-align: center; background: #f7f980; border-radius: 100vh}
.talk-restaurant .cta-area a:first-of-type { color: #fff; background-image: linear-gradient(#ff7f00, #d07010 80%); border: 2px solid #fff}
.talk-restaurant .cta-area a:last-of-type { color: #000; background-image: linear-gradient(#ffffff, #f0f0f0 50%); border: 2px solid #ff7f00}
@media (max-width: 767px) {
  .talk-restaurant .cta-area { max-width: 85%; margin: 30px auto 0}
  .talk-restaurant .cta-area a { width: 90%; margin: auto; font-size: 17px}
  .talk-restaurant .cta-area a:last-of-type { margin-top: 20px}
}
@media (min-width: 768px) {
  .talk-restaurant .cta-area { display: flex; justify-content: space-between; max-width: 510px; margin: 80px auto 0}
  .talk-restaurant .cta-area a:first-of-type, .talk-restaurant .cta-area a:last-of-type { width: 47%}
}
/* .sec-talk */
.sec-talk .box-text .text { text-align: left!important}
.sec-talk .movie { position: relative; display: block}
.sec-talk .movie::after { content: ""; display: inline-block; position: absolute;  top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; background: url(../img/talk-restaurant/icon-play.png); background-repeat: no-repeat; background-size: contain}
.sec-talk .movie::before { content: ""; display: inline-block; position: absolute; inset: 0; background-color: rgb(0 0 0 /.5); opacity: 0; transition: opacity 0.3s}
.sec-talk .movie:hover::before { opacity: 1}
.sec-talk .movie::after { content: ""; display: inline-block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; background-image: url(../img/talk-restaurant/icon-play.png); background-repeat: no-repeat; background-size: contain}
.sec-talk .movie:hover::after { background-image: url(../img/talk-restaurant/icon-play_hover.png)}
.sec-talk .movie img { border: 1px solid #ddd}
@media (max-width: 767px) {
  .sec-talk figure { max-width: 90%; margin: 10px auto 0}
}
@media (min-width: 768px) {
  .sec-talk .box-outline { display: flex; justify-content: space-between; align-items: flex-start}
  .sec-talk .box-text { width:  60%}
  .sec-talk .box-text h2 { font-size: 24px!important; text-align: left!important}
  .sec-talk figure { width:  38%}
  .sec-talk .movie::after { width: 80px; height: 80px}
}
/* .sec-challenge */
.sec-challenge { position: relative; background: #f4f5f8}
.sec-challenge:after { content: ""; position: absolute; width: 0; height: 0; bottom: -60px; left: 50%; border-top: 60px solid #f4f5f8; border-left: 50vw solid transparent; border-right: 50vw solid transparent; transform: translateX(-50%);}
.sec-challenge ul li h3 { margin: 20px 0 10px}
.sec-challenge .text-center { margin: 50px 0 -30px!important; font-size: 18px; font-weight: 500}
.sec-challenge .text-center span { color: #02cc77}
.sec-challenge .text-center i { display: block; font-style: normal; line-height: 1.1!important}
@media (max-width: 767px) {
  .sec-challenge ul li figure { max-width: 80%; margin: auto; padding-top: 10px; text-align: center; background: #fff}
  .sec-challenge ul li figure img { width: 85%}
  .sec-challenge ul li:nth-child(n+2) { margin-top: 60px}
  .sec-challenge ul li h3 { font-weight: bold}
}
@media (min-width: 768px) {
  .sec-challenge:after { bottom: -80px; border-top: 80px solid #f4f5f8}
  .sec-challenge ul { display: flex; justify-content: space-between}
  .sec-challenge ul li { width: 31%}
  .sec-challenge ul li h3 { margin: 30px 0}
  .sec-challenge .text-center { margin: 80px 0 -50px!important; font-size: 26px}
  .sec-challenge .text-center i { font-size: 20px}
}
/* .sec-application */
.sec-application { padding-top: 60px}
.sec-application .box-outline:nth-of-type(n+2) { margin-top: 60px}
.sec-application .company-name { display: flex; align-items: center; width: fit-content; height: 30px; padding: 0 15px;  font-size: 13px; background: #02cc77}
.sec-application .challenge { margin: 10px 0 20px!important; font-size: 18px; font-weight: 500; line-height: 1.5!important}
.sec-application .box.text .btn-detail { margin-top: 30px}
@media (max-width: 767px) {
  .sec-application .image { height: 180px!important; object-fit: cover; object-position: top center}
  .sec-application .company-name { margin-top: 10px}
}
@media (min-width: 768px) {
  .sec-application { padding-top: 80px}
  .sec-application .box-outline { display: flex; justify-content: space-between}
  .sec-application .box-outline.row-reverse { flex-direction: row-reverse}
  .sec-application .image { width: 38%; height: auto; object-fit: cover}
  .sec-application .box.text { display: flex; flex-direction: column; width: 58%}
  .sec-application .challenge  { font-size: 20px}
  .sec-application .btn-detail { max-width: 200px}
  .sec-application .solution { flex-grow: 1}
}
/* .sec-flow */
.sec-flow { background: #dcede6}
.sec-flow .contents-inr { position: relative}
.sec-flow .contents-inr .label { display: flex; justify-content: center; align-items: center; flex-direction: column; color: #fff; font-weight: 500; text-align: center; background: #cc0257; border-radius: 0 0 8px 8px}
.sec-flow .contents-inr .label span { line-height: 1.1!important}
.sec-flow .contents-inr .label big { margin-right: 3px; /*color: #f7f980; */ font-size: 38px}
.sec-flow .contents-inr .label big::after { content: "円"; font-size: 14px}
.sec-flow ul li figure { display: flex; justify-content: center; align-items: center; width: 150px; height: 150px; margin: auto; background: #fff; border-radius: 100vh}
.sec-flow ul li figure img { width: 80%}
.sec-flow .box-text { padding: 10px 20px 0}
.sec-flow .box-text .number { color: #02cc77; font-size: 22px; text-align: center}
.sec-flow .box-text .ttl { font-size: 18px; font-weight: bold; text-align: center}
@media (max-width: 767px) {
  .sec-flow .contents-inr .label { width: fit-content; margin: -40px auto 10px; padding: 10px 20px; font-size: 12px}
  .sec-flow ul li:nth-child(n+2) { margin-top: 30px}
  .sec-flow .line { position: relative; width: 4px; height: 20px; margin: auto; background: #02cc77}
  .sec-flow .box-text .number { display: flex; justify-content: center; align-items: center; width: 30px; height: 30px; margin: -10px auto 10px!important; color: #fff; background:  #02cc77; border-radius: 100vh}
}
@media (min-width: 768px) {
  .sec-flow .contents-inr .label {  position: absolute; top: 0; left: 20px; width: 100px; height: 100px}
  .sec-flow .contents-inr .label big { font-size: 44px}
  .sec-flow ul { display: flex}
  .sec-flow ul li { width: 33.333%}
  .sec-flow ul li figure { margin: 0 auto 20px}
  .sec-flow .line { position: relative; width: 100%; height: 4px; background: #02cc77}
  .sec-flow .circle { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 28px; height: 28px; border-radius: 100vh; background: #02cc77; border: 6px solid #dcede6}
}
/* .sec-faq */
.sec-faq .accordion { border: 1px solid #161917}
.sec-faq .accordion:nth-of-type(n+2) { margin-top: 20px}
.sec-faq .toggle { display: none}
.sec-faq .box-faq { position: relative}
.sec-faq .question p { margin: 0!important; line-height: 1.3!important}
.sec-faq .question, .sec-faq .answer { backface-visibility: hidden; transform: translateZ(0); transition: all 0.3s}
.sec-faq .question { display: block; padding: 15px 40px}
.sec-faq .question::after, .sec-faq .question::before { content: ""; position: absolute; right: 1.25em; top: 45%; width: 3px; height: 1em; background-color: #02cc77; transition: all 0.3s}
.sec-faq .question::after { transform: rotate(90deg)}
.sec-faq .answer { max-height: 0; overflow: hidden}
.sec-faq .answer-inr { padding: 15px}
.sec-faq .answer .lead { margin-bottom: 30px!important; padding-bottom: 30px; font-size: 16px; font-weight: 500; border-bottom: 1px dashed #ddd}
.sec-faq .toggle:checked + .question { background: #02cc77}
.sec-faq .toggle:checked + .question + .answer { max-height: 500px; transition: all 1.5s}
.sec-faq .toggle:checked + .question::before { transform: rotate(90deg) !important}
.sec-faq .toggle:checked + .question::after  { background-color: #fff}
.sec-faq .ic-q { position: absolute; top: 50%; transform: translateY(-50%); left: 10px; color: #02cc77; font-size: 21px; font-style: normal; font-weight: normal}
.sec-faq .ic-a { display: inline-block; width: 40px; height: 40px; line-height: 36px; margin-right: 10px; color: #02cc77; font-size: 30px; font-style: normal; text-align: center; background: #02cc77; border-radius: 40px}
.sec-faq .toggle:checked + .question .ic-q { color: #fff}
.sec-faq h3 { margin: 40px 0 10px; line-height: 1.5}
.sec-faq .cta-area { margin-top: 0}
@media (min-width: 768px) {
  .sec-faq .question { padding: 20px 40px}
  .sec-faq .question::after, .sec-faq .question::before { right: 1.25em; top: 1.25em}
  .sec-faq .answer-inr { padding: 30px}
  .sec-faq h2 { font-size: 30px}
}
/* .sec-column */
.sec-column { background: #f4f5f8}
.sec-column ul li { background: #fff; border-radius: 12px; box-shadow: 5px 5px 5px #eee}
.sec-column ul li .box-text { padding: 20px}
.sec-column ul li .label { padding: 3px 8px; font-size: 12px; background: #02cc77}
.sec-column ul li .ttl { margin: 20px 0!important; font-size: 18px; line-height: 1.5!important}
@media (min-width: 768px) {
  .sec-column ul { display: flex; justify-content: space-between}
  .sec-column ul li { width: 32%}
  .sec-column ul li .ttl { font-size:18px}
}
/* .sec-info */
.sec-info { padding: 40px 20px; background: #02cc77}
.sec-info .info-inr { width: 100%; min-width: 320px; max-width: 990px; margin: 0 auto; padding: 20px; background: #fff; border-radius: 12px}
.sec-info .ttl { font-size: 18px; line-height: 1.3!important; font-weight: 500}
.sec-info .sub-ttl { margin-top: 20px!important; line-height: 1.5!important}
.sec-info .btn-area { position: relative; margin-top: 30px}
.sec-info .btn-area a { position: relative; display: flex; justify-content: center; align-items: center; height: 50px; padding: 0 30px; text-decoration: none!important; font-weight: bold!important; border: 2px solid #e97c10; border-radius: 100vh}
.sec-info .btn-area i { position: absolute; top: -20px; right: -20px; display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; color: #000; font-size: 10px; font-weight: bold; font-style: normal; line-height: 1.3; text-align: center; background: #f7f980; border-radius: 100vh}
.sec-info a:first-of-type { color: #fff; font-weight: 500; background-image: linear-gradient(#ff7f00, #d07010 80%); border: 2px solid #fff}
.sec-info a:last-of-type { color: #000; background-image: linear-gradient(#ffffff, #f0f0f0 50%); border: 2px solid #ff7f00}
@media (max-width: 767px) {
  .sec-info .sub-ttl { margin-bottom: 20px!important}
  .sec-info .btn-area.pc-only { display: none}
  .sec-info .btn-area.sp-only { width: 85%; margin: 30px auto 0}
  .sec-info a:last-of-type { margin-top: 20px}
}
@media (min-width: 768px) {
  .sec-info .info-inr { display: flex; justify-content: space-between; padding: 40px 20px 30px 40px}
  .sec-info .info-inr .box-text { width: 53%}
  .sec-info .ttl  { font-size: 30px}
  .sec-info .btn-area { display: flex; justify-content: space-between; max-width: calc(100% - 20px); margin-top: 40px}
  .sec-info .btn-area.sp-only { display: none}
  .sec-info .btn-area a { width: 47%}
  .sec-info .info-inr img { width: 43%}
}
/* 固定CTA */
.cta-fixed { position: fixed; left: 0; bottom: 0; display: flex; align-items: center; width: 100%; color: #fff; background:rgba(49,179,114,0.9); opacity: 0; visibility: hidden; transform: translateY(100%); transition: opacity .3s, transform .3s, visibility .3s; z-index: 555}
.cta-fixed.is-show { opacity: 1; visibility: visible; transform: translateY(0)}
.cta-fixed .cta-area a:last-of-type { color: #000; background-image: linear-gradient(#ffffff, #f0f0f0 50%)}
.cta-fixed .cta-area a:last-of-type { border: 0}
@media (max-width: 767px) {
  .cta-fixed { padding: 7px 0 10px}
  .cta-fixed .text { text-align: center}
  .cta-fixed .cta-area { display: flex; justify-content: space-between; margin-top: 5px}
  .cta-fixed .cta-area a { width: 48%; margin: auto; font-size: 14px}
  .cta-fixed .cta-area a:last-of-type { margin-top: 0}
}
@media (min-width: 768px) {
  .cta-fixed { height: 90px}
  .cta-fixed .contents-inr { display: flex; justify-content: space-between; align-items: center}
  .cta-fixed .text { width: 55%; font-size: 20px; font-weight: bold}
  .cta-fixed .cta-area { width: 44%; margin: 0; display: flex; justify-content: space-between}
  .cta-fixed .cta-area a { width: 49%!important}
  
}
/* modal */
.modal { display: none; position: fixed; justify-content: center; align-items: center; inset: 0; background: rgba(0, 0, 0, .5); backdrop-filter: blur(6px); z-index: 9999}
.modal.is-open { display: flex; justify-content: center; align-items: center}
.modal-inr div { position: relative; width: min(90vw, 800px); padding: 15px; background: #fff; border-radius: 8px}
.modal-inr div iframe { display: block; width: 100%; height: auto; aspect-ratio: 16/9; border: 0}
.modal-inr .close { position: absolute; top: -60px; right: 0; color: #fff; font-size: 50px; cursor: pointer}
@media (min-width: 768px) {
  .modal-inr div {  padding: 30px}
}