@charset "UTF-8";


/* =====================
	common setting
===================== */

html {
	font-size: 10px;
	/* 1rem=10px */
}
body {
	font-size: 1.6rem;
}
*{
	box-sizing: border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
}
a:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
	width: initial;
}
/* ===================== ===================== */

.body{
	padding: 0;
}
.body.appOn{
	padding: 0;
}

.pagetop{
	right: 10px;
	bottom: 30px;
}

/* -------------------------------------
	bxslider
---------------------------------------- */
.bx-wrapper{
	position: relative;
}
.bx-controls-direction{
	font-family: "FontAwesome";
}
.bx-prev,
.bx-next{
	font-size: 5rem;
	color: #015db1;
	text-decoration: none;
	position: absolute;
	top:30%;
}
.bx-prev{
	left: 8px;
}
.bx-next{
	right: 8px;
}
.bx-viewport{
/* スライダーの親 */
	margin-bottom: 10px;
/* 左右にバナーをだすために追加↓ */
	width: 90%!important;
	margin: 0 auto;
	overflow:visible!important;
}
.bx-pager {
/* ページャーの親 */
	text-align: center;
	letter-spacing: -.5em;
	margin-top: 10px;
}
.bx-pager-item{
/* ページャーの各アイテム */
	display: inline-block;
	margin: 0 1.4%;
}
.bx-pager-link{
/* ページャーリンク部分（●になるところ） */
	text-indent: -9999px;
	display: block;
	width: 6px;
	height: 6px;
	text-decoration: none;
	background: #999;
	border-radius: 50%;
}
.bx-pager-link.active{
	background: #035db2;
}

/* -------------------------------------
	既存ページの打ち消し contact,login
---------------------------------------- */

.login #slide,
.contact #slide{
	margin-top: 0;
}

.other_mail:after{
	display: inline-block;
}

.login .base_btn{
	font-size: 1.3rem;
}

.form_table tr th{
	font-weight: bold;
}

.base_btn:after{
	font-size: 1.4rem;
}
.other_mail:after{
	font-size: 1.4rem;
}

/* モーダルの調整 +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.ecpansion img{
	max-width: initial;
	width: 300%;
}
img{
	max-width: 100%;
}
.modalBox{
	z-index: 20000;
}
.close.spClose{
	z-index: 20002;
}
.hidden_area{
	display:none;
}

/*　adminconsole　*/
.adminconsole .popup_close_box{
	display: none;
}

/*　casestudies　*/
.casestudies .modalBoxContents a{
	color: #1390d0;
	text-decoration: none;
	background:url(../../images/solution/pages/introduction_icon01.png) no-repeat 0 5px;
	padding-left:13px;
	margin-top:6px;
	margin-left:3px;
}
.casestudies .modalBoxContents a:after{
	content: url(../../images/solution/pages/introduction_icon02.png);
	display: inline-block;
	padding-left: 3px;
}
/* font +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

p{
	font-size: 1.4rem;
}

em{
	font-style: normal;
	font-weight: normal;
}

.solution_benefit em{
	color: #e70000;
}

a.underline_link{
	text-decoration: underline;
}

.red{
	color: #e70000;
}
.blue {
	color: #0084ff;
}
.note_text {
	font-size: 1.1rem;
	line-height: 1.2;
}
/* レイアウト +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.container{
	overflow: hidden;
}
.wrapper.open {
	cursor:pointer;　/*　iosで、メニュー外を押しても、メニューを閉じれるようにするため。　*/
}

.wrapper.open:after{
	display: block;
	content: "";
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(26,47,93,0.7);
	top: 60px;
}

.content_inner{
	overflow: hidden;
	padding: 0 3.125%;
}

.content_area{
	padding-top: 16px;
	padding-bottom: 16px;
}
.content_area.area_a{
	padding-top: 0;
}
.area_bg{
	background-color: #f2f2f2;
}
.area_bg02{
	background-color: rgba(51,173,189,0.2);
	background-image: url(../../images/solution/pages/bg.png);
	background-size: cover;
}

.content_block{
	padding: 0 3.125%;
}

.content_bg_wrap:nth-of-type(even){
	background-color: #f2f2f2;
}
.content_bg_wrap.bg_blue {
	background-color: #eff8ff;
}

.item {
	margin-top: 0;
}

/* header +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.solution_header:after{
	content: "";
	display: block;
	clear: both;
}
.solution_header{
	background-color: rgb(11,48,142);
	/* 背景をロゴカラーに変更 */
	height: 60px;
	position: fixed;
	width: 100%;
	z-index: 9000;
}
.solution_header .header_inner{
	max-width: 640px;
	width: 100%;
	margin: 0 auto;
	padding: 4px 1% 4px 1%;
}
.solution_header .header_inner:after{
	content: "";
	display: block;
	clear: both;
}

.solution_header .header_left{
	display: inline-block;
	width: 50%;
	height: 52px;
	margin-right: 4%;
	padding-left: 10px;
}
.solution_header .header_left a {
	display: block;
	position: relative;
	height: 100%;
}
.solution_header .header_left a .logo {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
}
.solution_header .header_center a:hover{
	color: #fff;
}
.solution_header .header_center{
	display: inline-block;
	width: 31%;
}

.solution_header .header_right{
	float: right;
	width: 40px;
	height: 52px;
	background-image:  url(../../images/solution/pages/sp/menu_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center right;
	cursor: pointer;
}
.solution_header .header_right.menu_open{
	background-image:  url(../../images/solution/pages/sp/menu_02.png);
}
.solution_header .header_right img{
	height: 52px;
	padding-top: 4px;
	padding-bottom: 4px;
}

.solution_base_btn.header{
	min-width: auto;
	width: 100%;
	font-size: 1rem;
	padding: 5px 5px 5px 0;
}
.solution_base_btn.header:after{
	line-height: 1;
	top: calc(50% - 0.5rem);
	right: 5px;
}

/* ナビゲーション +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.nav_wrap{
	position: absolute;
	height: calc(100vh - 60px);
	overflow-y: auto;
	top: 60px;
	right: 0;
	width: 100%;
	transition: all 0.3s;
	transform: rotateY(90deg);	/* たてにして隠す */
}
.nav_wrap.open{
	transform: rotateY(0deg);	/* 出現 */
}

.nav_list > li {
	text-align: center;
}
.nav_list > li > a {
	display: block;
	position: relative;
	padding: 15px 50px;
	background: #025db2;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}
.nav_list > .entry > a {
	background: #ff9603;
}
.nav_list > .login > a {
	background: #e50000;
}
.nav_list > .form > a {
	background: #e5e5e5;
	color: #025db2;
}
.nav_list > li > a:after {
	display: block;
	content:"\f138";
	position: absolute;
	top: 50%;
	right: 28px;
	font-family: FontAwesome;
	font-size: 1.8rem;
	line-height: 1;
	transform: translate(0, -50%);
}

.nav_sub_list {
	padding: 5px;
	background: #065db2;
	font-size: 0;
}
.nav_sub_list > li {
	display: inline-block;
	width: calc((100% - 5px) / 2 );
	border: 1px solid #fff;
	vertical-align: top;
}
.nav_sub_list > li:nth-of-type(odd) {
	margin-right: 5px;
}
.nav_sub_list > li:nth-of-type(n+3) {
	margin-top: 5px;
}
.nav_sub_list > li > .inner_block {
	display: table;
	width: 100%;
	height: 50px;
}
.nav_sub_list > li a {
	display: table-cell;
	position: relative;
	padding: 0 25px;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1.3;
	vertical-align: middle;
}
.nav_sub_list > li a:after {
	display: block;
	content:"\f138";
	position: absolute;
	top: 50%;
	right: 8px;
	font-family: FontAwesome;
	font-size: 1.8rem;
	line-height: 1;
	transform: translate(0, -50%);
}

.nav_bottom_list > li.tel {
	padding: 15px;
	background: #edeff1;
	color: #000;
}
.nav_bottom_list > li.tel .tel_block {
	display: table;
}
.nav_bottom_list > li.tel .tel_block .text,
.nav_bottom_list > li.tel .tel_block .img {
	display: table-cell;
	line-height: 1;
	vertical-align: middle;
}
.nav_bottom_list > li.tel .tel_block .text {
	word-break: keep-all;
	padding-right: 5px;
	font-weight: 700;
}
.nav_bottom_list > li.tel .sub_text {
	margin-top: 10px;
	font-size: 1.2rem;
	line-height: 1.2;
}
.nav_bottom_list > li.personal_use {
	padding: 15px;
	background: #c2dbf3;
}
.nav_bottom_list > li.personal_use > a {
	display: block;
	position: relative;
	text-align: center;
}
.nav_bottom_list > li.personal_use > a:after {
	display: block;
	content:"\f138";
	position: absolute;
	top: 50%;
	right: 8px;
	font-family: FontAwesome;
	font-size: 1.8rem;
	line-height: 1;
	transform: translate(0, -50%);
}
.nav_bottom_list > li.personal_use .img {
	width: 58%;
}
.nav_bottom_list > li.personal_use .text {
	margin: 6px 0 0 0;
	color: #1a2f5d;
	font-weight: 700;
	text-align: center;
	line-height: 1;
}


.sub_menu:after{
	content: "";
	display: block;
	clear: both;
}
.sub_menu{
	width: 100%;
	display: table;
	background-color: #edeff1;
	margin-bottom: 2px;
}
.sub_menu .item{
	position: relative;
	display: table-cell;
	vertical-align: middle;
	color: #025db2;
	width: 25%;
	font-size: 1.2rem;
}
.sub_menu .item:before{
	content: "";
	display: block;
	width: 2px;
	height: 80%;
	position: absolute;
	top: 10%;
	right: left;
	background-color: #fff;
}
.sub_menu .item:first-child:before{
	display: none;
}
.sub_menu .item a{
	text-align: center;
	display: block;
	padding: 10px 0;
	font-size: 1rem;
	line-height: 1.2;
}

.btn_list {
	margin-bottom: 20px;
	font-size: 0;
}
.btn_list > li {
	display: inline-block;
	width: 50%;
}
.btn_list > li a {
	display: block;
	position: relative;
	padding: 12px 0;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}
.btn_list > .entry a {
	background: #ff9603;
}
.btn_list > .login a {
	background: #ff2e1d;
}
.btn_list > li a:after {
	display: block;
	content: "\f138";
	position: absolute;
	top: 50%;
	right: 10px;
	font-family: FontAwesome;
	transform: translate(0, -50%);
}

/* 画像レイアウト +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.img_center{
	text-align: center;
}
img.border{
	border: solid 2px #dcecfb;
}


/* メインビジュアル +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.visual_area{
	position: relative;
	padding-top: 60px;	/* 固定されるヘッダーの高さ */
}
.visual_area .solution_btn_area{
	position: absolute;
	bottom: 10px;
	left: 0;
	text-align: left;
	display: inline-block;
	width: 100%;
	text-align: center;
}
.visual_area .solution_btn_area .solution_base_btn{
	margin-bottom: 12px;
}

.solution_base_btn.mv_btn{
	text-align: center;
}
.solution_base_btn.mv_btn:after{
	font-size: 2.2rem;
	line-height: 1;
	top: calc(50% - 1.1rem)
}

/* parts +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/* solution_title */
.solution_title{
	background-image: url(../../images/solution/pages/icon.png);
	background-position: left top;
	background-repeat: no-repeat;
	font-size: 1.6rem;
	position: relative;
	color: #055db1;
	font-weight: 700;
	margin-bottom: 20px;
	padding-bottom: 2px;
	padding-left: 30px;
}
.solution_title .en_ttl{
}
.solution_title:before,
.solution_title:after{
	content: "";
	display: block;
	height: 3px;
	position: absolute;
}
.solution_title:before{
	bottom: 0;
	left: 30px;
	width: 50%;
	background-color: #065db2;
}
.solution_title:after{
	bottom: 0;
	right: 0;
	width: 50%;
	background-color: #87add3;
}
.solution_title .icon{
	position: absolute;
	top: 0;
	left: -27px;
}
.solution_title .sub_ttl{
	color: #4a4a4a;
	font-size: 1.2rem;
	font-weight: normal;
	padding-left: 3px;
}
.solution_title_mini {
	position: relative;
	font-size: 1.4rem;
	color: #055db1;
	font-weight: 700;
	padding-bottom: 2px;
	margin-bottom: 10px;
}
.solution_title_mini:before,
.solution_title_mini:after {
	content: "";
	display: block;
	height: 3px;
	position: absolute;
}
.solution_title_mini:before {
	bottom: 0;
	left: 0;
	width: 50%;
	background-color: #065db2;
}
.solution_title_mini:after {
	bottom: 0;
	right: 0;
	width: 50%;
	background-color: #87add3;
}

.title_blue_box {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 30px;
	background: #4486c5;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
}

/* solution_lead */
.solution_lead{
	font-weight: 700;
	font-size: 1.4rem;
	color: #4a4a4a;
	border-left: 5px solid #055db1;
	padding-left: 8px;
}

/* solution_headline */
.solution_headline{
	font-weight: 700;
	color: #065db2;
	font-size: 2.6rem;
}

/* numbering_list */
body{
	counter-reset: solution_counter;
}
.numbering_ttl{
	font-size: 1.4rem;
	line-height: 32px; /* beforeとあわせる border分引く */
	position: relative;
	padding:0 0 0 10px;
	border-top: 2px solid #065db2;
	border-bottom: 2px solid #065db2;
	margin-left: 46px;
	margin-bottom: 18px;
}
.numbering_ttl:before{
	counter-increment: solution_counter; /* カウンタ名 */
	content: counters(solution_counter , "");
	background:#055db1 ;
	color:#fff;
	font-size: 3.6rem;
	line-height:36px;
	height:36px;
	width:36px;
	text-align: center;
	position: absolute;
	top:-2px;
	left:-46px;
}
.numbering_content_block{
}
.numbering_content_block .txt{
	text-align: left;
}

/* border_ttl */
.border_ttl{
	font-weight: 400;
	margin-bottom: 20px;
	border-top: 2px solid #065db2;
	border-bottom: 2px solid #065db2;
}
.border_ttl span{
	padding: 6px 0 6px 10px;
	display: inline-block;
}

/* table +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/*solution_table*/
.solution_table {
	border-top:solid 1px #9fc3e5;
	border-left:solid 1px #9fc3e5;
	border-bottom:solid 1px #9fc3e5;
}
.solution_table tr:nth-child(2n-1) td{
	background-color: #f7fafd;
}
.solution_table th {
	font-weight: normal;
	font-size: 1.2rem;
	vertical-align: middle;
	background:#b9d2e9;
	border-right:solid 1px #9fc3e5;
	border-bottom:solid 1px #9fc3e5;
	text-align: center;
	padding: 14px 0;
}
.solution_table th.number {
}
.solution_table td {
	font-size: 1.2rem;
	background:#fff;
	vertical-align: middle;
	border-right:solid 1px #9fc3e5;
	border-bottom:solid 1px #9fc3e5;
	text-align: center;
	padding: 6px 0;
}
.solution_table td em {
	color: #4a4a4a;
	font-size: 	1.2rem;
	font-weight: 700;
	font-style: normal;
}

/* table_area */
.table_area{
	margin-top: 40px;
}

.table_area .comments{
	margin-top: 20px;
}
.table_area .comments li{
	padding-left: 1em;
	text-indent: -1em;
}
.table_area .comments li.red{
	color: #e70000;
}

/* btn +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.solution_base_btn{
	position: relative;
	min-width: 70%;
	display: inline-block;
	text-decoration: none;
	line-height: 1;
	padding: 13px 0;
	text-align: center;
	border-radius: 30px;
	box-shadow: 0px 3px 2px 0px rgba(0,0,0,0.5);
	font-size: 1.4rem;
	font-weight: bold;
	color: #fff;
	background-color: #888;
}
.solution_base_btn:after{
	position: absolute;
	content: "\f138";
	display: block;
	font-family: FontAwesome;
	top: calc(50% - 6px);
	right: 10px;
}
.solution_base_btn:hover{
	color: #fff;
}
.solution_base_btn.entry{
	background-color: #ff9600;
}
.solution_base_btn.form{
	background-color: #065db2;
}
.solution_base_btn.white{
	background-color: #fff;
	color: #065db2;
}

/* btn_area */
.solution_btn_area.pages{
	padding: 24px 0 24px 0;
}
.solution_btn_area.pages .solution_base_btn{
	margin-bottom: 14px;
}
.solution_btn_area.pages .solution_base_btn:nth-of-type(2){
	margin-bottom: 0;
}

/* footer +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.footer{
	text-align: center;
	background-color: #1a2f5d;
	color: #fff;
	font-size: 1.4rem;
	padding: 8px 0;
}


/* バナー +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.bnr_list .item{
	padding-right: 10px;
	padding-left: 10px;
}
.bnr_list .item img{
	margin-bottom: 10px;
	width: 100%;
}
.bnr_list .item .txt{
	color: #065db2;
	font-size: 1.7rem;
	background-color: #f2f2f2;
	padding: 1em;
	text-align: center;
	min-height: 6em;
}


/* news_area +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.news_area th{
	font-size: 1rem;
	font-weight: normal;
}
.news_area .news{
	width: 100%;
}
.news_area .news a{
	display: block;
}
.news_area .news tr{
	background-color: #f2f2f2;
}
.news_area .news tr:nth-child(2n){
	background-color: transparent;
}
.news_area .news th .txt,
.news_area .news .news_press,
.news_area .news .news_date{
	padding: 12px 0;
}
.news_area .news_press{
	text-align: center;
	width: 22%;
	vertical-align: middle;
}
.news_area mark{
	display: inline-block;
	font-size: 1rem;
	color: #fff;
	text-align: center;
	height: 16px;
	line-height: 16px;
	padding: 0 3px;
	width: 80%;
}

.news_area mark.press_mark{
	background: #1a2f5d;
}

.news_area mark.news_mark{
	background: #ff348a;
}

.news_area .news_date{
	width: 110px;
	text-align: left;
	width: 22%;
	vertical-align: middle;
}

.news_area .news_txt{
	position: relative;
	text-align: left;
	line-height: 1.3;
	vertical-align: middle;
}
.news_area th.news_txt{
	padding-right: 3em;
}
.news_area .news_txt a:after{
	position: absolute;
	top: calc(50% - 1rem);
	right: 8px;
	content: "\f138";
	display: block;
	font-family: FontAwesome;
	color: #065db2;
	font-size: 2rem;
	line-height: 1;
}

.read_more_btn_area{
	margin-top: 12px;
	text-align: center;
}
.solution_base_btn.read_more{
	border-radius: 0;
	padding: 12px 2em 12px 1em;
	max-width: 193px;
	min-width: 30%;
	background-color: #065db2;
	box-shadow: 0 3px #02294f;
	font-size: 1rem;
}
.solution_base_btn.read_more:hover{
	color: #fff;
}
.solution_base_btn.read_more:after{
	top:calc(50% - 0.5rem);
	line-height: 1;
}


/* pages invoice +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.solution_photo_area{
	margin-bottom: 40px;
}

.solution_photo_block{
}

.solution_photo_block .img{
	margin-bottom: 10px;
}

.invoice_sample_area .solution_headline{
	margin-bottom: 30px;
	font-size: 1.8rem;
}

.invoice_sample_area .txt_block{
}
.invoice_sample_area .txt_block .notes{
	text-indent: -1em;
	padding-left: 1em;
	color: #e70000;
	margin-bottom: 30px;
}
.provision_list{
}
.provision_list li.solution_lead{
	font-weight: normal;
	margin-bottom: 20px;
	font-size: 1.4rem;
}

/* Q&A よくある質問 */
.q_and_a_block.content_block{
}

.q_and_a:last-of-type{
	border-bottom: 0;
}

.q_and_a{
	border-bottom: 1px solid #b8b8b8;
	padding-bottom: 20px;
	margin-bottom: 16px;
}
.q_and_a dt,
.q_and_a dd{
	position: relative;
	padding-left: 26px;
	line-height: 1.5;
}

.q_and_a dt:before,
.q_and_a dd:before{
	display: inline-block;

	color:#fff;
	font-size: 2rem;
	line-height:20px;
	height:20px;
	width:20px;
	text-align: center;
	position: absolute;
	top: 2px;
	left: 0;
}
.q_and_a dt:before{
	content: "Q";
	background-color: #4f4f4f;
}
.q_and_a dd:before{
	content: "A";
	background-color: #065db2;
}
.q_and_a dt{
	color: #4f4f4f;
	margin-bottom: 10px;
}
.q_and_a dd{
	color: #065db2;
}

/* pages user +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.solution_user .flow_img{
	margin-bottom: 30px;
	background-color: #fff;
}
.service_flow_block.img_txt_wrap:after{
}
.service_flow_block .img_block{
	margin-bottom: 30px;
}
.service_flow_block .txt_block{
}
.service_flow_block .txt_block p{
	margin-bottom: 18px;
}
.merit_list:after{
}
.merit_list{
	margin-bottom: 20px;
	font-size: 0;
}
.merit_list li{
	display: inline-block;
	width: 50%;
	text-align: center;
	vertical-align: top;
	margin-bottom: 8px;
}
.merit_list li p{
	color: #1a2f5d;
	font-size: 1.4rem;
	text-align: center;
}
.merit_list li p span{
	color: #ff9600;
}
.merit_list li p span em{
	color: #ff9600;
	font-size: 2rem;
}

/* pages adminconsole +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.order_form_block .img_center {
	width: 60%;
	margin: 0 auto;
}

.solution_adminconsole .flow_img{
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}
.solution_adminconsole .flow_img p{
	color: #055db1;
	text-align: center;
}
.solution_adminconsole .flow_img .img{
	background-color: #fff;
	padding: 15px 0;
}

.solution_adminconsole .difference_block {
	display: flex;
	margin-top: 30px;
}
.solution_adminconsole .difference_block > .item {
	text-align: center;
}
.solution_adminconsole .difference_block > .item:not(.arrow) {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	width: 100%;
}
.solution_adminconsole .difference_block .arrow {
	align-self: center;
	padding: 0 5px;
	color: #004fa9;
	font-size: 3rem;
}
.solution_adminconsole .difference_block .title_blue_box {
	border-radius: 2px;
	text-align: center;
}
.solution_adminconsole .difference_block .text {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	color: #055db1;
}
.solution_adminconsole .difference_block .text:after {
	display: block;
	content: "\f103";
	color: #cae2ff;
	font-family: Fontawesome;
	font-size: 3rem;
	line-height: 1;
	text-align: center;
}
.solution_adminconsole .difference_block .inner_text {
	display: flex;
	align-items: center;
	flex-grow: 1;
	justify-content: center;
}
.solution_adminconsole .difference_block .img {
	text-align: center;
}
.solution_adminconsole .difference_block .img img {
	border: solid 2px #dcecfb;
}

/* Admin 管理画面 */
.admin_block{
	text-align: center;
}
.admin_block .img{
	margin-bottom: 20px;
}


/* pages casestudies +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.introduction_list:after{
	content: "";
	display: block;
	clear: both;
}
.introduction_list .item{
	display: inline-block;
	width: 48%;
	margin-right: 1%;
	margin-bottom: 16px;
	text-align: center;
}
.introduction_list .item img{
	width: 100%;
}
.introduction_list .item:nth-child(2n){
	margin-right: 0;
}
.introduction_list .solution_base_btn.read_more{
	margin-top: 10px;
	width: 80%;
	max-width: none;
	cursor: pointer;
}

.company_info .company{
	font-weight: 700;
	font-size: 1.2rem;
}
.company_info .name{
	font-weight: 400;
	font-size: 1.2rem;
}

.question_ttl{
	position: relative;
	padding: 0.3em 0.3em 0.3em 0;
	font-size: 1.6rem;
	font-weight: bold;
	color: #1a2f5d;
	margin-top: 10px;
}
.question_ttl:before{
	display: inline-block;
	content: "";
	width: 12px;
	height: 12px;
	margin: 0 0.3em 0 0;
	background-color: #1a2f5d;
	transform: rotate(45deg);
}


.customer_area .img_area{
	margin: 0 0 10px 0;
	text-align: center;
}
.content_bg_wrap:nth-of-type(2n-1) .customer_area .img_area{
}
.content_bg_wrap:nth-of-type(2n-1)  .solution_btn_area{
}

.customer_area .img_txt_wrap:after{
}

.customer_area .solution_headline{
	margin-bottom: 16px;
	font-size: 1.8rem;
}
.customer_area .company_info{
	margin-bottom: 12px;
}

.customer_area .company_info a{
	margin-bottom: 12px;
	word-break : break-all;
}

.customer_area .hide_text {
}

.customer_area .omission_block .company_info{
	margin-top: 10px;
}
.customer_area .omission_block .company_info .company{
	font-size: 1.4rem;
	margin-bottom: 3px;
}

.customer_area .img_txt_wrap{
}

.customer_area .solution_base_btn:after{
}
.customer_area .solution_base_btn.read_more.active{
}
.customer_area .solution_base_btn.active:after{
}

/* administrator  +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

.administrator .solution_lead {
	margin-bottom: 16px;
}

.administrator .lead_block {
	margin-bottom: 22px;
}

.administrator .table_area{
	margin-top: 0;
}

.welfare_area .solution_headline{
	margin-bottom: 18px;
	font-size: 1.8rem;
}
.welfare_block .img_txt_wrap:after{
}
.welfare_block .img_block{
	margin-bottom: 12px;
}
.welfare_block .txt_block{
}
.welfare_block .txt_block p{
	margin-bottom: 12px;
	color: #1a2f5d;
}

/* price  +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.beginner .solution_headline,
.receive .solution_headline,
.price .solution_headline {
	margin-bottom: 14px;
	font-size: 1.4rem;
}
.price .content_block + .content_block {
	margin-top: 30px;
}
.price_plan_line_area .column_box {
	display: table;
}
.price_plan_line_area .column_box > li {
	display: table-cell;
	width: 50%;
	padding: 0 5px 0 0;
}
.price_plan_line_area .column_box > li:nth-of-type(even) {
	padding: 0 0 0 5px;
}
.price_plan_line_area .column_box > li .text {
	font-size: 1.2rem;
	line-height: 1.4;
}

/* simulator */
#Simulation {
	background-color:#FFF;
	position:relative;
	border:1px solid #a8a8a8;
	padding:15px 20px 30px;
	margin-top:20px;
}
#Simulation .price_search02 {
	width: 100%;
}
#Simulation .price_search02 .box02 {
	position:static;
	width: 80%;
	margin: 30px auto 30px auto;
}
#Simulation .price_search02 .first_view {
	margin-bottom:20px;
}
#Simulation .price_search02 table.select_box th {
	display:none;
}
#Simulation .price_search02 table.select_box td{
	margin-bottom: 10px;
}
#Simulation label.selectTypeA {
	width:100%;
}
#Simulation .price_search02 table.select_box {
	width:100%;
}
#Simulation .price_search02 table.select_box td {
	display: block;
	width:100%;
}
#Simulation .price_search02 .box03 {
	padding-left:0px;
}
#Simulation .price_search02 .box02 img{
	cursor: pointer;
}
#Simulation .price_search02 .perday {
	display:block;
	font-size:18px;
	vertical-align: middle;
	margin-right:10px;
}
#Simulation .price_search02 dl {
	display:block;
	border:5px solid #a4a4a4;
	text-align: center;
	padding: 10px;
	margin: 0 auto;
	line-height:1.1em;
	vertical-align: middle;
	min-width:125px;
	position:relative;
}
#Simulation .price_search02 dl dt {
	display:inline-block;
	color:#000;
	font-weight:bold;
	font-size:26px;
	padding-right:5px;
}
#Simulation .price_search02 dl dd{
	display:inline-block;
	font-weight:bold;
	font-size:18px;
}
#Simulation .price_search02 .box03{
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	float: none;
}
.price_plandate_icon{
	display: none;
}
.price_simu_left{
	float: none;
}
.box0203_wrap{
	width: 100%;
	float: none;
}
#Simulation #add_view table.select_box td{
	padding-bottom: 0;
}
#Simulation #add_view table.select_box td.country{
	padding-bottom: 10px;
}
.add_counties img{
	width: 48%;
}
#Simulation .price_search02 .box02 img{
	width: 100%;
}
#Simulation label.selectTypeA {
	background:url(/common/images/contents/price/simulator_select_bg_01.png) right center no-repeat;
}
#Simulation label.selectTypeA select {
	padding-right:40px;
	width: 100%;
}
#Simulation .addBtn,
#Simulation .delBtn,
#Simulation .calculateBtn{
	cursor:pointer;
}
#Simulation .addBtn:hover,
#Simulation .delBtn:hover,
#Simulation .calculateBtn:hover{
	opacity:0.8;
}
.pl_simulator_area{
	background-color: #f8f8f8;
	padding: 30px 0;
	margin: 0 0 70px 0;
}
.price_plandate_icon_wrap:after{
	content: "";
	display: block;
	clear: both;
}
.price_plandate_icon{
	width: 210px;
}
.price_plandate_icon .ttl{
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
	font-size: 16px;
}
.price_plandate_table th{
	width: 102px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.price_plandate_table th p{
	/*background-color: #c6ecff;*/
	background-color: #b5e6ff;
	margin: 3px;
	padding: 6px 6px;
	border-radius: 6px;
}
.price_plandate_table .th02{
	/*background-color: #ffcd7e;*/
	background-color: #ffd48f;
}
.price_plandate_table .th03{
	/*background-color: #f7b5b9;*/
	background-color: #f9c4c7;
}
.price_plandate_table td{
	padding: 0 3px;
	font-weight: bold;
	font-size: 14px;
	vertical-align: middle;
	text-align: right;
}
.price_simu_left{
	float: left;
	margin-top: 10px;
}
.box0203_wrap img{
	margin-bottom: 10px;
}
/* End simulator */

.price .border_block {
	margin: 0 0 70px 0;
	padding: 8px;
	border: 1px solid #000;
}
.price .border_block .text {
	font-size: 1.2rem;
	line-height: 1.4;
}
.price .border_block .link_text {
	color: #00a8ff;
	font-size: 1.2rem;
	text-decoration: underline;
	cursor: pointer;
}

/* 長期割引プラン */
.long_plan .plan_title {
	width: 100%;
	border-bottom: 2px solid #e9eaed;
	font-size: 0;
}
.long_plan h3 {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 25px;
}
.long_plan h3:before {
	display: inline-block;
	padding: 0 7px 0 0;
	content: "\f0a9";
	color: #0096d7;
	font-family: FontAwesome;
	font-weight: normal;
}
.long_plan .country_num {
	margin: 5px 0 0 0;
	font-size: 1.4rem;
}
.long_plan .price {
	display: inline-block;
	margin: 0 0 0 5px;
	padding: 4px 5px;
	background: #0054ae;
	border-radius: 5px;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
}
.long_plan .price strong {
	font-size: 1.4rem;
	font-weight: 700;
}
.long_plan .flag_sprites {
	margin-top: 15px;
	padding-bottom: 15px;
	font-size: 0;
}
.long_plan .flag_sprites > li {
	display: inline-block;
	width: 50%;
	margin-bottom: 15px;
	font-size: 0;
}
.long_plan .flag_sprites > li span {
	display: inline-block;
	width: calc(100% - 33px);
	font-size: 1.2rem;
	vertical-align: top;
	line-height: 19px;
}
.sa_dialog ul.country_list.flag_sprites li span.flag_img {
	display: inline-block;
	margin-right: 5px;
}
.price_long_area .notes_block {
	margin: 10px 0 40px 0;
}
.price_long_area .notes_list {
	padding-left: 1em;
}
.price_long_area .notes_list > li {
	font-size: 1.2rem;
	line-height: 1.4;
	text-indent: -1em;
}
.price_long_area .notes_list > li .blue_text {
	color: #00bcd2;
}
/* End 長期割引プラン */

/* pages beginner +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.beginner_terminal_area .solution_headline {
	line-height: 1.4;
}
.beginner_terminal_area .note_text {
	color: #4a4a4a;
	font-weight: normal;
}
.beginner_terminal_area .terminal_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	margin: 15px 0 20px 0;
}
.beginner_terminal_area .terminal_list > li {
	width: calc((100% - 10px) / 2);
	padding: 14px 12px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
.beginner_terminal_area .terminal_list > li:not(:nth-of-type(-n+2)) {
	margin-top: 10px;
}
.beginner_terminal_area .terminal_list .text_box {
	margin-top: 13px;
}
.beginner_terminal_area .terminal_list .text_box dt {
	margin-bottom: 10px;
	color: #000;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}
.beginner_terminal_area .terminal_list .text_box dd {
	color: #015db1;
	font-weight: 700;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1.4;
}
.beginner_terminal_area .ssid_box {
	margin-top: 25px;
	padding: 12px 10px;
	background: #fbfbfb;
}
.beginner_terminal_area .ssid_box .text {
	font-size: 1.2rem;
	line-height: 1.6;
}

.beginner_support_area .support_block {
	margin-bottom: 20px;
}
.beginner_support_area .support_block .item + .item {
	margin-top: 40px;
}
.beginner_support_area .support_block .link {
	display: block;
	margin-top: 10px;
}
.beginner_support_area .support_block .link a {
	display: inline-block;
	padding: 10px 20px;
	background: #0791df;
	border-radius: 2em;
	color: #fff;
}
.beginner_support_area .support_block .link a:hover {
	opacity: 0.8;
}
.beginner_support_area .support_block .link a:after {
	display: inline-block;
	content: "\f138";
	margin-left: 10px;
	color: #fff;
	font-family: FontAwesome;
}

/* pages receive +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.receive_delivery_area .delivery_block .text {
	padding: 8px;
	background: #e9f7ff;
	font-size: 1.2rem;
	line-height: 1.4;
}
.receive_delivery_area .delivery_block .item + .item {
	margin-top: 20px;
}
.receive_map_block {
	padding: 20px 5px;
	background: #fbfbfb;
}
.receive_map_block .text_box {
	margin-bottom: 15px;
	line-height: 1.4;
}
.receive_map_block .text_box .title {
	color: #025db2;
	font-size: 1.4rem;
	font-weight: 700;
}
.receive_map_block .text_box .text {
	font-size: 1.2rem;
}
.receive_map_block ul {
	font-size: 0;
}
.receive_map_block li {
	display: inline-block;
	width: 48%;
	margin: 0 0 2% 0;
	background: #4c9be4;
	border-radius: 5px;
}
.receive_map_block li:nth-of-type(odd) {
	margin: 0 2% 0 0;
}
.receive_map_block li a {
	display: block;
	position: relative;
	padding: 3% 0 3% 5%;
	color: #fff;
	font-size: 1.3rem;
}
.receive_map_block li a:after {
	display: inline-block;
	content: "\f105";
	position: absolute;
	right: 5%;
	bottom: 15%;
	font-family: FontAwesome;
}
.web_limit_block {
	display: block;
	margin-top: 20px;
	line-height: 1.4;
}
.web_limit_block select {
	background: #fff;
	border: 2px solid #59a3ff;
	border-radius: 2px;
	font-size: 1.6rem;
}
.caution_box {
	margin-top: 50px;
}
.caution_box .title {
	font-size: 1.2em;
	font-weight: 700;
}
.caution_box .title:after {
	display: block;
	content: "";
	width: 100%;
	height: 3px;
	margin-bottom: 10px;
	background: #ededed;
}
/* pages mobilephone +++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.mobilephone_price_area .hosho_box {
	margin-top: 35px;
	padding: 10px 12px;
	background: #fdfdfd;
	border: 1px solid #cacaca;
}
.mobilephone_price_area .hosho_box .text {
	margin: 0;
	line-height: 1.4;
}
.mobilephone_price_area .hosho_box .hosho > .title {
	margin-bottom: 4px;
	font-weight: 700;
}
.mobilephone_price_area .hosho_box .hosho > .title:before {
	display: inline-block;
	content: "\f138";
	margin-right: 4px;
	color: #39abe4;
	font-family: Fontawesome;
}
.mobilephone_price_area .hosho_box .reparation {
	margin-top: 15px;
	padding: 10px 5px;
	background: #eaf1ff;
	font-size: 0;
}
.mobilephone_price_area .hosho_box .reparation .title,
.mobilephone_price_area .hosho_box .reparation .text {
	display: inline-block;
	font-size: 1.4rem;
	line-height: 1.6;
	vertical-align: top;
}
.mobilephone_price_area .btn_box {
	margin-top: 35px;
	text-align: center;
}
.mobilephone_price_area .btn_box .btn_popup {
	display: inline-block;
	position: relative;
	padding: 10px 35px 10px 30px;
	background: #0791df;
	border-radius: 2em;
	color: #fff;
	font-size: 1.5rem;
	cursor: pointer;
}
.mobilephone_price_area .btn_box .btn_popup:after{
	display: inline-block;
	content: "\f138";
	position: absolute;
	top: 50%;
	right: 10px;
	font-family: Fontawesome;
	transform: translate(0 ,-50%);
}
/* 対象国一覧 */
.dialog_mobile_listcountries {
	display: none;
}
.dialog_mobile .dialog_title {
	height: 30px;
	background: #123881;
	border-radius: 5px
}
.dialog_mobile .dialog_title p {
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 30px;
}
.dialog_mobile .dialog_dl {
	margin-top: 20px;
}
.dialog_mobile .dialog_dl dt {
	display: inline-block;
	min-width: 180px;
	height: 30px;
	margin: 0 0 0 20px;
	padding: 0 10px;
	background: #123881;
	border-radius: 5px 5px 0 0;
	transform: skew(-30deg, 0deg);
}
.dialog_mobile .dialog_dl dt p {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: left;
	line-height: 30px;
	transform: skew(30deg, 0deg);
}
.dialog_mobile .dialog_dl dd {
	margin: 0 0 20px 0;
	padding: 12px;
	border: solid 4px #12387f;
	border-radius: 10px;
}
.dialog_mobile .dialog_dl dd p {
	font-size: 1.2rem;
}
/* End 対象国一覧 */
.mobilephone_billing_area .img_box {
	margin-top: 35px;
}
.mobilephone_billing_area .img_box .item + .item {
	margin-top: 35px;
}

/* -------------------------------------
 clearfix解除
---------------------------------------- */
div:before,div:after,
dl:before,dl:after,
nav:before,nav:after,
section:before,section:after,
header:before,header:after,
footer:before,footer:after,
ol:before,ol:after,
ul:before,ul:after{
 content: none;
 display:inline;
}
nav:after,section:after,
header:after,footer:after,
ol:after,ul:after,dl:after,div:after {
 clear:none;
}

.solution_non_tax {
	font-size: 12px;
	text-align: right;
}

/* WSYS-10491追加対応（enterprise系も個人情報の取り扱いついての情報を追加） M.Amano */
.personal_infomation_box {
	margin-top: 10px;
	margin-bottom: 10px;
	width: 100%;
	padding: 0px 15px;
	text-align: left;
	box-sizing: border-box;
}

.personal_infomation_box .personal_infomation_check .required {
	color: #09a9d9;
	font-weight: bold;
}

/* WSYS-11212 【フロント・VMDB】新規場所追加_グランデュオ蒲田 20240718 M.Amano */
.receive .modalBox {
	padding: 0;
	border: none;
	overflow-y: initial;
}

.receive .modalBoxContents a {
	color: #fff;
	text-decoration: none;
}

.receive .module-link_btn:hover {
	text-decoration: none;
	color:#07308c;
	background:#ffffff;
	border:solid 1px #07308c;
	transition:all 0.3s;
}