figcaption , .figcaption{
    color: var(--gray);
    font-weight: 400;
    font-size: 14px;
    text-align: center;
    line-height: 20px;
}
.p{display: block;}
.m{display: none;}
.action{
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.9s ease;
    -webkit-transition: all 0.9s ease;
    -ms-transition: all 0.9s ease;
    -moz-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
}
.action.act{
    transform: translateY(0px);
    opacity: 1;
}
.action.delay1{
    transition: all 0.9s ease 0.2s;
    -webkit-transition: all 0.9s ease 0.2s;
    -ms-transition: all 0.9s ease 0.2s;
    -moz-transition: all 0.9s ease 0.2s;
    -o-transition: all 0.9s ease 0.2s;
}
.action.delay2{
    transition: all 0.9s ease 0.4s;
    -webkit-transition: all 0.9s ease 0.4s;
    -ms-transition: all 0.9s ease 0.4s;
    -moz-transition: all 0.9s ease 0.4s;
    -o-transition: all 0.9s ease 0.4s;
}
.action.delay3{
    transition: all 0.9s ease 0.6s;
    -webkit-transition: all 0.9s ease 0.6s;
    -ms-transition: all 0.9s ease 0.6s;
    -moz-transition: all 0.9s ease 0.6s;
    -o-transition: all 0.9s ease 0.6s;
}
.imgbox{position: relative;}
.imgaction{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.15);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 1.6s ease;
    -webkit-transition: transform 1.6s ease;
    -ms-transition: transform 1.6s ease;
    -moz-transition: transform 1.6s ease;
    -o-transition: transform 1.6s ease;
}
.imgaction.act{
    transform: scale(1);
}
.imgaction.delay1{
    transition: transform 1.6s ease 0.2s;
    -webkit-transition: transform 1.6s ease 0.2s;
    -ms-transition: transform 1.6s ease 0.2s;
    -moz-transition: transform 1.6s ease 0.2s;
    -o-transition: transform 1.6s ease 0.2s;
}
.imgaction.delay2{
    transition: transform 1.6s ease 0.4s;
    -webkit-transition: transform 1.6s ease 0.4s;
    -ms-transition: transform 1.6s ease 0.4s;
    -moz-transition: transform 1.6s ease 0.4s;
    -o-transition: transform 1.6s ease 0.4s;
}
.imgaction.delay3{
    transition: transform 1.6s ease 0.6s;
    -webkit-transition: transform 1.6s ease 0.6s;
    -ms-transition: transform 1.6s ease 0.6s;
    -moz-transition: transform 1.6s ease 0.6s;
    -o-transition: transform 1.6s ease 0.6s;
}
.table h6{
    display: flex;
    padding: 10px;
    width: 100%;
    background: var(--white);
    align-items: center;
    justify-content: center;
}
.table ul{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    gap: 3px;
    width: 100%;
    max-width: 600px;
}
.table li{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 0px;
    gap: 3px;
    text-align: center;
    width: 100%;
}
.table li:first-of-type h6{
    background: var(--primary-navy);
    color: var(--white);
}
.sub_visual {
    position: relative;
    height: 376px;
    color: #fff;
    text-align: center;
    padding-top: 100px;
    box-sizing: border-box;
    overflow: hidden;
}
.visual_bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    transform: scale(1.15);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: transform 1.6s ease;
    -webkit-transition: transform 1.6s ease;
    -ms-transition: transform 1.6s ease;
    -moz-transition: transform 1.6s ease;
    -o-transition: transform 1.6s ease;
}
.visual_bg {
    background-image: url(../images/about01.jpg);
}
.sub_visual.act .visual_bg {
    transform: scale(1);
}
.sub_visual .visual_txt_box {
    position: relative;
    z-index: 2;
    padding: 100px 0;
}
.sub_visual h2 {
    /* font-size: 39px; */
    color: var(--white);
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.9s ease;
    -webkit-transition: all 0.9s ease;
    -ms-transition: all 0.9s ease;
    -moz-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
}
.sub_visual.act h2,
.sub_visual.act h3 {
    transform: translateY(0);
    opacity: 1;
}
#breadcrumbs{
    box-sizing: border-box;
    padding: 0px calc((100% - var(--l-cont)) / 2);

    width: 100%;
    height: 70px;

    background: var(--white);
    border-width: 1px 1px 1px 0px;
    border-style: solid;
    border-color: var(--color-500);
}
#breadcrumbs div{
    width: 100%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
}
#breadcrumbs .crumb{
    box-sizing: border-box;

    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0px 30px;

    min-width: 200px;
    max-width: 360px;
    height: 100%;

    color: var(--black);
    border-width: 0px 1px 0px 0px;
    border-style: solid;
    border-color: var(--color-500);

    transition: 0.3s;
    gap: 10px;
    line-height: 1.1;
}
#breadcrumbs .crumb:hover{
    color: var(--primary-green);
}
#breadcrumbs .crumb:not(.home) i{
    transition: 0.3s;
    transform: rotate(-90deg);
}
#breadcrumbs .crumb:hover i{
    transform: rotate(0deg);
}
#breadcrumbs .crumb i.act{
    transform: rotate(180deg);
}
#breadcrumbs .crumb.home{
    justify-content: center;
    color: var(--white);
    background-color: var(--primary-green);
    border-color: var(--primary-green);

    width: 70px;
    min-width: 70px;
    border-width: 0;
    transition: all 0.3s;
}
#breadcrumbs .crumb.home:hover{
    background-color: #99E830;
    color: var(--white);
}
#breadcrumbs ul{
    position: absolute;
    min-width: 200px;
    background: var(--white);
    box-shadow: 0px 6px 12px rgba(148, 163, 184, 0.15);    
    top: 69px;
    display: none;
    z-index: 1;
}
#breadcrumbs ul li{
    padding: 0 30px;
    width: 100%;
    height: 70px;
    border-bottom: 1px solid var(--color-500);
}
#breadcrumbs ul li:last-of-type{border: none;}
#breadcrumbs ul li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}
#breadcrumbs ul:first-of-type{
    left: 70px;
}
#breadcrumbs ul li a,
#breadcrumbs ul i{
    transition: 0.3s;
    color: var(--gray);
    line-height: 1.1;
}
#breadcrumbs ul li a:hover{
    color: var(--primary-green);
}
#breadcrumbs ul li a:hover i{
    transform: translateX(5px);
    color: var(--primary-green);
}
.content{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 100px calc((100% - var(--s-cont)) / 2) 150px;
    gap: 20px;

    width: 100%;
    background: var(--white);
}
.quotes{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px 10px;
    gap: 30px;

    width: 100%;
}
.quotes div{
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.9s ease;
    -webkit-transition: all 0.9s ease;
    -ms-transition: all 0.9s ease;
    -moz-transition: all 0.9s ease;
    -o-transition: all 0.9s ease;
}
.quotes div img{width: 100%;}
.quotes h1 b{ color: var(--primary-green); }
.quotes h1 span{
    display: block;
    transform: translateY(10px);
    opacity: 0;
    transition: all 0.9s ease 0.2s;
    -webkit-transition: all 0.9s ease 0.2s;
    -ms-transition: all 0.9s ease 0.2s;
    -moz-transition: all 0.9s ease 0.2s;
    -o-transition: all 0.9s ease 0.2s;
}
.quotes h1 span:nth-of-type(2){
    transition: all 0.9s ease 0.4s;
    -webkit-transition: all 0.9s ease 0.4s;
    -ms-transition: all 0.9s ease 0.4s;
    -moz-transition: all 0.9s ease 0.4s;
    -o-transition: all 0.9s ease 0.4s;
}
.quotes.act h1 span,
.quotes.act div{
    transform: translateY(0px);
    opacity: 1;
}
.greet{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 20px;

    width: 100%;
}
.greet .imgbox{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;

    width: 100%;
    max-width: 626px;

    border-radius: 40px 0px 0px 0px;
    overflow: hidden;
}
.greet .imgbox img{
    background-blend-mode: soft-light, normal;
    width: 100%;
}
.greet .contbox{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 50px 50px 40px 40px;
    gap: 30px;

    width: 100%;
    max-width: 594px;

    border-width: 10px 10px 0px 0px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 40px 40px 0px;
}
.greet .contbox p span{
    display: block;
    padding: 8px
}
#about02{
    flex-direction: row;
}
#about02 .txtbox{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 55px 40px 40px 50px;
    gap: 20px;

    width: 100%;
    min-width: 710px;
    /* max-width: 958px; */

    border-width: 10px 0px 0px 10px;
    border-style: solid; 
    border-color: var(--color-300);
    border-radius: 40px 0px 0px 40px;
}
#about02 .txtbox .company01{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 20px;

    width: 100%;
}
#about02 .txtbox .company01>li{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    padding: 0px;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}
#about02 .txtbox .company01 .logo{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 50px;
    gap: 10px;

    background: var(--color-300);
    border-radius: 10px;
}
#about02 .txtbox .company01 .logo img{
    width: 100%;
    max-width: 360px;
}
#about02 .txtbox .company01>li h6{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;

    width: 100%;
    max-width: 160px;

    background: var(--primary-navy);
    color: var(--white);
}
#about02 .txtbox .company01>li ul{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 20px 15px 40px;
    gap: 10px;
    width: 100%;
    background: var(--color-300);
    justify-content: center;
    line-height: 20px;
}
#about02 .txtbox .company01>li ul li{
    line-height: 20px;
    color: var(--black);
}
#about02 .txtbox .company01>li ul.list li{
    list-style: disc;
}
#about02 .txtbox .company02{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    gap: 20px;

    width: 100%;

    border: 1px solid var(--color-500);
    border-radius: 10px;

    color: var(--black);
}
#about02 .imgbox{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 10px;

    width: 100%;
    max-width: 462px;
    height: 1233.01px;

    border-radius: 0px 40px 0px 0px;
    overflow: hidden;
}
#about02 .backimg{ background: url(/images/about02_ov.jpg) center / cover; }
#about02 .imgbox img{
    position: absolute;
    z-index: 1;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 6em);
}
#about03 .point{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;

    width: 100%;
}
#about03 .point .short{
    box-sizing: border-box;

    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 30px 40px 20px;
    gap: 20px;

    width: 100%;
    border-width: 0px 10px;
    border-style: solid;
    border-color: #F7F7FB;
    border-radius: 40px 40px 0px 0px;
}
#about03 .point .short li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 100%;

    overflow: hidden;
}
#about03 .point .short li:nth-of-type(1){border-radius: 20px 0 0 0;}
#about03 .point .short li:nth-of-type(3){border-radius: 0 20px 0 0;}
#about03 .point .short li .contimg{
    width: 100%;
    height: 248px;
    position: relative;
    overflow: hidden;
}
#about03 .point .short li:nth-of-type(1) .imgaction{
    background-image: url(/images/about03_ov01.jpg);
}
#about03 .point .short li:nth-of-type(2) .imgaction{
    background-image: url(/images/about03_ov02.jpg);
}
#about03 .point .short li:nth-of-type(3) .imgaction{
    background-image: url(/images/about03_ov03.jpg);
}
#about03 .point .short li .conttxt{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 0px;

    width: 100%;

    background: var(--primary-navy);
}
#about03 .point .short li .conttxt :is(h4, p){
    color: var(--white);
    text-align: center;
}
#about03 .imgbox{
    width: 100%;
    height: 250px;
    background-image: url(/images/mRNA.jpg);
    background-attachment:fixed;
    background-position: center;
}
#about03 .txtbox{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 40px 40px;
    gap: 20px;

    width: 100%;
    
    border-width: 0px 10px;
    border-style: solid;
    border-color: #F7F7FB;
    border-radius: 0px 0px 40px 40px;
}
#about04{
    gap: 50px;
}
#about04 .year{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 20px;

    width: 100%;
}
#about04 .year:last-of-type nav{
    border-radius: 0 0 40px 40px;
}
#about04 .year nav{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 40px;
    gap: 15px;

    width: 100%;

    border-width: 0px 10px;
    border-style: solid;
    border-color: #F7F7FB;
}
#about04 .year nav ul{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;

    width: 100%;

    border-radius: 5px;
    overflow: hidden;
}
#about04 .year nav ul li{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;

    width: 100%;
}
#about04 .year nav ul li:first-of-type{
    background: var(--primary-navy);
    max-width: 160px;
}
#about04 .year nav ul li:first-of-type h6{
    color: var(--white);
}
#about04 .year nav ul li:last-of-type{
    padding: 10px 20px;
    background: var(--color-300);
    justify-content: flex-start;
}
#map{
    width: 100%;
    height: 400px;
    border-radius: 20px 20px 0px 0px;
    overflow: hidden;
}
#about05 .txtbox{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 40px;
    gap: 15px;

    width: 100%;

    border-width: 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 0px 40px 40px;
    overflow: hidden;
}
#about05 .txtbox>li{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    padding: 0px;
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}
#about05 .txtbox>li h6{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;

    width: 100%;
    max-width: 160px;

    background: var(--primary-navy);
    color: var(--white);
}
#about05 .txtbox>li ul{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 15px 20px 15px 40px;
    gap: 10px;
    width: 100%;
    background: var(--color-300);
    justify-content: center;
    line-height: 20px;
}
#about05 .txtbox li ul li{
    line-height: 20px;
    color: var(--black);
}
#about05 .txtbox>li ul.list li{
    list-style: disc;
}
.txtbox.list{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
#technical01{
    flex-direction: row;
}
#technical01 figure{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    gap: 15px;

    width: 100%;
    max-width: 620px;
}
#technical01 figure img{
    width: 100%;
    max-width: 440px;
}
#technical01 .txtbox.list{
    box-sizing: border-box;
    padding: 50px 50px 40px 40px;

    width: 100%;
    min-width: 550px;
    max-width: 820px;

    border-width: 10px 10px 0px 0px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 40px 40px 0px;
}
#technical02{
    flex-direction: row;
    align-items: stretch;
}
#technical02 .graph{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 35px;
    gap: 10px;

    width: 100%;
    max-width: 600px;

    --background: var(--color-300);
    background-color:#F3F4F4;

    border-width: 0px 0px 0px 0px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 40px 0px 40px 40px;
}
#technical02 .graph img{
    width: 100%;
    max-width: 600px;
}
/* #technical02 .graph ul{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    gap: 3px;
    width: 100%;
    max-width: 600px;
} */
/* #technical02 .graph li{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 0px;
    gap: 3px;
    text-align: center;
    width: 100%;
}
#technical02 .graph h6{
    display: flex;
    padding: 10px;
    width: 100%;
    background: var(--white);
    align-items: center;
    justify-content: center;
} */
#technical02 .txtbox.list{
    width: 100%;

    box-sizing: border-box;
    padding: 40px 50px 40px 40px;

    border-width: 10px 10px 0px 0px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 40px 40px 0px;
}
#technical02 .graph li:first-of-type h6{
    background: var(--primary-navy);
    color: var(--white);
}
#technical02 .graph p{
    text-align: center;
    line-height: 20px;
    max-width: 600px;
}
#technical03>ul:first-of-type{
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 60px 50px 30px;
    gap: 30px;
    
    width: 100%;
    
    border-width: 10px 10px 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 40px 40px 0px 0px;
}
#technical03>ul:nth-of-type(2){
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 50px 30px;
    gap: 30px;

    width: 100%;

    border-width: 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px;
}
#technical03 .backcolor{
    background: var(--color-300);
    width: 100%;
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 40px 50px;
    gap: 30px;
}
#technical03>.backcolor:first-of-type{
    flex-direction: row;
    gap: 10px;
}
#technical03>.backcolor:first-of-type figure{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    gap: 15px;

    width: 100%;
    max-width: 550px;
}
#technical03>.backcolor:first-of-type img{
    width: 100%;
    max-width: 645px;
}
#technical03>.backcolor:last-of-type figure{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
    gap: 15px;

    width: 100%;
}
#technical03>.backcolor:last-of-type img{
    width: 100%;
}
#technical03>nav{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 0px;
    gap: 20px;

    width: 100%;
}
#technical03>nav .backcolor{
    justify-content: center;
    padding: 20px;
    gap: 10px;

    max-width: 609px;
    border-radius: 0 0 0 40px;
}
#technical03>nav .backcolor img{
    width: 100%;
}
#technical03>nav .txtbox.list{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 50px 30px 40px;
    gap: 30px;

    width: 100%;

    border-right: 10px solid var(--color-300);
    border-radius: 0px 0px 40px 0px;
}
#technical03 img {
    width: 100%;
}

#technical04{
    flex-direction: row;
    align-items: stretch;
}
#technical04 figure{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 35px;
    gap: 15px;

    max-width: 600px;
    width: 100%;

    background-color:#F3F4F4;

    border-width: 10px 0px 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 40px 0px 40px 40px;
}
#technical04 figure img{
    width: 100%;
}
#technical04 ul{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 50px 50px 40px 40px;
    gap: 30px;

    max-width: 971px;
    width: 100%;

    border-width: 10px 10px 0px 0px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 40px 40px 0px;
}

.technical_information {
    display: inline-flex;
    flex-direction: row;
    width: 100%;
}

.technical_information div {
    width: 40%;
}

.technical_information div:first-child {
    width: 60%;
}

.technical_information .subtitle{
    line-height: 4rem;
    font-weight: 500;
    font-size: 20px;
}

.technical_title{
    color: var(--primary-green);
    font-weight: 500;
    font-size: 30px;
}
.brandname{
    font-weight: 700;
    font-size: 22px;
    font-style: oblique;
}
.subtitle{
    font-weight: 300;
    font-size: 18px;
}

@media screen and (max-width : 860px) {
    .technical_information {
        flex-direction: column;
    }

    .technical_information div {
        width: 100%;
    }

    .technical_information div:first-child {
        width: 100%;
    }
}

#product01,
#service01{
    gap: 100px;
}
#product01 nav{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;

    width: 100%;
}
#product01 nav>ul{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;

    max-width: 695px;
    width: 100%;
}
#product01 nav>ul>li:last-of-type {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 10px;
    gap: 10px;

    width: 100%;
}
#product01 nav .imgbox{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    width: 100%;
    height: 354px;

    background: var(--color-300);
    border-radius: 40px 40px 0px 0px;
    overflow: hidden;
}
#product01 nav .imgbox .backimg{
    background-image: url(/images/pro02.jpg);
}
#product01 nav>ul>li:last-of-type img{
    width: 60%;
}
#product01 nav>ul>li:last-of-type ul{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 40px 50px;
    gap: 30px;

    width: 100%;

    border-width: 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 0px 40px 40px;
}
#product01>ul{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;

    width: 100%;
}
#product01>ul>li:last-of-type{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 10px;
    gap: 10px;

    width: 100%;
}
#product01>ul figure{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0px;
    gap: 30px;

    width: 100%;
    max-width: 484px;

    overflow: hidden;
    border-radius: 40px 0px 0px 40px;
}
#product01>ul figure img{
    width: 100%;
    max-width: 484px;
}
#product01>ul ul{
    box-sizing: border-box;

    padding: 40px 50px 40px 40px;
    gap: 30px;

    width: 100%;

    border-right: 10px solid var(--color-300);
    border-radius: 0px 40px 40px 0px;
}
#service01 :is(.contbox, .graphbox){
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;

    width: 100%;
}
#service01 .contbox article{
    display: flex;
    flex-direction: row;
    align-items: stretch;
    padding: 10px;
    gap: 10px;
    
    width: 100%;
}
#service01 .contbox article .imgbox{
    border-radius: 40px 0 0 40px;
    overflow: hidden;
    width: 50%;
}
#service01 .contbox article .txtbox.list{
    box-sizing: border-box;

    padding: 40px 50px 40px 40px;

    border-right: 10px solid var(--color-300);
    border-radius: 0px 40px 40px 40px;
}
#service01 .graphbox{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 30px;
}
#service01 .graphbox article{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;
    gap: 20px;
    
    width: 100%;
}
#service01 .graphbox article > div{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0px 0px 40px;

    width: 100%;
    
    background-color: var(--color-300);
    border-radius: 40px 40px 0 0;
}
#service01 .graphbox article > div nav{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 50px 50px 30px;
    gap: 10px;

    width: 100%;
}
#service01 .graphbox article > div nav>ul{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 50px;
    gap: 10px;

    width: 100%;
}
#service01 .graphbox article > div nav>ul :is(img, li){
    width: 100%;
    max-width: 550px;
}
#service01 .graphbox article >ul{
    box-sizing: border-box;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 50px;
    gap: 30px;

    width: 100%;

    border-width: 0px 10px;
    border-style: solid;
    border-color: var(--color-300);
    border-radius: 0px 0px 40px 40px;
}
#service01 .figcaption{
    padding: 0 30px;
}
#search{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    padding: 25px;
    gap: 20px;

    width: 100%;
    background: var(--color-300);
}
#search>span{
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 5px 20px 5px 10px;
    gap: 10px;

    max-width: 320.39px;
    width: 100%;
    
    background: var(--white);
    border-radius: 8px;
}
#search>span:last-of-type{
    max-width: none;
}

#search>span :is(input,select){
    width: 100%;
    height: 100%;
    font-family: "Pretendard";
    border: none;
    outline: none;
    font-size: 16px;
    background-color: transparent;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}
#search .btn.back {
    display: flex;
    gap: 10px;
    border: none;
    cursor: pointer;
}
#search .btn.back p{
    color: var(--white);
    font-family: "Pretendard";
}
#news{
    gap: 50px;
}
#news #list{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0px;

    width: 100%;
}
#news #list li{
    display: block;
    width: 100%;
}
#news #list li a{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 10px 20px;

    width: 100%;
    min-height: 60px;

    border-bottom: 1px solid var(--color-500);
}
#news #list li:first-of-type a{
    border-width: 2px 0px 1px 0px;
    border-style: solid;
    border-color: var(--color-500);
    background-color: var(--color-300);
}
#news #list li a p{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 10px;

    width: 100%;

    transition: 0.3s;
}
#news #list li a:hover p{
    color: var(--primary-green);
}
#news #list li a p:nth-of-type(1),
#news #list li a p:nth-of-type(4){
    max-width: 60px;
}
#news #list li a p:nth-of-type(3){
    max-width: 120px;
}
#pagination{width: 100%;}
#pagination ul{
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0px 10px;
    gap: 20px;
    width: 100%;
    justify-content: center;
}
#pagination ul li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 8px;
    gap: 8px;

    width: 44px;
    height: 44px;

    border-radius: 4px;
    color: var(--black);
}
#pagination ul li.act{
    background: var(--black);
}
#pagination ul li.act a{
    color: var(--white);
}
#view nav{
    width: 100%;
}
#view nav>ul{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 20px;
    padding: 30px 20px;
    border-bottom: 1px solid var(--color-500);
}
#view nav>ul:first-of-type{
    align-items: center;
    text-align: center;
    border-width: 2px 0px 1px 0px;
    border-style: solid;
    border-color: var(--color-500);
    background-color: var(--color-300);
}
#view nav>ul:nth-of-type(2){
    padding: 50px 30px;
}
#view nav>ul:last-of-type{
    padding: 0;
    gap: 0;
}
#view nav>ul:last-of-type li{
    padding: 20px 30px;
    width: 100%;
}
#view nav>ul:last-of-type li:first-of-type{
    border-bottom: 1px solid var(--color-300);
}
#view nav>ul:last-of-type li a{    
    display: flex;
    align-items: center;
    gap: 10px;
}
#view nav>ul:last-of-type li a p{
    transition: 0.3s;
}
#view nav>ul:last-of-type li a:hover p{
    color: var(--black);
}
#view nav>ul li img{
    max-width: 100%;
}
.writebox{
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}
.write.btn{
    gap: 10px;
}
@media all and (max-width: 1300px) {
    .content{
        padding-left: 2em !important;
        padding-right: 2em !important;
    }
}
@media all and (max-width: 1225px) {
    #service01 .graphbox article > div nav>ul {
        padding: 0 20px;
    }
}
@media all and (max-width: 1100px) {
    #about02 .imgbox img {
        width: calc(100% - 4em);
    }
    #about03 .point .short{
        flex-direction: column;
        padding: 40px 40px 20px;
    }
    #about03 .point .short li .contimg {
        height: 150px;
    }
    #about03 .point .short li:nth-of-type(1){
        border-radius: 20px 20px 0 0;
    }
    #about03 .point .short li:nth-of-type(3) {
        border-radius: 0;
    }
    #technical02 {
        flex-direction: column;
    }
    #technical02 .graph{
        max-width: 100%;
        border-radius: 40px 40px 0px 0px;
    }
    #technical02 .txtbox.list {
        padding: 30px 50px 40px 50px;
        border-width: 0px 10px 0px 10px;
        border-radius: 0px 0px 40px 40px;
    }
    #service01 .graphbox article > div nav{
        flex-direction: column;
        gap: 50px;
    }
    #service01 .graphbox article > div nav>ul{
        padding: 0;
    }
}
@media all and (max-width: 970px) {
    .greet {
        flex-direction: column-reverse;
    }
    .greet .imgbox{
        max-width: 100%;
        border-radius: 0px 0px 0px 0px;
    }
    .greet .imgbox .p{display: none;}
    .greet .imgbox .m{display: block;}
    .greet .contbox{
        padding: 50px 50px 40px;
        border-width: 0px 10px 0px 10px;
        border-radius: 40px 40px 0px 0px;
        max-width: 100%;
    }
    #about02 .imgbox img {
        display: none;
    }
    #technical01 {
        flex-direction: column;
    }
    #technical01 figure,
    #technical01 .txtbox.list{
        max-width: 100%;
        min-width: inherit;
    }
    #technical01 .txtbox.list{
        border-width: 0px 10px 0px 10px;
        border-radius: 0px 0px 40px 40px;
        padding: 30px 40px 40px;
    }
    #technical03 .backcolor{
        padding: 50px 50px 40px;
    }
    #technical03>.backcolor:first-of-type {
        flex-direction: column-reverse;
        gap: 20px;
    }
    #technical03>nav{
        flex-direction: column;
    }
    #technical03>nav .backcolor {
        max-width: 100%;
        border-radius: 0;
        padding: 50px 50px 40px;
    }
    #technical03>nav .backcolor figure{
        max-width: 600px;
    }
    #technical03>nav .txtbox.list {
        padding: 30px 50px 40px 50px;
        border-left: 10px solid var(--color-300);
        border-radius: 0px 0px 40px 40px;
    }
    #product01,
    #service01 {
        gap: 50px;
    }
    #product01 nav {
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }
    #product01 .quotes h1 span,
    #service01 .quotes h1 span {display: inline;}
    #product01>ul {
        max-width: 695px;
        margin: auto;
    }
    #product01>ul>li:last-of-type {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    #product01>ul ul {
        padding: 40px 50px;
        border-left: 10px solid var(--color-300);
        border-radius: 40px;
    }
    #search>span {
        max-width: 120px;
    }
    #news #list li a p:nth-of-type(1){
        display: none;
    }
}
@media all and (max-width: 800px) {
    #about02 .txtbox{
        padding: 50px 50px 40px;
        border-width: 0px 10px 0px;
        border-radius: 40px;
        min-width: auto;
    }
    #about02 .imgbox{
        display: none;
    }
}
@media all and (max-width: 730px) {
    .sub_visual .visual_txt_box {
        padding: 80px 0;
    }
    #breadcrumbs{ display: none; }
    .sub_visual { height: auto; }
    .quotes.act h1 span{display: inline;}
}
@media all and (max-width: 630px) {
    .table h6{
        font-size: 14px;
        line-height: 18px;
    }
    #about02 .txtbox .company01>li,
    #about04 .year nav ul,
    #about05 .txtbox>li {
        flex-direction: column;
    }
    #about02 .txtbox .company01>li h6,
    #about05 .txtbox>li h6,
    #about04 .year nav ul li:first-of-type{
        max-width: inherit;
    }
    #technical02 .graph h6{
        font-size: 14px;
        line-height: 18px;
    }    
    #technical04 {
        flex-direction: column;
        align-items: stretch;
    }
    #technical04 figure {
        max-width: 100%;
    }
    #technical04 ul {
        padding: 40px 50px 50px 40px;
        border-width: 0px 10px;
        border-radius: 0px 0px 40px 40px;
    }
    #search{
        flex-direction: column;
        gap: 10px;
    }
    #search>span {
        max-width: 100%;
        height: 40px;
    }
    #search .btn.back {
        padding: 10px;
        height: 40px;
        justify-content: center;
    }
    #search>span :is(input,select) {
        font-size: 14px;
    }
    #news #list li a{gap: 10px; align-items: center;}
    #news #list li a p{padding: 0;}
    #news #list li a p:nth-of-type(3) {
        max-width: 90px;
    }
}
@media all and (max-width: 530px) {    
    .table h6{
        font-size: 12px;
        line-height: 16px;
        padding: 10px 0;
    }
    .quotes{
        flex-direction: column;
        gap: 10px;
    }
    .quotes div{
        width: 40px;
    }
    .greet .contbox {
        padding: 30px 30px 20px;
    }
    #about02 .txtbox{
        padding: 30px 30px 20px;
    }
    #about03 .txtbox{
        padding: 10px 30px 30px;
    }
    #about03 .point .short{
        flex-direction: column;
        padding: 30px 30px 10px;
    }
    #about04 .year nav,#about05 .txtbox{
        padding: 30px;
    }
    #technical01 .txtbox.list{
        padding: 20px 30px 30px;
    }
    #technical02 .graph {
        border-width: 0;
        padding: 30px;
    }
    #technical02 .graph h6{
        font-size: 12px;
        line-height: 16px;
        padding: 10px 0;
    }
    #technical02 .txtbox.list {
        padding: 20px 30px 30px 30px;
    }
    #technical03 .backcolor,
    #technical03>nav .backcolor {
        padding: 30px 30px 20px;
    }
    #technical03>nav .txtbox.list {
        padding: 10px 30px 40px 30px;
    }
    #technical04 ul {
        padding: 20px 30px 30px 30px;
    }
    
    #product01 nav>ul>li:last-of-type ul{
        padding: 20px 40px 30px;
    }
    #product01>ul ul {
        padding: 30px 40px;
    }
    #service01 .contbox article {
        flex-direction: column;
    }
    #service01 .contbox article .imgbox {
        border-radius: 40px 40px 0 0px;
        width: 100%;
        height: 100px;
    }
    #service01 .graphbox article > div nav {
        padding: 30px 30px 30px;
        gap: 30px;
    }
    #service01 .contbox article .txtbox.list,
    #service01 .graphbox article >ul {
        padding: 30px 40px;
        border-left: 10px solid var(--color-300);
        border-radius: 0px 0px 40px 40px;
    }
    #pagination ul li {
        width: 40px;
        height: 40px;
    }
}
@media all and (max-width: 380px) {
    .table li h6{
        color: var(--black);
        background: var(--color-300);
    }
    .greet .contbox {
        padding: 20px 0 0 10px;
        border-width: 0px 0px 0px 10px;
        border-radius: 0;
    }
    #about02 .txtbox,
    #about03 .txtbox,
    #about03 .point .short{
        padding: 20px 0 0 10px;
        border-width: 0px 0px 0px 0px;
        border-radius: 0;
    }
    #about03 .txtbox{
        padding: 10px 0px 20px;
    }
    #about04 .year nav{
        padding: 20px 0;
        border-width: 0px 0px 0px 0px;
    }
    #about05 .txtbox{
        padding: 20px 0;
        border-width: 0px;
        border-radius: 0px;
    }
    #technical01 .txtbox.list,
    #technical02 .txtbox.list{
        border-width: 0px;
        border-radius: 0px;
        padding: 10px 0px 20px;
    }
    #technical02 .txtbox.list{
        padding: 20px 10px 20px;
        border-top: 1px solid var(--color-300);
    }
    #technical02 .graph {
        padding: 0;
        background: var(--white);
    }
    #technical02 .graph li h6{
        color: var(--black);
        background: var(--color-300);
    }
    #technical03>ul:first-of-type{
        border: none;
        padding: 0px 0px 20px;
    }
    #technical03>ul:nth-of-type(2){
        border: none;
        padding: 20px 0px;
    }
    #technical03>nav .txtbox.list{
        border: none;
        padding: 20px 0 0;
    }
    #technical04 ul {
        padding: 20px 0 0;
        border-width: 0px 0px;
        border-radius: 0px 0px;
    }
    #product01 nav>ul>li:last-of-type ul,
    #product01>ul ul{
        padding: 20px 0 0;
        border-width: 0px 0px;
        border-radius: 0px 0px;
    }
    #service01 .graphbox article > div{
        background-color: transparent;
        border-radius: 0;
        padding: 0;
    }
    #service01 .graphbox article > div nav {
        padding: 0 0 30px 0;
    }
    #service01 .contbox article .txtbox.list,
    #service01 .graphbox article >ul {
        padding: 20px 0px 0px;
        border: none;
        border-radius: 0;
    }
    #service01 .contbox article .imgbox{
        border-radius: 0;
    }
    #news #list li a {
        flex-direction: column;
        align-items: flex-start;
    }
    #news #list li a p{
        justify-content: flex-start;
    }
}