@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　healthcare
 * 
 */

/*--------------------------------------------------------------------------
   Overwright
---------------------------------------------------------------------------*/



/*--------------------------------------------------------------------------
   Content
---------------------------------------------------------------------------*/

/* intro
-----------------------------------------------------------------*/
.intro{
	padding: 90px 0 0;
}
.intro h2{
	margin-bottom: 60px;
}
.intro h2 + .txt{
	margin-bottom: 90px;
	text-align: center;
}
.page-nav{
	justify-content: space-between;
	max-width: 1010px;
  width: 100%;
	margin-inline: auto;
}
.page-nav li{
	max-width: 230px;
	width: calc((100% - 30px)/4);
}


/* user-guide
-----------------------------------------------------------------*/
.user-guide{
	padding: 160px 0;
}
.user-guide .txt-area{
	width: 50%;
}
.user-guide h2{
	margin-bottom: 40px;
	text-align: left;
}
.user-guide dl > div:nth-child(n+2){
	margin-top: 40px;
}
.user-guide dl dt{
	margin-bottom: 15px;
	font-size:min(1.76vw,2.7rem);
	line-height: 1.5;
}
.user-guide dl dd{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;
}
.user-guide .pic{
	max-width: 580px;
	width: 44.62%;
}


/* health-management
-----------------------------------------------------------------*/
.health-management{
	padding: 160px 0;
	background: var(--beige)
}
.health-management h2{
	margin-bottom: 100px;
}
.health-management .layout-box:nth-of-type(n+2){
	margin-top: 100px;
}
.health-management .layout-box:nth-of-type(even){
	flex-direction: row-reverse;
}
.health-management .layout-box .pic{
	max-width: 580px;
	width: 44.62%;
}
.health-management .layout-box .txt-area{
	width: 52%;
} 
.health-management .txt-area h3{
	margin-bottom: 15px;
	font-size:min(1.76vw,2.7rem);
	line-height: 1.5;	
}
.health-management .txt-area .txt{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;	
}
.other-point-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 100px;
}
.other-point-list li{
	max-width: 630px;
	width: calc(50%- 10px);
	padding: 50px 5%;
	background: var(--light);
	border-radius: 10px;
}
.other-point-list li:nth-child(n+3){
	margin-top: 40px;
}
.other-point-list h3{
	margin-bottom: 20px;
	font-size:min(1.5vw,2.3rem);
	line-height: 1.5;
}
.other-point-list .txt{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;		
}


/* insurance
-----------------------------------------------------------------*/
.insurance{
	padding: 160px 0;
}
.insurance h2{
	margin-bottom: 100px;
}
.insurance .layout-box{
	flex-direction: row-reverse;	
}
.insurance .txt-area{
	width: 66.15%;
	padding-right: calc((100vw - 1300px)/2);
}
.insurance .txt-area-inner{
	max-width: 800px;
	margin: 0 20px 0 6.5vw;
}
.insurance .txt-area dl{
	margin-bottom: 100px;
}
.insurance .txt-area dl > div:nth-child(n+2){
	margin-top: 80px;
}
.insurance .txt-area dl dt{
	margin-bottom: 20px;
	font-size:min(1.76vw,2.7rem);
}
.insurance .txt-area dl dd{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;		
}
.insurance .pic-side{
	width: 33.85%;
}
.insurance .pic-side img{
	border-radius: 0 10px 10px 0;
}

.flow .ttl-dot::before{
	color: var(--green);
}
.flow h3{
	margin-bottom: 25px;
}
.flow h3 + .txt{
	margin-bottom: 30px;
	font-size:min(1.04vw,1.6rem);
}
.flow .timeline li {
	display: flex;
	align-items: flex-start;
	padding-bottom: 10px;
}
.flow .timeline li:last-child{
	padding-bottom: 0;
}
.flow .timeline h4 {
	flex-shrink: 0;
	width: 65px;
	margin-right: 35px;
	font-size: 2.6rem;
}
.flow .timeline li .txt-box{
	position: relative;
	width: calc(100% - 100px);
	padding: 25px 5%;
	background: var(--beige);
	border-radius: 10px;
	font-size:min(1.17vw,1.8rem);	
}
.flow .timeline li .txt-box::before {
	position: absolute;
	left: -41px;
	top: 15px;
	display: block;
	width: 12px;
	height: 12px;
	background: var(--green);
	border-radius: 100vmax;
	content: "";
}
.flow .timeline li::after {
	position: absolute;
	left: 65px;
	top: 15px;
	display: block;
	width: 1px;
	height: 100%;
	content: "";
	border-left: 1px dotted var(--green);
}
.flow .timeline li:last-child::after {
	display: none;
}

@media screen and (max-width: 1300px) {	
	.insurance .txt-area{
		padding-right: 20px;
	}	
}


/* counseling
-----------------------------------------------------------------*/
.counseling{
	padding: 160px 0;
	background: var(--beige)
}
.counseling h2{
	margin-bottom: 100px;
}
.counseling .txt-area{
	width: 50%;
}
.counseling dl{
	margin: 50px 0;
}
.counseling dl > div:nth-child(n+2){
	margin-top: 40px;
}
.counseling dl dt{
	margin-bottom: 15px;
	font-size:min(1.76vw,2.7rem);
	line-height: 1.5;
}
.counseling dl dd{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;
}
.counseling .pic{
	max-width: 580px;
	width: 44.62%;
}
.counseling .reservation{
	padding: 35px 5%;
	border-radius: 10px;
	border: 1px dotted var(--dark);
}
.counseling .reservation h3{
	margin-bottom: 20px;
	font-size:min(1.76vw,2.7rem);
	line-height: 1.5;	
}
.counseling .reservation .txt{
	font-size:min(1.04vw,1.6rem);
	text-align: justify;
}
.counseling .reservation .note{
	margin-top: 10px;
}



















/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {


/* intro
-----------------------------------------------------------------*/
	.intro{
		padding: 40px 0 0;
	}
	.intro h2{
		margin-bottom: 30px;
	}
	.intro h2 + .txt{
		margin-bottom: 60px;
		text-align: justify;
	}
	.page-nav{
		max-width: none;
	}
	.page-nav li{
		max-width: none;
		width: calc(50% - 10px);
	}
	.page-nav li:nth-child(n+3){
		margin-top: 20px;
	}


/* user-guide
-----------------------------------------------------------------*/
	.user-guide{
		padding: 110px 0;
	}
	.user-guide .layout-box{
		display: block;
	}
	.user-guide .txt-area{
		width: 100%;
		margin-bottom: 40px;
	}
	.user-guide h2{
		margin-bottom: 30px;
	}
	.user-guide dl > div:nth-child(n+2){
		margin-top: 40px;
	}
	.user-guide dl dt{
		margin-bottom: 15px;
		font-size: 2.3rem;
	}
	.user-guide dl dd{
		font-size: 1.4rem;
	}
	.user-guide .pic{
		max-width: none;
		width: 100%;
	}


/* health-management
-----------------------------------------------------------------*/
	.health-management{
		padding: 110px 0;
	}
	.health-management h2{
		margin-bottom: 50px;
	}
	.health-management .layout-box{
		display: block;
	}
	.health-management .layout-box:nth-of-type(n+2){
		margin-top: 50px;
	}
	.health-management .layout-box .pic{
		max-width: none;
		width: 100%;
		margin-bottom: 30px;
	}
	.health-management .layout-box .txt-area{
		width: 100%;
	} 
	.health-management .txt-area h3{
		margin-bottom: 10px;
		font-size: 2.3rem;	
	}
	.health-management .txt-area .txt{
		font-size: 1.4rem;
	}
	.other-point-list{
		display: block;
		margin-top: 50px;
	}
	.other-point-list li{
		max-width: none;
		width: 100%;
		padding: 30px 20px;
	}
	.other-point-list li:nth-child(n+2){
		margin-top: 20px;
	}
	.other-point-list h3{
		margin-bottom: 10px;
		font-size: 2rem;
		letter-spacing: .05em;
	}
	.other-point-list .txt{
		font-size: 1.4rem;
	}


/* insurance
-----------------------------------------------------------------*/
	.insurance{
		padding: 110px 0;
	}
	.insurance h2{
		margin-bottom: 50px;
	}
	.insurance .layout-box{
		display: block;	
	}
	.insurance .txt-area{
		width: 100%;
	}
	.insurance .txt-area-inner{
		max-width: none;
		margin: 0 20px;
	}
	.insurance .txt-area dl{
		margin-bottom: 50px;
	}
	.insurance .txt-area dl > div:nth-child(n+2){
		margin-top: 40px;
	}
	.insurance .txt-area dl dt{
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	.insurance .txt-area dl dd{
		font-size: 1.4rem;
	}
	.insurance .pic-side{
		width: auto;
		margin: 60px 20px 0 0;
	}
	
	.flow .ttl-dot{
		font-size: 1.8rem;
	}
	.flow .ttl-dot::before{
		margin-right: 10px;
		line-height: 2.4;
	}
	.flow h3{
		margin-bottom: 20px;
	}
	.flow h3 + .txt{
		font-size: 1.4rem;
	}
	.flow .timeline li {
		display: flex;
		align-items: flex-start;
		padding-bottom: 10px;
	}
	.flow .timeline li:last-child{
		padding-bottom: 0;
	}
	.flow .timeline h4 {
		flex-shrink: 0;
		width: 50px;
		margin-right: 20px;
		font-size: 2.2rem;
	}
	.flow .timeline li .txt-box{
		width: calc(100% - 70px);
		padding: 20px;
		font-size: 1.5rem;	
	}
	.flow .timeline li .txt-box::before {
		left: -30px;
		top: 12px;
		display: block;
		width: 10px;
		height: 10px;
	}
	.flow .timeline li::after {
		left: 45px;
		top: 12px;
	}


/* counseling
-----------------------------------------------------------------*/
	.counseling{
		padding: 110px 0;
	}
	.counseling h2{
		margin-bottom: 30px;
	}
	.counseling .layout-box{
		display: block;
	}
	.counseling .txt-area{
		width: 100%;
		margin-bottom: 40px;
	}
	.counseling dl{
		margin: 40px 0;
	}
	.counseling dl > div:nth-child(n+2){
		margin-top: 40px;
	}
	.counseling dl dt{
		margin-bottom: 15px;
		font-size: 2.3rem;
	}
	.counseling dl dd{
		font-size: 1.4rem;
	}
	.counseling .pic{
		max-width: none;
		width: 100%;
	}
	.counseling .reservation{
		padding: 25px 20px;
	}
	.counseling .reservation h3{
		margin-bottom: 15px;
		font-size: 2rem;
	}
	.counseling .reservation .txt{
		font-size: 1.4rem;
	}



}