@charset "utf-8";
/* CSS Document */

/******************************************************************************/
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap");

.c_block {  margin: 60px 0;  }
@media (max-width: 768px) {  .c_block {  margin: 30px 0;  }  }

.mb-40 {  margin-bottom: 40px;  }
.mb-45 {  margin-bottom: 45px;  }
.mb-50 {  margin-bottom: 50px;  }
.mb-55 {  margin-bottom: 55px;  }
.mb-60 {  margin-bottom: 60px;  }
.mb-80 {  margin-bottom: 80px;  }
.pt-45 {  padding-top: 45px;  }
.pl-45 {  padding-left: 45px;  }
.pr-45 {  padding-right: 45px;  }

.text_red {  color: #ff0033;  }
.text_yellow {  color: #ffa900;  }
.text_green {  color: #148ba1;  }
.border_bold {  border: 5px solid;  }

.margin_auto0 {  margin: auto 0;  }
.margin_0auto {  margin: 0 auto;  }

.d_table {  display: table;  }

.ff_num {
	font-family: "Oswald", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 700;
}
.text-huge2 {
    font-size: 35px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}
@media (max-width: 768px) {
.text-huge2 {
        font-size: 26px !important;
    }
}

.l-section {
	margin: 65px 0;
    padding: 15px 0;
    overflow: hidden;
}
@media (max-width: 768px) {
    .l-section {
        margin: 30px 0;
        padding: 10px 0;
    }
}

.text-size-nm, .text-size-nm a {  font-size: 18px !important;  }
@media (max-width: 768px) {
    .text-size-nm, .text-size-nm a {  font-size: 15px !important;  }
}
@media (max-width: 768px) {
    .col-md-none {  display: none!important;  }
}
/******************************************************************************/
/*  KV  */
.mv_wrap_l {
	background: #fff;
	width:100%;
}
.mv_wrap{
  position: relative;
  max-width: 980px;
  margin: 0 auto;
	/*border: 9px solid #ddd;*/
}
.mv_txt{
  position: absolute;
  width: 62%;
  transform: translateY(-50%);
    top: 50%;
    left: 5%;	
}
.mv_wrap a img {  transition: 0.15s ;  }
.mv_wrap a:hover img {  opacity: 0.7;  }
.btn2_row {
	display: inline-flex!important;
}

@media (max-width: 768px) {
	.mv_txt {
		position: absolute;
		width: 65%;
		transform: translateY(-50%);
		top: 37%;
		left: 5%;
	}
	.mv_btn {
		width: 100%;
		padding: 0 15px;
		position: absolute;
		bottom: 10%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}
	.wid-sp {
		display: inline-block;
		width: 100%;
	}
}

/******************************************************************************/
/*  ナビゲーション  */
.btn_anc_list .btn,
.btn_anc_list .btn:hover {
	min-width: 70px;
	width: calc((100% - 75px) / 6);
}
.btn-inline-wrapper.btn_anc_list .btn {
    margin-right: 10px;
}
.btn-inline-wrapper.btn_anc_list .btn:last-child {
    margin-right: 0;
}
@media (max-width: 768px) {
	.btn_anc_list .btn,
	.btn_anc_list .btn:hover {
		width: calc((100% - 20px) / 3);
	}
	.btn-inline-wrapper.btn_anc_list .btn:nth-child(3n+1) {  margin-right: 10px;  }
	.btn-inline-wrapper.btn_anc_list .btn:nth-child(3n) {  margin-right: 0;  }
	.btn_anc_list .btn:nth-child(2) {  margin-right: 10px!important;  }
	.text_height {  
		top: auto;  
		display: block;
	}
	.btn_anc_list .btn .text_height {  
		line-height: 1.4;
	}
}

/******************************************************************************/

h2.ttl-article {
	display: none;
}
h2 {
	font-size: 32px;	
	font-weight: bold;
	line-height: 1.2;
	padding-bottom: 35px;
	text-align: center;
}
h2 span {
	font-size: 21px;
}
@media (max-width: 768px) {
	h2 {
		font-size: 24px;
		padding-bottom: 20px;
	}
}

/******************************************************************************/
/*  ワンポイントアドバイス  */
.onepoint_advice {
	border: 6px solid #FC0F3A;
	padding: 30px 20px 15px 20px;
	margin-bottom: 30px;
}
.onepoint_advice .li_text {
	margin: auto 0;
}
.onepoint_advice .list > li {
	font-weight: bold;
}
.onepoint_advice .list > li:before {
	content: "";
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-size: contain;
    width: 0.3em;
    height: 0.3em;
    position: relative;
    top: -2px;
    margin-right: 0.6em;
	background-color: #000;
	border-radius: 50%;
}
.onepoint_advice img {
	width: 90%;
}	

@media (max-width: 768px) {
	.onepoint_advice img {
		width: 30%;
		max-width: 160px;
	}	
}

/******************************************************************************/
/*  （１）データ通信量に応じて選べる  */
.position_r {  
	position: relative;
	height: 290px;
}
.position_a {
	position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.container {
	margin: 15px 15px 30px 15px;
	display: flex;
	gap: 20px;
}
.container p {
	text-align: center;
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	color: #fff;
	line-height: 1.2;
	z-index: 1;
}
.cylinder-1,
.cylinder-2,
.cylinder-3,
.cylinder-1::before,
.cylinder-2::before,
.cylinder-3::before,
.cylinder-1::after,
.cylinder-2::after,
.cylinder-3::after,
.container p {
	width: 150px;
}
.cylinder-1::before,
.cylinder-2::before,
.cylinder-3::before,
.cylinder-1::after,
.cylinder-2::after,
.cylinder-3::after {
	content: "";
	height: 30px;
	position: absolute;
	border-radius: 50%;
}
.cylinder-1,
.cylinder-2,
.cylinder-3 {
	height: 80px;
	position: relative;
	margin-top: auto;
}
.cylinder-2 {
	height: 160px;
}
.cylinder-3 {
	height: 240px;
}
.cylinder-1::before,
.cylinder-2::before,
.cylinder-3::before {
	top: -16px; /* heightの半分 */
	left: -2px;
}
.cylinder-1::after,
.cylinder-2::after,
.cylinder-3::after {
	z-index: 0;
	left: -2px;
}
.cylinder-1::after {
	top: 63px; /* 本体のheight - heightの半分 */
}
.cylinder-2::after {
	top: 143px; /* 本体のheight - heightの半分 */
}
.cylinder-3::after {
	top: 223px; /* 本体のheight - heightの半分 */
}
.cylinder-1,
.cylinder-1::after {  
	background: #ff0033;  
	border: 2px solid #cf001c;
}
.cylinder-1::before {  
	background: #ff85a2;  
	border: 2px solid #cf001c;
}
.cylinder-2,
.cylinder-2::after {  
	background: #ffa900; 
	border: 2px solid #ce7800;
}
.cylinder-2::before {  
	background: #ffc885;  
	border: 2px solid #ce7800;
}
.cylinder-3,
.cylinder-3::after {  
	background: #148ba1; 
	border: 2px solid #005670; 
}
.cylinder-3::before {  
	background: #40e0d0; 
	border: 2px solid #005670; 
}
.cylinder-1,
.cylinder-2,
.cylinder-3 {  
	border-bottom: none;
}
.cylinder-1::after,
.cylinder-2::after,
.cylinder-3::after {  
	border-top: none;
	z-index: -1;
}
.container p {
    position: absolute;
    top: 45%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.container .cylinder-2 p {
	top: 55%;
}
.container .cylinder-3 p {
	top: 60%;
}
@media (max-width: 768px) {
	.container {
		gap: 15px;
	}
	.cylinder-1,.cylinder-2,.cylinder-3,
	.cylinder-1::before,.cylinder-2::before,.cylinder-3::before,
	.cylinder-1::after,.cylinder-2::after,.cylinder-3::after,
	.container p {
		width: 100px;
	}	
	.container p {
		top: 50%;
		line-height: 0.6!important;
		padding-right: 3px;
	}
	.container .cylinder-2 p {
		top: 60%;
		line-height: 0.6!important;
	}
	.container .cylinder-3 p {
		line-height: 0.6!important;
	}
}

@media (max-width: 330px) {
	.cylinder-1, .cylinder-2, .cylinder-3, .cylinder-1::before, .cylinder-2::before, .cylinder-3::before, .cylinder-1::after, .cylinder-2::after, .cylinder-3::after, .container p {
        width: 90px;
    }
	.container p {  font-size: 13px !important;  }
	.container p {
		top: 55%;
	}
}

.table_w .table {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}	
.table_w th, .table_w td {
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;					
}
.table_w .bg_red,
.table_w .bg_yellow,
.table_w .bg_green {    
	color: #fff;
	font-weight: bold;
}
.table_w .bg_red {  background-color: #ff0033;  }
.table_w .bg_yellow {  background-color: #ffa900;  }
.table_w .bg_green {  background-color: #148ba1;  }
.table_w .text_red,
.table_w .text_yellow,
.table_w .text_green {  
	font-weight: bold;
	vertical-align: top;
	text-align:justify;
}
.table_w .text_red {  
	background-color: #ffedf1;
	color: #ff0033;
}
.table_w .text_yellow {  
	background-color: #fff7ed;
	color: #ffa900;
}
.table_w .text_green {  
	background-color: #e3faf8;
	color: #148ba1;
}

.table_w {  width: 510px;  }
@media (max-width: 768px) {  .table_w {  width: 330px;  }  }
@media (max-width: 360px) {  .table_w {  width: auto;  }  }


/******************************************************************************/
.bg_pink {
	margin: 15px 0;
	padding: 45px 0;
	background: #FEDCE1;
}
@media (max-width: 768px) {
	.bg_pink p {
		text-align: left;
	}
}

/******************************************************************************/
/*  （２）2回線以上ご利用で毎月870円×回線分を割引  */
.plan_discount .price {
    font-size: 45px !important;
    font-weight: bold !important;
    line-height: 1 !important;
}
.plan_discount span.arrow_border span,
.plan_discount span.arrow_triangle span {
    display: inline-block;
    width: 20px;
	text-align: center;
    margin-right: 20px;
}
.plan_discount span.text_ttl,
.plan_discount span.arrow_border,
.plan_discount span.arrow_triangle {
	display: block;
	vertical-align: middle;
	height: 60px;
}
.arrow {
	position: relative;
	display: inline-block;
	/*padding: 0 0 0 16px;*/
	padding: 0;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.arrow_border::after{
        width: 210px;
    height: 6px;
    background: #ff0033;
    margin-left: 106%;
	bottom: 15px;
}
.arrow_triangle::after{
	left: -20px;
	box-sizing: border-box;
	width: 15px;
	height: 10px;
	border: 10px solid transparent;
	border-left: 15px solid #ff0033;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	bottom: 15px;
}
.plan_discount .arrow_triangle::before {
	width: 175px;
    height: 6px;
    background: #ff0033;
    margin-left: -100%;
    bottom: 15px;
}
.plan_discount_auto {
	background-color: #fff;
	z-index: 1;
	position: relative;
	padding: 50px;
}
.plan_discount_auto .fs_s {
	font-size: 13px;
	color: #000;
	font-weight: bold;
}
@media (max-width: 980px) {
	.d_980_none {
		display: none;
	}
	.col-4_980 {
		flex: 0 0 33.3333333333%;
		max-width: 33.3333333333%;
	}
	.plan_discount_auto {
		padding: 45px 20px;
	}
	.plan_discount .arrow_triangle::before {  margin-left: -190px;  }
}
@media (max-width: 768px) {
	.col-4_980 {
		flex: 0 0 27%;
        max-width: 27%;
    }
	.plan_discount span.text_ttl {
		margin-bottom: 10px;
	}
	.plan_discount span.text_ttl,
	.plan_discount span.arrow_border,
	.plan_discount span.arrow_triangle {
		height: auto;
	}
	.plan_discount span.arrow_border span,
	.plan_discount span.arrow_triangle span {
		margin-right: 5px;
	}
	.plan_discount span.arrow_border span.yen,
	.plan_discount span.arrow_triangle span.yen {
		font-size: 12px;
		margin-right: 0;
		margin-left: 2px;
		width: auto;
	}
	.arrow_border::after {
		width: 140px;
	}
	.arrow_border::after,
	.arrow_triangle::after,
	.plan_discount .arrow_triangle::before {
		bottom: 2px;
	}
	.plan_discount .arrow_triangle::before {
        margin-left: -130px;
		width: 120px;
    }
	.arrow_triangle::after {
    left: -10px;
    border: 6px solid transparent;
    border-left: 10px solid #ff0033;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
	}
	.plan_discount span.text_ttl {
		white-space: nowrap;
	}
	.plan_discount_auto {
        padding: 15px 0px;
		margin-top: 5px;
    }
	.plan_discount .price {
		font-size: 30px !important;
	}
	.plan_discount_auto span.yen {
		font-size: 14px !important;
    }
	.text_md_indent {
		text-indent: -0.8em;
	}
	.plan_discount_auto .fs_s {
		font-size: 10px;
	}
}
@media (max-width: 366px) {
	.text-huge {
        font-size: 17px !important;
	}
	.plan_discount span.arrow_border span, .plan_discount span.arrow_triangle span {
		width: 14px;
	}
	.text_md_indent {
        text-indent: -1.8em;
    }
	.plan_discount .price {
        font-size: 26px !important;
    }
    .plan_discount_auto span.yen {
        font-size: 13px !important;
    }
	.plan_discount_auto .fs_s {
		font-size: 8px;
	}
}
@media (max-width: 345px) {
	.arrow_border::after {
        width: 100px!important;
	}
}

/*  （３）余ったデータ容量は翌月に繰り越せる  */
.border_white {
	position: relative;
	margin: 0 30px 0 100px;
}
.border_white::after {    content: ""; /* 疑似要素にコンテンツを追加 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box; /* 枠線のサイズが要素のサイズに含まれるようにする */
	border: 2px solid #fff;  
}

@media (max-width: 768px) {
	.border_white {
		margin: 0;
	}
}

/*  （４）通話時間に応じた定額オプション  */
@media (max-width: 768px) {
	.list-link-ib > li {
		border-right: none;
		padding-right: 10px;
		padding-left: 10px;
		margin-right: 0;
	}
}
/*
.call_option .text_decoration span {
	position: relative;
		padding-right: 15px;
		padding-left: 9px;
}
.call_option .text_decoration span::after {
  content: '';
  background-size: 10px 10px;
  background-color: #e1eef5;
  background-image: repeating-linear-gradient(-45deg, #4d9bc1 0, #4d9bc1 3px, #fff 0, #fff 50%);
  width: 100%;
  height: 7px;
  position: absolute;
  bottom: -5px;
  left: 0;
}
*/
.call_option .text_decoration {
	font-size: 30px;
	font-weight: bold;
	line-height: 1.8;
  color: #454545;
	/*
  color: #454545;
  text-shadow: 2px 2px #81bedb;
	*/
}
.call_option .text_decoration {
	margin: auto 0;
}
.call_option .text_decoration span {
    background-position: left -100% center;
    padding-bottom: 0.6em;
    font-weight: bold;
    background-size: 200% 0.6em;
    background-repeat: repeat-x;
    background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgb(246, 246, 75) 50%);
    transition: background-position 2s ease 0.1s;
}
.call_option .text_decoration.text-right div:last-child {  margin-right: 60px;  }
.call_option .text_decoration.text-left div:last-child {  margin-left: 90px; }

@media (max-width: 768px) {
	.call_option .text_decoration span {  padding: 0;  }
	.call_option .text_decoration {  font-size: 16px;  }
	.call_option .text_decoration.text-right div:last-child {  margin-right: 35px;  }
	.call_option .text_decoration.text-left div:last-child {  margin-left: 45px; }
}
@media (max-width: 350px) {
	.call_option .text_decoration.text-right div:last-child {  margin-right: 15px;  }
	.call_option .text_decoration.text-left div:last-child {  margin-left: 0; text-align: right;  }
}

/******************************************************************************/
/*  全国どこでもつながりやすい
ワイモバイルの魅力は使い勝手の良さ  */
.area img {
	width: 60%;
	max-width: 280px;
}

/******************************************************************************/
/*  ご契約後も安心法人向けに特化したサポート体制  */

@media (max-width: 768px) {
	.table-th {
		width: 40%;
	}
}

/******************************************************************************/

.bg_blue {
	background-color: #235AAD;
	color: #fff;	
    border-radius: 8px 8px 0 0;
	padding: 15px 0;
}
.box_line {
	border: 0.68px solid #575757;
    border-radius: 0 0 8px 8px;
}
.line {
    border-top: 1px solid #000;
    margin: 25px;
}
@media (max-width: 768px) {
	.line {  margin: 15px 25px;  }
	.fs-md-18 {  font-size: 18px!important;  }
	.fs-md-26 {  font-size: 26px!important; line-height: 1.5!important;  }
}


/******************************************************************************/
/* 予算2万円以内におさまるコスパ抜群のスマートフォン anc5   */
.icon-5g {
    color: #fff;
    display: inline-block;
    background: #000;
    padding: 0px 12px;
    border-radius: 4px;
	margin-left: 15px;
    line-height: 1.6;
    top: -5px;
    position: relative;
}
.row .sp_img img {
	width: 80%;
}
@media only screen and (min-width: 769px) {
.sp_spec .box-product-biz-spec > li:first-child,
.sp_spec .box-product-biz-spec > li {
	width: calc(70% / 2);
	height: 100px;
}
.sp_spec .box-product-biz-spec > li img {
    width: 45px;
}
.box-product-biz-spec > li p {
    padding-top: 9px;
    font-size: 12px;
}
.sp_spec .box-product-biz-spec > li:before {
    height: 70px;
}
.sp_spec .box-product-biz-spec:first-child > li::after {
    display: block;
    content: "";
    width: 120px;
    height: 1px;
    position: absolute;
    bottom: 0px;
    background: #E8E8E8;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.sp_spec .width_70 {  width: 70%;  }
.sp_spec .box-product-biz-spec {  padding-top: 5px;  }
}
@media (max-width: 768px) {
	.sp_img {
		text-align: center;
	}
	.row .sp_img img {
		width: auto;
		max-width: 250px;
	}
	.box-product-biz-spec {
        display: contents;
    }
	.sp_spec.margin_auto0 {
		text-align: center;
		margin-top: 10px;
	}
	.sp_spec .box-product-biz-spec li:before {
        display: block;
        content: "";
        width: 1px;
        height: 55px;
        position: absolute;
        left: 0px;
        top: 10px;
        background: #E8E8E8;
	}
	.sp_spec .box-product-biz-spec:last-child li:last-child:after {
        display: block;
        content: "";
        width: 1px;
        height: 55px;
        position: absolute;
        right: 0px;
        top: 10px;
        background: #E8E8E8;
	}
	.sp_spec .box-product-biz-spec li {
		width: 25%!important;
	}
	.sp_spec .box-product-biz-spec > li {
		height: 80px;
	}
	.sp_spec .box-product-biz-spec > li img {
        width: auto;
        width: 30px;
    }
	.sp_spec .box-product-biz-spec > li p {
        padding-top: 3px;
        font-size: 2.8vw;
        font-size: 10px;
		    line-height: 1.6;
    }
}
/******************************************************************************/
/*  導入事例  */
.case .row .col-6:first-child  {
	text-align: center;
}
.box-title-red {
    font-size: 18px;
    font-weight: bold;
    padding: 15px 20px;
    line-height: 1.5;
    background: #FC0F3A;
    color: #fff;
}
.box-red {
    border-color: #FC0F3A;
}
.box-title-orn {
    background: #f18200;
    color: #fff;
}
.box-orn {
    border: 1px solid #f18200;
}
.case .box .list > li:before {
    content: "・";
}

/******************************************************************************/
/* アンカー位置を調整するためのスタイル */
:target::before {
    content: "";
    display: block;
    height: 80px; /* 固定ヘッダーの高さに合わせる */
    margin-top: -80px; /* 固定ヘッダーの高さに合わせる */
}

/******************************************************************************/
/*  202412 選べる通話オプション  */
.color_blue {  color: #235AAD;  }
.text-huge_45 {
    font-size: 45px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
}
.text-huge_45 .text-size-m_18, 
.text-huge_45 .text-size-m_18 a {
	font-size: 24px !important;
	font-weight: 900!important;
}
.line_h18 {
    line-height: 1.8 !important;
}
.line_2 {
    border-top: 1px solid #ddd;
    margin: 10px 25px 15px 25px;
}