/**************************************************************************************/
/**************************************************************************************/
/* PC Site*/
/**************************************************************************************/
/**************************************************************************************/


.top_fv_section{
	width : 100% ;
	padding-bottom : 170px ;
	background-color: #F4F4F4 ;
}
.top_fv_superbox{
	width : 100% ;
	/** max-width : 1680px ; **/
	/** height : 780px ; **/
	height : 100vh ;
	margin : 0px auto ;
}

.top_fv_left{
	/**
	float : left ;
	width : calc( 100% - 600px );
	**/
	position: absolute ;
	top : 50% ;
	left : 0% ;
	transform: translate(0%,-50%);
	width : 100% ;
	padding-top : 0px ;
	padding-right : 0px ;
	z-index: 1 ;
	opacity: 0 ;
}
.top_fv_left_sp{
	width : 100% ;
	padding-top : 200px ;
	z-index: 1 ;
	opacity: 0 ;
}

.top_fv_logo01{
	top : 20px ;
	width : 100% ;
	max-width : 380px ;
	margin : 0px auto ;
	opacity: 0 ;
}
.top_fv_logo02{
	top : 20px ;
	width : 100% ;
	max-width : 380px ;
	margin : 20px auto 0px ;
	opacity: 0 ;
}

.top_fv_left_catch{
	top : 20px ;
	text-align: center ;
	font-size : 19px ;
	color : #666666 ;
	margin-top : 20px ;
	font-style: italic;
	font-weight: 700 ;
	opacity: 0 ;
}

.top_logo_taisei{
	top : 20px ;
	width : 180px ;
	margin : 84px auto 0px ;
	opacity: 0 ;
}

.top_fv_right{
	position: absolute ;
	top : 0% ;
	right : 0% ;
	width : 600px ;
	height: 100vh ;
	z-index: 1 ;
	opacity: 0;
}


.top_fv_sdgs{
	top : -30px ;
	width : 33.3% ;
	height : 16.6% ;
	opacity : 0 ;
	/** cursor: pointer; **/
}

.top_fv_sdgs_wrap{
	position: absolute ;
	top : 50% ;
	left : 50% ;
	width : calc( 100% - 12px ) ;
	height : calc( 100% - 12px ) ;
	transform: translate(-50%,-50%);
	overflow: hidden ;
}

.sdgs01{	background-color: #E4001E !important;		}
.sdgs02{	background-color: #D7A600 !important;		}
.sdgs03{	background-color: #00963B !important;		}
.sdgs04{	background-color: #C60F28 !important;		}
.sdgs05{	background-color: #E73819 !important;		}

.sdgs06{	background-color: #00A6D8 !important;		}
.sdgs07{	background-color: #F9BC00 !important;		}
.sdgs08{	background-color: #960B30 !important;		}
.sdgs09{	background-color: #EC6A02 !important;		}
.sdgs10{	background-color: #DC007A !important;		}
/** .sdgs10{	background-color: #d60e6d !important;		}  **/

.sdgs11{	background-color: #F4A100 !important;		}
.sdgs12{	background-color: #D29100 !important;		}
.sdgs13{	background-color: #417935 !important;		}
.sdgs14{	background-color: #0076BA !important;		}
.sdgs15{	background-color: #25A739 !important;		}

.sdgs16{	background-color: #004C87 !important;		}
.sdgs17{	background-color: #003067 !important;		}
.sdgs18{
	background-image : url("../images/sdgs18_back.png" ) ;
	background-size : cover ;
}
















.top_fv_sdgs_inner{
	position: absolute ;
	top : 0% ;
	left : 0% ; 
	width : 100% ;
	height : 100% ;
	background-color: #FFFFFF ;
	z-index: 2 ;
}

.top_fv_sdgs_illust{
	position: absolute ;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	object-fit: contain;
}

.top_fv_sdgs_turn{
	position: absolute;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	overflow: none ;
	left : -100% ;
}
.top_fv_sdgs_turn_wrap{
	position: absolute;
	top : 50% ;
	left : 0% ;
	width : 100% ;
	z-index: 2 ;
	color: #FFFFFF ;
	text-align: center ;
	transform: translate(0%,-50%);
}
.top_fv_sdgs_turn_num{
	font-size : 30px ;
	line-height: 40px ;
	font-weight: 700 ;
	font-style: italic ;
}
.top_fv_sdgs_turn_catch{
	font-size : 12px ;
	margin-bottom : 20px ;
	font-weight : 700 ;
}

.top_fv_sdgs_turn18{
	position: absolute ;
	top : 50% ;
	left : 50% ;
	width : 90% ;
	max-width: 188px ;
	transform: translate(-50%,-50%);
}

.top_fv_sdgs_ol{
	position: absolute;
	top : 0%;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	background-color: rgba(0,0,0,0.7);
	z-index: 4 ;
	color : #FFFFFF ;
	display: none ;
}

.top_fv_sdgs_ol_wrap{
	display: table-cell ;
	vertical-align: middle ;
	width : 200px ;
	height : 130px ;
	z-index: 2 ;
	color: #FFFFFF ;
	text-align: center ;
	padding : 6px ;
}


.top_fv_circle_title{
	width : 380px ;
	margin : 112px auto 0px ;
	left : 20px ;
}

.top_think_superbox{
	width : 100% ;
	padding : 0px 40px ;
	max-width: 1080px ;
	margin : 188px auto 0px ;
}



.top_think_titlebox{
	width : 542px ;
	margin : 0px auto ;
	left : 20px ;
}


.top_title_think01{
	float : left ;
	width : 334px ;
}
.top_title_think02{
	float : left ;
	width : 208px ;
}

.top_think_story{
	width : 100% ;
	max-width : 740px ;
	font-size : 16px ;
	line-height: 42px ;
	margin : 52px auto 52px ;
	
}
.top_think_story p{
	margin-bottom : 60px ;
	left : 20px ;
}

.top_fv_circle{
	width : 100% ;
	max-width : 900px ;
	margin : 110px auto 0px ;
	left : 20px ;
}

.top_action_superbox{
	width : 100% ;
	padding : 152px 0px 140px ;
	margin : 0px auto ;
}

.top_action_titlebox{
	left : 20px ;
	width : 802px ;
	margin : 0px auto ;
}
.top_title_action01{
	float : left ;
	width : 424px ;
}
.top_title_action02{
	float : left ;
	width : 378px ;
}

.top_action_subtitle{
	text-align: center ;
	margin-top : 20px ;
	font-size : 22px ;
	font-weight: 400 ;
	left : 20px ;
}

.top_action_inner{
	width : 100% ;
	max-width : 1080px ;
	padding : 90px 40px 0px ;
	margin : 0px auto ;
}

.top_action_itembox_l{
	left : 20px ;
	width : 100% ;
	margin : 0px auto 0px ;
	padding-bottom : 120px ;
}

.top_action_itembox_l_image{
	width : 100% ;
	height : 506px ;
	overflow: hidden ;
	border-radius: 24px ;
	z-index: 1 ;
}
.top_action_itembox{
	left : 20px ;
	width : 48% ;
	max-width : 480px ;
	margin : 100px auto 0px ;
	padding-bottom : 120px ;
}
.top_action_itembox_dummy{
	width : 48% ;
	max-width : 480px ;
	height : 1px ;
}
.top_action_itembox.nobtn{
	padding-bottom: 0px ;
}

.top_action_itembox_image{
	width : 100% ;
	height : 248px ;
	overflow: hidden ;
	border-radius: 16px ;
	z-index: 1 ;
}

.top_action_itemimage_wrap{
	position: absolute ;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	z-index: 1 ;
}
.top_action_itemimage_wrap img{
	position: absolute;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	object-fit: cover ;
}

.top_action_item_title{
	margin-top : 24px ;
	font-size : 22px ;
	font-weight: 700 ;
}

.top_action_item_story{
	font-size: 16px ;
	margin-top : 12px ;
}

.top_action_item_cate{
	color : #666666 ;
	font-size: 12px ;
	padding-left : 30px ;
	margin-top : 10px ;
}
.top_action_item_catebar{
	position: absolute ;
	top : 50% ;
	left : 0% ;
	width : 24px ;
	height : 1px ;
	background-color: #666666 ;
}

.top_action_item_link{
	position: absolute ;
	bottom : 0px ;
	left : 50% ;
	transform: translate(-50%,0%);
	width : 186px ;
	height : 50px ;
	line-height: 48px ;
	text-align: center ;
	font-size : 13px;
	border : 1px solid #AAAAAA ;
	color : #AAAAAA ;
	border-radius: 25px ;
	z-index: 1 ;
	background-color: #FFFFFF ;
}

.top_action_item_arrow{
	position: absolute ;
	top : 50% ;
	right : 20px ;
	width : 8px ;
	height : 8px ;
	border-top : 1px solid #AAAAAA ;
	border-right : 1px solid #AAAAAA ;
	transform : translate(0% ,-50%) rotate(45deg);
}




.top_coming_section{
	width : 100% ;
	background-color: #F4F4F4 ;
	padding : 140px 0px 156px ;
}

.top_title_coming{
	left : 20px ;
	width : 363px ;
	margin : 0px auto ;
}

.top_coming_subtitle{
	left : 20px ;
	text-align: center ;
	font-size : 26px ;
	font-weight: 700 ;
	color : #333333 ;
}

.top_coming_subtitle span{
	color : #62D569 ;
}


.top_comming_inner{
	width : 100% ;
	max-width : 1080px ;
	padding : 0px 40px 0px ;
	margin : 0px auto ;
}





#footer{
	width : 100% ;
	padding: 110px 0px 80px ;
	background-color: #666666 ;
}


.footer_inner{
	width : 100% ;
	max-width: 1080px;
	padding : 0px 40px ;
	margin : 0px auto ;
}

.footer_logo{
	float : left ;
	width : 216px ;
}

.footer_catch{
	float : right ;
	width : 244px ;
}


.top_snavi_news{
	position: fixed ;
	top : 180px ;
	left : 20px ;
	font-size : 12px ;
	width : 20px ;
	height : 100px ;
	writing-mode: vertical-rl;
	color : #666666 ;
	z-index: 41 ;
}
.top_snavi_sdgs{
	position: fixed ;
	top : 300px ;
	left : 20px ;
	font-size : 12px ;
	width : 20px ;
	height : 180px ;
	writing-mode: vertical-rl;
	color : #666666 ;
	z-index: 41 ;
}
.top_snavi_about{
	position: fixed ;
	top : 480px ;
	/** top : 180px ; **/
	left : 20px ;
	font-size : 12px ;
	width : 20px ;
	height : 180px ;
	writing-mode: vertical-rl;
	color : #666666 ;
	z-index: 41 ;
}
.top_snavi_contact{
	position: fixed ;
	top : 660px ;
	/** top : 360px ; **/
	left : 20px ;
	font-size : 12px ;
	width : 20px ;
	height : 180px ;
	writing-mode: vertical-rl;
	color : #666666 ;
	z-index: 41 ;
}


.ul_snavibox_wrap{
	position: fixed ;
	top : 0% ;
	left : 0% ;
	width : 80px ;
	height : 80px ;
	background-color: #FFFFFF ;
	z-index: 48 ;
}



.top_snavibox{
	position: fixed ;
	top : 20px ;
	left : 24px ;
	width : 36px ;
	height : 36px ;
	z-index: 48 ;
	cursor: pointer;
}

.top_snavi_bar01{
	position: absolute ;
	top : 4px ;
	left : 0px ;
	width : 100% ;
	height : 4px ;
	overflow: hidden ;
}
.top_snavi_bar02{
	position: absolute ;
	bottom : 4px ;
	left : 0px ;
	width : 100% ;
	height : 4px ;
	overflow: hidden ;
}
.top_snavi_bar03{
	position: absolute ;
	top : 50% ;
	left : 0px ;
	width : 100% ;
	height : 4px ;
	overflow: hidden ;
	transform: translate(0%,-50%);
}

.top_snavi_bar01_inner{
	position: absolute;
	top : 0% ;
	right : 6px ;
	width : 120% ;
	height : 100% ;
	transform-origin: right top ;
	transform: skewX(-15deg);
	background-color: #878787;
}
.top_snavi_bar02_inner{
	position: absolute;
	top : 0% ;
	right : 12px ;
	width : 120% ;
	height : 100% ;
	transform-origin: right top ;
	transform: skewX(-15deg);
	background-color: #878787;
}
.top_snavi_bar03_inner{
	position: absolute;
	top : 0% ;
	right : 0px ;
	width : 120% ;
	height : 100% ;
	transform-origin: right top ;
	transform: skewX(-15deg);
	background-color: #878787;
}

.top_snavi_superbox{
	position: fixed;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 0% ;
	z-index: 44 ;
	background-color: #E2E2E2 ;
	overflow: hidden ;
}
.top_snavi_innerbox{
	position: absolute ;
	top : 50% ;
	left : 50% ;
	width : 100% ;
	max-width: 1000px;
	transform: translate(-50%,-50%);
}

.top_snavi_left{
	float : left ;
	width : 50% ;
}
.top_snavi_right{
	float : left ;
	width : 50% ;
}

.top_snavi_inneritem{
	font-size : 20px ;
	color : #666666 ;
	padding : 30px 0px 30px 50px ;
}

.top_snavi_inneritem_bar{
	position: absolute;
	top : 50% ;
	left : 0% ;
	width : 40px ;
	height : 1px ;
	background-color: #666666 ;
}

.top_snavi_logo01{
	width : 380px ;
	margin : 0px auto ;
}
.top_snavi_logo02{
	width : 380px ;
	margin : 12px auto 0px ;
}
.top_snavi_logo03{
	width : 128px ;
	margin : 60px auto 0px;
}




.top_snavi_catch{
	text-align: center ;
	font-size : 19px ;
	color : #FFFFFF ;
	margin-top : 20px ;
	font-style: italic;
	font-weight: 700 ;
}







#header{
	position: fixed;
	top : 0px ;
	left : 0px ;
	width : 100% ;
	height : 100px ;
	z-index: 42 ;
	background-color: #868686 ;
	padding:  40px 0px;
}

.header_dummy{
	width : 100% ;
	height : 100px ;
	z-index: 1 ;
}
.header_link{
	float : right ;
	width : auto;
	height : 20px ;
	line-height : 20px ;
	color : #FFFFFF ;
	font-size : 13px ;
	margin-right : 40px ;
}


.header_logo{
	position: absolute ;
	top : 50% ;
	left : 40px ;
	width : 300px ;
	transform: translate(0%,-50%);
}

.news_firstimagebox_wrap{
	width : 100% ;
	background-color: #FFFFFF ;
}
.news_firstimagebox{
	width : 100% ;
	max-width: 1000px ;
	margin : 0px auto ;
	/** height : 400px ; **/
	height : auto ;
}
.news_firstimagebox img{
	width : 100% ;
	/**
	height : 100% ;
	object-fit: cover ;
	**/
}

.news_section{
	width : 100% ;
	padding : 100px 0px 134px ;
	background-color: #F4F4F4 ;
}

.news_inner{
	width : 100% ;
	max-width: 1080px ;
	padding : 0px 40px ;
	margin : 0px auto ;
}


.news_datebox{
	font-size: 12px ;
	color : #666666
}
.news_datebox span{
	padding-left : 32px ;
}

.news_title {
	font-size : 30px;
	font-weight: 700 ;
	color : #333333 ;
	margin-top : 30px ;
}

.news_title_h3 {
	font-size : 24px;
	font-weight: 700 ;
	color : #333333 ;
	margin-top : 30px ;
}

.news_contents{
	font-size : 16px ;
	line-height: 45px ;
	color : #333333 ;
	line-break:strict;
word-break:break-word;
overflow-wrap:break-word;
word-wrap:break-word;
}

.news_contents p{
	margin-top : 40px ;
}
.news_contents img{
	width : auto ;
	max-width : 100% ;
	margin : 40px auto 0px ;
}
.news_newsec{
	margin-top : 140px ;
}




.news_blackbold{
   	position: relative;
	font-size : 30px ;
	font-weight: 700 ;
	color : #333333 ;
	margin-top : 10px ;
}
.news_greenbold{
	position: relative;
	font-size : 30px ;
	font-weight: 700 ;
	color : #32B33B ;
	margin-top : 130px ;
	padding-left : 56px ;
}
.news_greenbold::before{
	position: relative;
	position: absolute ;
	top : 50% ;
	left : 0% ;
	transform: translate(0%,-50%);
	width : 36px ;
	height : 1px ;
	background-color: #999999;
	content : " " ;
}


.news_contents blockquote{
	display: block ;
	box-sizing: border-box ;
	width : 100% ;
	padding : 36px 36px 1px ;
	background-color: #FFFFFF ;
	margin : 40px 0px 0px ;
}
.news_contents blockquote p{
	margin-top : 0px ;
	margin-bottom : 35px ;
}


.news_lastimage{
	width : 100% ;
	max-width : 1000px ;
	margin : 100px auto ;
}

.news_other_title{
	width : 560px ;
	margin : 0px auto ;
}

.news_other_subtitle{
	text-align: center ;
	margin-top :30px ;
	font-size : 22px;
}

/** 画像横並び **/
.two_img {
	display: flex;
	align-items: flex-end;
}
.two_img_left {
	margin-right: 10px;
}
.two_img_right {
	margin-left: 10px;
}



.contact_title{
	width : 266px ;
	margin : 0px auto ;
}





.contact_subtitle{
	left : 20px ;
	text-align: center ;
	font-size : 26px ;
	font-weight: 700 ;
	color : #333333 ;
	margin : 22px 0px 0px ;
}


.contact_superbox{
	width : 100% ;
	max-width: 800px ;
	margin : 90px auto 0px;
}

.mailform_item{
	width : 100% ;
	margin-top : 36px ;
	font-size: 16px ;
}
.mailform_item_s{
	width : 48% ;
	max-width: 380px ;
	margin-top : 36px ;
	font-size: 16px ;
}

.musticon{
	padding : 2px 4px ;
	background-color: #F7931E ;
	color : #FFFFFF ;
	margin-left : 8px ;
}




.mailform_input{
	display: block ;
	position: relative;
	box-sizing: border-box ;
	width : 100% ;
	height : 70px ;
	background-color: #FFFFFF ;
	color : #333333 ;
	padding : 0px 20px ;
	border : 1px solid #FFFFFF ;
	margin-top : 10px;
	z-index: 4 ;
	-webkit-appearance : none ;
}

.mailform_textarea::placeholder,
.mailform_input::placeholder {
  color: #CCCCCC ;
}


#mailform_company_notice,
#mailform_name01_notice,
#mailform_name02_notice,
#mailform_mail_notice,
#mailform_q_notice,
#mailform_agree_notice{
	color : #F70101 ;
	margin-top : 4px ;
	display: none;
	z-index: 4 ;
}


.mailform_textarea{
	display: block ;
	position: relative;
	box-sizing: border-box ;
	width : 100% ;
	height : 270px ;
	background-color: #FFFFFF ;
	color : #333333 ;
	padding : 10px 20px  ;
	border : 10px solid #FFFFFF ;
	margin-top : 10px;
	-webkit-appearance : none ;
	z-index: 4 ;
}

.mailform_submit{
	position: relative;
	display: block ;
	box-sizing: border-box ;
	width : 150px ;
	height : 48px;
	text-align: center ;
	font-size : 16px ;
	background-color: #62D569 ;
	border : 1px solid #62D569 ;
	margin : 64px auto 0px ;
	color : #333333 ;
	cursor: pointer;
	-webkit-appearance : none ;
	z-index: 4 ;
}






.contact_privacy{
	width : 100% ;
	text-align: center ;
	font-size: 15px ;
	margin-top: 64px ;
}
.contact_privacy a,
.contact_privacy a:link,
.contact_privacy a:visited{
	color : #62D569 ;
}

.contact_agree{
	width : 100% ;
	text-align: center ;
	font-size: 15px ;
	margin-top: 64px ;
}

.contact_agree label{
	cursor: pointer;
}
















.mailform_result_superbox{
	position: fixed;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	z-index : 51 ;
	display : none ;
}

.mailform_result_background{
	position: absolute;
	top : 0% ;
	left : 0% ;
	width : 100% ;
	height : 100% ;
	background-color: rgba(0,0,0,0.8);
	z-index : 52 ;
	cursor: pointer ;
}

.mailform_result_contents{
	position: absolute ;
	top : 50% ;
	left : 50% ;
	transform : translate( -50% , -50% );
	width : 600px ;
	height : auto ;
	padding : 40px ;
	background-color: #E0E0E0 ;
	border-radius: 16px ;
	z-index: 1 ;
	box-shadow: 0px 0px 4px rgba(0,0,0,0.25) ;
	z-index : 54 ;
	color : #2B2B2B ;
}
.mailform_result_title{
	text-align : center ;
	font-size : 24px ;
	font-weight : 700 ;
	letter-spacing: 10px 
}
.mailform_result_story{
	margin-top : 40px ;
	font-size : 15px ;
}
.mailform_result_story p{
	margin-bottom : 20px ;
}
.mailform_result_story a,
.mailform_result_story a:link,
.mailform_result_story a:visited{
	color : #2B2B2B ;
	font-weight : 700 ;
}

.mailform_result_done{
	width : 100% ;
	height : 60px ;
	line-height : 60px ;
	text-align : center ;
	font-size : 20px ;
	font-weight : 700 ;
	color : #62D569 ;
	background-color: #2B2B2B ;
	margin : 80px auto 0px;
	cursor: pointer ;
}


























































@media screen and (max-width: 1200px) {



}


/**************************************************************************************/
/**************************************************************************************/
/* TB Site*/
/**************************************************************************************/
/**************************************************************************************/
@media screen and (max-width: 1000px) {








.top_fv_section{
	padding-bottom : 120px ;
}
.top_fv_superbox{
	height : auto ;
}

.top_fv_left{
	float : none ;
	width : 100% ;
	padding : 334px 0px  52px ;
}
.top_fv_left_sp{
	padding : 334px 0px  52px ;
}

.top_fv_logo01{
	max-width : 440px ;
}
.top_fv_logo02{
	max-width : 440px ;
	margin : 20px auto 0px ;
}

.top_fv_left_catch{
	font-size : 22px ;
}

.top_logo_taisei{
	top : 20px ;
	margin : 250px auto 0px ;
}

.top_fv_right{
	position: relative;
	top : auto ;
	right : auto ;
	float : none ;
	width : 100% ;
	height : auto ;
	max-width : 750px ;
	margin : 0px auto ;
}


.top_fv_sdgs{
	/** width : 250px ; **/
	height : 162px ;
}

.top_fv_sdgs_wrap{
}


.top_fv_sdgs_inner{
	/** height : 150px ; **/
}

.top_fv_sdgs_illust{
}

.top_fv_sdgs_turn{
	/** width : 238px ; **/
	/** height : 150px ; **/
}
.top_fv_sdgs_turn_wrap{
	/** width : 238px ; **/
	/** height : 150px ; **/
}
.top_fv_sdgs_turn_num{
}
.top_fv_sdgs_turn_catch{
}

.top_fv_sdgs_turn18{
	/** max-width: 238px ; **/
}

.top_fv_sdgs_ol{
}

.top_fv_sdgs_ol_wrap{
	/** width : 350px ; **/
	/** height : 162px ; **/
}



.top_think_superbox{
	padding : 0px 50px ;
	margin : 130px auto 0px ;
}



.top_think_titlebox{
	width : 100% ;
}


.top_title_think01{
	float : none ;
	width : 400px ;
	margin : 0px auto ;
}
.top_title_think02{
	float : none ;
	width : 266px ;
	margin : 0px auto 0px ;
}

.top_think_story{
	font-size : 24px ;
	line-height: 48px ;
}

.top_action_superbox{
	width : 100% ;
	padding : 120px 0px 140px ;
}

.top_action_titlebox{
	width : 100%;
}
.top_title_action01{
	float : none ;
	width : 424px ;
	margin : 0px auto ;
}
.top_title_action02{
	float : none ;
	width : 378px ;
	margin : 0px auto ;
}

.top_action_subtitle{
	font-size : 30px ;
}

.top_action_inner{
	padding : 90px 50px 0px ;
}

.top_action_itembox_l{
	padding-bottom : 100px ;
}

.top_action_itembox_l_image{
	height : 328px ;
}
.top_action_itembox{
	width : 100% ;
	max-width : 1000px ;
	margin : 100px auto 0px ;
	padding-bottom : 100px ;
}
.top_action_itembox_dummy{
	width : 100% ;
	max-width : 1000px ;
}
.top_action_itembox.nobtn{
}

.top_action_itembox_image{
	height : 328px ;
}

.top_action_itemimage_wrap{
}
.top_action_itemimage_wrap img{
}

.top_action_item_title{
	margin-top : 30px ;
	font-size : 36px ;
}

.top_action_item_story{
	font-size: 24px ;
	margin-top : 16px ;
}

.top_action_item_cate{
	font-size: 18px ;
}
.top_action_item_catebar{
}

.top_action_item_link{
	width : 270px ;
	height : 76px ;
	line-height: 74px ;
	font-size : 18px;
	border-radius: 38px ;

}

.top_action_item_arrow{
	width : 12px ;
	height : 12px ;
}




.top_coming_section{
	padding : 100px 0px 100px ;
}

.top_title_coming{
}

.top_coming_subtitle{
	left : 20px ;
	font-size : 30px ;
}

.top_coming_subtitle span{
}


.top_comming_inner{
	padding : 0px 50px 0px ;
}





#footer{
	padding: 52px 0px 52px ;
}


.footer_inner{
	padding : 0px 50px ;
}

.footer_logo{
	width : 280px ;
}

.footer_catch{
	width : 280px ;
}


.top_snavi_sdgs{
}
.top_snavi_about{
}
.top_snavi_contact{
}


.top_snavibox{
	transform-origin: left top ;
	transform: scale(1.5);
}
.ul_snavibox_wrap .top_snavibox{
	top : 13px ;
	left : 13px ;
}



.top_snavi_bar01{
}
.top_snavi_bar02{
}
.top_snavi_bar03{
}

.top_snavi_bar01_inner{
}
.top_snavi_bar02_inner{
}
.top_snavi_bar03_inner{
}

.top_snavi_superbox{
}
.top_snavi_innerbox{
}

.top_snavi_left{
	float : none ;
	width : 100% ;
}
.top_snavi_right{
	float : none ;
	width : 100% ;
	margin-top : 100px ;
}

.top_snavi_inneritem{
	width : 400px ;
	margin : 0px auto ;
	font-size : 30px ;
	padding : 30px 0px 30px 50px ;
	text-align: center ;
}

.top_snavi_inneritem_bar{
}

.top_snavi_logo01{
}
.top_snavi_logo02{
}
.top_snavi_logo03{
}




.top_snavi_catch{
}







#header{
	height : 80px ;
	padding:0px;
}

.header_dummy{
	height : 80px ;
}
.header_link{
}


.header_logo{
	top : 50% ;
	left : 50% ;
	transform: translate(-50%,-50%);
}

.news_firstimagebox{
	/** height : 240px ; **/
}
.news_firstimagebox img{
}

.news_section{
	padding : 90px 0px 70px ;
}

.news_inner{
	padding : 0px 50px ;
}


.news_datebox{
	font-size: 18px ;
}
.news_datebox span{
}




.news_title{
	font-size : 36px ;
	margin-top : 20px ;
}

.news_contents{
	font-size : 26px ;
	line-height: 48px ;
}

.news_contents p{
	margin-top : 50px ;
}
.news_contents img{
	margin : 50px auto 0px ;
}
.news_blackbold{
	font-size : 36px ;
	margin-top : 70px ;
}
.news_greenbold{
	font-size : 36px ;
	margin-top : 70px ;
}
.news_greenbold::before{
}


.news_contents blockquote{
	padding : 30px 30px 1px ;
	margin : 50px 0px 0px ;
}
.news_contents blockquote p{
	margin-bottom : 29px ;
}


.news_lastimage{
	width : calc( 100% - 100px ) ;
	max-width : 650px ;
	margin : 50px auto ;
}

.news_other_title{
}

.news_other_subtitle{
	font-size : 30px;
}




.contact_title{
	width : 320px ;

}

.contact_subtitle{
	font-size : 30px ;
}



.contact_superbox{
	padding : 0px 50px ;
}

.mailform_item{
	margin-top : 50px ;
	font-size: 20px ;
}
.mailform_item_s{
	margin-top : 50px ;
	font-size: 20px ;
}

.musticon{
}




.mailform_input{
	height : 100px ;
	margin-top : 16px;
}

.mailform_textarea::placeholder,
.mailform_input::placeholder {
}


#mailform_company_notice,
#mailform_name01_notice,
#mailform_name02_notice,
#mailform_mail_notice,
#mailform_q_notice,
#mailform_agree_notice{
	margin-top : 10px ;
}


.mailform_textarea{
	height : 400px ;
	margin-top : 16px;
}

.mailform_submit{
	width : 300px ;
	height : 80px;
	font-size : 30px ;
}






.contact_privacy{
	font-size: 20px ;
}
.contact_privacy a,
.contact_privacy a:link,
.contact_privacy a:visited{
}

.contact_agree{
	font-size: 20px ;
}

.contact_agree label{
	
}

.mailform_check{
	transform: scale(1.5);
}






.mailform_result_superbox{
}

.mailform_result_background{
}

.mailform_result_contents{
}
.mailform_result_title{
	font-size : 30px ;
}
.mailform_result_story{
	font-size : 20px ;
}
.mailform_result_story p{
	margin-bottom : 40px ;
}
.mailform_result_story a,
.mailform_result_story a:link,
.mailform_result_story a:visited{
}

.mailform_result_done{
	height : 80px ;
	line-height : 80px ;
	color: red;
}













}

.fukidashi {
	display: flex;
	justify-content: space-between;
	margin: 30px 0;
}

.fukidashi .icon {
	margin: 0 auto;
	width: 10%;
}
.fukidashi .icon > img {
	max-width: 70px;
	margin: 0;
}

.fukidashi .icon-right {
	margin: 0 auto;
	width: 10%;
	text-align: right;
	color: #FF917D;
}
.fukidashi .icon-right > img {
	max-width: 70px;
	margin: 0;
	margin-left: auto;
}






.fff{
	width: 88%;
  position: relative;
  padding: 20px;
  background-color: #fff;
  border: 2px solid #000;
	line-height: 1.75;
	border-radius: 13px;
}



.fff::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -35px;
  top: 20px;
  border-right: 35px solid #000;
  border-top: 3px solid transparent;
  border-bottom: 34px solid transparent;
}
.fff::after{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: -31px;
  top: 21px;
  border-right: 35px solid #fff;
  border-top: 3px solid transparent;
  border-bottom: 34px solid transparent;
}


.fff-right{
	width: 88%;
  position: relative;
  padding: 20px;
  background-color: #fff;
  border: 2px solid #FF917D;
	line-height: 1.75;
	border-radius: 13px;
	color: #FF917D;
}

.fff-right::before{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -36px;
  top: 20px;
  border-left: 35px solid #FF917D;
  border-top: 3px solid transparent;
  border-bottom: 34px solid transparent;
}
.fff-right::after{
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  right: -32px;
  top: 21px;
  border-left: 35px solid #fff;
  border-top: 3px solid transparent;
  border-bottom: 34px solid transparent;
}


@media screen and (max-width: 500px) {
  .fukidashi {
    display: block;
  }

  .fff {
    width: 100%;
    font-size:16px;
  }

  .fff::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 32px;
    top: -20px;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #333;
    border-left: 0px solid transparent;
  }
  .fff::after{
        content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: 33px;
    top: -16px;
    border-right: 15px solid transparent;
    border-bottom: 15px solid #fff;
    border-left: 1px solid transparent;
  }
  
  .icon {
    display: flex;
    margin-bottom: 10px;
    align-items: center;
  }

  .fukidashi .icon {
   margin: 0;
   width: 100%;
   margin-bottom: 20px;
  }

  .fukidashi p {
    font-size: 18px;
    padding-left: 10px;
  }

  .fukidashi .icon-right > img {
    max-width: 60px;

  }




  .fukidashi-right {
    display: flex;
    flex-direction: column;
  }


  .fff-right{
  width: 100%;
  position: relative;
  padding: 20px;
  background-color: #fff;
  border: 2px solid #FF917D;
  line-height: 1.75;
  border-radius: 13px;
  color: #FF917D;
  order:2;
  font-size:16px;
}

.fff-right::before{
       content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: 32px;
    top: -20px;
    border-right: 0px solid transparent;
    border-bottom: 15px solid #FF917D;
    border-left: 15px solid transparent;
}
.fff-right::after{
      content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: 33px;
    top: -16px;
    border-right: 0px solid transparent;
    border-bottom: 15px solid #fff;
    border-left: 15px solid transparent;
}

.fukidashi .icon-right {
  margin: 0;
   width: 100%;
   margin-bottom: 20px;
  color: #FF917D;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.icon-right p {
  font-size:18px;
  padding-right: 10px;
}

.icon-right {
  order:1;
}
.fukidashi .icon-right > img {
  max-width: 70px;
  margin: 0;
order:2;
}


/** 画像縦並び **/
.two_img {
	display: block;
}

}

/* 水平線 */
hr.style1 {
  border-top: 1px solid #8c8b8b;
}

/* リンク */
.link_blue a {
	color : blue!important;
}
.link_blue a:hover{
	color : dodgerblue!important;
}
.link-text {
	color : blue!important;
}
.link-text:hover{
	color : dodgerblue!important;
}

/*蛍光ペン*/
.highlight_yellow {
	text-decoration: underline;
	text-decoration-thickness: 1.5em;
	text-decoration-color: #ffff00;
	text-underline-offset: -1.2em;
	text-decoration-skip-ink: none;
}
.highlight_blue {
	text-decoration: underline;
	text-decoration-thickness: 1.5em;
	text-decoration-color: #00ffff;
	text-underline-offset: -1.2em;
	text-decoration-skip-ink: none;
}
.highlight_gray {
	text-decoration: underline;
	text-decoration-thickness: 1.5em;
	text-decoration-color: #e8e8e8;
	text-decoration-skip-ink: none;
}
.box-profile {
	background: white;
	padding: 20px;
	margin-top: 20px;
	width: fit-content;
	border-radius: 10px;
}
.box-pink-white {
	background: white;
	padding: 20px;
	margin-top: 20px;
	width: 100%;
	border: 20px solid #ffe7f9;
	border-radius: 30px;
}

/* 投稿記事トンマナ01 */
.post-01 h2 {
	font-size: 28px;
	margin: 80px 0px 20px 0px;
}
.post-01 p {
	margin-top: 0px;
}
.post-01 img {
	width: 100%;
}
.post-01 .interviewer {
	font-style: italic;
	font-weight: bold;
	margin: 60px 0px 10px 0px;
}
.post-01 .interviewer-top {
	margin-top: 0px!important;
}