@charset "UTF-8";
*{
  box-sizing:border-box;
  max-width:100%;
  margin:0;
  padding:0;
}
html {
  font-family: "Poppins","Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;	
  font-display: swap;
  margin:0;
  padding:0;
}
body {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing:.05em;
  font-weight: 400;
  hanging-punctuation: allow-end;
  margin: 0;
  padding: 0;
  color: #192D2A;
}
body.hidden{
  overflow:hidden;
  height:100%;
}

.fadein {
	opacity: 0;
	transition: 0.5s;
  }
.fadein.is-show {opacity: 1;}

.fadein_up {
  opacity: 0;
  transform: translate(0, 100px);
  transition: 0.5s;
}
.fadein_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

p{font-size:clamp(14px,2.083vw,16px);}

/*ボタン*/
a.btn{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:330px;
  height:50px;
  color:#192D2A;
  font-size:clamp(16px,2.604vw,20px);
  line-height:1;
  font-weight:500;
  letter-spacing:0.25pt;
  text-decoration:none;
  background:#fff;
  border:3px solid #192D2A;
  box-shadow:0 3px 0 #111;
  transition:0.2s ease;
  margin:30px 0 0;
  padding:0;
  border-radius:30px;
  transform:translateY(0);
}
a.btn:hover{
  transform:translateY(3px);
  box-shadow:0 0 0 #111;
}
a.btn::after{
  position:absolute;
  content:"";
  display:inline-block;
  width:20px;
  height:20px;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  background:url(../img/icon/arrow-i-blk.svg) center/contain no-repeat;
  transition:0.2s ease;
}
a.btn:hover::after{right:15px;}

a.btn.apply{
  color:#fff;
  border:none;
  background:linear-gradient(90deg, #db1a1a, #ff4027);
  box-shadow:0 3px 0 #db1a1a;
}
a.btn.apply::after{background:url(../img/icon/arrow-i-wht.svg) center/contain no-repeat;}
a.btn.apply:hover{box-shadow:0 0 0 #db1a1a;}
a.btn.b-center{
  margin-left:auto;
  margin-right:auto;
}

/******************** header ヘッダー********************/
#wrapper{
  margin:0;
  padding:0;
  overflow:hidden;
}
header{
  position:relative;
  padding:0;
  background:#fff;
  border-bottom:1px solid #e0e0e0;
  z-index:20;
  transition:0.4s ease;
}
header.is_fixed {
  position: fixed;
  top: 0;
  left: 0;
  right:0;
  width:100%;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
#header{
  position:relative;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  width:1920px;
  padding:0 15px;
  height:100px;
  margin:0 auto;
  top:0;
  background:#fff;
  z-index:2;
}
a#logo{
  display:block;
  width:clamp(130px,29.296vw,300px);
  margin:0 auto 0 0;
  padding:0;
  transition:0.3s ease;
  line-height:1;
}
a#logo img{
  display:inline-block;
  width:100%;
  vertical-align: bottom;
}
a#logo:hover{opacity:0.7;}

header a.btn{
  width:240px;
  height:60px;
  margin-top:-3px;
  padding:2px 20px 0 0;
}

@media screen and (min-width:1025px) {
header.is_fixed{transition:0.3s ease-out;}
}
@media screen and (max-width:1024px) {

#header{
  height:60px;
  padding:0 0 0 10px;
}  
header a.btn{
  font-size:16px;
  width:200px;
  height:40px;
  margin-right:70px;
  padding-right:10px;
}
header a.btn::after{
  width:16px;
  height:16px;
  right:10px;
}
header a.btn:hover::after{right:7px;}

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

#header{height:50px;}

header a.btn{
  font-size:12px;
  width:130px;
  height:30px;
  margin-right:55px;
}
header a.btn::after{
  width:14px;
  height:14px;
}

}

/******************** header ヘッダー　ここまで********************/



/********************グローバルメニュー　ここから********************/

nav#pcnav {
  margin:0 30px 0 auto;;
  transition: 0.3s ease;
}
nav#pcnav ul {
  display:flex;
  justify-content:center;
  align-items: center;
  margin:0 auto;
  padding:0;
}
nav#pcnav ul li{
  display:flex;
  margin:0;
  padding:0;
}
nav#pcnav ul li + li{margin-left:1.5em;}

nav#pcnav ul li a{
  position: relative;
  display:flex;
  justify-content: center;
  align-items:center;
  width:auto;
  min-width:3em;
  height:70px;
  font-size:clamp(12px,1.25vw,16px);
  line-height: 1;
  font-weight:500;
  letter-spacing:0;
  color: #192D2A;
  text-align:center;
  text-decoration: none;
  margin: 0 auto;
  padding:0;
  transition: 0.3s ease;
}
nav#pcnav ul li:hover a,
nav#pcnav ul li.current a{color:#FF4027;}

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

nav#pcnav{display:none;}

}

/* ハンバーガーメニュー */
#navigation {display:none;}  

#mobile-head {
  display:inline;
  width: 60px;
  height: 60px;
  position: absolute;
  right:0;
  top:0;
  transition:0.3s ease;
}
#nav-toggle {
  display: none;
  position: relative;
  top:0;
  width: 60px;
  height: 60px;
  cursor: pointer;
  box-sizing: border-box;
  transition:0.2s ease;
  border-left:1px solid #e0e0e0;
  border-right:1px solid #e0e0e0;
}
#nav-toggle div {
  position: absolute;
  top:18px;
  left:15px;
  width:30px;
  height:30px;
}
#nav-toggle span {
display: block;
position: absolute;
height: 3px;
border-radius: 4px;
width: 100%;
background:#111;
left: 50%;
transform: translateX(-50%);
-webkit-transition: .2s ease-in-out;
-moz-transition: .2s ease-in-out;
transition: .2s ease-in-out;
}
#nav-toggle span:nth-child(1) {top: 0;}
#nav-toggle span:nth-child(2) {top: 11px;}
#nav-toggle span:nth-child(3) {top: 22px;}

#nav-toggle {display: block;}	

/* ハンバーガー */
.open #nav-toggle span{border-radius:0;}
.open #nav-toggle span:nth-child(1) {
left: 1px;
top: 11px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}
.open #nav-toggle span:nth-child(2) {
width: 0;
left: 50%;
}
.open #nav-toggle span:nth-child(3) {
left: 1px;
top: 11px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}

/* +- */
nav#nav li.child > i{
display: inline-block;
position: absolute;
top: 0;
right: 0;
width: 100%;
height:49px;
line-height: 1;
cursor: pointer;
}
nav#nav li.child > i:before,
nav#nav li.child > i:after{
content: "";
display: inline-block;
position: absolute;
top:24px;
right:15px;
width: 10px;
height: 1px;
background: #0068B7;
-webkit-transform-origin: center center;
-moz-transform-origin: center center;
-ms-transform-origin: center center;
-o-transform-origin: center center;
transform-origin: center center;
}
nav#nav li.child > i:after{
-webkit-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
nav#nav li.child.open > i:after{
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
}

nav#nav {
  visibility:hidden;
  position: fixed;
  top:101px;
  left:0;
  width:100%;
  height:calc(100vh - 101px);
  transition: 0.2s ease-in-out;
  display: block;
  background:rgba(255,255,255,0.75);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);  
  opacity:0;
  z-index:1;
}
.open nav#nav {
  visibility:inherit;
  opacity:1;
}
nav#nav ul.menu {
  position:relative;
  display:block;
  margin:0 0 0 auto;
  width:100%;
  max-width:initial;
  height:100%;
  overflow-y: scroll;
  overflow-x:hidden;
  -webkit-overflow-scrolling: touch;
}

nav#nav ul.menu li{
  display:block;
  position:relative;
  padding:0;
}
nav#nav ul.menu li + li{
  margin-left:0;
  border-top:1px solid #E0E0E0;
}

/* 各メニューnav */
nav#nav ul.menu li a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  height:50px;
  color:#111;
  font-size:clamp(14px,1.953vw,20px);
  font-weight:500;
  line-height:1;
  letter-spacing:0.02em;
  text-align:left;
  text-decoration:none;
  margin:0;
  padding:0 15px;
  transition:0.2s ease;
}
nav#nav ul.menu li a span{padding-left:50px;}

/* arrow */
nav#nav ul.menu li a::after {
position: absolute;
content: "";
display:inline-block;
top: 50%;
right: 18px;
width: 6px;
height: 6px;
border-top: 1.5px solid #192D2A;
border-right: 1.5px solid #192D2A;
transform:translateY(-50%) rotate(45deg);
}
nav#nav ul.menu li.child a::after{display:none;}
nav#nav ul.menu li:hover a,
nav#nav ul.menu li.current a{background:#FEF2F2;}

/* ナビ内ボタン */
nav#nav ul.menu li.nav-apply{padding:clamp(15px,3.906vw,30px) 15px;}
nav#nav ul.menu li.nav-apply a.btn{
  justify-content:center;
  width:400px;
  height:60px;
  color:#fff;
  font-size:20px;
  line-height:1;
  font-weight:500;
  margin:0 auto;
  border-radius:30px;
}
nav#nav ul.menu li.nav-apply a.btn span{padding:0;}
nav#nav ul.menu li.nav-apply a.btn::after{
  border:none;
  width:20px;
  height:20px;
  transform:translateY(-50%) rotate(0);
}
nav#nav ul.menu li.nav-apply a.btn:hover::after{right:15px;}
nav#nav ul.menu li.nav-apply a.btn.apply{background:linear-gradient(90deg, #db1a1a, #ff4027);}


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

#navigation {display:block;}  
#navigation::before{
  top:60px;
  height:calc(100% - 60px);
}
nav#nav {
  top:61px;
  height:calc(100vh - 61px);
}

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

#navigation::before{
  top:50px;
  height:calc(100% - 50px);
}  
#nav-toggle {
  top:0;
  width: 50px;
  height: 50px;
  border-right:none;
}
#nav-toggle div {
  top:15px;
  left:15px;
  width:20px;
  height:20px;
}
#nav-toggle span:nth-child(1) {top: 0;}
#nav-toggle span:nth-child(2) {top: 9px;}
#nav-toggle span:nth-child(3) {top: 18px;}
#mobile-head {
width: 50px;
height: 50px;
}  
.open #nav-toggle span:nth-child(1),
.open #nav-toggle span:nth-child(3) {
  top: 9px;
  left:0;
}
nav#nav {
  top:51px;
  height:calc(100vh - 51px);
}

}

/********************グローバルメニュー　ここまで********************/


/********************フッター　ここから********************/

/* フッター上フォーム */
div.form-wrap p.heading{
  font-size:clamp(16px,2.343vw,18px);
  font-weight:600;
}
div.form-wrap p.heading .required{color:#FF4027;}
div.form-wrap p.heading + *{margin-top:0.5rem;}
div.form-wrap div.column{
  display:flex;
  justify-content:space-between;
  margin-top:clamp(15px,2.929vw,30px);
}
div.form-wrap div.column div{width:calc((100% - clamp(10px,4.88vw,50px))/2);}

footer{position:relative;}
footer::before{
  position:absolute;
  bottom:50px;
  right:0;
  content:"";
  display:inline-block;
  width:max(59.895vw,1150px);
  height:calc(100% - 50px);
  background:url(../img/footer-bk.png) right bottom/contain no-repeat;
  z-index:-1;
}
@supports ( background:url(../img/webp/footer-bk.webp) ) {
  footer::before {
      background:url(../img/webp/footer-bk.webp) right bottom/contain no-repeat;
  }
}

footer div.content{padding:clamp(50px,5.208vw,100px) 15px;}
footer h2{
  font-size:48px;
  line-height:1;
  font-weight:900;
}
div.footer-nav{
  display:flex;
  justify-content:flex-start;
  margin-top:3rem;
}
div.footer-nav ul + ul{margin-left:3rem;}
div.footer-nav ul li{line-height:1;}
div.footer-nav ul li + li{margin-top:3rem;}
div.footer-nav ul li a{
  color:#192D2A;
  font-size:clamp(16px,1.953vw,20px);
  line-height:1;
  font-weight:600;
  transition:0.2s ease;
}
div.footer-nav ul li a:hover{color:#ff4027;}
div.footer-nav ul.sub li a{
  color:#879694;
  font-weight:500;
}
div.footer-nav ul.sub li a:hover{
  color:#192D2A;
  text-decoration:underline;
}
#copyright{
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  height:50px;
  font-size:14px;
  text-align:center;
  padding:0 15px;
  background:#192D2A;
}

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

footer div.content{padding-bottom:clamp(150px,39.06vw,300px);}  

}

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

footer::before{
  width:100%;
  height:max(120vw,461px);
  background:url(../img/footer-bk-sp.png) right bottom/contain no-repeat;
}
@supports ( background:url(../img/webp/footer-bk-sp.webp) ) {
  footer::before {
      background:url(../img/webp/footer-bk-sp.webp) right bottom/contain no-repeat;
  }
}

footer h2{font-size:clamp(30px,6.25vw,48px);}
div.footer-nav{flex-direction:column;}  
div.footer-nav ul + ul{margin:clamp(30px,6.51vw,50px) 0 0;}
div.footer-nav ul li + li{margin-top:clamp(30px,6.51vw,50px);}

}

/* フッター固定 */
div.foot-cta-wrap{
  position:fixed;
  left:0;
  right:0;
  bottom:-140px;
  width:100%;
  height:120px;
  background:#fff;
  z-index:10;
  transition:0.4s ease;
  background: linear-gradient(45deg, #FFF3F3, #FFFEF3);
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}
div.foot-cta-wrap div.contents{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:center;
  width:1300px;
  max-width:100%;
  height:100%;
  padding:0 10px;
  margin:0 auto;
}
div.foot-cta-wrap div.btns{
  position:relative;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  width:calc(100% - clamp(340px,33.8vw,440px));
  padding-bottom:10px;
}
div.foot-cta-wrap p.heading{
  display:block;
  width:66%;
  color:#DB1A1A;
  font-size:clamp(10px,1.36vw,14px);
  font-weight:600;
  letter-spacing:0.25pt;
  text-align:center;
  border-radius:6px 6px 0 0;
  padding-top:2px;
  margin:0;
}
div.foot-cta-wrap a.apply{width:66%;}
div.foot-cta-wrap a.reservation{width:32%;}

div.foot-cta-wrap a.btn{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  height:60px;
  color:#fff;
  font-size:clamp(16px,1.66vw,20px);
  font-weight:600;
  line-height:1;
  text-decoration:none;
  border-radius:30px;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  transition:0.2s ease;
}
div.foot-cta-wrap a.btn.apply{
  background: linear-gradient(135deg, #f00, #DB1A1A);
  -webkit-animation: pulse 2s infinite;
  animation: ripple 2s infinite;
}
div.foot-cta-wrap a.btn.apply:hover {
  -webkit-animation: pulse 1s infinite;
  animation: ripple 1s infinite;
}
div.foot-cta-wrap a.btn.reservation{
  color:#0068B7;
  background:#fff;
  border:2px solid #0068B7;
}
div.foot-cta-wrap a.btn.reservation:hover {
  color:#fff;
  background:#0068B7;
  -webkit-animation: pulse 1s infinite;
  animation: ripple-b 1s infinite;
}
div.foot-cta-wrap a.btn span.txt{
  position:relative;
  padding-left:25px;
}
div.foot-cta-wrap a.btn span.txt::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:50%;
  transform:translateY(-50%);
  left:0;
  height:20px;
}
div.foot-cta-wrap a.btn.apply span.txt::before{
  margin-top:1px;
  width:20.41px;
  background:url(../img/common/header/icon/apply-i.svg) center/contain no-repeat;
}
div.foot-cta-wrap a.btn.reservation span.txt::before{
  width:16.77px;
  background:url(../img/common/icon/footer/store_i-b.svg) center/contain no-repeat,url(../img/common/icon/footer/store_i.svg) center/contain no-repeat;
  background-size: cover,0 0;
  transition:0.2s ease;
}
div.foot-cta-wrap a.btn.reservation:hover span.txt::before{background-size:0 0,cover;}

@keyframes ripple {
  0% {box-shadow: 0 0 0 0 #DB1A1A;}
  50% {box-shadow: 0 0 0 8px rgb(219 26 26 / 0%);}
  80% {box-shadow: 0 0 0 0 rgb(219 26 26 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(219 26 26 / 0%);}
}
@keyframes ripple-b {
  0% {box-shadow: 0 0 0 0 #0068B7;}
  70% {box-shadow: 0 0 0 10px rgb(0 104 183 / 0%);}
  100% {box-shadow: 0 0 0 0 rgb(0 104 183 / 0%);}
}

div.foot-cta-wrap a.btn::after{
  position:absolute;
  content:"";
  top:50%;
  right:20px;
  transform:translateY(-50%);
  display:inline-block;
  width:20px;
  height:20px;
  transition:0.2s ease;
}
div.foot-cta-wrap a.btn:hover::after{right:15px;}
div.foot-cta-wrap a.btn.apply::after{background:url(../img/front/2025/icon/arrow-i-wht.svg) center/contain no-repeat;}
div.foot-cta-wrap a.btn.reservation::after{background:url(../img/front/2025/icon/arrow-i.svg) center/contain no-repeat;}

div.foot-cta-wrap div.catch{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  width:clamp(320px,32.3vw,420px);
  height:100%;
  padding:5px 0 0 110px;
}
div.foot-cta-wrap div.catch::before{
  position:absolute;
  content:"";
  display:inline-block;
  width:128px;
  height:140px;
  bottom:0;
  left:-25px;
  background:url(../img/common/footer/foot-cta-wrap-img.png) center/contain no-repeat;
}

@supports (background:url(../img/common/footer/webp/foot-cta-wrap-img.webp)) {
  div.foot-cta-wrap div.catch::before {
  background:url(../img/common/footer/webp/foot-cta-wrap-img.webp) center/contain no-repeat;
  }
}

div.foot-cta-wrap div.catch span.txt-i{
  position:relative;
  color:#111;
  font-size:clamp(14px,1.428vw,20px);
  font-weight:600;
  line-height:1.1;
  text-align:left;
}
div.foot-cta-wrap div.catch span.txt-i + span.txt-i{margin-top:10px;}

div.foot-cta-wrap div.catch span.dot{
  position:relative;
  color:#DB1A1A;
}
div.foot-cta-wrap div.catch span.dot::before{
  position:absolute;
  content:"・・・・";
  top:-0.75em;
  left:0;
  display:inline-block;
}

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

div.foot-cta-wrap p.heading{padding:0 0 2px;}
div.foot-cta-wrap a.btn::after{display:none;}

}

@media screen and (max-width:768px) {
  
div.foot-cta-wrap{height:100px;}
div.foot-cta-wrap div.contents{
  flex-direction:column;
  justify-content:space-between;
  padding:5px 75px 0 0;
}

div.foot-cta-wrap p.heading{
  display:flex;
  justify-content:center;
  align-items:center;
  width:60%;
}

div.foot-cta-wrap div.btns{
  width:100%;
  padding:0 5px;
}
div.foot-cta-wrap a.btn{
  height:40px;
  font-size:14px;
  letter-spacing:0.25pt;
  border-radius:20px;
}
div.foot-cta-wrap a.apply{width:60%;}
div.foot-cta-wrap a.reservation{width:39%;}

div.foot-cta-wrap a.btn span.txt{padding-left:20px;}
div.foot-cta-wrap a.btn span.txt::before{height:14px;}
div.foot-cta-wrap a.btn.apply span.txt::before{width:14.29px;}
div.foot-cta-wrap a.btn.reservation span.txt::before{width:11.74px;}

div.foot-cta-wrap div.catch{
  position:initial;
  flex-direction:row;
  align-items:center;
  width:100%;
  height:25px;
  padding:0;
  margin:auto 0 0;
  background:#DB1A1A;
}
div.foot-cta-wrap div.catch::before{
  left:auto;
  right:0;
  width:100px;
  height:110px;

}


div.foot-cta-wrap div.catch span.txt-i{
  width:auto;
  color:#fff;
  font-size:12px;
  letter-spacing:0.25pt;
  text-align:center;
}

div.foot-cta-wrap div.catch span.txt-i + span.txt-i{
  margin-top:0;
  padding-left:2em;
}
div.foot-cta-wrap div.catch span.txt-i + span.txt-i::before{
  position:absolute;
  content:"＋";
  left:0.6em;
  top:50%;
  transform:translateY(-50%);
  display:inline-block;
  font-weight:900;
}

div.foot-cta-wrap div.catch span.dot{color:#F9E258;}
div.foot-cta-wrap div.catch span.dot::before{display:none;}

}

@media screen and (max-width:480px) {
  
div.foot-cta-wrap div.contents{
  flex-direction:column-reverse;
  padding:0 0 12px;
}
div.foot-cta-wrap div.btns{padding:3px 5px 0;}
div.foot-cta-wrap div.catch::before{display:none;}

}

/* 共通パーツ ここから */
div.area{
  padding-left:15px;
  padding-right:15px;
  margin:75px auto 0;
}
div.area.col{
  background:#F2F7FE;
  padding-top:75px;
  padding-bottom:75px;
}

/* h2 */
div.area h2{
  position:relative;
  color:#192D2A;
  font-size:clamp(26px,5.468vw,42px);
  line-height:1.5;
  font-weight:600;
  text-align:center;
  margin:0 auto;
  padding:0;
}
div.area h2 + p{margin-top:0.5rem;}
div.area h2 + p.h2-read{text-align:center;}
div.area h2 + div,
p.h2-read + div{margin-top:clamp(15px,3.906vw,30px);}

h3{
  font-size:clamp(20px,3.125vw,24px);
  line-height:1.5;
  font-weight:600;
}
br.br768,
br.br480{display:none;}

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


}

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

br.br768{display:inline;}
  
}

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

br.br480{display:inline;}

}
/* 共通パーツ ここまで */


/* スライダースタイル */
div.slider-wrap > div{position:relative;}
div.slider-wrap div.default-slide{margin:0 auto;}
div.slider-wrap div.default-slide div.swiper-wrapper{
  display:flex;
  justify-content:space-between;
  margin:0 auto;
}
div.slider-wrap div.default-slide .swiper-slide {
  position:relative;
  display:block;
  transition:0.3s ease;
}

/* swiper 全体スタイル */
.swiper-android .swiper-slide, .swiper-wrapper {transform: translate3d(0px, 0, 0)}
.swiper-pointer-events {touch-action: pan-y;}
.swiper-pointer-events.swiper-vertical {touch-action: pan-x;}
.swiper-slide {
  flex-shrink: 0;
  position: relative;
  transition-property: transform;
}
.swiper-button-lock {display: none}
/* ネーション（ドット） */
.swiper-pagination {
  position: relative;
  bottom:0;
  text-align: center;
  transition: .3s opacity;
  transform: translate3d(0, 0, 0);
  margin-top:30px;
}
.swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background: #ccc;
  transition:0.2s ease;
}
.swiper-pagination-bullet-active {
  opacity: 1;
  background:#192D2A;
}
.swiper-pagination-bullet {
  display: inline-block;
  border-radius: 50%;
  background: #fff;
  border:3px solid #192D2A;
}
.swiper-pagination-bullet + .swiper-pagination-bullet{margin-left:10px;}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none
}
.swiper-pagination-clickable .swiper-pagination-bullet {cursor: pointer}
.swiper-pagination-bullet:only-child {display: none !important}
.swiper-pagination-bullet-active {
  opacity: 1;
  background:#192D2A;
}
.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity:0;
    cursor: auto;
    pointer-events: none
}
/* 前後ボタン */
.swiper-button-next,
.swiper-button-prev {
  position:absolute;
  bottom:0;
  width:40px;
  height:40px;
}
.swiper-button-prev {
  left:0;
  background:url(../img/icon/slide-prev-i.svg) center/contain no-repeat;
}
.swiper-button-next {
  right:0;
  background:url(../img/icon/slide-next-i.svg) center/contain no-repeat;
}

.sp-slide{margin:0 auto;}
.sp-slide .swiper-pagination,
.sp-slide .swiper-button-next,
.sp-slide .swiper-button-prev{display:none;}

@media screen and (max-width:1024px){
.sp-slide .swiper-pagination,
.sp-slide .swiper-button-next,
.sp-slide .swiper-button-prev{display:block;}  
}


/* SIMの種類 */
div.sim-type a.swiper-slide{
  position:relative;
  color:#192D2A;
  text-decoration:none;
  padding:15px 15px 20px;
  border:3px solid #192D2A;
  box-shadow:0 3px 0 #192D2A;
  border-radius:20px;
  transition:0.2s ease;
}
div.sim-type a.swiper-slide:hover{
  background:#FEF2F2;
  transform:translateY(3px);
  box-shadow:0 0 0 #192D2A;
}
div.sim-type a.swiper-slide img{
  display:block;
  width:300px;
  margin:0 auto;
}
div.sim-type a.swiper-slide span.limit{
  display:block;
  color:#879694;
  font-size:12px;
  text-align:right;
  margin-top:0.25rem;
}
div.sim-type a.swiper-slide h3{
  text-align:center;
  margin-top:15px;
}
div.sim-type a.swiper-slide span.info{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  display:block;
  font-size:12px;
  text-align:center;
  line-height:1;
}
div.sim-type a.swiper-slide span.fee{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  font-size:24px;
  line-height:1;
  font-weight:900;
  margin-top:30px;
}
div.sim-type a.swiper-slide span.fee span.price{
  position:relative;
  top:2px;
  color:#FF4027;
  font-size:40px;
  padding:0 0.25rem;
}
div.sim-type a.swiper-slide span.fee span.taxin{color:#879694;}

div.sim-type a.swiper-slide span.btn-style{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:260px;
  height:50px;
  color:#fff;
  font-size:20px;
  line-height:1;
  font-weight:500;
  background:linear-gradient(90deg, #db1a1a, #ff4027);
  box-shadow:0 3px 0 #db1a1a;
  transition:0.2s ease;
  margin:10px auto 0;
  padding:2px 0 0 0;
  border-radius:30px;
  transform:translateY(0);
}
div.sim-type a.swiper-slide:hover span.btn-style{
  box-shadow:0 0 0 #db1a1a;
  transform:translateY(3px);
}
div.sim-type a.swiper-slide span.btn-style::after{
  position:absolute;
  content:"";
  display:inline-block;
  width:20px;
  height:20px;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  background:url(../img/icon/arrow-i-wht.svg) center/contain no-repeat;
  transition:0.2s ease;
}
div.sim-type a.swiper-slide:hover span.btn-style::after{right:10px;}

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

div.slider-wrap div.sim-type{width:330px;}  

}


/* Frequently Asked Questions */
div.qa-wrap div.box{border-top:1px solid #e0e0e0;}
div.qa-wrap div.box:last-child{border-bottom:1px solid #e0e0e0;}

div.qa-wrap div.question{
  position:relative;
  padding:clamp(15px,3.906vw,30px) 50px;
  cursor:pointer;
  transition:0.2s ease;
}
div.qa-wrap div.question:hover{background:#f7f7f7;}
div.qa-wrap div.question::before{
  position:absolute;
  content:"";
  top:50%;
  transform:translateY(-50%);
  left:15px;
  display:inline-block;
  width:15px;
  height:22px;
  background:url(../img/icon/q-i.svg) center/contain no-repeat;
}
div.qa-wrap h3{
  font-size:clamp(14px,2.083vw,16px);
  line-height:1.6;
}
/* answer */
div.qa-wrap div.answer{
  display:none;
  position:relative;
  padding:clamp(15px,3.906vw,30px) 0 clamp(15px,3.906vw,30px) 50px;
  border-top:1px dashed #e0e0e0;
}
div.qa-wrap div.answer::before{
  position:absolute;
  content:"";
  top:34px;
  left:14px;
  display:inline-block;
  width:16.87px;
  height:20px;
  background:url(../img/icon/a-i.svg) center/contain no-repeat;
}
div.qa-wrap div.answer p{
  font-size:clamp(14px,2.083vw,16px);
  font-weight:500;
  line-height:2;
}
div.qa-wrap div.answer p.heading{margin-top:1em;}
div.qa-wrap div.answer ul.dot li{
  position:relative;
  font-size:clamp(14px,2.083vw,16px);
  font-weight:500;
  line-height:2;  
  padding-left:1em;
}
div.qa-wrap div.answer ul.dot li::before{
  position:absolute;
  content:"・";
  top:0;
  left:0;
}
/* + - アイコン */
div.qa-wrap div.question div.accordion_icon,
div.qa-wrap div.question div.accordion_icon span {
  display: inline-block;
  transition: .3s ease;
  box-sizing: border-box;
}
div.qa-wrap div.question div.accordion_icon {
  position: absolute;
  right:10px;
  top: 50%;
  transform:translateY(-50%);
  width: 30px;
  height: 30px;
}
div.qa-wrap div.question div.accordion_icon span {
  position: absolute;
  left: 25%;
  width: 50%;
  height: 3px;
  background: #192D2A;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -ms-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
}
div.qa-wrap div.question div.accordion_icon span:nth-of-type(1) {
  top: 12.5px;
  transform: rotate(0);
  -webkit-transform: rotate(0);
  -moz-transform: rotate(0);
  -ms-transform: rotate(0);
  -o-transform: rotate(0)
}
div.qa-wrap div.question div.accordion_icon span:nth-of-type(2) {
  top: 12.5px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg)
}
div.qa-wrap div.question div.accordion_icon.active span:nth-of-type(1) {display: none;}
div.qa-wrap div.question div.accordion_icon.active span:nth-of-type(2) {
  top: 12.5px;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg)
}

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

div.qa-wrap div.question div.accordion_icon {
  right:5px;
  width: 20px;
  height: 20px;
}
div.qa-wrap div.question div.accordion_icon span {height: 2px;}

}

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

div.qa-wrap div.answer::before{top:24px;}

}


/* 比較表テーブル */
div.area h2 + table.comparison-table{margin-top:60px;}
table.comparison-table{
  position:relative;
  width:100%;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  margin-top:50px;
}
table.comparison-table tr + tr td{border-top:1px solid #e0e0e0;}

table.comparison-table tr th,
table.comparison-table tr td{
  font-size:clamp(14px,2.343vw,18px);
  font-weight:600;
  line-height:1.5;
  text-align:center;
  padding:15px 10px 10px;
}
table.comparison-table tr th{
  color:#111;
  background:#f7f7f7;
}
table.comparison-table tr th:first-child{background:none;}
table.comparison-table tr th:last-child{border-radius:0 10px 0 0;}


/* サンシスコン */
table.comparison-table tr td.sunsyscon{
  border-left:5px solid #DB1A1A;
  border-right:5px solid #DB1A1A;
}
table.comparison-table tr:last-child td.sunsyscon{
  border-bottom:5px solid #DB1A1A;
  border-radius:0 0 10px 10px;
}
table.comparison-table tr th.sunsyscon{
  position:relative;
  color:#fff;
  background:#DB1A1A;
}
table.comparison-table tr th span.crown{position:relative;}
table.comparison-table tr th span.crown::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:-25px;
  left:50%;
  transform:translateX(-50%);
  width:25.28px;
  height:20px;
  background:url(../img/common/table/crown-i.svg) center/contain no-repeat;
  z-index:1;
}
table.comparison-table tr th.sunsyscon::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:-29px;
  left:0;
  width:100%;
  height:30px;
  border-radius:10px 10px 0 0;
  background:#DB1A1A;
  z-index:-1;
}
table.comparison-table tr td.sunsyscon{background:#FFF3F3;}

table.comparison-table tr td span.large{
  color:#DB1A1A;
  font-size:clamp(18px,3.125vw,24px);
}

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

table.comparison-table{
  min-width:690px;
  max-width:initial;
}  

/* まるばつアイコン */
table.comparison-table tr td span.table-i.spe{
  width:20px;
  height:20px;
}
table.comparison-table tr td span.table-i.circle{
  width:20px;
  height:20px;
}
table.comparison-table tr td span.table-i.triangle{
  width:20px;
  height:16.67px;
}
table.comparison-table tr td span.table-i.nogood{
  width:13px;
  height:13px;
}

/* サンシスコン */
table.comparison-table tr td.sunsyscon{
  border-left:3px solid #DB1A1A;
  border-right:3px solid #DB1A1A;
}
table.comparison-table tr:last-child td.sunsyscon{border-bottom:3px solid #DB1A1A;}

}


/******* モーダル *****/
.modal_box {
  position: fixed;
  z-index:40;
  display: none;
  width: 80%;
  max-width: 870pt;
  height: 82vh;
  max-height: 55pc;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 40px;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
  overflow-y: scroll;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  border-radius: 20px;
}
.modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index:30;
  display: none;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, .7)
}

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

  .modal_box {
    width: 94%;
    padding: 40px 20px
  }

}

@media screen and (max-width:480px) {
  .modal_box {
    top: 70px;
    width: 90%;
    height: 82vh;
    padding:30px 10px 10px;
  }

}



/* フォーム関係 */
div.form-wrap input[type="text"],
div.form-wrap input[type="email"],
div.form-wrap input[type="tel"],
div.form-wrap select,div.form textarea {
  font-size:16px;
  display: inline-block;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 4px;
  padding: 12px;
  width:100%;
  height:50px;
  vertical-align: middle;
  border: none;
  color: #192D2A;
  background: #fff;
  border:1px solid #ccc;
  box-sizing: border-box;
}

div.form-wrap button{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:330px;
  height:50px;
  color:#fff;
  font-size:clamp(16px,2.604vw,20px);
  line-height:1;
  font-weight:500;
  letter-spacing:0.25pt;
  padding:0;
  margin:30px auto 0;
  border-radius:25px;
  border:none;
  background:linear-gradient(90deg, #db1a1a, #ff4027);
  box-shadow:0 3px 0 #db1a1a;
  transition:0.3s ease;
  cursor:pointer;
  transform:translateY(0);
}
div.form-wrap button::after{
  position:absolute;
  content:"";
  top:50%;
  transform:translateY(-50%);
  right:15px;
  display:inline-block;
  width:20px;
  height:20px;
  background:url(../img/icon/arrow-i-wht.svg) center/contain no-repeat;
  transition:0.3s ease;
}
div.form-wrap button:hover{
  box-shadow:0 0 0 #db1a1a;
  transform:translateY(3px);
}
div.form-wrap button:hover::after{right:10px;}