@charset "utf-8";


/*------------------------------------------------------

   common

-------------------------------------------------------*/
:root {
    --base-color: #333333;
	--main-color: #708765;
	--title-color: #15572b;
}

body {
	position: relative;
	font-family: "Zen Maru Gothic", sans-serif;
	color: var(--base-color);
	padding-top: 120px;
    text-align: left;
}
input,
select,
textarea,
radio,
checkbox,
button {
	font-family: "Zen Maru Gothic", sans-serif;
}

h1,h2,h3,h4,h5,h6,b,strong,th {
	font-weight: 500;
}
.sp {
	display: none !important;
}
.sp {
	display: none !important;
}
.red {
	color: #dd0000 !important;
}
img {
    vertical-align: middle;
}

.inner {
    max-width: 1350px;
	padding: 0 20px;
	margin:auto;
	position: relative;
	z-index: 10;
}
.inner-in {
    padding: 0 100px;
}


.link {
    color: var(--main-color);
	text-decoration: underline !important;
}
.note {
    color: #666;
    text-align: right;
}

/* radius */
.radius10 {
	border-radius: 10px;
	overflow: hidden;
}

/* off */
.link-off a {
    cursor: default !important;
    color: #ccc !important;
}

/* nav-line */
.nav-line a:not(.no-line) {
	opacity: 1 !important;
	text-decoration: none !important;
    position: relative;
}
.nav-line a:not(.no-line):after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 0;
    border-top:solid 2px var(--main-color);
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}
.nav-line a:not(.no-line):hover:after {
    transform-origin: left top;
    transform: scale(1, 1);
}



/*------------------------------------------------------

   header style

-------------------------------------------------------*/
.header-msg {
	font-size: 12px;
	text-align: center;
	line-height: 30px;
	color: #fff;
	background: var(--main-color);
}
#gb-header {
    width: 100%;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
}
.header-in {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 20px;
    height: 100px;
}
.site-title {
    width: 351px;
    line-height: 1;
}
.site-title a {
    display: flex;
	align-items: center;
}
.header-tel {
    margin-left: 20px;
}
.main-nav {
    display: flex;
    align-items: center;
    margin-left: auto;
	height: 80px;
    padding: 0 20px;
	background: rgba(255,255,255,0.5);
    border-radius: 10000px;
    box-shadow: 0 5px 10px -4px #eee;
}

.header-search {

}
.search-form {
    position: relative;
    border-radius: 100px;
    background: #fff;
    overflow: hidden;
}
.search-text {
    width: calc(100% - 40px);
    height: 40px;
    border: none;
    outline: none;
    padding-left: 10px;
}
.search-btn {
	cursor: pointer;
	width: 20px;
	height: 20px;
	background: url("../img/icon_search.png") no-repeat center;
	background-size: contain;
	position: absolute;
	right: 10px;
	top: 10px;
}
.main-nav__list {
    display: flex;
    align-items: center;
}
.main-nav__list >li {
    font-size: 13px;
    margin-left: 20px;
    text-align: center;
    white-space: nowrap;
}
.main-nav__list >li a {
    color: var(--bsae-color);
    text-decoration: none;
}
.main-nav__list >li a i {
    display: block;
	height: 27px;
	margin: auto;
	background-repeat :no-repeat;
	background-position :center;
	background-size: contain;
}
.main-nav__list >li.main-items a i {
	background-image: url("../img/icon_items.png");
}
.main-nav__list >li.main-about-mf a i {
	background-image: url("../img/icon_about-mf.png");
}
.main-nav__list >li.main-info a i {
	background-image: url("../img/icon_info.png");
}
.main-nav__list >li.main-contact a i {
	background-image: url("../img/icon_contact.png");
}
.main-nav__list >li.main-login a i {
	background-image: url("../img/icon_login.png");
}
.main-nav__list >li.main-cart a i {
	background-image: url("../img/icon_cart.png");
}
.main-nav__list >li .nav-text {
    display: block;
    margin-top: 5px;
}

/* ----------------------------
   contets
-------------------------------*/
#main-contents {
    overflow: hidden;
}

.conBox {
    padding: 100px 0;
	position:relative;
	z-index: 1;
}
.conBox.has-bg:after {
    content: '';
	width: 100%;
	height: 100%;
	background: url("../img/cmn_bg.png") no-repeat center;
	background-size: cover;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

/* cmn-title */
.cmn-title {
	text-align: center;
    margin-bottom: 30px;
}
.cmn-title h2 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
}
.cmn-title p {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--title-color);
}

.cmn-title.left {
	text-align: left;
}
.cmn-title.white h2 {
	color: #fff;
}

	
.cmn-desc {
	font-size: 18px;
	font-weight: 500;
    text-align: center;
	margin-bottom: 60px;
}
.cmn-desc.left {
    text-align: left;
}


/* text-img-box */
.text-img-box {
    display: flex;
	justify-content: space-between;
}
.text-img-box.-re {
    flex-direction: row-reverse;
}
.text-img-box .-img {
    width: 50%;
}
.text-img-box .-text {
    width: 48%;
}
.text-img-box .-text h3 {
	color: var(--main-color);
    font-size: 24px;
    margin-bottom: 30px;
}
.text-img-box .-text .-desc {
    font-weight: 500;
    line-height: 2;
}
.text-img-box .-text p+h3 {
    margin-top: 50px;
}
.text-img-box .-text p+p {
    margin-top: 20px;
}
.text-img-box .-text .t2 {
    text-align: right;
    font-size: 120%;
    font-weight: 500;
    margin-top: 40px;
}
.text-img-box.-noimg {
    display: block;
}
.text-img-box.-noimg .-text {
    width: 100%;
}

.check-icon__list >li {
    font-size: 120%;
    margin-top: 10px;
    padding-left: 30px;
    position: relative;
}
.check-icon__list >li i {
	display:block;
	width: 25px;
	height:22px;
	background: url("../img/icon_check.png") no-repeat center;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 7px;
}


/* more */
.more {
	margin-top: 30px;
	text-align: center;
}
.more a {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    display: inline-block;
    background: var(--main-color);
    border: solid 2px #fff;
    padding: 10px;
    min-width: 240px;
    text-align: center;
	text-decoration: none;
    border-radius: 1000px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.more a i {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 1000px;
    margin-left: 10px;
    vertical-align: -3px;
	position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.more a i:after {
    content: '';
    color: var(--main-color);
    display: inline-block;
    width: 5px;
    height: 5px;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(45deg);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    position: absolute;
    top: 7px;
    left: 6px;
}
.more a:hover {
	color: var(--main-color);
	background: #fff;
}
.more a:hover i {
	background: var(--main-color);
}
.more a:hover i:after {
	color: #fff;
}

.more.left {
	text-align: left;
}


/* pos-illust  */
.pos-illust {
    position: absolute;
}

/*------------------------------------------------
   footer style
--------------------------------------------------*/
#gb-footer {
	color: #fff;
	margin-top: 40px;
    padding: 40px 0;
	background: var(--main-color);
}
.footer-in {
    display: flex;
}
.footer-info {

}
.footer-logo {
}
.footer-nav {
    display: flex;
    margin-left: auto;
}
.footer-nav__list {
    margin-left: 80px;
}
.footer-nav__list >li {
    font-size: 14px;
    margin-bottom: 20px;
}
.footer-nav__list >li a {
    color: #fff;
	text-decoration: none;
}

.copyright {
	text-align: center;
	font-size: 10px;
	margin-top: 30px;
}


/* backtotop */
#backtotop {
    color: var(--main-color);
	width: 40px;
    height: 40px;
    background: #fff;
    cursor:pointer;
	visibility: hidden;
	opacity: 0;
    border-radius: 100px;
    border: solid 2px;
	position:fixed;
	right: 10px;
	bottom: 30px;
	z-index: 10;
   -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}
#backtotop.show {
	visibility: visible;
	opacity: 1;
	bottom: 50px;
}
#backtotop:hover {
    color: #fff;
    background: var(--main-color);
}
#backtotop:after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 2px;
    border-right: solid 2px;
    transform: rotate(-45deg);
    position: absolute;
    top: 16px;
    left: calc(50% - 6px);
}





/* -----------------------------------

media query

------------------------------------- */
@media (max-width:1200px) {



}

@media (max-width:1024px) {


    .inner-in {
        padding: 0;
    }


}

@media (max-width: 815px) {

	body {
        font-size: 14px;
		min-width: 375px;
		padding-top: 70px;
        overflow-x: hidden;
	}
	body.menu-fix {
		overflow: hidden;
	}
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
.sp-mb0   { margin-bottom: 0 !important; }
.sp-mb5   { margin-bottom: 5px !important; }
.sp-mb10  { margin-bottom: 10px !important; }
.sp-mb20  { margin-bottom: 20px !important; }
.sp-mb30  { margin-bottom: 30px !important; }
.sp-mb40  { margin-bottom: 40px !important; }
.sp-mb50  { margin-bottom: 50px !important; }
.sp-mb60  { margin-bottom: 60px !important; }
.sp-mb70  { margin-bottom: 70px !important; }
.sp-mb80  { margin-bottom: 80px !important; }
.sp-mb90  { margin-bottom: 90px !important; }
.sp-mb100 { margin-bottom: 100px !important; }

	.inner {
		width: 100%;
		padding: 0 20px;
	}
	
	.header-in {
		height: 70px;
	}
	.site-title {
		width: 200px;
	}
	.header-tel {
		width: 150px;
	}
	.sp-search .search-form {
		border: solid 1px;
		margin-bottom: 20px;
	}
	.main-nav-btn a {
		width: 40px;
		height: 40px;
	}

	.main-nav {
		margin-right: 60px;
        height: 50px;
	}
    #menu-btn {
        width: 30px;
        height: 20px;
        cursor: pointer;
        position: fixed;
        top: 55px;
        right: 20px;
        z-index: 999999;
    }
    #menu-btn span {
        width: 100%;
        height: 2px;
        background: var(--main-color);
        position: absolute;
        left: 0;
        -webkit-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }
	#menu-btn span.t {
		top: 0;    
	}
	#menu-btn span.m {
		top: 10px;    
	}
	#menu-btn span.b {
		bottom: 0;
	}
	#menu-btn.active span.t {
		transform: rotate(45deg);
		top: 8px;
	}
	#menu-btn.active span.m {
		width: 0;
	}
	#menu-btn.active span.b {
		transform: rotate(-45deg);
		bottom: 10px;
	}

    #sp-nav {
        width: 100%;
        height: 100%;
        background: #fff;
        padding: 100px 20px;
        overflow: auto;
        opacity: 0;
        visibility: hidden;
        position: fixed;
        left: 0;
        top: 0;
        z-index: -9999;
        -webkit-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }
	#sp-nav.active {
		opacity: 1;
		visibility: visible;
		z-index: 9999;
	}
    .sp-nav__list > li {
        font-size: 16px;
        font-weight: 500;
        border-bottom: dotted 1px;
    }
    .sp-nav__list > li a,
	.sp-nav__list > li span {
        display: block;
        color: var(--main-color);
        padding: 10px;
		text-decoration: none;
	}
	.sp-tel {
		text-align: center;
		margin-top: 30px;
	}

/* common */
	.conBox {
		padding: 60px 0;
	}
	.cmn-title h2 {
		font-size: 16px;
	}
	.cmn-title p {
		font-size: 24px;
	}
	.cmn-title.left {
		text-align: center;
	}

	.cmn-desc {
		font-size: 14px;
		margin-bottom: 40px;
	}


	.text-img-box {
		display: block;
	}
	.text-img-box .-text {
		width: 100%;
	}
	.text-img-box .-img {
		width: 100%;
		text-align: center;
		margin-top: 30px;
	}


/* more */
	.more a {
		font-size: 14px;
		padding: 10px 20px;
	}
	.more a i {
		margin-left: 5px;
		vertical-align: -4px;
	}
	.more.left {
		text-align: center;
	}


/* footer */
	.footer-in {
		display: block;
	}
	.footer-logo {
		text-align: center;
	}
	.footer-logo img {
		widht: 200px;
	}

}

@media (max-width: 640px) {
	
	.header-tel,
	.main-nav {
		display: none;
	}
}


/* -----------------------------------
main-fv
------------------------------------- */
#main-fv {
    position: relative;
	background: url("../img/fv_bg.jpg") no-repeat center;
	background-size: cover;
    margin-top: -90px;
    margin-bottom: -50px;
}
.main-fv-in {
    display: flex;
    align-items: center;
    padding: 0 20px;
    height: 700px;
    max-width: 1350px;
    margin: auto;
}
.main-fv-hero {
    width: 50%;
    margin-top: 10%;
	position: relative;
	z-index: 10;
}
.main-fv-hero .-text01 {
    color: var(--title-color);
    font-size: 62px;
    font-weight: 500;
    margin-top: 30px;
    line-height: 1.1;
    white-space: nowrap;
}
.main-fv-hero .-text02 {
    font-size: 15px;
    margin-top: 30px;
    line-height: 1.6;
}


@media (max-width: 815px) {

	#main-fv {
		margin-top: -25px;
	}
	.main-fv-in {
			padding: 10px;
        text-align: center;
		height: 430px;
		margin: auto;
	}
    .main-fv-hero {
	    width: 90%;
        background: rgba(255, 255, 255, 0.7);
        padding: 30px 20px;
		margin: auto;
    }
    .main-fv-hero .-catch {
        width: 80%;
        margin: auto;
    }
	.main-fv-hero .-text01 {
		font-size: 30px;
		margin-top: 15px;
		line-height: 1.6;
	}
	.main-fv-hero .-text02 {
		display: none;
	}
    .main-fv-hero .more {
        margin-top: 10px;
    }

}

/* -----------------------------------
main-event
------------------------------------- */
.main-event__list {
	display: flex;
	flex-wrap: wrap;
}
.main-event__list >li {
	width: 48%;
	text-align: center;
	margin: 0 0 4% 4%;
}
.main-event__list >li:nth-child(2n+1) {
	margin-left: 0;
}


@media (max-width: 815px) {

	.main-event__list {
		display: block;
	}
	.main-event__list >li {
		width: 100%;
		margin: 0 auto 20px;
	}

}

/* -----------------------------------
main-products
------------------------------------- */
#main-products .swiper-slide a {
    color: var(--base-color);
    display: block;
	text-decoration: none;
}
.main-products-thumb {
    height: 0;
    padding-top: 100%;
    background: #f9faf5;
    border-radius: 10px;
    position: relative;
}
.main-products-thumb img {
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.main-products-info {
    margin-top: 10px;
}
.main-products-info-title {
    font-size: 14px;
    font-weight: 500;
}
.main-products-info-desc {
    font-size: 12px;
    margin-top: 10px;
}
.main-products-info-price {
    color: var(--main-color);
    font-size: 16px;
    font-weight: 500;
    margin-top: 10px;
}


@media (max-width: 815px) {
	
}


/* -----------------------------------
main-howtouse
------------------------------------- */
.main-howtouse-top {
    display: flex;
    align-items: center;
	margin-bottom: 50px;
}
.main-howtouse-top .cmn-title {
	margin-bottom: 0;
}
.main-howtouse-top .-desc {
    width: 50%;
}

.main-howtouse-btm {
    display: flex;
    align-items: center;
}
.howtouse-btm__list {
    display: flex;
    justify-content: space-between;
    width: 65%;
}
.howtouse-btm__list >li {
    text-align: center;
}
.howtouse-btm__list >li p {
    font-size: 18px;
}
.howtouse-btm-text {
    width: 32%;
    padding: 20px;
    margin-left: auto;
    background: #f9faf5;
    border-radius: 10px;
}
.howtouse-btm-text p {
    margin: 15px 0;
}
.howtouse-btm-text p span {
    color: var(--main-color);
    font-size: 110%;
    font-weight: 500;
}


@media (max-width: 815px) {

	.main-howtouse-top {
		display: block;
		margin-bottom: 30px;
	}
	.main-howtouse-top .-desc {
		width: 100%;
		margin-top: 30px;
	}
	.main-howtouse-btm {
		display: block;
	}
	.howtouse-btm__list {
		width: 100%;
	}
	.howtouse-btm__list >li {
		width: 32%;
	}
	.howtouse-btm__list >li p {
		font-size: 14px;
	}
	.howtouse-btm-text {
		width: 100%;
		padding: 10px 20px;
		margin-top: 20px;
	}

}


/* -----------------------------------

------------------------------------- */


@media (max-width: 815px) {
	
}




/* -----------------------------------
column
------------------------------------- */
.column__list {
    display: flex;
    flex-wrap: wrap;
}
.column__list >li {
	width: 32%;
	margin: 0 0 50px 2%;
}
.column__list >li:nth-child(3n+1) {
	margin-left: 0;
}
.column__list a {
	color: var(--base-color);
	display: block;
	height: 100%;
	padding: 10px;
	border-radius: 10px;
	background: var(--sub-color1);
	text-decoration: none;
}
.column-thumb {
    position: relative;
    height: 0;
    padding-top: 60%;
    overflow: hidden;
    border-radius: 10px;
}
.column-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}
.column-info {
	margin-top: 10px;
}
.column-info-date {
    font-size: 13px;
}
.column-info-title {
	font-weight: 500;
	color: var(--main-color);
}
.column-info-excerpt {
	margin-top: 10px;
	font-size: 12px;
}
.column-info-cat {
	margin-top: 10px;
}
.column-info-cat span {
	display: inline-block;
	font-size: 12px;
	background: #fff;
	line-height: 1;
	padding: 5px 10px;
}


@media (max-width: 815px) {

	.column__list >li {
		width: 48%;
		margin: 0 0 4% 4%;
	}
	.column__list >li:nth-child(3n+1) {
		margin: 0 0 4% 4%;
	}
	.column__list >li:nth-child(2n+1) {
		margin-left: 0;
	}
	.column-info-excerpt {
		display:none;
	}
}



/* -----------------------------------
news
------------------------------------- */
.news-cat {
    font-size: 90%;
    font-weight: 500;
    display: inline-block;
    line-height: 1;
    background: var(--sub-color1);
    padding: 3px 10px;
    border-radius: 1000px;
}
.news__list >li {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: dotted 1px #ccc;
}
.news__list a {
	color: var(--base-color);
    display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.news__list .news-date {
    margin-right: 10px;
}
.news__list .news-cat {
    margin-right: 15px;
}
.news__list .news-title {
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: calc(100% - 200px);
}


@media (max-width: 815px) {
	.news__list a {
		display: block;
	}
	.news__list .news-title {
		display: block;
		white-space: normal;
		max-width: 100%;
		margin-top: 5px;
	}
}


/* -----------------------------------
page
------------------------------------- */
#bread-nav {
    font-size: 13px;
	margin: 30px 0;
}
.bread-nav__list > li {
    display:inline;
	margin-left: 10px;
}
.bread-nav__list > li:before {
    content: '>';
	margin-right: 10px;
}
.bread-nav__list > li:first-child {
    margin-left:0;
}
.bread-nav__list > li:first-child:before {
    display: none;
}
.bread-nav__list > li a {
    color: var(--main-color);
	border-bottom: solid 1px;
}

.page-main-contents {
	margin-top: 100px;
}

.item-in {
    display: flex;
    flex-direction: row-reverse;
	justify-content: space-between;
}
.page-contents {
    width: calc(100% - 300px);
}

.page-sidebar {
    width: 250px;
}
.sidebar-box {
    margin-bottom: 50px;
}

#btn_members_login a {
    color: var(--base-color);
    display: block;
    border: solid 1px;
    text-align: center;
    border-radius: 1000px;
    padding: 10px;
}
#btn_members_login a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: solid 1px;
    border-right: solid 1px;
    transform: rotate(45deg);
    vertical-align: 2px;
    margin-left: 10px;
}
#btn_members_signup {
    text-align: center;
    font-size: 14px;
    margin-top: 20px;
}
#btn_members_signup span {
    display: block;
}
#btn_members_signup a {
    color: var(--base-color);
    border-bottom: solid 1px;
}

.sidebar-title {
    padding: 10px;
    margin-bottom: 20px;
    text-align: center;
    border-top: solid 1px;
    border-bottom: solid 1px;
}

.sidebar-category__list >li {
    margin-bottom: 10px;
}
.sidebar-category__list >li a {
    color: var(--base-color);
}
.sidebar-category__list >li a:hover {
	text-decoration: underline;
}
.sidebar-category__list >li a:before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-top: solid 1px;
    border-right: solid 1px;
    transform: rotate(45deg);
    vertical-align: 2px;
    margin-right: 10px;
}

.sidebar-items__list >li {
    font-size: 13px;
    margin-bottom: 10px;
}
.sidebar-items__list >li a {
    color: var(--base-color);
}
.sidebar-items__list >li a:hover {
	text-decoration: underline;
}
.sidebar-items__list >li a:before {
    content: '・';
    display: inline-block;
}


.orner-name {
    text-align: center;
    margin-top: 20px;
}
.orner-img {
    text-align: center;
}
.orner-img img {
    width: 150px;
}
.orner-desc {
    font-size: 12px;
    line-height: 1.6;
    margin-top: 20px;
}

@media (max-width: 815px) {

	.page-main-contents {
		margin-top: 50px;
	}

	.item-in {
		display: block
	}
	.page-contents {
		width: 100%;
	}

	.page-sidebar {
		width: 100%;
		margin-top: 50px;
	}

}

/* -----------------------------------
item
------------------------------------- */



.item-detail-wrap {
    display: flex;
    justify-content: space-between;
}
.item-detail-img {
    width: 45%;
}
.item-detail-img-main {
    height: 0;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
    border: solid 1px #eee;
}
.item-detail-img-main img {
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.item-detail-img-sub {
	margin-top: 20px;
}
.item-detail-img-sub__list {
    display: flex;
    flex-wrap: wrap;
}
.item-detail-img-sub__list >li {
    width: 15%;
    height: 0;
    padding-top: 15%;
	margin: 0 0 2% 2%;
    border: solid 1px transparent;
    cursor: pointer;
	position: relative;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.item-detail-img-sub__list >li:nth-child(6n+1) {
    margin-left: 0;
}
.item-detail-img-sub__list >li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    position: absolute;
	top: 0;
	left:0;
}
.item-detail-img-sub__list >li.active {
    border: solid 1px var(--main-color);
}

.item-detail-info {
    width: 50%;
}
.item-detail-info-name {
    font-size: 24px;
    font-weight: 500;
}
.item-detail-info-code {
    color: #666;
    font-size: 90%;
    margin-top: 10px;
}
.item-detail-info-price {
    color: #dd0000;
    font-weight: 500;
    margin-top: 30px;
}
.item-detail-info-price span {
    font-size: 200%;
}
.item-detail-info-buy {
    margin-top: 30px;
}
.item-buy-unit-num {
    font-size: 18px;
    width: 40px;
    height: 40px;
    border: solid 1px #ccc;
    border-radius: 5px;
    padding-right: 10px;
    text-align: right;
}
.item-buy-button {
    font-size: 16px;
    font-weight: 500;
    display: block;
    color: #dd0000;
    background: none;
    width: 100%;
    padding: 10px;
    border: solid 2px;
    border-radius: 5px;
    margin-top: 20px;
    cursor: pointer;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.item-buy-button:before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 23px;
    background-image: url("../img/icon_p_cart.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: -5px;
    margin-right: 10px;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
.item-buy-button:hover {
	color: #fff;
    background: #dd0000;
}
.item-buy-button:hover:before {
	background-image: url("../img/icon_p_cart_wht.png");
}

.item-detail-info-links {
    margin-top: 50px;
}
.item-detail-info-links__list >li {
    font-size: 14px;
    margin-top: 10px;
}
.item-detail-info-links__list >li a {
    color: var(--base-color);
    border-bottom: solid 1px;
}

.item-detail-sub {
	margin-top: 50px;
}


.item-detail-sub-checkitem {
    margin-top: 50px;
}
.item-detail-sub-checkitem h3 {
    font-size: 20px;
    border-left: solid 5px var(--main-color);
    padding-left: 15px;
    margin-bottom: 30px;
}

.checkitem_list2 {
    display: flex;
	flex-wrap: wrap;
}
.checkitem_list2 .checkitem2 {
    width: 22%;
    margin: 0 0 4% 4%;
	text-align: left;
}
.checkitem_list2 .checkitem2:nth-of-type(4n+1) {
    margin-left: 0;
}
.checkitem_list2 .checkitem2 .name {
	margin-top: 10px;
}
.checkitem_list2 .checkitem2 .name a {
    color: var(--base-color);
    font-size: 14px;
    font-weight: 500;
}
.checkitem_list2 .checkitem2 .price {
    color: var(--main-color);
    font-weight: 500 !important;
}



@media (max-width: 815px) {
	
	.item-detail-wrap {
		display: block;
	}
	.item-detail-img {
		width: 100%;
		margin-bottom: 30px;
	}
	.item-detail-info {
		width: 100%;
	}

	.checkitem_list2 .checkitem2 {
		width: 48%;
	}
	.checkitem_list2 .checkitem2:nth-of-type(2n+1) {
		margin-left: 0;
	}

}


/* -----------------------------------
custom
------------------------------------- */
table.footstamp {
    margin-bottom: 20px;
}

table.tbl_calendar {
    width: 100%;
    text-align: center;
}
.side_cal_memo {
    font-size: 12px;
    margin-top: 20px;
}
.expl_block {
    line-height: 1.6;
}

.page-contents .sort_01 {
	width: 100%;
}
.page-contents .pagenavi {
	width: 100%;
}

/*  */
.custom-product_list {
    display: flex;
    flex-wrap: wrap;
}
.custom-product_list >li {
    width: 23%;
    margin: 0 0 50px 2.666666%;
}
.custom-product_list >li:nth-child(4n+1) {
    margin-left: 0;
}
.custom-product_list >li a {
   color: var(--base-color);
    display: block;
	text-decoration: none;
}
.custom-product_list .thumb {
    height: 0;
    padding-top: 100%;
    background: #f9faf5;
    position: relative;
}
.custom-product_list .thumb img {
    max-width: 90%;
    max-height: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.custom-product_list .name {
    font-size: 14px;
    font-weight: 500;
	margin-top: 10px;
}
.custom-product_list .expl {
    font-size: 12px;
    margin-top: 10px;
}
.custom-product_list .price {
    color: var(--main-color);
    font-size: 16px;
    font-weight: 500;
    margin-top: 10px;
}


@media (max-width: 815px) {

	.page-contents .sort_01 {
		height: 40px;
	}
	.page-contents .pagenavi {
		width: 100%;
		height: auto;
	}
	.page-contents .pagenavi table {
		height: auto;
	}
	.page-contents .pagenavi table td {
		display: block;
		width: 100%;
		margin: 5px 0 !important;
	}

	.custom-product_list >li {
		width: 45%;
		margin: 0 0 30px 10%;
	}
	.custom-product_list >li:nth-child(3n+1) {
		margin: 0 0 30px 10%;
	}
	.custom-product_list >li:nth-child(2n+1) {
		margin-left: 0;
	}
	.custom-product_list .expl {
		display: none;
	}

}

