@charset "UTF-8";
/*
Theme Name: teamm
Theme URI: /wp-content/themes/teamm
Description: ウイメンズ・クリニック大泉学園のサイトです
Author: teamm
Author URI:
Version: 1.0

1.  common 
_
2.  sp settings
3.  header settings
4.  index settings
5.  page settings
6.  single settings
7.  sidebar settings
8.  footer settings
9.  form setting
10.  Other Styles

*/



/*==================================================================
	common settings
===================================================================*/

html {
	font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","游ゴシック Medium",YuGothic,YuGothicM,"Helvetica Neue",メイリオ,Meiryo,sans-serif;
	letter-spacing:0.02em;
}
body{
	overflow-x: hidden;
	letter-spacing:0.02em;
	position:relative;
}
h1,h2,h3,h4,h5,p,a,span,strong,dl,dt,dd,table,tbody,thead,th,td,blockquote,ul,li,ol {
	font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","游ゴシック Medium",YuGothic,YuGothicM,"Helvetica Neue",メイリオ,Meiryo,sans-serif;
	color:#222;
}
main,footer,.cv{
	margin-right:180px;
}
.uk-grid.uk-grid-collapse {
	margin-left: 0;
}
.uk-grid.uk-grid-collapse >* {
	padding-left: 0;
}
p, li, dt, dd,th,td{
	font-size: 14px;
	line-height:190%;
	margin:0 0 25px 0;
	font-weight:300;
}

a {
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
	text-decoration:underline;
	color:#e95504;
}
.uk-link:hover, a:hover{
	text-decoration:none;
}
a img:hover {
	opacity: 0.6;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;

}
@media screen and (max-width : 959px){
	.uk-container{
		padding:0 15px;
	}
	main,footer,.cv{
		margin-right:0;
	}
}
@media screen and (max-width : 639px){
	p, li, dt, dd th,td{
		font-size: 14px;
		line-height:180%;
		margin-bottom:15px;
	}
	.uk-container{
		padding:0;
	}
}




/* margin,padding
-------------------------------------------------------------------*/
.ml10{
	margin-left:10px;
}
.mb0 {
	margin-bottom: 0 !important;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 1.5em;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb60 {
	margin-bottom: 60px;
}
.mb80 {
	margin-bottom: 80px;
}
.mb120 {
	margin-bottom: 120px;
}
.mb100 {
	margin-bottom: 8em;
}
.mt5{
	margin-top: 5px;
}
.mt10{
	margin-top: 10px;
}
.mt15{
	margin-top: 15px;
}
.mt20{
	margin-top: 20px;
}
.mt40{
	margin-top: 40px;
}
.mt60{
	margin-top: 60px;
}
.mt80{
	margin-top: 80px;
}
.pb0{
	padding-bottom:0;
}
.pb20{
	padding-bottom:20px;
}
.pb30{
	padding-bottom:30px;
}
.pt80{
	padding-top:80px;
}
.pt30{
	padding-top:30px;
}
.pb80{
	padding-bottom:80px;
}
.pt0{
	padding-top:0;
}
.pBox15{
	padding:15px;
}
@media screen and (max-width : 959px){
	.mb120 {
		margin-bottom: 80px;
	}
}
@media screen and (max-width : 639px){
	.mb60{
		margin-bottom:30px;
	}
	.mb80{
		margin-bottom:40px;
	}
	.mb100{
		margin-bottom:50px;
	}
	.mb120 {
		margin-bottom: 60px;
	}
}


/* font style
-------------------------------------------------------------------*/
.red{
	color:#e95504;
}
.bold{
	font-weight:bold;
}
.center{
	text-align:center;
}
.strong,
strong{
	font-weight:bold;
	color:#e95504;
	font-size:15px;
}

strong.black{
	color:#000 !important;
}
strong.grey{
	color:#303030 !important;
}

@media screen and (max-width : 639px){
strong{
	font-size:100% !important;
}
}


.fonts{
	font-size:12px;
	color:#666;
}


/* table sheet style
-------------------------------------------------------------------*/
table.sheet {
	border-collapse:collapse;
	border-spacing:0px;
	border-bottom: none;
	margin-bottom:15px;
	width:100%;
	background:#fff;
	border:solid 1px #d5d5d5;
}
.sheet th, .sheet td {
	padding: 10px 20px;
	text-align: left;
	line-height:1.5em;
	vertical-align:middle;
	background:#fff;
	border-bottom:solid 1px #d5d5d5;
	line-height:220%;
}
.sheet th {
	background: #fbe2d2;
	font-weight:bold;
	text-align:center;
	border-bottom:solid 1px #fff;
	color:#444;
	/*white-space: nowrap;*/
}
.sheet tr:last-child td{
	border-bottom:none;
}
.sheet td img {
	vertical-align:middle;
}
table.center td{
	text-align:center;
}
table td.fonts{
	font-size:12px;
	color:#666;
}

/* table price
---------------------------------------------*/
table.price{
	width:100%;
}
table.price th,
table.price td{
	padding: 8px 20px;
}
table.price th{
	width:50%;
	text-align:left;
}
table.price td{
	/*width:50%;*/
	text-align:left;
}
table.price td:last-child{
	text-align:right;
}
table.center td{
	text-align:center;
}


@media screen and (max-width : 639px){
	table.sheet {
		border-right: none;
		border-left: none;
	}
	table.sheet th{
		border-left: none;
	}
	table.sheet td{
		border-right: none;
		padding:15px;
	}
	.sheet ul{
		padding-left:20px;
	}
	.uk-container .sheet ul li{
		padding:0 10px;
	}
}

	/* table 横スクロール style
-------------------------------------------------------------------*/
@media screen and (max-width : 639px){
	.scroll{
		overflow:auto!important;
		white-space:nowrap;
	}
	.scroll::-webkit-scrollbar{
		height:5px;
	}
	.scroll::-webkit-scrollbar-track{
		background:#f1f1f1;
	}
	.scroll::-webkit-scrollbar-thumb{
		background:#bcbcbc;
	}
}

/*	dl style
-------------------------------------------------------------------*/
dl.dllist{
	width: 100%;
	overflow: hidden;
	background:#fbe2d2;
	border-bottom:1px solid #ddd;
}
.dllist dt, .dllist dd{
	display: block;
	float: left;
	margin:0;
	padding:15px 2%;
}
.dllist dt{
	width: 29%;
	clear: left;
	border-top:1px solid #ddd;
}

.dllist dd{
	width: 63%;
	background:#fff;
	border-top:1px solid #ddd;
}

@media screen and (max-width : 639px){
	dl.dllist{
		width: 100%;
		background:none;
		border-bottom:none;
	}
	.dllist dt, .dllist dd{
		float:none;
		width:90%;
		border-top:none;
	}
	.dllist dt{
		border-bottom:1px solid #ddd;
		font-weight:bold;
		padding:5px 6% 5px 4%;
		font-size:15px;
	background:#fbe2d2;
	}
	.dllist dd{
		border:none;
		padding:10px 5%;
		margin:0 0 15px 0;
	}
}



/* icon
-------------------------------------------------------------------*/
i{
	color:#fff;
}
a:hover i{
	color:#fff !important;
}


/*	blockquote
-------------------------------------------------------------------*/
blockquote {
	background: none repeat scroll 0 0 rgba(245, 245, 245, 0.8);
	border: 1px solid #FFFFFF;
	margin:0 0 40px 0;
	padding: 60px 30px 15px;
	position: relative;
	border-radius:10px;
}
blockquote:before {
	color: #C8C8C8;
	content: "“";
	font-family: serif;
	font-size: 500%;
	left: 0;
	line-height: 1em;
	position: absolute;
	top: 15px;
	left:15px;
}


/*	common mainte add
-------------------------------------------------------------------*/
.clr {
	clear: both;
}

.uk-right {
	text-align: right;
}

a[href^="tel:"] {
    pointer-events: none;
}
@media screen and (max-width : 959px){
a[href^="tel:"] {
    pointer-events: auto;
}
}


/*	list mainte add
-------------------------------------------------------------------*/
ol.crcl  {
    position: relative;
    margin:0;
    padding:0;
}
 
ol.crcl li  {
    list-style: none;
    list-style-position:outside;
    margin:0;
    padding-left:1.25em;
}
ol.crcl li span {
    position: absolute;
    left:0;
    margin:0;
}
 
ul.dsc li  {
	list-style-type: disc !important;
    padding-left:0.1em !important;
}




/*	table mainte add
-------------------------------------------------------------------*/
table.term tr th {
	width: 20% !important;
}

table.inspect tr th {
	width: 27% !important;
}

@media screen and (max-width : 639px){
table.inspect tr th {
	width: 87% !important;
}
}

/*	h-adr mainte add
-------------------------------------------------------------------*/
@media screen and (max-width : 639px){
	.h-adr table th,
	.h-adr table th span,
	.h-adr table td,
	.h-adr table td span {
		width: 90% !important;
		display: block !important;
		border-top: none !important;
	}
	.h-adr table th {
		text-align: center !important;
	}
	.h-adr table td span,
	.h-adr table th span.indispensable {
		display: inline !important;
	}
}


@media screen and (max-width : 639px){
.sheet2 th{
 padding:0px;
 font-size:10px;
}
.sheet2 td{
 padding:5px!important;
 font-size:10px;
}
.sp th,.sp td{
display:block;
}
}
.title4 {
	font-size:18px;

	font-weight:bold;
	letter-spacing:0.5em;
}

.title4 .border{
	position: relative;
	display: inline-block;
	padding-bottom:0.5em;
	border-bottom: 1px solid #E95503;
}

.title4 .border .en{
	color:#E95503;
	font-size:16px;
	font-weight:bold;
	padding-bottom:20px;
}   
.title4 .border::before,
.title4 .border::after {
	position: absolute;
	top: 100%;
	left:40px;
	transform:translateX(-50%);
	content: '';
	border: 10px solid transparent;
}

.title4 .border::before {
	border-top: 10px solid #E95503;
}

.title4 .border::after {
	margin-top: -1px;
	border-top: 10px solid white;
}

.right{
	text-align:right;
}

.box{

	margin: 40px 0;
	padding : 20px;
	border-radius: 30px;
	background-color:#FFF6F1;
}




/*==================================================================
	sp common settings
===================================================================*/
/* sp contactbtn footer
-------------------------------------------------------------------*/
#sp-contact{
	position: fixed;
	bottom: 0;
	right: 0;
	width:100%;
	z-index:100;
	overflow:hidden;
	margin:0;
	padding:0;
}
#sp-contact li{
	float:left;
	width:100%;
	margin:0;
	list-style:none;
}
#sp-contact li a{
	display:block;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	padding: 15px 0 12px 0;
	border-right:solid 1px #fff;
	font-size:13px;
	text-align:center;
	height:auto;
	background: #e95504;
}
#sp-contact li a span{
	display:block;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
	font-size:10px;
	text-align:center;
	line-height:120%;
}
#sp-contact li:last-child a{
	border-right:none;
}
#sp-contact li a i{
	color:#fff;
}
@media screen and (max-width : 639px){
	body{
		padding-bottom:14%;
	}
}


/*==================================================================
	header settings
===================================================================*/

/* header
-------------------------------------------------------------------*/
header{
	z-index:900;
	background:rgba(255,255,255,0.6);
	width:180px;
	position:fixed;
	top:0;
	right:0;
	height:100%;
	border-left:1px solid #ddd;
}
header img{
	margin:0 auto;
	display:block;
}
header h1{
	margin:0;
}
.logo,
.splogo{
	position: relative;
    top: -100px;
    left: 130px;
}
.contact_btn{
	position:fixed;
	top:40px;
	right:180px;
}
.menu_btn{
	position:fixed;
	top:-2px;
	right:30px;
	border:none;
	z-index:900;
	padding:0;
	vertical-align:middle;
	background:#e95504;
	color:#fff;
	padding:17px;
	font-size:18px;
}
.menu_btn:hover{
	opacity:0.6;
}

@media screen and (max-width : 959px){
	header{
		position:static;
		width:100%;
		height: 0;
		border-left:none;
		background:none;
	}
	.contact_btn{
		position:fixed;
		top:0;
		right:110px;
		z-index:1000;
	}
	.menu_btn{
		right:10px;
		padding:19.5px;
		z-index:1000;
	}
	header img{
		margin:0;
	}
	.logo {
		position:absolute;
		top:0;
		right:0;
		z-index:1000;
		width:20%;
		padding:30px 0 0;
	}

	.logo, .splogo {
		position: relative;
        top: -130px;
		left: 30px;
	}

	header .splogo {
		margin:0;
		padding:20px 15px;
	}

	/* mainimg_renewal 250410 =============== */
	.keyv {
		margin-bottom: 10%;
	}

	.keyv_txt {
		padding: 0 ;
		left: 0;
		background: transparent;
	}

}
/* mainimg_renewal 250410
-------------------------------*/
.sp_view{
	display:none;		
	}

	.mainimg_message{
		display:flex;
		justify-content: space-between;
	}
			.mainimg_message p{
				font-family: dnp-shuei-mgothic-std, sans-serif;
				color:#541806;
				white-space: nowrap;
			}
			.mainimg_catch{
				background-color: rgba(255, 255, 255, 0.8);
				position: relative;
				left: -10%;
				padding-left: 18%;
				padding-right: 3%;
	}

				.mainimg_catch_message{
					font-size:3vw;
					font-weight: 600;
					line-height:1.3em;
					margin-top: 0.5em;
		}
	
	.mainimg_catch_message_sub{
		    font-size: 1.4vw;
		    margin: 0 0 15px 0;
	}
	
	.mainimg_information{
		background-color:#fff;
		border:3px solid #e95504;
		width: 26vw;
        height: 50%;
        border-radius: 10px;
		text-align:center;
		margin-top: 15%;
		padding:10px;
	}
	.mainimg_information p{
			font-size: 1.8vw;
			}

	.color_orange{
		    color: #e95504;
	}
@media screen and (max-width : 639px){
	.logo {
		width:30%;
	}
	header .splogo {
		padding:15px;
	}
	header img {
		width:50%;
	}
	.menu_btn{
		right:0;
		padding:10px;
		font-size:13px;
	}
	.contact_btn{
		display:none;
	}
	/* mainimg_renewal 250410 =============== */
	.sp_view{
		display:block;
	}

	.pc_view{
		display:none;
	}

	.logo, .splogo {
		top:0;
		left: 50%;
		transform: translateX(-50%);
		background-color: rgba(255, 255, 255, 0.8);
		padding: 10px;
		margin-bottom: 20px;
	}

}

/* navigation
-------------------------------------------------------------------*/
.nav_items{
	padding:0;
	margin:10px 0 15px;
	width:100%;
	transition: 0.4s;
}
.nav_items > li {
	position:relative;
	display:block;
	box-sizing: border-box;
	margin:0;
	width:100%;
	text-align:center;
}
.nav_items > li > .recruit{
	color:#e95504 !important;
}
.nav_items > li > .recruit span{
	color:#e95504 !important;
}
.nav_items > li > a,
.nav_items > li > span.nolink{
	display:block;
	text-decoration:none;
	color:#333;
	font-size:13px;
	margin:0 ;
	padding: 13px 15px;
	font-weight:bold;
	text-align:center;
}
.nav_items > li > a span,
.nav_items > li > span.nolink span{
	display:block;
	text-decoration:none;
	color:#828282;
	font-size:10px;
	margin:0 ;
	font-weight:500;
	text-align:center;
	transition: 0.4s;
}
.nav_items > li > a:hover,
.nav_items > li > span.nolink:hover{
	background:rgba(233,85,4,0.2);
	
}



	
/*Nav  シンプルプルダウン
-------------------------------------------------------------------*/
#nav ul li ul{
	list-style: none;
	position: absolute;
	top: 0;
	right:181px;
	margin: 0;
	padding: 0;
	width:100%;
	z-index:200;
}
#nav ul li:last-child ul{
	width: auto;
}
#nav ul li ul li{
	overflow: hidden;
	height: 0;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
	background:none;
	background:#fff;
	margin:0;
}
#nav ul li ul li a{
	padding: 15px 15px;
	text-align: left;
	display:block;
	font-size:12px;
	height:auto;
	color: #fff;
	text-decoration:none;
	border-bottom:solid 1px #fff;
	background:rgba(233,85,4,1);
	font-weight:bold;
	line-height:160%;
}
#nav ul li ul li:last-child a{
	border-bottom:none;
}
#nav ul li ul li a:hover{
 	background: rgba(233,85,4,0.6);
	color:#fff;
}
#nav ul li:hover ul li{
	overflow: visible;
	height: auto;
	z-index:1000;
}
#nav ul li ul li a{
	border-right: none;
}


/* offcanvas
-------------------------------------------------------------------*/
.uk-offcanvas-bar{
	background:#fef6f2;
	padding: 15px;
	width:460px;
}
.uk-nav-offcanvas>li{
	margin:0;
	display:block;
}
@media screen and (max-width : 639px){
	.uk-offcanvas-bar{
		width:260px;
	}
}

/* nav_menu
-------------------------------------------------------------------*/
#nav_menu .uk-button{
	line-height:200%;
	padding:10px 0;
	border:none;
	font-size:12px;
	color:#e95504;
	background:none;
}
#nav_menu .uk-button span{
	display:inline-block;
	font-size:30px;
	color:#e95504;
}



/* nav_menu_list
-------------------------------*/
#nav_menu ul {
	padding:60px 0 0 0;
	overflow:hidden;
	margin:0 0 30px ;
}
#nav_menu ul li{
	margin:0;
}
#nav_menu ul li a{
	display:block;
	text-decoration:none;
	color:#333;
	font-size:13px;
	padding:8px 15px;
	margin:0;
	font-weight:500;
	border-bottom:dotted 2px #fff;
}
#nav_menu ul li a:hover{
	background:rgba(233,85,4,0.2);
}
#nav_menu ul li.nolink span{
	display:block;
	color:#ed551b;
	margin:15px 0 15px 0;
	padding:5px 0 5px 15px;
	font-size:12px;
	text-align:right;
	font-weight:bold;
	border-bottom:2px dotted #ffcebc;
}
#nav_menu ul li.herf{
	float:left;
	width:50%;
}

/* nav_menu_list 2層目
-------------------------------*/
#nav_menu ul li ul {
	padding:0 10px;
	margin:10px 0 15px 0;
	overflow:hidden;
}
#nav_menu ul li ul li{
	display:block;
	margin:0;
	float:none;
	width:auto;
}
#nav_menu ul li ul li a{
	font-size:12px;
	border-bottom:none;
	padding:7px 15px ;
	margin:0;
	letter-spacing:1px;
	color:#333;
	line-height:160%;
}
#nav_menu ul li ul li a:hover{
	background:rgba(233,85,4,0.2);
}
@media screen and (max-width : 639px){
	#nav_menu ul{
		padding:15px 0 0 0;
	}
	#nav_menu ul li.herf{
		float:none;
		width:100%;
	}
}

	@media screen and (max-width : 959px){
		.mainimg_catch{
			top: -80px;
			left: 0;
		}
	
		.mainimg_information{
			width: 30vw;
			margin-left: 50px;
			margin-top: -10%;
			padding: 15px 15px 5px;
		}
		.mainimg_information p{
			margin: 0;
		}
	}

	@media screen and (max-width : 639px){
		.mainimg_catch{
		top: -20px;
		left: -5%;
		width: 75vw;
		padding-top: 10px;
		padding-bottom: 10px;
		}
			 .mainimg_message p{
					font-size: 4vw;
					line-height: 1.3em;
				}
		p.mainimg_catch_message{
			font-size: 6vw;
			margin-top: 0.5em;
		}
	
		.mainimg_bk{
		background-color: #fff;
		width: 100vw;
		position: relative;
		padding: 25px 0;
			}
				.mainimg_message{
			display: block;
		}
	
	.mainimg_information{
		width: 80vw;
		margin: 2vw 5vw;
		padding: 15px;
			p{
				font-family: dnp-shuei-mgothic-std, sans-serif;
				font-size: 5vw;
			}
	}
	
	
	}

/*==================================================================
	index settings
===================================================================*/
.toppage{
	background:url(./img/bg.webp) no-repeat fixed center center/cover;
}
@media screen and (max-width : 639px){
.toppage{
	background:none;
}	
	.toppage:before{
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(./img/bg.webp) center no-repeat;
  background-size:cover;
}
}

/* keyv
-------------------------------------------------------------------*/
.keyv {
	background:url(./img/keyv.webp) no-repeat center bottom/cover;
	position:relative;
}
.keyv_txt{
	position:absolute;
	top:60%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}
.keyv_txt .more{
	margin:90px 0 0 0;
	text-align:left;
}
@media screen and (max-width : 959px){
	.keyv {
		background:url(./img/keyv.webp) no-repeat 80% bottom/cover;
	}
	.keyv_txt{
		position:absolute;
		top:70%;
		left:0;
	}
}

@media screen and (min-width : 959px){
		.keyv_txt{
			width: 75%;
	}
}
@media screen and (max-width : 639px){
	.keyv {
		background:url(./img/keyv_sp.webp) no-repeat 60% bottom/cover;
		margin-bottom: 0;
	}
	.keyv_txt{
		position:absolute;
		top:70%;
		left:0;
		width: 100%;
	}
	.keyv_txt .more{
		margin:40px 0 0 0;
	}
}



/* top_title
-------------------------------------------------------------------*/
.top_title{
	color:#444;
	font-size:20px;
	margin:120px 15px 100px;
	text-align:center;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	letter-spacing:3px;
}
.top_title span{
	display:inline-block;
	color:#e95504;
	font-size:14px;
	background:url(./img/title.png) no-repeat left center;
	padding:10px 0 10px 30px;
	margin:0 0 20px;
	letter-spacing:1px;
}
.top_title_inner{
	font-size:18px;
	text-align:center;
	margin-bottom:40px;

}
.top_title_inner span{
	padding-bottom:5px;
	border-bottom:2px solid #e95504;
}
@media screen and (max-width : 959px){
	.top_title{
		margin:80px 0;
	}
}
@media screen and (max-width : 639px){
	.top_title{
		margin:40px 0;
		font-size:18px;
	}
	.top_title span{
		font-size:12px;
	}

}


/* topmenu
-------------------------------------------------------------------*/
.top_menu1{
	background:url(./img/top_menu1.png) no-repeat center center/cover;
	border-radius:10px;
}
.top_menu2{
	background:url(./img/top_menu2.png) no-repeat center center/cover;
	border-radius:10px;
}
.top_menu3{
	background:url(./img/top_menu3.png) no-repeat center center/cover;
	border-radius:10px;
}
.top_menu4{
	background:url(./img/top_menu4.png) no-repeat center center/cover;
	border-radius:10px;
}
.Topmenu .uk-grid>*{
	margin:0 0 100px;
}
.top_menu h3{
	font-size:24px;
	letter-spacing:3px;
	color:#e95504;
	margin:0 0 40px;
	font-weight:300;
}
.top_menu h3 span{
	display:inline-block;
	margin:0 0 0 15px;
	font-size:12px;
	letter-spacing:1px;
	color:#999;
	vertical-align:middle;
}
.top_menu p{
	font-size:16px;
	line-height:240%;
}
.top_menu p.more2{
	text-decoration:none;
	font-size:15px;
	color:#e95504;
	text-align:center;
	padding:5px 20px;
	border:solid 1px #e95504;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	margin:0 30px;
}
.top_menu a{
	background-color: #ffffff;
	display:block;
	text-decoration:none;
	padding:55px 40px;
	background:#fff;
	border-radius:10px;
}
.top_menu a:hover p.more2{
	background:#e95504;
	color:#fff;
	transition:0.4s;
}

@media screen and (max-width : 959px){
	.Topmenu .uk-grid>*{
		margin:0 0 60px;
	}
	.top_menu a{
		padding:60px 15px;
	}
	.top_menu1{
		background:url(./img/top_menu1.png) no-repeat center center;
	}
	.top_menu2{
		background:url(./img/top_menu2.png) no-repeat center center;
	}
	.top_menu3{
		background:url(./img/top_menu3.png) no-repeat 60% center;
	}
	.top_menu4{
		background:url(./img/top_menu4.png) no-repeat 80% center;
	}
}
@media screen and (max-width : 639px){
	.top_menu1,
	.top_menu2,
	.top_menu3,
	.top_menu4{
		height:200px;
		margin:0 10px;
	}
	.Topmenu .uk-grid>*{
	margin:0 0 20px;
	}
	.top_menu a{
		padding:20px 15px;
		background:none;
	}
	.top_menu h3{
		font-size:24px;
		margin:0 0 20px;
	}
	.top_menu p.more2{
		margin:20px 0 40px 0;
	}
	.top_menu1{
		background:url(./img/top_menu1.png) no-repeat center center/cover;
	}
	.top_menu2{
		background:url(./img/top_menu2.png) no-repeat center center/cover;
	}
	.top_menu3{
		background:url(./img/top_menu3.png) no-repeat 60% center/cover;
	}
	.top_menu4{
		background:url(./img/top_menu4.png) no-repeat center center/cover;
	}

}


/* top_img
-------------------------------------------------------------------*/
.top_img{
	background:url(./img/top_img.png) no-repeat left center/cover;
	padding:80px 0;
	margin:20px 0 0;
}
.top_img .top_title{
	margin:0 0 30px;
}
@media screen and (max-width : 959px){
	.top_img{
		padding:60px 15px;
	}
}
@media screen and (max-width : 639px){
	.top_img{
		background:url(./img/top_img.png) no-repeat 20% center/cover;
		padding:60px 0;
		margin:0;
	}
}



/* line-list
---------------------------------------*/
.line-list{
	padding:0;
	list-style:none;
	margin:0 0 50px 0;
}
.line-list li{
	margin:0;
}
.line-list li a{
	display:block;
	margin:0;
	text-decoration:none;
	color:#444;
	padding:15px 15px;
	background:#fff;
}
.line-list li:nth-child(odd) a{
	background:#fef6f2;
}
.line-list li h3,
.single .line-list li h3{
	font-size:13px;
	line-height:180%;
	margin: 0;
	font-weight:300;
}
.date{
	display:inline-block;
	color:#999;
	font-size:12px;
	letter-spacing:1px;
	line-height:120%;
	margin:0 20px 0 0;
	font-weight:300;
}
.line-list li a:hover{
	background:#ffdfcf;
}
@media screen and (max-width : 959px){
	.line-list .date{
		display:block;
	}
	.top_news .uk-grid>*{
		margin:0 0 60px;
	}
	.top_news iframe{
		height:500px;
	}
}
@media screen and (max-width : 639px){
	.cat{
		font-size:8px;
	}
	.line-list {
		margin:0 15px 20px 15px;
	}
	.top_news iframe{
		height:300px;
	}
	.top_news .uk-grid>*{
		margin:0 0 40px;
	}
}


/* top_bnr
-------------------------------------------------------------------*/
.top_bnr .uk-grid>*{
	margin:0 0 60px;
}

.uk-container, .top_bnr{
	margin-top:200px;
	max-width:none;
}



.uk-container, .Top-menu{
	margin-top:0px;
	max-width:1400px;
}

.top_bnr{
	padding:0 0 100px;
	background-color:#ffff;
}
@media screen and (max-width : 959px){
	.top_bnr h2{
		margin:60px 15px;
	}
	.top_bnr{
		padding:0 15px 100px;
	}
}
@media screen and (max-width : 639px){
	.top_bnr h2{
		margin:20px 15px 40px;
	}
	.top_bnr{
		padding:0 15px 40px;
	}
	.top_bnr .uk-grid>*{
		margin:0 0 20px;
	}
}


/*==================================================================
	page settings
===================================================================*/
/* 固定ページ
-------------------------------------------------------------------*/
.contents {
	margin:0 auto 180px auto;
}
.contents .uk-container{
	max-width:1000px;
}
.contents .uk-grid>* img{
	margin:0 0 15px;
}
.contents h2,
.contents h3,
.contents h4{
	clear:both;
}
.contents section div{
	overflow:hidden;
}


@media screen and (max-width : 959px){
	.contents {
		margin:0 auto 80px;
	}
}
@media screen and (max-width : 639px){
	.contents {
		margin:0 0 40px;
		padding:0 10px;
	}
	.contents p{
		padding:0 5px;
	}
	.contents .uk-align-right,
	.contents .uk-align-left{
		display:block;
		float:none;
		margin:0 auto 15px;
	}
	.contents .uk-align-right img,
	.contents .uk-align-left img{
		display:block;
		margin:0 auto ;
	}
}

/* page_nav
-------------------------------------------------------------------*/
.page_nav{
	background:#fef6f2;
	padding:60px 0;
	margin:0 0 60px;
}
.page_nav_ttl{
	background:url(./img/icon.png) no-repeat top center/30px;
	padding:40px 15px 0 15px;
	margin:0;
	text-align:center;
	height:100%;
	font-size:16px;
	color:#444;
	font-weight:500;
}

.page_nav a:hover{
	color:#e95504;
	border-bottom:1px solid #e95504;
}
.page_nav_menu{
	border-left:1px dotted #bbb;
	overflow:hidden;
	padding:0 60px;
}
.page_nav_menu li {
	display:block;
	float:left;
	width:40%;
	background:url(./img/more.png) no-repeat left center;
	padding:5px 30px 5px 20px;
	margin:0;
}
.page_nav_menu li a{
	text-decoration:none;
	display:inline-block;
	color:#444;
	border-bottom:1px solid rgba(255,255,255,0);
}
@media screen and (max-width : 639px){
	.page_nav{
		padding:20px 0;
		margin:0 0 30px;
	}
	.page_nav_ttl{
		padding:40px 0 15px 0;
	}
	.page_nav_menu li {
		display:inline-block;
		float:none;
		width:auto;
		background:url(./img/more.png) no-repeat left center;
		padding:5px 30px 5px 20px;
		margin:0;
	}
	.page_nav_menu{
		border-left:none;
		padding:0 30px;
	}
}

/* bl
-------------------------------------------------------------------*/
.bl{
	padding: 15px 30px;
	margin:0;
}
.bl a,
.bl{
	color:#333;
	font-size:12px;
}
.bl ul{
	margin:0 auto;
}
.bl ul li{
	font-size:12px;
	margin:0;
	color:#333;
	display:inline-block;
}
.uk-breadcrumb>li:not(.uk-active)>span{
	color:#333;
	font-size:12px;
}
.uk-breadcrumb>*{
	flex:initial;
}
@media screen and (max-width : 959px){
	.bl{
		padding:30px 15px;
	}
}
@media screen and (max-width : 639px){
	.bl{
		display:none;
	}
}

/* more style
-------------------------------------------------------------------*/
.more{
	margin:0;
	text-decoration:none;
	text-align:center;
}
.more a{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	color:#fff;
	text-align:center;
	background:#e95504;
	padding:10px 45px;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	border:solid 1px #e95504;
}
.more a:hover{
	background:#fff;
	transform:0.2s;
	color:#e95504;
}
.more2{
	margin:0;
	text-decoration:none;
	text-align:center;
}
.more2 a{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	background-color:#ffff;
	color:#e95504;
	text-align:center;
	padding:7px 55px;
	border:solid 1px #e95504;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
}
.more2 a:hover{
	background:#e95504;
	transform:0.2s;
	color:#fff;
}
@media screen and (max-width : 639px){
	.more a,.more2 a{
		display:block;
		margin:0 15px;
		padding:12px 15px;
	}
}



/* page_ttl
-------------------------------------------------------------------*/

.page_ttl_txt,
.title {
	margin:0 ;
	padding:20px 0;
	text-align:center;
	background:url(./img/keyv.webp) no-repeat center 70%/cover ;
}
.page_ttl_txt h1,
.title h1{
	margin:0;
}
.page_ttl_txt h1 span,
.title h1 span{
	display:block;
	font-size:22px;
	letter-spacing:5px;
	text-align:center;
	margin:0 ;
	line-height:200%;
	padding:100px 30px;
	font-weight: 700;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	background:rgba(255,255,255,0.6);
}
.title1,
.single h2{
	font-weight:500;
	font-size:17px;
	margin:0 0 30px 0;
	color:#333;
	line-height:200%;
	padding:8px 15px 8px 50px;
	letter-spacing:3px;
	background:#fbe2d2 url(./img/icon.png) no-repeat 10px center/30px;
	border-radius:5px;
}
.title2,
.single h3{
	font-size:15px;
	margin:0 0 30px 0px;
	padding:8px 15px;
	font-weight:bold;
	letter-spacing:2px;
	border-bottom:2px dotted #ccc;
	border-left:6px solid #E95503;
	color:#333;
}
.title3,
.single h4{
	display: inline-block;
    font-size: 14px;
	margin-top:10px;
    padding: 5px 45px 5px 5px;
    font-weight: bold;
    color: #3B3531;
    letter-spacing: 3px;
    border-bottom: 3px double #3B3531;
    margin: 0 0 20px 0;
}

@media screen and (max-width : 959px){
	.page_ttl_txt,
	.title {
		margin:0;
	}
}
@media screen and (max-width : 639px){
	.page_ttl_txt,
	.title {
		margin:0 0 15px;
	}
	.page_ttl_txt h1 span,
	.title h1 span{
		font-size:17px;
		padding:30px 15px;
		line-height:140%;
		letter-spacing:1px;
	}
	.title1 {
		font-size:17px;
		margin-bottom:20px;
		letter-spacing:1px;
		line-height:180%;
	}
	.title2 {
		font-size:15px;
		margin-bottom:20px;
		letter-spacing:2px;
	}

}


/* list style
-------------------------------------------------------------------*/
ul.list{
	padding-left:30px;
	margin:0 0 25px;
}
ul.list li{
	padding-left:5px;
	margin:5px 0;
}
ul.list li a{
	font-weight:bold;
	font-size:14px;
}
ol.list{
	padding-left:30px;
	margin:0 0 25px;
}
ol.list li{
	padding-left:5px;
	margin:5px 0;
}

.sBox{
	padding:30px;
	border:3px double #fbe2d2;
	margin:30px 0;
}






/*==================================================================
	single settings
===================================================================*/
/* 投稿ページ,アーカイブ
-------------------------------------------------------------------*/
.uk-container .single{
	padding:60px;
	margin:0 0 120px;
	border-radius:10px;
	border:solid 1px #ddd;
}
.uk-container .archivelist{
	max-width:960px;
	margin:0 auto 120px;
}
.single_list{
	margin:0 0 120px;
}
.page_tags{
	border-bottom:1px solid #d7d3d2;
	padding:0 0 15px 15px;
	margin:0 0 30px 0;
	text-align:right;
	font-size:12px;
	font-weight:bold;
}
.page_tags span{
	margin-right:15px;
}

@media screen and (max-width : 959px){
	.single{
		padding:30px;
	}
	.archivelist{
		width:100%;
		margin:0 auto ;
	}
}

@media screen and (max-width : 639px){
	.uk-container .single{
		margin:0 0 40px;
		padding:30px 15px;
		border:none;
		background:#fff;
	}
	.uk-container .archivelist{
		margin:0 auto 40px;
	}
	.single_more .more a{
		padding:5px 10px 5px 30px;
		font-size:12px;
		background:#fff url(./img/more.png) no-repeat 15px center;
	}
}

/* サムネイル付き list
----------------------------*/
.Box a{
	display:block;
	overflow:hidden;
	text-decoration:none;
	color:#624a26;
	margin:0 0 60px 0;
}
.Box a img{
	float:left;
	width:270px;
	margin-right:40px;
}
.Box_right{
	padding:15px;
}
.Box .date{
	margin:0 15px 30px 0;
}
.i-cat{
	display:inline-block;
	color:#fff;
	font-size:12px;
	padding:0 15px;
	text-align:center;
	line-height:160%;
	background:#e95504;
	margin:0 0 0 15px;
	border-radius:20px;
}
p.Box-txt{
	font-size:14px;
	letter-spacing:0.1px;
}
.Box p.more{
	display:inline-block;
	text-align:right;
	padding:0 0 0 25px;
}
.Box a:hover p.more{
	color:#e95504;
	text-decoration:underline;
}

@media screen and (max-width : 639px){
	.Box a img{
		width:35%;
		margin:15px 15px 0;
	}
	.Box a{
		margin:0 0 30px 0;
	}
	.Box_right{
		padding:10px 15px;
	}
	.Box h2{
		font-size:13px;
		margin:0;
	}
	.uk-container p.Box-txt{
		padding:0;
		margin-bottom:15px;
	}
	.i-cat{
		display:none;
	}
	.Box .date{
	margin:10px 0;
	}

}

/* サムネイルなし list
----------------------------*/
.Box2{
	padding:30px;
	margin-bottom:40px;
	background:#fcf5f2;
}
.Box2 h2.single_ttl{
	font-size:15px;
	font-weight:bold;
	border-bottom:solid 1px #ebcece;
	margin-bottom:20px;
	padding:0 5px 10px 5px;
	color:#ba697c;
}

@media screen and (max-width : 639px){
	.Box2 h2.single_ttl{
		font-size:14px;
		margin-bottom:15px;
		padding:0 10px 5px 10px;
		border:none;
	}

}


/*   pagination
-------------------------------------------------------------------*/
.pagination {
	width: 100%;
	height: 100px;
	text-align: center;
	z-index: 200;
  list-style-type: none;
	padding:0;
}
.pagination a {
	margin: 0 5px;
	width: 15px;
	height: 15px;
	display: inline-block;
	overflow: hidden;
}
.pagination a.active {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}
.pagination,
.pagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}


/* 色変更箇所*/
.pagination a {
  font-weight: 500;
  padding-top: 1px;
  text-decoration:none;
  border-left-width: 0;
  min-width:36px;
  min-height:36px;
  color: #666;
  background-color: #fef6f2;
}

/* 色変更箇所*/
.pagination li:not([class*="current"]) a:hover {
  background-color: #e95504;
	color:#fff;
}

.pagination li:first-of-type a {
  border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

.pagination li.first a::before { content: "\f100"; }
.pagination li.last a::after { content: "\f101"; }

.pagination li.previous a::before { content: "\f104"; }
.pagination li.next a::after { content: "\f105"; }

 /* 色変更箇所*/
.pagination li.current a {
 background-color: #e95504;
 cursor: default;
 pointer-events: none;
	color:#fff;
}

.pagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}

.pagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

@media only screen and ( max-width: 639px ) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
	.uk-container .pagination li{
		padding:0;
	}
  .pagination li.previous a { border-left-width: 1px; }
}




/*==================================================================
	sidebar settings
===================================================================*/
.side_mb{
	margin:0 0 120px;
}


/* side menu ttl
-------------------------------------------------------------------*/
.side_nav{
	margin-bottom:20px;
}
.side_nav a{
	color:#111;
		text-decoration:none;
}

.side_nav a:hover{
	opacity:0.1;
}
.side_nav_ttl {
	background:#e95504;
	padding:8px 5px;
	text-align:center;
	color:#fff;
	letter-spacing:0.2em;
	font-size:14px;
	margin:0;
	font-weight:bold;
}
.side_nav_ttl a{
	color:#fff;
	font-size:14px;
	text-decoration:none;
}



/* side menu list
-------------------------------------------------------------------*/
.side_nav_item ul {
	padding:0;
	border-top:none;
}

.side_nav_item ul li {
	border-bottom: 2px solid #fff;
	position:relative;
	margin:0;
}
.side_nav_item ul li:last-child{
	border-bottom:none;
}
.side_nav_item ul li a {
	background: #fef6f2;
	padding:15px;
	font-size:12px;
	line-height:160%;
	color:#444;
}
.side_nav_item ul li a:hover {
	background: #eee;
}
.side_nav_item .date{
	display:inline-block;
}



/*==================================================================
	footer settings
===================================================================*/
.cv{
	padding:80px 0 ;
	background:#fef6f2;
}
.cv .more2 {
	margin:15px 0 0 0;
}
.cv .more2 a{
	display:block;
}
.footer_logo{
		padding:15px 0 0 ;
	}
@media screen and (max-width : 959px){
	.cv{
		padding:60px 0;
	}
}
@media screen and (max-width : 639px){
	.footer_logo{
		padding:0 0 30px ;
	}
	.footer_logo img{
		width:40%;
	}
	.cv{
		padding:40px 0 15px;
	}
}


/* about_address
-------------------------------------------------------------------*/
.about_address{
	margin:0;
	font-size:12px;
	color:#666;
	letter-spacing:2px;
	line-height:200%;
	margin:0 0 20px 0 ;
}
@media screen and (max-width : 959px){

}


/* cv tel
-------------------------------------------------------------------*/
.access-tel p {
	margin:0 0 10px 0;
}
.access-tel p a{
	display:block;
	color:#444;
	font-size:14px;
	letter-spacing:1px;
	text-decoration:none;
	margin:0;
	line-height:130%;
	font-weight:bold;
}
.access-tel p a span{
	display:inline-block;
	margin:0 5px 0 0;
	font-size:11px;
	letter-spacing:0.5px;
	color:#747474;
	font-weight:400;
}

@media screen and (max-width : 639px){
	.access-tel p {
		margin:0 0 20px 0;
	}
	.access-tel p a span{
		font-size:9px;
	}
}


/* cv 診療時間
-------------------------------------------------------------------*/
.sheet-time {
	width:100%;
	border-radius:10px;
	background:#fff;
}
.sheet-time tbody{
	padding:0 15px;
}
.sheet-time th,
.sheet-time td{
	color:#444;
	vertical-align:middle;
	font-size:13px;
	padding:10px 10px;
}
.sheet-time th{
	text-align:center;
	letter-spacing:3px;
	background-color:#fbe2d2;
}
.sheet-time td{
	text-align:center;
	width:8%;
	border-top:1px solid #e6e6e6;
}

.sheet-time th:first-child,
.sheet-time td:first-child{
	text-align:left;
	padding-left:30px;
}
.about_time{
	font-size:13px;
	color:#666;
	text-align:left;
	margin:15px 15px 0 0;
	line-height:280%;
}
@media screen and (max-width : 959px){
	.sheet-time{
		margin:20px 0 0 0;
	}
}
@media screen and (max-width : 639px){

	.sheet-time th{
		letter-spacing:2px;
		padding:10px 0;
		font-size:12px;
	}
	.sheet-time td{
		width:7%;
		padding:10px 0;
		font-size:12px;
	}
	.sheet-time th:first-child,
	.sheet-time td:first-child{
		padding-left:10px;
	}
	 .about_time{
		font-size:10px;
		text-align:left;
		margin:15px 0 0 10px;
		line-height:240%;
		padding-bottom:30px;
	}
}

/* sign
-------------------------------------------------------------------*/
.footer_sign{
	padding:20px 0;
	background:#fff;
	margin:0;
}
.footer_sign p {
	color: #e95504;
	font-size:10px;
	text-align:center;
	margin:0;
	font-weight:bold;
}
.footer_sign a{
	color: #e95504;
}
@media screen and (max-width : 639px){
	.footer_sign{
		padding:30px 15px 60px;
		margin-top:0;
	}

}

/* pagetop
-------------------------------------------------------------------*/

#page-top {
	position: fixed;
	bottom: 0;
	right: 60px;
	margin:0;
	z-index:1001;
}
#page-top a {
	background: url(./img/pagetop.png) no-repeat 0 0;
	z-index:10;
	text-indent:-5000px;
	text-decoration: none;
	color: #fff;
	width: 57px;
	height:55px;
	text-align: center;
	display: block;
}





/*==================================================================
  form setting
===================================================================*/
table.contactform{
	margin:0 auto 40px;
	max-width:1000px;
}
table.contactform th{
	width:30%;
	text-align:right;
}
.indispensable{
	display:block;
  font-size:12px;
  color:#ed551b;
	line-height:140%;
	margin:0;
}


input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="radio"],
input[type="checkbox"],
input[type="number"],
label,
button {
	cursor: pointer;
}
input[type="checkbox"],
input[type="radio"] {
	vertical-align: middle;
}
input[type="hidden"] {
	*float: left;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select{
	font-family:  "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","游ゴシック", YuGothic, "メイリオ", Meiryo, Verdana, sans-serif;
    font-size: 100%;
    outline: none;
	-webkit-appearance: none;
}

input[type="number"]{
	padding:5px;
	border:solid 1px #ddd;
	border-radius:3px;
}

*[class*="disabled"],
*:disabled {
    cursor: default !important;
}
.wpcf7-text{
    width: 95%;
    margin: 5px 0;
    border: 1px solid #DDDDDD ;
    border-radius: 3px;
    background: #fff;
    outline: none;
	padding:2px 5px;
}
.wpcf7-email{
    width: 95%;
    margin: 5px 0;
    border: 1px solid #DDDDDD ;
    border-radius: 3px;
    background: #fff;
    outline: none;
}
.wpcf7-date{
    width: 95%;
    margin: 5px 0;
    border: 1px solid #DDDDDD ;
    border-radius: 3px;
    background: #fff;
    outline: none;
}
textarea {
    width: 99%;
    margin: 5px 0;
    border: 1px solid #DDDDDD ;
    border-radius: 3px;
    background: #fff;
    outline: none;
}


input[type="text"]{
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
	padding:2px 5px;
	border-radius: 3px;
}
input[type="tel"] {
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
	padding:2px 5px;
	border-radius: 3px;
}
input[type="email"]{
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
	padding:2px 5px;
	border-radius: 3px;
}
textarea.wpcf7c-conf {
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
	padding:2px 5px;
}
select.wpcf7-select {
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
	padding:5px 15px 5px 30px;
	background:url(./img/btn.png) no-repeat 10px center;
}
checkbox.wpcf7c-conf {
  border: 1px solid #DDDDDD ;
  background-color: #FFFFFF !important;
}

/* css radio */
.wpcf7-form .wpcf7-radio input[type=radio] {
  position: relative;
  opacity: 0.0;
  z-index: 2;
  display: inline-block;
}
.wpcf7-radio .wpcf7-list-item-label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: -10px;
	padding: 10px 20px;
	border-radius: 2px;
	color: #3e4956;
	font-size: 14px;
	text-align: center;
	line-height: 1;
}
.wpcf7-radio .wpcf7-list-item-label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #e6e6e6;
	border-radius: 50%;
}
.wpcf7-radio input[type="radio"] + .wpcf7-list-item-label:after {
/*	background: #909090;*/
	background: #e6e6e6;
	position: absolute;
	content: "";
	top: 50%;
	left: -4px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
}
.wpcf7-radio input[type="radio"]:checked ~ .wpcf7-list-item-label:after {
	background: #909090;
}

/*
.wpcf7-radio .wpcf7-list-item-label:after{
	background: #ff0000 !important;
	width: 0 !important;
}
*/

/*input[type=radio] {display: none;}*/

/*↓ここを生かす↓
.wpcf7-list-item-label {
    position: relative;
    padding: 0 5px 0 5px !important;

}
↑ここを生かす↑*/

/*
.wpcf7-list-item-label:after,  .wpcf7-list-item-label:before {
    position: absolute;
    content: "";
    display: block;
    top: 50%;

}
.wpcf7-list-item-label:after {
    margin-top: -10px;
    width: 16px;
    height: 16px;
    border: 2px solid #ddd;
    border-radius: 50%;
}
*/

/*↓ここを生かす↓
.wpcf7-list-item-label:before {
    left: 5px;
    margin-top: -5px;
    width: 10px;
    height: 10px;
    background: #073e60;
    border-radius: 50%;
    opacity: 0;
}
↑ここを生かす↑*/

/*
input[type=radio]:checked + .wpcf7-list-item-label:before {
    opacity: 1;
}
.wpcf7-list-item-label:hover:after {
    border-color: #073e60;
}
*/

/* -- 20200311女性版男性版問診票統合により追加 -- */
.txt-partner-smoking input[type=text] {
	width: 3em !important;
}


.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label:after {
	background: #909090;
}





#back{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	color:#e95504;
	text-align:center;
	padding:7px 55px;
	border:solid 1px #e95504;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
#confirm{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	color:#e95504;
	text-align:center;
	padding:7px 55px;
	border:solid 1px #e95504;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
input[type="submit"]{
	display:inline-block;
	text-decoration:none;
	font-size:15px;
	color:#e95504;
	text-align:center;
	padding:7px 55px;
	border:solid 1px #e95504;
	border-radius:10px;
	letter-spacing:3px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
#confirm:hover{
	background:#e95504;
	transform:0.2s;
	color:#fff;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
#back:hover{
	background:#e95504;
	transform:0.2s;
	color:#fff;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}
input[type="submit"]:hover{
	background:#e95504;
	transform:0.2s;
	color:#fff;
	-webkit-transition: 0.4s ;
	transition: 0.4s ;
}

div.wpcf7-validation-errors,
div.wpcf7-acceptance-missing,
div.wpcf7-mail-sent-ok{
	padding:15px!important;
	border:none!important;
	background:#f4f4f4;
	margin:0 auto!important;
}


/* css checkbox */
.wpcf7-form .wpcf7-checkbox input[type=checkbox] {
  position: relative;
  opacity: 0.0;
  z-index: 2;
}
.wpcf7-checkbox .wpcf7-list-item-label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: -10px;
	padding: 10px 20px;
	border-radius: 2px;
	color: #3e4956;
	font-size: 14px;
	text-align: center;
	line-height: 1;
}
.wpcf7-checkbox .wpcf7-list-item-label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #e6e6e6;
	border-radius: 5px;
}
.wpcf7-checkbox input[type="checkbox"] + .wpcf7-list-item-label:after {
	position: absolute;
	content: "";
	top: 40%;
	left: -5px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
}
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
	background: #e6e6e6;
    border-bottom: solid 3px #909090;
    border-left: solid 3px #909090;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}
/*
input[type=checkbox] {
	display: none;
}
*/

/*↓ここを生かす↓
.wpcf7-list-item-label {
    position: relative;
    padding: 0 20px 0 25px;
}
.wpcf7-list-item-label:before {
    content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
	background:#fff;
}
↑ここを生かす↑*/

/*
input[type=checkbox]:checked + .wpcf7-list-item-label{
  color: #e52d19;
}
input[type=checkbox]:checked + .wpcf7-list-item-label:after {
    content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #e52d19;
  border-right: 3px solid #e52d19;
}
*/
.gc_wrapper {
  max-width: 800px; 
  min-width: 300px; 
  margin: 2.0833% auto;
}
 
.responsive-iframe-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}
.responsive-iframe-container iframe,   
.responsive-iframe-container object,  
.responsive-iframe-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
 
@media (max-width: 600px) {
    .big-container {
        display: none;
    }
    .small-container {
       padding-bottom: 200%;   /* 高さ */
		    margin-bottom: -200px;
    }
	.responsive-iframe-container iframe,   
	.responsive-iframe-container object,  
	.responsive-iframe-container embed {
		position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 60%;
}	
}
@media (min-width: 600px) {
    .small-container {
        display: none;
    }

}


.flow{
  position: relative;
  background: #FBE2D2;
	padding: 2em;
  font-size: 14px;
  line-height: 190%;
  text-align: left;
	margin-bottom:40px;
}
 
@media (max-width: 600px) {
	.flow{
		padding: 1em;
	}
}
.flow h2{
	font-weight:bold;
	font-size:1.1em;
}
.flow p{
	margin:0 auto;	
}

	.flow:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #FBE2D2 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}

.flow:last-child:after {
    content : none ;
}


.bg_white{
	background-color:#ffff;
}



/* page_menu
-------------------------------------------------------------------*/
.page_menu a{
    display:block;
    text-decoration:none;
}
.page_menu a h2{
    background:url(./img/btn2.png) no-repeat left center;
    margin:0 15px 40px;
    font-size:15px;
    font-weight:bold;
    padding-left:20px;
    line-height:160%;
    color:#222;
}
.page_menu a:hover h2{
    color:#E95502;
}
.page_menu a:hover img{
    opacity:0.6;
}
@media screen and (max-width : 639px){
    .page_menu a h2{
        margin:0 0 30px;
        font-size:13px;
        line-height:160%;
    }
}


/* 問診票入力画面用css
-------------------------------------------------------------------*/
@media screen and (min-width: 959px){	
  .h-adr .br-pc { display:block; }
  .h-adr .br-sp { display:none; }
}
@media screen and (max-width: 959px){	
  .h-adr .br-pc { display:none; }
  .h-adr .br-sp { display:block; }
}
.h-adr .text-min{
    width: 30% !important;
}
.h-adr .text-medium{
    width: 50% !important;
}
@media screen and (max-width: 959px){	
  .h-adr .text-min{
      width: 95% !important;
  }
}
.h-adr tr th.non-bd-b, tr td.non-bd-b {
  border-bottom: none !important;
}
.h-adr tr th.whit-bd-b {
  border-bottom: 1px solid #fff !important;
}
.h-adr .list-block .wpcf7-list-item {
  display: block !important;
}
.h-adr .contactform ul {
  list-style-type: none;
  margin-bottom: -10px !important;
}
.h-adr .contactform ul li {
  margin-left: -30px;
}
.h-adr .flt {
  float: left;
}
.h-adr .clr {
  clear: both;
}
.h-adr table th {
  vertical-align: top !important;  
}
.h-adr table.adjust td {
  line-height: 1em !important;  
}
.h-adr input[name="txt-purpose0"] {
  -ms-filter: "alpha(opacity=70)"; /* IE 8,9 */
  -moz-opacity: 0; /* FF , Netscape */
  -khtml-opacity: 0; /* Safari 1.x */
  opacity: 0;
  zoom: 1; /*IE*/
}
.h-adr .txt-purpose0-p {
  margin-bottom: -1.5em !important;
}
.h-adr p {
  display: none;
}
.h-adr .alert {
  color: #ff0000;
  display: block;
}

.h-adr input.wpcf7-number {
  width: 50px !important;
}

/* circle num */
ol.circle_num  {
  margin: 0;
  padding: 0
}
ol.circle_num li  {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

/* 20210203add */
@media screen and (max-width: 959px){
  .wpcf7-list-item-label{
    display: inline;
  }
  .wpcf7-list-item.first.last{
      display: inline-flex;
  }
  .wpcf7-form .wpcf7-checkbox input[value="異常がないか検査を受けたい"], .wpcf7-form .wpcf7-checkbox input[value="不妊治療を受けたい"], .wpcf7-form .wpcf7-checkbox input[value="セカンドオピニオン"]{
    top: 15px;
  }
  .wpcf7-form .wpcf7-checkbox input[value="相談したい"], .wpcf7-form .wpcf7-checkbox input[value="タイミング療法"]{
	  top: 8px;
  }
	.wpcf7-form .wpcf7-checkbox input[type=checkbox]{
		height: 20px !important;
	}
}
/* 20260123add_トップページに妊娠率アイコン追加 */
/* コンテナ全体の調整 */
.flex-container {
  display: flex;
  gap: 4vw;
  width: 100%;
  font-family: "dnp-shuei-mgothic-std", sans-serif;
  box-sizing: border-box;
}

.pregnancyrate_sub, 
.pregnancyrate, 
.pregnancyrate_comments1, 
.pregnancyrate_comments2 {
  font-family: "dnp-shuei-mgothic-std", sans-serif !important;
}

/* 共通の箱設定 */
.box1, .box2 {
  /* スマホでは画面の30%、PCでは最大130px（ここを調整） */
  width: 30vw;
  max-width: 130px; 
  /* 文字が溢れてもこれ以上小さくならない限界値 */
  min-width: 110px;
  
/* 正方形を死守する設定 */
  aspect-ratio: 1 / 1;
  overflow: hidden; 
  flex-shrink: 0;
  
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 8px; /* 内側の余白を少し詰める */
}

/* --- PC表示の調整 (画面幅が768px以上の場合) --- */
@media screen and (min-width: 768px) {
  .flex-container {
    justify-content: flex-start; /* 左に寄せる */
    margin-left: 8%;             /* 左端の余白を微調整（お好みで変えてください） */
    margin-bottom: 50px;         /* 下の要素との隙間（PC用） */
  }
}

/* --- スマホ表示の調整 (画面幅が767px以下の場合) --- */
@media screen and (max-width: 767px) {
  .flex-container {
    justify-content: center;     /* スマホでは中央の方が見栄えが良いことが多いです */
    margin-top: -20px;           /* 上に少し持ち上げる（数値は調整してください） */
    margin-bottom: 60px;         /* すぐ下の要素との隙間をしっかり空ける */
  }
}

.box1 {
  background-color: rgba(255, 255, 255, 0.8);
}
.box2 {
  background-color: #e95504;
/* Flexboxで上下左右中央に配置 */
  display: flex;
  flex-direction: column;   /* 上から下に並べる */
  justify-content: center;  /* ★これが垂直方向の中央寄せ */
  align-items: center;      /* ★これが水平方向の中央寄せ */
/* 要素同士の隙間を微調整（必要に応じて）*/
  gap: 3px;  
  
  /*padding: 2px;
  box-sizing: border-box;
  overflow: hidden;*/
  position: relative;
}

/* 透明なリンクをbox2と同じサイズに広げる */
.full-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;        /* 他の文字より上に重ねる */
  text-indent: -9999px; /* テキスト（もしあれば）を画面外へ */
  overflow: hidden;
}

/* ホバー時に少し色を変える演出（クリックできることを伝えるため） */
.box2:hover {
  opacity: 0.8;
  transition: 0.3s;
  cursor: pointer;
}

/* box2の中にある全てのPタグの余白をゼロにする */
.box2 p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2; /* 行間が広すぎるとズレて見えるので調整 */
}

/* PC表示で箱を小さくしたので、文字の最大値(clampの第3引数)も小さくします */
.pregnancyrate_sub {
  font-size: clamp(10px, 3vw, 12px); /* 15px → 12px */
  color: #fff;
  margin: 0;
  white-space: nowrap; /* 改行させない */
}

.pregnancyrate {
  font-size: clamp(24px, 8vw, 36px); 
  color: #fff;
  font-weight: bold;
  line-height: 1;
  margin: 2px 0;
}

.pregnancyrate_comments1 {
  font-size: clamp(10px, 3vw, 12px);
  font-weight: bold;
  color: #fff;
  margin: 0;
  white-space: nowrap;
  text-align: center;
  display: block;
  line-height: 1.1;
}

.pregnancyrate_comments2 {
  /* ここが一番溢れやすいので注意 */
  font-size: clamp(7px, 2vw, 9px); 
  color: #fff;
  line-height: 1.1;
  transform: scale(0.9); /* どうしても入らなければ少し縮小 */
}

/* ロゴ画像がはみ出さないように */
.box1 img {
  max-width: 85%;
  height: auto;
}

.per {
  font-size: 50%;
  color: #fff;
}
.attn {
  font-size: 130%;
  color: #fff;
}
.sml {
font-size: 75%;
  color: #fff;
  display: inline-block; /* 独立させて制御しやすくする */
  margin-top: -1px;      /* さらに詰めたい場合はマイナスマージン */
  vertical-align: top;}

/* 20260130add_費用ページ修正 */
/* ============================================================
   1. PC表示・共通設定
   ============================================================ */
.cost {
  width: 100% !important;
  border-collapse: collapse !important; /* 隙間をなくす重要設定 */
  border-spacing: 0 !important;        /* 隙間をゼロに */
  margin-bottom: 20px !important;
  border: 1px solid #ccc !important;
  table-layout: fixed;
  background-color: #fff;
}

.cost th, .cost td {
  border: 1px solid #ccc !important;
  padding: 12px 10px !important;
  vertical-align: middle !important;
  text-align: left;
}

/* PCの列幅設定 */
.cost th:nth-child(1), .cost td:nth-child(1) { width: 25% !important; background-color: #fbe2d2 !important; font-weight: bold; }
.cost th:nth-child(2), .cost td:nth-child(2) { width: 55% !important; }
.cost th:nth-child(3), .cost td:nth-child(3) { width: 20% !important; text-align: center !important; }

/* PC用の合計セル */
.pc-total-cell {
  background-color: #fff !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.total-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  align-items: center;
}

.total-label { font-weight: bold; font-size: 14px; margin: 0; color: #333; }
.total-price { font-size: 18px; font-weight: bold; color: #333; margin: 0; }
.total-note { font-size: 12px; margin: 0; color: #666; }

/* PCではスマホ用要素を隠す */
.cost .sp2, .sp2-only-br { display: none !important; }

/* ============================================================
   2. スマホ表示時の設定（768px以下）
   ============================================================ */
@media screen and (max-width: 768px) {
  
  .cost thead, .cost .pc-only-thead { display: none !important; }

  .cost, .cost tbody, .cost td {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;      /* 全ての余白を排除 */
    padding: 0 !important;     /* paddingも一度リセット */
  }

  .cost { border: none !important; }

.cost tr {
    display: block !important;      /* 1. trをブロック要素にして縦に並べる */
    margin-bottom: 20px !important; /* 2. 各検査項目の間にしっかり隙間を作る */
    border: 1px solid #ccc !important; /* 3. 項目全体を枠線で囲う */
    background: #fff;
    padding: 0 !important;          /* 4. tr自体の余計な余白を排除 */
  }

  /* 最後の項目の余白を調整したい場合（任意） */
  .cost tr:last-child {
    margin-bottom: 10px !important;
  }

  /* 1段目：項目名 */
  .cost td:nth-child(1),
  .cost td.u-sticky {
    background-color: #fbe2d2 !important;
    border: none !important;
    border-bottom: 1px solid #ccc !important;
    padding: 10px 15px !important; /* 中の余白を再設定 */
    font-weight: bold;
    font-size: 15px !important;
  }

  /* 2段目：内容 */
  .cost td:nth-child(2) {
    border: none !important;
    padding: 12px 15px !important;
    background-color: #fff !important;
  }

  /* 3段目：通常の費用セル */
  .cost td:nth-child(3):not(.pc-total-cell) {
    display: flex !important;
    padding: 0 !important;
    border: none !important;
    border-top: 1px solid #eee !important;
  }

  /* 空セル非表示 */
  .cost td:nth-child(3):not(:has(span)):not(.pc-total-cell) {
    display: none !important;
  }

  /* 合計セル：トーンを合わせたデザイン */
  .cost td.pc-total-cell {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5 !important;
    border: none !important;
    border-top: 1px solid #ccc !important;
    padding: 12px 15px !important;
  }

  .cost td.pc-total-cell .total-content {
    flex-direction: row;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
  }

  .cost td.pc-total-cell .total-label {
    background: #666;
    color: #fff;
    padding: 1px 8px;
    font-size: 12px;
    border-radius: 2px;
  }

  /* 通常の費用ラベル */
  .cost td .sp2 {
    display: flex !important;
    flex: 0 0 50% !important;
    justify-content: center;
    padding: 10px 0 !important;
    border-right: 1px solid #eee !important;
    background: #f9f9f9 !important;
    font-size: 13px;
    font-weight: bold;
  }

  /* 金額部分 */
  .cost td span:not(.sp2) {
    display: flex !important;
    flex: 0 0 50% !important;
    justify-content: center;
    padding: 10px 0 !important;
    font-size: 14px;
  }

  .sp2-only-br { display: inline !important; }
}
.flow-duble{
	position: relative;
	background: #fef6f2;
	padding: 2em 1em;
	font-size: 14px;
	line-height: 190%;
	text-align: left;
	margin-bottom:40px;
	border-radius: 10px;
}
.more a {
    display: inline-block;
    text-decoration: none;
    font-size: 15px;
    color: #fff;
    text-align: center;
    background: #e95504;
    padding: 10px;
    border-radius: 10px;
    letter-spacing: 3px;
    font-family: dnp-shuei-mgothic-std, sans-serif;
    font-weight: 400;
    border: solid 1px #e95504;
}

.highlight-text {
  font-size: 16px;   /* 好みの大きさに調整 */
  font-weight: bold; /* 太字に設定 */
  margin: 80px 40px;
}

.row-highlight td.u-sticky {
    background: #fff9e6 !important; /* 好みの色に変更 */
    color: #333 !important;
}

@media screen and (max-width : 639px){
.sheet2 th{
 padding:0px;
 font-size:10px;
}
.sheet2 td{
 padding:5px!important;
 font-size:10px;
}
.sp th,.sp td{
display:block;
}

.flow-duble{
	text-align: center;
}
}

/* --- 1. PC/共通設定 --- */
.cost { width: 100%; border-collapse: collapse; margin: 10px 0; table-layout: fixed; }
.cost td { border: 1px solid #ccc; padding: 12px; vertical-align: middle; background: #fff; }
.u-sticky { background: #fbe2d2 !important; font-weight: bold; text-align: center; color: #333 !important; }
td.u-sticky.row-highlight, 
tr.row-highlight td.u-sticky {
    background: #FCF2ED !important;
    color: #333 !important;
}
.highlight-text { font-size: 16px; font-weight: bold; margin: 40px 20px; }
.sp2-only-br {
    display: none !important;
}


/* --- 2. スマホ表示（768px以下） --- */
@media screen and (max-width : 768px) {
    #insurance { display: block; padding-top: 20px;
  }
    .sp2-only-br {
        display: block !important;
        content: "";
        margin-top: 5px;
    }

/* 1. 親要素の「左側の突き出し」をリセットして左端切れを直す */
  .uk-grid {
    margin-left: 0 !important;
  }
  
  /* 2. ボタンを包むdivの余白を均等にする */
  .uk-grid > div {
    padding-left: 5px !important;
    padding-right: 5px !important;
    box-sizing: border-box !important;
  }

  /* 3. ボタン自体の設定 */
  .more a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    
    /* 四角の角丸 */
    min-height: 54px;
    width: 100% !important;
    border-radius: 8px !important;
    
    /* 文字切れ防止の最終ライン */
    padding: 2px 4px !important;
    letter-spacing: 0 !important;   /* 文字間隔ゼロ */
    font-size: 12px !important;     /* 11pxだと小さすぎた場合は12pxに */
    line-height: 1.2 !important;
    text-align: center !important;
    
    /* はみ出しを許さない設定 */
    box-sizing: border-box !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
/* テーブル本体に外枠を設定して、終わりのラインを作る */
  .cost {
    display: block !important;
    border-bottom: none !important;
    margin-bottom: 10px !important;
  }
/* tbodyをFlexボックスにして縦並びを可能にする */
  .cost tbody {
    display: flex !important;
    flex-direction: column !important;
  }

  /* すべてのセルをデフォルトでorder: 1にする */
  .cost td {
    /* display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    order: 1;  */
    border-bottom: 1px solid #eee !important; /* 項目内の区切り線 */
  }

/* 最後のセル（金額部分）の下線は不要なので消す */
  .cost td:last-child {
    border-bottom: none !important;
  }

  /* 合計セルを最後尾に移動 */
  .total-cell-mobile {
    order: 99 !important; 
    border: 2px solid #e95504 !important; /* 強調用の枠線 */
    margin-top: 10px;
    padding: 15px !important;
    background: #fffaf8 !important;
  }

  .total-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px; /* 要素間の隙間 */
    padding: 15px;
  }

  .total-label {
    background: #666; /* 画像のような濃いグレー */
    color: #fff;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 12px;
    margin: 0 !important;
  }
  .total-price {
    font-size: 22px;
    font-weight: bold;
    margin: 0 !important;}
  .total-note { font-size: 13px; margin: 0; }

.cost tr.row-highlight {
    margin-bottom: 8px !important; /* 20pxから8pxに縮小（お好みで調整してください） */
}

/* テーブル全体をFlexコンテナにする */
  .cost.first-visit-table tbody {
    display: flex !important;
    flex-direction: column !important;
  }

  /* すべての td にデフォルトの並び順を設定 */
  .cost.first-visit-table td {
    order: 1; 
    display: block !important;
    width: 100% !important;
  }

/* 3. ただし、顕微授精リストの最後の項目だけは、次のセクションとの間隔を空けるために戻す */
.cost tr.row-highlight:last-of-type,
.cost tr:has(+ tr:not(.row-highlight)) {
    /* 必要に応じてここを調整。基本はそのままでも大丈夫です */
}
.cost tr:has(td[rowspan="4"]) {
    margin-bottom: 8px !important;
}
.cost tr.row-highlight:not(:has(+ .row-highlight)) {
    margin-bottom: 20px !important;
}


  /* 費用・金額の横並び設定（既存の維持） */
  table.cost td[style*="text-align:center"] {
    display: flex !important;
    padding: 0 !important;
    align-items: stretch !important;
  }

  /* 表の基本 */
  table.cost td { display: block !important; width: 100% !important; box-sizing: border-box !important; }

  /* オレンジ背景の項目名（赤文字も横幅いっぱいにする） */
  table.cost td.u-sticky {
    display: block !important;
    padding: 12px 10px !important;
    text-align: center !important;
    width: 100% !important;
    
  }

    .row-highlight td.u-sticky {
        background: #fff9e6 !important;
    }


  /* 費用・金額 50%ずつ横並び */
  table.cost td[style*="text-align:center"] {
    display: flex !important;
    padding: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  table.cost td .sp2 {
    flex: 0 0 35% !important; /* 幅を35%で固定 */
    max-width: 35% !important;
    background: #f5f5f5 !important;
    padding: 12px 5px !important;
    border-right: 1px solid #ccc !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
  }

 table.cost td span:not(.sp2) {
    flex: 0 0 65% !important; /* 残りの65%を割り当て */
    max-width: 65% !important;
    background: #fff !important;
    padding: 12px 5px !important;
    font-weight: bold;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box !important;
    text-align: center;
  }

  /* すべての tr を Flex項目にする */
  .cost.first-visit-table tr {
    display: contents !important; /* trの枠を無視して中身のtdを直接並べる */
  }

  .cost.first-visit-table td:nth-child(3):not(.total-row-item) {
    display: block !important;
    margin-bottom: 20px !important; /* ここで他の表と同じ隙間を作ります */
    border-bottom: 1px solid #ccc !important; /* 項目ごとの区切り線 */
  }

  /* ★ 合計金額のセルだけを強制的に一番下（大きな数字）に持っていく */
  .cost.first-visit-table td.total-row-item {
    order: 99 !important;
   display: flex !important; /* 既存のflexデザインを維持 */
    margin-top: 10px; /* 他の項目との間に少し隙間を作る */
    background: #f5f5f5 !important; /* グレー背景を維持 */
    border: 1px solid #ccc !important;
  }

}

  /* 中の赤文字スパンを広げる */
  table.cost td.u-sticky span {
    background: transparent !important; /* 背景を透明に */
    display: inline !important;         /* 改行させない */
    white-space: nowrap !important;      /* 改行させない */
    width: auto !important;             /* 幅を自動にして背景が広がるのを防ぐ */
    padding: 0 !important;              /* 余計な余白を消す */
  }

/* --- highlight-text の設定を更新 --- */

  .highlight-text {
    display: block !important;
    white-space: normal !important; /* 改行を許可に戻す */
    font-size: 15px !important;     /* 読みやすいサイズに */
    line-height: 1.6 !important;   /* 改行後の行間を適切に */
    margin: 30px 10px !important;
    text-align: center !important;
    width: auto !important;
  }

/* カッコ内を少し控えめにする場合（追加オプション） */
.highlight-text {
  font-size: 16px !important;
}

@media screen and (max-width: 768px) {
  /* 1. tbodyをFlexboxにして、中身（セル）を自由に並び替えられるようにする */
  .cost.first-visit-table tbody {
    display: flex !important;
    flex-direction: column !important;
  }

  /* 2. 各行（tr）の設定：行の順番はHTML通り（超音波が一番上） */
  .cost.first-visit-table tr {
    display: contents !important; /* 行の枠線を一度リセットし、中のtdを個別に制御 */
  }

  /* 3. 各検査項目の「箱」を個別に作成し、隙間を作る */
  .cost.first-visit-table td:not(.total-row-item) {
    display: block !important;
    width: 100% !important;
    border: 1px solid #ccc !important;
    background: #fff;
    order: 1 !important; /* 通常項目は1番グループ */
  }

  /* 項目名と内容の間に隙間が空きすぎないよう、内容セルの上枠を消す等の調整 */
  .cost.first-visit-table td:nth-child(2) {
    border-top: none !important;
    margin-bottom: 20px !important; /* 次の項目との隙間 */
    padding-bottom: 15px !important;
  }

  /* 4. 【最重要】合計金額セルを切り離して、一番下に配置 ＆ 上に隙間 */
  .cost.first-visit-table td.total-row-item {
    display: flex !important;
    flex-direction: column !important;
    order: 99 !important;        /* これで表の絶対的な一番下へ移動 */
    width: 100% !important;
    height: auto !important;      /* PCのrowspanの影響を排除 */
    
    /* 既存のデザイン（グレー背景・枠線）を100%維持 */
    background-color: #f5f5f5 !important;
    border: 1px solid #ccc !important;
    padding: 20px 15px !important;
    box-sizing: border-box !important;
  }
}