/*共通*/
img{
        vertical-align:bottom;
}
a{
        text-decoration: none;
}
@font-face {
        font-family: 'kosugimaru';
        src: url('../font/kosugimaru.woff') format('woff');
}

/*全体*/
body {
        margin: 0;
        

}
main {  
        margin: 0;
}
.kara{
        width: 200px;
        height: 1200px;
}
/*.allframe{
        white-space: pre;
	overflow-x: scroll;
        overflow-y:hidden;
}
*/
/*基本アニメーション*/

/*ローディングアニメーション*/
#loading {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        width: 100vw;
        height: 100vh;
        transition: all 1s;
        background-color: #0bd;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 9999;
}
.load-text{
        color:white;
        font-family: Georgia;
        font-size: 1.4rem;
}
.sk-cube-grid {
        width: 40px;
        height: 40px;
        margin: 100px auto;
}

.sk-cube-grid .sk-cube {
        width: 33%;
        height: 33%;
        background-color: #333;
        float: left;
        -webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
                animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out; 
}
.sk-cube-grid .sk-cube1 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }
.sk-cube-grid .sk-cube2 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s; }
.sk-cube-grid .sk-cube3 {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s; }
.sk-cube-grid .sk-cube4 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s; }
.sk-cube-grid .sk-cube5 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }
.sk-cube-grid .sk-cube6 {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s; }
.sk-cube-grid .sk-cube7 {
  -webkit-animation-delay: 0s;
          animation-delay: 0s; }
.sk-cube-grid .sk-cube8 {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s; }
.sk-cube-grid .sk-cube9 {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s; }

@-webkit-keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  } 35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1); 
  }
}

@keyframes sk-cubeGridScaleDelay {
  0%, 70%, 100% {
    -webkit-transform: scale3D(1, 1, 1);
            transform: scale3D(1, 1, 1);
  } 35% {
    -webkit-transform: scale3D(0, 0, 1);
            transform: scale3D(0, 0, 1);
  } 
}
.loaded {
        display: none;
        opacity: 0;
        visibility: hidden;
}

/*アニメーションフロント発火用*/

.f-b{
        opacity: 0;
        animation-name: fire;
        animation-delay: 1s;
        animation-duration: 1.8s;
        animation-timing-function: ease-in;
        animation-fill-mode: forwards;
}
@keyframes fire{
        0%{opacity: 0;}
      100%{opacity: 1;}
}
/*not transform＆opacity アニメーション連結発火用*/
.f-b2{
        opacity: 0;
}
.f-b2.show{
        opacity: 0;
        animation-name: fire2;
        animation-delay: 0s;
        animation-duration: 1s;
        animation-timing-function: ease-in;
        animation-fill-mode: forwards;
}
@keyframes fire2{
        0%{opacity: 0; transition: none;}
      100%{opacity: 1; transform: none;}
}
/*birdframe発火用*/
.birdroll{opacity: 0;

}
.birdroll.show{
        animation-name: birdroll;
        animation-duration: 2s;
        animation-fill-mode: forwards;
}
@keyframes birdroll{
        0%{overflow: 0;}
      100%{transform:rotateY(-360deg); opacity: 1;}  
}

/*アニメーション　スクロール用＆発火後アニメバック部分*/
/*opacityのみ*/
.sa {
        opacity: 0;
        /*transition-duration: 20s;*/
        transition: opacity 4s 0.2s ease;
      } 
.sa.show {
        opacity: 1;
        transform: none;
}
.menu-sa {
        opacity: 0;
        /*transition-duration: 20s;*/
        transition: opacity 2s 0.3s ease;
}       
.menu-sa.show {
        opacity: 1;
        transform: none;
      }
/*transformのみ*/
.sa2 {
      transition: all 1.2s 0s ease-in-out;
}
.sa2.show{
        transform: none;
}
/*not transforma＆opacity*/
.sa--not {
        opacity: 0;
        /*transition-duration: 20s;*/
        transition: all 4s 0.6s ease;
      }
       
.sa--not.show {
        opacity: 1;
      }
/*slow*/
.sb {
        opacity: 0;
        transition: all 5s ease;
      }
       
.sb.show {
        opacity: 1;
        transform: none;
      }
/*slow アニメーション発火　バック部分*/
.sb2 {
        opacity: 0;
        transition: all 6s 0.2s ease;
      }
       
.sb2.show {
        opacity: 1;
        transform: none;
      }

/*fast*/
.sb--f {
        opacity: 0;
        transition: all 2s ease;
      }
       
.sb--f.show {
        opacity: 1;
        transform: none;
      }



/*scale UPandDOWN*/
.sc{    opacity: 0;
}

.sc.show{   
        opacity: 1;
        animation-name: scaleUPandDown;
        animation-timing-function: ease-out;
        animation-duration: 1.4s;
        background: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1));
        border-radius: 9999px;
        
        }
.forwards{
        animation-fill-mode: forwards;        
}
@keyframes scaleUPandDown{
         0%{transform: scale(0, 0);}
        40%{transform: scale(1, 0.6);}
        90%{transform: scale(0, 0);
            background: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 0.6));}
        94%{transform: scale(0, 0);}
        98%{background: rgba(0,0,0,0,);}
       100%{transform: scale(1, 1);
           background: rgba(0,0,0,0);}
}
/*width 0-100% */
.sw{
        width: 0rem;
        transition: all 1s 0s ease;
}
.sw.show{
        width: 37rem;
}

/*フェードインアニメーション*/      
      .sa--lr {
        transform: translate(-100px, 0);
      }
      .sa--lr2 {
        transform: translate(-500px, 0);
      }
      .sa--lr3 {
        transform: translate(-250px, 0);
      }
      .sa--rl {
        transform: translate(100px, 0);
      }
       
      .sa--up {
        transform: translate(0, 100px);
      }
       
      .sa--down {
        transform: translate(0, -100px);
      }
       
      .sa--scaleUp {
        transform: scale(.5);
      }
       
      .sa--scaleDown {
        transform: scale(1.5);
      }
       
      .sa--rotateL {
        transform: rotate(180deg);
      }
       
      .sa--rotateR {
        transform: rotate(-180deg);
      }
      .sa--rotateG{
        transform:rotateY(-270deg); 
      }

/*トップコンテンツ*/

/*全体フレーム*/
.flaxframe {
        width: 100%;
        height: calc(100vh - 5rem);
        display: flex;
        margin-right: 0;
        flex-direction: row;
        white-space: pre;
        background-image: url(../img/take.jpg);
        background-repeat: no-repeat;
        background-size: cover;
}
/*
.flaxframe480 {
        width: 100%;
        height: calc(100vh - 5rem);
        display: none;
        margin-right: 0;
        flex-direction: row;
        white-space: pre;
        background-image: url(../img/take.jpg);
        background-repeat: no-repeat;
        background-size: cover;
}*/
/*左右フレーム*/
.left-frame{
      
        display: flex;
        flex-direction: column;
        width: 100%;
        box-sizing:border-box;

}     
.right-frame{
        display: flex;
        width: 12rem
}
/*
.right-menuboxframe {
        display: flex;
        flex-direction: row;
        flex-grow: 1;
        height: calc(100vh - 5rem);
        background-color: moccasin;
        box-sizing: border-box;
        border: 8px solid chocolate;
        justify-content: center; 
        align-items: center;
}
*/
/*左下部*/
.header-bottom{
        display: flex;
        direction: flex;
        flex-direction: row;
        flex-grow: 1;

}
/*左上部・ヘッダー部分*/
header {
        display: flex;
        height: 5rem;
        margin-top: 0;
        align-items: center;
        background-color:black;
}
.headerframe{
        display: flex;
        height: 100%;
        align-items: center;
        flex-grow: 1;
}
.logoandworksName{
        display: flex;
        align-items: flex-end; 
        height: 100%;
        padding: 0;
        margin: 0;
        background-color: #2f6b46;
}
.logoAnimBox{
        display: flex;
        width: 4rem;
        height: 80%;
        margin-left: 0.6rem;
        align-items: flex-end;
        justify-content: center;
        background: black;
}
.towerBox0{
        opacity: 1;
        width: 1rem;
        height: 2rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;

}
.towerBox0.show{
        width: 1rem;
        height: 2rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2.5s;
        animation-delay: 0s;
        animation-timing-function: ease;
        animation-direction:alternate;
        animation-iteration-count:infinite;
}
.towerBox1{
        opacity: 1;
        width: 1rem;
        height: 1rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
}
.towerBox1.show{
        width: 1rem;
        height: 1rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2.5s;
        animation-delay: 0.1s;
        animation-timing-function: ease;
        animation-direction:alternate;
        animation-iteration-count:infinite;
        
}
.towerBox2{
        opacity: 1;
        width: 1rem;
        height: 0rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
}
.towerBox2.show{
        width: 1rem;
        height: 0rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2.5s;
        animation-delay: 0.2s;
        animation-timing-function: ease;
        animation-direction:alternate;
        animation-iteration-count:infinite;
}
@keyframes tower{
        0%{}
      100%{height: 3.8rem;}
}

.workstitleFrame{
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-end; 
        height: 100%; 
        margin-left: 0.4rem;
        border-left: 0.3rem solid black;
}
.workstitleFrame:before{
        content: '';
        position: absolute;
        top: 0.6rem;
        left: 0;
        background: black;
        width: 8rem;
        height:  0.4rem;
}
.workstitletop{
        display: none;
        align-items: flex-start; 
        height: 1.2rem;
        margin-left: 0.1rem;
        background-color: aquamarine;
}
.workstitlebot{
        display: flex;
        height: 2.8rem;
        align-items: flex-end;
}
.workstitleLeft{
        display: flex;
        align-items: flex-end; 
        font-size:3.6rem;
        line-height:0.65;
        font-family: serif;
}
.workstitleRight{
        display: flex;
        margin-left: 0.1rem;
        flex-direction: column;
        justify-content:end;
        flex-grow: 1;
}
.titlehead{
        display: flex;
        font-size: 1.9rem;
        line-height: 0.7;
        margin-bottom: 0.2rem;
        border-bottom: 0.1rem solid black;
        font-family: serif;
}
.titlehead-mobile480{
        display:none;
        font-size: 1em;
        line-height: 0.7;
        margin-bottom: 0.2rem;
        border-bottom: 0.1rem solid black
}
.titlefoot{
        display: flex;
        line-height: 0.7;
        font-size:1.7rem;
        font-family: serif;
}
.alladdres{
        display: flex;
        justify-content: flex-end;
        padding-left: 0.6vw;
        height: 4rem;
        flex-direction: column;
        margin-left: 0.4rem;
}
.timesandTel{
        display: flex;
        justify-content: flex-start;  
        font-family: serif;
}
.tel{   display: flex;
        align-items: center;
        justify-content: center;
        font-size:0.9rem;
        width: 1.8rem;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        background-color:#999999;
        color: white;  
}
.telnum{
        display: flex;
        align-items: center;
        font-size: 0.9rem;
        margin-left: 0.2rem;
        color: white;        
}
.times{ 
        margin-left: 1rem;
        font-size:0.8vw;   
}
.addlesandPost{
        display: flex;
        justify-content: flex-start;   
        margin-top: 0.1rem;
        font-family: serif;
}
.addles{
        display: flex;
        align-items: flex-end;
        font-size:0.95rem;
        margin-left: 0.3vw;   
        color: white;

}
.postnum{
        display: flex;
        align-items: center;
        padding-left: 0.3rem;
        padding-right: 0.3rem;
        font-size: 0.96em;
}
.topcomment{
        display: flex;
        height: 60%;
        margin-right: 1.2vw;
        font-size: 0.9vw;
        align-items: center;
        text-align: center;
        justify-content: center;
}
.instasign{
        position: relative;
        width: 8.2rem;
        height: 3rem;
        margin-right: 2rem;
        background-image: url(../img/Instagram_name0.png); 
        background-size:cover;
        background-repeat: no-repeat;
}

.instandQues{
        display: flex;
        height: 100%;
        justify-content: flex-end; 
        align-items: center;
        flex-grow: 1;
}

.insta-mark{ 
        position: relative;
        width: 3rem;
        height: 3rem;
        background-image: url(../img/instalogo.png); 
        background-size:contain;
        background-repeat: no-repeat;
}
.insta-mark a{
        position: absolute;
        width: 100%;
        height: 100%;
}
.insta-mark a:hover{
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 0.6rem;
}
.menubutton-mobile480{
        display: none;
        width: 1rem;
        height: 100%;
        margin-left: 1rem;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
        background-color: blue;
        color: white;
}
.Quesbox{
        display: flex;
        position: relative;
        width: 10rem;
        height: 100%;
        margin-left: 2rem;
        background-color: rgb(39, 126, 54);
}
.ques{ position: absolute;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        z-index: 10;
}
.Ques{  
        position: absolute;
        display: flex;
        align-items: center;
        width: 100%;
        height: 100%;
        z-index: 10;
        color:white;
        font-family: serif;
        font-size: 1.1rem;
}
.Ques:before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: 0%;
        display: block;
        background: orange;
        z-index: -1;
        transition: 0.5s;
      }
.Quesbox a{
        display: block;
        width: 100%;
        height: 100%;
          
}

.Ques:hover{
        color: #fff;
      }
      
      .Ques:hover:before{
        width: 100%;
      }

/*.topframe {
        display: flex;
        flex-direction: row;
        flex-grow: 1;
}*/

.right-menubox {
        display: flex;
        flex-direction: row;
        flex-grow: 1;
        height: calc(100vh - 5rem);
        box-sizing: border-box;
        background-color: rgba(39, 39, 39, 0.7);
        border: 8px solid rgba(255, 255, 255, 0.4);
        justify-content: center; 
        align-items: center;
}
.menu ul {
	list-style: none;
        /*position: absolute;*/
        /*bottom: 20%;*/
        margin: 0;
        /*margin: 0 0 0 auto;*/
	padding: 0;
}
.menu li {
        width: 8rem;
        padding: 0;
        text-align: center;
        position: relative;
        margin: auto;
        margin-bottom: 3rem;
        font-family: 'Yu Mincho Demibold'; 
        border: 2px solid white;
        border-radius: 50px;  
}

.menu a{ 
        color: rgb(255, 255, 255);
        text-decoration: none;
        transition: letter-spacing 1s 0s ease-out;
}
.menu a:hover {
        color :rgb(238, 106, 106);
        letter-spacing:0.5rem;       
}
.lis--box{opacity: 0;
}
.lis--box.show{position: relative;
               opacity: 1;
}
.lis--box.show::before{
        content: "";
        position: absolute;
        top: -3px;
        left: 50%;
        width: 0%;
        height: 120%;
        background: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 0.6));
        border-radius: 9999px;
        transform: translateX(-50%);
        animation-name: slideUP;
        animation-duration: 0.9s;
        animation-delay: 1s;
        animation-timing-function: ease-out;
}

@keyframes slideUP{
           0%{width: 0%;} 
          60%{width: 100%;}
         100%{width: 0%; opacity: 0;}       
}


.clickAnim{ position: relative;
        
}
.clickAnim::before{
        content: "";
        position: absolute;
        top: -2px;
        left: 50%;
        width: 50%;
        height: 120%;
        background-color: rgba(255,255,255,0);
        border-radius: 9999px;
        transform: translateX(-50%);
        transition: transform 0.4s;
}

.clickAnim.is-active{position: relative;
}
.clickAnim.is-active::before{
        content: "";
        position: absolute;
        top: -2px;
        left: 50%;
        width: 50%;
        height: 120%;
        border-radius: 9999px;
        animation-name: clickSideUP;
        animation-duration: 0.65s;
}
@keyframes clickSideUP{
     0%{width: 10%;}
    60%{width: 80%; background-color:rgba(181, 166, 201, 0.8);}
   100%{width: 0%;}
}

.textline{
        display: inline-block;
        margin: 10px auto;
        padding-right: 4px;
        padding-left: 6px;
        /*font-size:1.9vw;
        font-weight: 500;*/
       border-bottom: 2px solid #999999;
}
.contentFrame-main {
        display: flex;
        flex-direction: column;
        position: relative;
        flex-grow: 1;
}
.contentFrame-left {
        display: flex;
        position: relative;
        flex-direction: column;
        flex-grow: 3;
        /*border-bottom: 1px solid #E5E5E5;*/
}
.content-left-AnimeBox {
        width: 10%;
        height: 10%;
        position:absolute;
        background: linear-gradient(to bottom, rgba(88, 88, 88, 0.6), #FFF);
        box-sizing: border-box;
        z-index: 10;
        /*flex-grow: 1;*/
        animation-name:animeBox;
        animation-delay:1s;
        animation-duration: 3.0s;
        animation-fill-mode:forwards;
}
@keyframes animeBox {
        0%{}
        100%{width: 100%; height: 100%;}
}

.box-worksName{
           display: flex;
           width: 100%;
           height: 100%;
           position: absolute;
           z-index: 20;
           flex-direction: column;
           align-items: flex-end;
           justify-content:center;
}
.worksName{
        position: relative;;
        font-family: 'MS Serif';
        font-size:8rem;
        line-height:5.8rem;
        padding-left:8rem;
        padding-right: 1rem;
        border-bottom: 2px solid black;          
}
.underline-box{
        display: flex;
        justify-content: flex-end;
        padding-right: 1rem;
}
.under-text{
        font-size:2rem;
        /*font-weight:bold;*/
        font-family: serif;
        text-align: right;
}
.mini-box0{
        display: block;
        position: absolute;
        width: 1.2rem;
        height: 40%;
        margin-right: 18.2rem;
        background: black;
        animation-name: minibox0;
        animation-timing-function: ease;
        animation-duration: 5s;
        animation-fill-mode: forwards;
}
@keyframes minibox0{
        0%{opacity: 0;}
      100%{height: 10%;
           opacity: 1;                
}
}
.mini-box1{
        display: block;
        position: absolute;
        width: 1.2rem;
        height: 5%;
        margin-right: 19.2rem;
        background: black;
       
}
@keyframes minibox1{
        0%{}
      100%{height: 4%;}
}

.botbox{
        width: 1.4rem;
        height: 1.4rem;
        position: absolute;
        right: 0;
        bottom: 0;
        margin-right: 0.4rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178,178,178,0.4);
        background-color:rgba(178,178,178,0.2);
}
.botbox480{
        display: none;
}
.scrollvectorframe{
        display: flex;
        margin-right: 9rem;
}
.scrollElmframe{
        display: flex;
        flex-direction: column;
}
.triangle{
        opacity: 0;
        height: calc(7rem / 2 * tan(60deg));
        width: 1rem;
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
        background-color: #4C4C4C;
        transform: scale(1, -1);
        animation-name:up;
        animation-delay: 2.2s;
        animation-duration: 4s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;     
}
.scrolltext{
        height: 5rem;
        padding-top: 0.2rem;
        margin-left: 0.2rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-family: Impact;
        font-size: 1rem;
        line-height:1;
        letter-spacing:0.11em;
        color: #4C4C4C;
        border-left: 2px solid #646464;
        border-bottom: 2px solid #646464;
        border-right: 2px solid #646464;
        border-radius: 0px 0px 50px 50px;
}
.longbox0{
        opacity: 0;
        width: 1rem;
        height: 0.4rem;
        background-color: #4C4C4C;
        margin-bottom: 0.18rem;
        animation-name:up;
        animation-delay: 1s;
        animation-duration: 4s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
}
.longbox1{
        opacity: 0;
        width: 1rem;
        height: 0.4rem;
        background-color:#4C4C4C;
        margin-bottom: 0.18rem;
        animation-name:up;
        animation-delay: 1.5s;
        animation-duration: 4s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;
}
@keyframes up{
        0%{opacity: 0;}
        60%{opacity: 1;}
        100%{opacity: 0;}
}

.content-mainBox {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 100%;
        box-sizing: border-box;
        border-left: 8px solid rgb(69, 156, 88);
        border-bottom: 8px solid rgb(69, 156, 88);
        flex-grow: 1;
}          
.mainBox-textbox{
        display: flex ;
        align-items: center;
        flex-direction: row-reverse;
        justify-content: center;
        width: 11rem;
        height: 32rem;
        position: absolute;
        text-align: left;
        background-color: white;
        color: rgb(50, 50, 50, 0.8);      
}
.content-mainframe{
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        /*clip-path: polygon(100% 0, 0 100%, 100% 100%);*/
        background-color: rgb(228, 224, 165);
        top:0;
        left:0;
        z-index: 0;
}
.text-outline0{
        display: inline-block;
        margin-top: 0.4rem;
}
.text-outline1{
        display: inline-block;
        margin-top: 0.4rem;

        border-right: 2px solid #999999;
     
}.text-outline2{
        display: inline-block;
        margin-top: 0.4rem;

        border-right: 2px solid #999999;
     
}
.text-outline0 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.3rem;
        line-height: 0.2;
}
.text-outline1 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.3rem;
        line-height: 0.2;
}
.text-outline2 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.3rem;
        line-height: 0.2;
}
.newsAndvison-Frame{
        /*隙間対策99%*/
        width: 100%;
        position: relative;
        padding-top: 4rem;
        padding-bottom: 10rem;
        z-index: 0;
        background: linear-gradient(90deg, white 0%, white 50%, #c4d7d1 50%, #c4d7d1 100%);
        /*border: 2px solid #011931;*/
}
.newsAndvison-Frame:before{
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        top: 77rem;
        left: 86%;
        background: white;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid #011931;
}
.newsAndvison-Frame:after{
        width: 20%;
        height: 0.2rem;
        position: absolute;
        content: '';
        top: 78rem;
        left: 80%;
        background: #011931;
        z-index: -1;

}
.mainvision{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-top: 9rem;
        background-color: #011931;
        width: 44%;
        height: 5rem;
        border-radius: 0px 50px 50px 0px; 
       
}
.visiontext{
        color: white;
        margin-right: 3rem;
        font-size: 3em;
        padding-right: 2rem;
        font-family: 'arial black', sans-serif;
}
.theme{
        width: 100%;
        margin-top: 7rem;
}     
.theme-contents {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 2rem 0;
        padding-bottom: 10rem;
        position: relative;}
.theme-contents:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #011931;
        transform: skewY(-7deg);
        z-index: -1;
 }
.bird{ 
        opacity: 0.9;
        width: 100%;
        height: 100%;
        position: absolute;
        background-image: url(../img/line.png); 
        background-size:contain;
        background-repeat: no-repeat;
        /*animation-name: siderotation;
        animation-duration: 3s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;*/
        z-index: 10;
}
.birdframe{
        width: 10rem;
        height: 10rem;
        position: relative;
        margin-bottom: 1rem;   
        margin-top: 2rem;
}
.birdframecolor{
        width: 100%;
        height: 100%;
        position: absolute;
        background: linear-gradient(-45deg, #dc143c 0%, #dc143c 50%, black 50%, black 100%);
        border-radius: 50%;  
        z-index: 1; 
}
.birdframecolor.show{
        width: 100%;
        height: 100%;
        position: absolute;
        background: linear-gradient(-45deg, #dc143c 0%, #dc143c 50%, black 50%, black 100%);
        border-radius: 50%;  
        z-index: 1; 
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
@keyframes siderotation{
        0%{ transform:rotate(0);}
        100%{ transform:rotate(360deg);}
      }
.theme-contents_inner {
        width: 50%;
        height: 100%;
        margin-top: 2rem;
        font-size:1.1rem;
        color: #fff;
        line-height:;
        text-align: center;
        font-family: serif;
} 
.theme-contents_inner480{
        display: none;
} 
.newsbox{
        display: flex;
        width: 70%;
        height: 6rem;
        align-items: center;
        border-radius: 0px 100px 0px 0px;
        background-color:#2f6b46;

        
}
.newstitle{
        margin-left: 10%;
        margin-right: 5%;
        padding-left: 1rem;
        padding-right: 1rem ;
        border-radius: 50px 50px 50px 50px;
        background-color: rgba(255, 255, 255, 0.6);
        color: rgb(61, 61, 61);

}
.newstitle-480{
        display: none;
        position: relative;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 2vh;
        top:0;
        margin: 0;
        padding: 0;
        border-radius: 0px 0px 0px 0px;
        background-color: #011931;
        color: white;

}
.newslinebox{
        display: flex;
        margin-left: 10%;
        flex-direction: column;
        
      
}
.newsline{
        display: flex;
        align-items: center;
        margin-top: 0.1rem;
        
}
.newsdate{
        padding-top:0.1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 0.1rem;
        margin-top: 0.2rem;
        color: rgb(235, 234, 234);
        font-family: serif;
        
}
.newstext{
        margin-top: 0.2rem;
        margin-left: 6rem;
        padding-top:0.1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: 0.1rem;
        color: rgb(235, 234, 234);
        font-family: serif;
       
}
.sidemenu-scrollframe{
        width: 100%;
        position: relative;
        display: flex;
       
}
.menuscrollframe{
        display: flex ;
        flex-direction: column;
        position: relative;   
        width: calc(100% - 2rem);
        margin: 0;
        background-color: #37704d;
       
}
.mainframe{
        position: relative;
        width: 100%;
        margin-top: 0rem;
}
/*.e{
        display: flex;
        flex-direction: row-reverse;
        position: sticky;
        height: 100vh;
        contain: paint;
}*/
.fixmenu{
        display: flex;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}
.menubar0{
        display: flex;
        height: 100vh;
        width: 2rem;
        top:0;
        position: absolute;
        z-index: 1;
        writing-mode: vertical-rl;
        background-color: #c54747;
        color: white;
        overflow: hidden;
        white-space:nowrap;
        align-items: center;
    }
.menubar-frame{
        display: flex;
        flex-direction: column;
}
.menubar1{
        display: flex;
        height: 2.4rem;
        width: 9rem;
        padding-left: 0.5rem;
        top:0;
        right: 2rem;
        position: relative;
        background-color: orange;
        color: white;
        overflow: hidden;
        justify-content: center;
        align-items: center;
        border-radius: 0px 0px 0px 50px;
        cursor: pointer;
    }
.menubar2{
        display: flex;
        height: 2.4rem;
        width: 9rem;
        padding-left: 0.5rem;
        bottom: 0;
        right: 2rem;
        position: absolute;
        background-color: orange;
        color: white;
        overflow: hidden;
        justify-content: center;
        align-items: center;
        border-radius: 50px 0px 0px 0px;
        cursor: pointer;
}
.loop {
        animation: loop 20s linear infinite;
        height: 100%;
        font-family: serif;
}
.loop2{
        position: absolute;
        top: 0; 
        font-family: serif;
        animation: loop 20s -10s linear infinite;
}
@keyframes loop {
        0%{transform: translateY(100%);}
        100%{transform: translateY(-100%);}
}
/*
.openmenubox{
        height: 100vh;
        width: 0%;
        background-color: rgba(0, 0, 0, 0);
        opacity: 0;
        position: fixed;
        transition: all 0.7s 0s ease-out;
}

.openmenubox.is-open{
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        height: 100vh;
        width: 100%;
        z-index: 100;
        position: fixed;
        background-color: rgba(0, 0, 0, 0.6);
        opacity: 1;
        transition: all 1.2s 0s ease;
}
.close0{
        font-family: serif;
}

.menuALLline{
        display: flex;
        align-items: center; 
        position: absolute;
}
.menuALLline a:visited{
        color: white;
}
.menuSubline{
        display: flex;
        height: 100vh;
        margin-left: 12rem;
}
.openmenuline0{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 18rem;
        height: 2.6rem;
        padding-right: 1.8rem;
        font-size: 1.2rem;
        color:white;
        border-radius: 0px 50px 50px 0px;
        background-color: rgba(255,255,255,0.2);
}
.openmenuline1{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 2.6rem;
        height: 20vh;
        padding-bottom: 2rem;
        writing-mode: vertical-rl;
        font-size: 1.2rem;
        margin-right: 5rem;
        margin-left: 5rem;
        color:white;
        border-radius: 0px 0px 50px 50px;
        background-color: rgba(255,255,255,0.2);
}.openmenuline2{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 2.6rem;
        height: 40vh;
        padding-bottom: 2rem;
        writing-mode: vertical-rl;
        font-size: 1.2rem;
        margin-right: 5rem;
        margin-left: 5rem;
        color:white;
        border-radius: 0px 0px 50px 50px;
        background-color: rgba(255,255,255,0.2);
}.openmenuline3{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        width: 2.6rem;
        height: 60vh;
        padding-bottom: 2rem;
        writing-mode: vertical-rl;
        font-size: 1.2rem;
        margin-right: 5rem;
        margin-left: 5rem;
        color:white;
        border-radius: 0px 0px 50px 50px;
        background-color: rgba(255,255,255,0.2);
}
*/
.openmenubox{
    height: 100vh;
    width: 0%;
    background-color: rgba(0, 0, 0, 0);
    opacity: 0;
    position: fixed;
    z-index:-1;
    transition: all 0.7s 0s ease-out;
}
.openmenubox.is-open{
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    height: 100%;
    width: 100%;
    z-index: 100;
    position: fixed;
    background-color: rgba(0, 0, 0, 0.6);
    opacity: 1;
    transition: all 1.2s 0s ease;
    z-index: 100;
}
.close0{
    font-family: serif;
}
.menuALLline{
    display: flex;
    align-items: center; 
    position: absolute;
}
.menuALLline a:visited{
    color: white;
}
.menuSubline{
    display: flex;
    height: 100vh;
    margin-left: 12rem;
}
.openmenuline0{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 18rem;
    height: 2.6rem;
    padding-right: 1.8rem;
    font-size: 1.2rem;
    color:white;
    border-radius: 0px 50px 50px 0px;
    background-color: rgba(255,255,255,0.2);
}
.openmenuline1{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 20vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 5rem;
    margin-left: 5rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}.openmenuline2{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 40vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 5rem;
    margin-left: 5rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}.openmenuline3{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 60vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 5rem;
    margin-left: 5rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}
.middle-contents-frame{
        background-color: #37704d;
}
.service-titleframe{
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 10rem;
}
.servicetitle{
        width: 20rem;
        height: 4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        font-size: 3rem;
        color: white;
        background-color: #11385f;
        border-radius: 50px;
        font-family: 'arial black', sans-serif;
}
.service-summary{
        width: 66%;
        height:18rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        margin-top: 4rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
        color: white;
        background-color: #11385f;
        border-radius: 100px 100px 100px 100px;
}
.service-summary-text{
        display: inline;
        text-align: center;
        line-height:1.7;
        font-size: 1.2rem;
        font-family: serif;
        color: white;
}
.service-summary-text480{
        display: none;
        text-align: center;
        line-height:1.7;
        font-size: 1.2rem;
        font-family: serif;
        color: white;
}
.service-choice{
        display: flex;
        padding-left: 2rem;
        margin-top: 4rem;
        font-size: 2rem;
        color: white;
        font-family: serif;
        line-height: 100%;
}
.serviceframe{
        /*隙間対策99*/
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 2rem;
        padding-bottom: 2rem;
        border-left: 1.2rem solid #75a8db;
        box-sizing: border-box;
        background: linear-gradient(135deg, white 0%, white 50%, #7cacda 50%, #7cacda 100%);
}
.servicebox{
        width: 14.4rem;
        display: flex;
        flex-direction: column;
        align-items: center; 
        margin-left: 2rem;
        background-color: white;
}
.servicebox-half{
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 14.4rem;
        height: 14.4rem;
        background: linear-gradient(90deg, #f0bc68 0%, #f0bc68 50%, #c4d7d1 50%, #c4d7d1 100%); 
}
.servicecircle{
        width: 12rem;
        height: 12rem;
        display: flex;
        background: linear-gradient(135deg, rgb(0, 0, 0)  0%, rgb(0, 0, 0) 50%, #B73D3D 50%, #B73D3D 100%);
        border-radius: 50%;
        position: absolute;
        z-index:1;
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
.servicebox:hover .servicecircle{
        animation-play-state: paused;
}
.topic-img0{
        display: flex;
        position: relative;
        width: 70%;
        height: 70%;
        margin-left: 0.4rem;
        background-image: url(../img/buy.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img1{
        width: 70%;
        height: 70%;
        position: relative;
        margin-left: 0.4rem;
        background-image: url(../img/sale.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img2{ 
        width: 50%;
        height: 50%;
        position: relative;
        margin-left: 0.4rem;
        background-image: url(../img/rent0.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img3{
        width: 70%;
        height: 70%;
        position: relative;
        background-image: url(../img/rent1.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.servicetopic{
       width: 100%;
       height: 4rem;
       display: flex;
       align-items: center;
       justify-content: center;
       position: relative;
       color: rgb(78, 78, 78);   
       letter-spacing:0.2em;
       font-weight: bold;
       background-color: transparent;
       transition: 0.2s;
       overflow: hidden;  
       z-index: 1;
}
.servicebox:hover .servicetopic:after{
        height: 100%;
        overflow:visible
}
.servicebox:hover .servicetopic{
        color: white;
}
.servicetopic:after {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        content: '';
        top:0;
        left: 0;
        background: #3fa365;
        width: 100%;
        height: 0%;
        overflow: hidden;
        transition: 0.2s;
        white-space: nowrap;
        z-index: -1;
}
.bottom-contents-frame{
        padding-top: ;
        background: linear-gradient(90deg, #2f6b46 0%, #37704d 50%, #9eb6ad 50%, #9eb6ad 70%, #c4d7d1 100%);
}
.mediationt-title{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-top: 9rem;
        background-color: #aabbb6;
        width: 44%;
        height: 5rem;
        border-radius: 0px 50px 50px 0px; 

}
.mediation-title-text{
        color: white;
        margin-right: 3rem;
        font-size: 2.6rem;
        padding-right: 2rem;
        letter-spacing:0.1em;  
        font-family: serif;     
}
.mediation-frame{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 8rem;
}
.mediation-root{
        width: 38rem;
        position: relative;
        display: flex;
        justify-content: flex-end; 
        padding-right: 3rem;
        margin-top: 6rem;
        margin-bottom: 2rem;
        border-bottom:solid 0.2rem #0b285f;
        color: rgb(228, 228, 228);
        font-family: serif;
        font-size: 2rem;
        letter-spacing:0.1em;
        line-height:1;
}
.mediation-root:after{
        width: 0.2rem;
        height: 20rem;
        position: absolute;
        content: '';
        top: 2rem;
        left: 3rem;
        background: #0b285f;
}
.mediation-root::before{
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        top: 1rem;
        left: 41rem;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid #0b285f;
        background-color: rgb(228, 228, 228);
}
.mediation-topic-frame{
        width: 60rem;
        height: 18rem;
        margin-bottom: 2rem;
        display: flex;
        
}
.mediation-topic0{
        width: 20rem;
        height: 100%;
        background-image: url(../img/plan.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic1{
        width: 20rem;
        height: 100%;
        background-image: url(../img/phone.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic2{
        width: 20rem;
        height: 100%;
        background-image: url(../img/contract.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic3{
        width: 20rem;
        height: 100%;
        background-image: url(../img/hands.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-text-frame{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-color:#004C98;
        white-space: nowrap;
}
.mediation-text-frame-0-480{
        display: none;
}
.mediation-text-frame-1-480{
        display: none;
}
.mediation-text-frame-2-480{
        display: none;
}
.mediation-text-frame-3-480{
        display: none;
}
.mediation-summary-frame{
        display: flex;
        width: 100%;
        height: 18rem;
        margin-top: 4rem;
}
.mediation-summary-sidebox{
        display: flex;
        width: 20%;
        height: 100%;
        border: 2px solid white;
        box-sizing: border-box;
}
.mediation-summary2{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 80%;
        height: 100%;
        
        color: white;
}
.mediation-summary2-text{
        display: inline;
        text-align: center;
        font-size: 1.2rem;
        font-family: serif;     
}
.mediation-summary2-text480{
        display: none;
}
.mediation-text{
        color: white;
        font-family: serif;
        font-size: 1.2rem;
}
.mediation-door{
        width: 3rem;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        writing-mode: vertical-rl;
        color: white;
        background-color: #B73D3D;
}
.mediation-door span{
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
         text-combine-upright: all;
         font-family: serif;
}
.bottom-title{
        display: flex;
        justify-content: center;
        font-family: serif;
        font-size: 2rem;
        color: white;
        line-height:1;
        padding: 0;
        margin-top: 4rem;
}
.bottom-text{
        width: 100%;
        height: 18rem;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 4rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
        border-top:2px solid  #0b285f;
        border-bottom: 2px solid  #0b285f;
        font-size: 2rem;
        color: #8f8e8e;
}
.bottom-text:after{
        width: 8rem;
        height: 20rem;
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        border-right:2px solid #0b285f;
}
.bottom-text:before{
        width: 14rem;
        height: 2px;
        position: absolute;
        content: '';
        top: 4rem;
        left: 0;
        background:  #0b285f;

}
.bottom-text-frame{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
}
.bottom-text-inline{
        display: inline;
        text-align: center;
        color: white;
        font-family: serif;
        font-size: 1.2rem;
        line-height: 2;
}
.bottom-text-inline480{
        display: none;
}
.bottom-line{
        width: 100%;
        height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        background-color: #0b285f;
        color: white;
        letter-spacing:0.2em;
        font-family: serif;
}
.boxxox{width: 50%;
        height: 20rem;
        margin-top: 20rem;
        background-color: aqua;
        position: relative;
}
@media screen and (max-width:1300px){
.Quesbox{
        position: relative;
        width: 10rem;
        height: 100%;
        margin-left: 2rem;
        background-color: rgb(39, 126, 54);
}
.insta-mark{ 
        position: relative;
        width: 3rem;
        height: 3rem;
        background-image: url(../img/instalogo.png); 
        background-size:contain;
        background-repeat: no-repeat;
        margin-right: 2rem;
}
.fixmenu-1024{
        display: none;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}
}
@media screen and (max-width:1140px){

.flaxframe {
        width: 100%;
        height: calc(100svh - 5rem);
        display: flex;
        margin-right: 0;
        flex-direction: row;
        white-space: pre;
        background-image: url(../img/take.jpg);
        background-repeat: no-repeat;
        background-size: cover;
}
.instandQues{
        height: 100%;
        margin-left: 1rem;
        align-items: center;
        justify-content: flex-start;
        flex-grow: 1;
          
}
.Quesbox{
        display: none;
}
.instasign{
        display: ;
        margin-left: 1rem;
}
.insta-mark{ 
        position: relative;
        width: 3rem;
        height: 3rem;
        background-image: url(../img/instalogo.png); 
        background-size:contain;
        background-repeat: no-repeat;
        margin: 0;
}
.insta-mark a{
        position: absolute;
        width: 100%;
        height: 100%;
}
.insta-mark a:hover{
        background-color: rgba(255, 255, 255, 0.2);
}
.fixmenu-1024{
        display: none;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}
}

@media screen and (max-width:1024px) {
@media screen and (min-height:601px) {
.menuSubline {
        display: flex;
        height: 100vh;
        margin-left: 0rem;
}
.mainBox-textbox {
        display: flex;
        align-items: center;
        flex-direction: row-reverse;
        justify-content: center;
        width: 10rem;
        height: calc(100svh - 20rem);
        position: absolute;
        text-align: left;
        background-color: white;
        color: rgb(50, 50, 50, 0.8);
}
.text-outline0 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.6rem;
        line-height: 0.2;
}
.menu li {
        width: 7rem;
        padding: 0;
        text-align: center;
        position: relative;
        margin: auto;
        margin-bottom: 3rem;
        font-family: 'Yu Mincho Demibold';
        border: 2px solid white;
        border-radius: 50px;
}
.botbox {
        display: none;
        width: 1.4rem;
        height: 1.4rem;
        position: absolute;
        right: 0;
        bottom: 0;
        margin-right: 0.4rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178, 178, 178, 0.4);
        background-color: rgba(178, 178, 178, 0.2);
}
.botbox480{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.4rem;
        height: 1.4rem;
        position: absolute;
        right: 0;
        bottom: 0;
        margin-right: 0.4rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178,178,178,0.4);
        background-color:rgba(178,178,178,0.2);
}
.botbox480.show{
        width: calc(100% - 1rem);
        height: 12%;
        position: absolute;
        right: 0.5rem;
        bottom: 0;
        margin-right: 0rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178,178,178,0.4);
        background-color:rgba(178,178,178,0.2);
}
.botbox480-textbox{
        display: flex;
        width: 100%;
        height: 100%;
        opacity: 0;
}
.botbox480-textbox.show{
        opacity: 1;
}
.botbox480-titlebox{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 4rem;
        font-size: 1.4rem;
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        margin-bottom: 0.3rem;
        margin-top: 0.3rem;
        margin-left: 0.6rem;
        background-color: #999999;
        color: white;
}
.botbox480-titlebox-column{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 14%;
        height: 100%;
}
.botbox480-text-column{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 86%;
        height: 100%;
}
.botbox480-text{
        font-size: 1.4rem;
        font-family: serif;
        margin-bottom: 0.3rem;
        margin-top: 0.3rem;
        margin-left: 1rem;
}
.newsbox {
        display: flex;
        width: 86%;
        height: 6rem;
        align-items: center;
        border-radius: 0px 100px 0px 0px;
        background-color: #2f6b46;
}

.service-summary {
        width: 75%;
        height: 18rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        margin-top: 4rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
        color: white;
        background-color: #11385f;
        border-radius: 100px 100px 100px 100px;
}
.servicebox {
        width: 11rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: 2rem;
        background-color: white;
}
.servicebox-half {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 11rem;
        height: 11rem;
        background: linear-gradient(90deg, #f0bc68 0%, #f0bc68 50%, #c4d7d1 50%, #c4d7d1 100%);
}
.servicecircle {
        width: 9rem;
        height: 9rem;
        display: flex;
        background: linear-gradient(135deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 50%, #B73D3D 50%, #B73D3D 100%);
        border-radius: 50%;
        position: absolute;
        z-index: 1;
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
.mediation-summary-sidebox {
        display: flex;
        width: 15%;
        height: 100%;
        border: 2px solid white;
        box-sizing: border-box;
}

}
}

/*スマホ用レスポンシブル*/
@media screen and (max-width:480px) {

* {
	float: none;
        position: static;
}

a{
        -webkit-tap-highlight-color: transparent;
}
.sb {
        opacity: 0;
        transition: all 3s ease;
}
       
.sb.show {
        opacity: 1;
        transform: none;
}
.sa2 {
        transition: all 1.7s 0s ease-in-out;
}
.sa2.show {
    transform: none;
}
/*480サイズ用ア二メーション*/
.sa--lr2 {transform: translate(-100vw, 0);}

/*トップ全体フレーム*/
/*.flaxframe{  
        display: none;
}*/
.flaxframe{
        width: 100%;
        height: 80vh;
        height: calc(var(--vh) * 80);
        display: flex;
        margin-right: 0;
        flex-direction: row;
        white-space: pre;
        background-image: url(../img/take.jpg);
        background-repeat: no-repeat;
        background-size: cover;

}
/*fixmenu*/
.openmenubox{display: none;}
.fixmenu{display: none;}

/*左右フレーム  */
.left-frame{
        display: flex;
        flex-direction: column;
        flex-grow: 38;
        position: relative;
        z-index: 10;
}     
.right-frame{
        display: flex;
        position: absolute;
        width: 100vw;
        height: 70vh;
        margin-top: 3rem;
        flex-grow: 1;
        z-index: 20;
}
.right-menuboxframe {
        display: none;
        flex-direction: row;
        flex-grow: 1;
        height: 100vh;
        background-color: moccasin;
        box-sizing: border-box;
        border: 8px solid chocolate;
        justify-content: center; 
        align-items: center;
}
/*メニューBox*/
.menubutton-mobile480{
        display: flex;
        position: relative;
        width: calc(100vw - 75vw - 8px);
        height: 100%;
        margin-left: 1rem;
        align-items: center;
        justify-content: center;
        flex-grow: 0;
        font-family: serif;
        font-weight: bold;
        letter-spacing: 0.1em;
        /*background-color: #2f6b46;*/
        background-color: #B73D3D;
        color: white;
        transition: all 0.5s 0s ease-out;
        
}
.menubutton-mobile480:before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 0%;
        display: block;
        background: white;
        z-index: -1;
        transition: all 0.5s 0s ease-out;
}
.menubutton-mobile480.is-open{
        display: flex;
        width: 6rem;
        height: 100%;
        position: relative;
        margin-left: 1rem;
        align-items: center;
        justify-content: center;
        flex-grow: 1;
        background-color: transparent;
        color: rgb(0, 0, 0);
        transition: all 0.5s 0s ease-out;
}

.menubutton-mobile480.is-open:before{
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        display: block;
        background: white;
        z-index: -1;
        transition: all 0.5s 0s ease-out;
}
@keyframes  menubutton{
        0%{}
      100%{width: 100%;}
}
.right-menubox {
        display: flex;
        opacity: 0;
        flex-direction: row;
        flex-grow: 1;
        position: fixed;
        height: 0%;
        width: 100%;
        margin-top: 0.4rem;
        background-color: rgb(229,229,229,0.2);
        box-sizing: border-box;
        border: 0px solid chocolate;
        justify-content: center; 
        align-items: center;
        transition: all 1s 0s ease;
        z-index: -1;
        overflow: hidden;
}
.right-menubox.is-open {
        opacity: 1;
        display: flex;
        flex-direction: row;
        flex-grow: 1;
        height: 100%;
        margin-top: 0.4rem;
        background-color: rgb(50,50,50,0.7);
        box-sizing: border-box;
        border: 0px solid chocolate;
        justify-content: center; 
        align-items: center;
        z-index:1; 
}
.menu ul {
	list-style: none;
        /*position: absolute;*/
        /*bottom: 20%;*/
        margin: 0;
        /*margin: 0 0 0 auto;*/
	padding: 0;
}
.menu li {
        width: 9rem;
        padding: 0;
        text-align: center;
        position: relative;
        margin: auto;
        margin-bottom: 0;
        
        font-family: Yu Mincho Demibold;   
}

.menu a{ 
        color:white;
        text-decoration: none;
        transition: letter-spacing 1s 0s ease-out;
}
.menu a:hover {
        color:white;
        letter-spacing:0.5rem;       
}
.lis--box{opacity: 0;
}
.lis--box.show{position: relative;
               opacity: 1;
}
.lis--box.show::before{
        content: "";
        position: absolute;
        top: -3px;
        left: 50%;
        width: 0%;
        height: 120%;
        background: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 0.6));
        border-radius: 9999px;
        transform: translateX(-50%);
        animation-name: slideUP;
        animation-duration: 0.9s;
        animation-delay: 1s;
        animation-timing-function: ease-out;
}

@keyframes slideUP{
           0%{width: 0%;} 
          60%{width: 100%;}
         100%{width: 0%; opacity: 0;}       
}

/*左下部*/
.header-bottom{
        display: flex;
        direction: flex;
        flex-direction: row;
        flex-grow: 1;

}
/*ヘッダー*/
header{
        height: 3.4rem;
        width: 100%;
        position: fixed;
        z-index: 900;
}
.headerbox{
        height: 3.4rem;
        width: 100%;
        background-color: #2f6b46;
}
.headerframe{
        display: flex;
        height: 100%;
        align-items: center;
      
        flex-grow: 1;
}

.logoandworksName{
        display: flex;
        align-items: center;
        height: 100%;
        background-color:black ;
}

.logoAnimBox{
        display: flex;
        margin-left: 0.2rem;
        height: 100%;
        width: 3rem;
        align-items: flex-end;
        justify-content: center;

}
.towerBox0{
        display: flex;
        opacity: 1;
        width: 1rem;
        height: 65%;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;

}
.towerBox0.is-active{
    
        width: 1rem;
        height: 65%;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2s;
        animation-delay: 0.6s;
        animation-iteration-count:2;
        animation-direction:alternate;
}
.towerBox1{

        opacity: 1;
        width: 1rem;
        height: 1rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
}
.towerBox1.is-active{
  
        width: 1rem;
        height: 1rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2s;
        animation-delay: 0.6s;
        animation-iteration-count:2;
        animation-direction:alternate;
        
}
.towerBox2{
 
        opacity: 1;
        width: 1rem;
        height: 0rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
}
.towerBox2.is-active{

        width: 1rem;
        height: 0rem;
        margin-left: 0.2rem;
        margin-right: 0.2rem;
        background-color: white;
        animation-name: tower;
        animation-duration: 2s;
        animation-delay: 0.7s;
        animation-iteration-count:2;
        animation-direction:alternate;
}
@keyframes tower{
        0%{}
      100%{height: 100%;}
}

.workstitleFrame{
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: flex-end; 
        height: 100%; 
        margin-left: 0.4rem;
        border-left: 0.3rem solid white;
        color: white;
        
}    
.workstitleFrame:before{
        content: '';
        position: absolute;
        top: 0.6rem;
        left: 0;
        background: white;
        width: 8rem;
        height:  0.4rem;
}
.workstitletop{
        display: none;
        align-items: flex-start; 
        height: 40%;
        margin-left: 0.1rem;
        background-color: aquamarine;
}
.workstitlebot{
        display: flex;
        height: 100%;
        align-items: flex-end;
}
.workstitleLeft{
        display: flex;
        align-items: flex-end; 
        font-size:2.8rem;
        line-height:0.72;
        font-family: Georgia;
}
.workstitleRight{
        display: flex;
        margin-left: 0.1rem;
        height: 100%;
        flex-direction: column;
        justify-content:end;
        flex-grow: 1;
        color: white;
}
.titlehead{
        display: none;
        font-size: 1.6rem;
        line-height: 0.7;
        margin-bottom: 0.2rem;
        border-bottom: 0.1rem solid black;
}
.titlehead-mobile480{
        display:flex;
        font-size: 1em;
        line-height: 0.8;
        margin-bottom: 0.1rem;
        border-bottom: 0.1rem solid white;
        color: white;
        font-family: serif;
}
.titlefoot{
        display: flex;
        line-height: 0.74;
        font-size:1.4rem;
        letter-spacing:0.1em;
        color: white;
        font-family: Georgia;
}

.alladdres{display: none;}

.topcomment{
        display: none;
}

.instandQues{
        display: flex;
        height: 100%;
        margin-left: 1rem;
        align-items: center;
        justify-content: flex-start;
        flex-grow: 0;
        position: absolute;
        right: 0;
}
.Quesbox{
        display: none;
}
.instasign{
        display: none;
}
.insta-mark{ 
        position: relative;
        width: 2rem;
        height: 2rem;
        background-image: url(../img/instalogo.png); 
        background-size:contain;
        background-repeat: no-repeat;
        margin: 0;
}
.insta-mark a{
        position: absolute;
        width: 100%;
        height: 100%;
}
.insta-mark a:hover{
        background-color: rgba(255, 255, 255, 0.2);
}
.contentFrame-left {
        display: flex;
        position: relative;
        flex-direction: column;
        flex-grow: 3;
        border-bottom: 1px solid #E5E5E5;
}
.content-left-AnimeBox {
        width: 10%;
        height: 10%;
        position:absolute;
        background: linear-gradient(to bottom, rgba(88, 88, 88, 0.6), #FFF);
        box-sizing: border-box;
        z-index: 10;
        /*flex-grow: 1;*/
        animation-name:animeBox;
        animation-delay:1s;
        animation-duration: 3.0s;
        animation-fill-mode:forwards;
}
@keyframes animeBox {
        0%{}
        100%{width: 100%; height: 100%;}
}
.contentFrame-main {

        flex-direction: column;
        position: relative;
        flex-grow: 0;
        width: calc(100vw - 75vw);
}
.box-worksName{
        display: flex;
        width: 100%;
        height: 100%;
        position: absolute;
        z-index: 20;
        flex-direction: column;
        align-items: flex-end;
        justify-content:center;
        
}
.worksName{
     font-family: 'MS Serif';
     font-size:4em;
     line-height:0.8em;
     padding-left:2.6rem;
     border-bottom: 2px solid black;          
}
.underline-box{
     display: flex;
     justify-content: flex-end;
}
.under-text{
     font-size:1.4em;
     /*font-weight:bold;*/
     font-family: serif;
     text-align: right;
}
.scrollvectorframe{
        display: flex;
        margin-right: 0;
}
.scrollElmframe{
        display: flex;
        flex-direction: column;
}
.triangle{
        opacity: 0;
        height: calc(7rem / 2 * tan(60deg));
        width: 1rem;
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
        background-color: #4C4C4C;
        transform: scale(1, -1);
        animation-name:up;
        animation-delay: 2.2s;
        animation-duration: 4s;
        animation-iteration-count: infinite;
        animation-timing-function: ease-in-out;     
}
.mini-box0{
        display: none;
        position: absolute;
        width: 1.2rem;
        height: 40%;
        margin-right: 1rem;
        background: black;
        animation-name: minibox0;
        animation-duration: 4s;
        animation-fill-mode: forwards;
}
@keyframes minibox0{
        0%{}
      100%{height: 10%;}
}
.botbox{
        display: none;
        width: 1.4rem;
        height: 1.4rem;
        position: absolute;
        right: 0;
        bottom: 0;
        margin-right: 0.4rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178,178,178,0.4);
        background-color:rgba(178,178,178,0.2);        
}
.botbox480{
     display: flex;
     align-items: center;
     justify-content: center;
     width: 1.4rem;
     height: 1.4rem;
     position: absolute;
     right: 0;
     bottom: 0;
     margin-right: 0.4rem;
     margin-bottom: 0.4rem;
     border: 1px solid rgba(178,178,178,0.4);
     background-color:rgba(178,178,178,0.2);
     
}
.botbox480.show{
        width: calc(100% - 1rem);
        height: clamp(4.2rem, 11vh, 12vh);
        position: absolute;
        right: 0.5rem;
        bottom: 0;
        margin-right: 0rem;
        margin-bottom: 0.4rem;
        border: 1px solid rgba(178,178,178,0.4);
        background-color:rgba(178,178,178,0.2);
}
.botbox480-textbox{
        display: flex;
        width: 100%;
        height: 100%;
        opacity: 0;
}
.botbox480-textbox.show{
        opacity: 1;
}
.botbox480-titlebox{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1rem;
        font-size: clamp(3.2vw, 3.5vw, 3.5vw);
        margin-top: 0.2vh;
        margin-bottom: 0.2vh;
        margin-left: 1vw;
        padding-left: 2.4vw;
        padding-right: 2.4vw;
        background-color:#999999;
        color: white;
        font-family: serif;
}
.botbox480-titlebox-column{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 14%;
        height: 100%;
        margin-left: 1vw;
}
.botbox480-text-column{
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 86%;
        height: 100%;
        margin-left: 0.7vw;
}
.botbox480-text{
        font-size: clamp(3.2vw, 3.5vw, 3.5vw);
        font-family: serif;
        margin-bottom: 0.2vh;
        margin-left: 2vw;
        margin-top: 0.2vh;
}
.content-mainframe{
        background-color: rgb(199 228 165 /1);
}
.content-mainBox {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 100%;
        box-sizing: border-box;
        border-left: 8px solid rgb(70, 180, 79);
        border-bottom: 8px solid rgb(218, 218, 218);
        flex-grow: 1;
}          
.mainBox-textbox{
        display: flex ;
        align-items: center;
        flex-direction: row-reverse;
        justify-content: center;
        width: 70%;
        height: 90%;
        position: absolute;
        text-align: left;
        background-color: white;
        color: rgb(50, 50, 50, 0.8);    
}
.text-outline0{
        margin-top: 0.4rem;
}
.text-outline1{
        display: none;
        margin-top: 0.4rem;

        border-right: 2px solid #999999;
     
}.text-outline2{
        display: inline-block;
        margin-top: 0.4rem;

        border-right: 2px solid #999999;
     
}
.text-outline0 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1rem;
        line-height: 0.2;
}
.text-outline1 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.3rem;
        line-height: 0.2;
}
.text-outline2 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 1.2em;
        line-height: 0.2;
}
/*メインスクロールフレーム*/
.menuscrollframe{
        width: 100%;
        position: relative;
        /*border-bottom:solid 20px orange;*/
}

.mainframe{
        width: 100%;
        margin: 0;
        padding: 0;
        position: relative;
        /*border-top: solid 0px yellow;*/
        /*border-bottom: solid 10px yellow;*/
}
/*news部分カット*/
.newsbox{
        width: 100%;
        height: 16vh;
        position: relative;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;   
        background-color: transparent;
        border-radius: 0px 0px 0px 0px;
}
.newsboxback{
        width: 100%;
        height: 100%;
        position: absolute;
        top:0;
        z-index: -1;
        background-color:#2f6b46;
        border-radius: 0px 0px 0px 0px;
}


.newstitle{
        display: none;
        position: absolute;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 2rem;
        top:0;
        margin: 0;
        padding: 0;
        border-radius: 0px 0px 0px 0px;
        background-color: #011931;
        color: white;

}
.newstitle-480{
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 4vh;
        top:0;
        margin: 0;
        padding: 0;
        border-radius: 0px 0px 0px 0px;
        background-color: #011931;
        color: white;

}
.newslinebox{
        display: flex;
        margin: 0 0 0 0;
        padding: 0;
}

.newsline{
        display: flex;   
        margin-top: 1rem;
        margin-bottom: 1rem;
        padding: 0;
}

.newsdate{
        margin: 0;
        padding-left: 0.2rem;
        padding-right: 0.2rem;
        font-family: serif;
        color: white;
}
.newstext{
        margin: 0;
        padding-left: 1rem;
        font-family: serif;
        color: white;
}

.mainvision{
        display: flex;
        width: 100%;
        height: 5rem;
        justify-content: center;
        margin-top: 0rem;
        background-color: #011931;
        border-radius: 0px 0px 0px 0px;        
}
.visiontext{
        display:flex;
        color: white;
        font-size: 1.4rem;
        margin: 0;
        padding: 0;
        white-space: nowrap;
}
.theme{
        width: 100%;
        margin-top: 1.5rem;
}     
.theme-contents {
        display: flex;
        position: relative;
        flex-direction: column;
        align-items: center;
        width: 100%;
        margin: 0;
        padding: 2rem 0;
}
.theme-contents:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: #011931;
        transform: skewY(-7deg);
        z-index: -1;
 }
.bird{ 
        opacity: 0.9;
        width: 100%;
        height: 100%;
        position: absolute;
        background-image: url(../img/line.png); 
        background-size:contain;
        background-repeat: no-repeat;
        /*animation-name: siderotation;
        animation-duration: 3s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;*/
        z-index: 10;
}
.birdframe{
        width: 7rem;
        height: 7rem;
        position: relative;
        margin-bottom: 1rem;   
        margin-top: 0.5rem;
}
.birdframecolor{
        width: 100%;
        height: 100%;
        position: absolute;
        background: linear-gradient(-45deg, #dc143c 0%, #dc143c 50%, black 50%, black 100%);
        border-radius: 50%;  
        z-index: 1; 
}
.birdframecolor.show{
        width: 100%;
        height: 100%;
        position: absolute;
        background: linear-gradient(-45deg, #dc143c 0%, #dc143c 50%, black 50%, black 100%);
        border-radius: 50%;  
        z-index: 1; 
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
@keyframes siderotation{
        0%{ transform:rotate(0);}
        100%{ transform:rotate(360deg);}
      }
.theme-contents_inner {
        display: none;
} 
.theme-contents_inner480{
        display: block;
        width: 90%;
        height: 100%;
        padding: 0;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
        font-size:1rem;
        color: #fff;
        text-align: center;
        line-height:;
        font-family: serif;
} 
/*newsAndvison-Frame before after*/

.newsAndvison-Frame{
        /*隙間対策99%*/
        width: 100%;
        position: relative;
        padding-top: 0rem;
        padding-bottom: 5rem;
        z-index: 0;
        background: linear-gradient(90deg, white 0%, white 50%, #c4d7d1 50%, #c4d7d1 100%);;
        border: 2px solid #011931;
        box-sizing: border-box;
}
.newsAndvison-Frame:before{
        display: none;
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        top: 90rem;
        left: 86%;
        background: white;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid #011931;
        box-sizing: border-box;
}
.newsAndvison-Frame:after{
        display: none;
        width: 0.1rem;
        height: 30%;
        position: absolute;
        content: '';
        top: 82.2rem;
        left: 90%;
        background: #011931;
        z-index: -1;

}
/*serviceタイトル&概要*/
.service-titleframe{
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        margin-top: 1rem;
}
.servicetitle{
        width: 20rem;
        height: 4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        font-size: 3rem;
        color: white;
        background-color: #004C98;
        border-radius: 50px;
        font-family: 'arial black', sans-serif;
}
.service-summary{
        width: 80%;
        height:42rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        padding-top: 0;
        padding-bottom: 0;
        margin-top: 4rem;
        color: white;
        background-color: #a1a1a1;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid white;
}
.service-summary-text{
        display: none;
}
.service-summary-text480{
        display: flex;
        width: 90%;
        height: 90%;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        line-height:1.7;
        font-family: serif;
        color: white;
        font-size: 1.1rem;
}
.service-summary-uptext480{
        display: inline;
        text-align: left;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        
}
.service-summary-bottext480{
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        background-color: #2f6b46;
}
.service-choice{
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        padding-left: 0rem;
        margin-top: 4rem;
        font-size: 2rem;
        color: white;
        font-family: serif;
        line-height: 100%;
}
.service-choice::after{
      position: absolute;
      content: '';
      width: 0.13rem;
      height: 15rem;
      bottom: -15rem;
      left: 2.8rem;
      background-color: white;
}
.service-choice::before{
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        bottom: -9.8rem;
        left: 1.8rem;
        background-color: white;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid  white;
        box-sizing: border-box;
        z-index: 1;
}
.service-choice span::after{
        position: absolute;
        content: '';
        width: 0.13rem;
        height: 15rem;
        bottom: -15rem;
        right: 2.8rem;
        background-color: #75a8db;
}
.service-choice span::before{
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        bottom: -9.8rem;
        right: 1.8rem;
        background-color: #75a8db;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid  #75a8db;
        box-sizing: border-box;
        z-index: 1;
}
  
/*service-topic*/
.serviceframe{
        /*隙間対策99*/
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding-top: 2rem;
        padding-bottom: 2rem;
        border-left: 0rem solid #75a8db;
        box-sizing: border-box;
        background: linear-gradient(90deg, #75a8db 0%, #75a8db 50%, white 50%, white 100%); 
}
.servicebox{
        width: 14.4rem;
        display: flex;
        flex-direction: column;
        align-items: center; 
        margin-left: 0rem;
        background-color: white;
}
.servicebox-half{
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 14.4rem;
        height: 14.4rem;
        background: linear-gradient(90deg, #f0bc68 0%, #f0bc68 50%, #c4d7d1 50%, #c4d7d1 100%); 
}
.servicecircle{
        width: 12rem;
        height: 12rem;
        display: flex;
        background: linear-gradient(135deg, rgb(0, 0, 0)  0%, rgb(0, 0, 0) 50%, #B73D3D 50%, #B73D3D 100%);
        border-radius: 50%;
        position: absolute;
        z-index:1;
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
.servicebox:hover .servicecircle{
        animation-play-state: paused;
}
.topic-img0{
        display: flex;
        position: relative;
        width: 70%;
        height: 70%;
        margin-left: 0.4rem;
        background-image: url(../img/buy.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img1{
        width: 70%;
        height: 70%;
        position: relative;
        margin-left: 0.4rem;
        background-image: url(../img/sale.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img2{ 
        width: 50%;
        height: 50%;
        position: relative;
        margin-left: 0.4rem;
        background-image: url(../img/rent0.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.topic-img3{
        width: 70%;
        height: 70%;
        position: relative;
        background-image: url(../img/rent1.png); 
        background-size:contain;
        background-repeat: no-repeat;
        z-index: 10;
}
.servicetopic{
       width: 100%;
       height: 4rem;
       display: flex;
       align-items: center;
       justify-content: center;
       position: relative;
       color: rgb(104, 104, 104);   
       letter-spacing:0.2em;
       font-weight:400;
       background-color: transparent;
       transition: 0.2s;
       overflow: hidden;  
       font-family: 'kosugimaru';
       font-size: 1.4rem;
       /*border:6px solid #cfcfcf;*/
       box-sizing: border-box;
       z-index: 1;
}
.servicebox:hover .servicetopic:after{
        height: 100%;
        overflow:visible
}
.servicebox:hover .servicetopic{
        color: white;
}
.servicetopic:after {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        content: '';
        top:0;
        left: 0;
        background: #3fa365;
        width: 100%;
        height: 0%;
        overflow: hidden;
        transition: 0.2s;
        white-space: nowrap;
        z-index: -1;
}

.mediationt-title{
        display: flex;
        align-items: center;
        justify-content: flex-end;
        margin-top: 3.5rem;
        background-color:#004C98;
        width: 60%;
        height: 4rem;
        border-radius: 0px 50px 50px 0px; 
}
.mediation-title-text{
        color: white;
        margin-right: 2rem;
        font-size: 1.6rem;
        padding-right: 2rem;
        letter-spacing:0.1em;  
        font-family: serif;     
}
.mediation-frame{
        display: flex;
        width: 100%;
        position: relative;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        margin-top: 4rem;
}
.mediation-root{
        width: 16rem;
        position: relative;
        display: flex;
        justify-content: flex-end; 
        padding-right: 3rem;
        margin-top: 4rem;
        margin-bottom: 2rem;
        border-bottom:solid 0.14rem white;
        color: white;
        font-size: 1.8rem;
        line-height:1;
}
.mediation-root:after{
        display: none;
        width: 0.2rem;
        height: 20rem;
        position: absolute;
        content: '';
        top: 2rem;
        left: 3rem;
        background: white;
}
.mediation-root::before{
        width: 1.6rem;
        height: 1.6rem;
        position: absolute;
        content: '';
        top: 0.9rem;
        left: 19rem;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid white;
}
.mediation-topic-frame{
        width: calc(100% - 0rem);
        position: relative;
        height: 18rem;
        margin-bottom: 2rem;
        display: flex;
        
}
.mediation-topic{
        width: 2rem;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
        background-color: #646464;
}

/*フレーム開閉アニメーション*/
.mediation-topic0{
        display: none;
        width: 20rem;
        height: 100%;
        background-image: url(../img/plan.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic1{
        display: none;
        width: 20rem;
        height: 100%;
        background-image: url(../img/phone.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic2{
        display: none;
        width: 20rem;
        height: 100%;
        background-image: url(../img/contract.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-topic3{
        display: none;
        width: 20rem;
        height: 100%;
        background-image: url(../img/hands.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-text-frame{
        display: none;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-color:#004C98;
}
.mediation-text-frame-0-480{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-image: url(../img/plan.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-text-frame-1-480{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-image: url(../img/phone.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-text-frame-2-480{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-image: url(../img/contract.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.mediation-text-frame-3-480{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        background-image: url(../img/hands.jpg);
        background-repeat: no-repeat;
        background-position: bottom;
        background-size: cover;
}
.sw{
        width: 0rem;
        transition: all 1s 0s ease;
}
.sw.show{
        width: calc(100% - 2rem);
}

.mediation-summary-frame{
        display: flex;
        width: 100%;
        height: 28rem;
        margin-top: 4rem;
}
.mediation-summary1{
        display: flex;
        width: 20%;
        height: 100%;
        border: 2px solid #a7aab1;
        box-sizing: border-box;
}
.mediation-summary2{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        background-color: #aabbb6;
        color: white;
        border-radius: 0px 50px 0px 0px;
}
.mediation-summary-sidebox{
        display: none;
        width: 20%;
        height: 100%;
        border: 2px solid white;
        box-sizing: border-box;
}
.mediation-summary2-text{
        display: none;
        text-align: center;
        font-size: 1.2rem;
        font-family: serif;     
}
.mediation-summary2-text480{
        display: inline-block;
        width: 90%;
        font-size: 1.2rem;
        font-family: serif; 
        margin-top: 1rem;
        margin-bottom: 1rem;    
}
.mediation-text{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        color: white;
        white-space: nowrap;
}
.mediation-door{
        width: 2rem;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        writing-mode: vertical-rl;
        color: white;
        background-color: #1a6439;
}
.mediation-door span{
        -webkit-text-combine: horizontal;
        -ms-text-combine-horizontal: all;
         text-combine-upright: all;
}
.bottom-title{
        display: flex;
        justify-content: center;
        font-family: serif;
        font-size: 2rem;
        color: #004C98;
        line-height:1;
        padding: 0;
        margin-top: 4rem;
        margin-left: 0.4rem;
}
.bottom-text{
        width: 100%;
        height: 20rem;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 4rem;
        padding-top: 1rem;
        padding-bottom: 1rem;
        border-top:2px solid  #0b285f;
        border-bottom: 2px solid  #0b285f;
        font-size: 1.2rem;
        color: white;
}
.bottom-text-frame{
        width: 80%;
}
.bottom-text-inline{
        display: none;
}
.bottom-text-inline480{
        display: inline;
        text-align: center;
        color: white;
        font-family: serif;
        font-size: 1.2rem;
        line-height: 2;
}
.bottom-text:after{
        width: 2rem;
        height: 20rem;
        position: absolute;
        content: '';
        top: 0;
        left: 0;
        border-right:2px solid #0b285f;
}
.bottom-text:before{
        width: 14rem;
        height: 2px;
        position: absolute;
        content: '';
        top: 2rem;
        left: 0;
        background:  #0b285f;

}
.bottom-line{
        width: 100%;
        height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
        background-color: #0b285f;
        color: white;
        letter-spacing:0.2em;
}
.fixmenu-1024{
        display: none;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}

}

/*スマホ最小サイズ用*/
@media screen and (max-width:380px) {
        
.text-outline2 p {
        writing-mode: vertical-rl;
        font-family: Yu Mincho Demibold;
        color: rgb(50, 50, 50, 0.8);
        font-size: 0.9em;
        line-height: 0.2;
        
}
.newsAndvison-Frame:before{
        width: 2rem;
        height: 2rem;
        position: absolute;
        content: '';
        top: 87.8rem;
        left: 86%;
        background: white;
        border-radius: 50px 50px 50px 50px;
        border: 2px solid #011931;
        box-sizing: border-box;
}
.newsAndvison-Frame:after{
        width: 0.12rem;
        height: 32%;
        position: absolute;
        content: '';
        top: 79.9rem;
        left: 90%;
        background: #011931;
        z-index: -1;

}
.fixmenu-1024{
        display: none;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}
}

/*ノートpc*/
@media screen and (max-height:720px) and (min-width:481px){

.menuSubline{
    display: flex;
    height: 100vh;
    margin-left: 7rem;
}
.openmenuline1{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 20vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 4rem;
    margin-left: 0rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}
.openmenuline2{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 40vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 4rem;
    margin-left: 0rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}
.openmenuline3{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 2.6rem;
    height: 60vh;
    padding-bottom: 2rem;
    writing-mode: vertical-rl;
    font-size: 1.2rem;
    margin-right: 0rem;
    margin-left: 0rem;
    color:white;
    border-radius: 0px 0px 50px 50px;
    background-color: rgba(255,255,255,0.2);
}
.mainBox-textbox{
        display: flex ;
        align-items: center;
        flex-direction: row-reverse;
        justify-content: center;
        width: 8rem;
        height: 26rem;
        position: absolute;
        text-align: left;
        background-color: white;
        color: rgb(50, 50, 50, 0.8);      
}

.menu li {
        width: 7rem;
        padding: 0;
        text-align: center;
        position: relative;
        margin: auto;
        margin-bottom: 1rem;
        font-family: 'Yu Mincho Demibold'; 
        border: 2px solid white;
        border-radius: 50px;  
}
.newsbox{
        display: flex;
        width: 85%;
        height: auto;
        align-items: center;
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin-top: 1rem;
        border-radius: 0px 100px 0px 0px;
        background-color:#2f6b46;      
}
.servicebox{
        width: 11rem;
        display: flex;
        flex-direction: column;
        align-items: center; 
        margin-left: 2rem;
        background-color: white;
}
.servicebox-half{
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 11rem;
        height: 11rem;
        background: linear-gradient(90deg, #f0bc68 0%, #f0bc68 50%, #c4d7d1 50%, #c4d7d1 100%); 
}
.servicecircle{
        width: 10rem;
        height: 10rem;
        display: flex;
        background: linear-gradient(135deg, rgb(0, 0, 0)  0%, rgb(0, 0, 0) 50%, #B73D3D 50%, #B73D3D 100%);
        border-radius: 50%;
        position: absolute;
        z-index:1;
        animation-name: siderotation;
        animation-duration: 8s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
}
.service-summary{
        width: 74%;
        height:18rem;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        margin-top: 4rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
        color: white;
        background-color: #11385f;
        border-radius: 100px 100px 100px 100px;
}
.mediation-summary-sidebox{
        display: flex;
        width: 6%;
        height: 100%;
        border: 2px solid white;
        box-sizing: border-box;
}
.mediation-summary2{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 88%;
        height: 100%;   
        color: white;
}
.fixmenu-1024{
        display: none;
        flex-direction: row-reverse; 
        height: 100vh;
        width: 2rem;
        margin: 0;
        top:0;
        z-index:100;
        position: sticky;
        background-color: #33ad84;  
}
}
