@charset "UTF-8";

* {
    margin: 0;
    padding: 0;
}

/* ヘッダーここから */
/*  ナビここから */
header nav {
    width: 35%;
    padding: 2%;
    margin-left: auto;
    margin-right: auto;
}

header nav ul {
    display: flex;
    list-style-type: none;
}

header nav ul li {
    width: calc( 100% / 4 );
}

header nav ul li a {
    display: block;
    font-size: 1.5vw;
    text-align: center;
    text-decoration: none;
    color: #806C59;
    transition: 0.5s
}

header nav ul li a:hover {
    border-radius: 0.5vw;
    color: #806C59;
    transition: 0.5s;
}

.index {
    position: relative;
    font-size: 1vw;
}

.index:hover::before {
    width: 100%;
    transition: 0.5s;
}

.index::before {
    position: absolute;
    bottom: 0;
    display: block;
    content: "";
    width: 0%;
    height:  0.1vw;
    background-color: #664b4f;
    transition: 0.5s;
}

.about {
    position: relative;
    font-size: 1vw;
}

.about:hover::before {
    width: 100%;
    transition: 0.5s;
}

.about::before {
    position: absolute;
    bottom: 0;
    display: block;
    content: "";
    width: 0%;
    height:  0.1vw;
    background-color: #664b4f;
    transition: 0.5s;
}

.works {
    position: relative;
    font-size: 1vw;
}

.works:hover::before {
    width: 100%;
    transition: 0.5s;
}

.works::before {
    position: absolute;
    bottom: 0;
    display: block;
    content: "";
    width: 0%;
    height:  0.1vw;
    background-color: #664b4f;
    transition: 0.5s;
}

.contact {
    position: relative;
    font-size: 1vw;
}

.contact:hover::before {
    width: 100%;
    transition: 0.5s;
}

.contact::before {
    position: absolute;
    bottom: 0;
    display: block;
    content: "";
    width: 0%;
    height:  0.1vw;
    background-color: #664b4f;
    transition: 0.5s;
}
/* ナビここまで */

p.line0 {
   border-bottom: 2px solid #664b4f;
}

/*メインビジュアル*/
header .main-visual {
    height: 45vh;
    background-image: url(../images/contact.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
}

/* contact　お問い合わせ */
header h1 {
    padding-top:5%;
    font-weight: 500;
    font-size: 4.5vw;
    text-align: center;
    letter-spacing: 0.1em;
    color: #664b4f;
}

header p {
    font-size: 1.2vw;
    text-align: center;
    letter-spacing: 0.1em;
    color: #664b4f;  
}
/* ヘッダーここまで */

p.line1 {
   border-bottom: 2px solid #664b4f;
}

/* セクションここから */
.req {
    width: 40%;
    margin-bottom: 7%;
    font-size: 1vw;
}

form {
    width: 50%;
    margin-top: 7%;
    margin-bottom: 10%;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.3vw;
    color: #664b4f;
}

.name-flexbox {
    display: flex;
    margin-bottom: 5%;
}

.furigana-flexbox {
    display: flex;
    margin-bottom: 5%;
}

.mail-flexbox {
    display: flex;
    margin-bottom: 5%;
}

.text-flexbox {
    display: flex;
    margin-bottom: 5%;
}

.name-list,.furigana-list,.mail-list,
.text-list {
    width: 40%;
}

.name-field input {
    width: 30em;
    padding: 0.5em;
    color: #664b4f;
}

.furigana-field input {
    width: 30em;
    padding: 0.5em;
    color: #664b4f;
}

.mail-field input {
    width: 30em;
    padding: 0.5em;
    color: #664b4f;
}

textarea {
    width: 30em;
    height: 10em;
    padding: 0.5em;
    color: #664b4f;
}

.button {
    width: fit-content;
    margin-top: 7%;
    margin-left: auto;
    margin-right: auto;
}

.button  input {    
    display: block;
    width: 10em;
    padding: 2% 8%;
    cursor: pointer;
    color: #fff6ee;
    background-color: #664b4f;
    border-radius: 0.5vw;
}

.button  input:hover {
    opacity: 0.6;
}

p.line3 {
   border-bottom: 2px solid #664b4f;
}

/* Topへ戻る */
html {
    scroll-behavior: smooth;
}

.return {
    position: fixed;
    text-align: center;    
    line-height: 4;
    right: 50px;
    bottom: 50px;
    width: 5vw;
    height: 5vw;
    color: #664b4f;
    background-color: #fff6ee;
    border: 2px solid #dc9f95;
    border-radius: 5vw;
    white-space: pre-wrap;
}

.return a {
    color: #806C59;
    text-decoration: none;
}

/* フッターここから */
footer {
    padding-top: 1%;
    padding-right: 6%;
    padding-bottom: 1%;
    padding-left: 6%;
    background-image: url(../images/free2.jpg);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    color: #664b4f;
}

.footer-flexbox {
    width: 35%;
    padding: 2%;
    margin-left: auto;
    margin-right: auto;
}

footer  ul {
    display: flex;
    list-style-type: none;
}

footer ul li {
    width: calc( 100% / 4 );
}

footer ul li a {
    display: block;
    font-size: 1.5vw;
    text-align: center;
    text-decoration: none;
    color: #806C59;
    transition: 0.5s
}

footer ul li a:hover {
    border-radius: 0.5vw;
    color: #664b4f;
    transition: 0.5s;
}

footer span {
    margin-right: 1%;
}

footer p {
    margin-top: 2%;
    text-align: center;
    font-size: 1.5vw;
}
/* フッターここまで */