@charset "UTF-8";


@media all and (max-width: 1000px) {

html{
	scroll-behavior: smooth;
	scroll-padding-top: 150px;
}
	
.pc{
	display:none;
}	
	
/*headerはここから*/
header{
	width:100%;
	height: 6rem;
	transition: .3s;
	position:relative;
	position: absolute;;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	/* overflow: hidden; */
	z-index: 900;
}

.logo{
	overflow: hidden;
        width: 70px;
        display: inline-block;
        float: left;
        transition: .3s;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 5%;
}

ul{
	list-style: none;
	padding-inline-start:0px;
	display: block;
	text-align: left;
}

.menu li {
	 text-transform: uppercase;
	 transition: .3s;
	 margin: 20px 0;
}

li a{
	 color:black;
	 font-size:15px;
	 font-weight: 500;
	 /* border-bottom:1px solid black; */
	 display: inline-block;
	 width:100%;
	 /* padding:0 0 5px 0; */
	 letter-spacing: 2px;
}


.ham {
	position: relative;
/*クリックできる範囲*/
	width: 40px;
	height:40px;
	cursor: pointer;
	z-index: 900;
	position:absolute;
  	top: 50%;
  	transform: translateY(-50%);
  	right:3%;
  	margin:0;
	background-color: #0EDC89;
	border-radius: 50%;
}
.ham_line {
	position: absolute;
	left: 13px;
/*	線の長さと太さ*/
	width: 14px;
	height: 1px;
	background-color: #303030;
	transition: all 0.3s;
}
/*線と線の間*/
.ham_line1 {
	top: 13px;
}
.ham_line2 {
	top:19px;
}
.ham_line3 {
	top: 25px;
}

/*クリック後の動作*/
.clicked .ham_line1 {
	transform: rotate(45deg);
	top: 19px;
	background-color: #303030;
}
.clicked .ham_line2 {
	width: 0px;
}
.clicked .ham_line3 {
	transform: rotate(-45deg);
	top: 19px;
	background-color: #303030;
}

.menu {
	position: fixed;
	width: auto;
	height:auto;
	right:3%;
	top:6rem;
	background-color:white;
	transition: all 0.4s;
	z-index: 100;
	filter: drop-shadow(15px 15px 15px rgba(0,0,0,0.05));
	margin:0 0 0 0;
	display: block;
	visibility:hidden;
	opacity: 0;
	padding:10px 35px;
	border-radius: 10px;
}

.clicked .menu {
	z-index: 100;
	opacity: 1;
	visibility:visible;
}
.main-2{
	 width:100%;
	 height: 100vh;
	 background-color: black;
	 opacity: 0;
	 z-index: 0;
	 position: absolute;
	 top:0;
	 left:0;
	 transition: all 0.4s;
}
.clicked .main-2{
	 opacity: .6;
	}

	.blackback{
		/* background-color: black; */
		opacity: 0;
		height:100vh;
		width:100%;
		transition:.3s;
		display:none;
	}
	
	.clicked .blackback{
		/* background-color: black; */
		/* opacity: 1; */
		height:100vh;
		width:100%;
		display:block;
		z-index: 10;
	}

/*共通はここから*/
.flex{
	display:block;
}

.flex-between{
	display:flex;
	justify-content: space-between;
}

.main-txt{
	font-size:15px;
	letter-spacing: 1px;
	line-height: 1.6;
	font-weight:600;
}

.common-width{
	max-width:1150px;
	width:84%;
	margin:0 auto;
}

.common-title{
	font-size:32px;
	line-height: 1.2;
}

.common-title span{
	color:#E30012
}

.common-sub-read{
	margin:33px 0 0 0 !important;
}
/* 線のcss */

.r-1{
	width:100vw;
	position: absolute;
	top:-190px;
	overflow: hidden;
}

.r-1 svg{
	width:1000px;
}

.r-2{
	width:100vw;
	position: absolute;
	top:-360px;
	overflow: hidden;
	text-align: right;
}

.r-2 svg{
	width:630px;
	transform: translateX(150px);
}

.r-3{
	width:100vw;
	position: absolute;
	top:40px;
	overflow: hidden;
	z-index: -1;
}

.r-3 svg{
	width:1000px;
}

.r-4{
	width:100vw;
	position: absolute;
	top:180px;
	overflow: hidden;
	z-index: -1;
}

.r-4 svg{
	width:1000px;
}

.r-5{
	width:100vw;
	position: absolute;
	bottom:200px;
	overflow: hidden;
	z-index: -1;
}

.r-5 svg{
	width:1000px;
}

.r-6{
	width:100vw;
	position: absolute;
	bottom:-280px;
	overflow: hidden;
	z-index: -1;
}

.r-6 svg{
	width:1000px;
}

.r-7{
	width:50vw;
	position: absolute;
	top:70px;
	right:0;
	overflow: hidden;
	z-index: -1;
	text-align: right;
}

.r-7 svg{
	width:400px;
}

.r-8{
	width:100vw;
	position: absolute;
	top:100px;
	overflow: hidden;
	z-index: -2;
}

.r-8 svg{
	width:1000px;
}

.r-9{
	width:100vw;
	position: absolute;
	top:-150px;
	overflow: hidden;
	z-index: -2;
}

.r-9 svg{
	width:1000px;
}

.r-10{
	width:100vw;
	position: absolute;
	top:0;
	right:0;
	overflow: hidden;
	z-index: -2;
	text-align: center;
}

.r-10 svg{
	width:130%;
}

.r-11{
	width:100vw;
	position: absolute;
	bottom:0px;
	overflow: hidden;
	z-index: -2;
	text-align: right;
}

.r-11 svg{
	width:1000px;
}

.r-12{
	width:100vw;
	position: absolute;
	bottom:0px;
	overflow: hidden;
	z-index: -2;
	text-align: right;
}

.r-12 svg{
	width:1000px;
}

/*フロントページはここから*/
.top{
	height:95svh;
	position: relative;
}

.top-content{
	position: absolute;
	left:8%;
	bottom:5%;
}

.top-content h2{
	position: static;
	font-weight:400;
	font-size:13px;
	letter-spacing: 0.07em;
	margin:0 0 20px 0;
}

.top-content h2 span{
	font-size:24px;
	text-decoration-color: #303030;
	text-decoration-line: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 8px;
	letter-spacing: 0;
	letter-spacing: 0.07em;
}

.top-content h1{
	font-size:55px;
	font-weight:700;
	line-height: 1.1;
	margin:0 0 20px 0;
}

.top-content h1 span{
	color:#E30012;
	margin:0 0 0 0;
}

.top-content p{
	width:92%;
	line-height: 1.5;
}

.point-top{
	position: relative;
	margin-top:50px;
}

.point-top-content{
	width:auto;
	margin:0 0 0 auto;
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 67px;
}

.point-top-content-txt p{
	margin:20px 0 0 0;
}

.point-right{
	display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 65px;
}

.point-detail{
	position: relative;
	padding:40px 35px 30px 35px;
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
}

.point-name{
	position: absolute;
	top:-16px;
	left:0;
	font-family: "Noto Sans", sans-serif;
	font-size:25px;
	font-weight:700;
	color: #FFF;
	-webkit-text-stroke: 0.017em #303030;
	text-stroke: 1px #303030;
}

.point-number{
	position: absolute;
	top:-49px;
	right:0;
	font-family: "PT Serif", serif;
	font-size:75px;
	font-weight:700;
	color: #FFF;
	-webkit-text-stroke: 0.005em #303030;
	text-stroke: 1px #303030;
}

.point-detail h3{
	font-size:23px;
	font-weight:400;
	letter-spacing: 0.06em;
}

.p-icon-1:before{
	background-image:url(image/point-icon-1.png);
	content: '';
    display: inline-block;
    width: 46px;
    height: 35px;
	background-size: contain;
    vertical-align: middle;
    margin: -10px 20px 0 0;
}

.p-icon-2:before{
	background-image:url(image/point-icon-2.png);
	content: '';
    display: inline-block;
    width: 46px;
    height: 35px;
	background-size: contain;
    vertical-align: middle;
    margin: -10px 20px 0 0;
}

.p-icon-3:before{
	background-image:url(image/point-icon-3.png);
	content: '';
    display: inline-block;
    width: 46px;
    height: 41px;
	background-size: contain;
    vertical-align: middle;
    margin: -10px 20px 0 0;
}

.point-detail-txt{
	margin:20px 0 0 0;
	font-size:14px;
}

.point-1-under{
	margin:33px 0 0 0;
	border-top:1px solid #9D9D9D;
	padding:26px 0 0 0;
}

.point-1-txt{
	font-size:23px;
	font-weight:700;
}

.point-1-under .main-txt{
	margin:0 0 20px 0;
	font-size:18px;
}

.point-1-txt span{
	font-size:15px;
	font-weight:500;
	margin:0 0 0 10px;
	letter-spacing: 0.04em;
}

.business-top{
	margin:130px 0 0 0;
	position:relative;
}

.business-top-txt{
	text-align:left;
	width:84%;
	margin:0 auto;
}

.business-list{
	display:grid ;
	grid-template-columns: repeat(1, 1fr);
	gap:40px;
	align-items: flex-start;
	margin-top:65px;
}

.business-content{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	width:100%;
}

.business-content:nth-child(2){
	margin:0 0 0 0;
}

.business-content:nth-child(3){
	margin:0 0 0 0;
}

.business-content:nth-child(4){
	margin:0 0 0 0;
}

.business-content-img{
	width:100%;
}

.business-content-txt{
	padding:25px 20px;
}

.business-bame{
	font-size:15px;
	padding:5px 15px;
	border:1px solid #303030;
	display:inline-block;
}

.business-copy{
	font-size:18px;
	font-weight:600;
	margin:10px 0 18px 0;
}

.b-min-txt{
	font-size:14px;
	margin:0 0 38px 0;
}

.b-flex-left{
	width:120px;
	font-size:15px;
}

.b-flex-right{
	font-size:14px;
	line-height: 1.65;
}

.b-f-margin{
	margin:15px 0 0 0;
}

.market-top{
	margin:138px 0 0 0;
	position: relative;
}

.market-list{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
    grid-column-gap:60px;
    grid-row-gap: 25px;
	margin:35px 0 0 0;
}

.market-list p{
	font-size:20px;
	font-weight:bold;
	border-bottom:#9D9D9D solid 1px;
	padding-bottom:10px;
}

.value-top{
	margin:100px 0 0 0;
	position: relative;
}

.value-list{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
    gap:30px;
	margin:40px 0 0 0;
}

.value-list-detail{
	padding:30px;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
}

.value-sub{
	font-size:16px;
	font-weight:600;
}

.value-list-detail h4{
	font-size:23px;
	font-weight:600;
	line-height: 1.2;
	color:#E30012;
	margin:13px 0 17px 0;
}

.value-txt{
	font-size:15px;
}

.about-top{
	margin:100px 0 0 0;
	position: relative;
}

.about-read{
	font-size:16px;
	font-weight:600;
	margin:50px 0 0 0;
	line-height: 1.7;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	padding:20px;
}

.mark-content{
	display:block;
	align-items: center;
    gap:60px;
	width:auto;
	margin:70px 0 0 0 ;
	padding:0 0 20px;
	border-bottom:#9D9D9D solid 1px;
}

.mark-content-img{
	width:70px;
	margin:0 auto 20px auto;
}

.mark-content p{
	font-size:15px;
	line-height: 1.9;
	letter-spacing: 0.02em;
}

.news-top{
	margin:0 0 0 0;
}

.news-top-content{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	width:84%;
	margin:160px auto 0 auto;
}

.news-top-content h3{
	font-size:23px;
	font-weight:500;
	margin:0 0 20px 0;
}

.news-top-content-detail{
	padding:40px 30px;
}

.news-flex{
	display:block;
}

.news-flex .time{
	margin:0 23px 0 0;
}

.news-top-content-detail a{
	color:#2E2E2E;
	margin:0 0 15px 0;
	font-size:14px;
}

.news-list-btn{
	font-size:15px;
	color: #2E2E2E;
	font-weight:600;
	margin-top:40px !important;
	display: block;
}

.company-top{
	position: relative;
}

.company-content{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	width:84%;
	margin:70px auto 0 auto;
}

.company-content-detail{
	padding:25px 20px;
}

.c-detail{
	display:block;
	border-bottom:solid 1px #9D9D9D;
	padding:0 14px 28px 14px;
	margin:0 0 28px 0;
}

.c-detail:nth-last-child(1){
	margin:0;
}

.c-detail p{
	font-size:18px;
	font-weight:600;
}

.c-detail p:nth-child(1){
	width:auto;
	font-weight:400;
}

.cf-top{
	margin:80px 0 0 0;
}

.cf-top-content{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	width:84%;
	margin:0 auto;
}

.cf-detail{
	display:block;
	padding:20px;
}

.cf-detail-img{
	width:100%;
	text-align: center;
	margin:0 0 20px 0;
}

.cf-detail-img img{
	width:60% !important;
}

.cf-detail-txt{
	width:100%;
}

.cf-detail-txt h3{
	font-size:23px;
	font-weight:500;
	margin:0 0 20px 0;
}

.contact-top{
	margin:58px 0 0 0;
}

.contect-top-detail{
	display:flex;
	justify-content: space-between;
}

.contact-top-content{
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	background-color: rgba(255,255,255,0.8);
	box-shadow:0px 4px 35px 1px rgba(0, 0, 0, 0.04);
	width:84%;
	margin:0 auto;
}

.contact-top-detail{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:37px 45px;
}

.contact-top-detail p{
	font-size:23px;
	font-weight:600;
}

.contact-top-detail-img{
	width:40px;
}




footer{
	font-size:13px;
	font-weight:500;
	text-align: center;
	margin:98px 0 40px 0;
}

.privacy-top{
	padding:240px 0 0 0;
	margin:0 auto;
	width:84%;
}

.privacy-top h2{
	font-size:30px;
	margin: 0 0 20px 0;
}

.privacy-content-txt{
	font-size:18px;
	line-height: 1.75;
}

.privacy-content{
	margin:40px 0 0 0;
}

.privacy-content h3{
	font-size:23px;
	margin:0 0 15px 0
}

.privacy-content-read{
	font-size:15px;
	line-height: 1.75;
	letter-spacing: 0.02em;
}

.red-icon{
	position:relative;
}

.red-icon::before{
	content: '■';
	display: block;
	color:#E30012;
	position: absolute;
	left:0;
}

.privacy-content-red{
	font-size:20px;
	margin:25px 0 0 0;
	font-weight:600;
	padding:0 0 0 30px;
}

.privacy-content-red-read{
	margin:10px 0 0 0;
	padding:0 0 0 30px;
}

/* お知らせ一覧ページ */
.news-kaso-list{
	margin:40px 0 0 0;
}

.news-kaso-list a{
	color:#2E2E2E;
	font-weight:600;
}

/* ------コンタクトエリア */
.center-content{
	width:85%;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.center-content img{
	width:100%;
	filter: drop-shadow(0px 0px 13px rgba(0,0,0,0.25));
}

.contact-form{
	padding:120px 0 0 0;
}

.contact-content{
	margin:0 auto;
	padding:60px 7.5%;
	width:auto;
}

.contact-content h2{
	font-size:20px;
	font-weight:500;
}

.contact-content h3{
	font-size:16px;
	font-weight:500;
	margin:15px 0 30px 0;
}

.contact-content h4{
	font-size:14px;
	font-weight:400;
	line-height: 1.75;
}


/* お問合せ系 */
.form-width{
	margin:40px 0 0 0;
}

.form_tit{
	font-size:14px;
	font-weight:500;
	margin:0 0 15px 0;
}

.f-input{
	margin:0 0 26px 0;
}

.f-input input{
	width:94%;
	padding:0 3%;
	display:inline-block;
	height:40px;
	border:solid #CCCCCC 1px;
	border-radius: 5px;
}

.submit-btn input{
	width:145px;
	height:45px;
	text-align: center;
	background-color: #E30012;
	color:white;
	border-radius: 3px;
	border:none;
	font-size:14px;
	font-weight:500;
	margin:20px 0 0 0;
}

.form-btn a{
	background-color: #2E2E2E;
	color:white;
	padding:8px 20px;
	border-radius: 3px;
	display:inline-block;
	text-align: center;
	margin:30px 0 0 0;
}

.form-sub-btn{
	font-size:15px;
	font-weight:600;
	margin:20px 0 0 0;
}

.form-sub-btn a{
	color:black;
}

.form_tit-f{
	font-size:14px;
	font-weight:500;
	margin:0 0 10px 0;
}

.con-detail{
	font-size:16px;
	font-weight:600;
	margin:0 0 30px 0;
}

.kome-red{
	color:#E30012;
}

.form-privacy{
	color:#303030;
}
/* 健康経営追記 */
.health-common-title{
	font-size:20px;
}
.health-common-title span{
	color:#E30012;
}
.health-common-p{
	margin-top:20px;
	width:auto;
}
.health-top{
	padding-top:220px;
}
.health-top h1{
	font-size:50px;
	font-weight:800;
	color:#E30012;
}
.health-top h2{
	font-size:23px;
	margin-top:25px;
}
.health-top h2 span{
	color:#E30012;
}
.health-top p{
	margin:20px 0;
}
.health-top-read{
	position: relative;
	width:auto;
}
.health-top .health-top-read span{
	/* position: absolute; */
	right:0;
	bottom:0;
	display:block;
	text-align: right;
}
.two-proof{
	padding:50px 0;
	margin:80px 0;
	background-color: #F8F8F8;
}
.two-proof-content{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	gap:60px;
}
.two-proof-content-deital{
	display:flex;
	flex-direction: column;
	align-items: ;
	justify-content: space-between;
	gap:25px;
}
.two-proof-content-deital-img{
	width:120px;
	margin:0 auto;
}
.two-proof-content-deital-txt h3{
	font-size:17px;
	text-align: center;
}
.two-proof-content-deital-txt p{
	font-size:14px;
	margin-top:10px;
	line-height: 1.7;
}
.health-organization{
	text-align: center;
	width:84%;
	margin:0 auto;
}
.health-organization div{
	width:auto;
	margin:40px auto 0;
}
.health-common-content{
	margin-top:60px;
}
.health-common-content-list{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	grid-column-gap:32px;
    grid-row-gap: 24px;
	margin-top:40px;
}
.health-common-content-detail{
	display:flex;
	flex-direction: column;
	gap:20px;
	border: #E7E7E7 solid 1px;
	padding:20px 20px; 
}
.health-common-content-detail-img{
	width:180px;
	margin:0 auto;
}
.health-common-content-detail-txt{
}
.health-common-content-detail-txt h4{
	font-size:16px;
	text-align: center;
}
.health-common-content-detail-txt p{
	font-size:14px;
	margin-top:15px;
	line-height: 1.6;
}
.health-deta{
	padding:40px 0 60px;
	margin-top:70px;
	background-color: #F8F8F8;
}
.health-deta h2{
	text-align: center;
	font-size:20px;
}
.health-deta-list{
	display:grid;
	grid-template-columns: repeat(1, 1fr);
	gap:60px;
	margin-top:50px;
}
.health-deta-detail p{
	text-align: center;
	font-weight:600;
	font-size:14px;
	margin-bottom:10px;
}

}