@charset "utf-8";
/* CSS Document */

#main h1.title_middle {
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.4;
	padding-top: 0.8em;
	margin-bottom: 1.5rem;
	border-top: #e6e6e6 4px solid;
	letter-spacing: 0.04em;
}


h1 .title_red{
	color: #e6002d;
}
h1 .sub_title{
	font-size: 1rem;
	white-space: nowrap;
}

.observe_body{
	font-size: 0.875rem;
	line-height: 1.9;
}

/*component*/

.c-red_txt{
	color: #E6002D;
}
.c-small{
	font-size: 90%;
}
.c-bold{
	font-weight: 600;
}

.c-grayBox{
	background-color: #ededed;
	padding: 0.6rem 1rem;
	border-radius: 6px;
}
.c-attentionBox{
	background-color: #fff;
	padding: 0.6rem 1rem;
	border-radius: 6px;
	box-sizing: border-box;
	border: #E6002D 1px solid;
}

.c-icon_stop{
	padding: 0.5em;
	margin: 0 0.5em;
	border-radius: 4px;
	background: #555;
	color: #fff;
	line-height: 1;
}

.c-icon_new{
	display: block;
	background: #E6002D;
	line-height: 1;
	color: #fff;
	font-size:0.8125rem;
	letter-spacing: 0.05em;
	border-radius:3px;
	padding: 0.5em 0;
	margin: 0.5em 0;
}
.c-icon_comp--full{
	display: block;
	background: #fff;
	line-height: 1.2;
	font-size:0.8125rem;
	letter-spacing: 0.05em;
	color: #E6002D;
	border: #E6002D 1px solid;
	border-radius:3px;
	padding: 0.3em 0;
	margin: 0.5em 0 0;
	font-weight: 400;
}
.c-icon_comp{
	display: block;
	background: #f0f0f0;
	line-height: 1.2;
	font-size:0.8125rem;
	letter-spacing: 0.05em;
	color: #212121;
	border: #ccc 1px solid;
	border-radius:3px;
	padding: 0.3em 0;
	margin: 0.5em 0 0;
	font-weight: 400;
}

/*---------------
	component
----------------*/
.c-address{
	font-size: 0.8125rem;
	line-height: 1.4;
}
.c-required{
	color: #E6002D;
}
.c-note{
	margin: 0.5em 0;
}
.c-center{
	text-align: center;
}

.c-mb--1{
	margin-bottom: 1.25rem;
}

/*p-heading*/
.p-label{
	background-color: #ededed;
	font-size: 1rem;
	line-height: 1;
	padding: 0.5em 1em;
	border-radius: 1.1em;
	letter-spacing: 0.06em;
}
div#main h3.p-area_label{
	background: none;
	margin-bottom: 0.5em;
	margin-left: -0.6em;
}
h3.p-area_label::before{
	content: "● ";
	color: #E6002D; 
}

/*p-lede*/
.p-lede{
	display: flex;
	justify-content: space-between;
}

.p-lede__txt{
	flex: 0 0 auto;
	width: 360px;
	line-height: 2.25;
}
.p-lede__img{
	flex: 0 0 auto;
	width: 340px;
	margin-top: -10px;
}

.p-update_area{
	margin: 1em 0 0;
	padding: 0.8em 0 0;
	border-top: #ccc 1px solid;
	line-height: 1.9;
}
.p-update_area ul.list{
	margin-left: 1em;
	margin-bottom: 0;
}
div#main .p-update_area h3.p-update__title{
	margin: 0;
	padding: 0;
	background: none;
}
div#main .p-update_area h3.p-update__title::before{
	content: "";
	display: inline-block;
	height: 1em;
	width: 0.3em;
	background-color: #E6002D;
	vertical-align: -0.1em;
	margin-right: 0.5em;
}
.p-update_area a{
	text-decoration: none;
}
.p-update_area a:hover{
	text-decoration: underline;
}

/*p-overview__list*/
.p-overview{
	padding: 0 1rem;
}
.p-overview__list{
	display: flex;
	flex-wrap: wrap;
}
.p-overview__list dt{
	width: 15%;
	margin-bottom: 0.6em;
}
.p-overview__list dd{
	width: 85%;
	margin-bottom: 0.6em;
}

.p-overview__list.c-line dt,
.p-overview__list.c-line dd{
	border-top: #d5d5d5 1px solid;
	padding-top: 0.625rem;
}

.p-overview__list__sublist{
	display: flex;
	flex-wrap: wrap;
	font-size: 0.875rem;
}
.p-overview__list__sublist dt{
	width: 14%;
}
.p-overview__list__sublist dd{
	width: 86%;
}

.p-attention__list{
	display: flex;
	flex-wrap: wrap;
	border: none !important;
	font-size: 0.875rem;
}

.p-contactForm dl.p-attention__list{
	padding: 0;
	margin-bottom: 0;
}

.p-attention__list dt{
	width: 14%;
}
.p-attention__list dd{
	width: 86%;
}

ul.list li{
	margin-bottom: 0em;
}

/*table*/
.p-site_list{
	width: 100%;
	box-sizing: border-box;
	font-size: 0.8125rem;
	border-collapse: collapse; border-spacing: 0;
}
.p-site_list th,
.p-site_list td{
	border: #b5b5b5 1px solid;
	padding: 0.6em 0.2em;
	line-height: 1.6;
	box-sizing:content-box;
}

.p-site_list th{
	font-weight: 600;
	background-color: #f4f4f4;
	text-align: center;
}

.p-num{
	width: 3rem;
	text-align: center;
}
td.p-num{
	font-size: 1.125rem;
	line-height: 1;
	font-weight: 600;
	color: #E6002D;
}
.p-place{
	position: relative;
}
.p-day{
	width: 6rem;
	text-align: center;
}
.p-total{
	width: 4rem;
	text-align: center;
}
.p-site_tag{
	display: block;
	position: absolute;
	top:0.6em;
	right: 0.6em;
	width: 5rem;
	font-size: 0.75rem;
	/*border: #ccc 1px solid;*/
	border-radius: 1.1em;
	padding: 0.5em 0.2em;
	line-height: 1.1;
	box-sizing: border-box;
	text-align: center;
	color: #333;
	background-color: #ededed;
}

/*.p-place content*/
.p-site_name{
	font-weight: 600;
	font-size: 0.875rem;
	padding-left: 0.5em;
	margin-bottom: 0.3em;
	padding-right: 5rem;
}
.p-detail{
	padding-left: 5em;
	text-indent: -3em;
	padding-right: 1rem;
	color: #333;
}

/*p-out*/

.p-out td{
	background-color: #e6e6e6;
}
.p-out td.p-place{
	position: static; /*IE Bug*/
}
.p-out td.p-num{
	color: #888888;
}
.p-finished{
	color: #bcbcbc;
	background-color: #e6e6e6;
	background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,.4) 2px, rgba(255,255,255,.4) 6px);
}

/*p-pdf_dl*/
.p-pdf_dl{
	margin: 1.5rem 0 -1rem;
	padding-top: 1rem;
	border-top: #ccc 1px solid;
	display: flex;
	justify-content: center;
}

/*p-contact_btn*/

.p-contact_btn_area{
	text-align: center;
	/*padding: 1.5rem 0 0;*/
	margin-bottom: 1.5rem;
}
a.p-contact_btn{
	display: inline-block;
	width: auto;
	box-sizing: border-box;
	border: #FFCB74 2px solid;
	border-radius: 6px;
	background-color: #F9F6D0;
	font-size: 1.25rem;
	font-weight: bold;
	color: #212121;
	line-height: 1;
	padding: 1.25rem 2.5rem;
	text-decoration: none;
	box-shadow: 1px 2px 10px -1px rgba(0,0,0,0.4);
	position: relative;
	transition: all 0.3s;
}
a.p-contact_btn::after{
	content: "";
	display: block;
	position: absolute;
	top:8px;
	right: 10px;
	width: 10px;
	height: 10px;
	background: url(/common/image/icon_blank.gif) no-repeat left top;
}
/*a.p-contact_btn:hover::after{
	background: url(/common/image/icon_blank_wh.gif) no-repeat left top;
}*/
.p-contact_btn:hover{
	background-color: #F3EDA2;
	border-color: #E6002D;
}
.p-contact_btn span.c-small{
	display: block;
	font-size: 0.8125rem;
	line-height: 1;
	margin-top: 0.75em;
}

span.p-contact_btn.comp{
	display: inline-block;
	width: auto;
	box-sizing: border-box;
	border: #e6e6e6 2px solid;
	border-radius: 6px;
	background-color: #f4f4f4;
	font-size: 1.25rem;
	font-weight: bold;
	color: #c6c6c6;
	line-height: 1;
	padding: 1.75rem 3.75rem;
	text-decoration: none;
	position: relative;
	margin-top: 1.25rem;
}

.p-comp_mess{
	display: inline-block;
	width: 18em;
	padding: 0.5rem 0;
	line-height: 1;
	
	/*color: #bcbcbc;*/
	background-color: #444;
	background-image: repeating-linear-gradient(45deg, transparent, transparent 2px, rgba(255,255,255,.1) 2px, rgba(255,255,255,.1) 6px);
	
	/*background-color: #666;*/
	color: #fff;
	font-size: 0.9375rem;
	font-weight: bold;
	border-radius: 1.5rem;
	position: absolute;
	top:-1.5rem;
	left: 50%;
	margin-left: -9em;
	white-space: nowrap;
}

/*p-tel_contact_area*/
.p-tel_contact_area{
	margin: 2rem 0;
	padding-top: 2rem;
	border-top: #ccc 1px solid;
}
.p-tel_contact_box{
	border: #e6e6e6 2px solid;
	padding: 1.2rem 2rem;
	border-radius: 0.8rem;
}

.p-tel_contact{
	display: flex;
	width: 100%;
}
.p-tel_contact dt{
	flex: 0 0 auto;
	width: 20%;
	font-weight: 600;
}
.p-tel_contact dd{
	flex: 0 0 auto;
	width: 80%;
}


/*  contact_body  */

.p-contactForm dl{
	margin: 0 0 1rem;
	padding: 1rem 0 0;
	border-top: #ccc 1px solid;
	display: flex;
	justify-content:space-between;
}

.p-contactForm__sectionTitle{
	flex: 0 0 auto;
	width:25%;
}
.p-contactForm__sectionBody{
	flex: 0 0 auto;
	width:75%;
}

/*formElem*/
textarea{display: block;}
form input.txt,
form textarea {
	border:#CCCCCC 1px solid;
}

form input.txt.hover,
form textarea.hover {
	background-color:#f4f4f4;
}

form input.txt.focus,
form textarea.focus {
	background-color:#f4f4f4;
	border:#000099 1px solid;
}

form label {
	cursor:pointer;
}
.p-contactForm input.txt {
	padding:3px;
	cursor:text;
}

.p-formItem{
	display: flex;
	justify-content: flex-start;
	margin-bottom: 1rem;
}
.p-formItem .c-cellLabel{
	flex: 0 0 auto;
	width: 6em;
}


.p-btnArea{
	/*display: flex;
	justify-content: center;
	align-items:center;*/
	margin: 2rem 0 2rem;
	border-top:#ccc 1px solid;
	padding-top: 1em;
	text-align: center;
}
.p-btnArea .txt{
	text-align: center;
	/*flex: 0 0 auto;
	text-align: left;
	width: auto;
	margin-right: 1rem;*/
}
.p-btnArea input{
	display: inline-block;
	width: 8rem;
	text-align: center;
	margin: 1rem 0.5rem;
	padding:0.8rem 0;
	font-size: 0.9325rem;
	cursor:pointer;
	letter-spacing: 0.5em;
	border-radius: 4px;
	background: #fff;
	border: #E6002D 1px solid;
	line-height: 1;
	box-shadow: 1px 2px 10px -1px rgba(0,0,0,0.4);
}
.p-btnArea input:hover{
	background-color: #f0f0f0;
}

a.p-mail_contact_btn{
	display: inline-block;
	padding: 0.5rem 30px 0.5rem 42px;
	line-height: 1;
	background: url(/sustainability/social_contribution/observe/summer/image/mail_icon.png) no-repeat 6px 50%;
	border-radius: 4px;
	background-size: 30px auto;
	text-decoration: none;
	color: #1d3994;
	transition: all 0.3s;
}
a.p-mail_contact_btn:hover{
	background-color: #f0f0f0;
	color: #CC0033;
}


/*utility*/

.u-v_middle{
	vertical-align: middle;
}
.u-nomargin{
	margin: 0 !important;
}

/*sp*/

.sp .u-spNone{display: none;}
.sp .observe_body{
	font-size: 0.8125rem;
}
.sp .p-overview__list.c-line dt{
	width: 4.5rem;
}
.sp .p-overview__list.c-line dd{
	width: calc(100% - 4.5rem);
	padding-left: 0px !important;
}
.sp .p-lede{
	display: block;
}
.sp .p-lede__txt{
	width: 100%;
}
.sp .p-lede__img{
	width: 75%;
	margin: 1.5rem auto;
}

.sp .p-attention__list{
	display: block;
}
.sp .p-attention__list dt,
.sp .p-attention__list dd{
	width: 100%;
	padding-left: 0px !important;
}
.sp .p-tel_contact_box{
	padding: 1rem 1.25rem;
}
.sp .p-tel_contact{
	display: block;
}
.sp .p-tel_contact dt,
.sp .p-tel_contact dd{
	width: 100%;
	padding-left:0px !important; 
}

@media print{
	#main{
		float: none;
	}
	.p-contact_btn_area{
		display: none;
	}
}

