@charset "utf-8";
/* Copyright 2021 FSFIELD All Rights Reserved. */

@keyframes fadeup{
	0%{transform: translateY(50px); opacity: 0;}
	80%{opacity: 1;}
	100%{opacity: 1; transform: translateY(0);}
}
	
@media print, screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

	/* メインビジュアル
	---------------------------------------------- */
	.main{
		padding: 0 40px;
		margin-bottom: 100px;
	}

	.main_inner{
		height: calc(100vh - 160px);
		min-height: 480px;
		border-radius: 20px;
		overflow: hidden;
		position: relative;
	}

	.main figure img{
		width: 100%;
		height: 100%;
		border-radius: 20px;
		object-fit: cover;
		position: absolute;
		top: 0;
		left: 0;
	}

	.main figure img{animation: fadeup 2s cubic-bezier(0.66, 1, 0.88, 1) 1 forwards;}

	.txt_main{
		position: absolute;
		bottom: 12.39%;
		left: 4.34%;
		z-index: 1;
	}

	.txt_main .txt{
		display: block;
		color: #fff;
		font-size: 4rem;
		font-weight: bold;
		opacity: 0;
		line-height: 1.8;
		letter-spacing: 0.2em;
		text-shadow: 1px 1px 10px rgb(43 60 28 / 30%);
	}

	.txt_main .txt span{
		opacity: 0;
		-webkit-transition: 1s ease-in-out;
		transition: 1s ease-in-out;
	}


	/* わたるの想い
	---------------------------------------------- */
	.sec_wataru{
		line-height: 1;
		padding-bottom: 140px;
		position: relative;
	}

	.wataru_l{
		z-index: 2;
		position: relative;
		width: 54%;
		padding-top: 60px;
	}

	.wataru_l_inner{
		z-index: 2;
		position: relative;
		padding: 150px 15.57%;
		border-radius: 0 20px 20px 0;
		background-color: #FFF;
		box-shadow: 0 0px 30px rgb(0 0 0 / 5%);
	}

	.wataru_l_inner::before{
		content: "";
		display: block;
		width: 237px;
		height: 144px;
		background: url("../img/home/bg_bird01.jpg") no-repeat 0 0;
		background-size: 237px;
		position: absolute;
		top: 30px;
		right: 40px;
	}

	.wataru_l_inner .txt_wataru{
		max-width: 640px;
		position: relative;
	}

	.wataru_l_inner .txt_wataru p{
		font-size: 1.6rem;
		color: #333;
		letter-spacing: 0.05em;
		line-height: 2.2;
		margin-bottom: 19px;
	}

	.wataru_l_inner .txt_wataru p:last-child{margin-bottom: 0;}

	.ttl_wataru{
		margin-bottom: 30px;
		position: relative;
	}

	.ttl_wataru span{
		color: #E65A58;
		font-size: 2.6rem;
		font-weight: bold;
		letter-spacing: 0.1em;
	}

	.wataru_r{
		z-index: 1;
		position: absolute;
		top: 0;
		right: 0;
		width: 54%;
		height: calc(100% - 140px);
		overflow: hidden;
		border-radius: 20px 0 0 20px;
	}

	.wataru_r figure{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.wataru_r figure img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* 一覧
	---------------------------------------------- */
	.wrap_home{
		padding: 0 40px;
		margin-bottom: 140px;
	}

	.home_inner01{
		display: flex;
		justify-content: space-between;
		max-width: 1500px;
		margin: 0 auto;
	}

	.home_content01{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		width: 25%;
		line-height: 1;
		margin-right: 2.666%;
	}

	.home_content01 .image{
		margin-bottom: -28px;
		position: relative;
	}

	.home_content01 .image::before{
		content: "";
		background: #FFF;
		width: 80%;
		border-radius: 0 10px 0 0;
		height: 56px;
		position: absolute;
		bottom: -1px;
		left: -1px;
	}

	.home_content01 .image::after{
		content: "";
		width: 63.76%;
		height: 4px;
		position: absolute;
		bottom: 52px;
		left: 0;
	}
	.home_content01:nth-child(1) .image::after{background: #E78058;}
	.home_content01:nth-child(2) .image::after{background: #E6D858;}
	.home_content01:nth-child(3) .image::after{background: #76C938;}
	.home_content01:nth-child(4) .image::after{background: #58B4E6;}

	.home_content01:last-child{margin-right: 0;}

	.home_content01 figure img{
		width: 100%;
		height: auto;
		border-radius: 10px;
	}

	.home_content01 .txt_home{
		position: relative;
		margin-bottom: 43px;
	}

	.home_content01 .ttl_home{
		width: 80%;
		font-weight: bold;
		padding-right: 20px;
		margin-bottom: 26px;
	}

	.home_content01 .ttl_home .en{font-size: 3.2rem;}

	.home_content01 .ttl_home .ja{
		display: inline-block;
		font-size: 1.4rem;
		margin-left: 20px;
	}

	.home_content01:nth-child(1) .ttl_home .en{color:#E78058;}
	.home_content01:nth-child(2) .ttl_home .en{color:#E6D858;}
	.home_content01:nth-child(3) .ttl_home .en{color:#76C938;}
	.home_content01:nth-child(4) .ttl_home .en{color:#58B4E6;}

	.home_content01 .txt_home p{
		color: #333;
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.home_content01 .btn_type01{width: min(100%, 300px);}
    
    
    /* 「健康経営優良法人2022（中小規模法人部門）」に認定されました。
	---------------------------------------------- */
    .wrap_healthcare{
        padding: 0 40px;
        max-width: 1280px;
        margin: 0 auto 140px;
    }
    
    .wrap_healthcare .ttl_wataru{text-align: center;}
    
    .wrap_healthcare .inner{
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 50px;
    }
    
    .wrap_healthcare .inner .txt_health{width: calc(100% - 240px);}
    
    .wrap_healthcare .inner .txt_health p{
        line-height: 1.8;
        margin-bottom: 20px;
    }
    
    .wrap_healthcare .inner .txt_health p:last-child{margin-bottom: 0;}
    
    .wrap_healthcare .inner .image_health{width: 224px;}
    
    .wrap_healthcare .inner .image_health a{display: block;}
    
    .wrap_healthcare .inner .image_health a:hover{opacity: .8}
    
    .wrap_healthcare .inner .image_health a img{
        width: 100%;
        height: auto;
    }

    .wrap_healthcare .btn_type01{
        display: block;
        margin: 0 auto;
    }
    
    .score_list{margin-top: 80px;}
    
    .score_list h3{
        text-align: center;
        font-weight: 700;
        margin-bottom: 30px;
        font-size: 2rem;
    }
    
    .score_list h3 br{display: none;}
    
    .score_list ul{
        display: flex;
        justify-content: center;
    }
    
    .score_list ul li{
        min-width: 260px;
        margin: 0 20px;
    }
    
	.score_list ul li a{
		display: block;
		color: #333;
		font-size: 1.5rem;
		font-weight: bold;
		text-align: center;
		line-height: 1.2;
		border: 2px solid #333;
		border-radius: 32px;
		padding: 22px 10px 20px;
	}

	.score_list ul li a:hover{opacity: .7;}
    
	.score_list ul li a span{
        position: relative;
        display: inline-block;
        padding-right: 20px;
        background: url("../img/ico_pdf01.png")no-repeat right 0 top;
        background-size: 16px;
        line-height: 20px;
    }
    
	/* GoogleMap
	---------------------------------------------- */
	.map iframe{
		display: block;
		width: 100%;
		height: 580px;
	}


	/* お問い合わせ
	---------------------------------------------- */
	.contact{
		line-height: 1.2;
		text-align: center;
		padding: 50px 0 80px;
	}

	.ttl_contact{
		display: inline-block;
		font-size: 3.8rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		margin-bottom: 25px;
		position: relative;
	}

	.ttl_contact::before{
		content: "";
		display: block;
		width: 26px;
		height: 30px;
		background: url(../img/ico_bird01.png) no-repeat 0 0;
		background-size: 26px 30px;
		position: absolute;
		top: -18px;
		right: -3px;
	}

	.ttl_contact span{
		display: block;
		font-size: 1.5rem;
		margin-top: 3px;
	}

	.contact .btn_type01{margin-top: 45px;}


}/*--@media--*/


@media  screen and (min-width:1680px){
	.txt_wataru span{display: block;}
}


@media screen and (max-width:1557px) and (min-width:768px){
	.home_content01 .txt_home p{min-height: 103px;}
}


@media screen and (max-width:1490px) and (min-width:768px){
	.home_content01 .txt_home .ja{
		display: block !important;
		margin: 0 !important;
		padding-top: 8px;
	}
}

@media screen and (max-width:1400px) and (min-width:768px){
	.wataru_l_inner{padding: 80px 40px;}
}


@media only screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	トップページ

	------------------------------------------------------------ */

	/* メインビジュアル
	---------------------------------------------- */
	.main{margin-bottom: 50px;}

	.main_inner{
		overflow: hidden;
		position: relative;
	}

	.main figure{
		padding-top: 100%;
		position: relative;
	}

	.main figure img{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.main figure img{animation: fadeup 2s cubic-bezier(0.66, 1, 0.88, 1) 1 forwards;}

	.txt_main{
		width: 100%;
		padding: 0 25px 20px;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
	}

	.txt_main .txt{
		color: #fff;
		font-size: 3.2rem;
		font-weight: bold;
		opacity: 0;
		line-height: 1.4;
		letter-spacing: 0.2em;
		text-shadow: 1px 1px 10px rgb(43 60 28 / 30%);
	}

	.txt_main .txt span{
		opacity: 0;
		-webkit-transition: 1s ease-in-out;
		transition: 1s ease-in-out;
	}


	/* わたるの想い
	---------------------------------------------- */
	.sec_wataru{
		padding-bottom: 60px;
		position: relative;
	}

	.wataru_l{
		width: calc(100% - 25px);
		z-index: 2;
	}

	.wataru_l_inner{
		border-radius: 0 10px 10px 0;
		background: #FFF url("../img/home/bg_bird01.jpg") no-repeat right 20px bottom 25px;
		background-size: 190px;
		box-shadow: 0 0px 30px rgb(0 0 0 / 10%);
		padding: 40px 25px 145px;
		position: relative;
		z-index: 2;
	}

	.wataru_l_inner .txt_wataru p{
		color: #333;
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: 0.05em;
		margin-bottom: 15px;
	}

	.wataru_l_inner .txt_wataru p:last-child{margin-bottom: 0;}

	.ttl_wataru{margin-bottom: 20px;}

	.ttl_wataru span{
		color: #E65A58;
		font-size: 2.1rem;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: 0.1em;
	}

	.wataru_r{
		width: calc(100% - 25px);
		border-radius: 10px 0 0 10px;
		margin: -50px 0 0 auto;
		overflow: hidden;
		z-index: 1;
	}

	.wataru_r figure img{
		width: 100%;
		height: auto;
	}


	/* 一覧
	---------------------------------------------- */
	.home_content01{
		line-height: 1;
		padding-bottom: 50px;
	}

	.home_content01 .image{
		margin-bottom: -25px;
		position: relative;
	}

	.home_content01 .image::before{
		content: "";
		background: #FFF;
		width: 80%;
		border-radius: 0 10px 0 0;
		height: 50px;
		position: absolute;
		bottom: -1px;
		left: -1px;
	}

	.home_content01 .image::after{
		content: "";
		width: 63.76%;
		height: 4px;
		position: absolute;
		bottom: 46px;
		left: 0;
	}
	.home_content01:nth-child(1) .image::after{background: #E78058;}
	.home_content01:nth-child(2) .image::after{background: #E6D858;}
	.home_content01:nth-child(3) .image::after{background: #76C938;}
	.home_content01:nth-child(4) .image::after{background: #58B4E6;}

	.home_content01:last-child{margin-right: 0;}

	.home_content01 figure img{
		width: 100%;
		height: auto;
	}

	.home_content01 .txt_home{
		padding: 0 25px;
		margin-bottom: 25px;
		position: relative;
	}

	.home_content01 .ttl_home{
		width: 80%;
		font-weight: bold;
		margin-bottom: 20px;
	}

	.home_content01 .ttl_home .en{font-size: 2.7rem;}

	.home_content01 .ttl_home .ja{
		display: inline-block;
		font-size: 1.4rem;
		margin-left: 10px;
	}

	.home_content01:nth-child(1) .ttl_home .en{color:#E78058;}
	.home_content01:nth-child(2) .ttl_home .en{color:#E6D858;}
	.home_content01:nth-child(3) .ttl_home .en{color:#76C938;}
	.home_content01:nth-child(4) .ttl_home .en{color:#58B4E6;}

	.home_content01 .txt_home p{
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.home_content01 .btn_type01{
		width: 100%;
		text-align: center;
	}

	.home_content01 .btn_type01 a{
		display: inline-block;
		width: 250px;
	}
    
    
    /* 「健康経営優良法人2022（中小規模法人部門）」に認定されました。
	---------------------------------------------- */
    .wrap_healthcare{padding: 40px 25px;}
    
    .wrap_healthcare .inner{
        margin-bottom: 5px;
        display: flex;
        flex-direction: column;
    }
    
    .wrap_healthcare .inner .txt_health p:not(:last-child){margin-bottom: 15px;}
    
    .wrap_healthcare .inner .image_health{
        width: 224px;
        margin: 0 auto;
    }
    
    .wrap_healthcare .inner .image_health a{display: block;}
    
    .wrap_healthcare .inner .image_health a img{
        width: 100%;
        height: auto;
    }
    
    .wrap_healthcare .btn_type01{
        display: block;
        margin: 0 auto;
    }

    .score_list{margin-top: 60px;}
    
    .score_list h3{
        text-align: center;
        font-weight: 700;
        margin-bottom: 20px;
        font-size: 1.8rem;
    }
    
    .score_list ul{
        max-width: 260px;
        margin: 0 auto;
    }
    
    .score_list ul li{margin: 0 0 20px;}
    
    .score_list ul li:last-of-type{margin-bottom: 0;}
    
	.score_list ul li a{
        display: block;
        color: #333;
        font-size: 1.3rem;
        font-weight: bold;
        text-align: center;
        line-height: 1.2;
        border: 2px solid #333;
        border-radius: 32px;
        padding: 17px 10px 16px;
	}
    
	.score_list ul li a span{
        position: relative;
        display: inline-block;
        padding-right: 20px;
        background: url(../img/ico_pdf01.png)no-repeat right 0 top;
        background-size: 16px;
        line-height: 20px;
    }

	/* GoogleMap
	---------------------------------------------- */
	.map{
		padding-top: 100%;
		position: relative;
	}

	.map iframe{
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}


	/* お問い合わせ
	---------------------------------------------- */
	.contact{
		line-height: 1.8;
		text-align: center;
		padding: 50px 0;
	}

	.ttl_contact{
		display: inline-block;
		font-size: 2.8rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		margin-bottom: 15px;
		position: relative;
	}

	.ttl_contact::before{
		content: "";
		display: block;
		width: 26px;
		height: 30px;
		background: url(../img/ico_bird01.png) no-repeat 0 0;
		background-size: 26px 30px;
		position: absolute;
		top: -20px;
		right: -6px;
	}

	.ttl_contact span{
		display: block;
		font-size: 1.4rem;
		margin-top: 3px;
	}

	.contact .btn_type01{margin-top: 25px;}


}/*--@media--*/

