/**fix_20221210_uetani**/
main #right_column { margin-top: 80px;}
div#hospital { width: 100%;padding: 0 15px; box-sizing: border-box;}
@media screen and (min-width: 768px){
 #wrap { width:100%; max-width: 1220px;margin: 10px auto;}
 #container {width:100%; max-width: 1220px;}
 main #left_column {width: 30%;max-width: 300px; box-sizing: border-box; margin: 0;}
 main #right_column {width: 70%;flex: 1;box-sizing: border-box;margin: 0;}
 #pankuzu {padding: 0 15px;box-sizing: border-box; }
 div#hospital {width: 100%;max-width: 920px;padding: 0 15px; box-sizing: border-box; }
 div#hospital section#price dl.table dd, div#hospital section#deadline dl.table dd { max-width: 195px; }
 div#hospital section#deadline .box_wrap .box h4 {max-width: 190px;}
}

/**fix_uetani_231008**/
.download_tem_01{display: flex; flex-wrap: wrap; align-items: center; text-decoration: none !important; margin: 10px 0; color: #000 !important; font-size: 15px;}
.download_tem_01 img { width: 156px; margin-right: 10px;}
.download_tem_01 b{ flex:1;}
@media screen and (max-width: 768px){
	.download_tem_01{font-size: 13px; line-height: 1.3;}
	.download_tem_01 img { width: 110px;}
}
/**common.css の修正**/
	.sidebar-wrapper .product-section { margin-bottom: 20px;}
	/**page-content.css の修正**/
	.page-content { padding-left: 0px; padding-right: 0px; box-sizing: border-box;}
	.page-content h2.item_title { font-size: 20px; background: #0202e5; color: #fff; padding: 0.5em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2;}
	.page-content h3.item_title { font-size: 20px; background: #0202e5; color: #fff; padding: 0.5em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2;}
	.item_title span{ font-size: 14px; padding: 0 10px 0 10px;}
	.price-table-wrapper table .price.reasonable, .price-table-wrapper table .price.reasonable a { background: #E4007F; border: solid 1px #E4007F;}
	.price-table-wrapper table .price.standard, .price-table-wrapper table .price.standard a { background: #1d8fff; border: solid 1px #1d8fff;}
	.price-table-wrapper .table-mobile-wrap th.reasonable, .price-table-wrapper table thead th.reasonable { color: #E4007F; border-color: #E4007F;}
	.price-table-wrapper table span { font-size: 12px; letter-spacing: 0;}
	.page-content .small { font-size: 13px; line-height: 1.5;}
	#header h1 { height: 18px;}
	@media screen and (min-width: 768px){
		.page-content { width: 100%; max-width: 920px; padding: 0; padding-left: 15px; padding-right: 15px; box-sizing: border-box;}
		.page-content h2.item_title { font-size: 23px; line-height: 1.6; margin-bottom: 20px;}
		.page-content h3.item_title { font-size: 23px; line-height: 1.6; margin-bottom: 20px;}
		.item_title span{ font-size: 17px; }
		.price-table-wrapper table span { font-size: 13px;}
		#header h1 { height: auto;}
	}

/**スライドショー部分**/
.swiper-wrapper{align-items:center;}
	.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {content: 'next';font-size: 25px !important;font-weight: bold;color: #fff;	text-shadow: 1px 1px 3px #666;}
	.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {content: 'prev';font-size: 25px !important;font-weight: bold;	color: #fff;text-shadow: 1px 1px 3px #666;}
	.swiper-pagination-bullet-active {background: #fff !important;}
	.swiper-container {  position: relative; overflow: hidden;}
	.swiper-container .swiper-slide { text-align: center; line-height: 1; display: flex; align-items: flex-start; justify-content: center;}
	.swiper-container .swiper-slide img { display: inline; width:560px; max-width: 100%; max-height: 100%; align-self: center;}
	.swiper-container .swiper-button-white:focus {outline: none;}

/**item_header部分**/
	.plan_gekiyasu{ background: #E4007F; color: #fff;}
	.plan_tsujyo{ background: #1d8fff; color: #fff;}
	.plan_tokyu{background: #292929; color: #fff;}
	
	.ff_Montserrat{ font-family: 'Montserrat', sans-serif;}
	.item_base{ margin-bottom: 3rem;}
	.item_header{display: flex; flex-wrap: wrap;align-items:center;font-family:sans-serif;}
	.item_img{ width: 58%; position: relative; overflow: hidden;}
	.item_info{ width: 42%; padding:0 0 0 20px; box-sizing: border-box; line-height: 1.3;}
	.item_info_txt{ font-size: 19px; font-weight:bold; margin:1rem .3rem;}
	.item_price_item{display: flex; flex-wrap: wrap; margin-bottom: 8px; box-shadow: 2px 2px 4px 0px rgb(0 0 0 / 15%);}
	.item_price_L { width: 45%; padding: 10px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: flex-end;}
	.item_price_003 .item_price_R { background: none;}
	.item_price_L_inner { width: 100%; text-align: right;}
		.item_price_L_txt01{ font-size: 20px; font-weight: bold;}
		.item_price_L_txt02{ font-size: 12px; line-height: 1.2; margin-top: 5px;}
	.item_price_R{ padding: 10px; box-sizing: border-box; flex: 1; display: flex; flex-wrap: wrap; align-items: center;}
	.item_price_R_inner{ width: 100%;}
		.item_price_001 .item_price_L{background: #E4007F; color: #fff;}
		.item_price_002 .item_price_L{background: #1d8fff; color: #fff;}
		.item_price_003 .item_price_L{background: #292929; color: #fff;}
		.item_price_001 .item_price_R{color: #E4007F; }
		.item_price_002 .item_price_R{color: #1d8fff; }
		.item_price_003 .item_price_R{color: #292929; }
		.item_price_R_txt01{font-size: 14px; font-weight: bold; color: #333;}
		.item_price_R_txt02{font-size: 31px;font-family: 'Montserrat', sans-serif; font-weight: bold; text-align: right;}
		.item_price_R_txt02 span{ font-size: 60%;}
		.item_price_R_txt03{ font-size: 12px; font-family: 'Montserrat', sans-serif; text-align: right;}

	.item_price_item_other{ font-size: 14px; text-align: right;}
	.item_price_item_other a{ text-decoration: underline; color:darkblue ;}
	
	.item_point_base{display:flex;flex-wrap:wrap;justify-content:center;margin: 1rem .2rem 1.2rem;}
	.item_point{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;width:75px;min-height:75px;border-radius:.5rem;text-align:center;font-size:.7rem;font-weight:bold;line-height: 1.2;margin: .3rem;box-shadow: 2px 2px 4px 0px rgb(0 0 0 / 35%);}
	.item_point_01{background:linear-gradient(45deg, #75b2ff, #50ffe3);}
	.item_point_02{background:linear-gradient(45deg, #fcffad, #ffdbc9);}
	.item_point_03{background:linear-gradient(45deg, #ff95e3, #ffdee6);}
	.item_point_04{background:linear-gradient(45deg, #95ff96, #deffe7);}
	.item_point_05{background:linear-gradient(45deg, #f8ff4d, #feffeb);}
.scroll-button1 {display: flex;justify-content: center;align-items: center;width: 250px;margin:1.5rem auto;padding: .9em 2em;border: 1px solid #169dfe;border-radius: 5px;background-color: #fff;color: #169dfe;font-size: 1em;}
.scroll-button1:hover {border: none;background-color: #169dfe;color: #fff;font-weight: 600;}
html{scroll-behavior:smooth;}
	@media screen and (max-width: 1200px){
		.iipLt_br{ display: none;}
	}
	@media screen and (max-width: 1000px){
		.item_img{ width: 100%;}
		.item_info{ width: 100%; padding: 0;}
	}
	@media screen and (max-width: 768px){
        .item_point{width:65px;height:65px;font-size:.6rem;}
		.item_info_txt { font-size: 17px; margin:1.5rem;}
		.item_price_L_txt01 { font-size: 18px;}
		.item_price_L_txt02 { font-size: 12px;}
		.item_price_R_txt01 { font-size: 12px;}
		.item_price_R_txt02 { font-size: 26px;}
	}
/**既存部分修正**/
	.cont_inner{ box-sizing: border-box; padding: 0 10px; margin: 0 0 50px 0;}
	.width85{width:85%;margin:0 auto;font-size:.8rem;font-family: sans-serif;}
	.info ul li::before{content:'▶';}

    /* 紹介box */
.estimate-item {background:#ffe1e5;display:flex;align-items:stretch;justify-content: center;font-family:sans-serif;gap:20px;padding: 2%;border-radius: 8px;margin-bottom: 20px;flex-wrap: wrap;max-width:90%;margin-left: auto;margin-right: auto;align-items: center;}
.estimate-item a img {border:1px solid #212121e0;display: block;width: 500px;max-width: 100%;height: auto;}
.estimate-info {display:flex;background:#fff;flex-direction:column;justify-content:center;padding:0 1rem;flex: 1;min-height: 250px; /* 文章の短いものでも統一 */max-width: 500px;}
.estimate-item h4{font-size: 1.4rem;font-weight:bold;margin:0 auto;}
.estimate-info p{font-size:120% !important;font-weight: bold;line-height:1.87;}
/* .estimate-item img:hover{transform:scale(1.1,1.1);transition:.3s all;} */
/* スマホ用：縦並びに変更 */
@media (max-width: 800px) {
.estimate-item {flex-direction: column;text-align: center;padding: 4.6%;}
.estimate-item h4{font-size: 19px;}
.estimate-info {min-height: auto;margin: 0 auto;padding:.8rem;}
.order-button {max-width: 90%;}
.estimate-item img {max-width: 80%;height:auto;display:block;margin:0 auto;background:#212121e0;}
.estimate-info p{text-align: left;margin-bottom:1.5rem;}
.label{top:80px!important;z-index:5;}
}
@media (max-width: 900px) and (min-width: 800px) {
.estimate-item img {max-width:250px;height:auto;}
}
.bikou h4{font-size:16px;font-weight:bold;}
.souryo {width: fit-content;color: #fff;padding: 3px;font-size:14px;margin: 1px 0;}

.other-size{margin:2rem auto;}
.other-size li{position:relative;width:fit-content;}
.other-size li a{font-weight:bold;display:block;font-size:1.1rem;}
.other-size li a::before{content:'';position: absolute;width: 0;height: 0;border-style: solid;border-width: 4px 0 4px 5px;border-color: transparent transparent transparent #000000;top: 50%;left:-1rem;-webkit-transform: translate(0%, -50%);transform: translate(0%, -50%);}
.other-size li a:hover{color:red; }
.other-size li{margin:.5rem auto .5rem 3rem;}
.dialog_content {width:310px;max-width: 100%;}
.select-item select{width:100%;}
.info-card{margin:.4rem;padding:1rem;border-radius:.4rem;gap:1.2rem;align-items: center;background:#c3bdff;
    /* background-image:url(https://visipri.com/woodpanel/img/wood-texture.webp);background-position:center;background-repeat:no-repeat;background-size:cover; */
}
.info-card a {display: block;width:500px;max-width:45%;height:auto;margin:0 auto;}
.info-card a img{display:block;width:100%;border:4px solid;background: #fff;}
.info-expl{width:400px;max-width:46%;margin:0 auto;background:#ffffffba;padding:.8rem;height:auto;border-radius:0.4rem;font-family:sans-serif;align-content:center;}
.info-expl h4{text-align:center;margin:0 auto 1rem;color:#f93434;border-bottom:2px solid #492003;}
.info-expl p{font-size:.8rem;margin:.4rem;}
.info-expl ol{font-size:.8rem;}
@media(max-width:768px){
	.info-card{flex-direction:column;}
	.f-wrap .info-card:nth-child(even){flex-direction:column-reverse;}
	.info-card a{width:360px;max-width:96%;}
	.info-expl{max-width: 85%;}
}
/* デザインオプションのボタン */
.div-design-option-button{position: relative;width: fit-content;margin:auto;}
.div-design-option-button a{width:100%;height:100%;display:block;position:absolute;top:0;opacity: 0;}
#design-option-button{display:block;width:280px;max-width:94%;border-radius:.4rem;margin:0 auto;box-shadow:5px 8px 5px #5e5e5e;}
.div-design-option-button:hover #design-option-button{transform:scale(1.08);}

.imp{width:690px;max-width:90%;margin:0 auto;}
.imp h4{color:#000;font-size:1.2rem;display:flex;align-items:center;font-weight:bold;margin:.2rem auto .7rem;border-bottom:2px solid;width:fit-content;text-align:center}
.imp h4 img{width:1.5rem;height:1.5rem;margin-right:5px;}
.imp p{margin:.2rem 1.5rem;}
.b-border{padding:.5rem;border-radius:.4rem;border:4px solid red;}
/* 新料金表　20240205 */
.bottom-mg{margin-bottom:3rem;}
        .price_box_wrap { margin: 0 0 10px 0;}
        .price_box_wrap * {box-sizing: border-box;}
        .price_box{ width: 100%; display: flex; }
        .p_item_L{ width: 35%;  display: flex; flex-wrap: wrap;}
        .p_item_R{ width: 65%;  display: flex; justify-content: space-between;}
        .p_item_R .title_area{ width: 100%; text-align: center; position: relative; width: 32%;}
        .p_item_R .title_area h4{ position: relative;}
        .p_item_R .title_area h4 span{ height: unset !important; line-height: unset !important; margin-bottom: unset !important;  padding-top: unset !important; font-size: 16px !important;}
        .p_item_R .title_area i { width: 100%; text-align: center; font-size: 11px !important;}
        .p_item_R .title_area:nth-of-type(1) h4 span{ border: solid 1px #E4007F; color: #E4007F; font-weight: bold; padding: 26px 10px 12px 10px !important; }
        .p_item_R .title_area:nth-of-type(2) h4 span{ border: solid 1px #00A1E9; color: #00A1E9; font-weight: bold; padding: 26px 10px 12px 10px !important; }
        .p_item_R .title_area:nth-of-type(3) h4 span{ border: solid 1px #000000; color: #000000; font-weight: bold; padding: 26px 10px 12px 10px !important; }
        .p_item_R .title_area:nth-of-type(1) h4 i{  color: #E4007F !important; margin: 5px 0 0 0; display: inline-block; }
        .p_item_R .title_area:nth-of-type(2) h4 i{  color: #00A1E9 !important; margin: 5px 0 0 0; display: inline-block; }
        .p_item_R .title_area:nth-of-type(3) h4 i{  color: #000000 !important; margin: 5px 0 0 0; display: inline-block; }
        .p_item_R .title_area p { font-size: 15px; font-weight: bold; padding: 10px; position: absolute; top: -30px; width: 90%; left: 5%; text-align: center; }
        .p_item_R .title_area:nth-of-type(1) p{ background:  #E4007F; color: #fff; font-weight: bold; border-radius: 20px;white-space:nowrap; }
        .p_item_R .title_area:nth-of-type(2) p{ background:  #00A1E9; color: #fff; font-weight: bold; border-radius: 20px; }
        .p_item_R .title_area:nth-of-type(3) p{ background:  #000000; color: #fff; font-weight: bold; border-radius: 20px; }
        .p_item_R .title_area:nth-of-type(1) p:before {content: ""; position: absolute; top: unset; bottom: -24px; left: calc(50% - 12px);        border: 12px solid transparent;        border-top: 12px solid #E4007F;}
        .p_item_R .title_area:nth-of-type(2) p:before {content: ""; position: absolute; top: unset; bottom: -24px; left: calc(50% - 12px);        border: 12px solid transparent;        border-top: 12px solid #00A1E9;}
        .p_item_R .title_area:nth-of-type(3) p:before {content: ""; position: absolute; top: unset; bottom: -24px; left: calc(50% - 12px);        border: 12px solid transparent;        border-top: 12px solid #000000;}
        .p_item_tit {position: relative; display: flex; flex-wrap: wrap; align-content: center; width: calc(100% - 30px); padding: 7px 10px; color: #000; background: #EBECF5;}
        .p_item_tit:before {content: ""; position: absolute; top: calc(50% - 20px);        left: 100%;        border: 20px solid transparent;        border-left: 16px solid #EBECF5;}
        .p_item_tit_L{ width: 100%; font-size: 15px; font-weight: bold;}
        .p_item_tit_L span{ display: block; width: 100%;font-size: .7rem;}
        .p_item_tit_S{ width: 100%; font-size:.9rem; margin: 5px 0 0 0;}
        .p_item_tit_S span{font-size:.7rem;}
        .p_item_tit_S_midashi {background: #555; color: #fff;padding: 0px 5px;font-weight: normal;margin: 0 5px 0 0;border-radius: 2px;font-size: 12px;display: inline-block;}
        .p_item_other_link{ width: 100%; margin: 5px 0 0 0;}
        .p_item_other_link span { display: inline-block !important; font-size: 10px; padding: 0 3px 0 0;}
        .p_bin{ position: relative; width: 32%; display: flex;}
        .p_bin a{display:flex;align-items:center;width:100%;height:100%;justify-content:center;text-align:center;padding:10px 0;font-size:.8rem!important;}
        .p_bin_txt{ display: none;}
        .p_bin_txt_03{ width: 100%; font-size: 13px; font-weight: bold;}
        .p_geki a{ background: #E4007F; color: #fff;}
        .p_tsuu a{ background: #00A1E9; color: #fff;}
        .p_toku a{ background: #000000; color: #fff;}
        span.middle-f{font-size:.8rem;display: inline;}
        .p_bin_txt_03:before { content:url(https://visipri.com/size/img/cart-icon.svg); position: absolute; width:17px;top:35%; right: 5%;z-index:2;}
@media screen and (max-width: 768px){
    .bottom-mg{margin-bottom:.3rem;}
        .price_box_wrap { margin: 0 0 15px 0;}
        .p_item_R .title_area{ display: none;}
        .price_box{ flex-wrap: wrap; }
        .p_item_L{ width: 100%; }
        .p_item_tit{ width: 100%; text-align: center; padding: 10px 5px;}
        .p_item_tit:before {content: ""; position: absolute; top: unset; bottom: -39px; left: calc(50% - 20px);        border: 20px solid transparent;        border-top: 20px solid #EBECF5;}
        .p_item_tit_L span{ display: inline; margin: 0 0 0 10px;}
        .p_item_R{ width: 100%; flex-wrap: wrap;}
        .p_item_other_link{ margin: 3px 0 0 0; text-align: right; min-height: 18px;}
        .p_bin{ position: relative; width: 100%; margin: 3px 0;}
        .p_bin_txt{ display: block; width: 50%; padding: 10px; text-align: center;}
        .p_geki .p_bin_txt{ border: solid 1px #E4007F; color: #E4007F; }
        .p_tsuu .p_bin_txt{ border: solid 1px #00A1E9; color: #00A1E9; }
        .p_toku .p_bin_txt{ border: solid 1px #000000; color: #000000; }
        .p_bin_txt_03{ width: 50%; }
        .p_geki .p_bin_txt_03{ border: solid 1px #E4007F;}
        .p_tsuu .p_bin_txt_03{ border: solid 1px #00A1E9;}
        .p_toku .p_bin_txt_03{ border: solid 1px #000000;}
        .p_bin_txt_01{ font-size: 12px;}
        .p_bin_txt_02{ font-size: 15px; font-weight: bold;}
}
#price {
    font-family: sans-serif;
}
.center-text{font-size:1rem;font-weight:bold;}
@media screen and (max-width: 768px) {
    .center-text, .item_info_txt {text-align: center;}
}
    span.marker {
background: linear-gradient(transparent 50%, #ffd700 100%);
}

/**fix_20221210_uetani**/
main #right_column { margin-top: 80px;}
div#hospital { width: 100%;padding: 0 15px; box-sizing: border-box;}
@media screen and (min-width: 768px){
#wrap { width:100%; max-width: 1220px;margin: 10px auto;}
#container {width:100%; max-width: 1220px; box-sizing: border-box;}
main #left_column {width: 30%;max-width: 300px; box-sizing: border-box; margin: 0;}
main #right_column {width: 70%;flex: 1;box-sizing: border-box;margin: 0;}
#pankuzu {padding: 0 15px;box-sizing: border-box; }
div#hospital {width: 100%;max-width: 920px;padding: 0 15px; box-sizing: border-box; }
div#hospital section#price dl.table dd, div#hospital section#deadline dl.table dd { max-width: 195px; }
div#hospital section#deadline .box_wrap .box h4 {max-width: 190px;}
}

/**common.css の修正**/
.sidebar-wrapper .product-section { margin-bottom: 20px;}
/**page-content.css の修正**/
.page-content { padding-left: 0px; padding-right: 0px; box-sizing: border-box;}
.page-content h2.item_title { font-size: 20px; background: #0202e5; color: #fff; padding: 0.5em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.4;}
.page-content h3.item_title { font-size: 20px; background: #0202e5; color: #fff; padding: 0.5em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2;}
.item_title span{ font-size: 14px; padding: 0 10px 0 10px;}
.page-content h3{border-bottom:none;}
.price-table-wrapper table .price.reasonable, .price-table-wrapper table .price.reasonable a { background: #00A1E9; border: solid 1px #00A1E9;}
.price-table-wrapper .table-mobile-wrap th.reasonable, .price-table-wrapper table thead th.reasonable { color: #00A1E9; border-color: #00A1E9;}

.price-table-wrapper table .price.standard, .price-table-wrapper table .price.standard a { background: #1d8fff; border: solid 1px #1d8fff;}
.price-table-wrapper .table-mobile-wrap th.standard, .price-table-wrapper table thead th.standard { color: #1d8fff; border-color: #1d8fff;}

.price-table-wrapper table .price.express, .price-table-wrapper table .price.express a { background: #292929; border: solid 1px #292929;}
.price-table-wrapper .table-mobile-wrap th.express, .price-table-wrapper table thead th.express { color: #292929; border-color: #292929;}

.price-table-wrapper table span { font-size: 12px; letter-spacing: 0;}
.page-content .small { font-size: 13px; line-height: 1.5;}
#header h1 { height: 18px;}
@media screen and (min-width: 768px){
.page-content { width: 100%; max-width: 920px; padding: 0; padding-left: 15px; padding-right: 15px; box-sizing: border-box;}
.page-content h2.item_title { font-size: 23px; line-height: 1.6; margin-bottom: 20px;}
.page-content h3.item_title { font-size: 23px; line-height: 1.6; margin-bottom: 20px;}
.item_title span{ font-size: 17px; }
.price-table-wrapper table span { font-size: 13px;}
#header h1 { height: auto;}
}
/**料金テーブル修正**/
.page-content h3.item_title_fix { display: flex; flex-wrap: wrap; margin-bottom: 20px;line-height: 1.2;padding: 0; min-height: 50px; border-bottom: none;box-sizing: border-box;}
/* 追加修正 */
.center-text{font-size:1rem;font-weight:bold;}
@media screen and (max-width: 768px) {
    .center-text, .item_info_txt {text-align: center;}}
.page-content h3 {display: inline-block;}

        .thumbnail-active {
            border: 2px solid #3b82f6;
            opacity: 1;
        }
        .thumbnail-inactive {
            border: 2px solid transparent;
            opacity: 0.7;
        }
        .thumbnail-inactive:hover {
            opacity: 1;
            border-color: #93c5fd;
        }

.top-h2{
    font-size: 2rem;
    text-align: center;
    margin: 3vh 0;
    color: #000;
    text-shadow: -2px 1px 5px #c2c2c2;
}
.gra{color:var(--primary-color);text-shadow:none;}
/* .gra{background:linear-gradient(358deg, #ffd871 0%, #d6aa00 45%, #e6c457 70%, #ffd73c 85% 85%, #ffaa00 90% 100%);-webkit-background-clip:text;-webkit-text-fill-color: transparent;text-shadow:none;background-size: 300% 100%;
animation: gradationTextAnimation 8s linear infinite;} */
@keyframes gradationTextAnimation{
    0%{
        background-position: 0 0;
    }
    50%{
        background-position: 100% 0;
    }
    100%{
        background-position: 0 0;
    }
}

.top-h2 span{display: block;font-weight:bold;margin:7px 0 0;font-size: 1.8rem;}



.class-batch span{font-size:.9rem;}
.f-kosu {align-items: flex-start;}
.prose p {font-size:.8rem;}
.coment span{font-size: 1.1rem;}
.dialog_content {color: #000;}
.bg-white{background:#fff;}
.max-w-7xl{max-width: 95%;width: 900px;margin: 0 auto;}
.shadow-lg{box-shadow:0 0 8px #989898, 0 0 8px #6a6a6a;}
.overflow-hidden {overflow: hidden;}
.rounded-lg {border-radius: 0.5rem;}
.grid {display: grid;grid-auto-rows: auto;}
.gap-8 {gap: 2rem;}
.gap-2 {gap: 0.5rem;}
.grid-cols-1 {grid-template-columns: repeat(1, minmax(0, 1fr));}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {--tw-space-y-reverse: 0; margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {--tw-space-y-reverse: 0;margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));}
.text-gray-700 {--tw-text-opacity: 1;color: rgb(55 65 81 / var(--tw-text-opacity, 1));}
.py-2 {padding-top: 0.5rem;padding-bottom: 0.5rem;}
.px-3 {padding-left: 0.75rem;padding-right: 0.75rem;}
.border-gray-300 { --tw-border-opacity: 1;border-color: rgb(209 213 219 / var(--tw-border-opacity, 1));}
.border {border-width: 1px;}
.rounded-md {border-radius: 0.375rem;}
.w-full {width: 100%;}
.h-full {height: 100%;}
.flex {display: flex;}
.shadow-sm {border: solid 1px #000;}
.text-3xl {font-size: 1.6rem;line-height:2rem;font-weight: bold;text-align:center;}
.text1rem{font-size:1rem;}
.text-center{text-align: center;}
.mb-2 { margin-bottom: 0.5rem;}
.block {display: block !important;}
.text-sm {font-size: 0.875rem;line-height: 1.25rem;}
.list-disc {list-style-type: disc;}
.list-inside {list-style-position: inside;}
.mt-3 {margin-top: 0.75rem;}
.text-white {--tw-text-opacity: 1;color: rgb(255 255 255 / var(--tw-text-opacity, 1));}
.font-semibold {font-weight: 600;}
.py-3 {padding-top: 0.75rem;padding-bottom: 0.75rem;}
.px-6 {padding-left: 1.5rem;padding-right: 1.5rem;}
.bg-blue-600 {--tw-bg-opacity: 1;background-color: rgb(37 99 235 / var(--tw-bg-opacity, 1));}
.rounded-lg {border-radius: 0.5rem;}
.f-kosu {align-items: flex-start;}
.justify-center {justify-content: center;}
.items-center {align-items: center;}
.t-pic{width:340px;;max-width:100%;margin:0 auto;}
.gap-2 {gap: 0.5rem;}
.w-4 {width: 1rem;}
.h-4 {height: 1rem;}
.aspect-square { aspect-ratio: 1 / 1;}
.grid-cols-4 {grid-template-columns: repeat(4, minmax(0, 1fr));padding: 0 2rem;}
.grid-cols-5 {grid-template-columns: repeat(5, minmax(0, 1fr));padding: 0 2rem;}
div#priceDisplay {text-align: center;color: #fff;font-size: 1rem;border-bottom: 2px solid;margin: 0 0 5px;}

.duration-200 {transition-duration: 200ms;}
.object-cover { object-fit: cover;width: -webkit-fill-available;}
.transition-colors {transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);transition-duration: 150ms;}
.space-y-4{align-content:center;}
.space-y-4 select {color: #615959;font-size:1rem;font-weight: bold;}
.text-white {--tw-text-opacity: 1;color: rgb(255 255 255 / var(--tw-text-opacity, 1));}
.space-y-6 {align-content: center;}
.lg\:p-8 {padding:1.9rem;}
@media (min-width:820px) {
    .lg\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr));}
}
@media (min-width: 640px) {
    .sm\:px-6 {padding-left: 1.5rem;padding-right: 1.5rem;}
}


/* お客様の声モーダル制御 */
#image-modal {position: fixed;top: 0;left: 0;width: 100vw;height: 100%;background-color: rgba(0, 0, 0, 0.85);z-index: 9999;align-items: center;justify-content: center;text-align: center;}
#modal-content{width:500px;max-width:93%;}
.modal-inner {position: relative;display: flex;max-width: 97%;width: 700px;justify-content: center;}

@media (max-width: 767px) {
#image-modal img {max-width: 80%;max-height: 80%;object-fit: contain;border-radius: 10px;box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);display: block;}
}

#image-modal .modal-close {position: absolute;top: 6px;right: -10px;font-size: 1.8rem;font-weight: bold;color: #fff;cursor: pointer;z-index: 11;background-color: rgba(0, 0, 0, 0.4);padding: .5rem;border-radius: 100%;line-height: 1;transition: background-color 0.2s;width: 30px;height: 30px;border: 3px solid #c6c6c6;}

@media screen and (max-width: 767px) {
 #image-modal .modal-close {font-size: 2rem;top: 3px;right: 25px;}
}
.m-img-a {border: 2px solid #00A1E9;margin-bottom: 1rem;}
.grid img{border:1px solid#00A1E9;}
.item_info_cate {display: flex;flex-wrap: wrap;align-items: center;font-size: 1.2rem;font-weight: bold;width: auto;background: #0202e5;color: #fff;border: none;border-bottom: solid 3px #0202e5;border-right: none;padding: 5px 13px 0 13px;box-sizing: border-box;position: relative;}
.item_info_cate_after img {width: 100%; height: 100%;}
.item_info_cate_name {display:flex;flex-wrap: wrap;align-items: center;font-size: .7rem;color: #fff;flex: 1;box-sizing: border-box;background: #0202e5;}
.shadow-sm{border:solid 2px #00A1E9;}
.class-batch {border-radius: 8px;font-size: 1.3rem;padding: .1rem .3rem;box-shadow: 2px 2px 3px #b4b4b4;background: #00A1E9;color: #fff;text-align: center;font-weight: bold;margin: .5rem auto 2.1rem;width: 300px;max-width: 100%;}
button#addToCartBtn {padding:1.2rem;font-size:1.5rem;background: #00A1E9;display: flex;flex-direction: column;}
button#addToCartBtn2 {padding:1.2rem;font-size:1.5rem;background:#00A1E9;display: flex;flex-direction: column;}
button#addToCartBtn3 {padding:1.2rem;font-size:1.5rem;background:#00A1E9;display: flex;flex-direction: column;}
button#addToCartBtn4 {padding:1.2rem;font-size:1.5rem;background:#00A1E9;display: flex;flex-direction: column;}

button#addToCartBtn:hover  { background-color:#fff; color:#00A1E9;border:.5px solid #00A1E9;cursor:pointer;}
button#addToCartBtn2:hover { background-color:#fff; color:#00A1E9;border:.5px solid #00A1E9;cursor:pointer;}
button#addToCartBtn3:hover { background-color:#fff; color:#00A1E9;border:.5px solid #00A1E9;cursor:pointer;}
button#addToCartBtn4:hover { background-color:#fff; color:#00A1E9;border:.5px solid #00A1E9;cursor:pointer;}
.dsc-box {padding: 0 1rem;}
.dsc-box p { font-size:.9rem;margin:1rem .5rem;line-height: 1.57rem;}
.dsc-box p span{font-weight:bold;}
.dsc-box h4 {font-size:1.1rem;border-bottom: 1px solid;margin-bottom: .5rem; width: fit-content;font-weight: bold;}
.tbm{margin: 0 !important;}
.bi{margin: 0 .9rem;}

.nouki-plan{display:flex;flex-wrap:wrap;justify-content: center;}
.nouki-plan a{display:block;margin:.5rem 1rem;-webkit-transition: all .3s;transition: all .3s;}
.nouki-plan a:hover {-webkit-transform: translateY(-5px);-ms-transform: translateY(-5px);transform: translateY(-5px);}
.nouki-plan a img{display:block;width:250px;max-width: 100%;}

.heading-21 {position:relative;padding:.5rem .5rem .1rem;border-bottom: 3px solid #00A1E9;border-top: 3px solid #00A1E9;color: #00A1E9;font-size: 1.3rem;text-align: center;font-weight: bold;width:83%;margin:.5rem auto 2rem;}
.heading-21 span{font-size:.8rem;}
.heading-21::before,
.heading-21::after {position: absolute;left:70px;bottom: -15px;width: 30px;height: 15px;clip-path: polygon(0 0, 100% 0, 50% 100%);content: '';}
.heading-21::before { background-color: #00A1E9;}
.heading-21::after { bottom: -11px;background-color: #fff;}

@media screen and (max-width: 500px) {
.max-w-7xl { max-width: 98%;}
.dialog_content {width:310px;max-width: 100%;}
}
/* ダイアログ修正 */
.select-item select{width:100%;}
.imp{width:690px;max-width:95%;margin:0 auto;}
.imp h4{font-size:1.3rem;display:flex;align-items:center;font-weight:bold;margin:.2rem auto .7rem;border-bottom:2px solid;width:fit-content;text-align:center}
.imp h4 img{width:1.5rem;height:1.5rem;margin-right:5px;}
.imp p{margin:.2rem 1.5rem;}
.b-border{padding:.5rem;border-radius:.4rem;border:4px solid red;}

/* アコーディオン */
.accordion_wrapper {width:96%;margin: 1.5rem auto;}
.accordion-box {border: 1px solid #ccc;border-radius:.4rem;margin-bottom: 10px;overflow: hidden;}
.accordion-box summary {cursor:pointer;padding:1rem;font-size: clamp(0.9rem, 2.5vw, 1rem);font-weight:bold;background:linear-gradient(134deg, #5a87ff, #00fff2);display:flex;align-items: center;justify-content: space-between;list-style:none;-webkit-appearance:none;}
.accordion-box summary::-webkit-details-marker {display: none !important;}
.accordion-box summary .icon {transition: transform 0.3s ease;color:blue;font-size:1.8rem;}
summary h3{text-align: center;font-size:1.1rem!important;color:#ffffff!important;width: fit-content;margin: 0 auto;border:none!important;}
summary h3 span{color:#ffff00;}
.accordion-box summary h4{text-align:center;font-size:1.3rem!important;color:#ffffff!important;width:fit-content;margin: 0 auto;}
.accordion-box summary h4 span{color:#ffff00;}
details[open] summary .icon {transform: rotate(180deg);}
.accordion-box p {padding: 1rem;margin: 0;background: #fff;font-size:.8rem;}
.accordion-box p a{font-weight:bold;border-bottom:2px solid;}
.accordion-box h5{padding:12px 20px 5px;font-size: 1.6rem;color:#5454ff;font-weight: bold;}
.accordion-box ul li{font-size:.9rem;margin:1rem;}
.bc-img{width:100%;margin:1vh auto;display:flex;flex-wrap: wrap;}
.bc-img img{width: 800px;max-width: 100%;margin: 0 auto;}
/* アコーディオン end*/

#designOP-button{display:block;width:fit-content;margin:0 auto;}
#designOP-button img{display: block;width: 315px;max-width:85%;margin:auto;border-radius:.4rem;box-shadow: 4px 6px 5px #989898;}
#designOP-button:hover{transform:scale(1.05);}