@charset "utf-8";
#top_h_mv{height:calc(100svh - 112px);}
#top_h_mv_in{padding:24px 24px 0;height:calc(100svh - 112px);}
#top_h_mv img,#top_h_mv video{
	object-fit:cover;
	width:100%;
	height:100%;
}
body.is-home #wrapper{overflow:visible;}
body.is-home #wrapper #header_wrap{
	position:sticky;
	top:0;
	background:#fff;
}
body.is-home #header_wrap.hide{transform:none;}
body.is-home.sticky-active #header_wrap.hide{transform:translateY(-101%);}

.main_txt{
	max-width:1160px;
	margin:60px auto 0;
	padding:0 30px;
	text-align:center;
}

.main_ttl{
	display:flex;
	flex-direction:column-reverse;
	font-weight:bold;
	margin-bottom:27px;
}
.main_ttl h1{
	font-size:3.5rem;
	letter-spacing:1.4px;
	line-height:5.1rem;
	font-weight:bold;
	margin-top:9px;
}
.main_ttl strong{
	font-size:2rem;
	letter-spacing:0.8px;
	color:#0A5536;
	line-height:1.45;
}
.main_p{
	line-height:2;
}

/* ニュース */
#news_area{
	max-width:1160px;
	margin:95px auto 0;
	padding:0 30px;
}
#news_area h2{
	font-size:2.8rem;
	letter-spacing:1.12px;
	font-weight:bold;
	margin-bottom:15px;
}
.news_list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:60px 29px;
	margin:0 !important;
	padding:0 !important;
}
.news_item{margin:0 !important;list-style:none !important;}
.news_link{
	display:block;
	color:#333 !important;
	text-decoration:none !important;
	background:none !important;
	padding:0 !important;
}
.news_thumb{overflow:hidden;}
.news_img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.3s;
}
.news_link:hover .news_img{transform:scale(1.03);}
.news_info{
	display:flex;
	align-items:center;
	margin:15px 0 10px;
}
.news_date{
	font-size:1.3rem;
	color:#5C5C5C !important;
	margin-right:18px;
	letter-spacing:0.65px;
	font-weight:bold;
}
.news_category{
	display:inline-block;
	font-size:1.1rem;
	letter-spacing:0.55px;
	line-height:1.2;
	min-width:90px;
	border-radius:1px;
	padding:2px 5px;
	border:1px solid #707070;
	text-align:center;
}
.news_title{font-weight:500;line-height:1.5;}
.news_title_text{
	padding-bottom:1px;
	background:linear-gradient(0, #333, #333) no-repeat bottom left/0 1px;
	transition:background 0.3s;
}
a[target="_blank"] .news_title{padding-left:20px;background:url(/flags-jp/img/common/icon_popup.svg) 0 8px no-repeat;}
a[href$=".doc"] .news_title, a[href$=".docx"] .news_title{
	padding-left:20px;
	background:url(/flags-jp/img/common/icon_word.svg) 0 8px no-repeat;;
}
a[href$=".xls"] .news_title, a[href$=".xlsx"] .news_title{
	padding-left:20px;
	background:url(/flags-jp/img/common/icon_excel.svg) 0 8px no-repeat;;
}
a[href$=".pdf"] .news_title{
	padding-left:20px;
	background:url(/flags-jp/img/common/icon_pdf.svg) 0 8px no-repeat;;
}
a:hover .news_title_text{background-size:100% 1px;}
.link_more{
	text-align:center;
	margin-top:40px;
}
.more_link{
	display:inline-block;
	padding-right:60px;
	background:url(/flags-jp/img/common/icon_link.svg) right center no-repeat;
	color:#333 !important;
	text-decoration:none;
	font-size:1.4rem;
	line-height:2.5rem;
}
.more_link:hover{text-decoration:underline;}

/* note */
#note_area{
	max-width:1160px;
	margin:100px auto 0;
	padding:0 30px;
	display:flex;
	justify-content:space-between;
}
#note_area h2{
	width:240px;
	margin-right:30px;
	padding-top:5px;
}
#note_area h2 img{
	width:100%;
	max-width:137px;
	height:auto;
}
.note_content{
	width:calc(100% - 270px);
}
.note_item{margin-bottom:15px;}
.note_link{
	display:flex;
	justify-content:space-between;
	padding:0 !important;
	background:none !important;
	text-decoration:none;
}
.note_date{
	display:block;
	padding-top:5px;
	font-size:1.3rem;
	letter-spacing:0.65px;
	color:#5C5C5C !important;
	text-decoration:none !important;
	width:96px;
	font-weight:bold;
}
.note_title{
	width:calc(100% - 96px);
	padding-left:20px;
	background:url(/flags-jp/img/common/icon_popup.svg) no-repeat 0 7px;
	font-weight:500;
	text-decoration:underline;
}
.note_link:hover .note_title{text-decoration:underline;}

/* 動画 */
#movie_area{
	max-width:1160px;
	margin:95px auto 0;
	padding:0 30px;
}
#movie_area h2{
	font-size:2.8rem;
	letter-spacing:1.12px;
	font-weight:bold;
	margin-bottom:15px;
}
.movie_box{
	max-width:940px;
	margin:auto;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
}
.movie_box p{margin-top:16px;}

/* コンセプト */
#concept{
	background:url(/flags-jp/img/index/bg_green.jpg) top left no-repeat;
	background-size:cover;
	margin-top:140px;
	color:#fff;
	padding:0 0 120px;
}
#message{
	max-width:1160px;
	margin:0 auto;
	padding:90px 30px 0;
}
#message h2{
	font-size:4rem;
	letter-spacing:0;
	font-weight:bold;
	margin-bottom:36px;
	position:relative;
}
#message h2::before{
	content:attr(data-en);
	display:block;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:600;
}
.message_box{
	display:flex;
	justify-content:space-between;
}
.message_img{
	width:300px;
	margin-right:40px;
}
.message_txt{
	width:calc(100% - 340px);
}
.message_txt p{
	line-height:2;
}
.message_txt .txt_right{
	text-align:right;
	margin-top:33px;
	font-size:1.7rem;
	letter-spacing:0.02px;
}
.name{
	font-size:2.6rem;
	letter-spacing:0.03px;
	line-height:1.5;
}

#about{
	max-width:1160px;
	margin:70px auto 0;
	padding:0 30px;
}
.about_box{
	position:relative;
	padding:60px 80px 78px;
}
.about_box::before{
	content:'';
	position:absolute;
	inset:0;
	background:rgba(0,0,0,0.55);
	mix-blend-mode:multiply;
	pointer-events:none;
	z-index:0;
}
.about_box > *{
	position:relative;
	z-index:1;
}
#about h2{
	font-size:3rem;
	line-height:4.4rem;
	font-weight:bold;
}
#about .about_copy{
	margin:29px 0 0;
	border:1px solid #fff;
	text-align:center;
	padding:26px 15px 23px;
	font-size:2.4rem;
	letter-spacing:1.2px;
}
.about_copy strong{
	display:block;
	font-size:3rem;
	letter-spacing:1.5px;
	line-height:1.5;
}
.about_copy_sub{
	display:inline-block;
	position:relative;
	padding:0 30px;
}
.about_copy_sub::before,.about_copy_sub::after{
	content:'';
	display:block;
	width:19px;
	height:2px;
	background:#fff;
	position:absolute;
	top:calc(50% - 1px);
}
.about_copy_sub::before{left:0;}
.about_copy_sub::after{right:0;}



#about h3{
	font-size:2.8rem;
	letter-spacing:1.12px;
	line-height:4rem;
	margin:60px 0 51px;
	font-weight:bold;
}
#about h3 span{
	display:block;
	font-size:2.2rem;
	letter-spacing:0.88px;
	line-height:3.2rem;
	margin-bottom:8px;
}
#about h4{
	font-size:2rem;
	letter-spacing:1.2px;
	line-height:1.45;
	margin:36px 0 0;
	font-weight:bold;
}
#about h5{
	font-size:1.8rem;
	letter-spacing:1.08px;
	line-height:1.45;
	margin:36px 0 0;
	font-weight:bold;
}
#about p{margin-top:13px;line-height:2;}
#about h4 + p{margin-top:19px;}
#about h5 + p{margin-top:5px;}
.about_copy p{margin:0 !important;}
.about_box a[target="_blank"]{
	color:#fff !important;
	background:url(/flags-jp/img/common/icon_popup_white.svg) no-repeat center left;
}

/* 総合知 */
#explanation{
	max-width:1160px;
	margin:90px auto 0;
	padding:0 30px;
}
#explanation h2{
	font-size:4rem;
	line-height:1.45;
	text-align:center;
	font-weight:bold;
}
#explanation h2::before{
	content:attr(data-en);
	display:block;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:600;
	line-height:1.5;
	margin-bottom:4px;
	color:#0A5536;
}
#explanation h3{
	font-size:3rem;
	line-height:3rem;
	margin:37px 0;
	font-weight:bold;
}
#explanation h3.h3_mt{margin-top:57px;}
#explanation p{margin-top:38px;}

/* innovation */
#innovation{
	position:relative;
	color:#fff;
	margin:120px auto 0;
	background:url(/flags-jp/img/index/bg_green_2.jpg) repeat;
	padding:89px 0 120px;
}
.innovation_area{
	position:relative;
	color:#fff;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto;
}
#innovation h2{
	font-size:4rem;
	line-height:1.45;
	text-align:center;
	font-weight:bold;
	margin-bottom:30px;
}
#innovation h2::before{
	content:attr(data-en);
	display:block;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:600;
	line-height:1.5;
	margin-bottom:4px;
}
.innovator_content{
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:30px auto 90px;
}
#innovation h3{
	font-size:2.8rem;
	line-height:1.6;
	margin:0 0 36px;
	text-align:center;
	font-weight:500;
}
.innovator_txt{
	width:54.545454%;
	padding-right:40px;
}
#innovation .innovator_txt h3{text-align:left;margin:0;}
.innovator_txt p{line-height:2;margin-top:16px;}
.innovator_img{
	max-width:500px;
	width:45.454545%;
}
.innovator_copy{
	display:flex;
	justify-content:center;
	text-align:center;
	align-items:flex-end;
	margin:11px 0 8px;
}
.innovator_copy p{
	border-bottom:1px solid #fff;
	padding-bottom:12px;
	margin-bottom:12px;
	font-size:2.6rem;
}
.innovator_copy p strong{
	display:inline-block;
	font-weight:normal;
	font-size:4.2rem;
	margin-left:6px;
}
.innovator_link{text-align:center;}
.innovator_link a{
	color:#fff !important;
	background-image:url(/flags-jp/img/common/icon_popup_white.svg);
}
.innovator_link a:hover{text-decoration:none;}

/* field */
#field{
	max-width:1160px;
	margin:90px auto 0;
	padding:0 30px;
}
#field h2{
	font-size:4rem;
	line-height:1.45;
	text-align:center;
	font-weight:bold;
}
#field h2::before{
	content:attr(data-en);
	display:block;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:600;
	line-height:1.5;
	margin-bottom:4px;
	color:#0A5536;
}
.field_list{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
	margin-top:30px;
}
.field_item{
	border-radius:10px;
	padding:49px 40px 54px;
}
.field_item h3{
	font-size:2.8rem;
	line-height:4rem;
	margin:0 0 16px;
	text-align:center;
	font-weight:bold;
}
.field_item p{line-height:2;}
.field_link{text-align:center;margin-top:12px;}

.field_item:nth-child(1){border:1px solid #007F4D;}
.field_item:nth-child(1) h3{color:#007F4D;}
.field_item:nth-child(2){border:1px solid #026682;}
.field_item:nth-child(2) h3{color:#026682;}

/* strategy */
#strategy{
	position:relative;
	margin-top:120px;
	background:url(/flags-jp/img/index/bg_light-green_t.jpg) left top no-repeat , 
	url(/flags-jp/img/index/bg_light-green_b.jpg) right bottom no-repeat;
	overflow:hidden;
	padding:0 30px;
}

#strategy h2{
	font-size:4rem;
	line-height:1.45;
	text-align:center;
	font-weight:bold;
	margin:80px 0 20px;
}
#strategy h2::before{
	content:attr(data-en);
	display:block;
	font-size:2rem;
	text-transform:uppercase;
	font-weight:600;
	line-height:1.5;
	margin-bottom:4px;
	color:#0A5536;
}
.txt_center{text-align:center;}

#strategy img{
	width:100%;
	max-width:850px;
	height:auto;
	margin:30px auto 0;
}
.str_box{
	max-width:940px;
	margin:40px auto;
	padding:0 37px 36px;
	border-radius:10px;
	border:1px solid #007F4D;
	background:#fff;
}
.str_box h3{
	position:relative;
	text-align:center;
	margin:30px 0 30px;
}
.str_box h3 span{
	display:inline-block;
	padding:0 15px;
	background:#fff;
	font-size:3.6rem;
	line-height:5.2rem;
	font-weight:600;
}
.str_box h3::before{
	content:attr(data-en);
	display:block;
	font-size:1.5rem;
	color:#0A5536;
	line-height:1.4;
	font-weight:600;
}
.str_box:last-child{margin-bottom:120px;}
.str_content_item{
	text-align:center;
}
.str_content_item h4{
	display:inline-block;
	border:1px solid #007F4D;
	line-height:1.5;
	text-align:center;
	color:#006B40;
	font-weight:bold;
	padding:0 10px;
}
.str_content_item ul{margin-top:20px;}
.str_content_item li{
	padding-left:19px;
	position:relative;
	margin-bottom:12px;
	line-height:1.5;
	text-align:left;
}
.str_content_item li:last-child{margin-bottom:0;}
.str_content_item li::before{
	content:'';
	position:absolute;
	left:0;
	top:10px;
	width:11px;
	height:11px;
	border-radius:50%;
	background:#007F4D;
}
.str_content_link{
	text-align:center;
	margin-top:19px;
}

/* vision */
#vision{
	position:relative;
	padding:85px 30px 100px;
	background:url(/flags-jp/img/index/bg_green.jpg) center no-repeat;
	background-size:cover;
}

#vision h2{
	font-size:3rem;
	line-height:1.45;
	text-align:center;
	font-weight:bold;
	margin:0 0 30px;
	color:#fff;
}
#vision h2::before{
	content:attr(data-en);
	display:block;
	font-size:9rem;
	font-family:"Roboto", sans-serif;
	font-weight:600;
	line-height:1.2;
}
.vision_list{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
	max-width:1100px;
	margin:0 auto;
}
.vision_item{
	border-radius:10px;
	padding:28px 30px 33px;
	background:#fff;
	border:1px solid #007F4D;
	text-align:center;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
}
.vision_txt{
	position:relative;
	color:#006B40;
}
.vision_txt::before{
	content:attr(data-en);
	display:block;
	letter-spacing:0.48px;
	font-family: "Roboto", sans-serif;
}
.vision_txt strong{
	display:block;
	font-size:2.8rem;
	line-height:4rem;
}
.vision_txt_b{
	font-size:1.8rem;
	letter-spacing:0.72px;
	font-weight:bold;
	margin-top:6px;
}

/* content_b */
#content_b{
	position:relative;
	background:url(/flags-jp/img/index/bg_gray.jpg) left top repeat;
	padding:0 30px;
	overflow:hidden;
}
#for{
	max-width:1100px;
	margin:120px auto 0;
}
#for h2{
	font-size:2.8rem;
	line-height:4rem;
	font-weight:bold;
}
.for_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.for_item{
	width:calc(50% - 30px);
	position:relative;
	padding-left:34px;
	margin-top:32px;
}
.for_item::before{
	content:'';
	display:block;
	width:14px;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}
.for_item:nth-child(1)::before{background:#127797;}
.for_item:nth-child(2)::before{background:#006B40;}
.for_item:nth-child(3)::before{background:#8EB900;}
.for_item:nth-child(4)::before{background:#4995B5;}
.for_item:nth-child(5)::before{background:#56707C;}
.for_item h3{
	line-height:1.5;
	font-size:1.8rem;
	font-weight:bold;
}
.for_item p{
	line-height:1.5;
	margin-top:6px;
}

#contact{
	max-width:1200px;
	margin:100px auto 140px;
	background:#fff;
	text-align:center;
	padding:25px 20px 40px;
}
#contact h2{
	font-size:3.2rem;
	line-height:1.45;
	font-weight:bold;
	margin-bottom:26px;
}
#contact h3{
	font-size:2rem;
	line-height:1.45;
	font-weight:bold;
	letter-spacing:2px;
	margin-bottom:20px;
}
.contact_list{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:50px;
	font-weight:bold;
	margin-top:30px;
}
.contact_tel{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.contact_tel a{
	color:#333 !important;
	text-decoration:none !important;
	font-size:2.2rem;
	letter-spacing:2.2px;
}
.contact_mail{
	font-size:1.7rem;
	letter-spacing:1.7px;
}
.contact_mail a{
	display:inline-block;
	padding-left:25px;
	text-decoration:none;
	background:url(/flags-jp/img/index/icon_mail.svg) left center no-repeat;
}
.contact_mail a:hover{text-decoration:underline;}


@media screen and (max-width:1023px){
body.is-home #top_h_mv{padding-top:80px;}
body.is-home #wrapper #header_wrap{position:fixed;}
body.is-home #header_wrap.hide,
body.is-home.sticky-active #header_wrap.hide{transform:translateY(-101%);}

#top_h_mv{padding:80px 0 0;height:auto;}
#top_h_mv_in{padding:0;height:auto;}
#top_h_mv img{object-fit:contain;width:100%;height:auto;}
.main_txt{margin:40px auto 0;}
.main_ttl{margin-bottom:20px;}
.main_ttl h1{
	font-size:3rem;
	letter-spacing:1.2px;
	line-height:4.4rem;
	margin-top:10px;
}
.main_ttl strong{
	font-size:1.6rem;
	letter-spacing:0.64px;
	line-height:1.5;
}
.main_p{font-size:1.4rem;text-align:left;}
.main_p br{display:none;}

/* ニュース */
#news_area{margin:77px auto 0;}
#news_area h2{
	font-size:2.4rem;
	letter-spacing:0.96px;
	margin-bottom:18px;
}
.news_list{gap:30px 21px;}
.news_info{margin:17px 0 9px;}
.news_date{
	font-size:1.2rem;
	margin-right:14px;
	letter-spacing:0.6px;
}
.news_category{padding:2px 5px;min-width:94px;}

.link_more{margin-top:40px;}
.more_link{
	font-size:1.3rem;
	line-height:2.5rem;
}

/* note */
#note_area{margin:80px auto 0;}
#note_area h2{
	width:120px;
	margin-right:50px;
	padding-top:1px;
}
#note_area h2 img{max-width:120px;}
.note_content{width:calc(100% - 170px);}
.note_item{margin-bottom:13px;}
.note_date{
	padding-top:2px;
	font-size:1.2rem;
	letter-spacing:0.6px;
	width:90px;
}
.note_title{width:calc(100% - 90px);}

/* コンセプト */
#concept{
	margin-top:115px;
	padding:0 0 58px;
}
#message{padding:60px 60px 0;}
#message h2{
	font-size:3.4rem;
	margin-bottom:34px;
}
#message h2::before{font-size:1.8rem;}
.message_img{
	width:210px;
	margin-right:24px;
	padding-top:5px;
}
.message_txt{width:calc(100% - 234px);}
.message_txt p{
	font-size:1.4rem;
	line-height:2;
}
.message_txt .txt_right{
	font-size:1.5rem;
	letter-spacing:0.01px;
	margin-top:12px;
}
.name{
	font-size:2.3rem;
	letter-spacing:0.02px;
	line-height:1.2;
	display:inline-block;
	margin-top:5px;
}

#about{margin:60px auto 0;}
.about_box{
	position:relative;
	padding:43px 30px 48px;
}
#about h2{
	font-size:2.8rem;
	line-height:4rem;
}
#about .about_copy{
	padding:25px 15px;
	font-size:1.6rem;
	letter-spacing:0.8px;
	margin-top:40px;
}
.about_copy strong{
	font-size:2.1rem;
	letter-spacing:1.05px;
	line-height:1.45;
	margin-bottom:4px;
}
.about_copy_sub{padding:0 19px;}
.about_copy_sub::before, .about_copy_sub::after{width:13px;}
#about h3{
	font-size:2.2rem;
	letter-spacing:0.88px;
	line-height:3.2rem;
	margin:59px 0 40px;
}
#about h3 span{
	font-size:2rem;
	letter-spacing:0.8px;
	line-height:1.45;
	margin-bottom:6px;
}
#about h4{
	font-size:1.6rem;
	letter-spacing:0.96px;
	line-height:1.5;
	margin:44px 0 0;
}
#about h4 + p{margin-top:7px;}
#about h5{
	font-size:1.6rem;
	letter-spacing:0.96px;
	line-height:1.5;
	margin:36px 0 0;
}

/* 総合知 */
#explanation{margin:60px auto 0;text-align:center;}
#explanation h2{
	font-size:3.4rem;
	line-height:4.9rem;
}
#explanation h2::before{
	font-size:1.8rem;
	margin-bottom:2px;
}
#explanation h3{
	font-size:2.8rem;
	margin:46px 0 20px;
}
#explanation p{margin-top:28px;}

/* innovation */
#innovation{
	margin:80px auto 0;
	padding:61px 0 80px;
}
#innovation h2{
	font-size:3.4rem;
	line-height:4.9rem;
	margin-bottom:30px;
}
#innovation h2::before{
	font-size:1.8rem;
	margin-bottom:2px;
}
.innovator_content{
	flex-direction:column;
	margin:30px auto 60px;
}
#innovation h3{
	font-size:2.4rem;
	line-height:3.5rem;
	margin:0 0 16px;
}
.innovator_txt{
	width:auto;
	padding:0 10px;
	margin:0 0 20px;
}
.innovator_txt p{line-height:2;margin-top:16px;}
.innovator_img{margin:auto;width:auto;}
.innovator_copy{margin:21px 0 8px;}
.innovator_copy p{
	padding-bottom:12px;
	margin-bottom:12px;
	font-size:2.4rem;
}
.innovator_copy p strong{
	font-size:3.8rem;
	margin-left:6px;
}

/* field */
#field{margin:60px auto 0;padding:0 40px;}
#field h2{
	font-size:3.4rem;
	line-height:4.9rem;
}
#field h2::before{
	font-size:1.8rem;
	margin-bottom:2px;
}
.field_list{
	display:block;
	margin-top:30px;
}
.field_item{
	border-radius:10px;
	padding:39px 40px 37px;
	margin-top:20px;
}

/* strategy */
#strategy{margin-top:80px;padding:0 40px;}
#strategy h2{
	font-size:3.4rem;
	line-height:4.9rem;
	margin:62px 0 21px;
}
#strategy h2::before{
	font-size:1.8rem;
	margin-bottom:2px;
}
#strategy img{
	max-width:650px;
	margin:7px auto 0;
}
.str_box{
	padding:0 37px 36px;
}
.str_box h3{
	margin:30px 0 20px;
}
.str_box h3 span{
	font-size:2.8rem;
	line-height:4rem;
}
.str_box h3::before{font-size:1.4rem;}
.str_box:last-child{margin-bottom:80px;}

.str_content_item h4{font-size:1.5rem;}
.str_content_item li{
	font-size:1.5rem;
	line-height:2.4rem;
}
.str_content_item li::before{top:7px;}

/* vision */
#vision{padding:64px 40px 80px;}

#vision h2{
	font-size:2.8rem;
	line-height:4rem;
	margin:0 0 30px;
}
#vision h2::before{font-size:7.5rem;}
.vision_item{padding:24px 20px 26px;}

.vision_txt::before{
	font-size:1.3rem;
	letter-spacing:0.39px;
	margin-bottom:3px;
}
.vision_txt strong{
	font-size:2.1rem;
	line-height:3rem;
}
.vision_txt_b{
	font-size:1.3rem;
	letter-spacing:0.52px;
	margin-top:6px;
}

/* content_b */
#content_b{padding:0 40px;}
#for{margin:90px auto 0;}
#for h2{
	font-size:2.4rem;
	line-height:3.5rem;
}
.for_item{
	width:calc(50% - 10px);
	margin-top:30px;
}
.for_item h3{
	line-height:2.5rem;
	font-size:1.7rem;
}
.for_item p{
	line-height:2.4rem;
	margin-top:12px;
}

#contact{
	margin:101px auto 100px;
	padding:25px 40px 43px;
}
#contact h2{
	font-size:3rem;
	line-height:1.45;
	margin-bottom:26px;
}
#contact h3{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.contact_list{
	gap:40px;
	margin-top:26px;
}
.contact_tel{
	font-size:1.8rem;
	letter-spacing:1.8px;
}
}

@media screen and (max-width:767px){
body.is-home #top_h_mv{padding-top:59px;}
#top_h_mv{padding:59px 0 0;height:auto;}
.main_txt{margin:39px auto 0;padding:0 20px;}
.main_ttl{margin-bottom:16px;}
.main_ttl h1{
	font-size:2rem;
	letter-spacing:0.8px;
	line-height:2.9rem;
	margin-top:10px;
}
.main_ttl strong{
	font-size:1.4rem;
	letter-spacing:0.56px;
	line-height:2rem;
	white-space:nowrap;
}
.main_p{font-size:1.4rem;text-align:left;}

/* ニュース */
#news_area{padding:0 20px;}
#news_area h2{
	font-size:2.2rem;
	letter-spacing:0.88px;
	margin-bottom:18px;
}
.news_list{gap:30px 13px;}
.news_info{margin:17px 0 10px;}
.news_date{margin-right:13px;}

#movie_area{padding:0 20px;}
.movie_box{display:block;}
.movie_item{margin-top:24px;}

/* note */
#note_area{margin:60px auto 0;padding:0 20px;display:block;}
#note_area h2{
	width:auto;
	margin:0 0 30px 1px;
	padding-top:0;
}
.note_content{width:auto;}
.note_item{margin-bottom:11px;}
.note_link{display:block;}
.note_date{width:auto;margin-bottom:3px;}
.note_title{width:auto;}

/* コンセプト */
#concept{
	margin-top:77px;
	padding:0 0 60px;
}
#message{padding:60px 20px 0;}
#message h2{
	font-size:3rem;
	margin-bottom:30px;
}
#message h2::before{font-size:1.6rem;margin-bottom:5px;}
.message_box{display:block;}
.message_img{
	width:210px;
	margin:0 auto 15px;
	padding-top:0;
}
.message_txt{width:auto;}
.message_txt .txt_right{margin-top:9px;}

#about{margin:78px auto 0;padding:0 10px;}
.about_box{padding:30px 20px 48px;}
#about h2{
	font-size:2.6rem;
	line-height:3.7rem;
}
#about .about_copy{
	padding:24px 5px;
	font-size:1.3rem;
	letter-spacing:0.65px;
	margin-top:32px;
}
.about_copy strong{
	font-size:1.9rem;
	letter-spacing:0.95px;
	line-height:2.7rem;
	white-space:nowrap;
	margin-bottom:9px;
}
.about_copy_sub{padding:0 25px;line-height:1.9rem;}
.about_copy_sub::before, .about_copy_sub::after{width:10px;}
#about h3{
	font-size:2rem;
	letter-spacing:0.72px;
	line-height:2.9rem;
	margin:59px 0 20px;
}
#about h3 span{
	font-size:1.8rem;
	letter-spacing:0.8px;
	line-height:1.45;
	margin-bottom:10px;
}
#about h4{
	font-size:1.6rem;
	letter-spacing:0.96px;
	line-height:1.5;
	margin:40px 0 0;
}
#about h4 + p{margin-top:6px;}

/* 総合知 */
#explanation{padding:0 20px;}
#explanation h2{
	font-size:3rem;
	line-height:4rem;
}
#explanation h2::before{
	font-size:1.6rem;
	margin-bottom:7px;
}
#explanation h3{
	font-size:2.6rem;
	margin:26px 0 16px;
}
#explanation p{margin-top:18px;text-align:left;line-height:2;}

/* innovation */
#innovation{
	margin:80px auto 0;
	padding:61px 0 76px;
}
#innovation h2{
	font-size:3rem;
	line-height:4.4rem;
	margin-bottom:26px;
}
#innovation h2::before{font-size:1.6rem;margin-bottom:5px;}
#innovation h3{
	font-size:2rem;
	line-height:1.45;
	margin:0 0 16px;
	text-align:center !important;
}
#innovation h3 br{display:none;}
#innovation h3 br.br_sp{display:inline;}
.innovation_area{padding:0 20px;}
.innovator_txt{
	width:auto;
	padding:0;
}
.innovator_copy{margin:21px 0 8px;flex-wrap:wrap;text-align:center;}
.innovator_copy p{
	padding-bottom:12px;
	margin-bottom:12px;
	font-size:2rem;
}
.innovator_copy p strong{
	font-size:3.8rem;
	margin-left:6px;
}

/* field */
#field{margin:60px auto 0;padding:0 20px;}
#field h2{
	font-size:3rem;
	line-height:4.4rem;
	margin-bottom:30px;
}
#field h2::before{
	font-size:1.6rem;
	margin-bottom:5px;
}
.field_list{margin-top:20px;}
.field_item{
	padding:29px 20px 35px;
	margin-top:20px;
}
.field_item h3{font-size:2.4rem;line-height:3.5rem;}

/* strategy */
#strategy{margin-top:80px;padding:0 20px;}
#strategy h2{
	font-size:3rem;
	line-height:4.4rem;
	margin:62px 0 21px;
}
#strategy h2::before{
	font-size:1.6rem;
	margin-bottom:4px;
}
#strategy p.txt_center{font-size:1.6rem;}
#strategy img{
	max-width:650px;
	margin:7px auto 0;
}
.str_box{
	padding:0 10px 36px;
}
.str_box h3{
	margin:30px 0 34px;
	white-space:nowrap;
}
.str_box h3 span{
	font-size:2.2rem;
	line-height:3.2rem;
	padding:0 12px;
}
.str_box h3::before{font-size:1.2rem;margin-bottom:8px;}
.str_box:last-child{margin-bottom:80px;}
.str_content{margin:0 20px;}

.str_content_item h4{font-size:1.4rem;padding:2px 10px;}
.str_content_item ul{margin-top:9px;}
.str_content_item li{font-size:1.4rem;margin-bottom:6px;}


/* vision */
#vision{padding:44px 20px 80px;}

#vision h2{
	font-size:2rem;
	line-height:1.45;
	margin:0 0 30px;
}
#vision h2::before{font-size:6rem;line-height:7.5rem;margin-bottom:11px;}
.vision_item{margin-top:20px;min-height:130px;}
.vision_txt::before{
	font-size:1.3rem;
	letter-spacing:0.39px;
	margin-bottom:3px;
}

/* content_b */
#content_b{padding:0 20px;}
#for{margin:60px auto 0;}
#for h2{
	font-size:2rem;
	line-height:1.45;
}
.for_list{display:block;}
.for_item{
	width:auto;
	margin-top:30px;
}
.for_item h3{
	font-size:1.6rem;
	line-height:1.5;
}
.for_item p{
	line-height:2.4rem;
	margin-top:10px;
}

#contact{
	margin:78px auto 80px;
	padding:29px 20px 33px;
}
#contact h2{
	font-size:2.4rem;
	line-height:3.5rem;
	margin-bottom:10px;
}
#contact h3{
	font-size:1.6rem;
	letter-spacing:1.6px;
}
.contact_list{
	display:block;
	text-align:center;
	margin-top:0;
}
.contact_item{margin-top:14px;}
.contact_tel{
	font-size:1.6rem;
	letter-spacing:1.6px;
}
.contact_tel a{
	font-size:2rem;
	letter-spacing:2px;
}
}


@media screen and (max-width:599px){
.vision_list{display:block;}
.news_list{display:block;}
.news_item{margin-bottom:30px !important;}
}