@import url("default.css");
@font-face { font-family: "APompadourBoldSample"; src: url("fonts/03_APompadourBoldSample.woff") format("woff"); }
/* @import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400&display=swap');

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#000000;}
a:visited{text-decoration:none; color:#000000;}
a:hover{text-decoration:none; color:#000000;}
a:active{text-decoration:none; color:#000000;}

.grecaptcha-badge { opacity: 0; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1130px; }
.container-fluid .container-fluid { padding-left: 0; padding-right: 0; }

body { padding-top: 110px!important; min-width: 1200px; font-size: 15px; line-height: 1.8; color: #000000; background-color: #fff; font-family: YakuHanJP,"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 500; letter-spacing: .15em; }
header { position: fixed; top: 0; left: 0; width: 100%; min-width: 1200px; display: flex; background-color: #fff; align-items: center; justify-content: space-between; padding: 20px 50px; height: 110px; z-index: 900; }
header .wrapper { display: flex; align-items: center; }
header .mainnav { display: flex; align-items: center; }
header .mainnav li { padding: 0 20px; position: relative; font-weight: bold; line-height: 1; }
header .mainnav li:before { content: ""; background-color: #d2d2d2; height: 100%; width: 1px; position: absolute; right: 0; top: 0; }
header .mainnav li:last-child:before { display: none; }
header .mainnav li a { transition: .3s; position: relative; display: block; }
header .mainnav li a:before { content: ""; left: 0; right: 0; width: 5px; height: 0; background: #f2ef59; position: absolute; transition: .6s; bottom: calc(100% + 12px); margin: 0 auto; }
header .mainnav li a:hover { color: #f2ef59; }
header .mainnav li a:hover:before { height: 40px; }
header .sns { display: flex; align-items: center; margin-left: 20px; }
header .sns li { margin-left: 20px; }
header .sns li a { display: block; text-align: center; }
header .sns li span { font-size: 8px; text-align: center; display: block; position: absolute; top: 100%; white-space: nowrap; left: 0px; letter-spacing: 0; }
header .sns li:first-child { margin-left: 0; }
header .menu-trg-area { position: fixed; top: 15px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; background: #f2ef59; border-radius: 3px; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 17px; height: 14px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 2px; background-color: #000;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 6px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
footer { margin-top: 100px; }
footer .footer_top { padding-top: 135px; padding-bottom: 135px; }
footer .footer_bottom { padding: 120px 0; }
footer .footer_bottom .logo img { width: 105px; }
footer .footer_bottom .logo_block { width: 20%; }
footer .footer_bottom .site-map_block { width: 70%; position: relative; }
footer .footer_bottom .site-map { display: flex; flex-wrap: wrap; justify-content: space-between; font-size: 16px; }
footer .footer_bottom .site-map li { width: 28%; margin-bottom: 26px; }
footer .footer_bottom .site-map li a { position: relative; display: flex; align-items: center; font-weight: bold; }
footer .footer_bottom .site-map li a:before { content: ""; height: 8px; width: 8px; border-top: 2px solid #000; border-right: 2px solid #000; transform: rotate(45deg); margin-right: 8px; }
footer .footer_bottom .sns { display: flex; }
footer .footer_bottom .sns li a { display: block; text-align: center; position: relative; }
footer .footer_bottom .sns li span { font-size: 8px; text-align: center; display: block; position: absolute; top: 100%; white-space: nowrap; left: 0px; letter-spacing: 0; }
footer .company-list ul li { width: 14.25%; display: inline-block; text-align: center; position: relative; height: 50px; }
footer .company-list ul li img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }

/* common */
p.center { text-align: center; }
.rel.center { text-align: center; font-weight: bold; margin-top: 5px; }
.page-hero { height: 300px; display: flex; align-items: center; justify-content: center; position: relative; color: #252525; text-align: center; line-height: 1.5; }
.page-hero .main-title { margin-bottom: 0; }
.page-hero .en { font-size: 50px; letter-spacing: .2em; font-weight: bold; }
.page-hero .jp { letter-spacing: .3em; }
.main-title { text-align: center; margin-bottom: 40px; }
.main-title .en { font-size: 50px; letter-spacing: .12em; text-indent: .12em; font-family: "APompadourBoldSample"; line-height: 1; }
.main-title .jp { letter-spacing: .3em; text-indent: .3em; }
.bread { display: flex; font-size: 13px; margin: 20px 0; flex-wrap: wrap; }
.bread li { position: relative; display: flex; align-items: center; padding-left: 15px;}
.bread li:first-child { padding-left: 0; }
.bread li:after { content: ""; display: block; border-top: 1px solid #252525; border-right: 1px solid #252525; transform: rotate(45deg); height: 6px; width: 6px; margin-left: 10px; }
.bread li:last-child:after { display: none; }
.bread li a { text-decoration: underline; }
.catch { font-size: 32px; font-weight: normal; letter-spacing: .3em; line-height: 1.5; }
.catch_text { line-height: 2; letter-spacing: .3em; }
.head-title { font-weight: bold; font-size: 27px; letter-spacing: .3em; margin-bottom: 30px; }
.sub-block { margin-bottom: 50px; }
.sub-title { font-size: 17px; letter-spacing: .3em; background: #f2ef59; padding: 20px; margin-bottom: 30px; font-weight: bold; }
.work-link { width: 350px; padding: 25px 90px; background:#f2ef59; display: block; text-align: center; margin: 0 auto; font-size: 13px; letter-spacing: .3em; font-weight: bold; }
.tag-list { display: flex; flex-wrap: wrap; justify-content: center; }
.tag-list li a { background: #fff; padding: 3px 15px; margin-right: 10px; border-radius: 50px; margin-bottom: 10px; justify-content: center; display: inline-block; transition: .5s; font-size: 13px; min-width: 100px; text-align: center; }
.tag-list li a:before { content: "#"; }
.tag-list li a:hover { background: #f2ef59; }
.tag-list.gray li a { background: #d2d2d2; }
.tag-list.gray li a:hover { background: #f2ef59; }
.works-list li { margin-bottom: 60px; }
.works-list a.new { position: relative; }
.works-list a.new .new { position: absolute; content: ''; top: 5px; left: 5px; width: 60px; transform: scale3d(1,1,1)!important; }
.works-cat { margin-bottom: 10px; display: flex; flex-wrap: wrap; }
.works-cat li { margin-bottom: 0; margin-right: 10px; }
.works-cat li:last-child { margin-right: 0; }
.works-cat .cat { background: #d2d2d2; text-align: center; border-radius: 50px; display: inline-block; font-size: 12px; letter-spacing: .08em; padding: 1px 8px; }
.view-more { display: inline-block; text-align: center; margin-top: 30px; letter-spacing: .3em; position: relative; font-weight: bold; transition: .4s; border: 1.5px solid transparent; }
.view-more::after { content: ""; display: block; border-top: 2px solid #252525; border-right: 2px solid #252525; transform: rotate(135deg); height: 11px; width: 11px; left: 0; right: 0; margin: 0 auto; position: absolute; transition: all 0.4s ease; }
.view-more.no-arrow { transition: .3s; padding: 3px 8px; border: 1.5px solid transparent;　}
.view-more.no-arrow::after { content: none; }
.view-more.black { color: #fff; background: #252525; width: 350px; margin: 0 auto; padding: 20px 0; transition: .4s; }
.view-more.black:hover { background: #fff; border: 1.5px solid #252525; color: #252525!important; }
.view-more.black::after { content: ""; display: inline-block; border-top: 2px solid #fff; border-right: 2px solid #fff;  transform: rotate(45deg); margin: auto 0; width: 10px; height: 10px; position: absolute; right: 15px; left: auto; top: 0; bottom: 0; }
.view-more.black.no-arrow::after { content: none; }
/* .form { color: #fff!important; background:#252525; padding: 25px 0 ; text-align: center; width: 440px; display: block; letter-spacing: .5em; transition: .4s; border: 1.5px solid transparent; } */
.news-list { margin-bottom: 30px; }
.news-list li a { display: flex; align-items: center; color: #252525; background: #fff; padding: 30px 30px; margin-bottom: 1px; transition: .4s; }
.news-list li:last-child a { margin-bottom: 0; }
.news-list li a .date { margin-bottom: 0; width: 100px; margin-right: 20px; font-size: 14px; color: #808080; letter-spacing: .1em; }
.news-list li a .news-title { width: calc(100% - 100px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.column-list { display: flex; justify-content: space-between; align-items: center; }
.column-list li { width: 32%; }
.column-list li a { background-image: url(../images/top-column_bg.jpg); background-size: cover; background-repeat: no-repeat; display: block; padding: 10px 10px 60px 10px; transition: .5s; border-radius: 5px; }
.column-list li a:hover { background-image: url(../images/top-column_hover.jpg); }
.column-list li a .no { font-size: 13px; background-color: #252525; color: #f2ef59; text-align: center; padding: 10px 0; transition: .5s; border-radius: 5px; }
.column-list li a:hover .no { color: #252525; background: #fff;}
.column-list li a h3 { text-align: center; font-size: 27px; font-weight: bold; }
.column-list li a .sm { font-size: 13px; }
a.center-box .main-title { position: absolute; top: 50%; transform: translateY(-50%); left: 0; right: 0; margin: auto; z-index: 1; }
a.center-box .main-title .en { font-size: 40px; line-height: 1.5; font-weight: bold; }
a.center-box .main-title .jp { line-height: 1.7; letter-spacing: .7em; font-weight: bold; }
.scroll { position: absolute; left: 50px; top: 170px; }
.scroll .text { writing-mode: vertical-rl; }
.scroll > div { height: 147px; width: 1px; background: rgba(255,255,255,.3); position: relative; left: 15px; top: 10px; }
.scroll > div:before { content: ""; position: absolute; top: 0; height: 0; animation: arrow 2.5s ease 0s infinite normal; width: 1px; background: #fff; }
.view-more.no-top::after { margin-top: 0; }
.pagenav { font-family: "APompadourBoldSample"; }
.pagenav ul li.active a { position: relative; display: inline-block; }
.pagenav ul li.active a::after { position: absolute; content: ''; width: 20px; height: 2px; background: #252525; bottom: 3px; left: -7px;  }
.works-cat.gray { margin-bottom: 10px; }
.head-title.slush { display: inline-block; }
.head-title.slush::before { position: absolute; content: ''; background-image: url(../images/slush1.svg); background-size: cover; background-repeat: no-repeat; width: 17px; height: 27px; left: 0; bottom: -2px; }
.head-title.slush::after { position: absolute; content: ''; background-image: url(../images/slush2.svg); background-size: cover; background-repeat: no-repeat; width: 17px; height: 27px; right: 0; bottom: -2px; }
.view-more.map { background: #f2ef59; width: 350px; padding: 20px 0; font-size: 13px; font-weight: bold; }
.view-more.map::after { position: absolute; transform: rotate(45deg); right: 20px; left: auto; top: 0; bottom: 0; margin: auto; }
.list-wrap li { display: flex; justify-content: flex-end; margin-bottom: 60px; }
.list-wrap li:last-child { margin-bottom: 0; }
.list-wrap li:nth-child(even) { justify-content: flex-start; }
.list-wrap .bg { padding-top: 67.5%; transition: .4s; }
.list-wrap .contents-block { position: relative; display: block; width: 75%; }
.list-wrap .contents-block figure img { transition: .4s; }
.list-wrap .contents-block .text-wrap { position: absolute; width: 58%; padding: 50px; background: #fff; top: 50%; transform: translateY(-50%); left: -230px; box-shadow: 10px 10px 60px rgba(4,0,0,.08); }
.list-wrap li:nth-child(even) .text-wrap { left: auto; right: -290px; }
.blog-list_block li .text-contents { transition: .4s; padding: 30px 20px 50px; }
.blog-list_block li .text-contents .contents { overflow: hidden; display: -webkit-box; text-overflow: ellipsis; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }

/* hover */
.hover_hidden { overflow: hidden; }
.hover img  { transition: .3s; }
.hover:hover img { transform: scale3d(1.1,1.1,1.1)!important; }
.hover.no-hover:hover img { transform: scale3d(1,1,1)!important; }
.view-more:hover::after { transform: translateY(8px) rotate(135deg)!important; }
.view-more.no-arrow:hover { border: 1.5px solid #252525; }
.view-more.black:hover::after { display: none; }
.blog-list_block li:hover .thumbnail .bg { transform: scale3d(1.1,1.1,1.1)!important; }
.blog-list_block li:hover .text-contents { background: #fff; }
.blog-list_block li:hover .text-contents .blog-title { color: #f2ef59; }
.blog-list_block li:hover .text-contents .prev::before { border-top: 2px solid #f2ef59; border-right: 2px solid #f2ef59; }
.blog-list_block li:hover .text-contents .prev::after { background: #f2ef59; }
.blog-list_block.works-list li:hover .text-contents { background: #fff; box-shadow: 10px 10px 60px rgba(4,0,0,.08); }
.blog-list_block.works-list li:hover .text-contents .prev::before { border-top: 2px solid #f2ef59; border-right: 2px solid #f2ef59; }
.blog-list_block.works-list li:hover .text-contents .prev::after { background: #f2ef59; }
.news-list li a:hover { background: #f2ef59; }
.form:hover { background: #fff; color: #252525!important; border: 1.5px solid #252525; }
.list-wrap.hover:hover img { scale3d(1.1,1.1,1.1)!important; }
.list-wrap li.hover .contents-block:hover .bg { transform: scale3d(1.1,1.1,1.1)!important; }
.list-wrap li.hover .contents-block:hover .blog-title { color: #f2ef59; }
#blog-list .origin-slider:hover .child .text-block { bottom: -80px; background: #f2ef59; }
#works  .blog-list_block.works-list a { overflow: visible; }
#works .blog-list_block.works-list li:hover .text-contents { box-shadow: 10px 10px 60px rgba(4,0,0,.08); }

/* accordion */
.faq-list { margin-bottom: 95px; }
.faq-list li { margin-bottom: 25px; }
.faq-list li:last-child { margin-bottom: 0; }
.faq-list .question { background: #f0f0f0; display: flex; align-items: center; cursor: pointer; padding-right: 25px; }
.faq-list .question .icon { background: #f2ef59; width: 65px; height: 65px; display: flex; align-items: center; justify-content: center; }
.faq-list .question .wrap { width: calc(100% - 30px); padding-right: 20px; display: flex; font-size: 17px; letter-spacing: .15em; font-weight: bold; align-items: center; }
.faq-list .question ._title { padding-left: 25px; }
.faq-list .question .arrow { display: inline-block; vertical-align: middle; color: #252525; line-height: 1; width: 16px; height: 16px; border: 3px solid currentColor; border-left: 0; border-bottom: 0; box-sizing: border-box; transform: translateY(-15%) rotate(135deg); transition: .4s; }
.faq-list .answer { display: none; }
.faq-list .answer .wrap { letter-spacing: .06em; display: flex; background: #f0f0f0; padding: 20px 20px 20px 0; margin-top: 2px; }
.faq-list .answer .icon { width: 65px; height: 65px; display: flex; align-items: center; justify-content: center; }
.faq-list .answer .contents { padding-left: 25px; }
.faq-list .question.active .arrow { transform: translateY(30%) rotate(-45deg); }

/* dl */
.dl-table { display: flex; font-size: 17px; border-top: 1px solid #d2d2d2; padding: 40px 0; }
.dl-table dt { width: 110px; margin-right: 70px; }
.dl-table dd { width: calc(100% - 180px); line-height: 1.8; }
.dl-table dd.map a { display: block; width: 80%; color: #f2ef59; text-align: right; }
.dl-table.white { border-top: 2px solid #fff; border-bottom: 2px solid #fff; padding: 30px 0; }
.dl-table.white:last-of-type { border-bottom: none; }
#access .office .dl-table { padding: 0; border: none; }
#access .office .dl-table dt { width: auto; margin-right: 0; font-weight: normal; }
#access .office .dl-table dd { width: auto; }
#access .staff .dl-table { border-top: none; display: block; font-weight: bold; letter-spacing: .2em; padding: 15px 0 0; }
#access .staff .dl-table dt { width: auto; margin-right: 0; text-align: left; }
#access .staff .dl-table dd { width: auto; text-align: left; }

/* color */
.color-white { color: #fff; }
.bg-gray { background: #f0f0f0; }
.color-yellow { color: #f2ef59; }
.bg-yellow { background: #f2ef59; }

/* slider */
.origin-slider .slick-img-next { position: absolute; right: -30px; bottom: 0; top: 0; margin: auto 0; cursor: pointer; z-index: 1; width: 64px; }
.origin-slider .child { position: relative; }
.origin-slider .child::before { content: ''; position: absolute; background-image: url(../images/icon_new.png); background-repeat: no-repeat; background-size: cover; width: 90px; height: 90px; top: 5px; left: 5px; transition: .4s; }
.origin-slider .child .text-block { position: absolute; bottom: -100px; left: 0; width: 450px; background: #fff; padding: 30px; z-index: 1;  overflow: visible; transition: .4s; }
.origin-slider,
.origin-slider * { overflow: visible; }
/* .slick-list { overflow: visible; } */
.slick-dots { bottom: -35px; text-align: right; z-index: 0; }
.slick-dots li { width: 15px; }
.slick-dots li button:before { font-size: 10px; color: #252525; }
#works-detail .slider .slick-track { display: flex; align-items: center; }
#works-detail .slide { margin: 0 10px; display: flex; align-items: center; justify-content: center; height: 520px; background: #e5e5e5; }
#works-detail .slide img { width: 100%; height: 100%; object-fit: contain; }
#works-detail .thumbnail { display: flex; justify-content: center; flex-wrap: wrap; }
#works-detail .thumbnail figure { padding-top: 7%; width: 100px; margin-right: 10px; cursor: pointer; opacity: 0.4; transition: opacity .3s; background-size: cover; background-position: center; }
#works-detail .thumbnail figure:last-child { margin-right: 0; }
#works-detail .thumbnail figure:hover { opacity: 0.7; }
#works-detail .thumbnail figure.is-active { opacity: 1; box-shadow: 0 0 0 3px #333; }

/* works-detail custom arrows */
#works-detail .slider { position: relative; }
#works-detail .slider .slick-prev,
#works-detail .slider .slick-next {
  width: 48px;
  height: 48px;
  z-index: 10;
  background: rgba(255,255,255,.85);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: background .3s, box-shadow .3s;
}
#works-detail .slider .slick-prev:hover,
#works-detail .slider .slick-next:hover {
  background: #fff;
  box-shadow: 0 2px 12px rgba(0,0,0,.25);
}
#works-detail .slider .slick-prev { left: 7%; }
#works-detail .slider .slick-next { right: 7%; }
#works-detail .slider .slick-prev:before,
#works-detail .slider .slick-next:before { display: none; }
#works-detail .slider .slick-prev span,
#works-detail .slider .slick-next span {
  display: block;
  width: 14px;
  height: 14px;
  border-right: 2.5px solid #333;
  border-bottom: 2.5px solid #333;
  margin: auto;
}
#works-detail .slider .slick-prev span {
  transform: rotate(135deg);
  margin-left: 18px;
}
#works-detail .slider .slick-next span {
  transform: rotate(-45deg);
  margin-right: 18px;
}


/* fonts */
.tsuku { font-family: 'Noto Serif JP', serif; }

.tel { font-size: 55px; letter-spacing: .1em; line-height: 1.2; font-weight: bold; }
.date { font-size: 12px; letter-spacing: .3em; margin-bottom: 20px; }
.blog-title { font-size: 27px; font-weight: bold; letter-spacing: .2em; margin-bottom: 20px; transition: .4s; display: flex; align-items: center; }
.contents { letter-spacing: .3em; }
.blog-list_block { display: flex; justify-content: space-between; flex-wrap: wrap; }
.blog-list_block li { width: 31.5%; margin-bottom: 40px; }
.blog-list_block li:nth-child(3n) { margin-right: 0; }
.blog-list_block li .thumbnail { position: relative; transition: .4s; }
.blog-list_block li .thumbnail .bg { padding-top: 67.5%; transition: .4s; }
.blog-list_block li .thumbnail .date { position: absolute; right: -20px; top: 0; writing-mode: vertical-rl; margin-bottom: 0; }
.blog-list_block li .blog-title { font-size: 20px; transition: .4s; }
.blog-list_block li .prev { position: relative; }
.blog-list_block li .prev::before { content: ''; display: inline-block; border-top: 2px solid #fff; border-right: 2px solid #fff;  transform: rotate(45deg); margin: auto 0; width: 10px; height: 10px; position: absolute; right: 10px; left: auto; top: 0; bottom: -30px; transition: .4s; }
.blog-list_block li .prev::after { content: ''; position: absolute; width: 100%; height: 2px; bottom: -30px; background: #fff; left: 0; transition: .4s; }
.blog-list_block.works-list li { margin-bottom: 50px!important; }
.blog-list_block.works-list li .text-contents { padding: 20px 20px 50px; transition: .4s; position: relative; background: #fff; }
.blog-list_block.works-list li .prev::before { content: ''; display: inline-block; border-top: 2px solid #252525; border-right: 2px solid #252525;  transform: rotate(45deg); margin: auto 0; width: 10px; height: 10px; position: absolute; right: 10px; left: auto; top: 0; bottom: -30px; transition: .4s; }
.blog-list_block.works-list li .prev::after { content: ''; position: absolute; width: 100%; height: 2px; bottom: -30px; background: #252525; left: 0; transition: .4s; }
.pagenav ul { display: flex; align-items: center; justify-content: center; position: relative; font-weight: bold; }
.blog-list_block.works-list .works-cat li { margin-bottom: 0!important; }
.pagenav ul li { margin-right: 20px; }
.pagenav ul li:last-child { margin-right: 0; position: relative; }
.pagenav ul li:last-child::after { content: ""; display: block; border-top: 2px solid #252525; border-right: 2px solid #252525; transform: rotate(45deg); height: 10px; width: 10px; position: absolute; right: -30px; bottom: 10px; }
.wp-post { margin-bottom: 80px; }
.blog-link_nav { display: flex; justify-content: space-between; border-top: 1px solid #252525; padding-top: 20px; margin-top: 100px; font-weight: bold; }
.blog-link_nav li { position: relative; }
.blog-link_nav li.arrow a:after { content: ""; border-top: 3px solid #252525; border-right: 3px solid #252525; height: 10px; width: 10px; position: absolute; top: 0; bottom: 0; margin: auto 0; }
.blog-link_nav li.arrow.prev a { padding-left: 20px; }
.blog-link_nav li.arrow.prev a:after { left: 0; transform: rotate(-135deg);}
.blog-link_nav li.arrow.next a { padding-right: 20px; }
.blog-link_nav li.arrow.next a:after {right: 0; transform: rotate(45deg);}
.column .view-more::after { height: 12px; width: 12px; margin-top: 0; }
.staff::after { position: absolute; content: ''; background: #fff; width: 2px; height: 100%; left: 0; right: 0; top: 0; margin: 0 auto; }
.staff .wrap { width: 42%; }
.staff .wrap .name { font-size: 27px; font-weight: bold; }
.staff .wrap .sm { font-size: 20px; }
.staff .wrap .text { font-size: 17px; letter-spacing: .2em; text-align: left; }
.contest { padding: 100px 0 230px; }
.post-head { border-bottom: 1px solid #cdcdcd; margin-bottom: 25px; }
#home .page-hero { justify-content: flex-start; padding-top: 50%; position: relative; }
#home .page-hero .catch { writing-mode: vertical-rl; padding: 190px 100px 90px 80px; color: #fff; font-size: 30px; background-color: rgba(37,37,37,.9); height: 100%; position: absolute; left: 0; top: 0; z-index: 1; }
#home .page-hero .main-slider { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
#home .page-hero .main-slider * { height: 100%; }
#home .page-hero .main-slider .child { position: relative; width: 100%; height: 100%; }
#home .page-hero .main-slider .child .bg { position: relative; width: 100%; height: 100%; background-size: cover; display: flex; flex-wrap: wrap; }
#home .page-hero .main-slider .shutter { position: absolute; top: 0; left: 0; height: 100%; width: 25%; }
#home .page-hero .main-slider .shutter div { animation: shutterHideAnimation 1s forwards; position: absolute; top: 0; left: -25%; right: 0; width: 165%; height: 100%; background: #000; margin: 0 auto; transform: skew(12deg, 0deg); }
#home .page-hero .main-slider .shutter.v2 { left: 25%; }
#home .page-hero .main-slider .shutter.v3 { left: 50%; }
#home .page-hero .main-slider .shutter.v4 { left: 75%; }
#home .page-hero .main-slider .slick-active .shutter div { animation: shutterAnimation 1s forwards; }
@keyframes shutterAnimation {
	0% { width: 150%; transform: skew(12deg, 0deg); }
	50% { width: 150%; transform: skew(12deg, 0deg); }
	100% { width: 0%; transform: skew(0deg, 0deg); }
}
@keyframes shutterHideAnimation {
	0 { width: 0%; transform: skew(0deg, 0deg); }
	50% { width: 150%; transform: skew(15deg, 0deg); }
	100% { width: 150%; transform: skew(15deg, 0deg); }
}
#home .catch-block { padding-top: 90px; padding-bottom: 140px; }
#home .catch-block .sub-catch { font-size: 32px; line-height: 1.8; }
#home .catch-block .text { line-height: 2.3; }
#home .voice_plan .main-title .en { font-size: 55px; letter-spacing: .2em; }
#home .voice_plan .main-title .jp { font-size: 16px; letter-spacing: .7em; }
#home .link-list::before { content: ''; width: 17%; height: 100%; background: #f2ef59; top: -280px; position: absolute; z-index: -1; opacity: .8; }
#home .link-list::after { content: ''; width: 23%; height: 88%; background: #f2ef59; top: 500px; position: absolute; z-index: -1; opacity: .8; right: 0; }
#home .works { padding-top: 100px; }
#about .area { border-bottom: 2px solid #f0f0f0; padding-bottom: 230px; }
#blog .blog-contents { border-bottom: 2px solid #f0f0f0; padding-bottom: 230px; }
#faq { padding-bottom: 235px; border-bottom: 1px solid #f0f0f0; }
#faq .head-text { letter-spacing: .25em; }
#works article { padding-bottom: 230px; border-bottom: 2px solid #f0f0f0; }
#works .works-list li { margin-bottom: 50px; }
#works .works-list a { display: block; overflow: hidden; }
#works .works-list a .image { transition: .4s; }
#works .works-list a .text-wrap { transition: .4s; padding: 10px; }
#works .works-list a:hover .text-wrap { background: #f2ef59; margin-top: -20px; position: relative; z-index: 1; }
#works .works-list .works-cat li { margin-bottom: 0; }
#blog-list .blog-list_block li:hover .text-contents { background: #f2ef59; }
#blog-list .blog-list_block li:hover .blog-title { color: #252525; }
#blog-list .blog-list_block li .prev::before { border-top: 2px solid #f2ef59; border-right: 2px solid #f2ef59; }
#blog-list .blog-list_block li .prev::after { background: #f2ef59; }
#blog-list .blog-list_block li:hover .prev::before { border-top: 2px solid #fff; border-right: 2px solid #fff; }
#blog-list .blog-list_block li:hover .prev::after{ background: #fff; }
.default { font-family: VERDANA,ARIAL,SANS-SERIF !important; letter-spacing: 0; }

@keyframes arrow {
	0% { height: 0; }
	45% { height: 100%; }
	55% { height: 100%; top: 0; }
	100% { height: 0; top: 100%; }
}

@media (min-width: 768px) {
	footer .footer_bottom .site-map li:nth-child(3n - 1) { width: 44%; }
	footer .footer_bottom .site-map li:nth-child(n+10):nth-child(-n+12) { margin-bottom: 0; }
}
@media (max-width: 767px) {
	body { min-width: 375px; font-size: 14px; padding-top: 70px!important; }
	header { min-width: 375px; height: 70px; padding: 5px 75px 5px 15px; }
	header .logo { position: relative; z-index: 999; }
	header .logo img { width: 40px; }
	header .sns { position: relative; z-index: 999; }
	header .mainnav { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 150vh; background: #fff; z-index: 998; opacity: 0!important; transition: .3s!important; visibility: hidden; transform: none!important; padding: 75px 0; }
	header .mainnav.active { opacity: 1!important; visibility: visible; }
	/* header .mainnav .menu { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; }
	header .mainnav .menu li { margin-bottom: 20px; } */
	header .mainnav li { padding: 0; }
	header .mainnav li:before { display: none; }
	header .mainnav li a { font-size: 15px; padding: 15px 20px; border-top: 1px solid rgba(0,0,0,.25); position: relative; display: flex; align-items: center; justify-content: space-between; }
	header .mainnav li a:after { content: ""; height: 8px; width: 8px; border-top: 2px solid #000; border-right: 2px solid #000; transform: rotate(45deg); margin-right: 8px; }
	header .mainnav li:last-child a { border-bottom: 1px solid rgba(0,0,0,.25); }
	header .menu-trg-area { display: block; z-index: 999; }
	footer { padding-bottom: 80px; }
	footer .footer_top { padding-top: 60px; padding-bottom: 80px; }
	footer .footer_bottom { padding: 60px 0 60px; }
	footer .footer_bottom .logo_block { width: 100%; margin-bottom: 40px; }
	footer .footer_bottom .logo img { width: 60px; }
	footer .footer_bottom .site-map_block { width: 100%; }
	footer .footer_bottom .site-map { justify-content: center; margin: 0 -5px; }
	footer .footer_bottom .site-map li { width: 50%; padding: 0 5px; margin-right: 0; text-align: center; margin-bottom: 20px; font-size: 14px; }
	footer .footer_bottom .site-map li a { display: flex; align-items: center; text-align: left; border-bottom: 1px solid rgba(0,0,0,.25); height: 100%; padding-bottom: 5px; padding-left: 5px; }
	footer .footer_bottom .site-map li:nth-child(n+10):nth-child(-n+12) { margin-bottom: 20px; }
	footer .footer_bottom .sns { position: static; display: flex; align-items: center; justify-content: center; margin-top: 20px; }
	footer .company-list ul li { width: 50%; }

	/* common */
	.page-hero { height: 200px; }
	.page-hero .en { font-size: 30px; }
	#works-detail .slide { height: 280px; }
	#works-detail .thumbnail figure { padding-top: 0; aspect-ratio: 4 / 3; height: auto; display: block; }
	#works-detail .slider .slick-prev { left: 5px; }
	#works-detail .slider .slick-next { right: 5px; }
	#works-detail .slider .slick-prev span,
	#works-detail .slider .slick-next span { width: 14px; height: 14px; }
	.main-title { line-height: 1.3; margin-bottom: 30px; }
	.main-title .en { font-size: 30px; }
	.catch { font-size: 22px; letter-spacing: .1em; }
	.catch_text { letter-spacing: .2em; }
	.head-title { font-size: 20px; margin-bottom: 20px; }
	.sub-title { font-size: 15px; margin-bottom: 15px; padding: 15px; }
	.work-link { width: 100%; padding: 20px 40px; }
	.scroll { left: 50%; transform: translateX(-50%); top: auto; bottom: -170px; }
	.scroll .text { font-size: 11px; letter-spacing: .1em; }
	.scroll > div { height: 80px; left: 8px; top: 0; }
	.tag-list li a { font-size: 12px; }
	.works-cat .cat { margin-bottom: 5px!important; padding: 2px 8px; font-size: 10px; }
	.works-list li { margin-bottom: 30px; }
	.works-list li a .contents { font-size: 14px; margin-top: 10px; margin-bottom: 10px; }
	.column-list { flex-direction: column; }
	.column-list li { width: 100%; margin-bottom: 30px; }
	.column-list li:last-child { margin-bottom: 0; }
	.column-list li a { padding: 15px 10px 50px 10px; background-position: 0 50%; }
	.column-list li a h3 { font-size: 20px; }
	a.center-box .main-title .en { font-size: 23px; }
	.view-more.black { padding: 10px 0; }
	.tel { font-size: 30px; text-align: center; display: block; }
	.form { width: 350px; margin: 0 auto; padding: 15px 0; }
	.news-list li a { padding: 10px 20px; display: block; }
	.news-list li a .news-title { width: 100%; }
	.works-list li { margin-bottom: 30px; }
	.works-list li:nth-child(3n+1):nth-last-child(-n+3) { margin-bottom: 30px; }
	.view-more.map { margin: 0; }
	.pagenav ul::after { content: none; }
	.pagenav ul li:last-child { position:relative; }
	.pagenav ul li:last-child::after { content: ""; display: block; border-top: 2px solid #252525; border-right: 2px solid #252525; transform: rotate(45deg); height: 10px; width: 10px; position: absolute; right: -30px; bottom: 10px; }
	.works-list a.new .new { width: 30px; }
	.works-cat { flex-direction: row; }
	.blog-list_block.works-list li { margin-bottom: 30px!important; }
	.blog-list_block.works-list li:last-child { margin-bottom: 10px!important; }
	.blog-list_block.works-list .works-cat li { margin-bottom: 10px!important; width: auto; }
	.list-wrap li { display: block; margin-bottom: 70px; }
	.list-wrap .contents-block { width: 100%; }
	.list-wrap .contents-block .text-wrap { position: static; width: 100%; padding: 30px 30px 20px 30px; transform: translateY(0); }

	/* dl */
	.dl-table { padding: 20px 0; font-size: 15px; flex-direction: column; }
	.dl-table dt { width: 100%; margin-right: 0; }
	.dl-table dd { width: 100%; }
	.dl-table dd.map a { width: 100%; text-align: left; }
	.dl-table.white dt { margin-bottom: 10px; }
	.dl-table.white dd ul li { margin-bottom: 10px; }
	#access .office .dl-table { margin-bottom: 20px; }

	/* accordion */
	.faq-list { margin-bottom: 50px; }
	.faq-list .question { padding-right:15px; justify-content: space-between; }
	.faq-list .question .icon { width: 60px; height: 80px; }
	.faq-list .question .wrap { font-size: 15px; padding-right: 5px; width: 100%; }
	.faq-list .question ._title { padding: 10px 8px 10px 12px; line-height: 1.3; font-size: 16px; width: calc(100% - 60px); }
	.faq-list .answer .wrap { padding: 10px 10px 10px 0; justify-content:  space-between; }
	.faq-list .answer .icon { width: 70px; }
	.faq-list .answer .contents { padding-left: 0; width: calc(100% - 75px); }
	.faq-list .question .arrow { width: 13px; height: 13px; }

	.origin-slider .child .text-block { position: static; width: 100%; padding: 20px 10px 0; }
	.origin-slider .slick-img-next { display: none; }
	.slick-dots { text-align: center; }
	.blog-title { font-size: 22px; letter-spacing: .15em; margin-bottom: 15px; }
	.blog-list_block li { width: 100%; margin-bottom: 50px; }
	.blog-list_block li .thumbnail { text-align: center; margin-bottom: 0!important; }
	.blog-list_block li .thumbnail .date { position: static; text-align: left; writing-mode:horizontal-tb; }
	.wp-post { margin-bottom: 40px; }
	.blog-link_nav { margin-top: 50px; font-size: 12px; }
	.blog-list_block li .blog-title { font-size: 18px; }
	.staff::after { content: none; }
	.staff .wrap { width: 100%; }
	.staff .wrap .name { font-size: 22px; }
	.staff .wrap .sm { font-size: 17px; }
	.staff .wrap .text { font-size: 15px; }
	.contest { padding: 50px 0 100px; }
	#home .page-hero { height: auto; padding-top: 0; max-height: 100%; min-height: 0; display: block; }
	#home .page-hero .main-slider { position: relative; }
	#home .page-hero .catch { font-size: 20px; padding: 20px 25px 20px 25px; letter-spacing: .3em; position: static; width: 100%; writing-mode: initial; height: auto; }
	#home .page-hero .main-slider .child .bg { padding-top: 50%; }
	#home .catch-block { padding-top: 40px; padding-bottom: 100px; background-position: 73%; height: auto; max-height: none; }
	#home .catch-block .sub-catch { font-size: 23px; line-height: 1.5; }
	#home .catch-block .text { line-height: 1.8; letter-spacing: .2em; }
	#home .catch-block .scroll { bottom: -100px; left: 0; right: 0; margin: 0 auto; transform: translateX(0); display: flex; justify-content: center; }
	#home .catch-block .scroll .text { display: none; }
	#home .voice_plan .main-title .jp { font-size: 12px; letter-spacing: .3em; }
	#home .voice_plan .main-title .en { font-size: 26px; }
	#home .blog-list_block li { margin-bottom: 60px; }
	#home .blog-list_block li:last-child { margin-bottom: 0; }
	#home .link-list::before { content: none; }
	#home .link-list::after { content: none; }
	#home .works { padding-top: 80px; }
	#about .area { padding-bottom: 100px; }
	#blog .blog-contents { padding-bottom: 100px; }
	#faq { padding-bottom: 100px; }
	#faq .head-text { letter-spacing: .15em; }
	#works article { padding-bottom: 100px; }
	#works .works-list li { margin-bottom: 20px; }
	#works .works-list a .text-wrap { padding: 5px; }

}


/* fixed menu */
#fixedContact { display: none; }

@media (max-width: 767px) {
  #fixedContact { display: block; position: fixed; bottom: 0; height: auto; width: 100%; z-index: 10; text-align: center; background: rgb(242 239 89); transition: .3s;}
  #fixedContact ul { max-width: 1000px; margin: auto; font-size: 0; letter-spacing: 0;}
  #fixedContact li { display: inline-block; padding: 10px 0; width: 25%; font-size: 14px; border-right: 3px solid #fff;}
  #fixedContact ul li:last-child { border: none;}
  #fixedContact li img { height: 48px;}
  #fixedContact.visible-fixed { bottom: 0;}
  #fixedContact.visible-fixed.hide-fixed { bottom: -200px;}
}

.scroll-top { position: fixed; right: 24px; bottom: 24px; width: 52px; height: 52px; border-radius: 50%; background: #f2ef59; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .3s, transform .3s, visibility .3s; z-index: 30; }
.scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.scroll-top__icon { width: 14px; height: 14px; border-top: 3px solid #000; border-right: 3px solid #000; transform: rotate(-45deg); }
.scroll-top:focus { outline: none; }

@media (max-width: 767px) {
	.scroll-top { right: 16px; bottom: 90px; width: 48px; height: 48px; }
}


.title-row { color: #000; font-size: 18px; border: 1px solid #e0e0e0; border-left: 5px solid #f2ef59; color: #000; padding: 20px; font-weight: bold; letter-spacing: 1px; margin-bottom: 20px; line-height: 26px; }
a.link_or { display: block; color: #fff; max-width: 270px; line-height: 50px; width: 100%; position: relative; background: rgba(255, 182, 0, 1); overflow: hidden; text-align: center; margin-left: auto; margin-right: auto; }
a.link_or:after { content: ""; position: absolute; display: block; right: -9px; bottom: -9px; width: 18px; height: 18px; transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); background: #ffdb80; }
a.link_or:before { content: ""; position: absolute; left: -1px; top: 0; width: 1px; height: 100%; background: #ffffff20; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; }
a.link_or:hover:before { width: 101%; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; }
a.link_or { border-radius: 30px; max-width: 220px; }
a.link_or:before { content: "\f105"; font-family: FontAwesome; position: relative; left: -10px; }
a.link_or:after { content: ""; position: absolute; left: -1px; top: 0; width: 1px; height: 100%; background: #ffffff20; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; display: initial; right: auto; bottom: auto; -webkit-transform: none; }
a.link_or:hover:after { width: 101%; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s; }
h2.title { color: #000; font-size: 20px; text-align: center; font-weight: bold; letter-spacing: 1.5px; position: relative; }
h2.title small { font-size: 12px; display: block; color: #f2ef59; color: #000; padding-top: 6px; font-family: 'Catamaran', sans-serif; }
@media only screen and (max-width: 767px) {
	.title-row { padding-top: 14px; padding-bottom: 10px; line-height: 24px; }
	h2.title { font-size: 16px; }
	a.link_or { width: 100%; max-width: 100%; margin-top: 15px; }
}

article.works h2.title.botborder { margin-bottom: 50px; }

/* exterior */
.exterior_wrap { padding: 45px 0 90px; }
.exterior_wrap h2 { position: relative; }
.exterior_wrap h2 span img { position: absolute; top: 0; right: 0; left: 0; bottom: 0; margin: auto; }
.exterior_wrap .title-row { margin-bottom: 30px; }
.exterior_wrap .container-fluid { max-width: 930px; }
.exterior_wrap .col-sm-8 { width: 60%; }
.exterior_wrap .col-sm-4 { width: 39.8%; text-align: right; }
.exterior_wrap h2 { margin-bottom: 100px; }
.exterior_wrap strong { font-size: 17px; color: #f2ef59; color: #000; line-height: 28px; font-weight: bold; display: block; padding-top: 5px; padding-bottom: 20px; }
.exterior_wrap p { font-size: 14px; line-height: 26px; letter-spacing: 1px; }
.exterior_wrap .req { padding-bottom: 60px; }
.exterior_wrap .req dl { margin-top: 10px; background: #f8f7f3; padding: 15px; }
.exterior_wrap .req dl dt { color: #f2ef59; color: #000; padding-bottom: 10px; }
.exterior_wrap .req dl dd { line-height: 22px; }
.exterior_wrap .req .col-xs-12 p { padding-top: 35px; }
.exterior_wrap .homes { border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; margin-top: 40px; text-align: center; padding: 30px 0; }
.exterior_wrap .homes h4 { color: #f2ef59; color: #000; font-size: 18px; line-height: 30px; font-weight: bold; margin-bottom: -18px; }
.exterior_wrap .points { margin-bottom: 50px; }
.exterior_wrap .point-dl dt { background: #f8f7f3; font-weight: bold; padding-left: 140px; position: relative; font-size: 16px; padding-top: 15px; padding-bottom: 15px; margin-bottom: 15px; }
.exterior_wrap .point-dl dt span { position: absolute; left: 0; top: 0; height: 100%; background: #bfb89b; color: #fff; text-align: center; width: 120px; padding: 15px 0; }
.exterior_wrap .point-dl dd { font-size: 14px; line-height: 26px; letter-spacing: 1px; }
.exterior_wrap .point-dl dd p { letter-spacing: 0; padding-bottom: 20px; }
.exterior_wrap .exterior-area { padding-bottom: 60px; }
.exterior_wrap .exterior-area p { padding-bottom: 40px; }
.exterior_wrap .exterior-area .pc { display: block; }
.exterior_wrap .exterior-area .sp { display: none; }
.exterior_wrap #map_canvas { margin-bottom: 100px; width: 100%; height: 400px; background-color: grey; }
.exterior_wrap .exterior-style .title-row+p { padding-bottom: 30px; }
.exterior_wrap .exterior-style .point-dl { padding-bottom: 60px; }
.exterior_wrap .work_area p { padding-bottom: 15px; }
.exterior_wrap .work_area dl dt { background: #feefcb; padding: 20px; }
.exterior_wrap .work_area dl dd { padding: 20px 0 40px; line-height: 28px; }
@media only screen and (max-width: 767px) {
	.exterior_wrap { padding: 60px 0 30px;}
	.exterior_wrap .title-row { margin-bottom: 20px;}
	.exterior_wrap .homes { padding: 15px 0; margin-top: 25px;}
	.exterior_wrap .homes h4 { line-height: 22px;}
	.exterior_wrap .col-sm-8 { width: 100%;}
	.exterior_wrap .col-sm-4 { width: 100%; text-align: center; padding: 15px 15px;}
	.exterior_wrap .col-sm-6 { padding: 10px 15px;}
	.exterior_wrap .points { margin-bottom: 30px;}
	.exterior_wrap .exterior-area { padding-bottom: 20px;}
	.exterior_wrap h2 { margin-bottom: 50px;}
	.exterior_wrap strong { line-height: 24px; padding-bottom: 8px;}
	.exterior_wrap p { line-height: 20px;}
	.exterior_wrap .req dl { margin-bottom: 20px;}
	.exterior_wrap .req dl dd { line-height: 22px;}
	.exterior_wrap .req .col-sm-4 { text-align: center;}
	.exterior_wrap .req { padding-bottom: 40px;}
	.exterior_wrap .req .col-xs-12 p { padding-top: 20px;}
	.exterior_wrap #map_canvas { margin-bottom: 50px;}
	.exterior_wrap .work_area dl dt { padding: 10px 15px;}
	.exterior_wrap .work_area dl dd { line-height: 22px;}
	.exterior_wrap .point-dl dd p { padding-bottom: 0;}
	.exterior_wrap .exterior-style .point-dl { padding-bottom: 30px;}
	.exterior_wrap .exterior-area .pc { display: none;}
	.exterior_wrap .exterior-area .sp { display: block;}
}


.process_wrap { padding: 90px 0; font-size: 13px; line-height: 23px; letter-spacing: .06em; }
.process_wrap .tb { margin-bottom: 20px; }
.process_wrap h2 { margin-bottom: 80px; }
.process_wrap .borderFree { text-align: center; position: relative; margin: 55px 0; }
.process_wrap .borderFree:after { content: ""; width: 100%; height: 1px; background-color: #f2ef59; color: #000; position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; }
.process_wrap .borderFree img { max-width: 390px; position: relative; z-index: 1; }
.process_wrap .container-fluid { max-width: 930px; }
.process_wrap dl.process_bt { position: relative; margin-top: 80px; }
.process_wrap dl.process_bt dt { width: 161px; height: auto; position: absolute; background: #f8f7f3; padding: 20px; }
.process_wrap dl.process_bt dt img { background: #fff; line-height: 24px !important }
.process_wrap dl.process_bt dd { width: 100%; padding: 20px 20px 10px 163px; background: #f8f7f3; min-height: 150px; line-height: 24px !important }
.process_wrap .t_area img { display: block; }
.process_wrap .t_area>div { max-width: 301px; }
.process_wrap .t_area>div>div { margin-top: 5px; }
.process_wrap .timeline.lg-left li { min-height: 129px; margin-bottom: 29px; }
.process_wrap .timeline.lg-left li .colmn2 { position: absolute; left: 15px; top: 0; width: 170px; height: 100%; }
.process_wrap .timeline.lg-left li span { position: relative; background-color: rgba(255, 182, 0, 1); width: 100%; float: left; min-height: 100px; margin: 30px 0; height: 100%; }
.process_wrap .timeline.lg-left li span:before { content: ""; position: absolute; background-image: url(../images/process/process_arrow2.svg); background-size: cover; width: 170px; height: 30px; left: 0; top: -30px; }
.process_wrap .timeline.lg-left li span:after { content: ""; position: absolute; background-image: url(../images/process/process_arrow.svg); background-size: cover; width: 170px; height: 30px; left: 0; bottom: -29px; }
.process_wrap .timeline.lg-left li span .icon { position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; }
.process_wrap .timeline.lg-left li p, .process_wrap .timeline.lg-left li .t_area { width: 100%; padding-left: 210px; min-height: 129px; padding-top: 45px; }
.process_wrap .timeline.lg-left li:nth-child(1) span { background-color: #ffe2a7; }
.process_wrap .timeline.lg-left li:nth-child(1) span:before { background-image: url(../images/process/process_arrow4-2.svg); }
.process_wrap .timeline.lg-left li:nth-child(1) span:after { background-image: url(../images/process/process_arrow4-1.svg); }
.process_wrap .timeline.lg-left li:nth-child(2) span { background-color: #ffd478; }
.process_wrap .timeline.lg-left li:nth-child(2) span:before { background-image: url(../images/process/process_arrow3-2.svg); }
.process_wrap .timeline.lg-left li:nth-child(2) span:after { background-image: url(../images/process/process_arrow3-1.svg); }
.process_wrap .timeline.lg-left li:nth-child(3) span { background-color: #fec549; }
.process_wrap .timeline.lg-left li:nth-child(3) span:before { background-image: url(../images/process/process_arrow2-2.svg); }
.process_wrap .timeline.lg-left li:nth-child(3) span:after { background-image: url(../images/process/process_arrow2-1.svg); }
.process_wrap .timeline.lg-left li:nth-child(4) span { background-color: rgba(255, 182, 0, 1); }
.process_wrap .timeline.lg-left li:nth-child(4) span:before, .process_wrap .timeline.lg-left li:nth-child(4) span:after { opacity: 1; }
.process_wrap .timeline.lg-left li:nth-child(5) span { background: none; }
.process_wrap .timeline.lg-left li:nth-child(5) span:before, .process_wrap .timeline.lg-left li:nth-child(5) span:after { opacity: 0; }
.process_wrap .timeline.lg-left li.last { min-height: 280px; padding-top: 30px; }
.process_wrap .timeline.lg-left li.last span { min-height: 185px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) dl { border-top: 1px solid #e2e2e2; border-bottom: 1px solid #e2e2e2; position: relative; padding: 12px 0; letter-spacing: .05em; margin-top: 15px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dt { text-align: center; color: #f2ef59; color: #000; padding-top: 5px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dt small { font-size: 14px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dt strong { font-size: 20px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dd a { display: inline-block; color: #fff; background-color: #f2ef59; color: #000; line-height: 36px; text-align: center; max-width: 220px; width: 100%; border-radius: 5px; }
.process_wrap .timeline.line1.lg-left li:nth-child(1) span:before { display: none; }
.process_wrap .timeline.line1.lg-left li .t_area { padding-top: 30px; }
.process_wrap .timeline.line2.lg-left li p { padding-top: 30px; }
.process_wrap .timeline.line2.lg-left li:nth-child(4) span:after { display: none; }
@media only screen and (max-width: 767px) {
	.process_wrap { line-height: 22px; padding-top: 60px; }
	.process_wrap .tb { margin-bottom: 0; }
	.process_wrap .timeline.lg-left li { min-height: auto; }
	.process_wrap dl.process_bt dt { position: static; width: 100%; padding-bottom: 0; text-align: center; }
	.process_wrap dl.process_bt dd { width: 100%; padding: 20px; }
	.process_wrap .timeline.lg-left li .colmn2 { width: 110px; }
	.process_wrap .timeline.lg-left li span:before { width: 110px; height: 20px; top: -20px; }
	.process_wrap .timeline.lg-left li span:after { width: 110px; height: 20px; bottom: -20px; }
	.process_wrap .timeline.lg-left li span .icon { max-width: 90px; }
	.process_wrap .timeline.lg-left li p, .process_wrap .timeline.lg-left li .t_area { padding-left: 120px; line-height: 20px; }
	.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dt { margin-bottom: 10px; }
	.process_wrap .timeline.line1.lg-left li:nth-child(1) dl dd { text-align: center; }
	.process_wrap dl.process_bt { margin-top: 50px; }
	.process_wrap .borderFree img { max-width: 100%; }
}

/* biz calendar */
/* .widget_bizcalendar { background: #d2d2d2; padding: 28px 0; font-size: 11px; border-radius: 10px; }
.widget_bizcalendar .widget-title { display: none; }
.widget_bizcalendar #biz_calendar { max-width: 300px; width: 100%; }
.widget_bizcalendar #biz_calendar table.bizcal { border: none; background: none; font-size: 18px; }
.widget_bizcalendar #biz_calendar table.bizcal th { padding: 5px 2px; }
.widget_bizcalendar #biz_calendar table.bizcal td { padding: 5px 2px; position: relative; border: 1px solid #f1f1f1; font-weight: 900; }
.widget_bizcalendar #biz_calendar table.bizcal th:nth-last-of-type(1),
.widget_bizcalendar #biz_calendar table.bizcal th:first-child { color: #000;}
.widget_bizcalendar #biz_calendar table.bizcal tbody tr:first-child td { font-size: 20px; font-weight: bold; letter-spacing: .1em; }
.widget_bizcalendar #biz_calendar p span.boxholiday,
.widget_bizcalendar #biz_calendar table.bizcal .holiday { background-color: #242424; }
.widget_bizcalendar #biz_calendar p span.boxeventday,
.widget_bizcalendar #biz_calendar table.bizcal .eventday { background-color: #a3d593; }
.widget_bizcalendar #biz_calendar p { color: #000; display: inline-block; margin-right: 20px; margin-top: 10px;}
.widget_bizcalendar #biz_calendar p span.boxeventday,
.widget_bizcalendar #biz_calendar p span.boxholiday { padding: 3px 13px; margin-right: 6px;}
.widget_bizcalendar #biz_calendar table.bizcal .up-img { text-align: right;}
.widget_bizcalendar #biz_calendar table.bizcal .down-img { text-align: left;}
.widget_bizcalendar #biz_calendar table.bizcal .calmonth { border: none; padding-bottom: 15px; }
.widget_bizcalendar #biz_calendar table.bizcal .calbtn { border: none; padding-bottom: 15px; } */
.widget_bizcalendar { background: #d2d2d2; padding: 1px 20px 20px; font-size: 11px; border-radius: 10px; }
.widget_bizcalendar .widget-title { display: none; }
.widget_bizcalendar #biz_calendar { max-width: 375px; width: 100%; }
.widget_bizcalendar #biz_calendar * { letter-spacing: 0; }
.widget_bizcalendar #biz_calendar table.bizcal { border: none; background: none; font-size: 18px; }
.widget_bizcalendar #biz_calendar table.bizcal th { padding: 5px 2px; background: none; border: none; }
.widget_bizcalendar #biz_calendar table.bizcal td { padding: 5px 2px; position: relative; border: none; height: 45.34px; font-size: 15px; font-weight: bold; }
.widget_bizcalendar #biz_calendar table.bizcal td:before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; margin: auto; width: 85%; height: 85%; border-radius: 100%; background: #fff; }
.widget_bizcalendar #biz_calendar table.bizcal td span { position: relative; z-index: 1; color: #252525; }
.widget_bizcalendar #biz_calendar table.bizcal th:nth-last-of-type(1),
.widget_bizcalendar #biz_calendar table.bizcal th:first-child { color: #000;}
.widget_bizcalendar #biz_calendar table.bizcal tbody tr:first-child td { font-size: 20px; font-weight: bold; letter-spacing: .1em; color: #000; }
.widget_bizcalendar #biz_calendar table.bizcal tbody tr:first-child td:before { display: none; }
.widget_bizcalendar #biz_calendar table.bizcal .holiday { background: none; }
.widget_bizcalendar #biz_calendar table.bizcal .holiday:before { background: #252525; }
.widget_bizcalendar #biz_calendar table.bizcal .holiday span { color: #fff; }
.widget_bizcalendar #biz_calendar table.bizcal .eventday { background: none; }
.widget_bizcalendar #biz_calendar table.bizcal .eventday:before { background: #f2ee72; }
/* .widget_bizcalendar #biz_calendar table.bizcal .today:before { background-color: #f2ee72; } */
.widget_bizcalendar #biz_calendar p { color: #000; display: inline-block; margin-right: 20px; margin-left: 10px; margin-top: 10px;}
.widget_bizcalendar #biz_calendar p span.boxeventday,
.widget_bizcalendar #biz_calendar p span.boxholiday { padding: 3px 0; margin-right: 6px; position: relative; top: 4px; border-radius: 100%; width: 17px; height: 17px; display: inline-block; }
.widget_bizcalendar #biz_calendar p span.boxholiday { background-color: #242424; }
.widget_bizcalendar #biz_calendar p span.boxeventday { background-color: #f2ee72; }
.widget_bizcalendar #biz_calendar table.bizcal .up-img { text-align: right;}
.widget_bizcalendar #biz_calendar table.bizcal .down-img { text-align: left;}
.widget_bizcalendar #biz_calendar table.bizcal .calmonth { border: none; padding-bottom: 15px; }
.widget_bizcalendar #biz_calendar table.bizcal .calbtn { border: none; padding-bottom: 15px; }
@media (max-width: 767px) {
	.widget_bizcalendar { padding-left: 10px; padding-right: 10px; }
	.widget_bizcalendar #biz_calendar table.bizcal td { height: 48.57px; }
}


/* widget */
.widget-title { font-size: 15px; padding-top: 0px; margin-bottom: 10px; position: relative; padding-left: 20px; line-height: 50px; background: #f2ef59; color: #000; }
.widget-title:after { position: absolute; top: 0; left: 0; content: ''; margin-left: 0px; width: 6px; height: 100%; background: #ffcc4d; }
.side-list li a { display: flex; align-items: center; padding: 15px 0; border-bottom: 1px solid #cdcdcd; }
.side-list li a .photo { width: 100px; }
.side-list li a .photo figure { padding-top: 60%; }
.side-list li a .names { width: calc(100% - 100px); padding-left: 10px; font-size: 12px; }
.tagcloud a { padding: 5px 15px 5px 0; display: inline-block; }
.tagcloud a:before { content: "#"; }
.teams { background: #f8f7f3; padding: 30px; }
.teams h4 { font-size: 14px; padding-bottom: 15px; border-bottom: 1px solid #dad8d2; margin-bottom: 20px; font-weight: bold; }
.teams ul { margin-bottom: 20px; }
.teams ul li { font-size: 12px; line-height: 15px; padding-bottom: 10px; }
@media (max-width: 767px) {
	.side { margin-bottom: 60px; }
	.side .recruit { text-align: center; }
}

article.blog section.blog h2.title { color: #000; background: #f8f4eb; padding-top: 70px; padding-bottom: 70px; margin-bottom: 60px; }
@media (max-width: 767px) {
	article.blog section.blog h2.title { padding-top: 35px; padding-bottom: 35px; margin-bottom: 30px; }
}


/* plan */
section.plan h2.title { color: #000; background: #f8f4eb; padding-top: 70px; padding-bottom: 70px; margin-bottom: 60px; }
section.plan .cnt { text-align: center; margin-bottom: 40px; font-size: 15px; letter-spacing: .05em; }
#masonry { width: 100% !important; overflow: auto; margin-bottom: 100px; min-height: 300px; }
#masonry .grid { width: 215px; margin: 10px; padding: 3px; float: left; background: #dfdfdf; color: #fff; display: inline; }
#masonry .grid span { height: 22px; width: 40px; background: #fdb42b; color: #fff; display: block; text-align: center; line-height: 22px; font-size: 13px; letter-spacing: .05em; position: absolute; top: 0px; left: 0; z-index: 1; }
#masonry .grid a { display: block; }
#masonry .grid a:after { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: #000; opacity: 0; transition: .3s; }
#masonry .grid a:hover:after { opacity: .5; transition: .3s; }
@media (max-width: 767px) {
	#masonry .grid { width: calc(47% - 10px); }
}

/* voice */
section.voice { padding: 30px 0 90px; }
section.voice h2 { padding-bottom: 25px; }
section.voice .post-wrap { background: #fff; margin-bottom: 30px; }
section.voice .post-wrap .post-image img { object-fit: cover; width: 100%; height: 250px; }
section.voice .post-wrap .cat-area { padding: 15px 0 15px 0; }
section.voice .post-wrap .cat-area .place { font-weight: bold; font-size: 14px; position: relative; top: 2px; padding-left: 5px; }
section.voice .post-wrap .cat-area p { display: inline-block; margin-right: 3px; margin-bottom: 2px; background: #f2ef59; color: #000; padding: 5px 10px; border-radius: 0; font-size: 11px; letter-spacing: 1px; }
section.voice .post-wrap .cat-area p span { font-size: 14px; font-weight: bold; }
section.voice .post-wrap .post-title { padding: 0 0 20px 0; }
@media (max-width: 767px) {
	section.voice .post-wrap { margin-bottom: 10px; }
	section.voice .post-wrap .cat-area { padding: 8px 0 5px; }
	section.voice .post-wrap .post-title { font-size: 12px; line-height: 18px; }
	section.voice .post-wrap .post-image img { height: 130px; }
	section.voice .row { margin-left: -5px; margin-right: -5px; }
	section.voice .row .col-xs-6 { padding-left: 5px; padding-right: 5px; }
}



/* contact */
.contact header+.container-fluid .wpcf7-form input { border: 0; border-bottom: 1px solid #ccc; box-shadow: none; border-radius: 0; padding: 6px 6px; }
.contact header+.container-fluid .wpcf7-form input:focus { border-color: #404040; }
.contact header+.container-fluid .wpcf7-form textarea { border: 0; border: 1px solid #ccc; box-shadow: none; border-radius: 0; height: 150px; padding: 6px 6px; }
.contact header+.container-fluid .wpcf7-form textarea:focus { border-color: #404040; }
.contact header+.container-fluid .wpcf7-form select { border: 0; outline: 1px solid #ccc; outline-offset: -1px; box-shadow: none; border-radius: 0; padding: 6px 6px; }
.contact header+.container-fluid .wpcf7-form select:focus { border-color: #404040; }
.contact header+.container-fluid .form-group { margin-bottom: 50px; }
.contact header+.container-fluid input.wpcf7-submit { max-width: 300px; width: 100%; margin: auto; display: block; background: #fff; transition: 0.3s; color: #232222; border: 1px solid #ccc; letter-spacing: .02em; margin-bottom: 80px; }
.contact header+.container-fluid input.wpcf7-submit:hover { border-color: #404040; }
.contact header+.container-fluid .cfm p { margin-top: 10px; }
.contact header+.container-fluid .cfm span { color: #A10; font-size: 12px; font-weight: bold; margin-left: 10px; }
.contact header+.container-fluid .cfm div { margin-bottom: 40px; }
.contact header+.container-fluid .head_line { margin-bottom: 40px; }
.contact header+.container-fluid .kojin { height: 300px; overflow-y: auto; border: 1px solid #ccc; padding: 20px; margin-top: 10px; }
.contact header+.container-fluid .checkbox { text-align: center; }
.wpcf7-not-valid { background: #f2ef593 color: #000;6 !important; }

.contact_wrap { padding: 90px 0; }
.contact_wrap .container-fluid { max-width: 930px; }
.contact_wrap h2 { margin-bottom: 50px; }
.contact_wrap h2+p { line-height: 24px; text-align: center; font-weight: bold; font-size: 18px; line-height: 1.8; letter-spacing: .02em; padding-bottom: 60px; }
.contact_wrap .tel_wrap { text-align: center; padding-bottom: 70px; }
.contact_wrap .tel_wrap h3 { text-align: left; }
.contact_wrap .tel_wrap img { padding: 15px 0 20px; }
.contact_wrap .tel_wrap p { font-weight: bold; font-size: 14px; }
table.contact_form { width: 100%; margin-top: 40px; border: 1px solid #e1e1e1; margin-bottom: 30px; }
table.contact_form tr { border-bottom: 1px solid #e7e7e7; }
table.contact_form th { background-color: #f8f7f3; padding: 29px 15px; text-align: left; width: 33%; vertical-align: baseline; font-weight: bold; position: relative; }
table.contact_form th span { position: absolute; right: 20px; top: 3px; margin: auto; height: 20px; width: 40px; padding: 2px 5px; text-align: center; border-radius: 3px; font-size: 12px; background: #da5959; color: #fff; font-weight: normal; line-height: 	1.3; }
table.contact_form td { padding: 15px; text-align: left; width: 67%; position: relative; }
table.contact_form td .red-text { color: #dc3232; margin-top: 5px; display: block; }
table.contact_form .your-zipcode { padding-left: 30px; position: relative; max-width: 200px; }
table.contact_form .your-zipcode:after { position: absolute; content: "縲�"; height: 20px; margin: auto; font-size: 16px; top: 0; bottom: 0; left: 0; display: block; }
table.contact_form .form-group { margin-bottom: 0; }
table.contact_form .form-control { border: none; box-shadow: none; border-radius: 0; border: 1px solid #d8d8d8; font-size: 100%; height: 40px; padding: 6px 12px; }
table.contact_form tr.name .form-group,
table.contact_form .your-name,
table.contact_form tr.kana .form-group,
table.contact_form .your-kana { display: block; max-width: 300px; }
table.contact_form tr.add .form-group,
table.contact_form .your-add1,
table.contact_form tr.add2 .form-group,
table.contact_form .your-add2 { display: block; max-width: 450px; }
table.contact_form tr.tel .form-group,
table.contact_form .your-tel { display: block; max-width: 300px; }
table.contact_form tr.mail .form-group,
table.contact_form .your-email { display: block; max-width: 450px; }
table.contact_form tr.subj .form-group,
table.contact_form .your-check1,
table.contact_form tr.trig .form-group,
table.contact_form .your-check2 { display: block; max-width: 250px; }
table.contact_form .form-group select { border: 0; outline: 1px solid #d8d8d8; outline-offset: -1px; }
.contact_wrap .checkbox-175 { margin-top: 5px; display: block; font-weight: normal; }
.contact_wrap .cfm .rel { text-align: center; }
.contact_wrap .cfm .rel .form-group { display: inline-block; }
.contact_wrap .cfm .rel .center { display: inline-block; position: relative; top: -5px; }
.contact_wrap .contact_form p,
.contact_wrap .kojin div { font-size: 14px; line-height: 1.8; position: relative; }
.contact_wrap p.comment { font-weight: bold; padding-bottom: 5px; font-size: 14px; }
.contact_wrap .kojin { margin-bottom: 30px; }
.contact_wrap .kojin div { border: 1px solid #d6d6d6; padding: 25px; overflow: scroll; height: 155px; }
a.link_btn { height: 50px; display: block; color: #fff; max-width: 270px; line-height: 50px; width: 100%; position: relative; overflow: hidden; text-align: center; margin-left: auto; margin-right: auto; }
a.link_btn:after { content: ""; position: absolute; display: block; right: -9px; bottom: -9px; width: 18px; height: 18px; transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); background: #ffdb80;}
a.link_btn:before { content: ""; position: absolute; left: -1px; top: 0; width: 1px; height: 100%; background: #ffffff20; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s;}
a.link_btn input[disabled] { background: rgba(255, 182, 0, 0.5);}
a.link_btn input { border-radius: 0; background: rgba(255, 182, 0, 1); width: 100%; height: 100%; border: none; position: absolute; top: 0; left: 0; cursor: pointer;}
span.link_btn { height: 50px; display: block; color: #fff; max-width: 270px; line-height: 50px; width: 100%; position: relative; overflow: hidden; text-align: center; margin-left: auto; margin-right: auto;}
span.link_btn:after { content: ""; position: absolute; display: block; right: -9px; bottom: -9px; width: 18px; height: 18px; transform: rotate(-45deg); -moz-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); background: #ffdb80;}
span.link_btn:before { content: ""; position: absolute; left: -1px; top: 0; width: 1px; height: 100%; background: #ffffff20; transition: 0.3s; -webkit-transition: 0.3s; -moz-transition: 0.3s; -ms-transition: 0.3s;}
span.link_btn input[disabled] { background: rgba(255, 182, 0, 0.5);}
span.link_btn input { border-radius: 0; background: rgba(255, 182, 0, 1); width: 100%; height: 100%; border: none; position: absolute; top: 0; left: 0;}
.submit_parent.active:before { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 2; transition: 0s; background: rgba(0,0,0,.3); -webkit-transition: 0s; -moz-transition: 0s; -ms-transition: 0s;}
@media only screen and (max-width: 767px) {
  .contact_wrap h2+p { line-height: 2.4rem; padding-bottom: 40px;}
  .contact_wrap .tel_wrap img { max-width: 90%;}
  .contact_wrap .tel_wrap { padding-bottom: 40px;}
  table.contact_form,
  table.contact_form tr,
  table.contact_form th,
  table.contact_form td,
  table.contact_form tbody { display: block; width: 100%;}
  table.contact_form th { padding: 10px 15px;}
  table.contact_form th span { top: 0; bottom: 0;}
  .contact_wrap .cfm .rel .form-group { height: 33px; margin-bottom: 0;}
  .contact_wrap .contact_form p, .contact_wrap .kojin div { line-height: 2.2rem;}
}
