@charset "utf-8";

@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}

* {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
 	/*transition: 0.1s linear;*/
}

body {
	font-size: 10px;
	font-size: 1.6rem;
	text-align:left;
}

header:after,
section:after,
.contents:after,
ul:after,
ol:after,
dl:after,
.btn_top:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.pc{display:block!important;}
.sp{display:none!important;}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

.contents{
	width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width:1300px){
.contents{
	width: 94%;
}
}

img{
	width:100%;
	height:auto;
	display:block;
	pointer-events: none;
}


/*header
----------------------------------------------------*/
header{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	z-index:9999;
	transition: .3s;
}

header.fixnavi{
	background: #FFF;
}

header h1{
	width: 200px;
	height: 80px;
	margin: 10px 0 0 2%;
	background: url("../img/ttl_logo.png") no-repeat left top / contain;
}

header.fixnavi h1{
	background: url("../img/ttl_logo_footer.png") no-repeat left top / contain;
}

header h1 a{
	width: auto;
	height: 80px;
	text-indent: -9999px;
	overflow: hidden;
	display: block;
}

header nav{
    display: grid;
    grid-template-columns: 1fr 420px;
}

header.home nav{
    display: block;
}

header.home #searchform{
    display: none;
}

header #searchform{
	position: relative;
	padding: 3px 10px 3px 15px;
	border-radius: 30px;
	border: 1px solid #CCC;
	background: #FFF;
	display: grid;
	grid-template-columns: 24px 1fr;
	grid-gap: 0 10px;
}

header #searchform input[type="submit"]{
	width: 20px;
	height: 20px;
	margin: 7px 0;
	border: 0;
	background: url("../img/icon_search.png") no-repeat center / cover;
	text-indent: -9999px;
	display: block;
	cursor:pointer;
}

header #searchform input[type="text"]{
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

@media (any-hover: hover) {
header #searchform input[type="submit"]:hover{
	opacity: 0.7;
}
header #searchform input[type="text"]:focus{
	outline:none!important;
}
}

header #headIn{
    width: calc(100% - 300px);
	padding-right: 2%;
}

header.home #headIn{
    width: auto;
	padding-right: 2%;
}

header nav h1{
	margin: 2vw 0 0 0;
}

header nav ul{
	display: flex;
	justify-content: right;
	flex-wrap: wrap;
	z-index:9999;
}

header nav ul li{
	margin-left: 1em;
	display: inline;
}

header nav ul li a{
	color: #FFF!important;
}

header.fixnavi nav ul li a{
	color: #000!important;
}

.icon_cart{
	width: 40px;
	height: 40px;
	border-radius: 5px;
	background: #FFF;
}

.icon_cart a{
	position: relative;
	width: 40px;
	height: 40px;
	border-radius: 5px;
	background: #62B915 url("../img/icon_cart.png") no-repeat center / 20px;
	display: block;
}

.icon_cart a i{
	text-indent: -9999px;
	display: block;
}

.icon_cart a span{
	position: absolute;
	top:-0.5em;
	right:-0.5em;
	width: 1.4em;
	height: 1.4em;
	background: #DF0003;
	border-radius: 1em;
	line-height: 1.0;
	font-size: 12px;
	color: #FFF!important;
	text-align: center;
	z-index: 1;
}

@media (any-hover: hover) {
header nav ul li a:hover{
	text-decoration: underline!important;
}

.icon_cart a:hover{
	text-decoration: none;
	opacity: 0.7;
}
}

header #triggerBox,
header:after{
	display: none;
}


/*top_mv
----------------------------------------------------*/
.top_mv{
	padding: 190px 5%;
	background: linear-gradient(rgba(0, 0, 0, .5), rgba(128, 128, 128, .4)), url("../img/mv01.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.top_mv h2{
	margin-bottom: 30px;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
}

.top_mv .box_search{
	width: 600px;
	margin: 0 auto;
}

.top_mv .box_search #searchform{
	position: relative;
	margin-bottom: 20px;
	padding: 20px;
	border-radius: 50px;
	background: #FFF;
	display: grid;
	grid-template-columns: 24px 1fr;
	grid-gap: 0 20px;
}

.top_mv .box_search #searchform input[type="submit"]{
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: url("../img/icon_search.png") no-repeat center / cover;
	text-indent: -9999px;
	display: block;
	cursor:pointer;
}

.top_mv .box_search #searchform input[type="text"]{
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

@media (any-hover: hover) {
.top_mv .box_search #searchform input[type="submit"]:hover{
	opacity: 0.7;
}
.top_mv .box_search #searchform input[type="text"]:focus{
	outline:none!important;
}
}

.top_mv .box_recent ul li{
	/*float: left;*/
	margin: 10px 5px 0 0;
	display: inline-block;
}

.top_mv .box_recent ul li a{
	min-width: 4em;
	padding: 3px 15px;
	border-radius: 50px;
	background: #FFF;
	text-align: center;
	display: block;
}


/*top_news
----------------------------------------------------*/
.box_top_news{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 600px;
	height: 50px;
	margin: 0 auto 0 0;
	background: #000;
	display: grid;
	grid-template-columns: 120px 1fr;
}

.box_top_news h2{
	height: 50px;
	margin-bottom: 0;
	background: #FFF;
	font-family: "Lato", sans-serif;
	line-height: 50px;
	font-size: 20px;
	font-weight: 400;
	text-align: center;
	color: #30343D;
}

.box_top_news .ticker{
	margin-top: 0.8em;
	padding: 0 1em;
	line-height: 1.4;
	overflow:hidden;
}

.box_top_news .ticker ul{
	position:relative;
}

.box_top_news .ticker ul li{
	width:100%;
	height: 1.6em;
	color: #FFF;
	overflow: hidden;
	display:none;
}

.box_top_news .ticker ul li a{
	color: #FFF;
	display: block;
}

.box_top_news .ticker ul li span{
	float: left;
	width:6em;
}


/*top_category
----------------------------------------------------*/
.top_cate{
	position: relative;
	background: linear-gradient(to right, #EEF0F4, #E9E9E9);
}

.top_cate h2{
	position: absolute;
	bottom: 0;
	right:0;
	font-family: "Lato", sans-serif;
	line-height: 0.8;
	font-size: 100px;
	font-weight: 400;
	color: rgba(255, 255, 255, .5);
	z-index: 0;
}

.top_cate ul{
	position: relative;
	padding: 30px 30px 60px 30px;
	z-index: 1;
}

.top_cate ul li{
	/*width: 120px;*/
	margin: 0 10px 10px 0;
	display: inline-block;
}

.top_cate ul li a{
	padding: 5px 10px;
	background: #FFF;
	border-radius: 5px;
	text-align: center;
	display: block;
}


/*top_newarrival
----------------------------------------------------*/
.top_newarrival{
	position: relative;
	padding: 80px 0 50px 0;
}

.top_newarrival:before{
	position: absolute;
	bottom: 0;
	left 0;
	width: 100%;
	height: 14vw;
	background: #EEF0F4;
	content: "";
	display: block;
	z-index: 0;
}

.top_newarrival h2{
	margin-bottom: 50px;
	font-size: 16px;
	font-weight: normal;
	color: #777;
	text-align: center;
}

.top_newarrival h2 span{
	position: relative;
	margin-bottom: 10px;
	font-family: "Lato", sans-serif;
	font-size: 40px;
	font-weight: 300;
	color: #30343D;
	display: inline-block;
}

.top_newarrival h2 span:before{
	position: absolute;
	top: 0.7em;
	left:-85px;
	width: 65px;
	height: 1px;
	background: #30343D;
	content: "";
	display: block;
}

.top_newarrival h2 span:after{
	position: absolute;
	top: 0.7em;
	right:-85px;
	width: 65px;
	height: 1px;
	background: #30343D;
	content: "";
	display: block;
	visibility: visible;
}

.top_newarrival .splide{
	margin-bottom: 50px;
	/*padding-bottom: 50px;*/
}

.top_newarrival ul li{
	position: relative;
	height: 12.8vw;
	border-radius: 8px;
	overflow: hidden;
}

.splide__pagination li{
	height: 2em;
}

.top_newarrival ul li a img{
	border-radius: 8px;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.top_newarrival ul li a{
	color: #FFF!important;
}

.top_newarrival ul li a span{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
	border-radius: 0 0 8px 8px;
	opacity: 0;
	transition: .3s;
}

@media (any-hover: hover) {
.top_newarrival ul li a:hover span{
	opacity: 1;
}
}


/*top_popular
----------------------------------------------------*/
.top_popular{
	position: relative;
	padding: 80px 0;
}

.top_popular h2{
	margin-bottom: 50px;
	font-size: 16px;
	font-weight: normal;
	color: #777;
	text-align: center;
}

.top_popular h2 span{
	position: relative;
	margin-bottom: 10px;
	font-family: "Lato", sans-serif;
	font-size: 40px;
	font-weight: 300;
	color: #30343D;
	display: inline-block;
}

.top_popular h2 span:before{
	position: absolute;
	top: 0.7em;
	left:-85px;
	width: 65px;
	height: 1px;
	background: #30343D;
	content: "";
	display: block;
}

.top_popular h2 span:after{
	position: absolute;
	top: 0.7em;
	right:-85px;
	width: 65px;
	height: 1px;
	background: #30343D;
	content: "";
	display: block;
	visibility: visible;
}

.box_list{
	width: 96%;
	margin: 0 auto;
}

.box_list ul{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 30px;
}

.top_popular .box_list ul{
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.box_list ul li{
	position: relative;
}

.top_popular .box_list ul li{
	height: 11.8vw;
	border-radius: 8px;
	overflow: hidden;
}

.box_list ul li a img{
	float: none!important;
	border-radius: 8px;
	width: 100%;
	height: 220px;
	object-fit: cover;
}

.box_list ul li a{
	color: #FFF!important;
	display: block;
}

.box_list ul li a span,
.box_list ul li p{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
	border-radius: 0 0 8px 8px;
	color: #FFF;
	opacity: 0;
	transition: .3s;
	z-index: 1;
}

@media (any-hover: hover) {
.box_list ul li a:hover span,
.box_list ul li:hover p{
	opacity: 1;
}
}


/*list
----------------------------------------------------*/
.box_entry ul.products li a img{
	margin: 0!important;
	border-radius: 8px;
}

.box_entry ul.products li a{
	color: #FFF!important;
}

.box_entry ul.products li a span,
.box_entry ul.products li p{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 10px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.8));
	border-radius: 0 0 8px 8px;
	color: #FFF;
	opacity: 0;
	transition: .3s;
	z-index: 1;
}

@media (any-hover: hover) {
.box_entry ul.products li a:hover span,
.box_entry ul.products li:hover p{
	opacity: 1;
}
}

.box_result{
	padding: 140px 2% 50px 2%;
}

.box_result h2{
	margin-right: 1em;
	font-size: 16px;
	font-weight: normal;
	display: inline;
}

.box_result h2 span{
	font-size: 1.5em;
	font-weight: bold;
}

.box_result p{
	display: inline;
}

.nav-links{
	position: relative;
	margin: 0 0 80px 0;
	padding-top: 30px;
	text-align: center;
}

.nav-links .page-numbers{
	margin: 0 3px;
	padding: 7px 12px 9px 12px;
	background: #F1FCE7;
	line-height: 1.0;
	font-size: 18px;
	color: #333;
	display: inline-block;
}

.nav-links .page-numbers:before,
.nav-links .page-numbers:after{
	display: none;
}

.nav-links .current{
	background: #62B915;
	color: #FFF;
}

.nav-links .next,
.nav-links .prev{
	position: relative;
	top:-3px;
	padding: 4px 15px 12px 15px;
	background: none;
	transform: scale(0.7, 1);
	color: #62B915;
}

.nav-links .next{
	left:-0.3em;
}

.nav-links .prev{
	right:-0.3em;
}

/*.box_result_list{
	margin-bottom: 80px;
	padding-right: 2%;
	display: flex;
	flex-direction: row-reverse;
}*/

.side{
	width: 300px;
	margin-right: 30px;
	padding: 30px;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
	border-radius: 0 8px 8px 0;
}

.box_result_list .box_list{
	flex: 1;
}

.box_result_list .box_list ul{
	grid-template-columns: 1fr 1fr 1fr;
}

.taxonomy-term-list {
	list-style: none;
	padding-left: 0;
}
.taxonomy-term-list ul {
	list-style: none;
	padding-left: 0.5em; /* 子要素のインデント */
}

.taxonomy-term-list li.no-children,
.taxonomy-term-list li.has-children{
	margin-bottom: 0.5em;
	padding: 0 0 0.5em 0!important;
	border-bottom: 1px solid #ccc;
}

.taxonomy-term-list li.no-children{
	font-size: 1.2em;
	font-weight: bold;
}

.taxonomy-term-list li.has-children .no-children{
	padding: 0 0 0.5em 1em!important;	
	font-size: 1.0em;
}

.taxonomy-term-list li.no-children:before,
.taxonomy-term-list li.has-children:before{
	display: none!important;
}

.taxonomy-term-list li.has-children .no-children:before{
	display: block!important;
}

/* 子要素を持つ親タームのスタイル */
.taxonomy-term-list li.has-children > .term-item {
	position: relative;
	display: flex;
	align-items: center;
}

/* 折りたたみボタン */
.toggle-children {
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	margin-right: 8px;
	padding: 0 5px;
	font-weight: bold;
	user-select: none; /* テキスト選択を無効化 */
	transition: background-color 0.2s;
}
.toggle-children:hover {
	background: #eee;
}

/* 子タームのリスト（デフォルトは非表示） */
.taxonomy-term-list .children {
	display: none;
}

.taxonomy-term-list .children .no-children{
	padding-bottom: 0;
	border-bottom: 0;
	font-weight: normal;
}


/*detail
----------------------------------------------------*/
/*woocommerceの不要要素を削除*/
.woocommerce-notices-wrapper,
.woocommerce-breadcrumb,
.entry-summary .price,
.entry-summary .variations th,
.entry-summary .sku_wrapper{
	display: none;
}

/*.entry-summary .quantity,
.entry-summary .reset_variations{
	position: absolute;
	left:-9999px;
}*/

.box_result_detail{
	position: relative;
	margin-bottom: 80px;
	padding: 140px 2% 0 0;
	display: flex;
	flex-direction: row-reverse;
}

.box_result_detail:after{
	display: none;
}

.box_detail{
	width: 100%;
}

.box_detail .product{
	padding-right: 2%;
	display: grid;
	grid-template-columns: 1fr 300px;
	grid-gap: 0 30px;
	align-items: start;
	flex: 1;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
	width: 100%!important;
}

.entry-summary{
	padding: 30px;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
	border-radius: 8px;	
}

.attachment-woocommerce_single{
	border-radius: 8px;	
}

/*.box_detail{
	padding-right: 2%;
	display: grid;
	grid-template-columns: 1fr 300px;
	grid-gap: 0 30px;
	align-items: start;
	flex: 1;
}

.box_detail img{
	border-radius: 8px;
}

.detail{
	padding: 30px;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
	border-radius: 8px;	
}

.detail .id{
	font-size: 14px;
}*/

.entry-summary h2{
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #CCC;
	font-size: 18px;
	font-weight: bold;
}

/*.variations,
.variations tbody,
.variations tr,
.variations td,
.cfvsw-swatches-container{
	width: 100%!important;
	display: block!important;
}*/

.cfvsw-label-option{
	width: 74px;
	padding: 10px!important;
	background: #FFF!important;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #62B915;
	display: block;	
}

.cfvsw-label-option.cfvsw-selected-swatch{
	background: #62B915!important;
	color: #FFF;

}

.entry-summary .single_add_to_cart_button{
	width: 100%;
	margin: 1.5em 0;
	padding: 10px!important;
	background: #62B915!important;
	border: 0!important;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	display: block;
	cursor: pointer;
}

.detail .btn{
	margin-bottom: 5px;
}

.detail .btn a{
	padding: 10px;
	border-radius: 8px;
	text-align: center;
	color: #FFF;
	display: block;
}

@media (any-hover: hover) {
.detail .btn a:hover{
	opacity: 0.7;
}
}

.detail .btn a span{
	padding: 0 1.2em;
	background: url("../img/icon_cart.png") no-repeat center right / 1em;
}

.detail .btn.btn_l a{
	background: #62B915 url("../img/icon_l.png") no-repeat 10px 10px / 30px;
}

.detail .btn.btn_m a{
	background: #62B915 url("../img/icon_m.png") no-repeat 10px 10px / 30px;
}

.detail .data{
	margin-bottom: 20px;
	font-size: 14px;
}

.detail .data li{
	padding: 0 4px;
	display: inline;
}

.detail .data .price{
	font-weight: bold;
}

.detail .data .price span{
	font-size: 12px;
}

.detail .cate li{
	position: relative;
	padding-left: 1.0em;
}

.detail .cate li:before{
	position: absolute;
	top:0;
	left:0;
	content: "-";
	display: block;
}


/*list-news
----------------------------------------------------*/
.box_news_list{
	margin-bottom: 80px;
	padding: 140px 0 0 0;
	display: block;
}

/*detail-news
----------------------------------------------------*/
.box_news_detail{
	margin-bottom: 80px;
	padding: 140px 0 0 0;
	display: block;
}

.btn{
	text-align: center;
}
.box_news_detail .btn{
	margin-top: 50px;
}

.btn a{
  padding: 5px 20px;
  background: #FFF;
  border: 1px solid #324C9C;
  border-radius: 5px;
  text-align: center;
  display: inline-block;
}


/*page
----------------------------------------------------*/
.box_page {
  margin-bottom: 80px;
  padding: 140px 2% 0 0;
  display: flex;
  flex-direction: row-reverse;
}

.box_page.col1{
  padding: 140px 2% 0 2%;
  display: block;
}

.box_page .box_entry{
	flex: 1;
}

.box_page.col1 .box_entry{
	width: 900px;
	margin: 0 auto;
}

.box_page .box_entry h1{
	margin-bottom: 30px;
	font-weight: normal;
}

.box_page .box_entry h2{
	margin: 50px 0 20px 0;
	padding-bottom: 20px;
	border-bottom: 1px solid #D9D9D9;
	font-size:24px;
	font-weight: normal;
}

.box_page .box_entry h3{
	margin: 30px 0 15px 0;
	padding-left: 0.8em;
	border-left: 4px solid #D9D9D9;
	font-size:20px;
	font-weight: normal;
}

.box_page .box_entry p,
.box_page .box_entry ul,
.box_page .box_entry ol{
	margin-bottom: 0.8em;
}

.box_page .box_entry ul li{
	margin-left: 20px;
	list-style: disc;
}

.box_page .side h2{
	margin-bottom: 10px;
	font-size: 1.3em;
	font-weight: normal;
}

.box_page .side ul li{
	position: relative;
	padding-left: 1.0em;
}

.box_page .side ul li:before{
	position: absolute;
	top: 0;
	left: 0;
	content: "-";
	display: block;
}

.wc-block-components-sidebar{
	padding: 30px;
	box-shadow:0 0 12px rgba(0, 0, 0, .25);
	border-radius: 8px;	
}

.box_page .box_entry .wc-block-components-sidebar h2,
.box_page .box_entry .wc-block-components-form h2{
	margin-top: 0;
	padding: 0;
	font-size: 18px;
	font-weight: bold;
}

.wp-element-button{
	padding: 10px;
	background: #62B915;
	border: 0!important;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #FFF!important;
	display: block;	
}

.wp-block-woocommerce-checkout-order-summary-block {
  border: 0!important;
}

.wc-block-components-order-summary {
	padding: 0!important;
}

.wc-block-components-checkout-order-summary__title{
  margin: 0!important;	
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
  margin: 0!important;
}


.pvtfw-table-heading-continer h2{
	display: none;
}

.pvtfw_variant_table_block table{
	border: 0!important;
}

.variant thead{
	display: none;
}

.variant tr{
	width: 100%;
	padding-bottom: 10px;
	display: flex!important;
	flex-wrap: wrap;
}

.variant tr td{
	padding: 0!important;
	border: 0!important;
	font-size: 14px;
}

.pvtfw_variant_table_block table.variant tbody td:nth-last-of-type(4){ text-align: center; border: 1px solid #CCC!important; border-radius: 3px; display: flex!important; align-items: center;  justify-content: center; }
.pvtfw_variant_table_block table.variant tbody td:nth-last-of-type(1){ text-align: right; font-weight: bold;}

.variant tr td:nth-last-of-type(1){	width: 30%; }
.variant tr td:nth-last-of-type(2){	width: 70%; }
.variant tr td:nth-last-of-type(3){	width: 85%; }
.variant tr td:nth-last-of-type(4){	width: 15%; }

.variant tr td button{
	width: 95%;
	margin: 0 0 0 auto;
	padding: 10px;
	background: #62B915;
	border: 0!important;
	border-radius: 8px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #FFF!important;
	display: block;
	cursor: pointer;
}

.wpcf7-form{
	max-width: 800px;
	padding: 1.5em;
	background-color: #f7f7f7;
	border-radius: 5px;
}

label{
	margin-bottom: 1.5em;
	display: block;
}

label .must{
	margin-left: 0.5em;
	padding: 3px 6px 4px 6px;
	border-radius: 3px;
	background: #CC0000;
	line-height: 1.0;
	font-size: 0.8em;
	font-weight: bold;
	color: #FFF;
	display: inline-block;
}

input,
textarea{
	width: 100%;
	margin-top: 0.5em;
	padding: 8px;
	border: 1px solid #CCC;
	border-radius: 5px;
}

input[type="submit"]{
	width: 300px;
	margin: 0 auto;
	padding: 15px;
	background: #62B915;
	border: 0;
	font-size: 1.2em;
	font-weight: bold;
	color: #FFF;
	display: block;
	cursor: pointer;
}

.wpcf7-response-output,
.screen-reader-response{
	color: #CC0000;
}


/*footer
----------------------------------------------------*/
footer{
	padding: 50px 2%;
	border-top: 1px solid #C7C7C7;
}

footer .contents{
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 800px;
}

footer h2{
	width: 200px;
	height: 80px;
}

footer h2 img{
	width: auto;
	height: 80px;
}

.footer_link{
	display: grid;
	grid-template-columns: 0.7fr 0.7fr 1fr;
	grid-gap: 0 30px;
}

.footer_link h3{
	margin-bottom: 0.8em;
	font-size: 16px;
	font-weight: bold;
}

.footer_link div:nth-of-type(3) ul{
	display: grid!important;
	grid-auto-flow: column;
	grid-template-rows: repeat(4, auto);
}

.footer_link div:nth-of-type(4) ul{
	column-count: 2;
}

.footer_link ul li{
	position: relative;
	padding-left: 1.0em;
}

.footer_link ul li:before{
	position: absolute;
	top:0;
	left:0;
	content: "-";
	display: block;
}

.footer_link div:nth-of-type(1) ul li{
	padding-left: 0;
}

.footer_link div:nth-of-type(1) ul li:before{
	display: none;
}

.footer_link a{
	color: #30343D;
}

@media (any-hover: hover) {
.footer_link a:hover{
	text-decoration: underline;
}
}

.copyright{
	font-size: 12px;
}


/*page top
--------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:50px;
	height:50px;
	display:block;
}

@media (any-hover: hover) {
	#page-top a:hover{
		opacity:0.70;
		filter: alpha(opacity=70);
	}
}

#page-top a img{
	width:100%;
	height:auto;
	margin:auto;
	display:block;
}



