@charset "utf-8";

.tsume{
  font-feature-settings: "palt";
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-style: normal;
  word-break: normal;
  word-wrap: break-word;
}
html {
  font-size: 62.5%;
}
body {
  font-size: 1.8rem;
  line-height: 1.7;
  background: #f0ede6;
  color: #333;
  font-weight: 500;
}
body {
  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

mx-img{
max-width:100%;
height:auto;
}

#all_wrap{
background-image:url(../img/bg.png);
background-repeat:no-repeat;
background-position:top center;
background-color:#fac92e;
padding-bottom:80px;
}

/*
-----------------------------------------------
▼ヘッダー
----------------------------------------------- */
.head_ttl01{
padding:85px 0 70px;
margin-left:auto;
margin-right:auto;
text-align:center;
}

.head_ttl02_wrap{
position:relative;
 background-color: rgba(255,255,255,0.7);
 height:400px;
 margin-bottom:180px;
}

.head_ttl02_wrap h1{
margin:0 auto;
text-align:center;
padding:50px 0;
top:-200px;
position:relative;
}

@media screen and (max-width: 1350px) {

.head_ttl01{
padding:5vw 2% 10vw;
margin-left:auto;
margin-right:auto;
text-align:center;
}

.head_ttl02_wrap{
height:25vw;
margin-bottom:15vw;
}

.head_ttl02_wrap h1{
padding:50px 1.5%;
top:-15vw;
}

}




/*
-----------------------------------------------
▼メイン
----------------------------------------------- */

main{
max-width:1300px;
margin-left:auto;
margin-right:auto;
}

@media screen and (max-width: 1350px) {
main{
max-width:100%;
padding-left:4%;
padding-right:4%;
}
}

@media screen and (max-width: 767px) {
main{
padding-left:5%;
padding-right:5%;
}
}




/*   ▼キャンペーン1  */
.camp_box01{
background:#fff;
border-radius:20px;
padding:3% 4%;
margin-bottom:200px;
}

.camp_ttl_wrap01{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left:4%;
  padding-right:4%;
  position:relative;
  margin-top:-200px;
  align-items:flex-end;
}

.h-type01{
font-size:4.1rem;
text-align:center;
}

.h-type02{
font-size:3.5rem;
}

#a_1{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:flex-end;
  column-gap:10px;
}

#b_1{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
  column-gap:10px;
  line-height:1.2;
}

.h-type02 strong{
font-size:7.0rem;
color:red;
margin-right:6px;
line-height:1.0;
display:inline-block;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

#b_1 strong{
vertical-align:baseline;
margin-top:-10px;
}

.h-type02 span img{
display:block;
}


.marker{
background:linear-gradient(transparent 50%, #ff6 50%);
}

.camp_box01 .div01{
background:#e2e0e0;
padding:15px 25px;
margin:10px 0 8px 65px;
}

.camp_box01 .div01 dl{
font-size:2.0rem;
font-weight:600;
line-height:1.5;
}

.camp_box01 .p01{
margin:10px 0 30px 65px;
}

.camp_box01 .wrap01{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
}

.camp_box01 .wrap01_in{
width:75%;
margin-left:-16px;
}

.camp_box01 .wrap02{
display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.camp_box01 .wrap02_in{
width:49%;
}

.camp_box01 .img01{
width:48%;
margin-top:10px;
}

.camp_box01 a{
text-decoration:underline;
color:red;
}

.camp_box01 .wrap03{
display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:50px;
  margin-bottom:20px;
}

.camp_box01 .wrap03_in{
width:62%;
}

.camp_box01 .img02{
width:37%;
margin-left:auto;
margin-right:auto;
text-align:center;
padding-left:30px;
padding-right:30px;
}

.camp_box01 .img02 p{
font-size:1.4rem;
text-align:center;
margin:4px 0;
}

.dl01{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
column-gap:2em;
margin-bottom:20px;
}

.dt01{
width:7em;
}

.dd01{
width: calc(100% - 9em);
}

.dt01 div{
font-size:2.0rem;
color:#fff;
text-align:center;
height:45px;
line-height:45px;
}

.camp_box01 .dt01 div{
background:#f01500;
}

.dd01 .p02{
font-size:3.4rem;
line-height:1.3;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.dd01 .p02 span{
font-size:2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.dd01 .p03{
font-size:2.0rem;
}

.dd01 .p04{
font-size:2.5rem;
}

.dd01 .p04 span{
font-size:2.0rem;
}

.camp_box01 .chui{
border:solid 2px #f01500;
padding:20px 30px;
}

.chui{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
column-gap:2em;
align-items:center;
}

.camp_box01 .chui h3{
color:#f01500;
}

.chui li{
font-size:1.7rem;
list-style-type:disc;
margin-left:20px;
}

/*   ▼キャンペーン2  */
.camp_box02{
background:#fff;
border-radius:20px;
padding:3% 4%;
margin-bottom:100px;
}

.camp_box02 .div01{
background:#e2e0e0;
padding:15px 25px;
margin:10px 0 8px 65px;
}

.camp_box02 .div01 dl{
font-size:2.0rem;
font-weight:600;
line-height:1.5;
}

.camp_box02 .p01{
margin:10px 0 30px 65px;
}

.camp_box02 .wrap01{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
}

.camp_box02 .wrap01_in{
width:75%;
margin-left:-16px;
}

.camp_box02 .wrap02{
display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.camp_box02 .wrap02_in{
width:49%;
}

.camp_box02 .img01{
width:48%;
margin-top:10px;
}

.camp_box02 a{
text-decoration:underline;
color:red;
}

.camp_box02 .wrap03{
display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top:50px;
  margin-bottom:20px;
}

.camp_box02 .wrap03_in{
width:62%;
}

.camp_box02 .img02{
width:38%;
margin-left:auto;
margin-right:auto;
text-align:center;
}

.camp_box02 .img02 p{
font-size:1.4rem;
text-align:center;
margin:4px 0;
}

.camp_box02 .dt01 div{
background:#0075cc;
}

.camp_box02 .chui{
border:solid 2px #0075cc;
padding:20px 30px;
}

.camp_box02 .chui h3{
color:#0075cc;
}



.camp_box02 .img02 img{
position:relative;
display:block;
margin-top:-300px;
}

.tokuten_rp,
.middle_rp01{
display:none;
}

.pc_chara{display:block;}
.rp_chara{display:none !important;}

.spOnly{display:none;}

/*
-----------------------------------------------
▼レスポンシブ
----------------------------------------------- */

@media screen and (max-width: 1350px) {
.camp_ttl_wrap01{
  padding-left:2%;
  padding-right:2%;
  margin-top:-15%;
  align-items:flex-end;
}

.camp_ttl_wrap01 h1{
width:60%;
}

.camp_ttl_wrap01 .car_img{
width:37%;
}

.h-type01{
font-size:3.1vw;
}

.tokuten{
width:20%;
}

.wrap01_in{
width:78%;
margin-left:-16px;
}

#a_1 span{
width:50px;
}

#a_1 div{
width: calc(100% - 60px);
}

.h-type02{
font-size:2.3vw;
}

.h-type02 strong{
font-size:4.2vw;
line-height:1.1;
}

.camp_box01 .div01{
background:#e2e0e0;
padding:12px;
margin:10px 0 8px 60px;
}

.camp_box01 .div01 dl{
font-size:1.6vw;
}

.camp_box01 .wrap02_in{
width:56%;
}

.camp_box01 .img01{
width:39%;
margin-top:10px;
}

}


@media screen and (max-width: 1180px) {

.camp_box01 #b_1{
display:none
}


.middle_rp01{
display:block;
}

.middle_rp01 .h-type02{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
  column-gap:10px;
  line-height:1.2;
}

.tokuten{
width:17%;
}


.wrap01_in{
width:83%;
margin-left:-16px;
}

.camp_box01 .wrap02_in{
width:56%;
}

.camp_box01 .img01{
width:43%;
margin-top:10px;
}

.camp_box01 .img02{
padding-left:0;
padding-right:0;
}

.camp_box01 .img02 p{
font-size:1.4rem;
text-align:center;
margin:4px 0;
}



.dl01{
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
column-gap:1.5em;
margin-bottom:20px;
}

.dt01{
width:6.5em;
}

.dd01{
width: calc(100% - 9em);
}

.dt01 div{
font-size:2vw;
color:#fff;
text-align:center;
height:4.5vw;
line-height:4.5vw;
}


.camp_box02 .wrap01_in{
width:75%;
margin-left:-16px;
}

.camp_box02 .img02 img{
margin-top:0;
}

.camp_box02 .wrap02_in{
width:100%;
}

}

@media screen and (max-width: 820px) {

.camp_box01 .wrap03{
  flex-wrap: wrap-reverse;
  margin-top:5px;
  margin-bottom:20px;
}


.camp_box01 .wrap03_in,
.camp_box02 .wrap03_in{
width:100%;
}

.camp_box01 .img02{
width:100%;
padding-left:25%;
padding-right:25%;
margin-bottom:30px;
}

.camp_box01 .img02,
.camp_box02 .img02{
width:100%;
padding-left:15%;
padding-right:15%;
margin-bottom:10px;
}

.tokuten{
display:none;
}
.pc_chara{display:none !important;}
.rp_chara{display:block !important;}


.camp_box01 .wrap01{
display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
}

.camp_box01 .wrap01_in,
.camp_box02 .wrap01_in{
width:100%;
margin-left:0;
}


.tokuten_rp{
display:block;
}

.tokuten_rp{
    display: flex;
    justify-content: center;
    align-items: center;
    color: #f01500;
    margin-top:15px;
    margin-bottom:20px;
}

.tokuten_rp::before,
.tokuten_rp::after {
    width: 3px;
    height: 40px;
    background-color: #f01500;
    content: '';
}

.tokuten_rp::before {
    transform: rotate(-35deg);
    margin-right: 30px;
}

.tokuten_rp::after {
    transform: rotate(35deg);
    margin-left: 30px;
}


.h-type02{
font-size:3.2vw;
}

.h-type02 strong{
font-size:4.2vw;
}

.camp_box01 .div01 dl{
font-size:2.2vw;
}

.middle_rp01{
margin-top:30px;
}


.dd01 .p02{
font-size:2.8rem;
line-height:1.3;
}

.dd01 .p02 span{
font-size:2.0rem;
}

.dd01 .p03{
font-size:1.7rem;
}

.dd01 .p04{
font-size:2.0rem;
}

.dd01 .p04 span{
font-size:1.7rem;
}

.chui li{
width:100%;
font-size:1.5rem;
list-style-type:disc;
margin-left:20px;
}

.camp_box02 .div01{
width:70%;
}

.chui{
padding:5px 10px 15px 25px;
margin-bottom:10px
}

.chui h3{
font-size:1.6rem;
}


.camp_box01 #a_1,
.camp_box02 #a_1,
.camp_box02 #b_1{
line-height:1.4 !important;
}

.camp_box02 #b_1 br{
display:none;
}

}


/*
-----------------------------------------------
▼スマホ
----------------------------------------------- */
@media screen and (max-width: 767px) {

.camp_box02{
margin-bottom:50px;
}

.head_ttl02_wrap h1{
top:-23vw;
}

.camp_ttl_wrap01{
  padding-left:0;
  padding-right:0;
  margin-top:-15%;
  align-items:flex-end;
}

.camp_ttl_wrap01 h1{
width:100%;
}

.camp_ttl_wrap01 .car_img{
width:100%;
padding-left:20%;
padding-right:20%;
}

.h-type01{
font-size:5vw;
}


.h-type02{
font-size:4.6vw;
}

.h-type02 strong{
font-size:6.2vw;
line-height:1.1;
}

.camp_box01 .wrap02_in{
width:100%;
}

.camp_box01 .div01,
.camp_box02 .div01{
background:#e2e0e0;
padding:15px 25px;
margin:10px 0 8px 0;
}

.camp_box01 .img01{
width:100%;
margin-top:10px;
}

.camp_box01 .div01 dl,
.camp_box02 .div01 dl{
font-size:3.6vw !important;
}

.camp_box01 .p01{
margin:10px 0 10px 0;
font-size:3.8vw !important;
}

.camp_box02 .p01{
margin:10px 0 30px 0;
font-size:3.8vw !important;
}

.pcOnly{display:none !important;}
.spOnly{display:block !important;}

.dt01{
width:100%;
}

.dd01{
width: 100%;
}

.dt01 div{
font-size:1.5rem;
color:#fff;
text-align:center;
height:30px;
line-height:30px;
margin-bottom:5px;
}


.dd01 .p03{
font-size:1.5rem !important;
}

.dd01 .p04{
font-size:1.5rem !important;
}

.dd01 .p04 span{
font-size:1.3rem !important;
}

.chui li{
width:100%;
font-size:1.3rem;
list-style-type:disc;
margin-left:5px;
}

.camp_box01{
margin-bottom:80px;
}

.camp_box02 .div01{
width:100% !important;
}

.camp_box02 .img02{
padding-left:10%;
padding-right:10%;
margin-bottom:0;
}

}



/*
-----------------------------------------------
▼問い合わせ
----------------------------------------------- */
.contact_box{
margin-left:auto;
margin-right:auto;
max-width:780px;
background:#fff;
border-radius:20px;
text-align:center;
}

.contact_box h2{
color:#fff;
font-size:2.8rem;
background:#f01500;
text-align:center;
border-radius:20px 20px 0 0;
height:64px;
line-height:64px;
}

.contact_box .p01{
margin:45px 0 20px;
}

.contact_box .p02{
  font-size:4.1rem;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

.contact_box .p03{
font-size:2.2rem;
padding:0 10px;
}

.contact_box .p04{
font-size:2.0rem;
padding:0 10px 25px;
}


/*
-----------------------------------------------
▼お問い合わせ　スマホ
----------------------------------------------- */
@media screen and (max-width: 767px) {
.contact_box h2{
font-size:2.0rem;
height:50px;
line-height:50px;
}


.contact_box .p01{
margin:30px 0 10px;
padding:0 12%;
}

.contact_box .p02{
  font-size:3.0rem;
}

.contact_box .p03{
font-size:1.5rem;
padding:0 10px;
}

.contact_box .p04{
font-size:1.5rem;
padding:0 10px 25px;
}

#all_wrap{
background-image:url(../img/bg_sp.png);
background-repeat:no-repeat;
background-position:top center;
background-color:#fac92e;
padding-bottom:40px;
background-size:174%;
}

}


/*
-----------------------------------------------
▼フッター
----------------------------------------------- */

footer{
text-align:center;
color:#fff;
padding:10px;
font-size:1.8rem;
background:#f01500;
}

/*
-----------------------------------------------
▼フッター　スマホ
----------------------------------------------- */
@media screen and (max-width: 767px) {
footer{
font-size:1.4rem;
}
}

/*
-----------------------------------------------
▼オープニング
----------------------------------------------- */
.loading {
  content: '';
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1000;
  background: #fff;
  height: 100vh;
}
.loading div {
  top: 50%;
  left: 50%;
transform:translateX(-50%)translateY(-50%);
  position: absolute;
}

  .loading div img {
width:300px;
height:auto;
  }

@media screen and (max-width: 767px) {
  .loading div {
    top: 40%;
    left: 50%;
    width:40vw;
    transform: translate(-50%, -50%);
    position: absolute;
  }

  .loading div img {
width:100%;
height:auto;
  }

}




.loading p {
  animation: open .8s linear;
}
@keyframes open {
  0% {
    opacity: 0;
    transform: scaleY(3) scaleX(3);
  }

  50% {
    opacity: 0.1;
    transform: scaleY(2) scaleX(2);
  }
  
  100% {
    opacity: 1;
    transform: scaleY(1) scaleX(1);
  }
}

