@charset "utf-8";

/*------------------------------------------
	PC
------------------------------------------*/
@media print, screen and (min-width: 768px){
	
	/*--------------------------------
		title
	--------------------------------*/
	#title{
		width: 100%;
		min-width: 1100px;
	}
	h2{
		width: 1100px;
		margin: 0 auto;
		padding: 40px 20px 50px;
		font-size: 26px;
		font-weight: normal;
    	position: relative;
    	z-index: 0;
	}
	h2:before{
	    position: absolute;
	    content: "";
	    bottom: 44px;
	    left: 20px;
	    width: 50px;
	    height: 4px;
	    background: #93a27d;
	}
	h2:after{
	    position: absolute;
	    content: "";
	    bottom: 43px;
	    left: 110px;
	    width: 53px;
	    height: 46px;
	    background: url(../images/contents-title.png);
	    background-size: cover;
    	z-index: -1;
	}
	
	/*--------------------------------
		bread
	--------------------------------*/
	#bread{
		width: 100%;
		min-width: 1100px;
	}
	#bread ul{
		width: 1100px;
		margin: 0 auto;
		padding: 15px 20px 65px;
		font-size: 0;
	}
	#bread ul li{
		display: inline-block;
		font-size: 12px;
		margin-right: 25px;
		position: relative;
	}
	#bread ul li:last-child{
		margin-right: 0;
	}
	#bread ul li:after{
		position: absolute;
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		top: calc(50% - 5px);
		right: -15px;
		border-top: solid 1px #3c3431;
		border-right: solid 1px #3c3431;
		transform: translateY(0px) rotate(45deg);
	}
	#bread ul li:last-child:after{
		content: "";
		border-top: none;
		border-right: none;
	}

	/*--------------------------------
		medicode
	--------------------------------*/
	.medicode>.fl{
		width: 375px;
	}
	.medicode>.fr{
		width: 685px;
	}
	.medicode h3{
		font-size: 24px;
		font-weight: normal;
		margin-bottom: 35px;
	}
	.medicode h3 em{
		color: #84b157;
		font-size: 30px;
		font-style: normal;
	}
	.medicode .fr p{
		line-height: 2;
    	margin-bottom: 15px;
	}
	.medicode .fr ul li{
		line-height: 2;
	    text-indent: -1rem;
	    margin-left: 1rem;
	}
	.medicode .fl p{
	    width: 250px;
	    height: 150px;
	    color: #a63b2c;
	    font-size: 22px;
	    font-weight: bold;
	    text-align: center;
	    line-height: 150px;
	    text-shadow: 3px 3px 3px #dd8e83;
	    margin: 0 40px 30px;
	    background: #f5d8d4;
	    border-radius: 7px;
		position: relative;
    	z-index: 0;
	}
	.medicode .fl p:before{
	    position: absolute;
	    content: "";
		top: calc(50% - 55px);
    	left: calc(50% - 60px);
	    width: 120px;
	    height: 110px;
	    background: url(../images/guide-medicode.png);
	    background-size: cover;
    	z-index: -1;
	}
	.medicode .fl dt{
    	display: inline-block;
		width: 114px;
	    height: 32px;
	    text-align: center;
	    line-height: 32px;
	    margin-right: 15px;
	    background: #f5ca45;
	    border-radius: 5px;
	}
	.medicode .fl dd{
    	display: inline-block;
	}

	/*--------------------------------
		info
	--------------------------------*/
	.info>.fl{
		width: 445px;
		margin-right:50px;
    	position: relative;
	}
	.info>.fr{
		width: 565px;
	}
	.info h3{
		font-size: 24px;
		font-weight: normal;
		text-align: center;
		margin-bottom: 50px;
	}
	.info .fl ul{
    	justify-content: space-between;
    	margin-bottom: 80px;
		padding-top: 105px;
	}
	.info .fl ul li{
		width: 100px;
		color: #84b157;
		font-size: 20px;
    	text-align: center;
		position: relative;
	}
	.info .fl ul li:nth-child(3){
		width: 140px;
	}
	.info .fl ul li:nth-child(1):before{
	    position: absolute;
	    content: "";
	    bottom: 35px;
 	    left: calc(50% - 40px);
	    width: 80px;
	    height: 80px;
	    background: url(../images/guide-info-icon01.png) no-repeat;
		background-size: cover;
	}
	.info .fl ul li:nth-child(2):before{
	    position: absolute;
	    content: "";
	    bottom: 35px;
 	    left: calc(50% - 40px);
	    width: 80px;
	    height: 88.8px;
	    background: url(../images/guide-info-icon02.png) no-repeat;
		background-size: cover;
	}
	.info .fl ul li:nth-child(3):before{
	    position: absolute;
	    content: "";
	    bottom: 35px;
 	    left: calc(50% - 60px);
	    width: 120px;
	    height: 85.6px;
	    background: url(../images/guide-info-icon03.png) no-repeat;
		background-size: cover;
	}
	.info .fl p.emphasis{
		font-size: 18px;
		margin-bottom: 15px;
	}
	.info .fl p.emphasis em{
		color: #ff0000;
		font-size: 24px;
		font-style: normal;
	}
	.info .fl p.small{
		font-size: 12px;
	}
	.info .fl img{
	    position: absolute;
	    bottom: -60px;
	    right: 0;
	}

	/*--------------------------------
		table
	--------------------------------*/
	table {
    	border-collapse: collapse;
    	margin-bottom: 50px;
	}
	table th, table td {
	    padding: 15px 50px;
	}
	table th {
	    white-space: nowrap;
	}
	table tr:nth-of-type(2n+1) th, table tr:nth-of-type(2n+1) td {
	    background: #dbecd2;
	}

	/*--------------------------------
		product
	--------------------------------*/
	.product{
		text-align: center;
	}
	.product h3{
		font-size: 14px;
   		font-weight: normal;
   		margin-bottom: 70px;
	}
	.product p.lead{
		line-height: 2.0;
	   	margin-bottom: 90px;
	}
	.product p.question{
		font-size: 20px;
	   	margin-bottom: 70px;
	}
	.product .link-btn{
		width: 685px;
		margin: 0 auto;
	}
	.product a{
		display: inline-block;
		width: 310px;
		height: 135px;
		color: #ffffff;
		font-size: 48px;
    	line-height: 135px;
	   	margin-bottom: 50px;
	   	background: #f1a99f;
    	border-radius: 5px;
	}
	.product a:hover{
	    background: #f5ca45;
 	    transition-duration: 1s;
	}
	.product a:first-child{
		margin-right: 65px;
	}
}
/*------------------------------------------
	sp
------------------------------------------*/
@media only screen and (max-width: 767px){
	
	/*--------------------------------
		title
	--------------------------------*/
	#title{
		width: 100%;
	}
	h2{
		width: 100%;
		padding: 35px 10px 45px;
		font-size: 24px;
		font-weight: normal;
    	position: relative;
    	z-index: 0;
	}
	h2:before{
	    position: absolute;
	    content: "";
	    bottom: 38px;
	    left: 10px;
	    width: 50px;
	    height: 4px;
	    background: #93a27d;
	}
	h2:after{
	    position: absolute;
	    content: "";
	    bottom: 36px;
	    left: 89px;
	    width: 53px;
	    height: 46px;
	    background: url(../images/contents-title.png);
	    background-size: cover;
    	z-index: -1;
	}
	
	/*--------------------------------
		bread
	--------------------------------*/
	#bread{
		width: 100%;
		padding: 15px 10px;
	}
	#bread ul{
		font-size: 0;
	}
	#bread ul li{
		display: inline-block;
		font-size: 12px;
		margin-right: 25px;
		position: relative;
	}
	#bread ul li:last-child{
		margin-right: 0;
	}
	#bread ul li:after{
		position: absolute;
		content: "";
		display: inline-block;
		width: 8px;
		height: 8px;
		top: calc(50% - 5px);
		right: -15px;
		border-top: solid 1px #3c3431;
		border-right: solid 1px #3c3431;
		transform: translateY(0px) rotate(45deg);
	}
	#bread ul li:last-child:after{
		content: "";
		border-top: none;
		border-right: none;
	}

	/*--------------------------------
		medicode
	--------------------------------*/
	.medicode h3{
		font-size: 20px;
		font-weight: normal;
    	line-height: 1.5;
		margin-bottom: 30px;
	}
	.medicode h3 em{
		color: #84b157;
		font-size: 24px;
		font-style: normal;
	}
	.medicode .fr p{
		line-height: 1.7;
    	margin-bottom: 15px;
	}
	.medicode .fr ul {
    	margin-bottom: 20px;
	}
	.medicode .fr ul li{
		line-height: 1.7;
	    text-indent: -1rem;
	    margin-left: 1rem;
	}
	.medicode .fl p{
	    width: 250px;
	    height: 150px;
	    color: #a63b2c;
	    font-size: 22px;
	    font-weight: bold;
	    text-align: center;
	    line-height: 150px;
	    text-shadow: 3px 3px 3px #dd8e83;
	    margin: 0 auto 20px;
	    background: #f5d8d4;
	    border-radius: 7px;
		position: relative;
    	z-index: 0;
	}
	.medicode .fl p:before{
	    position: absolute;
	    content: "";
		top: calc(50% - 55px);
    	left: calc(50% - 60px);
	    width: 120px;
	    height: 110px;
	    background: url(../images/guide-medicode.png);
	    background-size: cover;
    	z-index: -1;
	}
	.medicode .fl dl{
		width: 300px;
		margin: 0 auto;
	}
	.medicode .fl dt{
    	display: inline-block;
		width: 70px;
	    height: 32px;
	    font-size: 12px;
	    text-align: center;
	    line-height: 32px;
	    margin-right: 10px;
	    background: #f5ca45;
	    border-radius: 5px;
	}
	.medicode .fl dd{
    	display: inline-block;
	}

	/*--------------------------------
		info
	--------------------------------*/
	.info h3{
		font-size: 20px;
		font-weight: normal;
		text-align: center;
		margin-bottom: 30px;
	}
	.info .fl{
		text-align: center;
		margin-bottom: 50px;
	}
	.info .fl ul{
		display: flex;
    	justify-content: space-between;
		width: 300px;
    	margin: 0 auto 20px;
		padding-top: 80px;
	}
	.info .fl ul li{
		width: 100px;
		color: #84b157;
		font-size: 16px;
		position: relative;
	}
	.info .fl ul li:nth-child(3){
		width: 140px;
	}
	.info .fl ul li:nth-child(1):before{
	    position: absolute;
	    content: "";
	    bottom: 26px;
 	    left: calc(50% - 30px);
	    width: 60px;
	    height: 60px;
	    background: url(../images/guide-info-icon01.png) no-repeat;
		background-size: cover;
	}
	.info .fl ul li:nth-child(2):before{
	    position: absolute;
	    content: "";
	    bottom: 26px;
 	    left: calc(50% - 30px);
	    width: 60px;
	    height: 66.6px;
	    background: url(../images/guide-info-icon02.png) no-repeat;
		background-size: cover;
	}
	.info .fl ul li:nth-child(3):before{
	    position: absolute;
	    content: "";
	    bottom: 26px;
 	    left: calc(50% - 45px);
	    width: 90px;
	    height: 64.2px;
	    background: url(../images/guide-info-icon03.png) no-repeat;
		background-size: cover;
	}
	.info .fl p.emphasis{
		font-size: 18px;
		margin-bottom: 5px;
	}
	.info .fl p.emphasis em{
		color: #ff0000;
		font-size: 24px;
		font-style: normal;
	}
	.info .fl p.small{
		font-size: 12px;
		margin-bottom: 20px;
	}
	.info .fl img{
	}

	/*--------------------------------
		table
	--------------------------------*/
	table {
		width: 100%;
    	border-collapse: collapse;
	}
	table th, table td {
    	padding: 15px 17px;
	}
	table th {
	    white-space: nowrap;
	}
	table tr:nth-of-type(2n+1) th, table tr:nth-of-type(2n+1) td {
	    background: #dbecd2;
	}
	table td span {
    	display: block;
	}

	/*--------------------------------
		product
	--------------------------------*/
	.product h3{
		font-size: 14px;
   		font-weight: normal;
    	line-height: 1.7;
   		margin-bottom: 50px;
	}
	.product p.lead{
		line-height: 1.7;
	   	margin-bottom: 90px;
	}
	.product p.question{
		font-size: 20px;
    	text-align: center;
	   	margin-bottom: 50px;
	}
	.product .link-btn {
	    width: 300px;
	    margin: 0 auto;
	}
	.product a{
		display: inline-block;
		width: 145px;
		height: 100px;
		color: #ffffff;
		font-size: 36px;
    	line-height: 100px;
    	text-align: center;
	   	margin-bottom: 50px;
	   	background: #f1a99f;
    	border-radius: 5px;
	}
	.product a:first-child{
		margin-right: 10px;
	}
}