@charset "utf-8";
@media screen and (max-width: 1440px) {
/* 1420pxまでの幅の場合に適応される */
.sv-subtitle {
    font-size: 23px;
}
.sv.row .Column2:nth-child(2) {
    padding: 0 30px 0 70px;
}
.r-sv.row .Column2:nth-child(2) {
    padding: 0;
}
.r-sv.row .Column2:first-child {
    padding: 0 30px;
}
.sv-img img, .r-sv.row .sv-img img {
    max-width: 103%;
}
#CONTACT {
    padding: 130px 0 0;
}
}



@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
header {
    grid-row-start: 1;
    grid-row-end: 2;
    grid-column-start: 1;
    grid-column-end: 2;
    width: 100vw;
    height: unset;
    z-index: 10;
}
main{
    grid-row-start: 2;
    grid-row-end: 3;
    grid-column-start: 1;
    grid-column-end: 2;
    overflow-x: hidden;
}
footer {
    grid-column-start: 1;
    grid-column-end: 2;
    grid-row-start: 3;
    grid-row-end: 4;
}
.header-logo-menu {
    width:100vw;
    z-index: 20;
    position: fixed;
}
#MAIN {
    width: 100vw;
}
.Column2 {
    flex: 0 0 100%;
    padding: 0 15px;
    max-width: 100%;
    position: relative;
}
.sv-subtitle {
    font-size: 22px;
}
.sv.row .Column2:nth-child(2) {
    padding: 40px 110px;
}
.r-sv.row .Column2:nth-child(2) {
    padding: 0;
}
.r-sv.row {
    flex-wrap: wrap-reverse;
    display: flex;
}
.r-sv.row .Column2:first-child {
    padding: 40px 110px;
}
.sv.row {
    margin: 0 0 60px;
}
}




/* iPad向け 768pxまでの幅の場合に適応される */
@media screen and (max-width: 768px) {
.greeting__wrap {
    flex-direction: column;
    gap: 30px;
}

}



/* -----スマホ向け 480pxまでの幅の場合に適応される----- */
@media screen and (max-width: 480px) {
.for-sp {
    display: block;
}
.for-pc {
    display: none;
}
/*----- Column -----*/
.Column3 {
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
}
.Column3_1 {
    flex: 0 0 100%;
    max-width:100%;
    position: relative;
}
.Column3_2 {
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
}
.row {
    display: block;
    flex-wrap: wrap;
}
/*----- SPnav -----*/   
#nav-drawer {
    right: 0;
    top:0;
}
.en {
    line-height: 1.3;
}
/*----- MAIN -----*/
.main-logo {
    margin: 0 auto 30px;
}
.main-inner {
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.ja {
    line-height: 1.3;
    margin-bottom: 20px;
}
/*----- GREETING -----*/
.greeting__wrap {
    padding: 0 30px;
}
.greeting__img {
    width: 100px;
}
/*----- SERVICE -----*/
.sv-subtitle {
    font-size: 19px;
}
.sv-intro {
    width: 100%;
}
.sv.row .Column2:nth-child(2) {
    padding: 40px 15px;
}
.r-sv.row .Column2:nth-child(2) {
    padding: 0;
}
.r-sv.row .Column2:first-child {
    padding: 40px 15px;
}
/*----- COMPANY -----*/
.com-detail__wrap {
    width: auto;
    margin: 0 30px;
}
.com-detail__title, .com-detail__text {
    display: block;
    width: 100%;
    text-align: left;
}
}


@media screen and (max-width: 350px) {
/* 350pxまでの幅の場合に適応される */
body p, li {
    font-size: 15px;
}
}