@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/

html{ font-size: 62.5% }

body {
	width: 100%;
	height: 100%;
	font-family:"Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#404041;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 400;
	background:#FFF;
	line-height:1.8;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

*{ box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
img { -ms-interpolation-mode: bicubic; } 

a{
	text-decoration: none;
	-webkit-backface-visibility: hidden; /* Chrome:hover欠け対策 */
    backface-visibility: hidden; /* Chrome:hover欠け対策 */
	padding: 1px; /* Chrome:hover欠け対策 */
	font-weight: 200;
}

.f_min {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", 'Noto Serif SC', "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/*----DWナビゲート用----*/
.Aover{}
.pc{}
.sp{}
.img-switch{}
.flex_cards {}
.object-fit-img{}

.object-fit-img {
  object-fit: contain;
  font-family: 'object-fit: contain;'
}

/*ページトップ*/
.SmoothScroll_pageTop{
    text-align:right;
    position: fixed;
    bottom: 3%;
    right: 5%;
    display: none;
}
.SmoothScroll_pageTop a::before{
    font-family:FontAwesome;
	content: "\f077";
    margin-right:5px;
}
.SmoothScroll_pageTop a:hover{
    background-color:rgba(100, 100, 100, 0.6);
}
.SmoothScroll_pageTop a{
	background-color:rgba(100, 100, 100, 0.4);
	display:inline-block;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
	margin:10px 0;
    color:#FFF;
    width:50px;
    height:50px;
    padding:0;
    text-align:center;
    line-height:50px;
}
.SmoothScroll_pageTop a::before{
    margin-right:0;
}
.SmoothScroll_pageTop a span{
    display:none;
}

/************************************
** レスポンシブページネーション
************************************/
.pagination{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0;
}

.pagination,
.pagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pagination a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration:none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #333;
}

.pagination li:not([class*="current"]) a:hover {
  background-color: #eee;
}

.pagination li:first-of-type a {
  border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }

.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }

.pagination li.current a {
 background-color: #ddd;
 cursor: default;
 pointer-events: none;
}

.pagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

@media only screen and ( max-width: 680px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 500px ) {
  .pagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.current,
  .pagination li.first,
  .pagination li.last,
  .pagination li.previous,
  .pagination li.next{
    position: initial;
    top: initial;
    left: initial;
  }

  .pagination li.previous a { border-left-width: 0; }
}

@media only screen and ( max-width: 400px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}

@media only screen and ( max-width: 240px ) { /* For watches? */
  .pagination li { width: 50%;}

  .pagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/


@media print, screen and (min-width: 769px){
	.sp{
		display: none!important;
	}
	
	body {
		padding-top: 135px;
	}
	
	a {
		transition-duration: 0.5s;
	}
	
	a:hover {
		opacity: 0.7!important;
	}
	
	header{
		width: 100%;
		min-width: 1130px;
		margin: 0 auto;
		background: rgba(255,255,255,1.0);
		z-index: 999;
		position: fixed;
		top: 0;
		transition: .5s;
		padding-top: 60px;
	}
	
	header div.header_inner{
		width: 1130px;
		margin: 0 auto;
		position: relative;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	header div.header_inner div.inner_l{
		width: 518px;
		margin: 0;
	}
	
	header div.header_inner div.inner_l h1{
		width: 242px;
		line-height: 0;
		margin-bottom: 28px;
	}
	
	header div.header_inner div.inner_l nav{
		width: 100%;
	}
	
	header div.header_inner div.inner_l nav ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		padding-left: 36px;
	}
	
	header div.header_inner div.inner_l nav ul li{
		display: inline-block;
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 1.2;
		position: relative;
		padding-bottom: 10px;
	}
	
	header div.header_inner div.inner_l nav ul li a{
		color: #000;
		font-weight: 700;
	}
	
	header div.header_inner div.inner_l nav ul li.accordion ul {
		display: none;
		top: 18px;
		left: -50px;
		position: absolute;
		z-index: 99;
	}
	
	header div.header_inner div.inner_l nav ul li:first-child.accordion ul {
		width: 120px;
	}
	
	header div.header_inner div.inner_l ul li:nth-child(2).accordion ul {
		width: 180px;
		left: -55px;
	}
	
	header div.header_inner div.inner_l ul li:nth-child(3).accordion ul {
		width: 180px;
		left: -55px;
	}
	
	header div.header_inner div.inner_l nav ul li:nth-child(4).accordion ul {
		width: 200px;
		left: -60px;
	}
	
	header div.header_inner div.inner_l nav ul li.accordion ul li {
		width: 100%;
		background: #FFF;
		padding: 0;
	}
	
	header div.header_inner div.inner_l nav ul li.accordion ul li:first-child {
		padding-top: 10px;
	}
	
	header div.header_inner div.inner_l nav ul li.accordion ul li a {
		width: 100%;
		display: block;
		background: #FFF;
		color: #000;
		/*border-bottom: 1px solid #ccc;*/
		padding: 10px 5px;
		text-align: center;
		line-height: 1.2;
		transition: all 0.5s ease-in-out;
	}
	
	header div.header_inner div.inner_l nav ul li.accordion ul li.chilled a {
		padding: 5px 0;
		font-weight: 500;
		color: #333;
	}
	
	header div.header_inner div.inner_r{
		width: 334px;
		margin: 0;
	}
	
	header div.header_inner div.inner_r nav ul{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		margin-bottom: 6px;
	}
	
	header div.header_inner div.inner_r nav ul li{
		display: inline-block;
	}
	
	header div.header_inner div.inner_r nav ul li a{
		font-size: 11px;
		font-size: 1.1rem;
		font-weight: 700;
		line-height: 1.1;
		color: #000;
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	header div.header_inner div.inner_r nav ul li:first-child a{
		padding-top: 4px;
	}
	
	header div.header_inner div.inner_r nav ul li a span{
		width: 12px;
		display: inline-block;
		margin-right: 3px;
		padding-top: 2px;
	}
	
	header div.header_inner div.inner_r ul.language{
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-end;
	}
	
	header div.header_inner div.inner_r ul.language li{
		display: inline-block;
		margin-left: 18px;
	}
	
	header div.header_inner div.inner_r ul.language li a{
		font-size: 11px;
		font-size: 1.1rem;
		font-weight: 700;
		line-height: 1.1;
		color: #000;
	}
	
	ul.breadcrumb {
		width: 1130px;
		margin: 20px auto 5px;
	}
	
	ul.breadcrumb li, ul.breadcrumb li a{
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 1.2;
		color: #808080;
		position: relative;
		display: inline-block;
	}
	
	ul.breadcrumb li{
		padding: 0 0.5em 0 0.2em;
	}
	
	ul.breadcrumb li::after{
		font-family:FontAwesome;
		content:"\f105";
		top: 1px;
		right: 0;
		position: absolute;
	}
	
	ul.breadcrumb li:last-child::after{
		content:"";
	}
	
	h2.page_title {
		font-size: 24px;
		font-size: 2.4rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		color: #000;
		width: 1130px;
		height: 185px;
		margin: 0 auto 40px;
		line-height: 1.2;
		padding: 75px  0 0 158px;
	}
	
	div.search_box {
		width: 780px;
		height: 75px;
		margin: 70px auto 0;
		background: url("images/common/search_bg_pc.jpg") no-repeat;
		background-size: contain;
		line-height: 0;
		position: relative;
	}
	
	div.search_box ul{
		width: 300px;
		position: absolute;
		top: 30px;
		right: 100px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	div.search_box ul li{
		display:inline-block;
	}
	
	div.search_box ul li a{
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1;
		color: #000;
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	div.search_box ul li a span{
		width: 13px;
		display:inline-block;
		margin-right: 4px;
		padding-top: 2px;
	}
	
	div.f_bg {
		background: #F2F2F2;
		margin-top: 80px;
	}
	
	section#f_nav {
		width: 1000px;
		padding: 40px 0 30px;
		margin: 0 auto;
		line-height: 2;
	}
	
	section#f_nav ul.nav_inner{
		width: 100%;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	
	section#f_nav ul li.block{
		display: inline-block;
	}
	
	section#f_nav ul li.block ul{
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
	}
	
	section#f_nav ul li.block ul li{
		display: inline-block;
	}
	
	section#f_nav ul li.block ul.product01 li:first-child,
	section#f_nav ul li.block ul.product02 li:first-child{
		width: 96px;
	}
	
	section#f_nav ul li.block ul.product01 li:nth-child(2),
	section#f_nav ul li.block ul.product02 li:nth-child(2){
		width: 72px;
	}
	
	section#f_nav ul li.block ul.ir li:first-child{
		width: 90px;
	}
	
	section#f_nav ul li.block a{
		font-size: 10px;
		font-size: 1.0rem;
		display: block;
		color: #333;
	}
	
	section#f_nav ul li.block h5,
	section#f_nav ul li.block h5 a{
		font-size: 11px;
		font-size: 1.1rem;
		font-weight: 700;
		color: #000;
	}
	
	footer {
		width: 100%;
		padding: 8px 0;
		background: #0071BC;
		color: #FFF;
	}
	
	footer div.f_inner{
		width: 1000px;
		margin: 0 auto;
		font-size: 10px;
		font-size: 1.0rem;
		line-height: 1.1;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		align-items: center;
		flex-direction: row-reverse;
	}
	
	footer div.f_inner small{
		display: inline-block;
	}
	
	footer div.f_inner ul{
		width: 270px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		align-items: center;
	}
	
	footer div.f_inner ul li{
		display: inline-block;
	}
	
	footer div.f_inner ul li a{
		display: block;
		color: #FFF;
	}
}

/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media screen and (max-width: 768px){
	
	.pc{
		display: none!important;
	}
	
	body {
		padding-top: 62px;
	}
	
	p.menu.sp {
		font-size: 12px;
		font-size: 1.2rem;
		color: #000;
		display: inline-block;
		position: fixed;
		top: 40px;
		right: 12px;
		z-index: 9999;
	}
	
	div.yss_active p.menu.sp {
		opacity: 0;
	}
	
	div.yss_content div.inner {
		width: 94%;
		height: 100%;
		margin: 0 auto;
		padding: 10px 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	
	div.yss_content nav ul.g_nav {
		width: 100%;
		margin: 20px auto 0;
		overflow: hidden;
	}
	
	div.yss_content nav ul.g_nav li{
		width: 100%;
		border-bottom: 1px solid #FFF;
	}
	
	div.yss_content nav ul.g_nav li.top{
		border-top: 1px solid #FFF;
	}
	
	div.yss_content nav ul.g_nav li a{
		font-size: 12px;
		font-size: 1.2rem;
		font-weight: 700;
		color: #FFF;
		display: block;
		padding: 12px 0 12px 10px;
		position: relative;
		line-height: 1.2;
	}
	
	div.yss_content nav ul.g_nav li a::before{
		font-size: 11px;
		font-size: 1.1rem;
		font-family:FontAwesome;
		content: "\f054";
		padding-right: 5px;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.nav_child {
		width: 100%;
		display: none;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.block{
		width: 100%;
		border-bottom: 1px dashed #FFF;
		overflow: hidden;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.block li:first-child{
		float: left;
		width: 47%;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.block li:nth-child(2){
		float: right;
		width: 53%;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.block{
		border-bottom: 1px dashed #FFF;
		display: block!important;
		flex-direction: initial;
		justify-content: initial;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul li{
		border-bottom: none;
	}
	
	div.yss_content nav ul.g_nav li.accordion a{
		display: block;
		border-bottom: 1px dashed #FFF;
	}
	
	div.yss_content nav ul.g_nav li.accordion a.first{
		border-bottom: none;
	}
	
	div.yss_content nav ul.g_nav li.is-active a.first {
		border-bottom: 1px dashed #FFF;
	}
	
	div.yss_content nav ul.g_nav li.accordion a::before{
		content: "";
		padding-left: 11px;
	}
	
	div.yss_content nav ul.g_nav li a.first::before{
		font-size: 11px;
		font-size: 1.1rem;
		font-family:FontAwesome;
		content: "\f054";
		padding-right: 5px;
		padding-left: 0;
	}
	
	div.yss_content nav ul.g_nav li.is-active a.first::before{
		font-size: 11px;
		font-size: 1.1rem;
		font-family:FontAwesome;
		content: "\f078";
		padding-right: 2px;
		padding-left: 0;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul.block li:nth-child(2) a:last-child{
		border-bottom: none;
	}
	
	div.yss_content nav ul.g_nav li.accordion ul li:first-child a::before{
		border-bottom: none;
	}
	
	div.yss_content div.inner div.search_box{
		width: 100%!important;
		background-size: cover;
		margin-top: 35px;
	}
	
	.bb_none {
		border-bottom: none!important;
	}
	
	header{
		width: 100%;
		height: 62px;
		padding: 18px 0;
		background: rgba(255,255,255,0.9);
		position: fixed;
		top: 0;
		z-index: 998;
	}
	
	header div.header_inner{
		width: 94%;
		margin: 0 auto;
		position: relative;
	}
	
	header div.header_inner h1{
		width: 225px;
		margin: 2px 0 0;
	}
	
	ul.breadcrumb {
		width: 94%;
		margin: 0 auto 24px;
	}
	
	ul.breadcrumb li, ul.breadcrumb li a{
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 1.2;
		color: #808080;
		position: relative;
		display: inline-block;
	}
	
	ul.breadcrumb li{
		padding: 0 0.5em 0 0.2em;
	}
	
	ul.breadcrumb li::after{
		font-family:FontAwesome;
		content:"\f105";
		top: 1px;
		right: 0;
		position: absolute;
	}
	
	ul.breadcrumb li:last-child::after{
		content:"";
	}
	
	h2.page_title {
		font-size: 20px;
		font-size: 2.0rem;
		font-weight: 700;
		letter-spacing: 0.1em;
		color: #000;
		width: 100%;
		height: 53.1vw;
		margin: 0 0 40px;
		line-height: 1.2;
		padding: 20vw  0 0 3%;
	}
	
	div.search_box {
		width: 94%;
		height: 22.3vw;
		margin: 60px auto 0;
		background: url("images/common/search_bg_sp.jpg") no-repeat;
		background-size: contain;
		line-height: 0;
		position: relative;
	}
	
	div.search_box ul{
		width: 152px;
		position: absolute;
		top: -webkit-calc(50% - 23px);
		top: -moz-calc(50% - 23px);
		top: calc(50% - 23px);
		right: 3.8%;
	}
	
	div.search_box ul li{
		display:block;
	}
	
	div.search_box ul li:first-child{
		margin-bottom: 7px;
	}
	
	div.search_box ul li a{
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: 700;
		line-height: 1;
		color: #000;
		display: flex;
		flex-wrap:wrap;
		justify-content: flex-start;
		align-items: center;
	}
	
	div.search_box ul li a span{
		width: 13px;
		display:inline-block;
		margin-right: 4px;
		padding-top: 2px;
	}
	
	footer {
		width: 100%;
		padding: 20px 0;
		background: #0071BC;
		color: #FFF;
		margin-top: 30px;
	}
	
	footer div.f_inner{
		width: 100%;
		margin: 0 auto;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.1;
	}
	
	footer h2.f_logo{
		width: 270px;
		margin: 0 auto 15px;
		line-height: 0;
	}
	
	footer div.f_inner small{
		width: 100%;
		display: block;
		border-top: 1px solid #FFF;
		font-size: 10px;
		font-size: 1.0rem;
		text-align: center;
		padding-top: 12px;
	}
	
	footer div.f_inner ul{
		width: 170px;
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		align-items: center;
		margin: 0 auto 15px;
	}
	
	footer div.f_inner ul li{
		display: inline-block;
	}
	
	footer div.f_inner ul li:first-child{
		width: 100%;
		margin-bottom: 8px;
	}
	
	footer div.f_inner ul li a{
		display: inline-block;
		color: #FFF;
	}
}


/*--------------------------------------------------------
　空き設定
--------------------------------------------------------*/
.mt05 { margin-top: 5px !important; }
.mt06 { margin-top: 6px !important; }
.mt07 { margin-top: 7px !important; }
.mt08 { margin-top: 8px !important; }
.mt10 { margin-top: 10px !important; }
.mt12 { margin-top: 12px !important; }
.mt15 { margin-top: 15px !important; }
.mt18 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 30px !important; }
.mt40 { margin-top: 50px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.mt100 { margin-top: 100px !important; }

.mu03 { margin-bottom: 3px !important; }
.mu05 { margin-bottom: 5px !important; }
.mu08 { margin-bottom: 8px !important; }
.mu10 { margin-bottom: 10px !important; }
.mu15 { margin-bottom: 15px !important; }
.mu20 { margin-bottom: 20px !important; }
.mu25 { margin-bottom: 25px !important; }
.mu30 { margin-bottom: 30px !important; }
.mu50 { margin-bottom: 50px !important; }
.mu40 { margin-bottom: 40px !important; }
.mu60 { margin-bottom: 60px !important; }
.mu70 { margin-bottom: 80px !important; }
.mu80 { margin-bottom: 80px !important; }
.mu100 { margin-bottom: 100px !important; }
.mu150 { margin-bottom: 100px !important; }

.mr02 { margin-right: 2px !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr13 { margin-right: 13px !important; }
.mr14 { margin-right: 14px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }

.ml02 { margin-left: 2px !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }