@charset "UTF-8";

.pc-on {
	display: block;
}

.sp-on {
	display: none;
}

.pc {
	display: block;
}
.sp {
	display: none;
}
.pc_i {
	display: inline;
}
.sp_i {
	display: none;
}

.l-main {
	background-image: url(../imgs/bg_l-main.png);
}

/*
.l-breadcrumb {
	visibility: hidden;
}
*/

.mv {
	width: 100%;
	position: relative;
}

.mv__inner {
	width: 100%;
}

.mv__header {
	width: 90%;
	max-width: 1440px;
	margin: 0 auto -100px auto;
	text-align: right;
}

.mv__logo {
	display: inline;
	width: 160px;
}

.pc-on.mv__img {
	display: block;
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}
.sp-on.mv__img {
	display: none;
}

.point {
	position: relative;
	width: 100%;
	background: linear-gradient(0deg, #4CB8EC 25.48%, #FEFFFF 100%);
}

.point__inner {
	padding-top: 63px;
	padding-bottom: 100px;
}

.point__inner .pc-on.pnt__img,
.point__inner .txt {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 656px;
}
.point__inner .sp-on.pnt__img {
	display: none;
}
.point__inner .txt {
	margin-top: 14px;
	font-size: 12px;
}
.point__inner .btn {
	margin-top: 64px;
}
.b-btn {
	margin: 0 auto;
	width: 100%;
	max-width: 372px;
	height: 64px;
	display: block;
	background-color: #004098;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	font-family: "Noto Sans JP";
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 100%;
	padding-top: 12px;
	padding-bottom: 12px;
	background-image: url(../imgs/a-btn__arrow.svg);
	background-repeat: no-repeat;
	background-position: right 20px center;
	border-radius: 12px;
}
.b-btn small {
	display: block;
	text-align: center;
	font-size: 14px;
	margin-bottom: 4px;
}

.point__box {
	margin-top: 160px;
}

.point__box .point__box_def {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	background-color: #E4F6FF;
	margin-bottom: 100px;
}
.point__box .point__box_def:last-of-type {
	margin-bottom: 0;
}

.point__box .point__box_def .point__box_def--txt {
	padding: 24px 32px 32px 32px;
}
.point__box .point__box_def .point__box_def--txt p.main {
	color: #004295;
	font-size: 18px;
	font-weight: 500;
	line-height: 180%; /* 3.24rem */
}
.point__box .point__box_def .point__box_def--txt p.sub {
	color: #3F3D3C;
	font-size: 14px;
	font-weight: 400;
	line-height: 180%; /* 2.52rem */
}

.point__box .point__box_def.point__box--1 .point__box_def--txt {
	display: flex;
	gap: 60px;
}
.point__box .point__box_def.point__box--1 .point__box_def--txt .box_l {
	width: 100%;
	max-width: 586px;
	position: relative;
}
.point__box .point__box_def.point__box--1 .point__box_def--txt .box_l::after {
	content: "";
	display: block;
	width: 275px;
	height: 188px;
	background-image: url(../imgs/bg_point__box_def.point__box--1_after.svg);
	background-position: center bottom;
	background-repeat: no-repeat;
	position: absolute;
	bottom: -33px;
	left: 50%;
	transform: translateX(-50%);
}
.point__box .point__box_def.point__box--1 .point__box_def--txt .box_r {
	width: 100%;
	max-width: 316px;
}

.point__box .point__box_def.point__box--2 .point__box_def--txt {
	display: flex;
	flex-direction: column;
	gap: 48px;
}
.point__box .point__box_def.point__box--2 .point__box_def--txt .box_u {
	width: 100%;
}
.point__box .point__box_def.point__box--2 .point__box_def--txt .box_d {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

.point__box .point__box_def.point__box--3 .point__box_def--txt {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.point__box .point__box_def.point__box--3 .point__box_def--txt .box_u {
	width: 100%;
	margin-bottom: 28px;
}
.point__box .point__box_def.point__box--3 .point__box_def--txt .box_d {
	width: 100%;
	max-width: 994px;
	margin: 0 auto;
}
.point__box .point__box_def.point__box--3 .contact {
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 10px;
}
.point__box .point__box_def.point__box--3 .contact .pc img {
	display: block;
	width: 608px;
	margin: 0 auto;
	padding-top: 43px;
	padding-bottom: 43px;
}

.product {
	position: relative;
	width: 100%;
	padding-top: 100px;
	padding-bottom: 100px;
}
.product__inner {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
.product__inner .product__inner-ttl {
	width: 100%;
	max-width: 666px;
	margin: 0 auto 16px auto;
}



div.campaign-lst1 {
	display: block;
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}
dl.campaign-lst {
	width: 100%;
	border: 3px solid #006CB8;
	box-sizing: border-box;
	font-weight: 500;
}
dl.campaign-lst dt {
	color: #FFFFFF;
	background: #006CB8;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	width: 188px;
	padding: 10px 0;
	box-sizing: border-box;
	border-bottom: 1px solid #FFFFFF;
}
dl.campaign-lst dd {
  width: calc(100% - 188px);
  background-color: #FFFFFF;
  padding: 10px 16px;
  box-sizing: border-box;
  border-bottom: 1px solid #848484;
}

dl.campaign-lst dd ol,
dl.campaign-lst dd ul {
  font-size: 14px;
}
ul.asterisk {
  margin-left: 1.25em;
}
dl.campaign-lst dd.bgy {
  background-color: #FFFEF0;
}
dl.campaign-lst dd .kinri {
  width: 100%;
	max-width: 300px;
	margin-right: 25px;
}
dl.campaign-lst dt:last-of-type,
dl.campaign-lst dd:last-of-type {
  border-bottom: none;
}

ol.num {
  list-style: none;
  counter-reset: count 0;
  margin-left: 0.75em;
}
ol.asterisk-num li {
	text-indent: -2.3em;
	margin-left: .7em;
}
ol.asterisk-num li::before {
	content: "※"counter(count)" ";
	counter-increment: count 1;
	margin-right: 0.5em;
}
ul.asterisk li::before {
	content: '※';
	margin-right: 0.25em;
}
ol.asterisk-num {
  list-style: none;
  counter-reset: count 0;
  margin-left: 1.5em;
}
dl.campaign-lst dd ul li {
  text-indent: -1.25em;
  margin-left: 0;
	font-weight: 400;
}
dl.campaign-lst dd ul li span.ul {
	text-decoration: underline;
}

.c-btn1 {
	width: 100%;
	background-color: #006CB8;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 4px;
	color: #FFF;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.48px;
	text-decoration: none;
}
.c-btn1.pdf {
	background-image: url(../imgs/c-btn__pdf_white.svg);
	background-repeat: no-repeat;
	background-position: right 20px center;
}
.c-btn1.bg_w {
	width: 100%;
	background-color: #FFF;
	color: #333333;
	background-image: url(../imgs/c-btn__arrow_blue.svg);
	background-repeat: no-repeat;
  background-position: right 20px center;
	border: 1px solid #DDDDDD;
}

.c-btn1:hover {
	opacity: 0.8;
}

.c-btn2 {
	width: 100%;
	background-color: #FFFFFF;
	border-radius: 10px;
	border: solid 2px #006CB8;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	color: #006CB8;
	text-align: center;
	font-family: "M PLUS 2";
	font-size: 16px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.48px;
	text-decoration: none;
}

.c-btn2:hover {
	opacity: 0.8;
}

.btns {
	width: 90%;
	max-width: 580px;
	margin: 64px auto 0 auto;
}

.btns__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
}

.btns__btn {
	width: 100%;
	height: 64px;
}

.btns__btn span {
	width: 14px;
	height: 14px;
	margin-top: 4px;
}

.cta {
	width: 100%;
	background-color: #CCE6F7;
	padding-top: 54px;
	padding-bottom: 57px;
	padding-left: 13px;
	padding-right: 14px;
}

.cta__inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	border-radius: 10px;
}

.cta__title {
	color: #1D6BB2;
	font-family: "Noto Sans JP";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	text-align: center;
	margin-bottom: 18px;
}

.cta__list {
	display: flex;
	align-items: center;
	background-color: #FFFFFF;
	border: 6px solid #EFF6F7;
	padding: 19px 0;
}

.cta__tel {
	width: 50%;
	border-right: 1px solid #707070;
	padding-top: 8px;
	padding-bottom: 2px;
}

.cta__tel-title {
	color: #222;
	font-family: "Noto Sans JP";
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 5px;
	text-align: center;
}

.cta__tel-item {
	width: 100%;
	max-width: 285px;
	margin: 0 auto;
}

.cta__contact {
	width: 50%;
}

.cta__contact-title {
	color: #222;
	font-family: "Noto Sans JP";
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-bottom: 6px;
	text-align: center;
}

.cta__contact-btn {
	max-width: 248px;
	height: 58px;
	margin: 0 auto;
}

.cta__contact-btn span {
	width: 14px;
	height: 14px;
}

.point__box .point__box_def .asterisk {
	margin-left: 1em;
	font-size: 14px;
	color: #3F3D3C;
	margin-bottom: 24px;
}

.point__box .point__box_def .asterisk li {
  text-indent: -1.25em;
  margin-left: 0;
  font-weight: 400;
}



/*PC ONLY*/
@media (min-width: 768px),
print {
	/* 画面サイズ768px以上の場合適用されるスタイルを記述してください
	主にPCで見た場合でのスタイル設定を想定しています。 */
}

/*SP ONLY*/
@media (max-width: 767px) {

	/* 画面サイズ767px以下の場合適用されるスタイルを記述してください
	主にスマホサイズでのスタイル設定を想定しています
	タブレットのスタイルを打ち消す際もここで記述してさい */
	.pc-on {
		display: none;
	}

	.sp-on {
		display: block;
	}

	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

	.pc_i {
		display: none;
	}
	.sp_i {
		display: inline;
	}

	.mv {
		padding-bottom: 15px;
	}

	.point__inner {
		padding-right: 5%;
		padding-left: 5%;
	}
	.point__inner .pc-on.pnt__img {
		display: none;
	}
	.point__inner .sp-on.pnt__img {
		display: block;
		max-width: 100%;
	}

	.point__box .point__box_def .point__box_def--txt {
    padding: 5%;
	}

	.point__box .point__box_def.point__box--1 .point__box_def--txt {
		flex-direction: column;
    gap: 17px;
	}
	.point__box .point__box_def.point__box--1 .point__box_def--txt .box_l::after {
    display: none;
	}
	.point__box .point__box_def.point__box--1 .point__box_def--txt .box_r {
    width: 100%;
    max-width: 280px;
		margin: 0 auto;
	}
	.point__box .point__box_def.point__box--3 .point__box_def--txt .box_d {
    max-width: 272px;
	}
	.point__box .point__box_def.point__box--3 .contact {
		width: calc(100% + 10%);
		margin: 0 -5% -5% -5%;
		border-radius: 0;
	}
	.point__box .point__box_def.point__box--3 .contact img {
		width: 100%;
		max-width: 338px;
		display: block;
		margin: 0 auto;
	}
	.product__inner .product__inner-ttl {
    max-width: 320px;
	}


	div.campaign-lst1:last-of-type {
		width: 90%;
		margin: 0 auto;
	}

	dl.campaign-lst {
		flex-direction: column;
		border: none;
	}
	dl.campaign-lst dt {
    width: 100%;
	}
	dl.campaign-lst dd {
    width: 100%;
		flex-direction: column;
		gap: 16px;
		align-items: flex-start;
    padding: 4%;
	}

	dl.campaign-lst dd.sp_tc {
		text-align: center;
	}

	dl.campaign-lst dd .kinri {
	  margin: 0 auto;
		max-width: 340px;
	}

	.btns__inner {
		flex-direction: column;
		align-items: center;
		gap: 13px;
	}

	.c-btn1.bg_w {
		justify-content: start;
	}

	.cta {
		padding-top: 57px;
		padding-bottom: 48px;
	}

	.cta__title {
		color: #1D6BB2;
		font-family: "Noto Sans JP";
		font-size: 19px;
		font-style: normal;
		font-weight: 700;
		line-height: 160%;
	}

	.cta__list {
		flex-direction: column;
		padding-top: 26px;
		padding-bottom: 33px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.cta__tel {
		width: 100%;
		border-right: initial;
		padding-top: initial;
		padding-bottom: initial;
		border-bottom: solid 1px #707070;
	}

	.cta__tel-title {
		color: #222;
		font-family: "Noto Sans JP";
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
	}

	.cta__tel-item {
		max-width: 259px;
		margin-bottom: 22px;
	}

	.cta__contact {
		width: 100%;
		padding-top: 20px;
	}

	.mv__header {
		width: 160px;
	}
	.mv__header {
		width: 100%;
		max-width: 90%;
		margin: 0 auto;
	}

	.mv__header img {
		width: 150px;
	}

	.pc-on.mv__img {
		display: none;
		width: 100%;
		max-width: 1440px;
		margin: 0 auto;
	}
	.sp-on.mv__img {
		display: block;
		max-width: 100%;
	}

	.btns__btn {
		height: auto;
		padding: 17px 50px 17px 20px;
	}
}

@media (max-width: 490px) {
	.point__box--2 .point__box-img {
		margin-left: 0px;
	}
}

/* 印刷ビュー */
@media print {
	/* 印刷時にのみ適用されるスタイルを記述してください */
}


/* -------------------------------------------- */
/* flex                                         */
/* -------------------------------------------- */
.flex {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.jc_st {
  justify-content: start;
}
.jc_en {
  justify-content: end;
}
.jc_c {
  justify-content: center;
}
.jc_fs {
  justify-content: flex-start;
}
.jc_fe {
  justify-content: flex-end;
}
.jc_l {
  justify-content: left;
}
.jc_r {
  justify-content: right;
}
.jc_sb {
  justify-content: space-between;
}
.jc_sa {
  justify-content: space-around;
}
.jc_se {
  justify-content: space-evenly;
}
.jc_sc {
  justify-content: stretch;
}
.fw_nw {
  flex-wrap: nowrap;
}
.fw_wr {
  flex-wrap: wrap-reverse;
}
.fd_rr {
  flex-direction: row-reverse;
}
.fd_cm {
  flex-direction: column;
}
.ff_cm {
  flex-flow: column;
}
.ai_s {
  align-items: start;
}
.ai_c {
  align-items: center;
}
.ai_e {
  align-items: end;
}
.ai_fe {
  align-items: flex-end;
}
.ai_st {
  align-items: stretch;
}
.wfit {
  width: fit-content;
}
.hfit {
  height: fit-content;
}

/* -------------------------------------------- */
/* text                                         */
/* -------------------------------------------- */
.tl {
  text-align: left;
}
.tc {
  text-align: center;
}
.tr {
  text-align: right;
}
.fs24 {
  font-size: 24px !important;
}
.fs20 {
  font-size: 20px !important;
}
.fs16 {
  font-size: 16px !important;
}
.fs14 {
  font-size: 14px !important;
}
.fs12 {
  font-size: 12px !important;
}


/* -------------------------------------------- */
/* margin                                       */
/* -------------------------------------------- */
.ml0 {
	margin-left: 0 !important;
}
.mr0 {
	margin-right: 0 !important;
}


/* -------------------------------------------- */
/* ol 米（※）マーク + num                       */
/* -------------------------------------------- */
ol.asterisk-num {
  list-style: none;
  counter-reset: count 0;
  margin-left: 1.5em;
}
ol.asterisk-num li {
  text-indent: -2.3em;
  margin-left: .7em;
}
ol.asterisk-num li::before {
  content: "※"counter(count)" ";
  counter-increment: count 1;
  margin-right: 0.5em;
}


/* -------------------------------------------- */
/* ol num                                       */
/* -------------------------------------------- */
ol.num {
  list-style: none;
  counter-reset: count 0;
  margin-left: 0.75em;
}
ol.num li {
  text-indent: -1.5em;
  margin-left: .7em;
}
ol.num li::before {
  content: counter(count)". ";
  counter-increment: count 1;
  margin-right: 0.5em;
}


/* -------------------------------------------- */
/* ul asterisk                                  */
/* -------------------------------------------- */
ul.asterisk {
	margin-left: 1.25em;
}


/* -------------------------------------------- */
/* ol num-maru                                  */
/* -------------------------------------------- */
ol.num-maru {
  list-style: none;
  counter-reset: count;
  padding-left: 0;
}

ol.num-maru li {
  counter-increment: count;
  position: relative;
  padding-left: 1.5em;
  line-height: 1.5;
}

ol.num-maru li::before {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
  line-height: 1.5;
  color: #333;
}

/* ①～⑳ まで nth-of-type で指定 */
ol.num-maru li:nth-of-type(1)::before  { content: "①"; }
ol.num-maru li:nth-of-type(2)::before  { content: "②"; }
ol.num-maru li:nth-of-type(3)::before  { content: "③"; }
ol.num-maru li:nth-of-type(4)::before  { content: "④"; }
ol.num-maru li:nth-of-type(5)::before  { content: "⑤"; }
ol.num-maru li:nth-of-type(6)::before  { content: "⑥"; }
ol.num-maru li:nth-of-type(7)::before  { content: "⑦"; }
ol.num-maru li:nth-of-type(8)::before  { content: "⑧"; }
ol.num-maru li:nth-of-type(9)::before  { content: "⑨"; }
ol.num-maru li:nth-of-type(10)::before { content: "⑩"; }
ol.num-maru li:nth-of-type(11)::before { content: "⑪"; }
ol.num-maru li:nth-of-type(12)::before { content: "⑫"; }
ol.num-maru li:nth-of-type(13)::before { content: "⑬"; }
ol.num-maru li:nth-of-type(14)::before { content: "⑭"; }
ol.num-maru li:nth-of-type(15)::before { content: "⑮"; }
ol.num-maru li:nth-of-type(16)::before { content: "⑯"; }
ol.num-maru li:nth-of-type(17)::before { content: "⑰"; }
ol.num-maru li:nth-of-type(18)::before { content: "⑱"; }
ol.num-maru li:nth-of-type(19)::before { content: "⑲"; }
ol.num-maru li:nth-of-type(20)::before { content: "⑳"; }


/* main-content.scss over write */
.l-content {
  padding-bottom: 0;
}
.l-footeraside {
	display: none;
}
@media (max-width: 767px) {
	.l-content {
		padding-bottom: 0;
	}
}

