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


/*reset--------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

body {
  margin: 0;
  font-family: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #ffffff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

/*hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}*/

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

ul {
	padding: 0;
}

li {
	list-style-type: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}


figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}


table {
	border-collapse: collapse;
/* 	border: 1px solid #FFF; */
}

th {
	text-align: inherit;
}

.clearfix::after {
	content: "";
	clear: both;
	display: block;
	height: 0;
}

.sp_none {
	display: none;
}

@media (min-width: 768px){
	.sp_none {
		display: inline-block;
	}
}

@media (min-width: 768px){
	.tab_none {
		display: none;
	}
}

@media (max-width: 768px){
	.sp_tab_none {
		display: none;
	}
}

@media (min-width: 769px){
	.pc_none {
		display: none;
	}
}

.navDrawr>ul>li.sp_none {
	display: none;
}

@media (min-width: 769px){
	.navDrawr>ul>li.sp_none {
		display: inline-block;
	}
}
main p {
	/*font-size: .9rem;*/
	line-height: 1.7;
}


/*header--------------------------------------------*/
#wrapper {
	min-height: 100%;
	height: auto !important;
	position: relative;
	overflow: hidden;
}

header {
	/*background-color: #fff;*/
/*
	background-color:rgb(169, 182, 179, 0.95);
	background-color: rgb(153, 153, 153,  0.95);
*/
	background: #FFF;
}

.headerTop {
	height: 60px;
	width: 100%;
	padding-right: 7.5px;
	padding-left: 7.5px;
	margin-right: auto;
	margin-left: auto;
  }

@media (min-width: 769px){
	.headerTop {
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		height: 80px;
	}
}

@media (min-width: 992px){
	.headerTop {
		max-width: 970px;
	}
}

@media (min-width: 1200px){
	.headerTop {
		max-width: 1140px;
	}
}

/*サイトロゴ---------------------------------*/
a.applinks {
	z-index: 1!important;
}
.sitelogo {
	padding-top: 5px;
	text-align: center;
}

.sitelogo a {
	display: block;
	width: 100%;
	height: auto;
}

.sitelogo img {
	/*height: 60px;*/
	width: 230px;
}

@media (min-width: 576px ){
	.sitelogo img {
		width: 250px;
	}    
}

@media  (min-width: 769px){
	.sitelogo {
		height: 80px;
		padding-top: 25px;
		text-align: left;		
	}

	.sitelogo img {
		width: 220px;
	}
}

@media (min-width: 850px){
	.sitelogo {
		padding-top: 15px;
	}
	.sitelogo img {
		width: 300px;
	}
}

@media (min-width: 992px){
	.sitelogo {
		padding-top: 25px;
	}
	.sitelogo img {
		width: 240px;
	}
}

@media (min-width: 1200px){
	.sitelogo {
		padding-top: 8px;
	}

	.sitelogo img {
		width: 280px;
	}
}



/*PC*/
/*グローバルナビ------------------------------*/
.navDrawr ul,
.navDrawr li {
	margin:0;
	padding:0;
	list-style-type: none;
}

/* transition */
.navDrawr {
    transition: all 0.2s ease-out;
}

.navDrawr>ul {
	max-width: 1140px;
	margin: 0 auto;
}

.navDrawr>ul>li {
	display: inline-block;
}

.navDrawr a {
	display: block;
	color:  #4d4d4d;
	font-size: .95rem;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	padding: 10px 5px;
	transition: all 0.2s ease-out;
}

.navDrawr>ul>li>a {
	position: relative;
	text-align: center;
	transition: all 0.2s  ease-out;
}

.navDrawr>ul>li>a span {
	font-size: .5rem;
}

.navDrawr>ul>li>a:hover {
	color: #999;
}


@media (min-width: 769px){
	.navDrawr>ul>li:not(.function)>a::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 1px;
		background-color: #fff;
		transform: scale(0, 1);
		transition: .2s;
	}

	.navDrawr>ul>li:not(.function)>a:hover::before {
		transform: scale(1);
	}	
}


/*カート・ログイン・ガイドボタン*/
.navDrawr .function a {
	display: inline-block;
	padding: 0 3px 10px;
	transition: all 0.2s ease-out;
}

.navDrawr .function img {
	opacity: .7;
	vertical-align: baseline;/*img vertical-align:middleの上書き*/
	width: 20px;
}

.navDrawr .function a:hover {
	border-top: none;
}

.navDrawr .function a:hover img {
	opacity: 1;
}

@media (max-width: 768px){
	.navDrawr>ul>li.sp_tab_none {
		display: none;
	}
}

.navDrawr>ul>li.pc_none,
.navDrawr>ul>li.pc_none a {
	text-align: center;
}


@media (min-width: 769px){
	.navDrawr>ul>li.pc_none {
		display: none;
	}
}



/*-----------------------------------------------------------------*/
/*nav_sub start---------------------------------------------------*/
@media (min-width: 769px){
	.navDrawr ul li ul li {
		position: relative;
	}

	.navDrawr ul li:hover > a.ac_menu,
	.navDrawr li a.ac_menu:hover {
		position: relative;
	}

	.navDrawr li a.ac_menu::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		margin-left: -5px;
		border-right: 7px solid transparent;
		border-bottom: 10px solid transparent;
		border-left: 7px solid transparent;
		z-index: 300;
		transition: all .1s linear;
	}

	.navDrawr ul li:hover > a.ac_menu::after,
	.navDrawr li a.ac_menu:hover::after {
		border-bottom: 10px solid rgb(75, 74, 74);
	}

	.navDrawr ul li div {
		position: absolute;
		z-index: 2000;
		top: 80px;
		left: 0px;
		opacity: 0;
		visibility: hidden;
		transition: all .1s linear;
		width: 100%;
		height: auto;
		background-color:rgb(51, 51, 51, 0.5);
	}
	.navDrawr ul li ul{
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		width: 100%;
		max-width: 1140px;
		margin-left: auto;
		margin-right: auto;
		padding: 10px 0;
	}

	.navDrawr ul li ul li {
		width: 15.6%;
		margin: 0 0.5%;
	}

	.navDrawr li ul li a {
		display: block;		
		width: 100%;
		height: 100%;
		padding: 10px 10px 10px 30px; 
		color: #fff;
		font-weight: bold;
		text-align: left;
		border-radius: 5px;
		position: relative;
	}

	.navDrawr li ul li a span {
		font-size: .5rem;
	}

	.navDrawr li ul li a::after {
		font-family: 'Font Awesome 5 Free';
		font-weight:900;
		content: "\f0da";
		/*color: #4d4d4d;*/
		color: #fff;
		position: absolute;
		display: block;
		left: 10px;
		top: 50%;
		font-size: 1rem;
		margin-top: -0.45rem;
	}
	.navDrawr li ul li a:hover::after {		
		color: #4d4d4d;
		font-size: 2rem;
		margin-top: -1rem;
	}
	.navDrawr ul li ul li a:hover{
		color: #4d4d4d;
		font-weight: bold;
		background-color: #fff;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	}
	.navDrawr li li a::before {
		display: none;
	}

	.navDrawr ul li:hover div{
	  visibility: visible;
	  opacity: 1;
	}

	.navDrawr div.ac_list {
		display: block !important;
	}
}
/*nav_sub end---------------------------------------------------*/
/*--------------------------------------------------------------*/


@media (min-width: 992px){
	.navDrawr a {
		font-size: 1.2rem;
		padding: 15px;
	}

	.navDrawr .function a {
		padding: 0 5px 10px;
	}

	.navDrawr .function img {
		width: 25px;
	}
}

@media only screen and (min-width: 769px) {
	/*ページスクロール時にheight縮小*/
	#header,
	.headerTop,
	.sitelogo,
	.sitelogo img,
	.navDrawr,
	.navDrawr .function img {
		transition: all 0.2s ease;
	}

	#header {
		margin-top: 0;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 999999;
	}

	#header.fixed .headerTop,
	#header.fixed .sitelogo {
		height: 60px;
	}

	#header.fixed .navDrawr>ul>li>a {
		font-size: .95rem;
		padding: 10px 5px;
	}
	#header.fixed .navDrawr .function img {
		width: 20px;
	}

	#header.fixed .navDrawr ul li div {
		top: 60px;
	}
}

@media (min-width: 769px) and (max-width: 849px){
	#header.fixed .sitelogo {
		padding-top: 15px;
	}
	#header.fixed .sitelogo img {
		width: 215px;
	}
}

@media (min-width: 850px){
	#header.fixed .sitelogo {
		padding-top: 10px;
	}

	#header.fixed .sitelogo img {
		width: 240px;
	}
}

/*Drawer menu--------------------------------------*/
@media only screen and (max-width: 768px) {
	#wrapper{
		overflow:hidden;
	}
		
	.navDrawr {
		background-color: #4d4d4d;
		position: fixed;
		width: 300px;
		top: 60px;
		bottom: 0;
		right: -300px;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		z-index: 9999 !important;
	}

	.navDrawr a {
		color: #fff;
	}

	.navDrawr>ul>li.pc_none.terms a {
		font-size: .9rem;
		font-weight: normal;
		text-align: left;
	}
	
	.navDrawr>ul>li.terms:first-of-type a {
		padding: 20px 10px 15px 20px;
	}
	
	
	.overlay {
		display: none;
		background-color: rgba(0,0,0,0.6);
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 999 !important;
	}

	header {
		position: fixed;
		width: 100%;
		top: 0;
		height: 60px;
		padding:0;
		z-index: 9999!important;
	}

	body.menuOpen header{
		position: fixed;
		top:0;
		width: 100%;
	}

	.navDrawrBtn {
		text-align: right;
	}

	.navDrawrBtn span {
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		display: block;
		width: 60px;
		height: 60px;
		cursor: pointer;
	}

	.navDrawrBtn span::before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f0c9";
		font-size: 24px;
		position: absolute;
		left: 0;
		width: 100%;
		text-align: center;
		line-height: 60px;
	}

	body.menuOpen .navDrawrBtn span::before {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f00d";
	}

	.navDrawr a {
		font-size: 1.2rem;
		position: relative;
		padding: 15px 10px 15px 20px; 
	}

	.navDrawr>ul>li {
		display: block;
		width: auto;
	}

	.navDrawr>ul>li>a {
		text-align: left;
	}

	.navDrawr>ul>li>a:hover {
		border-top: none;
	}

	.navDrawr a.ac_menu {
		padding-bottom: 0;
	}

	.navDrawr .ac_list ul {
		margin-left: 30px;
	}

	.navDrawr .ac_list ul li a {
		border-left: 1px solid #fff;
		padding: 0 0 0 10px;
		margin: 20px 5px 20px 0;
	}

	/*.navDrawr>ul>li>a span,*/
	.navDrawr ul li a span {
		font-size: .7rem;
	}

	.navDrawr .function {
		margin-left: 20px;
	}

	.navDrawr .function a {
		padding: 15px 15px 15px 0;
	}

	.navDrawr.fixed {
		position: fixed;
		width: 300px;
		top: 60px;
		z-index: 99999 !important;
	}
}
/*-------------------------------------------------*/


/*#eye_catch---------------------------------------*/
#eye_catch {
	color: #fff;
	margin: 0 0 50px;
	padding: 80px 10px;
    width: 100%;
	height: 200px;
	text-align: center;
    position: relative;
}

#eye_catch::after {
    content: '';
    background-color: rgba(0,0,0,.4);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}


@media (min-width: 992px){
    #eye_catch {
		height: 350px;
        padding: 150px 15px 50px;
    }
}

#eye_catch h1 {
    color: #fff;
    font-size: 2rem;
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}

#eye_catch p {
	margin-bottom: 0;
	position: relative;
	z-index: 1;
}

@media (min-width: 768px){
    #eye_catch h1 {
        font-size: 2.5rem;
    }
}

@media (min-width: 992px){
    #eye_catch h1 {
        font-size: 3rem;
    }

    #eye_catch p {
        font-size: 1.5rem;
        margin-bottom: 0;
    }
}



/*.container---------------------------------------*/
.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
  
@media (min-width: 576px ){
	.container {
		padding-right: 7.5px;
		padding-left: 7.5px;
		max-width: 540px;
	}
}
  
@media (min-width: 768px){
	.container {
	  	max-width: 750px;
	}
}
  
@media (min-width: 992px){
	.container {
	  	max-width: 970px;
	}
}
  
@media (min-width: 1200px){
	.container {
	  	max-width: 1140px;
	}
}


/*#breadcrumb---------------------------------------*/
#breadcrumb {	
    padding: 0.75rem 0;
	margin: 60px 0 0;
}

#breadcrumb li {
	color: #6c757d;
    display: inline-block;
	font-size: .8rem;
}

#breadcrumb li:not(:last-child)::after {
	color: #6c757d;
    content: " / ";
	display: inline;
}

#breadcrumb li a {
    display: inline-block;
	transition: all .15s ease-out;
}

#breadcrumb li a:hover {
	text-decoration: underline;
}

@media (min-width: 769px){
	#breadcrumb {	
		margin: 80px 0 0;
	}


}

/*---------------------------------------------------*/
/*#main----------------------------------------------*/
/*---------------------------------------------------*/

h2 {
	color: #444;
	font-size: 1.5rem;
	font-weight: bold;
	margin-bottom: 30px;
}

section {
	margin: 0;
}

.animation {
	margin: 50px 0;
	font-size: 40px;
	font-weight: bold;
	color: #ff0000;
	}
	
.fadeInDown {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1s;
	-ms-animation-duration:1s;
	animation-duration:1s;
	-webkit-animation-name: fadeInDown;
	animation-name: fadeInDown;
	visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
	0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
	100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


/*ページトップへ戻るボタン------------------------------*/
#pageTopBtn {
	bottom: 30px;
	right: 20px;
	position: fixed;
	z-index:100;
}

#pageTopBtn a {
	background-color: rgb(153, 153, 153, .9);
	border-radius: 50px;
	color: #fff;
	display: block;
	font-size: 1.5rem;
	line-height: 50px;
	padding-bottom: 5px;
	text-align: center;
	width: 50px;
	height: 50px;
	transition: color .2s ease-in-out, background-color .2s ease-in-out;
}

#pageTopBtn a:hover {
	background-color:rgba(56, 59, 59, 0.7);

}

@media (min-width: 992px){
	#pageTopBtn {
		bottom: 80px;
		right: 50px;
	}
	#pageTopBtn a {
		border-radius: 50%;
		font-size: 1.7rem;
		line-height: 60px;
		width: 60px;
		height: 60px;
	}
	
}

@media (min-width: 1200px){
	#pageTopBtn {
		bottom: 100px;
		right: 100px;
	}
}

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

#footer {
	background-color: #EEE;
	color: #4d4d4d;
	padding-top: 30px;
}

.company {
	font-size: 1.1rem;
	font-weight: bold;
	padding: 15px 0;
}
.sns {
	text-align: center;
	margin-bottom: 30px;
}
.sns img {
	width: 30px;
}

.sitemap li {
	text-align: center;
	padding: 5px 0;
}
.sitemap a {
	color: #4d4d4d;
	display: block;
	font-size: .9rem;
	transition: all .2s ease-in-out;
}

.sitemap a:hover {
	color: #4d4d4d;
}

@media (min-width: 768px){
	.sitemap {
		margin-bottom: 0;
		text-align: center;
		width: 90%;
		margin: 0 auto;
	}
	.sitemap li {
		display: inline-block;
		padding: 5px 10px;
	}
}

@media (min-width: 992px){
	.sitemap {
		text-align: right;
		width: 65%;
		margin: 0;
	}
}

@media (min-width: 1200px){
	.sitemap {
		width: auto;
	}
}

@media (min-width: 992px){
	.f_container {
		display: flex;
		justify-content: space-between;
	}

	.sns {
		width: 200px;
	}
}


.copy {
	line-height: 1.1;
	text-align: center;
	padding: 30px 0 10px;
	width: 100%;
}

@media (min-width: 768px){
	.copy {
		padding: 20px 0 10px;
	}
}




