body {
	-webkit-text-size-adjust: 100%;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.pickupLayout p {
    width: 94%;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}

#tableTemplate {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;    
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', "メイリオ", Meiryo, Osaka, 'ＭＳ Ｐゴシック', sans-serif;
	line-height: 1.4;
	font-size: 14px;
	color: #333;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}
#tableTemplate a {
    color: #1471a9;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}
#tableTemplate td a {
    font-size: 16px;
}
#tableTemplate td a:hover {
    opacity: 0.7;
}
#tableTemplate a:hover {
    text-decoration: none;
}
#tableTemplate table th {
    font-weight: 500;
    font-size: 14px;
}
#tableTemplate table td,
#tableTemplate table th {
    text-align: center;
    padding: 12px 5px 9px;
    border:1px solid #ccc;
}
#tableTemplate thead th {
	background: #e6e6e6;
}
#tableTemplate table td {
    height: 103px;
    width: calc(100% / 4);
}

#tableTemplate .d_none {
    display: none;    
}

@media screen and (max-width: 1024px) {
    #tableTemplate {
        width: auto;
        margin: 0;
    }
	#tableTemplate table th {
        padding-left: 1em;
        padding-right: 1em;
        white-space: nowrap;
    }
	#tableTemplate table td {
        padding-left: 0.5em;
        padding-right: 0.5em;
	}
}
@media screen and (max-width: 414px) {
    #tableTemplate td a {
        font-size: clamp(12px, 3.6vw, 16px);
        opacity: 1;
        font-weight: 700;
    }
    #tableTemplate table td {
        line-height:1.4;
    }
    #tableTemplate a#acp01,
    #tableTemplate a#acp02,
    #tableTemplate a#acp03,
    #tableTemplate a#acp04{
        display: block;
        margin-top: -50px;
        padding-top: 50px;
    }
}

.inner {
    margin: 10px;
}
#tableTemplate .mainVisual {
	width: 1170px;
    margin: 0 0 10px;
}
@media screen and (max-width: 1024px) {
    #tableTemplate .mainVisual {
        width: auto;
    }
}
#tableTemplate .mainVisual h1 {
	display: block;
	width: 1170px;
    height: 340px;
}
@media screen and (max-width: 1024px) {
    #tableTemplate h1.mainVisual {
        background: none;
        width: auto;
        height: auto;
        padding: 0;
    }
    #tableTemplate h1.mainVisual img {
        width: 100%;
    }
}
#tableTemplate h2.bedCategory {
    font-size: 18px;
    background: #c0a8d9;
    color: #FFF;
    margin-top: 40px;
    padding: 10px;
    border-radius: 4px;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
    #tableTemplate h2.bedCategory {
        margin: 20px 10px 0;
    }
}
@media screen and (max-width:414px) {
    #tableTemplate h2.bedCategory {
        font-size: 16px;
    }
}

#tableTemplate table.responsive {
    width: 100%;
}
#tableTemplate table ul {}
#tableTemplate table ul li {
    text-align: center;
    line-height: 2;
}
#tableTemplate table .nameHead {
    font-weight: bold;
    background: #FFF;
    color: #333;
    /*text-align: left;*/
}
@media screen and (max-width: 1024px) {
    #tableTemplate table .nameHead {
        font-size: 12px;
        width: 100px;
    }
}

#tableTemplate table .nameHead a {
    display: block;
}
#tableTemplate table .nameHead a:hover, #tableTemplate table .nameHead a:active, #tableTemplate table .nameHead a:focus {
    opacity: 0.7;
}
@media screen and (max-width:1024px) {
	#tableTemplate table .nameHead a {
        text-decoration: none;
    }
}

#tableTemplate table .nameHead p {
    width: 55%;
    float: left;
    padding: 15px 10px 0;
    box-sizing: border-box;
    text-align: center;
}
@media screen and (max-width:1024px) {
	#tableTemplate table .nameHead p {
        float: none;
        width: 100%;
        padding: 0;
    }
}
@media screen and (max-width:414px) {
    #tableTemplate table .nameHead {
        text-align: center;
    }
	#tableTemplate table .nameHead p {
        line-height: 1.4;
    }
}
#tableTemplate table .nameHead span {
    font-weight: normal;
    color: #666;
    display: block;
    font-size:90%;
    margin-top: 0;
}
@media screen and (max-width: 1024px) {
    #tableTemplate table .nameHead span {
    }
}

#tableTemplate table .nameHead p + img {
	width: 100%;
    max-width: 70px;
    height: auto;
    float: right;
    margin-right: 10px;
}
@media screen and (max-width: 414px) {
    #tableTemplate table .nameHead p + img {
        margin-right: 0;
        float: none;
    }
}

@media screen and (max-width: 1024px) {
    #tableTemplate table .function {
        font-size: 10px;
        min-width: 150px !important;
    }
    table.responsive td,
    table.responsive th {
        min-width: 120px !important;
    }
}
#tableTemplate .name {
	font-weight: bold;
	color: #dc4fac;
	background: #ffeaf8;
}
.red {
	font-weight: normal;
	color: #c00;
}
#tableTemplate strong {
	font-size: 16px;
    color: #af1042;
}
.txtL {
    text-align: left !important;
}
@media screen and (max-width: 1024px) {
    .widthM {
        width: 200px;
    }
    .widthS {
        width: 180px;
    }
}
@media screen and (max-width: 414px) {
    #tableTemplate .bgprice strong {
	font-size: 14px;
    }
    #tableTemplate .bgprice span {
        font-size: 90%;
    }
    #tableTemplate strong {
	font-size: 14px;
    }
    
}

/* テーブルのレスポンシブ調整 */
/* 外枠 */
.dataArea {
    width: 1170px;
    margin-top: 10px;
    overflow: hidden;
}
@media screen and (max-width: 1024px) {
    .dataArea {
        width: auto;
        margin: 10px 10px 0;
    }
}
/* ロック部分 */
.lockBox {
    float: left;
    width: /*120px*/220px;
}
@media screen and (max-width: 1024px) {
    .lockBox {
        width: 40%;
    }
}
@media screen and (max-width: 414px) {
    .lockBox {
        width: 30%;
    }
}
.lockBox table {
    width: /*120px*/220px;
    table-layout: fixed;
    word-break: break-all;
}
@media screen and (max-width: 1024px) {
    .lockBox table {
        width: 100%;
        word-break: break-all;
    }
}
/* 横スクロール部分 */
.scrollBox {
    float: left;
    width: /*1050px*/950px;
}
@media screen and (max-width: 1024px) {
    .scrollBox {
        width: 60%;
        overflow-y: hidden;
        overflow-x: scroll;
    }
}
.scrollBox table {
    width: /*1049px*/950px;
}
@media screen and (max-width: 414px) {
    .scrollBox {
        width: 70%;
    }
}
@media screen and (max-width: 1024px) {
    .scrollBox table {
        width: /*1500px*/auto;
    }
}

/*ページ内リンク*/
.categoryScroll {
    width: 100%;
    margin: 40px 0 0;
    box-sizing: border-box;
    padding: 0;
    list-style: none;
    background: #e3d2eb;
    display: flex;
    justify-content: space-between;
    border-radius: 4px;
}
.categoryScroll li {
    text-align: center;
    width: 25%;
    border-right: solid 2px #FFF;
    box-sizing: border-box;
}
.categoryScroll li:last-child {
    border: none;
}
/*.categoryScroll li + li {
    margin-left: -1px;
}*/
.categoryScroll li a {
    display: block;
    padding: 10px 0 24px;
    text-decoration: none!important;
    color: #7256ad!important;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    background: url('../../acupuncture/img/catearrow_hover.png') no-repeat calc(50%) bottom;
}
.categoryScroll li a br.br320 {
	display: none;
}
.categoryScroll li a:hover, .categoryScroll li a:active, .categoryScroll li a:focus {
    background-image: url('../../acupuncture/img/catearrow_hover.png');
    background-color: #c0a8d8;
    color: #FFF!important;
}
@media screen and (max-width:1024px) {
	.categoryScroll {
        justify-content: center;
        flex-wrap: wrap;
        -webkit-justify-content: center;
        -webkit-flex-wrap: wrap;
    }
    .categoryScroll li {
        width: calc( calc(100% / 4) - 1px);
    }
    /*.categoryScroll li:nth-child(4n) {
        margin-left: 0;
    }*/
    .categoryScroll li a {
        font-size: 12px;
        background-size: 13px auto;
        background-position: center bottom;
		height: 100%;
    }
    .spMenu {
        display:none;
    }
}
@media screen and (max-width:414px) {
    .categoryScroll {
        display: none;
    }
    .spMenu {
        display:block;
    }
    .spMenu ul {
        width: 100%;
        margin: 40px 0 0;
        box-sizing: border-box;
        list-style: none;
        background: #e3d2eb;
        display: flex;
        justify-content: space-between;
        position: fixed;
        bottom: 0;
        padding: 10px 0;
        border-radius: 0;
        z-index: 100;
        align-items: center;
    }    
    .spMenu ul li {
        text-align: center;
        width: 25%;
        border-right: solid 2px #FFF;
        box-sizing: border-box;
    }
    .spMenu ul li:last-child {
        border-right: none;
    }
    .spMenu ul li a {
        padding: 10px 0 24px;
        text-decoration: none;
        color: #7256ad!important;
        font-size: 16px;
    }
    #tableTemplate table td:nth-child(1) {
        line-height: 1.4;
        width: 250px;
        min-width: 180px;
        font-size: 14px!important;
    }
    #tableTemplate table td:nth-child(3) {
        line-height: 1.4;
        width: 200px;
        min-width: 150px;
        font-size: 14px!important;
    }
}
    
@media screen and (max-width:320px) {
.spMenu ul li a {
    font-size: 12px!important;
    font-weight: 700!important;
    }
}



table.data {
/*    table-layout: fixed;*/
    border-collapse: collapse;
    border-spacing: 0;
}
table.data th,
table.data td {
    vertical-align: middle;
    padding: 2px;
    border-right: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
/*  overflow: hidden;  データが幅を超えたとき非表示に */
/*  white-space: nowrap;  データの折り返しを防止 */
}
table.data th {
    border-top: 1px solid #CCC;
    background: #EEF1F4;
}
/*.imgWidth {
    width: 120px;
}*/
table.data td p {
    margin: 0; /* 余分なマージンを消去 */
}
table.data td p.bgprice > a {
    color: #ed0016 !important;
    font-weight: bold;
}





