@charset "UTF-8";
/*
Theme Name:NEW_PF
Author: NEW_PF
Description: portfolioサイトのためのテーマ
Version:1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/license/gpl-2.0.html
*/

hr{
	margin:0;
}

a{
	transition: .3s;
}

body{
	margin:0;
	padding:0;
    font-family:'Noto Sans JP', sans-serif;
	background-repeat: repeat;
	overflow-x: hidden;
}

a{
	 text-decoration: none;
}


h1,h2,h3,h4,h5,h6,p{
	color:#303030;
	font-family:'Noto Sans JP', sans-serif;
	margin:0;
	font-feature-settings: "palt";
}

img{
	vertical-align: top;
	width:100%;
}

@media all and (min-width: 1000px) {
	a:hover{
		opacity: .7;
	}

html{
	scroll-behavior: smooth;
	scroll-padding-top: 150px;
}
	
.sp{
	display:none;
}	
	
/*headerはここから*/
header{
	width:100%;
	height: 110px;
	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:95px;
	display: inline-block;
	float:left;
	transition: .3s;
	position:absolute;
	top: 50%;
	transform: translateY(-50%);
	left:45px;
	}
  
  .logo img{
	width:100%;
    }

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:45px;
  	margin:0;
	background-color: #0EDC89;
	border-radius: 50%;
}
.ham_line {
	position: absolute;
	left: 13px;
/*	線の長さと太さ*/
	width: 14px;
	height: 2px;
	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:flex;
}

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

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

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

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

.common-title span{
	color:#E30012
}

.common-sub-read{
	margin:33px 0 0 0 !important;
	width:450px;
}

/* 線のcss */

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

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

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

.r-2 svg{
	width:1400px;
}

@media screen and (min-width: 1401px) {
    .r-2 svg {
        width: 90%;
    }
}

@media screen and (max-width: 1300px) {
	.r-2{
		width:100vw;
		position: absolute;
		top:-100px;
		overflow: hidden;
		text-align: right;
	}

    .r-2 svg {
        width:1400px;
    }
}

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

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

@media screen and (min-width: 1801px) {
    .r-3 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1601px) {
    .r-4 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1801px) {
    .r-5 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1801px) {
    .r-6 svg {
        width: 100%;
    }
}

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

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

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

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

@media screen and (min-width: 1801px) {
    .r-8 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1801px) {
    .r-9 svg {
        width: 100%;
    }
}

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

.r-10 svg{
	width:1500px;
}

@media screen and (min-width: 1501px) {
    .r-10 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1501px) {
    .r-11 svg {
        width: 100%;
    }
}

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

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

@media screen and (min-width: 1501px) {
    .r-12 svg {
        width: 100%;
    }
}

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

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

.top-content h2{
	position: absolute;
	right:55px;
	top:-46px;
	font-weight:400;
	font-size:16px;
	letter-spacing: 0.07em;
}

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

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

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

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

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

.point-top-content-txt p{
	margin:33px 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:-35px;
	left:0;
	font-family: "Noto Sans", sans-serif;
	font-size:45px;
	font-weight:700;
	color: #FFF;
	-webkit-text-stroke: 0.017em #303030;
	text-stroke: 1px #303030;
}

.point-number{
	position: absolute;
	top:-65px;
	right:0;
	font-family: "PT Serif", serif;
	font-size:125px;
	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:27px;
	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: center;
}

.business-top-txt p{
	margin:33px auto 0 auto !important;
}

.business-list{
	display:flex;
	flex-wrap:wrap;
	gap:8%;
	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:46%;
}

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

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

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

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

.business-content-txt{
	padding:40px 60px;
}

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

.business-copy{
	font-size:20px;
	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:20px 0 0 0;
}

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

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

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

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

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

.value-list-detail{
	padding:40px;
	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:35px;
	font-weight:600;
	line-height: 1.2;
	color:#E30012;
	margin:13px 0 17px 0;
}

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

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

.about-read{
	font-size:20px;
	font-weight:600;
	margin:50px 0 0 0;
	line-height: 1.9;
}

.mark-content{
	display:flex;
	align-items: center;
    gap:60px;
	width:655px;
	margin:70px 0 0 0 ;
	padding:0 40px 30px;
	border-bottom:#9D9D9D solid 1px;
}

.mark-content-img{
	width:200px;
}

.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:665px;
	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:flex;
}

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

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

.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:665px;
	margin:90px auto 0 auto;
}

.company-content-detail{
	padding:85px 65px;
}

.c-detail{
	display:flex;
	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:20px;
	font-weight:600;
}

.c-detail p:nth-child(1){
	width:180px;
}

.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:665px;
	margin:0 auto;
}

.cf-detail{
	display:flex;
	justify-content: space-between;
	align-items: center;
	padding:20px;
}

.cf-detail-img{
	width:30%;
}

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

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

.contact-top{
	margin:268px 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:665px;
	margin:0 auto;
}

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

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

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




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

.privacy-top{
	padding:350px 0 0 0;
	margin:0 auto;
	width:1000px;
}

.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:18px;
	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;
}

.back-news{
	color:#2E2E2E;
	margin:40px 0 0 0;
	display: block;
}

/* お問い合わせフォーム */
.center-content{
	width:605px;
	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;
	background-image: url(image/back-white.jpg);
	background-repeat: repeat;
}

.contact-content{
	margin:0 auto;
	background-color: white;
	border-radius: 15px;
	width:450px;
	padding:55px 80px;
}

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

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

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

/* お問合せ系 */
.form-width{
	margin:30px 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;
}

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

.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:40px;
}
.health-common-title span{
	color:#E30012;
}
.health-common-p{
	margin-top:20px;
	width:660px;
}
.health-top{
	padding-top:320px;
}
.health-top h1{
	font-size:110px;
	font-weight:800;
	color:#E30012;
}
.health-top h2{
	font-size:40px;
	margin-top:40px;
}
.health-top h2 span{
	color:#E30012;
}
.health-top p{
	margin:20px 0;
}
.health-top-read{
	position: relative;
	width:870px;
}
.health-top .health-top-read span{
	position: absolute;
	right:0;
	bottom:0;
	display:block;
	text-align: right;
}
.two-proof{
	padding:87px 0;
	margin:140px 0;
	background-color: #F8F8F8;
}
.two-proof-content{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	gap:120px;
}
.two-proof-content-deital{
	display:flex;
	align-items: ;
	justify-content: space-between;
	gap:40px;
}
.two-proof-content-deital-img{
	width:190px;
}
.two-proof-content-deital-txt{
	width:55%;
	border-top:1px solid black;
	display: flex;
	align-items: center;
}
.two-proof-content-deital-txt h3{
	font-size:19px;
}
.two-proof-content-deital-txt p{
	font-size:14px;
	margin-top:10px;
	line-height: 1.7;
}
.health-organization{
	text-align: center;
}
.health-organization div{
	width:960px;
	margin:80px auto 0;
}
.health-common-content{
	margin-top:150px;
}
.health-common-content-list{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap:32px;
    grid-row-gap: 24px;
	margin-top:40px;
}
.health-common-content-detail{
	display:flex;
	gap:40px;
	border: #E7E7E7 solid 1px;
}
.health-common-content-detail-img{
	width:180px;
}
.health-common-content-detail-txt{
	width:50%;
	padding:20px 35px 0 0;
}
.health-common-content-detail-txt h4{
	font-size:19px;
}
.health-common-content-detail-txt p{
	font-size:14px;
	margin-top:15px;
	line-height: 1.6;
}
.health-deta{
	padding:95px 0 135px;
	margin-top:150px;
	background-color: #F8F8F8;
}
.health-deta h2{
	text-align: center;
	font-size:40px;
}
.health-deta-list{
	display:grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap:85px;
    grid-row-gap: 80px;
	margin-top:50px;
}
.health-deta-detail p{
	text-align: center;
	font-weight:600;
	font-size:16px;
	margin-bottom:20px;
}

}