@charset "UTF-8";
/* CSS Document */

html{
	height:100%;
	overflow:auto;
}

body{
	width:100%;
	font-size:16px;
    line-height: 180%;
	font-family:"游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" ,Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto ,  "ヒラギノ角ゴ Pro" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;/*適宜変更*/
	font-feature-settings: "palt" 1;
    letter-spacing: 1px;
	font-weight:400;
	background: #fff;
    color: #4c4c4c;
    overflow: hidden;
	animation-name: fadein;
    animation-duration: 500ms;
    animation-timing-function: linear;
}
@keyframes fadein {
    0% {opacity:0;}
    100% {opacity:1;}
}
@media screen and (max-width:600px) {
	body{
		font-size: 14px;
	}
}
p,div,ol, ul,h1,h2,h3,h4,h5,h6{
	box-sizing:border-box;
	margin:0px;
	padding:0px;
}
:not(input){
	caret-color: rgba(0,0,0,1);
}
a {
    overflow: hidden;
    outline: none;
}
a:link,a:hover,a:visited{
	text-decoration:none;
	color: inherit;
}
a,a::before,a::after,button{
	transition: all ease 300ms;
}
li{
	list-style-type:none;
}
img{
	vertical-align: bottom;
	border-style:none;
	box-shadow: #000 0 0 0;
	height:auto;
	width:100%;
}
input[type="text"]:focus {
  outline: 0;
}
x:-moz-any-link, x:default {
	box-shadow: #000 0 0 0;
}
table,th,td{
border-collapse: collapse;
border: 0 ;
}
input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::-moz-placeholder{
    color: #ccc;
    font-weight: normal;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
textarea{
	resize: none;
}
rt,rp {
    font-size: 20%;
    line-height: 100%;
}

/*========================
	EC-cube css cancel
========================*/
main{
    position: relative;
}
body:not(#page_homepage) .ec-layoutRole__contents {
    margin-top: 80px;
    padding-top: 150px;
}
body:not(#page_homepage) header {
    border-bottom: 1px solid #e5e5e5;
}
.ec-layoutRole .ec-layoutRole__main{
/*    margin-bottom: 120px;*/
}
.ec-pageHeader h1 {
    color: #6b8ba1;
    border: none;
    text-align: center;
    font-size: clamp(1em,7vw,2em);
}
.ec-role,
.ec-cartRole,
.ec-contactRole,
#shopping-form{
    color: inherit;
    border-radius: 15px;
    background: #fff;
    line-height: inherit;
    padding-left: 0;
    padding-right: 0;
}
.cart_page .ec-role,
.ec-cartRole,
#shopping-form{
    padding: 20px;
    margin: 30px auto;
}
.ec-layoutRole{
	background: none;
}
.registration_page .ec-layoutRole__contents {
    background: #fff;
    padding: 20px;
    margin: 30px auto;
}
.ec-layoutRole .ec-layoutRole__contents{
	width: 100vw;
	max-width: none;
}
/*pagetop*/
.ec-blockTopBtn.pagetop{
	display: none !important;
}
/*cart*/
a.ec-inlineBtn--action{
    color:#fff;
}
.cart_page .ec-pageHeader h1{
}
.ec-progress .ec-progress__number,
.ec-progress .ec-progress__item:after{
    background: #503232;
}
.ec-progress .is-complete .ec-progress__number {
    background: #c8191e;
}
.ec-progress .is-complete .ec-progress__label {
    color: #c8191e;
}
.ec-cartRole .ec-cartRole__cart {
    background: #fff;
}
.ec-cartHeader .ec-cartHeader__label {
    background: #f1f1f1;
}
.ec-cartRole .ec-cartRole__cart {
    background: #fff;
	border: 1px solid #e5e5e5;
    border-bottom: none;
}
.ec-cartTable .ec-cartRow li {
    border-bottom: 1px solid #e5e5e5;
}

.ec-cartRow .ec-cartRow__subtotalColumn {
    padding-left: 1em;
    padding-right: 1em;
}
.ec-cartRow a {
    color: #503232;
}
.ec-alert-warning {
    background: #c8191e;
}
.ec-label,
.ec-required {
    margin: 0;
}
.ec-required {
    font-size: 1em;
    margin-bottom: 5px;
    display: inline-block;
    font-weight: bold;
    vertical-align: 0;
    margin-left: 4px;
}
.ec-required::before{
    content:"※";
}
.ec-contactRole .ec-borderedDefs{
    border: none;
}
.ec-contactRole .ec-borderedDefs dl{
    border: none;
    padding: 0;
}
.ec-contactRole .ec-borderedDefs dt {
    text-align: right;
    margin-right: 1.5em;
}
.ec-drawerRoleClose{
	display: none;
	opacity: 0;
	height: 0;
}
.ec-blockBtn--action {
    font-size: 1.2em;
    font-weight: normal;
    background: #4c4c4c;
    border-color: #4c4c4c;
}
.ec-blockBtn--cancel{
    font-weight: normal;
}
a.ec-blockBtn--cancel, a.ec-blockBtn--action {
    color: #fff;
}
.ec-orderDelivery, .ec-orderPayment, .ec-orderConfirm {
    margin-bottom: 30px;
}
.ec-orderRole__summary .ec-totalBox__taxRate{
    display: none !important;
}
.ec-imageGrid__content{
    padding: 10px 5px;
}
.ec-registerRole {
    padding: 60px 0;
}
.ec-addressRole .ec-addressRole__actions {
    display: none;
}

@media screen and (max-width:960px) {
.ec-role,
.ec-cartRole,
.ec-contactRole,
#shopping-form{
        width: 90%;
    }
}
@media screen and (max-width:630px) {
    body:not(#page_homepage) .ec-layoutRole__contents {
        padding-top: 20px;
    }
    .ec-sliderItemRole{
        margin-bottom: 0;
    }
}
/*===========================
　　web-font
===========================*/
.futuraB{
	font-family: futura-pt, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.futuraM{
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
}

/*===========================
　　header
===========================*/
header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 25px 35px;
    z-index: 500;
    width: 100%;
    color: #4c4c4c;
    position: fixed;
    top: 0;
    left: 0;
    transition: all ease 500ms;
}
.h_ttl_wrap {
    transition: all ease 500ms;
}
#page_homepage .h_ttl_wrap{
    transform: translateY(-60px);
}
header.scrollnow{
	background: rgba(255,255,255,0.85);
}
#page_homepage .scrollnow .h_ttl_wrap{
    transform: translateY(0);
}
.h_ttl_inner {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    overflow: unset;
}
.h_ttl {
    letter-spacing: 4px;
    margin-right: 0.8em;
    line-height: 100%;
}
.h_subttl {
    font-size: 0.85em;
    line-height: 100%;
    padding-bottom: 5px;
    letter-spacing: 2px;
}
.h_icon_wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
}
.h_icon {
    margin: 0 10px;
}
.h_icon_img{
	width: 30px;
}
.h_icon.open_btn {
    display: flex;
    justify-content: center;
    align-content: space-between;
    flex-wrap: wrap;
    width: 30px;
    height: 20px;
	cursor: pointer;
    margin-left: 20px;
}
.h_icon.open_btn span {
    display: block;
    width: 100%;
    height: 1px;
    background: #4c4c4c;
}
@media screen and (max-width:680px) {
header {
    padding: 15px 3%;
}
.h_ttl_inner {
    display: block;
}
.h_ttl {
    margin-right: 0;
    margin-bottom: 5px;
    letter-spacing: 3px;
}
.h_icon,
.h_icon.open_btn {
    margin:0 5px;
}
}
/*===========================
　　globalmenu
===========================*/
.g_menu_wrap{
    position: fixed;
    right: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transition: all ease 300ms;
    opacity: 0;
    z-index: -1;
}
.g_menu_wrap.open{
	opacity: 1;
    z-index: 1000;	
}
.g_menu {
    background: #4c4c4c;
    color: #fff;
    width: 100%;
    max-width: 500px;
    height: 100%;
    padding: 0 7%;
    padding-top: clamp(4em,15vh,300px);
	position: absolute;
	right: 0;
	z-index: 2;
}
.g_menu_inner {
    width: 100%;
}
.h_menu_btn {
    letter-spacing: 1.5px;
}
hr ~ .h_menu_btn {
    font-size: 0.875em;
}
.h_menu_btn a {
	display: block;
    line-height: 100%;
	padding: 1em 0;
	position: relative;
	transition: all ease 300ms;
}
.h_menu_btn a:before{
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
	border: 2px solid #fff;
	border-left: none;
	border-bottom: none;
    margin-right: 1em;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transition: all ease 300ms;
	opacity: 0;
}
.h_menu_btn a:hover{
	padding-left: 1em;
}
.h_menu_btn a:hover:before {
	opacity: 1;
}
.close_btn {
    position: fixed;
    right: 0.5em;
    top: 1.5em;
    font-size: 0.875em;
	padding: 0.5em 2em;
	border-radius: 2em;
	cursor: pointer;
	transition: all ease 300ms;
}
.close_btn:hover{
	background-color: #888;
}
.close_area{
	background: rgba(255,255,255,0);
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	z-index: 1;	
}
/*===========================
　　footer
===========================*/
footer {
    padding: 100px 0;
	background: url("../img/bg_footer.jpg") no-repeat center left / 55% auto;
}
.footer_inner {
    width: 90%;
    max-width: 900px;
    margin: 0 auto;
}
.footer_flex {
    margin-top: 100px;
    display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    padding-bottom: 30px;
    border-bottom: 1px solid #4c4c4c;
}
.f_ttl {
    font-size: 4em;
    letter-spacing: 5px;
}
.f_subttl {
    text-align: center;
    letter-spacing: 3px;
    margin-bottom: 10px;
}
.f_ttl_wrap,
.f_menu_wrap {
    margin-bottom: 40px;
}
.f_menu_wrap {
    width: 47%;
}
.f_menu {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.5em;
}
.f_submenu {
    margin: 1em 0 60px;
    font-size: 0.8em;
    display: flex;
    justify-content: flex-end;
}
.f_submenu .f_menu_btn {
    margin-left: 1em;
}
.copyright{
	display: block;
	text-align: center;
}
@media screen and (max-width:780px) {
footer {
    padding: 60px 0;
}
.footer_flex {
    justify-content: center;
}
.f_menu_wrap{
	width: 100%;
	max-width: 400px;
}
.f_ttl{
    text-align: center;
}
}
/*===========================
　　link_btn
===========================*/
.link_btn {
    display: block;
    position: relative;
    color: #4c4c4c;
    text-align: center;
    border: 1px solid #4c4c4c;
    line-height: 100%;
    padding: 18px 5px;
    width: 90%;
    max-width: 420px;
}
.link_btn:hover{
	color: #fff;
    background-color: #4c4c4c;
}
.link_btn.center {
    margin-left: auto;
    margin-right: auto;
}
/*===========================
　　toppage
===========================*/
.sec_fv {
    width: 100%;
    height: 100vh;
    background: url("../img/fv.jpg") no-repeat center / cover;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fv_ttl_wrap .fv_ttl {
    font-size: 5em;
    letter-spacing: 7px;
    text-align: center;
}
.fv_ttl_wrap .fv_subttl {
    letter-spacing: 4px;
    line-height: 120%;
    margin-bottom: 10px;
    font-size: 1.15em;
	color: #4c4c4c;
    text-align: center;	
}
/*===========================
　　section
===========================*/
.sec_inner{
    width: 90%;
    max-width: 900px;
    margin-left:auto;
    margin-right: auto;
}
.sec_con {
    padding: 100px 0;
}
.sec_con_ttl_wrap {
    margin-bottom: 30px;
}
.sec_con_ttl {
    color: #6b8ba1;
    font-size: 2em;
    text-align: center;
}
.sec_con_ttl_wrap::after,
.sec_con_ttl_wrap.topback::before {
    content: "";
    display: block;
    border-left: 1px dashed;
    height: 2em;
    width: 1px;
    margin: 1em auto;
}
.sec_con_ttl_wrap.topback::after {
	display: none;
}
/*===========================
　　about_wrap
===========================*/
.sec_con_about_wrap .sec_con_txt_wrap {
    width: 90%;
    max-width: 600px;
    margin: 0 auto 40px;
    word-break: break-all;
}
.sec_con_about_wrap .subttl {
    text-align: center;
    font-size: 1.4em;
    line-height: 180%;
    margin-bottom: 30px;
}

.about_icon_wrap {
    display: flex;
    justify-content: center;
	flex-wrap: wrap;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.about_icon {
    border: 1px solid rgba(44,89,121,0.4);
    display: block;
    border-radius: 50%;
    width: 20%;
    max-width: 180px;
    margin-left: -7px;
    margin-right: -7px;
}
/*===========================
　　product_list
===========================*/
.product_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width:100%;
    max-width: 960px;
    margin: 0 auto;
}
.product_item {
    width: calc(50% - 60px);
    margin: 0 30px 60px;
}
.product_img {
    margin-bottom: 10px;
}
@media screen and (max-width:630px) {
    .product_item {
        width: 90%;
        margin: 0 auto 40px;
    }
}
/*===========================
　　product_detail
===========================*/
.detail_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.detail_img {
    width: 55.5%;
}
.oshina_detail_sec {
    width: 37%;
}
.ec-sliderItemRole {
    padding: 0;
}
.oshina_detail_ttl {
    font-size: 1.85em;
    line-height: 150%;
    margin-bottom: 20px;
}
.ec-productRole__price {
    margin-bottom: 20px;
}
.ec-price .ec-price__price {
    font-size: 1.5em;
    line-height: 120%;
    font-weight: normal;
    padding: 0;
}
.ec-price .ec-price__tax {
    font-size: 0.8em;
}
.ec-productRole__btn {
    margin-bottom: 15px;
}
.detail_deli_type {
    margin-bottom: 20px;
}
.detail_list {
    margin-top: 40px;
}
.oshina_detail_left_ttl {
    border-bottom: 1px solid #e5e5e5;
    padding-bottom: 5px;
    margin-bottom: 10px;
}
.detail_hosoku {
    margin-bottom: 15px;
}
.ec-productRole__description {
    word-break: break-all;
}
.oshina_detail_txt {
    margin-bottom: 100px;
}
@media screen and (max-width:900px) {
    .detail_flex {
        justify-content: center;
    }
    .detail_img,.oshina_detail_sec{
        width: 100%;
    }
    .detail_img{
        max-width: 500px;
    }
}
/*===========================
　　bg-color
===========================*/
.bg_clearblue{
	background: #f5fbfc;
}
@media screen and (max-width:680px) {
.about_icon {
    width: 33%;
}
}
@media screen and (min-width:631px) {
.sp {display: none !important;}
}
@media screen and (max-width:630px) {
.pc {display: none !important;}
}