@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato&:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');


/* -----------------------------------------------------------
main
------------------------------------------------------------*/

@media screen and (min-width:768px) {
  .sp {
    display: none!important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media screen and (max-width:767px) {
  .pc {
    display: none!important;
  }
}



/* -----------------------------------------------------------
bg
------------------------------------------------------------*/

.outer {
  background:url(../img/line.png)repeat-x 0 0;
  background-size:auto 28px;
  background-color: #F38851;
  padding-top:6vw;
}
#top-gh {
  padding-top:7vw;
}
.outer2 {
  padding:9rem 0;
}
.bg01 {
  background-color: #FBF7EF;
  position: relative;
}
.bg02 {
  background-color: #FAFAF5;
}
.bg03 {
  background-color: #FFE3CE;
}
.bg04 {
  background-color: #F2F2ED;
}
.bg {
  background-color: #F38851;
}
.bg-ht {
  position: relative;
}
.bg-ht:before {
  content:"";
  position: absolute;
  background-color: #FAFAF5;
  width:100%;
  height:70%;
  top:0;
  left:0;
  z-index: -1;
}

/* -----------------------------------------------------------
sectioin
------------------------------------------------------------*/

.inup {
  border-radius: 10vw 10vw 0 0;
}
.in {
  border-radius: 10vw;
}
.bdt {
  border-top:5px solid #fff;
}


/* -----------------------------------------------------------
mat
------------------------------------------------------------*/

.mat-dot {
  background-color: #fff;
  border-radius: 60px;
  padding: 5.5rem 5%;
  box-shadow:0 3px 6px rgba(0, 0, 0, 0.16);
  position: relative;
}
.mat-dot:before {
  content: "";
  position: absolute;
  top: 15px;
  left: 15px;
  border: 6px dotted #CDC6C2;
  width: calc(100% - 30px);
  height: calc(100% - 30px);
  border-radius: 40px;
  z-index: 0;
}
.mat-dot.or:before {
  border-color:#FEDDC5;
}
.mat-inner {
  position: relative;
}
.bd-top {
  border-top:10px solid #fff;
}
.top-feature-mat {
  margin-bottom:5rem;
}

/* -----------------------------------------------------------
ttl
------------------------------------------------------------*/

.ttl-area {
  text-align: center;
  margin:0 auto 3rem;
}
.ttl-area.m0 {
  margin-bottom:0;
}
.ttl {
  display: inline-block;
  position: relative;
  padding: 0 0 1.7rem;
}
.ttl span {
  line-height: 1;
  padding:0.5em 3em;
  position: relative;
  display: inline-block;
}
.ttl:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right:0;
  margin:auto;
  width: 13em;
  height: 10px;
  background-size: auto 10px;
  border-bottom:10px dotted #F27D41;
}
.ttl-ball {
  margin:0 auto 2rem;
  text-align: center;
  max-width:590px;
}
.ttl-ball span {
  background: url(../img/ttl-ball.png)no-repeat center 0;
  background-size:contain;
  padding:0.5em 2em 1em;
  text-align: center;
  font-size: 4.2rem;
  line-height: 1;
  width:100%;
  display: flex;
  justify-content: center;
}
.ttl-side {
  margin:0 auto;
  text-align: center;
}
.ttl-side.mb {
  margin-bottom:3vw;
}
.ttl-side span {
  position: relative;
  font-size:3.8rem;
  padding:1rem 2.2em;
  letter-spacing: 0.1em;
}
.ttl-side.m span {
  font-size:3.4rem;
}
.ttl-side span:before,
.ttl-side span:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 1.6em;
  height: 8px;
  background-color: #F27D41;
  border-radius: 5em;
}
.ttl-side span:after {
  left:inherit;
  right:0;
}
.ttl01 {
  color:#EE7D50;
  font-size:3.4rem;
  margin:0 auto 2rem;
  text-align: center;
}
.ttl01.s {
  font-size:2.4rem;
  text-align: left;
  line-height:1.4;
}
.ttl-single {
  line-height: 1.5;
  padding: 0 0.3em 0.6em;
  position: relative;
}
.ttl-single:before, .ttl-single:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  border-radius: 10em;
}
.ttl-single:before {
  width: 100%;
  background-color: #D4D4D4;
}
.ttl-single:after {
  width: 2.5em;
  background-color: #E67C33;
}
.single-detail .btn-one {
  margin:4rem auto 0;
}

/* -----------------------------------------------------------
cta
------------------------------------------------------------*/

.cta-area {
  padding:4vw 0 4.5vw;
  background-color: #F27D41;
  position: relative;
}
.cta-ttl {
  text-align: center;
  margin:0 auto 3rem;
}
.cta-ttl span {
  font-weight: bold;
  color:#fff;
  position: relative;
}

.cta-ttl span::before,
.cta-ttl span:after {
  content: '';
  width: 4px;
  height: 44px;
  background-color: #fff;
}
.cta-ttl span:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  margin: auto;
}
.cta-ttl span:before {
  margin-right: 35px;
  transform: rotate(-47deg);
}
.cta-ttl span:after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  margin: auto;
}
.cta-ttl span:after {
  margin-left: 30px;
  transform: rotate(45deg);
}
.cta-btn {
  margin:0;
}
.cta-ttl-sub {
  color:#666566;
  font-weight: bold;
  font-size: 1.7rem;
  margin:0 0 0.5rem;
}
.cta-tel {
  max-width:30em;
  margin-bottom:0;
}
.cta-tel a {
  text-decoration: none;
  line-height: 1;
  color:#F27D41;
  font-size: 4.6rem;
  font-weight: bold;
  letter-spacing: -0.05em;
}
.cta-tel a {
  padding-left:60px;
  background: url(../img/icn-tel.svg)no-repeat 0 0.1em;
  background-size:0.9em;
}


/* -----------------------------------------------------------
archive
------------------------------------------------------------*/

/* gh-archive
----------------------------------------------------------- */
.cate-area {
  display: table;
}
.cate {
  background-color: #E3E1D7;
  color: #707070;
  text-align: center;
  padding: 5px 1em;
  line-height: 1;
  font-size: 14px;
  display: inline-block;
  border-radius: 10em;;
  font-weight: bold;
  text-decoration: none;
}
.cate + .cate {
  margin-left:5px;
}
.ttl-gh {
  font-size: 2rem;
  line-height: 1.3;
  font-weight: bold;
  color:#EE7D50;
  margin:0.5rem;
}
.gh-detail * {
  font-size:14px;
  line-height: 1.4;
  color:#666;
}
.gh-txt {
  border-top:3px dotted #F2C7A9;
  margin-top: 1rem;
  padding-top: 0.5rem;
  line-height: 1.4;
}
.single-main .day {
  margin-right:1em;
}
.single-main .day-cate {
  margin-bottom:2rem;
}

/* news-archive
----------------------------------------------------------- */
#top-news .bg04 {
  width:90%;
  margin:0 auto;
  border-radius: 5vw;
}
.news-archive {
  max-width:900px;
  margin:0 auto 5rem;
}
.news-archive .cate {
  font-size:12px;
}
.news-archive dl {
  background-color: #fff;
  border-radius: 10em; 
}
.news-archive dl:last-of-type {
  margin-bottom:0;
}
.news-archive a {
  color:#666;
  font-weight: 500;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.day {
  color:#999;
  font-size:1.5rem;
}
.news-archive .day {
  margin-right:10px;
} 

/* -----------------------------------------------------------
single
------------------------------------------------------------*/
.inner-single {
  max-width:900px;
  margin:0 auto;
  position: relative;
}
#gh-single h2,
#gh-single h3 {
line-height:1.5;
background: url(../img/ttl-circle.png) no-repeat 0 0.15em;
background-size: 1.2em auto;
padding: 0 0 0.7em 1.7em;
margin:4rem 0 2rem;
position: relative;
}
#gh-single h2:before,
#gh-single h2:after,
#gh-single h3:before,
#gh-single h3:after  {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
}
#gh-single h2:before,
#gh-single h3:before {
  width: 100%;
  background-color: #D4D4D4;
}
#gh-single h2:after,
#gh-single h3:after {
  width: 2.5em;
  background-color: #E67C33;
}
#gh-single table.type01 {
  margin-bottom:1rem;
}
.single-wrap figure + figure {
  margin-bottom: 1rem;
}


/*---------------------------
pager
-------------------------------- */
.pager-wrap {
  text-align: center;
}
.wp-pagenavi {
    clear: both;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border-color: #F27D41;
}

.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #F27D41;
    color: #F27D41;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border-color: #F27D41;
    background: #F27D41;
    color: #fff;
}
.wp-pagenavi a, .wp-pagenavi span {
    text-decoration: none;
    border: 1px solid #F27D41;
    padding: 0 0 2px;
    margin: 3px;
    width: 3em;
    height: 3em;
    border-radius: 10em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1em;
    font-weight: bold;
}

@media screen and (min-width: 768px) {
  .ttl-area.pt {
    padding-top:6rem;
  }
  .ttl-single {
    font-size: 4rem;
    margin-top:2rem;
  }
  #gh-single h2 {
    font-size: 2.8rem;
  }
  #gh-single h3 {
    font-size: 2.6rem;
  }
  .category-flex span {
    font-size:16px!important;
  }
  .category-flex .cate {
    padding:8px 1.5em;
  }
  .single-detail {
    margin-bottom:8rem;
  }
  .pager-wrap {
    margin:2em auto 8rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl-single {
    font-size: 2rem;
    margin-top:0;
  }
  #gh-single h2 {
    font-size: 1.8rem;
  }
  #gh-single h3 {
    font-size: 1.6rem;
  }
  .category-flex .cate {
    padding:8px 1em;
  }
  .outer {
    background-size:auto 14px;
  }
  .single-detail {
    margin-bottom:4rem;
  }
  .pager-wrap {
    margin:0 auto 8rem;
  }
}



/* -----------------------------------------------------------
	home
------------------------------------------------------------*/
@media screen and (min-width:481px) {
  .xsp {
    display: none;
  }
}
@media screen and (max-width:480px) {
  .xpc {
    display: none;
  }
}
@media screen and (min-width:481px) {
  #mv,
  .mv-img {
    max-height:760px;
    height:calc(760/1600*100vw);
    padding:3rem 3rem 5rem;
    margin:0 auto;
    text-align: center;
  }
}
.mv-img {
  text-align: center;
  margin:auto;
}
#mv {
  background:url(../img/town.png)repeat-x center bottom;
  background-size:100%;
  background-color: #FBF7EF;
  position:relative;
  z-index: 0;
}
#mv:before {
  content:"";
  position: absolute;
  top:0;
  left:0;
  background:url(../img/bg-mv.png)no-repeat right center;
  background-size:cover;
  width:100%;
  height:100%;
  z-index: -1;
}
.mv-catch {
  margin-bottom:0;
}

/* feature-area 
----------------------------------------------------------- */
.feature-area figure {
  background-color: #fff;
  border-radius: 40px;
  /* border:4px solid #D8E1C6; */
  display: flex;
  justify-content: center;
  align-items: center;
  margin:0;
  padding:5px;
}
.feature-area dt {
  display: flex;
  align-items: center;
  align-content: center;
  line-height: 1.4;
  justify-content: center;
  color:#88AD3D;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.feature-area dd {
  text-align: left;
  line-height: 1.6;
  font-weight:normal;
  letter-spacing: 0.1em;
}
.bg-feature:before {
  content:"";
  position: absolute;
  top:3rem;
  left:0;
  right:0;
  margin:auto;
  background: url(../img/top-feature.png)no-repeat center 0;
  background-size:80%;
  width:100%;
  height:300px;
}
.top-feature-read {
  font-size: 2.4rem;
  text-align: center;
  margin:3rem auto 5.5rem;
  line-height: 2;
}
#top-feature .bg01{
  padding-bottom:10.5rem;
  position: relative;
}
#top-feature .bg01:after {
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  background: url(../img/town.png)repeat-x 0 bottom;
  background-size:95% auto;
  width:100%;
  height:115px;
}
.feature-num strong {
  color:#EE7D50;
}
.feature-num {
  max-width:860px;
  margin:2rem auto 0;
}
.bg-gh:before {
  content: "";
  position: absolute;
  top: 2rem;
  left: -5%;
  right: 0;
  margin: auto;
  background: url(../img/m1.png) no-repeat center 0;
  background-size: 90%;
  width: 100%;
  height: 100%;
}
.gh-archive li {
  width:100%;
  background-color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  border-radius: 30px;
  padding:2rem 2rem 2.5rem;
  display: block;
  text-decoration: none;
}
.gh-archive a {
  text-decoration: none;
}
.gh-archive figure {
  border-radius: 15px;
  overflow: hidden;
  margin-bottom: 0.8rem;
}
#top-faq {
  position: relative;
}
#top-faq:before {
  content:"";
  position: absolute;
  top:12rem;
  left:10%;
  right:0;
  margin:auto;
  background: url(../img/m3.png)no-repeat 0 0;
  background-size:100%;
  width: 100%;
  height: 400px;
  z-index: 1;
}
.faq-read {
  color:#7c7c7c;
  text-align: center;
  margin: 1rem auto 5rem;
}
.faq-flex figure img {
  max-width:280px;
  width:100%;
}
.photo-area {
  padding:15rem 0 11rem;
  background: url(../img/bg-photo.png) no-repeat center center;
  background-size: 95%;
  max-width:1800px;
  margin:0 auto;
}
.photo-area.pt {
  padding-top:5vw;
}


/* -----------------------------------------------------------
faq
------------------------------------------------------------*/

/* #faq {
  padding-bottom:14rem;
} */
#faq a {
  text-decoration: underline;
}
.faq-area dl {
  margin:0 0 2rem;
}
.faq-area dl:last-of-type {
  margin-bottom:0;
}
.faq-area dt {
  font-size:1.9rem;
  font-weight: bold;
  padding:5px 0 15px 60px;
  line-height: 1.4;
  color:#555;
}
.faq-area dt,
.faq-area dd {
  position: relative;
  margin:0;
}
.faq-area dd {
  padding:18px 18px 18px 60px;
  border-top:1px solid #ddd;
}
.faq-detail {
  padding-left:1em;
}
.faq-area dd a {
  text-decoration: underline;
}
.faq-area dt:before {
  content:"";
  position: absolute;
  left:1rem;
  top:0;
  background:url(../img/q.svg) no-repeat 0 0;
  width:38px;
  height:38px;
  background-size:contain;
}
.faq-area dd:before {
  content:"";
  position: absolute;
  left:1rem;
  top:16px;
  background:url(../img/a.svg) no-repeat 0 0;
  width:38px;
  height:38px;
  background-size:contain;
}
#faq .faq-area dl {
  background: #F3F3F1;
  padding:1.5rem 1rem 1rem;
}

/* recruit-wrap
----------------------------------------------- */
#recruit-wrap {
  margin:5rem auto;
}
.ttl-circle {
  background: url(../img/ttl-circle.png)no-repeat 0 center;
  background-size:38px auto;
  font-size:3.6rem;
  padding:0.5rem 0 0.5rem 1.7em;
  position: relative;
}
.ttl-circle:before,
.ttl-circle:after {
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  height:5px;
}
.ttl-circle:before {
  width:100%;
  background-color: #D4D4D4;
}
.ttl-circle:after {
  width:2.5em;
  background-color: #E67C33;
}
.rec-area {
  border:4px solid #D6D6D6;
  border-radius: 20px;
  padding:3rem 4rem;
}
#recruit-wrap {
  margin-bottom:6rem;
}
.category-flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 6rem 0;
}
.category-flex li.current a span {
  font-size: 1.4rem;
  color: #fff;
  background-color: #F27D41;
}
.category-flex a.current span {
  color: #fff !important;
}
.category-flex a.current span,
.category-flex li a:hover span {
  background-color: #F27D41;
  color:#fff;
}


/* -----------------------------------------------------------
	レスポンシブ
------------------------------------------------------------*/

@media screen and (min-width:768px) {
  .cta-ttl span {
    font-size: 3.6rem;
  }
  .cta-box-wrap {
    background-color: #fff;
    padding:2vw 3rem;
    border-radius: 30px;
  }
  .cta-box-wrap .cta {
    text-align:center;
  }
  .cta-box {
    max-width:1000px;
    margin:auto;
    position: relative;
  }
  .cta-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .cta-txt {
    font-size:3rem;
  }
  .cta-box-main {
    width: 47%;
    margin: 0 2% 0 auto;
  }
  .cta-box-sub {
    width:47%;
  }
  .cta-box-mail {
    text-align: center;
    margin:2.5rem auto 0;
    padding-left:10%;
  }
  .news-archive dl {
    padding:0 0 0 4rem;
    display: flex;
    margin-bottom:1.5rem;
  }
  .news-archive dt,
  .news-archive .day-cate {
    width:12em;
    display: flex;
    align-items: center;
  }
  .news-archive dd {
    width:calc(100% - 12em);
  }
  .news-archive a {
    padding: 2.5rem 2rem 2.5rem 1rem;
  }
  .faq-flex {
    display: flex;
    justify-content: space-between;
  }
  .faq-flex figure {
    width: 34%;
    text-align: right;
    padding-right: 3%;
  }
  .faq-flex .faq-area {
    width:65%;
  }
  .gh-archive {
    display: flex;
    flex-wrap:wrap;
    margin:0 -3%;
  }
  .gh-archive li {
    width:30.333%;
    margin:0 1.5% 4rem;
  }
  .feature-area {
    display: flex;
    justify-content: space-between;
    margin:0 -1.5%;
  }
  .feature-area li {
    width:30.333%;
    margin:0 1.5%;
    text-align: center;
  }
  .feature-area figure {
    height:240px;
  }
  .ttl span {
    font-size:4.4rem;
  }
  .ttl span.r2 {
    line-height: 1.3;
  }
  .ttl.l span {
    font-size:4.6rem;
    letter-spacing: 0.1em;
  }
  .feature-area dt {
    height:4em;
    font-size: 3rem;
  }
  .txt-box {
    max-width:780px;
    margin:-2rem auto 5rem;
  }
  .staff-read {
    margin-bottom:4rem;
  }
  .work-flex {
    margin-bottom:2rem;
  }
  .work-flex figure {
    width:34%;
    order:2;
  }
  .work-flex .flex-txt {
    width:60%;
  }
  .rec-main figure {
    width: 30%;
  }
  .rec-main figure img {
    border-radius: 20px;
  }
  .rec-main .flex-txt {
    width:66%;
  }
  .rec-list img {
    width:14px;
    height:auto;
    margin-right:8px;
    vertical-align: middle;
  }
  img.icn-home {
    width:18px;
  }
  .rec-list ul {
    width:48%;
  }
  .rec-list li {
    margin-bottom:0.5rem;
  }
  .rec-main .cate-area {
    margin-bottom:1rem;
  }
}

@media screen and (min-width:1201px) {
  .md {
    display: none;
  }
}

@media screen and (max-width:1200px) {
  .top-feature-read {
    font-size: calc(24 / 1400* 100vw);
  }
  .list-num li {
    font-size: calc(22 / 1400* 100vw);   
  }
  .list-num li {
    background-size:2em 2em!important;
  }
  .ttl-side span {
    font-size:3.5rem;
  }
  .ttl-ball span {
    padding-top:0.5em;
  }
  .f-menu {
    width: 45%;
  }
  .cta-tel a {
    font-size:calc(56/1400*100vw);
    padding-left: calc(65 / 1400* 100vw);
  }
  .txt-box {
    margin-top:0;
  }
  .ttl01 {
    margin-bottom:0;
  }
  .ttl {
    margin:0 0 1em;
  }
}


@media screen and (max-width:767px) {
  /* home
----------------------------------------------- */
  #mv, .mv-img {
    padding:1rem 0
  }
  .section {
    padding: 3rem 0;
  }
  .mat-dot {
    padding:2rem;
    border-radius: 1.5em;
  }
  .mat-dot.green:before {
    border-width: 3px;
    border-radius: 1.2em;
  }
  .mat-flex {
    margin: 3rem 0;
  }
  .mat-dot:before {
    border-width:3px;
    border-radius: 1.2em;
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    top: 6px;
    left: 6px;
  }
  .ttl-dot {
    font-size: 2.1rem;
  }
  .ttl-dot.m {
    font-size:1.9rem;
  }
  .flex-img {
    margin-bottom:2rem;
  }
  .bg-feature:before {
    background-size: 100%;
  }
  .top-feature-read {
    font-size:1.4rem;
  }
  .top-feature-read {
    margin: 0 auto 2.5rem; 
  }
  .ttl:before {
    border-width:8px;
    width:10em;
  }
  .ttl {
    margin:0;
    min-width: 10em;
    padding: 0 0 1.2rem;
  }
  #top-feature .ttl {
    padding-top:1rem;
  }
  .ttl-side span {
    font-size: 2rem;
  }
  .ttl-side span:before, .ttl-side span:after {
    height:5px;
    width:1.2em;
  }
  .ttl-side span {
    padding: 0 1.8em;
  }
  .ttl-side.m span {
    font-size: 2rem;
  }
  .feature-num {
    margin-top:0;
  }
  .list-num li {
    font-size:1.4rem;
  }
  #top-feature .bg01 {
    padding-bottom: 5rem;
  }
  .ttl span {
    padding-left:0;
    padding-right:0;
  }
  .bg-feature:before {
    top:-10vw;
  }
  .bg-gh:before {
    background-size:100%;
  }
  .gh-archive li {
    margin-bottom:3rem;
  }
  .news-archive dl {
    padding: 1rem 2rem;
    margin-bottom:1rem;
    border-radius: 1.5rem;
  }
  .news-archive a {
    font-size: 1.3rem;
  }
  .cate {
    padding:5px 1em;
  }
  .day,
  .cate {
    font-size:1.3rem;
  }
  .photo-area {
    padding: 5rem 0 5rem;
  }
  #mv,
  #top-feature .bg01:after {
    background-size:150%;
  }
  .faq-flex figure {
    margin:0 auto 1.5rem;
  }
  .cta-ttl span {
    font-size: 2rem;
  }
  .cta-box {
    margin:auto;
    position: relative;
  }
  .cta-ttl {
    margin-bottom:1rem;
  }
  .cta-box-wrap p {
    line-height:1.4;
  }
  .btn01.cta-mail {
    font-size: 1.6rem;
    background-size: 1.5em;
  }
  .cta-area {
    padding: 2.5rem 0 3rem;
  }
  .cta-box-wrap {
    background-color: #fff;
    padding:2rem;
    margin:0 auto;
    border-radius: 2rem;
  }
  .cta-ttl span::before, .cta-ttl span:after {
    content: '';
    width: 2px;
    height: 26px;
  }
  .cta-ttl span:before {
    left:-1em;
  }
  .cta-ttl span:after {
    right:-1em;
  }
  .cta-label {
    font-size: 1.6rem;
    padding: 0.3rem 1rem;
    width: 4em;
  }
  .cta-label-txt {
    line-height:1.4;
  }
  .cta-box-wrap p {
    font-size:1.6rem;
    text-align: center;
  }
  .tel-txt {
    width:100%;
    display: block;
  }
  .cta-tel a {
    font-size: 3rem;
    padding-left: 3.2rem;
  }
  .cta-txt {
    text-align: center;
  }
  .feature-area figure {
    border-radius:25px;
    padding:2rem;
  }
  .feature-area figure img {
    width:85%;
    margin:auto;
  }
  .ttl span,
  .ttl-ball span {
    font-size:2.4rem;
    /* font-size:clamp(4.4vw,2.2rem,2.2rem); */
  }
  .ttl span.r2 {
    font-size: 1.9rem;
    line-height: 1.4;
  }
  .ttl-ball span {
    background-size: contain;
  }
  .ttl.l span {
    font-size:2.6rem;
    letter-spacing: 0.1em;
  }
  .ttl span:after {
    background-size: 2em auto;
    left: -1.8em;
  }
  .ttl-area {
    margin-bottom:3rem;
  }
  .faq-read {
    text-align: left;
    margin:0 0 1.5rem;
  }
  .faq-area dt:before,
  .faq-area dd:before {
    width:26px;
    height:26px;
    font-size:18px;
    left:0;
  }
  .faq-area dt {
    padding-left:2.5em;
    font-size:1.5rem;
    height:auto;
  }
  .faq-area dt:after {
    right:1em;
    width:1em;
    height:1em;
  }
  .faq-area dd{
    padding: 10px 0 10px 2.8em;
  }
  #faq {
    padding-bottom: 0;
  }
  .faq-area dt:before {
    top:3px;
  }
  .outer2 {
    padding: 4rem 0;
  }
  .category-flex {
    margin:4rem 0;
  }
}

/* -----------------------------------------------------------
	lower
------------------------------------------------------------*/
.lower-top {
  padding-top: 1rem;
  background: url(../img/line.png) repeat-x 0 0;
  background-color: #F38851;
}
.lower-top.b {
  padding-bottom:8vw;
}
#kv {
  position: relative;
  background-color: #FBF7EF;
}
#kv:before {
  content:"";
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  background:url(../img/kv-bg.png)no-repeat center center;
  background-size:cover;
  width:100%;
  height:100%;
  opacity: 0.6;
}
.kv-inner {
  max-width:1100px;
  margin:0 auto;
  width:95%;
  position: relative;
}
.kv-ttl:after {
  content:"";
  position: absolute;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
  width: 60px;
  height: 8px;
  background-color: #F27D41;
  border-radius: 8px;
}
/* service
------------------------------------------------------------*/

.txt-small {
  font-size:85%;
  line-height: 1.4;
}


/* step
------------------------------------------------------------*/


.step-area dl {
  padding-bottom:4rem;
  position: relative;
  border-radius: 15px;
}
.step-area dl:after {
  content:"";
  position: absolute;
  bottom:1rem;
  left:0;
  right:0;
  margin:auto;
  width:35px;
  height:17px;
  background: url(../img/arrow-b.svg)no-repeat center bottom;
  background-size:contain;
}
.step-area dl:last-of-type:after {
  content:"";
  background:none;
}
.step-area dt {
  background-color: #FEA162;
  font-size:2.3rem;
  color:#fff;
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  text-align: center;
  font-weight: bold;
}
.step-area dd {
  background-color: #fff;
  border:2px solid #e5e2df;
  border-left:0;
  display: flex;
  align-items:center;
  line-height:1.8;
  font-size:110%;
}
.step-area .num {
  color:#EB965B;
  font-family:'Roboto', sans-serif;
  font-size:4.5rem;
  margin:0 0.5em 0 0;
}
.yen {
  font-size: 120%;;
}
.rec-area a {
  text-decoration: none;
}
.rec-archive {
  display: flex;
  flex-wrap:wrap;
  justify-content: space-between;
  margin:3rem 0 0;
}
.rec-archive .rec-main,
.rec-archive .flex-txt,
.rec-archive figure,
.rec-archive .rec-list,
.rec-archive .rec-list li,
.rec-list ul {
  display: block;
  width:100%;
}
.rec-archive .ttl01 {
  font-size:2rem;
}
.rec-archive figure {
  margin-bottom:1rem;
}
.rec-detail-ttl {
  background-color: #e6e6e1;
  padding:0.3em;
  text-align: center;
  font-size:2rem;
  font-weight: bold;
  margin-bottom:0;
}
.map{
	width: 100%;
	position: relative;
	aspect-ratio: 3/2;
}
 
.map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media screen and (min-width: 768px) {
/* service
----------------------------------------------- */
  .flex {
    display: flex;
  }
  .jsb {
    justify-content: space-between;
  }
  .col3 {
    justify-content: space-between;
  }
  .col3 figure {
    width:31%;
  }
  .service-photo {
    margin:5rem 0;
  }
  .pc-o2 {
    order:2;
  }
  .step-area dl {
    display: flex;
  }
  .step-area dt {
    width: 30%;
    border-radius: 15px 0 0 15px;
}
  .step-area dd {
    width: 70%;
    padding: 2rem;
    border-radius: 0 15px 15px 0;
  }
  .mat02 {
    margin-bottom:8rem;
  }
  .kv-img {
    position: absolute;
    top: 0;
    right: 7px;
    width: 236.5px;
    max-width: 29%;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
  }
  .kv-ttl {
    text-align: center;
    font-size: 4.4rem;
    margin:0 auto 1.5rem;
    padding-bottom:1.5rem;
    position: relative;
  }
  #kv,
  .kv-inner {
    max-height:280px;
    /* height:calc(280/1400*100vw); */
    height:280px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .service-read .flex-img {
    width:30%;
    margin-top:-6rem;
  }
  .service-read .flex-txt {
    width:65%;
    max-width: 750px;
    padding-left: 4rem;
    margin-top:1rem;
  }
  .case-flex .flex-img {
    width:45%;
  }
  .case-flex .flex-txt {
    width:51%;
  }
  .step-area {
    padding:2.5rem 0;
  }
  .price-area .flex-img {
    width:40%;
  }
  .price-area .flex-txt {
    width:56%;
  }
  .rec-archive .rec-area {
    width:47%;
    margin:3rem 0;
  }
  .gh-main {
    margin-bottom:6rem;
  }
  .single-main #gh-main {
    padding-bottom:10rem;
  }
}

@media screen and (min-width: 1400px){
  .kv-ttl {
    font-size:5rem;
  }
}


@media screen and (min-width: 768px) and (max-width: 1200px) {
  .step-area dt {
      font-size: calc(23 / 1100* 100vw);
  }
  .service-read .flex-img {
    margin-top:-3rem;
  }
}

@media screen and (max-width: 767px) {
/* service
----------------------------------------------- */
  .service-photo {
    margin:3rem 0;
  }
  .step-area dt {
    border-radius: 15px 15px 0 0;
    font-size: 2rem;
    padding: 0.8rem;
}
  .step-area dd {
    padding: 1.36rem;
    border-radius: 0 0 15px 15px;
  }
  .kv-img {
    position: absolute;
    top: 8%;
    right: 0;
    width:38%;
  }
  .kv-ttl {
    text-align: left;
    font-size: 2.5rem;
    margin:0 0 1.5rem;
    padding-bottom:1rem;
    position: relative;
    line-height:1.3;
  }
  #kv,
  .kv-inner {
    max-height:300px;
    height:calc(300/750*100vw);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
  }
  .kv-inner {
    width:90%;
  }
  .kv-ttl:after {
    left: 0;
    right: inherit;
    margin: 0;
    width: 35px;
    height: 6px;
  }
  #kv:before {
    background:url(../img/kv-bg.png)no-repeat 26% center;
    background-size:cover;
  }
  .lower-top {
    background-size:160%;
  }
  .service-read .flex-img {
    width:65%;
    margin:0 auto 1.5rem;
    order:2;
  }
  .ttl01 {
    font-size:2.4rem;
  }
  .service-read {
    display: flex;
    flex-wrap:wrap;
  }
  .service-read .flex-txt {
    order:1;
    margin-top:2rem;
  }
  .flex-txt.mt0 {
    margin-top:0;
  }
  .flex.col3 figure {
    margin:0 auto 2rem;
    max-width:90%;
  }
  .service-flow {
    margin:3rem auto 2rem;
  }
  #service-case {
    margin-top:3rem;
  }
  .staff-read .flex-img {
    margin:1rem auto 4rem;
  }
  .work-flex figure {
    margin-bottom:1rem;
  }
  .ttl-circle {
    font-size:2rem;
    background-size:1.2em;
    margin: 0 0 2rem;
  }
  .ttl-circle:before, .ttl-circle:after {
    height:3px;
  }
  #recruit-wrap .mat-dot {
    padding: 2rem;
  }
  .rec-area {
    padding: 2rem 1.5rem;
    border-width:3px;
    border-radius: 10px;
  }
  .ttl01.s {
    font-size: 1.8rem;
  }
  .rec-main figure {
    margin-bottom:1rem;
  }
  .rec-list li {
    margin-bottom:0.5rem;
  }
  .rec-list img {
    margin-right: 5px;
    vertical-align: middle;
  }
  .gh-main {
    margin-bottom:4rem;
  }
  #gh-single h2, #gh-single h3 {
    background-position:0 0.2em;
  }
  #gh-main {
    margin-bottom:4rem;
    padding-bottom:5rem;
  }
  .rec-archive .rec-area {
    margin-bottom:3rem;
  }
  .cate-area {
    margin-bottom:1rem;
  }

}




/* -----------------------------------------------------------
#form index
------------------------------------------------------------*/
#form {
  padding-bottom:16rem;
  position: relative;
}
#form-wrap {
  padding:8rem 0;
}
.form-read {
  margin:0 auto 4rem;
}
.note-box {
	border:1px solid #707070;
	padding:1.5rem 2rem;
	margin-bottom:5rem;
}
.note-box * {
	font-size: 1.5rem;
	line-height: 1.6;
}
.red {
	color:#d55858;
}
.privacy-link {
  text-align: center;
}
.privacy-area {
  border: 1px solid #ccc;
  padding: 20px;
  text-align: left;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-top: 1em;
  color: #666;
}
.link {
  color:#F27D41;
  text-decoration: underline;
}
.ttl-bar {
  background-color: #F27D41;
  color:#fff;
  font-size:4.2rem;
  text-align:center;
  padding:1em 1rem;
  font-weight:bold;
}
.form-table .privacy-area {
	font-size:1.4rem;
}
.accept-box {
	margin:0 auto;
	text-align: center;
}
.td-radio {
  display: flex;
}
.flex-th .th {
  line-height:1.4;
}
.th-l {
  font-size:130%;
}
.form-table option, .form-table textarea, .form-table input[type="number"], .form-table input[type="email"], .form-table input[type="tel"], .form-table input[type="text"], .form-table input[type="option"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  border-radius: 5px;
  outline: 0;
  margin: 0;
  padding: 1rem;
  border: 1px solid #ccc;
  font-weight: normal;
  background: #fff;
  color:#555;
  width: 100%;
}
.submit-btns {
  margin: 2rem auto;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.submit-btns button[type="submit"],
.submit-btns input[type="submit"],
.submit-btns input[type="button"] {
  cursor: pointer;
}
.submit-btns [type=submit],
.submit-btns [type=button] {
  letter-spacing: 0.1em;
  width: 300px;
  margin:0 1%;
  max-width:100%;
  height: 70px;
  background: #F27D41;
}
.submit-btns [type=button] {
  background: #777;
}
button, input, select, textarea {
  background: 0 0;
  border: 0;
  border-radius: 0;
  font: inherit;
  outline: 0;
}
input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  margin:0;
}
.form-table label {
  margin:0.3em 1em 0.3em 0.4em;
  display: flex;
  align-items: center;
  position: relative;
}
.form-table button {
  border-radius:48px;
  width: 202px;
  height: 48px;
}
.form-table button,
.form-table button:hover,
.form-table button:active,
.form-table button:focus {
  background: #EC6400;
  color:#fff;
}
.form-table .wq-Form .wq-TextInput.wq-size-normal {
  width: 100%;
}
.form-table .wq-Form .wq-TextInput.wq-size-normal {
  width: 100%;
}
.form-table select:hover,
.form-table label:hover,
input[type="radio"]:hover,
input[type="checkbox"]:hover,
.accept-box *:hover {
  cursor: pointer;
}

/* select */
.select-wrap {
  display: flex;
  align-items: center;
}
.select-wrap.mb {
  margin-bottom:10px;
}
.select-wrap select{
  height: 3em;
  background-color: #FFF;
  background-image: url(../img/select-ar.png);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 40px auto;
  padding: 0 52px 0 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.select-area {
  position: relative;
}

/* radio */
input[type="radio"] {
  width: 18px;
  height: 18px;
  border-radius: 100px;
  position: relative;
  vertical-align: sub;
}
input[type="radio"]::before,
input[type="radio"]::after{
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
input[type="radio"]::before {
  background-color: #fff;
  border: 1px solid #ccc;
  height: 18px;
  width: 18px;
  left: 0px;
}
input[type="radio"]::after {
  background-color: #585858;
  opacity: 0;
  height: 10px;
  width: 10px;
  left: 4px;
}
input[type="radio"]:checked::after {
  opacity: 1;
}
.form-table .flex-td {
	display: flex;
}
.form-table .flex-td div {
	margin:0 5px 0 0;
}
input[type="text"],
textarea,
select {
	padding:0.5rem 0.5rem;
	border:1px solid #999;
}
textarea {
	width:100%;
}
.form-table .required {
	border-radius: 3px;
	font-size: 1.2rem;
	padding: 0.3rem 0.5rem 0.3rem;
	color: #fff;
	text-align: center;
	line-height: 1;
	background:#F6A378;
	width:3em;
}
.check_btn label {
  display: inline-block;
  line-height: 1em;
}
.form-table label::before,
.form-table label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
input[type="checkbox"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="checkbox"] {
  cursor: pointer;
  padding-left: 24px;
  vertical-align: middle;
  position: relative;
}
input[type="checkbox"]::before,
input[type="checkbox"]::after {
  content: "";
  display: block; 
  position: absolute;
}
input[type="checkbox"]::before {
  content: "";
  position: absolute;
  background-color: #fff;
  border: 1px solid #bbb;
  width: 20px;
  height: 20px;
  /* transform: translateY(-50%); */
  top: 0;
  bottom: 1px;
  margin: auto;
  left: 0;
  border-radius: 3px;
}
input[type="checkbox"]::after {
  border-bottom: 3px solid #585858;
  border-left: 3px solid #585858;
  opacity: 0;
  height: 8px;
  width: 13px;
  transform: rotate(-45deg);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 4px;
  content: "";
  position: absolute;
}
.form-table label span {
  display: inline-block;
}
input[type="checkbox"]:checked::after {
  opacity: 1;
}
.form-table [type=submit] {
width: 240px;
line-height: 2em;
margin: 10px 5px;
background: #F27D41;
color: #fff;
border: 0;
border-radius: 2px;
height: 50px;
font-size: 1.6rem;
font-weight: bold;
}
.form-table button[type="submit"],
.form-table input[type="submit"] {
cursor: pointer;
}
.submit-btns {
	margin: 2rem auto 3rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mw_wp_form_confirm .accept-box,
.mw_wp_form_confirm .privacy-area {
	display: none;
}

/* statusbar 
----------------------------------------------------------- */
.statusbar {
  margin:0 auto 8rem;
  display: flex;
  justify-content: center;
  max-width:700px;
  position: relative; 
}
.statusbar li {
  width:100%;
  text-align: center;
  margin: auto;
}
.statusbar:after {
  content: "";
  position: absolute;
  top: 21px;
  right: 0;
  margin: auto;
  left: 0;
  width: 75%;
  height: 1px;
  background-color: #707070;
  z-index: -1;
}
.statusbar .num {
  background-color: #aaa;
  width:40px;
  height:40px;
  border-radius: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  color:#fff;
  font-size:2rem;
  font-weight:bold;
  margin:auto;
}
.statusbar .num.current {
  background-color: #F6A378;
}
.statusbar .status-txt {
  color: #7a7a7a;
  font-weight: 500;
  margin: auto;
  font-size: 1.4rem;
}

/* -----------------------------------------------------------
contact
------------------------------------------------------------*/

/* contact
------------------------------------------------------------*/

.thanks-txt p {
  font-size:106%;
  line-height:2.5;
}
.flex-th {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* contact7 reset
------------------------------------------------------------*/
#contact .wpcf7-spinner {
  width:0;
  margin:0;
}
.wpcf7-list-item {
  margin:0;
}
.p-postal-code {
  width:6em!important;
  height: 3em;
}
.p-locality {
  width:100%!important;
}
label.w100 {
  width:100%!important;
}
.form-table label.c-yubin,
.form-table label.c-address {
    margin-left:0;
    margin-right:0;
}
.c-flex .last.has-free-text {
  display: flex;
}
.form-table .c-flex label {
  width:4em;
}
.c-flex {
  display: flex;
  align-items: center;
}
.accept-area {
  text-align: center;
  margin-bottom: 3rem;
}
.select-wrap .wpcf7-date  {
  margin-right:1em;
}


/* WP reset
-----------------------------------------------------------*/
figure img {
  height:auto;
}
.single-detail figure + figure {
  margin-top:1rem;
}


@media screen and (min-width: 768px) {
/* contact
----------------------------------------------- */
  .form-sub {
    margin:6rem 0;
  }
  .form-main {
    margin:4rem 0;
  }
  .form-table .th {
    width:calc(100% - 3em);
  }
  .form-table table.type01 th {
    width:28%;
  }
  .contact-wrap th {
    position: relative;
    padding: 1em 2%;
    text-align: left;
  }
  .contact-wrap td {
    padding: 1.5em 2%;
  }
}
@media screen and (max-width: 767px) {
/* contact
----------------------------------------------- */
  .form-table th, .form-table td {
    width:100%;
    display: block;
  }
  .single-form .mat-dot {
    padding: 3rem 1rem;
  }
  .flex-th {
    justify-content: flex-start;
  }
  .form-table .required {
    margin-left:1rem;
  }
  .contact-wrap td {
    padding: 0;
  }
  .contact-wrap th {
    padding: 1rem 0;
  }
  .contact-wrap td {
    margin-bottom:1rem;
  }
  .submit-btns [type=submit], .submit-btns [type=button] {
    font-size:1.6rem;
    width:90%;
    height:54px;
  }
  .inner-single {
    margin-bottom:0;
  }
  .contact-wrap .section {
    padding:0;
    width:100%;
  }

}

.read-404 {
  margin:4vw auto;
}
.read-404 .btn01 {
  margin:auto;
}
.read-txt {
  margin-bottom:5rem;
}


/* -----------------------------------------------------------
swiper
------------------------------------------------------------*/
/* slider */
[class*=swiper]:focus {
  outline: none;
}
.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}
.slide-media img,
.thumb-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slide02 {
  overflow: hidden;
}
.slide02 .swiper,
.slide02 .thumb-wrapper {
  margin: auto;
}
.slide02 .swiper {
  overflow: visible;
}
.slide02 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}
.slide02 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}
.slide02 .swiper-controller {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 62.5%;
}
.slide02 .swiper-button-prev, .slide02 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}
.slide02 .slide {
  display: block;
  overflow: hidden;
}
.slide02 .slide-media {
  display: block;
  padding-top: 62.5%;
}
.slide02 .slide-title {
  font-weight: bold;
  line-height: 1.6;
  padding: 3.2rem 0;
}
.slide02 .thumb-wrapper {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 1em -6px 0;
  gap: 0;
}
.slide02 .thumb-media {
  width: calc(25% - 12px);
  margin: 0 6px 10px;
  cursor: pointer;
}
.slide02 .thumb-media,
.slide02 .thumb-media.thumb-media-active {
  position: relative;
}
.slide02 .thumb-media:after {
  content:"";
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height: 100%;
  border:2px solid #fff;
  border:none;
  z-index: 0;
}
.slide02 .thumb-media.thumb-media-active:after {
  content:"";
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height: 100%;
  border:3px solid #F38851;
  border-radius: 20px;
  z-index: 0;
}
#swiper {
  margin-bottom:5rem;
}
.slide02 .thumb-media img {
    transition: 0.3s;
}
.slide02 .thumb-media.thumb-media-active img {
  opacity: 0.5;
}


@media screen and (min-width: 768px) {
  .slide02 .thumb-media:hover img {
    opacity: 0.7;
    transition: 0.3s;
  }
  .item-thumb img,
  .thumb-media img,
  .item-thumb,
  .thumb-media {
    border-radius: 20px;
    overflow: hidden;
  }
  .item-thumb img {
    width:100%;
    border-radius: 40px;
  }

}
@media screen and (max-width: 750px) {
  .item-thumb img,
  .thumb-media img,
  .item-thumb,
  .thumb-media {
    border-radius: 10px;
    overflow: hidden;
  }
  .item-thumb img {
    width:100%;
    border-radius: 15px;
  }
  .slide02 .thumb-media.thumb-media-active:after {
    border-radius: 10px;    
  }
  
}


@media screen and (max-width:480px) {

}









