@charset "utf-8";

/*********************************************************************

Browser Default Initialization

*********************************************************************/

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,
b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; font-style:normal; font-weight:normal; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
html, body { height:100vh; }
html { overflow-y:scroll; }
body { line-height:1; letter-spacing:normal; }
/*blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }*/
dl, ol, ul { list-style:none; }
table { border-collapse:collapse; border-spacing:0; }
img { vertical-align:bottom; }
img, x:-moz-any-link, x:default { box-shadow:#000 0 0 0; }
a { color:inherit; -webkit-backface-visibility:hidden; backface-visibility:hidden; -moz-user-select:none; -khtml-user-select:none; -webkit-user-select:none; }
a, b, big, i, s, small, strike, strong, sub, sup, u, span, em { font-weight:inherit; line-height:inherit; }
*,
:before,
:after { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; -webkit-tap-highlight-color:rgba(0, 0, 0, 0); }

/*********************************************************************

common

*********************************************************************/

html,
input,
select,
textarea,
button { color:#303030; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html { font-size:93.8%; }
body { background:#f9f9f9; }
h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	line-height: 2.2;
}
p { line-height: 2; }
a { text-decoration:none; }
img { width:100%;   image-rendering: -moz-crisp-edges; image-rendering: -moz-crisp-edges; image-rendering: -o-crisp-edges; image-rendering: -webkit-optimize-contrast; -ms-interpolation-mode: nearest-neighbor;}

@media screen and (max-width:768px){
html { font-size:75%; }
/*h1, h2, h3, h4, h5, h6 { line-height: 2.2; }
p { line-height: 2; }*/
}

/* ===================================================================
 font-family
=================================================================== */

html,
input,
select,
textarea,
button { font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

.bn-ie,
.bn-ie input,
.bn-ie select,
.bn-ie textarea,
.bn-ie button { font-family:'Segoe UI', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }

/* ===================================================================
 cursor
=================================================================== */

.device-mobile *,
.device-tablet * { cursor:pointer; }

/* ===================================================================
 clearfix
=================================================================== */

.clearfix:after { visibility:hidden; display:block; font-size:0; content:"." ; clear:both; height:0; }
* html .clearfix { zoom:1; /*\*//*/ height:auto; overflow:hidden; /**/ }
*:first-child+html .clearfix { zoom:1; }
.clear { clear:both; }

/* ===================================================================
 display:none
=================================================================== */

@media print,screen and (min-width:769px){
.only-sp { display:none !important; }
}

@media screen and (max-width:768px){
.only-pc { display:none !important; }
}

/* ===================================================================
 indent
=================================================================== */

.indent-1 { text-indent:-1em; margin-left:1em; }

/*********************************************************************

#g-header - rwd

*********************************************************************/

#g-header { width:100%; position:fixed; top:0; left:0; z-index:100; }
#g-header .inner { width:100%; height: 100%; max-width:1000px; margin:0 auto; }
#g-header .l-cont,
#g-header .r-cont { height:64px; font-size:0; }
#g-header .l-cont:before,
#g-header .r-cont:before,
#g-header .l-cont > *,
#g-header .r-cont > * { display: inline-block; vertical-align: middle; }
#g-header .l-cont:before,
#g-header .r-cont:before { content: ''; width: 0; height: 100%; }
#g-header .l-cont > *,
#g-header .r-cont > * { max-width: 100%; }
#g-header .l-cont { float: left; text-align: left; }
#g-header .r-cont { float: right; text-align: right; }
#g-header .logo { font-size: 1rem; }
#g-header .logo img { width: auto; height: 42px; }
#g-header .logo-corp { font-size:1rem; padding:0 0 0 20px; }
#g-header .logo-corp img { width:auto; height:22px; }
#g-header .drop-nav { display: inline-block; vertical-align: middle; position: relative; }
#g-header .drop-nav-button { display: block; height: 35px; line-height: 35px; padding:0 22px 0 0; position: relative; background: URL(../img/medilink/nav_arrow.png) no-repeat right center; background-size: 20px; }
#g-header .drop-nav-menu { width: 210px; position: absolute; top: 35px; left: 0; background: #fff; border:#e9e9e9 1px solid; text-align: left;
box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.15);
-webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}
#g-header .drop-nav-menu ul { padding: 20px 0; }
#g-header .drop-nav-menu li a { display: block; font-size: 14px; line-height:1.35; padding: 7px 30px;
-webkit-transition: color 0.3s ease;
transition: color 0.3s ease;
}
#g-header-top { background:#fff; border-bottom:#dcdcdc 1px solid; }
#g-header-top .l-cont,
#g-header-top .r-cont { position:relative; }
#g-header-top .l-cont { z-index:1; }
#g-header-top .r-cont { z-index:0; }
#g-header-top .cmn-link-1 { font-size:0.933rem; line-height:1.35; }
#g-header-top .category-nav { padding-left: 20px; }
#g-header-top .category-nav .drop-nav { margin-left: 20px; }
#g-header-top .category-nav .drop-nav-button { font-size: 16px; font-weight: bold; }

/* hover */
#g-header .drop-nav-menu li a:hover { color:#1f44b1; }

/* drop-nav type */
#g-header .drop-nav.type-l .drop-nav-menu { left:0; right: auto; }
#g-header .drop-nav.type-r .drop-nav-menu { left:auto; right: 0; }

/* default */
#g-header .drop-nav-menu { opacity: 0; visibility: hidden;
-webkit-transform: translateX(0px) translateY(-20px);
-ms-transform: translateX(0px) translateY(-20px);
transform: translateX(0px) translateY(-20px);
}

/* active */
#g-header .drop-nav.active .drop-nav-menu { opacity: 1; visibility: visible;
-webkit-transform: translateX(0px) translateY(0px);
-ms-transform: translateX(0px) translateY(0px);
transform: translateX(0px) translateY(0px);
}

/* clearfix element */
#g-header .inner:after { visibility:hidden; display:block; font-size:0; content:"." ; clear:both; height:0; }
* html #g-header .inner { zoom:1; /*\*//*/ height:auto; overflow:hidden; /**/ }
*:first-child+html #g-header .inner { zoom:1; }

@media screen and (max-width:768px){
#g-header { width:100%; min-width:320px; }
#g-header .inner { max-width:none; }
#g-header .l-cont,
#g-header .r-cont { height:45px; font-size:0; }
#g-header .logo img { height:32px; }
#g-header-top .inner { padding:0 10px; }

/* hover */
#g-header .drop-nav-menu li a:hover { color:#333; }

/* sp element */
#g-header-top .sp-cont-nav { width:32px; height:32px; display:inline-block; vertical-align:middle; margin:0 0 0 10px; font-size:1rem; overflow:hidden; text-align:left; text-indent:-9999px; background:no-repeat center center; background-size:100%; }
/*#g-header-top .sp-cont-nav.icon-cart { background-image:URL(/img/sp_cart.png); }
#g-header-top .sp-cont-nav.icon-user { background-image:URL(/img/sp_user.png); }*/
}


/* header */

header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	background: #fff;
	border-bottom: #dcdcdc 1px solid;
	box-sizing: border-box;
}

header .inner {
	width: 100%;
	height: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	line-height: 62px;
	overflow: visible;
}s

header .l-cont, header .r-cont {
	position: relative;
	height: 64px;
	font-size: 0;
}

header .sp-menu {
	display: none;
}

header .l-cont>*, header .r-cont>* {
	display: inline-block;
	vertical-align: middle;
}

header .l-cont>*, header .r-cont>* {
	max-width: 100%;
}

header .l-cont {
	float: left;
	text-align: left;
	z-index: 1;
}

header .r-cont {
	float: right;
	text-align: right;
	z-index: 0;
}

header .logo {
	width: 209px;
	height: 55px;
}

header .logo a {
	display: block;
	width: 209px;
	height: 55px;
}

header .logo img {
	width: 100%;
	height: auto;
	vertical-align: initial;
}

header .logo-corp {
	width: auto;
	height: 22px;
	padding: 0 0 0 20px;
}

header .logo-corp a {
	width: 100%;
	height: 100%;
	display: inline-block;
}

header .logo-corp img {
	width: 100%;
	height: 100%;
	vertical-align: top;
}

header .drop-nav {
	display: inline-block;
	vertical-align: middle;
	position: relative;
}

header .drop-nav-button {
	display: block;
	height: 35px;
	line-height: 35px;
	padding: 0 22px 0 0;
	position: relative;
	background: URL(../img/medilink/nav_arrow.png) no-repeat right center;
	background-size: 20px;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}

header .drop-nav-button.no-menu {
	padding-right: 0;
	background-image: none;
}

header .drop-nav-menu {
	width: 210px;
	position: absolute;
	top: 35px;
	background: #fff;
	border: #e9e9e9 1px solid;
	text-align: left;
	box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.15);
	-webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
	transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
}

header .drop-nav-menu ul {
	padding: 20px 30px;
}

header .drop-nav-menu ul li {
	display: block;
	font-size: 14px;
	line-height: 32px;
}

header .drop-nav-menu li a {
	display: block;
	cursor: pointer;
}

#header {
	position: relative;
	z-index: 1;
	height: 100%;
	box-sizing: border-box;
}

#header .l-cont, #header .r-cont {
	position: relative;
	z-index: 1;
}

#header .category-nav {
	padding-left: 30px;
}

#header .category-nav .drop-nav {
	margin-left: 12px;
}
#header .category-nav .drop-nav:last-child {
	margin-left: 6px;
}

#header .category-nav .drop-nav-button {
	font-size: 14px;
	font-weight: bold;
}

#header .guest-items {
	padding: 0 0 0 10px;
}

#header .guest-items .button {
	width: 120px;
	height: 30px;
	line-height: 30px;
	font-size: 13px;
	margin-left: 10px;
}

#header .guest-items .button.button-color-2 {
	color: #666;
	line-height: 30px;
	background-color: #fff;
	border: #e9e9e9 1px solid;
}

/* hover */

#header .drop-nav-menu li a:hover {
	color: #1f44b1;
}

header .drop-nav-button:hover {
	opacity: 0.75;
}

header .drop-nav.type-r .drop-nav-menu {
	left: auto;
	right: 0;
}

/* default */

header .drop-nav-menu {
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translateX(0px) translateY(-20px);
	-ms-transform: translateX(0px) translateY(-20px);
	transform: translateX(0px) translateY(-20px);
}

/* active */

header .drop-nav.active .drop-nav-menu {
	opacity: 1;
	visibility: visible;
	-webkit-transform: translateX(0px) translateY(0px);
	-ms-transform: translateX(0px) translateY(0px);
	transform: translateX(0px) translateY(0px);
	z-index: 1000;
	box-sizing: border-box;
}

* html header .inner {
	zoom: 1;
}

*:first-child+html header .inner {
	zoom: 1;
}

@media (max-width: 767px) {
	/* header */
	header {
		width: 100%;
		min-width: 320px;
	}
	header .inner {
		width: 100%;
		line-height: 45px;
	}
	header .l-cont, header .r-cont {
		height: 45px;
		font-size: 0;
	}
	header .logo {
		width: 157px;
		height: 40px;
		margin-left: 10px;
	}
	header .logo a {
		display: block;
		width: 157px;
		height: 32px;
	}
	header .drop-nav {
		display: none;
	}
	header .logo-corp {
		display: none;
	}
	#header {
		height: 45px;
	}
	header .drop-nav-menu {
		top: 45px;
		right: 0;
		margin: 0 10px;
	}
	header .r-cont {
		display: none;
	}
	header .sp-menu {
		display: inline-block;
		float: right;
		margin-right: 10px;
		position: relative;
	}
	header .sp-menu.login-nav {
		display: none;
	}
	header .sp-menu .drop-nav-button {
		background: none;
	}
	header .drop-nav.active .drop-nav-menu {
		position: absolute;
		top: 45px;
		right: 0;
	}
	header .sp-menu .drop-nav-menu-inner {
		text-align: left;
		background: #fff;
	}
	header .sp-menu .drop-nav {
		display: inline-block;
		width: 100%;
		height: 100%;
	}
	header .sp-menu .menu-items {
		display: inline-block;
		width: 32px;
		height: 32px;
		line-height: 32px;
		margin-right: 10px;
		position: relative;
		background-image: url(../img/medilink/icon_menu.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: 32px;
		-webkit-transition: opacity 0.3s ease;
		transition: opacity 0.3s ease;
	}
	header .sp-menu .menu-items .drop-nav-menu {
		width: 210px;
		height: auto;
		max-height: calc(100vh - 45px - 20px);
		right: -31px;
		overflow-y: auto;
	}
	header .sp-menu .drop-nav-menu-inner{
		border-bottom: 1px solid #ccc;
	}
	header .sp-menu .drop-nav-menu-inner::before {
		content: "";
		position: absolute;
		top: -14px;
		right: 65px;
		margin-left: -7px;
		border: 7px solid transparent;
		border-bottom: 7px solid #e9e9e9;
	}
	header .sp-menu .drop-nav-menu-inner::after {
		content: "";
		position: absolute;
		top: -13px;
		right: 65px;
		margin-left: -7px;
		border: 7px solid transparent;
		border-bottom: 7px solid #fff;
	}
	header .sp-menu .no-border {
		border-bottom: 0;
		margin-bottom: 20px;
	}
	header .sp-menu .menu-items .drop-nav-menu p {
		font-size: 16px;
		font-weight: bold;
		line-height: 16px;
		padding: 20px 30px 0;
	}
	header .sp-menu .menu-items .drop-nav-menu ul {
		padding: 5px 30px 10px;
	}
	header .sp-menu .menu-items .drop-nav-menu li {
		padding: 4px;
		font-size: 14px;
	}
	header .sp-menu .drop-nav-button {
		background: none;
		padding: 0;
	}
	header .sp-menu .drop-nav-menu .username {
		padding: 10px 10px 8px 10px;
		color: #b2b2b2;
		line-height: normal;
	}
	/* hover */
	#header-top .drop-nav-menu li a:hover {
		color: #333;
	}
	header .drop-nav-button:hover, header .drop-nav-menu a:hover {
		opacity: 1;
	}
}


/*********************************************************************

#g-footer - rwd

*********************************************************************/

#g-footer { background:#333; padding:0 0 50px 0; position:relative; z-index:99; box-sizing: border-box;}
#g-footer > .inner { width:100%; max-width:1000px; margin:0 auto; }
#g-footer-top { padding:40px 0 0 0; }
#g-footer-bottom { padding:35px 0 0 0; }
#g-footer-bottom .copyright { font-size:0.933rem; color:#ddd; line-height:1.35; text-align:center; }
#g-footer-nav { text-align:center; font-size:0; padding:0 80px; }
#g-footer-nav li { display:inline-block; vertical-align:top; padding:7px 0; margin:0 40px 0 0; }
#g-footer-nav li > * { font-size:0.933rem; color:#ddd; line-height:1.35; }
#g-footer-nav li a {
-webkit-transition: opacity 0.3s ease;
transition: opacity 0.3s ease;
}

/* hover */
#g-footer-nav li a:hover { opacity:0.75; }

/* margin adjust */
#g-footer-nav li:last-of-type { margin-right:0px; }

@media screen and (max-width:768px){
#g-footer { padding:0 0 45px 0; }
#g-footer > .inner { max-width:none; }
#g-footer-top { padding:20px 0 0 0; }
#g-footer-bottom { padding:32px 0 0 0; }
#g-footer-bottom .copyright { font-size:1rem; line-height:1.3; }
#g-footer-nav { text-align:left; padding:0; }
#g-footer-nav li { display:block; vertical-align:top; padding:0; margin:0; }
#g-footer-nav li > * { display:block; font-size:1rem; line-height:1.3; padding:8px 20px; }

/* hover */
#g-footer-nav li a:hover { opacity:1; }
}

/*********************************************************************

#page-top - rwd

*********************************************************************/

#page-top { width:100%; height:0; position:absolute; top:110px; left:0; z-index:100; }
#page-top-button { display:block; width:50px; height:50px; position:fixed; bottom:30px; right:30px; background:#333 URL(../img/medilink/to_top_arrow.png) no-repeat center center; background-size:100%; opacity:0; visibility:hidden;
-webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* absolute */
#page-top-button.absolute { position:absolute; }

/* visible */
#page-top-button.visible { opacity:1; visibility:visible; }


/*********************************************************************

#container - rwd

*********************************************************************/

#container { background:#fff; padding:65px 0 32px 0; }
#container > .inner { width:100%; max-width:1000px; min-height:480px; margin:0 auto; }

@media screen and (max-width:768px){
#container { width:100%; min-width:320px; padding:46px 0 25px 0; }
#container > .inner { max-width:none; min-height:0; }
}

/*********************************************************************

.cmn-content-box-1 - rwd（コンテンツ囲み - 汎用）

*********************************************************************/

/*.cmn-content-box-1 { padding:0 20px; }
.cmn-content-box-1 > .inner { padding:0 10px; }*/

/* border */
/*.cmn-content-box-1 > .inner.bdr-bottom { border-bottom:#dcdcdc 1px solid; }*/
/* padding */
/*.cmn-content-box-1 > .inner.pad-bottom-l { padding-bottom:50px; }
.cmn-content-box-1 > .inner.pad-bottom-m { padding-bottom:32px; }
.cmn-content-box-1 > .inner.pad-bottom-0 { padding-bottom:0; }*/

@media screen and (max-width:768px){
.cmn-content-box-1 > .inner { padding:0; }

/* padding */
.cmn-content-box-1 > .inner.pad-bottom-l { padding-bottom:25px; }
.cmn-content-box-1 > .inner.pad-bottom-m { padding-bottom:25px; }
}

/*********************************************************************

.cmn-title- rwd（見出し - 大 - 汎用）

*********************************************************************/
/*.cmn-title-l-1 {
	color:#404040;
	font-size:1.733rem;
	font-weight:bold;
	 padding:20px 0;
}
.cmn-title-s-1 {
	color: #303030;
	font-size: 18px;
	font-weight: bold;
	padding: 10px 0 5px 0;
}
@media screen and (max-width:768px){
	.cmn-title-l-1 {
		font-size:1.5rem;
		padding:22px 0 18px 0;
	}
}*/

/*********************************************************************

.cmn-link-1 - rwd（リンク - 汎用）

*********************************************************************/
.cmn-link-1-wrap-1 { font-size:0; }
.cmn-link-1 {
	display:inline-block;
	vertical-align:top;
	color:#1f44b1;
	font-size:1rem;
	line-height:1.5;
	padding:2px 0 2px 25px;
	position:relative;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
