@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap');




html {
     font-family: "Bodoni Moda", serif;
    font-style: normal;
/*  font-family: "DotGothic16", serif;*/
    background: transparent;
    font-size: 62.5%;
    color:  #484d5a;
}


body{
	margin: 25vh 0 0 0;
    line-height: 3rem;
    letter-spacing: 0.08rem;
    text-align: left;
    background-image: url('../img/bg.jpg');
    background-size: 500px;
    background-repeat: repeat;
   
}

main{
    margin: 5rem 0;
    background-color: #ffffff;
    padding: 7rem 15rem;
    line-height: 2rem;
    font-size: 1.2rem;
}

a {  
    color: #64B73B;
    text-decoration: none;
    display: inline-block;
    transition: color 0.5s;
    transition: transform 0.5s;

}

a:hover {
    transform: translateY(-5px);
    color: #ECA03B;
}

.pagewarp{
    margin: 2rem;
}

.log{
    display: flex;
    align-items: center;
    width: auto;
    margin-left: 65vw;  /* 右寄せ */
    padding: 2rem;
    background: #fff;           /* 個別背景色 */
    border-radius: 35px 0 0 35px; /* 左だけ丸 */
    line-height: 2rem;　/*行間*/

}    

.up{
    display: flex;
    align-items: flex-end;
    margin-left: 1rem;
    font-size: 1.3rem;

}
    

.newbox{
    font-size: 1.5rem;
}

.logbox {
    padding: 0px 1.5rem;
    font-size: 1.3rem;
    line-height: 2rem;
}

.menu {
    display: none;
}

#top{
    position: absolute;
    top: 0px;
}


h1{
  font-size: 3rem;
  padding: 1rem 0;
}


h2{  
    font-size: 2rem;
    color: #333333;
    margin-bottom: 1em;
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

h2:before {
    left: 0;
}


h2::before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #333333;
}



h3{

    display: inline-block;
    background: #efeded;
    padding: 0.5rem;
    margin: 0 0 1rem 0.1rem;
}

h4{
    writing-mode: vertical-rl; /* 縦書き（右から左） */
    -webkit-writing-mode: vertical-rl; /* Chrome, Safari用 */
    -ms-writing-mode: tb-rl; /* IE用 */   
    border-right: solid 0.08rem;
}



hr{
    display: none;
}


.contents1{
    padding-bottom: 5rem;
   /* display: flex;
    background-color: #fff;
    justify-content: space-between;*/
}

.titel{
        display: inline;
        align-items: center;

}

.long{
    display: flex;
    justify-content: space-evenly;
    padding: 0 0 3rem 0;
    text-align: center;
}


section{
    margin-bottom: 10rem;
}




.box ul {
    margin: 0 0 2rem;
}



li {
    display: inline-block;
}





input[type="text"],input[type="radio"],input[type="button"],input[type="reset"],input[type="submit"],select,textarea{
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-shadow: none;
appearance: none;
box-shadow: none;
background: transparent;
border-radius: 0;
color: #333;
border:1px #333  solid;
height:2.0em;
width: 6em;
/*margin: 0 1em 0 0;*/
padding: 2px 5px 1px;
line-height: normal;
}

input:focus, textarea:focus{
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-shadow: none;
appearance: none;
box-shadow: none;
background: #FFF;
border-radius: 0;
}

button{
-webkit-appearance: none;
-moz-appearance: none;
-webkit-box-shadow: none;
appearance: none;
box-shadow: none;
border-radius: 0;
height: 2.4em;
width: auto;
padding: 2px 5px 1px;
line-height: normal;
border:1px #333  solid;
background-color: transparent;
color: #333;
cursor: pointer;
transition: 0.2s;
padding: 0px 10px;
line-height: normal;
}

/* ◎ボタンのホバー　★background-color: #◯;部分を変更 */
button:hover{

background-color: #64B73B;;
border:1px #64B73B solid;
color: #fff;
}



@media screen and (max-width: 800px) {


body{
    margin: 13vh 0 0 0;
    line-height: 3rem;
    letter-spacing: 0.05em;
    text-align: left;
    background-image: url('../img/bg.jpg');
    background-size: 320px;
    background-repeat: repeat;

}

main{
    margin: 5vh 0;
    padding: 1rem 2rem 2rem 6rem;
}
/*
.logbox {
    font-size: 1rem;
}*/

.log {
    display: flex;
    margin-left: 25vw;
    padding: 1.5vh 2.8vh;
    background: #fff;
    border-radius: 55px 0 0 55px;
    line-height: 1.2rem;
}

.logbox {
    padding: 0px 0 0 2.5rem;
    font-size: 1.3rem;
    line-height: 2rem;
}

.contents1 {
    padding-bottom: 0vh;
}

.pagewarp{
    margin: 0;

}


.up{
    display: flex;
    align-items: flex-end;
    margin-left: 1rem;
    font-size: 1.3rem;

}
   
hr{
    display: block;
    margin: 2rem 0 0 0;
    border-top: none;
}

h1{
  font-size: 2.5rem;
/*  padding: 0 0 1rem;*/
}


h2{  
    font-size: 2rem;
    color: #333333;
    margin-bottom: 0.5em;
    position: relative;
    display: inline-block;
    padding-left: 30px;
}

h2:before {
    left: 0;
}


h2::before {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #333333;
}



h4{
    writing-mode: vertical-rl; /* 縦書き（右から左） */
    -webkit-writing-mode: vertical-rl; /* Chrome, Safari用 */
    -ms-writing-mode: tb-rl; /* IE用 */   
    border-right: solid 0.08rem;
}



.long{
    display: block;
    text-align: left;
}

section{
    margin-bottom: 100vh;
}

.menu{
    display: inline-block;
    position: fixed;
    top: 0;
    left: 0;
    width: 12%;
}

.menu ul{
     display: flex;
    transition: .3s;
    flex-wrap: wrap;
    margin: 50vh 0 0 0;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.menu li{
    writing-mode: vertical-rl;
    justify-content: center;
    padding: 0;
    margin: 0 0 2rem 0;
    text-align: center;
}




}
