/*
 Theme Name: ritsumeikan
 Template: lyrique
*/
#content {
	margin-bottom: 10em;
	}
@media (max-width: 1024px) and (min-width: 768px) {
.page-id-11 #content,
.post-9 .return-to-shop {
	margin-bottom: 20em;
	}
}
@media (min-width: 768px) {
.content_mobile {
	display: none; }
	}
@media (max-width:767px) {
.content_pc {
	display: none; }
	}
h1 {
	font-size: 2em;
	}
h2 {
	font-size: 1.5em;
	}
h3 {
	font-size: 1.4em;
	}
header.woocommerce-products-header h1,
header.entry-header h1 {
  text-align: center;
  }
@media (max-width:767px) {
header.woocommerce-products-header h1,
header.entry-header h1 {
	text-align: left;
	border-bottom: dotted 1px;
	margin-bottom: 1em;
	}
h1 {
	font-size: 1.4em;
	}
h2 {
	font-size: 1.3em;
	}
h3 {
	font-size: 1.2em;
	}
}
@media (min-width:768px) {
header.entry-header {
	padding: 0 0 5.9968353111em;
	}
header.entry-header h1 {
	margin-bottom: 0;
	}
}
/*--- header ---*/
/*共通*/
@media screen and (min-width: 768px) {
.site-header {
	border-bottom-color: #ccc;
    box-shadow: 0 3px 10px #ccc;
    margin-bottom: 1em;
    }
}
.site-branding .site-title {
	font-size: 1.6em;
	}
/*pc*/
.main-navigation .primary-navigation ul#menu-header li a {
	position:relative;
	}
.main-navigation .primary-navigation ul#menu-header li a:after {
	position: absolute;
	bottom: 20px;
	left: 5px;
	content: '';
	width: 90%;
	height: 1px;
	background: #5399d7;
 	transform: scale(0, 1);
 	transform-origin: center;
 	transition: transform .3s;
	}
.main-navigation .primary-navigation ul#menu-header li a:hover:after {
  	transform: scale(1, 1);
	}
@media (min-width: 768px) {
.woocommerce-active .site-header .main-navigation {
	width: 72%;
	}
.woocommerce-active .site-header .site-header-cart {
	width: 22.5%;
	}
}
/*mobile*/
button.menu-toggle,
button.menu-toggle:hover {
	border-color: transparent;
	}
button.menu-toggle {
	margin-bottom: 3px;
	border: 1px solid transparent;
	border-radius: 3px;
	padding: 0.6em 0.8em 0.6em 2.6em;
	font-size: 0.8em;
	}
.main-navigation .handheld-navigation {
	background: #e4e8ee;
    padding: 0 1em;
    }
.main-navigation .handheld-navigation ul#menu-mobile-header li:not(:last-child) {
	border-bottom: solid 1px #ccc;
	}
.main-navigation .handheld-navigation ul#menu-mobile-header li a {
	padding: 0.8em 0;
	font-size: 0.9em;
	}
.storefront-handheld-footer-bar ul li.cart .count {
	background: #333333;
    color: white;
    }
/*----- user name -----*/
.user-name {
	margin-right: 1em;
    text-align: right;
    }
@media (min-width: 768px) {
.user-name {
	margin-right: 2.617924em;
	max-width: 66.4989378333em;
	margin-left: auto;
    margin-right: auto;
    padding: 0 2.617924em;
	}
.user-name p {
	margin: 0;
	}
}
.user-name span {
	font-weight: bold;
	}
/*----- language switch -----*/
.lan-sw {
	font-size: .8em;
    margin-right: 4em;
    text-align: right;
    }
@media (min-width: 768px) {
.lan-sw {
	display: none;
	}
}
/*----- sorting -----*/
.storefront-sorting {
	display: none;
	}
/*----- breadcrumb -----*/
.storefront-breadcrumb {
	display: none;
	}
/*----- top -----*/
.site-main ul.products.columns-3 li.product {
	padding-bottom: 2em;
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    }
h2.woocommerce-loop-product__title {
	padding: 0 10px;
	}
/*news*/
@media (min-width: 768px) {
.top-news h1,
.news-archive-wrap h1 {
	text-align: center;
    margin-bottom: 0;
    }
}
@media (max-width: 768px) {
.top-news h1,
.news-archive-wrap h1 {
	text-align: left;
    border-bottom: dotted 1px;
    margin-bottom: 1em;
    }
}
.top-news {
	margin-bottom: 10em;
	}
ul.news-wrap {
	list-style: none;
	}
@media (min-width: 768px) {
ul.news-wrap {
	width: 87%;
	border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    margin: 2em auto 3em;
    padding-top: 1em;
    padding-bottom: 1em; }
	}
@media (min-width: 1024px) {
ul.news-wrap {
	width: 65%; }
	}
li.newsrows {
	margin-left: 0;
    margin-bottom: 0;
    padding-top: 1em;
    padding-bottom: 1em;
    }
@media (max-width: 768px) {
.news-content-wrap {
	display: table;
	line-height: 1.5;
    margin: 0 1%;
    width: 100%; }
    }
@media (min-width: 768px) {
.news-content-wrap {
	display: table;
    line-height: 1.5;
    padding-left: 3%;
    padding-right: 3%;
    width: 100%; }
    }
.news-date {
	margin: 0;
    font-size: 1em;
    }
    
@media (min-width: 768px) {
.news-date {
    display: inline-table;
    vertical-align: middle;
    min-width: 15%; }
    }
.news-title {
	margin: 0;
    font-size: 1em;
    }
@media (min-width: 768px) {
.news-title {
    display: inline-table;
    vertical-align: middle;
    margin-right: 1%;
    margin-left: 6%;
    min-width: 59%; }
    }
.news-content-wrap a:hover {
	opacity: 0.7;
	}
.top-kiji-btn {
	text-align: center;
	}
/*single news*/
.single-post-wrap {
	margin: 0 auto 5em;
    width: 95%;
    }
.navigation.post-navigation {
	margin: 0 auto;
    width: 95%;
    }
@media (min-width: 768px) {
.single-post-wrap {
    width: 75%;
    }
.navigation.post-navigation {
    width: 80%;
    }
}
/*----- qa -----*/
.ly_qa {
	margin: 0 auto;
    width: 97%;
    font-size: 0.8em;
    }
@media (min-width: 768px) {
.ly_qa {
	width: 75%;
	}
}
.ly_qa *, .ly_qa *:after, .ly_qa *:before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	}
	
.ly_qa .ly_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin-bottom: 1.5em;
	color: #212721;
	}
	
.ly_qa .ly_actab input {
	position: absolute;
	opacity: 0;
	}
	
.ly_qa .ly_actab label {
	line-height: 1.6em;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1em 3.5em 1em 4em;
	cursor: pointer;
	border-radius: 0.5em;
	background: #cce6f3;
	}
	
.ly_qa .ly_actab label::before {
	font-size: 1.5rem;
    position: absolute;
    content: '■';
    margin-left: -2rem;
    top: 11px;
	}
	
.ly_qa .ly_actab label:hover {
	transition: all 0.3s;
	color: #00000054;
	}
	
.ly_qa .ly_actab label::after {
	font-family: 'Font Awesome 5 Free';
	font-size: 1.2em;
	font-weight: 600;
	line-height: 2em;
	position: absolute;
	top: 9px;
	right: 7px;
	content: '\f078';
	display: inline-block;
	width: 1.5rem;
	height: 2.5rem;
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
	}
	
.ly_qa .ly_actab .ly_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 3em;
	-webkit-transition: max-height 0.2s;
	transition: max-height 0.2s;
	border-radius: 0 0 0.5em 0.5em;
	}
	
@media (max-width:767px) {
.ly_qa .ly_actab .ly_actab-content {
	padding: 0;
	}
}

.ly_qa .ly_actab .ly_actab-content::before {
	font-size: 1.5rem;
	position: absolute;
	content: '';
	margin-left: -1rem;
    margin-top: 5px;
    font-style: italic;
	}
	
.ly_qa .ly_actab .ly_actab-content p {
	margin: 1rem;
	}
	
.ly_qa .ly_actab .ly_actab-content p a {
	font-weight: bold;
    color: #3b3b3b;
    position: relative;
    }
    
.ly_qa .ly_actab .ly_actab-content p a:after {
	position: absolute;
    bottom: -5px;
    left: 5px;
    content: '';
    width: 90%;
    height: 1px;
    background: #3b3b3b;
    transform: scale(0, 1);
    transform-origin: center;
    transition: transform .3s;
    }
    
.ly_qa .ly_actab .ly_actab-content p a:hover {
	color: #3b3b3b;
	}

.ly_qa .ly_actab .ly_actab-content p a:hover:after {
	transform: scale(1, 1);
	}
	
.ly_qa .ly_actab input:checked ~ .ly_actab-content {
	max-height: 50em;
	border-right: 1px solid #c1d3db;
    border-bottom: 1px solid #c1d3db;
    border-left: 1px solid #c1d3db;
	}
	
.ly_qa .ly_actab input:checked ~ label {
	color: #3b3b3b;
	border-radius: 0.5em 0.5em 0 0;
	}
	
.ly_qa .ly_actab input[type=checkbox]:checked ~ label:after {
	font-family: 'Font Awesome 5 Free';
	font-size: 1.2em;
	font-weight: 600;
	line-height: 2em;
	position: absolute;
	top: 9px;
	right: 7px;
	content: '\f077';
	display: inline-block;
	width: 1.5rem;
	height: 2.5rem;
	-webkit-transition: transform 0.4s;
	transition: transform 0.4s;
	}

.red {
	color: red;
	font-weight: bold;
	}
.ly_qa .ly_actab .ly_actab-content p.cre-img {
	display: flex;
	flex-wrap: wrap;
    margin-left: 2.5em;
    margin-top: 5px;
    }
.cre-img img {
	margin-right: 10px;
	width: 50px
	}

/*----- cart -----*/
/*header cart*/
.site-header-cart .widget_shopping_cart .product_list_widget img {
	margin-left: 1%;
	}
.product_list_widget li img {
	max-width: 40%;
	}
/*cart page*/
table.cart .product-thumbnail img {
	max-width: 60%;
	}
table.cart td.actions {
	border-top: 1px solid;
	padding-top: 1em;
	}
table.cart td.product-remove {
	border-top: 1px solid;
	}
table.cart td.product-remove a.remove {
	top: 7px;
	}
@media (min-width: 768px) {
table.cart td.product-remove {
	border: 0;
	}
}
.cart_totals table.shop_table {
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    }
.woocommerce-shipping-destination,
.woocommerce-shipping-calculator {
	font-size: 13px;
    margin: 5px 0;
    }
/*----- checkout -----*/
.woocommerce-billing-fields,
.shipping_address,
.woocommerce-checkout-review-order-table,
#payment .payment_methods {
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    padding: 15px;
    }
@media (min-width: 768px) {
.col2-set h2 {
	margin-bottom: 0;
    padding-bottom: 0.6180469716em;
    }
}
#customer_details .col-2 {
	margin: 2em 0 5em;
	}
ul.wc_payment_methods.payment_methods.methods > li > label {
	font-weight: bold;
	}
/*----- order-received -----*/
.woocommerce-order {
	margin-bottom: 5em;
    border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    padding: 10px;
    }
@media (min-width: 768px) {
.woocommerce-order {
	padding: 30px;
    width: 70%;
    margin: 0 auto;
    }
}
/*----- my-account -----*/
.woocommerce-MyAccount-navigation {
	margin-bottom: 5em;
    border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    padding: 10px;
    }
.woocommerce-MyAccount-content h2 {
	font-size: 1.5em;
	}
@media (max-width:767px) {
.woocommerce-MyAccount-content h2 {
	font-size: 1.3em;
	}
}
/*orders*/
table.woocommerce-orders-table {
	border-collapse: collapse;
	}
table.woocommerce-orders-table tr.woocommerce-orders-table__row {
	border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
    }
.woocommerce-form.woocommerce-form-login.login,
.woocommerce-form.woocommerce-form-register.register,
.woocommerce-ResetPassword.lost_reset_password {
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    padding: 20px;
    display: block;
    font-size: 0.8em;
    }
.form-row label.woocommerce-form-login__rememberme {
	margin: 1em 0;
	}
/*edit-account*/
form.woocommerce-EditAccountForm p.form-row-last,
form.woocommerce-EditAccountForm p.form-row-first {
	max-width: 48%;
	clear: none;
	}
/*----- company -----*/
#company-page {
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    }
@media (max-width: 767px) {
#company-page table th,
#company-page table td {
	display: block;
	}
}
@media (min-width: 768px) {
#company-page {
	width: 70%;
    margin: 0 auto;
    padding: 20px;
    }
}
/*----- privacy policy -----*/
.post-3 h3 {
	margin-bottom: 0;
    margin-top: 1.5em;
    }
.post-3 p {
	margin-bottom: 0.8em;
	margin-left: 1em;
	}
/*----- tradelaw -----*/
.tradelaw-page {
	border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    }
@media (max-width: 767px) {
.tradelaw-page table th,
.tradelaw-page table td {
	display: block;
	}
}
@media (min-width: 768px) {
.tradelaw-page {
	width: 80%;
    margin: 0 auto;
    padding: 20px;
    }
}
.tradelaw-page th {
	min-width: 225px;
	}
/*----- single product -----*/
.tabs-pc {
    margin-top: 50px;
    background-color: #fff;
    width: 80%;
    margin: 0 auto;
    }
.tab_item {
    width: calc(100%/2);
    height: 50px;
    background-color: #eee;
    line-height: 50px;
    font-size: 0.8em;
    display: block;
    float: left;
    transition: all 0.2s ease;
    border: solid 1px #ccc;
    border-radius: 10px 10px 0 0;
    }
.tab_item h2 {
	text-align: center;
    color: #9c9c9c;
    font-weight: bold;
    }
.single-product div.product .woocommerce-tabs .tabs-pc input[type='checkbox'] + label,
.single-product div.product .woocommerce-tabs .tabs-pc input[type='radio'] + label {
	margin: 0;
	}
.single-product div.product .woocommerce-tabs input[name="radio-set"] {
    display: none;
    }
.tab_content {
    display: none;
    padding: 20px 40px 20px;
    clear: both;
    overflow: hidden;
    border: solid 1px #ccc;
    }
#tab-1:checked ~ #content-1,
#tab-2:checked ~ #content-2,
#tab-3:checked ~ #content-3 {
    display: block;
    }
.tabs-pc input:checked + .tab_item {
    background: linear-gradient(to bottom,#016087 0,#5b9dd9 90%,#016087 100%);
    }
.tabs-pc input:checked + .tab_item h2 {
	color: white;
	}
.tabs-pc table th {
	min-width: 176px;
	}
@media (min-width: 768px) {
.tabs-mobile {
    display: none;
    }
}
.tabs-mobile label {
    display: block;
    margin: 4px 0 !important;
    padding : 13px 30px;
    background: linear-gradient(to bottom,#016087 0,#5b9dd9 90%,#016087 100%);
    cursor :pointer;
}
.tabs-mobile label h2:before {
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    float: right;
    }
.tabs-mobile input {
    display: none;
    }
.tabs-mobile h2 {
	font-size: 1em;
	color: white;
	font-weight: bold;
	margin: 0;
	}
.tabs-mobile .tab-content_m {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    }
.tab-selector_m:checked + label + .tab-content_m {
    height: auto;
    padding: 1% 5%;
    background: white;
    opacity: 1;
    }

.tab-selector_m:checked + label h2:before {
    content: '\f077';
    }
.tabs-mobile table {
	border-collapse: collapse;
	}
.tab-content_m table tr:not(:last-child) {
	border-collapse: collapse;
    border-bottom: 1px solid #ccc;
    }
.tab-content_m table th {
	display: block;
    padding: 1em 0 0;
    }
.tab-content_m table td {
	display: block;
    padding: 0 0 1em;
    }
@media (max-width: 767px) {
.tabs-pc {
    display: none;
    }
}
/*----- contact -----*/
.contact-wrap {
	width: 95%;
    margin: 0 auto;
    }
@media (min-width: 768px) {
.contact-wrap {
	width: 80%;
	}
}
.TELcontact {
	margin-bottom: 5em;
	}
.TELcontact span {
	font-size: 2em;
    font-weight: 600;
    }
.TEL_m a {
	color: #666666;
	}
@media (min-width: 768px) {
.TEL_m {
	display: none;
	}
}
@media (max-width: 768px) {
.TEL_pc {
	display: none;
	}
.FORMcontact table th,
.FORMcontact table td {
	display: block;
	}
	
}
.FORMcontact input[type='text'],
.FORMcontact input[type='tel'],
.FORMcontact input[type='email'],
.FORMcontact textarea {
	width: 100%;
	background: #e2e2e2;
}
.FORMcontact table th span {
	background: red;
    color: white;
    padding: 4px;
    margin: 15px;
    border-radius: 6px;
    font-size: 0.7em;
    }
.contact-submit-wrap {
	width: 60%;
    margin: 0 auto;
    }
.FORMcontact .wpcf7-submit {
	width: 100%;
	background: #6394bf;
    width: 100%;
    color: white;
    letter-spacing: 2px;
    }
.FORMcontact .wpcf7-submit:hover {
	background: #0073aa;
	color: white;
	}
/* thanks */
.thanks-mail {
	margin: 0 auto;
    border: solid 1px #ccc;
    border-radius: 3px;
    box-shadow: 3px 3px 9px #ccc;
    padding: 2em 20px;
    }
@media (min-width: 768px) {
.thanks-mail {
	width: 82%;
	}
}
/*----- footer -----*/
.site-info {
	text-align: center;
    font-size: 0.8em;
    }
ul.noliststyle {
	list-style: none;
	}
.footer_wrap {
	padding: 3%;
    font-size: 0.8em;
    }
@media (min-width: 768px) {
.footer_wrap {
	display: flex;
    width: 70%;
    margin: 0 auto;
    }
.footer_wrap .footer01 {
	width: 30%;
	}
.footer_wrap .footer02 {
	width: 50%;
	}
.footer_wrap .footer03 {
	width: 20%;
    margin-left: 5%;
    }
}
.footer_wrap div ul li {
	padding: 3px 0;
	}
.site-footer .footer_wrap div ul li a {
	position: relative;
	text-decoration: none;
	}
.footer_wrap div ul li a:after {
	position: absolute;
    bottom: -5px;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #adadad;
    transform: scale(0, 1);
    transform-origin: center;
    transition: transform .3s;
    }
.footer_wrap div ul li a:hover {
	color: #a7a8aa;
	}
.footer_wrap div ul li a:hover:after {
	transform: scale(1, 1);
	}
.footer_wrap .footer03 > ul {
	display: flex;
	}
.footer_wrap .footer03 > ul > li {
	margin: 3px;
	}
.footer_wrap .footer03 li img {
	width: 25px;
	}
.top-scroll {
	position: relative;
    width: 50px;
    height: 50px;
    float: right;
    margin-top: -50px;
    margin-right: 1.5em;
    background: #1e73be;
    }
.page_top {
	position: absolute;
    width: 50px;
    height: 50px;
    }
a.page_top:before {
    position: absolute;
    top: 7px;
    left: 6px;
    font-size: 10px;
    width: 38px;
    line-height: 12px;
    text-align: center;
    color: white;
    }
a.page_top.ja:before {
	content: "TOPへ\A 戻る";
    }
a.page_top.en_us:before {
	content: "Back to top";
	}
.page_top i {
	position: absolute;
    bottom: 4px;
    display: inline-block;
    text-align: center;
    width: 50px;
    color: white;
    }