@charset "UTF-8";
* {
    padding: 0;
    margin: 0;
}
li {
    list-style-type: none;
}
a {
    text-decoration: none;
}
address {
    font-style: normal;
}
/* font */
@font-face {
    font-family: NotoSerifJP;
    src: url(../font/NotoSerifJP-VariableFont_wght.ttf);
}
@font-face {
    font-family: MPLUSRounded1c-Regular;
    src: url(../font/M_PLUS_Rounded_1c\ \(1\)/MPLUSRounded1c-Regular.ttf);
}
@font-face {
    font-family: KosugiMaru-Regular;
    src: url(../font/Kosugi_Maru/KosugiMaru-Regular.ttf);
}
@font-face {
    font-family: Noto_Serif_JP;
    src: url(../font/Noto_Serif_JP/NotoSerifJP-VariableFont_wght.ttf);
}

/* はんばーがー */
.NavMenu {
    display: none;
}

/*ナビメニューのスタイルを指定*/
/* nav.NavMenu{
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	background: #fff;
	color: #2F2A24;
	text-align: center;
	width: 100%;
	transform: translateX(-100%);
	transition: 0.6s;
    font-family: Noto_Serif_JP;

}

nav.NavMenu ul{
	background: #e7ffab;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

nav.NavMenu ul li{
	font-size: 1.1em;
	list-style-type: none;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #333;
}

nav.NavMenu ul li:last-child{
	padding-bottom: 0;
	border-bottom: none;
}

nav.NavMenu ul li a{
	display: block;
	color: #2F2A24;
	padding: 1em 0;
} */


/*トグルボタンが押されたときに付与するクラス*/
/* nav.NavMenu.active{
	transform: translateX(0%);
} */


/*トグルボタンのスタイルを指定*/
/* .Toggle {
	position: fixed;
	right: 13px;
	top: 12px;
	width: 42px;
	height: 42px;
	cursor: pointer;
	z-index: 3;
}

.Toggle span {
	display: block;
	position: absolute;
	width: 30px;
	border-bottom: solid 3px #2F2A24;
	transition: .35s;
	left: 6px;
}

.Toggle span:nth-child(1) {
	top: 9px;
}

.Toggle span:nth-child(2) {
	top: 18px;
}

.Toggle span:nth-child(3) {
	top: 27px;
} */

/* 最初のspanをマイナス45度に */
/* .Toggle.active span:nth-child(1) {
	top: 18px;
	left: 6px;
	transform: rotate(-45deg);
} */

/* 2番目と3番目のspanを45度に */
/* .Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
	top: 18px;
	transform: rotate(45deg);
} */


/* ヘッダー　ここから */
.header-parent {
    display: flex;
}
nav ul {
    display: flex;
}

h1 img {
    width: 20vw;
}
nav {
    margin-top: 0.5em;
        width: 30%;
    margin-left: auto;

}

nav li {

    margin-left: auto;
    margin-right: 1em;
}
nav ul li a{

    display: block;
    width: fit-content;
    font-family: Noto_Serif_JP;
    color: #2F2A24;
    font-size: 1.6vw;
    position: relative;
}
nav ul li a::before{
    display: block;
    content: "";
    width: 0%;
    height: 0.1em;
    background-color: rgba(0, 0, 0, 0);
    position: absolute;
    bottom: -0.15em;
    transition: .3s;
}
nav ul li a:hover::before{
    width: 100%;
    background-color: #2F2A24;
    transition: .3s;

}

/* ヘッダー　ここまで */

.first-view {
    display: flex;
}

/* ファーストビュー左 */
.first-left {
        position: relative;
}


.first-left img {
    width: 35vw;
    margin-top: 35vh;
    position: relative;
    z-index: 3;
    border-top-right-radius: 10px;
}
.oudo-box {
    background-color: #E3B647;
    width: 26vw;
    height: 20vh;
    position: absolute;
    top: 30vh;
    z-index: 0;
    
}

/* ファーストビュー真ん中 */

.first-center p{

    margin-left: 1em;
    margin-right: 1em;
        font-family: NotoSerifJP;
        font-weight: 600;
    font-size: 3vw;
    writing-mode: vertical-lr;
    color: #2F2A24;
    letter-spacing: 0.1em;
line-height: 1.8;
}
.first-center p{

    animation: wood 3s ease-in-out infinite;
}
@keyframes wood {
     0%{ transform: rotate(0deg); }
    50%{ transform: rotate(1deg); }
    100%{ transform: rotate(0deg); }
}




/* ファーストビュー右 */
.first-right{
        margin-left: auto;
        position: relative;
}
.first-right img {
    width: 52vw;
    margin-top: 8vh;
    position: relative;
    z-index: 2;
    border-top-left-radius: 10px;

}
.midori-box {
    width: 50vw;
    height: 10vw;
    background-color: #8FAF3D;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}


.first-right p {
    white-space: pre-wrap;
    font-size: 1.3vw;
    color: #2F2A24;
            font-family: Noto_Serif_JP;
    line-height: 1.6;
    margin-top: 0.2em;
    margin-bottom: 0.2em;
}

.first-right-content{
    display: flex;
    margin-bottom: 2em;
}

.first-right-content p:nth-of-type(1){
    background-color: #8FAF3D;
    border-radius: 15px;
    padding: 0.5vw 1vw 0.5vw 1vw;
    font-size: 1.6vw;
    border: 3px solid #9fa550;
    box-shadow: 3px 3px 3px #888;
        transition: .3s;

}
.first-right-content p:nth-of-type(1):hover{
        background-color: #c3db86;
        box-shadow: none;
        transition: .3s;

}

.first-right-content p:nth-of-type(1) a {
    color: #2F2A24;
    font-weight: 600;
}
.first-right-content p:nth-of-type(2){
    margin-left: 1em;
    background-color: #E3B647;
    border-radius: 15px;
    padding: 0.5vw 1vw 0.5vw 1vw;
    border: 3px solid #eab050;
    font-size: 1.6vw;
        box-shadow: 3px 3px 3px #888;
        transition: .3s;

}
.first-right-content p:nth-of-type(2):hover{
        background-color: #e9cd85;
        box-shadow: none;
        border: 3px solid #E3B647;
        transition: .3s;
}



.first-right-content p:nth-of-type(2) a {
        color: #2F2A24;
    font-weight: 600;
}



.first-right-content p:nth-of-type(3){
    writing-mode: vertical-lr;
    position: fixed;
    right: 0;
    bottom: 0;
    background-color: #6B4F2A;
    z-index: 999999;
    padding: 2vh 0 2vh 0;
    transition: .2s;

}
.first-right-content p:nth-of-type(3) a {
    color: #fff;
    font-size: 2vw;
}
.first-right-content p:nth-of-type(3):hover{
    background-color: #b39062;
    transition: .2s;
}



/* こだわり　section　ここから */
.kodawari {
    margin-top: 20vh;
}
.kodawari h2 {
    writing-mode: vertical-lr;
    font-size: 2vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
    margin-left: 1em;
    border-left: 3px solid #2F2A24;
    height: fit-content;
    margin-bottom: 7vh;

}



.circle-parent {
    display: flex;
    width: 100%;

}

figcaption span {
    font-size: 1.8vw;
}

.circle1 {
    margin-left: 10vw;
    position: relative;
}
.circle1 img{
    width: 400px;
    height: 400px;
    border-radius: 100%;

    transition: .3s;

}
.circle1 figcaption {

        font-size: 1.1vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
        animation: wood 3s ease-in-out infinite;
        white-space: pre-wrap;
        text-align: center;
}



.circle1 p {
    position: absolute;
    top: 225px;
    left: 40px;
    text-align: center;
    opacity: 0;
    font-family: Noto_Serif_JP;
    font-size: 1.5vw;
    font-weight: 700;
    color: #2F2A24;
    transition: .3s;

}
.circle1 span ,.circle2 span ,.circle3 span{
    text-align: center;
    display: block;
}
.circle1 :hover img{
    opacity: 0.3;
    transition: .3s;
}
.circle1:hover p{
    pointer-events: none;
    opacity: 1;
    transition: .3s;
}




/* circle２ */
.circle2 {
    margin-left: 10vw;
    position: relative;
}
.circle2 img{
    width: 500px;
    height: 500px;
    border-radius: 100%;
    transition: .3s;
    margin-top: 20vh;

}
.circle2 figcaption {
    position: absolute;
    top: 75px;
    right: 100px;
        font-size: 1.1vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
        animation: wood 3s ease-in-out infinite;
}

.circle2 p {
    position: absolute;
    top: 350px;
    right: 50px;
    text-align: center;
    opacity: 0;
    font-family: Noto_Serif_JP;
    font-size: 1.6vw;
    font-weight: 700;
    color: #2F2A24;
    transition: .3s;

}

.circle2 :hover img{
    opacity: 0.3;
    transition: .3s;
}
.circle2:hover p{
    pointer-events: none;
    opacity: 1;
    transition: .3s;
}




/* circle3 */
.circle3{
    position: relative;
    width: fit-content;
}


.circle3 img{
    width: 350px;
    height: 350px;
    border-radius: 100%;
    transition: .3s;
    margin-left: 20vw;
}
.circle3 figcaption {

        font-size: 1.1vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
        animation: wood 3s ease-in-out infinite;
        position: absolute;
        top: -8vh;
        left: 25vw;
}

.circle3 p {
    position: absolute;
    top: 20vh;
    left: 21vw;
    text-align: center;
    opacity: 0;
    font-family: Noto_Serif_JP;
    font-size: 1.3vw;
    font-weight: 700;
    color: #2F2A24;
    transition: .3s;

}

.circle3 :hover img{
    opacity: 0.3;
    transition: .3s;
}
.circle3:hover p{
    pointer-events: none;
    opacity: 1;
    transition: .3s;
}

/* 施工事例ここから */
.sekou {
    background-image: url(../images/sekou-back.gif);
}
.sekou h2 {
    writing-mode: vertical-lr;
    font-size: 2vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
    border-left: 3px solid #2F2A24;
    width: fit-content;
    margin-left: 1em;
    margin-bottom: 7vh;

}

.sekou-parent {
    display: flex;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
    background-color: rgba(255, 255, 255, 30%);
}
.sekou figcaption ,.sekou p {
    text-align: center;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
        font-size: 1.15vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
}

.sekou figcaption {
    font-size: 1.4vw;
    font-weight: 500;
}

.img-box {
        width: 28vw;
    box-shadow: 4px 4px 2px #2F2A24;
    overflow: hidden;
}
.sekou img {
width: 100%;
    vertical-align: bottom;
    transition: .3s;

}
.sekou img:hover {
    transform: scale(1.2);
    transition: .3s;

}

.sekou-left {
    margin-right: auto;
}

.sekou-center {
    margin-left: auto;
    margin-right: auto;
}
.sekou-right {
    margin-left: auto;
}

.sekou-btn {

    background-color: #6B4F2A;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5vw 2vw 0.7vw 2vw;
    border-radius: 10px;
    transition: .2s;
}
.sekou-btn a {
    color: #fff;
}
.sekou-btn:hover {
    background-color: #b39062;
    transition: .2s;
}



/* 流れ　ここから */

.nagare h2 {
    writing-mode: vertical-lr;
    font-size: 2vw;
    color: #2F2A24;
    font-family: Noto_Serif_JP;
    margin-left: 1em;
    border-left: 3px solid #2F2A24;
    height: fit-content;
    margin-top: 20vh;
    margin-bottom: 7vh;
}

.nagare-parent {
    display: flex;
        align-items: flex-start;
        margin-left: auto;
        margin-right: auto;
        width: 90%;
}
.nagare-parent div {
    width: 250px;
    height: 250px;
    border-radius: 20px;
    box-shadow: 3px 3px 3px #555;
}

.nagare-parent div:nth-of-type(even){
    background-color: #E3B647;
    margin-top: 30vh;
}
.nagare-parent div:nth-of-type(odd){
    background-color: #8FAF3D;
}



.nagare-parent p{
    display: block;
    font-size: 1.4vw;
    color: #fff;
    text-shadow: none;
text-align: center;
    font-family: Noto_Serif_JP;
    font-weight: 700;
}
.nagare-parent span{
    display: block;
    font-size: 3vw;
    font-family: Noto_Serif_JP;
    color: #E3B647;
    text-shadow: 2px 2px 2px #555;
    text-align: left;
    padding-left: 1em;
}
.nagare-parent div:nth-of-type(even) span{
    color: #8FAF3D;
    text-shadow: 2px 2px 2px #555;

}
.nagare-parent img {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 150px;
}





/* スライドショー */
.slide-container {
    margin-top: 15vh;
  width: 100%;
  display: flex;
  align-items: center;
  height: 100%;
  overflow: hidden;
flex-direction: row;
}
.slide-wrapper {
  display: flex;
flex-direction: row;
  animation: slide-flow 40s infinite linear 1s both;
}
.slide{
  width: 20vw;
  object-fit: cover;
  border: 2px solid #ddd;
}
@keyframes slide-flow {
     0% {transform: translateY(0);}
 100% {transform: translateX(-100%);}
}

/* footer ここから */
footer {
    margin-top: 30vh;
    font-family: Noto_Serif_JP;
    font-weight: 500;
}

footer img {
    display: block;
    width: 30vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3em;
}
.address-parent {
    display: flex;
    width: 40%;
    margin-left: auto;
    margin-right: auto;
}
.address-left address {
    font-family: Noto_Serif_JP;
    color: #2F2A24;
    font-size: 1.4vw;
    font-weight: 600;
}
.address-right {
    margin-left: auto;
    padding-left: 2em;
    border-left: 3px solid #8FAF3D;
    font-size: 1.3vw;
    line-height: 1.6;
}
.address-right a {
    color: #2F2A24;
}
.address-right a:hover{
    color: #6B4F2A;
}
 footer p{
    margin-top: 10vh;
    background-color: #8FAF3D;
    padding: 1vh 0 1vh 0;
    text-align: center;
    color: #fff;
}