.f-bold{
    font-weight: bold;
}
.text-red{
    color: #bf0f0f;
}
.text-orange1{
    color: #fcc269;
}
.text-orange2{
    color: #ea8937;
}
.text-orange3{
    color: #e37837;
}
.text-orange4{
    color: #dd6933;
}
.text-orange5{
    color: #cf4930;
}
.bg-white{
    background: #fff;
}
.bg-beige{
    background: #F8F6EE;
}
.bg-brown{
    background: #6A503E;
}
.bg-fox{
    background: #DEB040;
}
.bg-black{
    background: #1A1A1A;
}
.bg-light-blak{
    background: #333333;
}

.border-right{
    border-right: 1px solid #D1D1D1;
}
.border-left{
    border-left: 1px solid #D1D1D1;
}

.layoutArea h2{
    font-size: 2.5rem;
}

/* TOP MAIN VISUAL */
.mainvisual{
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(/img/plan/esim/mv_background.png) center / cover no-repeat;
    max-height: 780px;
}
#main_title{
    padding: 220px 20px 50px;
    margin: 0 auto;
    max-height: 800px;
    padding: 160px 20px 50px;
}
#main_title img{
    width: 500px;
    margin-left: -15px;
}
.mainvisual h1{
    text-align: left;
    font-size: 2.5rem;
    color: white;
    line-height: 1.2;
    margin-bottom: 80px;
}
.mainBgBtn{
    text-align: left;
}
.btn_esim_order{
    display: inline-block;
    background-color: #cc0100;
    color: white;
    font-weight: bold;
    padding: 15px 70px 15px 70px;
    line-height: 1.2;
    border-radius: 30px;
    font-size: 1.5rem;
}
.btn_esim_order::after{
    border: 1px solid;
    border-color: #fff #fff transparent transparent;
}
.btn_esim_order:hover{
    background: #db0000;
    transition: .3s;
    text-decoration: none;
}

/* What is NINJA eSIM? */
.divWhatisBG {
    background: url(/img/plan/esim/whatis_background.png) right top / 40% no-repeat;
}
.layoutArea.whatIs .wrapper{
    position: relative;
}
img.divWhatIsCircleImg{
    text-align: center;
    width: 330px;
    position: absolute;
    top: 170px;
    right: 0;
}
.divWhatisText{
    margin-top: 30px;
    padding: 10px 0;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    border-left: 5px solid #cc0100;
}
.divWhatisTexts{
    max-width: 620px;
    padding: 5px;
    flex-grow: 1;
    padding: 5px 5px 5px 100px;
    margin-left: 20px;
}
.luggage .divWhatisTexts {
    background: url(/img/plan/esim/whatninja_icon01.png?date=20250422) left center / 80px no-repeat;
}
.hygiene .divWhatisTexts {
    background: url(/img/plan/esim/whatninja_icon02.png?date=20250422) left center / 80px no-repeat;
}
.apply .divWhatisTexts {
    background: url(/img/plan/esim/whatninja_icon03.png?date=20250422) left center / 80px no-repeat;
}
.setup .divWhatisTexts {
    background: url(/img/plan/esim/whatninja_icon04.png?date=20250422) left center / 80px no-repeat;
}
.start .divWhatisTexts{
    background: url(/img/plan/esim/whatninja_icon05.png?date=20250422) left center / 80px no-repeat;
}
.divWhatisTexts p.titleTexts{
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 10px;
}
.divWhatisTexts .normalTextRed{
    font-size: 0.8rem;
    font-weight: 400;
    color: #bf0f0f;
}

/* EASILY SELECT */
.layoutArea.select .wrapper{
    padding-top: 20px;
}
.divWhatisEasy{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.divWhatisEasy .split1{
    width: 50%;
}
.divWhatisEasy .split2{
    width: 45%;
}
.divWhatisEasy img{
    width: 100%;
    vertical-align: bottom;
}

/* PLAN LIST */
.planlist h2{
    text-align: center;
    color: white;
    line-height: 1.1;
}
.layoutArea.planlist{
    background: linear-gradient(135deg, #ffb444, #b92429);
}
.plan-box p{
    text-align: center;
}
.planTabs {
	position: relative;
	overflow: hidden;
	margin: 0 auto;
	width: 100%;
	font-weight: 300;
	font-size: 1.25em;
}
.planTabs nav {
	text-align: center;
}
.planTabs nav ul {
	position: relative;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: flex;
	margin: 0 auto;
	padding: 0;
	max-width: 1200px;
	list-style: none;
	-ms-box-orient: horizontal;
	-ms-box-pack: center;
	-webkit-flex-flow: row wrap;
	-moz-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: center;
	-moz-justify-content: center;
	-ms-justify-content: center;
	justify-content: center;
}
.planTabs nav ul li {
	position: relative;
	z-index: 1;
	display: block;
	text-align: center;
	-webkit-flex: 1;
	-moz-flex: 1;
	-ms-flex: 1;
	flex: 1;
    text-overflow: ellipsis;
	white-space: nowrap;
    background-color: #F8F8F8;
    color: #D1D1D1;
    cursor: pointer;
    border-radius: 10px 10px 0 0;
	overflow: visible;
	padding: 10px 0;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
    margin: 0 3px 0 3px;
    font-weight: bold;
}
.planTabs nav ul li.active {
	z-index: 2;
    background: #CC0000;
    color: #ffffff;
}
.planTabs nav ul li.active::after {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -10px;
	width: 0;
	height: 0;
	border: solid transparent;
	border-width: 10px;
	border-top-color: #CC0000;
	content: '';
	pointer-events: none;
}
.planTabs nav ul li:hover{
    opacity: .9;
}
.planTabs nav ul li span {
	font-size: 1rem;
}
.content-wrap {
	position: relative;
}
.content-wrap section {
	display: none;
	padding: 0;
    margin: 0 3px 0 3px;
	max-width: 1200px;
	text-align: center;
}
.planTabs section.active {
	display: block;
}
.planContents {
    display: flex;
	padding: 30px 0;
    background-color: white;
    border-radius: 0 0 7px 7px;
}
.section-plan{
    width: 25%;
	font-size: 1rem;
}
.section-plan .plan-box{
    margin-bottom: 10px;
    font-weight: bold;
}
.section-plan .plan-box span{
    font-size: 0.8rem;
}
.section-plan .plan-box .normalText{
    font-size: 0.7rem;
    font-weight: 300;
}
.subBgBtn{
    text-align: center;
    width: 100%;
    margin-bottom: 5px;
    margin-top: 5px;
}
.btn_notes{
    display: inline-block;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 5px 0;
    width: 80%;
    border-radius: 40px;
    border: 1px solid #C51317;
    position: relative;
}
.btn_notes::after{
    position: absolute;
    right: 10px; 
    top: 50%; 
    content: '';
    width: 6px;
    height: 6px; 
    border-top: 1px solid #cc0100; 
    border-right: 1px solid #cc0100; 
    transform: translateY(-50%) rotate(45deg);
}
.btn_notes:hover{
    transition: .3s;
    text-decoration: none;
    border-color: #e17577 #e17577;
    color: #e17577;
}
small.note {
    color: white;
}

/* Easy to use */
.howto h2{
    text-align: center;
}
.layoutArea.howto{
    background: white;
}
.howtoContents{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.howtoBox{
    width: 19%;
    padding: 20px 20px;
    position: relative;
    box-shadow: 0 0 10px rgb(221, 221, 221);
}
.stepTitle{
    padding-bottom: 80px;
}
.step1 .stepTitle{
    background: url(/img/plan/esim/step1_smaho.png) center bottom 10px / auto 60px no-repeat;
}
.step2 .stepTitle{
    background: url(/img/plan/esim/step2_website.png) center bottom 10px / auto 60px no-repeat;
}
.step3 .stepTitle{
    background: url(/img/plan/esim/step3_qr.png) center bottom 10px / auto 60px no-repeat;
}
.step4 .stepTitle{
    background: url(/img/plan/esim/step4_setup.png) center bottom 10px / auto 60px no-repeat;
}
.step5 .stepTitle{
    background: url(/img/plan/esim/step5_start.png) center bottom 10px / auto 60px no-repeat;
}
.howtoBox label.stepTitle{
    display: block;
    font-size: 1.4rem;
    text-align: center;
}
.howtoBox label.stepTitle::after{
  content: "";
  text-align: center;
  display: block;
  width: 35px;
  border-bottom: 2px solid;
  margin: 1px auto;
  margin-bottom: 20px;
}
.howtoBox .howtoName{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    height: 62px;
}
.howtoContents.en .howtoBox .howtoName{
    height: 80px;
}
.howtoBox .howtoName p{
    font-size: 1.3rem;
    line-height: 1.3;
}
.howtoBox > p{
    font-size: 14px;
}

/* What can I do with 1GB */
.layoutArea.whatcani{
    background: #F8F8F8;
    text-align: center;
}
.whatcaniContents{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.whatcaniDetail{
    background: #ffffff;
    width: 20%;
    margin: 8px;
    padding: 20px 5px;
    border-radius: 10px;
}
.whatcaniDetailLogo{
    margin: 10px 0;
}
.whatcaniDetailLogo img{
    height: 50px;
}
.whatcaniDetailText p{
    text-align: center;
}
.whatcaniDetailText .titleTexts{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    margin-bottom: 10px;
}
.whatcaniDetailTextTime{
    font-size: 0.8rem;
}
.whatcaniDetailTextTime2{
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 1 1000;
}

@media screen and (max-width: 799px) {
    .layoutArea h2{
        font-size: 2rem;
        line-height: 1.2;
    }
    
    .mainvisual{
        background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
        url(/img/plan/esim/mv_background_sp.png) left center / cover no-repeat;
    }
    #main_title{
        text-align: center;
        padding: 50px 20px 20px;
    }
    .jp #main_title{
        padding: 100px 20px 20px;
    }
    #main_title img{
        width: 90%;
        margin-left: 0;
    }
    .mainvisual h1{
        font-size: 2rem;
        text-align: center;
        margin-bottom: 0;
    }
    .mainBgBtn{
        margin-top: 70px;
        text-align: center;
    }
    .en .mainBgBtn{
        margin-top: 30px;
    }
    .mainBgBtn a{
        font-size: 1.4rem;
        width: 100%;
        color: #ffffff;
    }
    
    /* What is NINJA eSIM? */
    .divWhatisBG {
        background-size: 55%;
    }
    .divWhatisText{
        padding: 5px 0 5px 20px;
    }
    .divWhatisTextLine{
        background: #cc0100;
        width: 0.5%;
    }
    .divWhatisTextLogo{
        display: flex;
        margin-bottom: 10px;
        align-items: center;
    }
    .divWhatisTextLogo img{
        margin-right: 30px;
        width: 20%;
    }
    .divWhatisTexts{
        background: none!important;
        margin-left: 0;
        padding: 0;
    }
    .divWhatisTexts p.titleTexts{
        font-weight: bold;
        font-size: 1.4rem;
        line-height: 1.2;
        margin-bottom: 0;
    }
    img.divWhatIsCircleImg{
        width: 30%;
        right: 20px;
        top: 40px;
    }
    .divWhatisTexts .normalTextRed{
        font-size: 14px;
    }
    
    /* EASILY SELECT */
    .divWhatisEasy{
        flex-direction: column;
    }
    .divWhatisEasy .split1, .divWhatisEasy .split2{
        width: 100%;
    }
    .divWhatisEasy h2{
        text-align: center;
        width: 100%;
    }
    .divWhatisEasy h2 span{
        display: inline-block;
    }
    .divWhatisEasy img{
        margin: 20px 0;
    }
    
    /* PLAN LIST */
    .layoutArea.planlist .wrapper{
        padding: 50px 0;
    }
    .planTabs{
        display: block;
        padding-bottom: 0;
    }
    .planTabs nav{
        padding: 0 20px;
    }
    .planTabs nav ul{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .planTabs nav ul li{
        width: 32%;
        display: block;
        margin: 0 0 8px;
        flex: none;
        font-size: 1.2rem;
        border-radius: 7px;
        padding: 15px 0;
    }
    .planTabs nav ul li.active::after{
        display: none;
    }
    .content-wrap{
        margin: 20px 0 0 20px;
        overflow: scroll;
    }
    .content-wrap section {
        margin: 0;
        width: 1000px;
    }
    .planContents {
        background-color: #ffffff;
        border-radius: 7px;
        padding: 30px 20px;
        overflow: scroll;
    }
    .plan-box p{
        font-size: 1.2rem;
    }
    .section-plan .plan-box span, .section-plan .plan-box .normalText{
        font-size: 1rem;
    }
    .section-plan .plan-box .normalText{
        font-size: 12px;
    }
    a.btn_notes{
        padding: 6px 10px;
        color: #bf0f0f;
        font-size: 12px;
    }
    small.note {
        margin: 4%;
        display: block;
    }
    
    /* EASY TO USE */
    .howtoBox{
        width: 100%;
        margin-bottom: 10px;
        padding: 15px;
    }
    .howtoBoxIn{
        display: flex;
        align-items: center;
        margin-bottom: 10px;
    }
    .howtoBoxIn img{
        max-height: 60px;
    }
    .howtoBox label.stepTitle{
        background: none!important;
        padding-bottom: 0;
        text-align: center;
        margin-right: 15px;
    }
    .howtoBox label.stepTitle::after{
        content: "";
        text-align: center;
        display: block;
        width: 30px;
        border-bottom: 2px solid;
        margin: 1px auto;
    }
    .howtoBox .howtoName{
        flex: 1;
        margin-bottom: 0;
        justify-content: flex-start;
    }
    .howtoBox .howtoName p{
        font-size: 1.4rem;
        line-height: 1.2;
        text-align: left!important;
    }
    
    /* What can I do with 1GB */
    .whatcaniDetail{
        width: 100%;
        display: flex;
        align-items: center;
        padding: 20px;
        margin: 0 0 10px;
    }
    .whatcaniDetailLogo{
        width: 25%;
        margin: 0;
    }
    .whatcaniDetailText{
        flex: 1;
    }
    .whatcaniDetailText p.titleTexts, .whatcaniDetailText p.whatcaniDetailTextTime{
        font-size: 1rem;
    }
    .whatcaniDetailText p.whatcaniDetailTextTime span{
        font-size: 1.4rem;
    }
    .whatcaniDetailText .titleTexts{
        height: auto;
    }
}