@charset "UTF-8";
/* CSS Document */
html{
    font-size: 1vw;
}


body{
    width: 100%;
    background-color: rgba(255,255,255,1.00);
    font-family: "tgn-soft-round","tbudrgothic-std",sans-serif;
}


body a{
    text-decoration: none;
}

header{
    width: 100%;
    padding: 1.6vw 0 0vw 0;
    margin: 0vw;
    position: fixed;
    z-index: 99;
    
    background-color: rgba(255,255,255,1.00);
}


.menu {
    position: fixed;
    top: 0;
    left: -40vw;
    width: 24%;
    height: 100%;
    background-color: rgba(220,0,0,1.00);
    transition: all 0.3s ease-in-out;
    z-index: 10;
}


.menu ul {
    list-style: none;
    margin: 8vw 0 0 3vw;
    padding: 0;
}


.menu li {
    font-size: 1.3rem;
    padding: 20px;
    
}


.menu a{
    font-family: "tgn-soft-round", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: rgba(255,255,255,1.00);
}

.menu li:hover {
  background-color: rgba(135,0,0,1.00);
}


.open-menu {
  left: 0;
}




.menu-icon {
  display: block;
  width: 2.6vw;
  height: 3vw;
  margin: 0 0 0 2vw;
  position: relative;
  cursor: pointer;
  z-index: 10;
}


.menu-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: rgba(1,0,0,1.00);
  border-radius: 3px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}


.menu-icon span:nth-child(1) {
  top: 0px;
}


.menu-icon span:nth-child(2), .menu-icon span:nth-child(3) {
  top: 10px;
}


.menu-icon span:nth-child(4) {
  top: 20px;
}


.menu-icon.open span:nth-child(1) {
  top: 10px;
  width: 0%;
  left: 50%;
}


.menu-icon.open span:nth-child(2) {
  transform: rotate(45deg);
}


.menu-icon.open span:nth-child(3) {
  transform: rotate(-45deg);
}


.menu-icon.open span:nth-child(4) {
  top: 10px;
  width: 0%;
  left: 50%;
}



.header-logo{
    width: 13%;
    margin: -0.5vw 45vw 0 0;
    float: right;
}


.header-logo img{
    width: 100%;
}





main{
    width: 100%;
}


.title{
    display: inline-block;
    margin: 8vw 0 2vw 10vw;
    
    font-family: "zen-maru-gothic", sans-serif;
    font-style: normal;
    font-weight: 400;
}


.title h5{
    display: inline-block;
    padding: 0 1vw;
    border: solid 1px rgba(0,0,0,1.00);
    
    font-size: 1rem;
    line-height: 2vw;
}


.title h1{
    font-size: 3.5rem;
    line-height: 4vw;
    color: rgba(220,0,0,1.00);
}


.title h2{
    margin: 0 0 2vw 0;
    
    font-size: 1.8rem;
    line-height: 3vw;
    color: rgba(220,0,0,1.00);
}


.title p{
    font-size: 0.9rem;
}


.title-text{
    margin: 0 0 1.5vw 0;
    
}


.block-1{
    width: 80%;
    margin: 0 auto;
    text-align: center;
}


.block-1 p{
    text-align: start;
    border-top: solid 2px rgba(220,0,0,1.00);
    padding: 2vw 0 0 0;
    
    font-size: 0.9vw;
    line-height: 1.5vw;
}



.block-2{
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0 10vw;
    padding: 2vw 0 4vw 25vw;
    margin: 4vw 0 0 0;
    background-color:rgba(220,0,0,1.00);
    color: rgba(255,255,255,1.00);
}


.block-2 h3{
    font-size: 2rem;
    line-height: 3vw;
    margin: 0 0 3vw 0;
}


.content{
    width: 60%;
    border-left: solid 1px rgba(255,255,255,1.00);
    padding: 0 0 0 2vw;
}


.content h4{
    display: inline;
    background-color: rgba(255,255,255,1.00);
    border-radius: 2vw;
    padding: 0.2vw 2vw;
    
    font-size: 1.3rem;
    color: rgba(220,0,0,1.00);
}


.content h5{
    width: 80%;
    font-size: 1.1rem;
    margin: 0 0 2vw 3vw;
}


.content a{
    width: 45%;
    display: inline-flex;
    justify-content: space-around;
    border: solid 2px rgba(255,255,255,1.00);
    border-radius: 3vw;
    padding: 0.6vw 3vw;
    margin: 0 0 0 2vw;
    
    color: rgba(255,255,255,1.00);
}


.yazirushi-white{
    width: 8%;
}






footer{
    width: 100%;
    margin: 0vw 0 0 0;
    background-color: rgba(220,0,0,1.00 );
    color: rgba(255,255,255,1.00);
    text-align: center;
}


.sns-list{
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: space-around;
    
    text-align: center;
    margin: 0 auto;
    padding: 3vw 0;
    list-style: none;
}


.sns-list li{
    font-size: 1.3rem;
}


footer a{
    color: rgba(255,255,255,1.00);
}


footer img{
    width: 10%;
    margin: 0 0 2vw 0;
}


footer h5{
    font-size: 0.9rem;;
}


footer p{
    font-size: 1rem;
    margin: 2vw 0 0 0;
    padding: 0.4vw 0;
    background-color: rgba(69,69,69,1.00);
}