
html {
	font-size:62.5%;
}



body {
	font-size:1.6em;
	font-family: 'Noto Sans JP', sans-serif;
	color:#000;
	font-weight: 400;
}

* {
	box-sizing: border-box;
}

div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	font-size:1.6rem;
}



 /* --------------------------

基本サイズ10px
3rem = 30px
1.6rem = 16px

--------------------*/

.mincho {
	font-family: 'Shippori Mincho B1', serif;
}

.en {
	font-family: 'Lato', sans-serif;
}

#wrap,
section,
article,
main {
	width:100%;
	position:relative;
	overflow:hidden;
}

#wrap {
	opacity:0;
	/* transition:all 2s; */
}

.display_on {
	opacity:1!important;
}



main {
	padding:0px 0 0 0px;
	display:block;
}


.inner {
	width:100%;
	max-width:1300px;
	margin:0 auto;
	padding:0 50px;
}


img {
	max-width:100%;
	vertical-align:bottom;
}

/* ie svgが伸びる現象対策 親要素にwidthを必ず設定する */
/* --- IE のみ --- */
@media all and (-ms-high-contrast: none) {
	/* ここに書く */
	img[src$=".svg"] {
		width: 100%;
	}
	  
  }
  

  .obf_cover {
	width:100%;
}

.obf_cover img {
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.obf_contain {
	width:100%;
}

.obf_contain img {
	width:100%;
	height:100%;
	object-fit: contain;
	font-family: 'object-fit: contain;';
}

a {
	color:#000;
	transition:all .4s;
	cursor: pointer;
	text-decoration:none;
}

a:hover {
	color:#000;
	opacity:1;
	text-decoration:none;
}

a.a_link:hover {
	color:#f7ab00;
	text-decoration: underline;
}

p {
	font-size:1.6rem;
	line-height:1.75em;
}

h1,h2,h3,h4,h5,h6,dt,dd {
	line-height:1.2em;
}

small {
	line-height:1.2em;
}

.ec-layoutRole {
	background:none;
	overflow: hidden;
	padding-top:90px;
}

/* ブラウザ独自のフォーカス時の枠を回避 */
a:focus,
img:focus {
    outline: none;
}

h1:focus,
h2:focus,
h3:focus,
h4:focus,
h5:focus,
p:focus,
span:focus,
a:focus {
	text-decoration:none;
}

/* --- 複数行対応 3点リーダー css common.js内 --- */

/* --- 2行のときは height: calc(1.63em * 2 ); ---*/
  .js-text-overflow {
	overflow: hidden;
	height: calc(1.83em * 2);
	width: 100%;
	/* white-space: nowrap;
	text-overflow: ellipsis; */
  }

/* --- btn --- */

.btn_orange,
.btn_chien {
	width:240px;
	height:60px;
	line-height:58px;
	border:1px solid #f7ab00;
	background:#f7ab00;
	position:relative;
	text-align:center;
	margin:0 auto;
	display: block;
}

.btn_chien {
	border-color:#0CD1F7;
	background:#0CD1F7;
}

.btn_orange span,
.btn_chien span {
	position:relative;
	padding-right:1em;
	display: inline-block;
	text-align:center;
}

.btn_orange::before,
.btn_chien::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:#fff;
	position:absolute;
	left:0;
	top:0;
	transition:transform .4s;
	transform-origin: right center;
	transform: scale(0,1);
}

.btn_orange span::after,
.btn_chien span::after {
	content:"";
	display: block;
	width:5.7106px;
	height:10px;
	background:url(../img/common/btn_arrow_white.svg) no-repeat center / contain;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.btn_orange:hover span {
	color:#f7ab00;
}

.btn_orange:hover span::after {
	background:url(../img/common/btn_arrow_orange.svg) no-repeat center / contain;
}

.btn_chien:hover span {
	color:#0CD1F7;
}

.btn_chien:hover span::after {
	background:url(../img/common/btn_arrow_chien.svg) no-repeat center / contain;
}

.btn_orange:hover::before,
.btn_chien:hover::before {
	transform:scale(1,1);
	transform-origin: left center;
}

.btn2 {
	padding:40px 140px 40px 0px;
	position:relative;
	transition:color 0.4s;
}

.btn2 span {
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing: 0.1em;
	transition:color 0.4s;
}

.btn2::after,
.more::after {
	content:"";
	display: block;
	width:104px;
	height:104px;
	background:url(../img/common/arrow_orange.svg) no-repeat center / contain;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
	transition:transform .4s , background .4s;
}

.btn2:hover span,
.more:hover {
	color:#0CD1F7;
}

.btn2:hover::after {
	background:url(../img/common/arrow_blue.svg) no-repeat center / contain;
	transform:scale(1.4);
}

.more {
	font-size:1.4rem;
	padding:22px 70px 22px 0;
	position:relative;
	color:#F7ab00;
	letter-spacing: 0.1rem;
	display: inline-block;
	transition:color 0.4s;
}

.more::after {
	width:54px;
	height:54px;
	background:url(../img/common/more_orange.svg) no-repeat center / contain;
}

.more:hover::after {
	background:url(../img/common/more_blue.svg) no-repeat center / contain;
	transform:scale(1.4);
}
/* --- flex --- */

.d_flex {
	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
}

.fle_wra {
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

.nowrap {
	-webkit-flex-wrap:nowrap;
	-ms-flex-wrap:nowrap;
	flex-wrap:nowrap;
}

.jus_ce {
	-webkit-justify-content:center;
	-ms-flex-pack:center;
	justify-content:center;
}

.jus_sb {
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between;
}
.jus_ar {
	-webkit-justify-content:space-around;
	-ms-flex-pack:distribute;
	justify-content:space-around;
}
.jus_end {
	-webkit-justify-content:flex-end;
	-ms-flex-pack:end;
	justify-content:flex-end;
}

.ali_ce {
	-webkit-align-items:center;
	-ms-flex-align:center;
	align-items:center;
}
.ali_st {
	-webkit-box-align: start;
	-ms-flex-align:start;
	align-items:flex-start;
}

.ali_end {
	-webkit-align-items:flex-end;
	-ms-flex-align:end;
	align-items: flex-end;
}

/* --- flex space-between対策 3block --- */

.sb_cp {
	position:relative;
}

.sb_cp::after {
	content:"";
	display: block;
	width:30%;
}


.pc_none {
	display:none;
}

.tex_ce {
	text-align:center;
}

.tex_ri {
	text-align:right;
}

.fw_light {
	font-weight:300;
}

.fw_normal {
	font-weight:400;
}

.fw_medium {
	font-weight:500;
}

.fw_semibold {
	font-weight:600;
}

.fw_bold {
	font-weight:700;
}

.fs_ita {
	font-style:italic;
}



/* --- d_shadow --- */

.d_shadow {
	box-shadow: 15px 13px 10px 0px rgba(0,0,0,0.1);
}


/* --- color --- */

.white {
	color:#fff;
}

.orange {
	color:#f7ab00;
}

.orange2 {
	color:#ff8e00;
}

.red {
	color:#f40000;
}

.gray {
	color:#96a0a4;
}

.gold {
	color:#b79952;
}

.silver {
	color:#9d9b97;
}

.bronze {
	color:#965645;
}

.chien {
	color:#0cd1f7;
}

.bg_chien {
	background:#0cd1f7;
}


.bg_gray {
	background:#fafafa;
}


.bg_white {
	background:#fff;
}

.bg_orange {
	background:#f7ab00;
}

.bg_red {
	background:#FE0300;
}

/* --- fontawesome --- */

/* --- h_title --- */

.h_title,
.h_title2 {
	/*font-size:1.8rem;*/
	font-size:3rem;
	line-height:1.2em;
	position:relative;
	padding-bottom:3em;
	margin-bottom:120px;
	font-weight:bold;
}

.h_title2 {
	text-align:center;
}

.h_title::before,
.h_title::after,
.h_title2::after {
	content:"";
	display: block;
	height:2px;
	position:absolute;
	left:0;
	bottom:0;
}

.h_title::before {
	width:150px;
	background:#e9e9e9;
}

.h_title::after,
.h_title2::after {
	width:40px;
	background:#F7ab00;
}

.h_title2::after {
	right:0;
	margin:0 auto;
}

.h_title span,
.h_title2 span  {
	/*font-size:6.2rem;*/
	font-size:2.4rem;
	display: block;
	margin-bottom:0.4em;
	line-height:1em;
	font-weight:700;
	letter-spacing: 0.1em;
	color:#f7ab00;
}

.h_title3 {
	padding:0.1em 0 0.2em 0.5em;
	font-size:2.4rem;
	border-left:0.3em solid #f7ab00;
	font-weight:500;
}

.h_title3 span {
	font-size:1.6rem;
	display: block;
	color:#96a0a4;
	margin-bottom:0.2em;
	letter-spacing: 0.1em;
}


/* --- price wrap --- */

.price_wrap p {
	text-align:right;
}

.no_tax,
.in_tax {
	font-size:3.2rem;
	font-family: 'Lato', sans-serif;
	font-weight:bold;
	letter-spacing: 0.1rem;
}

.in_tax {
	font-size:2rem;
	margin-left:0.5em;
}

.tax_name {
	font-size:1.2rem;
	margin-left:-0.2em;
	white-space: nowrap;
}

/* --- kome --- */

.kome {
	position:relative;
	padding-left:1.2em;
}

.kome::before {
	content:"※";
	display: block;
	width:1em;
	height:1em;
	font-size:1em;
	position:absolute;
	left:0;
	top:0;
}

/* --- tel_list --- */

.ten_list li {
	position:relative;
	padding-left:1.2em;
	line-height:1.5em;
}

.ten_list li:not(:last-of-type) {
	margin-bottom:0.5em;
}

.ten_list li::before {
	content:"・";
	display: block;
	width:1em;
	height:1em;
	position:absolute;
	left:0;
	top:0;
}



/* --- blog cate time --- */


.cate {
	background:#f7ab00;
	color:#fff;
	padding:0.2em 1em;
	text-align:center;
	display: inline-block;	
	font-size:1.2rem;
	font-weight:400;
}


/* --- .ec-layoutRole .ec-layoutRole__contents --- */

.ec-layoutRole .ec-layoutRole__contents {
	max-width:100%;
	display: block;
}

.search_favorite {
	margin:30px auto;
}

.search_favorite .ec-headerNav__item:nth-of-type(1),
.search_favorite .ec-headerNav__item:nth-of-type(3) {
	display: none;
}

.search_favorite .ec-headerNav__itemIcon {
	color:#F7ab00;
}


/* ---------  header ------------ */

header {
	width:100%;
	height:90px;
	z-index:80; 
	transition:all .4s;
	position:fixed;
	top:0;
	left:0;
	background:none;
    transform: translateY(0%);
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
	background:rgba(255,255,255,0.4);
}

header.active{
    transform: translateY(-100%);
}

header.active.topfixed,
header.topfixed {
	transform:translateY(0);
}

.header_logo {
	margin-right:1.5vw;

}

.header_logo img {
	width:218px
}

.header_inner {
	width:100%;
	padding:0 25px 0 50px;
	transition:all .4s;
}

.header_logo a:hover {
	opacity:1;
}

.header_link li {
	margin-right:1.5vw;
}

.header_link li a {
	line-height:1.25em;
	position:relative;
}

.header_link li a:hover,
.ec-headerNav__item a:hover .ec-headerNav__itemLink,
.ec-headerNav__item a:hover i {
	color: #f7ab00 !important;
}

.header_link li a::after {
	content:"";
	display: block;
	width:100%;
	height:1px;
	background:#f7ab00;
	position:absolute;
	left:0;
	bottom:0;
	transition:transform .4s;
	transform:scale(0,1);
	transform-origin: right center;
}

.header_link li a:hover::after {
	transform-origin: left center;
	transform:scale(1,1);
}


.header_right {
	padding-right:38px;
}


.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search,
.ec-headerSearch .ec-headerSearch__keyword {
	border-radius: 0!important;
}

header .ec-headerNaviRole__search,
header .ec-headerRole__cart {
	margin-right:1vw;
}

header .ec-headerNaviRole__search {
	width:320px;
}

header .ec-cartNavi {
	background:none;
}

header .ec-cartNavi__label {
	display: none;
}

header .ec-cartNavi .ec-cartNavi__badge {
	background-color:#f7ab00;
}

header .ec-cartNavi {
	min-width:45px;
	padding: 12px 6px 10px;
}

header .ec-headerNav,
header .ec-headerNav a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

header .ec-headerNav a span {
	padding-left:0.2em;
}

header .ec-headerNav__itemLink {
	display: none;
}

header .ec-headerNaviRole__nav {
	margin-right:25px;
}

header .ec-headerNav .ec-headerNav__item {
	display: block;
}

header .ec-headerNav .ec-headerNav__item:not(:last-of-type) {
	margin-right:0.5em;
}

header .ec-headerNav .ec-headerNav__item:nth-of-type(2) span,
header .ec-headerNav .ec-headerNav__item:nth-of-type(3) i {
	display: none;
}

header .ec-headerNav .ec-headerNav__itemIcon {
	margin-left:0;
}

@media screen and (max-width:1440px){

	header.active {
		transform: translateY(-132%);
	}

	.header_inner {
		padding:0 2% 0 3%;
	}
	.header_right {
		margin-top:45px;
	}

	header .ec-headerNaviRole__search {
		order:3;
		margin-top:10px;
	}

	header .ec-headerNaviRole__nav {
		margin-right:3%;
	}

	.ec-layoutRole {
		padding-top:135px;
	}
	
	
	
@media screen and (max-width:980px){

	header.active {
		transform: translateY(-100%);
	}
	.header_link,
	header .ec-headerNaviRole__search {
		display: none;
	}

	header nav .ec-headerNaviRole__search  {
		display: block;
	}

	.header_right {
		margin-top:0;
		width:70%;
	}
	.ec-layoutRole {
		padding-top:90px;
	}
	
}

}

/* 検索窓 */

.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
	padding:0.5em 28px 0.5em 1em;
}

.ec-headerSearch .ec-headerSearch__keywordBtn {
	right:0;
}

.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
	width:20px;
	height:20px;
}

/* ---------  Nav ------------ */


.nav_wrap.active {
	display: block;
}

.nav_wrap .header_logo {
	margin-bottom:2em;
}

.ec-categoryNaviRole {
	padding:0;
	line-height:1;
	max-width:100%;
	font-size:1.6rem;
}

.ec-itemNav {
	text-align:left;
}

.ec-itemNav__nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

.ec-itemNav__nav  li {
	float:none;
	text-align:left;
}

.ec-itemNav__nav li > a {
	padding:0.2em 2em 0.2em 0.2em;
	line-height:1.25em;
	font-weight:600;
	font-family: 'Shippori Mincho B1', serif;
	text-align:left;
	border-bottom:1px solid #96a0a4;
	position:relative;
	display: block;
}

.ec-itemNav__nav li > a.plus::before,
.ec-itemNav__nav li > a.plus::after {
	content:"";
	display: block;
	width:10px;
	height:1px;
	transform-origin: center;
	background:#96a0a4;
	position:absolute;
	top:0;
	right:4px;
	bottom:0;
	margin:auto 0;
	transition:transform .2s;
}

.ec-itemNav__nav li ul li > a::before,
.ec-itemNav__nav li ul li > a::after {
	display: none;
}

.ec-itemNav__nav li > a::after {
	transform:rotate(90deg);
}

.ec-itemNav__nav li:hover > a::after {
	transform: rotate(0deg);
}

/* 子カテゴリ */

.ec-itemNav__nav li ul {
	min-width:auto;
	width: 100%;
	padding:1.2em 0 2em;
	background:#fff;
	visibility: hidden;
}
/*
.ec-itemNav__nav li ul li:first-of-type {
	margin-top:1.5em;
}

.ec-itemNav__nav li ul li:not(:last-of-type) {
	margin-bottom:0.5em;
}
*/

.ec-itemNav__nav li:hover > ul {
	visibility: visible;
}

.ec-itemNav__nav li ul li a {
	border-bottom:none;
	padding:0.5em 1em 0.5em 0.2em;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:1.4rem;
	font-weight:400;
	background:#fff;
	line-height:1.25em;
	color:#707070;
}

.ec-itemNav__nav li:hover ul li:hover {
	background:none;
}

.ec-itemNav__nav li:hover > ul li:hover > a {
	background:#707070;
	color:#fff;
}

/* 孫カテゴリ */

.ec-itemNav__nav li ul li ul:before {
	display: none;
}

.ec-itemNav__nav li ul li ul {
	left:0;
	position:absolute;
	top:100%;
	background:#fff;
	width:100%;
	padding-top:0.75em;
}

.ec-itemNav__nav li ul li ul li {
	background:none;
}

.ec-itemNav__nav li:hover ul li:hover > ul > li > a {
	background:none;
}
.ec-itemNav__nav li ul li:hover > ul > li:hover a {
	background:#707070;
}


.nav_list > li {
	margin-left:2.8em;
	text-align:center;
}

.nav_list > li a {
	letter-spacing: 0.1rem;
}

.nav_list > li a .nav_en {
	font-size:1.2rem;
	display: block;
	text-align:center;
	margin-top:1em;
	transition:all .4s;
}

.nav_list > li a:hover .nav_en {
	color:#C22424;
}

/* header category nav */

header .nav_wrap {
	width:70%;
	min-width:720px;
	height:100vh;
	overflow-y:auto;
	transform:translateX(20px);
	background:#fafafa;
	padding:100px 50px 80px;
	position:fixed;
	right:0;
	top:0;
	z-index:10;
	transition:transform .4s, opacity .4s;
	opacity:0;
	visibility: hidden;
}


header .nav_wrap.active {
	transform:translate(0);
	opacity:1;
	visibility: visible;
}

header .ec-itemNav__nav.select_nav {
	display: block;
	margin-top:2em;
}

header .ec-itemNav__nav li > a {
	background:none;
	border-color:#96a0a4;
}

header .ec-itemNav__nav.select_nav li {
	width:100%;
	margin-bottom:0;
}
header .ec-itemNav__nav {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

header .ec-itemNav__nav > li {
	width:30%;
	margin-bottom:1em;
}

header .ec-itemNav__nav li ul {
	padding:1em 0 1.25em;
	background:#fafafa;
}

header .ec-itemNav__nav li ul li a {
	background:none;
}

header .ec-itemNav__nav.select_nav li > a {
	padding:0.75em 2em 0.75em 0.5em;
	font-size:1.8rem;
	position:relative;
}

header .ec-itemNav__nav.select_nav li > a:hover {
	color:#f7ab00;
}

header .ec-itemNav__nav.select_nav li > a.icon {
	padding-left:1.5em;
}

header .ec-itemNav__nav.select_nav li > a::after {
	content:"";
	width:16px;
	height:10px;
	display:block;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
	transform:rotate(0deg);
	background:url(../img/common/icon_arrow.svg) no-repeat center / contain;
}

header .ec-itemNav__nav.select_nav li > a.icon::before {
	content:"";
	display:block;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

header .ec-itemNav__nav.select_nav li > a.icon_hari::before {
	width:22px;
	height:20.16px;
	background:url(../img/common/icon_hari.svg) no-repeat center / contain;
}

header .ec-itemNav__nav.select_nav li > a.icon_taping::before {
	width:20px;
	height:21.32px;
	background:url(../img/common/icon_taping.svg) no-repeat center / contain;
}

header .ec-itemNav__nav.select_nav li > a.icon_derma::before {
	width:21px;
	height:20px;
	background:url(../img/common/icon_derma.svg) no-repeat center / contain;
}

header .ec-itemNav__nav.select_nav li > a.icon_okyu::before {
	width:18px;
	height:20.93px;
	background:url(../img/common/icon_okyu.svg) no-repeat center / contain;
}

header .ec-itemNav__nav.select_nav li > a.icon_medical::before {
	width:20px;
	height:18.0741px;
	background:url(../img/common/icon_medical.svg) no-repeat center / contain;
}

header .nav_wrap h3 {
	font-weight:600;
	font-size:1.8rem;
	padding:0.75em 1em 0.75em 0.5em;
	border-bottom:1px solid #f7ab00;
	margin-bottom:1em;
    color: #f7ab00;
}

header .nav_logo {
	margin-bottom:3em;
}

header .nav_wrap .ec-headerNaviRole__search {
	margin-bottom:2em;
}

@media screen and (max-width:960px){

.nav_list > li {
	margin-left:1.5em;
}

@media screen and (max-width:860px){

	.nav_list > li a {
		font-size:1.4rem;
		letter-spacing: 0;
	}

	.header_logo img {
		width:187px;
	}

}

}


/* --- IE のみ --- */
@media all and (-ms-high-contrast: none) {
  /* ここに書く */

}


/* --- header カートアイコン カート一覧 --- */

.ec-cartNaviIsset {
	overflow-y:auto;
	max-height:90vh;
	max-width:100%;
	min-width:420px;
}



/* --- hamburger --- */
.hamburger {
  display : block;
  position: absolute;
  right:25px;
  top:28px;
  z-index : 99;
  width : 35px;
  height: 22px;
  cursor: pointer;
  text-align: center;
  background:none;
  border-radius: 1vw;
  margin-left:auto;
}
.hamburger span {
  display : block;
  position: absolute;
  width : 35px;
  height  : 1px;
  left    : 0;
  background : #000;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
	top: 50%;
	transform:translateY(-50%) scale(1,1);
  }
.hamburger span:nth-child(3) {
	bottom:0;
}

.hamburger h4 {
	font-size: 10px;
    position: absolute;
    bottom: -16px;
    left: -12%;
    text-align: center;
    letter-spacing: -0.1em;
	text-indent: 0.1em;
	width:124%;
}

/* ナビ開いてる時のボタン */

.hamburger.active span {
	background:#000;
}

.hamburger.active h4 {
	color:#000;
}

.hamburger.active span:nth-child(1) {
  top :10px;
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}

.hamburger.active span:nth-child(2) {
	transform-origin:center center;
	transform:translateY(-50%) scale(0,1);
}
.hamburger.active span:nth-child(3) {
	bottom:11px;
	-webkit-transform: rotate(315deg);
	-moz-transform   : rotate(315deg);
	transform        : rotate(315deg);
  }

/* --- page top --- */

.ec-blockTopBtn {
	width:103px;
	height:103.6px;
	line-height:1;
	background:none;
	opacity:1;
	z-index: 999;
	transition:opacity .4s;
}

.ec-blockTopBtn::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:url(../img/common/pagetop_en.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	left:0;
	transform-origin: center;
	animation:attent 5s infinite linear 1.4s;

}

/* --- IE のみ --- */
@media all and (-ms-high-contrast: none) {
	/* ここに書く */
	.ec-blockTopBtn img {
		width:74px;
		height:74px;
	}
  
  }
  
  

@keyframes attent {

	0% {
		transform:rotate(0deg);
	}

	100% {
		transform:rotate(360deg);
	}

}


@media screen and (min-width:769px){
.ec-blockTopBtn:hover  {
	opacity:0.6;
}

}

/* ---------  footer ------------ */

footer {
	width:100%;
	background:#fff;
	padding:150px 0 200px;
}

.footer_inner {
	width: 100%;
	max-width:1650px;
	padding:0 75px;
	position:relative;
	margin:0 auto;
}

.footer_info {
	width:420px;
	min-width:350px;
}

.footer_nav_wrap {
	width:77%;
	padding-left:50px;
}

.footer_logo img {
	width: 218px;
}

.footer_info .shop_name {
	margin:1.25em 0;
	font-size:1.4rem;
}

.footer_info .shop_address {
	font-size:1.4rem;
	margin-bottom:1.25em;
}

.footer_info .shop_tel p,
.footer_info .shop_tel a  {
	font-size:1.4rem;
	line-height:1.75em;
}

.yahoo_banner {
	max-width:240px;
	margin:40px 0 ;
}

.yahoo_banner a img,
.sns_wrap a img {
	transition:transform .2s ease-out;
}

.yahoo_banner a:hover img,
.sns_wrap a:hover img {
	transform:scale(1.2);
}

.sns_wrap {
	margin-bottom:40px;
}

.sns_wrap h3 {
	font-size:1.8rem;
	margin-bottom:1em;
	width:100%;
	letter-spacing: 0.1em;
}

.sns_wrap a {
	margin-right:1em;
}

.sns_wrap a img {
	width:30px;
	height:30px;
}

.footer_link li {
	margin-bottom:1em;
}

.footer_link li a {
	font-size:1.4rem;
	padding-bottom:0.2em;
	position:relative;
	transition:color .4s;
}

.footer_link li a:hover {
	color:#f7ab00;
}

.footer_link li a::after {
	content:"";
	display: block;
	width:100%;
	height:1px;
	background:#f7ab00;
	position:absolute;
	left:0;
	bottom:0;
	transition:transform .4s;
	transform:scale(0,1);
	transform-origin: right center;
}

.footer_link li a:hover::after {
	transform-origin: left center;
	transform:scale(1,1);
}

.ec-footerTitle__copyright {
	font-size:1.2rem;
	letter-spacing: 0.1em;
	padding-top:1.5em;
}

footer .ec-itemNav__nav > li {
	width:30%;
	margin:0 0 1em 0;
}

footer .ec-itemNav__nav {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/*-------------------------------
	メンテナンス中のアナウンス
	（attention_medical活用）
	footer.twig内
-------------------------------*/

.attention_maintenance {
	display: flex;
	justify-content: center;
	align-items: center;
	width:100vw;
	height:100vh;
	position:fixed;
	left:0;
	top:0;
	margin:0;
	overflow:hidden;
	background:rgba(0,0,0,0.4);
	z-index:9999;
	opacity:1;
}

.attention_maintenance .inner {
	max-width:480px;
	margin:0;
	padding:2em 1em;
	background:#fff;
}

.attention_maintenance h2,
.attention_maintenance p {
	text-align:center;
}

.attention_maintenance h2 span {
	font-size:1.8rem;
	border-bottom:1px solid #f7ab00;
}

.attention_maintenance h2 {
	margin-bottom:1em;
}

.attention_maintenance p {
	font-size:1.4rem;
}

/*-------------------------------
	サイトシール
	footer.twig内
-------------------------------*/
#DigiCertClickID_9YzzAmc8 {
	margin-bottom:40px;
}

#DigiCertClickID_9YzzAmc8 img {
	margin:0!important;
	border:1px solid #ACB6BF!important;
	padding:0.5em!important;
}

@media screen and (max-width:1100px){

	.footer_inner {
		padding: 0 50px;
	}

	.footer_info {
		min-width:320px;
	}

	footer .ec-itemNav__nav > li {
		width:47%;
	}
}
 
/* ---------  footer ここまで ------------ */

/* --- 共通block --- */

/* --- introduction --- */

.introduction .inner {
	max-width:100%;
	padding:0;
}

.intro_txt {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	padding:2vw 3vw;
	width:20.1vw;
}

.intro_txt h2 {
	text-align:center;
	margin-bottom:1em;
	font-size:0.8vw;
}

.intro_txt h2 span {
	font-size:0.6vw;
	display: block;
	margin-top:0.2em;
}

.intro_txt h1 {
	font-size:1.2vw;
	text-align:center;
	line-height:1.4em;
	margin-bottom:1em;
}

.intro_txt p {
	line-height:1.5em;
	font-size:0.8vw;
	margin-bottom:1em;
}

.intro_img {
	width:100%;
}

.intro_img figure {
	width:50%;
}

.intro_txt a {
	display: block;
	width:12vw;
	height:2.3vw;
	line-height:2.3vw;
	border-radius: 1.12vw;
	text-align:center;
	margin:0 auto;
}

.intro_txt a span {
	font-size:0.8vw;
	display: block;
}

@media screen and (max-width:1260px){

/* --- introduction --- */

.intro_txt {
	position:relative;
	left:auto;
	top:auto;
	transform:translate(0%,0%);
	padding:30px 40px;
	width:80%;
	max-width: 600px;
	margin:-80px auto 40px;
	box-shadow: 6px 8px 10px 0px rgba(0,0,0,0.1);
}

.intro_img figure {
	height:340px;
}

.intro_txt h2 {
	font-size:1.6rem;
}

.intro_txt h2 span {
	font-size:1.2rem;
}

.intro_txt h1 {
	font-size:2.4rem;
}

.intro_txt h1 br {
	display: none;
}

.intro_txt p {
	line-height:1.5em;
	font-size:1.6rem;
}


.intro_txt a {
	display: block;
	width:240px;
	height:46px;
	line-height:46px;
	border-radius: 23px;
}

.intro_txt a span {
	font-size:1.6rem;
}

}

/* --- topics --- */

.topics {
	padding:80px 0 100px 0;
	margin-bottom:150px;
}

.topics_wrap {
	padding:0 75px;
}

.topics_block {
	width:32%;
	max-width:322px;
	display: block;
}

.topics_block figure {
	width:100%;
	margin-bottom:1.5em;
}

.topics_block h2 {
	font-size:1.6rem;
	line-height:1.5em;
	margin-bottom:0.5em;
}

.topics_block p {
	font-size:1.4rem;
	line-height:1.3em;
}

/* --- featured item --- */

.featured_item {
	max-width:1765px;
	padding:0 50px 100px;
	margin:150px auto 0;
	overflow:visible;
	position:relative;
}

.featured_item .inner {
	margin:0 auto 0 0;
}

.item_slide {
	width:108vw;
	margin:0 0 0 auto;
	padding-bottom:80px;
	position:relative;
}

.item_slide::before {
	content:"FEATURED ITEMS";
	display: block;
	font-size:14vw;
	position:absolute;
	left:30%;
	top:-12.3vw;
	color:rgba(255,142,0,0.1);
	font-family: 'Lato', sans-serif;
	font-weight:bold;
	white-space: nowrap;
}


.item_slide .slick-slide {
	margin-right:2vw;
	width:25.4vw;
	min-width:300px;
}

.item_slide .slick-slide figure {
	border:1px solid #e9e9e9;
	width:25.4vw;
	height:25.4vw;
	min-width:300px;
	min-height:300px;
	margin-bottom:1.5em;
	overflow:hidden;
}


.item_slide .slick-slide figure img {
	transition:transform .4s;
}

.item_slide .slick-slide:hover figure {
	border:1px solid #f7ab00;
}

.item_slide .slick-slide:hover figure img {
	transform:scale(1.1);
}

.item_txt .tag {
	display: inline-block;
	margin-bottom:0.75em;
}

.item_txt .tag span {
	font-size:1.4rem;
	display: inline-block;
	padding:0 0.75em;
	height:24px;
	line-height:24px;
	border-radius: 12px;
}

.item_name {
	font-size:1.8rem;
	line-height:1.25em;
	margin-bottom:1.5em;
	min-height:2.5em;
}

.item_txt p {
	line-height:1.5em;
	height:calc(1.5em * 3);
}

.price_wrap {
	margin-top:2em;
}

.featured_item .prev_arrow,
.featured_item .next_arrow {
	top:-110px;
	width:70px;
	height:70px;
	border-radius:50%;
	text-align:center;
	border:2px solid #f7ab00;
	left:auto;
	position:absolute;
	transition:border .4s ,background .4s;
	cursor: pointer;
}


.featured_item .prev_arrow img ,
.featured_item .next_arrow img  {
	width:30px;
	height:18px;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%) rotate(180deg);
}
.featured_item .next_arrow img  {
	transform:translate(-50%, -50%);
}

.featured_item .prev_arrow {
	right:510px;
}

.featured_item .next_arrow {
	right:420px;
}

.featured_item .slick-dots {
	width: 75%;
}

.featured_item .slick-dots li {
    width: 12.5%;
    width: calc(100% / 8);
    height: auto;
    margin: 0;
}

/* for IE 11 */
@media all and (-ms-high-contrast:none) {
    *::-ms-backdrop, .featured_item .slick-dots li {
		width: 12.5%;
		width: calc(99% / 8);
		} 
}

/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
	.featured_item .slick-dots li {
		width: 12.5%;
		width: calc(99% / 8);
		}
}


.featured_item .slick-dots li button {
	content: "";
    width: 100%;
    height: 2px;
    background: #e9e9e9;
    opacity: 0.5;
    margin: 0;
    padding: 0;
}

.featured_item .slick-dots li button:before {
    content: "";
    line-height: 0;
    width: 100%;
    height: 2px;
}

.featured_item .slick-dots li.slick-active button:before {
	background:#f7ab00;
	width:100%;
    opacity: 1;
}

.featured_item .btn2 {
	margin:80px 0 0 auto;
	display: block;
	width:285px;
}

.featured_item .slick-dots li button:before {
		border-radius:0;
}


/* --- runking --- */

.runking {
	padding:50px 0 100px;
}

#runking_medical {
	/* padding-bottom:150px; */
	padding-bottom:50px;
}


.run_wrap {
	max-width:1105px;
	position:relative;
}

.runking .run_wrap:first-of-type::before {
	content:"";
	display: block;
	position:absolute;
	top:-5vw;
	color:#ff8e00;
	opacity:0.1;
	font-size:46rem;
	font-weight:600;
	font-family: 'Shippori Mincho B1', serif;
}

#runking_hari .run_wrap:first-of-type::before {
	content:"鍼";
	right:-5vw;
}

#runking_okyu .run_wrap:first-of-type::before {
	content:"灸";
	left:-5vw;
}

#runking_taping .run_wrap:first-of-type::before {
	content:"テーピング";
	letter-spacing: -0.1em;
	right:-5vw;
	top:2vw;
	font-size:12vw;
}

#runking_medical .run_wrap:first-of-type::before {
	content:"その他";
	letter-spacing: -0.1em;
	left:-5vw;
	top:2vw;
	font-size:15vw;
}

/*
#runking_medical .run_wrap:first-of-type::before {
	content:"医療用品";
	letter-spacing: -0.1em;
	left:-5vw;
	top:2vw;
	font-size:15vw;
}


.runking:nth-of-type(even) .run_wrap {
	margin-left:auto;
}
*/
#runking_okyu.runking .run_wrap,
#runking_medical.runking .run_wrap {
	margin-left:auto;
}


.run_block {
	width:48%;
	max-width:512px;
	position:relative;
	margin-bottom:40px;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
}

#runking_okyu.runking .runking1,
#runking_medical.runking .runking1 {
	margin-left:auto;
}

.run_img {
	width:20vw;
	height:20vw;
	max-width:240px;
	max-height:240px;
	min-width:200px;
	min-height:200px;
}

.run_txt {
	width:21vw;
	max-width:270px;
	margin:20px 0 0  20px;
}

.run_txt h3 {
	font-size:2rem;
	padding-bottom:0.4em;
	border-bottom:1px solid;
	margin-bottom:0.5em;
	text-align:right;
	font-weight:600;
}

.run_txt h3.gold {
	border-color:#b79952;
}

.run_txt h3.silver {
	border-color:#9d9b97;
}

.run_txt h3.bronze {
	border-color:#965645;
}

.run_txt h3 span {
	font-size:2.4rem;
	margin-right:0.5em;
	font-weight:300;
}

.run_txt h2 {
	margin-bottom:0.5em;
}

.run_txt p {
	font-size:1.4rem;
	line-height:1.5em;
}

.run_txt .no_tax {
	font-size:1.8rem;
}

.run_txt .in_tax {
	font-size:1.4rem;
}


@media screen and (max-width:1260px){

	/* ---featured --- */

	.featured .inner {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		padding:0;
	}

	.featured .fe_title {
		width:100%;
		margin-bottom:120px;
	}

	.fe_wrap {
		width:100%;
	}

	.fe_title .h_title {
		text-align:center;
	}

	.fe_title .h_title::before {
		display: none;
	}

	.fe_title .h_title::after {
		right:0;
		margin:0 auto;
	}

	.fe_title p {
		text-align:center;
	}

	.fe_title p br {
		display: none;
	}

	.fe_wrap {
		-ms-flex-pack: distribute;
		justify-content: space-around;
	}

	.fe_block h2 {
		font-size:6rem;
	}

	.fe_block3 h2, .fe_block4 h2 {
		font-size:4rem;
	}

	.fe_block3 h2 {
		left:120px;
	}

	.fe_block {
		margin:0 30px 150px 30px;
	}
	.fe_block3 {
		margin-right:40px;
	}

	@media screen and (max-width:980px){

	/* --- runking --- */

	#runking_hari .run_wrap:first-of-type::before,
	#runking_okyu .run_wrap:first-of-type::before {
		font-size:38vw;
		left:auto;
		right:-4vw;
		top:-8vw;
	}

	#runking_medical .run_wrap:first-of-type::before {
		left:auto;
		right:-4vw;
		top:-6vw;
	}

	#runking_taping .run_wrap:first-of-type::before {
		top:-6vw;
	}
	.run_block {
		width:100%;
		max-width:100%;
	}

	.run_img {
		width:30vw;
		height:30vw;
		max-width: 100%;
		max-height: 100%;
		min-width: auto;
		min-height: auto;
	}

	.run_txt {
		width: 50vw;
    max-width: 100%;
    margin: 20px 0 0 4vw;
	}

	}
	

}


/* --- hover view --- */

.hover_view {
	position:relative;
}

.hover_view::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.5);
	position:absolute;
	left:0;
	top:0;
	transition:transform .2s ease-in;
	transform:scale(0,1);
	transform-origin: right center;
}

.hover_view_parent:hover .hover_view::before {
	transform:scale(1,1);
	transform-origin: left center;
}

.hover_view::after {
	content:"VIEW";
	color:#fff;
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	font-size:1.6rem;
	letter-spacing: 0.1em;
	padding:1.5em 2em;
	transition:opacity .2s ease-in ,transform .2s ease-in;
	opacity:0;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
}

.hover_view_parent:hover .hover_view::after {
	opacity:1;
}

/* --- contact freedial --- */

.contact_freedial {
	padding:80px 0 150px;
	border-top:1px solid #e8e8e8;
	position:relative;
	margin-top:150px;
}

.contact_freedial::before {
	content:"";
	display: block;
	width:62.8vw;
	height:28vw;
	max-width:816.75px;
	max-height:363px;
	background:url(../img/common/bg_contact_hari.png) no-repeat center / contain;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	opacity:0.2;
}

.contact_freedial .inner {
	position:relative;
	z-index:1;
}

.contact_freedial .h_title2 {
	font-size:6.2rem;
	letter-spacing: 0.1em;
	font-weight:bold;
	padding-bottom:1em;
	margin-bottom:1em;
}

.contact_freedial p.tex_ce {
	margin-bottom:1em;
}

.contact_telno {
	font-size:6vw;
	text-align:center;
	margin-bottom:0.5em;
	letter-spacing: 0.1em;
}

/* --- niche contents --- */

.niche {
	padding:80px 0 90px;
	margin-bottom:150px;
}

.ni_block {
	width:32%;
	max-width:380px;
	margin-bottom:2%;
}

.ni_img {
	width:100%;
	overflow:hidden;
}

.ni_img img {
	transition:transform .4s;
}

.ni_txt {
	padding:24px 20px 12px;
}

.ni_txt .cate {
	margin-bottom:1em;
}

.ni_name {
	line-height:1.3em;
	margin-bottom:1em;
	min-height:calc(1.3em * 2);
}

.ni_comment {
	font-size:1.4rem;
	line-height:1.5em;
	margin-bottom:0.75em;
	height:calc(1.5em * 3);
}

.ni_block:hover .ni_img img {
	transform:scale(1.1);
}

.ni_block:hover .more {
	color:#0CD1F7;
}

.ni_block:hover .more::after {
	background:url(../img/common/more_blue.svg) no-repeat center / contain;
	transform:scale(1.4);
}

/* --- deals --- */

.deals {
	margin-bottom:150px;
}

.de_block {
	width:48%;
	margin-bottom:2%;
}


.de_txt {
	padding: 1.5em 0 1em;
}

.de_txt h2 {
	font-size:2rem;
	margin-bottom:0.5em;
	transition:color .4s;
}

.de_txt p {
	font-size:1.4rem;
}

.de_block:hover .de_txt h2 {
	color:#0CD1F7;
}

/* --- maker list block --- */

.maker {
	padding-bottom:150px;
}
/* メーカー一覧ページ */
.maker_list_page {
	margin-top:100px;
}
/* ここまで */

.ma_wrap {
	padding:0 45px;
}

.maker .kome.maker_attention {
	margin-bottom:3em;
}

.ma_block {
	width:31%;
	max-width:340px;
	padding-bottom:20px;
	margin-bottom:20px;
}

.ma_img {
	margin-right:15px;
	overflow:hidden;
}

.ma_block .ma_img img {
	transition:transform .4s;
}

.ma_block:hover .ma_img img {
	transform:scale(1.1);
}

.ma_name {
	width:53%;
	margin:-23px 0 0 auto;
	position:relative;

}

.maker .btn2 {
	width:352px;
	display: block;
	margin:20px 0 0 auto;
}

@media screen and (max-width:980px){

	.ma_block {
		width:48%;
	}
}

/* --- philosophy --- */

.philosophy {
	margin-bottom:120px;
}

.philosophy .inner {
	max-width:1625px;
}

.ph_block {
	width:32%;
	max-width:480px;
	padding:2.5% 2.2%;
	border:2px solid #e9e9e9;
	position:relative;
	min-width:300px;
}

.ph_block::before {
	content:"";
	display: block;
	position:absolute;
	top:22.5%;
	opacity:0.1;
}

.ph_block1::before {
	background:url(../img/common/bg_ph01.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:26vw;
	height:24.7vw;
	max-width:405px;
	max-height:438.5026px;
}

.ph_block2::before {
	background:url(../img/common/bg_ph02.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:26vw;
	height:24.2vw;
	max-width:422px;
	max-height:392.5715px;
}

.ph_block3::before {
	background:url(../img/common/bg_ph03.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:25.8vw;
	height:21.2vw;
	max-width:418px;
	max-height:344.8664px;
}



.ph_block h2 {
	font-size:2.4rem;
	margin-bottom:15.8%;
}

.ph_block h2 span {
	font-size:2rem;
	display: block;
	margin-bottom:1em;
	letter-spacing: 0.1em;
}

.ph_block .ph_no {
	font-size:2.4rem;
	margin-bottom:62.5%;
}

.ph_block h2 + p {
	line-height:2.5em;
	margin-bottom:1em;
}

.pho_block .more {
	font-size:2rem;
}

@media screen and (max-width:1024px){

	.ph_block {
		width:48%;
		max-width:100%;
		min-width:auto;
		margin-bottom:40px;
	}
}

/* --- information --- */

.information {
	padding-top:2em;
	padding-bottom:50px;
	margin-bottom:0px;
}

.information .h_title {
	margin-bottom:40px;
	padding-bottom:2em;
}


.info_list {
	padding:0 24px;
	margin-bottom:40px;
}
.info_list li {
	width:47%;
	margin-bottom:1.5em;
}

.info_line {
	width:100%;
}

.info_line:hover .info_title {
	opacity:0.6;
}

.info_date {
	font-size:1.2rem;
	letter-spacing: 0.1em;
	margin:0.5em 0 1em;
	color:#96a0a4;
	padding-right:2em;
}

.info_title  {
	line-height:1.3125em;
	max-height:calc(1.3125em * 2);
	transition:opacity .4s;
}

.information .btn2,
.column .btn2 {
	display: block;
	width:298px;
	margin:0 0 0 auto;
}

/* --- column --- */

.column {
	padding:80px 0 90px;
}

.co_list li {
	width:47%;
	margin-bottom:40px;
}

.co_img {
	width:170px;
	height:116px;
	min-width:170px;
	min-height:116px;
	overflow:hidden;
}

.co_txt {
	padding-left:20px;
}

.co_wrap {
	margin-bottom:1em;
}

.co_img img {
	transition:transform .4s;
}

.co_line:hover .co_img img {
	transform:scale(1.1);
}

.co_line .info_date {
	padding:0;
	margin:0;
}

.column .btn2 {
	width:274px;
}

.co_list .cate {
	margin-left:1em;
}

@media screen and (max-width:960px){

.co_list li {
	width:100%;
}

.co_img {
	width:255px;
	height:174px;
}


}

/* --- campaign banner --- */

#campaign_banner {
	margin:0 auto 120px;
}

#campaign_banner a:hover {
	opacity:0.6;
}

.banner_list_top .main_banner {
	display: block;
	width:65.5%;
}

.banner_list01 {
	width:31%;
	-ms-flex-line-pack: justify;
	align-content: space-between;
}

.banner_list01 li {
	width:100%;
}

.banner_list li a {
	display: block;
}

.banner_list02 li {
	width:31%;
	margin-top:40px;
}

.banner_list02 li a {
	display: block;
	width:100%;
}

.banner_list_top02 li,
.banner_list_top02 .main_banner  {
	margin-top:40px;
}

.banner_list li figure,
.main_banner figure {
	padding-top:30px;
}

.banner_new {
	position:relative;
	overflow:hidden;
}

.banner_new::before {
	content: "NEW";
	display: block;
	width: 100px;
	height: 30px;
	background-image: linear-gradient(90deg, rgba(254, 3, 0, 1), rgba(247, 171, 0, 1));
	color: #fff;
	font-size: 2rem;
	line-height: 30px;
	-webkit-transform: skew(-15deg);
	transform: skew(-15deg);
	position: absolute;
	top: 0;
	right: -10px;
	padding: 0 1em 0 1em;
}

/* --- 楽ラクサポート banner crossing --- */

.banner_crossing {
	/* margin-bottom:40px; */
	margin-top:40px;
}

.banner_crossing figure {
	border: 4px solid #f7ab00;
}


.banner_crossing figure img {
	width:50%;
}


/* --- old banner --- */
.old_banner {
	margin:80px auto 0;
}

.old_banner a:not(:last-of-type) figure {
	margin-bottom:40px;
}

.old_banner figure {
	text-align:center;
}


/* --- 外部リンクバナー external banner --- */

#external_banner {
	/* margin:0 auto 150px; */
	margin:120px auto 100px;
}

#external_banner a:hover {
	opacity:0.6;
}

.ex_banner_list a {
	display: block;
	width:31%;
}

/* --- Youtube block ハリネットタケダ --- */

.youtube_block {
	/* margin:120px auto 0; */
	margin:120px auto 150px;
}


.yb {
	width:32%;
}

.yb iframe {
	width:100%;
	height:16.6vw;
	max-height:216px;
}

.yb .cate {
	margin-top:1em;
	margin-bottom:1em;
}

.yb h2 {
	font-size: 1.6rem;
    line-height: 1.5em;
    margin-bottom: 0.5em;
	font-weight:bold;
	transition:color .3s;
}

.yb a:hover h2 {
	color:#0CD1F7;
}

.yb p {
	font-size:1.4rem;
	line-height:1.3;
}

/* --- top message --- */

.message {
	border:1px solid #0CD1F7;
	padding:40px 40px;
	margin:40px auto 120px;
	max-width:860px;
	background:rgba(12,209,247,0.1);
}

.message h2 {
	font-size:2.4rem;
	font-weight:bold;
	margin-bottom:1em;
	color: #0CD1F7;
}

.message h3 {
	font-size:2rem;
	font-weight:bold;
	margin-bottom:1em;
}

.message p:not(:last-of-type) {
	margin-bottom:1em;
}

.message_child p.tex_ce.fw_bold {
	font-size:1.8rem;
}

.message_child:not(:last-of-type) {
	margin-bottom:3em;
}

.message_child .ten_list {
	margin-bottom:1em;
}

.message_child .btn_orange,
.message_child .btn_chien {
	margin-top:2em;
}

.message p a {
	text-decoration:underline;
}

.message p a:hover {
	text-decoration: none;
}

/* --- focus block --- */

#focus_block {
	text-align:center;
	margin:0 auto 80px;
	/* padding-top:40px; */
}

#focus_block a {
	display: block;
	max-width:860px;
	margin:0 auto;
}

#focus_block a:not(:last-of-type) {
	margin-bottom:40px;
}

/* --- focus link --- */

.focus_link {
	display: none!important;
	position:fixed;
	top:35vh;
	right:0;
	z-index: 9;
}

.focus_link a {
	display: block;
	background:#fff;
	font-weight:600;
	letter-spacing: 0.05em;
	font-size:1.8rem;
	text-align:center;
	padding:1.5em 1em;
	position:relative;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transition:color .4s ease;
}

.focus_link a::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background:#f7ab00;
	position:absolute;
	left:-10px;
	top:10px;
	box-shadow: -4px 4px 6px 0px rgba(0, 0, 0, 0.2);
	z-index: -1;
	transition:background .4s ease;
}

.focus_link a:hover {
	color:#0CD1F7;
}

.focus_link a:hover::before {
	background:#0CD1F7;
}

/* ---------  Scroll Fadein --------- */

@media screen and (min-width:769px){

.fadein {
    opacity : 0;
    transition : transform 0.8s, opacity 0.8s;
    transform : translate(-50px,0);
}
.rightin {
	opacity:0;
    transition : transform 0.8s, opacity 0.8s;
	transform:translate(50px,0);
}

.bottomin {
	opacity:0;
    transition : transform 0.8s, opacity 0.8s;
	transform:translate(0,50px);
}

.delay2 {
	transition-delay:0.3s;
}
.delay3 {
	transition-delay:0.6s;
}
.delay4 {
	transition-delay:0.9s;
}

.delay5 {
	transition-delay:1.2s;
}

.fadein.scrollin ,
.rightin.scrollin,
.bottomin.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}

}



/* --- access map --- */


.google_map {
	width:100%;
	height:624px;
}

.google_map iframe {
	width: 100%;
	height:100%;
}

/*-------------------------------
	archive
-------------------------------*/

.archive_wrap {
	width:150px;
}

.archive_wrap h3 {
	font-size:2rem;
	padding-bottom:0.25em;
	border-bottom:2px solid #f7ab00;
	margin-bottom:0.25em;
}

.archive_wrap .archive_list:not(:last-of-type) {
	margin-bottom:40px;
}

.archive_wrap > ul li {
	border-bottom:1px solid #e8e8e8;
}

.archive_wrap > ul li a {
	display: block;
	padding:0.75em 1.25em 0.75em 0;
	position:relative;
}

.archive_wrap > ul li a::after {
	content:"";
	display: block;
	width:6px;
	height:10px;
	position:absolute;
	right:0.375em;
	top:0;
	bottom:0;
	margin:auto 0;
	transition:right .3s , background .3s;
	background:url(../img/common/arrow_right_gray.svg) no-repeat center / contain;
}

.archive_wrap > ul li a:hover,
.archive_wrap > ul li a.now_active {
	color:#f7ab00;
}

.archive_wrap > ul li a:hover::after,
.archive_wrap > ul li a.now_active::after {
	background:url(../img/common/arrow_right.svg) no-repeat center / contain;
}

.archive_wrap > ul li a:hover::after {
	right:0;
}

/*-------------------------------
	pager information column 
-------------------------------*/

.pager_wrap {
	padding-bottom:1.5em;
}

.page-numbers {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: center;
	justify-content: center;
}

.page-numbers li,
.page-numbers li span,
.page-numbers li a {
	font-size:1.8rem;
}

.page-numbers li span,
.page-numbers li a {
	padding:0.25em 1em;
}

.page-numbers li span.current {
	color:#9d9b97;
}

.page-numbers li a:hover {
	color:#f7ab00;
}

.page-numbers li {
	border-radius:0;
	border-left:2px solid #e8e8e8;
}

.page-numbers li:last-of-type {
	border-right:2px solid #e8e8e8;
}

/*-------------------------------
	popular category
-------------------------------*/

.popular_category {
	padding:80px 0 90px;
	background:#fafafa;
	margin-bottom:100px;
}

.popular_category .h_title {
	margin-bottom:40px;
}

.p_cate_list li {
	width:25%;
	background:#fff;
	border-left:1px solid #e9e9e9;
	border-bottom:1px solid #e9e9e9;
	display: -webkit-box;
	display: flex;
	-webkit-box-align: center;
	align-items: center;
}

.p_cate_list li:nth-of-type(4n),
.p_cate_list li:last-of-type {
	border-right:1px solid #e9e9e9;
}

.p_cate_list li:nth-of-type(-n+4) {
	border-top:1px solid #e9e9e9;
}



.p_cate_list li a {
	padding:10px 28px 10px 10px;
	position:relative;
	width:100%;
}

.p_cate_list li a::after {
	content:"";
	display: block;
	width:12px;
	height:12px;
	border-radius:50%;
	border:2px solid #F7ab00;
	position:absolute;
	right:13px;
	top:0;
	bottom:0;
	margin:auto 0;
	box-sizing: border-box;
	transition:background .3s;
}

.p_cate_list li a:hover::after {
	background:#F7ab00;
}

.p_cate_img {
	width:80px;
	height:80px;
}

.p_cate_list h4 {
	width:calc(100% - 80px);
	font-size: 1.6rem;
    line-height: 1.5;
    padding-left:0.75em;
    font-weight: bold;
	letter-spacing: 0.05em;
	transition:color .3s;
}

.p_cate_list li a:hover h4 {
	color:#F7ab00;
}


/*-------------------------------
	popular category all_cate_wrap
-------------------------------*/

.all_cate_wrap {
	margin:80px auto 0;
}

.all_cate_btn {
	margin:0 auto 80px;
	border:1px solid #f7ab00;
	border-radius:0;
	padding:0;
	background:#f7ab00;
	width:300px;
	height:60px;
	line-height:58px;
	display: block;
	font-size:1.6rem;
	font-weight:400;
	font-family: 'Noto Sans JP', sans-serif;
	color:#fff;
	cursor:pointer;
	transition:color .3s , background .3s;
	text-align:center;
	position:relative;
}

.all_cate_btn::before {
	content:"";
	display: block;
	width:8px;
	height:8px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(45deg);
	position:absolute;
	right:20px;
	top:0;
	bottom:2px;
	margin:auto 0;
	transform-origin: center center;
	transition:transform .3s, border-color .3s, bottom .3s;
}

.all_cate_btn:hover {
	background:#fff;
	color:#f7ab00;
}

.all_cate_btn:hover::before {
	border-color:#f7ab00;
}

.all_cate_btn.open::before {
	transform:rotate(-135deg);
	bottom:-4px;
}

.all_cate_wrap .ec-categoryNaviRole {
	display: none;
}

.all_cate_wrap .ec-itemNav__nav  {
	-webkit-box-align: stretch;
	align-items: stretch;
}

.all_cate_wrap .ec-itemNav__nav > li {
	width:25%;
	position:relative;
	border-left:1px solid #e9e9e9;
	border-top:1px solid #e9e9e9;
	background:#fff;
}

.all_cate_wrap .ec-itemNav__nav > li:last-of-type,
.all_cate_wrap .ec-itemNav__nav > li:nth-of-type(4n) {
	border-right:1px solid #e9e9e9;
}

.all_cate_wrap .ec-itemNav__nav > li:nth-last-of-type(-n + 4) {
	border-bottom:1px solid #e9e9e9;
}

.all_cate_wrap .ec-itemNav__nav > li > a {
	padding:15px 2em 15px 20px;
	border-bottom:none;
}

.all_cate_wrap .ec-itemNav__nav > li:hover {
	background:#efefef;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	z-index: 1;
}

.all_cate_wrap .ec-itemNav__nav > li:hover > a {
	background:#efefef;
}

.all_cate_wrap .ec-itemNav__nav li ul {
	/*position:relative;
	left:auto;
	top:auto;
	visibility: visible;*/
	padding:0;
	background:#efefef;
	filter: drop-shadow(2px 2px 1px rgb(0, 0, 0,0.2));
}

.all_cate_wrap .ec-itemNav__nav li ul::before {
	content:"";
	display: block;
	width:calc(100% - 40px);
	height:1px;
	border-bottom:1px dashed #dbdbdb;
	position:absolute;
	left:0;
	top:-1px;
	right:0;
	margin:0 auto;
	z-index: 1;
}

.all_cate_wrap .ec-itemNav__nav li ul li {
	position:relative;
}

.all_cate_wrap .ec-itemNav__nav li ul li a {
	padding:0.75em 20px;
	background:none;
	transition:background .3s;
}

.all_cate_wrap .ec-itemNav__nav li > a.plus::before,
.all_cate_wrap .ec-itemNav__nav li > a.plus::after {
	right:20px;
}

/* ---------  responsive ------------ */

@media screen and (max-width:960px){

/*-------------------------------
	popular category
-------------------------------*/

	.p_cate_list h4 {
		font-size: 1.5rem;
	}

	.p_cate_list li {
		width:33.33333%;
		width:calc(100% / 3);
	}

	.p_cate_img {
		width:60px;
		height:60px;
	}

	.p_cate_list h4 {
		width:calc(100% - 60px);
	}
	

	.p_cate_list li:nth-of-type(4n) {
		border-right:none;
	}
	
	.p_cate_list li:nth-of-type(3n) {
		border-right:1px solid #e9e9e9;
	}

	.p_cate_list li:nth-of-type(-n+4) {
		border-top:none;
	}
	
	.p_cate_list li:nth-of-type(-n+3) {
		border-top:1px solid #e9e9e9;
	}
	
	/*
	
	.p_cate_list li:last-of-type {
		border-right:1px solid #e9e9e9;
	}
	
	.p_cate_list li:nth-of-type(n + 17) {
		border-bottom:none;
	}
	
	.p_cate_list li:nth-of-type(n + 19) {
		border-bottom:1px solid #e9e9e9;
		width:50%;
	}
	*/

/*-------------------------------
	popular category all_cate_wrap
-------------------------------*/

.all_cate_wrap .ec-itemNav__nav > li {
	width:50%;
}

.all_cate_wrap .ec-itemNav__nav > li:last-of-type,
.all_cate_wrap .ec-itemNav__nav > li:nth-of-type(4n) {
	border-right:none;
}

.all_cate_wrap .ec-itemNav__nav > li:nth-last-of-type(-n + 4) {
	border-bottom:none;
}

.all_cate_wrap .ec-itemNav__nav > li:nth-of-type(even) {
	border-right:1px solid #e9e9e9;
}

.all_cate_wrap .ec-itemNav__nav > li:nth-last-of-type(-n + 2) {
	border-bottom:1px solid #e9e9e9;
}
	
	
} /* end 960px */



/* ---------  ver.SmartPhone ------------ */

/* font-size ---

if : window size = 750px 


*/


@media screen and (max-width:768px){

div,
span,
object,
iframe,
h1, h2, h3, h4, h5, h6,
blockquote, pre, abbr,
address, cite, code, del,
dfn, em, img, ins, kbd, q,
samp, small, strong, sub,
sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table,
caption, tbody, tfoot, thead,
tr, th, td, article, aside, canvas,
details, figcaption, figure,
footer, header, hgroup,
menu, nav, section, summary,
time, mark, audio, video {
	font-size:4vw; /* font 1.6rem */
}

.pc_none {
	display:block;
}

.sp_none {
	display:none;
}

.inner {
	width:100%;
	margin:0 auto;
	padding:0 5vw;
}

main {
	padding-top:0vw;
}

p {
	font-size:3.5vw; /* font 1.4rem */
}


/* --- flex --- */

.d_flex {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

/* --- h_title --- */

.h_title,
.h_title2 {
	font-size:6vw;
	margin-bottom:20vw;
	line-height:1.5em;
}

.h_title {
	font-size:6vw;
}


.h_title::before {
	width:50vw;
}

.h_title::after,
.h_title2::after {
	width:15vw;
}

.h_title2::after {
	right:0;
	margin:0 auto;
}

.h_title span,
.h_title2 span  {
	font-size:6vw;
}

.h_title3 {
	font-size:5vw;
}

.h_title3 span {
	font-size:4vw;
}

/* --- hover view --- */


.hover_view::after {
	font-size:4.5vw;
}

/* --- drop shadow --- */

.d_shadow {
    box-shadow: 3.75vw 3.25vw 2.5vw 0px rgb(0 0 0 / 10%);
}

/* --- price wrap --- */

.no_tax,
.in_tax {
	font-size:7.5vw;
}

.in_tax {
	font-size:5vw;
}

.tax_name {
	font-size:3vw;
}


/* --- google map --- */

.accessmap .inner {
	padding:0;
}

.google_map {
	height:50vw;
}




/* --- main --- */

/* --- header --- */

header {
	height:auto;
	transform:translateY(0)!important;
	padding-bottom:3vw;
}

header .ec-headerNaviRole__search {
	display: block;
}

.header_inner {
	height:100%;
	padding:0vw 5vw;
	margin-top:6.5vw;
}

.header_inner.jus_sb {
	justify-content: flex-start;
	-webkit-justify-content:flex-start;
}

.header_logo {
	margin-right:0;
	z-index: 10;
}

.header_logo img {
	width:34vw;
	height:4.25vw;
}

.header_right {
	padding-right:0;
	margin-top:-8vw;
	width: 100%;
}

/* cart icon */

header .ec-headerRole__cart {
	margin-right:2vw;
}

header .ec-cartNavi {
	min-width:auto;
	padding:3vw 1.5vw 2.5vw;
}

.ec-cartNavi .ec-cartNavi__icon {
	font-size:5vw;
}

.ec-cartNavi .ec-cartNavi__badge {
	border-radius:50%;
	padding:1.25vw;
	height:4.25vw;
	font-size:2.5vw;
	top:-2.5vw;
}

/* login icon */
.ec-headerNav .ec-headerNav__item {
	font-size:7vw;
}

.ec-headerNav .ec-headerNav__itemIcon {
	font-size:4.5vw;
	margin-right:0;
}

/* お気に入り icon */

header .ec-headerNav .ec-headerNav__item {
	margin-right:3vw;
}

header .ec-headerNav .ec-headerNav__item:not(:last-of-type) {
	margin-right:3vw;
}

header .ec-headerNaviRole__nav {
	margin-right:7vw;
}

.ec-headerNav .ec-headerNav__item {
	font-size:7vw;
}

.ec-headerNav .ec-headerNav__itemIcon {
	margin-right:0;
	font-size:4.5vw;
}

/* login */

header .ec-headerNav__item:nth-of-type(3) .ec-headerNav__itemLink {
	display: block;
	font-size:3.5vw;
	margin-right:1vw;
}

/* 検索窓 */

header .ec-headerNaviRole__search {
	margin-right:0;
	display: block;
	width:100%;
	margin-top:2.5vw;
	display: none;
}

.ec-headerSearch .ec-headerSearch__category .ec-select.ec-select_search::before {
	border-left:1.5vw solid transparent;
	border-right:1.5vw solid transparent;
	border-top:1.5vw solid #fff;
	top:3.5vw;
	right:4.5vw
}

.ec-headerSearch .ec-headerSearch__category .ec-select select {
	padding:2vw 8vw 2vw 4vw;
	font-size:3.5vw;
	height:8.5vw;
}

.ec-headerSearch .ec-headerSearch__keyword input[type="search"] {
	height:8vw;
	font-size:3.5vw;
	padding:0.5em 11vw 0.5em 4vw;
}
/* 虫眼鏡 icon */
.ec-headerSearch .ec-headerSearch__keywordBtn {
	right:1.5vw;
	padding:0 1.5vw;
}

.ec-headerSearch .ec-headerSearch__keyword .ec-icon {
	width:5vw;
	height:5vw;
}

.ec-icon img {
	max-width:100%;
	max-height:100%;
}

/* humberger menu */

.hamburger,
.hamburger span {
	width:7.5vw;
}

.hamburger {
	top:5.75vw;
	right:5vw;
	height:5.5vw;
	border-radius: 0;
}

.hamburger.active span:nth-child(1) {
	top:2.5vw;
}

.hamburger.active span:nth-child(3) {
	bottom:2.75vw;
}

.hamburger h4 {
	font-size:2.5vw;
	bottom:-4vw;
}

@media screen and (max-width:399px){

	.hamburger h4 {
		letter-spacing: -0.25em;
		text-indent:0;
	}


	@media screen and (max-width:340px){
	

		.hamburger,
		.hamburger span {
			width:8.5vw;
		}
	
}
}

/* --- header fin --- */

/* --- nav --- */

.nav_wrap .nav_logo img {
	width:45.18vw;
	height:5.785vw;
}

header .nav_wrap {
	width:100%;
	max-width:100%;
	min-width:auto;
	padding:10vw 7.5vw 15vw;
}

header .ec-itemNav__nav.select_nav li > a,
header .nav_wrap h3 {
	font-size:4vw;
	padding:1em 2em 1em 0.5em;
}

header .nav_wrap h3 {
	color:#f7ab00;
	border-color:#f7ab00;
	margin-top:2em;
}

header .ec-itemNav__nav.select_nav li > a::after {
	width:4vw;
	height:2.5vw;
}

header .ec-itemNav__nav.select_nav li > a.icon {
	padding-left:1.75em;
}

header .ec-itemNav__nav.select_nav li > a.icon_hari::before {
	width:4.95vw;
	height:4.536vw;
}

header .ec-itemNav__nav.select_nav li > a.icon_okyu::before {
	width:4.05vw;
	height:4.70925vw;
}

header .ec-itemNav__nav.select_nav li > a.icon_derma::before {
	width:5.5vw;
	height:5.25vw;
}

header .ec-itemNav__nav.select_nav li > a.icon_taping::before {
	width:4.5vw;
	height:4.797vw;
}

header .ec-itemNav__nav.select_nav li > a.icon_medical::before {
	width:4.5vw;
	height:4.0666725vw;
}

.nav_wrap .ec-categoryNaviRole {
	display: block;
}

header .ec-itemNav__nav > li {
	width: 47%;
    margin-bottom: 1.25em;
}

.ec-itemNav__nav li > a,
.ec-itemNav__nav li ul li a {
	font-size:3.5vw;
}

.ec-itemNav__nav li > a.plus::before, .ec-itemNav__nav li > a.plus::after {
	width:2.5vw;
	right:1vw;
}

header .ec-itemNav__nav li ul {
	position:absolute;
	z-index: 1;
	transition:0s;
}

.ec-itemNav__nav li ul li a {
	padding:0.5em 0;
	transition:0s;
}

.ec-itemNav__nav li ul li {
	transition:0s;
}

/* --- nav fin --- */

/* ---------  footer ------------ */

footer {
	width:100%;
	background:#fff;
	padding:15vw 0 35vw;
}

.footer_inner {
	width: 100%;
	max-width:100%;
	padding:0 5vw;
}

.footer_info {
	width:100%;
	min-width:auto;
}

.footer_nav_wrap {
	display: none;
	width:100%;
	padding-left:0px;
}

.footer_logo img {
	width: 54.5vw;
	height:6.9765vw;
}

.footer_info .shop_name {
	font-size:3vw;
}

.footer_info .shop_address {
	font-size:3.5vw;
}

.footer_info .shop_tel p,
.footer_info .shop_tel a  {
	font-size:3.5vw;
}

.yahoo_banner {
	max-width:100%;
	margin:10vw 0 ;
}

.yahoo_banner a img {
	width:90vw;
	height:41.25vw;
}

.sns_wrap {
	margin-bottom:10vw;
}

.sns_wrap h3 {
	font-size:4.5vw;
}

.sns_wrap a {
	margin-right:1em;
}

.sns_wrap a img {
	width:7.5vw;
	height:7.5vw;
}

.footer_link li {
	margin-bottom:1em;
}

.footer_link li a {
	font-size:3.5vw;
}

.ec-footerTitle__copyright {
	font-size:3vw;
}

/*-------------------------------
	メンテナンス中のアナウンス
	（attention_medical活用）
	footer.twig内
-------------------------------*/

.attention_maintenance .inner {
	max-width:100%;
	width:90vw;
	padding:7.5vw 5vw;
}

.attention_maintenance h2 span {
	font-size:4.5vw;
	line-height:1.5em;
}

.attention_maintenance p {
	font-size:3.5vw;
}

/*-------------------------------
	サイトシール
	footer.twig内
-------------------------------*/
#DigiCertClickID_9YzzAmc8 {
	margin-bottom:10vw;
}

#DigiCertClickID_9YzzAmc8 img {
	padding:0.5em!important;
}

/* ---------  footer ここまで ------------ */


/* --- 共通 --- */

.ec-layoutRole {
	padding-top:20vw;
}


.ec-sliderRole {
	font-size:4vw;
}

/* 検索窓 + お気に入りボックス */

.search_favorite {
	margin:10vw auto;
	width:100%;
	padding:0 5vw;
}

.search_favorite .ec-headerNaviRole__search {
	width:100%;
	display: none;
}

.search_favorite .ec-headerNaviRole__nav {
	width:100%;
	margin-top:0vw;
}

.ec-headerNav .ec-headerNav__item:nth-of-type(2) span,
.search_favorite .ec-headerNav__item:nth-of-type(1),
.search_favorite .ec-headerNav__item:nth-of-type(1) span ,
.search_favorite .ec-headerNav__item:nth-of-type(3),
.search_favorite .ec-headerNav__item:nth-of-type(3) span {
	display: inline-block;
}

.search_favorite .ec-headerNav__item span {
	font-size:3.5vw;
	margin-right: 0;
}

.search_favorite .ec-headerNav .ec-headerNav__itemIcon {
	margin-left:0;
	font-size:3.5vw;
	margin-right:1.25vw;
}

.search_favorite .ec-headerNav {
	text-align:center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.ec-headerNav__item a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* カートポップアップ */

.ec-cartNaviIsset {
	padding:7.5vw 5vw;
	overflow-y:auto;
	max-height:90vh;
	min-width:auto;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cart {
	margin-bottom:7.5vw;
	padding-bottom:7.5vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartImage {
	float:none;
	width:50%;
	margin-bottom:0vw;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContent {
	float:none;
	width:50%;
	padding:0 0 0 1em;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTitle {
	margin-bottom:1em;
	font-size:4.5vw;
	line-height:1.2em;
}

.ec-font-size-1 {
	margin-top:1em;
	font-size:3vw;
	line-height:1.2em;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentPrice {
	font-size:4.5vw;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentNumber {
	font-size:3.5vw;
	margin-top:0.5em;
}

.ec-cartNaviIsset .ec-cartNaviIsset__cartContentTax {
	font-size:3vw;
}

.ec-cartNaviIsset .ec-cartNaviIsset__action .ec-blockBtn--action,
.ec-cartNaviIsset .ec-blockBtn {
	margin-bottom:2.5vw;
	font-size:3.5vw;
	padding:0;
	height:14vw;
	line-height:13.5vw;
}


/* --- btn --- */

.btn_orange,
.btn_chien {
	width:60vw;
	height:15vw;
	line-height:14.5vw;
}


.btn_orange span::after,
.btn_chien span::after {
	width:1.42765vw;
	height:2.5vw;
}


.btn2 {
	padding:5.75vw 24.25vw 5.75vw 0;
}

.btn2::after, .more::after {
	width:19.5vw;
	height:19.5vw;
}

.btn2 span {
	font-size:5vw;
}

.more {
	font-size:3.5vw;
	padding:3vw 15vw 3vw 0;
}

.more::after {
	width:12vw;
	height:12vw;
}


/* --- 共通 block twig --- */

/* --- introduction --- */


.intro_txt {
	padding:7.5vw 5vw;
	width:90%;
	max-width: 100%;
	margin:-10vw auto 10vw;
	box-shadow: 1.5vw 2vw 2.5vw 0px rgba(0,0,0,0.1);
}

.intro_img figure {
	height:65vw;
	width: 100%;
}

.intro_img02 img {
	object-position: 70% 50% ;
	font-family: 'object-fit: cover; object-position: 70% 50%;'
}

.intro_txt h2 {
	font-size:4vw;
}

.intro_txt h2 span {
	font-size:3vw;
}

.intro_txt h1 {
	font-size:5vw;
}

.intro_txt h1 br {
	display: block;
}

.intro_txt p {
	font-size:3.5vw;
}


.intro_txt a {
	display: block;
	width:60vw;
	height:10.35vw;
	line-height:10.35vw;
	border-radius: 5vw;
}

.intro_txt a span {
	font-size:4vw;
}



/* --- topics --- */

.topics {
	padding:15vw 0 20vw 0;
	margin-bottom:25vw;
}

.topics_wrap {
	padding:0;
}

.topics_block {
	width:100%;
	max-width:100%;
}

.topics_block:not(:last-of-type) {
	margin-bottom:15vw;

}

.topics_block figure img {
	width:90vw;
	height:55.8125;
}

.topics_block h2 {
	font-size:4.5vw;
}

.topics_block p {
	font-size:3.5vw;
}

/* --- featured item --- */

.featured_item {
	max-width:100%;
	padding:0 0 25vw;
	margin:15vw auto 0;
}

.featured_item .inner {
	margin:0 auto;
	padding:0 5vw;
}

.featured_item .h_title {
	margin-bottom:40vw;
}

.item_slide {
	width:100vw;
	padding-bottom:15vw;
}

.item_slide::before {
	font-size:20vw;
	left:10%;
	top:-18vw;
}


.item_slide .slick-slide {
	margin-right:2.5vw;
	width:80vw;
	min-width:auto;
}

.item_slide .slick-slide figure {
	width:80vw;
	height:80vw;
	min-width:auto;
	min-height:auto;
}


.item_txt .tag span {
	font-size:3.5vw;
	height:6vw;
	line-height:6vw;
	border-radius: 3vw;
}

.item_name {
	font-size:4.5vw;
}


.featured_item .prev_arrow,
.featured_item .next_arrow {
	top:-22.5vw;
	width:17.5vw;
	height:17.5vw;
}

.featured_item .prev_arrow img,
.featured_item .next_arrow img {
	width:7.5vw;
	height:4.5vw;
}


.featured_item .prev_arrow {
	right:33vw;
}

.featured_item .next_arrow {
	right:10vw;
}

.featured_item .slick-dots {
	width: 90%;
}


.featured_item .btn2 {
	margin:15vw 0 0 auto;
	width:71.25vw;
	text-align:right;
}

/* --- runking --- */

.runking {
	/*padding:0px 0 20vw;*/
	padding:0px 0 0vw;
}

#runking_medical {
	/* padding-bottom:20vw; */
	padding-bottom:0vw;
}

.run_wrap {
	max-width:100%;
}

.run_wrap:first-of-type {
	padding-top:45vw;
}


#runking_hari .run_wrap:first-of-type::before,
#runking_okyu .run_wrap:first-of-type::before {
	font-size:50vw;
	left:auto;
	right:0;
	top:-5vw;
	bottom:auto;
	z-index:10;
}

#runking_medical .run_wrap:first-of-type::before {
	left: -2vw;
    right: auto;
    top: 10vw;
    bottom: auto;
    font-size: 25vw;
	z-index:10;
}

#runking_taping .run_wrap:first-of-type::before {
	top:6vw;
	bottom:auto;
	font-size:18vw;
	right:auto;
	left:-2vw;
	z-index:10;
}

#runking_taping .run_wrap:first-of-type {
	padding-top:25vw;
}

.run_block {
	width:100%;
	max-width:100%;
	margin-bottom:20vw;
}

.run_img {
	width:90vw;
	height:90vw;
}

.run_txt {
	width: 100%;
    margin:7.5vw 0 0 0;
}

.run_txt h3 {
	font-size:4.5vw;
}

.run_txt h3 span {
	font-size:5.5vw;
}

.run_txt h2 {
	font-size:4.5vw;
}

.run_txt p {
	font-size:3.5vw;
}

.run_txt .no_tax {
	font-size:7.5vw;
}

.run_txt .in_tax {
	font-size:5vw;
}

/* --- contact freedial --- */

.contact_freedial {
	padding:15vw 0 25vw;
	margin-top:25vw;
}

.contact_freedial::before {
	width:90vw;
	height:42vw;
	max-width:100%;
	max-height:100%;
}

.contact_freedial .h_title2 {
	font-size:12vw;
}


.contact_telno {
	font-size:11vw;
	margin:10vw auto;
}

/* --- niche contents --- */

.niche {
	padding:15vw 0 20vw;
	margin-bottom:25vw;
}

.ni_block {
	width:100%;
	max-width:100%;
	margin-bottom:10vw;
}

.ni_img {
	width:100%;
	overflow:hidden;
}

.ni_img img {
	width:90vw;
	height:52.5775vw;
}

.ni_txt {
	padding:6vw 5vw 5vw;
}

.ni_name {
	min-height:auto;
}

.ni_comment {
	font-size:3.5vw;
}



/* --- deals --- */

.deals {
	margin-bottom:25vw;
}

.de_block {
	width:100%;
	margin-bottom:10vw;
}

.de_txt {
	padding: 1.5em 0 1em;
}

.de_txt h2 {
	font-size:4.5vw;
}

.de_txt p {
	font-size:3.5vw;
}


/* --- maker list block --- */

/* メーカー一覧ページ */
.maker_list_page {
	margin-top:20vw;
}
.maker .kome.maker_attention {
	margin-bottom:3em;
}

/* ここまで */

.maker {
	padding-bottom:25vw;
}

.ma_wrap {
	padding:0;
}

.ma_block {
	width:48%;
	max-width:100%;
	padding-bottom:5vw;
	margin-bottom:5vw;
}

.ma_img {
	margin-right:0;
}

.ma_name {
	width:35vw;
	margin:-2vw auto 0;
}

.ma_name img {
	width:35vw;
	height:8.9725vw;
}

.maker .btn2 {
	width:80vw;
	margin:5vw  0 0 auto;
	text-align:right;
}

/* --- philosophy --- */

.philosophy {
	margin-bottom:10vw;
}

.philosophy .inner {
	max-width:100%;
}

.ph_block {
	width:100%;
	max-width:100%;
	padding:6vw 5vw;
	min-width:auto;
	margin-bottom:10vw;
}

.ph_block::before {
	content:"";
	display: block;
	position:absolute;
	top:10%;
	opacity:0.1;
}

.ph_block1::before {
	background:url(../img/common/bg_ph01.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:80vw;
	height:80vw;
	max-width:100%;
	max-height:100%;
}

.ph_block2::before {
	background:url(../img/common/bg_ph02.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:80vw;
	height:80vw;
	max-width:100%;
	max-height:100%;
}

.ph_block3::before {
	background:url(../img/common/bg_ph03.svg) no-repeat center / contain;
	left:0;
	right:0;
	margin:0 auto;
	width:80vw;
	height:80vw;
	max-width:100%;
	max-height:100%;
}



.ph_block h2 {
	font-size:7vw;
	margin-bottom:10vw;
}

.ph_block h2 span {
	font-size:5vw;
	margin-bottom:0.5em;
}

.ph_block .ph_no {
	font-size:5vw;
	margin-bottom:5vw;
}


.pho_block .more {
	font-size:4.5vw;
}

.ph_block h2 + p {
	line-height:1.75em;
}


/* --- information --- */

.information {
	padding-bottom:10vw;
	margin-bottom:10vw;
}

.information .h_title {
	margin-bottom:10vw;
}

.information .h_title span {
	/* font-size:10vw; */
}

.information .info_title {
	height:auto;
}


.info_list {
	padding:0;
	margin-bottom:10vw;
}
.info_list li {
	width:100%;
}

.info_line {
	width:100%;
}


.info_date {
	font-size:3vw;
}


.information .btn2,
.column .btn2 {
	display: block;
	width:57.5vw;
	margin:0 0 0 auto;
	text-align:right;
}

/* --- column --- */

.column {
	padding:15vw 0 20vw;
}

.co_list li {
	width:100%;
	margin-bottom:10vw;
}

.co_img {
	width:100%;
	height:55.5vw;
	min-width:auto;
	min-height:auto;
	margin-bottom:5vw;
}

.co_txt {
	padding-left:0px;
}

.co_wrap {
	margin-bottom:1em;
}

/*-------------------------------
	archive
-------------------------------*/

.archive_wrap {
	width:100%;
	margin-top:15vw;
}

.archive_wrap h3 {
	font-size:6vw;
	border-width:0.5vw;
}

.archive_wrap .archive_list:not(:last-of-type) {
	margin-bottom:10vw;
}

.archive_wrap > ul li a {
	font-size:4.5vw;
}

.archive_wrap > ul li a::after {
	width:1.75vw;
	height:3vw;
}

/*-------------------------------
	pager information column 
-------------------------------*/

.pager_wrap {
	padding-bottom:0;
	margin-bottom:25vw;
}

.page-numbers {
	flex-wrap:wrap;
}

.page-numbers li {
	border-width:0.5vw;
	margin-bottom:5vw;
}

.page-numbers li, .page-numbers li span, .page-numbers li a {
	font-size:4vw;
}


/* --- campaign banner --- */

#campaign_banner {
	margin:0 auto 20vw;
}


.banner_list_top .main_banner {
	display: block;
	width:100%;
	margin-bottom:4vw;
}

.banner_list01 {
	width:100%;
}

.banner_list01 li,
.banner_list02 li {
	width:48%;
}

.banner_list02 li:last-of-type {
	width:100%;
}

.banner_list02 li:last-of-type li,
.banner_list02 li:last-of-type li figure  {
	width:100%;
}

.banner_list02 li:last-of-type li figure img {
	width:100%;
	height:100%;
	object-fit: contain;
	font-family: 'object-fit: contain;';
}

.banner_list02 li {
	margin-top:4vw;
}

.banner_list_top02 li,
.banner_list_top02 .main_banner  {
	margin-top:4vw;
}

.banner_list li figure,
.main_banner figure {
	padding-top:5.25vw;
}

.banner_new::before {
	content: "NEW";
	display: block;
	width: 17.5vw;
	height: 5.25vw;
	line-height: 5.25vw;
	font-size: 3.5vw;
	right: -1.75vw;
}


/* --- 楽ラクサポート banner crossing --- */

.banner_crossing {
	/* margin-bottom:4vw; */
	margin-top:0vw;
}

.banner_crossing figure {
	border-width:1vw;
}

.banner_crossing figure img {
	width:100%;
}



/* --- old banner --- */
.old_banner {
	padding:0 5vw;
	margin:20vw auto 0;
}

.old_banner a:not(:last-of-type) figure {
	margin-bottom:5vw;
}

/* --- 外部リンクバナー external banner --- */

#external_banner {
	/* margin:0 auto 25vw; */
	margin:20vw auto 25vw;
}

.ex_banner_list a {
	width:48%;
}

/* --- Youtube block ハリネットタケダ --- */

.youtube_block {
	/* margin:10vw auto 0; */
	margin:10vw auto 10vw;
}

.yb {
	width:100%;
	margin-bottom:7.5vw;
}

.yb iframe {
	width:100%;
	height:50.625vw;
	max-height:100%;
}

.yb h2 {
	font-size: 4.5vw;
}

.yb p {
	font-size:3.5vw;
}

/* --- top message --- */

.message {
	padding:5vw 5vw;
	margin:0 auto 20vw;
	max-width:100%;
}

.message h2 {
	/* font-size:6vw; */
	font-size:5.25vw;
}

.message h3 {
	/* font-size:4.5vw; */
	font-size:4.25vw;
}

.message_child p.tex_ce.fw_bold {
	font-size:4vw;
}

.message_child .ten_list li {
	font-size:3.5vw;
}


/* --- focus block --- */

#focus_block {
	margin:0 auto;
	/* padding-top:10vw; */
}

#focus_block a {
	max-width:100%;
}

#focus_block a:not(:last-of-type) {
	margin-bottom:5vw;
}

/* --- focus link --- */

.focus_link {
	top:auto;
	bottom:1.5vw;
	left:0;
	right:auto;
}

.focus_link a {
	font-size:4vw;
	padding:0.5em 1em;
	-ms-writing-mode: lr-tb;
	writing-mode: horizontal-tb;
	color:#0CD1F7;
}

.focus_link a::before {
	left:1.5vw;
	top:1.5vw;
	box-shadow: 1vw 1vw 1.5vw 0px rgba(0, 0, 0, 0.2);
	background:#0CD1F7;
}

.focus_link a:hover {
	color:#f7ab00;
}

.focus_link a:hover::before {
	background:#f7ab00;
}

/* --- google map --- */


/* --- page top --- */

.ec-blockTopBtn {
	width:23.175vw;
	height:23.31vw;
	right:2.5vw;
	bottom:2.5vw;
}

.ec-blockTopBtn img {
	width:16.65vw;
	height:16.65vw;
}


/* --- h_title --- */




/* --- blog cate time --- */

.cate {
	font-size:3vw;
}

.time {
	font-size:3vw;
}

/*-------------------------------
	popular category
-------------------------------*/

.popular_category {
	padding:15vw 0 20vw;
	margin-bottom:25vw;
}

.popular_category .h_title {
	margin-bottom:10vw;
}

.p_cate_list li {
	width:50%;
	background:#fff;
	border-left:1px solid #e9e9e9;
	/* border-top:1px solid #e9e9e9; */
}

.p_cate_list li:nth-of-type(4n) {
	border-right:none;
}

.p_cate_list li:nth-of-type(3n) {
	border-right:none
}

.p_cate_list li:nth-of-type(even) {
	border-right:1px solid #e9e9e9;
}

.p_cate_list li:nth-of-type(-n+3) {
	border-top:none;
}

.p_cate_list li:nth-of-type(-n+2) {
	border-top:1px solid #e9e9e9;
}

.p_cate_list li:last-of-type {
	border-right:1px solid #e9e9e9;
	width: 100%;
}
/*

.p_cate_list li:nth-of-type(n + 17) {
	border-bottom:none;
}
.p_cate_list li:nth-of-type(n + 19) {
	border-bottom:1px solid #e9e9e9;
}
*/

.p_cate_list li a {
	padding:2vw 1.25vw 2vw 1.25vw;
	position:relative;
}

.p_cate_list li a::after {
	/* width:2.5vw;
	height:2.5vw;
	border-width:0.5vw;
	right:2vw;
	top:auto;
	bottom:2vw; */
	display: none;
}

.p_cate_img {
	width:11vw;
	height:11vw;
}

.p_cate_list h4 {
	width:calc(100% - 11vw);
	font-size:3.75vw;
	
}

/*-------------------------------
	popular category all_cate_wrap
-------------------------------*/

.all_cate_wrap {
	margin:15vw auto 0;
}

.all_cate_btn {
	margin:0 auto 15vw;
	width:75vw;
	height:15vw;
	line-height:14.5vw;
	font-size:4vw;
}

.all_cate_btn::before {
	width:2vw;
	height:2vw;
	border-width:0.5vw;
	right:5vw;
	bottom:0.5vw;
}

.all_cate_btn.open::before {
	transform:rotate(-135deg);
	bottom:-1vw;
}

.all_cate_wrap .ec-itemNav__nav > li > a {
	padding:3.75vw 2em 3.75vw 2.5vw;
}

.all_cate_wrap .ec-itemNav__nav > li:hover {
	box-shadow: 0.5vw 0.5vw 0.5vw rgba(0,0,0,0.2);
}

.all_cate_wrap .ec-itemNav__nav li ul {
	position:absolute;
	filter: drop-shadow(0.5vw 0.5vw 0.25vw rgb(0, 0, 0,0.2));
}

.all_cate_wrap .ec-itemNav__nav li ul::before {
	width:calc(100% - 5vw);
}

.all_cate_wrap .ec-itemNav__nav li ul li a {
	padding:0.75em 2.5vw;
}

.all_cate_wrap .ec-itemNav__nav li > a.plus::before,
.all_cate_wrap .ec-itemNav__nav li > a.plus::after {
	right:2.5vw;
}

@media screen and (max-width:380px) {



}

}
/* ---------  ver.SmartPhone fin ------------ */

