@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: #070C1A;
  overflow-x:hidden;
}
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);}
strong{font-weight:600;}
.marker{background:#E1F4F7;}
.block{display:block;}
.gry{color:#879694;}

ul.num-list{
  counter-reset: listnum;
	list-style: none;
}
* + ul.num-list{margin-top:15px;}

ul.num-list > li{
  position:relative;
  padding-left:40px;
}
ul.num-list > li + li{margin-top:15px;}

ul.num-list > li::before{
  position:absolute;
  top:-2px;
  left:0;
  counter-increment: listnum;
  content: counter(listnum);
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  font-size:14px;
  font-weight:600;
  line-height:1;
  width:30px;
  height:30px;
  padding-top:1px;
  background:#0068B7;
  border-radius:15px;
  box-sizing:border-box;
}

* + ul.dot-list{margin-top:15px;}
ul.dot-list > li{
  position:relative;
  padding-left:1em;
}
ul.dot-list > li::before{
  position:absolute;
  content:"・";
  left:0;
}
ul.dot-list > li + li{margin-top:0.5em;}

* + ul.non-list{margin-top:15px;}

/*ボタン*/
a.btn{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:clamp(420px,46.875vw,480px);
  height:clamp(60px,7.8125vw,80px);
  color:#fff;
  font-size:clamp(16px,2.343vw,24px);
  line-height:1;
  font-weight:500;
  letter-spacing:0.25pt;
  text-decoration:none;
  background:#0068B7;
  box-shadow:0 5px 0 #004F8B;
  transition:0.2s ease;
  margin:30px 0 0;
  padding:2px 0 0;
  border-radius:10px;
  transform:translateY(0);
}
a.btn:hover{
  transform:translateY(5px);
  box-shadow:0 0 0 #004F8B;
}
a.btn::after{
  position:absolute;
  content:"";
  display:inline-block;
  width:clamp(20px,2.929vw,30px);
  height:clamp(20px,2.929vw,30px);
  right:20px;
  top:50%;
  transform:translateY(-50%);
  background:url(../img/icon/arrow-i-wht.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;
}

span.btn.modal{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:clamp(420px,46.875vw,480px);
  height:clamp(60px,7.8125vw,80px);
  color:#fff;
  font-size:clamp(16px,2.343vw,24px);
  line-height:1;
  font-weight:500;
  letter-spacing:0.25pt;
  text-decoration:none;
  background:#070C1A;
  box-shadow:0 5px 0 #111;
  transition:0.2s ease;
  padding:2px 0 0;
  border-radius:10px;
  transform:translateY(0);
  cursor:pointer;
}
span.btn::after{
  position:absolute;
  content:"";
  display:inline-block;
  width:clamp(20px,2.929vw,30px);
  height:clamp(20px,2.929vw,30px);
  right:20px;
  top:50%;
  transform:translateY(-50%);
  background:url(../img/icon/plus-i.svg) center/contain no-repeat;
  transition:0.2s ease;
}
span.btn.modal:hover{
  transform:translateY(5px);
  box-shadow:0 0 0 #111;
}

div.btn-column{
  display:flex;
  justify-content:center;
  margin:30px auto 0;
}
div.btn-column a{margin:0;}
div.btn-column a + a,
div.btn-column span + a{margin-left:30px;}

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

div.btn-column{
  flex-direction:column;
  width:420px;
}
div.btn-column a{margin:0;}
div.btn-column a + a,
div.btn-column span + a{margin:15px auto 0;}

}

/******************** header ヘッダー********************/
#wrapper{
  margin:0;
  padding:0;
}
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:1530px;
  padding:0 15px;
  height:100px;
  margin:0 auto;
  top:0;
  background:#fff;
  z-index:2;
}
a#logo{
  display:block;
  width:clamp(130px,24.4vw,250px);
  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:330px;
  height:60px;
  font-size:20px;
  margin-top:-5px;
}
header a.btn::after{
  width:20px;
  height:20px;
}

@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) {

#wrapper{overflow:hidden;}

#header{height:50px;}

header a.btn{
  font-size:12px;
  width:130px;
  height:30px;
  margin-right:55px;
  border-radius:6px;
}
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(14px,1.25vw,16px);
  line-height: 1;
  font-weight:500;
  letter-spacing:0;
  color: #070C1A;
  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 #070C1A;
border-right: 1.5px solid #070C1A;
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:#F2F7FE;}

/* ナビ内ボタン */
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:10px;
}
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;
  border-top:1px solid #e0e0e0;
}
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:#070C1A;
  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:#070C1A;
  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:#070C1A;
}

@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.area{
  padding-left:15px;
  padding-right:15px;
  margin:clamp(50px,9.765vw,75px) auto 0;
}
div.area:last-child{margin-bottom:clamp(50px,9.765vw,75px);}

div.area.full{
  width:1920px;
  margin:0;
  padding:0;
}
div.area.full + div.area{margin-top:0;}


div.area.col{
  background:#F2F7FE;
  padding-top:clamp(50px,9.765vw,75px);
  padding-bottom:clamp(50px,9.765vw,75px);
}

/* h2 */
div.area h2{
  position:relative;
  color:#070C1A;
  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:30px;}

div.area h2.wht{color:#fff;}

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;}
br.br480-non{display:none;}

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


/* スライダースタイル */
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 {
  display: inline-block;
  border-radius: 50%;
  background: #efefef;
}
.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:#0068B7;
}
.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:#070C1A;
  text-decoration:none;
  background:#fff;
  box-shadow:0 0 10px rgba(0,0,0,0.06);
  border-radius:10px;
  transition:0.2s ease;
  overflow:hidden;
}
div.sim-type a.swiper-slide:hover{
  background:#F2F7FE;
  transform:translateY(3px);
}
div.sim-type a.swiper-slide div.image{
  padding:clamp(15px,2vw,30px);
  background:#F2F7FE;
}
div.sim-type a.swiper-slide div.image img{
  display:block;
  width:96%;
  margin:0 auto;
  border-radius:10px;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
}

div.sim-type a.swiper-slide div.txt{padding:30px clamp(15px,2vw,30px) clamp(20px,2vw,30px);}
div.sim-type a.swiper-slide h3{
  font-size:clamp(24px,2.4vw,36px);
  text-align:center;
}
div.sim-type a.swiper-slide span.days{
  display:block;
  font-size:clamp(16px,1.6vw,24px);
  font-weight:900;
  margin-top:1rem;
  padding-left:0.25em;
}
div.sim-type a.swiper-slide span.fee{
  color:#879694;
  font-size:clamp(16px,1.6vw,24px);
  line-height:1.1;
  font-weight:900;
  margin-top:30px;
}
div.sim-type a.swiper-slide span.fee span.price{
  position:relative;
  top:4px;
  color:#FF4027;
  font-size:clamp(42px,4.26vw,64px);
  padding:0 0.25rem;
}

div.sim-type a.swiper-slide ul.info{
  display:flex;
  margin-top:15px;
}
div.sim-type a.swiper-slide ul.info li{
  display:inline-block;
  color:#879694;
  font-size:12px;
  line-height:1;
  padding:5px;
  background:#F2F7FE;
  border-radius:4px;
}
div.sim-type a.swiper-slide ul.info li + li{margin-left:0.5em;}

div.sim-type a.swiper-slide div.column3{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#fff;
  box-shadow:0 0 10px rgba(0,0,0,0.06);
  border-radius:10px;
  margin:15px auto 0;
}
div.sim-type a.swiper-slide div.column3 div{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;  
  width:calc(100%/3);
  height:clamp(90px,7.33vw,110px);
  padding-top:5px;
}

div.sim-type a.swiper-slide div.column3 div + div::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:15px;
  left:-1px;
  height:calc(100% - 30px);
  width:1px;
  background:#efefef;
}
div.sim-type a.swiper-slide div.column3 span.heading{
  display:block;
  font-size:clamp(20px,1.86vw,28px);
  font-weight:900;
  line-height:1;
}
div.sim-type a.swiper-slide div.column3 div:last-child span.heading{font-size:clamp(16px,1.33vw,20px);}

div.sim-type a.swiper-slide div.column3 span.sub-txt{
  display:inline-block;
  color:#879694;
  font-size:clamp(12px,1.06vw,16px);
  font-weight:600;
  line-height:1;
  margin-top:0.75em;
}

div.sim-type a.swiper-slide ul.check-list{margin-top:clamp(15px,2vw,30px);}
div.sim-type a.swiper-slide ul.check-list li{
  position:relative;
  font-size:clamp(14px,1.06vw,16px);
  font-weight:500;
  line-height:1;
  padding-left:30px;
}
div.sim-type a.swiper-slide ul.check-list li + li{margin-top:20px;}
div.sim-type a.swiper-slide ul.check-list li::before{
  position:absolute;
  content:"";
  display:inline-block;
  left:0;
  width:20px;
  height:17.23px;
  background:url(../img/icon/check-i.svg) center/contain no-repeat;
}

div.sim-type a.swiper-slide span.btn-style{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:auto;
  height:60px;
  color:#fff;
  font-size:clamp(16px,1.33vw,20px);
  line-height:1;
  font-weight:500;
  background:linear-gradient(90deg, #db1a1a, #ff4027);
  box-shadow:0 5px 0 #db1a1a;
  transition:0.2s ease;
  margin:clamp(15px,2vw,30px) auto 0;
  padding:2px 0 0 0;
  border-radius:10px;
  transform:translateY(0);
}
div.sim-type a.swiper-slide:hover span.btn-style{
  box-shadow:0 0 0 #db1a1a;
  transform:translateY(5px);
}
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;}  

}

/* Stay connected in Japan,month after month. */
div.month-wrap{
  background:#fff;
  box-shadow:0 0 10px rgba(0,0,0,0.1);
  border-radius:10px;
  overflow:hidden;
}
div.month-wrap div.head{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  z-index:0;
  padding:clamp(30px,7.324vw,75px) 15px 0;
}
div.month-wrap div.head::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:0;
  left:0;
  width:100%;
  height:350px;
  background:#FEF2F2;
  z-index:-1;
}
div.month-wrap h3{
  font-size:clamp(24px,3.51vw,36px);
  text-align:center;
}
div.month-wrap h3 + p{
  font-weight:500;
  text-align:center;
  margin-top:15px;
}
div.month-wrap div.head img{
  display:block;
  width:600px;
  border-radius:10px;
  margin:clamp(15px,3.906vw,30px) auto 0;
}
div.month-wrap div.head div.info{
  display:flex;
  flex-direction:column;
  align-items:center;
  margin-top:25px;
}
div.month-wrap div.head div.info span.days{
  display:block;
  font-size:clamp(16px,2.13vw,32px);
  font-weight:900;
  padding-left:0.25em;
}
div.month-wrap div.head div.info span.fee{
  color:#879694;
  font-size:clamp(16px,4.6875vw,36px);
  line-height:1;
  font-weight:900;
}
div.month-wrap div.head div.info span.fee span.price{
  position:relative;
  top:4px;
  color:#FF4027;
  font-size:clamp(42px,6.66vw,100px);
  padding:0 0.25rem;
}
div.month-wrap div.head div.info ul.info{
  display:flex;
  margin-top:15px;
}
div.month-wrap div.head div.info ul.info li{
  display:inline-block;
  color:#879694;
  font-size:clamp(12px,2.083vw,16px);
  line-height:1;
  padding:clamp(5px,1.302vw,10px);
  background:#F2F7FE;
  border-radius:4px;
}
div.month-wrap div.head div.info ul.info li + li{margin-left:0.5em;}

div.month-wrap div.foot{
  margin-top:50px;
  padding:0 clamp(15px,3.33vw,50px) clamp(15px,3.33vw,50px);
}
div.month-wrap div.foot div.unlimited-feature-type div.swiper-wrapper{
  display:flex;
  justify-content:space-between;
  margin-top:30px;
}
div.month-wrap div.foot div.unlimited-feature-type div.box{
  width:calc((100% - 150px)/4);
  padding:clamp(30px,6.51vw,50px) 15px 15px;
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:10px;
}
div.month-wrap div.foot div.unlimited-feature-type div.box div.img{
  text-align:center;
  width:200px;
  height:120px;
  margin:0 auto;
}
div.month-wrap div.foot div.unlimited-feature-type div.box div.img img{
  display:inline-block;
  vertical-align:bottom;
}
div.month-wrap div.foot div.unlimited-feature-type div.box h4{
  font-size:16px;
  font-weight:600;
  text-align:center;
  padding-top:15px;
}
div.month-wrap div.foot div.unlimited-feature-type div.box p{
  color:#879694;
  font-size:14px;
}

div.month-wrap div.foot div + h3{margin-top:50px;}

div.month-wrap div.foot div.unlimited-step-type div.swiper-wrapper{
  display:flex;
  justify-content:space-between;
  margin-top:30px;
}
div.month-wrap div.foot div.unlimited-step-type div.box{
  position:relative;
  width:calc((100% - 100px)/3);
  padding:50px clamp(15px,2vw,30px) clamp(15px,2vw,30px);
  background:#fff;
  border:1px solid #e0e0e0;
  border-radius:10px;
  overflow:visible;
}
div.month-wrap div.foot div.unlimited-step-type div.box span.label{
  position:absolute;
  top:-20px;
  left:50%;
  transform:translateX(-50%);
  width:40px;
  height:40px;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#fff;
  font-size:20px;
  font-weight:600;
  background:#0068B7;
  border-radius:20px;
}
div.month-wrap div.foot div.unlimited-step-type div.box div.img{
  text-align:center;
  width:150px;
  height:120px;
  margin:0 auto;
}
div.month-wrap div.foot div.unlimited-step-type div.box div.img img{
  display:inline-block;
  vertical-align:bottom;
}
div.month-wrap div.foot div.unlimited-step-type div.box h4{
  font-size:16px;
  font-weight:600;
  text-align:center;
  padding-top:15px;
}
div.month-wrap div.foot div.unlimited-step-type div.box p{
  color:#879694;
  font-size:14px;
}

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

div.month-wrap div.foot div.unlimited-feature-type,
div.month-wrap div.foot div.unlimited-step-type{
  width:300px;
}  

}


/* Reviews for Journey Japan eSIM */
div.review-type div.swiper-wrapper{
  display:flex;
  justify-content:space-between;
}
div.review-type div.swiper-slide{
  position:relative;
  color:#192D2A;
  padding:clamp(20px,5.208vw,40px) clamp(15px,3.906vw,30px);
  background:#F8F8FA;
  border-radius:20px;
}
div.review-type div.swiper-slide::after{
  position:absolute;
  left:50px;
  bottom:-50px;
  content:"";
  display:inline-block;
  border:15px solid transparent;
  border-top:60px solid #F8F8FA;
  transform:rotate(-45deg);
  z-index:-1;
}
div.review-type span.label{
  display:block;
  font-size:clamp(20px,3.125vw,24px);
  line-height:1;
  color:#FF4027;
}
div.review-type h3{padding-top:0.75rem;}
div.review-type p{
  color:#879694;
  padding-top:0.5rem;
}

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

div.slider-wrap div.review-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 clamp(15px,3.906vw,30px) clamp(50px,7.8125vw,60px);
  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:clamp(20px,3.255vw,25px);
  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) clamp(50px,7.8125vw,60px);
  border-top:1px dashed #e0e0e0;
}
div.qa-wrap div.answer::before{
  position:absolute;
  content:"";
  top:34px;
  left:clamp(20px,3.255vw,25px);
  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 + p{margin-top:0.5em;}
div.qa-wrap div.answer p.heading{
  font-weight:600;
  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: #070C1A;
  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)
}
div.answer span.attention-i{
  position:relative;
  display:inline-block;
  color:#C9A84C;
  font-weight:600;
  line-height:1.5;
  padding-left:35px;
}
div.answer span.attention-i::before{
  position:absolute;
  content:"";
  top:50%;
  transform:translateY(-50%);
  left:0;
  width:25px;
  height:21.93px;
  display:inline-block;
  background:url(../img/faq/icon/attention-i.svg) center/contain no-repeat;
}

/* background col ver */
div.col div.qa-wrap div.box{
  background:#fff;
  border:none;
  border-radius:10px;
}
div.col div.qa-wrap div.box + div{margin-top:15px;}
div.col div.qa-wrap div.box:last-child{border:none;}

/* surround col ver */
div.qa-wrap-surround{
  padding:30px clamp(15px,3.906vw,30px);
  background:#F2F7FE;
  border-radius:10px;
}
div.qa-wrap-surround div.qa-wrap div.box{
  background:#fff;
  border:none;
  border-radius:10px;
}
div.qa-wrap-surround div.qa-wrap div.box + div{margin-top:15px;}
div.qa-wrap-surround div.qa-wrap div.box:last-child{border:none;}

div.qa-wrap-surround p.sub-title{
  font-size:clamp(20px,3.125vw,24px);
  font-weight:600;
}
div.qa-wrap-surround div.qa-wrap{margin-top:15px;}
div.qa-wrap-surround div.qa-wrap + p.sub-title{margin-top:30px;}

@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;}

/* surround col ver */
div.qa-wrap-surround p.sub-title{text-align:center;}

}

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

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

}


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

table.comparison-table tr th,
table.comparison-table tr td{
  font-size:14px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
  padding:20px 10px;
}
table.comparison-table tr th{
  color:#070C1A;
  font-size:clamp(14px,1.953vw,20px);
  font-weight:600;
}

table.comparison-table tr td{color:#879694;}
table.comparison-table tr td:first-child{
  color:#070C1A;
  text-align:left;
}


/* サンシスコン */
table.comparison-table tr .sunsyscon{position:relative;}
table.comparison-table tr .sunsyscon::before,
table.comparison-table tr:last-child .sunsyscon::after{
  position:absolute;
  content:"";
  display:inline-block;
  top:-19px;
  left:0;
  width:100%;
  height:20px;
  border-radius:10px 10px 0 0;
  background:#DB1A1A;
  z-index:-1;
}
table.comparison-table tr:last-child td.sunsyscon::after{
  top:auto;
  bottom:-19px;
  border-radius:0 0 20px 20px;
}
table.comparison-table tr .sunsyscon{
  color:#fff;
  background:#FF4027;
}
table.comparison-table tr td.sunsyscon{
  text-align:left;
  padding-left:45px;
}
table.comparison-table tr td.sunsyscon::before{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  left:15px;
  content:"";
  display:inline-block;
  width:20px;
  height:20px;
  background:url(../img/icon/check-i03.svg) center/contain no-repeat;  
  z-index:1;
}


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

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

}


/******* モーダル *****/
.modal_box {
  position: fixed;
  z-index:40;
  display: none;
  width: 1000px;
  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: 10px;
}
.modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index:30;
  display: none;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.5);
}

@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;
  }

}

.modal_box span.title{
  display:block;
  font-size:clamp(20px,3.125vw,32px);
  font-weight:600;
  text-align:center;
}
.modal_box ul.details-list{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-top:30px;
}
.modal_box ul.details-list li{
  width:calc((100% - 50px) / 2);
  font-size:clamp(14px,2.083vw,16px);
  text-align:left;
}
.modal_box ul.details-list li:nth-child(n + 3){margin-top:30px;}
.modal_box ul.details-list li span.heading{
  position:relative;
  display:block;
  font-size:clamp(16px,1.953vw,20px);
  font-weight:600;
  line-height:1.5;
  padding-left:30px;
  margin-bottom:0.5rem;
}
.modal_box ul.details-list li span.heading::before{
  position:absolute;
  content:"";
  display:inline-block;
  top:50%;
  transform:translateY(-50%);
  left:0;
  width:24px;
  height:24px;
  background:url(../img/icon/check-i02.svg) center/contain no-repeat;
}
.modal_box p.indent{
  color:#FF4027;
  text-align:left;
  text-indent:-1em;
  padding-left:1em;
}
.modal_box * + p.indent{margin-top:30px;}

span.b-btn{
  display:flex;
  justify-content:center;
  align-items:center;
  width:330px;
  height:50px;
  border:1px solid #e0e0e0;
  border-radius:26px;
  margin:30px auto 0;
  transition:0.3s ease;
  cursor:pointer;
}
span.b-btn:hover{background:#efefef;}
span.b-btn span.txt{
  position:relative;
  font-size:16px;
  font-weight:600;
  line-height:16px;
  padding-left:30px;
}
span.b-btn span.txt::after{
  position:absolute;
  content:"";
  top:50%;
  transform:translateY(-50%);
  left:0;
  display:inline-block;
  width:20px;
  height:20px;
  background:url(../img/icon/colose-i.svg) center/contain no-repeat;
}

a.txt-link{
  color:#FF4027;
  text-decoration:underline;
}
a.txt-link:hover{text-decoration:none;}

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

.modal_box ul.details-list{flex-direction:column;}
.modal_box ul.details-list li{width:auto;}
.modal_box ul.details-list li:nth-child(n + 2),
.modal_box ul.details-list li:nth-child(n + 3){margin-top:clamp(15px,3.906vw,30px);}

}

/* フォーム関係 */
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;}