@charset "utf-8";

/*==============================================================================

【page.css】- ページ別スタイルシート

各ページスタイルを記述しています。

<目次>
# ホーム
# 下層ページ共通
# 採用情報
# お役立ちコラム
# サービス内容
# お問い合わせ

==============================================================================*/

/*--------------------------------------
# ホーム
--------------------------------------*/
/* column
--------------------*/

div#contents #column {
clear: both;
padding: 40px 0 30px;
overflow: hidden;
border-bottom: 1px solid #000;
}

div#contents #column div.column-wrapper {
max-width: 1400px;
margin: 0 auto;
padding: 0 15px;
text-align: center;
overflow: hidden;
}

div#contents #column div.column-inner {
max-width: 800px;
height: 260px;
margin: 0 auto;
padding-right: 10px;
overflow-y: scroll;
}

div#contents #column div.column-inner::-webkit-scrollbar {
position: relative;
width: 10px;
background: #ececec;
border-radius: 100px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
}

div#contents #column div.column-inner::-webkit-scrollbar-thumb {
background: #b7b7b7;
border-radius: 100px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
}

body.dv div#contents #column div.column-inner::-webkit-scrollbar-thumb:hover {
background: #909090;
}

div#contents #column h2 {
margin-bottom: 20px;
color: #000;
font-size: 2.8rem;
font-weight: bold;
letter-spacing: 2px;
line-height: 1.2;
}

div#contents #column ul {
display: inline-block;
text-align: left;
}

div#contents #column ul li {
position: relative;
margin-bottom: 5px;
padding-left: 9em;
}

div#contents #column ul li .new {
position: absolute;
top: 4px;
left: 0;
padding: 2px 4px;
color: #FFF;
font-size: 1.2rem;
background: #f30000;
border-radius: 1px;
line-height: 1.2;
}

div#contents #column ul li .date {
position: absolute;
top: 0;
left: 3em;
}

@media screen and (max-width:736px) {

div#contents #column div.column-inner {
max-width: 100%;
}

div#contents #column ul {
line-height: 1.4;
}

div#contents #column ul li {
padding: 30px 0 6px;
border-top: 1px dotted #999;
}

div#contents #column ul li:first-child {
border-top: none;
}

div#contents #column ul li .new {
top: 10px;
}

div#contents #column ul li .date {
top: 9px;
left: 0;
}

div#contents #column ul li .new+.date {
left: 2.8em;
}

}

/*--------------------------------------
# 下層ページ共通
--------------------------------------*/

div#contents #eyecatch {
position: relative;
width: 100%;
height: 0;
padding-top: 12%;
overflow: hidden;
z-index: 0;
}

div#contents #eyecatch .eyecatch-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
}

div#contents #eyecatch .eyecatch-wrapper img {
display: block;
width: 100%;
}

div#contents div#main div.contact-tel {
padding: 20px 220px 20px 20px;
background: #f7f7f7 url(../img/site-title-logo.svg) no-repeat right 20px center;
background-size: 180px auto;
border: 3px dotted #a7a7a7;
}

div#contents div#main div.contact-tel .tel {
padding-left: 60px;
background: url(../img/icon/free_dial_black.svg) no-repeat 0 10px;
background-size: auto 40px;
font-family: 'Century Gothic', 'Heiti SC';
font-size: 5.0rem;
line-height: 1.2;
}

div#contents div#main div.contact-tel .tel .call-link {
display: block;
}

div#contents div#main div.contact-tel .tel .time {
display: block;
width: 39%;
font-size: 14px;
text-align: center;
}

div#contents div#main nav.local-nav {
text-align: center;
letter-spacing: -.40em;
}

div#contents div#main nav.local-nav li {
display: inline-block;
margin: 0 5px 10px;
letter-spacing: normal;
vertical-align: top;
}

div#contents div#main nav.local-nav li a {
display: block;
padding: 3px 30px 1px;
background: #FFF;
color: #4f3521;
font-weight: bold;
text-decoration: none;
border: 1px solid #4f3521;
border-radius: 100px;
transition: 0.2s;
}

body.dv div#contents div#main nav.local-nav li a:hover {
background: #4f3521;
color: #FFF;
}

@media screen and (max-width:736px) {

div#contents #eyecatch {
min-height: auto;
padding-top: 20%;
}

div#contents #eyecatch .eyecatch-wrapper {
position: absolute;
}

div#contents div#main div.contact-tel {
padding: 15px;
background: #f7f7f7;
}

div#contents div#main div.contact-tel .tel {
padding-left: 50px;
background: url(../img/icon/free_dial_black.svg) no-repeat 0 0;
background-size: auto 34px;
font-size: 4.0rem;
font-weight: bold;
letter-spacing: -1px;
}

div#contents div#main div.contact-tel .tel .call-link {
text-decoration: none;
}

div#contents div#main div.contact-tel .tel .time {
width: 83%;
font-size: 13px;
font-weight: normal;
letter-spacing: normal;
}

div#contents div#main nav.local-nav li a {
padding: 1px 20px 0;
}
}

/*--------------------------------------
# 採用情報
--------------------------------------*/

div#contents div#main table.recruit-table th {
width: 20%;
}

@media screen and (max-width:736px) {
div#contents div#main table.recruit-table th {
width: auto;
}
}

/*--------------------------------------
# よくあるご質問
--------------------------------------*/

div#contents div#main ul.faq-category {
clear: both;
letter-spacing: -.40em;
line-height: 1.2;
}

div#contents div#main ul.faq-category li {
display: inline-block;
width: 32.5%;
margin: 0 0 1% 1%;
letter-spacing: normal;
vertical-align: top;
}

div#contents div#main ul.faq-category li:nth-child(3n+1) {
margin-left: 0;
}

div#contents div#main ul.faq-category li a {
position: relative;
display: block;
height: 46px;
padding: 0 0 0 20px;
font-size: 1.5rem;
font-weight: bold;
background: #FFF;
border-radius: 100px;
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35);
text-decoration: none;
line-height: 48px;
transition: 0.2s;
}

body.d div#contents div#main ul.faq-category li a:hover {
opacity: 0.6;
}

div#contents div#main ul.faq-category li a:before {
content: '';
position: absolute;
top: 50%;
right: 15px;
width: 8px;
height: 8px;
border-right: 2px solid #79ab0f;
border-bottom: 2px solid #79ab0f;
transform: rotate(45deg) translate(-50%, -50%);
}

div#contents div#main dl.faq-block {
clear: both;
border-bottom: 1px solid #CCC;
overflow: hidden;
}

div#contents div#main dl.faq-block dt {
position: relative;
padding: 15px 0 15px 60px;
font-size: 1.8rem;
cursor: pointer;
}

div#contents div#main dl.faq-block dt:before,
div#contents div#main dl.faq-block dt:after {
content: '';
position: absolute;
top: 30px;
right: 10px;
width: 14px;
height: 2px;
background: #79ab0f;
transition: 0.2s;
}

div#contents div#main dl.faq-block dt:after {
transform: rotate(90deg);
}

div#contents div#main dl.faq-block dt.open:before {
transform: rotate(90deg) scale(0);
}

div#contents div#main dl.faq-block dt.open:after {
transform: rotate(180deg);
}

div#contents div#main dl.faq-block dt .icon {
position: absolute;
top: 13px;
left: 15px;
color: #79ab0f;
font-size: 2.8rem;
font-weight: normal;
line-height: 1.2;
}

div#contents div#main dl.faq-block dd {
position: relative;
display: none;
padding: 15px 0 15px 60px;
background: #f5f5f5;
border-top: 1px dotted #CCC;
}

div#contents div#main dl.faq-block dd p:last-child {
margin-bottom: 0;
}

div#contents div#main dl.faq-block dd .icon {
float: left;
margin: -1px 0 -10px -44px;
color: #999;
font-size: 2.8rem;
font-weight: normal;
line-height: 1.2;
}

@media screen and (max-width:736px) {

div#contents div#main ul.faq-category li {
display: block;
width: 100%;
margin: 0 0 10px;
}

div#contents div#main ul.faq-category li a {
height: 38px;
padding-left: 15px;
line-height: 40px;
}

div#contents div#main dl.faq-block dt {
padding: 15px 30px 15px 38px;
font-size: 1.6rem;
}

div#contents div#main dl.faq-block dt:before,
div#contents div#main dl.faq-block dt:after {
top: 26px;
}

div#contents div#main dl.faq-block dt .icon {
left: 8px;
font-size: 2.4rem;
}

div#contents div#main dl.faq-block dd {
padding: 15px 10px 15px 38px;
}

div#contents div#main dl.faq-block dd .icon {
margin: -1px 0 -10px -29px;
font-size: 2.4rem;
}

}

/*--------------------------------------
# お客様の声
--------------------------------------*/

div#contents div#main dl.voice-block {
clear: both;
border-bottom: 1px solid #CCC;
overflow: hidden;
}

div#contents div#main dl.voice-block:first-child {
border-top: 1px solid #CCC;
}

div#contents div#main dl.voice-block dt {
position: relative;
padding: 15px 30px 15px 20px;
font-size: 2.0rem;
font-weight: bold;
cursor: pointer;
}

div#contents div#main dl.voice-block dt:before,
div#contents div#main dl.voice-block dt:after {
content: '';
position: absolute;
top: 30px;
right: 10px;
width: 14px;
height: 2px;
background: #79ab0f;
transition: 0.2s;
}

div#contents div#main dl.voice-block dt:after {
transform: rotate(90deg);
}

div#contents div#main dl.voice-block dt.open:before {
transform: rotate(90deg) scale(0);
}

div#contents div#main dl.voice-block dt.open:after {
transform: rotate(180deg);
}

div#contents div#main dl.voice-block dd {
position: relative;
display: none;
padding: 15px 20px;
background: #f5f5f5;
border-top: 1px dotted #CCC;
}

div#contents div#main dl.voice-block dd p:last-child {
margin-bottom: 0;
}

@media screen and (max-width:736px) {

div#contents div#main dl.voice-block dt {
padding: 15px 30px 15px 10px;
font-size: 1.8rem;
line-height: 1.4;
}

div#contents div#main dl.voice-block dt:before,
div#contents div#main dl.voice-block dt:after {
top: 50%;
}

div#contents div#main dl.voice-block dd {
position: relative;
display: none;
padding: 15px;
background: #f5f5f5;
border-top: 1px dotted #CCC;
}

}

/*--------------------------------------
# お役立ちコラム
--------------------------------------*/

div#contents div#main div.column-list li {
border-bottom: 1px dotted #CCC;
}

div#contents div#main div.column-list li:first-child {
border-top: 1px dotted #CCC;
}

div#contents div#main div.column-list li a {
position: relative;
display: block;
padding: 20px;
text-decoration: none;
transition: 0.2s;
overflow: hidden;
}

/*div#contents div#main div.column-list li a:before {
content: '';
position: absolute;
top: 50%;
right: 20px;
display: block;
width: 20px;
height: 20px;
margin: -10px 0 0;
border-top: 2px solid #79ab0f;
border-right: 2px solid #79ab0f;
transform: rotate(45deg);
}*/
body.d div#contents div#main div.column-list li a:hover {
background: #f7f7f7;
opacity: 0.8;
}

div#contents div#main div.column-list li dl {
overflow: hidden;
}

div#contents div#main div.column-list li dt {
float: left;
clear: left;
width: 20%;
}

div#contents div#main div.column-list li dd {
float: right;
clear: right;
width: 78%;
font-size: 1.4rem;
}

div#contents div#main div.column-list li dd strong {
font-size: 1.8rem;
}

div#contents div#main div.column-list li dd div.column-btn {
margin: 10px 0 0;
text-align: right;
}

div#contents div#main div.column-list li dd div.column-btn span {
position: relative;
display: inline-block;
margin-right: 16px;
padding: 4px 20px;
background: #79ab0f;
color: #FFF;
}

div#contents div#main div.column-list li dd div.column-btn span:after {
content: '';
position: absolute;
top: 0;
right: -16px;
bottom: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 16.5px 0 16.5px 16px;
border-color: transparent transparent transparent #79ab0f;
}

div#contents div#main div.border-box {
padding: 15px;
background: #f5f5f5;
border: 3px solid #CCC;
}

div#contents div#main div.border-box .title {
display: block;
padding-bottom: 5px;
border-bottom: 1px dotted #CCC;
}

div#contents div#main div.border-box .title:after {
display: none;
}

@media screen and (max-width:736px) {
div#contents div#main div.column-list li a {
padding: 15px 0;
}

div#contents div#main div.column-list li dt {
display: none;
}

div#contents div#main div.column-list li dd {
float: none;
clear: none;
width: 100%;
line-height: 1.4;
}

div#contents div#main div.column-list li dd strong {
display: block;
}

div#contents div#main div.column-list li dd div.column-btn {
text-align: center;
}

div#contents div#main div.column-list li dd div.column-btn span {
display: block;
width: 80%;
margin: 0 auto;
padding: 7px 10px;
font-size: 1.6rem;
}

div#contents div#main div.column-list li dd div.column-btn span:after {
display: none;
}
}

/*--------------------------------------
# サービス内容
--------------------------------------*/

div#contents div#main div.service-list ul {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

div#contents div#main div.service-list li {
position: relative;
width: 49%;
margin: 0 2% 20px 0;
border: 1px solid #CCC;
counter-reset: section;
}

div#contents div#main div.service-list li:nth-child(even) {
margin-right: 0;
}

div#contents div#main div.service-list li::before {
counter-increment: number;
content: "0"counter(number);
position: absolute;
top: -15px;
right: 0;
color: rgba(0, 0, 0, 0.1);
font-family: 'Century Gothic', 'Heiti SC';
font-size: 7.2rem;
font-style: italic;
line-height: 1.2;
letter-spacing: -2px;
}

div#contents div#main div.service-list li:nth-child(4n+3)::before,
div#contents div#main div.service-list li:nth-child(4n+4)::before {
right: 36%;
}

div#contents div#main div.service-list li a {
display: block;
height: 100%;
text-decoration: none;
}

div#contents div#main div.service-list li dl {
position: relative;
height: 100%;
padding: 0 0 0 35%;
}

div#contents div#main div.service-list li:nth-child(4n+3) dl,
div#contents div#main div.service-list li:nth-child(4n+4) dl {
padding: 0 35% 0 0;
}

div#contents div#main div.service-list li dt {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 35%;
overflow: hidden;
}

div#contents div#main div.service-list li:nth-child(4n+3) dt,
div#contents div#main div.service-list li:nth-child(4n+4) dt {
left: auto;
right: 0;
}

div#contents div#main div.service-list li dt img {
position: absolute;
top: 0;
left: 0;
max-width: inherit;
width: auto;
height: 100%;
transition: 0.3s;
}

div#contents div#main div.service-list li:nth-child(4n+3) dt img,
div#contents div#main div.service-list li:nth-child(4n+4) dt img {
left: auto;
right: 0;
}

body.dv div#contents div#main div.service-list li a:hover dt img {
transform: scale(1.1);
}

div#contents div#main div.service-list li dd {
padding: 15px 10px 10px 20px;
}

div#contents div#main div.service-list li dd h3 {
margin-bottom: 10px;
padding: 0;
background: none;
color: #000;
font-size: 2.0rem;
}

div#contents div#main div.service-list li dd p {
font-size: 1.4rem;
line-height: 1.6;
}

div#contents div#main div.service-list li dd span.service-btn {
display: inline-block;
margin: 0 auto 10px;
padding: 5px 20px;
text-align: center;
text-decoration: none;
border: 1px solid #000;
border-radius: 3px;
transition: 0.3s;
}

body.dv div#contents div#main div.service-list li a:hover dd span.service-btn {
color: #FFF;
background: #000;
}

div#contents div#main div.bg-yellow-box {
padding: 15px;
background: #ffffdc;
border-radius: 10px;
overflow: hidden;
}

div#contents div#main div.bg-yellow-box .title {
display: block;
margin-bottom: 10px;
}

div#contents div#main div.bg-yellow-box .title:after {
display: none;
}

div#contents div#main div.bg-yellow-box.img-right {
margin-right: 340px;
}

div#contents div#main div.bg-orange-box {
padding: 20px 25px;
background: #fff6f0;
border: 3px solid #ffb025;
overflow: hidden;
}

div#contents div#main div.bg-orange-box p.title {
margin-bottom: 20px;
padding-bottom: 15px;
font-size: 130%;
border-bottom: 1px solid rgb(255 176 37 / 60%);
text-align: center;
}

div#contents div#main div.bg-orange-box>*:last-child {
margin-bottom: 0;
}

div#contents div#main div.flow-block dl {
position: relative;
min-height: 90px;
padding: 0 0 30px 80px;
counter-reset: section;
}

div#contents div#main div.flow-block dl:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 25px;
width: 10px;
background: #CCC;
}

div#contents div#main div.flow-block dl:after {
counter-increment: number;
content: "0"counter(number);
position: absolute;
top: 0;
left: 0;
width: 60px;
height: 60px;
background: #000;
color: #FFF;
font-family: 'Century Gothic', 'Heiti SC';
font-size: 3.0rem;
text-align: center;
line-height: 60px;
letter-spacing: -1px;
border-radius: 100px;
}

div#contents div#main div.flow-block dl:last-child:before {
display: none;
}

div#contents div#main div.flow-block dt {
padding: 15px 0 0;
font-size: 2.0rem;
font-weight: bold;
}

div#contents div#main div.flow-block dt .free,
div#contents div#main div.flow-block dt .pay {
display: inline-block;
margin-left: 1rem;
padding: 4px 10px;
background: #d90000;
color: #FFF;
font-size: 1.4rem;
line-height: 1.2;
vertical-align: middle;
border-radius: 6px;
}

div#contents div#main div.flow-block dt .pay {
background: #087d24;
}

div#contents div#main div.example-item {
	margin-bottom: 30px;
	padding: 2em;
	background: #f7f7f7;
}
div#contents div#main div.example-item div.example-title {
	display: flex;
	margin-bottom: 1em;
}
div#contents div#main div.example-item div.example-title .example-no {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.25em;
	width: 80px;
	min-height: 65px;
	background: #1897f2;
	background: #087d24;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
}
div#contents div#main div.example-item div.example-title .example-no em {
  font-family: 'Century Gothic', 'Heiti SC';
	font-size: 2.6rem;
}
div#contents div#main div.example-item div.example-title > p {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 0;
	padding: 0.5em 0 0.5em 1em;
	line-height: 1.4;
}
div#contents div#main div.example-body {
	display: flex;
	align-items: flex-start;
}
div#contents div#main div.example-item-img {
	position: relative;
	display: flex;
  justify-content: space-between;
	width: 62%;
	margin-right: 3%;
}
div#contents div#main div.example-item-img:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff url(../img/icon/arrow-right-solid_green.svg) no-repeat center;
	background-size: 90%;
	text-align: center;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}
div#contents div#main div.example-item-img .before,
div#contents div#main div.example-item-img .after {
	position: relative;
	width: calc(50% - 1px);
	overflow: hidden;
}
div#contents div#main div.example-item-img .before:before,
div#contents div#main div.example-item-img .after:before {
	position: absolute;
	bottom: 10px;
	right: 10px;
	padding: 5px 10px;
  font-family: 'Century Gothic', 'Heiti SC';
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
}
div#contents div#main div.example-item-img .before:before {
	content: 'Before';
	background: #000;
	color: #fff;
}
div#contents div#main div.example-item-img .after:before {
	content: 'After';
	background: #fff;
}
div#contents div#main div.example-item-img .before img,
div#contents div#main div.example-item-img .after img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
div#contents div#main div.example-item-text {
	flex: 1;
}
div#contents div#main div.example-item-text dl {
	display: flex;
	padding: 1em 0;
}
div#contents div#main div.example-item-text dl:first-child {
	border-top: 1px dotted #cecece;
}
div#contents div#main div.example-item-text dl:last-child {
  align-items: center;
}
div#contents div#main div.example-item-text dl:not(:last-child) {
	border-bottom: 1px dotted #cecece;
}
div#contents div#main div.example-item-text dt {
	margin-right: 1.5em;
	font-size: 1.4rem;
	font-weight: bold;
}
div#contents div#main div.example-item-text dd {
	flex: 1;
}
div#contents div#main div.example-item-text dl:last-child dd {
	text-align: right;
}
div#contents div#main div.example-item-text dd em {
	color: #d90000;
  font-family: 'Century Gothic', 'Heiti SC';
	font-size: 2.4rem;
	font-weight: 700;
}

@media screen and (max-width:736px) {

div#contents div#main div.service-list ul {
display: block;
}

div#contents div#main div.service-list li {
width: 100%;
margin: 0 0 20px;
}

div#contents div#main div.service-list li:nth-child(4n+3)::before,
div#contents div#main div.service-list li:nth-child(4n+4)::before {
right: 0;
}

div#contents div#main div.service-list li dl {
padding: 10px;
overflow: hidden;
}

div#contents div#main div.service-list li:nth-child(4n+3) dl,
div#contents div#main div.service-list li:nth-child(4n+4) dl {
padding: 10px;
}

div#contents div#main div.service-list li dt {
display: none;
}

div#contents div#main div.service-list li dd {
padding: 0;
}

div#contents div#main div.service-list li dd h3 {
margin: 0 0 10px;
padding: 0;
}

div#contents div#main div.service-list li dd span.service-btn {
position: relative;
clear: both;
display: block;
margin: 0 -10px -10px;
font-size: 1.6rem;
font-weight: bold;
background: #DDD;
border: none;
border-radius: 0px;
}

div#contents div#main div.service-list li dd span.service-btn:before {
content: '';
position: absolute;
top: 50%;
right: 12px;
display: block;
width: 8px;
height: 8px;
margin: -4px 0 0;
border-top: 1px solid #000;
border-right: 1px solid #000;
transform: rotate(45deg);
}

div#contents div#main div.flow-block dl {
min-height: 80px;
padding: 0 0 30px 60px;
}

div#contents div#main div.flow-block dl:before {
left: 21px;
width: 8px;
}

div#contents div#main div.flow-block dl:after {
width: 50px;
height: 50px;
line-height: 50px;
}

div#contents div#main div.flow-block dt {
padding: 10px 0 0;
}

div#contents div#main div.bg-yellow-box.img-right {
margin-right: 0;
}

div#contents div#main div.bg-orange-box {
padding: 12px 15px;
}

div#contents div#main div.bg-orange-box p.title {
margin-bottom: 18px;
padding-bottom: 10px;
font-size: 4.5vw;
}

div#contents div#main div.example-item {
	padding: 15px;
}
div#contents div#main div.example-item div.example-title .example-no {
	min-height: 50px;
	font-size: 1.2rem;
}
div#contents div#main div.example-item div.example-title > p {
	padding: 0 0 0 0.5em;
}
div#contents div#main div.example-body {
	flex-direction: column;
}
div#contents div#main div.example-item-img {
	width: 100%;
	margin: 0;
}
div#contents div#main div.example-item-img:after {
	width: 30px;
	height: 30px;
	font-size: 2.0rem;
}
div#contents div#main div.example-item-img .before:before,
div#contents div#main div.example-item-img .after:before {
	padding: 2px 8px;
	font-size: 1.4rem;
}
div#contents div#main div.example-item-text dl:first-child {
	border-top: none;
}
}

/* 産業廃棄物 大規模処分
--------------------*/
div#contents div#main div.point-wrapper {
display: flex;
justify-content: space-between;
margin-bottom: 30px;
}

div#contents div#main div.point-wrapper dl {
position: relative;
width: 32%;
border: 3px solid #cecece;
}

div#contents div#main div.point-wrapper dl:before {
content: '';
position: absolute;
top: -3px;
left: -3px;
width: 0;
height: 0;
border-style: solid;
border-width: 60px 60px 0 0;
border-color: #d90000 transparent transparent transparent;
}

div#contents div#main div.point-wrapper dl dt {
position: absolute;
top: 2px;
left: 2px;
color: #FFF;
font-family: 'Century Gothic', 'Heiti SC';
font-size: 1.2rem;
font-weight: bold;
line-height: 1.2;
}

div#contents div#main div.point-wrapper dl dt em {
display: block;
font-size: 1.6rem;
}

div#contents div#main div.point-wrapper dl dd {
position: relative;
display: -webkit-flex;
display: flex;
height: 100%;
-webkit-align-items: center;
align-items: center;
margin: 0;
padding: 20px 10px 20px 30px;
letter-spacing: -.40em;
}

div#contents div#main div.point-wrapper dl dd .service-icon,
div#contents div#main div.point-wrapper dl dd .service-text {
display: inline-block;
letter-spacing: normal;
vertical-align: middle;
}

div#contents div#main div.point-wrapper dl dd .service-icon {
width: 20%;
margin-right: 5%;
text-align: center;
}

div#contents div#main div.point-wrapper dl dd .service-text {
width: 75%;
font-size: 1.6rem;
font-weight: bold;
line-height: 1.4;
}

div#contents div#main div.example-wrapper {
letter-spacing: -.40em;
}

div#contents div#main div.example-wrapper div.example-inner {
display: inline-block;
width: 49%;
margin-left: 2%;
margin-bottom: 30px;
letter-spacing: normal;
vertical-align: top;
/*background: #f5f5f5;
border: 1px solid #000;*/
}

div#contents div#main div.example-wrapper div.example-inner:nth-child(odd) {
margin-left: 0;
}

div#contents div#main div.example-img {
position: relative;
width: 100%;
height: 0;
padding-top: 42%;
overflow: hidden;
}

div#contents div#main div.example-img img {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: auto;
transition: 0.3s;
}

body.dv div#contents div#main a:hover div.example-img img {
transform: scale(1.1);
}

div#contents div#main div.example-txt {
position: relative;
padding: 15px;
background: #f5f5f5;
}

/*div#contents div#main div.example-txt:before {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 33px;
height: 33px;
background: rgba(0,0,0,0.4);
transition: 0.2s;
}
div#contents div#main div.example-txt:after {
content: '';
position: absolute;
bottom: 13px;
right: 13px;
display: block;
width: 7px;
height: 7px;
margin: -3px 0 0;
border-top: 1px solid #FFF;
border-right: 1px solid #FFF;
transform: rotate(45deg);
}
body.dv div#contents div#main a:hover div.example-txt:before {
background: rgba(32,38,84,0.8);
}*/
div#contents div#main div.example-txt p {
margin: 0 0 10px;
}

div#contents div#main div.example-txt p span {
display: inline-block;
font-weight: bold;
vertical-align: middle;
}

div#contents div#main div.example-txt p .jp {
margin-right: 0.8em;
font-size: 2.0rem;
}

div#contents div#main div.example-txt p .en {
color: rgba(0, 0, 0, 0.6);
font-size: 1.4rem;
}

div#contents div#main div.example-txt ul {
margin: 0;
letter-spacing: -.40em;
}

div#contents div#main div.example-txt ul li {
display: inline-block;
width: 50%;
margin: 0;
padding-right: 1em;
letter-spacing: normal;
vertical-align: top;
}

@media screen and (max-width:736px) {
div#contents div#main div.point-wrapper {
display: block;
}

div#contents div#main div.point-wrapper dl {
width: 100%;
margin-bottom: 10px;
}

div#contents div#main div.example-wrapper div.example-inner {
display: block;
width: 100%;
margin-left: 0;
padding: 10px;
}

div#contents div#main div.example-txt p .jp {
font-size: 1.6rem;
}

div#contents div#main div.example-txt p .en {
font-size: 1.2rem;
}

div#contents div#main div.example-txt ul li {
display: block;
width: 100%;
padding-right: 0;
}
}

/*--------------------------------------
# お問い合わせ
--------------------------------------*/

div#contents div#main .form_in {
clear: both;
max-width: 940px;
margin: 0 auto 40px;
}

div#contents div#main .form_in dl {
clear: both;
margin-bottom: 5px;
padding: 15px;
background: #f3f3f3;
overflow: hidden;
}

div#contents div#main .form_in dl dt {
position: relative;
float: left;
clear: left;
width: 12em;
padding-right: 35px;
font-weight: bold;
line-height: 38px;
box-sizing: border-box;
}

div#contents div#main .form_in dl dt span.required {
position: absolute;
top: 8px;
right: 0;
height: 18px;
padding: 0 5px;
color: #FFF;
font-size: 1.1rem;
font-weight: normal;
background: #333;
border-radius: 2px;
line-height: 18px;
}

div#contents div#main .form_in dl dd {
display: block;
margin-left: 14em;
}

div#contents div#main div.form_in input[type="text"],
div#contents div#main div.form_in input[type="email"],
div#contents div#main div.form_in input[type="tel"],
div#contents div#main div.form_in select,
div#contents div#main div.form_in textarea,
div#contents div#main input[type="password"] {
display: inline-block;
width: 100%;
min-height: 38px;
margin: 2px;
padding: 5px 10px;
background: #FFF;
font-family: "游ゴシック Medium", "Yu Gothic Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
font-size: 1.6rem;
border: 1px solid #CCC;
border-radius: 3px;
outline: none;
vertical-align: middle;
box-sizing: border-box;
}

div#contents div#main div.form_in input.short {
width: 16em;
}

div#contents div#main div.form_in input.middle {
width: 60%;
}

div#contents div#main div.form_in label {
display: inline-block;
margin-right: 20px;
line-height: 38px;
}

div#contents div#main div.form_in textarea {
padding: 10px;
font-size: 1.6rem;
font-family: "游ゴシック Medium", "Yu Gothic Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
border: 1px solid #CCC;
}

div#contents div#main .form-btn {
clear: both;
margin: 30px 0 0;
text-align: center;
letter-spacing: -.40em;
}

div#contents div#main .form-btn input[type="submit"] {
position: relative;
display: inline-block;
width: 20%;
margin-bottom: 10px;
padding: 0 20px;
background: #FFF;
color: #000;
font-size: 1.8rem;
font-family: "游ゴシック Medium", "Yu Gothic Medium", "YuGothic M", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
font-weight: bold;
text-decoration: none;
vertical-align: top;
letter-spacing: 2px;
-webkit-appearance: none;
appearance: none;
border: 1px solid #000;
border-radius: 0;
cursor: pointer;
transition: 0.15s;
}

body.dv div#contents div#main .form-btn input[type="submit"]:hover {
background: #000;
color: #FFF;
}

@media screen and (max-width:736px) {
div#contents div#main .form_in {
width: auto;
margin: 0 0 20px;
}

div#contents div#main div.form_in dl {
padding: 10px;
}

div#contents div#main div.form_in dl dt {
float: none;
clear: both;
width: 100%;
margin-bottom: 5px;
line-height: 1.4;
}

div#contents div#main div.form_in dl dt span.required {
top: 0;
}

div#contents div#main div.form_in dl dd {
margin-left: 0;
}

div#contents div#main div.form_in input[type="text"],
div#contents div#main div.form_in input[type="email"],
div#contents div#main div.form_in input[type="tel"],
div#contents div#main div.form_in select,
div#contents div#main div.form_in textarea,
div#contents div#main input[type="password"],
div#contents div#main div.form_in select {
width: 100%;
font-size: 16px;
}

div#contents div#main div.form_in input.short {
width: 40%;
}

div#contents div#main div.form_in input.middle {
width: 100%;
}

div#contents div#main div.form_in label {
margin-right: 15px;
line-height: 1.4;
}

div#contents div#main .form-btn input[type="submit"] {
width: 40%;
}
}

.dblock {
display: flex;
margin: 0 -10px;
}

.dblock .dblock-inner {
flex: 1;
margin: 0 10px;
}

@media screen and (max-width:736px) {

.dblock {
display: block;
}

}

.img-list {
display: flex;
margin: 0 -5px 30px;
}

.img-list .img-list-item {
flex: 1;
padding: 5px;
}

.img-list .img-list-item.wide {
flex: 1.73;
}

.img-list .img-list-item img {
display: block;
}

@media screen and (max-width:736px) {
.img-list {
flex-wrap: wrap;
}

.img-list .img-list-item {
flex: none;
width: 37.4%;
}

.img-list .img-list-item.wide {
flex: none;
width: 62.5%;
}

.img-list .img-list-item:nth-child(1) {
order: 1;
}

.img-list .img-list-item:nth-child(2) {
order: 2;
}

.img-list .img-list-item:nth-child(3) {
order: 4;
}

.img-list .img-list-item:nth-child(4) {
order: 3;
}
}

/*--------------------------------------
# サービス内容
--------------------------------------*/

.service-list {
margin: 0px -1%;
}

.service-list .service-list-item {
display: flex;
flex-direction: column-reverse;
margin-bottom: 40px;
box-shadow: rgba(0, 0, 0, 0.2) 1px 3px 6px;
}

.service-list .service-list-item .img img {
display: block;
width: 100%;
height: 160px;
object-fit: cover;
}

.service-list .service-block {
padding: 0px 20px;
}

.service-list .service-block .service-title {
display: flex;
flex-direction: column;
align-items: center;
line-height: 1.2;
}

.service-list .service-block .service-title dt {
position: relative;
display: flex;
justify-content: center;
align-items: center;
width: 2.5em;
height: 2.5em;
margin: -1em 0px 0px;
font-family: Questrial, sans-serif;
font-size: min(7vw, 2.8rem);
font-weight: bold;
line-height: 1.2;
background: rgb(255, 255, 255);
border-radius: 100%;
}

.service-list .service-block .service-title dt::after {
content: "";
position: absolute;
bottom: 0.5em;
left: 50%;
display: block;
width: 1.2em;
margin-left: -0.6em;
border-bottom: 2px solid;
}

.service-list .service-block .service-title dd {
position: relative;
font-family: "Noto Sans JP", sans-serif;
font-size: min(5.2vw, 2rem);
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.05em;
}

.service-list .service-block .service-body {
padding: 20px 0px;
font-size: 88%;
text-align: center;
}

.service-list .service-block .service-body> :not(:last-child) {
flex: 1 1 auto;
}

.service-list .service-block .service-body> :last-child {
margin-bottom: 0px;
}

.service-list .service-block .service-body a.btn {
display: inline-flex;
align-items: center;
padding: 8px 25px;
font-family: "Noto Sans JP", sans-serif;
font-size: 110%;
border: 1px solid rgb(51, 51, 51);
text-decoration: none;
line-height: 1.2;
transition: all 0.2s ease 0s;
}

.service-list .service-block .service-body a.btn i {display: block;width: 1em;height: 1em;margin: 0.1em 0px 0px 0.5em;font-size: 85%;background: url(../img/icon/arrow-right-solid.svg) no-repeat center;background-size: 100%;transition: 0.2s;}

.example-service {
clear: both;
margin: 0 0 1.5em;
font-family: "Noto Sans JP", sans-serif;
background: rgb(255, 255, 255);
border: 2px solid rgb(204, 204, 204);
border-radius: 10px;
line-height: 1.2;
overflow: hidden;
}

.example-service dt {
padding: 12px 0;
font-size: min(4.2vw, 2.0rem);
text-align: center;
background: #f1f9ff;
}

.example-service dt::before {
content: "＼";
margin-right: 0.5em;
}

.example-service dt::after {
content: "／";
margin-left: 0.5em;
}

.example-service dd {
padding: 0 15px;
}

.example-service dd ul {
margin-bottom: 0px;
}

.example-service dd ul li {
position: relative;
padding: 13px 0px 13px 2em;
border-bottom: 1px dashed rgb(204, 204, 204);
}

.example-service dd ul li:last-child {
border-bottom: none;
}

.example-service dd ul li::before {
content: "";
position: absolute;
top: 50%;
left: 0px;
width: 1.4em;
height: 1.4em;
margin-top: -0.7em;
background: rgb(24, 151, 242);
border-radius: 100%;
}

.example-service dd ul li::after {
content: "";
position: absolute;
top: 50%;
left: 0.3em;
width: 0.55em;
height: 0.35em;
margin-top: -0.1em;
color: rgb(255, 255, 255);
border-bottom: 3px solid;
border-left: 3px solid;
transform: translateY(-50%) rotate(-45deg);
}

a.btn-service {
position: relative;
display: flex;
justify-content: space-between;
align-items: center;
min-height: 3.5em;
padding: 8px 1.2em 8px 1.6em;
color: rgb(255, 255, 255);
font-weight: bold;
background: rgb(16, 94, 151);
text-decoration: none;
text-indent: -0.5em;
text-align: left;
border-radius: 2.5em;
line-height: 1.2;
}

a.btn-service::after {
content: "";
margin: 0px -0.1em 0px 1.5em;
width: 30px;
height: 20px;
background: url(../img/icon/angle-right_white.svg) no-repeat right center;
background-size: 100%;
text-indent: 0px;
}

a.btn-service.external {
justify-content: center;
}

a.btn-service.external::before {
content: "";
margin: -0.05em 0.8em 0px 0px;
width: 25px;
height: 25px;
background: url(../img/icon/arrow-up-right_white.svg) no-repeat center;
background-size: 100%;
text-indent: 0px;
}

a.btn-service.external::after {
display: none;
}

ul.nighttime-prrice {
margin: 1em 0;
font-family: "Noto Sans JP", sans-serif;
font-weight: 600;
text-align: center;
}

.nighttime-prrice .price {
padding: 12px 0;
font-size: 140%;
color: #FFF;
background: #78bb1f;
border-radius: 5px;
line-height: 1.2;
}

.nighttime-prrice .price.blue {
background: #1897f2;
}

.nighttime-prrice .price .small {
display: block;
margin-top: 0.5em;
font-size: 1.3rem;
font-weight: 500;
}

.nighttime-prrice .sign {
padding: 5px 0;
font-size: 160%;
font-weight: 600;
line-height: 1;
}

.purchase-item {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 2em;
border: 1px solid #CCC;
border-radius: 20px;
}

.purchase-item dt {
padding: 0 0.5em;
font-size: 108%;
font-weight: bold;
background: #FFF;
line-height: 1.2;
transform: translateY(-50%);
}

.purchase-item dd {
width: 100%;
padding: 0 12px 10px;
}

.purchase-item dd ul {
display: flex;
flex-wrap: wrap;
color: #444;
font-size: 88%;
font-weight: bold;
line-height: 1.2;
}

.purchase-item dd ul li {
position: relative;
width: 33.3%;
padding: 5px 0 5px 20px;
}

.purchase-item dd ul li:before {
content: '';
position: absolute;
top: 0.9em;
left: 8px;
width: 6px;
height: 6px;
background: #1897f2;
border-radius: 100%;
transform: translateY(-50%);
}

@media (min-width: 950px) {
.service-list {
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 1% 0;
}

.service-list .service-list-item {
width: 31%;
margin: 0px 1% 2%;
}

.service-list .service-list-item .img img {
height: 240px;
}

.service-list .service-block {
flex: 1 1 0%;
display: flex;
flex-direction: column;
}

.service-list .service-block .service-body {
flex: 1;
display: flex;
flex-direction: column;
}

.service-list .service-block .service-body a.btn {
font-size: 120%;
}

.service-list .service-block .service-body a.btn:hover {
color: rgb(255, 255, 255);
background: rgb(51, 51, 51);
}

.service-list .service-block .service-body a.btn:hover i {background: url(../img/icon/arrow-right-solid_white.svg) no-repeat center;background-size: 100%;}

.example-service {
margin: 0px 0px 1.5em;
border: 3px solid rgb(204, 204, 204);
border-radius: 15px;
overflow: hidden;
}

.example-service dt {
padding: 12px 0 15px;
}

.example-service dd {
padding: 10px 20px;
}

.example-service dd ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.example-service dd ul li {
width: 49%;
}

.example-service dd ul li:nth-child(2n+1):nth-last-child(2) {
border-bottom: none;
}

a.btn-service {
display: inline-flex;
vertical-align: top;
min-width: 22em;
padding: 8px 30px;
transition: all 0.2s ease 0s;
}

a.btn-service:hover {
background: rgb(51, 137, 201);
box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 0px;
}

ul.nighttime-prrice {
display: flex;
align-items: center;
margin: 0 0 1em;
}

.nighttime-prrice .sign {
padding: 0 10px;
}

.nighttime-prrice .price {
padding: 15px 30px;
font-size: 160%;
}

.purchase-item dt {
font-size: 118%;
}

.purchase-item dd {
padding: 0 20px 10px;
}

.purchase-item dd ul li {
width: auto;
width: 16.6%;
min-width: 8em;
}

}

.storage-example {
display: flex;
margin: 0 -10px 20px;
}

.storage-example .storage-example-item {
flex: 1;
margin: 0 10px;
padding: 15px 20px;
background: #ffffdc;
}
.storage-example .storage-example-item.merit {
background: #f1f9ff;
}
.storage-example .storage-example-item.demerit {
background: #fff9f6;
}

.storage-example .storage-example-item .title {
margin-bottom: 15px;
font-weight: bold;
}
.storage-example .storage-example-item.merit .title {
	color: #147ac3;
}
.storage-example .storage-example-item.demerit .title {
	color: #f60;
}

.storage-example .storage-example-item ol,.storage-example .storage-example-item ul {
margin-bottom: 0;
font-size: 94%;
}

@media (max-width: 949px) {
.storage-example {
display: block;
margin: 0 0 20px;
}

.storage-example .storage-example-item {
margin: 0 0 15px;
padding: 10px 12px;
}

}

.storage-feature {
display: flex;
margin: 0 -10px 20px;
}

.storage-feature .storage-feature-item {
flex: 1;
margin: 0 10px;
padding: 20px 0;
border: 1px solid #DDD;
border-radius: 10px;
}

.storage-feature .storage-feature-item dt {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 15px;
font-family: 'Noto Sans JP', sans-serif;
font-size: 2.6rem;
font-weight: bold;
line-height: 1.2;
}

.storage-feature .storage-feature-item:nth-child(1) {
border: 1px solid #147ac3;
background: #f1f9ff;
}

.storage-feature .storage-feature-item:nth-child(1) dt {
color: #147ac3;
}

.storage-feature .storage-feature-item:nth-child(2) {
border: 1px solid #29b518;
background: #f4fff3;
}

.storage-feature .storage-feature-item:nth-child(2) dt {
color: #29b518;
}

.storage-feature .storage-feature-item:nth-child(3) {
border: 1px solid #e96a20;
background: #fff9f6;
}

.storage-feature .storage-feature-item:nth-child(3) dt {
color: #e96a20;
}

.storage-feature .storage-feature-item dt i {display: block;width: 1em;height: 1em;margin-bottom: 5px;font-size: 4.0rem;}

.storage-feature .storage-feature-item dt i.shield-halved {
	background: url(../img/icon/shield-halved-solid.svg) no-repeat center;
	background-size: contain;
}

.storage-feature .storage-feature-item dt i.box-open {
	background: url(../img/icon/box-open-solid.svg) no-repeat center;
	background-size: contain;
}

.storage-feature .storage-feature-item dt i.lightbulb {
	background: url(../img/icon/lightbulb-solid.svg) no-repeat center;
	background-size: contain;
}

.storage-feature .storage-feature-item dd {
font-size: 94%;
text-align: center;
}

.storage-feature .storage-feature-item dd p {
margin-bottom: 0;
}

@media (max-width: 949px) {
.storage-feature {
display: block;
margin: 0 0 20px;
}

.storage-feature .storage-feature-item {
margin: 0 0 15px;
padding: 12px 0;
}

.storage-feature .storage-feature-item dt {
flex-direction: row;
justify-content: center;
align-items: center;
font-size: 2.6rem;
margin-bottom: 12px;
}

.storage-feature .storage-feature-item dt i {
margin: 0 0.3em -0.1em 0;
font-size: 2.8rem;
}

}

table.storage-fee {
text-align: center;
}

table.storage-fee th {
width: 50%;
color: #FFF;
background: #1897f2;
text-align: center;
}

.storage-container {
display: flex;
margin: 0 -15px 10px;
}

.storage-container .storage-container-item {
flex: 1;
margin: 0 15px;
}

@media (max-width: 949px) {
.storage-container {
display: block;
margin: 0 0 15px;
}

.storage-container .storage-container-item {
margin: 0 0 15px;
}
}

.staff-list {
display: flex;
flex-wrap: wrap;
margin: 0 -15px;
}

.staff-list .staff-list-item {
display: flex;
width: 50%;
margin-bottom: 30px;
padding: 0 15px;
}

.staff-list .staff-list-item .img {
margin-right: 20px;
}

.staff-list .staff-list-item .img img {
display: block;
width: 140px;
}

.staff-list .staff-list-item .body {
flex: 1;
}

.staff-list .staff-list-item .body .name {
margin-bottom: 10px;
font-size: 108%;
font-weight: bold;
}

.staff-list .staff-list-item .body .service {
margin-bottom: 10px;
font-size: 88%;
}

.staff-list .staff-list-item .body .service:before {
content: '担当する主なサービス';
display: block;
width: 12em;
margin-bottom: 2px;
padding: 2px 0;
color: #666;
font-size: 1.05rem;
font-weight: bold;
background: #EEE;
border-radius: 100px;
text-align: center;
}

.staff-list .staff-list-item .body .comment {
margin-bottom: 0;
font-size: 88%;
}

.staff-list .staff-list-item .body .comment:before {
content: 'コメント';
display: block;
width: 6em;
margin-bottom: 2px;
padding: 2px 0;
color: #666;
font-size: 1.05rem;
font-weight: bold;
background: #EEE;
border-radius: 100px;
text-align: center;
}

@media (max-width: 949px) {
.staff-list {
display: block;
margin: 0;
}

.staff-list .staff-list-item {
width: auto;
padding: 0 0 30px;
border-bottom: 1px dotted #AAA;
}

.staff-list .staff-list-item .img img {
width: 100px;
}

}