@charset "UTF-8";
.dummy {
	background-color: #F70509;
}
/*--------------------------
 IMAGE HOME
----------------------------*/
.image_home {
	position: relative;
	z-index: 1;
	
}
/*--------------------------
 IMAGE HOME FADE
----------------------------*/
.image_home_fade	{
	width: 100%;
	/*width: 100vw;*/
	/*width: -webkit-calc(100vw - 100%) ;
	width: calc(100vw - 100%);*/
	/*max-width:1920px;*/
	/*min-height: 700px;*/
	position: relative;
	background-position: 50% center;
	background-repeat: no-repeat;
	
	
	background-size: cover;
	/*全画面三角問題で保留中*/
	/*固定して、パララックスぽい方がいいかも*/
	/*height: 100vh;*/
	height: 700px;

}
/*--------------------------
 HOME IMAGE CHARS
----------------------------*/
.image_main_chars {
	color: #FFF;
	-webkit-box-align: center; /* safari, Chrome対応 */
	-moz-box-align: center;    /* Firefox対応 */
	-o-box-align: center;      /* Opera対応 */
	-ms-box-align: center;     /* IE対応 */
	box-align: center;
	display: block;
	position: absolute;
	top: 60px;
	left: 80px;
}
.image_main_chars_eng {
	font-size: 80px;
	line-height: normal;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding-bottom: 13px;
}
.image_main_chars_p {
	font-size: 24px;
	line-height: 36px;
	padding-bottom: 20px;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	padding-left: 5px;
}
.image_main_chars_p br {
	
}
/*--------------------------
 HOME IMAGE CHARS
----------------------------*/
.image_scroll_wrapper {
    position: absolute;
    bottom: 0px;
    z-index: 10;
    width: 100%;
    text-align: center;
    background-image: url(../images/scroll_line.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}
.image_scroll {
    color: #FFFFFF;
    padding-bottom: 35px;
    animation: iscrol 5s linear infinite;
    font-size: 16px;
}
@keyframes iscrol {
  0%   { transform: rotateY(0deg); }
  100% { transform: rotateY(360deg); }
}
/*--------------------------
 TRIANGLE NANAME
----------------------------*/
.triangle_wraper {
	z-index: 10;	
}

.triangle_left {
	/*clip-path: polygon(0 0, 0 100%, 100% 0);*/
	/*clip-path: polygon(100% 0, 0 0, 100% 100%);*/
	clip-path: polygon(0 100%, 100% 100%, 0% 0%, 0 0%);
	background-color: #FFFFFF;
	height: 100px;
	width: 100%;
	position: absolute;
	bottom: 0px;
}

/*--------------------------
 SERVICE WRAPPER
----------------------------*/
.service_list_wrapper {
	padding-bottom: 150px;
	position: relative;
}
/*--------------------------
 SERVICE LIST
----------------------------*/
@media screen and (min-width:768px) and ( max-width:1120px) {
.service_list {
	padding-left: 10px;
	padding-right: 10px;
}
}
@media screen and (min-width:1120px) {
.service_list {
	width: 1120px;
}
}
.service_list {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-top: 40px;
	padding-bottom: 20px;
}

.service_list::after {
    content: "";
    display: block;
    clear: both;
}

.service_list_thumb {
	
}

.service_list_thumb li {
	width: 31%;
	float: left;
	position: relative;
	margin-right: 3.5%;
	margin-bottom: 3.5%;
	background-color: #FFFFFF;
	-webkit-transition: all .3s;
	transition: all .3s;
	
	background-image: url(../images/more_green.svg);
	background-position: left 30px bottom 30px;
	background-size: 47px 9px;
	background-repeat: no-repeat;
	
	
}
.service_list_thumb li a {
	text-decoration: none;
	color: #000000;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	padding-bottom: 70px;
	
}
.service_list_thumb li:nth-child(3n) {
	margin-right: 0%;
}
.service_list_thumb img {
    width: 100%;
	height: auto;
    object-fit: cover;
}
.service_list_thumb li:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
/*--------------------------
 SERVICE CHARS
----------------------------*/
@media screen and (min-width:768px) and ( max-width:1120px) {
.service_list_thumb li figcaption {
	padding-top: 20px;
	padding-left: 10%;
	padding-right: 10%;
}
.service_list_title {
	font-size: 1.7vw;
	line-height: 2.8vw;
	letter-spacing: 0.05em;
	padding-bottom: 20px;
}
.service_list_thumb li p {
	font-size: 1.4vw;
	line-height: 2.4vw;
}
}
@media screen and (min-width:1120px) {
.service_list_thumb li figcaption {
	padding-top: 20px;
	padding-left: 30px;
	padding-right: 30px;
}
.service_list_title {
	font-size: 20px;
	line-height: 28px;
	letter-spacing: 0.05em;
	padding-bottom: 20px;
}
.service_list_thumb li p {
	font-size: 16px;
	line-height: 24px;
}
}
/*--------------------------
 BUTTON SIDE
----------------------------*/
@media screen and (min-width:768px) and ( max-width:1120px) {
.button_side_wrapper {
	padding-left: 30px;
	padding-right: 10px;
}
}
@media screen and (min-width:1120px) {
.button_side_wrapper {
	padding-left: 4%;
}
}
.button_side_wrapper {
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
/*--------------------------
 BUTTON SIDE ORANGE
----------------------------*/
.button_side_orange {
	width: 240px;
	background-color: #E6821E;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.05em;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button_side_orange::after {
    content: "";
    display: block;
    clear: both;
}
.button_side_orange a {
	text-decoration: none;
	color: #FFFFFF;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;

	padding-left: 20px;
	background-image: url(../images/arrow_white.svg);
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 10px auto;
}
.button_side_orange:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
/*--------------------------
 BUTTON SIDE ARCHIVES
----------------------------*/
.button_side_archives {
	width: 240px;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.05em;
	border: 1px solid #00A45A;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button_side_archives::after {
    content: "";
    display: block;
    clear: both;
}
.button_side_archives a {
	text-decoration: none;
	color: #00A45A;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;

	padding-left: 20px;
	background-image: url(../images/arrow_green.svg);
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 10px auto;
}
.button_side_archives:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
/*--------------------------
 BUTTON SIDE ABOUT
----------------------------*/
.button_side_about {
	width: 240px;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.05em;
	border: 1px solid #000000;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button_side_about::after {
    content: "";
    display: block;
    clear: both;
}
.button_side_about a {
	text-decoration: none;
	color: #000000;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;

	padding-left: 20px;
	background-image: url("../images/arrow_gray.svg");
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 10px auto;
}
.button_side_about:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
/*--------------------------
 BUTTON SIDE COMPANY
----------------------------*/
.button_side_company {
	width: 240px;
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.05em;
	border: 1px solid #FFFFFF;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button_side_company::after {
    content: "";
    display: block;
    clear: both;
}
.button_side_company a {
	text-decoration: none;
	color: #FFFFFF;
	-webkit-transition: all .3s;
	transition: all .3s;
	display: block;
	padding-top: 10px;
	padding-bottom: 10px;

	padding-left: 20px;
	background-image: url("../images/arrow_white.svg");
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 10px auto;
}
.button_side_company:hover {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
}
/*--------------------------
 TOPICS NANAME
----------------------------*/
.topics_naname_wraper {
	z-index: 10;	
}
.topics_naname_up {
	margin-top: -50px;		
}
.topics_naname {
	/*clip-path: polygon(0 0, 0 100%, 100% 0);*/
	/*clip-path: polygon(100% 0, 0 0, 100% 100%);*/
	/*clip-path: polygon(0 100%, 100% 100%, 0% 0%, 0 0%);*/
	clip-path: polygon(0% 100%, 100% 0%, 100% 100%);
	background-color: #FFFFFF;
	height: 100px;
	width: 100%;
	position: absolute;
	bottom: 0px;
}
/*--------------------------
 HOME TOPICS
----------------------------*/
#HOME_TOPICS {
    padding-bottom: 40px;
}
@media screen and (min-width:769px) and ( max-width:1120px) {
.home_topics_wrapper {
    position: relative;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
	padding-top: 40px;
	padding-bottom: 60px;
}
}
@media screen and (min-width:1120px) {
.home_topics_wrapper {
	position: relative;
	width: 1120px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 40px;
	padding-bottom: 40px;
}
}

.home_topics_ol_wrapper {

}
.home_topics_title {
    font-size: 18px;
    line-height: 26px;
    text-align: center;
    letter-spacing: 0.05em;
    padding-top: 30px;
    padding-bottom: 25px;
}

#HOME_TOPICS ol {

}
#HOME_TOPICS ol li {
    background-color: #FFFFFF;
    margin-bottom: 5px;
}
#HOME_TOPICS ol li a {
	text-decoration: none;
	color: #000;
	-webkit-transition: all .3s;
	transition: all .3s;
	padding-top: 18px;
	padding-bottom: 25px;
	display: block;
	min-height: 33px;
	background-image: url(../images/arrow_gray.svg);
	background-repeat: no-repeat;
	background-position: right 30px center;
	background-size: 15px auto;
}
#HOME_TOPICS ol li a:hover {
    text-decoration: none;
    color: #CCCCCC;
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    
}
#HOME_TOPICS ol li p  {
	font-size: 16px;
    line-height: 24px;
    margin-top: -25px;
    padding-right: 60px;
	margin-left: 430px;
}
#HOME_TOPICS ol li time  {
    color: #bbbbbb;
    font-size: 34px;
    line-height: 40px;
    letter-spacing: 0.02em;
    margin-left: 40px;
}

.home_topics_cate  {
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.02em;
	display: block;
	padding-top: 5px;
	padding-bottom: 5px;
	margin-left: 280px;
	margin-top: -33px;
	width: 120px;
	text-align: center;
}

/*--------------------------
 HOME TOPICS COLOR CHANGE
----------------------------*/
.htccol01  {
	background-color: #00a45a;
	color: #FFFFFF!important;
}
.htccol02  {
    background-color: #2f72ab;
	color: #FFFFFF!important;
}
.htccol03  {
    background-color: #ff9566;
	color: #FFFFFF!important;
}
.htccol04  {
    background-color: #a2a2a2;
	color: #FFFFFF!important;
}
/*--------------------------
 ABOUT NANAME
----------------------------*/
.about_naname_wraper {
	z-index: 10;	
}
.about_naname {
	/*clip-path: polygon(0 0, 0 100%, 100% 0);*/
	clip-path: polygon(100% 0%, 0% 0%, 100% 100%);
	/*clip-path: polygon(0 100%, 100% 100%, 0% 0%, 0 0%);*/
	/*clip-path: polygon(0% 100%, 100% 0%, 100% 100%);*/
	background-color: #FFFFFF;
	height: 100px;
	width: 100%;
	position: absolute;
	top: 0px;
}
/*--------------------------
 ABOUT US WRAPPER
----------------------------*/
.home_about_wrapper {
	padding-bottom: 50px;
	position: relative;
	padding-top: 30px;
}
/*--------------------------
 ABOUT US
----------------------------*/
@media screen and (min-width:768px) and ( max-width:1300px) {
.home_about {
	text-align: center;
}
}
@media screen and (min-width:1300px) {
.home_about {
	width: 1120px;
	margin-left: auto;
	margin-right: auto;
}
}

.home_about_p {
	font-size: 18px;
	line-height: 38px;
	letter-spacing: 0.05em;
	padding-top: 40px;
	padding-bottom: 50px;
}
/*--------------------------
 COMPANY NANAME
----------------------------*/
.company_naname_wraper {
	z-index: 10;	
}
.company_naname {
	/*clip-path: polygon(0 0, 0 100%, 100% 0);*/
	clip-path: polygon(100% 0%, 0% 0%, 100% 100%);
	/*clip-path: polygon(0 100%, 100% 100%, 0% 0%, 0 0%);*/
	/*clip-path: polygon(0% 100%, 100% 0%, 100% 100%);*/
	background-color: #FFFFFF;
	height: 100px;
	width: 100%;
	position: absolute;
	top: 0px;
}
/*--------------------------
 COMPANY
----------------------------*/
.home_company_wrapper {
	background-image: url(../images/home_company_back.jpg);
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	position: relative;
	padding-bottom: 50px;
}
@media screen and (min-width:768px) and ( max-width:1300px) {
.home_company {
	text-align: center;
}
}
@media screen and (min-width:1300px) {
.home_company {
	width: 1120px;
	margin-left: auto;
	margin-right: auto;
}
}

.home_company_p {
	font-size: 18px;
	line-height: 38px;
	letter-spacing: 0.05em;
	padding-top: 40px;
	padding-bottom: 50px;
}
/*--------------------------
 COMPANY IPAD
----------------------------*/
.home_company_wrapper_ipad {
	background-image: url(../images/home_company_back.jpg);
	/*background-attachment: fixed;*/
	background-size: cover;
	background-position: center;
	position: relative;
	padding-bottom: 50px;
}
/*--------------------------
 SDGs
----------------------------*/
@media screen and (min-width:768px) and ( max-width:900px) {
.home_sdgs_wrapper {
	width: 700px;
	height: 165px;
}
}
@media screen and (min-width:900px) {
.home_sdgs_wrapper {
	width: 820px;
	height: 185px;
}
}
.home_sdgs_wrapper {
	background-image: url(../images/transparent90.png);
	background-repeat: repeat;
	background-position: center center;
	background-size: cover;
	padding-top: 30px;
	padding-bottom: 30px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50pt;
	margin-bottom: 50px;
	position: relative;
	padding-left: 40px;
	padding-right: 30px;
}
@media screen and (min-width:768px) and ( max-width:900px) {
.home_sdgs_title {
	width: 338px;
}
.home_sdgs_title img {
	width: 100%;
	height: auto;
}
.home_sdgs_07 {
	width: 60px;
	position: absolute;
	top: 100px;
	left: 40px;
}
.home_sdgs_07 img {
	width: 100%;
	height: auto;
}
.home_sdgs_p {
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0.02em;
	width: 260px;
	position: absolute;
	top: 95px;
	left: 125px;
}
.home_sdgs_17 {
	width: 305px;
	position: absolute;
	top: 30px;
	right: 40px;
}
.home_sdgs_17 img {
	width: 100%;
	height: auto;
}
}
@media screen and (min-width:900px) {
.home_sdgs_title {
	width: 378px;
	position: absolute;
	top: 40px;
	left: 50px;
}
.home_sdgs_title img {
	width: 100%;
	height: auto;
}
.home_sdgs_07 {
	width: 80px;
	position: absolute;
	top: 120px;
	left: 50px;
}
.home_sdgs_07 img {
	width: 100%;
	height: auto;
}
.home_sdgs_p {
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0.02em;
	position: absolute;
	top: 122px;
	left: 155px;
	width: 320px;
}
.home_sdgs_17 {
	width: 335px;
	position: absolute;
	top: 40px;
	right: 50px;
}
.home_sdgs_17 img {
	width: 100%;
	height: auto;
}
}
