@charset "utf-8";
/* ------------------------------------------------------- */
/* Share ------------------------------------------------- */
/* ------------------------------------------------------- */

pre { white-space: pre-wrap; }

/* display */
.dispinline {display: inline;}
.dispb {display: block!important;}
.dispinlineb {display: inline-block;}
.dispnone {display: none;}
.nonePc {display: none;}
.oHidden {overflow: hidden;}

@media only screen and (max-width:999px) {
    .nonePc {display: inline-block;}
    .noneSp {display:none;}
}

/* margin */
.mauto {margin-left: auto;margin-right: auto;}
.mb0 {margin-bottom: 0px!important;}
.mb1 {margin-bottom: 1px!important;}
.mb5 {margin-bottom: 5px!important;}
.mb10 {margin-bottom: 10px!important;}
.mb15 {margin-bottom: 15px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb25 {margin-bottom: 25px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb35 {margin-bottom: 35px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb45 {margin-bottom: 45px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb55 {margin-bottom: 55px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb65 {margin-bottom: 65px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb75 {margin-bottom: 75px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb85 {margin-bottom: 85px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb95 {margin-bottom: 95px!important;}
.mb100 {margin-bottom: 100px!important;}
.mt1em{margin-top:1em;}
.mt2em{margin-top:2em;}
.mt5em{margin-top:5em;}


/* width */
.w100 {width: 100%;}
.w50, .w50sp100 {width: 50%;}
@media only screen and (max-width:999px) {
    .w50sp100 {width: 100%;}
}
/* section間の調整 */
.smb{
	margin-bottom:100px;
	& > .smb{
		margin-bottom:60px;
		@media (width <= 999px) {
			margin-bottom:50px;
		}
		& > .smb{
			margin-bottom:40px;
			@media (width <= 999px) {
				margin-bottom:2em;
			}
			& > .smb{
				margin-bottom:2em;
				& > .smb{
					margin-bottom:1em;
		
				}		
			}		
		}	
	}
}

/* vertical align */
.vaTop {vertical-align: top;}
.vaBottom {vertical-align: bottom;}
.vaMiddle {vertical-align: middle;}
.aiCenter {align-items: center;}

/* indent */
.indent {text-indent: 1.6rem;}
.indent1 {
	margin-left: 1.6rem;
	text-indent: -1.6rem;
}

/* 改ページ */
.bpa {page-break-before: always;}

/* font ---------------------------------------------------*/

/* font style */
strong, .bold {font-weight: bold;}
.nbold {font-weight: normal;}
.underLine {text-decoration: underline;}

/* font size */
.small1 {font-size: 1.4rem;}
.small2 {font-size: 1.2rem;}
.big1 {font-size: 1.8rem;}
.big2 {font-size: 2.0rem;}

/* text align */
.txtRight {text-align: right;}
.txtLeft {text-align: left;}
.txtCenter, .txtCenter2 {text-align: center;}
@media only screen and (max-width:999px) {
    .txtCenter2{text-align: left;}
}

/* font color */
.fcRed {color: #FF0004;}
.fcBlue {color: #06C;}
.fcWhite {color: #fff;}

/* bg color */
.bgcYellow{background-color:#ffff00;}

/* font family */
.fontFamily1 {
	font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

/* font style */
.fontMarker-yellow {
	background: linear-gradient(transparent 60%, rgba(255,255,0,0.5) 60%);
}

/* image -------------------------------------------------*/
/*イメージのはみ出し防止*/
img {
	max-width: 100%;
	height: auto!important;
}
/* image align */
img.imgCenter {
	margin-left: auto;
	margin-right: auto;
	display: block;
}
img.imgLeft {
	padding: 0px 25px 25px 0px;
	float: left;
}
img.imgRight {
	padding: 0px 0px 25px 25px;
	float: right;
}
/* image align スマートフォンでフロート解除 */
img.imgLeftN1 {
	padding: 0 25px 25px 0;
	float: left;
}
img.imgRightN1 {
	padding: 0 0 25px 25px;
	float: right;
}
@media only screen and (max-width:999px) {
    img.imgLeftN1, img.imgRightN1 {
        padding: 0;
        float: none;
        display: block;
        margin: 0 auto 15px;
    }
}
/* link ---------------------------------------------------*/
a {
	text-decoration: underline;
	color: var(--color-link);
	transition: all 0.3s ease;
}
a:hover {
	color: var(--color-link_hover);
}
a:visited {
  color: var(--color-link_visited);
}

/*blank用ポイント付*/
#container a[target="_blank"]::after,
.externalLink::after {
	font-family: var(--fa);
	content: "\f35d";
	font-weight: 900;
    margin-left: 5px;
    margin-right: 5px;
    display: inline-block;
}
#container a[target="_blank"].noExternal::after { display: none; }

/* ボタン用 */
.buttonLink1, .buttonLink2, .linkMore1 {
	margin: 0 auto 25px;
	padding: 0;
	
	a {
		display: block;
		text-decoration: none;	
		border-radius: 40px;
		padding: 15px 40px;
		position: relative;
		font-weight: 700;
		text-align: center;
		font-size: 1.8rem;	
		box-shadow: 5px 5px 0 0 rgba(204,204,204,0.4);
		
		@media (width <= 999px) {
			font-size: 1.6rem;
		}
	}
}
.buttonLink1 a,
.linkMore1 a{
	color: var(--color-main-deep);
	border: 2px solid var(--color-main);
	background: #fff;
	
	&:hover {
		background: var(--color-main);
		color: #fff;
	}
}
.buttonLink2 a {
	background: var(--color-accent);
	color: var(--color-accent-deep);
	
	&:hover {
		background: var(--color-accent-deep2);
		color: #fff;
	}
}
.buttonLink1 a::before, .buttonLink2 a::before, .linkMore1 a::before {
	font-family: var(--fa);
	font-weight: 900;
	content: "\f0da";
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 100%;
	font-size: 2.0rem;
}

/*もっとみる*/
.linkMore1 {
	& a {
		display: inline-block;
		min-width: 355px;
		
		@media (width <= 767px) {
			min-width: 200px;
		}
	}
}

/*アンカーリンク用*/
:where([id], :focus) {
    scroll-margin-top: var(--size-header-height);
}
/*.anchor::before {
   content:"";
   display:block;
   height:130px;
   margin:-130px 0 0;
}
@media only screen and (max-width:999px) {
	.anchor::before {
	   content:"";
	   display:block;
       height:80px;
       margin:-80px 0 0;
	}
}*/

/* 電話番号 */
.noPhoneLink {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
    @media (width <= 999px) {
        text-decoration: underline;
        pointer-events: initial;
        cursor: pointer;
    }
}
/*a[href^="tel:"] {
    text-decoration: none;
    pointer-events: none;
    cursor: default;
    @media (width <= 999px) {
        text-decoration: underline;
        pointer-events: initial;
        cursor: pointer;
    }
}*/

/*ページ内リンクリスト1&2*/
.pageLinkList1,
.pageLinkList2{
    display: grid;
	grid-gap: 15px 25px;
}
.pageLinkList1 {grid-template-columns: repeat(3, 1fr);}
.pageLinkList2 {grid-template-columns: repeat(2, 1fr);}
.tagBox .pageLinkList1 li,
.tagBox .pageLinkList2 li,
.pageLinkList1 li,
.pageLinkList2 li{
    list-style-type: none;
	margin: 0;
}
.pageLinkList1 li a,
.pageLinkList2 li a{
    padding: 10px 20px 10px 10px;
    border-radius: 5px;
    background: #fff;
    text-align: center;
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
	border:1px solid var(--color-main-light);
	color: #000;
	box-shadow: 5px 5px 0 0 rgba(204,204,204,0.4);
	
	&:hover {
		border:1px solid var(--color-main-deep);
		color: var(--color-main-deep);
	}
}
.pageLinkList1 li a::before,
.pageLinkList2 li a::before{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da";
    position: absolute;
    right: 0;
    top: 0;
    display: flex;
    width: 20px;
    height: 100%;
    justify-content: center;
    align-items: center;
	color: var(--color-main);
}
@media only screen and (max-width:999px) {
    .pageLinkList1,
    .pageLinkList2{
        grid-template-columns: repeat(1, 1fr);
		grid-gap: 10px 0;
    }
}

/* file type icon - text */
/*a[href$=".pdf"],
a[href$=".docx"], a[href$=".doc"],
a[href$=".xlsx"], a[href$=".xls"],
a[href$=".pptx"], a[href$=".ppt"],
a[href$=".zip"] {
    position: relative;
    text-decoration: none;
    color: #000;
}
a[href$=".pdf"]:hover,
a[href$=".docx"]:hover, a[href$=".doc"]:hover,
a[href$=".xlsx"]:hover, a[href$=".xls"]:hover,
a[href$=".pptx"]:hover, a[href$=".ppt"]:hover,
a[href$=".zip"]:hover {
    color: #658dc8;
}
a[href$=".pdf"]::before,
a[href$=".docx"]::before, a[href$=".doc"]::before,
a[href$=".xlsx"]::before, a[href$=".xls"]::before,
a[href$=".pptx"]::before, a[href$=".ppt"]::before,
a[href$=".zip"]::before {
    font-family: "UDデジタル教科書体 R JIS2004", UDDigiKyokasho R JIS2004;
    padding: 3px 6px;
    border-radius: 3px;
    position: relative;
    top: -2px;
    font-size: 1.1rem!important;
    margin-right: 5px;
}
a[href$=".pdf"]::before {
    content: "PDF"!important;
    background: #f00;
	color: #fff;
}
a[href$=".docx"]::before, a[href$=".doc"]::before {
    content: "Word"!important;
    background: #295394;
	color: #fff;
}
a[href$=".xlsx"]::before, a[href$=".xls"]::before {
    content: "Excel"!important;
    background: #007c00;
	color: #fff;
}
a[href$=".pptx"]::before, a[href$=".ppt"]::before {
    content: "PPT"!important;
    background: #ca4223;
	color: #fff;
}
a[href$=".zip"]::before {
    content: "zip"!important;
    background: #e2860f;
	color: #fff;
}*/

/* float ----------------------------------------------*/
.floatLeft {float: left;}
.floatRight {float: right;}

/* 2つ並びのボックス スマートフォンで解除 */
.floatLeft2col1,
.floatRight2col1 {
	width: calc((100% - 25px) / 2);
	margin-bottom: 10px;
}
.floatLeft2col1 {
	float: left;
	clear: left;
}
.floatRight2col1 {float:right;}
@media only screen and (max-width:999px) {
    .floatLeft2col1,
    .floatRight2col1 {
        width: 100%;
        float: none;
    }
}

/* box -----------------------------------------------*/
.box1, .box2, .box3 {
	padding: 25px;
	margin-bottom: 25px;
}
.box1 {
    background: #fff;
	border: 1px solid #ccc;
}
.box2 {
	background: var(--color-main-thin);
}
.box3 {
	background: var(--color-accent-thin);
}
#main .box1,#main .box2,#main .box3 {
	& > p:last-child,& > ul:last-child,& > table:last-child{
		margin-bottom:0;
	}
}

@media only screen and (max-width:999px) {
    .box1, .box2, .box3 {
        padding: 15px;
    }
}

/*container 幅固定用box*/
/*
.contentsBox1：スマートフォンで幅100%＋左右余白なし
.contentsBox2：スマートフォンで幅100%＋左右余白あり
*/
.contentsBox1,
.contentsBox2 {
	max-width: var(--size-content-max-width);
	min-width: var(--size-content-min-width);
	margin: 0 auto;
}
@media only screen and (max-width:999px) {
	.contentsBox2{
		padding: 0 15px;
	}
}

/* flexBox1, gridBox1 左右50% */
/* flexBox2, gridBox2 左260px */
/* flexBox3, gridBox3 右260px */
/* flexBox4, gridBox4 均等3つ並び */
/* flexBox5, gridBox5 左355px */
/* flexBox6, gridBox6 右355px */
.flexBox1,
.flexBox2,
.flexBox3,
.flexBox4,
.flexBox5,
.flexBox6 {
    display: flex;
    margin-bottom: 25px;
}
.flexBox1 > div:nth-of-type(1),
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(1),
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(1) {
    margin-right: 25px;
}
.flexBox1 > div { width: calc((100% - 25px) / 2); }
.flexBox2 > div:nth-of-type(1),
.flexBox3 > div:nth-of-type(2) {
    width: 260px;
}
.flexBox5 > div:nth-of-type(1),
.flexBox6 > div:nth-of-type(2) {
    width: 355px;
}
.flexBox2 > div:nth-of-type(2),
.flexBox3 > div:nth-of-type(1) {
    width: calc(100% - 285px);
}
.flexBox5 > div:nth-of-type(2),
.flexBox6 > div:nth-of-type(1) {
    width: calc(100% - 380px);
}
.flexBox4 > div {
    width: calc((100% - 50px) / 3);
    margin-right: 24.9px;
}
.flexBox4 > div:nth-of-type(3) { margin-right: 0; }
@media only screen and (max-width:999px) {
    .flexBox1,
    .flexBox2,
    .flexBox3,
    .flexBox4,
	.flexBox5,
	.flexBox6 {
        display: block;
    }
    .flexBox1 > div:nth-of-type(1),
    .flexBox2 > div:nth-of-type(1),
    .flexBox3 > div:nth-of-type(1),
    .flexBox4 > div,
	.flexBox5 > div:nth-of-type(1),
	.flexBox6 > div:nth-of-type(1) {
        width: 100%;
        margin: 0 0 15px 0;
    }
    .flexBox1 > div:nth-of-type(2),
    .flexBox2 > div:nth-of-type(2),
    .flexBox3 > div:nth-of-type(2),
    .flexBox4 > div:nth-of-type(3),
	.flexBox5 > div:nth-of-type(2),
    .flexBox6 > div:nth-of-type(2) {
        width: 100%;
        margin-bottom: 0;
    }
}

:is(.gridBox1, .gridBox2, .gridBox3, .gridBox4, .gridBox5, .gridBox6, .gridBoxCustom) {
    display: grid;
    gap: 25px;
    
    /* gridBox1 左右50% */
    &.gridBox1 {
        grid-template-columns: repeat(2, 1fr);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox2 左260px */
    &.gridBox2 {
        grid-template-columns: 260px 1fr;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox3 右260px */
    &.gridBox3 {
        grid-template-columns: 1fr 260px;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox4 均等3つ並び */
    &.gridBox4 {
        grid-template-columns: repeat(3, 1fr);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox5 左355px */
    &.gridBox5 {
        grid-template-columns: 355px 1fr;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBox6 右355px */
    &.gridBox6 {
        grid-template-columns: 1fr 355px;
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
    
    /* gridBoxCustom */
    /* 例：<div class="gridBoxCustom" style="--columns: 100px 1fr"> */
    /* 例：<div class="gridBoxCustom" style="--columns: repeat(2, 1fr)"> */
    &.gridBoxCustom {
        --columns: repeat(1, 1fr);
        grid-template-columns: var(--columns);
        @media (width <= 999px) { grid-template-columns: repeat(1, 1fr); }
    }
}


/* dl ----------------------------------------------*/
dl.dl1 {
	margin-bottom: 25px;
}
.dl1 dt,
.dl1 dd {
	border-left:5px solid #4b8345;
	padding: 10px;
}
.dl1 dt {
	font-weight: bold;
	background: #f5f5f5;
}
.dl1 dd {
	margin-bottom: 15px;
}
.dl1 dd:last-child {
	margin-bottom: 0;
}

/* ------------------------------------------------------- */
/* contents ---------------------------------------------- */
/* ------------------------------------------------------- */
#main p {
    margin-bottom: 25px;
}
.topContents {
	width: 100%;
	min-width: var(--size-content-min-width);
	margin: var(--size-header-height) 0 0 0;
	overflow: hidden;
}

/* pagetitle navi ----------------------------------------------*/
.pageTitle {
	background: rgba(var(--color-main-rgb),0.15);
	border-radius: 10px;
	padding: 20px 20px 15px;
	margin-bottom: 15px;
	
	@media (width <= 999px) {
		padding: 15px;
		margin-bottom: 5px;
	}
	
	& h1 {
		font-size: 2.8rem;
		font-weight: 700;
		line-height: 1.45;
		
		@media (width <= 999px) {
			margin: 0 auto;
			font-size: 2.2rem;
		}
	}
}

.breadcrumbs {
	font-size: 1.3rem;
	max-width: var(--size-content-max-width);
	margin: 0 auto 50px;
	
	& span {
		&::after {
			font-family: var(--fa);
			font-weight: 900;
			content: "\f105";
			display: inline-block;
			padding: 0 10px;
		}
	}
	& span:last-of-type {
		&::after {
			content: "";
		}
	}
	
	& br {
		display: none;
	}
}

@media only screen and (max-width:999px) {
	.breadcrumbs {
		margin: 0 auto 25px;
		overflow-x: scroll;
		white-space: nowrap;
		padding: 5px 15px;
	}
	.breadcrumbs::-webkit-scrollbar {
		height: 5px;
	}
	.breadcrumbs::-webkit-scrollbar-track {
	}
	.breadcrumbs::-webkit-scrollbar-thumb {
		background-color: rgba( 100, 100, 100, 0.2);
	}
}

/* ------------------------------------------------------- */
/* Move Top ---------------------------------------------- */
/* ------------------------------------------------------- */
/* ページ上部に戻る スクロールで自動表示 */
#pageTop {
    width: 45px;
    height: 45px;
    display: none;
    position: fixed;
	right: 15px;
	bottom: 15px;
    z-index: 5;
}
#pageTop div {
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.7);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 50%;
}
#pageTop div span { display: none; }
#pageTop div:hover { background: rgba(0,0,0,0.5); }
#movePageTop {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
}
#movePageTop::before {
    font-family: var(--fa);
    font-weight: 900;
    content: "\f062";
    color: #fff;
    font-size: 3.0rem;
}
@media only screen and (max-width:999px) {
    #pageTop {
		right: 10px;
		bottom:105px;
    }
}

/* ------------------------------------------------------- */
/* iframe ----------------------------------------------- */
/* ------------------------------------------------------- */
iframe.googlemap {
	width: 100%;
	height: 400px;
}
@media only screen and (max-width:999px) {
	iframe.googlemap {
		height: 300px;
	}
}

/* ------------------------------------------------------- */
/* デフォルトのHTMLタグでスタイルを適用させる------------- */
/* ------------------------------------------------------- */
.tagBox {
}

/*改行する*/
.tagBox {
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.wordBreakTable {
	width: 100%;
	table-layout: fixed;
}
.wordBreakTable td {
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/*デフォルトスタイル復帰*/
.tagBox em{font-style:italic;}

/*wpスタイル復帰*/
img.aligncenter {
    display: block;
    margin: 0 auto;
}

/* list ----------------------------------------------*/
.tagBox ul.ul1, .tagBox ol.ol1,
ol.bracket1, ol.bracket2,
ol.alphabet1, ol.alphabet2,
ol.circle_number,
.tagBox ul.float2col1,
.tagBox ul.float3col1, .tagBox ul.float3col2,
.tagBox ul.float4col1, .tagBox ul.float4col2,
.tagBox ul.float5col1, .tagBox ul.float5col2,
.tagBox ul.float6col2,
ul.ul1, ol.ol1, 
ul.float2col1,
ul.float3col1, ul.float3col2,
ul.float4col1, ul.float4col2,
ul.float5col1, ul.float5col2,
ul.float6col2 {
	margin-bottom: 25px;
}

/*デフォルト*/
.tagBox ul, .tagBox ol {
	margin-bottom: 25px;
}
.tagBox ul li,
ul.ul1 li {
	list-style-type: disc;
	margin: 0 0 10px 20px;
}
.tagBox ol li,
ol.ol1 li {
	list-style-type: decimal;
	margin: 0 0 10px 30px;
}
.tagBox ul li ul, .tagBox ol li ul {
	margin-bottom: 0;
}
.tagBox ul li ul li, .tagBox ol li ul li,
ul.ul1 li ul li, ol.ol1 li ul li {
	list-style-type: circle;
}

/* 装飾ありリスト */

/* bracket1 （1） */
/* bracket2 1） */
ol.bracket1 li, ol.bracket2 li {
    list-style-type: none;
	margin: 0 0 10px 0;
    counter-increment: cnt;
    position: relative;
}
ol.bracket1 li {
    padding-left: 30px;
}
ol.bracket2 li {
    padding-left: 25px;
}
ol.bracket1 li::before, ol.bracket2 li::before {
    position: absolute;
    left: 0;
}
ol.bracket1 li::before {
	content: "(" counter(cnt) ") ";
}
ol.bracket2 li::before {
	content: counter(cnt) ") ";
}

/* alphabet1 a. */
/* alphabet2 A. */
ol.alphabet1 li {
    list-style-type: lower-alpha;
}
ol.alphabet2 li {
    list-style-type: upper-alpha;
}

/* ①～⑨ */
ol.circle_number {
    li {
        list-style: none;
        margin: 0 0 10px 0;
        padding-left: 25px;
        position: relative;
        &::before {
            top: 0;
            left: 0;
            margin-right: 5px;
            position: absolute;
        }
        &:nth-child(1)::before { content: "\2460"; }
        &:nth-child(2)::before { content: "\2461"; }
        &:nth-child(3)::before { content: "\2462"; }
        &:nth-child(4)::before { content: "\2463"; }
        &:nth-child(5)::before { content: "\2464"; }
        &:nth-child(6)::before { content: "\2465"; }
        &:nth-child(7)::before { content: "\2466"; }
        &:nth-child(8)::before { content: "\2467"; }
        &:nth-child(9)::before { content: "\2468"; }
        &:nth-child(10)::before { content: "\02469"; }
        &:nth-child(11)::before { content: "\0246A"; }
        &:nth-child(12)::before { content: "\0246B"; }
        &:nth-child(13)::before { content: "\0246C"; }
        &:nth-child(14)::before { content: "\0246D"; }
        &:nth-child(15)::before { content: "\0246E"; }
        &:nth-child(16)::before { content: "\0246F"; }
        &:nth-child(17)::before { content: "\02470"; }
        &:nth-child(18)::before { content: "\02471"; }
        &:nth-child(19)::before { content: "\02472"; }
        &:nth-child(20)::before { content: "\02473"; }
    }
}

/*リストの飾り不要時*/
.tagBox ul.listNonStyle li,
.tagBox ol.listNonStyle li {
    list-style-type: none;
	margin: 0 0 10px 0;
}

/* 2つ並びのリスト 999px以下で1列に */
.tagBox ul.float2col1 > li,
ul.float2col1 > li{
    list-style-type: none;
	width: calc((100% - 25px) / 2);
	float: left;
    margin: 0 24.9px 15px 0;
}
.tagBox ul.float2col1 > li:nth-child(odd), ul.float2col1 > li:nth-child(odd) { clear: left; }
.tagBox ul.float2col1 > li:nth-child(even), ul.float2col1 > li:nth-child(even) { margin-right: 0; }
@media only screen and (max-width:999px) {
    .tagBox ul.float2col1 > li,
    ul.float2col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 3つ並びのリスト 999px以下で1列に */
.tagBox ul.float3col1 > li,
ul.float3col1 > li {
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	float: left;
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col1 > li:nth-child(3n), ul.float3col1 > li:nth-child(3n) { margin-right: 0; }
.tagBox ul.float3col1 > li:nth-child(3n+1), ul.float3col1 > li:nth-child(3n+1) { clear: left; }
@media only screen and (max-width:999px) {
	.tagBox ul.float3col1 > li,
    ul.float3col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
	}
}

/* 3つ並びのリスト 999px以下で1列に Flex版 */
.tagBox ul.float3col2,
ul.float3col2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.float3col2 > li,
ul.float3col2 > li {
    list-style-type: none;
	width: calc((100% - 50px) / 3);
	margin: 0 24.9px 15px 0;
}
.tagBox ul.float3col2 > li:nth-child(3n), ul.float3col2 > li:nth-child(3n) { margin-right: 0; }

@media only screen and (max-width:999px) {
    ul.float3col2 > li,
    .tagBox ul.float3col2 > li {
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float3col2 li:nth-child(3n), .tagBox ul.float3col2 li:nth-child(3n) { margin:0 0 15px 0; }
    
	ul.float3col2 li:nth-child(2n), .tagBox ul.float3col2 li:nth-child(2n) { float: right; margin-left: 15px; }
	ul.float3col2 li:nth-child(2n+1), .tagBox ul.float3col2 li:nth-child(2n+1) { float: left; clear: right; }
}

/* 4つ並びのリスト 999px以下で1列に */
ul.float4col1 > li,
.tagBox > ul.float4col1 li {
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col1 > li:nth-child(4n), .tagBox ul.float4col1 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col1 > li:nth-child(4n+1), .tagBox ul.float4col1 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col1 > li,
    .tagBox ul.float4col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 4つ並びのリスト 999px以下で2列に */
ul.float4col2 > li,
.tagBox ul.float4col2 > li{
    list-style-type: none;
	width: calc((100% - 75px) / 4);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin: 0 0 15px 0;}
ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float4col2 > li,
    .tagBox ul.float4col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float4col2 > li:nth-child(4n), .tagBox ul.float4col2 > li:nth-child(4n) {margin:0 0 15px 0;}
    ul.float4col2 > li:nth-child(4n+1), .tagBox ul.float4col2 > li:nth-child(4n+1) {float: none;}
    
	ul.float4col2 > li:nth-child(2n), .tagBox ul.float4col2 > li:nth-child(2n) {float: right;}
	ul.float4col2 > li:nth-child(2n+1), .tagBox ul.float4col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 5つ並びのリスト 999px以下で1列に */
ul.float5col1 > li,
.tagBox ul.float5col1 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col1 > li:nth-child(5n), .tagBox ul.float5col1 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col1 > li:nth-child(5n+1), .tagBox ul.float5col1 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col1 > li,
    .tagBox ul.float5col1 > li{
        width: 100%;
        float: none;
        margin: 0 0 15px 0;
    }
}

/* 5つ並びのリスト 999px以下で2列に */
ul.float5col2 > li,
.tagBox ul.float5col2 > li {
    list-style-type: none;
	width: calc((100% - 100px) / 5);
	float: left;
	margin: 0 24.9px 15px 0;
}
ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin: 0 0 15px 0; }
ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { clear: left; }
@media only screen and (max-width:999px) {
    ul.float5col2 > li,
    .tagBox ul.float5col2 > li {
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float5col2 > li:nth-child(5n), .tagBox ul.float5col2 > li:nth-child(5n) { margin:0 0 15px 0; }
    ul.float5col2 > li:nth-child(5n+1), .tagBox ul.float5col2 > li:nth-child(5n+1) { float: none; clear: unset; }
    
	ul.float5col2 > li:nth-child(2n), .tagBox ul.float5col2 > li:nth-child(2n) { float: right; }
	ul.float5col2 > li:nth-child(2n+1), .tagBox ul.float5col2 > li:nth-child(2n+1) { float: left; clear: right; }
}

/* 6つ並びのリスト 999px以下で2列に */
ul.float6col2 > li,
.tagBox ul.float6col2 > li{
    list-style-type: none;
	width: calc((100% - 100px) / 6);
	float: left;
	margin: 0 20px 15px 0;
}
ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(6n) {margin: 0 0 15px 0;}
ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(6n+1) {clear: left;}
@media only screen and (max-width:999px) {
    ul.float6col2 > li,
    .tagBox ul.float6col2 > li{
       width: calc((100% - 15px) / 2);
        float: none;
        margin: 0 0 15px 0;
    }
    ul.float6col2 > li:nth-child(6n), .tagBox ul.float6col2 > li:nth-child(2n) {margin:0 0 15px 0;}
    ul.float6col2 > li:nth-child(6n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: none;}
    
	ul.float6col2 > li:nth-child(2n), .tagBox ul.float6col2 > li:nth-child(2n) {float: right;}
	ul.float6col2 > li:nth-child(2n+1), .tagBox ul.float6col2 > li:nth-child(2n+1) {float: left; clear: right;}
}

/* 横並びリストの画像はPCでも自動で幅最大100%に設定 */
.tagBox ul.float2col1 img,
.tagBox ul.float3col1 img, .tagBox ul.float3col2 img,
.tagBox ul.float4col1 img, .tagBox ul.float4col2 img,
.tagBox ul.float5col1 img, .tagBox ul.float5col2 img,
.tagBox ul.float6col2 img,
ul.float2col1 img,
ul.float3col1 img, ul.float3col2 img,
ul.float4col1 img, ul.float4col2 img,
ul.float5col1 img, ul.float5col2 img,
ul.float6col2 img {
	max-width: 100%;
	height: auto;
}

/*横に並ぶ背景色付きのリスト*/
.tagBox ul.boxList1,
.tagBox ul.boxList2 {
    display: flex;
    flex-wrap: wrap;
}
.tagBox ul.boxList1 li,
.tagBox ul.boxList2 li{
    list-style: none;
    margin: 0 10px 10px 0;  
    display: flex;
    align-items: center;
    background: #f5f5f5;
    padding: 15px 5px;
    border-radius: 5px;
    text-align: center;
    justify-content: center;
}
.tagBox ul.boxList1 li{width: calc((100% - 30px) / 4);}
.tagBox ul.boxList2 li{width: calc((100% - 30px) / 3);}
.tagBox ul.boxList1 li:nth-of-type(4n),
.tagBox ul.boxList2 li:nth-of-type(3n){margin-right: 0;}
@media only screen and (max-width:999px) {
    .tagBox ul.boxList1,
    .tagBox ul.boxList2 {
        display: block;
    }
    .tagBox ul.boxList1 li,
    .tagBox ul.boxList2 li{
        display: block;
        width: 100%;
        margin: 0 0 5px 0;
        padding: 10px 5px;
        background: none;
        border-bottom: 1px dotted #ccc;
    }
}

/* table ----------------------------------------------*/
.tableLyFixed{
	table-layout: fixed;
}
.table1, .table1 td, .table1 th,
.tagBox table, .tagBox table td, .tagBox table th{
	border: 1px solid #ccc;
	box-sizing: border-box;
}
table caption {
	margin-bottom: 10px;
}
.table1,
.tagBox table{
	border-collapse: collapse;
	margin-bottom: 25px;
}
.table1 th, .table1 td,
.tagBox table th, .tagBox table td {
	padding: 10px;
}
.table1 th,
.tagBox table th {
	background-color: #f5f5f5;
    vertical-align: middle;
}
.tdw {background: #fff;}
.td1 {background: var(--color-main-thin);}
.td2 {background: var(--color-sub-thin);}
.thw1 th {width: 180px;}

@media only screen and (max-width:999px) {
	/*639px以下で段組み解除*/
	.tableMw1 th, .tableMw1 td,
	.tagBox .tableMw1 th, .tagBox .tableMw1 td{
		display: block;
		border: none;
		width: 100%;
	}
    .thw1 th {width: 150px;}
	.tableMw1.thw1 th,
	.tagBox .tableMw1.thw1 th {width: 100%;}
}
/*テーブルスクロール ｐｃからすべて*/
.scroll-all{
    width: 100%;
    overflow-x: auto;
	min-width: 0;
	margin-bottom:25px;
}
.scroll-all table {
	white-space:normal;
	min-width:1000px;
	width:100%;
	margin-bottom:5px
}
/*スクロールバーを追加するCSS*/
.scroll-all table::-webkit-scrollbar,
.scroll table::-webkit-scrollbar{height: 4px;}
.scroll-all table::-webkit-scrollbar-track,
.scroll table::-webkit-scrollbar-track{background: #F1F1F1;}
.scroll-all table::-webkit-scrollbar-thumb,
.scroll table::-webkit-scrollbar-thumb{background: #BCBCBC;}
.scroll-all td,.scroll-all th,.scroll td,.scroll th{width:auto;}
/*テーブルスクロール spのみ*/
@media screen and (max-width: 999px) {
	.scroll{
		width: calc(100% - 25px);
		overflow-x: auto;
		min-width: 0;
		margin-bottom:25px;
	}	
	.scroll table {
		white-space:normal;
		min-width:1000px;
		width:100%;
		margin-bottom:5px;
	}
}

/*見出しHタグ*/
.tagBox h2, .tagBox h3, .tagBox h4, .tagBox h5, .tagBox h6 {
	margin-bottom: 25px;
	font-weight: 700;
}
.tagBox h2 {
	font-weight: 700;
	font-size: 2.8rem;
	position: relative;
	border-bottom: 1px solid #ccc;
	padding: 0 0 5px 35px;
	margin-bottom: 35px;
	color: var(--color-main);
	
	@media (width <= 999px) {
		font-size: 2.1rem;
		padding: 0 0 5px 25px;
		line-height: 1.3;
		margin-bottom: 25px;
	}
	
	&::before {
		font-family: var(--fa);
		font-weight: 900;
		content: "\e59d";
		color: var(--color-main);
		font-size: 3.3rem;
		position: absolute;
		top: -8px;
		left: 0;
		
		@media (width <= 999px) {
			font-size: 2.3rem;
			top: -3px;
		}
	}
}
.tagBox h3 {
	font-size: 1.9rem;
	position: relative;
	padding-left: 20px;
	color: var(--color-sub);
	
	@media (width <= 999px) {
		margin-bottom: 20px;
	}
	
	&::before {
		content: "";
		display: block;
		background: var(--color-sub);
		width: 5px;
		height: 100%;
		border-radius: 4px;
		position: absolute;
		top: 0;
		left: 0;
	}
}
.tagBox h4 {
	font-size: 1.8rem;
	background: var(--color-sub-thin);
	padding: 10px 15px 5px 35px;
	position: relative;
	
	&::before {
		font-family: var(--fa);
		font-weight: 900;
		content: "\f111";
		color: #fff;
		line-height: 1;
		position: absolute;
		top: 14px;
		left: 10px;
		font-size: 1.7rem;
	}
}
.tagBox h5 {
	font-size: 1.7rem;
	position: relative;
	padding-left: 25px;
	color: var(--color-accent-deep2);

	&::before {
		font-family: var(--fa);
		font-weight: 900;
		content: "\f005";
		color: var(--color-accent-deep2);
		position: absolute;
		top: -2px;
		left: 0;
	}
}
.tagBox h6 {
	font-size: 1.6rem;
	border-bottom: 2px dotted #999;
	padding-bottom: 5px;
}

/*blockquote 引用専用*/
.tagBox blockquote {
	border: 1px solid #ccc;
	margin-bottom: 25px;
	padding: 45px;
	position: relative;
	border-radius: 10px;
}
.tagBox blockquote::before,
.tagBox blockquote::after {
	font-family: var(--fa);
	font-weight: 900;
	position: absolute;
	color: #999;
	font-size: 2.8rem;
}
.tagBox blockquote::before {
	content: "\f10d";
	top: 0px;
	left: 10px;
}
.tagBox blockquote::after {
	content: "\f10e";
	right: 10px;
	bottom: 0px;
}
@media only screen and (max-width:999px) {
	.tagBox blockquote::before,
	.tagBox blockquote::after {
		font-size: 2.4rem;
	}
}

/*-----------
お知らせ一覧 / newsList
-----------*/
.newsList {
	margin-bottom:25px;
	
	& li {
		display: grid;
		grid-template-columns: 80px 1fr;
		grid-gap: 15px 25px;
		
		padding-bottom: 10px;
		border-bottom: 1px dotted var(--color-accent);
		
		@media (width <= 767px) {
			grid-template-columns: 1fr;
			grid-gap: 5px 0;
		}
		
		& .newsList-date {
			color: #666;
			font-size: 1.4rem;
		}
		& .newsList-title {
			
		}
		&:not(:last-child){margin-bottom: 10px;}
	}
}
/*-----------
商品一覧 / itemList
-----------*/
/*商品一覧　４つ並び*/
#main .itemList {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 25px 25px;
	margin-bottom: 50px;
	
	@media (width <= 999px) {
		grid-template-columns: repeat(2, 1fr);
		grid-gap: 15px 15px;
	}
	@media (width <= 767px) {
		grid-template-columns: repeat(1, 1fr);
		grid-gap: 25px 0;
	}
	
	& li {		
		& .item {
			position: relative;
			display: block;
			text-decoration: none;
			font-weight: 700;
			box-shadow: 7px 7px 0 0 rgba(204,204,204,0.2);
			background: #fff;
			border: 1px solid #ccc;
			border-radius: 10px;
			height: 100%;
			padding-bottom:15px;
			transition: all 0.3s ease;
			&:has(a):hover {
				border: 1px solid #666;
				transform: scale(1.01);
			}
			& :is(.itemList-name, .itemList-price, .itemList-note, .itemList-priceWrap, .item-category) {
				padding:0 20px;
				
				@media (width <= 767px) {
					padding:0 10px;
				}
			}
			& a{text-decoration: none;}
            /*商品画像*/
            & .itemList-img {
                aspect-ratio: 3 / 2;
                overflow: hidden;
                background: #f5f5f5;
                margin-bottom: 15px;
                border-radius: 10px 10px 0 0;

                @media (width <= 767px) {
                    margin-bottom: 10px;
                }

                & img {
                    display: block;
                    object-fit: contain;
                    width: 100%;
                    height: 100%;
                }
            }

            /*商品名*/
            & .itemList-name {
                text-decoration: underline;
                margin-bottom: 10px;
            }

            /*価格*/
            & .itemList-price {
                color: var(--color-main-deep);
                font-size: 1.9rem;
                font-weight: 700;
                display:flex;
                align-items: center;
                & span{
                    font-size: 0.8em
                }
            }
            & .itemList-priceWrap {
                margin:25px 0;

                & .itemList-priceSale{
                    display:flex;
                    flex-wrap:wrap;
                    gap:0 0.5em;
                    align-items: center;
                    @media (width <= 767px) {
                        flex-direction: column;
                        gap:0em 0;
                        align-items: flex-start;
                    }
                    & .sale-discount-rate{
                        display:flex;
                        align-items: center;
                        font-size:1.8rem;
                        color:#000;
                        gap:0 0.2em;
                        font-weight:normal;
                        & span{font-size: 0.8em}
                    }
                    & .itemList-price{
                        margin:0;
                        padding:0;
                    }
                }
                & .original-price{
                    font-size:1.3rem;
                    margin-bottom:0;
                    font-weight:normal;
                    color:#000;
                    & span.del{
                        display:inline-block;
                        text-decoration: line-through;
                        text-decoration-thickness: 1px; 
                    }
                }
				/*新着商品・割引など*/
				& .itemList-tag {
					position: absolute;
					top: 0;
					left: 0;
					width: 100%;
					overflow: hidden;
					border-radius: 10px 10px 0 0;
					font-size: 0;

					& span {
						display: inline-block;
						font-size: 1.2rem;
						font-weight: 700;
						margin: 0 2px 2px 0;
						padding: 10px 10px;
						background: #999;
						color: #fff;
						line-height: 1;

					}
					& .itemList-tag_new {
						background: var(--color-accent);
						color: var(--color-accent-deep);
					}
					& .itemList-tag_off {
						background: var(--color-main-deep);
					}
				}
			}
			/*購入履歴など*/
			& .itemList-note {
				color:var(--color-sub);
				margin-top:0.5em;
				line-height:1.5;
				& a{
					color:var(--color-sub);
					text-decoration: underline;
					&:hover{color:var(--color-sub-deep);}
				}
				& > div{
					position:relative;
					padding-left:1.0em;
					&:not(:first-child){
						margin-top:10px;
					}
					& > span {
						display: inline-block;
						font-weight: 400;
						font-size: 1.3rem;
						margin: 0 5px 0px 5px;
						&:not(:first-child){
							margin: 0 5px 0px 0px;
							&::before {
								content: "/";
								display: inline-block;
								margin: 0 5px 0 0px;
							}
						}						
					}
					&.category-name::before,&.special-disp::before{
						display: inline-block;
						font-family:var(--fa);
						font-weight:900;
						font-size:0.8em;
						margin: 0;
						position:absolute;
						left:0;
						top:0.2em;
					}
					&.category-name::before{
						content:"\f07b";						
					}
					&.special-disp::before{
						content:"\f075";
					}
				}
				
			}
		}
		/*売り切れ*/
		& .soldout{
			position: relative;
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
			& .soldout-txt{
			    position: absolute;
                font-size: 1.8rem;
                background: #999;
                color: #fff;
				border-radius: 3px;
                padding: 0.2em 1.5em 0;
                z-index: 2;
				font-weight:400;
				@media (width <= 767px) {
					 font-size: 2rem;
				}				
			}
			& .item{
				&::after{
					content:"";
					position:absolute;
					width:100%;
					height:100%;
					background-color: rgba(255, 255, 255, 0.9);
					top:0;
					left:0;
					z-index:1;
					border-radius: 10px;
				}
				& .itemList-priceWrap{
					display:none;
				}
				& .itemList-price{
					display:none;
				}
				& .itemList-note {
					display:none;
				}
			}
		}
	}
}

/*ランキング数字表示　５位まで表示*/
.itemList.itemListRanking {
    counter-reset: rankingNum 0;
    & li {
        & .item,& .soldout .item {
            &::before {
                counter-increment: rankingNum 1;
                content: counter(rankingNum);
                width: 40px;
                height: 40px;
                border-radius: 50%;
                color: #fff;
                font-size: 2.2rem;
                line-height: 1;
                /*display: flex;*/
				display: none;
                align-items: center;
                justify-content: center;
                position: absolute;
                left: -10px;
                top: -10px;
                background: var(--color-sub);
                z-index: 2;
            }
        }
		&:nth-child(-n + 5) {
        	& .item,& .soldout .item {
				&::before {
				   display: flex;
				}
			}
		}
		&:nth-of-type(1) {
			& .item,& .soldout .item {
				&::before {
					background: var(--color-main);
				}
			}			
		}
		& .soldout.item::after{
			border-radius: 10px;
		}
    }	
}
/*-----------
商品一覧 / pager
-----------*/
#main .pagerContainer{
	& .total{
	}
	& .pager{
		display:flex;
		justify-content: center;
		gap:0 25px;
		align-items: center;
	}
}
/*-----------
レビュー
-----------*/
.reviewstarWrap{
    display:flex;
    flex-wrap:wrap;
    align-items: center;
    gap:0 0.5em;
    margin-bottom:0.5em;
    & .reviewRate{
        display: flex;
        align-items: center;
        gap: 0 0.2em;
		& .reviewRateStar{
			white-space: nowrap;
    		overflow: hidden;
			width:22px;
			 &::before{
				font-size:20px;
			}
		}       
    }
    & .average-all{
        font-size:0.8em;
        color:#666;
        padding-top:0.1em;
        & span {display:inline-block; margin-right:0.5em;}
    }
}
#main .reviewBox{
	border:1px solid #ddd;
	display:grid;
	grid-template-columns: 30% auto; 
  	grid-template-rows: auto; 
	gap:0 50px;
	margin-bottom:50px;
	padding:1em;
	align-items: center;
	border-radius: 5px;
	@media (width <= 999px) {
		display:flex;
		flex-direction: column;
		align-items: flex-start;
		gap:15px 0;
	}
	& .photo{
		@media (width <= 999px) {
            width:100%;
        }	
        & img{
            display:block;
            @media (width <= 999px) {
                margin:0 auto;	
            }				
        }
    }
	& .detail{
		display:flex;
		justify-content: space-between;
		flex-direction: column;
		gap:1em 0;
		@media (width <= 999px) {
			justify-content: flex-start;
		}
		& .name{
			font-size:1.1em;
			padding:0.5em 0;
			@media (width <= 999px) {
				font-size:1em;
			}
			& .categoryName{
				text-align: right;
				font-size:0.9em;
				margin-top:0.5em;
				& a{
					color:var(--color-sub);
					&::before{
						content:"\f07b";
						font-family:var(--fa);
						font-weight:900;
						display:inline-block;
						margin-right:1em;
					}
				}				
			}
		}
	}
}
& .reviewWrite.linkMore1{
    text-align: center;
	margin-bottom:50px;
    & a{
		border: 2px solid var(--color-main)!important;
        &::before{
            content:"\f304";
            font-family:var(--fa);
            font-weight:900;
            display:inline-block;
            margin-right:1em;
            position:static;
            width:auto;
            height:auto;
            font-size:1em;
        }
    }
}
/*-----------
一覧上部　件数　並び替え / categoryPageNav・.pageNav
-----------*/
.categoryPageNav,.pageNav {
	margin-bottom: 25px;
	display: grid;
	grid-template-columns: 260px 1fr;
	background: var(--color-sub-thin);
	padding: 15px 20px;
	font-size: 1.5rem;
	position: relative;
	align-items: center;
	
	&::before {
		content: "";
		width:0;
		height:0;
		border-style:solid;
		border-width: 15px 10px 0 10px;
		border-color: var(--color-sub-thin) transparent transparent transparent;
		position: absolute;
		bottom: -15px;	
		left: 15px;
	}
	
	@media (width <= 767px) {
		grid-template-columns: 1fr;
		grid-gap:5px 0;
		padding: 10px;
		text-align:center;
	}
	
	/*件数*/
	& .categoryPageNav-num,& .pageNav-num {
		background: #fff;
		padding: 5px;
		text-align: center;
		
		& span {
			display: inline-block;
			margin-right: 2px;
		}
	}
	
	/*並び替え*/
	& .categoryPageNav-order,& .pageNav-order {
		text-align: right;
		
		@media (width <= 767px) {
			text-align:center;
			font-size: 1.4rem;
		}
		
		& ul {
			display: inline-block;
			font-size: 0;
			
			& li {
				display: inline-block;
				font-size: 1.5rem;
				
				@media (width <= 767px) {
					font-size: 1.4rem;
				}
				
                &::after {
                    content: "｜";
					display: inline-block;
					margin: 0 5px;
                }
			}
			& li:last-of-type {
				&::after {
					content: "";
				}
			}
		}
	}
}

/*-----------
コラム一覧 / columnList
-----------*/
#main .columnList {
	margin-bottom: 50px;
	
	& li {
		margin-bottom: 25px;
		
		& a.columnItem, & div.columnItem{
			display: grid;
			grid-template-columns: 260px 1fr;
			grid-gap: 0 25px;			
			text-decoration: none;
			box-shadow: 7px 7px 0 0 rgba(204,204,204,0.2);
			background: #fff;
			border: 1px solid #ccc;
			border-radius: 10px;
			
			@media (width <= 767px) {
				grid-template-columns: 1fr;
			}
			
			&:hover {
				border: 1px solid #666;
				transform: scale(1.01);
			}
			
			& .columnList-img {
				/*aspect-ratio: 3 / 2;*/
				/*overflow: hidden;*/
				background: #f5f5f5;
				display:flex;
				justify-content: center;
				align-items: center;
				border-radius: 10px 0 0 10px;
				
				@media (width <= 767px) {
					margin-bottom: 15px;
					border-radius: 10px 10px 0 0;
				}
				
				& img {
					display: block;
					aspect-ratio: 3 / 2;
					object-fit: contain;					
					width: 100%;
					overflow: hidden;
				}
			}
			
			& div:nth-of-type(2) {
				padding: 25px 25px 25px 0;
				
				@media (width <= 767px) {
					padding: 0 20px 20px;
				}
				
				& .columnList-title {
					font-weight: 700;
					text-decoration: underline;
					margin-bottom: 10px;
					font-size: 1.8rem;
					
					@media (width <= 767px) {
						font-size: 1.6rem;
					}
				}
				& .columnList-txt {
					color: #000;
					font-size: 1.4rem;
					margin-bottom: 0;
				}
			}
		}
	}
}

/*-----------
レビュー一覧 / reviewList
-----------*/
#main .reviewList {
	li {
		& a.reviewItem,& div.reviewItem{
			background: var(--color-accent-thin);
			padding: 20px;
			border-radius: 10px;
			margin-bottom: 15px;
			display:block;
			text-decoration:none;
			.reviewList-star {
				/*color: var(--color-accent);*/
				color: #ffc000;
				margin-bottom: 5px;
			}
			.reviewList-title {
				font-weight: 700;
				margin-bottom: 5px;
				color: #000;
			}
			.reviewList-txt {
				margin-bottom: 0;
				font-size: 1.4rem;
				color: #000;
			}
			&:hover{
				background: rgba(var(--color-accent-rgb),0.5);
			}
		}
	}
}

/*-----------
最近チェックした商品 / historyList
-----------*/
#main .historyBox {
	h2 {
		font-weight: 700;
		font-size: 2.0rem;
		position: relative;
		padding: 0 0 0 30px;
		margin-bottom: 10px;
		color: #666;
		
		@media (width <= 999px) {
			font-size: 1.8rem;
			padding: 0 0 0 25px;
		}
		
		&::before {
			font-family: var(--fa);
			font-weight: 900;
			content: "\f1da";
			color: #666;
			font-size: 2.2rem;
			position: absolute;
			top: -1px;
			left: 0;
			
			@media (width <= 999px) {
				font-size: 1.8rem;
			}
		}		
	}
	.historyList {
		display: grid;
		grid-template-columns: repeat(8, 1fr);
		grid-gap: 25px 25px;

		@media (width <= 999px) {
			display: flex;
			overflow-x: auto;
			gap: 20px;
			padding-bottom: 10px;
			-webkit-overflow-scrolling: touch; /* iOSでスムーズ */
		}
		
		li {
			min-width:0;
			@media (width <= 999px) {
				flex: 0 0 120px; /* 1つのカードの幅 */
				min-width: 0;
			}
			& a, & > div {
				position: relative;
				display: block;
				font-weight: 700;
				text-decoration: none;

				& .historyList-img {
					aspect-ratio: 3 / 2;
					overflow: hidden;
					background: #f5f5f5;
					margin-bottom: 5px;
					border-radius: 10px;

					& img {
						display: block;
						object-fit: contain;
						width: 100%;
						height: 100%;
					}
				}
				& .historyList-name {
					font-size: 1.2rem;
					text-decoration: underline;
				}
				& .historyList-soldout {
					font-size: 1.1rem;
					margin-top: 5px;
					background: #999;
					text-align: center;
					color: #fff;
					font-weight: 400;
					padding: 5px;
					line-height: 1;
				}
			}
		}
	}
}

	

/* ------------------------------------------------------- */
/* YouTube ----------------------------------------------- */
/* ------------------------------------------------------- */
/* <div class="youtube"> で埋め込みコードを囲む */

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-bottom: 20px;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
/*.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 20px;
}
.youtube iframe {
    width: 100%;
    height: 100%;
}*/


/*サムネイル付きカテゴリー*/
#main .categoryThumbList {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-gap: 0 10px;	
	
	@media (width <= 999px) {
		grid-template-columns: repeat(4, 1fr);
		grid-gap: 10px 10px;
	}
	@media (width <= 767px) {
		grid-template-columns: repeat(2, 1fr);
		font-size: 1.5rem;
	}
	
	& li {
		list-style: none;
		margin: 0;
		
		& a {
			display: block;
			text-decoration: none;
			font-weight: 700;
			text-align: center;
			box-shadow: 7px 7px 0 0 rgba(204,204,204,0.2);
			background: #fff;
			border: 1px solid #ccc;
			overflow: hidden;
			border-radius: 10px;
			height: 100%;
			
			& span {
				display: block;
				object-fit: contain;
				line-height: 0;
				padding: 10px;
				
				& img {
					display: block:
				}
			}
			& p {
				margin-bottom: 0;
				padding: 15px 10px;
			}
			&:hover {
				border: 1px solid #999;
				transform: scale(1.02);
			}
		}
	}
	& li:nth-child(3n + 1) {
		& a {
			& span {
				background: var(--color-sub-thin);
			}
			& p {
				color: var(--color-sub);
			}
		}
	}

	& li:nth-child(3n + 2) {
		& a {
			& span {
				background: var(--color-accent-thin);
			}
			& p {
				color: var(--color-accent-deep2);
			}
		}
	}

	& li:nth-child(3n) {
		& a {
			& span {
				background: var(--color-main-thin);
			}
			& p {
				color: var(--color-main);
			}
		}
	}
}


	