﻿@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');


/* footerのレイアウト崩れ修正 */
.border_wrap{
  min-width:auto;
}


/* LPの基本構造 */
#lp {
  font-family: "Noto Sans JP", sans-serif;
	font-size:min(1.6vw,16px);
	text-align:center;
	color:#222;
  line-height:1.7;
  letter-spacing:0.06em;
/*	font-feature-settings: "palt";*/
}

@media screen and (max-width:750px){
	#lp {
		font-size:3.6vw;
		line-height:1.6;
	}
}


#lp img{
  width:auto;
	max-width:100%;
	height:auto;
  display:inline;
	vertical-align:bottom;
}


#lp h2,
#lp h3,
#lp h4,
#lp h5,
#lp h6{
  font-weight:bold;
}


.only_sp,
.only_sp_i,
.only_sp_f{
	display:none !important;
}

@media screen and (max-width:750px){
	.only_pc{
		display:none !important;
	}
	.only_sp{
		display:block !important;
	}
	.only_sp_i{
		display:inline-block !important;
	}
	.only_sp_f{
		display: -webkit-flex !important;
		display: flex !important;
	}
}


#lp .inner{
	max-width:1140px;
	width:94%;
	margin:auto;
  padding:0;
}

@media screen and (max-width:750px){
	#lp .inner{
		width:92%;
	}
}


/* 色関係 */
#lp .blue{
  color:#0083f9;
}
#lp .bg_blue{
  color:#fff;
  background-color:#0083f9;
}
#lp .yellow{
  color:#fcff00;
}
#lp .bg_gray{
  background-color:#eef6fe;
}
#lp .orange{
  color:#fc931a;
}



/* 書式 */
#lp .text_left{
	text-align:left !important;
}
#lp .text_right{
	text-align:right !important;
}
#lp .text_center{
	text-align:center !important;
}

#lp .bold{
	font-weight:bold;
}
#lp .heavy{
	font-weight:900;
}

#lp .blc{
	display:block;
}


/* ボタン */
.tel_btn,
.mail_btn,
.contact_btn,
.contact_btn2{
  height:4.5em;
  line-height:1.3;
  padding:0 0 0.05em;
  font-size:1.1vw;
  font-weight:900;
  text-align:center;
  letter-spacing:0;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  font-feature-settings: "palt";
}

.tel_btn{
  background:url(../../../dist/img/chatbot/tel_btn_bg.png)no-repeat center center;
  background-size:100% 100%;
}
.tel_btn .large{
  line-height:1.2;
  font-size:1.9vw;
}
.tel_btn .large img{
  display:inline-block;
  width:0.85em !important;
  margin-right:-0.1em;
  vertical-align:0 !important;
}
.tel_btn .small{
  font-size:0.66vw;
}

.mail_btn{
  padding-right:1em;
  background:
    url(../../../dist/img/chatbot/icon_arrow.png)no-repeat right 1em center,
    url(../../../dist/img/chatbot/mail_btn_bg.png)no-repeat center center;
  background-size:0.5em auto,100% 100%;
  color:#fff !important;
}
.contact_btn{
  display:block;
  width:100%;
  height:3.8em;
  line-height:3.8;
  padding:0;
  background:
    url(../../../dist/img/chatbot/icon_arrow.png)no-repeat right 1em center,
    url(../../../dist/img/chatbot/contact_btn_bg.png)no-repeat center center;
  background-size:0.5em auto,100% 100%;
  color:#fff;
  border-radius:0.8em;
  box-shadow:0 3px 7px rgba(0,0,0,0.15);
  cursor:pointer;
}
.contact_btn2{
  display:block;
  height:3em;
  line-height:3;
  margin:auto;
  background:
    url(../../../dist/img/chatbot/contact_arrow.png)no-repeat right 2.7em center,
    url(../../../dist/img/chatbot/contact_btn_bg.png)no-repeat center center;
  background-size:1.3em auto,100% 100%;
  color:#fff;
  border-radius:100px;
  box-shadow:0 3px 7px rgba(0,0,0,0.15);
  cursor:pointer;
}

.btn_list{
  margin-top:min(3.6vw,70px);
  display:flex;
  justify-content:space-between;
}
.btn_list li{
  width:49.8%;
}



/* フォーム */
input[type="text"],
input[type="email"],
input[type="tel"]{
	width:100%;
	height:3em;
	padding:0 5px;
	border:1px solid #ccc;
	border-radius: 0.3em;
	font-size:13px;
	font-weight:normal;
	outline:none;
}
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width:100%;
	height:3em;
	padding:0 1.5em 0 10px;
	color:#000;
	border:1px solid #ccc;
	border-radius: 0.3em;
	font-size:13px;
	background: url(select_arrow.svg) right 0.3em center no-repeat;
  background-size:0.8em auto;
	outline:none;
}
select::-ms-expand {
    display: none;
}
select option,
select optgroup{
	background:#fff;
}
dt p {
  display: inline;
  margin: 0;
  padding: 0;
}

input::placeholder{
  color:#bbb ;
}

/* flatpickr-calendar */
.flatpickr-calendar {
	width:280px;
	font-size:12px;
}
.flatpickr-days {
	width: 280px;
}
.dayContainer {
	width: 280px;		min-width:auto;
}
.flatpickr-day {
	height: 40px;//カレンダー表示幅/7にしてあげないとアクティブの日付の〇印がつぶれる
	line-height: 40px;
}
.flatpickr-calendar::before,
.flatpickr-calendar::after {
	display: none;
}


/* .cta */
#lp .cta{
  padding:min(7%,70px) 0;
  color:#fff;
  background-color:#0194ef;
}
#lp .cta h2{
  font-size:min(2.6vw,26px);
  font-weight:900;
  letter-spacing:0.1em;
  padding-left:0.1em;
  font-feature-settings: "palt";
}
#lp .cta .logo{
  margin-top:1.5em;
  font-size:min(2vw,20px);
  letter-spacing:0.09em;
}
#lp .cta .logo img{
  width:17em;
  vertical-align:-0.6em;
}
#lp .cta .logo .logo_right{
  margin-left:1.5em;
}
#lp .cta_link{
  max-width:700px;
  margin-top:min(5%,50px);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
#lp .cta_link dt{
  width:100%;
  margin-bottom:0.5em;
  font-size:26px;
  font-weight:bold;
  letter-spacing:0.06em;
  text-indent:0.06em;
  font-feature-settings: "palt";
}
#lp .cta_link dd{
  width:min(49%,340px);
}
#lp .cta_link dd .tel_btn,
#lp .cta_link dd .mail_btn{
  height:4em;
  font-size:22px;
}
#lp .cta_link dd .tel_btn .large{
  font-size:35px;
}
#lp .cta_link dd .tel_btn .small{
  font-size:12px;
}

@media screen and (max-width:750px){
  #lp .cta{
    padding:9% 0;
  }
  #lp .cta h2{
    font-size:4.4vw;
  }
  #lp .cta .logo{
    margin-top:1em;
    font-size:3.3vw;
  }
  #lp .cta .logo img{
    display:block;
    width:74%;
    margin:auto;
  }
  #lp .cta .logo .logo_right{
    margin-left:0;
    text-indent:0.06em;
  }
  #lp .cta_link dt{
    width:100%;
    margin-bottom:0.5em;
    font-size:3.9vw;
    font-weight:bold;
    letter-spacing:0.06em;
    text-indent:0.06em;
    white-space:nowrap;
  }
  #lp .cta_link dd .tel_btn,
  #lp .cta_link dd .mail_btn{
    font-size:3.7vw;
  }
  #lp .cta_link dd .tel_btn .large{
    font-size:5vw;
  }
  #lp .cta_link dd .tel_btn .small{
    font-size:1.7vw;
  }
}


/* #top_cont */
#top_cont{
  display:flex;
}



/* #mv */
#mv{
  background:url(../../../dist/img/chatbot/mv_bg.webp)no-repeat left top;
  background-size:cover;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  flex:1;
}
#mv .sec{
  width:calc(100% - 9.3vw);
  padding:0 28vw 0 0;
  text-align:left;
  position:relative;
}
#mv .sec h1{
  line-height:1.5;
  font-size:2.96vw;
  font-weight:900;
  letter-spacing:0.12em;
  color:#fff;
}
#mv .sec h1 .logo{
  width:5.5em;
}
#mv .sec h1 .logo_right{
  margin-left:0.5em;
  font-size:0.93vw;
  font-weight:normal;
  letter-spacing:0.09em;
  color:#fff;
  vertical-align:-0.3em;
}
#mv .sec h1 .fuki{
  line-height:2.4;
  display:inline-block;
  margin:2.5em 0 1.5em;
  padding:0 2em;
  font-size:1.35vw;
  font-weight:900;
  letter-spacing:0.12em;
  text-indent:0.12em;
  color:#333;
  background-color:#fff;
  border-radius:100px;
  position:relative;
}
#mv .sec h1 .fuki:before{
  content:'';
  display:block;
  width:1.5em;
  height:1.3em;
  background:url(../../../dist/img/chatbot/mv_fuki_dot.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  left:50%;
  bottom:100%;
  transform:translateX(-50%);
}
#mv .sec h1 .fuki:after{
  content:'';
  display:block;
  width:1em;
  height:1em;
  background-color:#fff;
  clip-path:polygon(0 0, 100% 0, 50% 100%);
  position:absolute;
  left:50%;
  top:100%;
  transform:translate(-50%,-1px);
}
#mv .sec h1 .main{
  margin-bottom:0.5em;
  display:block;
  white-space:nowrap;
}
#mv .sec h1 .main .small{
  font-size:2.5vw;
}
#mv .sec .lead{
  line-height:1.8;
  font-size:1.1vw;
  color:#fff;
  letter-spacing:0.08em;
  font-feature-settings: "palt";
}
#mv .sec .fig{
  width:24.8vw;
  position:absolute;
  right:2vw;
  top:50%;
  transform:translateY(-40%);
}

@media screen and (max-width:1300px){
  #mv{
    width:calc(100% - 300px);
  }
  #mv .sec{
    width:calc(100% - 3vw);
    padding:0 28vw 0 0;
    text-align:left;
  }
  #mv .sec h1{
    font-size:3.2vw;
  }
  #mv .sec h1 .logo_right{
    font-size:1.1vw;
  }
  #mv .sec h1 .fuki{
    font-size:1.5vw;
  }
  #mv .sec h1 .main .small{
    font-size:2.6vw;
  }
  #mv .sec .lead{
    font-size:1.25vw;
  }
}

@media screen and (max-width:1024px){
  #mv .sec{
    width:100%;
    padding:3vw;
    position:static;
  }
  #mv .sec h1{
    font-size:4.1vw;
    text-align:center;
  }
  #mv .sec h1 .logo_right{
    font-size:1.28vw;
  }
  #mv .sec h1 .fuki{
    font-size:1.85vw;
  }
  #mv .sec h1 .main .small{
    font-size:3.4vw;
  }
  #mv .sec .lead{
    font-size:1.8vw;
  }
  #mv .sec .fig{
    width:40%;
    position:static;
    right:auto;
    top:auto;
    transform:none;
    margin:5% auto;
  }
  
  #mv .tel_btn,
  #mv .mail_btn,
  #top_contact .contact_btn{
    font-size:1.65vw;
  }
  #mv .tel_btn .large{
    font-size:2.85vw;
  }
  #mv .tel_btn .small{
    font-size:1vw;
  }
}

@media screen and (max-width:750px){
  #mv .sec{
    width:100%;
    padding:0 3vw 5vw;
    position:static;
  }
  #mv .sec h1{
    font-size:7.6vw;
  }
  #mv .sec h1 .logo_right{
    font-size:2.4vw;
  }
  #mv .sec h1 .fuki{
    margin-bottom:0.8em;
    font-size:3.46vw;
  }
  #mv .sec h1 .main{
    margin-bottom:0.3em;
  }
  #mv .sec h1 .main .small{
    font-size:6.5vw;
  }
  #mv .sec .lead{
    font-size:3.7vw;
  }
  #mv .sec .fig{
    width:55vw;
    position:static;
    right:auto;
    top:auto;
    transform:none;
    margin:5% auto;
  }
  
  #mv .tel_btn,
  #mv .mail_btn,
  #top_contact .contact_btn{
    height:4em;
    font-size:3.7vw;
  }
  #mv .tel_btn .large{
    font-size:5vw;
  }
  #mv .tel_btn .small{
    font-size:1.7vw;
  }
  #mv .mail_btn{
    padding-right:0;
  }
}


/* #top_contact */
#top_contact{
  width:max(25.5vw,300px);
}
#top_contact h2{
  line-height:2.4;
  font-size:max(1.25vw,16px);
  letter-spacing:0.08em;
  text-indent:0.08em;
}
#top_contact .cont_wrapper{
  padding:min(5%,30px) min(7%,40px);
}
#top_contact .cont_wrapper .input{
  text-align:left;
}
#top_contact .cont_wrapper .input > dt{
  font-size:16px;
  font-weight:bold;
}
#top_contact .cont_wrapper .input > dt:before{
  content:'任意';
  line-height:1.4;
  display:inline-block;
  margin-right:0.5em;
  padding:0 0.3em;
  font-size:12px;
  letter-spacing:0.06em;
  text-indent:0.06em;
  color:#0083f9;
  border:1px solid;
  border-radius:0.4em;
}
#top_contact .cont_wrapper .input > dt.hissu:before{
  content:'必須';
  color:#fc931a;
}

#top_contact .cont_wrapper .input > dd{
  margin:0.5em 0 1em;
}

#top_contact .cont_wrapper .input_date div{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
#top_contact .cont_wrapper .input_date div dt{
  width:100%;
  font-size:14px;
  font-weight:bold;
}
#top_contact .cont_wrapper .input_date div dd{
  width:49%;
  margin:0.3em 0 0.5em;
}
#top_contact .cont_wrapper .input_date div dd input[type="text"]{
  background:url(../../../dist/img/chatbot/contact_calender.svg)no-repeat right 0.5em center;
  background-size:1.2em auto;
}

.wpcf7 .wpcf7-not-valid {
    background: #fdddd1;
}

@media screen and (max-width:1300px){
  #top_contact .cont_wrapper .input > dt{
    font-size:14px;
  }
  #top_contact .cont_wrapper .input > dt:before{
    font-size:10px;
  }
  #top_contact .cont_wrapper .input_date div dt{
    font-size:13px;
  }
}


/* .cont */
.cont{
	padding:min(9%,90px) 0;
}
.cont.bg_white{
	background:url(../../../dist/img/chatbot/bg_white.webp)no-repeat center top;
  background-size:1920px auto;
}
.cont.bg_sky{
	background:#f1f8fe url(../../../dist/img/chatbot/bg_sky.webp)no-repeat center top;
  background-size:1920px auto;
}

.cont .tit{
  line-height:1.4;
  font-size:min(3.8vw,38px);
  font-weight:900 !important;
  letter-spacing:0.12em;
  padding-left:0.12em;
}
.cont .en{
  margin-bottom:1em;
  display:block;
  font-size:min(1.6vw,16px);
  letter-spacing:0.06em;
  text-indent:0.06em;
  display:flex;
  justify-content:center;
  align-items:center;
}
.cont .en:before{
  content:'';
  display:block;
  width:3em;
  height:2px;
  margin-right:1.5em;
  background-color:#0194ef;
}
.cont .en:after{
  content:'';
  display:block;
  width:3em;
  height:2px;
  margin-left:1.5em;
  background-color:#0194ef;
}
.cont .tit + .lead{
  margin-top:min(3%,30px);
  padding-left:0.06em;
  letter-spacing:0.06em;
  font-feature-settings: "palt";
}


@media screen and (max-width:750px){
	.cont{
		padding:12% 0;
	}
  .cont.bg_white{
    background:url(../../../dist/img/chatbot/bg_white_s.webp)repeat-y center top;
    background-size:100% auto;
  }
  .cont.bg_sky{
    background:#f1f8fe url(../../../dist/img/chatbot/bg_sky_s.webp)repeat-y center top;
    background-size:100% auto;
  }
  .cont .tit{
    font-size:6.5vw;
    letter-spacing:0.08em;
    padding-left:0.08em;
  }
  .cont .en{
    margin-bottom:1em;
    display:block;
    font-size:2.9vw;
    letter-spacing:0.06em;
    text-indent:0.06em;
    display:flex;
    justify-content:center;
    align-items:center;
  }
  .cont .tit + .lead{
    margin-top:min(3%,30px);
    padding:0 4%;
    letter-spacing:0.06em;
    text-align:left;
  }
}



/* #cont1 */
#cont1{
}
#cont1 .tit .large{
  font-size:min(4.3vw,43px);
  position:relative;
}
#cont1 .tit .large:before{
  content:'';
  display:block;
  width:1.3em;
  height:0.5em;
  background:url(../../../dist/img/chatbot/tit_dot.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  bottom:100%;
  left:50%;
  transform:translateX(-50%);
}
#cont1 .lead{
  text-align:center;
}
#cont1 .cont_wrapper{
  width:min(96%,1140px);
  margin-top:min(3%,30px);
  position:relative;
}
#cont1 .cont_wrapper .fig{
  width:min(24.5%,276px);
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
}
#cont1 .cont_wrapper .trouble{
  margin:0 !important;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  
}
#cont1 .cont_wrapper .trouble li{
  width:min(38%,420px);
  padding:0.8em 0 0.8em 1.5em;
  aspect-ratio:420 / 176;
  display:flex;
  align-items:center;
  font-size:min(1.66vw,19px);
}
#cont1 .cont_wrapper .trouble li:nth-child(n+3){
  margin-top:min(2%,20px);
}
#cont1 .cont_wrapper .trouble li:nth-child(odd){
  background:url(../../../dist/img/chatbot/cont1_fuki_l.png)no-repeat center center;
  background-size:100% 100%;
}
#cont1 .cont_wrapper .trouble li:nth-child(even){
  padding-left:2.5em;
  background:url(../../../dist/img/chatbot/cont1_fuki_r.png)no-repeat center center;
  background-size:100% 100%;
}
#cont1 .cont_wrapper .trouble li img{
  width:4.6em;
}
#cont1 .cont_wrapper .trouble li p{
  line-height:1.6;
  margin-left:0.5em;
  font-weight:bold;
  letter-spacing:0.06em;
  text-align:left;
}
#cont1 .cont_wrapper .trouble li p .large{
  font-size:min(1.8vw,21px);
}

@media screen and (max-width:750px){
  #cont1 .tit .large{
    font-size:7.3vw;
  }
  #cont1 .tit .large:before{
    content:'';
    display:block;
    width:1.3em;
    height:0.5em;
    background:url(../../../dist/img/chatbot/tit_dot.svg)no-repeat center top;
    background-size:100% auto;
    position:absolute;
    bottom:100%;
    left:50%;
    transform:translateX(-50%);
  }
  #cont1 .cont_wrapper{
    width:92%;
    margin-top:min(3%,30px);
    position:static;
  }
  #cont1 .cont_wrapper .fig{
    width:50vw;
    position:static;
    bottom:auto;
    left:auto;
    transform:none;
    margin:auto;
  }
  #cont1 .cont_wrapper .trouble{
    display:block;
  }
  #cont1 .cont_wrapper .trouble li{
    width:auto;
    margin-top:3%;
    padding:0.8em 0 0.8em 1.5em;
    aspect-ratio:690 / 200;
    font-size:3.9vw;
  }
  #cont1 .cont_wrapper .trouble li:nth-child(n+3){
    margin-top:3%;
  }
  #cont1 .cont_wrapper .trouble li:first-child{
    margin-top:0;
  }
  #cont1 .cont_wrapper .trouble li:nth-child(odd),
  #cont1 .cont_wrapper .trouble li:nth-child(even){
    padding-left:1.5em;
    background-image:none;
    background-color:#fff;
    border:1px solid #e1efff;
    border-radius:1em;
    box-shadow:0 0 10px rgba(0,0,0,0.1);
  }
  #cont1 .cont_wrapper .trouble li img{
    width:4.6em;
  }
  #cont1 .cont_wrapper .trouble li p{
    line-height:1.6;
    margin-left:0.5em;
    font-weight:bold;
    letter-spacing:0.06em;
    text-align:left;
  }
  #cont1 .cont_wrapper .trouble li p .large{
    font-size:4.2vw;
  }
}


/* #cont2 */
#cont2{
  position:relative;
}
#cont2:before{
  content:'';
  display:block;
  width:5em;
  height:2em;
  background-color:#fff;
  clip-path:polygon(0 0, 100% 0, 50% 100%);
  position:absolute;
  top:-1px;
  left:50%;
  transform:translateX(-50%);
}
#cont2 .tit .dot{
  display:inline-block;
  position:relative;
}
#cont2 .tit .dot:before{
  content:'';
  display:block;
  width:0.6em;
  height:0.6em;
  background:url(../../../dist/img/chatbot/tit_dot2.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  top:0;
  left:100%;
}
#cont2 .flow{
  margin-top:min(5%,50px);
  display:flex;
  justify-content:space-between;
  counter-reset: listnum;
}
#cont2 .flow li{
  width:32.5%;
  padding:2% 2% 3%;
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  position:relative;
}
#cont2 .flow li:nth-child(n+2):before{
  content:'';
  display:block;
  width:1.5em;
  height:2em;
  background:url(../../../dist/img/chatbot/cont2_arrow.svg)no-repeat center center;
  background-size:100% auto;
  position:absolute;
  top:42%;
  left:0;
  transform:translateX(-70%) rotate(-90deg);
}
#cont2 .flow li h3{
  font-size:min(1.48vw,17px);
  font-weight:900;
  text-align:left;
  letter-spacing:0.06em;
}
#cont2 .flow li h3:before{
  content:'0'counter(listnum);
  counter-increment: listnum;
  font-size:min(1.55vw,18px);
  display:inline-block;
  width:2em;
  height:2em;
  line-height:1.9;
  margin-right:0.3em;
  color:#fff;
  text-align:center;
  background-color:#0083f9;
  border-radius:100%;
}
#cont2 .flow li picture{
  display:block;
  margin:3% 0;
	aspect-ratio:324 / 272;
}
#cont2 .flow li .bottom{
  padding-left:4.5em;
  text-align:left;
  font-size:min(1.35vw,16px);
  font-weight:500;
  position:relative;
  white-space:nowrap;
}
#cont2 .flow li .bottom img{
  width:4em;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
}
#cont2 .flow li .bottom .large{
  display:block;
  font-size:min(1.5vw,17px);
  font-weight:bold;
}

@media screen and (max-width:750px){
  #cont2:before{
    width:3em;
    height:1.2em;
  }
  #cont2 .tit .dot{
    display:inline-block;
    position:relative;
  }
  #cont2 .tit .dot:before{
    content:'';
    display:block;
    width:0.6em;
    height:0.6em;
    background:url(../../../dist/img/chatbot/tit_dot2.svg)no-repeat center top;
    background-size:100% auto;
    position:absolute;
    top:0;
    left:100%;
  }
  #cont2 .flow{
    margin-top:7%;
    display:block;
  }
  #cont2 .flow li{
    width:auto;
    margin-top:5%;
    padding:7% 5% 7%;
    border-radius:0.5em;
  }
  #cont2 .flow li:nth-child(n+2):before{
    content:'';
    display:block;
    width:1.2em;
    height:1.8em;
    background:url(../../../dist/img/chatbot/cont2_arrow.svg)no-repeat center center;
    background-size:100% auto;
    position:absolute;
    top:0;
    left:50%;
    transform:translate(-50%,-100%);
  }
  #cont2 .flow li h3{
    font-size:4.5vw;
  }
  #cont2 .flow li h3:before{
    font-size:4.2vw;
  }
  #cont2 .flow li picture{
    display:block;
    margin:1.5% 7%;
		aspect-ratio:522 / 390;
  }
  #cont2 .flow li .bottom{
    padding-left:4.5em;
    font-size:3.6vw;
  }
  #cont2 .flow li .bottom img{
    width:4em;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
  }
  #cont2 .flow li .bottom .large{
    font-size:3.9vw;
  }
}


/* #cont3 */
#cont3{
}
#cont3 .function{
  margin-top:min(5%,50px);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  counter-reset: listnum;
}
#cont3 .function li{
  width:32.5%;
  padding:3% 2% 3%;
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
#cont3 .function li:nth-child(n+4){
  margin-top:min(2.5%,25px);
}
#cont3 .function li figure img{
  width:52%;
}
#cont3 .function li figure figcaption{
  font-size:min(1.25vw,15px);
  font-weight:bold;
  text-align:left;
  font-feature-settings: "palt";
  white-space:nowrap;
}
#cont3 .function li figure figcaption:before{
  content:'機能0'counter(listnum);
  counter-increment: listnum;
  display:inline-block;
  margin-right:0.3em;
  padding:0 0.5em;
  border:1px solid;
  border-radius:100px;
}
#cont3 .function li h3{
  margin-top:0.5em;
  line-height:1.5;
  font-size:min(1.7vw,20px);
  font-weight:900;
  letter-spacing:0.06em;
  text-align:left;
}
#cont3 .function li p{
  margin-top:1em;
  text-align:left;
  font-feature-settings: "palt";
}

@media screen and (max-width:750px){
  #cont3 .function{
    margin-top:7%;
    display:block;
  }
  #cont3 .function li{
    width:auto;
    margin-top:5%;
    padding:7% 5% 7%;
    border-radius:0.5em;
  }
  #cont3 .function li:nth-child(n+2){
    margin-top:5%;
  }
  #cont3 .function li figure img{
    width:42%;
  }
  #cont3 .function li figure figcaption{
    font-size:3.2vw;
    text-align:center;
  }
  #cont3 .function li h3{
    margin-top:0.5em;
    line-height:1.5;
    font-size:4.5vw;
    letter-spacing:0.06em;
    padding-left:0.06em;
    text-align:center;
  }
  #cont3 .function li p{
    margin-top:1em;
    text-align:left;
    font-feature-settings: "palt";
  }
}


/* #cont4 */
#cont4{
}
#cont4 .case{
  max-width:960px;
  margin-top:min(5%,50px);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  counter-reset: listnum;
}
#cont4 .case li{
  width:49%;
  padding:3%;
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
#cont4 .case li:nth-child(n+3){
  margin-top:min(2.5%,25px);
}
#cont4 .case li figure figcaption{
  font-size:min(2vw,20px);
  font-weight:900;
}
#cont4 .case li figure figcaption:before{
  content:'CASE 0'counter(listnum);
  counter-increment: listnum;
  display:block;
  width:6em;
  line-height:1.8;
  margin:0 auto 1em;
  font-size:min(1.5vw,15px);
  font-weight:bold;
  color:#fff;
  background-color:#0083f9;
  border-radius:100px;
}
#cont4 .case li figure figcaption .small{
  font-size:min(1.7vw,1.7px);
}
#cont4 .case li h3{
  line-height:1.5;
  margin:0.8em 0;
  padding-bottom:0.8em;
  border-bottom:3px dotted #a9d6ff;
  font-size:min(2vw,20px);
  font-weight:900;
  letter-spacing:0.1em;
  padding-left:0.1em;
  white-space:nowrap;
}
#cont4 .case li p{
  text-align:left;
}

@media screen and (max-width:750px){
  #cont4 .case{
    margin-top:min(5%,50px);
    display:block;
  }
  #cont4 .case li{
    width:auto;
    margin-top:5%;
    padding:7% 5% 7%;
    border-radius:0.5em;
  }
  #cont4 .case li:nth-child(n+2){
    margin-top:5%;
  }
  #cont4 .case li figure figcaption{
    font-size:4vw;
  }
  #cont4 .case li figure figcaption:before{
    font-size:3vw;
  }
  #cont4 .case li figure figcaption .small{
    font-size:3.4vw;
  }
  #cont4 .case li h3{
    border-bottom:0.6vw dotted #a9d6ff;
    font-size:4.5vw;
  }
  #cont4 .case li:last-child h3{
    font-size:4.3vw;
  }
}


/* #cont5 */
#cont5{
}
#cont5 .voice{
  margin-top:min(5%,50px);
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  counter-reset: listnum;
}
#cont5 .voice li{
  width:32.5%;
  padding:3% 2% 3%;
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  display:flex;
  flex-direction:column;
}
#cont5 .voice li:before{
  content:'VOICE 0'counter(listnum);
  counter-increment: listnum;
  display:block;
  width:7em;
  line-height:1.9;
  margin:0 auto 1em;
  font-size:min(1.5vw,15px);
  font-weight:bold;
  color:#fff;
  background-color:#0083f9;
  border-radius:100px;
}
#cont5 .voice li:nth-child(n+4){
  margin-top:min(2.5%,25px);
}
#cont5 .voice li figure img{
  width:42%;
}
#cont5 .voice li figure figcaption{
  margin-top:1em;
  font-size:min(1.4vw,16px);
  font-weight:bold;
  text-align:left;
  letter-spacing:0.1em;
}
#cont5 .voice li section{
  padding-bottom:7%;
}
#cont5 .voice li section h3{
  line-height:1.5;
  margin-top:0.5em;
  font-size:min(1.67vw,20px);
  font-weight:900;
  text-align:left;
  letter-spacing:0.1em;
}
#cont5 .voice li section p{
  margin-top:0.5em;
  text-align:left;
  letter-spacing:0.06em;
  font-feature-settings: "palt";
}
#cont5 .voice li .bottom{
  margin-top:auto;
  padding-top:7%;
  border-top:3px dotted #a9d6ff;
}
#cont5 .voice li .bottom p{
  line-height:3.6;
  padding-left:4.5em;
  font-size:min(1.48vw,17px);
  text-align:left;
  position:relative;
  border-radius:100px;
}
#cont5 .voice li .bottom p img{
  width:3.8em;
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
}

@media screen and (max-width:750px){
  #cont5 .voice{
    margin-top:min(5%,50px);
    display:block;
  }
  #cont5 .voice li{
    width:auto;
    margin-top:5%;
    padding:7% 5% 7%;
    border-radius:0.5em;
    display:block;
  }
  #cont5 .voice li:before{
    margin:0 auto 1em;
    font-size:3vw;
  }
  #cont5 .voice li:nth-child(n+2){
    margin-top:5%;
  }
  #cont5 .voice li figure img{
    width:33%;
  }
  #cont5 .voice li figure figcaption{
    margin-top:1em;
    font-size:3.6vw;
    text-align:center;
    letter-spacing:0.1em;
    text-indent:0.1em;
  }
  #cont5 .voice li section{
    padding-bottom:7%;
  }
  #cont5 .voice li section h3{
    font-size:4.6vw;
  }
  #cont5 .voice li .bottom{
    margin-top:auto;
    padding:7% 5% 0;
    border-top:0.6vw dotted #a9d6ff;
  }
  #cont5 .voice li .bottom p{
    line-height:3.6;
    padding-left:4.5em;
    font-size:3.6vw;
  }
  #cont5 .voice li .bottom p img{
    width:3.8em;
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
  }
}


/* #cont6 */
#cont6{
}
#cont6 .sec{
  margin-top:min(5%,50px);
  padding:min(3%,30px);
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
#cont6 .sec h3{
  display:inline-block;
  font-size:min(2.4vw,24px);
  font-weight:900;
  letter-spacing:0.1em;
  text-indent:0.1em;
  position:relative;
}
#cont6 .sec h3:after{
  content:'';
  display:block;
  width:0.9em;
  height:0.9em;
  background:url(../../../dist/img/chatbot/tit_dot2.svg)no-repeat center top;
  background-size:100% auto;
  position:absolute;
  top:-18%;
  left:100%;
}
#cont6 .sec .price_list{
  margin-top:1.5%;
  padding:3% 0;
  border-top:1px solid #d1e1ef;
  display:flex;
}
#cont6 .sec .price_list div{
  width:100%;
}
#cont6 .sec .price_list div dt{
  font-size:min(2.6vw,26px);
  font-weight:900;
  letter-spacing:0.1em;
  text-indent:0.1em;
}
#cont6 .sec .price_list div dd p{
  display:flex;
  justify-content:center;
  align-items:flex-end;
  font-size:min(2.5vw,28px);
  font-weight:900;
}
#cont6 .sec .price_list div:first-child dd p{
  margin-right:5.5em;
}
#cont6 .sec .price_list div dd p img{
  width:3.5em;
}
#cont6 .sec .price_list div dd p .large{
  display:inline-block;
  line-height:1;
  margin-left:0.3em;
  font-size:min(7.1vw,81px);
  text-align:right;
}
#cont6 .sec .price_list div:first-child dd p .large{
  margin-left:1.2em;
  transform:scale(1.25);
  transform-origin:right bottom;
}
#cont6 .sec .price_list div dd p .small{
  letter-spacing:0.1em;
  text-indent:0.1em;
  font-feature-settings: "palt";
}
#cont6 .sec .price_list div dd .point{
  display:block;
  margin-top:1.5em;
  font-weight:bold;
  letter-spacing:0.06em;
  text-indent:0.06em;
  white-space:nowrap;
  font-feature-settings: "palt";
}
#cont6 .sec .cancel{
  padding:2% 3%;
  font-weight:bold;
  text-align:left;
  display:flex;
  align-items:center;
  border:2px solid #e1efff;
  border-radius:1em;
}
#cont6 .sec .cancel dt{
  margin-right:1.5em;
  padding-left:2em;
  font-size:min(2vw,23px);
  background:url(../../../dist/img/chatbot/cont6_check.png)no-repeat left center;
  background-size:1.5em auto;
}
#cont6 .caution{
  margin-top:1.5em;
  font-size:min(1.6vw,13px);
  letter-spacing:0.06em;
  text-indent:0.06em;
  font-feature-settings: "palt";
}

@media screen and (max-width:750px){
  #cont6 .lead{
    text-align:center;
  }
  #cont6 .sec{
    margin-top:7%;
    padding:7% 5% 7%;
    border-radius:0.5em;
  }
  #cont6 .sec h3{
    font-size:4.6vw;
    position:static;
  }
  #cont6 .sec h3:after{
    content:none;
  }
  #cont6 .sec .price_list{
    margin-top:1.5%;
    padding:3% 0;
    border-top:none;
    display:block;
  }
  #cont6 .sec .price_list div{
    width:auto;
    padding:9% 0;
    border-top:1px solid #d1e1ef;
  }
  #cont6 .sec .price_list div dt{
    padding-left:9%;
    font-size:5.7vw;
  }
  #cont6 .sec .price_list div dd p{
    justify-content:flex-start;
    align-items:flex-end;
    font-size:5.8vw;
  }
  #cont6 .sec .price_list div:first-child dd p{
    margin-right:0;
  }
  #cont6 .sec .price_list div dd p img{
    width:3em;
  }
  #cont6 .sec .price_list div dd p .large{
    margin-left:0.15em;
    font-size:16vw;
  }
  #cont6 .sec .price_list div dd p .small{
    display:flex;
    flex-direction:column-reverse;
    text-align:left;
  }
  #cont6 .sec .price_list div:last-child dd p .small{
    line-height:1.2;
  }
  #cont6 .sec .price_list div dd p .small .tax{
    font-size:3.5vw;
  }
  #cont6 .sec .price_list div dd .point{
    font-size:3.2vw;
  }
  #cont6 .sec .cancel{
    padding:7% 5%;
    display:block;
    border:1px solid #e1efff;
    border-radius:0.5em;
  }
  #cont6 .sec .cancel dt{
    margin-right:0;
    padding-left:2.5em;
    font-size:4.5vw;
    background:url(../../../dist/img/chatbot/cont6_check.png)no-repeat left center;
    background-size:1.5em auto;
  }
  #cont6 .sec .cancel dd{
    margin-top:0.5em;
  }
  #cont6 .caution{
    font-size:2.5vw;
  }
}


/* #cont7 */
#cont7{
}
#cont7 .faq{
  max-width:1040px;
  margin-top:min(5%,50px);
}
#cont7 .faq div{
  padding:0 2.5%;
  font-size:min(2vw,20px);
  font-weight:bold;
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
#cont7 .faq div:nth-child(n+2){
  margin-top:min(1.5%,15px);
}
#cont7 .faq div dt{
  padding:0.9em 2.5em;
  position:relative;
  cursor:pointer;
}
#cont7 .faq div dt:before{
  content:'Q';
  display:block;
  width:1.9em;
  height:1.9em;
  line-height:1.8;
  color:#fff;
  background-color:#0083f9;
  letter-spacing:0;
  border-radius:100%;
  position:absolute;
  left:0;
  top:0.7em;
}
#cont7 .faq div dt:after{
  content:'＋';
  display:block;
  width:1.8em;
  height:1.8em;
  line-height:1.6;
  color:#0083f9;
  letter-spacing:0;
  border:2px solid;
  border-radius:100%;
  position:absolute;
  right:0;
  top:0.7em;
}
#cont7 .faq div dt.close:after{
  content:'－';
}

#cont7 .faq div dt p{
  font-size:min(1.7vw,17px);
  font-weight:bold;
  text-align:left;
  letter-spacing:0.06em;
  display: block;
}
#cont7 .faq div dd{
  padding:1em 0 1em 2.5em;
  position:relative;
  border-top:1px dashed #dddddd;
  display:none;
}
#cont7 .faq div dd:before{
  content:'A';
  display:block;
  width:1.9em;
  height:1.9em;
  line-height:1.8;
  color:#0083f9;
  background-color:#eef6fe;
  border-radius:100%;
  position:absolute;
  left:0;
  top:0.7em;
}
#cont7 .faq div dd p{
  font-size:min(1.6vw,16px);
  font-weight:normal;
  text-align:left;
  font-feature-settings: "palt";
}

@media screen and (max-width:750px){
  #cont7 .faq{
    margin-top:5%;
  }
  #cont7 .faq div{
    padding:0 4%;
    font-size:3.6vw;
    border-radius:0.5em;
  }
  #cont7 .faq div:nth-child(n+2){
    margin-top:3%;
  }
  #cont7 .faq div dt p{
    font-size:3.6vw;
  }
  #cont7 .faq div dd p{
    font-size:3.4vw;
  }
}


/* #contact */
#contact{
}
#contact .cont_wrapper{
  margin-top:min(5%,50px);
  padding:min(1.5%,15px) min(3%,30px) min(5%,50px);
  background-color:#fff;
  border-radius:1em;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
#contact .cont_wrapper .input{
  text-align:left;
}
#contact .cont_wrapper .input > div{
  padding:1em 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
#contact .cont_wrapper .input > div.align_top{
  padding-top:0;
  align-items:flex-start;
}
#contact .cont_wrapper .input > div:nth-child(n+2){
  border-top:1px dashed #ddd;
}
#contact .cont_wrapper .input > div > dt{
  width:270px;
  font-size:17px;
  font-weight:bold;
}
#contact .cont_wrapper .input > div.align_top > dt{
  padding-top:2em;
}
#contact .cont_wrapper .input > div > dt:before{
  content:'任意';
  line-height:1.8;
  display:inline-block;
  margin-right:1em;
  padding:0 1em;
  font-size:13px;
  letter-spacing:0.06em;
  text-indent:0.06em;
  color:#0083f9;
  border:1px solid;
  border-radius:0.4em;
}
#contact .cont_wrapper .input > div > dt.hissu:before{
  content:'必須';
  color:#fc931a;
}
#contact .cont_wrapper .input > div > dt span{
  display:inline-block;
  vertical-align:top;
}
#contact .cont_wrapper .input > div > dd{
  flex:1;
}

#contact .cont_wrapper .input_date div{
  padding:1em 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px dashed #ddd;
}
#contact .cont_wrapper .input_date div dt{
  flex:1;
  font-size:16px;
  font-weight:bold;
}
#contact .cont_wrapper .input_date div dd{
  width:calc((100% - 7em) / 2 - 1em);
  margin-left:1em;
}
#contact .cont_wrapper .input_date div dd input[type="text"]{
  background:url(../../../dist/img/chatbot/contact_calender.svg)no-repeat right 0.5em center;
  background-size:1.2em auto;
}

#contact input[type="text"],
#contact input[type="email"],
#contact input[type="tel"]{
  padding:0 10px;
  font-size:16px;
}
#contact select{
  padding-left:10px;
  font-size:16px;
}
#contact .contact_btn2{
  width:550px;
  margin-top:0.5em;
  font-size:26px;
}
@media screen and (max-width:1024px){
  #contact .cont_wrapper .input_date div{
    padding:1em 0 0;
    flex-wrap:wrap;
    border-bottom:none;
  }
  #contact .cont_wrapper .input_date div dt{
    flex:none;
    width:100%;
  }
  #contact .cont_wrapper .input_date div dd{
    width:49%;
    margin:0.3em 0 0;
  }
}

@media screen and (max-width:750px){
  #contact .cont_wrapper{
    margin-top:5%;
    padding:3% 5% 7%;
    border-radius:0.5em;
  }
  #contact .cont_wrapper .input > div{
    padding:1em 0;
    display:block;
  }
  #contact .cont_wrapper .input > div.align_top{
    padding-top:1em;
  }

  #contact .cont_wrapper .input > div > dt{
    width:auto;
    font-size:max(16px,3.6vw);
  }
  #contact .cont_wrapper .input > div.align_top > dt{
    padding-top:0;
  }
  #contact .cont_wrapper .input > div > dt:before{
    line-height:1.6;
    margin-right:0.6em;
    padding:0 0.5em;
    font-size:max(14px,3vw);
  }
  #contact .cont_wrapper .input > div > dd{
    margin-top:0.5em;
  }
  #contact .cont_wrapper .input_date div{
    padding:0.5em 0;
  }
  #contact .cont_wrapper .input_date div dt{
    font-size:max(16px,3.6vw);
  }
  #contact .cont_wrapper .input_date div dd{
    width:100%;
    margin-top:0.5em;
  }
  #contact input[type="text"],
  #contact input[type="email"],
  #contact input[type="tel"]{
    font-size:max(16px,3.6vw);
  }
  #contact select{
    font-size:max(16px,3.6vw);
  }
  #contact .contact_btn2{
    width:100%;
    margin-top:0.5em;
    padding-right:0.5em;
    font-size:5vw;
    background-position:right 0.5em center,center center;
    background-size:1.1em auto,100% 100%;
    box-shadow:3px 0 7px rgba(0,0,0,0.1);
  }

}




/* #bottom_nav */
#bottom_nav{
	width:min(20vw,200px);
	position:fixed;
	z-index:99;
	right:0;
	bottom:-300px;
	-webkit-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
#bottom_nav:hover{
	opacity:1;
}

@media screen and (max-width:750px){
	#bottom_nav{
		display:block;
		width:100%;
	}
	#bottom_nav .btn{
		width:100%;
		font-size:5.3vw;
		border-radius:0;
		box-shadow:none;
	}
}


/* fadein */
.fadein {
	opacity : 0.01;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_0 {
	opacity : 0;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 2s;
	transition-duration : 2s;
}


.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}
.delay5 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.0s;
	transition-delay : 1.0s;
}
.delay6 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 1.2s;
	transition-delay : 1.2s;
}

.fadein.scrollin,
.fadein_0.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}

/* popup */
.popup {
	-webkit-transform : scale(0);
	transform : scale(0);
	-webkit-transform-origin:left bottom;
	transform-origin:left bottom;
	-webkit-transition-property: transform;
	transition-property : transform;
	-webkit-transition-duration: 0.4s;
	transition-duration : 0.4s;
	-webkit-transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
	transition-timing-function: cubic-bezier(.17,.67,.68,1.34);
}
.popup.scrollin {
	-webkit-transform : scale(1);
	transform : scale(1);
}


/* エラー表記調整 */
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}
