@charset "utf-8";

/*----------------------------------------------------------------------
共通
----------------------------------------------------------------------*/

.ttl{
	font-family: 'Noto Serif JP';
	font-size: clamp(3rem, 2.769rem + 1.03vw, 4rem);
	color: #007631;
	margin-bottom: 30px;
}

.ttl .en{
	font-size: 1.6rem;
	color: #414141;
}

.sub_ttl{
	font-family: 'Noto Serif JP';
	font-size: clamp(2.6rem, 2.508rem + 0.41vw, 3rem);
	color: #007631;
}

.sub_ttl .en{
	display: block;
	font-size: 1.4rem;
	color: #414141;
}

.section_content{
	padding: 120px 0 0;
}

.section_ttl{
	font-family: 'Noto Serif JP';
	font-size: clamp(2rem, 1.908rem + 0.41vw, 2.4rem);
	font-weight: 500;
	border-bottom: 1px solid #ccc;
	display: inline-block;
	margin-bottom: 1em;
}

a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}


/*----------------------------------------------------------------------
mv
----------------------------------------------------------------------*/

.mv{
	position: relative;
	height: 100vh;
	background: url("../images/mv.png") no-repeat center / cover;
}

.mv_box{
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
	width: 100%;
	font-family: 'Noto Serif JP';
	color: #fff;
}

.catch{
	font-size: clamp(3rem, 2.769rem + 1.03vw, 4rem);
	font-weight: 500;
	margin-bottom: .5em;
	text-shadow: 0px 0px 16px rgba(0,0,0,0.9), 0px 0px 16px rgba(0,0,0,0.9), 0px 0px 28px rgba(0,0,0,0.9), 0px 0px 36px rgba(0,0,0,0.9), 0px 0px 48px rgba(0,0,0,0.9);
}

.mv .sub_txt{
	font-size: clamp(1.6rem, 1.554rem + 0.21vw, 1.8rem);
	letter-spacing: .075rem;
	line-height: 1.8;
	text-shadow: 0px 0px 8px rgba(0,0,0,0.9), 0px 0px 16px rgba(0,0,0,0.9), 0px 0px 16px rgba(0,0,0,0.9), 0px 0px 28px rgba(0,0,0,0.9), 0px 0px 36px rgba(0,0,0,0.9), 0px 0px 48px rgba(0,0,0,0.9);
}

/*----------------------------------------------------------------------
service
----------------------------------------------------------------------*/

.section_inner{
	position: relative;
	padding: 60px 0;
}

.section_inner .sub_ttl{
	display: inline-block;
	margin-bottom: .5em;
}

.section_inner .sub_ttl .en{
	position: relative;
	line-height: 1.4;
}
.section_inner .sub_ttl .en::before{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 1px;
	width: 100%;
	background: #ccc;
	z-index: -1;
}

.section_inner .sub_ttl .en span{
	display: inline-block;
	background: #fff;
	padding: 0 1em;
}

.section_inner .box{
	position: relative;
	margin-right: min(600px,40vw);
	z-index: 2;
	padding: 40px;
	background: #fff;
	text-align: center;
}

.section_inner .sub_txt{
	text-align: left;
}

.bigimg{
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	height: 100%;
}

.bigimg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.section_ttl{
	padding-top: 60px;
}

.service_wrap{
	position: relative;
	padding: 0 0 80px;
	margin-bottom: 80px;
}

.service_wrap:last-of-type{
	margin-bottom: 0;
}
.service_wrap::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 70%;
	background: #E8E8E8;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.section_block{
	padding: 40px 60px;
	background: #fff;
	font-family: 'Noto Serif JP';
	text-align: left;
}

.reverse .bigimg{
	left: 0;
	right: auto;
}

.reverse .section_inner .box {
	margin-left: min(600px,40vw);
	margin-right: auto;
}

.service_wrap._02 .bigimg img {
    object-position: bottom;
}

.ex_txt{
	line-height: 2;
}

.sdgs{
	padding: 80px 0 0;
}

.sdgs .sub_txt{
	font-size: clamp(1.6rem, 1.508rem + 0.41vw, 2rem);
	line-height: 1.6;
}

.sdgs_list{
	margin-top: 2em;
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
}

.sdgs_list li{
	width: calc(100% / 6 - 15px);
	margin-left: 15px;
	margin-bottom: 15px;
	line-height: 0;
}


/*----------------------------------------------------------------------
message
----------------------------------------------------------------------*/

.message{
	font-family: 'Noto Serif JP';	
}

.message .cols{
	display: flex;
	align-items: center;
	justify-content: center;
}

.profile_area{
	background: #f5f4f1;
	font-weight: 500;
	text-align: left;
	line-height: 1.4;
	margin-bottom: 60px;
}

.message .jobtitle{
	padding: 0 0 6px;
}

.message .name{
	font-size: clamp(2rem, 1.631rem + 1.64vw, 3.6rem);
}

.profile_area .l_box{
	z-index: 1;
}

.profile_img{
	width: 380px;
	max-width: 100%;
	padding: 20px 0 0;
	line-height: 0;
}

.message .sub_txt{
	padding: 0 20%;
	line-height: 2.2;
	text-align: left;
}

 @media screen and (max-width: 1680px) {
}

@media screen and (min-width: 1061px) {
}

 @media screen and (max-width: 1060px) {
.mv {
    height: 100vh;
	height: 100svh;
}

.message .sub_txt{
	padding: 0 10%;
	line-height: 2;
}
}

@media screen and (max-width: 834px) {


a.anchor {
    padding-top: 60px;
    margin-top: -60px;
}
	
.ttl{
	line-height: 1.6;
}
	
.catch {
	line-height: 1.3;
	margin-bottom: 1em;
}
.mv .sub_txt {
	text-align: left;
}

.section_content{
	padding: 60px 0 0;
}
	
.section_inner{
	padding: 0;
}
.section_inner .inner{
	max-width: 100%;
}

.section_inner .box{
	padding: 20px;
	margin-right: 5vw;
}
.reverse .section_inner .box {
	margin-left: 5vw;
}
	
.bigimg{
	position: relative;
	width: 100%;
	height: 300px;
	margin-top: -50px;
}
	
.service .ttl{
	margin-bottom: 0;
}
.section_block {
	padding: 20px;
}
.section_ttl {
    padding-top: 40px;
}
.service_wrap {
    padding: 0 0 40px;
    margin-bottom: 40px;
}
	
.sdgs_list {
    margin-left: -10px;
}
.sdgs_list li {
    width: calc(100% / 4 - 10px);
    margin-left: 10px;
	margin-bottom: 10px;
}
	
.sdgs_txt {
    line-height: 1.6;
	margin-top: 60px;
}
.profile_area {
	padding: 10px 0 0;
    margin-bottom: 30px;
}
	
.message .cols{
	align-items: center;
}	

.message .sub_txt{
	padding: 0;
}
	
.profile_area .r_box {
	width: 50%;
}
.profile_img{
	padding: 0;
}
	
.jobtitle{
	margin-bottom: 3px;
	font-size: 1.2rem;
}
	
}

 @media screen and (max-width: 480px) {
.mv .sub_txt {
    font-size: clamp(1.6rem, 1.554rem + 0.21vw, 1.8rem);
    letter-spacing: .075rem;
    line-height: 1.8;
    text-shadow: 0px 0px 4px rgba(0,0,0,0.9), 0px 0px 8px rgba(0,0,0,0.9), 0px 0px 12px rgba(0,0,0,0.9), 0px 0px 28px rgba(0,0,0,0.9), 0px 0px 36px rgba(0,0,0,0.9), 0px 0px 48px rgba(0,0,0,0.9);
}
.sub_ttl {
	font-size: 6.5vw;
}
.section_inner .sub_ttl .en span {
    padding: 0 0.5em;
}
}