@charset "euc-jp";

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, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-style: normal;
font-weight: normal;
font-size: 100%;
vertical-align: baseline;
box-sizing: border-box; }

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

html {
overflow-y: scroll; }

blockquote, q {
quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
content: '';
content: none; }

input, textarea {
margin: 0;
padding: 0; }

ol, ul {
list-style: none; }

table {
border-collapse: collapse;
border-spacing: 0; }

a:focus {
outline: none; }

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

.clearfix {
min-height: 1px; }

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

.both {
clear: both; }

.inline_block {
display: inline-block;
*display: inline;
*zoom: 1; }

/* flexbox */
.flexbox {
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
}

.jcsb {
justify-content: space-between;
}

.jcsa {
justify-content: space-around;
}

.aifs {
align-items:flex-start
}

.aic {
align-items: center;
}

.aife {
align-items: flex-end;
}

br.sp {
display: none;
}

.pc br.sp {
display: none;
}

br.sp {
display: none;
}

.swiper-button-prev, .swiper-button-next {
opacity: 0;
}


/* よく使うCSS start

img {
max-width:100%;
}

table {
width:100%;
}

a,a:hover {
-webkit-transition: 0.7s;
-moz-transition: 0.7s;
-o-transition: 0.7s;
transition: 0.7s;
}

a img:hover {
filter: alpha(opacity=75);
-moz-opacity:0.75;
opacity:0.75;
}

よく使うCSS end -----
時々使うCSS3 start ---

テキストシャドウ {
text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
-moz-box-shadow: inset 1px 1px 3px #000;
-webkit-box-shadow: inset 1px 1px 3px #000;
box-shadow: inset 1px 1px 3px #000;
}

角丸 {
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}

トランジション {
-webkit-transition: 1.5s;
-moz-transition: 1.5s;
-o-transition: 1.5s;
transition: 1.5s;
}

透明 {
filter: alpha(opacity=25);
-moz-opacity:0.25;
opacity:0.25;
}

背景のみ透明 {
background-color:rgba(255,255,255,0.2);
}

グラデーション {
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr = '#ffffff', endColorstr = '#000000')";
background-image: -moz-linear-gradient(top, #ffffff, #000000);
background-image: -ms-linear-gradient(top, #ffffff, #000000);
background-image: -o-linear-gradient(top, #ffffff, #000000);
background-image: -webkit-gradient(linear, center top, center bottom, from(#ffffff), to(#000000));
background-image: -webkit-linear-gradient(top, #ffffff, #000000);
background-image: linear-gradient(top, #ffffff, #000000);
}

スマホ対応
@media screen and (max-width: 480px){

}
@media screen and (max-width: 320px){

}

時々使うCSS3 end */

/* --------------------
common
-------------------- */

body {
font-family: 'AppleSystem', 'Noto Sans JP', 'Yu Gothic', 'HiraKakuProN-W3','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

/*font-family: 'Noto Serif JP', sans-serif;*/
font-size: 14px;
line-height: 1;
letter-spacing: 0.03em;
-webkit-text-size-adjust: 100%;
color: #333333;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-feature-settings : "palt";

background-color: #f6f2ec;

min-width: 1150px;
}

a {
text-decoration: none;
color: #333;
}

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

img {
vertical-align: top;
}

header {
position: relative;
height: 246px;
}

.logo {
width: 165px;
position: absolute;
left: 35px;
top: 40px;
}

.logo img {
width: 100%;
height: auto;
}

.slogan {
display: inline-block;
position: absolute;
left: 236px;
top: 56px;
line-height: 2;
font-size: 15px;
letter-spacing: 0.05em;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
color: #000;
}

.slogan span {
background-color: #fff;
padding: 0px 4px 1px;
}

.slogan br.sponly {
display:none;
}

.category_menu {
width: 100%;
display: flex;
flex-wrap: nowrap;
letter-spacing: -1em;
justify-content: center;
position: absolute;
left: 0;
top: 172px;
background-color: #f6f2ec;
}

.category_menu.fixed {
position: fixed;
top: 0;
z-index: 5;
box-shadow: 0px 0px 3px 3px rgba(0,0,0,0.1);
}

.category_menu li {
margin: 0 0.9em;
}

.category_menu li a {
font-family: 'Noto Serif JP', sans-serif;
font-size: 16px;
font-weight: 500;
display: inline-block;
padding: 20px 0.2em;
letter-spacing: 0.1em;
color: #000;
position: relative;
}

.category_menu li a:before {
content: "";
display: block;
width: 100%;
height: 1px;
background-color: #333;
position: absolute;
left: 0;
bottom: 12px;
transition: transform 0.15s ease;
transform: scaleX(0);
}

.category_menu li.current a:before,
.category_menu li a:hover:before {
transform: scaleX(1);
}

.category_menu li:first-child {
margin-left: 0;
}
.category_menu li:last-child {
margin-right: 0;
}

.guidance_menu {
position: absolute;
right: 180px;
top: 48px;
line-height: 2.05;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
font-size: 13px;
}

.icon_guidance_menu {
position: absolute;
right: 30px;
top: 48px;
text-align: right;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
font-size: 13px;
}

.icon_guidance_menu a {
display: inline-block;
padding: 4px;
}

.icon_guidance_menu a img {
vertical-align: text-bottom;
width: 18px;
display: inline-block;
margin-left: 8px;
}

.sidebar {
width: 295px;
float: left;
padding:59px 0 40px 45px;
}

@media screen and (max-width: 1300px){
.sidebar {
width: 280px;
}
}


.sidebar.home {
padding-top: 0;
}

.sidebar .module {
margin: 42px 0 0;
}

.sidebar .module:first-child {
margin-top: 30px;
}

.sidebar .module h3 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 17px;
font-weight: 700;
padding: 0 0 10px;
}

.sidebar .module #blog_txt {
font-size:12px;
padding:8px 10px 0;
line-height:1.55;
}

.sidebar img {
width: 100%;
height: auto;
}

.sidebar .bn img,
.sidebar .bn a {
display:block;
margin-top:10px;
}

.sidebar .bn img:first-child,
.sidebar .bn a:first-child {
margin-top:0;
}

.sidebar .hotword li {
margin-top: 9px;
}

.sidebar .hotword li a {
background-color: #fff;
font-family: 'Noto Serif JP', sans-serif;
font-size: 15px;
font-weight: 500;
display: block;
padding: 14px 18px;
position: relative;

}

.sidebar .hotword li a:after {
content: "→";
display: inline-block;
position: absolute;
right: 18px;
top: 14px;
font-size: 15px;
}

.sidebar .cal table {
width: 100%;
text-align: center;
background-color: #fff;
}

.sidebar .cal table caption {
padding: 8px 0;
background-color: #333;
color: #fff;
}

.sidebar .cal table th {
padding: 8px 0;
background-color: #cec6af;
}

.sidebar .cal table td {
padding: 6px 0;
}

.sidebar .cal .cal_memo {
font-size:12px;
line-height:1.5;
margin-top:1em;
}

.content_wrap {
width: calc(100% - 370px);
padding-right: 75px;
padding-bottom: 50px;
float: right;
}

@media screen and (max-width: 1300px) {
.content_wrap {
width: calc(100% - 340px);
padding-right: 55px;
}
}



.info_module {
background-color: #fff;
border:1px dotted #333;
border-radius: 5px;
width: 100%;
padding: 0 0 0 110px;
position: relative;
margin: 30px 0 0;
}

.info_module:before {
content: "おしらせ";
display: inline-block;
position: absolute;
left: 20px;
top: 19px;
font-size: 11px;
font-weight: bold;
}

.info_module ul {
padding: 20px 0 0;
}

.info_module ul li {
padding-bottom:16px;
}

.info_module ul li time {
font-size:12px;
display:inline-block;
width:7em;
}

.directory_menu_wrap {
width: 100%;
height: 100vh;
position: absolute;
left: 0;
top: 172px;
opacity: 0;
visibility: hidden;
transition: opacity 0.15s linear,visibility 0.15s linear;
z-index: 6;
}

.directory_menu_wrap.active {
opacity: 1;
visibility: visible;
}

.directory_menu_wrap.fixed {
position: fixed;
top: 0;
}

.directory_menu_wrap .closebtn {
position: absolute;
right: 30px;
top: 12px;
font-family: 'Noto Serif JP', sans-serif;
font-size: 14px;
font-weight: 600;
display: inline-block;
padding: 10px 0 10px 15px;
cursor: pointer;
z-index: 12;
}

.directory_menu_wrap .layer {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
background-color: rgba(0,0,0,0.7);
z-index: 10;
}

.directory_menu {
width: 100%;
display: flex;
flex-wrap: wrap;
background-color: #dbcbb3;
position: relative;
z-index: 11;
}

.directory_menu .title {
width: 100%;
font-family: 'Noto Serif JP', sans-serif;
font-size: 16px;
font-weight: 600;
padding: 21px 0 19px 30px;
} 

.directory_menu .directory1 {
width: 210px;
padding: 16px 0 10px;
background-color: rgba(255,255,255,0.45);
}

.directory_menu .directory2 {
width: calc(100% - 210px);
display: none;
flex-wrap: nowrap;
}

.directory_menu .directory2.current {
display: flex;
}

.directory_menu .directory2 h2 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 17px;
font-weight: 600;
letter-spacing: 0.05em;
}

.directory_menu .directory2 .menu {
width: 210px;
background-color: rgba(255,255,255,0.3);
padding: 16px 0 10px;
}

.directory_menu .directory2 .menu li {
/*border-bottom: 1px solid #f2ebe2;*/
}

.directory_menu .directory1 li a,
.directory_menu .directory2 .menu li a {
font-family: 'Noto Serif JP', sans-serif;
font-size: 15px;
font-weight: 600;
display: block;
padding: 14px 0px 14px 30px;
transition: 0.1s linear;
border-bottom: 1px solid #f2ebe2;
}

.directory_menu .directory1 li a:hover,
.directory_menu .directory2 .menu li a:hover {
background-color: rgba(255,255,255,0.5);
}

.directory_menu .directory1 li.current a {
background-color: rgba(255,255,255,0.8);
}

.directory_menu .directory2 .pickup {
width: calc(100% - 210px);
padding: 28px 40px 5px;
background-color: rgba(255,255,255,0.15);
}

.directory_menu .directory2 .pickup .set {
display: flex;
flex-wrap: wrap;
width: 100%;
margin: 28px 0 0;
}

.directory_menu .directory2 .pickup .set .card {
width: 31%;
margin: 0 3.5% 3% 0;
}

.directory_menu .directory2 .pickup .set .card:nth-child(3n) {
margin-right: 0;
}

.directory_menu .directory2 .pickup .set .card .title{
padding: 68% 5px 0;
font-weight: bold;
line-height: 1.5;
font-size: 12px;
}

.directory_menu .directory2 .pickup .set .card .img {
position: absolute;
left: 0;
top: 0;
}

.directory_menu .directory2 .pickup .set .card .tags li {
font-size: 10px;
}


footer {

}

footer .guidance {
display: flex;
flex-wrap: nowrap;
background-color: #fff;
padding: 8px;
}

footer .guidance section {
background-color: #f6f2ec;
margin: 8px;
text-align: center;
padding: 30px 15px 30px;
width: 23%;
position: relative;
}

footer .guidance section.contact {
width: auto;
max-width: 600px;
padding: 30px 25px 30px;
}

footer .guidance section.contact dl {
display: flex;
flex-wrap: wrap;
width: 100%;
text-align: left;
justify-content: space-between;
margin: 35px 0 0;
}

footer .guidance section.contact dt {
font-size: 11px;
line-height: 1.6; 
width: 48%;
padding: 0 0 20px;
}

footer .guidance section.contact dd {
width: 48%;
padding: 0 0 20px;
font-size: 13px;
}

footer .guidance section.contact dd a {
display: block;
border: 1px solid #000;
text-align: center;
padding: 12px 0 11px;
font-weight: bold;
}

footer .guidance section.contact dd a.tel {
display: block;
border: none;
text-align: left;
padding: 0;
font-weight: bold;
font-size: 23px;
margin: 0 0 8px;
}

footer .guidance section.contact h5 {
text-align: left;
font-weight: bold;
font-size: 11px;
margin-bottom: 20px;
position: relative;
}

footer .guidance section.contact h5:after {
content: "";
width: calc(100% - 6em);
height: 1px;
background-color: #fff;
position: absolute;
right: 0;
top: 0.5em;
}

footer .guidance section.contact h6 {
width: 170px;
float: left;
margin: 2px 0 0;
}

footer .guidance section.contact h6 img {
width: 100%;
height: auto;
}

footer .guidance section.contact p {
text-align: left;
padding: 0 0 0 200px; 
font-size: 11px;
line-height: 1.65;
}

footer .guidance section h4 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 18px;
font-weight: 700;
position: relative;
}

footer .guidance section h4 span {
display: block;
font-size: 14px;
font-weight: 700;
position: absolute;
left: 0;
top: 1.7em;
width: 100%;
}

footer .guidance section .icon {
padding: 30px 0 15px;
}

footer .guidance section p {
line-height: 1.7;
font-size: 14px;
}

footer .guidance section .more {
width: 100%;
display: block;
font-weight: bold;
font-size: 14px;
position: absolute;
left: 0;
bottom: 18px;
padding: 10px 0;
}

.footer_menu {
background-color: #fff;
text-align: center;
padding: 20px 0 35px;
}

.footer_menu li {
display: inline-block;
margin: 0 1em;
}

.photo_module {
width: 100%;
height: 550px;
position: relative;
}

.photo_module .photos {
background-image: url(https://kikuchimura.com/template/img/footer.jpg);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
width: 100%;
height: 100%;

}

.photo_module .message {
display: inline-block;
position: absolute;
left: 50%;
top: 50%;
transform: translate3d(-50%,-50%,0);
text-align: center;
}

.photo_module .message h3 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 22px;
font-weight: 700;
color: #fff;
}

.photo_module .message a {
display: inline-block;
position: relative;
padding: 15px 50px;
background-color: #fff;
border-radius: 100px;
margin: 30px 0 0;
font-family: 'Noto Serif JP', sans-serif;
font-size: 17px;
font-weight: 700;
}


/* card */

.card {
position: relative;
}

.card img {
width: 100%;
height: auto;
}

.card .title {

}

.card ul {
position: absolute;
right: 10px;
top: 10px;
text-align: right;
letter-spacing: -1em;
}

.card ul li {
display: inline-block;
background-color: #fff;
border-radius: 3px;
padding: 4px 7px;
font-size: 12px;
letter-spacing: 0.05em;
margin-left: 10px;
}

/* home topics */

.home_cards .container {
max-width: 650px;
position: relative;
margin-left: auto;
margin-right: auto;
}

.home_cards .swiper-container {
width: 100%;
height: 100%;
overflow: visible;
z-index: 1;
}

.home_cards {
width: 100%;
height: 500px;
overflow: hidden;
}



.home_cards .card {
width: 650px;
}

.home_cards .card .title {
color: #fff;
font-family: 'Noto Serif JP', sans-serif;
font-size: 18px;
width: calc(100% - 50px);
position: absolute;
left: 25px;
bottom: 0;
transform: translate3d(0,50%,0);
background-color: rgba(0,0,0,0.9);
line-height: 1.72;  
padding: 1em 1.3em;
border-radius: 5px;
opacity: 0;
transition: opacity 0.3s ease 0s;
}


.home_cards .card .title:before {
content: "";
display: block;
border-top: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #000;
border-left: 10px solid transparent;
position: absolute;
left: 50px;
top: -19px;
}

.home_cards .card .title:after {
content: "詳しくみる →";
display: inline-block;
position: absolute;
right: 20px;
bottom: 20px;
color: #fff;
font-size: 10px;
}





/* home reccomend */

.recommend_module {
margin-top: 60px;
}

.recommend_module .set_list {
width: 100%;
letter-spacing: -1em;
margin-bottom: 35px;
}


.recommend_module .set_list li:first-child {
margin-left: 0;
}

.recommend_module .set_list li {
display: inline-block;
margin-left: 10px;
font-size: 15px;
font-family: 'Noto Serif JP', sans-serif;
padding: 13px 28px 15px;
letter-spacing: 0.05em;
background-color: #000;
border-radius: 50px;
cursor: pointer;
position: relative;
transition: 0.15s linear;
color:#fff;
}

.recommend_module .set_list li:hover,
.recommend_module .set_list li.current {
background-color: #fff;
color: #000;
}

.recommend_module .set_list li.current:before {
content: "";
display: block;
border-top: 10px solid #fff;
border-right: 10px solid transparent;
border-bottom: 10px solid transparent;
border-left: 10px solid transparent; 
position: absolute;
left: 50%;
bottom: -19px;
transform: translate3d(-50%,0,0);
}

.recommend_module .set {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
display: none;
}

.recommend_module .set.current {
display: flex;
}

.recommend_module .set .card {

}

.recommend_module .set .card.size1 {
width: 48%;
margin-bottom: 60px;
}

.recommend_module .set .card.size1 .title {
color: #fff;
font-family: 'Noto Serif JP', sans-serif;
font-size: 14px;
width: calc(100% - 50px);
position: absolute;
left: 25px;
bottom: 0;
transform: translate3d(0,45%,0);
line-height: 1.55;
background-color: rgba(0,0,0,0.9);
padding: 0.6em 1em;
border-radius: 5px;
}

.recommend_module .set .card.size1 .title:before {
content: "";
display: block;
border-top: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #000;
border-left: 10px solid transparent;
position: absolute;
left: 50px;
top: -19px;
}

.recommend_module .set .card.size2 {
width: 32%;
margin-bottom: 28px;
}

.recommend_module .set .card.size2 .title{
padding: 69% 6px 0;
line-height: 1.6;
font-size: 13px;
}

.recommend_module .set .card.size2 .img {
position: absolute;
left: 0;
top: 0;
}

.recommend_module .set .card .tags li {
font-size: 11px;
}


/* new module */

.new_module {
margin: 50px 0 0;
position: relative;
}

.new_module h2 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 22px;
font-weight: 700;
}

.new_module .more {
display: inline-block;
padding: 5px 0 5px 10px;
position: absolute;
right: 0;
top: 10px;
font-family: 'Noto Serif JP', sans-serif;
font-size: 13px;
font-weight: 700;
}


/* item list */

.new_module .ltemlist {
margin: 30px 0 0;
}

.ltemlist {
width: 100%;
display: flex;
flex-wrap: wrap;
}

.ltemlist li {
width: 21.7%;
margin: 0 4.4% 34px 0;
}

.ltemlist li:nth-child(4n) {
margin-right: 0;
}

.ltemlist li .img {
display: block;
position: relative;
border: 2px solid #fff;
} 

.ltemlist li.soldout .img:before {
content: "Sold out";
display: inline-block;
position: absolute;
left: 50%;
top: 50%;
transform: translate3d(-50%,-50%,0);
color: #fff;
z-index: 5;
font-family: 'Noto Serif JP', sans-serif;
font-size: 16px;
font-weight: 600;
letter-spacing: 0.05em;
}

.ltemlist li.soldout .img:after {
content: "";
display: block;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.5);
position: absolute;
left: 0;
top: 0;
z-index: 4;
}

.ltemlist li .img img {
width: 100%;
height: auto;
}

.ltemlist li .status {
font-family: 'Noto Serif JP', sans-serif;
font-size: 13px;
font-weight: 700;
margin: 13px 0 0;
}

.ltemlist li h3 {
margin: 18px 0 0;
}

.ltemlist li h3 a {
font-size: 13px;
line-height: 1.5;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
}

.ltemlist li .price {
font-family: 'Noto Serif JP', sans-serif;
font-size: 16px;
font-weight: 500;
margin: 12px 0 0;
text-align: right;
}
.ltemlist li .price span {
font-size: 12px;
display: inline-block;
margin-left: 2px;
}


/* archive */

.content_wrap .archive {
padding: 28px 0 0;
position: relative;
}

.content_wrap .archive .ltemlist {
margin: 22px 0 0;
}

.content_wrap .archive h2 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 24px;
font-weight: 700;
line-height: 1.65;
}

.cart_wrap .breadcrumb,
.archive .breadcrumb {
font-family: 'Noto Serif JP', sans-serif;
font-size: 15px;
font-weight: 500;
position: absolute;
width: 260px;
left: -320px;
top: 64px;
}

.cart_wrap .breadcrumb a,
.archive .breadcrumb a {
display: inline-block;
padding: 4px 6px;
}

.cart_wrap .breadcrumb {
top: 2px;
}

.archive_list .sidebar {
padding-top: 104px;
}

.item_breadcrumb{
max-width: 1000px;
margin: 40px auto 0;
}
.item_breadcrumb a {
font-family: 'Noto Serif JP', sans-serif;
font-size: 15px;
font-weight: 500;
display: inline-block;
padding: 4px 6px;
margin-right:6px;
}

/* item */

.cart_wrap {
width: 100%;
display: flex;
flex-wrap: wrap;
padding: 40px 5% 40px;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
position: relative;
background-color: #fff;
max-width: 1000px;
margin: 25px auto 0;
}

.cart_wrap .title {
font-size: 23px;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
width: 100%;
line-height: 1.65;
}

.cart_wrap .img {
width: 40%;
margin-right: 6%;
padding: 40px 0 0;
}

.cart_wrap .img img {
width: 100%;
height: auto;
}

.cart_wrap .sub {
width: 100%;
margin: 20px 0 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
line-height: 2.1;
}

.cart_wrap .sub a {
border-bottom: 1px solid #555;
padding-bottom: 1px;
font-size: 12px;
}

.cart_wrap .info {
width: 54%;
padding: 20px 0 0;
}

.cart_wrap .info .data {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
}

.cart_wrap .info .data dt {
width: 20%;
padding: 20px 0 8px;
border-bottom: 1px dotted #aaa;
font-size: 12px;
}

.cart_wrap .info .data dd {
width: 80%;
padding: 20px 0 8px;
border-bottom: 1px dotted #aaa;
}

.cart_wrap .info .data dd span {
font-size: 22px;
display: inline-block;
margin-right: 5px;
}

.cart_wrap .info .choice {
margin: 15px 0 0;
}

.cart_wrap .info .choice dt {
font-size: 13px;
padding: 24px 0 10px;
}

.cart_wrap .info .choice dd h3 {
font-size: 18px;
color: #FF0000;
line-height: 1.5;
}

.cart_wrap .info .choice dd p {
line-height: 1.55;
margin: 0.5em 0 0;
}

.cart_wrap .info .choice dd p a {
border-bottom: 1px solid #555;
padding-bottom: 1px;
display: inline-block;
margin: 0.5em 0 0;
}

.cart_wrap .info select {
width: 100%;
font-size: 14px;
/*padding: 0.5em 1em;*/
height: 34px;
}

.cart_wrap .info input[type="submit"] {
width: 100%;
font-size: 18px;
padding: 1.1em 1em;
background-color: #333;
text-align: center;
color: #fff;
cursor: pointer;
margin: 30px 0 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 500;
border: none;
}

input,select {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
/*-webkit-appearance: none;
border: none;
border-radius: 0;
background-color: #fff;*/
max-width: 100%;
}

/* 5ive移行用CSS */

#responsive h1,#responsive h2,#responsive h3,#responsive h4,#responsive h5,#responsive h6,#responsive div,#responsive section,#responsive p,#responsive ol,#responsive ul,#responsive li,#responsive span,#responsive img,#responsive figure,#responsive figcaption,#responsive table,#responsive tr,#responsive th,#responsive td,#responsive thead,#responsive dl,#responsive dt,#responsive dd {
margin: 0;
padding: 0;
line-height: 1.2;
font-size: 16px;
list-style: none;
color: #333;
letter-spacing: 0.05em;
font-weight: normal;
}

#responsive {
width: 100%;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-feature-settings : "palt";
padding: 10px 30px 50px;
max-width:1000px;
margin:0 auto;
}

#responsive strong {
font-weight: bold;
}

#responsive a {
text-decoration: underline;
color: #333;
}

#responsive h2 {
font-size: 22px;
margin: 60px 0 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.6;

}

#responsive h2:first-child {
margin-top: 0;
}

#responsive > h3 {
font-size:21px;
margin: 26px auto 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.6;
padding: 0 20px;
max-width: 800px;
}

#responsive > p {
font-size: 15px;
line-height: 1.875;
margin: 2em auto 0;
letter-spacing: 0.07em;
padding: 0 20px;
max-width: 800px;
}

#responsive > p.right {
text-align:right;
}

#responsive > .img {
margin: 3.5em 0 0;
padding: 0 0 1.7em;
letter-spacing: -1em;
}

#responsive > .img + .img {
margin-top: 0;
}
#responsive > .img img,
#responsive > dl dd .img img {
width: 100%;
height: auto;
vertical-align: top;
}

#responsive > .img p {
font-size: 12px;
text-align: right;
margin: 1em 0 0;
color: #666;
letter-spacing: 0.05em;
}

#responsive > .img.type2 img,
#responsive > dl dd .img.type2 img {
width: calc(50% - 6px);
}

#responsive > .img.type2 img:first-child,
#responsive > dl dd .img.type2 img:first-child {
margin-right: 12px;
}


#responsive > dl {
padding: 0 0 1.2em;
}

#responsive > dl dt {
margin: 2.2em 0 0;
line-height: 1.6;
font-weight: bold;
font-size: 15px;
}

#responsive > dl dd {
font-size: 14px;
line-height: 1.65;
margin: 0.65em 0 0;
}

#responsive > dl dd .img {
margin: 0.95em 0 0;
}

#responsive > dl dd .img + .img {
margin-top: 0.3em;
}

#responsive > dl dd .img img {
width: 100%;
height: auto;
vertical-align: top;
}

#responsive > dl dd .img p {
font-size: 14px;
text-align: right;
margin: 1em 0 0;
color: #666;
}




#responsive .about_item {
display: flex;
flex-wrap: wrap;
width: 100%;
border-bottom: 1px dotted #777;
padding: 0 0 3.5em;
}

#responsive .about_item h3 {
width: 100%;
font-size:22px;
margin: 26px auto 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.6;
}

#responsive .about_item .img {
width: 40%;
margin-right: 5%;
padding: 25px 0 0;
}

#responsive .about_item .img img {
width: 100%;
height: auto;
}

#responsive .about_item .text {
width: 55%;
padding: 25px 0 0;
}

#responsive .about_item .text h4 {
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
line-height: 1.7;  
margin-bottom: 1.5em;
}

#responsive .about_item .text ul {
margin: 1.5em 0 0;
}

#responsive .about_item .text ul li {
line-height: 1.5;
padding: 0 0 0 1em;
position: relative;
margin: 0.4em 0 0;
}

#responsive .about_item .text ul li:before {
content: "・";
position: absolute;
left: 0;
top: 0;
}

#responsive .about_item .text p {
line-height: 1.6;  
margin: 1.5em 0 0;
font-size: 14px;
}



#responsive .num_list,
#responsive .unnum_list {
display: flex;
flex-wrap: wrap;
padding: 0 0 6px;
margin: 1.8em 0 0;
}

#responsive .num_list.type2 li,
#responsive .unnum_list.type2 li {
width: 48.5%;
margin: 5% 3% 0 0;
}

#responsive .num_list.type3 li,
#responsive .unnum_list.type3 li {
width: 31%;
margin: 4% 3.5% 0 0;
}

#responsive .num_list.type2 li:nth-child(2n),
#responsive .num_list.type3 li:nth-child(3n),
#responsive .unnum_list.type2 li:nth-child(2n),
#responsive .unnum_list.type3 li:nth-child(3n) {
margin-right: 0;
}

#responsive .num_list li:before {
content: "";
display: block;
font-size: 20px;
font-weight: bold;
margin: 0 0 10px; 
}

#responsive .num_list li .img img,
#responsive .unnum_list li .img img {
width: 100%;
height: auto;
}

#responsive .num_list li h3,
#responsive .unnum_list li h3 {
font-size: 16px;
margin: 0.85em 0 0;
line-height: 1.6;
font-weight: bold;
}

#responsive .num_list li p,
#responsive .unnum_list li p {
font-size: 14px;
line-height: 1.5;
margin: 0.6em 0 0;
}

#responsive .num_list li:nth-child(1):before {content: "1";}
#responsive .num_list li:nth-child(2):before {content: "2";}
#responsive .num_list li:nth-child(3):before {content: "3";}
#responsive .num_list li:nth-child(4):before {content: "4";}
#responsive .num_list li:nth-child(5):before {content: "5";}
#responsive .num_list li:nth-child(6):before {content: "6";}
#responsive .num_list li:nth-child(7):before {content: "7";}
#responsive .num_list li:nth-child(8):before {content: "8";}
#responsive .num_list li:nth-child(9):before {content: "9";}
#responsive .num_list li:nth-child(10):before {content: "10";}


#responsive .profile {
margin: 60px 0 0;
display: flex;
flex-flow: row-reverse wrap;
justify-content: space-between;
}

#responsive .profile .intro {
width: calc(100% - 200px);
}

#responsive .profile .intro h3 {
font-weight: bold;
line-height: 1.6;
font-size: 16px;
}

#responsive .profile .intro p {
font-size: 14px;
line-height: 1.6;
margin: 1em 0 0;
}

#responsive .profile .face_img {
width: 160px;
text-align: center;
padding-bottom: 6px;
}

#responsive .profile .face_img .face {
width: 160px;
height: 160px;
overflow: hidden;
border-radius: 300px;
}

#responsive .profile .face_img .face img {
width: 100%;
height: auto;
}

#responsive .profile .face_img figcaption {
margin: 10px 0 0;
line-height: 1.5;
font-size: 15px;
}


#responsive .gallery {
display: flex;
flex-wrap: wrap;
margin-top: calc(60px - 2.66%);
padding-bottom: 6px;
}

#responsive .gallery li {
width: 23%;
margin: 2.66% 2.66% 0 0;
}

#responsive .gallery li:nth-child(4n) {
margin-right: 0;
}

#responsive .gallery li img {
width: 100%;
height: auto; 
}

#responsive .item_data {
border: 1px solid #ddd;
width: 100%;
border-collapse: collapse;
margin: 60px 0 0;
background-color: #fff;
}

#responsive .item_data caption {
font-weight: bold;
text-align: left;
margin: 0 0 10px;
}

#responsive .item_data th {
background-color: #ddd;
border-bottom: 1px solid #bbb;
width: 14%;
padding: 10px;
font-size: 15px;
font-weight: normal;
text-align: left;
line-height: 1.5;
}

#responsive .item_data td {
padding: 10px;
border-bottom: 1px solid #ddd;
font-size: 15px;
font-weight: normal;
text-align: left;
line-height: 1.5;
}

#responsive .item_data tr:last-child th,
#responsive .item_data tr:last-child td {
border: none;
}

#responsive .pt_layout,
#responsive .tp_layout {
display: flex;
justify-content: space-between;
margin: 60px 0 0;
}

#responsive .pt_layout {
flex-flow: row wrap;
}

#responsive .tp_layout {
flex-flow: row-reverse wrap;
}

#responsive .pt_layout .img,
#responsive .tp_layout .img {
width: 38%;
padding: 0 0 6px;
}

#responsive .pt_layout .img img,
#responsive .tp_layout .img img {
width: 100%;
height: auto;  
}


#responsive .pt_layout .text,
#responsive .tp_layout .text {
width: 58%;
}

#responsive .pt_layout .text p,
#responsive .tp_layout .text p {
font-size: 15px;
line-height: 1.6;
}


#responsive .set_list {
border: 1px solid #ddd;
width: 100%;
border-collapse: collapse;
margin: 60px 0 0;
}

#responsive .set_list caption {
font-weight: bold;
text-align: left;
margin: 0 0 10px;
}

#responsive .set_list caption span {
display: block;
font-size: 12px;
margin: 0.7em 0 0;
}

#responsive thead th {
font-weight: bold;
text-align: left;
padding: 10px;
border-bottom: 1px solid #ddd;
}

#responsive tbody th {
font-weight: bold;
border-bottom: 1px solid #ddd;
text-align: left;
padding: 10px;
line-height: 1.5;
}

#responsive tbody td {
border-bottom: 1px solid #ddd;
text-align: left;
padding: 10px;
line-height: 1.5;
}

#responsive .note {
margin: 60px 0 0;
}

#responsive .set_list + .note {
margin: 30px 0 0;
}

#responsive .note h3 {
font-size: 18px;
color: #990000;
font-weight: bold;
}

#responsive .note ul {
color: #990000;
margin: 16px 0 0;
}

#responsive .note ul li {
color: #990000;
font-size: 15px;
line-height: 1.4;
margin: 6px 0 0;
}

#responsive .note p {
font-size: 15px;
line-height: 1.6;
margin: 16px 0 0;
}


#responsive .kakomi_note {
border: 1px solid #990000;
padding: 30px;
margin: 60px 0 0;
}

#responsive .kakomi_note h3 {
font-size: 18px;
color: #990000;
font-weight: bold;
}

#responsive .kakomi_note ul {
color: #990000;
margin: 28px 0 0;
}

#responsive .kakomi_note ul li {
color: #990000;
font-size: 15px;
line-height: 1.4;
margin: 6px 0 0;
}

#responsive .kakomi_note dl {
padding: 12px 0 0;
}

#responsive .kakomi_note dt {
color: #990000;
margin: 16px 0 0;
line-height: 1.6;
font-size: 15px;
}

#responsive .kakomi_note dd {
font-size: 14px;
line-height: 1.6;
margin: 0.5em 0 0;
}

#responsive .kakomi_note p {
font-size: 15px;
line-height: 1.6;
margin: 28px 0 0;
}

#responsive .kakomi {
border: 1px solid #ddd;
padding: 30px;
margin: 60px 0 0;
}

#responsive .kakomi p {
font-size: 16px;
line-height: 1.875;
margin: 22px 0 0;
}

#responsive .kakomi p:first-child {
margin: 0;
}

#responsive .kakomi ul {
margin: 28px 0 0;
}

#responsive .kakomi ul:first-child {
margin: 0 0 0;
}

#responsive .kakomi ul li {
font-size: 15px;
line-height: 1.4;
margin: 6px 0 0;
}

#responsive .kakomi dl {
padding: 12px 0 0;
}

#responsive .kakomi dl:first-child,
#responsive .kakomi dl:first-child dt:first-child {
padding: 0;
margin: 0.3em 0 0;
}

#responsive .kakomi dt {
margin: 16px 0 0;
line-height: 1.6;
font-size: 15px;
font-weight: bold;
}

#responsive .kakomi dd {
font-size: 14px;
line-height: 1.6;
margin: 0.5em 0 0;
}


#responsive .shipping {
border: 1px solid #FF0000;
padding: 30px 30px 26px;
margin: 60px 0 0;
}

#responsive .shipping h3 {
font-size: 20px;
color: #FF0000;
font-family: 'Noto Serif JP', sans-serif;
font-weight: 600;
}

#responsive .shipping p {
font-size: 15px;
line-height: 1.6;
margin: 16px 0 0;
}


#responsive .delivery {
border: 1px solid #990000;
padding: 30px 30px 26px;
margin: 60px 0 0;
}

#responsive .delivery h3 {
font-size: 18px;
color: #990000;
font-weight: bold;
}

#responsive .delivery h4 {
font-size: 22px;
color: #990000;
margin: 30px 0 0;
font-weight: bold;
line-height: 1.6;
}

#responsive .delivery .img {
margin: 28px 0 0;
}

#responsive .delivery .img img {
width: 100%;
height: auto;
}

#responsive .delivery p {
font-size: 15px;
line-height: 1.6;
margin: 16px 0 0;
}

#form2{
position:relative;
width:100%;	
height:50px;
}
#sbox2{
position: absolute;
left: 0;
top: 0;
outline: 0;
height: 50px;
padding: 0 10px;
border-radius: 0;
background: #fff;
width: 100%;
border: none;
}
#sbtn2{
height:50px;
position:absolute; 
right:0px;/*アイコン左右の位置調整*/
top:0;
background:none;
color:#666;
border:none;
width:50px;
display:block;
background-image:url(https://kikuchimura.com/template/img/icon_search.svg);
background-size:14px 15px;
background-position:center center;
background-repeat:no-repeat;
}
#sbtn2:hover{
opacity:0.6;
}

.page_wrap {
padding: 28px 0 0;
position: relative;
max-width:1000px;
margin:0 auto;
}

.page_wrap h2 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 24px;
font-weight: 700;
line-height: 1.65;
}

.page_wrap.oroshi iframe {
width:100%;
margin-top:22px;
}

.regulate_check {
width:100%;
height:100%;
/*background-color:rgba(0,0,0,0.95);*/
background-color:#f6f2ec;
position:fixed;
left:0;
top:0;
opacity: 0;
visibility: hidden;
z-index:100;
transition:0.1s ease;
}

.regulate_check.active {
opacity: 1;
visibility: visible;
}

.regulate_check .wrap {
max-width: 500px;
position: absolute;
left: 50%;
top: 50%;
transform: translate3d(-50%,-50%,0);
text-align: center;
}

.regulate_check .wrap h4 {
font-family: 'Noto Serif JP', sans-serif;
font-size: 24px;
font-weight: 700;
line-height:1.5;
}

.regulate_check .wrap h4 img {
display:block;
width:50%;
height:auto;
margin: 0 auto 15px;
}

.regulate_check .wrap p {
font-size: 18px;
margin: 30px 0 0;
font-family: 'Noto Serif JP', sans-serif;
font-weight:500;
}

.regulate_check .wrap .regulate_button {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
margin: 35px 0 0;
}

.regulate_check .wrap .regulate_button button {
width: 49%;
height: 48px;
text-align: center;
line-height: 44px;
border:none;
background-color: #fff;
color: #333;
font-family: 'Noto Serif JP', sans-serif;
font-weight:600;
font-size: 18px;
border-radius:50px;
}

.regulate_check .wrap .regulate_button button.yes {
background-color: #e67c01;
color:#fff;
}

.regulate_check .wrap .regulate_button button:hover {
background-color: #333!important;
color:#fff!important;
}

.column {
padding: 28px 0 0;
}

.column_title {
font-family: 'Noto Serif JP', sans-serif;
font-size: 24px;
font-weight: 700;
line-height: 1.65;
max-width: 1000px;
margin: 0 auto;
}

.column #responsive {
background-color: #fff;
padding: 30px 50px 50px;
margin-top: 22px;
}

.page_wrap.concept p {
margin: 2em auto 0;
padding: 0 45px;
max-width: 800px;
letter-spacing: 0.8em;
color: #343434;
}

.page_wrap.concept p + section {
padding-top: 32px;
}

.page_wrap.concept h3 {
text-align: center;
margin: 3.6em 0 0;
}

.page_wrap.concept #page_content .main_img:first-child {
padding-bottom: 28px;
}

.page_wrap.concept .imgset {
width: 100%;
display: flex;
flex-wrap: wrap;
margin: 0 auto;
}

.page_wrap.concept .img.row1,
.page_wrap.concept .imgset .img {
position: relative;
background-color: #ddd;
}

.page_wrap.concept .img img {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: auto;
}

.page_wrap.concept .img.row1,
.page_wrap.concept .imgset.row2,
.page_wrap.concept .imgset.row3,
.page_wrap.concept .imgset.row4 {
margin-top: 80px;
padding-bottom: 32px;
}

.page_wrap.concept .imgset.row4 .img {
width: 23%;
margin-left: 2.6%;
padding-top: 23%;
}

.page_wrap.concept .imgset.row4 .img:first-child {
margin-left: 0;
}

.page_wrap.concept .imgset.row3 .img {
width: 31.6%;
margin-left: 2.6%;
padding-top: 23.7%;
}

.page_wrap.concept .imgset.row3 .img:first-child {
margin-left: 0;
}

.page_wrap.concept .imgset.row3 .img:last-child {
display:none;}

.page_wrap.concept .imgset.row2 .img {
width: 48.7%;
margin-left: 2.6%;
padding-top: 31.4%;
}

.page_wrap.concept .imgset.row2 .img:first-child {
margin-left: 0;
}

.page_wrap.concept .img.row1 {
padding-top: 55.7%;
background-color: #ddd;  
}


.page_wrap.concept .img.row1 + section {
padding-top: 32px;
}


/* テストCSS */
/* 商品詳細 */
#responsive .item_data_v2 {
border: 1px solid #ddd;
width: 100%;
border-collapse: collapse;
margin: 0px 0 0;
background-color: #fff;
}

#responsive .item_data_v2 caption {
font-weight: bold;
text-align: left;
margin: 0 0 10px;
}

#responsive .item_data_v2 th {
background-color: #ddd;
border-bottom: 1px solid #ddd;
width: 25%;
padding: 10px;
font-size: 15px;
font-weight: normal;
text-align: left;
line-height: 1.5;
}

#responsive .item_data_v2 td {
padding: 10px;
border-bottom: 1px solid #ddd;
font-size: 15px;
font-weight: normal;
text-align: left;
line-height: 1.5;
}

#responsive .item_data_v2 tr:last-child th,
#responsive .item_data_v2 tr:last-child td {
border: none;
}


/* Youtube動画 */
.yt-movie {
position: relative;
padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
height: 0;
}

.yt-movie iframe {
position: absolute;
width: 100%;
height: 100%;
}

.youtube2 {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.youtube2 iframe {
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
}

/* プロフィール（イメージなし） */
#responsive .profile_noimg {
margin: 60px 0 0;
display: flex;
flex-flow: row-reverse wrap;
justify-content: space-between;
}

#responsive .profile_noimg .intro {
width: calc(100% - 0px);
}

#responsive .profile_noimg .intro h3 {
font-weight: bold;
line-height: 1.6;
font-size: 16px;
}

#responsive .profile_noimg .intro p {
font-size: 14px;
line-height: 1.6;
margin: 1em 0 0;
}


/* ↓20210626追加 */

#responsive > h4 {
font-size:16px;
margin: 32px auto 0;
font-family: 'AppleSystem', 'Noto Sans JP', 'Yu Gothic', 'HiraKakuProN-W3','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'MS UI Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.6;
padding: 0 20px;
max-width: 800px;
}