@charset "utf-8";

/* RESET
-------------------------------------------------------------- */
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,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table.table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {
	outline: 0;
	margin: 0px;
	padding: 0px;
}

ol,
ul,
li {
	list-style: none;
}
table.table {
	border-collapse: separate;
	border-spacing: 0;
}
caption,
th,
td {
	font-weight: normal;
	text-align: left;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}
blockquote,
q {
	quotes: "" "";
}
a img {
	border: 0;
}
figure {
	margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

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

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*¥*/ /*/
  height: auto;
  overflow: hidden;
  /**/
}

.pchide {
	display: none;
}

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

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
	padding: 0;
	color: #555555;
	background-color: #ffffff;
}
a {
	outline: medium none;
}
a:link {
	color: #ff0000;
	text-decoration: none;
}
a:visited {
	color: #ff0000;
	text-decoration: none;
}
a:hover {
	color: #ff0000;
	text-decoration: underline;
}

a.button,
a.button:link,
a.button:visited,
a.button:hover {
	color: #fff;
	text-decoration: none;
}

a.button:hover {
	text-decoration: underline;
}

.sv_link a {
	background: #ff0000;
	display: block;
	padding: 7px 20px;
	font-size: 18px;
}

.sv_link p a,
.sv_link p a:link,
.sv_link p a:visited,
.sv_link p a:hover {
	color: #fff;
}

.sv_link p {
	display: inline-block;
	float: right;
}

.sv_link:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.impact_logo {
	width: 35%;
}

.single-product .woocommerce-message,
.single-product .woocommerce-message a,
.single-product .woocommerce-message a:hover {
	color: #fff;
}

.pcbr {
	display: block;
}

.section.sv_intro {
	text-align: center;
	font-size: 19px;
	padding: 50px 150px;
}

.youtubesec {
	text-align: center;
	margin: 50px 0;
}

.youtubesec div {
	width: 600px;
	margin: 50px auto;
}

.page-id-121 table td,
.page-id-121 table th {
	font-size: 14px;
}

.shop_table .cart_item td,
.cart-collaterals .shop_table td {
	font-size: 160%;
}

.wc_payment_method label {
	font-size: 140%;
}

.woocommerce-checkout-review-order .shop_table td,
.woocommerce-checkout-review-order .shop_table th {
	font-size: 140%;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields {
	font-size: 130%;
}

.form-row label {
	padding-top: 12px;
}

.input-text,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea {
	padding: 0.318047em !important;
}

.gallery-top .swiper-slide {
	height: 480px !important;
}
.swiper-slide {
	height: 100% !important;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
	opacity: 1;
}
.images .swiper-container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.images .swiper-slide {
	background-size: cover;
	background-position: center;
}
.images .gallery-top {
	width: 100%;
}
.images .gallery-top .swiper-slide::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.images .gallery-thumbs {
	box-sizing: border-box;
	padding-top: 18px;
}
.images .gallery-thumbs .swiper-slide {
	opacity: 0.5;
}
.images .gallery-thumbs .swiper-slide::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.images .gallery-thumbs .swiper-slide-active {
	opacity: 1;
}

.woocommerce-MyAccount-under .woocommerce-MyAccount-content {
	float: none !important;
	width: 680px !important;
}

.woocommerce-MyAccount-under .woocommerce-MyAccount-content p {
	font-size: 14px;
	margin-top: 20px;
}
.woocommerce-MyAccount-under .navigation-wrapp {
	float: none !important;
	width: 680px !important;
	clear: both;
}

.woocommerce-MyAccount-under .woocommerce-MyAccount-navigation {
	width: 100% !important;
}

.woocommerce-MyAccount-navigation ul li {
	border: 1px solid #999 !important;
	margin: 20px 0;
}

.woocommerce-MyAccount-navigation ul {
	border-top: 0px !important;
}

.woocommerce-MyAccount-navigation ul li a {
	padding: 1.875em 1.2em !important;
	font-size: 14px;
}

.account-orders-table th,
.account-orders-table td,
.woocommerce address {
	font-size: 16px;
}

.lifeplus-post {
	margin-bottom: 0;
}
.lifeplus-post li {
	border-top: 1px solid #dfdfdf;
}
.lifeplus-post li:first-child {
	border-top: none;
}
.lifeplus-post li a {
	display: table;
	width: 100%;
	padding: 2em;
	color: #333;
	-webkit-transition: all ease-in-out 0.5s;
	transition: all ease-in-out 0.5s;
}
.lifeplus-post li a:hover {
	background: #efefef;
}

.lifeplus-post li .title {
	display: table-cell;
	width: 15%;
	padding: 0.3% 2.6% 0;
	vertical-align: top;
	background: #ddd;
}
.lifeplus-post li .title .date {
	position: relative;
	text-align: right;
	line-height: 1.5;
	font-family: "Times New Roman";
}
.lifeplus-post li .title .date_year {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 3em;
}
.lifeplus-post li .title .date_month {
	position: absolute;
	left: 5%;
	top: 30%;
	font-size: 4em;
}
.lifeplus-post li .title .date_day {
	font-size: 6.6em;
}
.lifeplus-post li .text {
	display: table-cell;
	width: 66.5%;
	padding: 0 3% 0 3%;
	vertical-align: middle;
}
.lifeplus-post li .text h2 {
	margin-bottom: 0 !important;
	padding: 0 0 5px 0;
	font-size: 2em;
	word-break: break-all;
}

.lifeplus-post li .text .excerpt {
	font-size: 1.2em;
}
.lifeplus-post + a {
	display: table;
	margin: 10px auto 90px auto;
	padding: 14px 11%;
	text-align: center;
	background: #000;
}
.lifeplus-post + a img {
	display: table-cell;
}

/*
--------------------------------------------------------------
#page #main a,#page #main a:link, #page #main a:visited,#page #main a:hover {
    color: #FF0000;
}
*/

#page #main .wc-proceed-to-checkout a,
#page #main .wc-proceed-to-checkout a:link,
#page #main .wc-proceed-to-checkout a:visited,
#page #main .wc-proceed-to-checkout a:hover {
	color: #fff;
}
#page #main .order-print a,
#page #main .order-print a:link,
#page #main .order-print a:visited,
#page #main .order-print a:hover {
	color: #fff;
}
.home #page a,
.home #page a:link,
.home #page a:visited,
.home #page a:hover {
	color: #fff;
}
.category-news #page #main a,
.category-news #page #main a:link,
.category-news #page #main a:visited,
.category-news #page #main a:hover {
	color: #43454b;
}

.return-to-shop a {
	color: #fff;
}
.return-to-shop a:link {
	color: #fff;
}
.return-to-shop a:visited {
	color: #fff;
}
.return-to-shop a:hover {
	color: #fff;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.added_to_cart,
.widget a.button,
.site-header-cart .widget_shopping_cart a.button .return-to-shop a:link {
	color: #fff;
}
.return-to-shop a {
	color: #fff;
}

.woocommerce a.button {
	background-color: #ff0000;
	border-color: #ff0000;
}
.woocommerce .woocommerce-message a.button {
	background-color: #000 !important;
	border-color: #000;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.added_to_cart,
.widget a.button,
.site-header-cart .widget_shopping_cart a.button {
	background-color: #ff0000 !important;
	border-color: #ff0000 !important;
}

/*--------------------------------------------------
header
--------------------------------------------------*/
header {
	height: 61px;
	background-image: url(../img/bg2.gif);
}
.content-area header {
	height: auto;
	background-image: none;
}
.entry-content header {
	height: 81px;
	background-image: none;
}

header .inner {
	width: 1203px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header .inner h1 img {
	height: auto;
	width: 92px;
	display: block;
}

header nav section#menuNav .target {
	position: relative;
}

header nav section#menuNav ul li h3 a.home {
	background-image: url(../img/nav_home.jpg);
	background-repeat: no-repeat;
	width: 105px;
	height: 61px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav section#menuNav ul li h3 a.service {
	background-image: url(../img/nav_service.jpg);
	background-repeat: no-repeat;
	width: 130px;
	height: 61px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav section#menuNav ul li h3 a.about {
	background-image: url(../img/nav_about.jpg);
	background-repeat: no-repeat;
	width: 139px;
	height: 61px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav section#menuNav ul li h3 a.contact {
	background-image: url(../img/nav_contact.jpg);
	background-repeat: no-repeat;
	width: 138px;
	height: 61px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav section#menuNav ul li h3 a.shop {
	background-image: url(../img/nav_shop.jpg);
	background-repeat: no-repeat;
	width: 159px;
	height: 61px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
header nav section#menuNav ul li ul {
	background-color: #646565;
	padding-top: 4px;
	padding-bottom: 4px;
}
header nav section#menuNav ul li ul li {
	font-size: 16px;
	font-weight: bold;
	background-image: url(../img/icon_arrow.gif);
	background-repeat: no-repeat;
	background-position: 8px center;
	padding-left: 26px;
	padding-right: 30px;
	padding-top: 4px;
	padding-bottom: 4px;
	float: none;
}
header nav section#menuNav ul li ul li a {
	padding-top: 2px;
	padding-bottom: 2px;
	display: block;
	color: #ffffff;
}
header nav section#menuNav ul li ul li a:hover {
	text-decoration: none;
}

.dropmenu {
	display: flex;
}
.dropmenu:before,
.dropmenu:after {
	content: "";
	display: table;
}
.dropmenu:after {
	clear: both;
}
.dropmenu li {
	position: relative;
}

.dropmenu li ul {
	position: absolute;
	z-index: 9999;
	top: 100%;
	left: 0;
	width: 245px;
}
.dropmenu li ul li {
	width: 100%;
}

#fade-in2 li ul {
	visibility: hidden;
	position: absolute;
	left: 0;
	top: -30px; /* 50pxから40pxに変更 */
	opacity: 0;
}
#fade-in2 li:hover ul {
	transition: all 0.5s; /* 追加 */
	visibility: visible;
	transform: translateY(30px); /*　追加 */
	opacity: 1;
}

/*--------------------------------------------------
contents
--------------------------------------------------*/
.mainvisual {
	width: 100%;
	height: 763px;
	box-sizing: content-box;
}
.mainvisual .inner {
	background-image: url(../img/bg_transparent.png);
	z-index: 99;
	position: absolute;
	width: 100%;
	height: 763px;
}
.mainvisual h2 {
	color: #fff;
	text-shadow: 3px 3px 6px #000;
	font-size: 450%;
	margin-left: auto;
	margin-right: auto;
	width: 1203px;
	margin-top: 300px;
	text-align: center;

	z-index: 3;
}
.mainvisual p {
	color: #fff;
	text-shadow: 3px 3px 6px #000;
	font-size: 170%;
	margin-left: auto;
	margin-right: auto;
	width: 1203px;
	margin-top: 24px;
	text-align: center;

	z-index: 3;
}

.news {
	background-color: #313131;
	color: #ffffff;
}
.news .inner {
	margin-left: auto;
	margin-right: auto;
	width: 1203px;
	padding-top: 12px;
	padding-bottom: 12px;
}
.news h2 {
	float: left;
	width: 124px;
	height: 42px;
	padding-top: 16px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	border-right: solid 1px #fff;
	color: #fff;
}
.news .topic {
	float: left;
	width: 901px;
	border-right: solid 1px #fff;
	height: 58px;
}
.news .topic dl {
	padding-left: 20px;
	padding-top: 6px;
	font-size: 13px;
	line-height: 22px;
}
.news .topic dl dt a {
	color: #ffffff;
}
.news .topic dl dd {
}
.news .list {
	float: left;
	width: 175px;
	border-right: solid 1px #fff;
	height: 42px;
	padding-top: 16px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.news .list a {
	color: #ffffff;
	text-decoration: none;
}

.contents {
	background-color: #efefef;
}
.contents .inner {
	margin-left: auto;
	margin-right: auto;
	width: 1203px;
	background-color: #ffffff;
}
.contents .inner .box {
	float: left;
	width: 33.3%;
	text-align: center;
	padding-top: 30px;
	padding-bottom: 20px;
}
.contents .inner .box:hover {
	background-color: #e3e3e3;
	cursor: pointer;
}
.contents .inner .center {
	border-left: solid 1px #efefef;
	border-right: solid 1px #efefef;
	width: 33.2%;
}
.contents .inner h3 {
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 3px;
	padding-top: 14px;
	padding-bottom: 14px;
}
.contents .inner a p {
	font-size: 14px;
	line-height: 23px;
	color: #43454b;
}
.contents .inner span.more {
	display: block;
	padding: 6px;
	width: 120px;
	color: #ffffff;
	font-weight: bold;
	font-size: 16px;
	background-color: #ff0004;
	margin-left: auto;
	margin-right: auto;
	margin-top: 18px;
}
.contents .inner a:hover {
	text-decoration: none;
}

.message {
	width: 1203px;
	margin-left: auto;
	margin-right: auto;
	background-image: url(../img/ceo.jpg);
	background-repeat: no-repeat;
	background-position: right bottom;
	border-top: solid 1px #efefef;
}
.message h2 {
	margin-top: 60px;
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	letter-spacing: 3px;
}
.message hr {
	margin-top: 25px;
	width: 160px;
	height: 1px;
	background-color: #ff0004;
	border: none;
}
.message p,
.message ul {
	font-size: 14px;
	line-height: 26px;
	padding-top: 20px;
}
.message p.wl {
	width: 960px;
}
.message p.wl2 {
	width: 800px;
}
.message ul {
	padding-left: 20px;
}
.message ul li {
	font-size: 14px;
	line-height: 26px;
}
.message .sign {
	padding-bottom: 28px;
	padding-left: 390px;
	padding-top: 30px;
}

.footLink {
	background-color: #222222;
}
.footLink ul {
	width: 1189px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
	padding: 20px;

	display: flex;
	justify-content: space-between;
}
.footLink ul li {
	&:not(:last-child) {
		margin-right: 20px;
	}
}

.footLink ul li a {
	font-size: 14px;
	color: #ffffff;
}
.ptop {
	width: 1203px;
	margin-left: auto;
	margin-right: auto;
	text-align: right;
	margin-top: -70px;
	display: none;
}

/*--------------------------------------------------
footer
--------------------------------------------------*/
footer {
	background-image: url(../img/bg.gif);
	color: #ffffff;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-size: 14px;
}
footer .inner {
	width: 1175px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 14px;
	padding-right: 14px;
	padding-top: 34px;
	padding-bottom: 34px;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
footer .sns {
	flex-shrink: 0;
	border-left: solid 1px #ffffff;
	padding: 10px 30px;
}
footer .link a {
	color: #fff;
	text-decoration: underline;
	display: block;
	width: fit-content;
	margin: 10px auto 0;
}
footer .sns ul {
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: center;
}
footer .sns ul li {
	margin: 0 10px;
}
footer .sns ul li.tw {
	text-align: center;
}
footer .sns ul li.yt {
	text-align: right;
}
footer .sns ul li img {
	width: 38px;
	height: 38px;
}
footer .sns .shop {
	clear: both;
	width: 196px;
	height: 46px;
	margin-top: 30px;
	margin-left: auto;
	margin-right: auto;
	background-color: #ff0000;
}
footer .sns .shop a {
	display: block;
	color: #000000;
	width: 140px;
	height: 34px;
	padding-top: 12px;
	padding-left: 56px;
	font-weight: bold;
	font-size: 16px;
	background-image: url(../img/icon_c.png);
	background-size: 35px auto;
	background-position: 15px center;
	background-repeat: no-repeat;
}
footer .sns .shop a:hover {
	text-decoration: none;
}
footer .address {
	width: 100%;
	display: flex;
	align-items: center;
}
footer .address .logo {
	margin-right: 44px;
	flex-shrink: 0;
}
footer .address h4 {
	margin-bottom: 1em;
	font-size: 18px;
	font-weight: bold;
	line-height: 32px;

	color: #fff;
}
footer .address p {
	font-weight: bold;
	line-height: 26px;
}
footer .address p strong {
	color: #000000;
}
footer .copyright {
	padding-top: 12px;
}

.btn_hamburger {
	display: none;
}
