/*==================================================
BASE
==================================================*/

:root{
--bg:#F0F0F0;
--white:#fff;
--text:#333;
--green:#9ACB3B;
--border:#ccc;
--gray:#757575;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
}

body{
overflow-x:hidden;
background:var(--bg);
color:var(--text);
font-family:dnp-shuei-gothic-kin-std,sans-serif;
font-style:normal;
}

img{
display:block;
max-width:100%;
height:auto;
}

a{
color:inherit;
text-decoration:none;
}

ul{
list-style:none;
}

h1{
font-family:roboto-condensed,sans-serif;
font-weight:700;
}

h2{
font-family:roboto-condensed,sans-serif;
font-weight:400;
}

section{
padding:90px 8%;
}

.section-title{
margin:0 0 50px;
text-align:center;
font-size:32px;
font-weight:400;
letter-spacing:.1em;
}

/*==================================================
LAYOUT
==================================================*/

.container{
width:min(1200px,92%);
margin:auto;
}

.pc-only{
display:block;
}

.sp-only{
display:none;
}

@media(max-width:600px){

.pc-only{
display:none;
}

.sp-only{
display:block;
}

}


/*==================================================
HEADER
==================================================*/

.header{
position:absolute;
top:0;
left:0;
z-index:999;
display:flex;
align-items:center;
justify-content:space-between;
width:100%;
height:90px;
padding:0 2%;
}

.logo img{
max-height:50px;
}

.nav{
display:flex;
gap:40px;
}

.nav a{
color:#333;
font-size:17px;
font-weight:600;
letter-spacing:.15em;
transition:.3s;
}

.nav a:hover{
opacity:.7;
}

/* Hamburger */

.hamburger{
display:none;
position:fixed;
top:28px;
right:30px;
z-index:1000;
width:35px;
height:25px;
cursor:pointer;
}

.hamburger span{
position:absolute;
left:0;
width:100%;
height:2px;
background:#333;
transition:.3s;
}

.hamburger span:nth-child(1){
top:0;
}

.hamburger span:nth-child(2){
top:11px;
}

.hamburger span:nth-child(3){
bottom:0;
}

.hamburger.active span{
background:var(--text);
}

.hamburger.active span:nth-child(1){
top:11px;
transform:rotate(45deg);
}

.hamburger.active span:nth-child(2){
opacity:0;
}

.hamburger.active span:nth-child(3){
bottom:12px;
transform:rotate(-45deg);
}

/* Overlay */

.menu-overlay{
display:none;
position:fixed;
top:0;
left:0;
z-index:800;
width:100%;
height:100vh;
background:rgba(0,0,0,.3);
}

.menu-overlay.active{
display:block;
}

/* Tablet */

@media(max-width:900px){

.header{
height:80px;
padding:0 30px;
}

.hamburger{
display:block;
}

.nav{
position:fixed;
top:0;
right:-100%;
z-index:900;
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;
gap:40px;
width:70%;
height:100vh;
background:var(--bg);
transition:.4s;
}

.nav.active{
right:0;
}

.nav a{
color:var(--text);
}

}

/* Mobile */

@media(max-width:600px){

.header{
padding:0 20px;
}

.logo img{
max-height:42px;
}

.hamburger{
right:20px;
}

}

/*==================================================
Hero
==================================================*/

.hero{

    display:flex;

    justify-content:flex-end;

    align-items:flex-end;

    width:100%;

    height:720px;

    padding:0 8% 8%;

    background:
    linear-gradient(
        135deg,
        rgba(255,255,255,.78) 0%,
        rgba(255,255,255,.45) 45%,
        rgba(255,255,255,.80) 100%
    ),
    url("../images/top_img.webp")
    center center / cover no-repeat;

}

.hero-inner{

    max-width:560px;

    text-align:right;

    color:#333;

}

.hero-inner h1{

    margin-bottom:24px;

    color:#333;

    line-height:1.4;

}

.hero-inner p{

    margin-bottom:36px;

    color:#333;

    line-height:2;

}


.hero-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    padding:16px 38px;

    background:#9CCB3B;

    color:#fff;

    font-size:16px;
    font-weight:700;
    letter-spacing:.08em;

    border-radius:999px;

    text-decoration:none;

    transition:
        background .3s,
        transform .3s,
        box-shadow .3s;

    box-shadow:0 8px 20px rgba(156,203,59,.25);

}

.hero-btn:hover{

    background:#89B52F;

    transform:translateY(-3px);

    box-shadow:0 14px 28px rgba(156,203,59,.35);

}

/*==================================================
Tablet
==================================================*/

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

.hero{

    height:640px;

    padding:0 6% 8%;

}

.hero-inner{

    max-width:460px;

}

}

/*==================================================
Smart Phone
==================================================*/

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

.hero{
    justify-content:center;
    align-items:flex-end;
    height:600px;
    padding:0 5% 10%;
    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.82) 0%,
        rgba(255,255,255,.55) 45%,
        rgba(255,255,255,.15) 100%
    ),
    url("../images/top_img.webp")
    center center / cover no-repeat;
}

.hero-inner{
    width:100%;
    max-width:none;
    text-align:center;
}

.hero-btn{
    width:220px;
    padding:15px 0;
    font-size:15px;
}

}

/*==================================================
30TH ANNIVERSARY
==================================================*/

.anniversary{
text-align:center;
}

.anniversary img{
width:300px;
max-width:80%;
margin:0 auto 30px;
}

.anniversary p{
line-height:2;
}

/* Mobile */

@media(max-width:600px){

.anniversary img{
width:220px;
}

.anniversary p{
font-size:15px;
line-height:1.9;
}

}

/*==================================================
YOUR PURPOSE
==================================================*/

.purpose{
text-align:center;
background:var(--white);
}

.purpose-lead{
margin:-25px 0 50px;
font-size:22px;
}

.purpose-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:40px;
}

.purpose-item{
text-align:center;
}

.purpose-item i{
margin-bottom:25px;
font-size:42px;
color:var(--green);
}

.purpose-item h3{
margin-bottom:15px;
font-size:18px;
font-weight:500;
}

.purpose-item p{
font-size:14px;
line-height:1.8;
}

/* Tablet */

@media(max-width:900px){

.purpose-grid{
grid-template-columns:repeat(2,1fr);
gap:40px 20px;
}

}

/* Mobile */

@media(max-width:600px){

.purpose-lead{
font-size:18px;
}

.purpose-grid{
gap:35px 15px;
}

.purpose-item i{
font-size:36px;
}

.purpose-item h3{
font-size:16px;
}

.purpose-item p{
font-size:13px;
}

}

/*==================================================
WORKS
==================================================*/

#works{
    padding:120px 0;
	background:var(--bg);
}

.works-slider{
    width:100vw;
    margin:60px calc(50% - 50vw) 0;
    overflow:hidden;
}

.works-track{
    display:flex;
    gap:40px;
    width:max-content;
    animation:works-slide 30s linear infinite;
    will-change:transform;
}

.works-slider:hover .works-track{
    animation-play-state:paused;
}

.work-item{
    flex:0 0 320px;
}

.work-item img{
    display:block;
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:cover;
    box-shadow:0 10px 25px rgba(0,0,0,.05);
    transition:transform .3s ease;
}

.work-item img:hover{
    transform:scale(1.03);
}

@keyframes works-slide{

    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(calc(-50% - 20px));
    }

}

/*==================================================
Tablet
==================================================*/

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

#works{
    padding:100px 0;
}

.works-slider{
    width:100%;
    margin:50px 0 0;
}

.works-track{
    gap:30px;
}

.work-item{
    flex:0 0 260px;
}

}

/*==================================================
Smart Phone
==================================================*/

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

#works{
    padding:80px 0;
}

.works-slider{
    width:95%;
    margin:40px auto 0;
}

.works-track{
    gap:20px;
}

.work-item{
    flex:0 0 180px;
}

}

/*==================================================
SERVICE
==================================================*/

.service{
text-align:center;
}

.service-grid{
display:grid;
grid-template-columns:repeat(6,1fr);
justify-items:center;
gap:15px;
}

.service-card{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
width:140px;
aspect-ratio:1;
border-radius:20px;
background:var(--white);
transition:.35s;
}

.service-card i{
margin-bottom:12px;
font-size:38px;
color:var(--green);
transition:.35s;
}

.service-card h3{
margin:0;
font-size:14px;
font-weight:500;
text-align:center;
line-height:1.5;
}

.service-card:hover{
transform:translateY(-8px);
box-shadow:0 12px 25px rgba(0,0,0,.08);
}

.service-card:hover i{
transform:scale(1.15);
}

/* Tablet */

@media(max-width:900px){

.service-grid{
grid-template-columns:repeat(3,1fr);
gap:18px;
}

}

/* Mobile */

@media(max-width:600px){

.service-grid{
grid-template-columns:repeat(2,1fr);
gap:10px;
}

.service-card{
width:min(145px,42vw);
}

.service-card i{
font-size:36px;
}

.service-card h3{
font-size:13px;
}

}

/*==================================================
WITH AI
==================================================*/

#with-ai{
    padding:120px 0;
    background:#EDF7F1;
}

.with-ai-lead{
    max-width:760px;
    margin:40px auto 70px;
    text-align:center;
}

.with-ai-lead p{
    line-height:2;
}

.chat-area{
    max-width:900px;
    margin:0 auto;
}

.chat{
    display:flex;
    margin-bottom:35px;
}

.chat.right{
    justify-content:flex-end;
}

.chat.left{
    justify-content:flex-start;
    align-items:flex-start;
}

.chat-icon{
    width:52px;
    height:52px;
    margin-right:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    border-radius:50%;

    background:#fff;
    color:var(--accent);

    border:2px solid var(--accent);

    font-size:20px;
    font-weight:700;

    box-shadow:0 5px 15px rgba(0,0,0,.05);
}

.bubble{
    max-width:70%;
    padding:22px 26px;
    border-radius:22px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.chat.left .bubble{
    border-left:4px solid var(--accent);
}

.chat-name{
    margin-bottom:10px;
    font-size:13px;
    font-weight:700;
    color:#777;
    letter-spacing:.08em;
}

.bubble p{
    margin:0;
    line-height:1.9;
}

.bubble p + p{
    margin-top:18px;
}

.ai-example{
    max-width:900px;
    margin:80px auto 0;
    text-align:center;
}

.ai-example h3{
    margin-bottom:30px;
}

.ai-example figure{
    margin:0;
}

.ai-example img{
    width:100%;
    border-radius:20px;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.with-ai-message{
    max-width:760px;
    margin:50px auto 0;
    text-align:center;
}

.with-ai-message p{
    line-height:2;
    font-weight:500;
}

/*==================================================
Tablet
==================================================*/

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

#with-ai{
    padding:90px 0;
}

.bubble{
    max-width:80%;
}

}

/*==================================================
Smart Phone
==================================================*/

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

#with-ai{
    padding:70px 0;
}

.with-ai-lead{
    margin:30px auto 50px;
    padding:0 10px;
    text-align:justify;
}

.chat{
    margin-bottom:25px;
}

.chat-icon{
    width:50px;
    height:50px;
    margin:0 0 12px;
    font-size:16px;
}

.bubble{
    max-width:calc(100% - 54px);
    padding:18px;
    border-radius:18px;
}

.chat.right .bubble{
    max-width:85%;
}

.chat-name{
    margin-bottom:8px;
    font-size:12px;
}

.bubble p{
    line-height:1.8;
    text-align:justify;
}

.bubble p + p{
    margin-top:14px;
}

.ai-example{
    margin-top:60px;
}

.ai-example h3{
    margin-bottom:20px;
}

.ai-example img{
    border-radius:15px;
}

.with-ai-message{
    margin-top:35px;
    padding:0 10px;
}

.with-ai-message p{
    text-align:center;
}

.chat.left{
    display:block;
}

.chat.left .bubble{
    max-width:100%;
}

.chat-name{
    text-align:center;
}

}
/*==========================================
Chat Animation
==========================================*/

.chat-right,
.chat-left{

    opacity:0;

    transition:
        opacity .7s ease,
        transform .7s ease;

}

.chat-right{

    transform:translateX(40px);

}

.chat-left{

    transform:translateX(-40px);

}

.chat-right.show,
.chat-left.show{

    opacity:1;

    transform:translateX(0);

}

/*==================================================
ABOUT
==================================================*/

.about{
text-align:center;
background:var(--white);
}

.about p{
font-size:20px;
line-height:2;
}

@media(max-width:600px){

.about p{
font-size:18px;
line-height:1.9;
}

}

/*==================================================
CONTACT
==================================================*/

.contact{
padding-top:130px;
padding-bottom:130px;
text-align:center;
}

.contact p{
margin-bottom:50px;
font-size:20px;
line-height:2;
}

.contact-box{
display:grid;
grid-template-columns:repeat(4,150px);
justify-content:center;
gap:50px;
}

.contact-item{
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
width:150px;
height:150px;
border:1px solid var(--border);
border-radius:50%;
background:var(--white);
transition:.3s;
}

.contact-item:hover{
transform:translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.contact-item i{
font-size:38px;
color:var(--green);
}

.contact-item span{
font-size:15px;
line-height:1.5;
text-align:center;
}

/* Tablet */

@media(max-width:900px){

.contact-box{
gap:35px;
}

}

/* Mobile */

@media(max-width:600px){

.contact{
padding-top:80px;
padding-bottom:80px;
}

.contact p{
margin-bottom:35px;
font-size:18px;
}

.contact-box{
grid-template-columns:repeat(2,120px);
gap:30px 20px;
}

.contact-item{
width:120px;
height:120px;
gap:10px;
}

.contact-item i{
font-size:30px;
}

.contact-item span{
font-size:13px;
}

}

/*==================================================
CALENDAR
==================================================*/

.calendar{
padding-top:45px;
padding-bottom:45px;
overflow:hidden;
text-align:center;
background:var(--white);
}

.calendar img{
width:100%;
max-width:500px;
height:auto;
margin:auto;
object-fit:contain;
}

@media(max-width:600px){

.calendar{
padding-top:35px;
padding-bottom:35px;
}

.calendar img{
max-width:100%;
}

}


/*==================================================
FOOTER
==================================================*/

.footer{
padding:35px 8% 0;
background:var(--bg);
}

.footer-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
}

.footer-column{
padding:0 30px;
}

.footer-column:last-child{
border-right:none;
}

.footer-column h3{
margin-bottom:20px;
color:var(--green);
font-size:15px;
letter-spacing:.15em;
}

.footer-column a{
display:block;
margin-bottom:10px;
font-size:14px;
transition:.25s;
}

.footer-column a:hover{
color:var(--green);
}

.footer-column p{
margin-top:15px;
font-size:18px;
font-weight:500;
}

/* Tablet */

@media(max-width:900px){

.footer-grid{
grid-template-columns:repeat(2,1fr);
gap:40px 0;
}

.footer-column{
padding:0 20px;
}

.footer-column:nth-child(even){
border-right:none;
}

}

/* Mobile */

@media(max-width:600px){

.footer{
padding-left:20px;
padding-right:20px;
}

.footer-grid{
gap:35px;
}

.footer-column{
padding:0 15px;
}

}


/*==================================================
COPYRIGHT
==================================================*/

.copyright{
margin-top:30px;
margin-left:-8%;
margin-right:-8%;
padding:15px;
background:var(--gray);
color:var(--white);
font-size:15px;
text-align:center;
}

@media(max-width:600px){

.copyright{
margin-left:-20px;
margin-right:-20px;
font-size:13px;

}

}


/*==================================================
ANIMATION
==================================================*/

.fade-up{
opacity:0;
transform:translateY(30px);
transition:
opacity .8s ease,
transform .8s ease;
}

.fade-up.active{
opacity:1;
transform:translateY(0);
}

/*==================================================
WORKS PAGE
==================================================*/

.works-page{
padding:100px 8%;
background:var(--bg);
}

.works-header{
margin-bottom:60px;
text-align:center;
}

.works-header h1{
margin-bottom:10px;
font-size:42px;
letter-spacing:.1em;
}

.works-header p{
font-size:16px;
}


/* FILTER */

.works-filter{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:10px;
margin-bottom:60px;
}

.works-filter li{
padding:10px 25px;
border:1px solid var(--text);
border-radius:30px;
cursor:pointer;
transition:.3s;
}

.works-filter li.active,
.works-filter li:hover{
background:var(--text);
color:var(--white);
}


/* GRID */

.works-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:45px 35px;
}


/* ITEM */

.works-page .works-item{
height:auto;
overflow:visible;
aspect-ratio:auto;
}

.works-page .works-item a{
display:block;
color:var(--text);
}

.works-page .works-item img{
width:100%;
height:auto;
display:block;
object-fit:contain;
transition:.3s;
}

.works-page .works-item p{
margin-top:12px;
font-size:14px;
line-height:1.6;
}


/* HOVER */

.works-page .works-item a:hover img{
opacity:.75;
}


/* FILTER HIDE */

.works-item.hide{
display:none;
}


/* TABLET */

@media(max-width:900px){

.works-page{
padding:80px 5%;
}

.works-grid{
grid-template-columns:repeat(2,1fr);
gap:35px 20px;
}

}


/* MOBILE */

@media(max-width:600px){

.works-page{
padding:60px 20px;
}

.works-header h1{
font-size:34px;
}

.works-filter{
justify-content:flex-start;
margin-bottom:40px;
}

.works-filter li{
padding:8px 15px;
font-size:13px;
}

.works-grid{
grid-template-columns:repeat(2,1fr);
gap:30px 15px;
}

.works-page .works-item p{
font-size:13px;
}

}


/* =====================
SERVICE PAGE
===================== */

.service-page{
padding:100px 8%;
}

.service-header{
margin-bottom:40px;
text-align:center;
}

.service-header h1{
margin-bottom:10px;
font-size:42px;
letter-spacing:.1em;
}

.service-header p{
font-size:16px;
}

.service-intro{
margin-bottom:70px;
text-align:center;
}

.service-intro p{
font-size:22px;
line-height:2;
}


/* SERVICE LIST */

.service-list{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:40px;
max-width:1100px;
margin:auto;
}


/* SERVICE CARD */

.service-detail{
padding:45px 40px;
border-radius:20px;
background:var(--white);
text-align:center;
transition:.35s;
}

.service-detail:hover{
transform:translateY(-8px);
box-shadow:0 15px 30px rgba(0,0,0,.08);
}

.service-detail-icon{
margin-bottom:25px;
}

.service-detail-icon i{
font-size:48px;
color:var(--green);
}

.service-detail h2{
margin-bottom:20px;
font-size:25px;
font-weight:400;
}

.service-detail p{
min-height:70px;
margin-bottom:25px;
font-size:15px;
line-height:2;
text-align:left;
}


/* TAG LIST */

.service-detail ul{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:8px;
margin-bottom:30px;
}

.service-detail li{
padding:7px 15px;
border-radius:20px;
background:var(--bg);
font-size:13px;
}


/* BUTTON */

.service-detail a{
display:inline-block;
padding:12px 35px;
border-radius:30px;
background:var(--green);
font-size:14px;
font-weight:600;
transition:.3s;
}

.service-detail a:hover{
opacity:.8;
transform:translateY(-3px);
}


/* CONTACT */

.service-contact{
margin-top:90px;
text-align:center;
}

.service-contact p{
margin-bottom:30px;
font-size:20px;
line-height:2;
}

.service-contact a{
display:inline-block;
padding:15px 60px;
border-radius:40px;
background:var(--green);
font-weight:600;
}


/* TABLET */

@media(max-width:900px){

.service-page{
padding:80px 5%;
}

.service-list{
gap:25px;
}

.service-detail{
padding:35px 25px;
}

}


/* MOBILE */

@media(max-width:600px){

.service-page{
padding:60px 20px;
}

.service-header h1{
font-size:32px;
}

.service-intro{
margin-bottom:50px;
}

.service-intro p{
font-size:18px;
}

.service-list{
grid-template-columns:1fr;
}

.service-detail{
padding:35px 25px;
}

.service-detail h2{
font-size:22px;
}

.service-detail p{
font-size:14px;
}

.service-detail li{
font-size:12px;
}

.service-contact{
margin-top:60px;
}

}


/*==================================================
ABOUT PAGE
==================================================*/

.about-page{
    padding:100px 8%;
}

.about-page h2{
    font-size:30px;
    font-weight:400;
    letter-spacing:.1em;
    text-align:center;
}


/* PAGE HEADER */

.page-header{
    margin-bottom:90px;
    text-align:center;
}

.page-header h1{
    margin-bottom:15px;
    font-size:42px;
    letter-spacing:.15em;
}

.page-header p{
    font-size:18px;
}


/* INTRO */

.about-intro{
    margin-bottom:100px;
    text-align:center;
}

.about-intro h2{
    margin-bottom:35px;
    font-size:32px;
    line-height:1.7;
}

.about-intro p{
    font-size:18px;
    line-height:2;
}


/* COMMON SECTION */

.about-gizmo,
.about-policy,
.about-message,
.about-30th,
.company-info,
.about-access{
    margin-bottom:100px;
}

.about-gizmo h2,
.about-policy h2,
.about-message h2,
.company-info h2,
.about-access h2{
    margin-bottom:45px;
}


/* TEXT BOX */

.about-text-box{
    max-width:900px;
    margin:auto;
    padding:45px;
    background:var(--white);
    border-radius:20px;
}

.about-text-box p{
    margin-bottom:25px;
    line-height:2;
}

.about-text-box p:last-child{
    margin-bottom:0;
}

.text-right{
    text-align:right;
}


/* POLICY CARD */

.about-policy-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.about-policy-card{
    padding:45px 35px;
    background:var(--white);
    border-radius:20px;
    text-align:center;
    transition:.3s;
}

.about-policy-card i{
    margin-bottom:20px;
    font-size:42px;
    color:var(--green);
}

.about-policy-card h3{
    margin-bottom:20px;
    font-size:22px;
    font-weight:500;
}

.about-policy-card p{
    font-size:15px;
    line-height:2;
    text-align:left;
}

.about-policy-card:hover{
    transform:translateY(-8px);
    box-shadow:0 12px 25px rgba(0,0,0,.08);
}


/* 30TH */

.about-message,
.about-30th{
    background:var(--white);
    border-radius:20px;
}

.about-30th{
    padding:70px 30px;
    text-align:center;
}

.about-30th img{
    width:260px;
    max-width:80%;
    margin:0 auto 35px;
}

.about-30th h2{
    margin-bottom:25px;
}

.about-30th p{
    line-height:2;
}


/* COMPANY */

.company-info table{
    width:100%;
    max-width:900px;
    margin:auto;
    border-collapse:collapse;
    background:var(--white);
}

.company-info th,
.company-info td{
    padding:20px 25px;
    border-bottom:1px solid var(--border);
    text-align:left;
    line-height:1.8;
}

.company-info th{
    width:25%;
    font-weight:500;
}


/* ACCESS */

.about-access .gmap{
    width:100%;
    max-width:1000px;
    height:450px;
    margin:auto;
}

.about-access iframe{
    width:100%;
    height:100%;
    border:0;
}


/* TABLET */

@media(max-width:900px){

    .about-page{
        padding:80px 5%;
    }

    .about-policy-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .about-intro h2{
        font-size:26px;
    }

}


/* MOBILE */

@media(max-width:600px){

    .about-page{
        padding:60px 15px;
    }

    .page-header{
        margin-bottom:60px;
    }

    .page-header h1{
        font-size:34px;
    }

    .page-header p{
        font-size:15px;
    }

    .about-page h2{
        font-size:24px;
    }

    .about-intro{
        margin-bottom:70px;
    }

    .about-intro h2{
        font-size:22px;
    }

    .about-intro p{
        font-size:15px;
    }

    .about-gizmo,
    .about-policy,
    .about-message,
    .about-30th,
    .company-info,
    .about-access{
        margin-bottom:70px;
    }

    .about-text-box{
        padding:30px 10px;
    }

    .about-text-box p{
        font-size:14px;
        line-height:1.9;
    }

    .about-policy-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .about-policy-card{
        padding:35px 15px;
    }

    .about-policy-card i{
        font-size:34px;
    }

    .about-policy-card h3{
        font-size:18px;
    }

    .about-policy-card p{
        max-width:330px;
        margin:auto;
        font-size:14px;
        line-height:1.9;
    }

    .about-message,
	
    .about-30th{
        padding:45px 20px;
    }

    .about-30th h2{
        font-size:22px;
    }

    .company-info th,
    .company-info td{
        display:block;
        width:100%;
        padding:15px 20px;
    }

    .company-info th{
        border-bottom:none;
    }

    .about-access .gmap{
        height:300px;
    }

}

/*==================================================
ACCESS MAP MOBILE
==================================================*/

@media(max-width:600px){

.about-access{
    margin-left:-20px;
    margin-right:-20px;
}

.about-access h2{
    padding:0 20px;
}

.about-access .gmap{
    width:100%;
    height:320px;
}

.about-access iframe{
    width:100%;
    height:100%;
}

}