/* -----------------------------------------------------------------
common
------------------------------------------------------------------*/
span.sub{
    font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif;
    font-size: 18pt;
    font-weight: bold;
}
.mainVisual{
    position:relative;
    width: 100%;
    height: auto;
    z-index: 2;
}
.sec-01, .sec-02, .sec-03, .sec-04, .sec-05{
    position: relative;
}

.mainVisual video,
.mainVisual img{
    position: absolute;
    object-fit: cover;
    bottom: 0;
    width: 100%;
    height : 95%;
    z-index: 2;
}


/*左上の円形*/
.sec-01::before,
.sec-03::before,
.sec-05::before{
    content:"";
    position: absolute;
    top: -176px;
    left: -225px;
    background-color: #F2FAFC;
    border-radius: 50%;
    width: 648px;
    height: 648px;
    z-index:1;
}
/*右下の円形*/
.mainVisual::after{
    content:"";
    position: absolute;
    bottom: -192px;
    right: -152px;     
    background-color: #8CC5D4;
    border-radius: 50%;
    width: 391px;
    height: 391px;
    z-index:-1;
}

/*右上の円形*/
.sec-04::before{
    content:"";
    position: absolute;
    top: -176px;
    right: -225px;
    background-color: #F2FAFC;
    border-radius: 50%;
    width: 648px;
    height: 648px;
    z-index:1;
}
img.insta,
img.tw{
    width: 51px;
    height: 51px;
}
img.insta{
    margin-right: 20px;
}
/*********************************************************************************
トップページ
**********************************************************************************/

/* -----------------------------------------------------------------
トップ | sec-01
------------------------------------------------------------------*/
.home .sec-01{
    display: grid;
    gap:40px;
    grid-template-columns: 428px 1fr;
    height: 100vh;
    
    z-index:3;
    padding-top: 100px; /*ヘッダーの100px分をあけて縦中央配置*/
}

.home .sec-01>div:nth-of-type(1){
    width:428px;
    margin: auto auto auto 80px;
    z-index:3;
}

.home .sec-01 h2{
    margin-bottom: 40px;
    font-size: 42px;
}

.home .sec-01 a{
    width: 350px;
    margin-top: 30px;
}

/* -----------------------------------------------------------------
トップ | sec-02
------------------------------------------------------------------*/

.home .sec-02{
    display: grid;
    gap:40px;
    grid-template-columns: 1fr 500px;
    margin-top:70px;
    z-index:1;
}

.home .sec-02 h2{
    margin-bottom: 10px;
    font-size: 36px;
}

.home .sec-02 img{
    object-fit: cover;
    width: 100%;
    height:460px;
}

.home .sec-02>div:nth-of-type(2){
    width: 326px;
    margin: auto 180px auto auto;
}

.home .sec-02 a{
    width: 350px;
    margin-top: 20px;
}


/*********************************************************************************
About
**********************************************************************************/

/* -----------------------------------------------------------------
About | sec-01
------------------------------------------------------------------*/
.about .sec-01{
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100vh;
    z-index:3;
    padding-top: 100px; /*ヘッダーの100px分をあけて縦中央配置*/
    justify-items: end;
}
.about .sec-01>div:nth-of-type(1){
    width:440px;
    margin: 0 80px 0 163px;
    z-index:3;
    padding: 0;
}

.about .sec-01 h1{
    margin-bottom: 40px;
    font-weight: 600;
    font-size: 84px;
    line-height: .6em;
}

/* -----------------------------------------------------------------
About | sec-02
------------------------------------------------------------------*/

.about .sec-02{
    display: grid;
    gap:40px;
    grid-template-columns: 76% 24%;
    margin-top:70px;
    z-index:6;
}

.about .sec-02 img{
    object-fit: cover;
    width: 100%;
    height:460px;
}

.about .sec-02 h2{
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 36px;
}

.about .sec-02>div:nth-of-type(2){
    position:absolute;
    top: 20%;
    right:17%;
    background-color:#fff;
}
.about .sec-02>div:nth-of-type(2)>div{
    width: 448px;
    padding:3em;
}

.about .sec-02 a{
    width: 350px;
    margin-top: 20px;
}

/* -----------------------------------------------------------------
About | sec-03 代表挨拶
------------------------------------------------------------------*/
.about .sec-03{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    z-index:5;
    margin-top: 100px;
    padding-top: 100px;
    justify-items: end;
}
.about .sec-03 h2{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 40px 80px 40px 163px;
    font-weight: 600;
    font-size: 60px;
    line-height: .8em;
    z-index:2;
}

.about .sec-03>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    width: 380px;
    margin: 0 80px 0 163px;
    z-index:3;
    padding: 0;
}
.about .sec-03>div:nth-of-type(2){
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    width: 100%;
    height: auto;
}
.about .sec-03 img{
    position: absolute;
    object-fit: cover;
    bottom: 0;
    padding-top: 100px;
    width: 36%;
    height: 100%;
    z-index: 2;
}

.about .title{
    font-size: 16px;
    font-weight: 500;
    margin-top:30px;
}

.about .name{
    font-size: 22px;
    font-weight: 500;
    line-height: .5em;
}
.about .sec-05::before{
    top: 166px;
    left: -417px;
}

/* -----------------------------------------------------------------
About | sec-04 会社概要
------------------------------------------------------------------*/

.about .sec-04{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 150px 1fr;
    margin-top: 100px;
    z-index:3;
}

.about .sec-04>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    width: 100%;
    margin: 20px 163px 0 0;
    z-index:3;
}

.about .sec-04 img{
    object-fit: cover;
    width: 100%;
    height:640px;
}

.about .sec-04 h2{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 40px 163px 0 80px;
    font-weight: 600;
    font-size: 60px;
    line-height: .8em;
    z-index: 2;
}

.about .sec-04 table{
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin: 40px 163px 0 80px;
    height: 250px;
    z-index: 2;
}

.about th{
    text-align: left;
    font-weight: 500;
    height: 50px;
    width: 30%;
}
.about td{
    width: 70%;
}

/* -----------------------------------------------------------------
About | sec-05 map
------------------------------------------------------------------*/
.about .sec-05{
    z-index:3;
    height: 380px;
    margin: 0 163px 40px;
}
.about .sec-05 a{
    width: 340px;
    z-index:2;
}
.about .sec-05>div:nth-of-type(1){
    display: flex;
    align-items: flex-end;
    margin-left: 163px;
    gap: 40px;
    position: absolute;
    width: 100%;
    top: -120px;
    padding-right:30px;
}

.map {
    width:60%;
    height: 0;
    overflow: hidden;
    padding-bottom: 30%;
    position: relative;
}
.map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

@media screen and (max-width: 1300px) {
    .about .sec-05>div:nth-of-type(1){
        flex-direction: column;
        align-items: flex-end;
        position: relative;
        margin-left: 0;
        margin-right: 50px;
    }
}

/*********************************************************************************
Business
**********************************************************************************/
/* common */




.business h2 span.sub{
    font-size:18px;
}
.business h2 span.num{
    font-size:30px;
}

.business section div>p{
    margin-bottom:20px;
}


/* -----------------------------------------------------------------
Business | sec-01
------------------------------------------------------------------*/
.business .sec-01{
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100vh;
    z-index:3;
    padding-top: 100px; /*ヘッダーの100px分をあけて縦中央配置*/
    justify-items: end;
}
.business .sec-01>div:nth-of-type(1){
    width:440px;
    margin: 0 80px 0 163px;
    z-index:3;
}

.business .sec-01 h1{
    margin-bottom: 40px;
    font-weight: 600;
    font-size: 84px;
    line-height: .6em;
}


/* -----------------------------------------------------------------
Business | sec-02
------------------------------------------------------------------*/

.business .sec-02{
    z-index:5;
    padding: 0 163px;
    z-index: 7;
}
.business .sec-02 h2{
    text-align: center;
    font-size: 60px;
    font-weight: 600;
    margin: 70px 0 50px;
    line-height: 1em;
}
.business .sec-02 .grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
@media screen and (max-width: 1100px) {
.business .sec-02 .grid {
    grid-template-columns: 1fr;
}
.business .delay-time02{
        animation-delay: unset!important;
}
        
.business .delay-time04{
        animation-delay: unset!important;
}
}


.business .sec-02 div{
    width: 100%;
}
.business .sec-02 div a:hover img{
    transform: scale(1);
}

.business .sec-02 a{
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    color: #fff;
    background-color: transparent;
}

.business .sec-02 a::after{
    content:"More";
    position: absolute;
    bottom:15px;
    right:20px;
    width: 55px;
    border-bottom: 1px solid #fff;
    padding-bottom: 5px;
    z-index: 1;
    transition: .5s;
}
.business .sec-02 div a:hover::after{
    bottom:12px;
    transition: .5s;
}


.business .sec-02 span.more::before{
    content:"";
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .4);
    z-index: 1;
}

.business .sec-02 a:hover span.more::before{
    background-color: rgba(0, 0, 0, .6);
    transition: .5s;
}

.business .sec-02 span.more::after{
    content: '';
    position: absolute;
    bottom: 22px;
    right: 20px;
    border-top: 6px solid transparent;
    border-right: 6px solid #fff;
    z-index: 1;
    transition: .5s;
}
.business .sec-02 a:hover span.more::after{
    bottom:19px;
    transition: .5s;
}

 
.business .sec-02 a h3{
    position: absolute;
    font-size: 28px;
    top: 10px;
    left: 20px;
    z-index:2;
    font-weight: 600;
    line-height: 1.2em;
}
.business .sec-02 h3 span{
    font-size: 14px;
}
.business .sec-02 h3 span.sub{
    font-weight:bold;
}
.business .sec-02 h3 span.num{
    line-height: 1.4em;
}
.business .sec-02 img{
    object-fit: cover;
    width:100%;
    height:260px;
    padding: 0;
}

/* -----------------------------------------------------------------
Business | sec-03 Branding
------------------------------------------------------------------*/
.business .sec-03 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px auto;
    z-index:6;
    margin-top:100px;
    padding-top: 100px;
}

.business .sec-03>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    z-index:3;
    width: 100%;
}

.business .sec-03 h2{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 40px 163px 40px 80px;
    font-weight: 600;
    font-size: 60px;
    line-height: .8em;
    z-index:2;
}
.business .sec-03>div:nth-of-type(2){
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin: 0 163px 0 80px;
    width: 339px;
    height: auto;
}
.business .sec-03 img{
    z-index: 3;
    height: 600px;
    object-fit: cover;
}

/* -----------------------------------------------------------------
Business | sec-04 WebDesign
------------------------------------------------------------------*/
.business .sec-04 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px auto;
    z-index:5;
    margin-top:100px;
    padding-top: 100px;
    justify-items: end;
}
.business .sec-04 h2{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 40px 80px 40px 163px;
    font-weight: 600;
    font-size: 60px;
    line-height: .8em;
    z-index:2;
}
.business .sec-04>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin: 0 80px 0 163px;
    width: 339px;
    height: auto;
}
.business .sec-04>div:nth-of-type(2){
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    z-index:3;
    width: 100%;
}

.business .sec-04 img{
    z-index: 3;
    height: 600px;
    object-fit: cover;
}

/* -----------------------------------------------------------------
Business | sec-05 Graphic Design
------------------------------------------------------------------*/
.business .sec-05 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 250px auto;
    z-index:3;
    margin:100px 0;
    padding-top: 100px;
    justify-items: start;
}
.business .sec-05>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    z-index:3;
    width: 100%;
}
.business .sec-05 h2{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    margin: 40px 163px 40px 80px;
    font-weight: 600;
    font-size: 60px;
    line-height: .8em;
    z-index:2;
}
.business .sec-05>div:nth-of-type(2){
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    margin: 0 163px 0 80px;
    width: 339px;
    height: auto;
}

.business .sec-05 img{
    z-index: 3;
    height: 600px;
    object-fit: cover;
}

/*********************************************************************************
Contact
**********************************************************************************/
/* -----------------------------------------------------------------
Contact | sec-01
------------------------------------------------------------------*/
.contact span.sub{
    font-size:18px;
}

.contact .sec-01{
    display: grid;
    grid-template-columns: 1fr 1fr;
    height: 100vh;
    z-index:3;
    padding-top: 100px; /*ヘッダーの100px分をあけて縦中央配置*/
    justify-items: end;
}
.contact .sec-01>div:nth-of-type(1){
    width:440px;
    margin: 0 80px 0 163px;
    z-index:3;
}

.contact .sec-01 h1{
    margin-bottom: 40px;
    font-weight: 600;
    font-size: 84px;
    line-height: .6em;
}

.contact .mainVisual::after{
    content:none;
}


div.inquiry-container{
    padding:100px 230px 50px;
  }
  
  @media screen and (max-width: 1368px) {
    div.inquiry-container{
        padding:100px 80px 50px;
  }
 }

  table.inquiry{
    width:100%;
    border-top: 1px solid #779BA5;
  }
  
  table.inquiry span.required{
    position: absolute;
    right:30px;
    padding:0em 2em;
    font-size:12px;
    border-radius:20px;
  }
  table.inquiry span.required{
    color:#fff;
    background-color:#FF5757;
  }
  
  .inquiry-container .submitBtn{
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .inquiry-container button{
    width:500px;
    text-align: center;
    font-size:1.0rem;
    height: 55px;
    transition: .3s all;
    background-color: #8CC5D4;
    color: #fff;
  }
  
  .inquiry-container button:hover{
    background-color: #59a1b4;
  }
  table.inquiry th,
  table.inquiry td{
    border-bottom: 1px solid #779BA5;
    margin:0;
    padding:20px 0;
  }
  table.inquiry th{
    position: relative;
    width:30%;
    text-align: left;
    vertical-align: top;
    padding-top:25px;
  }
  table.inquiry td{
    width:calc(100% - 30%);
  }
  
  table.inquiry label {
    font-size: 16px;
    font-weight: 500;
  }
  table.inquiry input[type="text"],
  table.inquiry input[type="email"],
  table.inquiry textarea {
    width: 100%;
  }
  
  p.consent{
    margin: 30px 0 50px;
    text-align: center;
    font-size: 16px;
  }
  
  span.icon-external-link{
      padding-right: .5em;
  }

/*********************************************************************************
Completion
**********************************************************************************/
.completion .sec-01{
    display:flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    z-index:1;
}
.completion .sec-01 h1{
    font-size: 84px;
    font-weight: 600;
    padding: 200px 0 46px;
    z-index:1;
    line-height: .7em;
}
.completion .sec-01 p{
    z-index:1;
    margin-bottom: 80px;
}
.completion a{
    width: 300px;
}

/*********************************************************************************
Privacy
**********************************************************************************/
.privacy .sec-01{
    z-index:2;
    padding: 0 163px 50px;
}
.privacy .sec-01 h1{
    position: relative;
    font-size: 84px;
    font-weight: 600;
    padding: 200px 0 100px;
    z-index:1;
    line-height: .7em;
    z-index:1;
}
.privacy .sec-01 p{
    z-index:1;
    margin-top: 40px;
}

/*********************************************************************************
フォント微調整
**********************************************************************************/
@media screen and (max-width: 1368px) {
    .business .sec-03 h2,
    .business .sec-04 h2,
    .business .sec-05 h2{
        font-size: 45px;
        margin-top: 80px;
    }
}

/*********************************************************************************
mobile
**********************************************************************************/
@media screen and (max-width: 960px) {
/* -----------------------------------------------------------------
common
------------------------------------------------------------------*/
.mainVisual video,
.mainVisual img {
    position: relative;
    object-fit: cover;
    bottom: initial;
    width: 100%;
    margin-left:15px;
}

.sec-01::before, .sec-03::before, .sec-05::before {
    width: 364px;
    height: 364px;
    top: -110px;
    left: -157px;
}

.sec-04::before{
    width: 364px;
    height: 364px;
    top: -110px;
    right: -157px;

}

.mainVisual video{
    height: 250px;
}
.mainVisual img {
    height: 400px;
}
span.sub {
    font-size: 14px!important;
}
.business h2 span.num{
    font-size: 24px;
    line-height: 1.2em;
}
.sec-01{
    height: auto!important;
}

/* -----------------------------------------------------------------
トップ
------------------------------------------------------------------*/
    .home{
        margin-top: 0px;
    }

    .grid{
        grid-template-columns: 1fr!important;
    }

    .order-01{ order: 1; }
    .order-02{ order: 2; }

    .home .sec-01{
        gap:30px;
        margin-top: 0px;
        overflow-x: hidden;
    }

    .home .sec-01>div:nth-of-type(1),
    .home .sec-02>div:nth-of-type(2){
        width: 100%;
        margin: 0;
        padding: 0 15px;
    }
    .home .sec-01 h2 {
        margin-bottom: 10px;
        font-size: 34px;
    }
    .home .sec-02 img{
        height:360px;
    }

    .home .sec-01::before {
        top: -100px;
        left: -158px;
        width: 370px;
        height: 370px;
    }
    .mainVisual::after {
        bottom: -100px;
        right: -70px;
        width: 199px;
        height: 199px;
    }
    .home .sec-01 a,
    .home .sec-02 a {
        font-size: 16px;
        width: 100%;
    }
    .sec-02 img {
        padding-right: 15px;
    }

/* -----------------------------------------------------------------
About
------------------------------------------------------------------*/
.about .sec-01 h1{
    font-size: 54px;
    line-height: .6em;
}
.about .sec-01>div:nth-of-type(1) {
    width: 100%;
    margin: 35px 0 0 0;
    padding: 0 15px;
}
.about .sec-01 h2 {
    margin-bottom: 10px;
}
.about .sec-02 {
    margin-top: 40px;
}
.about .sec-02 h2 {
    margin-bottom: 40px;
    font-size: 24px;
}
.about .sec-02>div:nth-of-type(2) {
    top: 77%;
    right: 4%;
}
.about .sec-02>div:nth-of-type(2)>div {
    width: 292px;
    padding: 2em;
}
.about .sec-03 {
    margin-top: 300px;
    padding-top: 100px;
}
.about .sec-03{
    grid-template-rows: auto auto auto;
    margin-top:330px;
    padding-top: 100px;
    justify-items: center;
}
.about .sec-03 h2{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 0;
    padding: 0 15px;
    font-size: 36px;
    line-height: .8em;
    z-index:3;
}
.about .sec-03 img {
    position: relative;
    object-fit: cover;
    bottom: initial;
    padding-top: 0;
    width: 300px;
    margin-top: -15px;
    height: 300px;
}
.about .sec-03>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    width: 380px;
    margin: 0;
    padding: 40px 15px 0;
    z-index:3;
}
.about .sec-03>div:nth-of-type(2){
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    padding: 0 15px;
    text-align: center;
}

.about .title {
    font-size: 14px;
}

.about .name {
    font-size: 20px;
}

.about .sec-04{
    grid-template-rows: auto auto auto;
}

.about .sec-04>div:nth-of-type(1){
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    width: 100%;
    margin: 58px 163px 0 0;
    z-index:3;
}

.about .sec-04 img{
    object-fit: cover;
    width: 100%;
    height:400px;
    padding-right: 15px;
    margin-top: -105px;
}

.about .sec-04 h2{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 0;
    padding: 0 15px;
    font-weight: 600;
    font-size: 36px;
    line-height: .8em;
    z-index: 3;
}

.about .sec-04 table{
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin: 40px 15px 0;
    height: 250px;
    z-index: 2;
}

.about th {
    width: 25%;
}

.map {
    width: 340px;
    height: 270px;
}
.about .sec-05 a {
    margin-top: -15px;
}

.about .sec-05>div:nth-of-type(1){
    align-items: center;
    padding: 0 15px;
    margin-right: 0;
    top: 30px;
}

.about .sec-05::before{
    top: 200px;
    left: 100px;
    z-index: -1;
}

/* -----------------------------------------------------------------
Business
------------------------------------------------------------------*/
.business .sec-01>div:nth-of-type(1) {
    width: 100%;
    margin: 40px 0 0 0;
    padding: 0 15px;
    z-index: 3;
}
.business .sec-01 h1 {
    font-size: 54px;
    margin-bottom: 10px;
}
.business .sec-02 {
    padding: 0 15px;
}
.business .sec-02 h2 {
    font-size: 36px;
     margin: 50px 0 30px;
}

.business .sec-03 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    margin: 0;
    padding: 0 15px;
}

.business .sec-03>h2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 70px 0 0 0;
    padding: 0;
    font-size: 36px;
    z-index: 1;
}
.business .sec-03>div:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-03>div:nth-of-type(2) {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-03 img {
    height: 400px;
    margin: 20px 0;
}

.business .sec-04 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    margin: 0;
    padding: 0 15px;
}

.business .sec-04>h2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 70px 0 0 0;
    padding: 0;
    font-size: 36px;
    z-index: 1;
}
.business .sec-04>div:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-04>div:nth-of-type(2) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-04 img {
    height: 400px;
    margin: 20px 0;
}

.business .sec-05 {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    margin: 0;
    padding: 0 15px;
}

.business .sec-05>h2 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin: 70px 0 0 0;
    padding: 0;
    font-size: 36px;
    z-index: 1;
}
.business .sec-05>div:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-05>div:nth-of-type(2) {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    margin: 0;
    padding: 0;
    z-index: 1;
}
.business .sec-05 img {
    height: 400px;
    margin: 20px 0;
}
/* -----------------------------------------------------------------
Contact
------------------------------------------------------------------*/
.contact .sec-01>div:nth-of-type(1) {
    width: 100%;
    margin: 40px 0 0 0;
    padding: 0 15px;
    z-index: 3;
}
.contact .sec-01 h1 {
    font-size: 54px;
    margin-bottom: 10px;
}
div.inquiry-container {
    padding: 70px 15px 50px;
}
table.inquiry th {
    border-bottom: none;
    padding: 20px 0 0;
}
table.inquiry span.required {
    right: 10px;
}
table.inquiry th, table.inquiry td {
    display: block;
    width: 100%;
}

p.consent{
    font-size: 14px;
  }
/*********************************************************************************
Completion
**********************************************************************************/

.completion .sec-01 h1{
    padding: 0 15px;
}

.completion .sec-01 h1{
    font-size: 54px;
    padding: 200px 0 100px;
    z-index:1;
    line-height: .7em;
    }

.completion .sec-01 p{
    z-index:1;
    margin-bottom: 50px;
}

.completion a{
    width: 300px;
}

/*********************************************************************************
Privacy
**********************************************************************************/
.privacy .sec-01{
    z-index:2;
    padding: 0 15px 30px;
}
.privacy .sec-01 h1{
    font-size: 45px;
    padding: 150px 0 10px;
    line-height: .7em;
    z-index:1;
}
.privacy .sec-01 p{
    z-index:1;
    margin-top: 40px;
}

}
/*********************************************************************************
SP
**********************************************************************************/
@media screen and (max-width: 599px) {
    .inquiry-container button {
        width: 100%;
        padding: 0 15px;
}
.about .sec-03{
    justify-items: initial;
}

.about .sec-03>div:nth-of-type(2) {
    text-align: right;
}
.about .sec-03>div:nth-of-type(1){
    width: 100%;
}


}

.home{
    width: 100%;
    overflow: hidden;
    padding-bottom: 70px;
}

.about{
    width: 100%;
    overflow: hidden;
    padding-bottom: 70px;
}
.business{
    width: 100%;
    overflow: hidden;
    padding-bottom: 70px;
}

.contact{
    width: 100%;
    overflow: hidden;
    padding-bottom: 70px;
}