@charset "UTF-8";
/* ----------------------------------------------- 
カタログプレゼント
 ----------------------------------------------- */
.catalog-link-wrap {
width: 280px;
position: fixed;
right: 15px;
bottom: 15px;
z-index: 90;
opacity: 0;
}
.catalog-link-wrap.active {
opacity: 1;
transition: .2s;
}
.catalog-link-wrap.absolute {
position: absolute;
}
.catalog-link-wrap a {
display: block;
position: relative;
background: #fff;
border-radius: 15px;
padding: 15px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,16%);
}
.catalog-link-wrap a .img {
position: absolute;
right: 0px;
top: -30px;
max-width: 100px;
}
.catalog-link-wrap a .img img {
width: 100%;
height: auto;
}
.catalog-link-wrap a:hover {
transform: translateY(-5px);
transition: .2s;
opacity: 1.0;
}
.catalog-link-wrap a .txt1,
.catalog-link-wrap a .txt2 {
display: block;
font-weight: 600;
text-align: center;
font-size: 18px;
line-height: 1.4;
}
.catalog-link-wrap a .txt1 {
color: #80B53F;
}

@media only screen and (max-width: 640px){
.catalog-link-wrap {
right: 10px;
bottom: 20px;
}
}
/* ----------------------------------------------- 
menu
 ----------------------------------------------- */
.menu-trigger, .menu-trigger span {
transition: all .4s;
cursor: pointer;
}
.menu-trigger {
position: fixed;
top: 20px;
right: 15px;
width: 48px;
height: 48px;
z-index: 100;
background: #402000;
border: 1px solid #F7F6F2;
border-radius: 50%;
}
.menu-trigger span.bar {
position: absolute;
background: #F7F6F2;
width: 18px;
height: 2px;
left: 0;
right: 0;
margin: auto;
}
.menu-trigger span.bar:nth-of-type(1) {
top: 16px;
}
.menu-trigger span.bar:nth-of-type(2) {
top: 0;
bottom: 0;
}
.menu-trigger span.bar:nth-of-type(3) {
bottom: 16px;
}
.menu-trigger.active span.bar:nth-of-type(1) {
-webkit-transform: translateY(6px) rotate(-45deg);
transform: translateY(6px) rotate(-45deg);
}
.menu-trigger.active span.bar:nth-of-type(2) {
opacity: 0;
}
.menu-trigger.active span.bar:nth-of-type(3) {
-webkit-transform: translateY(-6px) rotate(45deg);
transform: translateY(-6px) rotate(45deg);
}
nav.open-nav {
display: none;
position: fixed;
top: 0;
z-index: 99;
background: #82715D;
width: 100%;
height: 100%;
padding: 40px 15px 20px;
}
nav.open-nav .list {
margin: 0 auto;
height: 100%;
overflow: auto;
-webkit-overflow-scrolling: touch;
font-size: 13px;
}
nav.open-nav label {
display: block;
margin: 5px 0 0 0;
padding :15px 20px;
line-height: 1;
cursor :pointer;
}
nav.open-nav input {
display: none;
}
nav.open-nav .list .nav_accordion a {
display: block;
color: #F7F6F2;
letter-spacing: 0.05em;
padding: 15px 20px;
border-bottom: 1px solid #82715D;
}
.open-nav .accordionbox ul {
background: #402000;
}
nav.open-nav .accordionbox ul li {
max-height: 0;
overflow-y: hidden;
transition: all 0.5s;
}
#menu_area:checked ~ #links_area li,
#menu_builders_themes:checked ~ #links_builders_themes li,
#menu_works:checked ~ #links_works li,
#menu_price:checked ~ #links_price li {
max-height: 80px;
opacity: 1;
}
.accordionbox .menu_area,
.accordionbox .menu_builders_name,
.accordionbox .menu_builders_themes,
.accordionbox .menu_works,
.accordionbox .menu_price,
.accordionbox .menu_home {
font-weight: bold;
background: #F7F6F2;
color: #402000;
position: relative;
}
.menu_area::before,
.menu_builders_themes::before,
.menu_works::before,
.menu_price::before {
content: "";
position: absolute;
right: 20px;
top: 20px;
width: 12px;
height: 2px;
background: #402000;
}
.menu_area::after,
.menu_builders_themes::after,
.menu_works::after,
.menu_price::after {
content: "";
position: absolute;
right: 25px;
top: 15px;
width: 2px;
height: 12px;
background: #402000;
transform: rotate(0deg);
transition: .2s;
}
#menu_area:checked + .menu_area::after,
#menu_builders_themes:checked + .menu_builders_themes::after,
#menu_works:checked + .menu_works::after,
#menu_price:checked + .menu_price::after {
transform: rotate(90deg);
}
/* ----------------------------------------------- 
footer
 ----------------------------------------------- */
footer {
margin: 0 auto;
}
footer::before {
content: none;
}
#newfooter {
width: 100%;
margin: 50px 0 0 0;
}
#newfooter #fp {
width: 100%;
background: #80B53F;
padding: 40px 15px;
}
#newfooter #fp .logoImg a {
display: block;
text-align: center;
max-width: 150px;
margin: auto;
}
#newfooter #footerBtm {
background: #7AB035;
color: #fff;
padding: 30px 15px 20px;
}
#newfooter #footerBtm a {
color: #fff;
}
#newfooter #footerBtm #fpky {
max-width: 1000px;
padding: 0px 0px 30px;
margin: auto;
border-bottom: 1px solid #fff;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-end;
}
#newfooter #footerBtm #fpky .name {
font-size: 28px;
font-weight: bold;
}
#newfooter #footerBtm #fpky .tel {
text-align: right;
}
#newfooter #footerBtm #fpky .tel .guide {
font-weight: bold;
}
#newfooter #footerBtm #fpky .tel a {
font-weight: bold;
font-size: 42px;
line-height: 1.0;
}
#newfooter #footerBtm #fpky .tel .times {
font-size: 10px;
}
#newfooter #footerBtm #tatechao {
max-width: 1000px;
padding: 20px 0px;
margin: auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-end;
gap: 10px;
}
#newfooter #footerBtm #tatechao .logo {
width: 120px;
}
#newfooter #footerBtm #tatechao p,
#newfooter #footerBtm #tatechao li {
font-size: 10px;
}
#newfooter #footerBtm #tatechao .sns ul {
display: flex;
gap: 15px;
}
#newfooter #footerBtm #tatechao .sns ul li {
width: 32px;
}
#newfooter #footerBtm #tatechao .sns ul li a {
display: block;
}
#newfooter #footerBtm #tatechao .company ul {
display: flex;
gap: 20px;
justify-content: flex-end;
}
#newfooter #footerBtm #tatechao .company ul li a {
text-decoration: underline;
}
#newfooter #footerBtm #tatechao .company ul li a:hover {
text-decoration: none;
}
@media only screen and (max-width: 640px){
#newfooter #footerBtm #fpky {
justify-content: center;
gap: 20px;
text-align: center;
flex-direction: column;
align-items: center;
}
#newfooter #footerBtm #fpky .name {
font-size: 22px;
}
#newfooter #footerBtm #fpky .tel {
text-align: center;
}
#newfooter #footerBtm #fpky .tel a {
font-size: 40px;
}
#newfooter #footerBtm #tatechao {
justify-content: center;
text-align: center;
flex-direction: column;
align-items: center;
}
#newfooter #footerBtm #tatechao .sns {
margin: 10px auto 20px;
}
}
/* ---------------------------------------- */
#newtop {
width: 100%;
background: #F7F6F2;
}
/* 見出し 共通 ------------------------------ */
#newtop .headingBlockA01 h2 {
display: flex;
gap: 15px;
align-items: flex-end;
color: #402000;
font-size: 28px;
font-weight: 600;
letter-spacing: 0.1em;
}
#newtop .headingBlockA01 h2 .en {
color: #81705B;
font-size: 14px;
letter-spacing: 0em;
}
#newtop .headingBlockA02 h2 {
display: flex;
gap: 15px;
align-items: flex-end;
color: #fff;
font-size: 28px;
font-weight: 600;
letter-spacing: 0.1em;
}
#newtop .headingBlockA02 h2 .en {
font-size: 14px;
letter-spacing: 0em;
}
#newtop .headingBlockB01 {
text-align: center;
}
#newtop .headingBlockB01 .icon {
width: 60px;
margin:0 auto 15px;
}
#newtop .headingBlockB01 h3 {
font-size: 24px;
color: #80B53F;
}
#newtop .headingBlockB02 {
display: flex;
align-items: center;
gap: 25px;
padding: 0 5px;
max-width: 1180px;
margin:0 auto;
}
#newtop .headingBlockB02 .icon {
width: 60px;
}
#newtop .headingBlockB02 h3 {
font-size: 24px;
color: #fff;
font-weight: 500;
}
#newtop .headingBlockB03 {
display: flex;
align-items: center;
gap: 25px;
padding: 0 5px;
max-width: 1180px;
margin:0 auto;
}
#newtop .headingBlockB03 .icon {
width: 60px;
}
#newtop .headingBlockB03 h3 {
font-size: 24px;
color: #402000;
font-weight: 500;
}
@media only screen and (max-width: 640px) {
#newtop .headingBlockA01 h2,
#newtop .headingBlockA02 h2 {
font-size: 24px;
}
#newtop .headingBlockB01 h3,
#newtop .headingBlockB02 h3,
#newtop .headingBlockB03 h3 {
font-size: 20px;
}
}


/* MV ------------------------------ */
#newtop #mv {
padding: 0px 50px 50px;
height: calc(100vh - 80px);
width: 100%;
margin: auto;
}
#newtop #mv #mainVisual {
background: url(../img/mainVisual.jpg) center center no-repeat;
background-size: cover;
width: 100%;
height: 100%;
position: relative;
}
#newtop #mv #mainVisual #mainCatch {
position: absolute;
bottom: 35px;
left: 30px;
}
#newtop #mv #mainVisual #mainCatch h2 {
font-size: 36px;
font-weight: bold;
margin: 0 0 10px 0;
color: #fff;
letter-spacing: 0.1em;
}
#newtop #mv #mainVisual #mainCatch h3 {
font-size: 16px;
color: #fff;
letter-spacing: 0.1em;
}

@media only screen and (max-width: 640px) {
#newtop #mv {
padding: 0px 20px 100px;
height: calc(100vh - 120px);
}
#newtop #mv #mainVisual #mainCatch {
bottom: 30px;
left: 20px;
}
#newtop #mv #mainVisual #mainCatch h2 {
font-size: 32px;
}
#newtop #mv #mainVisual #mainCatch h3 {
font-size: 12px;
}
#newtop #mv .catchcopy {
text-align: right;
margin: 10px 5px 0 0;
}
#newtop #mv .catchcopy p {
font-size: 10px;
}
#newtop #mv .catchcopy h6 {
font-size: 14px;
font-weight: 500;
}
}
@media only screen and (max-width: 414px) {
#newtop #mv #mainVisual #mainCatch {
left: 10px;
}
#newtop #mv #mainVisual #mainCatch h2 {
font-size: 28px;
}
}

/* event ------------------------------ */
#newtop #topEvent {
margin: 30px auto 100px;
padding: 0 20px;
max-width: 1040px;
}
#newtop #topEvent .cpnBnr {
margin: 0 auto 50px;
text-align: center;
}

#newtop #topEvent .headingBlockA01 {
margin: 0 0 30px 0;
}
#newtop #topEvent .topEventList .list {
display: flex;
align-items: center;
gap:5px 15px;
background: #fff;
padding: 15px 20px;
margin: 10px auto;
}
#newtop #topEvent .topEventList .list dt {
color:#ccc;
padding: 0 0 0 30px;
background: url(../img/icon_flug.svg) left center no-repeat;
background-size: 14px;
font-size: 12px;
}
#newtop #topEvent .topEventList .list dd a {
color: #81705B;
text-decoration: underline;
}
#newtop #topEvent .topEventList .list dd a:hover {
text-decoration: none;
}
#newtop #topEvent .listBtn a {
margin: 20px 0 0 auto;
display: block;
width: 100%;
max-width: 160px;
color: #81705B;
background: #fff;
border-radius: 30px;
padding: 3px 10px;
text-align: center;
}
#newtop #topEvent .listBtn a:hover {
color: #fff;
background: #81705B;
transition: .2s;
}

@media only screen and (max-width: 640px) {
#newtop #topEvent .topEventList .list {
flex-wrap: wrap;
}
#newtop #topEvent .topEventList .list dt {
width: 100%;
}
}

/* about ------------------------------ */
#newtop #topAbout {
background: #EFF7E9;
}
#newtop #topAbout #topAboutHdr {
background: url(../img/bg_001.jpg) top center no-repeat;
background-size: cover;
padding: 60px 20px 40px;
}
#newtop #topAbout #topAboutHdr #topAboutHdrInner {
background: rgba(255, 255, 255, 0.8);
text-align: center;
max-width: 680px;
margin: auto;
padding: 50px 40px 40px;
}
#newtop #topAbout #topAboutHdr #topAboutHdrInner h2 {
width: 180px;
margin: 0 auto 30px;
}
#newtop #topAbout #topAboutHdr #topAboutHdrInner p {
color: #81705B;
line-height: 2.0;
}
#newtop #topAbout #topAboutWrap {
padding: 40px 20px 100px;
}
#newtop #topAbout .fpWrap {
max-width: 1000px;
margin: 40px auto 50px;
display: flex;
justify-content: space-between;
}
#newtop #topAbout .fpWrap .fpBlock {
width: calc((100% - 60px) / 5);
background: #fff;
position: relative;
}
#newtop #topAbout .fpWrap .fpBlock .number {
color: #fff;
font-weight: 500;
line-height: 0;
font-size: 50px;
position: absolute;
left: -10px;
top: 5px;
z-index: 1;
text-shadow:1px 1px 0px #402000,-1px 1px 0px #402000,1px -1px 0px #402000,-1px -1px 0px #402000;
}
#newtop #topAbout .fpWrap .fpBlock a {
display: block;
}
#newtop #topAbout .fpWrap .fpBlock figure img {
aspect-ratio: 1/1;
object-fit: cover;
}
#newtop #topAbout .fpWrap .fpBlock:hover figure img {
opacity: 0.6;
transition: .2s;
}
#newtop #topAbout .fpWrap .fpBlock figcaption {
font-weight: bold;
color: #402000;
text-align: center;
padding: 20px 10px;
line-height: 1.5;
}
#newtop #topAbout .fpWrap .fpBlock:hover figcaption {
color: #81705B;
}
#newtop #topAbout .topBnr01 {
max-width: 930px;
margin:30px auto 20px;
}
#newtop #topAbout .topBnr02 {
max-width: 420px;
margin:0 auto 0;
}
@media only screen and (max-width: 640px) {
#newtop #topAbout #topAboutHdr {
padding: 30px 20px 30px;
}
#newtop #topAbout #topAboutHdr #topAboutHdrInner {
width: 100%;
padding: 30px 15px;
}
#newtop #topAbout #topAboutHdr #topAboutHdrInner h2 {
margin: 0 auto 15px;
}
#newtop #topAbout .fpWrap {
flex-wrap: wrap;
}
#newtop #topAbout .fpWrap .fpBlock {
width: 100%;
margin: 0 auto 15px;
}
#newtop #topAbout .fpWrap .fpBlock .number {
font-size: 25px;
}
#newtop #topAbout .fpWrap .fpBlock figure {
display: flex;
align-items: center;
}
#newtop #topAbout .fpWrap .fpBlock figure img {
max-width: 30%;
}
#newtop #topAbout .fpWrap .fpBlock figcaption {
padding: 10px 20px;
}
}
/* section ------------------------------ */
#newtop #topSearch {
background:#755D54;
}
#newtop #topSearch #topSearchHdr {
background: url(../img/bg_002.jpg) top right no-repeat;
background-size: cover;
padding: 150px 20px;
}
#newtop #topSearch #topSearchHdr #topSearchHdrInner {
max-width: 1040px;
margin: auto;
}
#newtop #topSearch #topSearchWrap {
padding: 40px 20px 100px;
}
#newtop #topSearch #areaSearch .areaSearchList {
display: flex;
flex-wrap: wrap;
gap:10px 15px;
max-width: 1000px;
margin:30px auto 50px;
}
#newtop #topSearch #areaSearch .areaSearchList li {
width: calc((100% - 90px) / 7);
}
#newtop #topSearch #areaSearch .areaSearchList li a {
display: block;
font-size: 16px;
color: #fff;
text-align: center;
padding: 10px;
border-top: 1px dashed #fff;
border-bottom: 1px dashed #fff;
position: relative;
}
#newtop #topSearch #areaSearch .areaSearchList li a:hover {
border-top: 1px solid #fff;
border-bottom: 1px solid #fff;
}
#newtop #topSearch #areaSearch .areaSearchList li a::after {
position: absolute;
content: "";
display: block;
width: 16px;
height: 16px;
top: 50%;
transform: translateY(-50%);
right: 5px;
background: url(../img/icon_arW.svg) top center no-repeat;
background-size: cover;
}
#newtop #topSearch #areaSearch .areaSearchList li a:hover::after {
right: 2px;
transition: .2s ease-out;
}
#newtop #topSearch #featureSearch .featureWrap {
display: flex;
flex-wrap: wrap;
gap:10px 20px;
max-width: 1000px;
margin:20px auto 0;
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock {
width: calc((100% - 40px) / 3);
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock a {
display: flex;
align-items: center;
background: #F7F6F2;
position: relative;
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock a img {
aspect-ratio: 3/2;
object-fit: cover;
max-width: 180px;
width: 60%;
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock a p {
padding:10px 15px;
line-height: 1.5;
font-weight: 500;
color: #402000;
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock a:hover p {
color: #81705B;
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock a::after {
position: absolute;
content: "";
display: block;
width: 16px;
height: 16px;
bottom: 5px;
right: 5px;
background: url(../img/icon_arB.svg) top center no-repeat;
background-size: cover;
}
@media only screen and (max-width: 768px) {
#newtop #topSearch #areaSearch .areaSearchList li {
width: calc((100% - 45px) / 4);
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock {
width: calc((100% - 20px) / 2);
}
}
@media only screen and (max-width: 640px) {
#newtop #topSearch #topSearchHdr {
padding: 80px 20px;
}
#newtop #topSearch #areaSearch .areaSearchList li {
width: calc((100% - 15px) / 2);
}
#newtop #topSearch #featureSearch .featureWrap .featureBlock {
width: 100%;
}
}


/* section ------------------------------ */
#newtop #topWorks #topWorksHdr {
background: url(../img/bg_003.jpg) center left no-repeat;
background-size: cover;
padding: 150px 20px;
}
#newtop #topWorks #topWorksHdr #topWorksHdrInner {
max-width: 1040px;
margin: auto;
}
#newtop #topWorks .topWorksWrap {
padding: 40px 20px 100px;
}
#newtop #topWorks #topPrice .topPriceList {
display: flex;
flex-wrap: wrap;
gap: 15px 20px;
max-width: 1000px;
margin:30px auto 50px;
}
#newtop #topWorks #topPrice .topPriceList li {
width: calc((100% - 60px) / 4);
}
#newtop #topWorks #topPrice .topPriceList li a {
display: block;
font-weight: 600;
font-size: 24px;
color: #402000;
text-align: center;
padding: 10px;
border-top: 1px dashed #402000;
border-bottom: 1px dashed #402000;
}
#newtop #topWorks #topPrice .topPriceList li a:hover {
border-top: 1px solid #402000;
border-bottom: 1px solid #402000;
}
#newtop #topWorks #topPrice .topPriceList li a span {
font-size: 16px;
font-weight: 600;
}
#newtop #topWorks #topPicky .topPickyWrap {
display: flex;
flex-wrap: wrap;
max-width: 1000px;
margin: 20px auto 0;
gap:15px 20px;
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock {
width: calc((100% - 40px) / 3);
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock:hover img {
opacity: 0.6;
transition: .2s;
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock a {
display: block;
position: relative;
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock p {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 5px 15px;
background: rgba(255, 255, 255, 0.8);
font-weight: 500;
color: #402000;
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock p::after {
position: absolute;
content: "";
display: block;
width: 16px;
height: 16px;
top: 50%;
transform: translateY(-50%);
right: 5px;
background: url(../img/icon_arB.svg) top center no-repeat;
background-size: cover;
}
@media only screen and (max-width: 768px) {
#newtop #topWorks #topPrice .topPriceList li {
width: calc((100% - 20px) / 2);
}
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock {
width: calc((100% - 20px) / 2);
}
}
@media only screen and (max-width: 640px) {
#newtop #topWorks #topWorksHdr {
padding: 80px 20px;
}
#newtop #topWorks #topPrice .topPriceList {
gap: 15px;
}
#newtop #topWorks #topPrice .topPriceList li {
width: calc((100% - 15px) / 2);
}
#newtop #topWorks #topPrice .topPriceList li a {
font-size: 16px;
}
}
@media only screen and (max-width: 414px) {
#newtop #topWorks #topPicky .topPickyWrap .topPickyBlock {
width: 100%;
}
}
/* section ------------------------------ */
#header {
min-height: 80px;
width: 100%;
border-top: 2px solid #82715D;
margin: 0;
}
#wrapper #header {
margin: 0 auto 50px;
border-top: none;
}
#header #headerAreaInner {
position: relative;
width: 100%;
padding:0 20px 0 15px;
margin: 0 auto;
z-index: 1;
}
#header #headerAreaInner #logo {
width: 120px;
height: 120px;
position: absolute;
left: 15px;
top: 0;
background: #82715D;
padding: 22px 28px;
}
#header #headerAreaInner .catchcopy {
text-align: right;
color: #82715D;
padding: 10px 0 20px 0;
}
#header #headerAreaInner .catchcopy p {
font-size: 10px;
}
#header #headerAreaInner .catchcopy h6 {
font-weight: 500;
font-size: 14px;
}
@media only screen and (max-width: 640px) {
#header {
height: 95px;
position: relative;
}
#header #headerAreaInner #logo {
width: 80px;
height: 80px;
left: 10px;
padding:15px 18px;
}
#header #headerAreaInner .catchcopy {
display: none;
}
}
#area-seek {
margin: 30px auto;
}
#area-seek h2 {
display: none;
}