h1 {
	padding-left: 0;
}

div.maincontents h2 {
	padding: 5px 10px;
	color: #0069b7;
	margin: 0 0 20px 0;
	border-bottom: 2px solid #0069b7;
	background: #fff;
}

.listAnchor {
	color: #1e366a;
	border: dashed #1e366a 2px;
	padding: 0.5em 0.5em 0.5em 2em;
	margin: 0 0 0.5em 0;
}

.listAnchor ul li {
	line-height: 1.5;
	padding: 0.5em 0;
}

.related a {
	border-bottom: solid 2px #808080;

}

.category_list {
	overflow: hidden;
}

.item_list {
	margin-bottom: 30px;
}

.item_list li:last-child a {
	width: 140px;
	height: auto;
}

.item_list li:last-child a .more_list {
	margin-top: 12.5%;
	position: relative;
	text-align: center;
	padding: 50% 0 25% 0;
	background: #e0e0e0;
}

.item_list li:last-child a .more_list span {
	font-size: 1rem;
	transition: ease all 0.3s;
}

.item_list li:last-child a .more_list span:before {
	content: "\f101";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
	font-size: 2rem;
	top: 25%;
	left: 38%;
	transition: ease all 0.3s;
}

.item_list li:last-child a:hover {
	color: #0069b7;
}

.item_list li:last-child a:hover .more_list span {
	font-size: 1.2rem;
}

.item_list li:last-child a:hover .more_list span:before {
	transform: scale(1.2);
}

.item_list ul li a {
	width: 180px;
}

.cateicon span {
	display: inline-block;
	font-size: 0.7rem;
	border: 1px solid #ccc;
	background: rgba(239, 239, 239, 0.8);
	border-radius: 5px;
	padding: 0.1rem 0.2rem;
	margin: 0.1rem;
	float: left;
	color: #666;
	line-height: 1.4;
}

.item_title {
	clear: both;
}

.category_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 30px;
}

.category_table th {
	background: #0069b7;
	color: #fff;
	border: 1px solid #d0d0d0;
	max-width: 35%;
	padding: 14px;
	line-height: 1.5;
	width: auto;
}

.category_table.plusimg {
	width: 100%;
}

.category_table.plusimg th {
	/*     background: #fff;*/
	width: 140px;
	text-align: center;
}

.category_table.plusimg img {
	display: block;
	max-width: 140px;
	width: 100%;
}

.category_table td {
	border: 1px solid #d0d0d0;
	padding: 14px;
	line-height: 1.5;
}

/*特徴の表部分*/
.category_table.plusimg th {
	background: #fff;
}

.category_table.plusimg .itemname {
	display: block;
	color: #444;
	border-bottom: 1px solid #d0d0d0;
}

.category_table.plusimg .tolink {
	margin-top: 1rem;
	margin-bottom: 0;
}

.category_table.plusimg .tolink a {
	border-bottom: 1px solid;
}

.category_table.plusimg .tolink a:before {
	content: "\f101";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.25rem;
}

/*　▲　特徴の表部分*/


.category_capture {
	margin-bottom: 30px;
}

.category_capture p {
	margin-bottom: 10px;
}

.subItem_list {}

.subItem_list ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	border-top: 1px solid #ddd;
	margin-bottom: 30px;
}

.subItem_list ul li {
	width: 161px;
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
}

.subItem_list ul li .listimg {
	width: 100%;
	overflow: hidden;
	padding: 5px;
}

.subItem_list ul li .listimg img {
	width: 100%;
	transition: ease all 0.3s;
}

.subItem_list ul li a {
	display: block;
	overflow: hidden;
	padding: 10px;
	width: 161px;
	position: relative;
}

.subItem_list ul li:nth-child(4n+1) {
	border-left: 1px solid #ddd;
}

.subItem_list ul li a:hover {
	background: #e2e2e2;
}

.subItem_list ul li a:hover .listimg img {
	transform: scale(1.2);
	opacity: 0.8;
}


/************
キャンペーンページ
************/
#contents.campaign {
	width: 100%;
	max-width: 1200px;
}

#contents.campaign .camp_cont {
	max-width: 1000px;
	margin: 0 auto 40px;
	width: 100%;
}

#contents.campaign .breadcrumb {
	margin-bottom: 20px;
}

.campaign_container h2 {
	background: initial;
	border-bottom: 1px solid #0069b7;
	color: #444;
	position: relative;
	padding-left: 2em;
	width: 100%;
}

.campaign_container h2:before {
	content: "";
	width: 1.25em;
	height: 1.25em;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0.25em;
	border-radius: 100%;
	display: inline-block;
	transform: rotate(-45deg);
	border: 1px solid #0069b7;
}

.campaign_container h2:after {
	content: "";
	width: 0.75em;
	height: 0.75em;
	position: absolute;
	left: 0.875em;
	top: 0.875em;
	border-radius: 100%;
	display: inline-block;
	transform: rotate(45deg);
	z-index: 2;
	background: radial-gradient(circle, #5aaeed, #0069b7);
}

.campaign_container h3 {
	border-bottom: 1px solid #0069b7;
}

.campaign_container p {
	margin-bottom: 20px;
	line-height: 1.7;
}

.campaign_container img {
	display: block;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 20px;
	object-fit: cover;
	height: 480px;
}

.leadBold {
	font-weight: bold;
	display: block;
	font-size: 1.2em;
	text-align: center;
	margin: 0 auto 20px;
}

.jump_link {
	overflow: hidden;
	padding: 0 2em 20px;
	text-align: right;
	position: relative;
}

.jump_link a {
	display: inline-block;
	font-size: 1.2em;
	text-decoration: underline;
}

.jump_link a:before {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding: 0 0.5rem;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 1.5em;
}

.casebox_01 {
	border: 4px solid #5aaeed;
	padding: 1rem 1.5rem 1.5rem 1.5rem;
	width: 80%;
	margin: 0 auto 20px;
}

.casebox_01 ul li {
	padding: 0.5rem 0;
	border-bottom: 1px dashed #0069b7;
	list-style: none;
}

.casebox_01 .casebox_icon {
	display: inline-block;
	padding: 0.2rem 0.5rem;
	background: #0069b7;
	border-radius: 25px;
	margin-right: 1.5rem;
	color: #fff;
}

.casebox_02 {
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 20px;
}

.casebox_02 .panel {
	display: block;
	width: 100%;
	display: flex;
	justify-content: space-between;
	max-width: 31%;
	color: #444;
	border: 1px solid #0069b7;
	margin-bottom: 1rem;
	position: relative;
	background: #fff;
	transition: 0.4s all;
}

.casebox_02 .panel:not(:nth-child(3n)) {
	margin-right: 2%;
}

.casebox_02 .panel:before {
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
	position: absolute;
	top: 0.2rem;
	left: 0.2rem;
	border: 1px solid #4db3ff;
}

.casebox_02 .panel:hover,
.casebox_02 .panel:hover:before {
	opacity: 0.7;
}

.panel_l {
	width: 30%;
}

.panel_l img {
	display: block;
	width: 100%;
	object-fit: cover;
	height: 160px;
	margin-bottom: 0;
}

.panel_r {
	width: 75%;
	padding: 0.5rem;
	position: relative;
}

.panel_r:before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-bottom: 10px solid #0069b7;
	border-left: 10px solid transparent;
	border-top: 10px solid transparent;
	position: absolute;
	bottom: 0.2rem;
	right: 0.2rem;
}

.panel_r .panel_head,
.panel_r .panel_subhead,
.panel_r .panel_txt,
.panel_r .panel_link {
	display: block;
	font-size: 12px;
}

.panel_r .panel_head {
	font-weight: bold;
	text-align: center;
	font-size: 14px;
	margin-bottom: 0.4rem;
}

.panel_r .panel_subhead {
	margin-bottom: 0.2rem;
}

.panel_r .panel_txt {
	padding-bottom: 0.2rem;
	margin-bottom: 0.2rem;
	line-height: 1.2
}

.panel_r .panel_link {
	border-top: 1px solid #0069b7;
	text-align: right;
	font-size: 14px;
	padding: 0.25rem 1.5rem;
	position: absolute;
	bottom: 0.5rem;
	width: calc(100% - 0.8rem);
}

.noscroll_2 {
	width: 100%;
	max-width: 800px;
	border: 1px solid #ccc;
	border-collapse: collapse;
	margin-bottom: 1rem;
	margin: 0 auto 20px;
}

.noscroll_2 th,
.noscroll_2 td {
	padding: 1rem;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	min-width: 125px;
	vertical-align: text-top;
}

.noscroll_2 td.nobdr {
	padding-top: 0;
	border-top: none;
}

.noscroll_2 th {
	white-space: nowrap;
	background: #eee;
	width: 50%;
}

.noscroll_2 td img {
	width: 100%;
	max-width: 200px;
	object-fit: initial;
	height: initial;
	margin: 0 auto;
}

.noscroll_2 td .intblLink,
.reviews_box_text .intblLink {
	display: block;
	text-align: right;
	margin: 1rem 0;
}

.reviews_box_text .intblLink {
	margin: 1rem 0 0;
}

.noscroll_2 td.nobdr .intblLink {
	text-align: left;
}

.noscroll_2 td .intblLink:before,
.reviews_box_text .intblLink:before {
	content: "⇒";
}

.reviews_box {
	max-width: 90%;
	padding: 1rem;
	border: 2px solid #5aaeed;
	margin: 0 auto 40px;
	position: relative;
	border-radius: 5px;
	background: linear-gradient(180deg, #fff 70%, #eee 95%);
}

.reviews_box .reviews_box_h {
	position: absolute;
	display: inline-block;
	bottom: calc(100% - 1.25rem);
	left: 1rem;
	padding: 0.5rem;
	background: #fff;
	font-size: 1.125em;
	font-weight: bold;
}

.casebox_03 {
	max-width: 90%;
	margin: 0 auto 40px;
	border: #5aaeed solid 2px;
	padding: 1rem;
}

.casebox_03 a {
	display: block;
	width: 100%;
	padding: 0.5rem;
}

.casebox_03 a:before {
	content: "⇒";
	margin-right: 0.5rem;
}

.linkbox_cont {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}

.linkbox {
	width: 31%;
	border: 1px solid #ddd;
	margin: 0 2% 2% 0;
	position: relative;
}

.linkbox:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgb(0 0 0 / 20%);
	z-index: 1;
	width: 100%;
	height: 100%;
	transition: 0.4s;
}

.linkbox:hover:before {
	height: 0;
}

.linkbox_cont img {
	display: block;
	width: 100%;
	object-fit: cover;
	height: 200px;
	margin: 0;
}

.linkbox_text {
	position: absolute;
	display: block;
	width: 100%;
	text-align: center;
	top: 0;
	color: #fff;
	font-size: 1.25rem;
	padding: 0.5rem 0;
	/* background: rgb(165 219 247 / 25%); */
	z-index: 2;
}

.linkbox:hover {
	text-shadow: 0 0 3px #000;
}

.campaign_box {
	display: flex;
	justify-content: flex-start;
}

.campaign_boxL {
	position: relative;
	width: 40%;
}

.campaign_boxL img {
	height: inherit;
}

.c_box_icon {
	max-width: 80px;
	position: absolute;
	left: -0.5rem;
	top: -1rem;
}

.c_box_icon img {
	width: 100%;
	display: block;
}

.campaign_boxL {
	padding: 1rem;
	box-sizing: border-box;
}

.campaign_detailbox {
	display: flex;
	justify-content: space-around;
}

.detailbox_text1,
.detailbox_text2 {
	color: #dc0000;
	font-size: 1rem;
}

.detailbox_link {
	border-bottom: 1px solid;
}

.detailbox_link:after {
	content: "\f101";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-left: 0.25rem;
}

/*キャンペーン*/
.campaign_container img.height_auto {
	height: auto;
}

.camp_ranking_cover {
	display: flex;
	justify-content: space-between;
	margin: 40px 0;
}

.camp_ranking {
	width: 32%;
	border: 10px solid #0069b7;
	box-sizing: border-box;
	padding: 20px;
	transition: 0.5s;
}


.campaign_container .camp_ranking h3 {
	border-bottom: 1px solid #0069b7;
	margin: 0;
	padding: 5px 10px 10px;
	color: #0069b7;
	font-size: 19px;
}

.camp_ranking_l {
	position: relative;
}

.camp_ranking_l .c_box_icon {
	position: absolute;
	left: 0rem;
	top: -0.5em;
}

.campaign_container .camp_ranking_l .c_box_icon img {
	margin: 0;
}

.campaign_container .camp_ranking_l .c_box_icon img {
	width: 100%;
	display: block;
	height: auto;
}

.campaign_container .camp_ranking_l img {
	width: 80%;
	height: auto;
	margin: 20px auto 15px;
}

.campaign_container a .camp_ranking_r p {
	margin-bottom: 10px;
	color: #333;
}

.camp_ranking_detail {
	display: flex;
}

.camp_ranking_detail_text {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	background: #dc1d09;
	padding: 5px 10px;
	margin-right: 10px;
}

.camp_ranking_link {
	margin: 15px 0;
	display: inline-block;
}

.camp_ranking_link:hover,
a:hover .camp_ranking_link {
	color: #0069b7;
}

.camp_ranking:hover {
	opacity: 0.6;
}

.camp_setitem_cover {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 40px;
}

.camp_setitem_cover:after {
	content: "";
	width: 32%;
	display: block;
}

.camp_setitem {
	width: 32%;
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
	padding: 15px;
	border: 1px solid #ddd;
	box-sizing: border-box;
}

.camp_setitem_l {
	width: 40%;
}

.camp_setitem_l img {
	width: 100%;
	height: auto;
	transition: 0.5s;
}

.camp_setitem_l img:hover {
	opacity: 0.6;
}

.camp_setitem_r {
	width: 55%;
}

.camp_setitem_title {
	color: #0069b7;
	font-size: 16px;
	line-height: 1.4;
	text-align: initial;
	margin-bottom: 10px;
}

.camp_setitem_cat_cover {
	display: flex;
	margin-bottom: 10px;
}

.camp_setitem_cat {
	background: #f6f6f6;
	padding: 2px 5px;
	border: 1px solid #333;
	border-radius: 10px;
	font-size: 14px;
	margin-right: 10px;
}

.camp_setitem_detail {
	margin-bottom: 10px;
}

.camp_setitem_detail_text {
	color: #dc1d09;
	font-size: 15px;
	font-weight: 600;
	display: block;
	line-height: 1.6;
}

.camp_setitem_cart a {
	display: block;
	width: 100%;
	border-top: 3px solid #ff2300;
	border-left: 3px solid #ff2300;
	border-right: 2px solid #9e1919;
	border-bottom: 2px solid #9e1919;
	border-radius: 10px;
	background: #dc1d09;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	position: relative;
	padding: 10px;
	line-height: 1;
	text-align: center;
	overflow: hidden;
	margin: 0 auto;
}

.camp_setitem_cart a:hover {
	border-top: 3px solid #9e1919;
	border-left: 3px solid #9e1919;
	border-right: 2px solid #ff2300;
	border-bottom: 2px solid #ff2300;
	opacity: 0.8;
	cursor: pointer;
}

/*キャンペーン summer-item*/
.summer-item .linkbox_cont {
	justify-content: space-between;
}

.summer-item .linkbox {
	margin: 0 0 2% 0;
	width: 46%;
}

.summer-item .linkbox_cont img {
	width: 100%;
	height: 300px;
}

.summer-item .linkbox_text {
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	left: 50%;
	top: 50%;
}

/* 睡眠薬フローチャート用 */
.step_box{
margin-top: 30px;
}
div.maincontents .step_box h2 {
	background: #0069b7;
	color: #fff;
	border: none;
	margin-bottom: 30px;
}

.step_box_cover01 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2em;
}

.step_box01 {
	width: 80%;
}

.step_box_h {
	border: 1px solid #333;
	text-align: center;
	padding: 5px;
	line-height: 25px;
	background: #e2e2e2;
	border-radius: 5px;
}

.step_box_h.first_box_h {
	line-height: 50px;
}

.step_box_cover02 {
	display: flex;
	justify-content: space-between;
}

.step_box02 {
	width: 48.5%;
}

.step_box_ber {
	text-align: center;
	position: relative;
	font-weight: 600;
	font-size: 1.1em;
}

.step_box_ber.bar_red {
	color: #dc1d09;
}

.step_box_ber.bar_blue {
	color: #0069b7;
}

.dli-arrow-down {
	display: block;
	vertical-align: middle;
	color: #333;
	line-height: 1;
	position: relative;
	width: 2px;
	height: 1.5em;
	background: currentColor;
	margin: 5px auto;
	text-align: center;
}

.dli-arrow-down.bar_red {
	color: #dc1d09;
}

.dli-arrow-down.bar_blue {
	color: #0069b7;
}

.dli-arrow-down::before {
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: 0.1em solid currentColor;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	position: absolute;
	left: 50%;
	bottom: -0.05em;
	box-sizing: border-box;
}

.dli-arrow-down.arrow-none::before {
	content: none;
}

.step_box_cover03 {
	display: flex;
	justify-content: space-between;
}

.step_box03 {
	width: 48%;
}

.step_box04 a {
	transition: 0.6s;
}

.step_box04 a:hover {
	opacity: 0.6;
}

.step_box04_inner {
	border: 1px solid #333;
	border-top: none;
	border-radius: 0 0 5px 5px;
	padding: 0 0 5px;
}

.step_box04_h {
	text-align: center;
	font-weight: 600;
	font-size: 0.9em;
	line-height: 2.4;
	background: #0069b7;
	color: #fff;
	border-radius: 4px 4px 0 0;
}

.step_box04_img img {
	width: auto;
	height: 100px !important;
	margin: 0 auto;
	max-width: 100%;
	display: block;
}

.step_box04_text {
	line-height: 40px;
	text-align: center;
	padding: 0 5px;
	height: 40px;
	box-sizing: border-box;
	font-size: 14px;
}

.step_box01.second_box {
	width: 18%;
	display: flex;
	flex-direction: column;
}

.step_box01.second_box .black_bar {
	flex-grow: 1;
	background: #333;
	width: 2px;
	margin: 5px auto;
	position: relative;
}

.step_box01.second_box .black_bar:before {
	content: '';
	width: 0.65em;
	height: 0.65em;
	border: 0.1em solid currentColor;
	border-top: 0;
	border-right: 0;
	transform: rotate(-45deg);
	transform-origin: bottom left;
	position: absolute;
	left: 50%;
	bottom: -0.05em;
	box-sizing: border-box;
}

.step_box01.second_box .step_box04_text {
	line-height: 18px;
	padding: 2px 5px;
}

/* テキスト２行時の対応版（sb2xを設置） */
.step_box04_h.sb2x {
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: inherit;
}

.step_box04_inner.sb2x {
	padding: 5px 0;
}

.step_box04_text.sb2x {
	line-height: inherit;
	padding: 5px 0;
	height: 45px;
}


.step_box .sp_on {
	display: none;
}

[class^="step_box"] .sp_on {
	display: none;
}

.category_list .subItem_list .more_list {
	display: block;
	width: 60%;
	border: 2px solid #0069b7;
	background: #fff;
	padding: 0.5rem;
	border-radius: 10px;
	text-align: center;
	margin: 20px auto 40px;
	font-size: 1rem;
	color: #0069b7;
	cursor: pointer;
}

/* 20260521 */
/* カテゴリページ内 アイキャッチ画像（正方形用） */
.cat_intro_eyecatch{
    max-width: 500px;
    margin: 0 auto;
}
.cat_intro_eyecatch img{
    max-width: 100%;
    height: auto;
}

/* カテゴリページ内 アイキャッチ画像（横長ワイド用） */
.cat_intro_eyecatch_wide{
    max-width: 100%;
    margin: 0 auto;
}
.cat_intro_eyecatch_wide img{
    max-width: 100%;
    height: auto;
}