@charset "UTF-8";


.slider img {
  width: 100%;
  height: auto;
}

.slider .slick-slide {
  margin: 0 10px;
}

.bg_gray {
  background-color: #e2e2e2;
}


* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 14px;
}

body {
  font-family: Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #333;
  background-image: url(assets/bg_pc.png);
  background-position: center;
  background-size: cover;
  background-color: #FAFAFA;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 400;
  font-style: normal;
}


h1,
h2,
h3,
h4 {
  font-family: 'Zen Kaku Gothic Antique', sans-serif;
}


.auto {
  margin: auto;
}




header,
footer,
nav,
menu,
article,
aside,
section,
details,
figcaption,
figure {
  display: block;
}

h1,
h2,
h3,
p,
span {
  margin: 0;
  padding: 0;
}

p,
th,
td {
  line-height: 1.7;
}

.bg_yellow a {
  color: #333333;
}

#confirm {
  font-size: 16px;
}

.mfp_element_reset {
  font-size: 16px;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
}



a img {
  border: none;
}

a {
  text-decoration: none;
}

strong {
  font-weight: normal;
}

i {
  font-style: normal;
}

body {
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
}

input,
button,
textarea,
select {
  -webkit-appearance: none;
  appearance: none;
}

button {
  border: none;
  text-decoration: none;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.inner {
  padding: 72px 24px 0;

}


.textcenter {
  text-align: center;
}



.pc {
  display: none;
}

.en {
  color: white;
  font-family: "futura-pt-bold", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.en.bold {
  color: #108B00;
  font-weight: bold;
}


.c_white {
  color: white;
}

.c_gold {
  color: #846200;
}

.c_yellow {
  color: #14B100;
}

.bg_gold {
  background-color: #111111;
}

.bg_yellow {
  background-color: #108B00;
}

.bold {
  font-weight: 700;
}


.work span {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* .top_v {
  height: 64vh;
  background-image: url(assets/top.webp);
  background-position: unset;
  background-size: cover;
  position: relative;
} */

/* .top_v_inner {
  position: absolute;
  bottom: 0%;
  left: 24px;
  transform: translate(0%, -10%);
  padding-right: 24px;
} */

.top_v_headline h1 {
  font-size: 16px;
}

.top_v_text {
  margin-top: 32px;
}

.copyright p {
  font-size: 12px;
}

button a {
  font-size: 16px;
}

.how_ul {
  display: flex;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
}

.how_li {
  flex: 0 0 260px;
  scroll-snap-align: center;
  margin-bottom: 24px;
  padding: 24px 16px;
  border-radius: 8px;
  background-color: whitesmoke;
  color: #333333;
}


.margin_b {
  margin-bottom: 16px;
}

.c_black {
  color: #333333;
}


.how_li .text {
  font-size: 14px;
  margin-top: 16px;
}


.how_ul li+li {
  margin-left: 16px;
}

.inner {
  padding: 64px 16px;
}




.service_btn li {
  padding: 8px;
  text-align: center;
}

.service_btn span {
  display: block;
  font-size: 12px;
}

.service_btn a {
  font-size: 24px;
}

.sub_top .inner {
  background-color: gray;
}


.sub_top .opacity {
  font-size: 48px;
  text-align: end;
}

.about .detail {
  margin-top: 16px;
}

.about .headline {
  margin-top: 8px;
}

.br_pc {
  display: none;
}

.work .inner {
  padding: 0px 16px;
}

.work span {
  font-size: 64px;
}

.service .text {
  margin-top: 16px;
}

.service ul {
  margin-top: 32px;
  margin-bottom: 32px;
}

.service ul li {
  height: 200px;
  padding: 32px;
  position: relative;
  background-position: center;
  background-size: cover;
}

.men_s {
  background-image: url(assets/service/suit.webp);
}

.dog_s {
  background-image: url(assets/aaaa.webp);
}

.service a {
  display: flex;
  justify-content: center;
}

.service a span {
  padding-left: 8px;
}

.contact_btn {
  padding: 64px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-image: url(assets/3.png);
  background-position: left;
  background-size: cover;
}

.contact_btn img {
  width: 20%;
}


.contact_btn .en {
  font-size: 32px;
  width: 70%;
}

.contact_btn .en span {
  display: block;
  font-size: 16px;
}

.footer_logo_block {
  display: flex;
  justify-content: space-between;
}

.footer_bell {
  width: 20%;
}

.footer_menu {
  padding: 64px 16px;
}

.footer_text_block .company_service {
  margin-top: 24px;
}

.footer_text_block .company_service p {
  margin-top: 8px;
}

.footer_text_block .company_service h4 {
  font-size: 18px;
}

.footer_time {
  margin-top: 16px;
}

.footer_copy {
  margin-top: 24px;
}

.greet .text {
  margin-top: 16px;
}

.text_block {
  margin-top: 32px;
}

.greet .text+.text {
  margin-top: 8px;
}

.faq_ul li {
  padding: 32px 16px;
  background-color: whitesmoke;
  border-radius: 8px;
  color: #333333;
}

.faq_ul {
  margin-top: 32px;
}

.faq_ul li+li {
  margin-top: 16px;
}

.faq_ul li p {
  font-size: 14px;
  margin-top: 8px;
}

.sub_top .inner {
  padding: 0 16px;
  padding-top: 144px;
}

.sub_top .inner.faq {
  background-image: url(assets/company_1.png);
  background-position: bottom;
  background-size: cover;
}

.sub_top .inner.service {
  background-image: url(assets/service_1.png);
  background-position: bottom;
  background-size: cover;
}

.sub_top .inner.recruit {
  background-image: url(assets/recruit.png);
  background-position: bottom;
  background-size: cover;
}

.sub_top .inner.howto {
  background-image: url(assets/howto.webp);
  background-position: bottom;
  background-size: cover;
}



.how_li .title {
  font-size: 20px;
}

.sub_top .ja {
  font-size: 24px;
}

.sub_top .opacity {
  margin-top: 32px;
  opacity: 0.5;
}

.service_btn li+li {
  margin-top: 8px;
}



.sub_service_block h2 {
  font-size: 18px;
}

.sub_service_block_text h3 {
  font-size: 32px;
  margin-top: 16px;
}

.sub_service_block_text .text {
  margin-top: 16px;
}

.sub_service_price li {
  text-align: center;
}

.sub_service_price ul {
  margin-top: 24px;
}

.sub_service_price .price {
  font-size: 20px;
}

.sub_service_how .detail {
  margin-top: 16px;
}

.sub_service_how .sp {
  margin-top: 32px;
}


.sub_service_block_image .image {
  background-image: url(assets/service/suit.webp);
  height: 480px;
  background-position: center;
  background-size: cover;
  margin-top: 64px;
}

.sub_service_block_image .image.dog {
  background-image: url(assets/service/dog.webp);
}



.hooto_qa img {
  margin-top: 32px;
}

.footer_bell {
  margin-top: -16px;
}

.footer_text_block {
  margin-top: 24px;
}

.footer_logo_block a {
  font-size: 24px;
}

.sub_service_block_image {
  position: relative;
}

.sub_service_block_image .en {
  position: absolute;
  opacity: 0.3;
  font-size: 88px;
  left: 0;
  top: -88px;
}

.sub_service_price .price.textcenter {
  margin-top: 16px;
}

.margin_t {
  margin-top: 32px;
}

.how_li span {
  padding-left: 8px;
}

.sub_service_price .inner {
  padding: 0 16px;
}

.title_ {
  font-size: 32px;
}

.about .en {
  font-size: 32px;
}

.service .en {
  font-size: 32px;
}

.hooto_qa .en {
  font-size: 32px;
}

.greet .en {
  font-size: 32px;
}

.work h3 {
  font-size: 14px;
}

.company_table_block_title {
  width: 240px;
  text-align: left;
}

.company_table_block_text {
  width: 480px;
  text-align: left;
}

.company_table {
  margin: auto;
  margin-top: 104px;
}

.company_table_block tr {
  border-top: 1px solid #707070;
  border-bottom: 1px solid #707070;
  padding: 16px;
  display: block;
}

.company_table_block tr+tr {
  border-top: none;
}


.company_service a {
  color: white;
}


.common_btn {
  display: flex;
  align-items: center;
  width: auto;
  height: 65px;
  border-radius: 60px;
  background-color: #108B00;
  position: relative;
}

.common_btn span {
  font-size: 16px;
  letter-spacing: 0.05em;
  color: #fff;
  padding-left: 30px;
  transition: 0.3s;
}

.common_btn::after {
  position: absolute;
  content: "";
  background: url(assets/arrow.svg) no-repeat center;
  background-size: cover;
  width: 26px;
  height: 18px;
  top: 50%;
  transform: translate(-50%, -50%);
  right: 12px;
  transition: 0.3s;
}

.ma_top {
  margin-top: 104px;
}

.greeting {
  margin-top: 16px;
}


.frame {
  padding: 72px 24px;
  border-radius: 8px;
  box-shadow: 8px 8px 0px 0 #80808070;
}

.margin_text {
  margin-top: 64px;
}

.margin_text img {
  margin-top: 24px;
}

.company_service.flex {
  margin-top: 16px;
}

.company_service.flex a {
  background-color: gray;
  display: table;
}

.company_service.flex a+a {
  margin-top: 8px;
}


.yms_number {
  width: 16%;
  margin-top: 16px;
}

.privacy_detail p {
  margin-top: 16px;
}




.news_li {
  /* flex: 0 0 310px; */
  scroll-snap-align: center;
  margin-bottom: 24px;
}

.news_ul {
  display: flex;
  overflow-x: scroll;
  scroll-snap-type: x mandatory;
}


.news_category {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 3px;
  background-color: #22AC38;
  color: white;
}

.contact .inner {
  border-top: 1px solid #111;
  border-bottom: 1px solid #111;
}

.news_li p {
  display: inline-flex;
}

.news_ul {
  margin-top: 32px;
}

.news .inner {
  padding-top: 0;
}

.news .en {
  font-size: 32px;
}

.news_ul .num {
  color: #333;
}

.news_ul h4 {
  color: #333;
  margin-top: 8px;
}


.gggg {
  margin-bottom: 64px;
  padding: 0 16px;
}


@media screen and (min-width: 768px) {

  .gggg {
    margin-bottom: 0px;
    padding: 0;
    margin: auto;
    padding-left: 212px;
    margin-bottom: 104px;
  }


  .news .en {
    font-size: 48px;
  }


  .news .inner {
    padding-top: 144px;
  }



  .news_ul {
    margin-top: unset;
  }


  .news_li {
    flex: 0 0 480px;
    scroll-snap-align: center;
    margin-bottom: 24px;
  }

  .news_ul {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
    margin-top: 30px;
  }




  .yms_number {
    width: 5%;
    margin-top: 24px;
  }


  .company_service.flex a {
    margin: 0;
    padding: 2px 5px;
    border-radius: 5px;
    display: block;
    font-size: 12px;
  }

  .company_service.flex a+a {
    margin-top: 0px;
    margin-left: 32px;
  }


  .company_service.flex {
    display: flex;
    margin: 0;
    padding: 0;
    /* justify-content: end; */
    margin-top: -40px;
    margin-left: 104px;

  }

  .margin_text {
    margin-top: 104px;
    padding: 0 108px;
  }

  .margin_text img {
    margin: auto;
    display: flex;
    max-width: 480px;
    margin-top: 32px;
  }


  .frame {
    padding: 104px 108px;
    border-radius: 30px;
    box-shadow: 8px 8px 0px 0 #80808070;
  }



  .greeting {
    margin-top: 24px;
  }


  .company_service a {
    margin-left: 32px;
  }

  .common_btn {
    width: 400px;
  }

  html {
    font-size: 16px;
  }

  .slider {
    margin-top: 104px;
  }

  .sub_service_price .inner {
    padding: 144px 104px 0;
  }

  .margin_t {
    margin-top: 64px;
  }

  .sub_service_block_image .en {
    font-size: 144px;
    left: unset;
    right: 0;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
  }

  .margin_b {
    margin-bottom: 16px;
  }

  .hooto_qa img {
    margin-top: unset;
  }


  .hooto_qa li+li {
    margin-top: 104px;
  }

  .sub_top .inner.faq {
    background-position: center;
  }


  .sub_service_block_image .image {
    height: 560px;
  }

  .sub_service_price ul {
    margin-top: unset;
  }

  .sub_top .ja {
    font-size: 32px;
  }



  .sub_service_price li {
    text-align: unset;
  }

  .service_btn li+li {
    margin-top: unset;
  }

  .service_btn li {
    margin: 0 16px;
    padding: 8px 16px;
    border: 1px solid black;
    text-align: center;
  }

  .service_btn {
    display: flex;
    justify-content: center;
  }


  .sub_top .opacity {
    margin-top: unset;
  }

  .how_li .text {
    font-size: unset;
  }

  .sub_top .inner {
    padding: 200px 104px 0;
  }

  .text_block {
    margin-top: unset;
  }

  .sub_top .opacity {
    font-size: 104px;
  }

  .footer_text_block .company_service {
    margin-top: unset;
  }

  .footer_text_block .company_service p {
    margin-top: unset;
  }

  .footer_text_block .company_service h4 {
    font-size: unset;
  }

  .footer_time {
    margin-top: unset;
  }

  .footer_copy {
    margin-top: unset;
  }


  .service .text {
    margin-top: unset;
  }

  .work .inner {
    padding: 104px;
  }

  .inner {
    padding: 104px 176px;
  }



  .footer_bell {
    width: 12%;
    margin-top: -16px;
  }

  .footer_text_block .company_detail {
    width: 45%;
  }

  .footer_text_block .company_service {
    width: 50%;
    text-align: end;
    display: flex;
    justify-content: end;
  }



  .footer_menu {
    padding: 104px;
  }

  .footer_logo_block {
    display: flex;
    justify-content: space-between;
  }

  .footer_time {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 32px;
  }

  .footer_text_block {
    display: flex;
    justify-content: space-between;
    margin-top: 32px;
  }

  .footer_logo_block a {
    font-size: 32px;
  }

  .pc {
    display: block;
  }

  .br_pc {
    display: block;
  }

  .inner {
    padding: 144px 104px 0;
  }

  button {
    width: 300px;
  }

  .sp {
    display: none;
  }

  .top_v img {
    display: none;
  }

  .top_v {
    height: 100vh;
    background-image: url(assets/top.webp);
    background-position: center;
    background-size: cover;
    position: relative;
    background-color: gray;
  }

  .top_v_inner {
    position: absolute;
    top: 50%;
    left: 108px;
    transform: translate(0%, -50%);
    padding: unset;
  }

  .top_v_headline h1 {
    font-size: 64px;
  }


  .hooto_qa .text {
    margin-bottom: 24px;
  }

  .hooto_qa span {
    padding-left: 8px;
  }

  .greet .text+.text {
    margin-top: 16px;
  }

  .top_v_text {
    width: 30%;
    margin-top: 32px;
  }

  .how_ul {
    display: flex;
    overflow-x: scroll;
    scroll-snap-type: x mandatory;
  }

  .how_li {
    flex: 0 0 540px;
    scroll-snap-align: center;
    margin-bottom: 24px;
    padding: 24px 32px;
    border-radius: 8px;
    background-color: whitesmoke;
  }

  .how_ul li+li {
    margin-left: 24px;
  }


  .about .en {
    font-size: 24px;
  }

  .about .headline {
    font-size: 40px;
    margin-top: 16px;
  }

  .about .detail {
    font-size: 20px;
    margin-top: 32px;
  }

  .work h3 {
    font-size: 32px;
  }

  .work span {
    font-size: 104px;
  }

  .work .inner {
    max-width: 800px;
    margin: auto;
  }



  .service .block_flex {
    display: flex;
    justify-content: space-between;
  }

  .service .block_flex .en {
    width: 30%;
  }

  .service .block_flex .text {
    width: 65%;
  }

  .service ul {
    display: flex;
    margin-top: 64px;
    margin-bottom: 32px;
  }

  .service ul li {
    width: 50%;
    height: 560px;
    padding: 32px;
    position: relative;
    background-position: center;
    background-size: cover;
  }









  .service ul li h2 {
    font-size: 24px;
  }


  .service ul li .service_1 {
    position: absolute;
    bottom: 44px;
    margin: 0 48px;
  }

  .service ul li .service_1 p {
    font-size: 14px;
  }


  .service ul li .service_1 .text {
    margin-top: 24px;
  }

  .sub_service_block {
    margin-top: 104px;
  }

  .sub_service_block_ {
    display: flex;
    justify-content: space-between;
    margin-top: 104px;
  }

  .sub_service_block h2 {
    font-size: 32px;
  }

  .sub_service_block_ img {
    height: 480px;
    background-color: gray;
  }

  .sub_service_block_text {
    width: 50%;
  }


  .sub_service_block_image {
    width: 45%;
  }



  .sub_service_block_text h3 {
    font-size: 48px;
  }

  .sub_service_price .price {
    font-size: 24px;
  }


  .sub_service_price ul {
    display: flex;
    justify-content: space-evenly;
    margin-top: 32px;
  }

  .sub_service_price ul li {
    text-align: center;
    margin: 0 32px;
  }


  .sub_service_how .pc {
    margin-top: 32px;
  }

  .sub_service_how .detail {
    margin-top: 24px;
  }

  .sub_service_block_text .text {
    margin-top: 32px;
  }



  .hooto_qa .en {
    font-size: 48px;
  }

  .hooto_qa li {
    display: flex;
    justify-content: space-between;
  }

  .hooto_qa li:nth-child(odd) {
    flex-direction: row-reverse;
  }



  .hooto_qa .text_block {
    width: 30%;
  }

  .hooto_qa img {
    width: 65%;
  }

  .greet .inner {
    display: flex;
    justify-content: space-between;
  }

  .greet .en {
    font-size: 48px;
  }

  .greet img {
    width: 40%;
  }

  .greet .text_block {
    width: 55%;
  }

  .faq_ul {
    margin-top: 32px;
  }

  .faq_ul li {
    padding: 40px 48px;
    background-color: whitesmoke;
    border-radius: 8px;
  }

  .faq_ul li span {
    margin-right: 8px;
  }


  .faq_ul li p {
    font-size: 14px;
    margin-top: 16px;
  }


  .faq_ul li+li {
    margin-top: 24px;
  }

  .contact_btn {
    padding: 144px 104px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-image: url(assets/3.png);
    background-position: center;
    background-size: cover;
  }

  .contact_btn img {
    width: 10%;
  }


  .contact_btn .en {
    font-size: 48px;
    width: 50%;
  }

  .contact_btn .en span {
    display: block;
    font-size: 16px;
  }

  footer {
    margin-top: 144px;
  }


}

@media screen and (min-width: 769px) and (max-width: 1200px) {
  .inner {
    padding-right: 24px;
    padding-left: 24px;
  }

  .top_v_headline h1 {
    font-size: 48px;
  }

  .top_v_inner {
    left: 24px;
  }

  #nav_header_content {
    padding-right: 24px;
    padding-left: 24px;
  }
}

@media screen and (max-width: 350px) {
  .inner {
    padding-right: 16px;
    padding-left: 16px;
  }

  .top_v_inner {
    left: 16px;
  }

  .sp_header {
    padding-right: 16px;
    padding-left: 16px;
  }

  .frame_blue {
    padding-right: 16px;
    padding-left: 16px;
  }

  .footer_company_block {
    padding-right: 16px;
    padding-left: 16px;
  }

  .entry_inner {
    padding-right: 16px;
    padding-left: 16px;
  }
}