@charset "utf-8";

/*--------メインビジュアル---------*/
.topMainvisual {
	background-color: #fff;
}
/*------------サブナビ--------------*/
#subNaviBase{
	z-index:100;
	}
.subNavi li a:link {
  color: #003576;
	text-decoration: none;
}
.subNavi li a:visited {
  color: #003576;
	text-decoration: none;
}
.subNavi li a:hover {
  color: #003576;
	text-decoration: none;
  border-bottom: 3px solid #003576;
}
.subNavi li.active a {
  border-bottom: 3px solid #003576;
}
/*------------コンテンツボックス--------------*/
.contBlock02Wrap {
	background-color: #edf4ef;
}
/*------------トップのみ適用--------------*/
.contBlock h2 {
    color: #bf0000;
    font-size: 42px;
    font-weight: bold;
    line-height: 54px;
    margin-bottom: 30px;
}
/*-------------横3列ボックス-------------*/
.box3pcs dt {
	background-color: #078d48;
}
.box3pcs dl {
	border: 1px solid #078d48;
}
/*-----------------下部お問い合わせ------------------*/
.contactArea {
  background-color: #002896;
}
/*----固定コンタクト
#btmLink {
	width: 100%;
}
#btmLink .inner {
	background: #002896;
	width: 100%;
	color: white;
	font-size: 12px;
	line-height: 1.5;
}
#btmLink .inner ul {
	width: 1120px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}
#btmLink .inner ul li {
	float: left;
	padding-right: 11px;
	padding-top: 3px;
	padding-bottom: 2px;
}
#btmLink .inner ul .links a {
	display: block;
}
#btmLink .inner ul .links{
	margin-right:52px;
}
#btmLink .inner ul .pagetop {
	padding-top: 0px;
	padding-bottom: 0px;
	padding-right: 0px;
}
#btmLink .inner ul .pagetop a {
	display: block;
	background: #FFF;
}
#btmLink .inner li.freetel {
	font-family: arial, Helvetica, sans-serif;
	font-size: 26px;
	font-weight: bold;
	padding-right: 8px;
	margin-left: -5px;
}
#btmLink .inner li.freetel:before {
	content: url(../images/contact_icon_free2.png);
}
#btmLink .inner li span {
	font-size: 10px;
	background: white;
	color: #002896;
	font-weight: bold;
	padding: 2px;
	margin-right: 3px;
}
#btmLink .button, #btmLink .button:visited {
	color: #fff!important;
    text-align: center;
	font: bold 20px/100% "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-seri;
	border-radius: 5px;
	-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
	width: 254px;
	letter-spacing: 3px;
	margin-top: 3px;
}
#btmLink .button:hover {
	text-decoration: none;
}
#btmLink .orange {
	border: solid 1px #ff8700;
	background-color:#ff8700;
}
-----*/
/*--------------------------*/

.sub_th {
  background-color: #f2f9ff!important;
}
.fv_color {
  background-color: #ffefee;
}
.simple_color {
  background-color: #eefffb;
}
.light_color {
  background-color: #eef4ff;
}
.hukaMidashi {
  border-bottom: 1px dotted #a6a9af;
  margin-top: 30px;
  text-align: left;
  padding-bottom: 10px;
  font-size: 16px;
  font-weight: bold;
}
.hukaMidashi span {
  font-weight: normal;
  color: #002896;
}
.red {
  color: #bf0000;
}

.cal_box {
  background-image: url(../images/cal_bg.gif);
  background-repeat: no-repeat;
  background-position: left top;
  height: 521px;
  width: 601px;
  position: relative;
  margin-right: auto;
  margin-left: auto;
}

.cal_box ul {
  position: absolute;
  left: 305px;
  top: 106px;
}
.cal_box ul li {
  padding: 0px;
  margin-bottom: 14px;
}
.cal_box ul li select {
  width: 180px;
  height: 25px;
  font-size: 14px;
  font-weight: bold;
  padding-top: 3px;
}
.cal_box .answer {
  margin: 0px;
  padding: 0px;
  position: absolute;
  left: 180px;
  top: 305px;
}
.cal_box ul li #q1 {
  height: 30px;
  width: 135px;
  font-size: 22px;
  text-align: left;
}
.answer #total {
  height: 45px;
  width: 218px;
  font-size: 40px;
  font-weight: bold;
  text-align: right;
  padding-right: 5px;
  padding-top: 5px;
}
select, input, button, textarea {
  font:99% arial, helvetica, clean, sans-serif;
}
.table_news td #fee {
  border-collapse: collapse;
  border: none !important;
  border-spacing: 0;
  margin-bottom: 3px;
}
.fv_txt, .contentInner p.fv_txt {
  position: absolute;
  bottom: 11px;
  left: 55px;
  font-size: 11px;
  line-height: 1.4;
	margin: 15px 0;
}
.table_news, .table_news td, .table_news th{
border-collapse: collapse;
border-spacing: 0;
  border: none;
}
.table_news td #fee {
  border-collapse: collapse;
  border: none !important;
  border-spacing: 0;
  margin-bottom: 3px;
}


.faq_rank_box {
  padding-top: 15px;
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 15px;
  margin-bottom: 30px;
  background-color: #eaf5ff;
  border-top: 6px solid #002896;
  text-align: left;
}
.faq_rank_box dd{
  font-size: 16px;
}

#faqList {
  margin-left:1em;
  margin-bottom: 20px;
}
#faqList li {
  list-style: none;
}
#faqList .question {
  padding-left: 20px;
  background-image: url(../images/plus.png);
  background-repeat: no-repeat;
  background-position: left top 5px;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: left;
  font-size: 16px;
}
#faqList li.simpleFAQShowing .question {
  background: transparent url('../images/minus.png') left center no-repeat;
}
#faqList .simpleFAQHover {
  text-decoration:underline;
  color: #2757A1;
}
#faqList .answer {
  margin-left:21px;
  padding: 15px;
  background-color: #eaf5ff;
}
#faqList .answer p {
  margin:0;
  text-align: left;
  font-size: 16px;
}
.answer_title {
  alignment-adjust:after-edge;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 180%;
  font-weight: bold;
  line-height: 1.2;
  color: #81c1fa;
}
.faq_subtitle {
  margin-left: -13px;
}
/*----フッタ 電話番号-----*/
.contactArea .contactArea_01 .contactTel{
	font-size:49px!important;
}

/*----フリーボイスLP----*/
.list_qaa {
	width: 954px;
	margin: 0 auto;
	font-size: 18px;
}
.list_qaa > label {
	display: block;
	width: 100%;
	padding: 0px;
	margin: 0px;
	cursor: pointer;
}
.list_qaa > label > dt {
	position: relative;
	border-top: 5px solid #efefef;
}
.list_qaa > label > dt h2{
	position: relative;
	padding: 20px 4em;
	margin-bottom: 0px;
	color: #000;
	line-height: 1.6em;
}
.list_qaa > label > dt:after {
	position: absolute;
	top: 36px;
	right: 1em;
	content: url(../images/img00_02.png);
}
.list_qaa > label > dt.close:after {
	content: url(../images/img00.png);
}
.list_qaa > label > dd {
	padding: 50px 0px 60px 0px;
	position: relative;
	line-height: 1.6em;
	border-top: 5px solid #efefef;
	cursor: default;
}
.list_qaa label[for=q01] ul{
	font-size: 19px;
	font-weight: bold;
	display: flex;
	justify-content: center;
}
.list_qaa label[for=q01] ul li{
	width: 30%;
	background:#c7dcee;
	margin: 0px auto;
	padding: 5px 10px 40px;
}
.list_qaa label[for=q01] span{
	color: #0162b1;
	display: block;
	margin-bottom: 25px;
	line-height: 3em;
	border-bottom: solid 4px #e3eef7;
}
.list_qaa label[for=q01] ul li:first-child span{
	margin-bottom: 45px;
}
.list_qaa label[for=q04] dd{
	text-align: left;
}
.list_qaa label[for=q04] table{
	width: 100%;
	background: #efefef;
	text-align: center;
	margin: 35px auto 0px;
	border-collapse: separate;
	border-spacing: 20px 0px;
}
.list_qaa label[for=q04] table th{
	color: #0162b1;
	font-weight: bold;
	border-bottom: solid 3px #fff;
	padding: 20px;
}
.list_qaa label[for=q04] table td{
	width: 50%;
}
.list_qaa label[for=q04] td p{
	display: inline-flex;
	text-align: left;
}
.list_qaa label[for=q04] span:first-child{
	color: #fff;
	background: #d0111b;
	padding: 5px;
	margin-right: 7px;
	text-align: left;
}
.list_qaa > label[for=q05] dd:last-of-type {
	padding-bottom: 0px;
	border-top: none;
}
.list_qaa > label[for=q05] dt:last-of-type {
	border-bottom: 5px solid #efefef;
}

.list_qaa .q05_wrap{
	width: 100%;
	background: #efefef;
	text-align: center;
	margin: 3px auto 10px;
}
.list_qaa .q05_wrap .t_title{
	border-bottom: solid 4px #fff;
	padding: 20px;
}
.list_qaa .q05_wrap .t_line{
	display: flex;
}
.list_qaa .q05_wrap .t_line .t_blue{
	color: #0162b1;
	font-size: 20px;
	font-weight: bold;
}
.list_qaa .q05_wrap .t_line div:first-of-type{
	width: 20%;
	color: #fff;
	background: #aaa;
	font-weight: bold;
	padding: 20px 20px 1px;
	text-align: left;
}
.list_qaa .q05_wrap .t_line div:first-of-type span{
	display: block;
	border-bottom: solid 3px #c3c3c3;
	line-height: 3em;
	padding-bottom: 18px;
}
.list_qaa .q05_wrap .t_line div:nth-of-type(2),
.list_qaa .q05_wrap .t_line div:nth-of-type(3)
{
	width: 40%;
	padding: 20px 20px 1px;
	vertical-align: middle;
}
.list_qaa .q05_wrap .t_line div:nth-of-type(2) span,
.list_qaa .q05_wrap .t_line div:nth-of-type(3) span
{
	display: block;
	border-bottom: solid 3px #fff;
	line-height: 3em;
	padding-bottom: 20px;
}
.list_qaa .q05_wrap div.t_line:nth-of-type(5) span
{
	border-bottom: none;
}
#lpService{
	width: 954px;
	margin: 0 auto;
}
#lpService .bnrArea4{
	display: flex;
	justify-content: space-between;
}
#lpService .bnrArea4 .bnrBox{
	width: 40%;
}
.fv_text16 {
    font-size: 16px;
}
.fv_text24 {
    font-size: 24px;
}
.fv_text25 {
    font-size: 25px;
}
.fv_simulink{
padding: 1em .5em 2em;
background: #F5F5FF;
}
.fv_simulink p{
font-size: 20px;
font-weight: bold;
}
.fv_simulink a{
font-size: 18px;
font-weight: bold;
text-decoration: underline;
}
/*コンポーネント調整*/
#topMainvisual {
  /* background-image: url(../images/main_01.png); */
	background-image: none;
	background-color: transparent;
  background-size: contain;
  background-position-y: bottom;
  /* height: calc(320px + 70px + 44px); */
	position: relative;
	width: 100%;
	overflow: hidden;
}
.topMainvisual-txt {
	box-sizing: border-box;
	position: absolute;
	top: 64%;
	left: 0;
	transform: translateY(-50%);
	background-color: rgba(255,255,255,0.7);
	width: auto;
	max-width: calc(100% - 20px);
	padding-right: 60px;
	padding-top: 37px;
	padding-bottom: 40px;
}
.topMainvisual-txt.txt-right {
	left: auto;
	right: 0;
	padding-right: unset;
	padding-left: 60px;
}
.topMainvisual-txt h2 {
	font-size: 38px;
	color: #002895;
	font-weight: bold;
}
.topMainvisual-txt .h2-sub {
	font-size: 26px;
	display: block;
	color: #000;
	font-weight: bold;
}
.topMainvisual-txt h2 .large {
	font-size: 61px;
	line-height: 79px;
	font-weight: 400;
	display: inline-block;
}
.topMainvisual-txt h2 + div {
	margin-top: 17px;
}
.mainVisual-bg {
	pointer-events: none;
	margin: -44px auto 0;
	height: 100%;
	text-align: center;
	max-width: 1600px;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.bnrArea.bnrArea1 + #info{
  margin-top: 56px;
}


/* サブナビCTA追加分 */
#subNaviWrap .rightBlock a {
  /* width: 141px; */
}
#subNaviWrap .rightBlock a.small {
  width: 78px;
}
#subNaviWrap .rightBlock a.login {
  color: #002896;
  padding-top: 37px;
  background-image: url(../images/login.svg);
  background-repeat: no-repeat;
  background-position: center top 18px;
  background-size: 21px;
  border: 1px solid #DADADA;
  background-color: #fff;
}
#subNaviWrap .rightBlock a.login:hover {
/*  background-color: #CEEDFD;
  border-color: #DADADA;*/
  opacity: 1;
}
/* モーダル関連 */
.ib {
  display: inline-block;
  text-decoration: inherit;
}
header {
  z-index: 1000!important;
}
.mfp-hide {
  display: none;
}
.login-popup {
  background-color: #F0F6FC;
  padding: 45px 38px;
  width: 90%;
  max-width: 1126px;
  margin: 0 auto;
  position: relative;
}
.login-popup h2 {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 40px;
  padding: 0;
  color: #000;
}
.detail-inner-hd {
  display: flex;
  align-items: center;
  max-width: 552px;
  justify-content: flex-start;
  margin-bottom: 24px;
}
.login-popup h3 {
  color: #002896;
  font-size: 22px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 390px;
  width: 100%;
  line-height: 1;
  margin: 0;
}
/* .login-popup h3::after {
  height: 18px;
  width: 18px;
  min-height: 18px;
  min-width: 18px;
  text-align: center;
  display: inline-block;
  border: 2px solid #002896;
  border-radius: 50%;
  font-size: 12px;
  content: '?';
  line-height: 18px;
  cursor: pointer;
  margin-top: 2px;
} */
.detail-inner-info {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  padding-left: 20px;
}
.detail-inner-info a {
  color: #000;
  text-decoration: underline;
}
.detail-inner-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  column-gap: 15px;
  row-gap: 24px;
}
.detail-inner-wrap li {
  width: calc(33% - 15px);
  position: relative;
  min-width: 252px;
}
.detail-inner-wrap li a {
  font-size: 18px;
  font-weight: 500;
  position: relative;
  padding-left: 33px;
  color: #000;
  display: inline-block;
}
.detail-inner-wrap li a::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #002896;
  border-radius: 50%;
}
.detail-inner-wrap li a::after {
  position: absolute;
  content: '';
  left: 6px;
  top: 12px;
  transform: translateY(-50%) rotate(45deg);
  height: 7px;
  width: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.popup-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  color: #002896;
  font-size: 26px;
  font-weight: bold;
  cursor: pointer;
}

.mfp-wrap ~ #wrap #subNaviWrap.fixed #subNavi {
  padding-right: 16px;
}
.mfp-bg {
  height: 100vh!important;
  position: fixed!important;
}
.mfp-container {
  position: fixed!important;
}
.no_scroll {
  overflow: hidden;
}

/* 20240221追記 */
.font24 {
  font-size: 24px !important;
}
.font20 {
  font-size: 20px!important;
}
.underline {
  text-decoration: underline;
}
.exclamation::before {
  content: '';
  display: inline-block;
  height: 24px;
  width: 24px;
  background-image: url(../images/ico-exclamation.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: text-bottom;
  margin-right: 5px;
}
.exclamation::before {
  content: '';
  display: inline-block;
  height: 24px;
  width: 24px;
  background-image: url(../images/ico-exclamation.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: text-bottom;
  margin-right: 5px;
}
@media screen and (max-width:768px) {
  .sp-font20 {
    font-size: 20px !important;
  }
  .sp-font18 {
    font-size: 18px!important;
  }
}
/* クロスセルバナー */
.crosssell_banner{
  text-align: center;
}
.crosssell_banner a img:hover{
  opacity: 0.7;
}
.crosssell_banner img{
  width:100%;
  max-width:760px;
  margin-bottom:0;
}

/* 20240913追記 */
@media screen and (min-width:1025px) {
  .subNaviM {
    padding-right: clamp(20px, 3.7vw, 56px);
    padding-left: clamp(24px, 5.9vw, 80px);
  }
  .subNaviM li:nth-of-type(n+2) {
    margin-right: clamp(16px,2.2vw,32px);
  }
  .subNaviM a {
    font-size: clamp(8px, 1.1vw, 15px);
  }
  #subNaviWrap .rightBlock a {
    width: clamp(120px, 9.8vw ,141px);
    font-size: clamp(8px, 1.1vw, 15px);
  }
}
@media screen and (max-width:1024px) {
  #subNaviWrap .rightBlock a.login {
   font-size: 8px;
   background-size: 20px;
   background-position: center top 9px;
   padding-top: 26px; 
  }
}

