@charset "UTF-8";

html{
    font-size: 16px;
    color:#313131;
    background: #ffffff;
    scroll-behavior: smooth;
}
body{
    font-family: 'Noto Sans JP', sans-serif;
}
p{
    line-height: 1.8;
    text-align: justify; 
}
.fadein{
    opacity: 0;
    transition: opacity 1s;
    -webkit-transition: opacity 1s;
}
.fadein.fadein2{
    opacity: 1;
}

.container{
    width: calc(100% - 6%);
    margin: 0 auto;
    max-width: 1190px;
}
.header_nav1{
    display: block;
}
.header{
    display:none ;
}
.title_main{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 70px;
}
.title_main2{
    padding-top: 120px;
    padding-bottom: 10vw;
}
.title_main2_long{
    padding-top: 120px;
    padding-bottom: 10vw;
}
.title_main h2{
    width: 240px;
    font-size: 70px;
    color: #6A6A6A;
    line-height: 0.45;
}
.title_main2 h2 {
    width: 400px;
}
.title_main2_long h2{
    width: 520px;
}
.title_main h2 .title_sub{
    font-size: 16px;
    color: #4E8799;
}
.title_main .title_hr{
    position: relative;
    width: calc(100% - 240px);
    overflow: hidden;
}
.title_main2 .title_hr{
    width: calc(100% - 400px);
}
.title_main2_long .title_hr{
    width: calc(100% - 520px);
}
.title_main .title_hr hr.animate{
    width: 0%;
    border-top: none;
    border-bottom: 2px solid #8AB4C1;
    transition: width 0.8s 0.3s;
    -webkit-transition: width 0.8s 0.3s;
}
.title_main .title_hr hr.animate.inview{
    width: 100%;
}
.title_main2 .title_hr hr.animate2{
    width: 0%;
    border-top: none;
    border-bottom: 2px solid #8AB4C1;
    transition: width 0.8s 0.7s;
    -webkit-transition: width 0.8s 0.7s;
}
.title_main2_long .title_hr hr.animate2{
    width: 0%;
    border-top: none;
    border-bottom: 2px solid #8AB4C1;
    transition: width 0.8s 0.7s;
    -webkit-ransition: width 0.8s 0.7s;
}
.title_main2 .title_hr hr.animate2.inview2{
    width: 100%;
}
.title_main2_long .title_hr hr.animate2.inview2{
    width: 100%;
}
header .header_nav1 ul {
    display: flex;
    position: fixed;
    z-index: 10;
    top:55px;
    right:3%;
}
.gnavi li a{
  position: relative;
  overflow: hidden;
  padding:10px 53px;
}

.gnavi li span{
  position: absolute;
  left: 50%;
  top:0;
  transition: all .5s;
  -webkit-transition: all .5s;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);  
  display: block;
  opacity:1;
  white-space: nowrap;
}

.gnavi li span:nth-child(2){
  opacity:0;
  font-size: 0.9em;
  transform: translate(-50%,100%);
  -webkit-transform: translate(-50%,100%);
}

.gnavi li:hover span:nth-child(1){
  opacity:0;
    transform: translate(-50%,-100%);
    -webkit-transform: translate(-50%,-100%);
}

.gnavi li:hover span:nth-child(2){
  opacity:1;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
}
header .header_nav1 ul li img{
    width: 20px;
} 
@media (max-width: 1000px){
    .title_main .title_hr{
        width: calc(100% - 220px);
    }
    .title_main h2{
        width: 220px;
        font-size: 60px;
    }
    .title_main h2 .title_sub{
        font-size: 14px;
    }
    .title_main2 .title_hr{
        width: calc(100% - 320px);
    }
    .title_main2_long .title_hr{
        width: calc(100% - 410px);
    }
    .title_main2 h2{
        width: 320px;
        font-size: 55px;
    }
    .title_main2_long h2{
        width: 410px;
        font-size: 55px;
    }
    .title_main2 h2 .title_sub{
        font-size: 14px;
    }
    .title_main2_long h2 .title_sub{
        font-size: 14px;
    }
}
@media (max-width: 900px){
    .header_nav1{
        display: none;
    }
    .header{
        display: block;
    }

    header .header_nav1 ul{
        display: none;
    }
    .title_main{
        padding-top: 90px;
        margin-top: -20px;
    }
    .title_main2{
        margin-top: 0;
    }
    .title_main2_long{
        margin-top: 0;
    }
}
@media (max-width: 700px){
    .container{
        width: calc(100% - 7%);
    }
    .title_main .title_hr{
        width: calc(100% - 150px);
    }
    .title_main h2{
        width: 150px;
        font-size: 45px;
        line-height: 0.45;
        
    }
    .title_main h2 .title_sub{
        font-size: 13px;
    }
    .title_main2{
        padding-bottom: 14vw;
    }
    .title_main2_long{
        padding-bottom: 14vw;
    }
    .title_main2 .title_hr{
        width: calc(100% - 230px);
    }
    .title_main2_long .title_hr{
        width: calc(100% - 300px);
    }
    .title_main2 h2{
        width: 230px;
        font-size: 38px;
    }
    .title_main2_long h2{
        width: 300px;
        font-size: 38px;
    }
}
@media (max-width: 500px){
    html{
        font-size: 15px;
    }
    .title_main .title_hr{
        width: calc(100% - 145px);
    }
    .title_main h2{
        width: 145px;
        font-size: 40px;
    }
    .title_main h2 .title_sub{
        font-size: 11px;
    }
    .title_main2 .title_hr{
        width: calc(100% - 180px);
    }
    .title_main2_long .title_hr{
        width: calc(100% - 235px);
    }
    .title_main2 h2{
        width: 180px;
        font-size: 31px;
    }
    .title_main2_long h2{
        width: 235px;
        font-size: 31px;
    }
}
/* scroll ↓ */
.arrowWrap {
  position: absolute;
  left: 50%;
  bottom: 23px;
  transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  }
  
  .arrow1 {
    width: 15px;
    margin: 0 auto;
    -webkit-animation: arrow1 2s linear 0s infinite normal;
    animation: arrow1 2s linear 0s infinite normal;
  }
  
  .arrow2 {
    width: 15px;
    margin: 0 auto;
    -webkit-animation: arrow2 2s linear 0s infinite;
    animation: arrow2 2s linear 0s infinite;
  }
  
  .arrow1 span,
  .arrow2 span {
    position: relative;
    display: block;
    left: 50%;
  }
  
  .arrow1 span {
    margin-top: -10px;
  }
  
  .arrow1 span:before,
  .arrow2 span:before {
    content: '';
    width: 20px;
    height: 20px;
    border: 0;
    border-top: solid 2px rgb(140, 140, 140);
    border-right: solid 2px rgb(144, 138, 138);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    box-sizing: border-box;
  }
  @media (max-width: 500px){
    .arrow1 span:before,
  .arrow2 span:before {
    border-top: solid 1.7px rgb(140, 140, 140);
    border-right: solid 1.7px rgb(144, 138, 138);
  }

  }
  
  @keyframes arrow1 {
    0% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
  
    20% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
  
    40% {
      -webkit-transform: translate3d(-50%, 10px, 0);
      transform: translate3d(-50%, 10px, 0);
    }
  
    60% {
      -webkit-transform: translate3d(-50%, 10px, 0);
      transform: translate3d(-50%, 10px, 0);
    }
  
    80% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
  
    100% {
      -webkit-transform: translate3d(-50%, 0, 0);
      transform: translate3d(-50%, 0, 0);
    }
  }
  
  @keyframes arrow2 {
    0% {
      -webkit-transform: translate3d(-50%, 10px, 0);
      transform: translate3d(-50%, 10px, 0);
    }
  
    20% {
      -webkit-transform: translate3d(-50%, 20px, 0);
      transform: translate3d(-50%, 20px, 0);
    }
  
    40% {
      -webkit-transform: translate3d(-50%, 20px, 0);
      transform: translate3d(-50%, 20px, 0);
    }
  
    60% {
      -webkit-transform: translate3d(-50%, 20px, 0);
      transform: translate3d(-50%, 20px, 0);
    }
  
    80% {
      -webkit-transform: translate3d(-50%, 10px, 0);
      transform: translate3d(-50%, 10px, 0);
    }
  
    100% {
      -webkit-transform: translate3d(-50%, 10px, 0);
      transform: translate3d(-50%, 10px, 0);
    }
  }

/* scroll ↑ */

/* main ↓ */

.main_top{
    position: relative;
    overflow: hidden;
    padding-top: 150px;
    padding-bottom: 90px;
    margin-bottom: 80px;
}

.main_top img{
    width: 85%;
    height: 70vh;
    object-fit: cover;
}
.main_top .main_name{
    position: absolute;
    bottom: 210px;
    right:56px;
    font-size: 110px;
    letter-spacing: 3px;
    color: #6A6A6A;
}
.main_top .main_sub{
    position: absolute;
    bottom: 185px;
    right:65px;
    font-size: 35px;
    letter-spacing: 1px;
    color: #6A6A6A;
}
@media (max-width: 1400px){
    .main_top{
        padding-top: 120px;
    }
    .main_top img{
        height: 620px;
    }
}
@media (max-width: 1000px){
    .main_top{
        margin-bottom: 140px;
    }
    .main_top img{
        width: 90%;
        height: 576px;
    }
    .main_top .main_name{
        right:56px;
        font-size: 85px;
    }
    .main_top .main_sub{
        right:65px;
        font-size: 27px;
    }
}
@media (max-width: 900px){
    .main_top{
        padding-top: 100px;
        margin-bottom: 130px;
    }
    .main_top img{
        width: 88%;
        height: 77vh;
    }
    .main_top .main_name{
        bottom: 30vw;
        right:44px;
        font-size: 75px;
        letter-spacing: 2px;
    }
    .main_top .main_sub{
        bottom: 27vw;
        right:55px;
        font-size: 25px;
        letter-spacing: 1px;
    }
}
@media (max-width: 700px){
    .main_top{
        padding-top: 80px;
        margin-bottom: 100px;
    }
    .main_top img{
        width: 89%;
        height: 65vh;
    }
    .main_top .main_name{
        bottom: 30vw;
        right:33px;
        font-size:60px;
        letter-spacing: 0.5px;
    }
    .main_top .main_sub{
        bottom: 27vw;
        right:40px;
        font-size: 18px;
        letter-spacing: 0.5px;
    }
}
@media (max-width: 500px){
    .main_top{
        padding-top: 70px;
        margin-bottom: 50px;
    }
    .main_top .main_name{
        bottom: 180px;
        right:20px;
        font-size:55px;
        letter-spacing: 0;
    }
    .main_top .main_sub{
        bottom: 167px;
        right:25px;
        font-size: 14px;
        letter-spacing: 0.5px;
    }
}
@media (max-width: 370px){
    .main_top img{
        width: 95%;
    }
    .main_top .main_name{
        bottom: 240px;
        right:10px;
        font-size:45px;
        letter-spacing: 0;
    }
    .main_top .main_sub{
        bottom: 220px;
        right:13px;
        font-size: 15px;
        letter-spacing: 0.2px;
    }
}
/* main ↑ */

/* About ↓ */
.Profile_content{
    position: relative;
}
.Profile_area{
    margin-top: 130px;
    margin-bottom: 120px;
}
.Profile_area>figure{
    display: flex;
    flex-direction: row;
}
.Profile_area .Profile_img{
    width: 540px;
    align-self: center;
    flex:1 3 auto;
}
.Profile_area img{
    max-width: 296px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}
.my_photo2{
    display: none;
}
.my_photo{
    display: block;
}
.Profile_area .Profile_content{
    width: 600px;
    align-self: center;
    flex:1 1 auto;
}
.Profile_garea.animate {
    background-color:#EEF5F2;
    max-width: 566px;
    margin-left: auto;
    padding:20% 13%;
    opacity: 0;
    transition: opacity 0.8s;
    -webkit-transition: opacity 0.8s;
}
.Profile_garea.animate.inview {
    opacity: 1;
}

.Profile_area .Profile_content .Profile_name{
    font-size: 29px;
    letter-spacing: 2px;
    margin-bottom: 8px;
}
.Profile_area .Profile_content .Profile_name span{
    font-size: 26px;
}
.Profile_area .Profile_content .Profile_name span::before{
    content: "/";
    margin-right: 10px;
    margin-left: 20px;
    font-size: 25px;
}
.Profile_area .Profile_content hr{
    width: 90%;
    margin-bottom: 25px;
}
.Profile_area .Profile_content dl{
    line-height: 1.7;
    margin-bottom: 15px;
}
.Profile_area .Profile_content dl>div{
    display: flex;
    align-items: top;
}
.Profile_area .Profile_content dl dt{
    font-size: 15px;
    font-weight: normal;
    letter-spacing: 3px;
}
.Profile_area .Profile_content dl dt::after{
    content:":";
    margin-left: 12px;
    margin-right: 10px;
}
.Profile_area .Profile_content dl dd{
    font-size: 15px;
    margin-left: 0;
}
.Profile_area .Profile_content .Profile_p{
    line-height: 2;
}
.button1::after{
    content: "";
    display: block;
    position: absolute;
    bottom:30px;
    right: 10px;
    width: 120px;
    height: 5px;
    border: none;
    border-right: 2px solid rgb(57, 149, 127);
    border-bottom: 1px solid rgb(57, 149, 127);
    transform: skew(50deg);
    -webkit-transform: skew(50deg);
    transition: .3s;
    -webkit-transition: .3s;
}
.button1:hover::after{
    right: -10px;
    width: 140px;
}.Profile_more{
    position: absolute;
    bottom:35px;
    right:80px;
    color: rgb(57, 149, 127);
}
@media (max-width: 1000px){
    .Profile_area .Profile_img{
        width: 520px;
        flex:1 3 auto;
    }
    .Profile_area .Profile_content{
        width: 600px;
        flex:1 2 auto;
    }
    .Profile_garea {
        max-width: 566px;
        padding:16% 7%;
    }
}
@media (max-width: 850px){
    .my_photo2{
        display: block;
    }
    .my_photo{
        display: none;
    }
    .Profile_area{
        margin-top: 80px;
        margin-bottom: 120px;
    }
    .Profile_area>figure{
        display: flex;
        flex-direction:column;
}
    .Profile_area .Profile_img{
        width:70%;
        align-self: end;
        position: relative;
    }
    .Profile_area img{
        max-width: 350px;
        min-width:210px ;
        width: 100%;
        padding: 0;
    }
    .Profile_area .Profile_content{
        max-width: 100%;
        width: 95%;
    }
    .Profile_garea.animate {
        margin-right: auto;
        margin-left: 0;
    }
    .Profile_garea {
        background-color:#EEF5F2;
        max-width: 850px;
        width: 95%;
        padding:150px 5% 18%;
        margin-top: -80px;
        z-index: -1;
        position: relative
    }
    .button1::after{
        bottom:40px;
        right: -10px;
        width: 133px;
    }
    .Profile_more{
    position: absolute;
    bottom:50px;
    right:50px;
}
}
@media (max-width: 700px){
    .Profile_area .Profile_content .Profile_name{
        font-size: 25px;
        letter-spacing: 2px;
        margin-bottom: 5px;
    }
    .Profile_area .Profile_content .Profile_name span{
        font-size: 20px;
    }
    .Profile_area .Profile_content .Profile_name span::before{
        content: "/";
        font-size: 20px;
    }
    .Profile_area .Profile_content hr{
        width: 90%;
        margin-bottom: 18px;
    }
    .Profile_area .Profile_content{
        width: 94%;
    }
}
@media (max-width: 500px){
    .Profile_area{
        margin-top: 70px;
        margin-bottom: 50px;
    }
    .Profile_area img{
        padding-right: 10px;
    }
    .Profile_garea {
        padding:130px 4% 21%;
        margin-top: -80px;
        z-index: -1;
        position: relative
    }
    .Profile_garea.animate {
        padding:125px 7% 20%;
    }
    .Profile_area .Profile_content .Profile_name{
        font-size: 22px;
        letter-spacing: 2px;
        margin-bottom: 3px;
        margin-left: -10px;
    }
    .Profile_area .Profile_content .Profile_name span{
        font-size: 17px;
    }
    .Profile_area .Profile_content .Profile_name span::before{
        content: "/";
        font-size: 18px;
    }
    .Profile_area .Profile_content hr{
        width: 105%;
        margin-bottom: 20px;
        margin-left: -10px;
    }
    .Profile_area .Profile_content dl{
        line-height: 1.7;
        margin-bottom: 10px;
        vertical-align: top;
    }
    .Profile_area .Profile_content dl dt{
        letter-spacing: 2px;
        font-size: 13px;
    }
    .Profile_area .Profile_content dl dt::after{
        content:":";
        margin-left: 1px;
    }
    .Profile_area .Profile_content dl dd{
        font-size: 12px;
    }
    .button1::after{
        bottom:22px;
        right: 10px;
        width: 120px;
    }
    .button1:hover::after{
        right: -10px;
        width: 140px;
    }.Profile_more{
        bottom:25px;
        right:80px;
    }
}
@media (max-width: 430px){
    .Profile_garea {
        width: 100%;
    }
}
@media (max-width: 300px){
    .about{
        overflow: hidden;
    }
    .Profile_garea {
        padding:130px 4% 23%;
    }
    .Profile_area img{
        padding-right: 16px;
    }
    .Profile_area .Profile_content .Profile_name{
        font-size: 19px;
        letter-spacing: 2px;
        margin-bottom: 3px;
    }
    .Profile_area .Profile_content .Profile_name span{
        font-size: 14px;
    }
    .Profile_area .Profile_content .Profile_name span::before{
        content: "/";
        margin-right: 5px;
        margin-left: 8px;
        font-size: 18px;
    }
    
}

/* About ↑ */

/* Works↓ */
.works .works_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 120px;
    margin-bottom: 80px;
}
.works .works_list figure {
    /* width: 32%; */
    width: 46%;
    margin-bottom: 50px;
}
.works .works_list figure .works_img{
    max-width: 750px;
    width: 100%;
    margin-bottom: 15px;
    overflow: hidden;
    box-shadow: 1px 1px 10px rgb(184, 184, 184);
}
.works .works_list .figure.animate{
    transform: translate(-30px,40px) rotate(-10deg);
    -webkit-transform: translate(-30px,40px) rotate(-10deg);
    opacity: 0;
    transition: all 1.1s;
    -webkit-transition: all 1.1s;
}
.works .works_list .figure.animate.inview{
    transform: translate(0,0) rotate(0deg);
    -webkit-transform: translate(0,0) rotate(0deg);
    opacity: 1;
}
.works .works_list figure .works_img img{
    width: 100%;
    scale: 1;
    opacity: 1;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}
.works .works_list figure .works_img img:hover{
    opacity: 0.7;
    scale: 1.07;
}

.works .works_list figure figcaption p:nth-child(1){
    font-size: 20px;
    color: #4E8799;
    font-weight: bold;
    line-height: 1.5;
    letter-spacing: 1px;
    text-indent: 10px;
}
.works .works_list figure figcaption p:nth-child(2){
    font-size: 14px;
    color: #BFBFBF;
    letter-spacing: 1px;
    text-indent: 10px;
}
@media (max-width: 900px){
    .works .works_list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 70px;
        margin-bottom: 60px;
    }
    .works .works_list figure {
        width: 46%;
        margin:0 auto 40px;
    }
    .works .works_list figure .works_img{
        max-width: none;
        text-align: center;
    }
}
@media (max-width: 500px){
    .works .works_list{
        margin-top: 50px;
        margin-bottom: 0;
    }
    .works .works_list figure {
        width: 95%;
        margin:0 auto 40px;
    }
    .works .works_list figure .works_img{
        max-width: none;
        text-align: center;
    }
    .works .works_list figure figcaption p:nth-child(1){
        font-size: 18px;
    }
    .works .works_list figure figcaption p:nth-child(2){
        font-size: 12px;
        text-indent: 8px;
    }
}
@media (max-width: 290px){
    .works .works_list figure {
        width: 100%;
    }
}
/* Works↑ */


/* skills↓ */
.skills{
    background-repeat: repeat-x;
    background-position:  0 200px;
    background-size: 100%;
}
.skills .title_main{
    margin-bottom: 50px;
}
.skills_list{
    background-color: #EBF2F2;
}
.skills_list>.container{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 80px;
    padding-bottom: 60px;
}
.skills .skills_list>div>section {
    position: relative;
    display: flex;
    flex-direction: column;
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
    width: 30%;
    margin-bottom: 60px;
    padding: 20px 20px 30px;
}
.skills .skills_list>div div:nth-child(2){
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.skills .skills_list>div .skills_img{
    height: 95px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.skills .skills1 img{
    width: 70px;
}
.skills .skills2 img{
    width: 95px;
}
.skills .skills3 img{
    width: 78px;
}
.skills .skills4 img{
    width: 84px;
}
.skills .skills5 img{
    width: 77px;
}
.skills .skills6 img{
    width: 87px;
}
.skills .skills_content2 {
    display: flex;
    flex-flow: column wrap;
}
.skills .skills_content2 .skills_content{
    height: auto;
}
.skills h3{
    font-size: 20px;
    margin-bottom: 20px;
}
.skills  .skills_content p{
    padding-bottom: 55px;
    font-size: 15px;
}
.skills .skills_content2 .skills_skill{
    color: #616161;
    font-size: 14px;
    position: absolute;
    bottom:30px;
    left: 50%;
    transform: translateX(-81%);
    -webkit-transform: translateX(-81%);
}
.skills .skills_content2 .skills_skill p{
    width: 160%;
    text-align: center;
    line-height: 1.4;
}
.skills_bg{
    width: 100%;
}
.skills_bg2{
    margin-bottom: 180px;
}

@media (max-width: 1000px){
    .skills .skills_list>div>section {
        width: 32%;
        margin-bottom: 60px;
        padding: 30px 13px;
    }
    .skills .skills_list>div .skills_img{
        height: 87px;
    }
    .skills .skills1 img{
        width: 65px;
    }
    .skills .skills2 img{
        width: 90px;
    }
    .skills .skills3 img{
        width: 73px;
    }
    .skills .skills4 img{
        width: 79px;
    }
    .skills .skills5 img{
        width: 72px;
    }
    .skills .skills6 img{
        width: 82px;
    }
    .skills h3{
        font-size: 18px;
        margin-bottom: 15px;
    }
}
@media (max-width: 900px){
    .skills_list>.container{
        width: 80%;
        margin-right: auto;
        margin-left: auto;
    }
    .skills .skills_list>div>section {
        width: 48%;
        margin-bottom: 60px;
        padding: 30px 13px;
    }
    .skills .skills_content2 .skills_content h3{
        font-size: 17px;
    }
    .skills .skills_content2 .skills_content p{
        font-size: 15px;
    }
}

@media (max-width: 600px){
    .skills_list>.container{
        width: 88%;
    }
    .skills .skills_list>div>section {
        width: 100%;
        padding: 20px 20px 30px;
        border-radius: 15px;
        margin-right: 10px;
        margin-left: 10px;
    }
    .skills .skills_list>div .skills_img{
        height: 90px;
    }
    .skills .skills1 img{
        width: 55px;
    }
    .skills .skills2 img{
        width: 80px;
    }
    .skills .skills3 img{
        width: 63px;
    }
    .skills .skills4 img{
        width: 69px;
    }
    .skills .skills5 img{
        width: 62px;
    }
    .skills .skills6 img{
        width: 72px;
    }
    .skills  .skills_content p{
        margin-bottom: 20px;
        padding-bottom: 30px;
    }
}
@media (max-width: 400px){
    .skills .skills_list>div>section {
        width: 100%;
        padding: 25px 15px;
        margin: 0 0 40px 0;
    }
    .skills_list>.container{
        padding-top: 80px;
        padding-bottom: 70px;
    }
}
/* skills↑ */

/* contact ↓ */

.contact{
    background-color: #e7ecf0;
    padding-top: 130px;
    padding-bottom: 120px;
}
.contact .container{
    width: calc(100% - 10%);
}
.title_contact{
    text-align: center;
}
.title_contact h2{
    font-size: 60px;
    color: #6A6A6A;
    line-height: 0.45;
    margin-bottom: 50px;
}
.title_contact h2 span{
    font-size: 16px;
    color: #4E8799;
}
.contact p{
   text-align: center;
   margin-bottom: 40px;
} 
.contact form{
    text-align: center;
}
.contact form label{
    margin: 0 auto;
    max-width: 700px;
    display: block;
    letter-spacing: 1.5px;
    font-size: 15px;
    text-align: left;
    margin-bottom: 30px;
}
.contact form label input{
    width: 100%;
    max-width: 700px;
    border: solid 1px #CDCDCD;
    background-color: #fff;
    height: 40px;
    border-radius: 4px;
    margin-top: 10px;
    padding-left: 10px;
}
.contact form label textarea{
    width: 100%;
    max-width: 700px;
    border: solid 1px #CDCDCD;
    background-color: #fff;
    height: 130px;
    border-radius: 4px;
    margin-top: 10px;
    padding-top: 10px;
    padding-left: 10px;
}
::placeholder{
    color: rgb(200, 200, 200);
    font-size: 14px;
    letter-spacing: 1px;
    padding-left: 10px;
}
.contact form p{
    margin: 0 auto;
    max-width: 700px;
    color: #e20000;;
    text-align: left;
    font-size: 15px;
    margin-bottom: 40px;
}
.contact form p::before{
    content:"※";
}
.contact form p a{
    text-decoration: underline;
    color: #0000EE;
    padding-right: 3px;
    padding-left: 3px;
    opacity: 1;
    transition: all .4s;
}
.contact form p a:hover{
    opacity: .5;
}
.contact form button{
    margin: 0 auto;
    text-align: center;
    letter-spacing: 20px;
    background-color:#757575;
    color: #fff;
    border-radius: 5px;
    padding: 15px 80px 15px 100px;
}
@media (max-width: 900px){
    .contact{
        padding-top: 100px;
        padding-bottom: 100px;
    }
    .title_contact h2{
        font-size: 45px;
        line-height: 0.55;
        margin-bottom: 50px;
    }
    .title_contact h2 span{
        font-size: 12px;
    }
}
@media (max-width: 450px){
    .contact form p{
        font-size: 13px;
    }
}
/* contact ↑ */

/*　footer ↓ */
footer{
    background-image: url(../img/footer.jpg);
    background-size: cover;
    padding-top: 50px;
    padding-bottom: 20px;
}
.footer_row{
    display: flex;
    justify-content: space-between;
    margin-bottom: 120px;
}
.footer_name p {
    font-size: 40px;
    letter-spacing: 1px;
    color: #ffffff;
    line-height: 0.6;
    text-indent: -0.07em;
}
.footer_name p span{
    font-size: 15px;
    letter-spacing: 1px;
    font-weight:lighter;
}

.footer_nav nav ul{
    display: flex;
}
.footer_nav nav ul li a{
    color: #ffffff;
    font-size: 18px;
    letter-spacing: 2px;
    padding: 5px 15px;
    display: block;
    opacity: 1;
    transition: all .4s;
}
.footer_nav nav ul li a:hover{
    opacity: .5;
}
.footer_nav nav ul li img{
    width: 20px;
}
footer>p{
    color: #fff;
    font-size: 14px;
    text-align: center;
}
@media (max-width: 700px){
    footer{
        padding-top: 40px;
        padding-bottom: 5px;
    }
    .footer_row{
        display: none;
    }
}
/* footer ↑ */



/* works */


.content{
    padding-bottom: 12vw;
}
.content img{
    width: 100%;

}
.content .skill_content{
    margin-bottom: 3vw;
    text-align: right;
}
.content .skill_content p{
    text-align: right;
    color: #6A6A6A;
    font-size: 30px;
    margin-bottom: 5px;
}
.content .skill_content a{
    color: rgb(144, 144, 144);
    opacity: 1;
    transition: opacity .4s;
    -webkit-transition: opacity .4s;
}
.content .skill_content a:hover{
    opacity: .5;
}
.content .skill_content a i{
    font-size: 14px;
    margin-left: 8px;
}
.content >figure{
    margin-bottom: 5vw;
}
.content .works_content{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 8vw;
}
.content .works_content .works_side{
width: 260px;
flex: 1 1 auto;
background-color: #ECF9F6;
padding: 2vw 2.5vw 9vw;
margin-right: 5vw;
}
.content .works_content .works_side dl dt{
    font-size: 18px;
    font-weight: bold;
    margin-top: 30px;
    margin-bottom: 5px;
}
.content .works_content .works_side dl dd{
    display: inline-block;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 2.2;
    margin-left: 0;
}
.content .works_content .works_side ul li{
    font-size: 14px;
    line-height: 2;
}
.content .works_content .works_side dd+dd::before{
    content: "/";
    margin: 0 3px;
}
.content .works_content .works_main{
    width: 790px;
    flex: 2 2 auto;
}
.content .works_content .works_main h3{
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 15px;
}
.content .works_content .works_main h4{
    font-size: 22px;
    font-weight: bold;
    color:rgb(56, 143, 129);
    margin-top: 40px;
    margin-bottom: 15px;
}
.content .works_content .works_main h5{
    font-size: 17px;
    font-weight: bold;
    margin-top: 25px;
    margin-bottom: 10px;
}
.content .works_content .works_main h5::before{
    content: "【";
    margin-left: -8px;
    margin-right: 3px;
}
.content .works_content .works_main h5::after{
    content: "】";
    margin-left: 3px;
}
.content .works_content .works_main p{
    line-height: 2;
}
.content .works_content .works_main dl{
    margin-bottom: 15px;
}
.content .works_content .works_main dl>div{
    display: flex;
}
.content .works_content .works_main dl dt{
    font-weight: normal;
    white-space: nowrap;
    line-height: 2;
}
.content .works_content .works_main dl dt::after{
    content:"：";
    margin-right: 5px;
    margin-left: 5px;
    font-weight: bold;
}
.content .works_content .works_main dl dd{
    line-height: 2;
}
.content .works_content .works_main ul li{
    line-height: 2;
}
.content .works_content .works_main ul li::before{
    content:"・";
}
.content .back_to_works{
    text-align: center;
}
.content .back_to_works a{
    border: 1px solid #525252;
    color: #525252;
    border-radius: 50px;
    padding: 20px 60px;
    transition: all .4s;
    -webkit-transition: all .4s;
}
.content .back_to_works a:hover{
    color: #fff;
    background-color: #525252;
}
.works_contact {
    position: relative;
    z-index: 2;
}
.works_contact p{
    margin-bottom: 40px;
}
.works_contact a{
    display: block;
    letter-spacing: 3px;
    background-color:#757575;
    border: 1px solid #757575;
    color: #fff;
    border-radius: 5px;
    max-width: 500px;
    width: 100%;
    text-align: center;
    padding: 15px 80px 15px 100px;
    margin: 0 auto;
    transition: all .4s;
    -webkit-transition: all .4s;
}
.works_contact a:hover{
    background-color:#ffffff;
    color: #525252;
}
  
  @media (max-width: 800px){
    .content{
      padding-bottom: 15vw;
    }
    .content .skill_content{
      margin-bottom: 4vw;
    }
    .content .skill_content p{
      font-size: 25px;
      line-height: 1;
      margin-bottom: 5px;
    }
    .content .skill_content a{
      font-size: 14px;
    }
    .content .skill_content a i{
      font-size: 12px;
      margin-left: 8px;
    }
    .content .works_content{
      display: flex;
      flex-direction: column-reverse;
      margin-bottom: 8vw;
    }
    .content .works_content .works_side{
      width:100%;
      padding: 4.5vw 4vw 8vw;
      margin-right: 0;
      margin-bottom: 10vw;
      }
      .content .works_content .works_side dl dt{
        font-size: 17px;
        margin-top: 3.5vw;
        margin-bottom: 5px;
      }
      .content .works_content .works_side dl dd{
        font-size: 14px;
        line-height: 1.8;
      }
      .content .works_content .works_side ul li{
        font-size: 13px;
        line-height: 1.8;
    }
      .content .works_content .works_main{
        width: 100%;
        margin-bottom: 8vw;
      }
      .content .works_content .works_main h3{
        font-size: 27px;
        letter-spacing: 12px;
      }
      .content .works_content .works_main h4{
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 15px;
      }
      .content .works_content .works_main h5{
        font-size: 16px;
        margin-top: 20px;
        margin-bottom: 10px;
      }
      .content .works_content .works_main p{
        font-size: 15px;
        letter-spacing: 0;
        margin-bottom: 10px;
      }
      .content .works_content .works_main dl{
        margin-bottom: 15px;
        font-size: 15px;
      }
      .content .works_content .works_main dl>div{
        font-weight: normal;
        line-height: 1.8;
      }
      .content .works_content .works_main dl dt::after{
        content:"：";
        margin-right: 5px;
        margin-left: 5px;
        font-weight: bold;
      }
      .content .works_content .works_main dl dd{
        line-height: 2;
      }
      .content .works_content .works_main ul li{
        line-height: 2;
        font-size: 15px;
      }
  }
  @media (max-width: 500px){
    .content{
      padding-bottom: 35vw;
    }
    .content .skill_content a{
      font-size: 12px;
    }
    .content .skill_content p{
      font-size: 20px;
      line-height: 1;
      margin-bottom: 5px;
    }
    .content img{
        margin-bottom: 7vw;
        height: 80vw;
        object-fit: cover;
    }
    .content .works_content .works_side{
      padding: 4.5vw 4vw 8vw;
      margin-bottom: 13vw;
      }
      .works_contact a{
        max-width: 500px;
        width: 100%;
        padding: 15px 20px;
        margin: 0 auto;
        transition: all .4s;
        -webkit-transition: all .4s;
    }
  }
  @media (max-width: 400px){
    .content .skill_content{
      margin-bottom: 5.5vw;
    }
    .content .works_content>.container{
      text-align: center;
    }
    .content .works_content .works_main{
      width: 100%;
      margin-bottom: 15vw;
    }
    .content .works_content .works_main h3{
      font-size: 25px;
    }
    .content .works_content .works_main h4{
      font-size: 19px;
      margin-top: 20px;
    }
    .content .works_content .works_main h5{
      font-size: 16px;
      margin-top: 15px;
    }
    .content .works_content .works_main p{
      font-size: 14px;
    }
    .content .works_content .works_main dl dt{
      font-size: 14px;
    }
    .content .works_content .works_main dl dd{
      font-size: 14px;
    }
    .content .works_content .works_side{
      width:100%;
      padding: 6vw 4vw 10vw;
      margin-bottom: 15vw;
      }
      .content .works_content .works_main ul li{
        font-size: 14px;
        line-height: 2;
      }
  }

  /* works */

  /* about  profile */
.about_profile{
    position: relative;
    z-index: 3;
}
.about_t{
    width: 100%;  
    margin-top: -50px;  
    vertical-align: bottom;
}
.about_page .title_main{
    margin-top: 50px;
    margin-bottom: 6vw;
}
.about_page h3{
    position: relative;
    z-index: 2;
    color: #6A6A6A;
    line-height: 1.3;
    font-size: 60px;
    margin-bottom: 9vw;
}
.about_page h3 .about_h3_sub{
    font-size: 16px;
    color: #4E8799;
    margin-top: -70px;
}
.Profile{
    background-color: #ECF9F6;
    padding-top: 6vw;
    padding-bottom: 14vw;
}
.Profile .Profile_area img{
    max-width: 346px;
    width: 100%;
    padding: 0 20px;
}
.Profile .Profile_area {
    margin-top: 0;
    margin-bottom: 0;
}
.Profile_warea.animate {
    max-width: 566px;
    margin-left: auto;
    padding:0% 7%;
    opacity: 0;
    transition: opacity 0.8s;
    -webkit-transition: opacity 0.8s;
}
.Profile_warea.animate.inview {
    opacity: 1;
}

@media (max-width: 1000px){
    .Profile{
        padding-top: 7vw;
        padding-bottom: 13vw;
    }
    .about_page h3{
        font-size: 50px;
    }
    .about_page h3 .about_h3_sub{
        font-size: 14px;
    }
}
@media (max-width: 900px){
    .about_page .title_main{
        margin-top:0;
        padding-top: 96px;
    }
}
@media (max-width: 850px){
    .Profile{
        padding-top: 12vw;       
        padding-bottom: 12vw;
    }
    .about_page h3{
        margin-bottom: 12vw;
    }
    .Profile .Profile_area{
        flex-direction: row;
        margin-bottom: 7vw;
    }
    .Profile_warea.animate {
        padding:0% 7% 0% 8%;
    }
    .Profile .Profile_area p{
        font-size: 15px;
    }
    .Profile .Profile_area .Profile_content .Profile_name{
        font-size: 25px;
        margin-bottom: 5px;
    }
    .Profile .Profile_area .Profile_content .Profile_name span{
        font-size: 17px;
    }
    .Profile .Profile_area .Profile_content .Profile_name span::before{
        margin-right: 7px;
        margin-left: 16px;
        font-size: 20px;
    }
    .Profile .Profile_area .Profile_content hr{
        margin-top: 0;
        margin-bottom: 10px;
    }
    .Profile .Profile_area .Profile_content dl{
        margin-bottom: 10px;
    }
    .Profile .Profile_area .Profile_content dl dt{
        font-size: 14px;
    }
    .Profile .Profile_area .Profile_content dl dd{
        font-size: 14px;
    }
    .Profile .Profile_area .Profile_img{
        width: 80%;
        align-self: flex-start;
        padding-top: 50px;
    }
}

@media (max-width: 750px){
    .Profile{
        padding-top: 12vw;       
        padding-bottom: 16vw;
    }
    .Profile .Profile_area{
        flex-direction: column;
    }
    .Profile_warea.animate {
        max-width: none;
        width: 100%;
        margin-left: 0;
    }
    .Profile .Profile_area .Profile_img{
        padding-top: 0;
        margin-right: 0;
        margin-bottom: 10vw;
    }
}
@media (max-width: 700px){
    .about_page h3{
        font-size: 38px;
        line-height: 1.6;
    }
}
@media (max-width: 500px){
    .about_page h3{
        margin-bottom: 15vw;
    }
    .Profile .Profile_area .Profile_content .Profile_name{
        margin-left: 0;
    }
    .Profile_warea.animate {
        padding:0 1%;
    }
    .Profile .Profile_area .Profile_content hr{
        margin-left: 0;
        width: 100%;
    }
}
@media (max-width: 450px){
    .Profile_warea.animate {
        padding:0;
    }
    .Profile .Profile_area p{
        font-size: 14px;
    }
    .Profile .Profile_area .Profile_content dl dt{
        font-size: 13px;
    }
    .Profile .Profile_area .Profile_content dl dd{
        font-size: 13px;
    }
}

    /* about  profile */

    /* hobby  profile */

    .about_b{
        width: 100%;
        vertical-align: top;
        padding-bottom: 12vw;
        position: relative;
        z-index: 3;
    }
    /* .hobby_profile .hobby_area {
        padding-bottom: 25vw;
    } */
    .hobby_profile .hobby_area .hobby_title h3{
        margin-bottom: 13vw;
    }
    .hobby_content{
        position: relative;
        z-index: 3;
    }
    .hobby_p{
        max-width: 40%;
        padding: 8vw 5vw;
        background-color: #E2ECF4;
    }
    .hobby_p h4{
        font-size: 20px;
        margin-bottom: 2vw;
    }
    .hobby_p p{
        font-size: 16px;
    }
    .hobby1{
        position: relative;
    }
    .hobby1_item{
        position: absolute;
        top: -35px;
        right:0px;
        width: 50%;
    }
    .hobby1_img{
        position: relative;
        max-width: 50%;
        object-fit: cover;
        margin-top: -14vw;
        margin-left:auto;
        margin-bottom: 17vw;
    }
    .hobby1_img::before{
        content:" ";
        width: 20vw;
        height: 14vw;
        background-color: #E1F3EB;
        position: absolute;
        bottom: -100px;
        left: -150px;
        z-index: -1;
    }
    .hobby1_img img{
        width: 100%;
        border-radius: 20px;
    }
    .hobby2{
        position: relative;
    }
    .hobby2_item{
        position: absolute;
        top: -75px;
        right:-40px;
        width: 80%;
    }
    .hobby2.hobby_p{
        margin-left: auto;
    }
    .hobby2_img{
        position: relative;
        max-width: 50%;
        object-fit: cover;
        margin-top: -12vw;
        margin-bottom: 17vw;
    }
    .hobby2_img::before{
        content:" ";
        width: 20vw;
        height: 14vw;
        background-color: #E1F3EB;
        position: absolute;
        bottom: -100px;
        right: -150px;
        z-index: -1;
    }
    .hobby2_img img{
        width: 100%;
        border-radius: 20px;
    }
    .hobby3{
        position: relative;
    }
    .hobby3_item{
        position: absolute;
        top: -45px;
        right:-0px;
        width: 45%;
    }
    .hobby3_img{
        position: relative;
        max-width: 45%;
        object-fit: cover;
        margin-left:auto;
        margin-top: -12vw;
        margin-bottom: 25vw;
    }
    .hobby3_img img{
        width: 100%;
        border-radius: 20px;
    }
    .hobby3_img::before{
        content:" ";
        width: 20vw;
        height: 14vw;
        background-color: #E1F3EB;
        position: absolute;
        bottom: -100px;
        left: -150px;
        z-index: -1;
    }
    @media (max-width: 1000px){
        .hobby_p{
            max-width: 44%;
        }
    }
    @media (max-width: 850px){
        .about_b{
            padding-bottom: 16vw;
        }
        /* .hobby_profile .hobby_area {
            padding-bottom: 40vw;
        } */
        .hobby_profile .hobby_area .hobby_title h3{
            margin-bottom: 17vw;
        }
        .hobby_p{
            max-width: 43%;
        }
        .hobby_p h4{
            font-size: 19px;
        }
        .hobby_p p{
            font-size: 15px;
        }
        .hobby1_item{
            top: -20px;
            right: 12px;
            width: 48%;
        }
        .hobby1_img{
            margin-top: -16vw;
            margin-bottom: 21vw;
        }
        .hobby1_img::before{
            bottom: -60px;
            left: -80px;
        }
        .hobby2_item{
            top: -60px;
            right:-40px;
            width: 80%;
        }
        .hobby2_img{
            margin-top: -16vw;
            margin-bottom: 20vw;
        }
        .hobby2_img::before{
            bottom: -80px;
            right: -100px;
        }

        .hobby3_img{
            max-width: 48%;
            margin-top: -14vw;
            margin-bottom: 30vw;
        }
        .hobby3_img::before{
            bottom: -60px;
            left: -80px;
        }
    }
    @media (max-width: 750px){
        .about_b{
            padding-bottom: 16vw;
        }
    }
    @media (max-width: 650px){
        .hobby_p{
            max-width: 85%;
        }
        .hobby_p h4{
            font-size: 18px;
        }
        .hobby_p p{
            font-size: 14px;
        }
        .hobby1_item{
            position: absolute;
            top: -36px;
            right: 13px;
            width: 120px;
        }
        .hobby1_img{
            max-width: 80%;
            margin-top: 10vw;
            margin-bottom: 33vw;
        }
        .hobby1_img::before{
            width: 29vw;
            height: 23vw;
            bottom: -60px;
            left: -70px;
        }
        .hobby2_item{
            top: -43px;
            right: -13px;
            width: 220px;
        }
        .hobby2_img{
            max-width: 80%;
            margin-top: 10vw;
            margin-bottom: 33vw;
        }
        .hobby2_img::before{
            width: 29vw;
            height: 23vw;
            bottom: -60px;
            right :-70px;
        }
        .hobby3_item{
            top: -45px;
            right: 1px;
            width: 125px;
        }
        .hobby3_img{
            max-width: 80%;
            margin-top: 10vw;
            margin-bottom: 50vw;
        }
        .hobby3_img::before{
            width: 29vw;
            height: 23vw;
            bottom: -60px;
            left: -70px;
        }
    }
    @media (max-width: 390px){
        .hobby_p{
            max-width: 92%;
        }
        .hobby_p h4{
            font-size: 17px;
        }
        .hobby1_item{
            top: -38px;
            right: 13px;
            width: 110px;
        }
        .hobby1_img{
            max-width: 85%;
            margin-top: 12vw;
            margin-bottom: 30vw;
        }
        .hobby1_img::before{
            bottom: -50px;
            left: -45px;
        }
        .hobby2_item{
            top: -49px;
            right: -15px;
            width: 190px;
        }
        .hobby2_img{
            max-width: 85%;
            margin-top: 12vw;
            margin-bottom: 30vw;
        }
        .hobby2_img::before{
            bottom: -50px;
            right :-45px;
        }
        .hobby3_item{
            top: -38px;
            right: -4px;
            width: 105px;
        }
        .hobby3_img{
            max-width: 85%;
            margin-top: 12vw;
        }
        .hobby3_img::before{
            bottom: -50px;
            left: -45px;
        }
    }
    /* hobby  profile */


