@charset "utf-8";


/* ===============================================
   certification_mark
=============================================== */
.cont_lead {
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1.9em;
}

@media screen and (max-width: 768px) {
    .cont_lead {
        font-size: clamp(0px, 4.4dvw, 17px);
        line-height: 1.8em;
    }
}


/* ===============================================
   marks
=============================================== */
.mark_item {
    margin-top: clamp(0px, 6.7vw, 80px);
}

.mark_item:nth-of-type(1) {
    margin-top: clamp(0px, 3.8vw, 45px);
}

.mark_box {
    width: 100%;
    min-height: clamp(0px, 16.7vw, 200px);
    border: 1px solid var(--color-main);
    border-radius: 5px;
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: clamp(0px, 2.1vw, 25px) clamp(0px, 2.9vw, 35px) clamp(0px, 2.1vw, 25px) 0;
}

.mark_box .img_area {
    width: 260px;
    max-width: 31%;
}

.mark_box .text_area {
    font-size: clamp(12px, 1.4vw, 16px);
    padding-left: 1em;
    flex: 1;
}

.mark_box .text_area .mark_text {
    line-height: 1.9em;
}

.mark_box .text_area .note {
    font-size: 0.85em;
    line-height: 1.4em;
    margin-top: 0.8em;
    display: flex;
    flex-direction: column;
    gap: 0.3em 0;
}

.mark_box .text_area .note li {
    padding-left: 1em;
    text-indent: -1em;
}

.mark_link {
    width: 250px;
    aspect-ratio: 250 / 40;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: clamp(0px, 1.7vw, 20px);
}

.mark_link span {
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: var(--font-w-sb);
}

@media screen and (max-width: 768px) {
    .mark_item {
        margin-top: clamp(0px, 14.1dvw, 55px);
    }

    .mark_item:nth-of-type(1) {
        margin-top: clamp(0px, 9dvw, 35px);
    }

    .mark_box {
        min-height: 0;
        border-radius: clamp(3px, 1.3dvw, 5px);
        flex-direction: column;
        padding: clamp(0px, 6.4dvw, 25px) clamp(0px, 6.4dvw, 25px) clamp(0px, 7.7dvw, 30px);
    }

    .mark_box .img_area {
        width: 100%;
        max-width: 100%;
        margin-bottom: clamp(0px, 5.1dvw, 20px);
    }

    .mark_box .text_area {
        font-size: clamp(0px, 4.1dvw, 16px);
        padding-left: 0;
    }

    .mark_box .text_area .mark_text {
        line-height: 1.6em;
    }

    .mark_link {
        width: 100%;
        aspect-ratio: 280 / 50;
        margin-top: clamp(0px, 5.1dvw, 20px);
    }

    .mark_link span {
        font-size: clamp(0px, 4.1dvw, 16px);
    }
}


/* ===============================================
   recyclemark
=============================================== */
.recyclemark .cont_lead {
    margin-top: 1em;
}

.recyclemark_sec {
    margin-top: clamp(0px, 5.8vw, 70px);
}

@media screen and (max-width: 768px) {
    #page_cont_box.recyclemark {
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
    
    #page_title.recyclemark::before {
        top: -45%;
    }
    
    .recyclemark .page_title {
        line-height: 1.3em;
    }
    
    .sp_pd {
        padding-left: clamp(0px, 5.1dvw, 20px);
        padding-right: clamp(0px, 5.1dvw, 20px);
    }
    
    .recyclemark_sec {
        margin-top: clamp(0px, 15.4dvw, 60px);
    }
}

.mark_use {
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.recyclemark_box {
    border: 1px solid var(--color-main);
    background-color: #fff;
    border-radius: clamp(3px, 0.4vw, 5px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(0px, 1.7vw, 20px) 0;
}

.recyclemark_box.box1 {
    width: 280px;
    max-width: 31.5%;
}
.recyclemark_box.box2 {
    width: 520px;
    max-width: 58%;
}

.recyclemark_box_inner {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 0 19%;
}

.recyclemark_box_inner .item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.recyclemark_box .text_em {
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: var(--font-w-b);
    color: var(--color-main);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.4em;
    margin-bottom: 1em;
    min-height: 2.4em;
}

.recyclemark_box .text_em small {
    font-size: 0.85em;
    font-weight: var(--font-w-b);
}

.recyclemark_box .text {
    width: 100%;
    display: flex;
    justify-content: center;
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1.5em;
}

.recyclemark_box.box1 .text {
    text-align: center;
}

.recyclemark_box .text2 {
    display: flex;
    align-items: center;
}

.recyclemark_box .text2 .blue_box {
    width: clamp(0px, 4.2vw, 50px);
    aspect-ratio: 1 / 1;
    font-size: clamp(11px, 1.3vw, 15px);
    line-height: 1.2em;
    font-weight: var(--font-w-sb);
    background-color: var(--color-main);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-right: 0.5em;
}

.recyclemark_box .img_area {
    width: 100%;
    height: clamp(0px, 12.3vw, 148px);
    margin-bottom: clamp(0px, 1.5vw, 18px);
}

.recyclemark_box .img_area img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mark_use_arrow {
    width: 25px;
    max-width: 3%;
    position: relative;
    display: flex;
    align-items: center;
}

.mark_use_arrow::before {
    content: "";
    background-color: var(--color-main);
    width: 100%;
    aspect-ratio: 25 / 45;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .mark_use {
        flex-direction: column;
        gap: clamp(0px, 5.1dvw, 20px) 0;
    }

    .recyclemark_box {
        border-radius: clamp(2px, 1.3dvw, 5px);
        padding: clamp(0px, 6.4dvw, 25px) clamp(0px, 3.8dvw, 15px);
    }

    .recyclemark_box.box1,
    .recyclemark_box.box2 {
        width: 100%;
        max-width: 100%;
    }

    .recyclemark_box_inner {
        flex-direction: column;
        gap: clamp(0px, 14.1dvw, 55px) 0;
    }

    .recyclemark_box_inner .item + .item {
        position: relative;
    }
    
    .recyclemark_box_inner .item + .item::before {
        content: "";
        width: 90%;
        height: 1px;
        background-color: var(--color-main);
        position: absolute;
        top: -12%;
        left: 0;
        right: 0;
        margin: auto;
    }

    .recyclemark_box .text_em {
        min-height: 0;
        font-size: clamp(0px, 4.4dvw, 17px);
        margin-bottom: 0.7em;
    }
    
    .recyclemark_box .text_em small {
        font-size: 1em;
    }
    
    .recyclemark_box .text {
        font-size: clamp(0px, 4.4dvw, 17px);
    }

    .recyclemark_box .text2 {
        display: flex;
        align-items: center;
        margin-top: clamp(0px, 3.8dvw, 15px);
    }

    .recyclemark_box .text2 .blue_box {
        width: clamp(0px, 13.9dvw, 50px);
        font-size: clamp(0px, 3.8dvw, 15px);
        margin-right: 0.8em;
    }

    .recyclemark_box .img_area {
        height: clamp(0px, 38.5vw, 150px);
        margin-bottom: 0;
    }

    .mark_use_arrow {
        width: 100%;
        max-width: 100%;
        height: 20px;
    }

    .mark_use_arrow::before {
        width: clamp(0px, 11.5dvw, 45px);
        aspect-ratio: 45 / 20;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        left: 0;
        right: 0;
    }
}

.mark_about_list li {
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1.5em;
    margin-top: 1em;
    padding-left: 1em;
    position: relative;
}

.mark_about_list li::before {
    content: "●";
    color: #4fc3fa;
    font-size: 0.7em;
    width: 1em;
    height: 1em;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
}

.mark_about_list li .note {
    font-size: 0.85em;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: 0.3em;
}

.audience {
    margin-top: clamp(0px, 2.5vw, 30px);
}

.audience dt {
    font-size: clamp(12px, 1.4vw, 16px);
    font-weight: var(--font-w-sb);
    background-color: #4fc3fa;
    color: #fff;
    display: inline-block;
    margin-bottom: 0.5em;
    padding: 0.3em 1.5em;
    border-radius: 50px;
}

.audience dd {
    font-size: clamp(12px, 1.4vw, 16px);
    line-height: 1.9em;
    margin-bottom: 1em;
    padding-left: 2em;
}

@media screen and (max-width: 768px) {
    .mark_about_list li {
        font-size: clamp(0px, 4.4dvw, 17px);
    }

    .audience {
        margin-top: clamp(0px, 6.4dvw, 25px);
    }

    .audience dt {
        width: 100%;
        font-size: clamp(0px, 4.4dvw, 17px);
        line-height: 1.3em;
        text-align: center;
        aspect-ratio: 320 / 60;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .audience dd {
        font-size: clamp(0px, 4.4dvw, 17px);
        line-height: 1.5em;
        padding-left: 0;
        margin-bottom: 1.5em;
    }
}

.mark_merit {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.mark_merit_box {
    width: 280px;
    max-width: 31.5%;
    aspect-ratio: 280 / 170;
    border: 1px solid var(--color-main);
    background-color: #fff;
    border-radius: clamp(3px, 0.4vw, 5px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.mark_merit_box .merit_img {
    max-width: 31%;
}

.mark_merit_box .merit_text {
    font-size: clamp(12px, 1.4vw, 16px);
    text-align: center;
    line-height: 1.5em;
}

@media screen and (max-width: 768px) {
    .mark_merit {
        flex-direction: column;
        gap: clamp(0px, 3.8dvw, 15px) 0;
    }

    .mark_merit_box {
        width: 100%;
        max-width: 100%;
        aspect-ratio: 330 / 110;
        border-radius: clamp(2px, 1.3dvw, 5px);
        flex-direction: row;
        justify-content: flex-start;
    }

    .mark_merit_box .merit_img {
        width: 115px;
        max-width: 30%;
        text-align: center;
    }
    
    .mark_merit_box .merit_img img {
        max-width: clamp(0px, 20.5dvw, 80px);
    }

    .mark_merit_box .merit_text {
        font-size: clamp(0px, 4.4dvw, 17px);
        text-align: left;
    }
}

.mark_flow {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.mark_flow_box {
    width: 260px;
    max-width: 29%;
    border: 1px solid var(--color-main);
    background-color: #fff;
    border-radius: clamp(3px, 0.4vw, 5px);
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    padding: clamp(0px, 1.7vw, 20px) clamp(0px, 1vw, 12px);
}

.mark_flow_box .nb {
    width: 25px;
    max-width: 10%;
    position: absolute;
    top: 6%;
    left: 6%;
}

.mark_flow_box .img_wrap {
    text-align: center;
}

.mark_flow_box .flow_img {
    width: clamp(0px, 13vw, 150px);
}

.mark_flow_box .text_em {
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: var(--font-w-b);
    color: var(--color-main);
    margin-top: 1.2em;
}

.mark_flow_box .text {
    line-height: 1.5em;
    text-align: center;
    margin-top: 1em;
}

.mark_flow .arrow {
    width: 22px;
    max-width: 3%;
    position: relative;
    display: flex;
    align-items: center;
}

.mark_flow .arrow::before {
    content: "";
    background-color: var(--color-main);
    width: 100%;
    aspect-ratio: 22 / 45;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .mark_flow {
        flex-direction: column;
        gap: clamp(0px, 5.1dvw, 20px) 0;
    }

    .mark_flow_box {
        width: 100%;
        max-width: 100%;
        border-radius: clamp(2px, 1.3dvw, 5px);
        flex-direction: row;
        padding: clamp(0px, 3.8dvw, 15px) clamp(0px, 3.1dvw, 12px);
    }

    .mark_flow_box .nb {
        max-width: 7.6%;
        left: 3%;
    }
    
    .mark_flow_box .img_wrap {
        width: 43%;
        display: flex;
        flex-direction: column-reverse;
    }

    .mark_flow_box .flow_img {
        width: clamp(0px, 30.8dvw, 120px);
    }

    .mark_flow_box .text_em {
        font-size: clamp(0px, 4.4dvw, 17px);
        font-weight: var(--font-w-b);
        letter-spacing: 0;
        text-align: left;
        color: var(--color-main);
        margin: 0 0 1em 21%;
        white-space: nowrap;
    }

    .mark_flow_box .text {
        flex: 1;
        text-align: left;
        margin-top: 0;
        margin-left: 0.5em;
    }

    .mark_flow .arrow {
        width: 100%;
        max-width: 100%;
        height: 20px;
    }

    .mark_flow .arrow::before {
        width: clamp(0px, 11.5dvw, 45px);
        aspect-ratio: 45 / 20;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        left: 0;
        right: 0;
    }
}

.recyclemark_link_list {
    display: flex;
    justify-content: space-between;
    margin-bottom: clamp(0px, 5.8vw, 70px);
}

.recyclemark_link_list .recyclemark_link {
    width: 430px;
    max-width: 48%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.recyclemark_link_list a {
    width: 100%;
    aspect-ratio: 430 / 100;
    display: flex;
    align-items: center;
}

.recyclemark_link_list a .icon {
    width: 120px;
    max-width: 29%;
}

.recyclemark_link_list a .text {
    font-size: clamp(14px, 1.5vw, 18px);
    font-weight: var(--font-w-b);
    line-height: 1.3em;
    text-align: center;
}

.recyclemark_link_list a + .text {
    margin-top: 0.8em;
    line-height: 1.5em;
}

@media screen and (max-width: 768px) {
    .recyclemark_link_list {
        flex-direction: column;
        gap: clamp(0px, 7.7dvw, 30px) 0;
        margin-bottom: clamp(0px, 20.5dvw, 80px);
    }
    
    .recyclemark_link_list .recyclemark_link {
        width: 100%;
        max-width:100%;
    }

    .recyclemark_link_list a {
        width: 100%;
        max-width:100%;
        aspect-ratio: 330 / 130;
        flex-direction: column;
        justify-content: center;
    }

    .recyclemark_link_list a .icon {
        width: clamp(0px, 30.8dvw, 120px);
        max-width: 100%;
    }

    .recyclemark_link_list a .text {
        font-size: clamp(0px, 4.4dvw, 17px);
        margin-top: 0.3em;
    }
    
    .recyclemark_link_list a + .text {
        margin-top: 0.5em;
        text-align: center;
    }
}


/*-- 問合せフォーム
-------------------------------------------------- */	
div.formWrap{
	padding: 24px;
	border: 6px solid #CDDDF3;
	margin: 12px;
    background-color: #fff;
}

div.formWrap p {
    margin-bottom: 1.5em;
}

div.formWrap ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

div.formWrap ul li{
	margin: 0;
	padding: 1em;
	border-bottom: 1px dotted #ccc;
}

div.formWrap .w100{
	width: 100%;
}

div.formWrap .w70{
	max-width: 70%;
}

div.formWrap input,
div.formWrap textarea{
	border: 1px solid #ccc;
	margin: 6px 0;
	padding: 2px 6px;
}

div.formWrap input {
    cursor: pointer;
}

.magBot6 {
    margin-bottom: 6px;
    display: inline-block;
}

@media screen and (max-width: 768px) {
	div.formWrap{
		padding: 6px;
    }
}

.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}



/*-- 
-------------------------------------------------- */	
.contact_head {
	margin-bottom: clamp(0px, 8.3vw, 100px);
}

.contact_head .list_order_1 > li {
	letter-spacing: 0;
	line-height: 1.9em;
}

.required {
	font-size: clamp(0px, 1vw, 12px);
	color: #f00;
	display: inline-block;
	margin-left: 0.5em;
}

.box_link {
  font-size: clamp(0px, 1.5vw, 18px);
  font-weight: var(--font-w-sb);
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.3em 2em 0.4em 0.5em;
}

.box_link_s {
  width: clamp(0px, 33.33vw, 400px);
  max-width: 100%;
  margin: 0 auto;
}

.box_link_center {
  padding: 0.3em 2em 0.4em;
}

.complete .cont_title {
  text-align: center;
}

.complete .text {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .contact_head {
    margin-bottom: clamp(0px, 15.4dvw, 60px);
  }

	.contact_head .list_order_1 > li {
		line-height: 1.8em;
	}

	.required {
		font-size: clamp(0px, 3.1dvw, 12px);
		color: #f00;
	}

  .box_link {
    width: 100%;
    min-height: clamp(0px, 15.4dvw, 60px);
    font-size: clamp(0px, 4.6dvw, 18px);
    text-align: center;
    padding: 0.2em 2em 0.3em 0.5em;
  }

  .box_link_s {
    width: clamp(0px, 74.4dvw, 290px);
  }

  .box_link_center {
    padding: 0.2em 2em 0.3em;
  }

  .complete .text {
    text-align: left;
  }
}

