@charset "UTF-8";

/* ------------------------------------
COMMON
------------------------------------ */

#top #first_load{
    display: block !important;
 }

#all_wrap{
    overflow: clip;
}

#header{
    pointer-events: none;
    visibility: hidden;
    display: none;
}

.font_acumin-pro{
    font-family: "acumin-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.btn_wrap .btn .flex-text .text{
    font-size: inherit;
}

body{
    min-width: 375px;
}

.p-lp_content{
    color: #333333;
    letter-spacing: normal;
 }

 /* ------------ .m-select_radio_wrap ------------ */

.m-select_radio_wrap{
    position: relative;
}

.m-select_radio_wrap,
.m-select_radio_wrap *{
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.m-select_radio_list_field{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: none;
    opacity: 0;

 }

 .m-select_radio_list_zone{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    white-space: nowrap;
 }

 .m-select_radio_list_bg{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 200vh;
    z-index: 1;
    background-color: rgba(0,0,0,0.0);
 }

.m-select_radio_list_area{
    position: absolute;
    /*top: 20px;*/
    bottom: 0;
    left: 0;
    min-width: 100%;
    border-radius: 4px;
    background-color: #ffffff;
    box-shadow: 0px 3px 6px 0 rgba(0,0,0,0.16);
    overflow: hidden;
    font-size: 18px;
    line-height: 1;
    color: #ACA89D;
    padding: 0 0 0 0;
    min-width: 200px;
    width: 100%;
}

.m-select_radio_wrap.type_overflow .m-select_radio_list_area{
    padding: 0 0 38px 0;
}

.m-select_radio_list_wrap{
    height: 100%;
}

.m-select_radio_wrap.type_overflow .m-select_radio_list_wrap{
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
    overscroll-behavior: none;
}

.m-select_radio_list{
    padding: 0.5em 0 0.5em 0;
}

.m-select_radio_list_item{

}

.m-select_label{
    cursor: pointer;
    display: block;
    padding: 0.5em 1.2em;
}

.m-select_label input{
    display: none;
}

.m-select_label .m-select_text{
    display: block;
    overflow: hidden;
}

.m-select_label input:checked + .m-select_text{
    color: #000000;
}

.m-select_radio_arrow{
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    background-image: url(../img/icon_select_arrow.svg);
    background-size: 11px auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-color: #ffffff;
    height: 38px;
    cursor: pointer;
}

.m-select_radio_wrap.type_overflow .m-select_radio_arrow{
    display: block;
}

/* ------------ .m-input_label ------------ */

.m-input_label{
	display: inline-block;
	font-size: 18px;
	line-height: 1.6;
	cursor: pointer;
}

@media screen and (max-width:700px) {
    .m-input_label{
        font-size: 16px;
    }
}

.m-input_label input{
	display: none;
}

.m-input_label .m-input_text{
	position: relative;
	padding: 0 0 0 1.7em;
	display: inline-block;
	vertical-align: bottom;
}

.m-input_label input[type="checkbox"] + .m-input_text:before,
.m-input_label input[type="radio"] + .m-input_text:before{
	content: "";
	position: absolute;
	top: 0.8em;
	left: 0;
	width: 1.16em;
	height: 1.16em;
	margin: -0.583em 0 0 0;
	border: 1px solid #707070;
	background-color: #fff;
	display: block;
}

/* .m-input_label input[type="radio"] */

.m-input_label input[type="radio"] + .m-input_text:after{
	content: "";
	position: absolute;
	top: 0.8em;
	left: 0.22em;
	margin:  -0.36em 0 0 0;
	width: 0.72em;
	height: 0.72em;
	display: none;
	background-color: #009B63;
}

.m-input_label input[type="radio"] + .m-input_text:before,
.m-input_label input[type="radio"] + .m-input_text:after{
	border-radius: 100%;
}

.m-input_label input[type="radio"]:checked + .m-input_text:before,
.m-input_label.radio_type.gc-active .m-input_text:before{

}

/* .m-input_label input[type="checkbox"] */

.m-input_label input[type="checkbox"] + .m-input_text:before,
.m-input_label.checkbox_type + .m-input_text:before{
    border-radius: 4px;
}

.m-input_label input[type="checkbox"] + .m-input_text:after{
    content: "";
    position: absolute;
    top: 0.8em;
    left: 0.11em;
    width: 0.94em;
    height: 0.72em;
    margin:  -0.36em 0 0 0;
    background-image: url(../img/icon_check_arrow.svg);
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: top left;
    display: none;
}

.m-input_label input[type="checkbox"]:checked + .m-input_text:before{
    background-color: #009B63;
    border-color: #009B63;
}

.m-input_label input[type="radio"]:checked + .m-input_text:after,
.m-input_label input[type="checkbox"]:checked + .m-input_text:after{
	display: block;
}

/*
.m-input_error .m-input_label input[type="checkbox"] + .m-input_text:before,
.m-input_error .m-input_label input[type="radio"] + .m-input_text:before,
.m-input_error .m-input_label.checkbox_type .m-input_text:before,
.m-input_error .m-input_label.radio_type .m-input_text:before{
	border-color: #FB4848;
	background-color: #FEEFEF;
}*/

.m-select_radio_wrap{

}

.m-select_radio{
    cursor: pointer;
}

.m-contact_parts input[type="text"],
.m-contact_parts input[type="tel"],
.m-contact_parts input[type="email"],
.m-contact_parts textarea,
.m-select_box,
.m-select_radio{
    font-size: 18px;
    line-height: 1.75;
    padding: 10px 24px;
    border: 1px solid #B7B8BE;
    border-radius: 4px;
    min-height: 52px;
    width: 100%;
}

.m-contact_parts input[type="text"].gc-error,
.m-contact_parts input[type="tel"].gc-error,
.m-contact_parts input[type="email"].gc-error,
.m-contact_parts textarea.gc-error{
    border-color: #E85C13;
    background-color: #FDF4ED;
}

.p-input_error{
    font-size: 14px;
    color: #E85C13;
    margin: 9px 0 0 0;
}

.m-select_box,
.m-select_radio{
    position: relative;
    padding-left: 18px;
    padding-right: 18px;
    white-space: nowrap;
}

@media screen and (max-width: 700px) {
    .m-contact_parts input[type="text"],
    .m-contact_parts input[type="tel"],
    .m-contact_parts input[type="email"],
    .m-contact_parts textarea,
    .m-select_box,
    .m-select_radio{
        font-size: 16px;
        padding: 10px 12px;
    }
    .m-select_box,
    .m-select_radio{
        padding-left: 12px;
        padding-right: 12px;
    }
}

.m-select_box_in,
.m-select_radio_in{
    position: relative;
    padding: 0 15px 0 0;
}

.m-select_box_in::after,
.m-select_radio_in::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 11px;
    height: 7px;
    margin: -3.5px 0 0 0;
    background-image: url(../img/icon_select_arrow.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
    pointer-events: none;
}

.m-select_box select{
    -webkit-appearance: none;
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.m-select_box_text,
.m-select_radio_text{
    overflow: hidden;
    height: 1.75em;
}

.m-contact_parts textarea{
    height: 260px;
}

.m-contact_parts input[type="text"]:focus,
.m-contact_parts input[type="tel"]:focus,
.m-contact_parts input[type="email"]:focus,
.m-contact_parts textarea:focus{
    border-color: #009B63;
    border-width: 2px;
    padding: 9px 23px;
}

/* ------------ .m-contact_parts_wrap ------------ */

.m-contact_parts_wrap{
    margin: 50px 0 70px 0;
}

.m-contact_parts_wrap:last-child{
    margin-bottom: 0;
}

.m-contact_parts{
    margin: 0 0 54px 0;
}

.m-contact_parts:last-child{
    margin-bottom: 0;
}

@media screen and (max-width: 700px) {
    .m-contact_parts_wrap{
        margin: 35px 0 50px 0;
    }
    .m-contact_parts{
        margin: 0 0 30px 0;
    }
}

.m-contact_parts_head{
    margin: 0 0 18px 0;
}

.m-contact_parts_head_in{
    display: flex;
    align-items: center;
}

.m-contact_parts_title01{
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.p-contact_icon{
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: #FFFFFF;
    padding: 4px 8px;
    background-color: #009B63;
    border-radius: 9999px;
    margin: 0 0 0 10px;
}

@media screen and (max-width: 700px) {
    .m-contact_parts_title01{
        font-size: 19px;
    }
}

.m-contact_parts_in{

}

/* ------------ .p-main_content_wrap ------------ */

.p-main_content_wrap{
    padding: 0 30px;
}

.p-main_content{
    max-width: 1120px;
    margin: 0 auto;
}

@media screen and (max-width:700px) {
    .p-main_content_wrap{
        padding: 0 15px;
    }
}

/* ------------ .p-img_thumb ------------ */

.p-img_thumb{
	position: relative;
	overflow: hidden;
	padding-bottom: 66.6%;
    background-color: #eee;
}
.p-img_thumb img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/* ------------ .p-header ------------ */

:root{
    --header_height: 132px;
}

@media screen and (max-width:700px) {
    :root{
        --header_height: 100px;
    }
}


#header_in{
    height: var(--header_height);
}

/*
html,
body{
    overflow: scroll;
    scroll-padding: var(--header_height);
}*/

.p-header{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20000;
    width: 100%;
    height: var(--header_height);
    padding-bottom: 6px;
    background-color: rgba(255,255,255,1);
    padding-left: 0;
    transition: background-color 0.4s ease 0s;
}

.p-header:after{
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(to left, rgba(205,252,180,1) 0%,rgba(92,248,140,1) 18%,rgba(75,147,118,1) 56%,rgba(105,209,122,1) 100%);
    background-size: 100% 100%;
    background-position: left bottom;
    background-repeat: no-repeat;
    transition: opacity 0.4s ease 0s;
}

.p-header_in{
    max-width: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-header_func{
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.p-header_func:before{
    content: "";
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    width: 100%;
    height: 10px;
    background-color: #FFFFFF;
}

.p-header_logo{
    padding: 30px 40px 20px 30px;
    background-color: #FFFFFF;
    border-radius: 0 0 20px 0;
    height: 110px;
}

@media screen and (max-width:700px) {
    .p-header_logo{
        padding-left: 15px;
        height: 90px;
        padding: 20px 20px 10px 15px;
    }
}

.p-toppage .p-header{
    background-color: rgba(255,255,255,0);
}

.p-toppage .p-header:after{
    opacity: 0;
}

.normal .p-toppage .p-header_nav_list a:hover{
    color: #fff;
}

.normal.main_vision_active .p-toppage .p-header_nav_list a:hover{
    color: #009B63;
}

.normal.gc-p-header_nav_active.p-toppage .p-header_nav_list a:hover{
    color: #009B63;
}

.main_vision_active .p-toppage .p-header{
    background-color: rgba(255,255,255,1);
    height: var(--header_height);
}

.p-toppage .p-main_nav_switch .p-bar{
    background-color: #fff;
}

.main_vision_active .p-toppage .p-main_nav_switch .p-bar{
    background-color: #009B63;
}

.main_vision_active .p-toppage .p-main_nav_switch .p-bar{
    background-color: #009B63;
}

.gc-p-header_nav_active .p-toppage .p-main_nav_switch .p-bar{
    background-color: #009B63;
}

.main_vision_active .p-toppage .p-header:after{
    opacity: 1;
}

.p-header_logo_in{

}

.p-header_logo01{
    margin: 0 0 10px 0;
}

.p-header_logo_text{
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
}

.p-header_nav_zone{
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
}

.p-header_nav_area{

}

.p-header_nav_wrap{
}

.p-header_nav{
    display: flex;
    align-items: center;
    max-width: none;
}

.p-header_nav_list{
    display: flex;
}

.p-header_nav_list_item{
    margin: 0 20px 0 0;
}

.p-header_nav_list_item:last-child{
    margin-right: 0;
}

.p-header_nav_list_item a{
    text-decoration: none !important;
    transition: color 0.4s ease 0s;;
}

.normal .p-header_nav_list_item a:hover{
    color: #009B63;
}

.gc-p-header_nav_active .p-main_nav_switch .p-bar.bar03{
	transform: rotate(-45deg);
	top: 28px;
}

.p-header_nav_btn{
    margin: 0 0 0 45px;
    max-width: 242px;
}

@media screen and (max-width:1230px) {
    .p-header_nav_list_item{
        margin: 0 10px 0 0;
    }
    .p-header_nav_btn{
        margin: 0 0 0 22px;
    }
    .p-header_logo{
        padding-right: 20px;
    }
}

@media screen and (min-width:1131px) {
    .p-header_nav_wrap{
        padding-left: 0;
        padding-right: 0;
    }
    .p-header_nav_zone{
        display: block !important;
    }
}

@media screen and (max-width:1130px) {
    .p-header_nav_zone{
        display: none;
    }
    .p-header_func{
        width: 100%;
    }

    /* .p-header_nav_zone */

    .p-header_nav_zone{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        font-size: 20px;
        background-color: #FFFFFF;
    }

    .p-header_nav_area{
        overflow-x: hidden;
        overflow-y: scroll;
        -webkit-overflow-scrolling: touch;
        height: 100%;
        text-align: center;
        white-space: nowrap;
    }

    .p-header_nav_area::after {
        content: "";
        display: inline-block;
        vertical-align: middle;
        height: 100%;
    }

    .p-header_nav_wrap{
        display: inline-block;
        vertical-align: middle;
        padding-top: calc( 40px + var(--header_height) );
        padding-bottom: calc( 40px + var(--header_height) );
    }

    .p-header_nav{
        display: block;
    }

    .p-header_nav_list{
        display: block;
    }

    .p-header_nav_list_item{
        margin: 0 0 30px 0;
    }

    .p-header_nav_list_item:last-child{
        margin-bottom: 0;
    }

    .p-header_nav_list_item a{
        display: inline-block;
    }

    .normal .p-header_nav_list_item a:hover{
        color: #009B63;
    }

    .p-header_nav_btn{
        margin: 40px 0 0 0;
    }

}

@media screen and (max-width:700px) {
    .p-header_logo_text{
        font-size: 12px;
    }

}

/* .btn_wrap.type_p-header */

.btn_wrap.type_p-header{
}

.btn_wrap.type_p-header .btn_block,
.btn_wrap.type_p-header .btn{
	min-height: 60px;
    border-radius: 9999px;
    background-color: transparent;
}

.btn_wrap.type_p-header .btn{
    position: relative;
    overflow: hidden;
    font-size: 15px;
    letter-spacing: -0.02em;
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
    transition: color 0.4s ease 0s;
}

.btn_bg{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    z-index: 2;
    background-color: #ffffff;
    padding: 2px;
}

.btn_bg:before,
.btn_bg:after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
}

.btn_bg:before{
    background: linear-gradient(to bottom, #2ed196 0%,#009b63 100%);
    transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-header .btn:hover .btn_bg:before{
    opacity: 0;
}

.btn_bg:after{
    background:linear-gradient(to bottom, rgba(205,252,180,1) 0%,rgba(92,248,140,1) 18%,rgba(75,147,118,1) 56%,rgba(105,209,122,1) 100%);
    opacity: 0.52;
     transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-header .btn:hover .btn_bg:after{
    opacity: 1;
}

.btn_bg_in{
    position: relative;
    padding: 2px;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    z-index: 2;
    overflow: hidden;
    background-color: #fff;
}

.btn_bg_in:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.btn_bg_in:before{
    background: linear-gradient(to bottom, #2ed196 0%,#009b63 100%);
    transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-header .btn:hover .btn_bg_in:before{
    opacity: 0;
}

.btn_wrap.type_p-header .btn .flex-text{
    position: relative;
    z-index: 2;
}

.normal .btn_wrap.type_p-header .btn:hover{
    color: #009B63;
}

.normal .btn_wrap.type_p-header .btn:hover:before{
    opacity: 0;
}

/*
.normal .btn_wrap.type_p-header .btn:hover{
  opacity: 0.7;
}

.btn_wrap.type_p-header .btn .flex-text .text{
    font-size: inherit;
}*/

/* .p-main_nav_switch */

.p-main_nav_switch_wrap{
	display: none;
	margin: 0 -12px 0 0;
}

.p-main_nav_switch_wrap,
.p-main_nav_switch{
	width: 76px;
	height: 76px;
}

.p-main_nav_switch{
	position: relative;
	cursor: pointer;
}

.p-main_nav_switch_in{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 24px;
	margin: -12px 0 0 -25px;
}

.p-main_nav_switch .p-bar{
	position: absolute;
	left: 0;
	width: 50px;
	height: 2px;
	border-radius: 9999px;
	background-color: #009B63;
	transform-origin: 0 50%;
	transition: top 0.4s ease 0s, left 0.4s ease 0s, transform 0.4s ease 0s;
}

.p-main_nav_switch .p-bar.bar01{
	top: 0;
}

.p-main_nav_switch .p-bar.bar02{
	top: 11px;
}

.p-main_nav_switch .p-bar.bar03{
	top: 22px;
}

.gc-p-header_nav_active .p-main_nav_switch .p-bar{
	left: 7px;
}

.gc-p-header_nav_active .p-main_nav_switch .p-bar.bar01{
	transform: rotate(45deg);
	top: -6px;
}

.gc-p-header_nav_active .p-main_nav_switch .p-bar.bar02{
	display: none;
}

.gc-p-header_nav_active .p-main_nav_switch .p-bar.bar03{
	transform: rotate(-45deg);
	top: 28px;
}

@media screen and (max-width:1130px) {
    .p-main_nav_switch_wrap{
        display: block;
    }
}

/* ------------ .p-fix_obj ------------ */

.p-fix_obj{
    font-size: 100px;
    display: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 20000;
}

.p-fix_obj_in{
    position: relative;
    width: 1.5em;
    height: 1.5em;
    border-radius: 100%;
    background-color: #FDEA00;
    border: 0.05em solid #FFFFFF;
    transform-origin: 50% 50%;
    transition: transform 0.4s ease 0s;
}

.normal .p-fix_obj a:hover .p-fix_obj_in{
    transform: scale(1.2,1.2);
}

.p-fix_obj_text,
.p-fix_obj_title{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.p-fix_obj_title{
    font-size: 0.17em;
    font-weight: 500;
    line-height: 1.529;
    text-align: center;
}

.p-fix_obj_text{
    animation: fix_rotate 20s linear infinite;
    transform-origin: 50% 50%;
}


@keyframes fix_rotate {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@media screen and (max-width:700px) {
    .p-fix_obj{
        font-size: 66px;
        bottom: 10px;
        right: 10px;
    }
}

/* ------------ .p-footer ------------ */

#p-footer{

}

.p-footer{
    background-color: #f5f5f5;
    padding-top: 35px;
    padding-bottom: 80px;
}

.p-footer_in{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.p-footer_in > *{
    padding: 0 10px;
}

.p-footer_logo{

}

.p-footer_logo_in{

}

.p-footer_logo01{
    padding: 2px;
    display: inline-block;
    vertical-align: bottom;
    background-color: #ffffff;
}

.p-footer_logo_text{
    font-size: 14px;
    line-height: 1;
    margin: 6px 0 0 0;
}

.p-footer_nav{
    display: flex;
    align-items: flex-end;
    white-space: nowrap;
    line-height: 1;
}

.p-footer_nav_list{
    display: flex;
    flex-wrap: wrap;
    width: 390px;
    margin: 0 0 -24px 0;
}

.p-footer_nav_list_item{
    padding: 0 0 24px 0;
}

@media screen and (min-width:1131px) {

    .p-footer_nav_list_item:nth-child(3n + 1){
        width: 130px;
    }

    .p-footer_nav_list_item:nth-child(3n + 2){
        width: 180px;
    }

    .p-footer_nav_list_item:nth-child(3n + 3){
        width: 80px;
    }

}

.p-footer_nav_btn{
    text-align: center;
    white-space: nowrap;
}

.p-footer_nav_btn_title01{
    font-size: 14px;
    font-weight: 500;
    color: #009B63;
    line-height: 1;
    margin: 0 0 22px 0;
}

.p-footer_nav_btn_in{
    max-width: 270px;
    margin: 0 auto;
}

@media screen and (max-width:1130px) {
    .p-footer_nav{
        justify-content: center;
        width: 100%;
        order: 3;
        margin: 50px 0 0 0;
    }
    .p-footer_nav_list{
        width: auto;
         margin: 0 -24px -24px 0;
         justify-content: center;
    }
    .p-footer_nav_list_item{
        width: auto;
        padding: 0 24px 24px 0;
    }
}

@media screen and (max-width: 700px) {
    .p-footer_logo{
        order: 1;
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .p-footer_nav{
        order: 2;
        margin: 50px 0;
    }
    .p-footer_nav_btn{
        width: 100%;
        order: 3;
    }
}

/* .btn_wrap.type_p-footer */

.btn_wrap.type_p-footer{
}

.btn_wrap.type_p-footer .btn_block,
.btn_wrap.type_p-footer .btn{
	min-height: 58px;
	border-radius: 8px;
}

.btn_wrap.type_p-footer .btn{
    font-size: 15px;
    letter-spacing: 0em;
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
    background: linear-gradient(to bottom, #2ed196 0%,#009b63 100%);
    transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-footer .btn:hover{
  opacity: 0.7;
}


/* ------------ .p-page_vision ------------ */

.p-page_vision_wrap{
}

.p-page_vision{
    position: relative;
    height: 560px;
    padding: 40px 30px;
    overflow: hidden;
}

.p-page_vision_img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 8px;
}

.p-page_vision_title{
    display: inline-flex;
    position: relative;
    font-size: 140px;
    font-family: "acumin-pro", sans-serif;
    font-weight: 200;
    line-height: 1;
    color: #FFFFFF;
    white-space: nowrap;
    opacity: 0.5;
    z-index: 1;
    margin: -25px 0 0 0;
    animation: text_flow 10s linear infinite;
}

.p-page_vision_title span{
    padding: 0 0.2em;
}


@keyframes text_flow {
    0% {
        transform: translateX(0%);
    }
    100% {
        transform: translateX(-25%);
    }
}

@media screen and (max-width:900px) {
    .p-page_vision{
        height: 280px;
        padding: 20px 15px;
    }
    .p-page_vision_title{
        font-size: 70px;
        margin: -12.5px 0 0 0;
    }
}

/* ------------ .p-title01 ------------ */

.p-title01{
    display: flex;
    justify-content: center;
}

.p-title01_in{
    display: flex;
    align-items: center;
}

.p-title01_img{
    line-height: 0;
    color: #009E41;
}

.p-title01_text{
    font-size: 26px;
    font-weight: 600;
    letter-spacing: -0.02em;
    /*margin: 0 0 0 15px;*/
    margin: 0 0 0 15px;
}

@media screen and (max-width:700px) {
    .p-title01_in{
        display: block;
        text-align: center;
    }

    .p-title01_in > *{
        display: block;
    }

    .p-title01_text{
        font-size: 22px;
        margin: 15px 0 0 0;
    }
}

/* ------------ .p-list01 ------------ */

.p-list01{
    font-size: 18px;
    font-weight: 700;
}

.p-list01 li{
    position: relative;
    padding: 0 0 0 2em;
    margin: 0 0 1.22em 0;
}

.p-list01 li:last-child{
    margin-bottom: 0;
}

.p-list01 li:before{
    content: "";
    position: absolute;
    top: 0.555em;
    left: 0;
    width: 0.888em;
    height: 0.888em;
    border-radius: 100%;
    background-color: #55CC83;
}

@media screen and (max-width:700px) {
    .p-list01{
        font-size: 16px;
        font-weight: 700;
    }

    .p-list01 li{
        padding: 0 0 0 1.3em;
        margin: 0 0 0.685em 0;
    }
}

/* ------------ .p-info_box ------------ */

.p-info_box{
    border-radius: 8px;
    background-color: #E8FAF6;
    padding: 120px 40px 70px 40px;
}

.p-info_box_title01{
    font-size: 48px;
    font-family: "acumin-pro", sans-serif;
    font-weight: 600;
    line-height: 1;
    text-align: center;
    margin: 0 0 27px 0;
}

.p-info_box_lead{
    font-size: 18px;
    font-family: "acumin-pro", sans-serif;
    font-weight: 600;
    letter-spacing: -0.02em;
    text-align: center;
    margin: 0 0 52px 0;
}

.p-info_box_in{
    padding: 60px 60px;
    background-color: rgba(255,255,255,0.95);
    border-radius: 20px;
}

.p-info_box_title02{
    font-size: 23px;
    font-weight: 600;
    display: flex;
    justify-content: center;
    margin: 0 0 30px 0;
    white-space: nowrap;
}

.p-info_box_title02 span{
    display: inline-block;
    padding: 0 10px 6px 10px;
    background: linear-gradient(to left, rgba(205,252,180,1) 0%,rgba(92,248,140,1) 18%,rgba(75,147,118,1) 56%,rgba(105,209,122,1) 100%);
    background-size: 100% 3px;
    background-position: left bottom;
    background-repeat: no-repeat;
}

.p-info_box_in_text{
    font-size: 18px;
    line-height: 2.33;
    font-weight: 700;
}

@media screen and (max-width:700px) {
    .p-info_box{
        padding: 60px 15px 35px 15px;
    }

    .p-info_box_title01{
        font-size: 36px;
        margin: 0 0 27px 0;
    }

    .p-info_box_lead{
        font-size: 16px;
        margin: 0 0 26px 0;
    }

    .p-info_box_in{
        padding: 30px 15px;
    }

    .p-info_box_title02{
        font-size: 18px;
        margin: 0 0 20px 0;
    }
    .p-info_box_in_text{
        font-size: 16px;
        margin: 0 0 30px 0;
    }
}

/* .btn_wrap.type_p-popup */

.btn_wrap.type_p-popup{
}

.btn_wrap.type_p-popup .btn_block,
.btn_wrap.type_p-popup .btn{
	min-height: 44px;
	border-radius: 8px;
}

.btn_wrap.type_p-popup .btn{
    font-size: 15px;
    letter-spacing: -0.02em;
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
    background: linear-gradient(to bottom, #2ed196 0%,#009b63 100%);
    transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-popup .btn:hover{
  opacity: 0.7;
}

/* ------------------------------------
TOPPAGE
------------------------------------ */


.p-top_content{
    --top_padding: 10px;
    padding: 0 var(--top_padding);
}

/* ------------ #p-main_vision ------------ */


#p-main_vision{

}

.p-main_vision_wrap{
    padding-top: var(--top_padding);
    padding-bottom: var(--top_padding);
    height: 100vh;
    /*min-height: 65.3vw;*/
}

.p-main_vision{
    position: relative;
    height: 100%;
}

.p-main_vision_in{
    position: relative;
    height: 100%;
    z-index: 1;
}

.p-main_vision_img{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    padding-bottom: 0;
    border-radius: 10px;
}

.p-main_vision_obj{
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    display: flex;
    align-items: center;
    white-space: nowrap;
}

.p-main_vision_title01{
    font-size: clamp( 34px , 8.65vw , 50px);
    font-weight: 700;
    letter-spacing: 0.04em;
    /*line-height: 1.6;*/
    line-height: 1;
    margin: -20px 0 0 0;
    white-space: nowrap;
}

.p-main_vision_title01_block{
    padding: 0.2em 0;
}

.p-main_vision_title01_block_in{
    overflow: hidden;
    padding: 0.1em 0;
}

.p-main_vision_title01 .p-main_vision_title01_text01{
    transform: translateY(120%);
    transition: transform 0.4s ease 0s;
}

.p-main_vision_title01 span{
    display: inline-block;
    vertical-align: baseline;
}

.p-main_text01{
    background-image: linear-gradient(to bottom, #008d5a 0%,#00d88a 100%);
    background-clip: border-box;
    background-clip: text;
    color: rgba(0,0,0,0);
    background-color: #333333;
    background-position-y: 100%;
    background-size: 100% 0%;
    background-repeat: no-repeat;
    transition: background-size 0.4s ease 0s;
}

.p-main_vision_title01 .p-main_vision_title01_block:nth-child(1) .p-main_vision_title01_text01{
    transition-delay: 0.2s;
}

.p-main_vision_title01 .p-main_vision_title01_block:nth-child(2) .p-main_vision_title01_text01{
    transition-delay: 0.4s;
}

.p-main_vision_title01 .p-main_vision_title01_block:nth-child(3) .p-main_vision_title01_text01{
    transition-delay: 0.6s;
}

.p-main_vision_title01 .p-main_text01.type_text01{
    transition-delay: 1.0s;
}

.p-main_vision_title01 .p-main_text01.type_text02{
    transition-delay: 1.2s;
}

.p-main_vision_title01 .p-main_text01.type_text03{
    transition-delay: 1.4s;
}

.p-main_vision_title02{
    transition-delay: 1.6s !important;
}

.p-main_vision_title03{
    transition-delay: 1.8s !important;
}

.p-main_vision_scroll_wrap{
    transition-delay: 2.0s !important;
}

.loading .p-main_text01{
    background-size: 100% 100%;
}

.loading .p-main_vision_title01 p{
    transform: translateY(0%);
}

.loading .p-main_vision_title02,
.loading .p-main_vision_title03,
.loading .p-main_vision_scroll_wrap{
    transform: translateY(0%);
    opacity: 1;
}

.p-main_vision_title02{
    margin: 24px 0 0 0;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.71;
    transition: opacity 0.4s ease 0s,transform 0.4s ease 0s;
    opacity: 0;
    transform: translateY(30px);
}

.p-main_vision_title03{
    position: absolute;
    left: 0;
    bottom: 48px;
    font-size: 24px;
    line-height: 1.47;
    font-weight: 600;
    color: #ffffff;
    font-family: acumin-pro, sans-serif; 
    transition: opacity 0.4s ease 0s,transform 0.4s ease 0s;
    opacity: 0;
    transform: translateY(30px);
}

.p-main_vision_scroll_wrap{
    position: absolute;
    bottom: 24px;
    right: 0px;
    white-space: nowrap;
    display: flex;
    justify-content: center;
    transition: opacity 0.4s ease 0s,transform 0.4s ease 0s;
    opacity: 0;
    transform: translateY(30px);
}

.p-main_vision_scroll{

}

.p-main_vision_scroll_text{
    white-space: nowrap;
    color: #ffffff;
    margin: 0 0 10px 0;
    font-size: 13px;
    line-height: 1;
}

.p-main_vision_scroll_bar_wrap{
    display: flex;
    justify-content: center;
}

.p-main_vision_scroll_bar{
    position: relative;
    width: 3px;
    height: 56px;
    border-radius: 9999px;
    background-color: #009B63;
}

.p-main_vision_scroll_bar:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
    background-color: #ffffff;
    animation: bg_animation 2s linear infinite;
}


@keyframes bg_animation {
    0% {
        top: 0;
        bottom: auto;
        height: 0%;
    }
    50% {
        top: 0;
        bottom: auto;
        height: 100%;
    }
    51% {
        top: auto;
        bottom: 0;
        height: 100%;
    }
    100% {
        top: auto;
        bottom: 0;
        height: 0%;
    }
}

@media screen and (max-width:700px) {

    .p-main_vision_in{
        display: flex;
        justify-content: center;
        align-items: flex-end;
        padding-bottom: 18vh;
    }

    .p-main_vision_img img{
        object-position: top center;
    }

    .p-main_vision_obj{
        position: static;
        display: block;
        height: auto;
    }

    .p-main_vision_title01{

    }

    .p-main_vision_title02{
        margin: 16px 0 16px 0;
        font-size: 21px;
        color: #fff;
    }

    .p-main_vision_title03{
        position: static;
        font-size: 17px;
    }

    .p-main_vision_scroll_wrap{
        width: 100%;
    }

    .p-main_vision_scroll{

    }

    .p-main_vision_scroll_text{
        white-space: nowrap;
        color: #ffffff;
        margin: 0 0 10px 0;
        font-size: 13px;
        line-height: 1;
    }

    .p-main_vision_scroll_bar_wrap{
        display: flex;
        justify-content: center;
    }

    .p-main_vision_scroll_bar{
        position: relative;
        width: 3px;
        height: 56px;
        border-radius: 9999px;
        background-color: #009B63;
    }

    .p-main_vision_scroll_bar:before{
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 9999px;
        background-color: #ffffff;
        animation: bg_animation 2s linear infinite;
    }
}

/* .p-main_vision_wrap.type_exterior */
.p-main_vision_wrap.type_exterior .p-main_vision_title01 .p-main_vision_title01_block:nth-child(4) .p-main_vision_title01_text01{
    transition-delay: 0.8s;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title01{
    color: #fff;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title02{
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}
.p-main_vision_wrap.type_exterior .p-main_text01{
    background-color: #fff;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title01_wrap{
    position: relative;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title01:nth-child(1){
    position: relative;
    z-index: 1;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title01:nth-child(2){
    position: absolute;
    top: 0;
    left: 0;
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
    color: transparent;
    margin-top: 0;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title01:nth-child(2) .p-main_text01.type_text01{
    background: none;
}
.p-main_vision_wrap.type_exterior .p-main_vision_title03{
    text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}
@media screen and (min-width:701px) and (max-width:780px){
    .p-main_vision_wrap.type_exterior .p-main_vision_title01{
        font-size: calc( 50 / 780 * 100vw);
    }
}

/* ------------ #p-about ------------ */

#p-about{

}

.p-about_wrap{
}

.p-about{
    padding-top: 170px;
    padding-bottom: 170px;
}

.p-about_in{

}

@media screen and (max-width:700px) {
    .p-about{
        padding-top: 85px;
        padding-bottom: 85px;
    }
}

.p-about_row{
    display: flex;
    justify-content: space-between;
}

.p-about_head{
    display: flex;
    align-items: center;
}

.p-about_head_in{
    padding: 0 20px 0 40px;
    white-space: nowrap;
    line-height: 1;
}

.p-about_title01{
    font-size: 48px;
    font-weight: 600;
    font-family: acumin-pro, sans-serif;
    color: #009B63;
    margin: 0 0 33px 0;
}

.p-about_title02{
    font-size: 18px;
    font-weight: 700;
}

.p-about_main{
    width: 534px;
}

.p-about_main_in{
    padding: 0 25px;
}

.p-about_title03{
    font-size: 21px;
    line-height: 1.9;
    font-weight: 600;
    margin: 0 0 19px 0;
}

.p-about_lead{
    font-size: 16px;
    line-height: 2;
}

@media screen and (max-width:900px) {

    .p-about_title01{
        font-size: 40px;
    }

    .p-about_row{
        flex-wrap: wrap;
    }

    .p-about_title02{
        font-size: 16px;
    }

    .p-about_title03{
        font-size: 18px;
    }

    .p-about_head{
        display: block;
        width: 100%;
        margin: 0 0 40px 0;
    }

    .p-about_head_in{
        padding: 0;
        text-align: center;
    }

    .p-about_main{
        width: 100%;
    }

    .p-about_main_in{
        padding: 0;
    }


}

/* ------------ #p-building ------------ */

#p-building{

}

.p-building_wrap{

}

.p-building{
    padding-top: 200px;
    padding-bottom: 200px;
}

@media screen and (max-width:700px) {
    .p-building{
        padding-top: 100px;
        padding-bottom: 100px;
    }
}

.p-building_in{

}

.p-building_list_area{
    margin: 140px 0 0 0;
}

.p-building_list_wrap{
    margin: 0 auto 0 auto;
}

.p-building_list{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px 0;
}

.p-building_list_item{
    width: 33.3%;
    padding: 0 20px 40px 0;
}

.p-building_list_vision{
    position: relative;
    border-radius: 8px;
    overflow: hidden;
}

.p-building_list_vision_head{
    display: flex;
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 1;
    font-size: 48px;
    line-height: 1;
    color: #FFFFFF;
    opacity: 0.72;
}

.p-building_list_vision_mark{
    font-size: 50%;
    margin: 5px 6px 0 0;
}

.p-building_list_vision_title01{
    font-size: 100%;
}

.p-building_list_vision_img{
    padding-bottom: 100%;
}

.p-building_list_vision_bottom{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    font-family: acumin-pro, sans-serif;
    color: #FFFFFF;
    padding: 13px 16px;
    background: linear-gradient(to left, rgba(205,252,180,0.86) 0%,rgba(92,248,140,0.86) 18%,rgba(75,147,118,0.86) 56%,rgba(105,209,122,0.86) 100%);
    white-space: nowrap;
}

.p-building_list_vision_title02{

}

.p-building_list_info{
    padding: 16px 16px 0 16px;
}

.p-building_list_info_title01{
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.02em;
    margin: 0 0 14px 0;
}

.p-building_list_info_lead{
    font-size: 15px;
    line-height: 1.86;
}

@media screen and (min-width:1001px) and (max-width:1180px) {
    .p-building_list_vision_bottom{
        font-size: calc( 18 / 1180 * 100vw);
        padding: calc( 13 / 1180 * 100vw) calc( 16 / 1180 * 100vw);
    }
}

@media screen and (max-width:1000px) {
    .p-building_list_wrap{
        max-width: 760px;
    }

    .p-building_list_item{
        width: 50%;
    }
}

@media screen and (min-width:701px) and (max-width: 820px) {
    .p-building_list_vision_bottom{
        font-size: calc( 18 / 820 * 100vw);
        padding: calc( 13 / 820 * 100vw) calc( 16 / 820 * 100vw);
    }
}

@media screen and (max-width:700px) {

    .p-building_list_area{
        margin: 70px 0 0 0;
    }

    .p-building_list_wrap{
        max-width: 370px;
    }

    .p-building_list_item{
        width: 100%;
    }

    .p-building_list_info_title01{
        font-size: 20px;
    }
}

@media screen and (max-width:390px) {
    .p-building_list_vision_bottom{
        font-size: 16px;
    }
}

/* ------------ #p-design ------------ */

#p-design{

}

.p-design_wrap{

}

.p-design{
    padding-top: 110px;
    padding-bottom: 200px;
}

.p-design_in{

}

@media screen and (max-width:700px) {
    .p-design{
        padding-top: 55px;
        padding-bottom: 100px;
    }
}

.p-design_lead{
    font-size: 18px;
    display: flex;
    justify-content: center;
    margin: 35px 0 60px 0;
}

@media screen and (max-width:700px) {
    .p-design_lead{
        font-size: 16px;
        margin: 17px 0 30px 0;
    }
}

.p-design_list_area{
     margin: 125px 0 120px 0;
}

.p-design_list_wrap{
    margin: 0 auto;
}

@media screen and (max-width:700px) {
    .p-design_list_area{
        margin: 62px 0 60px 0;
    }
    .p-design_list_wrap{
        max-width: 360px;
    }
}

.p-design_list{
}

.p-design_list_item_h{
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    width: 10px;
    /*background-color: #000;*/
}

/*
.p-design_list_item:nth-child(2) .p-design_list_item_h{
    background-color: #2efaa8;
}

.p-design_list_item:nth-child(3) .p-design_list_item_h{
    background-color: #FDEA00;
}*/

@media screen and (min-width:901px) {

    .p-design_list_wrap{
        --d_head_height: 85px;
        --dc_height: 440px;
    }

    .p-design_list_item_h{
        z-index: 2;
        height: var(--dc_height);
    }

    .p-design_list{
        position: relative;
        height: calc( var(--dc_height) * 3);
    }

    .p-design_list_item{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .p-design_list_item:nth-child(1){
        top: calc( var(--dc_height) * 0);
        height: calc( var(--dc_height) * 3);
        padding-bottom: calc( var(--d_head_height) * 2);
    }

    .p-design_list_item:nth-child(2){
        top: calc( var(--dc_height) * 1);
        height: calc( var(--dc_height) * 2);
        padding-bottom: calc( var(--d_head_height) * 1);
    }

    .p-design_list_item:nth-child(3){
        top: calc( var(--dc_height) * 2);
        height: calc( var(--dc_height) * 1);
        padding-bottom: calc( var(--d_head_height) * 0);
    }

    .p-design_list_block_wrap{
        position: sticky;
        top: calc( 40px + var(--header_height) );
        /*height: var(--dc_height);*/
        background-color: #fff;
    }

    .p-design_list_item:nth-child(2) .p-design_list_block_wrap{
        top: calc( 40px + var(--header_height) + var(--d_head_height));
    }

    .p-design_list_item:nth-child(3) .p-design_list_block_wrap{
        top: calc( 40px + var(--header_height) + var(--d_head_height) * 2);
    }

    .p-design_list_head_wrap{
        height: var(--d_head_height);
    }

    .p-design_list_block{
       
        min-height: 316px;
    }

}

@media screen and (max-width:900px) {
    .p-design_list_item{
        position: relative;
        padding: 0 0 40px 0;
        background-color: #ffffff;
    }

    .p-design_list_item:last-child{
        padding-bottom: 0;
    }
    .p-design_list_head_wrap{
        margin: 0 0 24px 0;
    }

    .p-design_list_title01{
        transform: none !important;
    }

    .p-design_list_title02{
        opacity: 1 !important;
    }

}

.p-design_list_head{
    border-bottom: 1px solid #C8C8C8;
    padding: 0 0 20px 0;
    line-height: 1;
}

.p-design_list_head_in{
    display: flex;
    align-items: flex-end;
}

.p-design_list_icon{
    font-size: 16px;
    font-weight: 600;
    font-family: acumin-pro, sans-serif;
    color: #FFFFFF;
    text-align: center;
    background-color: #009B63;
    border-radius: 2px;
    padding: 0.5em 0.625em;
    min-width: 5.125em;
    white-space: nowrap;
}

.p-design_list_title01{
    font-size: 44px;
    font-weight: 600;
    font-family: acumin-pro, sans-serif;
    margin: 0 0 -5px 20px;
    transform-origin: 0% 50%;
}

.p-design_list_title02{
    font-size: 16px;
    letter-spacing: 0.04em;
    margin: 0 0 0 20px;
    /*opacity: 0 !important;*/
}

@media screen and (max-width:700px) {

    .p-design_list_head{
        padding: 0 0 12px 0;
    }
    .p-design_list_head_in{
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    .p-design_list_title01{
        order: 1;
        font-size: 38px;
        width: 100%;
        margin: 0 0 30px 0;
        text-align: center;
    }
    .p-design_list_title02{
        order: 2;
        margin: 0 0 0 0;
    }
    .p-design_list_icon{
        order: 3;
        font-size: 14px;
    }
}

.p-design_list_row{
    display: flex;
    justify-content: space-between;
}

.p-design_list_row_text{
    width: 560px;
    padding: 0 30px 0 0;
}

.p-design_list_row_img{
    width: 400px;
    border-radius: 10px;
    overflow: hidden;
}

.p-design_list_row_img img{
    width: 100%;
}

@media screen and (max-width:700px) {

    ..p-design_list_wrap{
        max-width: 360px;
        margin: 0 auto;
    }

    .p-design_list_row{
        flex-wrap: wrap;
    }

    .p-design_list_row_text{
        order: 2;
        width: 100%;
        padding: 20px 0 0 0;
    }

    .p-design_list_row_img{
        order: 1;
        width: 100%;
    }
}

@media screen and (max-width:450px) {
    .p-design .p-info_box_title02{
        letter-spacing: -0.02em;
    }
}

@media screen and (max-width:393px) {
    .p-design .p-info_box_title02{
        font-size: 17px;
    }
}

/* ------------ #p-safety ------------ */

#p-safety{

}

.p-safety_wrap{

}

.p-safety{
    padding-top: 160px;
    padding-bottom: 200px;
}

.p-safety_in{

}

@media screen and (max-width:700px) {
    .p-safety{
        padding-top: 80px;
        padding-bottom: 100px;
    }
}

.p-safety_content_wrap{
    margin: 120px 0 115px 0;
}

.p-safety_content{
    margin: 0 0 90px 0;
}

.p-safety_content:last-child{
    margin-bottom: 0;
}

@media screen and (max-width:700px) {
    .p-safety_content_wrap{
        margin: 60px 0 57px 0;
    }

    .p-safety_content{
        margin: 0 0 45px 0;
    }
}

.p-safety_title01{
    margin: 0 0 35px 0;
    background: linear-gradient(to left, rgba(205,252,180,1) 0%,rgba(92,248,140,1) 18%,rgba(75,147,118,1) 56%,rgba(105,209,122,1) 100%);
    background-size: 100% 6px;
    background-repeat: no-repeat;
    background-position: bottom left;
}

.p-safety_title01_in{
    display: flex;
    align-items: baseline;
}

.p-safety_title01_text01{
    font-size: 44px;
    font-weight: 600;
    font-family: acumin-pro, sans-serif;
}

.p-safety_title01_text02{
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 0 20px;
}

@media screen and (max-width:700px) {
    .p-safety_title01_in{
        justify-content: space-between;
    }
    .p-safety_title01_text01{
        font-size: 35px;
    }
}

.p-safety_lead{
    font-size: 18px;
    line-height: 2;
    margin: 0 0 55px 0;
}

@media screen and (max-width:700px) {
    .p-safety_lead{
        font-size: 16px;
        line-height: 2;
        margin: 0 0 30px 0;
    }
}

.p-safety_list_wrap{
    margin: 0 auto;
}

.p-safety_list{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px -40px 0;
}

.p-safety_list_item{
    width: 33.3%;
    padding: 0 20px 40px 0;
}

@media screen and (max-width:900px) {
    .p-safety_list_wrap{
        max-width: 740px;
    }
    .p-safety_list_item{
        width: 50%;
    }
}

@media screen and (max-width:700px) {
    .p-safety_list_wrap{
        max-width: 360px;
    }
    .p-safety_list_item{
        width: 100%;
    }
}

.p-safety_list_img{
    background-color: #E8FAF6;
    border-radius: 8px;
    overflow: hidden;
    margin: 0 0 20px 0;
}

.p-safety_list_img img{
    width: 100%;
}

.p-safety_list_text{
    padding: 0 15px;
}

.p-safety_list_title01{
    position: relative;
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: #009B63;
    padding: 0 0 0 15px;
    margin: 0 0 8px 0;
}

.p-safety_list_title01::before{
    content: "";
    display: block;
    position: absolute;
    top: 16px;
    left: 0;
    width:0;
    height:0;
    border-style:solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #009B63;
}

.p-safety_list_lead{
    font-size: 15px;
    line-height: 1.86;
}

@media screen and (max-width:700px) {
    .p-safety_list_title01{
        font-size: 20px;
    }
}


/* ------------ #p-career ------------ */

#p-career{

}

.p-career_wrap{
    
}

.p-career{
    padding-top: 160px;
    padding-bottom: 160px;
}

.p-career_in{

}

@media screen and (max-width:700px) {
    .p-career{
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.p-career_content{
    background-color: #E8FAF6;
    padding: 120px 30px;
}

.p-career_content_in{
    max-width: 1000px;
    margin: 0 auto;
}

@media screen and (max-width:700px) {
    .p-career_content{
        background-color: #E8FAF6;
        padding: 60px 15px;
    }
}

.p-career_title01{
    margin: 0 0 50px 0;
}

.p-career_title01 > *{
    display: block;
}

.p-career_title01_text01{
    font-size: 48px;
    font-weight: 600;
    line-height: 1;
    font-family: acumin-pro, sans-serif;
    color: #009B63;
    margin: 0 0 26px 0;
}

.p-career_title01_text02{
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
}

@media screen and (max-width:700px) {
    .p-career_title01_text01{
        font-size: 40px;
    }
}

.p-career_table01_wrap{
    max-width: 820px;
    margin: 0 0 0 auto;
}

.p-career_table01{
    width: 100%;
    border-top: 1px solid #C8C8C8;
    line-height: 2;
}

.p-career_table01 tbody tr th,
.p-career_table01 tbody tr td{
    border-bottom: 1px solid #C8C8C8;
    padding: 22px 0;
}

.p-career_table01 tbody tr th{
    font-size: 16px;
    font-weight: 500;
    padding-right: 22px;
    width: 39%;
}

.p-career_table01 tbody tr td{
    font-size: 14px;
    width: 61%;
}

@media screen and (max-width:700px) {

    .p-career_table01,
    .p-career_table01 tbody,
    .p-career_table01 tbody tr,
    .p-career_table01 tbody tr th,
    .p-career_table01 tbody tr td{
        display: block;
        width: auto;
    }

    .p-career_table01 tbody tr th,
    .p-career_table01 tbody tr td{
        border-bottom: none;
        padding: 0;
    }

    .p-career_table01 tbody tr{
        border-bottom: 1px solid #C8C8C8;
        padding: 22px 0;
    }

}

/* ------------ #-top_join ------------ */

.p-top_join{
    padding-top: 260px;
    padding-bottom: 20px;
     /*background: radial-gradient(ellipse at center, #80e597 0%,#009b63 100%);*/
     background-image: url(../img/voice_bg.svg);
     background-size: cover;
     background-repeat: no-repeat;
     background-attachment: fixed;
     background-position: top right;
     color: #ffffff;
}

@media screen and (max-width:700px) {
    .p-top_join{
        padding-top: 130px;
        padding-bottom: 10px;
    }
}

.p-top_join .p-top_content{
    padding-left: 0;
    padding-right: 0;
}

.p-top_join .p-page_vision{
    height: auto;
}

.p-top_join .p-title01_img{
    color: inherit;
}


/* ------------ #p-voices ------------ */

#p-voices{
}


.p-voices_wrap{
    color: #fff;
}

.p-voices_wrap .p-page_vision{
    margin-bottom: 85px;
}

@media screen and (max-width:700px) {
    .p-voices_wrap{
        padding-bottom: 30px;
    }

    .p-voices_wrap .p-page_vision{
        margin-bottom: 42px;
    }
}

/* ------------ .p-voices ------------ */

.p-voices{
    padding-bottom: 160px;
}

.p-voices_in{
    max-width: 1200px;
}

@media screen and (max-width:700px) {
    .p-voices{
        padding-bottom: 80px;
    }
}

.p-voice_slide{
    margin: 120px 0 0 0;
}

@media screen and (max-width:700px) {
    .p-voice_slide{
        margin: 60px 0 0 0;
    }
}

.swiper-container_wrap.type_recruit2025{
    margin: 0 -15px 0 -15px;
    padding: 0 15px;
    width: auto;
}

.swiper-container_wrap.type_recruit2025 .swiper-container{
    overflow: visible;
    max-width: 360px;
    margin: 0 auto;
    /* min-height: 800px; */
}

.swiper-container_wrap.type_recruit2025 .top_recruit2025_func{
	display: flex;
	align-items: center;
	margin: 80px 0 0 0;
}

.swiper-container_wrap.type_recruit2025 .swiper_arrow_wrap{
	position: static;
	margin: 0 30px 0 0;
	width: auto;
}

.swiper-container_wrap.type_recruit2025 .swiper_arrow_wrap_in{
	display: flex;
}

.swiper-container_wrap.type_recruit2025 .swiper-slide{
	height: auto;
	display: flex;
	flex-direction: column;
}

.swiper-container_wrap.type_recruit2025 .swiper-button-prev,
.swiper-container_wrap.type_recruit2025 .swiper-button-next{
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0;
	width: 60px;
	height: 60px;
	border-radius: 100%;
	margin: 0 30px 0 0;
}

.swiper-container_wrap.type_recruit2025 .swiper-button-prev:hover:before,
.swiper-container_wrap.type_recruit2025 .swiper-button-next:hover:before,
.swiper-container_wrap.type_recruit2025 .swiper-button-prev:hover:after,
.swiper-container_wrap.type_recruit2025 .swiper-button-next:hover:after{
	opacity: 0.7 !important;
}

.swiper-container_wrap.type_recruit2025 .swiper-button-prev:last-child,
.swiper-container_wrap.type_recruit2025 .swiper-button-next:last-child{
	margin: 0 0 0 0;
}

.swiper-container_wrap.type_recruit2025 .swiper-button-prev:before,
.swiper-container_wrap.type_recruit2025 .swiper-button-next:before{
	background: #fff;
	border-radius: 100%;
    transition: opacity 0.4s ease 0s;
}

.swiper-container_wrap.type_recruit2025 .swiper-button-prev:after,
.swiper-container_wrap.type_recruit2025 .swiper-button-next:after{
	width: 8px;
	height: 15px;
	margin: -8px 0 0 -5px;
	background-image: url("../img/icon_slide_arrow01.svg");
    transition: opacity 0.4s ease 0s;
}


.swiper-container_wrap.type_recruit2025 .swiper-pagination_wrap{
	width: auto;
	margin: 0;
}

.swiper-container_wrap.type_recruit2025 .swiper-pagination .swiper-pagination{
	margin: 0;
}

.swiper-container_wrap.type_recruit2025 .swiper-pagination .swiper-pagination-bullet{
	margin-bottom: 0;
}

.top_recruit2025_number{
	display: flex;
	align-items: center;
	font-size: 12px;
}

.top_recruit2025_text{
	white-space: nowrap;
	line-height: 1;
	height: 0.8em;
	color: #fff;
	cursor: pointer;
	transition: opacity 0.4s ease 0s;
	width: 16px;
	font-weight: 500;
}

.top_recruit2025_text:hover{
	opacity: 0.7;
}

.top_recruit2025_bar{
	background-color: #fff;
	width: 64px;
	height: 1px;
	margin: 0 6px;
}

@media screen and (max-width:700px) {
	.swiper-container_wrap.type_recruit2025 .top_recruit2025_func{
		margin: 50px 0 0 0;
	}
}

.top_recruit2025_block_wrap{
    background-color: #fff;
    box-sizing: 0px 8px 12px 0 rgba(0,0,0,0.16);
}

.top_recruit2025_block_wrap a{
    display: block;
    text-decoration: none !important;
    transition: opacity 0.4s ease 0s;
}

.normal .top_recruit2025_block_wrap a:hover{
    opacity: 0.7;
}

.top_recruit2025_block{
    position: relative;
    padding: 10px;
    background-color: #fff;
}

.top_recruit2025_block:after{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.35);
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.2s ease 0s;
}

.swiper-slide-active .top_recruit2025_block:after{
    opacity: 0;
}

/* .p-voices_block */

.p-voices_block{
    padding-top: 0;
}

.swiper-container_wrap.type_recruit2025 .swiper-slide:nth-child(2n){
    padding-top: 60px;
}

.p-voices_block_vision{
    margin: 0 0 25px 0;
}

.p-voices_block_img{

}

.p-voices_block_vision_text{
    width: 264px;
}

.p-voices_block_vision_text_in{
    padding: 24px 20px 0 20px;
    color: #fff;
    font-weight: 500;
    line-height: 1;
}

.p-voices_block_title01{
    font-size: 13px;
    margin: 0 0 16px 0;
}

.p-voices_block_title02{
    font-size: 18px;
    margin: 0 0 12px 0;
}

.p-voices_block_title03{
    font-size: 11px;
}

.p-voices_block_info{
    color: #FFFFFF;
}

.p-voices_block_info_lead{
    font-size: 17px;
    font-weight: 600;
    line-height: 1.64;
}

.p-voices_more_wrap{
    position: relative;
    margin: 25px 0 0 0;
}

/*
.p-voices_block_more_head{
    position: absolute;
    top: 0;
    left: 0;
}*/

.p-voices_block_more_switch{
    display: inline-block;
    vertical-align: bottom;
    font-size: 15px;
    line-height: 1;
    letter-spacing: -0.02em;
    background: linear-gradient(to left, #a8ff79 0%,#34ff73 18%,#2efaa8 55%,#7aef8d 100%);
    background-size: 100% 2px;
    background-repeat: no-repeat;
    background-position: bottom left;
    padding: 0 0 8px 0;
}

.p-voices_block_more{
    font-size: 15px;
    line-height: 1.86;
    display: none;
}

.p-voices_block_hover01,
.p-voices_block_info,
.p-voices_block_vision_text{
    transition: opacity 0.2s ease 0s;
}

.p-voices_block_hover01{
    opacity: 0;
    pointer-events: none;
}

.normal .p-voices_block_link:hover .p-voices_block_hover01{
    opacity: 0.3;
}

/* ------------ .p-step ------------ */

.p-step{
    padding-top: 50px;
    padding-bottom: 60px;
}

.p-step_in{
    max-width: 1090px;
}

@media screen and (max-width:700px) {
    .p-step{
        padding-top: 25px;
        padding-bottom: 30px;
    }
}

.p-step_title01{
    font-size: 26px;
    font-weight: 500;
    text-align: center;
    margin: 60px 0 60px 0;
}

.p-step_lead{
    font-size: 18px;
    line-height: 2.33;
    font-weight: 500;
    text-align: center;
    margin: 0 0 90px 0;
}

@media screen and (max-width:700px) {
    .p-step_title01{
        font-size: 22px;
        margin: 30px 0 30px 0;
    }

    .p-step_lead{
        font-size: 16px;
        margin: 0 0 45px 0;
}
}

/* .btn_wrap.type_p-entry01 */

.btn_wrap.type_p-entry01{
}

.btn_wrap.type_p-entry01 .btn_block,
.btn_wrap.type_p-entry01 .btn{
	min-height: 185px;
	border-radius: 8px;
}

.btn_wrap.type_p-entry01 .btn{
    color: #059D65;
    padding: 30px 20px;
    font-weight: 500;
    background: #FFFFFF;
    transition: opacity 0.4s ease 0s;
    text-align: center;
}

.normal .btn_wrap.type_p-entry01 .btn:hover{
  opacity: 0.7;
}

.p-entry_btn_block{
    width: 100%;
}

.p-entry_btn_head{
    margin: 0 0 33px 0;
    line-height: 1;
}

.p-entry_btn_head_in{
    display: flex;
    align-items: center;
}

.p-entry_btn_head_img{
    line-height: 0;
    margin: 0 15px 0 0;
}

.p-entry_btn_title{
    font-size: 24px;
    letter-spacing: 0.04em;
    margin: 0 0 27px 0;
    line-height: 1;
}

.p-entry_btn_lead{
    font-size: 15px;
}

@media screen and (max-width:700px) {
    .p-entry_btn_title{
        font-size: 20px;
        margin: 0 0 14px 0;
    }

    .p-entry_btn_lead{
        font-size: 14px;
    }
}

/* ------------------------------------
CONTACT
------------------------------------ */

#p-contact01{
}

.p-contact_content_wrap{

}

.p-contact_content{
    display: flex;
    justify-content: space-between;
    margin: 0 0 40px 0;
}

.p-contact_content:last-child{
    margin-bottom: 0;
}

.p-contact_content_sub{
    width: 35.6%;
}

.p-contact_content_main{
    width: 66.4%;
}

.p-contact_content_head{
    position: sticky;
    top: calc( 40px + var(--header_height) );
}

.p-contact_content_title01{
    font-size: 34px;
    font-weight: 600;
    line-height: 1.2;
    font-family: acumin-pro, sans-serif;
    color: #009B63;
    margin: 0 0 12px 0;
}

.p-contact_content_title02{
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 28px 0;
}

.p-contact_content_title02:last-child{
    margin-bottom: 0;
}

.p-contact_content_title03{
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    color: #009B63;
}

@media screen and (max-width:900px) {
    .p-contact_content{
        display: block;
    }
    .p-contact_content_sub{
        width: auto;
        margin: 0 0 30px 0;
    }

    .p-contact_content_main{
        width: auto;
    }

    .p-contact_content_title03{
        display: none;
    }

}

@media screen and (max-width:700px) {
    .p-contact_content_title01{
        font-size: 30px;
    }
    .p-contact_content_title02{
        font-size: 16px;
    }
    .p-contact_content_title03{
        font-size: 16px;
    }
}

/* .p-contact01 */

.p-contact01{
    padding-top: calc( 170px + var(--header_height) );
    padding-bottom: 100px;
}

.p-contact01_in{

}

@media screen and (max-width:700px) {
    .p-contact01{
        padding-top: calc( 85px + var(--header_height) );
        padding-bottom: 50px;
    }
}

.p-contact01_title01{
    font-size: 26px;
    line-height: 2;
    font-weight: 600;
    margin: 0 0 40px 0;
}

.p-contact01_lead{
    font-size: 16px;
    line-height: 2;
    margin: 0 0 48px 0;
}

.p-contact01_title02{
    font-size: 21px;
    font-weight: 500;
    color: #009B63;
    margin: 0 0 38px 0;
}

@media screen and (max-width:700px) {
    .p-contact01_title01{
        font-size: 22px;
        margin: 0 0 20px 0;
    }
    .p-contact01_title02{
        font-size: 18px;
        margin: 0 0 20px 0;
    }
}

.p-contact01_box_wrap{
     margin: 0 0 80px 0;
}

.p-contact01_box{
    background-color: #F9F9F9;
    padding: 30px 30px;
    border-radius: 8px;
}

.p-contact01_box .p-list01{
    font-weight: 500;
}

.p-contact01_box_note{
    font-size: 12px;
    line-height: 1.75;
    margin: 19px 0 0 0;
}

@media screen and (max-width: 700px) {
    .p-contact01_box_wrap{
        margin: 0 0 40px 0;
    }
    .p-contact01_box{
        padding: 20px 15px;
    }
}

.p-contact01_row{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -24px -24px 0;
}

.p-contact01_col{
    width: 50%;
    padding: 0 24px 24px 0;
}

.p-contact01_row_img{
    border-radius: 8px;
    overflow: hidden;
    margin: 0 0 17px 0;
    background-color: #000;
}

@media screen and (max-width: 700px) {
    .p-contact01_col{
        width: 100%;
    }
}

.p-contact01_row_title01{
    font-size: 16px;
    font-weight: 700;
    color: #009B63;
    margin: 0 0 8px 0;
}

.p-contact01_row_lead{
    font-size: 15px;
    line-height: 1.86;
}

/* .p-contact02 */

.p-contact02{
    padding-top: 100px;
    padding-bottom: 200px;
}

.p-contact02_in{
}

@media screen and (max-width:700px) {
    .p-contact02{
        padding-top: 50px;
        padding-bottom: 100px;
    }
}

.p-contact02_block{
    border: 1px solid #707070;
    border-radius: 8px;
    padding: 85px 20px;
    margin: 0 0 40px 0;
}

.p-contact02_block:last-child{
    margin-bottom: 0;
}

.p-contact02_block_in{
    max-width: 584px;
    margin: 0 auto;
}

.p-contact02_title01{
    font-size: 21px;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #009B63;
}

.p-contact02_lead01{
    font-size: 16px;
    margin: 15px 0 0 0;
}

@media screen and (max-width: 700px) {
    .p-contact02_title01{
        font-size: 20px;
    }
    .p-contact02_block{
        padding: 40px 15px;
    }
}

/* .btn_wrap.type_p-post */

.btn_wrap.type_p-post{
}

.btn_wrap.type_p-post .btn_block,
.btn_wrap.type_p-post .btn{
	min-height: 52px;
	border-radius: 4px;
}

.btn_wrap.type_p-post .btn{
    font-size: 16px;
    letter-spacing: 0.04em;
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
    background: #009B63;
    transition: opacity 0.4s ease 0s;
    white-space: nowrap;
}

.normal .btn_wrap.type_p-post .btn:hover{
  opacity: 0.7;
}

@media screen and (max-width: 700px) {
    .btn_wrap.type_p-post .btn{
        padding: 8px 10px;
    }
}

/* .p-contact_privacy_wrap */

.p-contact_privacy_wrap{
    margin: 80px 0 60px 0;
}

.p-contact_privacy_lead{
    font-size: 16px;
    line-height: 2;
    margin: 0 0 34px 0;
}

.p-contact_privacy{
    font-size: 14px;
    line-height: 1.57;
    border: 1px solid #707070;
    border-radius: 8px;
    overflow: hidden;
}

.p-contact_privacy_in{
    overflow-x: hidden;
    overflow-y: scroll;
    height: 583px;
}

.p-contact_privacy_content{
    padding: 84px 20px;
}

.p-contact_privacy_content_in{
    max-width: 584px;
    margin: 0 auto;
}

.p-contact_privacy_check{
    margin: 0 0 30px 0;
}

@media screen and (max-width: 700px) {
    .p-contact_privacy_content{
        padding: 42px 15px;
    }
}

/* .btn_wrap.type_p-contact01 */

.btn_wrap.type_p-contact01{
}

.btn_wrap.type_p-contact01 .btn_block,
.btn_wrap.type_p-contact01 .btn{
	min-height: 90px;
	border-radius: 8px;
}

.btn_wrap.type_p-contact01 .btn{
    font-size: 21px;
    letter-spacing: -0.02em;
    color: #ffffff;
    padding: 8px 20px;
    font-weight: 500;
    background: linear-gradient(to bottom, #2ed196 0%,#009b63 100%);
    transition: opacity 0.4s ease 0s;
}

.normal .btn_wrap.type_p-contact01 .btn:hover{
  opacity: 0.7;
}

/* ------------------------- .p-popup ------------------------------ */

.p-popup{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 20000;
	background-color: rgba(29, 29, 29, 0.85);
    display: none;
}

.p-popup_in{
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}

.p-popup_content{
	position: relative;
	width: 100%;
	min-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top: 60px;
	padding-bottom: 60px;
}

.p-popup_content_bg{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.p-popup_content_in{
	position: relative;
	width: 100%;
}

.p-popup_close_wrap{
    position: absolute;
    bottom: 0;
    right: 0;
}

.p-popup_close{
    position: absolute;
    top: 32px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: #FFFFFF;
    border-radius: 100%;
    cursor: pointer;
}

.p-popup_block{
    padding: 40px;
	background-color: #E8FAF6;
    box-shadow: 4px 20px 20px 0 rgba(0,0,0,0.53);
}

.p-popup_block_img img{
    width: 100%;
}

@media screen and (max-width:700px) {
    .p-popup_block{
        padding: 20px;
    }
}

/* .p-popup_voice */

.p-popup_voice{
    --padd_x: 50px;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.2em;
    color: #000000;
    border-radius: 0 0 48px 0;
    overflow: hidden;
    box-shadow: 0px 8px 32px 0 rgba(2,36,24,0.4);
}

@media screen and (max-width:900px) {
    .p-popup_voice{
        --padd_x: 30px;
    }
}

@media screen and (max-width:700px) {
    .p-popup_voice{
        --padd_x: 20px;
    }
}

.p-popup_voice_img{
    position: relative;
}

.p-popup_voice_img_vision{
    line-height: 0;
}

.p-popup_voice_img_vision img{
    width: 100%;
}

.p-popup_voice_img_text{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    padding: 0 var(--padd_x) 0 0;
}

.p-popup_voice_img_text_in{
    background-color: #ffffff;
    border-radius: 0 52px 0 0;
    padding: var(--padd_x) 20px 0 var(--padd_x);
    width: 100%;
    max-width: 444px;
}

.p-popup_voice_img_icon_wrap{
    display: flex;
    margin: 0 0 8px 0;
}

.p-popup_voice_img_icon{
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.2em;
    color: #ffffff;
    background-color: #02A777;
    padding: 0.5em 1em;
}

.p-popup_voice_img_info{

}

.p-popup_voice_text{
    padding: calc(var(--padd_x) * 1.2) var(--padd_x);
    background-color: #ffffff;
}

.p-popup_voice_text_in{
    margin: 0 0 0 0;
}

.p-popup_voice_text_block{
    margin: 0 0 50px 0;
}

.p-popup_voice_text_block:last-child{
    margin-bottom: 0;
}

.p-popup_voice_title01{
    display: table;
    letter-spacing: 0.04em;
    width: 100%;
    font-size: 27px;
    margin: 0 0 0.5em 0;
}

.p-popup_voice_title01 > *{
    display: table-cell;
    vertical-align: top;
}

.p-popup_voice_title01 .p-text01{
    font-size: 118.5%;;
    font-weight: 700;
    color: #02A777;
    padding: 0 0.6em 0 0;
    white-space: nowrap;
}

.p-popup_voice_title01 .p-text02{
    font-size: 100%;
    padding: 0.25em 0 0 0;
    width: 100%;
}


.p-popup.type_voice .p-popup_close_wrap{
    top: 0;
    bottom: auto;
}

.p-popup.type_voice .p-popup_close{
    width: 50px;
    height: 50px;
    top: -70px;
}

.p-popup.type_voice .p-popup_content{
    padding-top: 100px;
    padding-bottom: 100px;
}

.p-popup.type_voice .p-popup_content_in{
    max-width: 980px;
}


@media screen and (max-width:700px) {
    .p-popup_voice_img_text{
        position: static;
        padding: 0;
    }
    .p-popup_voice_img_text_in{
        border-radius: 0;
        max-width: none;
    }
    .p-popup_voice_title01{
        font-size: 20px;
    }
    .p-popup_voice_text_block{
        margin: 0 0 30px 0;
    }
}