@charset "UTF-8";

/*-- ALL ------------------------------
------------------------------------------*/
*{box-sizing:border-box;}
html{overflow-x:hidden;font-size:62.5%;}
body{font-family:"游ゴシック体", "Yu Gothic", YuGothic, sans-serif;font-size:18px;line-height:1.45;color:#000;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;word-break:break-all;}
.mb0{margin-bottom:0!important}
.mb5{margin-bottom:5px!important}
.mb10{margin-bottom:10px!important}
.mb15{margin-bottom:15px!important}
.mb20{margin-bottom:20px!important}
.mb25{margin-bottom:25px!important}
.mb30{margin-bottom:30px!important}
.mb35{margin-bottom:35px!important}
.mb40{margin-bottom:40px!important}
.mb45{margin-bottom:45px!important}
.mb50{margin-bottom:50px!important}
.mb60{margin-bottom:60px!important}
.mb65{margin-bottom:65px!important}
.mb70{margin-bottom:70px!important}
.mb75{margin-bottom:75px!important}
.mb80{margin-bottom:80px!important}
.mb90{margin-bottom:90px!important}
.mb100{margin-bottom:100px!important}
.mb115{margin-bottom:115px!important}
.mb140{margin-bottom:140px!important}
.center{text-align:center;}
.txt_right{text-align: right;}
a{display: block;transition:all .2s;}
a:hover{opacity:.85;}
.hover:hover{opacity:.85}
.sp{display:none;}
.break_pc{display:block;}
.break_sp{display:contents;}
.txt_shadow{text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
p{margin:0 0 40px 0;font-size:24px;line-height:1.65;}
.mb0{margin-bottom:0;}
.lh_none{line-height:0}
.bold{font-weight:700;}
.highlight{background:-webkit-linear-gradient(transparent 50%,#f9ff9c 50%,#f9ff9c 80%,transparent 80%);background:-o-linear-gradient(transparent 50%,#f9ff9c 50%,#f9ff9c 80%,transparent 80%);background:linear-gradient(transparent 50%,#f9ff9c 50%,#f9ff9c 80%,transparent 80%);padding-bottom:5px;}
.highlight02{background:-webkit-linear-gradient(transparent 95%,#000 50%,#000 100%,transparent 0%);background:-o-linear-gradient(transparent 95%,#000 50%,#000 100%,transparent 0%);background:linear-gradient(transparent 95%,#000 50%,#000 100%,transparent 0%);padding-bottom:2px;}
:root{
  --grey: #f3f3f1;
  --purple: #563cfd;
  --green: #f6fbfb;
  --blue:#222b38;
  --yellow:#d9c184;
  --green2: #42b5a9;
  --black: #020202;
  --white: #ffffff;
  --cl-text: #464851;
  --f-mincho: "ヒラギノ明朝 ProN","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","MS P明朝",MS PMincho,serif !important;
}
.lt-spa { letter-spacing: -2px; }
.lt-spa-1 { letter-spacing: -0.5px; }
.cl_green { color: var(--green2); }
.cl_white { color: var(--white); }
.cl_blue { color: var(--blue); }
.cl_yellow { color: var(--yellow); }
.size14 { font-size: 14px; }
.size15 { font-size: 15px; }
.size16 { font-size: 16px; }
.size18 { font-size: 18px; }
.size24 { font-size: 24px; }
.size28 { font-size: 28px; }
.size30 { font-size: 30px; }
.size32 { font-size: 32px; }
.size33 { font-size: 33px; }
.size40 { font-size: 40px; }
.size43 { font-size: 43px; }

.size48 { font-size: 48px; }
.size60 { font-size: 60px; }
.size70 { font-size: 70px; }
.size80 { font-size: 80px; }
.f-mincho { font-family: var(--f-mincho); }
.fw-normal { font-weight: normal; }

.fc_blue{
  color: #00adbe;;
}
.r {
	color: var(--red);
}

.y {
	color: var(--yellow);
}
.y2 {
	color:#745520;
}
.y3 {
	color: #d2ac28;
}
.o{
	color:#ff5f29;
}
.blue {
	color: var(--blue);
}
.blue2 {
	color: #1a3a89;
}


.or {
	color: var(--mainColor);
}

.g {
	color: var(--subColor);
}

.wht {
	color: #fff;
}

.brown {
	color: #372f0b;
}

.grad_blk_rd {
	background: linear-gradient(90deg, var(--black), var(--red));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.grad_blk_rd2 {
	background: linear-gradient(0deg, var(--black), var(--red));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.grad_gold {
	background: linear-gradient(to right, #fee9a8 0%, #e3c25f 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.grad_gold2 {
	background: linear-gradient(-90deg,#e3c25f,#fee9a8, #e3c25f);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.orenge_gold2 {
	background: linear-gradient(-90deg,#ff5f29,#ffaa59,#ff5f29);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.mark_grad {
    background: linear-gradient(-3deg,#ff5f29 0%,#e71a46 100%);
    display: inline-block;
	padding: 17px 2rem;
	margin: 0rem 6rem;
}

.grad_red {
	background: linear-gradient(-90deg, #c9002c, #ff2051, #c9002c);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.grad_bl {
	color: #126678;
	background: linear-gradient(to bottom, #04a1aa, #126678);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.bg_gry {
	background: #e5e5e5;
}

.bg_or2 {
	background: #fbf2e3;
}

.bg_r {
	background: var(--red);
}

.bg_r2 {
	background: #f9e9ea;
}

.bg_blue {
	background: var(--blue);
}

.bg_grad_gold {
	background: linear-gradient(to right, #70350f 0%, #f0891d 50%, #70350f 100%);
	padding: 3rem 0;
	margin: 0rem 7rem;
}

.bg_ozawa {
	background-image: url("../img/ozawa_bg.jpg");
	background-size: cover;
	padding: 5rem 0;
}

.b {
	font-weight: bold;
}

.b600 {
	font-weight: 600;
}
.b700 {
	font-weight: 600;
}
.b800 {
	font-weight: 600;
}

.b900 {
	font-weight: 900;
}

.u {
	text-decoration: underline;
}

.italic {
	font-style: italic;
}
.serif {
	font-family: 'Noto Serif JP', "serif";
	letter-spacing: -0.5px;
}
/* line-height */
.lh_10 {
	line-height: 1;
}

.lh_11 {
	line-height: 1.1;
}

.lh_12 {
	line-height: 1.2;
}

.lh_13 {
	line-height: 1.3;
}

.lh_14 {
	line-height: 1.4;
}

.lh_17 {
	line-height: 1.7;
}
.lh_18 {
	line-height: 1.8;
}

.lh_20 {
	line-height: 2.0;
}


/* text-align */
.txt_c {
	text-align: center;
}

.txt_r {
	text-align: right;
}

.txt_l {
	text-align: left;
}
img {
  max-width: 100%;
  height: auto;
}
/*-- header --------------------------------
------------------------------------------*/
.header1{
  background-size: cover;

}
.sec_header .header1 img {
  width: 100%;
  height: auto;
  display: block; /* 余計な隙間防止 */
}
/*-- /header -------------------------------
------------------------------------------*/

/*-- fv ------------------------------------
------------------------------------------*/
.sec_fv{
  background: url(../images/fv_bg.jpg) no-repeat center;
  min-height: 880px;
}
.sec_fv2{
  background: url(../images/fv_bg02.jpg) no-repeat center;
  min-height: 820px;
}
.sec_fv2 .inner,
.sec_fv3 .inner {
  padding-top: 35px;
}
.sec_fv3{
  background: url(../images/fv_bg03.jpg) no-repeat center;
  min-height: 600px;
}
.sec_fv3_btm {
  background: #055057;
  padding: 25px 0;
}
.sec_fv3_btm img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

/*-- /fv -----------------------------------
------------------------------------------*/

/*-- cta -----------------------------------
------------------------------------------*/
.cta.bottom{
  padding: 106px 0 90px 0;
}
.cta .cta_box{
  background: #39adc0;
  padding: 10px;
  box-sizing: border-box;
  margin-bottom: 30px;
}
.cta .cta_box .bg_w_cta{
  background: #fff;
  padding: 30px 50px 25px 50px;
}
.bg_w_cta{
  position: absolute;
  top: -224px;
  left:98px
}
.cta .cta_box .cta_list{
  position: relative;
}
.cta .cta_box .cta_list img{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.cta .cta_box .cta_list ul{
  max-width: 520px;
  margin: 0 auto 0;
}
.cta .cta_box .cta_list ul li{
  font-size: 22px;
  background: url(../images/check.png) no-repeat center left, url(../images/border.png) repeat-x bottom;
  padding-left: 40px;
  margin-bottom: 17px;
  letter-spacing: -2px;
}
.cta02{
  padding: 35px 0 0px 0;
}
.cta.bottom{
  padding: 106px 0 90px 0;
}
.cta .cta_box{
  background: #39adc0;
  padding: 10px;
  box-sizing: border-box;
  margin-bottom: 30px;
}
.cta .cta_box .bg_w_cta{
  background: #fff;
  padding: 30px 50px 25px 50px;
}
.cta .cta_box .cta_list{
  position: relative;
}
.cta .cta_box .cta_list img{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.cta .cta_box .cta_list ul{
  max-width: 520px;
  margin: 0 auto 0;
}
.cta .cta_box .cta_list ul li{
  font-size: 22px;
  background: url(../images/check.png) no-repeat center left, url(../images/border.png) repeat-x bottom;
  padding-left: 40px;
  margin-bottom: 17px;
  letter-spacing: -2px;
}

/*-- /cta ----------------------------------
------------------------------------------*/

/*-- sec01 ---------------------------------
------------------------------------------*/
.sec01{
  padding: 90px 0 96px 0;
  background:url(../images/pc_sec01_bg.jpg) no-repeat center top;
  position: relative;
  width: 100%;
  background-size: cover;
}
.sec01 .sec01_list{
  max-width: 650px;
  margin-bottom: 67px;
}
.sec01 .sec01_list li{
  background: rgba(255, 255, 255, .8);
  font-size: 30px;
  display: flex;
  height: 80px;
  align-items: center;
  padding: 0 15px;
}
.sec01 .sec01_list li:not(:last-child){
  margin-bottom: 10px;
}
.sec01 .sec01_list li span{
  background: url(../images/dot.png) no-repeat left center;
  padding-left: 40px;
  letter-spacing: -1px;
  line-height:1.1;
}
.sec01 .sec01_box{
  background: #fff;
  padding: 40px 0 36px 0;
}
.sec01 .sec01_box .txt{
  font-size: 36px;
}
.sec01 .sec01_arr{
  text-align: center;
}
/*-- /sec01 --------------------------------
------------------------------------------*/

/*-- sec02 ---------------------------------
------------------------------------------*/
.sec02{
  padding: 96px 0 96px 0;
  background: #222b38;
  position: relative;
  z-index: 1;
  background-size: cover;
}
.sec02_box dl{
  text-align: center;
}
.sec02 .sec02_box{
  margin-top: 30px;
}
.sec02 .sec02_box dl{
    border: 2px solid #cdcdcd;
    padding: 54px 75px 0px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    text-align: center;
  }
.sec02 .sec02_box dl:not(:last-child){
  margin-bottom: 35px;
}

/*-- sec02 cta -----------------------------------
------------------------------------------*/
.cta02{
  padding: 35px 0 0px 0;
}
.cta.bottom{
  padding: 106px 0 90px 0;
}
.cta .cta_box{
  background: #39adc0;
  padding: 10px;
  box-sizing: border-box;
  margin-bottom: 30px;
}
.cta .cta_box .bg_w_cta{
  background: #fff;
  padding: 30px 50px 25px 50px;
}
.cta .cta_box .cta_list{
  position: relative;
}
.cta .cta_box .cta_list img{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.cta .cta_box .cta_list ul{
  max-width: 520px;
  margin: 0 auto 0;
}
.cta .cta_box .cta_list ul li{
  font-size: 22px;
  background: url(../images/check.png) no-repeat center left, url(../images/border.png) repeat-x bottom;
  padding-left: 40px;
  margin-bottom: 17px;
  letter-spacing: -2px;
}
/*-- /sec02 cta ----------------------------------
------------------------------------------*/

/*-- /sec02 --------------------65------------
------------------------------------------*/


/*-- sec03 ---------------------------------
------------------------------------------*/
.sec03{
  padding: 96px 0 96px 0;
  background:linear-gradient(90deg, #e9e8e8 0%, #dedddd 100%);
  position: relative;
  z-index: 1;
}
.sec03 h2{
  margin-bottom: 60px;
}
.d_flex_step{
  display: flex;
  /*--
  justify-content: space-between;
  --*/
  justify-content: space-around;
  gap: 10px;
  position: relative;
}
.d_flex_step:before{
  width: 80%;
  height: 10px;
  background: #00adbe;
  z-index: 1;
  position: absolute;
  top: -70px;
  left: 0;
  right: 0;
  content: "";
  margin: 0 auto;
}
.d_flex_step dl{
  background: #fff;
  padding: 20px 10px;
  position: relative;
  flex: 1;
}
.d_flex_step dl dt{
  margin-bottom: 5px;
  text-align: center;
}
.d_flex_step dl dt img{
}
.d_flex_step dl:before{
  width: 0px;
  height: 0px;
  border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-bottom: 22px solid #fff;
  position: absolute;
  top: -22px;
  left: 0;
  right: 0;
  content: "";
  margin: 0 auto;
}
.d_flex_step dl:after{
  width: 80px;
  height: 80px;
  position: absolute;
  top: -105px;
  left: 0;
  right: 0;
  content: "01";
  margin: 0 auto;
  background: #00adbe;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-family: var(--f-mincho);
  font-weight: 700;
  font-size: 30px;
  border-radius: 50px;
  z-index: 2;
  line-height: 0;
}
.d_flex_step dl:nth-child(2):after{content: "02";}
.d_flex_step dl:nth-child(3):after{content: "03";}
.d_flex_step dl:nth-child(4):after{content: "04";}
.d_flex_step dl:nth-child(5):after{content: "05";}
.d_flex_step dl .ttl{
  line-height: 1.2;
  color: var(--blue);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  margin-bottom: 15px;
  text-shadow: -1px -1px 3px #fff, 1px 1px 3px #fff;
}
.d_flex_step dl .txt{
  line-height: 1.5;
  margin-top: 10px;
}
/*-- /sec03 --------------------------------
------------------------------------------*/

.sec03-2 {
  padding: 90px 0;
  background: #eee;
}
.sec03-2 .white_box {
  padding: 45px 30px;
  background: #fff;
  display: flex;
  gap: 30px;
}
.sec03-2 .white_box p {
  margin-bottom: 0;
}
.sec03-2 .white_box .font_s {
  padding-top: 30px;
  font-size: 0.8em;
}


/*-- sec04 ---------------------------------
------------------------------------------*/
.sec04{
  padding: 96px 0 115px 0;
  background-color: #222b38;
}
.sec04 .sec04_box{
  margin-top: 70px;
}
.sec04 .sec04_box dl{
  border: 2px solid #cdcdcd;
  padding: 23px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color:#fff;
}
.sec04 .sec04_box dl:not(:last-child){
  margin-bottom: 35px;
}
.sec04 .sec04_box dl dd{
  width: calc(100% - 326px);
}
/*-- /sec04 --------------------------------
------------------------------------------*/

/*-- sec05 ---------------------------------
------------------------------------------*/
.sec05{
  padding: 100px 0 96px 0;
  background:url(../images/pc_sec05_bg.jpg) no-repeat center top;
  position: relative;
  z-index: 1;
  background-size: cover;
}
  .sec05 .sec05_box{
  text-align: center !important;
    border: 2px solid #cdcdcd;
    padding: 58px 0px 50px;
    background: #222b38;
    opacity: 0.9;
  }
.sec05 .sec05_box dl:not(:last-child){
  margin-bottom: 35px;
}
.bg01{
  opacity: 0.9;
}

/*-- /sec05 --------------------------------
------------------------------------------*/

/*-- sec06 ---------------------------------
------------------------------------------*/
.sec06{
  padding: 100px 0 110px 0;
  position: relative;
  z-index: 1;
  background: url(../images/pc_sec06_bg.jpg) no-repeat center top;
  background-size: cover;
}
.sec06_box{
  background: #fff;
  width: 100%;
  padding: 51px 0rem;
}
.sec06 ul{
  position: relative;
  padding: 0rem 0rem 0rem 144px;
}

.sec06 ul li{
  font-size: 24px;
  font-weight: 600;
  padding: 6px 0px 28px;
  text-align: left;
}
.list li::before{
    content: "";
    position: absolute;
    background: url(../images/pc_check_gold.png);
    left: 65px;
    width: 4.4rem;
    height: 4rem;
    background-size: cover;
    /* background-repeat: no-repeat; */
}

/*-- /sec06 --------------------------------
------------------------------------------*/

/*-- sec07 ---------------------------------
------------------------------------------*/
.sec07{
  background:url(../images/pc_sec07_bg.jpg);
  padding: 96px 0 110px 0;
  position: relative;
  z-index: 1;
}
.sec07_qa dl:not(:last-child){
  margin-bottom: 40px;
}
.sec07_qa dl dt{
  background: #185057;
  padding: 27px 30px;
  font-size: 24px;
  color: var(--white);
  position: relative;
  font-weight: 700;
}
.sec07_qa dl dt .ttl_q{
  font-size: 30px;
  font-family: var(--f-mincho);
  padding-right: 15px;
  font-weight: 700;
}
.sec07_qa dl dd{
  padding: 27px 30px;
  background: #fff;
}
.sec07_qa dl dd p{
  display: flex;
  align-items: flex-start;
}
.sec07_qa dl dd .ttl_a{
  font-size: 30px;
  font-family: var(--f-mincho);
  padding-right: 15px;
  color: var(--blue);
  font-weight: 700;
}
/*-- /sec07 --------------------------------
------------------------------------------*/

/*-- sec09 ---------------------------------
------------------------------------------*/
.sec09{
  background:#fff;
  padding: 96px 0 110px 0;
  position: relative;
  z-index: 1;
}
.sec09_text{
  margin: 0;
}
/*-- /sec09 --------------------------------
------------------------------------------*/

/*-- sec10 ---------------------------------
------------------------------------------*/
.sec10bg1{
  background:url(../images/pc_sec10_1bg.jpg) no-repeat center top;
  padding: 96px 0 110px 0;
  position: relative;
  z-index: 1;
  background-size: cover;
}
.sec10bg2{
  background:url(../images/pc_sec10_2bg.jpg) no-repeat center top;
  padding: 96px 0 96px 0;
  position: relative;
  z-index: 1;
  background-size: cover;
}
.sec10bg3{
  background:url(../images/pc_sec10_3bg.jpg) no-repeat center top;
  padding: 96px 0 110px 0;
  position: relative;
  z-index: 1;
  background-size: cover;
}

.sec10_text{
  margin: 0;
}
.sec10_box{
  display: flex;
  justify-content:space-between;
}
.sec10 .sec10_box.bg02{
  background: url(../images/pc_sec10_02img.jpg) no-repeat;
}
.sec10 .sec10_box.bg03{
  background: url(../images/pc_sec10_03img.jpg) no-repeat;
}
.sec10 .sec10_box .inner{
  display: flex;
  justify-content: flex-end;
}
.sec10 .sec10_box.bg02 .inner{
  justify-content: flex-start;
}
.sec10 .sec10_box .inner .sec05_wrap{
  max-width: 545px;
}
.sec10 .sec10_box .inner h3{
  padding-top: 15px;
  text-align: left;
}
/*-- /sec10 --------------------------------
------------------------------------------*/

/*-- sec11 ---------------------------------
------------------------------------------*/
.sec11{
  background:linear-gradient(90deg, #e9e8e8 0%, #dedddd 100%);
  padding: 96px 0 110px 0;
  position: relative;
  z-index: 1;
}
.sec11_text{
  margin: 0;
}
/*-- /sec11 --------------------------------
------------------------------------------*/

/*-- sec12 ---------------------------------
------------------------------------------*/
.sec12{
  background:#d9c184;
  padding: 96px 0 96px 0;
  position: relative;
  z-index: 1;
}
.sec12_text{
  margin: 0;
}
/*-- /sec12 --------------------------------
------------------------------------------*/

/*-- sec13 ---------------------------------
------------------------------------------*/
.sec13{
  background:#222b38;
  padding: 96px 0 96px 0;
  position: relative;
  z-index: 1;
}
.sec13_text{
  margin: 0;
}
/*-- /sec13 --------------------------------
------------------------------------------*/

/*-- sec14 ---------------------------------
------------------------------------------*/
.sec14{
  background:#fff;
  padding: 96px 0 96px 0;
  position: relative;
  z-index: 1;
}
.sec14_text{
  margin: 0;
}
.scroll-hint{
  display: none;
}
.sec14 p{
  margin-bottom: 0!important;
}
/*-- /sec14 --------------------------------
------------------------------------------*/


/*-- footer --------------------------------
------------------------------------------*/
.footer {
  margin-bottom: 15px;
}
.footer1{
  font-size: 13px;
  margin: 2px 0px!important;
}
.footer .inner {
  padding-bottom: 110px;
}

.footer .copyright {
  text-align: center;
  color: #000;
  padding: 4px 0;
}

.footer .copyright p {
  font-size: 13px;
}

.footer .footerNav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 30px;
}

.footer .footerNav .footerNav__item {
  background-color: #fff;
  position: relative;
  height: 80px;
  line-height: 42px;
  font-size: 18px;
  border-radius: 6px;
  padding: 18px 18px 18px 75px;
}

.footer .footerNav .footerNav__item::before {
  display: inline-block;
  position: absolute;
  content: '';
  height: 38px;
  width: 50px;
  background-repeat: no-repeat;
  background-size: contain;
  left: 18px;
}

.footer .footerNav .footerNav__item::after {
  display: inline-block;
  position: absolute;
  content: '';
  width: 10px;
  height: 20px;
  right: 18px;
  top: 30px;
  background-image: url("../images/btn-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

.footer .footerNav .footerNav__item--building::before {
  background-image: url("../images/building.svg");
}

.footer .footerNav .footerNav__item--id::before {
  background-image: url("../images/id.svg");
}

.footer .footerNav .footerNav__item--dict::before {
  background-image: url("../images/dict.svg");
}

.footer .footerNav .footerNav__item--balloon::before {
  background-image: url("../images/balloon.svg");
}
.footer a{
  text-decoration: none;
  color: #222;
}
.footer__privacy{
  display: inline-block;
}
/*-- /footer -------------------------------
------------------------------------------*/

/*-- cta_fixed_pc --------------------------
------------------------------------------*/

.mfp_buttons button {
  border: none;      /* 枠線を消す */
  outline: none;     /* フォーカス枠を消す */
  box-shadow: none;  /* 影も消す場合 */
  background: none;  /* 背景を透明にする場合 */
  padding: 0;        /* 余白も調整 */
  margin: 0px 172px;
}

.mfp_buttons button:focus {
  outline: none;
  box-shadow: none;
}

#cta_fixed_pc{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    /* height: 82px; */
    z-index: 999;
    /* background-color:#222b38; */
    background-color: rgba(34, 43, 56, 0.8); /* 黒＋50%透過 */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding-inline: 10px;
}
#cta_fixed_pc .ttl_tab{
  display: none;
}
#cta_fixed_pc .ttl {
  margin: 2px!important; /* 不要な余白を削除 */
  line-height: 0;
}
.br-pc,
.br-sp {
  display: none;
}


/* カルーセル */
.elementor-swiper {
  box-sizing: border-box;
  position: relative;
}


.swiper-slide {
  background: #fff;
  padding: 30px 20px;
  box-sizing: border-box;
  box-shadow: 0 2px 6px rgb(0 0 0 / 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  text-align: center;
  margin-right: 10px;
  margin-right: 11.8px!important;
  height: 468px!important;
  width: 224.5px!important;
}

.elementor-testimonial__image img {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 10px;
}

.elementor-testimonial__text {
  font-size: 14px;
  line-height: 1.6;
}

.elementor-testimonial__text .name {
  font-weight: 700;
  font-size: 18px;
  margin: 10px 0 15px;
  display: block;
}

.elementor-testimonial__content > p,
.elementor-testimonial__text {
  margin: 0;
}

.elementor-swiper-button-prev,
.elementor-swiper-button-next {
  position: absolute;
  top: 50%;
  width: 40px;
  margin-top: -20px;
  border-radius: 50%;
  z-index: 10;
  cursor: pointer;
  color: #444;
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementor-swiper-button-prev {
  left: -11px;
}

.elementor-swiper-button-next {
  right: -10px;
}

.elementor-swiper-button-prev svg,
.elementor-swiper-button-next svg {
  width: 34px;
  height: 34px;
  fill:#798390;
}

.swiper-pagination {
  text-align: center;
  margin-top: 20px;
}

.swiper-pagination-bullet {
  background: #000;
  opacity: 0.3;
  width: 10px;
  height: 10px;
  margin: 0 5px !important;
}

.swiper-pagination-bullet-active {
  opacity: 1;
}
.elementor-testimonial {
  display: flex;
  flex-direction: column;
}

.elementor-testimonial__image {
  order: 0; /* 画像を先頭に */
}

.elementor-testimonial__content {
  order: 1; /* コンテンツ（文章）を後に */
}
/* ページネーションの位置と色を調整 */
.swiper-pagination {
  position: relative;  /* 下に余白を追加するため */
  margin-top: 20px;    /* 元の20px → 40pxに下げる */
}

.swiper-pagination-bullet {
  background: #fff !important; /* 白に変更 */
  opacity: 0.3;
}

.swiper-pagination-bullet-active {
  background: #000 !important; /* アクティブも黒に */
  opacity: 1;
}

/* カルーセル */



@media screen and (min-width: 769px) {
  .br-pc {
    display: inline;
  }
}

@media screen and (max-width: 768px) {
  .br-sp {
    display: inline;
  }
}
/*-- /cta_fixed_pc -------------------------
------------------------------------------*/

/*-- /pagetop ------------------------------
------------------------------------------*/
.pagetop{display:none;position:fixed;bottom:20px;right:30px;z-index:9999;}
.pagetop a{position:relative;display:block;width:50px;height:50px;background-color:#21aebd;border-radius:50%;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
.pagetop a:before{position:absolute;content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #fff;top:50%;right:50%;transform:translateX(50%)translateY(-60%);}
.pagetop a:hover{display:block;text-align:center;color:#fff;font-size:12px;text-decoration:none;filter:alpha(opacity=70);-moz-opacity:0.7;opacity:0.7;}
.pagetop a:link,.pagetop a:visited{color:#fff;}
/*-- /pagetop ------------------------------
------------------------------------------*/