/* css for BLCRI */

/* z-index map

100 header
 50 contents,footer


*/


html {
	width:100%;

	overflow-x: hidden;
	background-color:#000000;
}
body {
	width: 100%;
	padding: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-text-size-adjust: none;
	-webkit-user-select: default;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	/*text-shadow: 0 1px 1px #000000;*/
	font-size: 14px;
	color:#FFFFFF;

}

body.whitebg {
	background-color:#FFF;
	color:#000;
}

ul,
p,
h3,
form {
	margin: 0;
	padding: 0
}
input {
	outline: none
}
li {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-indent: 0
}
a {
	text-decoration: none;
	color:#FFFFFF;
}

body.whitebg a {
	color:#000;
}
a img {
	border: none
}

figure {
	margin-block-start: 0em;
	margin-block-end: 0em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}

.fbox {
	zoom: 100%;
}

.fbox:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

sup {
	position:relative;
	top:-0.4em;
	font-size:80%;
}

.hd {
	text-indent:-9999px;
}

.alpb {
	font-family: 'Lato', sans-serif;
}

.only_mobile {
	display: none;
}

/* common */
strong { font-weight: bold; }
em { font-style: italic; }
blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}

.aligncenter {
    display: block;
    margin: 20px auto;
}
.alignright {
	float: right;
	margin: 0 0 20px 20px;
}
.alignleft {
	float: left;
	margin: 0 20px 20px 0;
}

.fs_xxl {
	font-size: 50px;
	/*font-size: min( 3vw, 50px );*/
}

.fs_xl {
	font-size: 38px;
	/*font-size: min( 2.1vw, 38px );*/
}

.fs_ll {
	font-size: 24px;
	/*font-size: min( 1.6vw, 24px );*/
}

.fs_large {
	font-size: 20px;
	/*font-size: min( 1.1vw, 20px );*/
}

.fs_mid {
	font-size: 18px;
	/*font-size: min( 1vw, 18px );*/
}

.fs_small {
	font-size: 16px;
	/*font-size: min( 0.94vw, 16px );*/
}

.fs_xs {
	font-size: 10px;
	/*font-size: min( 0.6vw, 10px );*/
}

.fc_white {
	color:#FFFFFF;
}

.center {
	text-align: center;
}

.fc_blue {
	color:#00B7E9;
}

.fw_bold {
	font-weight:bold;
}

.ta_c {
	text-align:center;
}

/* google recaptcha badge removing */
.grecaptcha-badge{
	visibility: collapse !important;
}

/* btn */
.btn_anim {
	background-color: #fff;
	color:#000;
	transition: color .3s, background-color .3s;
}

a:hover .btn_anim,
.opened .btn_anim {
	background-color: #254A20;
	color:#FFF;
	transition: color .3s, background-color .3s;
}

/* header */
header {
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	color:#FFFFFF;
	z-index:200;
	height:calc(1em + 40px);
	line-height: 1em;
}

body.whitebg header,
body.whitebg header a {
	color:#FFFFFF;
}

header.fixed {
	background-color: #254A20;
	position: fixed;
	top:0;
	left:0;
	animation: fadeIn 1s linear 0s 1 normal;
}

@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@keyframes fadeOut {
	0% {opacity: 1}
	100% {opacity: 0}
}

header h1 {
	position: absolute;
	left:2vw;
	top:14px;
}

header h1 a {
	color:#FFFFFF;
	height:30px;
	line-height:30px;
	/*padding-left:40px;
	background:url(../images/blcri_logo_s.png) left center no-repeat;
	background-size:contain;*/
	display:flex;
	gap:10px;
}

header h1 a div#logo {
	width:30px;
	height:30px;
}

header h1 a div#companyname {
	height:30px;
}

header nav {
	position: absolute;
	right:2vw;
	top:20px;
	color:#FFFFFF;
}

header nav a {
	display: inline-block;
	color:inherit;
}

header nav a + a {
	margin-left: 30px;
}

header a#bt_menu {
	display:none;
}

/* slide */
#slide {
	z-index:100;
	position: relative;
	min-height:866px;
}

#slide #logo {
	position:absolute;
	left:70px;
	top:90px;
}

#slide #logo img {
	width:100px;
	height:100px;
	display:block;
}

#slide ul#slide_body {
	display: block;
	width:100%;
	height:66vw;
	max-height:100vh;
	position: relative;
	overflow:hidden;
	min-height:866px;
}

#slide ul#slide_body li {
	display: block;
	width:100%;
	height:calc(66vw);
	max-height:100vh;
	background-size:cover;
	background-repeat:no-repeat;
	background-position: center center;
}

#slide h1 {
	font-family: 'Century';
	color:#FFFFFF;
	position: absolute;
	line-height:1.5em;
	top:calc((66vw - 160px)/2);
	top:-4em;
	bottom:0;
	margin:auto;
	text-align: center;
	width:100vw;
	height:3em;
	display:block;
}

#slide h2 {
	color:#FFFFFF;
	position: absolute;
	line-height:1.5em;
	top:1em;
	bottom:0;
	margin:auto;
	text-align: center;
	width:100vw;
	height:1em;
	display:block;
}

#pickup {
	position:absolute;
	display:block;
	bottom:10px;
	width:100%;
}

#pickup h3,
#pickup h4 {
	text-align:center;
}

#slide ul#pickup_list {
	width:96vw;
	display:none;
	margin:20px 2vw 20px 2vw;
	min-width:calc(1200px - 4vw);
}

.category ul#pickup_list {
	width:100%;
	margin:0 auto;
}

ul#pickup_list li.chip {
	width:calc((100% - 60px)/3);
	margin-right:10px;
	margin-left:10px;
	height:8em;
	float:left;
	position:relative;
	background-color:#CCC;
	color:#000;
}

ul#pickup_list li.chip:hover {
	opacity:0.6;
}

.category ul#pickup_list li.chip {
	margin-bottom:50px;
}

/*
.category ul#pickup_list li.chip:nth-child(3n) {
	margin-right:0;
}
*/


ul#pickup_list li.chip a {
	width:100%;
	height:8em;
	color:#000;
}

#slide ul#pickup_list li.chip:nth-child(even) {
	background-color:#000;
}

#slide ul#pickup_list li.chip:nth-child(even) a {
	color:#FFF;
}


ul#pickup_list li.chip div.image {
	width:50%;
	height:8em;
	background-size: cover;
	background-position:center center;
	background-repeat:no-repeat;
	display:block;
	position:absolute;
	left:0;
	top:0;
}

#slide ul#pickup_list li.chip:nth-child(even) div.image {
	right:0;
	left:auto;
}

ul#pickup_list li.chip div.text_box {
	margin-left:50%;
	padding: 10px 0;
	text-align:center;
	/*white-space: nowrap;*/
	overflow:hidden;
	line-height:1.7em;
}

#slide ul#pickup_list li.chip:nth-child(even) div.text_box {
	margin-left:0;
	margin-right:50%;
}

ul#pickup_list li.chip .ic_new {
	position:absolute;
	display:block;
	left:0;
	top:-2em;
	line-height:1.8em;
	background-color:#7d6e46;
	color:#FFF;
	width:4em;
	height:2.7em;
	border-radius:2em;
	text-align:center;
	padding-top:1.3em;
	opacity:0.9;
}

ul#pickup_list li.chip .ic_new{
	display:none;
}

ul#pickup_list li.chip.new .ic_new{
	display:block;
}

/* slick hack */
#pickup_list .slick-list {
	overflow:visible !important;
}

#pickup_list .slick-dots li button:before {
	color:#FFF !important;
	opacity:1;
}

#pickup_list .slick-dots li.slick-active button:before {
	color:#F00 !important;
	opacity:1;
}

.more {
	display:block;
	width:12em;
	height:2em;
	line-height:2em;
	background-color:#FFF;
	border:1px solid #666;
	margin:40px auto 20px auto;
	text-align:center;
	color:#666;
	font-size:20px;
}

a.more:hover {
	opacity:0.6;
}

.opa:hover {
	opacity:0.6
}

/* contents */
section {
	z-index:50;
	padding:170px 0;
}

section#slide {
	padding: 0;
}

section > h1 {
	text-align: center;
}

div.line {
	width:110px;
	height:1px;
	background-color: #707070;
	margin:20px auto 100px auto;
}

section > div.text {
	width:calc(96vw - 240px);
	margin:0 auto;
}

section div.text a {
	color:rgb(63,139,214);
}

section#headline_sec {
	padding-bottom: 0;
}

#headline_block {
	/*
	position: absolute;
	bottom:1em;
	left:4vw;
	width:92vw;
	overflow:hidden;
	height:4.5em;
	line-height:6em;
	font-size:20px;
	*/
	position:relative;
	width:calc(96vw - 540px);
	margin: 2em auto;
}

#headline_block #ic_cal {
	width:6em;
	height:6em;
	display:block;
	background:url(../images/ic_cal.svg?v3) center center no-repeat;
	background-color:rgba(0,0,0,0.5);
	background-size:5em 5em;
	float:left;
}

#headline {
	float:left;
}

#headline li {
	display:block;
	float:left;
	background-color:rgba(0,0,0,0.5);
	padding:0.25em 1em;
	line-height:1em;
	clear:left;
}

#headline li a {
	color:#FFFFFF;
}

section#mission ul{
	width:calc(96vw - 160px);
	display: block;
	margin:0 auto;
	margin-top: 100px;
}

section#mission ul li {
	display: block;
	float: left;
	width:20%;
}

section#mission ul li div.image {
	width: calc(19.2vw - 112px);
	height: calc(19.2vw - 112px);
	margin:0 auto;
	background-position: center center;
	background-size: cover;
	border-radius: 50%;
}

section#mission ul li a.disabled div.image,
section#mission ul li a.disabled div.title {
	opacity:0.3;
}

section#mission ul li a.disabled {
	cursor:default;
}

section#mission ul li div.title {
	color:#FFFFFF;
	text-align: center;
	margin-top: 20px;
}

section#ceovoice div.text > ul > li::before {
	content:"◎ ";
}

section#ceovoice div.text > ul ul {
	padding-left:2em;
}

section#ceovoice div.text > ul ul li::before {
	content:"・";
}

section#ceovoice div.text figure {
	float:right;
	width:230px;
	margin-left: 100px;
}

section#ceovoice div.text figure img {
	width:230px;
	height:307px;
}

section#ceovoice div.text figure figcaption {
	margin-top: 14px;
	text-align: center;
}

section#ceovoice div.text + div.text {
	margin-top: 100px;
}

/* プロフェッショナルズ */
section#professionals > .text {
	text-align:center;
}

section#professionals ul {
	width: calc(96vw - 160px);
	display: block;
	margin: 0 auto;
	margin-top: 30px;
}

section#professionals ul li {
	width:calc(50% - 40px);
	margin-right:0px;
	margin-bottom:80px;
	float:left;
}

section#professionals ul li:nth-last-child(-n + 2) {
	margin-bottom:0px;
}

section#professionals ul li:nth-child(2n + 1) {
	clear:left;
	margin-right:80px;
}

section#professionals ul li figure {
	width:10vw;
	float:left;
	margin-right:20px;
}

section#professionals ul li figure img {
	width:100%;
}

section#professionals ul li div.text {
	float:left;
	width: calc(100% - 20px - 10vw);
}

section#professionals ul li div.text p + p {
	margin-top:0.8em;
}

section#professionals ul li div.profile h2 {
	margin-bottom:10px;
}

/* Parallax */
section.parallax {
	padding:0;
}

section.parallax>div {
	width:100%;
	height:600px;
}

/* 会社概要 */
section#company dl {
	width:50vw;
	margin: 0 auto;
}

section#company dl dt {
	width:20%;
	float:left;
	margin-bottom: 1em;
	clear:left;
}

section#company dl dd {
	width:80%;
	float:left;
	margin-bottom: 1em;
}

section#company dl dd a {
	color:#FFFFFF;
}

section#serviceline > h2 {
	padding-bottom:5px;
	border-bottom:double 7px #FFF;
	width:50vw;
	margin:0 auto 10px auto;
}

div.text.w50 {
	width:50vw;
}

ul#service_list {
	width:calc(96vw - 240px);
	margin:70px auto 0 auto;
}

ul#service_list li {
	position: relative;
	margin-bottom: 70px;
	width: 100%;
	z-index:30;
}

ul#service_list li:last-child {
	margin-bottom: 0;
}

ul#service_list li figure {
	width:360px;
	height:240px;
	position: absolute;
	left:0;
	top:0;
	z-index:31;
}

ul#service_list li figure img {
	width:360px;
	height:270px;
}

ul#service_list li > div {
	width:calc(100% - 300px);
	margin-left: 300px;
	z-index:32;
	position: relative;
}

ul#service_list li div h2,
ul#service_list li div h3,
ul#service_list li div h4 {
	padding-left: 100px;
}

ul#service_list li div div.data {
	padding-left: 100px;
	position: relative;
}

ul#service_list li div div.description {
	width:100%;
	padding:1em;
	margin-top:1em;
	box-sizing: border-box;
}

ul#service_list li div a.link_lab {
	display: block;
	margin-top: 1em;
	width:calc(50% - 10px);
	height:3em;
	line-height:3em;
	text-align: center;
	color:#FFFFFF;
	font-weight:bold;
	float:left;
}

ul#service_list li div a.link_lab + a.link_lab {
	margin-left:20px;
}

ul#service_list li.living-lab-1 div div.description,
ul#service_list li.living-lab-01 div div.description {
	background-color: rgba(146,136,111,0.8);
}

ul#service_list li.living-lab-1 div a.link_lab,
ul#service_list li.living-lab-01 div a.link_lab {
	background-color: rgba(146,136,111,1);
}

ul#service_list li.living-lab-2 div div.description,
ul#service_list li.living-lab-02 div div.description {
	background-color: rgba(207,85,133,0.8);
}

ul#service_list li.living-lab-2 div a.link_lab,
ul#service_list li.living-lab-02 div a.link_lab {
	background-color: rgba(207,85,133,1);
}

ul#service_list li.living-lab-3 div div.description,
ul#service_list li.living-lab-03 div div.description {
	background-color: rgba(208,180,206,0.8);
}

ul#service_list li.living-lab-3 div a.link_lab,
ul#service_list li.living-lab-03 div a.link_lab {
	background-color: rgba(208,180,206,1);
}

ul#service_list li.living-lab-4 div div.description,
ul#service_list li.living-lab-04 div div.description {
	background-color: rgba(214,215,173,0.8);
}

ul#service_list li.living-lab-4 div a.link_lab,
ul#service_list li.living-lab-04 div a.link_lab {
	background-color: rgba(214,215,173,1);
}

ul#service_list li.living-lab-5 div div.description,
ul#service_list li.living-lab-05 div div.description {
	background-color: rgba(63,139,214,0.8);
}

ul#service_list li.living-lab-5 div a.link_lab,
ul#service_list li.living-lab-05 div a.link_lab {
	background-color: rgba(63,139,214,1);
}

ul#service_list li div a.link_lab.disabled {
	opacity:0.3;
	cursor:default;
}

section#contact a#linkto_contactform {
	width:11em;
	color:#FFFFFF;
	padding-left:52px;
	background:url(../images/ic_letter.jpg) 13px calc(1.5em - 9px) no-repeat;
	background-size: 26px 18px;
	height:3em;
	line-height: 3em;
	display: block;
	border: 2px solid #707070;
	margin:35px auto;
}

/* ラボ報告, プロボノ報告, お役立ちコンテンツ,  */
section#contents_labsreports {
	background:url(../images/bg_top_livinglab.jpg) center center no-repeat;
	background-size:cover;
	padding:130px 0 170px 0;
	color:#000;
}

section#contents_labsreports div {
	width:calc(96vw - 240px);
	margin:0 auto;
	font-weight:bold;
}

section#contents_labsreports div h1 {
	margin-bottom:30px;
}

section#contents_usefulcontents {
	background:url(../images/bg_top_usefulcontents.jpg) center center no-repeat;
	background-size:cover;
	padding:130px 0 170px 0;
	color:#000;
}

section#contents_probonoreports {
	background:url(../images/bg_top_probono.jpg) center center no-repeat;
	background-size:cover;
	padding:130px 0 170px 0;
	color:#000;
}

section#contents_usefulcontents div,
section#contents_probonoreports div {
	width:calc(96vw - 240px);
	margin:0 auto;
	font-weight:bold;
}

section#contents_usefulcontents div h1,
section#contents_probonoreports div h1 {
	margin-bottom:30px;
}

section#contents_labsreports .more,
section#contents_probonoreports .more,
section#contents_usefulcontents .more {
	font-weight:bold;
	padding:20px 60px;
	border:none;
}

ul#usefulcontents_list {
	width:100%;
	margin: 60px 0 60px 0;
	display:flex;
	gap:40px;
	flex-flow: wrap;
}

ul#usefulcontents_list li {
	width:calc((96vw - 360px) / 4);
}

ul#usefulcontents_list li:last-child {
	margin-right:0;
}

ul#usefulcontents_list li a {
	display:block;
}

ul#usefulcontents_list li a div.image {
	width:100%;
	height:calc(((96vw - 360px) / 4) / 1000 * 667);
	display:block;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
}

ul#usefulcontents_list li a div:last-child {
	width:100%;
	display:block;
	padding:20px 0;
	text-align:center;
	background-color:#FFF;
	color:#000;
	line-height:1em;
	
	font-size:1.1vw;
}

ul#usefulcontents_list li:nth-child(1) a div.image {
	background-image:url(../images/ph_top_lab01.jpg);
}

ul#usefulcontents_list li:nth-child(2) a div.image {
	background-image:url(../images/ph_top_lab02.jpg);
}

ul#usefulcontents_list li:nth-child(3) a div.image {
	background-image:url(../images/ph_top_lab03.jpg);
}

ul#usefulcontents_list li:nth-child(4) a div.image {
	background-image:url(../images/ph_top_lab04.jpg?v3);
}

/* お役立ちコンテンツ */
#usefulcontents .linktoarchives {
	text-align:right;
}

/* お役立ちコンテンツ アーカイブ */

#uc_list_archives,
#lab_list_archives {
	width:100%;
}

#uc_list_archives li,
#lab_list_archives li {
	display:block;
	margin-bottom:80px;
	background-color:#FFF;
}

#uc_list_archives li > a,
#lab_list_archives li > a {
	width: 100%;
    height: calc(((96vw - 320px) / 3) / 500 * 333);
    display:block;
    position:relative;
    color:#000;
}

#uc_list_archives li > a div.image,
#lab_list_archives li > a div.image {
	width: calc(((96vw - 320px) / 3));
    height: calc(((96vw - 320px) / 3) / 500 * 333);
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	position:absolute;
	left:0;
	top:0;
}

ul#uc_list_archives li:nth-child(1) a {
	background-color:#C1C1C1;
}

ul#uc_list_archives li:nth-child(2) a {
	background-color:#f0ccdb;
}

ul#uc_list_archives li:nth-child(3) a {
	background-color:#b6d0b4;
}

ul#lab_list_archives li:nth-child(1) a {
	background-color:rgb(146,136,111);
}

ul#lab_list_archives li:nth-child(2) a {
	background-color:rgb(207,85,133);
}

ul#lab_list_archives li:nth-child(3) a {
	background-color:rgb(208,180,206);
}

ul#lab_list_archives li:nth-child(4) a {
	background-color:rgb(14,215,173);
}

ul#lab_list_archives li:nth-child(5) a {
	background-color:rgb(3,139,214);
}

#uc_list_archives li > a > div:last-child,
#lab_list_archives li > a > div:last-child {
	position:absolute;
	left:calc((96vw - 320px) / 3);
	top:0;
	height:calc(((96vw - 320px) / 3) / 500 * 333 - 80px);
	padding:40px;
}

#uc_list_archives li > a > div:last-child > h2,
#lab_list_archives li > a > div:last-child > h2 {
	text-align:left;
	margin-bottom:25px;
}

.archive .more {
	padding:20px 80px;
	background-color:rgb(207,85,133);
	border-radius:6px;
	margin-bottom:60px;
	color:#FFFFFF;
	font-weight:bold;
	border:none;
}

#recipe_cats_box {
	display:flex;
	width:100%;
	justify-content:center;
	margin-bottom:30px;
}

#recipe_cats_box a {
	width:100%;
	margin:0 10px 10px 10px;
	padding:20px 20px 20px 80px;
	background-size:contain;
	background-position: left center;
	background-repeat:no-repeat;
	position:relative;
	background-image:linear-gradient(rgb(0,0,0), rgb(207,85,133));
}

#recipe_cats_box a div.photo {
	position:absolute;
	left:0;
	top:0;
	width:20%;
	max-width: calc( (3em + 40px) * 0.774 );
	height:100%;
	background-size:cover;
	background-repeat:no-repeat;
	background-position: center center;
}

#recipe_cats_box a.on {
	background:rgb(207,85,133);
}

.searchbox {
	margin:0 auto 10px auto;
	text-align:center;
}

.searchbox input[type=text] {
	padding:5px 20px 5px 30px;
	border-radius:6px;
	width:20em;
	background:url(../images/ic_loope.png) #FFF 6px 8px no-repeat;
	background-size:18px 18px;
	border:none;
	margin-right:5px;
}

.searchbox input[type=submit],
.searchbox input[type=reset] {
	padding:5px 20px ;
	background-color:#8b97f7;
	font-weight:bold;
	border-radius:6px;
	border:none;
	margin-right:5px;
	cursor:pointer;
}

.searchbox input[type=reset] {
	background-color:#ccc;
}

#search_result_num {
	margin-bottom:60px;
	text-align:center;
}

/* キレイを保つ水まわりお手入れ アーカイブ */

#subcat_btns {
	display:flex;
	gap:20px;
	justify-content: center;
	flex-wrap: wrap;
	margin:60px auto;
}

#subcat_btns a {
	display:block;
	width:calc(( 100% - 80px ) / 5 );
	text-align:center;
	line-height:4em;
	height:4em;
	background-color:#6b6bea;
}

#subcat_btns a.on {
	background-color:#9f9fff;
	color:#000;
	font-weight:bold;
}

#subcat_list {
	display:flex;
	gap:20px;
	justify-content: left;
	flex-wrap: wrap;
	margin:0px auto;
}

#subcat_list li {
	width:calc(( 100% - 40px ) / 3 );
	height:9.5em;
}

#subcat_list li a picture {
	width:100%;
	height:8em;
	display:block;
}

#subcat_list li a picture img {
	display:block;
	object-fit:cover;
	width:100%;
	height:100%;
}

#subcat_list li a .gray_block {
	width:100%;
	height:8em;
	display:block;
	background-color:#CCC;
}

#subcat_list li a > div {
	height:1.5em;
	line-height:1.5em;
}

/* プロボノ アーカイブ */
.probono.archive > .subcat_block h2 {
	border-bottom:1px solid #fff;
	padding-bottom:5px;;
}

/* pickup single */

.single.pickup .line {
	margin-bottom:20px;
}

.single.pickup .line + .like_box + .line {
	margin-bottom:100px;
}

.like_box {
	margin-top:20px;
	text-align:center;
}

.like_button {
	padding:0.5em 2em;
	border-radius:2em;
	display:inline-block;
	background-color:#FFF;
	color:#000;
	font-weight:bold;
}

.ic_heart {
	color:#CCCCCC;
}

.liked_num {
	background-color:#DCDCDC;
	padding: 0.2em 0.5em;
	border-radius: 0.4em;
	margin-left:10px;
}

#pickup_list .like_button {
	position: absolute;
	left:5px;
	bottom:5px;
	width:auto;
	padding:3px 10px;
	margin-left: 3px;
}

#pickup_list .liked_num {
	padding:0;
	background-color: transparent;
}
.on .ic_heart {
	color:#FF6633;
	animation: blinkAnime 0.1s 3 alternate;
}

@keyframes blinkAnime{
   0% { color: #cccccc }
 100% { color: #FF6633 }
}

.pu_contents_paragraph {
	margin-bottom:60px;
}

.pu_contents_paragraph h2 {
	clear:left;
}

.pu_contents_paragraph .p_image_box {
	width:40%;
	margin:0 auto 40px auto;
}

.pu_contents_paragraph .p_image_box img {
	max-width:100%;
	height:auto;
}

.pu_contents_paragraph .p_image {
	width:100%;
	height:30vw;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center center;
	display:block;
}

.pu_contents_paragraph .p_image_caption {
	text-align: center;
	margin-top: 5px;
}

.pu_contents_paragraph p {
	display:block;
	width:80%;
	margin: 0 auto;
}


/* footer */

footer {
	border-top: 1px solid #f3f3f3;
	background-color: #1D1D1D;
	padding-top: 60px;
	padding-bottom: 60px;
	position:relative;
}

footer ul {
	width:calc(96vw - 240px);
	margin:0 auto 60px auto;
}

footer ul li {
	margin-bottom: 1em;
}

footer div.copyright {
	width:calc(96vw - 240px);
	margin:0 auto;
}

footer ul li a {
	color:#FFFFFF;
}

footer a#linkto_fb {
	width:36px;
	height:36px;
	position:absolute;
	background:url(../images/ic_fb.svg) center center no-repeat;
	background-size:contain;
	display:block;
	right:60px;
	bottom:60px;
}

footer a#linkto_fb:hover {
	background-image:url(../images/ic_fb_blue.svg);
}

footer a#linkto_ig {
	width:36px;
	height:36px;
	position:absolute;
	background:url(../images/ic_ig.svg) center center no-repeat;
	background-size:contain;
	display:block;
	right:106px;
	bottom:60px;
}

footer a#linkto_ig:hover {
	background-image:url(../images/ic_ig_color.svg);
}

/* page */
section.contents {
	width:calc(96vw - 240px);
	margin:0 auto;
}

.page_body h3 {
	font-size:24px;
	font-size:1.2vw;
}

.page_body h4 {
	font-size:20px;
	font-size:1vw;
	margin-bottom:1em;
}

.page_body p + p {
	margin-top:1em;
}

/* form */

section.contents .form_box {
	width:60%;
	margin: 0 auto;
}

section.contents .form_box dl {
	width:100%;
}

section.contents .form_box dl dt {
	width:30%;
	float:left;
	clear:left;
	padding:0.2em 0;
	font-size:16px;
	font-size:0.9vw;
	margin-bottom:10px;
}

section.contents .form_box dl dd {
	width:70%;
	float:left;
	margin-bottom:10px;
}

.form_box input[type="text"],
.form_box input[type="tel"],
.form_box input[type="email"],
.form_box textarea {
	box-sizing: border-box;
	width:100%;
	padding:0.2em 0.4em;
	font-size:16px;
	font-size:0.9vw;
}

.form_box textarea {
	height:5.8em;
}

.required {
	color:#CC3333;
	font-size: 12px;
	font-size: 0.8vw;
}

.required::before {
	content:"* ";
}

.form_box input[type="submit"] {
	width:11em;
	font-size:18px;
	font-size:0.9vw;
	color:#FFFFFF;
	padding-left:52px;
	background:url(../images/ic_letter.jpg) 13px calc(1.5em - 9px) no-repeat;
	background-size: 26px 18px;
	height:3em;
	line-height: 3em;
	display: block;
	border: 2px solid #707070;
	margin:35px auto;
	cursor:pointer;
}

.form_box .pp_box {
	width:70%;
	padding-left:30%;
}

.form_box .pp_box a {
	color:#FFFFFF;
	text-decoration:underline;
}

.wpcf7-response-output {
	box-sizing:border-box;
	width:42vw;
	margin:2em auto 1em auto !important;
}

/* calendar */

body.calendar section > h1 {
	color:#ffffff;
}



.xo-event-calendar table.xo-month .month-week  {
	height:80px;
}
.single_cal {
	margin-top:70px;
}

body.calendar .xo-event-calendar table.xo-month > caption,
.single_cal .xo-event-calendar table.xo-month > caption {
	color:#FFFFFF;
}

body.calendar .dashicons-arrow-right-alt2:before,
body.calendar .dashicons-arrow-left-alt2:before,
.single_cal .dashicons-arrow-right-alt2:before,
.single_cal .dashicons-arrow-left-alt2:before {
	color:#FFFFFF;
}

/*  top: tips and hints list */
section#tips {
	text-align:center;
	padding-bottom:0;
}

section#tips ul#tips_list {
	width: calc(96vw - 240px);
    margin: 0 auto;
    display:block;
    position:relative;
}

section#tips ul#tips_list li {
	width:100%;
	display:block;
}

section#tips ul#tips_list li div.chip {
	display:block;
	width:calc((96vw - 260px)/3);
	float:left;
	margin-right:10px;
}

section#tips ul#tips_list li .chip:nth-child(3n) {
	margin-right:0;
}

section#tips ul#tips_list li .chip:nth-child(3n+1) {
	
}

section#tips ul#tips_list li .chip div.image {
	width:100%;
	height:calc((96vw - 340px)/3 * 0.66);
	background-position:center center;
	background-repeat:no-repeat;
	background-size: cover;
}

section#tips ul#tips_list li a h3 {
	color:#FFFFFF;
	margin-top:10px;
	text-align:left;
}

a.bt_more {
	display:inline-block;
	padding:8px 100px;
	margin:60px auto 0 auto;
	background-color:#CCC;
	color:#000;
	text-align:center;
}

/* archives */
section.archive {
	padding-bottom:100px;
}
section.archive + section.archive {
	padding-top:0;
	padding-bottom:170px;
}

section.archive .subcat_block {
	margin-bottom:100px;
}

section.archive .subcat_block:last-child {
	margin-bottom:0;
}

body.toppage section.archive .subcat_block{
	margin-bottom:0px;
}

body.toppage section.archive .subcat_block + .subcat_block {
	margin-top:100px;
}

section.archive h2 {
	text-align:center;
	margin-bottom:50px;
}

section.archive .subcat_block .desc {
	text-align:center;
	width:70%;
	margin:20px auto 80px auto;
}

section.archive .contents_list li {
	display:block;
	width:calc((96vw - 340px)/3);
	float:left;
	margin-right:50px;
	margin-bottom:50px;
}

section.archive .contents_list li:nth-child(3n) {
	margin-right:0;
}

section.archive .contents_list li:nth-child(3n+1) {
	clear:left;
}

section.archive div.image {
	width:100%;
	height:calc((96vw - 340px)/3 * 0.66);
	background-position:center center;
	background-repeat:no-repeat;
	background-size: cover;
}

section.archive .contents_list li a h3 {
	color:#FFFFFF;
	margin-top:10px;
}

.archives_message_box {
	margin:60px auto;
	width:70%;
	display:flex;
	gap: 10%;
	justify-content: center;
	align-items: center;
}

.archives_message_box > div {
	width:60%;
	height:100%;
}

.archives_message_box > div ul {
	
	padding-left:1.5em;
}

.archives_message_box > div ul li {
	list-style-type:disc;
}

.archives_message_box picture {
	width:30%;
	display:block;
}

.archives_message_box picture img {
	width:100%;
	display:block;
}

/* qanda */
section.archive.qanda h1 + h2 {
	text-align:center;
}

section.archive.qanda h1 + h2 + .desc {
	margin:0 auto 60px auto;
	width:70%;
	
}

section.archive .contents_list.qanda li {
	display:block;
	width:100%;
	float:none;
	margin-right:0px;
	margin-bottom:2em;
}

section.archive .contents_list.qanda li a,
section.archive .contents_list.qanda li h3 {
	display: inline;
}


section.archive .contents_list.qanda li h3 span:first-of-type {
	margin-right: .2em;
}

section.archive .contents_list.qanda li a h3 span.btn {
	padding:0.3em 1em;
	margin-left: 1em;
	border-radius:0.2em;
	display: inline-block;
}

section.archive .qa_answer {
	margin-top: 1em;
	background-color:#FFF;
	color:#000;
	padding:40px;
}

section.archive .qa_a_head {
	margin-right: .2em;
}

section.archive .qa_a_body {
	padding-top: 2em;
	border-top:8px double #72b1e9;
}

section.archive .qa_a_body p + p {
	margin-top:1em;
}

section.archive .qa_a_body figure.wp-block-table {
	clear:left;
}

section.archive .qa_a_image {
	width:400px;
	height:auto;
	display:block;
	float:left;
	margin:0 30px 30px 0;
}

/* single */
div#bc {
	margin-bottom:3em;
}

div#bc a {
	font-weight: bold;
	text-decoration:underline;
}

section.page_body.single {
	/*font-size:18px;
	font-size:0.9vw;*/
}

section.page_body.single h2 {
	font-size:24px;
	margin:3em 0 2em 0;
	padding-bottom:10px;
	border-bottom:double 7px #FFF;
}

.whitebg section.page_body.single h2 {
	padding-bottom:10px;
	border-bottom:double 7px #000;
}

section.page_body.single h3 {
	font-size:20px;
	margin: 2em 0 1em 0;
}

section.page_body.single h3::before {
	content:"◎ ";
}

section.page_body.single .entry.kirei-wetareas h2 {
	margin-bottom:1.5em;
}

section.page_body.single .entry.kirei-wetareas h3 {
	font-size:20px;
	padding: 5px 0 5px 16px;
	border-left: 4px solid #6b6bea;
	margin-top:1em;
}

section.page_body.single .entry.kirei-wetareas h3::before {
	content:"";
}

section.page_body.single h4 {
	font-size:20px;
	margin: 2em 0 1em 0;
}

section.page_body.single .entry.kirei-wetareas h4 {
	font-size:20px;
	margin: 2em 0 1em 0;
}

section.page_body.single .entry.kirei-wetareas h4::before {
	content:"◎ ";
}

section.page_body.single h5 {
	font-size:20px;
	font-size:1vw;
	margin: 1em 0 0.5em 0;
}

/* コラム用のグレー背景枠 */
section.page_body.single .wp-block-group.customblock01 {
	background-color:#CCCCCC;
	color:#000;
	padding:20px;
	margin-top:60px;
}

section.page_body.single .wp-block-group.customblock01 h2 {
	margin:0 0 0.5em 0;
	border:none;
	padding-bottom:0;
	padding-left: 36px;
	font-size:24px;
	font-weight:bold;
	color:#ba3f2b;
	background-image:url(../images/cl_h2_head.svg);
	background-size:24px 24px;
	background-repeat: no-repeat;
	background-position:left center;
}

section.page_body.single .wp-block-group.customblock01 h3 {
	margin:0 0 1em 0;
	border:none;
	padding-bottom:0;
	padding-top:0;
	padding-left: 24px;
	margin-left:20px;
	font-size:20px;
	font-weight:bold;
	color:#0045f9;
	background-image:url(../images/cl_h3_head.svg);
	background-size:20px 20px;
	background-repeat: no-repeat;
	background-position:left center;
}

section.page_body.single .wp-block-group.customblock01 .wp-block-media-text,
section.page_body.single .wp-block-group.customblock01 .wp-block-image {
	padding:0 20px 20px 20px;
	align-items: start;
	grid-gap: 40px;
	margin:0;
}

section.page_body.single .wp-block-group.customblock01 .wp-block-image figcaption {
	text-align:left;
	margin-bottom:0;
}

section.page_body.single .wp-block-group.customblock01 .wp-block-media-text .wp-block-media-text__content,
section.page_body.single .wp-block-group.customblock01 p {
	padding:0;
	align-self: start;
}

section.page_body.single p + p {
	margin-top:1em;
}

section.page_body.single figure.wp-block-image {
	margin: 1em 0;
	display:block;
}

section.page_body.single figure.wp-block-image img {
	display:block;
	margin:0 auto;
	max-width: calc(96vw - 240px);
	width: auto;
	height: auto;
}

section.page_body.single figure.wp-block-image figcaption {
	margin-top:1em;
	text-align:center;
	font-size:14px;
	width:100%;
	display:block;
}

section.page_body.single #back_to_archive {
	margin:2em;
}

section.page_body.single #back_to_archive a {
	text-decoration:underline;
}

section.page_body.single figure.wp-block-table,
section.archive figure.wp-block-table {
	padding:3em 5em;
	position: relative;
}

section.page_body.single figure.wp-block-table table,
section.archive figure.wp-block-table table {
	margin-top: .5em;
	border:1px solid #FFFFFF;
	border-collapse: collapse;
}

section.page_body.single figure.wp-block-table table td,
section.page_body.single figure.wp-block-table table tr,
section.archive figure.wp-block-table table td,
section.archive figure.wp-block-table table tr {
	
	border:1px solid #FFFFFF;
	border-collapse: collapse;
	padding:10px;
}

section.page_body.single .qa_a_body figure.wp-block-table table td,
section.page_body.single .qa_a_body figure.wp-block-table table tr,
section.archive .qa_a_body figure.wp-block-table table td,
section.archive .qa_a_body figure.wp-block-table table tr {
	border:1px solid #000000;
}

section.page_body.single figure.wp-block-table figcaption,
section.archive figure.wp-block-table figcaption {
	position:absolute;
	top:1em;
	text-align: center;
}