/*
Theme Name: CUBIC
Description: CUBIC Template
Author: 管理人
*/



body{
    font-size: 14px;
}
.in,
.inmin,
.inw,
.site-content,
.two-column{
    width: 95%;
}
.pc{
    display: none;
}



/*----------------------------------------------*/
/*ヘッダー-----------------------*/
header{
	background-color:#fff;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
#header{
    padding: 15px 0;
}
#header .in{
    -webkit-justify-content: space-between;
    justify-content: space-between;
	
	 -webkit-align-items: center;
    align-items: center;
}
.hed_nav,
.hed_navsab > ul{
	 -webkit-align-items: center;
    align-items: center;
	gap:10px;
}

/*ナビ*/
.hed_navmain{
    position: fixed;
    padding-top: 60px;
    height: 100vh;
    width: 100%;
    background-color: #fff;
    top: 0;
    left: 0;
    overflow-x: auto;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
}
.hed_navmain.active{
    visibility:visible;
    opacity:1;
}
.hed_navmain li a{
    display: block;
}
.hed_navmain li + li,
.hed_navmain .sub-menu li{
    border-top: 1px solid #ccc;
}
.hed_navmain .sub-menu {
    transition: all 0.3s;
}
.hed_navmain .sub-menu,
.hed_navmain .sub-menu li{
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
    height: 0;
    overflow: hidden;
}
.hed_navmain .active > .sub-menu,
.hed_navmain .active > .sub-menu li{
    height: auto;
    transition: all .3s;
}
.hed_navmain .sub-menu li{
    background-color: rgb(183 211 242 / 36%);
    mix-blend-mode: multiply;
    color: #4b7eb7;
    font-size: 0.95em;
}
.hed_navmain .sub-menu li a{
    padding: 0.8em 2em;
}
.hed_navmain .sub-menu .sub-menu{
    
}
.hed_navmain .sub-menu .sub-menu li{
    padding-left: 2em;
    border-top: 1px solid #ccc;
}

/*ハンバーガーボタン*/

.navbotn{
    text-align: center;
    font-size: 11px;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    right: 0;
    min-width: 40px;
    position: relative;
    z-index: 5;
}
.navbotn p{
	margin-top:0.5em;
	letter-spacing: 0;
}
.navbotn .hamburger{
    position: relative;
    width: 25px;
    height: 19px;
    display: block;
    margin: 0 auto;
    z-index: 2;
    pointer-events: none;
    cursor: pointer;
}
.navbotn .hamburger span{
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 2px;
    background-color: #000;
    margin: auto;
    transition: 0.5s;
    left: 0;
}
.navbotn .hamburger span:nth-child(1){
    top: 0;
}
.navbotn .hamburger span:nth-child(2){
    top: 0;
    bottom: 0;
}
.navbotn .hamburger span:nth-child(3){
    bottom: 0;
}
.navbotn.active .hamburger span:nth-child(1){
    transform:rotate(45deg);
    top: 8px;
}
.navbotn.active .hamburger span:nth-child(2){
    opacity: 0;
    left: 50%;
}
.navbotn.active .hamburger span:nth-child(3){
    transform:rotate(-45deg);
    bottom: 9px;
}

/*パンくず*/
#breadcrumb{
    overflow-x: scroll;
    word-break: keep-all;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
}
#breadcrumb ul{
    flex-wrap: nowrap;
}



/*----フッター------------------------------*/
#foot_widget{
	position:relative;
}
#foot_widget .menu > li{
	padding:1.2em 0;
	position:relative;
}
#foot_widget .menu > li > a{
	position: relative;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
#foot_widget .menu > li > a::after{
	content: "";
    width: 1em;
    height: 1em;
    display: inline-block;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    background-color: currentColor;
    line-height: 1;
	-webkit-mask-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M334.5%20414c8.8%203.8%2019%202%2026-4.6l144-136c4.8-4.5%207.5-10.8%207.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6s-14.5%2012.5-14.5%2022l0%2072L32%20192c-17.7%200-32%2014.3-32%2032l0%2064c0%2017.7%2014.3%2032%2032%2032l288%200%200%2072c0%209.6%205.7%2018.2%2014.5%2022z%22%2F%3E%3C%2Fsvg%3E);
}
#foot_widget .menu > li:has(.sub-menu) a::after{
	display:none;
} 
#foot_widget .menu > li::before,
#foot_widget::before{
	background: radial-gradient(circle farthest-side, #7b7b7b, #7b7b7b 22%, transparent 22%, transparent);
    background-size: 8px 10px;
    content: "";
    height: 8px;
    left: 0;
    position: absolute;
    width: 100%;
}
#foot_widget .menu > li::before{
	top: -5px;
}
#foot_widget::before{
	bottom:-5px;
}
/*フッター営業日カレンダー*/
.foot_widgetbox .calendar-widget{
	margin-top:40px;
}
/*----見出し------------------------------*/
h2{
    
}
h3{
    font-size: calc(1.25rem + ((1vw - 3.75px) * 0.9259));
}
h4{
    font-size: calc(0.9375rem + ((1vw - 3.75px) * 0.463));
}
h5{
    font-size: calc(0.875rem + ((1vw - 3.75px) * 0.463));
}
h6{

}

/*----ホーム------------------------------*/
.home_content{
    margin-top: 60px;
}
/*ホーム見出し*/
.home_taitl h3{
    font-size: calc(2.5rem + ((1vw - 3.75px) * 3.0864));
}

/*ボタン*/
.link_button .link_text{
	font-size: calc(1.125rem + ((1vw - 3.75px) * 0.9259));
	font-weight:500;
	width:100%;
}
/*ホームメインビジュアル*/
.mv_imgbox ul li:nth-child(1) .slideurl_text h3{
    font-size: calc(2.1875rem + ((1vw - 3.75px) * 2.9321));
}
.mv_imgbox ul li:nth-child(1) .slideurl_content{
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
}
.mv_imgbox ul li:nth-child(1) .slide_img{
    position: inherit;
    width: 100%;
    height: 34vw;
    border-radius: 15px;
    overflow: hidden;
}
.mv_imgbox ul li:nth-child(1) .slideurl_text{
    height: auto;
    color: #000;
}
.home01 .mvb{
	padding: 15px 0;
	position:relative;
}
.home01 .mv_text{
	min-height: inherit;
    right: 28px;
    top: 0;
	bottom:0;
    transform: translate(0);
    width: auto;
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.home01 .link_button .link_text{
    width: auto;
}
.home01_buttonbox{
	padding-top:30px;
}
.home01_buttonbox ul a{
	padding: 15px 20px;
}
.home01_buttonbox ul a h2{
	margin-bottom:0;
    font-size: calc(1.125rem + ((1vw - 3.75px) * 0.9259));
}


.mv_imgbox .slideurl_text p{
    font-size: calc(0.75rem + ((1vw - 3.75px) * 0.3086));
}


.mv_imgbox .splide__track{
	padding-left: 30px !important;
	padding-right: 30% !important;
}
.mv_imgbox .slideurl_text{
    height: 650px;
}
.mv_imgbox .splide__list li{
	
}
.home01{
	background-color:#fff;
    padding-bottom: 50px;
}

/*ホームお知らせ一覧*/

.home_newslist{
	margin-top: 50px;
	position:relative;
}
.home_newslist .splide__arrows{
	position: absolute;
	top: -100px;
	right: 0;
}
.home_newslist .splide__arrows button{
	width: 2.5em;
	height: 2.5em;
	background-color: #93bcd9;
	text-align: center;
	color: #fff;
	border-radius: 50%;
	font-size: 20px;
	line-height: 1;
}
.home_newslist .news_listtitle{
	font-size: 18px;
}
/*------------------------*/
.home02_list{
	margin-top:30px;
}
.home02_list > ul{
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 10px;
}
.home02_list > ul > li{
	display: grid;
	grid-row: span 1;
	grid-template-rows: subgrid;
	row-gap: 12px;
}
.home02_list a{
	padding: 30px 5%;
}
.home02_listtextbox{
	margin-top:15px;
}

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

.home04_list{
	margin-top:30px;
}
.home04_list ul a{
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
	flex-wrap:wrap;
	gap:10px;
}
.home04_list .home04img,
.home04_list h4,
.home04_list .home04_listtext,
.home04_list .list_tags{
	width:100%;
}
.list_time{
	font-size:12px;
}
.list_time > div {
	padding: 0 0.5em;
}


/*下層ページ---------------------------*/

/*下層ページヘッダー*/


/*お知らせ、実績詳細*/

.content_nav ul{
	display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    grid-gap: 1rem 50px;
}
.content_nav ul a{
	flex-wrap:wrap;
	gap: 20px 2%;
	overflow: hidden;
}
.content_navtaitl{
	width:70%;
}
.content_navimg{
	width:25%;
}
.content_nav_arrow{
	width: calc(100% + 30px);
	margin: 0 -15px -15px;
	padding: 10px 15px;
	background-color: #fff;
}
.content_nav_arrow i{
	font-size:12px;
}
.navright .content_nav_arrow{
	text-align:right;
}
/*--商品----------------------*/
/*--商品一覧----------*/


.cathed_img li div{
    height: auto;
    padding-top: 30%;
}

/*検索フォーム*/
.hed_searchfom_back,
.hed_searchfom{
    transition: 0.5s;
    opacity: 0;
    visibility: hidden;
}
.hed_searchfom_back.active,
.hed_searchfom.active{
    opacity: 1;
    visibility: visible;
}
.hed_searchfom{
    position: fixed;
    z-index: 4;
    top: 100px;
    left: 0;
    right: 0;
    margin: auto;
    width: 90%;
    max-height: calc(100vh - 15% - 100px);
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    padding-top: 60px;
    overflow-y: auto;
}
.hed_searchfom_back{
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 4;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.hed_searchfom form{
    width: 100%;
}
.hed_searchfom form table,
.hed_searchfom form tbody,
.hed_searchfom form tr,
.hed_searchfom form th,
.hed_searchfom form td{
    display: block;
}
.hed_searchfom form tr + tr{
    padding-top: 1em;
    margin-top: 1em;
}
.hed_searchfom form table th{
    font-weight: 600;
    margin-bottom: 0.5em;
    font-size: 1.1em;
}
.form_submit{
    margin-top: 20px;
    text-align: center;
}
.form_submit button{
    padding: 0.5em 2em;
    background-color: #96beea;
    color: #fff;
    border-radius: 7px;
}
.searc_close{
    position: absolute;
    color: #acb1df;
    z-index: 1;
    font-size: 2em;
    right: 3px;
    top: 0px;
    cursor: pointer;
}


.search_button{
    display: inline-block;
    cursor: pointer;
    border-radius: 10px;
    background: linear-gradient(135deg, #febe7b 1%, #fbbbba 17%, #e394aa 34%, #c99ed0 50%, #acb1df 65%, #96beea 82%, #8ddea3 100%);
    color: #fff;
    padding: 0.2em 2em 0.2em 1em;
}

/*--商品詳細----------*/
.form_opt_wrap:has(>.side_by_side) {
    grid-template-columns: 1fr;
    gap: 1em;
}
.form_eyecatch {
    grid-template-columns: 1fr;
    place-items: center;
}
.form_eyecatch > img {
    padding-bottom: 1em;
}
.field_price{
    position: initial;
    -webkit-order: -1;
    order: -1;
    text-align: right;
}
.detail-box{
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}

/*自分でデザインする-----------------------*/
.mitumori_table .mitumori_tbody{
	-webkit-flex-direction: column;
    flex-direction: column;
}
.mitumori_table .mitumori_tbody dl + dl{
	border-top: 1px solid #93bcd9;
}
.mitumori_table .mitumori_tbody dt{
	background-color:#fff;
}
.mitumori_table .mitumori_tbody dt,
.mitumori_table .mitumori_tbody dd{
	padding:10px;
}

/*ご利用ガイド--------------*/


/*よくある質問-------*/

.faq_box ul li .question{
    font-size: calc(0.9375rem + ((1vw - 3.75px) * 0.463));
}
.faq_box .answer{
    margin-left: 0;
    padding: 20px calc(0.625rem + ((1vw - 3.75px) * 1.5432));
    width: calc(100% + 1em);
    margin-right: -1em;
}

/*データ作成用テンプレート-------*/
.download_box table,
.download_box table tbody,
.download_box table tbody th,
.download_box table tbody td,
.download_box table tbody td::before,
.download_box table tbody td.template_data a::before{
    display: block;
}
.download_box table tbody tr{
    display: grid;
    display: -webkit-grid;
}
.download_box table tbody tr + tr{
    margin-top: 20px;
}
.download_box table tbody td{
    text-align: center;
    padding: 10px;
    border: 1px solid #ccc;
    background-color: #fff;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
}
.download_box table tbody td::before{
    margin: -10px -10px 10px;
    padding: 10px;
    border-bottom: 1px solid #ccc;
    background-color: #92bcd9;
}
.download_box table tbody td.template_name::before{
    content: '商品名';
}
.download_box table tbody td.template_size::before{
    content: '仕上がりサイズ';
}
.download_box table tbody td.template_data a{
    display: grid;
    max-width: 220px;
    margin: auto;
    padding: 10px;
    background-color: #febe7b;
    color: #fff;
    border-radius: 10px;
    border: 3px solid #f0f0f0;
}
.download_box a i{
    -webkit-order: -1;
    order: -1;
}

.download_box table tbody td.template_size{
    border-left: none;
}
.download_box table tbody td.template_data a::before{
    content: 'ダウンロード';
    grid-column-start: 2;
    grid-row-start: 1;
}
.download_box a i{
    grid-row: span 2 / span 2;
    grid-column-start: 1;
    grid-row-start: 1;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}
.download_box a p{
    grid-column-start: 2;
}
.download_box table tbody td.template_data{
    grid-column: span 2 / span 2;
    /*grid-row-start: 2;*/
    margin-top: -1px;
}

/*ウェルカート---------------------*/

/*マイページ*/
#memberpages #memberinfo ul{
    padding: 0;
    border: 1px solid #e6e6e6;
    margin: 20px;
    max-width: 255px;
}
#memberpages #memberinfo li + li{
    border-top: 2px solid #e6e6e6;
}
.member_submenu li a{
    padding: 7px 12px;
    display: block;
    background-color: #fff;
    font-weight: 600;
    text-decoration: none;
}



/*カートページ、購入履歴*/
.cart_navi ul li {
    font-size: calc(0.5625rem + ((1vw - 3.75px) * 0.7716));
}

#newmember table,
#newmember tbody,
#newmember table tr,
#newmember table th,
#newmember table td,
#memberedit table,
#memberedit tbody,
#memberedit table tr,
#memberedit table th,
#memberedit table td {
    display: block;
}
#content #newmember th,
#content #memberedit table th{
    width: 100%;
    padding-bottom: 0;
}

#cart .upbutton{
    padding: 10px;
    position: sticky;
    top: 76px;
    background-color: #fff;
    z-index: 2;
    border-bottom: 1px solid #999999;
}
#cart thead,
#memberinfo table.retail thead{
    display: none;
}
#cart tbody,
#cart tr,
#content #cart th,
#content #cart td,
#memberinfo thead
#memberinfo table.retail tbody,
#memberinfo table.retail tbody tr,
#memberinfo table.retail tbody th,
#memberinfo table.retail tbody td,
#memberinfo #history_head tbody,
#memberinfo #history_head tbody tr,
#memberinfo #history_head tbody td{
    display: block;
    border: none;
    width: auto;
}

#cart tbody tr + tr,
#memberinfo table.retail tbody tr + tr{
    border-top: 1px solid #ccc;
}
#cart tbody tr {
    display: grid;
    gap: 15px;
}
#cart tbody tr,
#memberinfo table.retail tbody tr{
    padding: 15px;
    background-color: #fff;
}
#content #cart td{
    padding: 0;
}
#content #cart td.num,
#content #cart tfoot th.num,
#content #cart tfoot th.thumbnail,
#content #cart tfoot th.stock,
#content #cart tfoot th.action,
#memberinfo table.retail tbody td.cartrownum,
#memberinfo #history_head thead tr.order_head_label
{
    display: none;
}
#content #cart td.thumbnail{
    grid-column: span 2 / span 2;
    grid-row: span 4 / span 4;
}
#content #cart td.productname{
    grid-column: span 5 / span 5;
    grid-column-start: 1;
    grid-row-start: 5;
}
#content #cart td.quantity{
    grid-column: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 3;
    text-align: right;
}
#content #cart td.subtotal{
    grid-column: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 4;
}
#content #cart td.unitprice{
    grid-column: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 1;
}
#content #cart td.stock{
    grid-column: span 3 / span 3;
    grid-column-start: 3;
    grid-row-start: 2;
    text-align: right;
}
#content #cart td.action{
    grid-column: span 5 / span 5;
    grid-row-start: 6;
    text-align: right;
}
#content #wc_cart input[type="text"]{
    width: 4em;
}
#content #cart td::before{
    display: inline-block;
    font-size: 0.9em;
    margin-right: 1em;
    color: #668fbb;
    vertical-align: bottom;
}
#memberinfo #history_head tbody td.order_number::before{
    content: "注文番号"; 
}
#memberinfo #history_head tbody td.purchase_date::before{
    content: "購入日"; 
}
#memberinfo #history_head tbody td.purchase_statement::before{
    content: "入金状況"; 
}
#memberinfo #history_head tbody td.purchase_price::before{
    content: "購入金額"; 
}
#memberinfo #history_head tbody td.discount::before{
    content: "値引き"; 
}
#memberinfo #history_head tbody td.shipping::before{
    content: "送料"; 
}
#memberinfo #history_head tbody td.tax::before{
    content: "内消費税"; 
}
#content #cart td.unitprice::before,
#memberinfo table.retail tbody td.price::before{
    content: "単価";
}
#content #cart td.subtotal::before,
#memberinfo table.retail tbody td.subtotal::before{
    content: "金額";
}
#content #cart td.quantity::before,
#memberinfo table.retail tbody td.quantity::before{
    content: "数量";
}
#content #cart td.stock::before{
    content: "在庫状況";
}
#content #wc_cart img, 
#content #wc_confirm img{
    max-width: 100%;
    width: 100%;
    height: auto;
}

#content #cart tfoot tr{
    border-top: 1px solid #999999;
    padding: 15px;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
    gap: 1em;
}
#content #cart tfoot th{
    background-color: #fff;
    padding: 0;
}
#content #cart tfoot th.amount{
    font-size: 1.3em;
    color: #ff0000;
    font-weight: 600;
}
#memberinfo table.retail tbody td.price,
#memberinfo table.retail tbody td.quantity,
#memberinfo table.retail tbody td.subtotal{
    border: 1px solid #ccc;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    max-width: 400px;
}

#memberinfo table.retail tbody td.quantity,
#memberinfo table.retail tbody td.subtotal{
    margin-top: -1px;
}
#memberinfo table.retail tbody td.price::before,
#memberinfo table.retail tbody td.quantity::before,
#memberinfo table.retail tbody td.subtotal::before{
    display: block;
    margin: -5px -10px;
    padding: 5px 10px;
    width: 8em;
    text-align: left;
    border-right: 1px solid #ccc;
}
#memberinfo #history_head{
    display: block;
    overflow-y: auto;
}
#memberinfo table.retail{
    display: block;
}
#memberinfo table.retail tbody{
    width: 100%;
    display: block;
}
#memberinfo .history_cart{
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 15px;
    background-color: #fff; 
}
#memberinfo #history_head tbody tr{
    display: grid;
}
#memberinfo #history_head tbody td{   
    border: 1px solid #ccc;
    padding: 5px;
    font-size: 12px;
    letter-spacing:0;
}
#memberinfo #history_head tbody td:nth-child(3)~td{
    margin-top: -1px;
}
#memberinfo #history_head tbody td + td:not(.purchase_price){
    margin-left: -1px;
}
#memberinfo #history_head tbody td.order_number{
    
}
#memberinfo #history_head tbody td.purchase_date{
    grid-column: span 2 / span 2;
}
#memberinfo #history_head tbody td.purchase_statement{
    grid-column-start: 4;
}
#memberinfo #history_head tbody td.purchase_price{
    grid-row-start: 2;
}
#memberinfo #history_head tbody td.discount{
    grid-row-start: 2;
}
#memberinfo #history_head tbody td.shipping{
    grid-row-start: 2;
}
#memberinfo #history_head tbody td.tax{
    grid-row-start: 2;
}
#memberinfo #history_head tbody td::before{
    display: block;
    text-align: center;
    padding: 5px;
    margin: -5px -5px 0;
    border-bottom: 1px solid #ccc;
    margin-bottom: 5px;
    background-color: #d6e6f7;
}

