@charset "UTF-8";

/* ---------------------------- #p-top_vision ----------------------------  */

/* #p-top_vision */

#p-top_vision{
	
}

.p-top_vision{
	position: relative;
	height: 100vh;
}

.p-top_vision_in,
.p-top_vision_content{
	height: 100%;
}

.p-top_vision_in{
	overflow: visible;
}

.p-top_vision_block{
	height: 100%;
	display: flex;
	align-items: center;
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}

.p-top_vision_block_in{
	max-width: 1100px;
	width: 100%;
}

.p-top_title01{
	/*font-size: min(9.375vw,75px);*/
	font-size: 75px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.66;
	white-space: nowrap;
}

.p-top_title01_in{
	display: block;
}

.p-top_title01_text{
	display: inline-block;
	vertical-align: bottom;
	transition: opacity 0.6s ease 0s,transform 0.6s ease 0s;
	opacity: 0;
	transform: translate(0px, 10px);
}

.p-top_title01_text.gc-active{
	opacity: 1;
	transform: translate(0px, 0px);
}

@media screen and (max-width: 800px) {
	.p-top_title01{
		font-size: 9.375vw;
	}
}

@media screen and (max-width: 700px) {
	
	.p-top_vision_block{
		align-items: flex-end;
	}
	
	.p-top_title01{
		/*font-size: max(9.333vw,30px);*/
		font-size: 9.333vw;
		line-height: 1.966;
	}
	
	.p-top_vision_block{
		padding-top: 0px !important;
		padding-bottom: 38.66vw !important;
	}
	
}

@media screen and (max-width: 320px) {
	.p-top_title01{
		font-size: 30px;
	}
	.p-top_vision_block{
		padding-bottom: 124px !important;
	}
}

/* .p-top_scroll_area */

.p-top_scroll_area{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	color: #c5c5c5;
	white-space: nowrap;
	display: flex;
	justify-content: center;
}

.p-top_scroll_wrap{
	
}

.p-top_scroll_link{
	display: block;
	text-decoration: none !important;
}

.p-top_scroll{
	
}

.p-top_scroll_text{
	font-size: 13px;
	line-height: 0.8;
	margin: 0 0 9px 0;
	font-family: "futura-pt", sans-serif;
	font-weight: 500;
}

.p-top_scroll_obj_wrap{
	display: flex;
	justify-content: center;
}

.p-top_scroll_obj{
	position: relative;
	height: 57px;
	width: 1px;
}

.p-top_scroll_obj_bg{
	position: absolute;
	left: 0;
	background-color: #c5c5c5;
	width: 100%;
	height: 100%;
	animation: p-top_scroll 1.0s infinite linear;
}

@keyframes p-top_scroll {
	0%{
		height: 0;
		top: 0;
		bottom: auto;
	}
	49%{
		height: 100%;
		top: 0;
		bottom: auto;
	}
	50%{
		height: 100%;
		top: auto;
		bottom: 0;
	}
	51%{
		height: 100%;
		top: auto;
		bottom: 0;
	}
	100%{
		height: 0;
		top: auto;
		bottom: 0;
	}
}

@media screen and (max-width: 700px) {
	.p-top_scroll_text{
		font-size: 11px;
	}
}

/* ---------------------------- #p-top01 ----------------------------  */

#p-top01{
		padding-top: 120px;
		padding-bottom: 110px;
}

#p-top01 .m-title01{
	z-index: 3;
	margin-bottom: 32px;
}

@media screen and (max-width: 700px) {
	#p-top01{
		padding-top: 110px;
		padding-bottom: 100px;
	}
	
	#p-top01 .m-title01{
		margin-bottom: 35px;
	}
}

/* .p-top01_lead_wrap */

.p-top01_lead_wrap{
	position: relative;
	margin: 0 0 51px 0;
}

.p-top01_lead{
	position: relative;
	text-align: center;
	z-index: 2;
}

.p-top01_lead_bg_wrap{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 1em;
}

.p-top01_lead_bg{
	white-space: nowrap;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	font-size: 145px;
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	line-height: 0.8;
	letter-spacing: 0.05em;
	color: #f2f2f2;
}

@media screen and (max-width: 700px) {
	.p-top01_lead_bg_wrap{
		bottom: 2.2em;
	}
	.p-top01_lead_bg{
		font-size: 105px;
	}
}

/* .p-top01_grath01 */

.p-top01_grath01{
	
}

@media screen and (max-width: 700px) {
	
}

/* ---------------------------- #p-top02 ----------------------------  */

#p-top02{
	background: linear-gradient(to bottom, #f5edef 0%,#eceff5 100%);
	padding-top: 120px;
	padding-bottom: 100px;
}

#p-top02 .m-title01{
	margin-bottom: 67px;
}

@media screen and (max-width: 700px) {
	#p-top02{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#p-top02 .m-title01{
		margin-bottom: 55px;
	}
}

/* .p-top02_block01 */

.p-top02_block01{
	margin: 0 0 90px 0;
}


.p-top02_block01 .m-title02{
	margin-bottom: 24px;
}

.p-top02_block01_in{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.p-top02_block01_img{
	width: 48.5%;
}

.p-top02_block01_img img{
	width: 100%;
	height: auto;
}

.p-top02_block01_list_wrap{
	
}

.p-top02_block01_list{
	display: flex;
	margin: 0 -10px 0 0;
}

.p-top02_block01_list_item{
	flex-grow: 1;
	padding: 0 10px 0 0;
	width: 33.333%;
}

.p-top02_block01_list_item:nth-child(1) .p-top02_block01_list_item_in{
	padding-top: 0;
}

.p-top02_block01_list_item:nth-child(2) .p-top02_block01_list_item_in{
	padding-top: 25.8%;
}

.p-top02_block01_list_item:nth-child(3) .p-top02_block01_list_item_in{
	padding-top: 51.6%;
}

.p-top02_block01_list_item_obj{
	box-shadow: 5px 11px 10.01px 0.99px rgba(0, 0, 0, 0.05); 
}

.p-top02_block01_text{
	width: 46%;
}

.p-top02_block01_text_lead{
	
}

@media screen and (max-width: 700px) {
	.p-top02_block01{
		margin: 0 0 76px 0;
	}
	
	.p-top02_block01 .m-title02{
		margin-bottom: 24px;
	}

	.p-top02_block01_img{
		width: 100%;
		margin: 0 0 35px 0;
	}

	.p-top02_block01_list_item:nth-child(1) .p-top02_block01_list_item_in{
		padding-top: 0;
	}

	.p-top02_block01_list_item:nth-child(2) .p-top02_block01_list_item_in{
		padding-top: 25.0%;
	}

	.p-top02_block01_list_item:nth-child(3) .p-top02_block01_list_item_in{
		padding-top: 50.0%;
	}

	.p-top02_block01_list_item_obj{
		box-shadow: 5px 11px 10.01px 0.99px rgba(0, 0, 0, 0.05); 
	}

	.p-top02_block01_text{
		width: 100%;
	}

	.p-top02_block01_text_lead{

	}
}

/* .p-top02_block02 */

.p-top02_block02{

}

.p-top02_block02 .m-title02{
	margin-bottom: 25px;
}

.p-top02_block02_in{
	
}

.p-top02_block02_text,
.p-top02_block02_btn{
	float: left;
	width: 51%;
}

.p-top02_block02_img{
	float: right;
	width: 48%;
}

.p-top02_block02_btn{
	margin:  44px 0 0 0;
}

@media screen and (max-width: 700px) {
	
	.p-top02_block02_in{
		display: block;
		flex-wrap: wrap;
	}
	
	.p-top02_block02 .m-title02{
		margin-bottom: 25px;
	}
	
	.p-top02_block02_text,
	.p-top02_block02_btn,
	.p-top02_block02_img{
		float: none;
	}
	
	.p-top02_block02_text{
		width: 100%;
		margin: 0 0 30px 0;
		order: 1;
	}

	.p-top02_block02_img{
		width: 100%;
		order: 2;
	}
	
	.p-top02_block02_btn{
		width: 100%;
		order: 3;
		margin: 28px 0 0 0;
	}
	
}

/* ---------------------------- #p-top03 ----------------------------  */

#p-top03{
	padding-top: 120px;
	padding-bottom: 130px;
}

.p-top03_block_area{
	margin: 0 0 60px 0;
}

.p-top03_block_wrap{
	margin: 0 0 50px 0;
}

.p-top03_block_wrap:last-child{
	margin-bottom: 0;
}

.p-top03_block{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

.p-top03_block_img{
	width: 40%;
	box-shadow: 5px 11px 10.01px 0.99px rgba(0, 0, 0, 0.05); 
}

.p-top03_block_img img{
	width: 100%;
}

.p-top03_block_text{
	width: 55%;
}

.p-top03_block_wrap:nth-child(2n) .p-top03_block_img{
	order: 2;
}

.p-top03_block_wrap:nth-child(2n) .p-top03_block_text{
	order: 1;
}

.p-top03_block_text .m-title02{
	margin-bottom: 14px;
}

.p-top03_block_text_lead{
	
}

@media screen and (max-width: 700px) {
	
	#p-top03{
		padding-top: 100px;
		padding-bottom: 120px;
	}

	.p-top03_block_area{
		margin: 0 0 45px 0;
	}

	.p-top03_block_wrap{
		margin: 0 0 62px 0;
	}
	

	.p-top03_block_img{
		width: 100%;
		box-shadow: 2px 5px 7.28px 0.72px rgba(0, 0, 0, 0.05);
		margin: 0 0 23px 0;
	}

	.p-top03_block_text{
		width: 100%;
	}

	.p-top03_block_wrap:nth-child(2n) .p-top03_block_img{
		order: 1;
	}

	.p-top03_block_wrap:nth-child(2n) .p-top03_block_text{
		order: 2;
	}

	.p-top03_block_text .m-title02{
		margin-bottom: 9px;
	}

	.p-top03_block_text_lead{

	}
	
}

/* ---------------------------- #p-message01 ----------------------------  */

#p-message01{
	
}

.p-message_info{
	
}

/* .p-message_info_text */

.p-message_info_head,
.p-message_info_text{
	float: left;
	width: calc(100% - 410px);
	padding: 0 60px 0 0;
}

.p-message_info_head{
	margin: 0 0 35px 0;
}

.p-message_info_head .m-title02{
	margin: 0;
}

.p-message_info_text{
	
}

.p-message_info_text_lead_wrap{
	
}

.p-message_info_text_lead{
	margin: 0 0 11px 0;
}

.p-message_info_text_lead:last-child{
	margin-bottom: 0;
}

/* .p-message_info_vision */

.p-message_info_vision{
	float: right;
	width: 410px;
}

.p-message_info_profile{
	max-width: 410px;
	margin: 0 auto;
}

.p-message_info_profile_img{
	box-shadow: 0px 2px 11.83px 1.17px rgba(0, 0, 0, 0.14);
}

.p-message_info_profile_img img{
	width: 100%;
}

.p-message_info_profile_text{
	position: relative;
	z-index: 2;
	padding: 0 0 0 50px;
	margin: -80px -50px 0 0;
}

.p-message_info_profile_text_in{
	padding: 37px 30px;
	background-color: #fff;
}

.p-message_info_profile_head{
	display: flex;
	align-items: flex-end;
	line-height: 1;
	font-weight: 700;
	margin: 0 0 18px 0;
}

.p-message_info_profile_title01{
	font-size: 16px;
	margin: 0 20px 0 0;
}

.p-message_info_profile_title02{
	font-size: 24px;
}

.p-message_info_table{
	font-size: 15px;
	line-height: 1.93;
}

.p-message_info_table th{
	white-space: nowrap;
	padding: 0 10px 0 0;
}

@media screen and (max-width: 1160px) {
	
	.p-message_info_profile_text{
		padding: 0 0 0 10px;
		margin: -80px -10px 0 0;
	}
	
	.p-message_info_head,
	.p-message_info_text{
		padding-right: 40px;
	}

}

@media screen and (max-width: 860px) {
	
	.p-message_info_head,
	.p-message_info_text,
	.p-message_info_vision{
		float: none;
		width: 100%;
		padding: 0;
	}
	
	.p-message_info{
		display: flex;
		flex-wrap: wrap;
	}
	
	.p-message_info_head{
		order: 1;
		text-align: center;
	}
	
	.p-message_info_vision{
		order: 2;
		margin: 0 0 37px 0;
	}
	
	.p-message_info_text{
		order: 3;
	}
	
	/* .p-message_info_text */

	.p-message_info_head{
		margin: 0 0 35px 0;
	}

	.p-message_info_text_lead{
		margin: 0 0 11px 0;
	}

	.p-message_info_text_lead:last-child{
		margin-bottom: 0;
	}

	/* .p-message_info_vision */
	
	.p-message_info_profile{
		max-width: 355px;
	}
	
	.p-message_info_profile_text{
		padding: 0 10px;
		margin: -40px 0px 0 0;
	}

	.p-message_info_profile_text_in{
		padding: 32px 15px;
	}

	.p-message_info_profile_head{
		margin: 0 0 11px 0;
	}

	.p-message_info_profile_title01{
		font-size: 14px;
		margin: 0 20px 0 0;
	}

	.p-message_info_profile_title02{
		font-size: 20px;
	}

	.p-message_info_table{
		font-size: 13px;
		line-height: 2.07;
	}

	.p-message_info_table th{
		padding: 0 20px 0 0;
	}
	
}

/* .p-message_grath02 */

.p-message_grath02{
	margin: 70px 0 80px 0;
}

@media screen and (max-width: 700px) {
	.p-message_grath02{
		margin: 113px 0 108px 0;
	}
}

/* .p-message_history */

.p-message_history{
	padding-top: 54px;
	padding-bottom: 78px;
}

.p-message_history .m-title02{
	margin-bottom: 45px;
}

.p-message_history_text_wrap{
	
}

.p-message_history_text{
	margin: 0 0 0 1em;
}

@media screen and (max-width: 700px) {
	.p-message_history{
		padding-top: 42px;
		padding-bottom: 58px;
	}
	.p-message_history .m-title02{
		margin-bottom: 21px;
	}
	.p-message_history table.m-table01 tbody > tr > th{
		margin-bottom: 7px;
	}
}

/* ---------------------------- #p-service01 ----------------------------  */

#p-service01{
	
}

/* .p-service_info01 */

.p-service_info01{
	margin: 0 0 110px 0;
}

.p-service_info01_lead{
	margin: 0 0 40px 0;
	text-align: center;
}

.p-service_info01_obj{
	
}

@media screen and (max-width: 700px) {
	.p-service_info01{
		margin: 0 0 128px 0;
	}
	
	.p-service_info01_lead{
		margin: 0 0 32px 0;
	}
}

/* .p-service_info02 */

.p-service_info02{
	
}

.p-service_info02_in{
	display: flex;
}

.p-service_info02_text{
	width: 42.7%;
	padding: 0 30px 0 0;
}

.p-service_info02_text_lead{
	margin: 0 0 32px 0;
}

.p-service_info02_text_lead:last-child{
	margin-bottom: 0;
}

.p-service_info02_text_lead .m-title03{
	margin: 0 0 0px 0;
}

.p-service_info02_image{
	width: 57.3%;
}

@media screen and (max-width: 700px) {
	.p-service_info02_in{
		flex-wrap: wrap;
	}

	.p-service_info02_text{
		width: 100%;
		padding: 0 0 0 0;
		margin: 0 0 48px 0;
	}

	.p-service_info02_text_lead{
		margin: 0 0 26px 0;
	}

	.p-service_info02_text_lead .m-title03{
		margin: 0 0 0px 0;
	}

	.p-service_info02_image{
		width: 100%;
	}
}

/* ---------------------------- #p-information01 ----------------------------  */

#p-information01{
	
}

/* .p-information_info */

.p-information_info{
	padding-top: 56px;
	padding-bottom: 84px;
}

.p-information_info .m-title02{
	margin-bottom: 33px;
}

@media screen and (max-width: 700px) {
	.p-information_info{
		padding-top: 46px;
		padding-bottom: 53px;
	}
	.p-information_info .m-title02{
		margin-bottom: 28px;
	}
}

/* .p-information_access */

.p-information_access{
	display: flex;
	margin: 100px 0 0 0;
}

.p-information_access_text{
	width: 43%;
	padding: 0 30px 0 0;
}

.p-information_access_text .m-title02{
	margin: 0 0 54px 0;
}

.p-information_access_text_lead{
	margin: 0 0 35px 0;
}

.p-information_access_text_lead:last-child{
	margin-bottom: 0;
}

.p-information_access_text_lead .m-title03{
	margin: 0 0 0px 0;
}

.p-information_access_map{
	width: 57%;
}

.p-information_access_map_in{
	position: relative;
	height: 390px;
	box-shadow: 0px 2px 11.83px 1.17px rgba(0, 0, 0, 0.14); 
}

.p-information_access_map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 700px) {
	.p-information_access{
		flex-wrap: wrap;
		margin: 100px 0 0 0;
	}

	.p-information_access_text{
		width: 100%;
		padding: 0 0 0 0;
		margin: 0 0 54px 0;
	}

	.p-information_access_text .m-title02{
		margin: 0 0 30px 0;
	}

	.p-information_access_text_lead{
		margin: 0 0 15px 0;
	}

	.p-information_access_map{
		width: 100%;
	}

	.p-information_access_map_in{
		height: 340px;
	}
	
}

/* ---------------------------- #p-privacy01 ----------------------------  */


#p-privacy01{
	
}

/* .p-privacy_block_wrap */

.p-privacy_block_wrap{
	margin: 0 0 72px 0;
}

.p-privacy_block_wrap .m-title03{
	margin-bottom: 5px;
}

.p-privacy_block{
	margin: 0 0 26px 0;
}

.p-privacy_block:last-child{
	margin-bottom: 0;
}

.p-privacy_block_text{
	
}

/* .p-privacy_contact */

.p-privacy_contact{
	
}

.p-privacy_contact_title01{
	font-size: 20px;
	font-weight: 700;
}

.p-privacy_contact_in{
	border-top: 1px solid #d7d7d7;
	padding: 12px 0 0 0;
	margin: 12px 0 0 0;
}

.p-privacy_contact_info{
	margin: 30px 0 0 0;
}

.p-privacy_contact_info dl{
	display: table;
}

.p-privacy_contact_info dl > *{
	display: table-cell;
	vertical-align: top;
}

.p-privacy_contact_info dl dt{
	font-weight: 700;
	white-space: nowrap;
}

.p-privacy_contact_info dl dd{
	width: 100%;
}

@media screen and (max-width: 700px) {
	/* .p-privacy_block_wrap */

	.p-privacy_block_wrap .m-title03{
		margin-bottom: 3px;
	}

	/* .p-privacy_contact */
	
	.p-privacy_contact_title01{
		font-size: 18px;
	}

	.p-privacy_contact_in{
		padding: 10px 0 0 0;
		margin: 12px 0 0 0;
	}

	.p-privacy_contact_info{
		margin: 20px 0 0 0;
	}
	
}


/* ---------------------------- #p-portal01 ----------------------------  */

#p-portal01{
	
}

/* .p-portal_news */

.p-portal_news{
	margin: 0  0 115px 0;
}

.p-portal_news_row{
	display: flex;
	justify-content: space-between;
}

.p-portal_news_row > *{
	display: table-cell;
	vertical-align: top;
}

.p-portal_news_row_head{
	padding: 0 30px 0 0;
	white-space: nowrap;
}

.p-portal_news_title01{
	font-size: 23px;
	font-weight: 700;
	line-height: 1;
}

.p-portal_news_row_content{
	max-width: 700px;
	width: 100%;
}

.p-portal_news_list_wrap{
	margin: -3px 0 0 0;
}

.p-portal_news_list{
	display: table;
	width: 100%;
}

.p-portal_news_list_item{
	display: table-row;
	width: 100%;
}

.p-portal_news_list_item > *{
	display: table-cell;
	vertical-align: top;
	padding: 0 0 20px 0;
}

.p-portal_news_list_item:last-child > *{
	padding-bottom: 0;
}

.p-portal_news_list_head{
	white-space: nowrap;
	width: 90px;
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	padding: 2px 0 0 0;
}

.p-portal_news_list_content{
	width: calc( 100% - 90px );
}

@media screen and (max-width: 700px) {
	.p-portal_news{
		margin: 0  0 100px 0;
		padding: 30px 30px;
	}

	.p-portal_news_row{
		display: block;
		width: auto;
	}

	.p-portal_news_row > *{
		display: block;
	}

	.p-portal_news_row_head{
		padding: 0;
		white-space: nowrap;
		margin: 0 0 22px 0;
	}

	.p-portal_news_title01{
		font-size: 20px;
	}

	.p-portal_news_row_content{

	}

	.p-portal_news_list_wrap{
		margin: 0px 0 0 0;
		line-height: 1.78;
	}

	.p-portal_news_list{

	}

	.p-portal_news_list_item{
		display: block;
		width: auto;
		margin: 0 0 10px 0;
	}
	
	.p-portal_news_list_item:last-child{
		margin-bottom: 0;
	}

	.p-portal_news_list_item > *{
		display: block;
		padding: 0;
	}

	.p-portal_news_list_head{
		width: auto;
		margin: 0 0 3px 0;
	}

	.p-portal_news_list_content{
		width: auto;
	}
}

/* .p-portal_list */

.p-portal_list{
	
}

.p-portal_list_item{
	padding: 22px 0;
	border-bottom: 1px solid #d7d7d7;
}

.p-portal_text_wrap{
	display: inline-block;
	vertical-align: middle;
}

.p-portal_text_link{
	display: block;
}

.p-portal_text{
	display: inline-flex;
	align-items: flex-start;
}

.p-portal_text_lead{
	
}

.gc-normal .p-portal_text_link:hover .p-portal_text_lead p{
	text-decoration: underline;
}

.p-portal_text_img{
	margin: 0 0 0 10px;
	padding: 0.3em 0 0 0;
}

.p-portal_icon{
	font-size: 10px;
	letter-spacing: 0.02em;
	line-height: 1;
	position: relative;
	white-space: nowrap;
	padding: 0 0 3px 3px;
}

.p-portal_icon_obj{
	position: relative;
	padding: 4px 4px;
	background-color: #999;
	color: #fff;
	z-index: 2;
	min-width: 34px;
	text-align: center;
}

.p-portal_icon_bar{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 27px;
	height: 11px;
	border-left: 1px solid #999;
	border-bottom: 1px solid #999;
}

.p-portal_icon.type_xls .p-portal_icon_obj{
	background-color: #128986;
}

.p-portal_icon.type_xls .p-portal_icon_bar{
	border-color: #128986;
}

/*
.p-portal_icon.type_doc .p-portal_icon_obj{
	background-color: #128986;
}

.p-portal_icon.type_doc .p-portal_icon_bar{
	border-color: #128986;
}

.p-portal_icon.type_ppt .p-portal_icon_obj{
	background-color: #128986;
}

.p-portal_icon.type_ppt .p-portal_icon_bar{
	border-color: #128986;
}*/

.p-portal_icon.type_pdf .p-portal_icon_obj{
	background-color: #c5090a;
}

.p-portal_icon.type_pdf .p-portal_icon_bar{
	border-color: #c5090a;
}

@media screen and (max-width: 700px) {
	.p-portal_list_item{
		padding: 18px 0;
	}
}
