@charset "utf-8";
/**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.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-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: auto; 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;}
.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 :0 0 15px 0;}
.item_price{}
.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; margin: 20px 0 10px 0;}
.item_point{display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 90px; min-height: 80px;  border-radius: 10px; text-align: center; font-size: 13px; font-weight: bold; line-height: 1.3; margin :0 10px 10px 0; box-shadow: 2px 2px 4px 0px rgb(0 0 0 / 35%)}.item_point_01{background: #D4E7FF;}.item_point_02{background: #FBFFD4;}.item_point_03{background: #FFD4E9;}.item_point_04{background: #D4FFD4;}.item_point_05{background: #FFE8D4;}
@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_info_txt { font-size: 17px; margin :15px 0 15px 0;}.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;}
/**料金テーブル修正**/
.page-content h3.item_title_fix { display: flex; flex-wrap: wrap; margin-bottom: 20px; line-height: 1.2; background: #0202e5; padding: 0; min-height: 50px; border-bottom: none; box-sizing: border-box;}
.item_info_cate { display: flex; flex-wrap: wrap; align-items: center; font-size: 25px; font-weight: bold; width: auto; max-width: 50%; background: #fff; color: #0202e5; 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: 16px; color: #fff; background: #0202e5; flex: 1; padding: 7px 10px; box-sizing: border-box;}
.item_info_cate_name { display: flex; flex-wrap: wrap; align-items: center; font-size: 16px; color: #0202e5; flex: 1; padding: 7px 10px 0px 10px; box-sizing: border-box; background: #fff; border-bottom: solid 3px #ccccfa;}
.item_info_cate_name span{ font-size: 80%;}
.mo_none{ display: block;}
.table-mobile-wrap{ display: none;}
.tp_tax{ font-size: 13px !important;}
.table-content table th{ border: none;}
.table-content table td{ border: none;}
.bgc_f1{ background-color: #f1f1f1 !important;}
.price-table-wrapper .table-mobile-wrap table { border-spacing: 0 15px;}
@media screen and (max-width: 768px){.mo_none{ display: none;}.table-mobile-wrap{ display: block;}.table-content table th{ border: solid 1px;}.table-content table td{ border: solid 1px;}.price-table-wrapper .table-mobile-wrap table { border-spacing: 0 5px;}}
/*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%;}
}

/* 新料金表　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; flex-direction: column;}
.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;}
}
/* 料金表 end */

#choice .dsc-box{font-size:clamp(1.1em,2.5vw,1.3em);}
/* ページリンク */
#pagelink-area{width:100%;border: 2px solid #aaa;border-radius:6px;margin:2vh 0 5vh;}
#pagelink-area h3{font-size:15px;text-align: center;padding:.5%;background:#4e4e4e;color:#fff;border-radius:5px 6px 0 0;margin-bottom:0;}
#pagelink-area ul {width: 98%;display: flex;flex-direction: column;margin: 2vh auto;justify-content: space-evenly;}
#pagelink-area ul li{font-size:16px;padding:.4%;margin-left: 3vw;}
#pagelink-area ul li a::before{content:"▼";border-radius:3px;padding: 0px 3px;}
@media(max-width:465px){#pagelink-area ul li{font-size:4vw;white-space:nowrap;}}
/* セクションタイトル */
.page-content h3{font-size: 18px;color: #fff;background: #0202e5;padding: 2%;align-content: center;border-bottom: unset;}
@media (max-width:768px) {.page-content h4{text-align: center;}}

/* 商品ブロック */
.image-text-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 3em;
    border: 3px solid #00b6ff;
    border-radius: 10px;
    box-shadow: 1px 1px 7px 1px #0093ff;
    padding: 2em 3em;
}

.image-wrapper {
  flex: 1 1 230px;
  max-width: 100%;
  overflow: hidden;
  border-radius: 8px;
}

.image-link {
  display: block;
  width: 100%;
  height: 100%;
}

.hover-zoom {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 8px;
}

.hover-zoom:hover {
  transform: scale(1.05);
}


.text-content {
  flex: 5 1 400px;
  padding: 0 15px;
}

.content-title {
font-size: 1.3rem !important;
margin-bottom: 15px;
color:rgb(0, 0, 0) !important;
text-align: center;
text-decoration: underline 2px;
text-underline-offset: 5px;
}

.content-description {
    font-size: clamp(0.8rem, 2.5vw, 0.9rem);
    line-height: 1.5;
    color: #000;
	margin-top: 1rem;
}


@media (max-width: 768px) {
  .image-text-container {
    flex-direction: column;
	margin-bottom: 1em;
	padding: 2em 2em;
  }
  
  .image-wrapper,
  .text-content {
    flex: 1 1 100%;
    max-width: 100%;
  }
  
  .text-content {
    padding: 15px 0 0 0;
  }

     .hover-zoom{
	max-width: 70% !important;
    margin: 0 auto;
	 }
}
