@charset "UTF-8";
/* TOP
------------------------------------------*/
/*TOPアニメーション*/
.mv-text.anima-t { transform: translateY(50px); opacity: 0; transition: 0.3s; }

.mv-text.anima-t.anima { animation: fuwa 0.3s ease-out 0.8s 1 forwards; }

div#top-news.anima-t { transform: translateY(50px); opacity: 0; transition: 0.3s; }

div#top-news.anima-t.anima { animation: fuwa 0.3s ease-out 0.3s 1 forwards; }

.top-cont01.flex.anima-t { transform: translateY(50px); opacity: 0; transition: 0.3s; }

.top-cont01.flex.anima-t.anima { animation: fuwa 0.3s ease-out 0.3s 1 forwards; }

section#top-sec02 .wrap.anima-t .text, section#top-sec02 .wrap.anima-t .btn01 { transform: translateY(50px); opacity: 0; transition: 0.3s; }

section#top-sec02 .wrap.anima-t.anima .text, section#top-sec02 .wrap.anima-t.anima .btn01 { animation: fuwa 0.3s ease-out 0.5s 1 forwards; }

section#top-sec03 .tit-head.flex .text.anima-t { transform: translateY(50px); opacity: 0; transition: 0.3s; }

section#top-sec03 .tit-head.flex .text.anima-t.anima { animation: fuwa 0.3s ease-out 0.3s 1 forwards; }

.service-list01.flex div.box.anima-t { transform: translateY(80px); opacity: 0; transition: 0.3s; }

.service-list01.flex div.box.anima-t.anima { animation: fuwa02 0.5s ease-out 0.4s 1 forwards; }

.service-list01.flex div.box.anima-t.anima:nth-child(2), .service-list01.flex div.box.anima-t.anima:nth-child(5) { animation: fuwa02 0.5s ease-out 0.7s 1 forwards; }

.service-list01.flex div.box.anima-t.anima:nth-child(3), .service-list01.flex div.box.anima-t.anima:nth-child(6) { animation: fuwa02 0.5s ease-out 0.9s 1 forwards; }

section#top-sec04 .tit-head.flex .text.anima-t { transform: translateY(50px); opacity: 0; transition: 0.3s; }

section#top-sec04 .tit-head.flex .text.anima-t.anima { animation: fuwa 0.3s ease-out 0.3s 1 forwards; }

.slider01.works-s-list01.anima-t article.works-art01 { transform: translateY(80px); opacity: 0; transition: 0.3s; }

.slider01.works-s-list01.anima-t.anima article.works-art01 { animation: fuwa02 0.5s ease-out 0.4s 1 forwards; }

.rec-cont.anima-t .textBox, .rec-cont.anima-t .link-btn01 { transform: translateY(50px); opacity: 0; transition: 0.3s; }

.rec-cont.anima-t.anima .textBox, .rec-cont.anima-t.anima .link-btn01 { animation: fuwa 0.5s ease-out 0.4s 1 forwards; }

.sbBox.anima-t .sb, .sbBox.anima-t .hum { transform: translateY(50px); opacity: 0; transition: 0.3s; }

.sbBox.anima-t.anima .sb { animation: fuwa 0.5s ease-out 0.8s 1 forwards; }
.sbBox.anima-t.anima .hum { animation: fuwa 0.5s ease-out 0.4s 1 forwards; }

.aside-inner.flex .box.anima-t h3.aside-sub, .aside-inner.flex .box.anima-t .tel-set, .aside-inner.flex .box.anima-t .btn01 { transform: translateY(50px); opacity: 0; transition: 0.3s; }
.aside-inner.flex .box.box03.anima-t.anima h3.aside-sub, .aside-inner.flex .box.box03.anima-t.anima .tel-set { animation: fuwa 0.5s ease-out 0.4s 1 forwards; }
.aside-inner.flex .box.box01.anima-t.anima h3.aside-sub, .aside-inner.flex .box.box01.anima-t.anima .btn01 { animation: fuwa 0.5s ease-out 0.7s 1 forwards; }
.aside-inner.flex .box.box02.anima-t.anima h3.aside-sub, .aside-inner.flex .box.box02.anima-t.anima .btn01 { animation: fuwa 0.5s ease-out 0.9s 1 forwards; }

@keyframes fuwa { 0% { transform: translateY(50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; } }
@keyframes fuwa02 { 0% { transform: translateY(80px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; } }
/*TOPアニメーション終わり*/
div#mv-slider { margin-bottom: 0; }
div#mv-slider .slick-counter { color: #fff; position: absolute; line-height: 24px; right: 280px; bottom: 30px; z-index: 5; }
div#mv-slider ul.slick-dots { text-align: right; bottom: 43px; display: flex; width: 226px; right: 40px; z-index: 5; }
div#mv-slider ul.slick-dots li { width: 100%; height: 4px; margin: 0; position: absolute; left: 0; top: 0; background: #FFFFFF; }
div#mv-slider ul.slick-dots li.slick-active { padding: 0; z-index: 3; }
div#mv-slider ul.slick-dots li.slick-active button { width: 0; animation: dot01 5s ease-out 0s 1 forwards; }
div#mv-slider ul.slick-dots button { width: 0; height: 4px; background: #409CCA; padding: 0; transition: 5s; }
div#mv-slider ul.slick-dots button:before { content: none; }

span.dot-sikiri { margin: 0 10px; }

@keyframes dot01 { 0% { width: 0; }
  100% { width: 100%; } }
.scr-text { background: url("../img/common/scroll-bg.png") no-repeat right center; height: 290px; width: 145px; position: absolute; bottom: -145px; left: 0; z-index: 5; padding-top: 108px; box-sizing: border-box; }
.scr-text a { display: block; padding-left: 20px; position: relative; padding-bottom: 45px; }
.scr-text a img { display: block; }
.scr-text a .bar { width: 10px; height: 35px; position: absolute; bottom: 0; left: 45px; overflow: hidden; }
.scr-text a .bar:before { content: ""; width: 1px; height: 35px; background: #fff; position: absolute; left: 0; right: 0; margin: 0 auto; }
.scr-text a span.hishi { position: absolute; left: 0; top: -60px; animation: scr01 1.6s linear 0.2s infinite forwards; }

@keyframes scr01 { 0% { top: -60px; }
  100% { top: 60px; } }
.m-slider { height: 700px !important; overflow: hidden; }

.slide-img { height: 700px; width: 100%; position: absolute; left: 0; top: 0; transition: 0.5s; }

.m-slider.m-slider01 .slide-img { background: url("../img/main/slide01.jpg") no-repeat center top; background-size: cover; }

.m-slider.m-slider02 .slide-img { background: url("../img/main/slide02.jpg") no-repeat center top; background-size: cover; }

.m-slider.m-slider03 .slide-img { background: url("../img/main/slide03.jpg") no-repeat center top; background-size: cover; }

@media screen and (min-width: 0px) and (max-width: 1300px) { .m-slider.m-slider01 .slide-img { background: url("../img/main/slide01-m.jpg") no-repeat center top; background-size: cover; }
  .m-slider.m-slider02 .slide-img { background: url("../img/main/slide02-m.jpg") no-repeat center top; background-size: cover; }
  .m-slider.m-slider03 .slide-img { background: url("../img/main/slide03-m.jpg") no-repeat center top; background-size: cover; } }
.mv-text { position: absolute; top: 140px; color: #fff; font-family: "min"; color: #fff; left: 0; right: 0; width: 554px; z-index: 2; margin: 0 auto; }

.home div#contents { background: #F5F5F5; }

.tit-head.flex { align-items: center; justify-content: space-between; margin-bottom: 50px; }
.tit-head.flex .titles01 { text-align: left; margin-bottom: 0; }

div#top-news { display: flex; align-items: center; background: #FFFFFF; padding: 25px 30px; margin: 0 auto 120px; width: 900px; border-radius: 10px; box-sizing: border-box; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
div#top-news .link-btn01 { margin-left: auto; }

.news-area { width: 560px; margin-bottom: 0 !important; }

article.news-art.slick-slide.slick-current.slick-active { opacity: 1; }

article.news-art.slick-slide { opacity: 0; }

.news-tit { line-height: 30px; width: 92px; font-weight: 700; font-size: 18px; border-right: solid 1px #BCBCBC; margin-right: 20px; }

article.news-art { display: flex !important; flex-wrap: wrap !important; align-items: center; color: #727171; width: 560px; transition: 0.3s; }
article.news-art .news-date { font-size: 16px; width: 95px; color: #727171; position: relative; top: 1px; }
article.news-art h3 { width: calc(100% - 95px); }
article.news-art h3 a { display: block; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-weight: 500; color: #727171; }
article.news-art h3 a:hover { opacity: 0.7; }

section#top-sec01 { padding: 50px 0 120px; background: url("../img/top/bg-t01.svg") repeat-x center bottom -3px, url("../img/top/bg01.jpg") repeat-x center top, #fff; }
section#top-sec01 .titles01 { margin-bottom: 80px; }

.top-cont01.flex { justify-content: center; position: relative; }
.top-cont01.flex .left { width: 400px; margin-right: 50px; padding-bottom: 50px; box-sizing: border-box; }
.top-cont01.flex .left .copy01 { text-align: center; }
.top-cont01.flex .right { width: 456px; color: #727171; }
.top-cont01.flex .link-btn01 { position: absolute; bottom: 20px; z-index: 2; right: calc(50% + 194px); }

.copy01 { font-size: 26px; font-weight: 700; line-height: 1.76; }

section#top-sec02 { background: url("../img/top/bg02.jpg") no-repeat center top; background-size: cover; overflow: hidden; }
section#top-sec02 .wrap { padding: 120px 0; color: #fff; box-sizing: border-box; height: 725px; }
section#top-sec02 .wrap .titles01 .en { color: #fff; }
section#top-sec02 .wrap .titles01 .en span { background-image: url("../img/common/tit-ico02.svg"), url("../img/common/tit-ico02.svg"); }
section#top-sec02 .wrap .titles01 .jp { color: #fff; }
section#top-sec02 .wrap > .text { width: 492px; margin: 0 auto; text-align: center; }
section#top-sec02 .wrap .btn01 { margin: 80px auto 0; }

div.v-slider > div.vslider { width: 420px; position: absolute; z-index: 2; top: 0; }

div#vslide01 { right: calc(50% + 397px); }
div#vslide01 .vs02 { text-align: right; }

div#vslide02 { left: calc(50% + 397px); }
div#vslide02 .vs01 { text-align: right; }

.vslide-list { overflow: hidden; padding-top: 40px; }
.vslide-list img { border-radius: 5px; }

.vslider01 .vslide-wrapper:first-child { animation: loop 90s -45s linear infinite; }

.vslider01 .vslide-wrapper:last-child { animation: loop2 90s linear infinite; }

.vslider02 .vslide-wrapper:first-child { animation: loop3 90s -45s linear infinite; }

.vslider02 .vslide-wrapper:last-child { animation: loop4 90s linear infinite; }

@keyframes loop { 0% { transform: translateY(100%); }
  to { transform: translateY(-100%); } }
@keyframes loop2 { 0% { transform: translateY(0); }
  to { transform: translateY(-200%); } }
@keyframes loop3 { 0% { transform: translateY(-100%); }
  to { transform: translateY(100%); } }
@keyframes loop4 { 0% { transform: translateY(-200%); }
  to { transform: translateY(0); } }
section#top-sec03:before { content: ""; width: 100%; height: 380px; background: #F5F5F5; position: absolute; left: 0; bottom: 0; }

section#top-sec03:after { content: ""; width: 100%; height: 139px; background: url(../img/p02/bg-bottom01.svg) repeat-x center top; position: absolute; left: 0; bottom: 380px; }

section#top-sec03 { padding: 120px 0 0; background: #fff; position: relative; }
section#top-sec03 .wrap { z-index: 3; }
section#top-sec03 .tit-head.flex { box-sizing: border-box; align-items: flex-end; }
section#top-sec03 .tit-head.flex .text { width: calc(100% - 174px); line-height: 1.9; color: #727171; position: relative; bottom: -9px; }
section#top-sec03 .btn01 { margin: 80px auto 0; }

.service-list01.flex { margin-top: -70px; }
.service-list01.flex div.box { width: 340px; margin: 70px 40px 0 0; }
.service-list01.flex div.box a { display: block; text-decoration: none; }
.service-list01.flex div.box a .img { border-radius: 5px; overflow: hidden; position: relative; margin-bottom: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); transition: 0.3s; }
.service-list01.flex div.box a .img img { display: block; transition: 0.3s; }
.service-list01.flex div.box a .img .arrow { z-index: 2; width: 50px; height: 40px; background: #fff; border-radius: 10px; transition: 0.3s; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; border-radius: 5px 0 5px 0; position: absolute; right: 0; bottom: 0; }
.service-list01.flex div.box a .img .arrow img { display: block; transition: 0.3s; opacity: 1 !important; }
.service-list01.flex div.box a .cont { line-height: 1.9; }
.service-list01.flex div.box a .cont .tit { line-height: 1.5; font-size: 18px; font-weight: 700; margin-bottom: 20px; }
.service-list01.flex div.box a .cont .text { color: #727171; }
.service-list01.flex div.box a:hover .img { box-shadow: 0 0 0 rgba(0, 0, 0, 0.4); }
.service-list01.flex div.box a:hover .img img { transform: scale(1.1); }
.service-list01.flex div.box a:hover .img .arrow { background: #0061A5; }
.service-list01.flex div.box a:hover .img .arrow img { filter: brightness(0) saturate(100%) invert(98%) sepia(2%) saturate(8%) hue-rotate(353deg) brightness(101%) contrast(104%); }
.service-list01.flex div.box:nth-child(3n) { margin-right: 0; }

section#top-sec04 { padding: 120px 0 100px; overflow: hidden; }
section#top-sec04 .link-btn01 { position: absolute; right: 0; top: 72px; z-index: 2; }
section#top-sec04 .tit-head.flex { box-sizing: border-box; padding-right: 160px; align-items: flex-end; }
section#top-sec04 .tit-head.flex .text { width: calc(100% - 174px); line-height: 1.9; color: #727171; position: relative; bottom: -9px; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0s; width: 70px; height: 60px; box-sizing: border-box; border: none; border: solid 1px #0061A5; border-radius: 5px; transition: 0.3s; box-shadow: 0 0 6px rgba(0, 0, 0, 0.4); }

button.slick-prev.slick-arrow { background: url("../img/common/slide-arrow01.svg") no-repeat center #0061A5; left: 0; }

button.slick-next.slick-arrow { background: url("../img/common/slide-arrow02.svg") no-repeat center #0061A5; right: 0; }

button.slick-arrow:before { content: none; }

button.slick-prev.slick-arrow:hover { background-image: url("../img/common/slide-arrow01h.svg"); background-color: #fff; box-shadow: 0 0 0 rgba(0, 0, 0, 0.4); }

button.slick-next.slick-arrow:hover { background-image: url("../img/common/slide-arrow02h.svg"); background-color: #fff; box-shadow: 0 0 0 rgba(0, 0, 0, 0.4); }

div.slider01.works-s-list01 { width: calc(50% + 50vw); padding-bottom: 100px; margin-bottom: 0; }
div.slider01.works-s-list01 .slick-list { padding-left: 10px; margin-left: -10px; padding-top: 10px; margin-top: -10px; }
div.slider01.works-s-list01 article.works-art01 { margin-right: 40px; }
div.slider01.works-s-list01 ul.slick-dots { text-align: left; bottom: 20px; display: flex; width: 890px; }
div.slider01.works-s-list01 ul.slick-dots li { width: calc(100% / 10); height: 6px; margin: 0; }
div.slider01.works-s-list01 ul.slick-dots li.slick-active { padding: 0; }
div.slider01.works-s-list01 ul.slick-dots li.slick-active button { background: #2F719D; }
div.slider01.works-s-list01 ul.slick-dots button { width: 100%; height: 6px; background: #BEBEBE; padding: 0; }
div.slider01.works-s-list01 ul.slick-dots button:before { content: none; }
div.slider01.works-s-list01 button.slick-arrow { top: auto; bottom: 0; transform: translateY(0); }
div.slider01.works-s-list01 button.slick-prev.slick-arrow { left: calc(1100px - 160px); }
div.slider01.works-s-list01 button.slick-next.slick-arrow { left: calc(1100px - 70px); right: auto; }

article.works-art01 { width: 340px; }
article.works-art01 a { display: block; text-decoration: none; }
article.works-art01 a .infos { justify-content: space-between; }
article.works-art01 a .img { overflow: hidden; border-radius: 5px; margin-bottom: 20px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); transition: 0.3s; }
article.works-art01 a .img .in-img { padding-top: 75%; transition: 0.3s; border-radius: 5px; }
article.works-art01 a .cont { line-height: 1.9; color: #727171; }
article.works-art01 a:hover .img { box-shadow: 0 0 0 rgba(0, 0, 0, 0.4); }
article.works-art01 a:hover .img .in-img { transform: scale(1.1); }

section.rec-sec { width: calc(100% - 100px); margin: 0 auto; background: url("../img/top/bg03.jpg") no-repeat center; background-size: cover; border-radius: 15px; padding: 80px 0; position: relative; min-height: 518px; }
section.rec-sec .titles01 { margin-bottom: 30px; }

div.rec-cont { width: 475px; box-sizing: border-box; height: calc(100% - 160px); position: relative; min-height: 518px; left: calc(50% + 74px); border-radius: 5px; background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(5px); padding: 46px 70px 70px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); }
div.rec-cont .textBox { padding-bottom: 40px; margin-bottom: 40px; border-bottom: solid 1px #BCBCBC; line-height: 1.9; }
div.rec-cont .link-btn01 { text-align: center; }

div#fancybox-outer { box-shadow: none !important; background: #fff; border-radius: 5px; padding: 30px; }

a#fancybox-close { background: url("../img/common/batsu.svg") no-repeat center; background-size: contain; border-radius: 0; right: 0; top: -60px; transition: 0.3s; }
a#fancybox-close > span { display: none; }

a#fancybox-close:hover { opacity: 0.7; }

.titles01.t-ico01 .en { background: url("../img/top/t-ico01.svg") no-repeat center top; height: 43px; display: block; }
.titles01.t-ico01 .en > span { display: none; }

.titles01.t-ico02 .en { background: url("../img/top/t-ico02.svg") no-repeat center top; height: 44px; display: block; }
.titles01.t-ico02 .en > span { display: none; }

.titles01.t-ico03 .en { background: url("../img/top/t-ico03.svg") no-repeat center top; height: 46px; display: block; }
.titles01.t-ico03 .en > span { display: none; }

.titles01.t-ico04 .en { background: url("../img/top/t-ico04.svg") no-repeat center top; height: 40px; display: block; }
.titles01.t-ico04 .en > span { display: none; }

.titles01.t-ico05 .en { background: url("../img/top/t-ico05.svg") no-repeat center top; height: 44px; display: block; }
.titles01.t-ico05 .en > span { display: none; }

.titles01.tit-c .en { background: url("../img/top/tit-ico-contact.svg") no-repeat center top; height: 47px; display: block; }
.titles01.tit-c .en > span { display: none; }

.home aside.aside01 { background: #F5F5F5; }

/*　02　料金表
----------------------------------*/
body:not(.home) { background-image: url("../img/p02/umv-bg.jpg"); background-repeat: no-repeat; background-position: center top 100px; }
body:not(.home) aside.aside01:before { content: ""; width: 100%; height: 139px; background: url("../img/p02/bg-bottom01.svg") repeat-x center top; position: absolute; left: 0; bottom: 100%; }
body:not(.home) aside.aside01 { background: #F5F5F5; position: relative; padding-top: 50px; }
body:not(.home) aside.aside01 .tit-head.flex { display: none; }

.mv-tit { text-align: center; margin-top: 50px; }
.mv-tit > span { display: inline-block; min-width: 335px; background: url("../img/p02/mv-tit-bg.jpg") no-repeat center; background-size: cover; border-radius: 60px; color: #fff; font-weight: 700; font-size: 32px; line-height: 1; padding: 22px 70px; box-sizing: border-box; }

.umv-text01 { text-align: center; margin: 30px auto 0; color: #727171; }

div#p02Box01 { padding: 140px 0 120px; }

div.links01.flex { margin-bottom: 120px; }

div.link-btn { width: 204px; height: 80px; display: table; margin-right: 20px; }
div.link-btn a { text-decoration: none; position: relative; display: table-cell; text-align: center; vertical-align: middle; padding-bottom: 10px; font-size: 18px; font-weight: 700; color: #BCBCBC; border: solid 1px #BCBCBC; border-radius: 5px; }
div.link-btn a span.arrow { position: absolute; left: 0; right: 0; bottom: 9px; margin: 0 auto; z-index: 2; width: 16px; }
div.link-btn a span.arrow img { display: block; transition: 0.3s; opacity: 1; }
div.link-btn a:hover { background: #0061A5; color: #fff; border-color: #0061A5; }
div.link-btn a:hover span.arrow img { filter: brightness(0) saturate(100%) invert(83%) sepia(100%) saturate(1%) hue-rotate(208deg) brightness(103%) contrast(102%); }

div.link-btn:nth-child(5n) { margin-right: 0; }

.p02-cont01.flex { justify-content: space-between; }
.p02-cont01.flex .cont { width: 608px; }
.p02-cont01.flex .img { width: 429px; margin-top: 20px; }

.priceTBL01 .col01 { width: 120px; }
.priceTBL01 .col02 { width: 340px; }
.priceTBL01 .col03 { width: 150px; }
.priceTBL01 th, .priceTBL01 td { box-sizing: border-box; border: solid 1px #DEDEDE; }
.priceTBL01 thead th { background: #0061A5; color: #fff; font-weight: 700; text-align: center; vertical-align: middle; height: 60px; }
.priceTBL01 tbody { background: #fff; }
.priceTBL01 tbody th { text-align: center; }
.priceTBL01 tbody th, .priceTBL01 tbody td { height: 60px; color: #727171; line-height: 1.375; font-weight: 500; vertical-align: middle; }
.priceTBL01 tbody td.col02 { padding: 3px 30px; text-align: left; }
.priceTBL01 tbody.tbo02 { background: #F5F9FB; }
.priceTBL01 dl.flex.price-dl { justify-content: center; align-items: center; }
.priceTBL01 dl.flex.price-dl dt { width: 70px; text-align: right; }
.priceTBL01 dl.flex.price-dl dd { width: 40px; }

section.price-sec { margin-bottom: 120px; }

section.price-sec:last-child { margin-bottom: 0; }

section.price-sec.price-sec01 { margin-bottom: 110px; }

.priceTBL01.priceTBL01-2 .col01 { width: 370px; }
.priceTBL01.priceTBL01-2 .col02 { width: 472px; }
.priceTBL01.priceTBL01-2 .col03 { width: 260px; }

.price-img01 { text-align: center; margin-bottom: 30px; }

.price-img02 { text-align: center; margin-bottom: 30px; }

.price-op { color: #727171; font-size: 13px; }

.p02-cont02.flex { margin-top: 8px; justify-content: space-between; }
.p02-cont02.flex .cont { width: 570px; padding-top: 65px; }
.p02-cont02.flex .cont .priceTBL01.priceTBL01-2 .col01 { width: 370px; }
.p02-cont02.flex .cont .priceTBL01.priceTBL01-2 .col02 { width: 200px; }
.p02-cont02.flex .cont .priceTBL01.priceTBL01-2 dl.flex.price-dl dt, .p02-cont02.flex .cont .priceTBL01.priceTBL01-2 dl.flex.price-dl dd { width: auto; }
.p02-cont02.flex .img { width: 356px; }

h3.num-tit { margin-bottom: 20px; display: flex; flex-wrap: wrap; align-items: center; font-size: 22px; color: #409CCA; line-height: 1.18; }
h3.num-tit .num { width: 35px; height: 35px; border-radius: 100%; line-height: 35px; text-align: center; font-size: 22px; font-weight: 700; color: #fff; background: #409CCA; margin-right: 7px; }
h3.num-tit .text { width: calc(100% - 43px); }

section.price-sec.price-sec03 .inBox03 { margin-top: -10px; margin-bottom: 70px; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 .col01 { width: 370px; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 .col02 { width: 365px; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 .col03 { width: 367px; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 dl.flex.price-dl dd { width: auto; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 tbody th.col01 { padding-left: 150px; text-align: left; }
section.price-sec.price-sec03 .inBox03 .priceTBL01.priceTBL01-2 tbody td.col02 { padding-left: 80px; }
section.price-sec.price-sec03 .inBox04.flex { justify-content: space-between; }
section.price-sec.price-sec03 .inBox04.flex h3.num-tit { color: #EC5918; }
section.price-sec.price-sec03 .inBox04.flex h3.num-tit .num { background: #EC5918; }
section.price-sec.price-sec03 .inBox04.flex .priceTBL01 thead th { background: #EC9018; }
section.price-sec.price-sec03 .inBox04.flex .priceTBL01 tbody tr:nth-child(2n) th, section.price-sec.price-sec03 .inBox04.flex .priceTBL01 tbody tr:nth-child(2n) td { background: #FFF9F2; }
section.price-sec.price-sec03 .inBox04.flex .left { width: 470px; }
section.price-sec.price-sec03 .inBox04.flex .left .priceTBL01 .col01 { width: 270px; }
section.price-sec.price-sec03 .inBox04.flex .left .priceTBL01 .col02 { width: 200px; }
section.price-sec.price-sec03 .inBox04.flex .right { width: 580px; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 td { text-align: center; vertical-align: middle; padding: 0; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 .col01 { width: 146px; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 .col02 { width: 146px; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 .col03 { width: 146px; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 .col04 { width: 146px; }
section.price-sec.price-sec03 .inBox04.flex .right .priceTBL01 td.hide { opacity: 0; border: none; }

.pr-bikou01 { margin-top: 20px; line-height: 22px; color: #727171; font-size: 13px; }

div#p02Box02 { padding: 100px 0; background: #F5F5F5; }
div#p02Box02 .p02-cont02.flex { margin-top: -1px; margin-bottom: 30px; }
div#p02Box02 .p02-cont02.flex .cont { padding-top: 88px; }
div#p02Box02 .p02-cont02.flex .img { width: 377px; }
div#p02Box02 .inBox04.flex { justify-content: space-between; }
div#p02Box02 .inBox04.flex .priceTBL01 tbody tr:nth-child(2n) th, div#p02Box02 .inBox04.flex .priceTBL01 tbody tr:nth-child(2n) td { background: #F5F9FB; }
div#p02Box02 .inBox04.flex .left { width: 470px; }
div#p02Box02 .inBox04.flex .left .priceTBL01 .col01 { width: 270px; }
div#p02Box02 .inBox04.flex .left .priceTBL01 .col02 { width: 200px; }
div#p02Box02 .inBox04.flex .left .priceTBL01 tbody .col01 { padding-left: 40px; text-align: left; }
div#p02Box02 .inBox04.flex .left .priceTBL01 tbody .col02 { padding: 0; }
div#p02Box02 .inBox04.flex .left .priceTBL01 dl.flex.price-dl dd { width: 60px; }
div#p02Box02 .inBox04.flex .left .priceTBL01 tr:last-child dl.flex.price-dl dt { white-space: nowrap; }
div#p02Box02 .inBox04.flex .right { width: 580px; }
div#p02Box02 .inBox04.flex .right h3.num-tit { color: #EC5918; }
div#p02Box02 .inBox04.flex .right h3.num-tit .num { background: #EC5918; }
div#p02Box02 .inBox04.flex .right .priceTBL01 td { text-align: center; vertical-align: middle; padding: 0; }
div#p02Box02 .inBox04.flex .right .priceTBL01 .col01 { width: 146px; }
div#p02Box02 .inBox04.flex .right .priceTBL01 .col02 { width: 146px; }
div#p02Box02 .inBox04.flex .right .priceTBL01 .col03 { width: 146px; }
div#p02Box02 .inBox04.flex .right .priceTBL01 .col04 { width: 146px; }
div#p02Box02 .inBox04.flex .right .priceTBL01 td.hide { background: #F5F5F5 !important; border: none; }
div#p02Box02 .inBox04.flex .right .priceTBL01 thead th { background: #EC9018; }
div#p02Box02 .inBox04.flex .right .priceTBL01 tbody tr:nth-child(2n) th, div#p02Box02 .inBox04.flex .right .priceTBL01 tbody tr:nth-child(2n) td { background: #FFF9F2; }

div#p02Box03 { padding: 100px 0 240px; }
div#p02Box03 .priceTBL01 .col01 { width: 260px; }
div#p02Box03 .priceTBL01 .col02 { width: 270px; }
div#p02Box03 .priceTBL01 .col03 { width: 572px; }
div#p02Box03 .priceTBL01 tr.bg-2 th, div#p02Box03 .priceTBL01 tr.bg-2 td { background: #F5F9FB; }
div#p02Box03 .priceTBL01 tbody th.col01 { padding-left: 30px; text-align: left; }
div#p02Box03 .priceTBL01 tbody td.col02 { padding: 15px; }
div#p02Box03 .priceTBL01 tbody td.col03 { padding: 15px 22px; }
div#p02Box03 .priceTBL01 .kakko { width: 160px; margin: 3px auto 0; padding-left: 54px; }

/*　03　浄化槽点検・浄化槽清掃・し尿汲み取り
----------------------------------*/
div#p03Box01 { padding: 108px 0 120px; }
div#p03Box01 .btn01 { margin: 80px auto 0; }

.p03-cont01.flex { justify-content: space-between; width: 900px; margin: 0 auto 80px; }
.p03-cont01.flex .cont { width: 608px; color: #727171; }
.p03-cont01.flex .img { width: 252px; }

.tri-list03.flex > .box { width: 340px; margin-right: 40px; color: #727171; }
.tri-list03.flex > .box .img { margin-bottom: 15px; }
.tri-list03.flex > .box > h3 { color: #0061A5; font-size: 22px; margin-bottom: 10px; }
.tri-list03.flex > .box:nth-child(3n) { margin-right: 0; }

div#p03Box02 { background: #EDF4F9; padding: 100px 0; }
div#p03Box02 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#p03Box02 .wrap > section { width: 510px; }

section.car-box .img img { border-radius: 5px; }
section.car-box .cont { width: 403px; position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; margin: -27px auto 0; }
section.car-box .cont .sb { width: 250px; height: 116px; position: relative; background: #fff; border-radius: 5px; display: table; color: #727171; }
section.car-box .cont .sb > div { display: table-cell; text-align: center; vertical-align: middle; font-size: 18px; line-height: 24px; }
section.car-box .cont .sb > div .blue { color: #0061A5; }
section.car-box .cont .sb:after { content: ""; border-left: solid 15px #fff; border-top: solid 9px transparent; border-bottom: solid 9px transparent; width: 0; height: 0; position: absolute; left: calc(100% - 1px); top: 0; bottom: 0; margin: auto 0; }
section.car-box .cont .img01 { width: 123px; }

section.area-box > p { margin-bottom: 15px; color: #727171; }
section.area-box .cont { margin-top: 20px; box-sizing: border-box; background: #fff; border-radius: 5px; padding: 20px 20px; display: flex; flex-wrap: wrap; align-items: center; }
section.area-box .cont ul { color: #EC9018; line-height: 27px; border-right: solid 1px #DEDEDE; padding-right: 20px; margin-right: 20px; }
section.area-box .cont .are-text { color: #727171; font-size: 13px; }
section.area-box .cont > .box { padding-top: 4px; padding-bottom: 4px; }
section.area-box .cont > .box h3 { color: #EC9018; font-size: 16px; font-weight: 500; margin-bottom: 7px; }
section.area-box .cont > .box h3 .komoji { font-size: 13px; }
section.area-box .cont > .box .text { font-size: 13px; font-weight: 500; color: #727171; }
section.area-box .cont > .box.box01 { border-right: solid 1px #DEDEDE; padding-right: 20px; margin-right: 20px; }

ul.dot-list > li:before { content: "・"; }

div#p03Box03 { padding: 120px 0 240px; }

article.faq-art { margin-bottom: 50px; }

article.faq-art:last-child { margin-bottom: 0; }

h3.q-tit { background: #0061A5; color: #fff; font-weight: 700; font-size: 18px; display: flex; flex-wrap: wrap; align-items: flex-start; line-height: 26px; padding: 17px 20px; }
h3.q-tit .q-num { width: 45px; border-right: solid 1px #fff; margin-right: 20px; }
h3.q-tit .text { width: calc(100% - 66px); }

.a-text > div { padding-top: 30px; padding-left: 25px; display: flex; flex-wrap: wrap; align-items: flex-start; }
.a-text > div .a-tit { width: 40px; line-height: 26px; color: #0061A5; margin-right: 20px; border-right: solid 1px #0061A5; font-size: 18px; font-weight: 700; }
.a-text > div .a-text { line-height: 35px; color: #727171; width: calc(100% - 61px); margin-top: -5px; }

/*　04　水まわりサービス
----------------------------------*/
h1.mv-tit-img { margin-top: 50px; text-align: center; }

div#p04Box01 { padding: 100px 0; background: url("../img/p04/bg01.jpg") repeat-x center bottom; }
div#p04Box01 .btn01 { margin: 80px auto 0; }

div#p04Box02 { padding: 100px 0; background: url("../img/p04/bg01.jpg") repeat-x center bottom; }
div#p04Box02 .s-tit > span:after { background: url("../img/p04/t-ico02.svg") no-repeat; background-size: contain; width: 44px; height: 34px; left: calc(100% - 20px); top: -16px; }
div#p04Box02 .btn01 { margin: 80px auto 0; }
div#p04Box02 .trou-list-box.flex .img { right: 0; }

div#p04Box03 { padding: 100px 0; background: url("../img/p04/bg01.jpg") repeat-x center bottom; position: relative; margin-bottom: 389px; }
div#p04Box03 .s-tit > span:after { background: url("../img/p04/t-ico03.svg") no-repeat; background-size: contain; width: 32px; height: 30px; top: -12px; }
div#p04Box03 .btn01 { margin: 80px auto 0; }
div#p04Box03 .trou-list-box.flex .img { top: -43px; right: -23px; }

div#p04Box03:after { content: ""; background: url("../img/p04/bg01-bottom.jpg") repeat-x center top; width: 100%; left: 0; top: calc(100% - 1px); height: 100px; position: absolute; }

.p04-cont01.flex { justify-content: space-between; }
.p04-cont01.flex > .cont { width: 573px; }
.p04-cont01.flex > .cont .text { color: #727171; }
.p04-cont01.flex > .img { width: 466px; }
.p04-cont01.flex > .img img { border-radius: 5px; }

.s-tit { margin-bottom: 40px; line-height: 1.4; font-size: 26px; }
.s-tit > span { display: inline-block; position: relative; }
.s-tit > span:after { content: ""; background: url("../img/p04/t-ico01.svg") no-repeat; background-size: contain; width: 32px; height: 45px; position: absolute; left: 100%; top: -12px; }

.trou-list-box.flex { position: relative; align-items: center; margin-top: 100px; margin-bottom: 100px; }
.trou-list-box.flex h3 { margin-right: 30px; padding-right: 30px; border-right: solid 1px #DEDEDE; }
.trou-list-box.flex > .trou-cont { position: relative; z-index: 2; width: calc(100% - 270px); display: flex; flex-wrap: wrap; }
.trou-list-box.flex > .trou-cont ul.check-list01:first-child { margin-right: 30px; }
.trou-list-box.flex .img { position: absolute; right: -13px; top: -84px; }

ul.check-list01 > li { font-size: 18px; font-weight: 700; padding-left: 29px; line-height: 26px; background: url("../img/p04/ico-check.svg") no-repeat left top 1px; margin-bottom: 20px; }
ul.check-list01 > li:last-child { margin-bottom: 0; }

.sb-blue { text-align: center; margin-bottom: 45px; }
.sb-blue > span { display: inline-block; padding: 10px 40px; background: #409CCA; text-align: center; color: #fff; font-weight: 700; border-radius: 60px; position: relative; line-height: 44px; font-size: 22px; }
.sb-blue > span .big { font-size: 30px; color: #FFDCB4; }
.sb-blue > span:before { content: ""; width: 24px; height: 16px; background: url("../img/p04/tri01.svg") no-repeat center bottom; position: absolute; left: 0; right: 0; top: calc(100% - 1px); margin: 0 auto; }

div.trou-list01.flex { margin-top: -28px; }
div.trou-list01.flex div.box { margin: 28px 28px 0 0; box-sizing: border-box; border-radius: 5px; border: solid 1px #ECECEC; background: #fff; padding: 20px; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; width: 348px; }
div.trou-list01.flex div.box .img { background: #FFF9F2; border-radius: 5px; width: 123px; text-align: center; }
div.trou-list01.flex div.box .cont { width: 165px; }
div.trou-list01.flex div.box .cont h4 { line-height: 1.45; font-weight: 700; font-size: 22px; padding-bottom: 15px; margin-bottom: 15px; border-bottom: solid 1px #DEDEDE; }
div.trou-list01.flex div.box:nth-child(3n) { margin-right: 0; }

ul.trou-icos.flex { margin: -7px 0 0 -7px; }
ul.trou-icos.flex > li { margin: 7px 0 0 7px; box-sizing: border-box; min-width: 38px; line-height: 26px; height: 26px; border-radius: 20px; color: #fff; background: #7AAACD; font-size: 13px; padding: 0 6px; text-align: center; }
ul.trou-icos.flex > li.no-bg { background: none; padding: 0; min-width: 0; color: #727171; }

/*　05　信条とポリシー
----------------------------------*/
div#p05Box01 { padding: 100px 0 290px; }

section.creed-sec { display: flex; flex-wrap: wrap; justify-content: space-between; padding-bottom: 100px; margin-bottom: 100px; background: url("../img/p05/line01.svg") repeat-x left bottom; }
section.creed-sec .cont { width: 574px; }
section.creed-sec .cont > .text { color: #727171; }
section.creed-sec .img { width: 466px; }

section.creed-sec:nth-child(2n) { flex-direction: row-reverse; }

section.creed-sec:last-child { padding-bottom: 0; margin-bottom: 0; background: none; }

.creed-tit { margin-bottom: 40px; display: flex; flex-wrap: wrap; align-items: flex-start; }
.creed-tit .text { width: calc(100% - 85px); }
.creed-tit .text > span { display: block; font-weight: 700; }
.creed-tit .text > span.line01 { font-size: 22px; }
.creed-tit .text > span.line02 { font-size: 36px; }
.creed-tit .num { margin-right: 20px; display: inline-block; padding-top: 21px; background: url("../img/p05/num-top.svg") no-repeat center top; }
.creed-tit .num > span { text-align: center; display: block; width: 64px; height: 64px; line-height: 64px; border-radius: 100%; color: #fff; font-weight: 700; font-size: 36px; background: #0061A5; }

/*　06　会社案内
----------------------------------*/
div#p06Box01 { padding: 100px 0 120px; }

.p06-cont01.flex { margin-bottom: 120px; justify-content: space-between; align-items: flex-start; }
.p06-cont01.flex .cont { width: 574px; }
.p06-cont01.flex .cont .text { color: #727171; }
.p06-cont01.flex .cont .big-text { margin: 32px 0; font-size: 22px; line-height: 42px; }
.p06-cont01.flex .img { width: 466px; position: relative; }
.p06-cont01.flex .img .nameBox { position: absolute; left: 25px; bottom: 25px; color: #fff; }
.p06-cont01.flex .img .nameBox > span { display: block; }
.p06-cont01.flex .img .nameBox > span.line01 { font-size: 13px; line-height: 19px; }
.p06-cont01.flex .img .nameBox > span.line02 { font-size: 18px; line-height: 26px; }

.titles03 { margin-bottom: 50px; font-size: 26px; line-height: 1.42; font-weight: 700; }

div.ph-box { display: flex; flex-wrap: wrap; position: relative; justify-content: space-between; min-height: 491px; }
div.ph-box .image { position: absolute; left: 0; right: 0; top: 0; width: 494px; margin: 0 auto; }
div.ph-box .titles03 { margin-bottom: 20px; line-height: 36px; padding-left: 46px; background: url("../img/p06/ico01.svg") no-repeat left center; }
div.ph-box .box01 { margin-bottom: 97px; }
div.ph-box .box01 > .text { color: #727171; }
div.ph-box .box02 .titles03 { background-image: url("../img/p06/ico02.svg"); padding-left: 55px; background-position: left top 5px; padding-bottom: 3px; margin-bottom: 17px; }
div.ph-box .box02 > .text { color: #727171; }
div.ph-box .box03 .titles03 { background-image: url("../img/p06/ico03.svg"); }
div.ph-box .box03 > .text { color: #727171; }

ul.hishi-list > li { margin-bottom: 10px; display: flex; flex-wrap: wrap; align-items: center; }
ul.hishi-list > li .num { width: 29px; height: 29px; background: url("../img/p06/hishi.svg") no-repeat center; text-align: center; line-height: 29px; color: #fff; font-size: 16px; margin-right: 5px; }
ul.hishi-list > li .text { font-size: 16px; max-width: calc(100% - 34px); color: #727171; }
ul.hishi-list > li:last-child { margin-bottom: 0; }

div#p06Box02 { padding: 100px 0; background: #EDF4F9; }
div#p06Box02 .wrap > section.box01 { margin-bottom: 100px; }
div#p06Box02 .wrap section.box02 > p { color: #727171; }
div#p06Box02 .wrap section.box02 .p06-map { height: 400px; margin-top: 30px; }
div#p06Box02 .wrap section.box02 .p06-map iframe { width: 100%; height: 100%; }

.comTBL a { color: #727171; }
.comTBL table { border-collapse: separate; border-spacing: 0 2px; }
.comTBL th, .comTBL td { box-sizing: border-box; padding: 22px; line-height: 34px; vertical-align: middle; }
.comTBL th { color: #fff; width: 266px; background: #0061A5; text-align: left; font-weight: 700; padding-left: 70px; font-size: 18px; }
.comTBL td { background: #fff; color: #727171; padding-left: 30px; }
.comTBL .prf-link { width: 152px; text-align: center; }
.comTBL .prf-link .link-text { margin-top: 10px; }
.comTBL .prf-link .link-text a { color: #000000; }

a.blank { display: inline-block; padding-right: 22px; background: url("../img/p06/ico-blank.svg") no-repeat right center; }

div#p06Box03 { padding: 120px 0 390px; overflow: hidden; }
div#p06Box03 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }
div#p06Box03 .wrap .titles02 { border-bottom: none; border-right: solid 2px #DEDEDE; padding-right: 30px; margin-bottom: 0; }
div#p06Box03 .wrap .titles02:before { width: 2px; height: 40px; bottom: auto; top: 0; right: -2px; left: auto; }
div#p06Box03 .wrap .history-list.flex { width: calc(100% - 135px); display: block; }

.history-list.flex .slick-list.draggable { width: calc(50vw + 416px) !important; }
.history-list.flex button.slick-arrow { top: auto; transform: translateY(0); bottom: -100px; }
.history-list.flex button.slick-prev.slick-arrow { left: auto; right: 90px; }
.history-list.flex button.slick-next.slick-arrow { right: 0; }

.historyBox { padding-bottom: 20px; margin-bottom: 20px; background: url("../img/p06/hs-line.svg") repeat-x left bottom; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.historyBox .ageBox { width: 217px; position: relative; }
.historyBox .ageBox > div { display: flex; flex-wrap: wrap; text-align: left; vertical-align: middle; background: #0061A5; border-radius: 5px; color: #fff; font-weight: 700; font-size: 18px; padding-left: 15px; height: 50px; align-items: center; }
.historyBox .ageBox > div .line01 { line-height: 1; display: flex; flex-wrap: wrap; justify-content: space-between; width: 104px; }
.historyBox .ageBox > div .line02 { font-size: 13px; font-weight: 500; line-height: 1; display: inline-block; margin-left: 5px; }
.historyBox .text { width: calc(100% - 237px); }

.historyBox:last-child { padding-bottom: 0; margin-bottom: 0; background: none; }

/*　07　プライバシーポリシー
----------------------------------*/
div#p07Box01 { padding: 100px 0 290px; }

.p07-cont01 { border: solid 1px #DEDEDE; border-radius: 30px; background: #fff; color: #727171; padding: 70px; box-sizing: border-box; width: 900px; margin: 0 auto; }
.p07-cont01 .text01 { padding-bottom: 60px; margin-bottom: 60px; border-bottom: solid 1px #DEDEDE; }

.pp-texts > div.box { margin-bottom: 50px; }
.pp-texts > div.box:last-child { margin-bottom: 0; }

/*　08　採用情報
----------------------------------*/
div#p08Box01 { margin-top: 100px; height: 588px; overflow: hidden; position: relative; }
div#p08Box01 div.cont01 { width: 700px; margin: 0 auto; color: #fff; box-sizing: border-box; padding: 100px; position: relative; z-index: 6; background: rgba(0, 97, 165, 0.7); backdrop-filter: blur(10px); }
div#p08Box01 div#belt-slide02 { position: absolute; left: 0; top: 0; margin-bottom: 0; }

.btn-set02.flex { justify-content: center; margin-top: 60px; }
.btn-set02.flex .link-btn01.link-btn03 { margin-right: 50px; }
.btn-set02.flex .link-btn01.link-btn03:last-child { margin-right: 0; }

.link-btn01.link-btn03 a { color: #fff; }
.link-btn01.link-btn03 a .arrow { margin-right: 0; margin-left: 15px; border-color: #fff; background: #fff; box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }

.link-btn01.link-btn03:hover a .arrow { box-shadow: 0 0 1px rgba(0, 0, 0, 0.3); background: #0061A5; }
.link-btn01.link-btn03:hover a .arrow img { filter: brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(6%) hue-rotate(13deg) brightness(103%) contrast(100%); }

div#p08Box02 { padding: 120px 0 290px; }

.reclist01.flex { margin-top: -100px; }

article.rec-art { width: 340px; margin: 100px 40px 0 0; }
article.rec-art a { display: block; text-decoration: none; }
article.rec-art a .img { overflow: hidden; margin-bottom: 18px; }
article.rec-art a .img .in-img { padding-top: 75%; transition: 0.3s; }
article.rec-art a dl.rec-dl01.flex { background: url("../img/p08/line01.svg") repeat-x left bottom; padding-bottom: 20px; margin-bottom: 20px; align-items: flex-start; justify-content: space-between; }
article.rec-art a dl.rec-dl01.flex dt { width: 72px; color: #fff; font-size: 14px; background: #7AAACD; border-radius: 30px; text-align: center; }
article.rec-art a dl.rec-dl01.flex dd { width: calc(100% - 87px); color: #727171; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.rec-art a dl.rec-dl01.flex:last-child { background: none; padding-bottom: 0; margin-bottom: 0; }
article.rec-art a:hover .img .in-img { transform: scale(1.1); }

article.rec-art:nth-child(3n) { margin-right: 0; }

/*詳細*/
div#p08sBox01 { padding: 100px 0; }
div#p08sBox01 .comTBL table { border-collapse: collapse; border-spacing: 0; }
div#p08sBox01 .comTBL th, div#p08sBox01 .comTBL td { border: solid 1px #DEDEDE; }

.cates { margin: 0 0 20px; width: 72px; color: #fff; font-size: 14px; background: #7AAACD; border-radius: 30px; text-align: center; }

h1.rec-tit { margin-bottom: 60px; font-size: 26px; font-weight: 700; }

div#p08sBox02 { padding: 100px 0 290px; background: #EDF4F9; }
div#p08sBox02 .wrap { width: 900px; }

/*フォーム*/
ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 0 0 30px; }

ul.contact-state > li { display: table; width: 34%; height: 80px; position: relative; margin-left: -1.5%; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; background: #2679B3; color: #fff; font-size: 22px; font-weight: 500; }

ul.contact-state > li.state01 { margin-left: 0; clip-path: polygon(0 0, calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 0 100%, 0% 50%); }

ul.contact-state > li.state02 { clip-path: polygon(0 0, calc(100% - 15px) 0%, 100% 50%, calc(100% - 15px) 100%, 0 100%, 15px 50%); opacity: 0.5; }

ul.contact-state > li.state03 { clip-path: polygon(0 0, 100% 0, 100% 50%, 100% 100%, 0 100%, 15px 50%); opacity: 0.5; }

ul.contact-state > li.state01 > span { background: #003B64; color: #fff; }

ul.contact-state > li > span span.num { margin-right: 10px; }

ul.contact-state > li.state02 > span { background: #0061A5; color: #fff; }

ul.contact-state > li:after { content: ""; width: 0; height: 0; border-left: solid 8px #9A9A9A; border-top: solid 8px transparent; border-bottom: solid 8px transparent; position: absolute; top: 0; bottom: 0; left: calc(100% + 16px); margin: auto 0; }

ul.contact-state > li:last-child:after { content: none; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

ul.contact-state.contact-state02 > li.state01 { opacity: 0.5; }

ul.contact-state.contact-state02 > li.state02 { opacity: 1; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 18px; padding: 30px 0; color: #000000; line-height: 1.66; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL td { padding-top: 0; color: #727171; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: inline-block; margin-right: 30px; margin-bottom: 10px; }
.contactTBL input[type="checkbox"], .contactTBL input[type="radio"] { transform-origin: left center; transform: scale(1.5); margin-right: 8px; }

ul.seinengappi.flex > li { min-width: 176px; padding-right: 30px; display: flex; flex-wrap: wrap; align-items: center; }
ul.seinengappi.flex > li span.inp { display: block; min-width: 150px; }
ul.seinengappi.flex > li span.inp input.wpcf7-text { width: 150px; }
ul.seinengappi.flex > li span.inp select { width: 100%; }
ul.seinengappi.flex > li span.text { margin-left: 10px; color: #727171; }

span.hissu { display: inline-block; color: #fff; padding: 2px 7px; background: #409CCA; margin-right: 15px; box-sizing: border-box; font-size: 14px; font-weight: 700; line-height: 27px; }

span.nini { display: inline-block; color: #fff; padding: 1px 6px; border: solid 1px #727171; margin-right: 15px; font-size: 14px; font-weight: 700; line-height: 25px; background: #727171; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 60px; border: solid 1px #FFFFFF; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

input.wpcf7-date { padding: 5px 10px; }

select.wpcf7-select { box-sizing: border-box; height: 60px; border: solid 1px #FFFFFF; padding: 5px 10px; font-size: 16px; background: #fff; width: auto; }

select { background: #fff; border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 200px; border: solid 1px #FFFFFF; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

.contactTBL .select-con .wpcf7-list-item { display: inline-block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

.cours-area { margin-top: 5px; }

input#zip01 { width: 155px; }

select#pref3 { width: auto; }

input.wpcf7-form-control.wpcf7-text.time-zone { width: 450px; }

span.form-bikou { display: block; }

div.zip_list > div { margin-bottom: 20px; }
div.zip_list > div:last-child { margin-bottom: 0; }

p.juusho-text { margin-bottom: 5px; }

ul.address-list > li { margin-bottom: 30px; }
ul.address-list > li:last-child { margin-bottom: 0; }
ul.address-list .th { font-size: 14px; margin-bottom: 5px; }

.contactArea .codedropz-upload-handler { border: solid 1px #E1E1E1; border-radius: 8px; background: url("../img/p10/upload-mark.svg") no-repeat center top 40px #fff; padding: 50px 30px 30px; }

.contactArea .codedropz-upload-inner { color: #9A9A9A; line-height: 1.5; font-size: 16px; font-weight: 500; }

.contactArea .codedropz-upload-inner h3 { font-size: 16px; font-weight: 500; margin: 0; }

a.cd-upload-btn { width: 130px; height: 40px; display: inline-block; line-height: 35px; background: #000000; border: solid 1px #000000; border-radius: 4px; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #fff; }

.contact-submit.flex { margin-top: 60px; justify-content: center; flex-direction: row-reverse; position: relative; }

.contact-submit.flex > p { width: 100%; text-align: center; margin-top: 30px; }

.inb { display: inline-block; }

.form-btn { width: 335px; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: solid 1px #0061A5; color: #fff; width: 100%; height: 70px; font-size: 16px; font-weight: 500; position: relative; z-index: 3; background: url("../img/p08/form-arrow01.svg") no-repeat center right calc(50% + 54px) #0061A5; border-radius: 5px; padding-left: 30px; box-sizing: border-box; padding-bottom: 2px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }

.form-btn.form-btn02 { margin-right: 50px; }

.form-btn.form-btn02 input[type="submit"], .form-btn.form-btn02 input[type="button"] { background-color: #727171; border-color: #727171; color: #fff; background-image: url("../img/p08/form-arrow02.svg"); }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn input:hover { background-color: #fff; color: #0061A5; background-image: url("../img/p08/form-arrow01h.svg"); box-shadow: 0 0 0 rgba(0, 0, 0, 0.4); }

.form-btn.form-btn02 input:hover { background-color: #fff; color: #727171; background-image: url("../img/p08/form-arrow02h.svg"); }

input.wpcf7-form-control.wpcf7-file.file01 { display: block; color: #fff; width: 100%; margin-bottom: 20px; }

input[type="file" i]::-webkit-file-upload-button { width: 200px; height: 60px; box-sizing: border-box; font-size: 16px; font-weight: 500; color: #fff; background: #5A5A5A; border: none; border-radius: 5px; }

.wpcf7-spinner { position: absolute !important; top: -10px !important; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 120px; margin-top: -120px; }

.wpcf7c-conf { background-color: #e8f0fe !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #e8f0fe inset !important; box-shadow: 0 0 0px 1000px #e8f0fe inset !important; }

::placeholder { font-size: 13px; color: #9A9A9A; line-height: 40px; }

a.green { color: #727171; text-decoration: underline; }

a.green:hover { text-decoration: none; }

.contactArea.che .contactTBL th, .contactArea.che .contactTBL td { color: #292929; }
.contactArea.che span.nini { color: #292929; border-color: #292929; }
.contactArea.che .che-hide { display: none; }

.contactArea.che { background: #eee; padding: 30px; }

.contactArea.che .contactTBL tr { border-bottom: solid 1px #000; }

.contactArea.che .contactTBL th, .contactArea.che .contactTBL td { padding-top: 5px; padding-bottom: 5px; vertical-align: middle; }

.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .bikou-text01, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox] { display: none; }

.contactArea.che input[type=checkbox]:checked { display: inline-block; }

.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label { display: none; }

.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }

.contactArea.che input[type=radio] { display: none; }

.contactArea.che input[type=radio]:checked { display: inline-block; }

.contactArea.che input[type=radio] ~ span.wpcf7-list-item-label { display: none; }

.contactArea.che input[type=radio]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }

.contactArea.che textarea.wpcf7-textarea, .contactArea.che input.wpcf7-number, .contactArea.che input.wpcf7-date, .contactArea.che input.wpcf7-text, .contactArea.che select { font-weight: 700; }

/*　09 お問い合わせ
----------------------------------*/
div#p09Box01 { padding: 100px 0 290px; }
div#p09Box01 .wrap { width: 900px; }

.p09-telBox { background: #EDF4F9; padding: 40px 115px; margin-bottom: 60px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; border-radius: 5px; }
.p09-telBox .tel-set { margin: 0 30px 0 50px; line-height: 1; text-align: center; }
.p09-telBox .tel-set .tel-num a { font-size: 30px; font-weight: 500; color: #000000; }
.p09-telBox .tel-set .tel-bh { font-size: 10px; margin-top: 10px; }

h2.p09-sub { font-weight: 700; color: #000000; }
h2.p09-sub > span { display: inline-block; padding-left: 29px; background: url("../img/common/ico-tel.svg") no-repeat left center; }
h2.p09-sub .big { font-size: 22px; margin-right: 3px; }

.p09-lineBox.flex { margin-bottom: 60px; background: #F2FCF6; border-radius: 5px; box-sizing: border-box; padding: 40px; justify-content: space-between; }
.p09-lineBox.flex h2.p09-sub { margin-bottom: 30px; width: 100%; }
.p09-lineBox.flex h2.p09-sub > span { background-image: url("../img/common/ico-line.svg"); padding-left: 40px; }
.p09-lineBox.flex .box01 { width: 430px; border-right: solid 1px #DEDEDE; padding-right: 30px; display: flex; flex-wrap: wrap; justify-content: space-between; color: #727171; }
.p09-lineBox.flex .box01 .inBox01 { width: 254px; }
.p09-lineBox.flex .box01 .inBox02 { width: 156px; }
.p09-lineBox.flex .box01 .inBox03 { width: 100%; margin-top: 10px; display: flex; flex-wrap: wrap; align-items: center; }
.p09-lineBox.flex .box01 .inBox03 .cates { margin-bottom: 0; margin-right: 10px; }
.p09-lineBox.flex .box01 .cates { margin-bottom: 10px; font-size: 16px; font-weight: 700; width: 90px; background: #06C755; }
.p09-lineBox.flex .box02 { width: 330px; color: #727171; }
.p09-lineBox.flex .box02 .img { margin-top: 20px; }

.p09-mailBox h2.p09-sub { margin-bottom: 40px; }
.p09-mailBox h2.p09-sub > span { background-image: url("../img/common/ico-mail-sp.svg"); background-size: 32px; padding-left: 40px; }
.p09-mailBox input.wpcf7-number, .p09-mailBox input.wpcf7-date, .p09-mailBox input.wpcf7-text, .p09-mailBox textarea, .p09-mailBox select { border: solid 1px #DEDEDE; }

/*　10 お知らせ
----------------------------------*/
div#p10Box01 { padding: 100px 0 240px; }

article.news-art01 { margin-bottom: 40px; padding-bottom: 40px; border-bottom: solid 1px #DEDEDE; width: 100%; }
article.news-art01 .b-date { line-height: 24px; margin-bottom: 5px; }
article.news-art01 a { text-decoration: none; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: center; padding-left: 30px; }
article.news-art01 a .img { width: 150px; border-radius: 5px; box-sizing: border-box; overflow: hidden; margin-right: 30px; }
article.news-art01 a .img .in-img { padding-top: 75.33%; border-radius: 4px; transition: 0.3s; }
article.news-art01 a .img.no-i { border: solid 1px #DEDEDE; }
article.news-art01 a .cont { width: 786px; }
article.news-art01 a .cont h2.tit { font-size: 22px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
article.news-art01 a .arrow { z-index: 2; width: 34px; height: 22px; margin-left: 40px; background: #0061A5; border-radius: 10px; transition: 0.3s; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; position: relative; top: 1px; border: solid 1px #0061A5; box-sizing: border-box; box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }
article.news-art01 a .arrow img { display: block; transition: 0.3s; opacity: 1 !important; }
article.news-art01 a:hover .img .in-img { transform: scale(1.1); }
article.news-art01 a:hover .arrow { background: #fff; box-shadow: 0 0 1px rgba(0, 0, 0, 0.3); }
article.news-art01 a:hover .arrow img { filter: brightness(0) saturate(100%) invert(25%) sepia(80%) saturate(1466%) hue-rotate(182deg) brightness(97%) contrast(101%); }

article.news-art01:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

/*詳細*/
.b-date { margin-bottom: 10px; color: #727171; }

div#p10sBox01 { padding: 100px 0 240px; }
div#p10sBox01 .wrap { width: 900px; }

.blog-text img[class*="wp-image-"] { margin-bottom: 35px; }
.blog-text iframe { max-width: 100%; }
.blog-text div { max-width: 100%; }
.blog-text a { max-width: 100%; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 100px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 5px 10px; text-decoration: none; width: 38px; height: 38px; text-align: center; line-height: 38px; font-size: 18px; font-weight: 500; color: #BCBCBC; border: solid 1px #BCBCBC; border-radius: 5px; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #BCBCBC; border: none; }

.wp-pagenavi > a:hover { color: #fff; background-color: #0061A5; border-color: #0061A5; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p10/ar02.svg") no-repeat center; margin-right: 40px; margin-left: 0; border: none; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p10/ar03.svg") no-repeat center; margin-left: 40px; margin-right: 0; border: none; }

.wp-pagenavi span.current { color: #fff; background: #0061A5; border-color: #0061A5; }

.wp-pagenavi a.first { color: transparent; background: url("../img/p10/ar01.svg") no-repeat center; border: none; }

.wp-pagenavi a.last { color: transparent; background: url("../img/p10/ar04.svg") no-repeat center; border: none; }

.wp-pagenavi a.previouspostslink:hover { opacity: 0.7; background-color: none !important; }

.wp-pagenavi a.nextpostslink:hover { opacity: 0.7; background-color: none !important; }

.wp-pagenavi a.first:hover { color: transparent; opacity: 0.7; background-color: none !important; }

.wp-pagenavi a.last:hover { color: transparent; opacity: 0.7; background-color: none !important; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { justify-content: center; align-items: center; margin-top: 100px; }

.post-navigation ul > li { margin-right: 40px; }

.post-navigation ul > li a { text-decoration: none; font-weight: 500; }

.post-navigation ul > li.prev, .post-navigation ul > li.next { width: 130px; }

.post-navigation ul > li.prev a { font-weight: 700; display: block; text-align: right; position: relative; }

.post-navigation ul > li.next a { font-weight: 700; display: block; position: relative; }

.post-navigation ul > li a > span { display: flex; flex-wrap: wrap; align-items: center; }

.post-navigation ul > li a span.arrow { width: 34px; height: 22px; border-radius: 20px; box-shadow: 0 0 6px rgba(0, 0, 0, 0.3); transition: 0.3s; box-sizing: border-box; border: solid 1px #0061A5; }

.post-navigation ul > li.prev a span.arrow { background: url("../img/p10/arrow01.svg") no-repeat center #0061A5; display: inline-block; margin-right: 15px; }

.post-navigation ul > li.next a span.arrow { background: url("../img/p10/arrow02.svg") no-repeat center #0061A5; display: inline-block; margin-left: 15px; }

.post-navigation ul > li a:hover span.arrow { box-shadow: 0 0 1px rgba(0, 0, 0, 0.3); }

.post-navigation ul > li.prev a:hover span.arrow { background-color: #fff; background-image: url("../img/p10/arrow01h.svg"); }

.post-navigation ul > li.next a:hover span.arrow { background-color: #fff; background-image: url("../img/p10/arrow02h.svg"); }

.post-navigation ul > li.blog-back { padding: 0 40px; border-right: solid 1px #BCBCBC; border-left: solid 1px #BCBCBC; }

.post-navigation ul > li.blog-back a:hover { text-decoration: underline; }

.post-navigation ul > li.kara { z-index: -2; pointer-events: none; opacity: 0; }

.post-navigation ul > li:last-child { margin-right: 0; }

/*　11 実例紹介
----------------------------------*/
div#p11Box01 { padding: 100px 0 240px; }

.works-list-all.flex { margin-top: -70px; }
.works-list-all.flex article.works-art01 { margin: 70px 40px 0 0; }
.works-list-all.flex article.works-art01 .infos { justify-content: space-between; }
.works-list-all.flex article.works-art01:nth-child(3n) { margin-right: 0; }

.cate-lisBox { margin-bottom: 70px; margin-top: -20px; }
.cate-lisBox ul.cate-list.flex { width: calc(100% + 20px); margin-left: -20px; }
.cate-lisBox ul.cate-list.flex > li { margin: 20px 0 0 20px; }
.cate-lisBox ul.cate-list.flex > li a { display: block; padding: 6px 8px; color: #0061A5; border-radius: 5px; border: solid 1px #0061A5; line-height: 24px; text-decoration: none; }
.cate-lisBox ul.cate-list.flex > li a:hover { background: #0061A5; color: #fff; }
.cate-lisBox ul.cate-list.flex li.r_current a { pointer-events: none; background: #0061A5; color: #fff; }

.infos.flex.cnn2, .infos.flex.cnn3, .infos.flex.cnn4, .infos.flex.cnn5, .infos.flex.cnn6, .infos.flex.cnn7, .infos.flex.cnn8, .infos.flex.cnn9 { margin-top: -10px; margin-left: -10px; width: calc(100% + 10px); justify-content: flex-start !important; }
.infos.flex.cnn2 > div, .infos.flex.cnn3 > div, .infos.flex.cnn4 > div, .infos.flex.cnn5 > div, .infos.flex.cnn6 > div, .infos.flex.cnn7 > div, .infos.flex.cnn8 > div, .infos.flex.cnn9 > div { margin-left: 10px; margin-top: 10px; }
.infos.flex.cnn2 .b-date, .infos.flex.cnn3 .b-date, .infos.flex.cnn4 .b-date, .infos.flex.cnn5 .b-date, .infos.flex.cnn6 .b-date, .infos.flex.cnn7 .b-date, .infos.flex.cnn8 .b-date, .infos.flex.cnn9 .b-date { width: 100%; }

/*詳細*/
div#p11sBox01 { padding: 100px 0 240px; }

.infos { align-items: center; margin-bottom: 10px; }
.infos .b-date { margin-bottom: 0; }
.infos .cates { width: auto; padding: 0 10px; margin: 0 0 0 20px; }

.ba-imgs.flex { justify-content: center; margin-bottom: 60px; }
.ba-imgs.flex > div { width: 480px; position: relative; }
.ba-imgs.flex > div .img .in-img { padding-top: 75%; border-radius: 5px; }
.ba-imgs.flex > div .cap { position: absolute; z-index: 2; left: 0; bottom: 0; color: #fff; border-radius: 0 5px 0 5px; padding: 9px 9px; background: #0061A5; line-height: 32px; font-size: 22px; font-weight: 700; box-sizing: border-box; text-align: center; width: 100px; }
.ba-imgs.flex > div.left { margin-right: 140px; }
.ba-imgs.flex > div.right .cap { background: #A50000; }
.ba-imgs.flex > div.left + div.right:before { content: ""; background: url("../img/p11/ba-arrow.svg") no-repeat center; width: 60px; height: 60px; top: 50%; right: calc(100% + 40px); transform: translateY(-50%); position: absolute; }
.ba-imgs.flex > div.left:last-child { margin-right: 0; }

.commentBox { background: #EDF4F9; border-radius: 5px; padding: 40px; color: #727171; }

h2.comme-tit { margin-bottom: 15px; color: #0061A5; font-size: 18px; padding-left: 33px; background: url("../img/p11/ico-sb.svg") no-repeat left top; }

/*　thanksページ等
----------------------------------*/
div#p100Box01 { padding: 100px 0 290px; }
div#p100Box01 .btn01 { margin: 50px auto 0; }

.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

.pp-title02:first-child { margin-top: 0; }

.pp-title02 { font-size: 18px; padding-left: 15px; position: relative; color: #004A67; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #004A67; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*ブラウザごと
----------------------------------*/
.tokushu div.head-inner.flex { padding-left: 20px; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1350px) { div#vslide01 { right: calc(50% + 347px); }
  div#vslide02 { left: calc(50% + 347px); }
  section.rec-sec { background-image: url("../img/top/bg03-m.jpg"); } }
