@charset "utf-8";
/* CSS Document */

@media (max-width: 768px) {
	.l-footer.l-footer-hasfixcv {  margin-bottom: 30px;  }
}
.btn_border {
	border: 3px solid #fc0f3a;
}
.btn_red_border {
	border: 3px solid #fc0f3a;
    background: #fff;
	color: #fc0f3a;
}
.btn_arrow:before {
    content: "";
    right: 10px;
    width: 13px;
    height: 13px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
}
.btn_red_border.btn_arrow:before {
    border-top-color: #fc0f3a;
    border-right-color: #fc0f3a;
}
@media (max-width: 768px) {
	.btn-inline-wrapper .btn {
		width: 48%;
	}
	.btn_arrow:before {
        right: 6px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
}

/* ▼▼202401 pagetop▼▼ */
.gotop {  bottom: 130px;  }
@media screen and (max-width: 767px) {
	.gotop {  bottom: 90px;  }
}
/* ▲▲202401　pagetop▲▲ */
/* ▼▼202408 モーダル追加▼▼ */
.refinemodal {
    width: 100%;
    left: 0;
}
#modal_wrapper .refinemodal {
	background-color:rgba(0,0,0,0.5);
}
#modal_wrapper .inner-box {
	position: relative;
	width: 580px;
	margin: 0 auto;
}
#modal_wrapper .refinemodal-inner {
	z-index: 999;
	width: 580px;
	height: auto;
	padding: 0;
}
#modal_wrapper .refinemodal .modal-close {
	background: none;	
    position: relative;
    top: 12%;
    left: 98%;
}
#modal_wrapper .inner-box {
    position: relative;
    height: 100vh;
}
#modal_wrapper .refinemodal-inner a {  transition: 0.6s;  }
#modal_wrapper .refinemodal-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
	max-width: 580px;
	max-height: 580px;
	background-color: #fff;
}
.modal-close span{
	height: 7px;
}
@media screen and (max-width: 1023px) and (min-width: 768px){
	#modal_wrapper .inner-box {
		height: 600px;
		height: 100vh;
	}
	#modal_wrapper .refinemodal-inner {
		width: 600px;
		max-width: 500px;
	}
	#modal_wrapper .refinemodal-bottom {
		position: relative;
		height: 200px;
		border-bottom: 100px;
	}
	#modal_wrapper .refinemodal-bottom-close {
		width: 55px;
		height: 56px;
		position: absolute;
		right: 0px;
		bottom: 0px;
		background-size: 21px;
		z-index: 999999;
		top: 55px;
		background: none;
	}
	#modal_wrapper .refinemodal .modal-close {
		top: 16%;
		left: 92%;
	}
	#modal_wrapper .refinemodal-bottom-close span {  width: 40px; height: 6px }
}
@media screen and (max-width: 767px) {
	#modal_wrapper .inner-box {
		height: 600px;
		height: 100vh;
		width: 100%;
	}	
	#modal_wrapper .refinemodal-inner {
		max-width: 500px;
		width: 90%;
		padding: 0;
	}
	#modal_wrapper .refinemodal-bottom {
		position: relative;
		width: 96%;
		top: 15%;
	}
	#modal_wrapper .refinemodal-bottom-close {
		width: 55px;
		height: 56px;
		position: absolute;
		right: 0px;
		bottom: 0px;
		background-size: 21px;
		z-index: 999999;
		top: 16px;
		background: none;
	}
	#modal_wrapper .refinemodal-bottom-close span {  width: 40px; height: 6px; }
}	
@media screen and (max-width: 320px) {
	#modal_wrapper .refinemodal-bottom {  top: 13.5%;  }
}

.gotop{
	bottom: 130px;
}
@media screen and (max-width: 767px) {
	.gotop{
		bottom: 90px;
	}
	.plan-table-flex img.img_now{
		width: 12%;
	}
}
/* ▲▲202408 モーダル追加▲▲ */
/**  ▼▼202410追加▼▼  **/
/** --------------------  all  -------------------- **/
body {
	color: #333333;
}
.bg_gray {
	background: #f5f5f5;
}
.bg_white {
	background: #ffffff;
}
.text_normal {
	font-weight: normal!important;
}
.display_grid {
	display: grid;
}
.align-self_center {
	align-self: center;
}
a [class*=text-link] {
    color: #333333;
}
.text-huge {
	line-height: 1.6 !important;
}
.text_huge_40 {  font-size: min(40px, 6vw);  }
.text_huge_50 {  font-size: min(50px, 6vw);  }
.text_huge_60 {  font-size: min(60px, 6vw);  }
.text_huge_80 {  font-size: min(80px, 10vw);  }
.text-size-s, .text-size-s a {
    font-size: 14px !important;
}
.pt-40 {  padding-top: 40px;  }
.pt-45 {  padding-top: 45px;  }
.po_a_b {
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	bottom: 0;	
}
@media screen and (max-width: 768px) {
	.text-md-center {
		text-align: center;
	}
	.text-md-left {
		text-align: left;
	}
	.text-size-m, .text-size-m a {
        font-size: 16px !important;
    }
	.text-size-l, .text-size-l a {
        font-size: 20px !important;
    }
	.text-size-s, .text-size-s a {
		font-size: 13px !important;
	}
}
.drawLine:before {
	background: #F8CE00!important;
}

/** --------------------  header  -------------------- **/
.l-header-inner {
    max-width: 1030px;
	padding: 0 30px;
	margin: 0 auto;
}
.header-logo-lp {
	margin: 0 0 0 30px;
	/*
	position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	*/
}
#cta_area_header {
	position: absolute;
    right: 0;
	/*padding-top: 15px;*/
	bottom: -3px;
}
#cta_area_header .section_wrapper {
    max-width: calc(980px - 280px);
    margin: 0;
	
}
#cta_area_header .section_wrapper {
	padding: 0;
}
#cta_area_header .btn-inline-wrapper > div {
    margin: 0 6px;
}
#cta_area_header .btn {
	min-width: 205px;
	padding: 5px 10px;
	border-radius: 100px;
}
#cta_area_header .btn_red_border {
	border: 2px solid #fc0f3a;
	padding: 6px 10px;
}
#cta_area_header .btn_arrow:before,
#cta_area_header .btn_red_border.btn_arrow:before {
    width: 9px;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
#cta_area_header .btn_red_border.btn_arrow:before {
    border-top: 2px solid #fc0f3a;
    border-right: 2px solid #fc0f3a;
}
#cta_area_header .btn_rc p {
    font-size: 1.5rem;
	/*padding-left: 10px;*/
	padding-right: 7px;
}
#cta_area_header .btn_rc p > span {
    left: 4px;
	padding: 3px;
}
#cta_area_header .btn_rc p > span > span {
    font-size: 1.1rem;
	line-height: 1;
	padding-top: 3px;
}
#cta_area_header .btn-inline-wrapper div:nth-child(2n) .btn_rc p > span > span {
	padding-top: 6px;
}
@media screen and (max-width: 850px) {
	#cta_area_header .btn_rc p {
		font-size: 1.2rem;
		letter-spacing: 0;
	}
	#cta_area_header .btn.btn_rc,
    #cta_area_header .btn_red_border {
		white-space: nowrap;
		min-width: auto!important;
		padding: 5px 20px 7px 15px;
	}
}
@media screen and (max-width: 768px) {
	.l-header-lp { 
		height: 58px;
		padding-top: 15px;
	}
	.l-header-inner {
		max-width: auto;
		width: 100%;		
	}
	.header-logo-lp {
		/*background-size: 150px;*/
		/*left: 15px;*/position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	}	
	#cta_area_header {
		display: none;
	}
}

/** --------------------  kv  -------------------- **/
.kv {
	position: relative;
	height: 46vw;
	max-height: 500px;
}
.kv_img {
	background: #fff;
	background-image: url("../../images/kv.jpg");
	background-repeat: no-repeat;
    background-position: center;
	background-size: auto 100%;	
	max-height: 500px;
	height: 46vw;
	position: relative;
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	.kv {
		height: 133vw;
		max-height: 1000px;
	}
	.kv_img {
		background-image: url(../../images/kv_sp.jpg);
		background-position: center bottom;
		background-size: cover;
		max-height: 1000px;
		height: 133vw;
		position: relative;
	}
}

/** --------------------  btn  -------------------- **/
.cta_area .section_wrapper {
	padding: 30px 0 40px 0;
}
.cta_area.bg_gray {
	background-color: #E8E8E8;
}
.cta_area h2{
	font-size: min(2.6rem, 6vw);  
}
.btn-inline-wrapper {
    display: inline-flex;
}
.btn-inline-wrapper > div {
	margin: 0 15px;
	position: relative;
}
.btn_rc {
	border-radius: 50px;
}
.btn_rc p {
	font-size: min(2.0rem, 5vw);
}
.btn_rc p > span {
	position: absolute;    
		top: 50%;
		left: 3px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
    aspect-ratio: 1 / 1;
    border-radius: 100px;
    padding: 8px;
    background-color: #F8CE00;
}
.btn_rc p > span > span {
	display: block;
	padding-top: 5px;
	color: #333333;
}
@media screen and (max-width: 768px) {
	.btn-inline-wrapper .btn {
        width: 100%;
    }
	.btn-inline-wrapper {
		display: block;
	}
	.btn-inline-wrapper div:nth-child(2n) {
		margin-top: 20px;
	}
	.btn_rc p > span {
		padding: 4px;
	}
}

/** --------------------    -------------------- **/
.icon_bullet > li:before {
    content: "・"!important;
}
.icon_bullet p,
.icon_bullet > li,
.icon_bullet > li a {
    font-size: 14px;
	margin-bottom: 6px;
}

/** --------------------  クロージング  -------------------- **/
.section#closing {
	padding: 0;
}
.bg_img_l {
	background-image: url("../../images/bg_l.jpg");
	max-height: 500px; 
	height: 500px;
}

@media (max-width: 1000px) and (min-width: 769px) {
	.bg_img_l {
	background-image: url("../../images/bg_l.jpg");
	max-height: 750px; 
	height: 400px;
	}
}
@media screen and (max-width: 768px) {
	.bg_img_l {
		background-image: url("../../images/bg_l_sp.jpg");
        height: 88vw;
	}
}

/** --------------------  footer  -------------------- **/
.l-footer-hasfixcv {
    padding: 45px 0 15px 0;
	background-color: #333;
}
.footer-bottom-nav-list-item a,
.footer-bottom .copyright {
	color: #fff;
}
.footer-bottom .copyright {
	padding-top: 15px;
}
@media screen and (max-width: 768px) {
	.l-footer.l-footer-hasfixcv {
		margin-bottom: 0;
	}
.gotop {
        bottom: 15px!important;
    }
}
@media (max-width: 1180px) {
    .l-footer-bottom .l-inner {
		padding: 0!important;
    }
}
@media screen and (max-width: 768px) {
	.footer-bottom-nav-list-item {
        width: 49%;
	}
	.footer-bottom-nav-list-item a {
        padding: 0 5px 0 0;
	}
}
/**  ▲▲202410追加▲▲  **/

/** --------------------  202503  -------------------- **/
body {  overflow-x: clip;  }
.fadein-up div:nth-of-type(2) .fadein-up {
        -webkit-transition-delay: .3s;
        transition-delay: .3s;
    }
.fadein-up div:nth-of-type(3) .fadein-up {
	-webkit-transition-delay: .4s;
	transition-delay: .4s;
}
.fadein-up div:nth-of-type(4) .fadein-up {
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
}
@media screen and (max-width: 768px) {
	.section_wrapper{
		padding: 0 15px;
	}
}
#cta_area_header .btn_border {
    border: 3px solid #bf0149;
    background: #bf0149;
    color: #fff;
	box-shadow: 0px 3px 0px #8c0035;
}
#cta_area_header .cta_area .btn_red_border {
    color: #bf0149;
    background: #fff;
    border-color: #bf0149;
    box-shadow: 0px 3px 0px #8c0035;
}
#cta_area_header .btn:not(.btn-disabled):hover {
    box-shadow: 0px 0px 0px #cacaca;
}
#cta_area_header .btn_red_border {
    color: #ff0033;
    background: #fff;
    border-color: #ff0033;
    box-shadow: 0px 3px 0px #ff0033;
	letter-spacing: 0;
	min-width: 245px;
}
#cta_area_header .btn_red_border.btn_arrow:before {
    border-top: 2px solid #ff0033;
    border-right: 2px solid #ff0033;
}
#cta_area_header .btn_border {
    border: none;
	background: #f5d220; 
    color: #333;
	box-shadow: 0px 4px 0px #f99e03;
    padding: 7px 10px;
}
#cta_area_header .btn_arrow:before {
    width: 9px;
    height: 9px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}
#cta_area_header .btn_border:not(.btn-disabled):hover {
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
    padding: 7px 10px;	
}

.cta_area .btn-red {
	padding: 19px 8px;
	border: solid 2px #ff0033;
}
.cta_area .btn-red:not(.btn-disabled):hover {
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	padding: 19px 8px;
}
.cta_area .btn_border {
	padding: 19px 8px;
	background: #fff; 
	border: solid 2px #FC0F3A;
    color: #FC0F3A;
	box-shadow: 0px 3px 0px #d70b32;
}
.cta_area .btn_border:not(.btn-disabled):hover {
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0);
	padding: 19px 8px;
}

.cta_area .btn-red.btn_arrow:before {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
.cta_area .btn_border.btn_arrow:before {
    border-top: 3px solid #ff0033;
    border-right: 3px solid #ff0033;
}
.cta_area .btn_yellowgreen_border {
    color: #132c74;
    background: #fff;
    border-color: #132c74;
    box-shadow: 0px 3px 0px #132c74;
}
.cta_area .btn_yellowgreen.btn_arrow:before {
    border-top: 3px solid #333;
    border-right: 3px solid #333;
}
.cta_area .btn_yellowgreen_border.btn_arrow:before {
    border-top: 3px solid #132c74;
    border-right: 3px solid #132c74;
}
.btn_rc p > span {
    left: 6px;
    background-color: #eeeeee;
}
#cta_area01,
#cta_area04 {
	background:	#eff8fe!important;
}
/*
#cta_area01 .slash:before,
#cta_area01 .slash:after {
    background: #fff;
}*/
#cta_area02 .slash:before,
#cta_area02 .slash:afterr,
#cta_area03 .slash:before,
#cta_area03 .slash:afterr {
    background: #fff;
}
#cta_area04 .slash:before,
#cta_area04 .slash:after {
    background: #333;
}
/*
#cta_area01 .slash,
#cta_area01 .slash,
*/
#cta_area02 .slash,
#cta_area02 .slash,
#cta_area03 .slash,
#cta_area03 .slash {
	color: #ffed8b;
}
#cta_area04 .slash,
#cta_area04 .slash {
	color: #333;
}
.bg_blue_gradation {
	background: #45aea9; 
}
.bg_blue_gradation  h2 {
	color: #fff;
}
.bg_lightblue {
	background-color: #d8f0f1;
}
#campaign_01.section {
	padding: 30px 0;
}
.img_center {
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.img_md_center {
		margin: 0 auto;
	}
}
#reason .btn_rc p {
    font-size: min(2.0rem, 4vw);
}
.bg_darkgray {
	background-color: #333;
}
.bg_darkgray h2 {
	color: #fff;
}
.bg_img_full {
	background-image: url("../../images/img_voice_bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
@media screen and (max-width: 768px) {
	.bg_img_full {
		background-image: none;
		background: #f7f7f7;
	}
}
.bg_pink {
	background-color: #fee9f1;
}
.text_pink {
	color: #bf0149;
}

.l-footer {
	border-top: none!important;
}
.footer-bottom-nav-list-item a:visited {
    color: #fff;
}
/*--------------------------------------------------------------------------------------------------------------------*/
.ff_min {
	font-family: 'Noto Serif JP', sans-serif;
}
.w200 {
  font-weight: 200;
}
.w300 {
  font-weight: 300;
}
.w400 {
  font-weight: 400;
}
.w500 {
  font-weight: 500;
}
.w600 {
  font-weight: 600;
}
.w700 {
  font-weight: 700;
}
.w900 {
  font-weight: 900;
}
h2.ttl-article {
	font-size: 3.8rem;
	font-weight: 900;
	color: #2e87ff;	
	margin-bottom: 45px
}
h2 .text-size-l {
	font-size: 38px!important;
	font-weight: 700;
}
.fs_18 {
	font-size: 18px!important;
}
.fs_20 {
	font-size: 20px!important;
}


@media screen and (max-width: 768px) {
	h2 {
		font-size: 25px;
	}
	h2 .text-size-l {
		font-size: 18px!important;
	}
	.fs_18 {
		font-size: 15px!important;
	}.fs_20 {
		font-size: 15px!important;
}
	.fs_md_18 {
		font-size: 18px!important;
		letter-spacing: 0.05rem;
	}	
}
.text_black {
	color: #333333;
}
.bg_gray_02 {
	background: #f6f6f6;
}
#plan table {
	/* border: none; */
    border-bottom: 1px solid #E8E8E8;
	box-sizing: border-box;
}

#plan table td.last-td{
	border-right: 1px solid #E8E8E8 !important;
}
.option_text_area {
	padding-left: 40px;
	padding-right: 40px;
}
@media screen and (max-width: 768px) {
	.option_text_area {
		padding-left: 15px;
		padding-right: 15px;
		font-size: 10px!important;
	}
}
#model_introduction .table {
	border: none!important;
}.border_none {
	border: none!important;
}
#model_introduction table {
	width: auto;
}
#model_introduction .table th, #model_introduction .table td {
    padding: 0 15px;
    line-height: 1.5;
    border-top: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
}
#model_introduction .table th, 
#model_introduction .table tr td:first-child {
    color: #fff;
	background: #052a93;
	vertical-align: middle;
    text-align: center;
}
#model_introduction .table th,
#model_introduction .table tr td:last-child {
    background: #eff8fe;
}
.bg_model_img {
	background-image: url("../../images/img_model_introduction_bg.png");	
	background-repeat: no-repeat;
	background-position: center;
	max-height: 400px;
	height: 360px;
/*	padding-top: 50px;*/
	padding-top: 5.3%;
	background-size: 100% auto;
	margin-bottom: 20px;
	margin-top: 20px;
}
.bg_model_img {
    max-height: 425px;
    height: 425px;
    padding-top: 7%;
}
/*
	.bg_model_img {
		background-image: url("../../images/img_model_introduction_bg02.png");	
		max-height: 465px;
		height: 45vw;
		min-height: 338px;
		padding-top: 8%;
	}
*/
.bg_model_img .list > li:before {
    content: "●";
}
@media (max-width: 975px) and (min-width: 769px) {
	.bg_model_img {
		background-image: url("../../images/img_model_introduction_bg02.png");	
		max-height: 450px;
		height: 45vw;
		min-height: 338px;
		padding-top: 8%;
	}
	.bg_model_img .col-2 {
			flex: 0 0 8.3333333333%;
		max-width: 8.3333333333%;
	}
	.bg_model_img .col-3 {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.bg_model_img .col-5 {
			flex: 0 0 58.3333333333%;
		max-width: 58.3333333333%;
	}
}
.bg_model_img .btn_arrow:before {
    content: "";
    right: 10px;
	border-top: 3px solid #333;
    border-right: 3px solid #333;
}
.bg_model_img .btn_yellowgreen_border.btn_arrow:before {
    content: "";
    right: 10px;
	border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}
.bg_model_img .btn_rc p {
    font-size: min(1.6rem, 5vw);
	padding-right: 10px;
}
.bg_model_img .btn_yellowgreen_border.btn_rc p {
	padding-right: 15px;
}
.bg_model_img .btn {
	border: none;
    background: #f5d220;
    color: #333;
    box-shadow: 0px 3px 0px #f99e03;
}
/*
.bg_model_img .btn.btn_yellowgreen_border {    
	color: #0e1b71;
    background: #fff;
	border: 1px solid #0e1b71!important;
    box-shadow: 0px 2px 0px #0e1b71;
}
.bg_model_img .btn_yellowgreen_border.btn_arrow:before {
    border-top: 3px solid #0e1b71;
    border-right: 3px solid #0e1b71;
}*/
.bg_model_img .btn.btn_yellowgreen_border {    
	color: #fff;
	background: #052a93;
    box-shadow: 0px 3px 0px #132c74;
	border: none;
}
.bg_model_img .btn.btn_yellowgreen_border:hover {    
    box-shadow: none;
}
.ls_1 {
	letter-spacing: 0.08rem;
}
@media screen and (max-width: 768px) {
	.bg_model_img {
		background-image: url("../../images/img_model_introduction_bg_sp.png");	
		max-height: 960px;
        height: 75vw;
        padding-top: 5%;
        width: 50vw;
        margin: 0 auto;
	}
	.bg_model_img .col-3 img {
		width: 30% !important;
		min-width: 30% !important;
	}
	.bg_model_img .col-3 img.wid-95per {
		width: 35% !important;
		min-width: 35% !important;
	}
	.bg_model_img .text_area {
		padding: 0 35px;
	}
	.table th, .table td {
		padding: 0 10px;
	}
	.bg_model_img .btn_arrow:before {
		right: 10px!important;
	}
	.bg_model_img .btn {
        padding: 8px 30px!important;
    }
	#model_introduction .list-iconindent.text-size-s,
	#model_introduction .list-iconindent.text-size-s a {
        font-size: 10px !important;
    }
	#model_introduction .bg_model_img .list > li {
        line-height: 1.5;
		margin-bottom: 5px;
    }
}
@media screen and (max-width: 767px) {
	.bg_model_img {
		background-image: url("../../images/img_model_introduction_bg_sp.png");	
		max-height: 960px;
		height: 133vw;
		width: auto;
		padding-top: 10%;
	}
	.bg_model_img {
        max-height: 1000px;
        height: 137vw;
        padding-top: 7%;
    }
	.bg_model_img .col-3 img {
		width: 30% !important;
		min-width: 30% !important;
	}
	.bg_model_img .col-3 img.wid-95per {
		width: 35% !important;
		min-width: 35% !important;
	}
	.bg_model_img .text_area {
		padding: 0 35px;
	}
	.table th, .table td {
		padding: 0 5px;
	}
	.bg_model_img .btn_arrow:before {
		right: 10px!important;
	}
	.bg_model_img .btn {
        padding: 8px 30px!important;
    }
	#model_introduction .list-iconindent.text-size-s,
	#model_introduction .list-iconindent.text-size-s a {
        font-size: 10px !important;
    }
	#model_introduction .bg_model_img .list > li {
        line-height: 1.5;
		margin-bottom: 5px;
    }
}
@media screen and (max-width: 768px) {
	.cta_area .btn-red,
	.cta_area .btn_border {
		padding: 12px 3px;
	}
	.btn_rc p > span {
        padding: 2px;
    }
}
.border_none {
	border: none!important;
}
#concerns.bg_blue {
    background: #9fdcf9!important;
}
#plan_charm.bg_pink,
.bg_pink {
    background: #ffeeef!important;
}
#cta_area02 img,
#cta_area03 img {
	position: relative;
    top: -15px;
}
/*
.feature .box {
	border: none;
    background: #ffeeef!important;
	max-width: 820px;
	margin: 0 auto;
	padding: 0 3.5vw 30px 4.5vw;
	border-radius: 0 0 15px 15px;
}
*/
@media screen and (max-width: 768px) {
	/*
	.feature .box {
		max-width: 708px;
	}
	*/
	#option h2 img {
		max-width: 70%;
	}
}

/** --------------------  HELPO　Lite  -------------------- **/
@media screen and (min-width: 768px) {
    .section {
        padding: 120px 0;
    }
}
#cta_area_header .btn_border {
    border: none;
    background: #ff0033;
    color: #fff;
    box-shadow: 0px 4px 0px #d70b32;
    padding: 7px 10px;
}
#cta_area_header .btn_arrow:before {
    width: 9px;
    height: 9px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}
.section h2:first-child.ttl-article {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	h2.ttl-article {
		font-size: 2.6rem;
		margin-bottom: 30px;
	}
}
.text_pink {
	color: #FF2188;
}
.text_blue {
	color: #0f72ce;
}
.text_green {
	color: #0fa9da;
}
.bg_blue {
	color: #fff;
	background: #0f72ce;
}
.bg_green {
	color: #fff;
	background: #0fa9da;
}
.bg_light_blue {
	background: #d6edf6;
}
.btn-blue {
	background: #0f72ce;
	border: none;
}
.bg_blue_gradation {
	  background: linear-gradient(to right, rgb(160, 227, 167), rgb(46, 135, 255));
}

/** --------------------  HELPO Liteプランの特長  -------------------- **/
#feature .box {
	border-radius: 20px;
	background: #fff;
	border: none;
}
.btn_green {
	border: 2px solid #0fa9da;
	color: #0fa9da;
	font-weight: bold;
	box-shadow: 0px 3px 0px #038db9;
}
.btn_green.btn_arrow:before {
    content: "";
    right: 20px;
    width: 13px;
    height: 13px;
    border-top: 3px solid #0fa9da;
    border-right: 3px solid #0fa9da;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(0, -50%) rotate(45deg);
    transform: translate(0, -50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
	.text-md-left {
		text-align: left!important;
	}
}

/** --------------------  HELPO Liteプランの利用メリット  -------------------- **/
#merit .box {
	border: 2px solid #0fa9da;
	border-top: none;
	border-radius: 0 0 20px 20px;
	background: #fff;
	padding: 10px 12px 15px 12px;
}
#merit img.img_ph {
	border: 2px solid #0fa9da;
	border-bottom: none;
	border-radius: 20px 20px 0 0;
}
#merit .text_inline {
	display: inline-block;
}
#merit .list > li:before {
    color: #0fa9da;
}
#merit .btn-simulation:before {
	position: relative;
    content: '';
    -webkit-background-size: 19px 19px;
    background-size: 19px 19px;
    width: 19px;
    height: 19px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background: url(/common_b/images/common/icon/icon_cart_white.svg) no-repeat left top;
    top: 0;
}

/** --------------------  ワイモバイル法人オンラインストア・法人ダイレクト特典  -------------------- **/
#benefits .box {
	border-radius: 20px;
	border: none;
	padding: 20px 30px 40px 30px;
}
#benefits li.block_2 span {
	display: inline-block;
	width: 160px;
	padding-left: 12px;
	padding-right: 20px;
}
@media screen and (max-width: 769px) {
	#benefits .box {
		padding: 5px 15px 30px 15px;
	}
	#benefits li.block_2 span {
		display: inline;
		padding-left: 0;
	}
}

/** --------------------  ご利用までの流れ  -------------------- **/
#step h2 {
	color: #ffffff;
}
#step .col-2-4,
#step .col-md-6 {
	padding: 0;
}
#step .list-iconindent li a {
    color: #f42f89;
	font-weight: bold;
	padding-left: 3px;
}
#step .list-iconindent li a:visited {
    color: #b50444;
}

/** --------------------  おすすめ機種  -------------------- **/
#model_introduction .label {
	letter-spacing: -0.025rem;
	text-align: left;
	width: 100%;
}
#model_introduction .label span {		
    width: auto !important;
    height: 20px;
    font-size: 11px !important;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 31.5%;
    padding: 1px 6px 3px;
    color: #000;
    border: 1px solid #000;
    font-weight: 400;
    background-color: #f5f5f5;
    margin: 2px 1px;
    box-sizing: border-box;
}
#model_introduction .btn-simulation:before {
	position: relative;
    content: '';
    -webkit-background-size: 19px 19px;
    background-size: 19px 19px;
    width: 19px;
    height: 19px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background: url(/common_b/images/common/icon/icon_cart_white.svg) no-repeat left top;
    top: 0;
}
#model_introduction .ff_oswald {
    font-family: "Oswald", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 700;
	letter-spacing: 0;
	padding: 0 2px 0 3px;
	line-height: 1;
}

@media screen and (max-width: 1030px) {
	#model_introduction .label span {	
		font-size: clamp(8px, 2vw, 10px)!important;
	}	
	#model_introduction .label span {		
		min-width: 30.5%;
	}
	#model_introduction .text_rental .ff_oswald {
		  font-size: clamp(14px, 2.2vw, 24px)!important;		
	}
	#model_introduction .text_rental .text-size-s {
		  font-size: clamp(10px, 1vw, 14px)!important;		
	}
	#model_introduction .model_name {
		font-size: clamp(14px, 2.3vw, 24px)!important;
	}	
}
@media screen and (max-width: 945px) {
	#model_introduction .label span {		
		min-width: 47.5%;
	}
	#model_introduction .row .btn-inline-wrapper {
		width: 100%;
	}
	#model_introduction .row .btn-simulation {
		min-width: 140px;
		max-width: 202px;
		width: 100%;
	}
	#model_introduction .text_rental .ff_oswald {
		  font-size: clamp(14px, 2.2vw, 24px)!important;		
	}
	#model_introduction .text_rental .text-size-s {
		  font-size: clamp(10px, 1vw, 14px)!important;		
	}
}
@media screen and (max-width: 768px) {
	#model_introduction .text_rental .ff_oswald {
		  font-size: clamp(15px, 7vw, 24px)!important;		
	}
	#model_introduction .text_rental .text-size-s {
		  font-size: clamp(12px, 3.5vw, 14px)!important;		
	}
	#model_introduction .text-size-ss {
		font-size: 8px!important;
		letter-spacing: 0.04rem;
	}	
	#model_introduction .label span {
		font-size: 10px !important;
	}
	#model_introduction .text-size-l {
		font-size: 18px !important;
        letter-spacing: 0;
	}
	#model_introduction .label span {
		min-width: 47.5%;
		padding: 1px 6px 2px;
		margin: 1px;
	}
	#model_introduction .btn-inline-wrapper {
    	margin-top: 15px;
	}
}
#model_introduction .label span.none {
    color: #fff;
    border: 1px solid #fff;
    background-color: #fff;
}

/** --------------------  ボタンエリア  -------------------- **/
@media screen and (min-width: 769px) {
	.cvArea_wrapper {
		max-width: 980px;
	}
	.cta_area .btn-inline-wrapper {
		width: 100%;
	}
	.cta_area .btn-inline-wrapper > div {
		margin: 0;
		width: 100%;
	}
	.cta_area .btn-inline-wrapper > div:first-child {
		margin-right: 30px;
	}
	.cta_area .btn-inline-wrapper > div:last-child {
		margin-left: 30px
	}
	.cta_area .btn-inline-wrapper > div a {
		width: 100%;
	}
}

/** --------------------  KV  -------------------- **/
.kv_img .btn_ols_pc {
	width: 980px;
	margin: 0 auto;
}
.kv_img .btn_ols_pc img {
	text-align: left;
	position: absolute;
	bottom: 8%;
}
@media screen and (max-width: 1086px) {
	.kv_img .btn_ols_pc {
		margin-left: 4%;
	}
	.kv_img .btn_ols_pc img {
		width: 33.5%;		
	}	
}
@media screen and (max-width: 768px) {
	.kv_img .btn_ols_sp {
		position: absolute;
		width: 65%;
		bottom: 3%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.header-logo-lp {
		margin: 0;
	}
}
.kv_img a:hover {
	opacity: 10;
}
.kv_img a:hover img {
	padding-bottom: 5px;
}
.kv_img a img {
	transition: 0.3s;
}

/** --------------------  オプション  -------------------- **/
#option .btn-simulation:before {
	position: relative;
    content: '';
    -webkit-background-size: 19px 19px;
    background-size: 19px 19px;
    width: 19px;
    height: 19px;
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    background: url(/common_b/images/common/icon/icon_cart_white.svg) no-repeat left top;
    top: 0;
}

/** --------------------  FAQ  -------------------- **/
#faq .list-faq-item {
    display: block;
    padding: 15px 0 15px 0;
    position: relative;
    overflow: visible;
}
.list-faq-question,
.list-faq-answer {
    white-space: normal;
    overflow: visible;
}
#faq .list-faq-item a {
    display: inline;
    padding: 0;
    position: relative;
    overflow: visible;
    font-size: 15px;
}
#faq .list-faq-item a:after {
	content: none;
}
@media (max-width: 768px) {
    #faq .list-faq-item {
        padding: 13px 0 13px 0;
    }
	#faq .list-faq-item a {
		font-size: 14px;
		line-height: 2.5;
	}
}

/** --------------------  クロージング  -------------------- **/
.section#closing {
	padding: 0;
}
.bg_img_l {
	background-image: url(../../images/bg_l.jpg);
	background-repeat: no-repeat;
    background-position: center;
	background-size: auto 100%;	
	max-height: 500px; 
	height: 500px;
}
@media (max-width: 980px) {
	.bg_img_l {
		height: 50vw;
	}
}
@media (max-width: 850px) {
	.bg_img_l {
		max-height: 370px; 
		height: 370px;		
	}
}
@media (max-width: 768px) {
	.bg_img_l {
		background-image: url("../../images/bg_l_sp.jpg");
		max-height: 100vw; 
		height: 100vw;
	}
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/** --------------------  アニメーション  -------------------- **/
.animate .animate:nth-of-type(2) {
	-webkit-transition-delay: .3s;
	transition-delay: .3s;
}
.animate .animate:nth-of-type(3) {
	-webkit-transition-delay: .5s;
	transition-delay: .5s;
}
.animate .animate:nth-of-type(4) {
	-webkit-transition-delay: .7s;
	transition-delay: .7s;
}
.animate .animate:nth-of-type(5) {
	-webkit-transition-delay: .9s;
	transition-delay: .9s;
}
.animate .animate:nth-of-type(6) {
	-webkit-transition-delay: 1.1s;
	transition-delay: 1.1s;
}
.animate .animate:nth-of-type(7) {
	-webkit-transition-delay: 1.3s;
	transition-delay: 1.3s;
}
.animate .animate:nth-of-type(8) {
	-webkit-transition-delay: 1.5s;
	transition-delay: 1.5s;
}

/** --------------------  追従ボタン 右下  -------------------- **/
#btn_dl {
	display: block;
}
.btn_dl {
    -webkit-transform: translateX(300px);
    transform: translateX(300px);
    -webkit-transition: .7s;
    transition: .7s;
}
.btn_dl {
  position: fixed;
  right: 15px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(300px);
  transition: transform 0.7s ease, opacity 0.7s ease;
  z-index: 10;
	bottom: 250px;
}
.btn_dl a {
    display: block;
    background: url(../../images/btn_dl.png) no-repeat left top;
    background-size: 100%;
    width: 90px;
    height: 90px;
    text-indent: -99em;
    overflow: hidden;
    transition: all 0.25s ease;
}
.btn_dl.is-active {
  opacity: 1;
  pointer-events: auto;
    -webkit-transform: translateX(0);
  transform: translateX(0);
}
@media screen and (max-width: 768px) {
	.btn_dl a {
		width: 45px;
        height: 45px;
    }
	.btn_dl {
		right: 7px;
		bottom: 70px;
	}
}

/** --------------------  追従ボタン 右下 オンライン見積  -------------------- **/
.btn_dl a {
	background: url(/common_b/images/common/toolbtn_news_pc.svg) no-repeat left top;
}
@media screen and (max-width: 768px) {
	.btn_dl a {
		background: url(/common_b/images/common/toolbtn_news_sp.svg) no-repeat left top;
	}
}
/**  追従ボタンあり位置調整  **/
.gotop {
    bottom: 140px;
}
@media screen and (max-width: 768px) {
    .gotop {
        bottom: 75px !important;
    }
	.btn_dl a {
        width: 55px;
        height: 55px;
    }
	.btn_dl {
		right: 0;
        bottom: 130px;
    }
}

/** --------------------  追従ボタン  -------------------- **/
.l-footer-hasfixcv {
    padding-bottom: 120px;
}
@media (max-width: 768px) {
	.l-footer-hasfixcv {
		padding-bottom: 75px;
	}
}
@media screen and (min-width: 768px) {
    .cvArea {
        padding: 20px 0;
    }
	.cvArea_button {
		border: 3px solid #fc0f3a;
	}
	.cvArea .cvArea_button {
			padding: 19px 8px;
	}
	.cvArea .cvArea_button p {
		font-size: 20px;
		letter-spacing: 0.1rem;
        line-height: 1;
	}
	.cvArea_button.is-border p {
		letter-spacing: 0;
	}
	.cvArea_button span {
		letter-spacing: 0.1rem!important;
	}
}
@media screen and (max-width: 890px) {
	.cvArea_button.is-border p {
		letter-spacing: -0.1rem!important;
	}
	.cvArea_button p {
		font-size: 18px!important;		
	}
	.cvArea .cvArea_button.is-border {
        padding-left: 0!important;
        padding-right: 20px!important;
	}
}
@media screen and (max-width: 768px) {
	.cvArea .cvArea_button p {
		font-size: 12px !important;
	}
	.cvArea_button span {
		font-size: 9px !important;
	}
	.cvArea_button {
		border: 2px solid #fc0f3a;
	}
	.cvArea_button.is-border p {
        font-size: 12px !important;
        letter-spacing: -0.1rem;
    }
	.cvArea .cvArea_button.is-border {
        padding: 7px 3px !important;
	}
	.cvArea_button.is-border:before {
    	border-top: 2px solid #fc0f3a;
    	border-right: 2px solid #fc0f3a;
	}
}
@media screen and (max-width: 350px) {
	.cvArea .cvArea_button p {
		font-size: 10px !important;
	}
	.cvArea_button.is-border {
		border: 2px solid #fc0f3a;
	}
	.cvArea_button span {
		letter-spacing: -0.1rem!important;
	}
}

/** --------------------  #appeal  -------------------- **/
#appeal ul li {
	color: #0fa9da;
	font-weight: bold;
}
#appeal .list > li:before {
    content: "・";
}
#appeal .list > li {
    padding-left: 1.5rem;
    text-indent: -1.5rem;
}
#appeal .bg_green {
	line-height: 1.2;
	padding-top: 10px;
	padding-bottom: 10px;
}

/** --------------------  #app_free  -------------------- **/
@media screen and (min-width: 769px) {
#app_free .balloon1 {
  position: relative;
  display: inline-block;
  margin-right: 20px;
  padding: 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  background: #f2d73b;
  border-radius: 100px;
  aspect-ratio: 1 / 1;
}
#app_free .balloon1:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 98%;
  margin-top: -10px;
  border: 10px solid transparent;
  border-left: 15px solid #f2d73b;
}
#app_free .balloon1 p {
  margin: 0;
  padding: 0;    
  position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	white-space: nowrap;
	display: inline-block;
  font-size: 18px;
	line-height: 1.5;
  font-weight: normal;
}
#app_free  h2:first-child.ttl-article {
	margin-top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
}
}

@media screen and (max-width: 768px) {
	#app_free  h2:first-child.ttl-article {
		margin-top: 0;
		display: flex;
		align-items: center;
		flex-direction: column;
	}
	.balloon1 {
	  position: relative;
	  display: inline-block;
	  margin-bottom: 0.5em;
	  min-width: 90px;
	  max-width: 100%;
	  color: #555;
	  background: #f2d73b;
	  border-radius: 100px;
	  aspect-ratio: 1 / 1;
	}
	.balloon1:before {
	  content: "";
	  position: absolute;
	  top: 98%;
	  left: 50%;
	  margin-left: -10px;
	  border: 10px solid transparent;
	  border-top: 10px solid #f2d73b;
	}
	.balloon1 p {
	  margin: 0;
	  padding: 0;
	  position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		white-space: nowrap;
		display: inline-block;
		font-size: 16px;
		line-height: 1.3;
		font-weight: normal;
		padding-top: 5px;
	}
}