/* 共通・汎用 */
.container {
  width: 100%;
  display: block;
}

section {
  width: 100%;
}

.section_inner {
  width: 60%;
  padding: 10vw 0;
  margin: auto;
}

.section_head {
  width: 100%;
  text-align: center;
}

.section_head h1 {
  padding-bottom: 5vw;
}

.sb_message {
  text-align: center;
  padding-top: 3vw;
}

.sb_message h2 {
  line-height: 1.5;
}

.contact_btn {
  width: 70%;
  margin: auto;
  margin-top: 3vw;
}

.contact_btn a {
  display: block;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
  padding: 3px;
}

.contact_btn a h2 {
  display: block;
  padding: 0.7em 0;
  border: 1px solid #ffffff;
}

/* lp_top */
#lp_top {
  padding-top: 0;
}

.main_visual_area {
  background-image: url('../img/bg_main.png');
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  padding-bottom: 3vw;
}

.site_title {
  margin-left: 15%;
  margin-bottom: 20vw;
  padding-top: 20px;
}

.site_title div {
  width: 10%;
}

.site_title h1 {
  padding-top: 10px;
  font-size: 1.5vw;
  font-weight: 600;
}

.main_image {
  width: 32%;
  top: -21.5vw;
  right: 15%;
  z-index: 3;
}

.xBox {
  width: 22%;
  margin-left: 13%;
}

.border {
  padding-left: 2vw;
}

.typpingX_box p span {
  font-size: 1.8vw;
  line-height: 1.2;
  font-weight: 400;
}

.main_chatch {
  margin-left: 15%;
  padding-bottom: 1.5em;
}

.sub_chatch {
  margin-left: 15%;
  padding-bottom: 1em;
}

.sub_chatch h3 {
  font-weight: 400;
}

.lineApp_box {
  padding-top: 8vw;
  width: 40%;
  margin-right: 16%;
}

.lineApp {
  width: 100%;
  margin-bottom: 1em;
}

/* introduction */
.section_head p {
  padding: 1.5em 0;
}

.intro_box {
  width: 30%;
  padding-bottom: 3vw;
}

.intro_img {
  width: 100%;
}

.intro_text {
  padding-top: 1.5em;
}

.intro_text p {
  text-align: justify;
  line-height: 1.5;
}

/* movie_area */
#movie_area {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

#movie_area iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* wecan */
.slide_block {
  padding: 3vw 0;
}

.slick-initialized .slick-slide {
  display: flex;
}

.slide_img {
  width: 40%;
  margin-left: 5%
}

.slide_text {
  width: 40%;
  margin-right: 5%;
}

.slide_text h3 {
  font-style: italic;
  font-weight: 600;
  padding-bottom: 1em;
}

.slide_text h1 {
  font-size: 2vw;
  line-height: 1.3;
  padding-bottom: 0.5em;
}

.slide-arrow {
  width: 1.5vw;
  height: auto;
  position: absolute;
  top: 50%;
  transform: translateX(-50%);
}

.prev-arrow {
  left: -2vw;
}

.next-arrow {
  right: -3.5vw;
}

.slick-dots {
  bottom: -3vw;
}

.slick-dots li {
  width: 2vw;
}

.slick-dots li button:before {
  font-size: 1.5vw;
  color: #f4f4f4;
  opacity: 1;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
  color: #836e38;
}

.price_box {
  margin-top: 8vw;
  border: 2px solid #ffffff;
}

.price_box h3 {
  width: 100%;
  text-align: center;
  padding-top: 3vw;
}

.price_box_inner {
  width: 75%;
  margin: auto;
  padding: 3vw 0;
}

.price_box_inner table {
  width: 100%;
}

.price_box_inner table tr {
  line-height: 1.5;
}

.price_box_inner table tr td {
  vertical-align: text-bottom;
}

.price_box_inner table .pop {
  width: 6em;
}

.price_box_inner table .pop .bg_red {
  font-size: 2.2vw;
  text-align: center;
  line-height: 1.5;
  display: inline-block;
  vertical-align: bottom;
  width: 100%;
}

.price_box_inner table .minits {
  font-size: 2.5vw;
  width: 3.5em;
  letter-spacing: 2px;
  text-align: center;
}

.price_box_inner table .yen {
  font-size: 3.8vw;
  letter-spacing: 3px;
}

.price_box_inner table .yen span {
  font-size: 2.2vw;
  display: inline-block;
  vertical-align: text-bottom;
}

/* reason */
.reason_box {
  width: 48%;
  margin-bottom: 3vw;
}
.reason_box h3 {
  font-style: italic;
  font-weight: 600;
  padding-bottom: 1em;
}

.reason_box h1 {
  font-size: 1.8vw;
  line-height: 1.3;
  padding-bottom: 0.5em;
}

.reason_box p {
  align-items: flex-start;
}

.reason_img {
  margin-top: 2vw;
  width: 100%;
}

/* voice */
.voice_box {
  width: 85%;
  margin: auto;
  border: 2px solid #836e38;
  margin-bottom: 3vw;
}

.voice_box.box_bottom {
  margin-bottom: 10vw;
}

.voice_box_inner {
  width: 90%;
  margin: auto;
  padding: 2vw 0;
}

.voice_box_inner h3 {
  font-size: 2vw;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: 2px solid #836e38;
}

.voice_box_inner p {
  width: 100%;
}

.voice_box_inner .status_text span {
  font-size: 0.7vw;
  padding-bottom: 0.3vw;
  padding-right: 0.5em;
  display: inline-block;
  vertical-align: middle;
}

.voice_box_inner .comment_text {
  padding: 1em 0;
  line-height: 1.8;
  text-align: justify;
}

.voice_box_inner .info_text {
  text-align: right;
}

.voice_box_inner hr {
  border-bottom: 1.5px dashed #836e38;
}

.faq_box {
  width: 85%;
  margin: auto;
}

.faq_box h3 {
  font-size: 2vw;
  letter-spacing: 2px;
  font-weight: 600;
}

.faq_box .faq_icon {
  margin-right: 1em;
}

.faq_box .faq_icon h2 {
  font-size: 2.3vw;
  border-radius: 50%;
  width: 1.5em;
  height: 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
}

.faq_box .q_box {
  margin-bottom: 1vw;
}

.faq_box .a_box {
  padding-bottom: 2vw;
  margin-bottom: 2vw;
  border-bottom: 2px solid #836e38;
}

.faq_box .a_box .a_text p {
  padding-top: 0.5vw;
  text-align: justify;
}

/* staff */
#staff .section_inner > div:last-child {
  margin-bottom: 0;
}

.staff_box {
  width: 100%;
  margin-bottom: 3vw;
}

.staff_box .staff_img {
  width: 30%;
}

.staff_box .staff_text {
  width: 67%;
}

.staff_box .staff_text h3 {
  font-weight: 600;
}

.staff_box .staff_text table {
  margin: 1vw 0;
}

.staff_box .staff_text table tr {
}

.staff_box .staff_text table tr th {
  font-size: 1vw;
  padding-right: 1em;
  font-weight: 400;
  text-align: left;
}

.staff_box .staff_text table tr td {
  font-size: 1vw;
  font-weight: 400;
  text-align: left;
}

.staff_box .staff_text p {
  font-size: 1vw;
  line-height: 1.5;
  letter-spacing: 1px;
  text-align: justify;
}

/* contact */
.contact_box {
  width: 48%;
}

.contact_box .form_items {
  padding: 1.5vw 3vw;
}

.contact_box .form_items .form_control {
  padding: 0;
  margin-bottom: 1vw;
  width: 100%;
}

.contact_box .form_items .form_control label{
  font-size: 1vw;
  padding: 0;
  margin: 0;
  width: 100%;
}

.contact_box .form_items .form_control input {
  line-height: 2.5;
}

.contact_box .form_items .form_control input,
.contact_box .form_items .form_control textarea {
  font-size: 1vw;
  padding: 0;
  margin: 0;
  width: 100%;
  border: 2px solid lightgray;
}

.contact_box p {
  font-size: 0.8vw;
  width: 100%;
  text-align: center;
  line-height: 1.5;
  padding: 1.5em 0;
}

.submit_box {
  width: 65%;
  margin: auto;
  padding: 2px;
}

.footer_box {
  width: 48%;
}

.footer_box .footer_logo {
  width: 30%;
  margin-bottom: 0.7vw;
}

.footer_box .footer_about {
  margin-bottom: 2vw;
}

.footer_box .footer_about h1,
.footer_box .footer_outline h1 {
  font-size: 1.5vw;
  margin-bottom: 1.5vw;
}

.footer_box .footer_about p {
  font-size: 1vw;
  line-height: 1.8;
  text-align: justify;
}

.footer_box .footer_outline table {
  width: 100%;
}

.footer_box .footer_outline table tr {
}

.footer_box .footer_outline table tr th {
  font-size: 1vw;
  width: 5.5em;
  text-align: justify;
  text-align-last:justify;
  font-weight: 400;
  vertical-align: top;
  line-height: 1.8;
}

.footer_box .footer_outline table tr td {
  font-size: 0.9vw;
  padding-left: 1.8em;
  font-weight: 400;
  line-height: 1.8;
  pointer-events: none;
}

.footer_sns {
  margin-top: 2vw;
}

.sns_box {
  width: 30%;
}

.sns_box a {
  width: fit-content;
  align-items: center;
}

.sns_img {
  height: 1.5vw;
}

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

.sns_box a p {
  font-size: 0.8vw;
  padding-left: 0.5em;
}

.footer_box .footer_outline .copyright {
  margin-top: 2.5vw;
  text-align: right;
}

/* レスポンシブSP */
@media screen and (max-width: 768px) {

  .section_inner {
    width: 90%;
    padding: 15vw 0;
  }

  .section_head h1 {
    padding-bottom: 8vw;
    font-size: 8.5vw;
  }

  .section_head h3 {
    line-height: 1.5;
  }

  .section_head p {
    padding: 1em 0;
    font-size: 2.5vw;
  }

  .contact_btn {
    width: 100%;
  }

  .contact_btn a h2 {
    font-size: 5vw;
    padding: 1em 0;
  }

  .main_visual_area {
    height: 40vh;
    padding-bottom: 2vw;
  }

  .site_title {
    width: 60%;
    margin-left: 3%;
    margin-bottom: 0;
    padding-top: 4vw;
  }

  .site_title div {
    width: 45%;
  }

  .site_title h1 {
    padding-top: 0;
    font-size: 4.5vw;
  }

  #lp_top .sp_on.bg_white {
    padding: 5vw 0;
  }

  .main_chatch {
    padding-bottom: 1em;
    margin-left: 4%;
  }

  .sub_chatch {
    margin-left: 5%;
    padding-bottom: 1em;
  }

  .sub_chatch h3 {
    font-weight: 600;
  }

  .main_image {
    width: 35%;
    top: -20vw;
    right: 0;
  }

  .disp_flex.flex_row_reverse.xBox {
    display: none;
  }

  .lineApp_box {
    width: 80%;
    margin: auto;
  }

  .sb_message h2 {
    font-size: 6.5vw;
  }

  #introduction .section_inner .pc_flex {
    margin-top: 5vw;
  }

  .intro_box {
    width: 100%;
    padding-bottom: 7vw;
  }

  .intro_img {
    width: 45%;
    margin: auto;
  }

  .intro_text {
    width: 80%;
    margin: auto;
  }

  .intro_text p {
    font-size: 2.8vw;
  }

  #introduction .sb_message {
    padding-bottom: 4vw;
    padding-top: 0;
  }

  .slide_show {
    width: 85%;
    margin: auto;
  }

  .slide_img {
    width: 90%;
    margin: 2vw auto;
  }

  .slide_text {
    width: 90%;
    margin: auto;
    margin-top: 1em;
  }

  .slide_text h1 {
    font-size: 4vw;
    height: 2.5em;
  }

  .slide_text p {
    height: 8em;
    font-size: 2vw!important;
  }

  .slick-initialized .slick-slide {
    display: block;
  }

  .slide-arrow {
    width: 4.5vw;
    top: 35%;
  }

  .prev-arrow {
    left: -5vw;
  }

  .next-arrow {
    right: -9.5vw;
  }

  .slick-dots {
    bottom: -7vw;
  }

  .slick-dots li {
    width: 4vw;
  }

  .slick-dots li button:before {
    font-size: 3vw;
  }

  .price_box {
    margin-top: 15vw;
    margin-bottom: 8vw;
  }

  .price_box_inner {
    width: 90%;
    padding: 5vw 0;
  }

  .price_box h3 {
    padding-top: 7vw;
    font-size: 6.5vw;
  }

  .price_box_inner table .minits {
    font-size: 4.5vw !important;
    width: auto;
  }

  .price_box_inner table .yen {
    font-size: 6.5vw !important;
    padding-bottom: 2.5vw;
  }

  .price_box_inner table .yen span {
    font-size: 4vw !important;
  }

  .price_box_inner table .pop .bg_red {
    font-size: 4.5vw !important;
    font-weight: 600;
    width: 3.2em;
    line-height: 1.5;
  }

  .reason_box {
    width: 100%;
    margin-bottom: 7vw;
  }

  .reason_box h1 {
    font-size: 5vw;
    font-weight: 600;
  }

  .reason_box p {
    font-size: 2.8vw;
    line-height: 1.3;
  }

  .voice_box_inner {
    padding: 5vw 0;
  }

  #voice .section_head h1,
  #staff .section_head h1 {
    font-size: 6.5vw;
  }

  .voice_box_inner h3 {
    font-size: 4vw;
    padding-bottom: 0.8em;
  }

  .voice_box_inner .text_indent {
    text-indent: -0.65em;
    padding-left: 1.2em;
    width: 96%;
    text-align: justify;
    font-size: 2.8vw;
  }

  .voice_box_inner .status_text span {
    font-size: 2.3vw;
    padding-bottom: 0.5vw;
  }

  .voice_box_inner .comment_text {
    font-size: 2.8vw;
  }

  .voice_box_inner .info_text {
    font-size: 2.8vw;
  }

  .faq_box {
    margin-bottom: 7vw;
  }

  .faq_box .faq_icon h2 {
    font-size: 5vw;
  }

  .faq_box .q_box {
    align-items: flex-start;
    padding-bottom: 3vw;
  }

  .q_text {
    padding-top: 1.5vw;
  }

  .faq_box h3 {
    font-size: 4vw;
    line-height: 1.5;
    text-align: justify;
  }

  .faq_box .a_box .a_text p {
    padding-top: 1.5vw;
    font-size: 2.8vw;
  }

  #voice .contact_btn {
    width: 85%;
  }

  .staff_box {
    margin-bottom: 10vw;
  }

  .staff_box .staff_img {
    width: 50%;
    margin: auto;
    margin-bottom: 3vw;
  }

  .staff_box .staff_text {
    width: 100%;
  }

  .staff_box .staff_text table tr th {
    font-size: 2.3vw;
    display: block;
  }

  .staff_box .staff_text table tr td {
    font-size: 2.3vw;
    padding-bottom: 2vw;
    display: block;
  }

  .staff_box .staff_text p {
    font-size: 2.4vw;
  }

  .contact_box {
    width: 100%;
    padding-bottom: 7vw;
  }

  .contact_box .form_items {
    padding: 5vw;
  }

  .contact_box .form_items .form_control {
    margin-bottom: 5vw;
  }

  .contact_box .form_items .form_control label {
    font-size: 2.5vw;
  }

  .contact_box .form_items .form_control input,
  .contact_box .form_items .form_control textarea {
    font-size: 3vw;
  }

  .contact_box p {
    font-size: 2.3vw;
    padding: 2.5em 0;
  }

  .submit_box {
    width: 60%;
    padding: 3.5px;
  }

  .send-btn {
    font-size: 4vw;
    letter-spacing: 6px;
    margin-right: -6px;
    border-radius: 0;
  }

  .footer_box {
    width: 100%;
  }

  .footer_box .footer_logo {
    width: 35%;
    margin-bottom: 2vw;
  }

  .footer_box .footer_about {
    margin-bottom: 7vw;
  }

  .footer_box .footer_about h1 {
    font-size: 5vw;
    margin-bottom: 2.5vw;
  }

  .footer_box .footer_about p {
    font-size: 2.4vw;
  }

  .footer_box .footer_outline h1 {
    font-size: 4vw;
    margin-bottom: 3vw;
    font-weight: 600;
  }

  .footer_box .footer_outline .sp_table div {

  }

  .footer_box .footer_outline .sp_table .tth {
    font-size: 2.5vw;
    width: 5.5em;
    text-align: justify;
    text-align-last:justify;
    font-weight: 400;
    vertical-align: top;
    line-height: 1.8;
    margin-right: 1.8em;
  }

  .footer_box .footer_outline .sp_table .ttd {
    font-size: 2.5vw;
    line-height: 2;
    font-weight: 400;
  }

  .footer_box .footer_outline .sp_table .ttn {
    font-size: 2.5vw;
  }

  .footer_box .footer_outline .sp_table .ttn a {
    color: #ffffff;
    font-size: 2.5vw !important;
    text-decoration: none;
    pointer-events: none;
  }

  .footer_sns {
    margin-top: 5vw;
  }

  .sns_box {
    width: 40%;
  }

  .sns_img {
    height: 5.5vw;
  }

  .sns_box a p {
    font-size: 2.8vw;
    padding-left: 0.8em;
  }

  .footer_box .footer_outline .copyright {
    text-align: center;
    margin-top: 5.5vw;
  }

  .footer_box .footer_outline .copyright p {
    font-size: 2vw;
  }

}
