/*display flexの指示*/
	.flex-f_w-a_c-j_c{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
	.flex-f_w-a_c-j_sb{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;}
	.flex-f_w-a_c-j_sa{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-around;}

/*image画像等の指示*/
	.img_w100 { width: 100%;}
	
/*image画像　横並びの指示*/
	/*フルワイド：画像2枚横並び　width768px以下：画像1枚*/
	.full_w2img-768_w1img{ width: 49%;}
	/*フルワイド：画像3枚横並び　width768px以下：画像1枚*/
	.full_w3img-768_w1img{ width: 32%;}
	@media screen and (max-width: 768px){
		.full_w3img-768_w1img{ width: 100%;}
	}
	/*フルワイド：画像4枚横並び　width768px以下：画像1枚*/
	.full_w4img-768_w1img{ width: 24%;}
	@media screen and (max-width: 768px){
		.full_w4img-768_w1img{ width: 100%;}
	}
	
	/*フルワイド：画像2枚横並び　width768px以下：画像2枚*/
	.full_w2img-768_w2img{ width: 49%;}
	/*フルワイド：画像3枚横並び　width768px以下：画像2枚*/
	.full_w3img-768_w2img{ width: 32%;}
	@media screen and (max-width: 768px){
		.full_w3img-768_w2img{ width: 49%;}
	}
	/*フルワイド：画像4枚横並び　width768px以下：画像2枚*/
	.full_w4img-768_w2img{ width: 24%;}
	@media screen and (max-width: 768px){
		.full_w4img-768_w2img{ width: 49%;}
	}
span.marker {background: linear-gradient(transparent 50%, #ffd700 100%);}
/* 新料金表　20240205 */
        .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; margin: 0 0 15px 0; 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: 12px !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; }
        .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%;}
        .p_item_tit_S{ width: 100%; font-size: 12px; margin: 5px 0 0 0;}
        .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;}
        .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;}
        .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){
        .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;}
}


/* お客様の声　20240205*/

.voice_base{ padding: 15px; border: solid 1px #aaa; border-radius: 8px; position: relative; margin: 40px auto;}
.voice_base * {box-sizing: border-box;}
.voice_box{ display: flex; flex-wrap: wrap;}
.voice_c_01{ display: flex; flex-wrap: wrap; align-items: center; justify-content: center; background: #e1f0fc; width: 100px; margin-bottom: 7px; padding: 10px; font-size: 13px;}
.voice_c_02{ display: flex; flex-wrap: wrap; align-items: center; padding: 10px; flex: 1; font-size: 15px; margin-bottom: 7px;}
.voice_name{ display: inline-flex; align-items: center; font-size: 18px; font-weight: bold; position: absolute; top: -20px; left: 10px; background: #fff; color: #0202e5 ; padding: 3px 10px;}
.voice_name img{ width: 35px; height: 35px; margin: 0 10px 0 0; }
.voice_product{ margin: 15px 0 0 0;}
.voice_date .voice_c_02{ font-size: 13px;}
.voice_img .voice_c_02{ justify-content: space-between;}
.vi_block { width: 32%; max-width: 300px; aspect-ratio: 1 / 1; overflow: hidden;}
.vi_block_base::after{  content:"";  display: block;  width:32%;}
.vi_block img{ width: 100%; height: 100%; object-fit: cover;}
.voice_order_base{ text-align: right;}
.voice_order_btn{ display: inline-block; position: relative; max-width: 160px; font-size: 14px; color: #fff; margin: 5px 0 5px auto; padding:0; background: #0202e5;   border-radius: 20px; height: 30px;}
.voice_order_btn_txt{ position: absolute; left: 20px; top: 5px; z-index: 0;}
.voice_order_btn a{ font-size: 13px; color: #fff; padding: 7px 10px 0px 10px; display: inline-block; overflow: hidden; text-indent: 110%; white-space: nowrap; width: 100%; height: 100%; z-index: 1; position: relative;}
.voice_order_btn a br{ display: none;}
@media screen and (max-width: 768px){
	.voice_name{ font-size: 17px;}
	.voice_c_01{ font-size: 12px;}
	.voice_c_02{ font-size: 13px;}
	.voice_date .voice_c_02{ font-size: 12px;}
	.voice_img .voice_c_02{ justify-content: center;}
	.vi_block { width: 48%; margin: 5px 1% 5px 1%; }
	.vi_block_base::after{  content:"";  display: block;  width:48%;}
	.voice_order_base{ text-align: center;}
}

/* <!--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;}
}


.list-10 {
    padding: 1em 1em 1em 1em;
    border: 2px solid #030bfc;
}

.list-10 li {
    padding: .3em;
}

.list-8 {
font-size:13px;
    position: relative;
    padding: 1.5em 1em 1em 1.5em;
    border: 2px solid #0930f6;
    border-radius:1.5em;
}

.list-8 > #kaisetsukiji {
    position: absolute;
    top: -.75em;
    left: 1em;
    padding: 0 .5em;
    background-color: #fff;
    color: #0930f6;
    font-weight: 600;
}
.list-flex{
	display:flex;
justify-content: space-evenly;
}
.list-8 ul {
    margin: 0;
    padding: 0;
}

.list-8 li {
    padding: .3em .3em .3em 0;

}

.list-8 li::marker {
    color: #0930f6;
    font-size: 1.1em;
}

/*体裁編集用20250130*/
.lead_img {
    height: 350px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.lead_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

 @media screen and (max-width: 768px){ .lead_img{ height: 200px;}}  
.cont_innner p { line-height:2.0rem; }
span.marker { background: linear-gradient(transparent 50%, #ffd700 100%); }
.page-content .content-ol {list-style-position: inside; padding-left: 0; margin: 0; }
.page-content .content-ol > li {list-style-type: decimal; font-size: 17px; color: #0202e5; border-left: solid 4px #0202e5; padding: 0.1em 0 0.1em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2; position: relative; }
.page-content .content-ul > li {list-style-type: disc;list-style-position: inside; font-size: 17px; color: #0202e5; border-left: solid 4px #0202e5; padding: 0.1em 0 0.1em 1em; font-weight: bold; margin-bottom: 15px; line-height: 1.2; position: relative; display: flex;align-items: center; gap: 0; list-style: none;}
.page-content .content-ul > li::before {content: '•';color: #0202e5; font-size: 1em; margin-right: 0.5em; display: inline-block; line-height: 1;}


#header {
    z-index: 1000; /* ヘッダーを最前面に固定 */
}

@media screen and (min-width: 769px){
    .p_bin a {
    height: 85%;
}
}
/* 納期に応じて～セクションのレスポンシブ表示調整 */
@media (max-width: 767px) {
    div#hospital section#choice .box_wrap .box .title_area h4 span {
        position: absolute;
        width: 50%;
        height: 40px;
        text-align: center;
        color: #FFFFFF;
        font-size: 14px;
        top: -35px;
        left: 50%;
        transform: translateX(-50%);
        line-height: 40px;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
    }

    div#hospital section#choice .box_wrap .box .title_area h4,
    div#hospital section#choice .box_wrap .box .box_inner,
    div#hospital section#choice .box_wrap .box .box_inner .exp+p,
    div#hospital section#deadline .box_wrap .box h4 span {
    text-align: center;
}

/* ロゴをはみ出さないよう調整 */
}
#header h1 {
    height: 18px;
}

.p_item_R .title_area:nth-of-type(1) h4 i,
.p_item_R .title_area:nth-of-type(2) h4 i,
.p_item_R .title_area:nth-of-type(3) h4 i {
    margin: 20px 0 0 0;
}


	/* 第1セクションの表示調整 */
.content-wrapper {
    display: flex;
    gap: 20px;
}

/* 画像 */
.choice-img {width: 350px;height: auto;flex-shrink: 0;display: block;object-fit: contain;max-width: 50%;
}
#choice h3{color: blue;font-weight: bold;font-size:1.1rem;}
#choice p{font-size:.9rem;margin:.4rem 1.5rem;}
/* テキスト */
.choice-text {flex: 1;font-size:.8rem;line-height: 1.6;}
/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    #choice p{margin:.4rem 1rem;}
    .content-wrapper {
        flex-direction: column;
    }
    
    .choice-img {
        width: 100%;
        max-width: 400px;
		display: block;
        margin: 0 auto; /* 画像を左右中央寄せ */
    }
}

/* 料金表のカテゴリ表示 */
.center-text{
	font-size: 1rem;
}
@media screen and (max-width: 768px) {
.center-text {
    text-align: center;
}
}

/* 商品カードCSS */
.item.f-01{ position: relative;}
.item.f-01 .details,
.item.f-02 .details,
.item.f-03 .details,
.item.f-04 .details{ color: #000;}
.item_f-00_a{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1;}
.details {
font-variant: small-caps; /* 小文字を大文字のスタイルで表示 */
}

/*  画像と文章を横並びで表示（画像を右に配置）*/
/* コンテンツ全体の配置（横並び用） */
.content-wrapper2 {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.choice-text h3{font-size:1rem;font-weight:bold;}

/* 画像とテキストを横並び（PC時） */
.content-box2 {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 文章を左、画像を右に配置 */
.content-text2 {
    order: 1; /* テキストを左側に */
    flex: 1;
    font-size: 16px;
    line-height: 1.6;
    text-align: left;}
.content-img2 {order: 2;flex-shrink: 0;text-align: center;}
/* 画像のスタイル */
.content-img2 img {width: 300px;height: auto;border-radius: 15px; /* 画像の角を丸くする */display: block;}
/* 画像のキャプション */
.caption {font-size: 14px;color: #666;margin-top: 5px;text-align: center;}
/* レスポンシブ対応（スマホ用） */
@media screen and (max-width: 768px) {
    .content-box2 {flex-direction: column;text-align: center;}
    .content-text2 {order: unset;}
    .content-img2 {order: unset;}
    .content-img2 img {width: 100%; max-width: 300px;}
}
.content-h3 {color: #00008b;font-weight: bold;margin: 0.7rem 0.5rem;background-color: aliceblue;display: inline-block;}
/* 納期セクション調整 */
.sec_title2 {font-size: 20px;background: #0202e5;color: #fff;padding: .5em 1em;font-weight: bold;margin-bottom: 20px;border: none;overflow: hidden;display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}
.sec_title2 p {margin: 0;font-weight: bold; white-space: nowrap; display: flex; align-items: center; }
.sec_title2 span {flex: 1;min-width: 200px;text-align: left;display: flex;align-items: center;padding-top: 5px;font-size: 0.8rem;}
/* リストのCSS */
.features-list {list-style: none;padding: 0;margin: 0;}
.features-list li {background: #f8f9fa;border-left: 5px solid #007bff;padding: 12px 15px;margin-bottom: 10px;font-size: 16px;line-height: 1.6;display: flex;align-items: flex-start;gap: 10px;}
.features-list li::before {content: "✔";color: #007bff;font-size: 18px;font-weight: bold;}
.features-list li span {font-weight: bold;color: #333;flex-shrink: 0;}
@media screen and (max-width: 768px) {
    .features-list li {flex-direction: column;gap: 5px;padding: 10px;font-size: 14px;}
    .features-list li::before {font-size: 16px;}
}
/* 用紙の種類 */
.paper_list {list-style: none;padding: 0;margin: 0;}
/* 各アイテムのスタイル */
.paper_item {background: #fff;border: 1px solid #ddd;border-radius: 8px;margin-bottom: 15px;padding: 15px;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);/* transition: transform 0.2s ease-in-out; */}
/* タイトル */
.paper_title {font-size: 1.4em;color: #0056b3;margin-bottom: 5px;font-weight: bold;}
/* 説明テキスト */
.paper_desc {font-size: 1.2em;color: black;line-height: 1.6;}
/* レスポンシブ対応 */
@media (max-width: 768px) {
  .sec_title {font-size: 1.6em;}
  .paper_item {padding: 10px;}
  .paper_title {font-size: 1.2em;}
  .paper_desc {font-size: 1.2em;}
}

/* アコーディオン */
html{scroll-behavior: smooth;}
.animated {-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-fill-mode: both;animation-fill-mode: both;}
.content-wrap {position: relative;overflow: hidden;transition: height 0.3s ease;}
.close-btn, .more-btn {display: block;width: 100%;padding: 45px 0 0;position: absolute;bottom: 0;left: 0;text-align: center;background: -moz-linear-gradient(top,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
background: -webkit-linear-gradient(top,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
background: linear-gradient(to bottom,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff',endColorstr='#ffffff',GradientType=0);z-index:2;}
.close-btn {background: none;}
.slide-up {
padding-bottom: 0;}
.slide-down {padding-bottom: 50px;}
.more-btn p,.close-btn p {display: inline-block;color: #fff;cursor: pointer;padding: 5px 20px;width: 25%;border-radius: 20px;font-size: 1.1rem;font-weight: bold;}
.more-btn p {background: linear-gradient(45deg, #ff4e2f, #ecd00f);animation: blinkAnime 1s infinite alternate;}
@keyframes blinkAnime{
   0% { color: #fff }
 100% { color: #55ff5dff }
}
.close-btn {padding:0;}
.close-btn p {background: #aaa; }
.content-wrap {
--content-txt: 16px;
.content-txt {
font-size: var(--content-txt);}}
@media (max-width: 768px) {
.more-btn p,
.close-btn p {font-size: 1rem; width: 40%;}}
.size1{width:260px;animation:floating-y 1.8s ease-in-out infinite alternate-reverse;}
.size2{width:260px;animation:floating-y 1.8s ease-in-out infinite alternate-reverse;}
.size1:hover{cursor:pointer;}
.size2:hover{cursor:pointer;}
@keyframes floating-y {
  0% { transform: translateY(-3%);}
  100% {transform: translateY(3%);}}
/* アコーディオン end */