@charset "UTF-8";

.hide-text {
	display:block;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.pcNone,
.pcNone2,
.pcNone3{
	display:none;
}

/* color */
.cm{
    color: #4b843e;
}

.cs{

}

.cw{
    color: #ffffff;
}

/* bg */
.bg_green{
    background-color: #4b843e;
}

.bg_lightgreen{
    background-color: rgba(75,132,62,.15);
}

/* font-family */
.ffns{
    font-family: "Noto Sans JP","HiraKakuProN-W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","HiraKakuProN-W6","ヒラギノ角ゴ ProN W6","HiraKakuPro-W6","ヒラギノ角ゴ Pro W6",Meiryo,"Yu Gothic",YuGothic,"游ゴシック体","メイリオ",Osaka,arial,helvetica,sans-serif;
}

.ffrh{
    font-family: 'Rajdhani', sans-serif;
}

/* font-size */

.fs10{
    font-size: 1.0rem;
}

.fs12{
    font-size: 1.2rem;
}

.fs13{
    font-size: 1.3rem;
}

.fs14{
    font-size: 1.4rem;
}

.fs15{
    font-size: 1.5rem;
}

.fs16{
    font-size: 1.6rem;
}

.fs18{
    font-size: 1.8rem;
}

.fs20{
    font-size: 2.0rem;
}

.fs22{
    font-size: 2.2rem;
}

.fs24{
    font-size: 2.4rem;
}

.fs28{
    font-size: 2.8rem;
    line-height: 1;
}

.fs30{
    font-size: 3.0rem;
    line-height: 1;
}

.fs32{
    font-size: 3.2rem;
    line-height: 1;
}

.fs34{
    font-size: 3.4rem;
    line-height: 1;
}

.fs36{
    font-size: 3.6rem;
    line-height: 1;
}

.fs42{
    font-size: 4,2rem;
    line-height: 1;
}

.fs45{
    font-size: 4.5rem;
    line-height: 1;
}

.fs48{
    font-size: 4.8rem;
    line-height: 1;
}

.fs60{
    font-size: 6.0rem;
    line-height: 1;
}

.fs80{
    font-size: 8.0rem;
    line-height: 1;
}


/* font-weight */

.fwl{
    font-weight: 300;
}

.fwr{
    font-weight: 400;
}

.fwm{
    font-weight: 500;
}

.fwsb{
    font-weight: 600;
}

.fwb{
    font-weight: 700;
}

.fweb{
    font-weight: 800;
}

.fwbk{
    font-weight: 900;
}

/* letter_spacing */

.ls0{
    letter-spacing: 0;
}

.ls50{
    letter-spacing: 0.05em;
}

.ls100{
    letter-spacing: 0.1em;
}

/* maxbox */

.cmn_maxbox_600 {
	width:100%; max-width: 600px; margin: 0 auto;
}

.cmn_maxbox_700 {
	width:100%; max-width: 700px; margin: 0 auto;
}

.cmn_maxbox_800 {
	width:100%; max-width: 800px; margin: 0 auto;
}

.cmn_maxbox {
	width:100%; max-width: 1000px; margin: 0 auto;
}

.cmn_maxbox_1200 {
	width:100%; max-width: 1200px; margin: 0 auto;
}

.cmn_maxbox_1300 {
	width:100%; max-width: 1300px; margin: 0 auto;
}

.cmn_maxbox_1400 {
	width:100%; max-width: 1400px; margin: 0 auto;
}


/* others */

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

.fit{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contain{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right;
}

.contain2{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left bottom;
}

/* padding */

.pt10{
    padding-top: 10px;
}

.pt20{
    padding-top: 10px;
}

.pt30{
    padding-top: 30px;
}

.pt50{
    padding-top: 50px;
}

.pt80{
    padding-top: 80px;
}

.pt100{
    padding-top: 100px;
}

.pt150{
    padding-top: 150px;
}

.pb30{
    padding-bottom: 30px;
}

.pb50{
    padding-bottom: 50px;
}

.pb80{
    padding-bottom: 80px;
}

.pb100{
    padding-bottom: 100px;
}

/* margin */
.mt30{
    margin-top: 30px;
}

.mt50{
    margin-top: 50px;
}

.mt80{
    margin-top: 80px;
}

.mt100{
    margin-top: 100px;
}

.mb5{
    margin-bottom: 5px;
}

.mb10{
    margin-bottom: 10px;
}

.mb15{
    margin-bottom: 15px;
}

.mb20{
    margin-bottom: 20px;
}

.mb30{
    margin-bottom: 30px;
}

.mb50{
    margin-bottom: 50px;
}

.mb80{
    margin-bottom: 80px;
}

.mb100{
    margin-bottom: 100px;
}

.mr10{
    margin-right: 20px;
}

.mr20{
    margin-right: 20px;
}

.mr30  {
    margin-right: 30px;
}


/* common /////////////////////////////////////////////////////////////////////////////////////////// */


#wrapper {
	overflow: hidden;
}


header {
	width:100%;
    position: relative;
    z-index: 1;
}

main {
    width:100%;
    position: relative;
    z-index: 0;
}

footer {
	width:100%;
    position: relative;
    z-index: 0;
}

/* modalmenu */
#header_modalmenu_check:checked ~ .header_infobar {
    /* box-shadow: 0 8px 20px 0 #e5e5e5; */
}

#header_modalmenu_check {
    /* position: absolute;
    right: 5%;
    top: 50px;
    transform: translate(50%, -50%);
    z-index: -99;
    display: inline-block;
    opacity: 0; */
    display: none;
}

.header_modalmenu_btn {
    flex-shrink: 0;
	display: none;
    /* display: inline-flex; */
    justify-content: center;
    align-items: center;
    width: 60px;
    height: 60px;
    cursor: pointer;
	z-index: 50;
    position: absolute;
    top: 0;
    right: 0;
}

.header_modalmenu_btn .box {
    display: inline-block;
    width: 30px;
    height: 20px;
    position: absolute;
    top: 20px;
    left: 15px;
}

.header_modalmenu_btn .box span {
    position: absolute;
    left: 0;
    top: calc((100% - 1px)/2);
    display: block;
    width: 100%;
    height: 2px;
    transition: transform .15s,
                opacity .15s;
    background-color: #000000;
}

.header_modalmenu_btn .top {
    transform: translateY(-13px);
}

.header_modalmenu_btn .bottom {
    transform: translateY(13px);
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .top {
    transform: rotate(45deg);
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .center {
    opacity: 0;
}

#header_modalmenu_check:checked ~ .header_infobar .header_modalmenu_btn .bottom {
    transform: rotate(-45deg);
}

#header_modalmenu_close_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    background-color: rgba(0, 0, 0, 0.6);
	z-index: 30;
}

#header_modalmenu_check:checked ~ #header_modalmenu_close_bg {
    display: block;
}

#header_modalmenu_area {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    padding: 60px 0 30px;
    opacity: 0;
    transition: opacity .15s;
    overflow: auto;
    pointer-events: none;
	z-index: 40;
}

#header_modalmenu_check:checked ~ #header_modalmenu_area {
    opacity: 1;
    pointer-events: all;
}

.header_modalmenu_areainner {
    overflow-y: auto;
}

.header_modalmenu_nav form input{
    width: calc(100% - 40px);
    margin: 0;
    padding: 0 0 0 10px;
    border: none;
    height: 40px;
    border-radius: 0;
}

.header_modalmenu_nav .subtmit_gsrh{
    width: 40px;
    height: 40px;
    border-radius: 0;
    margin: 0;
    padding: 0;
    border: none;
    background-color: #00a0dc;
    position: absolute;
}

.header_modalmenu_nav ul {
    background-color: #4b843e;
    background-image: url(../img/cmn_bg_deco_leaf.svg), url(../img/cmn_bg_deco_leaf_2.svg);
    background-repeat: no-repeat;
    background-position: right top, left -50px bottom;
    background-size: 200px auto;
    padding-top: 60px;
    padding-bottom: 40px;
    margin-bottom: 50px;
}

.header_modalmenu_nav ul li{
    position: relative;
}

.header_modalmenu_nav a {
    display: block;
    padding: 14px;
    text-align: center;
    color: #ffffff;
}

.header_modalmenu_nav a span{
	display: block;
	font-size: 1.2rem;
	line-height: 1;
}

/* スライドアニメーション */

.transparent,
.scrollanime {
    opacity: 0;
} 

.fadeInDown {
    animation-name: fadeInDown;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes fadeInDown {
    0% {
        opacity: 0;         
    }
    100% {
    opacity: 1;
    transform: translate(0);
    }
}

.toup {transform: translateY(30px);}
.todown {transform: translateY(-30px);}
.toleft {transform: translateX(50px);}
.toright {transform: translateX(-50px);}

.delay2{animation-delay: .2s;}
.delay4{animation-delay: .4s;}
.delay5{animation-delay: .5s;}
.delay6{animation-delay: .6s;}
.delay8{animation-delay: .8s;}
.delay10{animation-delay: 1.0s;}
.delay12{animation-delay: 1.2s;}
.delay14{animation-delay: 1.4s;}
.delay16{animation-delay: 1,6s;}
.delay18{animation-delay: 1.8s;}
.delay20{animation-delay: 2.0s;}

/* cmn_text_animation */
.cmn_tit_animation path{
    opacity: 0;
    stroke-miterlimit:10;
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
}

.cmn_tit_animation_scroll path{
    animation: textAnime 3s linear forwards;
}

@keyframes textAnime {
0% {
    stroke-dashoffset: 600;
    fill:transparent;
    opacity:0.3;
}
50% {
    fill:transparent;
}
100% {
    stroke-dashoffset: 0;
    opacity:0.3;
}
}

/* cmn ///////////////////////////////////// */

/* header */
.header_logo{
    width: 360px;
    height: 150px;
    background-color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_infobar{
    height: 100px;
    padding: 0 50px 0 0;
    position: relative;
    display: flex;
    justify-content: space-between;
    z-index: 100;
    background-color: #ffffff;
}

.header_nav ul{
    display: flex;
}

.header_nav ul li{
    margin-right: 20px;
}

.header_nav ul li:last-of-type{
    margin-right: 0;
}

.header_nav ul li a{
    display: block;
    width: 60px;
    height: 150px;
    padding-top: 20px;
    color: #ffffff;
    background-color: #4b843e;

    display: flex;
    align-items: center;

    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;

    position: relative;
    z-index: 1;
}

.header_nav ul li:nth-of-type(2) a{
    letter-spacing: .3em;
}

.header_nav ul li:nth-of-type(3) a{
    letter-spacing: .7em;
}

.header_nav ul li a span{
    display: block;
    position: absolute;
    z-index: -1;
    color: rgba(0, 0, 0, .2);

    left: 0px;
    bottom: 3px;
}

.header_nav ul li a:hover{
    padding-top: 40px;
    height: 170px;
}

/* cmn_maintitle */

.cmn_mainimg{
    height: 300px;
    background-color: #ddd;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.cmn_mainimg > div{
    position: relative;
    height: 100%;
}

.cmn_maintitle{
    width: 500px;
    height: 200px;
    background-color: rgba(75,132,62,.8);

    padding-left: 70px;
    display: flex;
    align-items: center;

    position: absolute;
    bottom: -50px;

    z-index: 0;
}

.cmn_maintitle h1{
    letter-spacing: .2em;
}

.cmn_maintitle p{
    font-size: 10rem;
    line-height: 1;
    color: rgba(0, 0, 0, .2);
    text-transform: capitalize;

    position: absolute;
    right: 5px;
    bottom: -5px;

    z-index: -1;
}

/* footer */

.footer_top > div {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
}

.footer_top_right ul{
    display: flex;
}

.footer_top_right ul li{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1;
    margin-right: 30px;
}

.footer_top_right ul li a{
    display: block;
    padding-top: 30px;
    position: relative;
}

.footer_top_right ul li a::before{
    content: "";
    display: block;
    width: 1px;
    height: 20px;
    background-color: #4d4d4d;
    position: absolute;
    top: 0px;
    left: 50%;
}

.footer_top_right ul li:last-of-type{
    margin-right: 0;
}

.footer_bottom > div{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footer_bottom > div > p{
    width: 350px;
}

.footer_gotop {
    position: fixed;
    right: 0px;
    bottom: 0px;
    display: none;
    z-index: 30;
}

.footer_gotop a{
    display: block;
    width: 60px;
    height: 60px;
    background-image: url(../img/footer_gotop_icon.svg);
    background-repeat: no-repeat;
    background-position: center top;
}

.footer_gotop a:hover{
    opacity: 1;
    height: 70px;
}

/* cmn_btn */

.cmn_btn a,
.contact_form .contact_btn_area button{
    display: block;
    width: 250px;
    height: 60px;
    background-color: #4b843e;
    border: none;
    font-size: 1.6rem;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cmn_btn.cw a{
    background-color: #ffffff;
    color: #4b843e;
}

.cmn_btn a:hover,
.contact_form .contact_btn_area button:hover{
    opacity: 1;
    background-color: #ffffff;
    border: solid 1px #4b843e;
    color: #4b843e;
}

.cmn_btn.cw a:hover{
    background-color: #4b843e;
    border: solid 1px #ffffff;
    color: #ffffff;
}

/* cmn_dl */

.cmn_dl > div {
    display: flex;
    border-bottom: solid 1px #4b843e;
    line-height: 20px;
}

.cmn_dl > div dt{
    width: 250px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    padding: 20px 30px;
    color: #4b843e;
    font-weight: 500;
}

.cmn_dl > div dd{
    width: 100%;
    display: flex;
    align-items: center;
    padding: 20px 30px;
}

/* cmn_tit */
.cmn_tit_1st{
    position: relative;
}

.cmn_tit_1st_animation{
    max-width: calc(100% - 90px);
    position: absolute;
    left: 70px;
}

.cmn_tit_1st h2{
    line-height: 80px;
    padding-left: calc( (100vw - 1040px)/2 );
    position: relative;
}

.cmn_tit_1st h2::before{
    content: "";
    width: calc( (100vw - 1060px)/2 );
    height: 1px;
    position: absolute;
    background-color: #4b843e;
    top: 40px;
    left: 0px;
}

.cmn_tit_1st.cw h2::before{
    background-color: #fff;
}

/* cmn_contact */
.cmn_contact{
    background-image: url(../img/cmn_bg_deco_leaf.svg);
    background-repeat: no-repeat;
    background-position: right top;
}

.cmn_contact .content{
    display: flex;
}


.cmn_contact .content .content_right{
    transform: translateY(-50px);
}

/* cmn_list */

.cmn_list{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: 20px 4%;
}

/* cmn_flow */

.cmn_flow li{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    box-shadow: 0 0 10px rgba(26,73,21,.5);
    line-height: 20px;
    padding: 20px 40px;
    position: relative;

    background-image: url(../img/cmn_flow_ico_01.svg);
    background-repeat: no-repeat;
    background-position: 40px center;
}

.cmn_flow li:nth-of-type(2){
    background-image: url(../img/cmn_flow_ico_02.svg);
}

.cmn_flow li:nth-of-type(3){
    background-image: url(../img/cmn_flow_ico_03.svg);
}

.cmn_flow li:nth-of-type(4){
    background-image: url(../img/cmn_flow_ico_04.svg);
}

.cmn_flow li:last-of-type{
    margin-bottom: 0;
}

.cmn_flow li::after{
    content: "";
    display: block;
    width: 4.8px;
    height: 50px;
    background-image: url(../img/cmn_flow_deco.svg);
    background-repeat: no-repeat;
    position: absolute;
    left: 50%;
    bottom: -40px;
}

.cmn_flow li:last-of-type:after{
    content: none;
}

.cmn_flow li h3{
    width: 300px;
    flex-shrink: 0;
    padding-left: 100px;
}

.cmn_flow li p{
    width: 560px;
}

/* cmn_area */
.cmn_area{
    background-image: url(../img/cmn_bg_deco_leaf_w2_2.svg);
    background-repeat: no-repeat;
    background-position: left bottom;
}

.cmn_area > div{
    display: flex;
}

.cmn_area_left{
    width: calc(50% - 100px);
}

.cmn_area_left .cmn_maxbox{
    max-width: 400px;
    margin: 0 0 0 auto;
}

.cmn_area > div > figure{
    width: 60%;
    max-width: 600px;
}

/* cmn_leaf */

.cmn_leaf_rt{
    display: block;
    width: 800px;
    height: 800px;

    position: absolute;
    right: 0px;
    top: 0px;
    z-index: -1;
}

.cmn_leaf_lb{
    display: block;
    width: 800px;
    height: 800px;

    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: -1;
}


/* home ///////////////////////////////////// */

/* home_mainimg */

.swiper-container,
.swiper-wrapper,
.swiper-slide{
    width: 100%;
    height: 100%;
}

.swiper-slide img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home_mainimg{
    /* height: calc(100vh - 100px); */
    height: calc(var(--vh, .5vh) * 100);
    position: relative;
}

.home_mainimg .cmn_maxbox_1200{
    height: 100%;
    display: flex;
    align-items: center;

    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}

.home_mainimg_copy{
    width: 500px;
    padding: 40px 50px;
    background-color: rgba(75,132,62,.8);
}

.home_mainimg .home_mainimg_animation{
    position: absolute;
    left: 20px;
    bottom: 15px;
    max-width: calc(100% - 40px);
    z-index: 10;
}

.home_mainimg_animation g path{
    opacity: 0;
    stroke-miterlimit:10;
    stroke-dasharray: 600;
    stroke-dashoffset: 600;
    animation: homeTextAnime 3s linear forwards;
}

@keyframes homeTextAnime {
0% {
    stroke-dashoffset: 600;
    fill:transparent;
    opacity:1;
}
50% {
    fill:transparent;
}
100% {
    stroke-dashoffset: 0;
    opacity:1;
}
}

/* home_resource */
.home_resource{
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    position: relative;
}

.home_resource_left{
    width: 50%;
    height: 400px;
}

.home_resource_right{
    width: 50%;
    max-width: 500px;
}

.home_resource_right .cmn_tit_1st h2{
    padding-left: 130px;
}

.home_resource_right .cmn_tit_1st h2::before{
    width: 120px;
}

.home_resource_right .cmn_tit_1st_animation{
    left: 20px;
}

.home_resource_right p{
    max-width: 400px;
    margin-left: auto;
}

/* home_otherlinks */

.home_otherlinks{
    background: linear-gradient(180deg,rgba(75,132,62,.15) 0%,rgba(75,132,62,.15) 50%,#ffffff 50%,#ffffff 100%);
}

.home_otherlinks ul{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px 10%;
}

.home_otherlinks ul li{
    width: 100%;
    height: 220px;
    box-shadow: 0 0 10px rgba(26,73,21,.5);
    transition: all .2s;
}

.home_otherlinks ul li:hover{
    box-shadow: none;
}

.home_otherlinks ul li a{
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 160px;
    background-image: url(../img/home_food_ico.svg);
    background-repeat: no-repeat;
    background-position: center top 40px;
}

.home_otherlinks ul li:nth-of-type(2) a{
    background-image: url(../img/home_feed_ico.svg);
}

/* home_compnay */

.home_company{
    background-image: url(../img/cmn_bg_deco_leaf_w2_2.svg);
    background-repeat: no-repeat;
    background-position: left bottom;

    display: grid;
    grid-template-columns: 1fr 1fr;
}

.home_company_left .cmn_maxbox{
    max-width: 500px;
    margin: 0 0 0 auto;
    padding-right: 100px;
}

.home_company_left .cmn_btn a{
    width: 200px;
}

.home_company > figure{
    height: 400px;
}


/* food ///////////////////////////////////// */

.food_body .cmn_mainimg{
    background-image: url(../img/food_mainimg.jpg);
}

.food_about{
    position: relative;
}

.food_body .cmn_area{
    background-image: url(../img/food_area_bg.svg);
}

.food_business{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px 0;
}

.food_business li{
    height: 400px;
    padding: 30px 20%;

    background-image: url(../img/food_business_01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;

    overflow: hidden;
    position: relative;
}

.food_business li:nth-of-type(2){
    background-image: url(../img/food_business_02.jpg);
}

.food_business li h3{
    position: relative;
}

.food_business li h3::before{
    content: "";
    width: 500px;
    height: 1px;
    background-color: #ffffff;
    position: absolute;
    top: 50%;
    left: -510px;
}

.food_business li figure{
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
}



/* feed ///////////////////////////////////// */

.feed_body .cmn_mainimg{
    background-image: url(../img/feed_mainimg.jpg);
}

.feed_sales{
    position: relative;
}


/* company ///////////////////////////////////// */

.company_body .cmn_mainimg{
    background-image: url(../img/company_mainimg.jpg);
}

.company_message{
    position: relative;
}

.company_message .content .fs14{
    text-align: right;
}

.company_equipment{
    position: relative;
}

.company_equipment .cmn_list{
    grid-template-columns: 1fr 1fr 1fr;
}

.company_equipment .company_equipment_bg{
    display: block;
    width: 600px;
    height: 600px;
    position: absolute;
    left: 0px;
    bottom: -300px;
    z-index: -1;
}

.company_access iframe{
    width: 100%;
    height: 400px;
}

/* contact ///////////////////////////////////// */

.contact_body .cmn_mainimg{
    background-image: url(../img/contact_mainimg.jpg);
}

.contact_phone{
    position: relative;
}

.contact_phone .content{
    background-color: #fff;
    box-shadow: 0 0 10px rgba(26,73,21,.5);
}

.contact_contactform{
    position: relative;
}

/* contact_form */

div.mfp_ok{
    display: none !important;
}

.contact_body .cmn_dl > div dt{
    width: 300px;
    flex-shrink: 0;
    position: relative;
}

.attention{
    color: #ed1c24;
}

.required{
    display: inline-block;
    width: 55px;
    height: 20px;
    font-size: 1.2rem;
    color: #ed1c24;
    text-align: center;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
}

.reenter{
    display: inline-block;
    color: #ed1c24;
    padding-left: 10px;
}

.contact_body .cmn_dl > div dd{
    display: block;
    width: 700px;
}

.contact_form .cmn_dl .select_box{
    width: 300px;
    position: relative;
}

.contact_form .cmn_dl .select_box select{
    width: 100%;
    height: 40px;
}

.contact_form .cmn_dl .select_box::after{
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13.0px 7.5px 0 7.5px;
    border-color: #808080 transparent transparent transparent;
    content: "";
    display: inline-block;
    pointer-events: none;
    position: absolute;
    top: 14px;
    right: 10px;
}

.contact_form .cmn_dl select{
    width: 100%;
    height: 100%;
    padding: 0 20px;
    border: none;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background-color: #edf3ec;
}

.contact_form .cmn_dl input{
    width: 100%;
    height: 40px;
    padding: 0 20px;
    border: none;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    background-color: #edf3ec;
}

.contact_form .cmn_dl .input01{
    width: 300px
}

.contact_form .cmn_dl .input02{
    width: calc(100% - 70px);
    margin-bottom: 10px;
}

.contact_form .cmn_dl .input03{
    width: calc(100% - 70px);
}

.contact_form .cmn_dl .input04{
    width: 200px;
    margin-left: 10px;
    margin-bottom: 10px;
}

.contact_form .cmn_dl textarea{
    width: 100% !important;
    height: 210px !important;
    padding: 10px 20px;
    border: none;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
    background-color: #edf3ec;
}

.contact_form .contact_btn_area{
    display: flex;
    justify-content: space-around;
}

.contact_form .contact_btn_area button{
    transition: all .2s;
}

.contact_form .contact_btn_area button:nth-of-type(1){
    margin-right: 20px;
    background-color: #ffffff;
    border: solid 1px #4b843e;
    color: #4b843e;
}

.contact_form .contact_btn_area button:nth-of-type(1):hover{
    margin-right: 20px;
    background-color: #4b843e;
    border: solid 1px #ffffff;
    color: #ffffff;
}