@charset "UTF-8";
/*//////////////////////////////////////////////////////////

Copyright (C) apricot-design All Rights Reserved.
------------------------------------------------------------
CSS information
 file name  :  reset.css
 style info :  リセットファイル
 admin info :  apricot-design

//////////////////////////////////////////////////////////*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700&display=swap");
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

audio[controls], canvas, video {
  display: inline-block;
  *display: inline;
  zoom: 1;
}

html {
  overflow-y: scroll;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
  margin: 0;
  padding: 0;
}

body, button, input, select, textarea {
  font-size: 100%;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

pre, code, kbd, samp {
  font-family: monospace, monospace;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}
q:before, q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

ul, ol {
  margin: 0;
  padding: 0;
}

dd {
  margin: 0px;
}

nav ul, nav ol {
  list-style: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

figure, form {
  margin: 0;
}

fieldset {
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  *margin-left: -7px;
}

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button, input {
  line-height: normal;
  *overflow: visible;
}

button {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
}
input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style: none;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
* {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
*:before, *:after {
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.ie6_error, .no_script {
  background: #F66;
  padding: 100px;
  text-align: center;
  font-size: 150%;
  color: #333;
}

.flt {
  float: left;
}

.flr {
  float: right;
}

.txt_l, td.txt_l, .txt_l td {
  text-align: left;
}

.txt_r, td.txt_r, .txt_r td {
  text-align: right;
}

.txt_c, td.txt_c, .txt_c td {
  text-align: center;
}

.valign_t, td.valign_t, .valign_t td {
  vertical-align: top;
}

.valign_m, td.valign_m, .valign_m td {
  vertical-align: middle;
}

.valign_b, td.valign_b, .valign_b td {
  vertical-align: bottom;
}

.clear {
  clear: both;
}

.clearfix {
  zoom: 1;
}
.clearfix:before {
  content: "";
  display: block;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.img_bd {
  border: solid 1px #E8E8E8;
}

.c_red {
  color: #FF3425;
}

/*
0:セット
------------------------------------------------------------
*/
html {
  width: 100%;
}

body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
  color: #1c0000;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

.win body {
  font-family: "M PLUS Rounded 1c", sans-serif, "Noto Sans JP", "メイリオ", Meiryo, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
}

a {
  text-decoration: none;
  color: #1c0000;
  transition: 0.3s;
}
a:link, a:active, a:visited {
  text-decoration: none;
}

.opacity {
  transition: 0.3s;
}
.opacity:hover {
  opacity: 0.5;
}

img {
  max-width: 100%;
  height: auto;
}
img[src$=".svg"] {
  max-width: 100%;
  width: 100%;
  height: auto;
}

.pc {
  display: inherit;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inherit;
  }
}

/*
//ベース
------------------------------------------------------------
*/
#container_wrap {
  overflow: hidden;
  min-width: 1000px;
}
@media screen and (max-width: 767px) {
  #container_wrap {
    min-width: 1px;
  }
}

.inner {
  max-width: 750px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
.inner::after {
  content: "";
  display: block;
  clear: both;
}

.section_wrap {
  line-height: 1.53;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .section_wrap {
    font-size: 1rem;
  }
}

.section_01 {
  height: 750px;
  position: relative;
  background: #6ec3c8;
  padding: 0 0 10rem;
}
@media screen and (max-width: 767px) {
  .section_01 {
    height: 700px;
  }
}
.section_01::after {
  content: "";
  position: absolute;
  background: url(../images/maru.svg) 50% 0%/cover no-repeat;
  height: 65%;
  width: 113%;
  transform: translateX(-5%);
  left: 0;
  top: -15%;
}
@media screen and (max-width: 767px) {
  .section_01::after {
    height: 16%;
    width: 120%;
    transform: translateX(-8%);
    left: 0;
    top: inherit;
    bottom: 89%;
    background: url(../images/maru.svg) 50% 0%/contain no-repeat;
    background: url(../images/maru.svg) 50% 0%/contain no-repeat;
  }
}
.section_01 .inner {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  top: 0rem;
  z-index: 3;
  padding: 0 15px;
}
@media screen and (max-width: 767px) {
  .section_01 .inner {
    top: 1rem;
  }
}

.section_02 {
  padding: 0;
  margin-top: -4rem;
  position: relative;
}
.section_02::after {
  content: "";
  position: absolute;
  background: url(../images/bg_hikari2.png) 50% 0%/cover no-repeat;
  width: 100%;
  height: 130%;
  top: -10rem;
  right: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .section_02::after {
    content: "";
    position: absolute;
    background: url(../images/bg_hikari2.png) 50% 0%/cover no-repeat;
    width: 100%;
    height: 100%;
    top: -5rem;
    right: 0;
    left: 0;
  }
}
.section_02 .ue_box {
  position: relative;
  z-index: 1;
}
.section_02 .inner {
  position: relative;
}
.section_02 .inner::before {
  content: "";
  position: absolute;
  width: 236px;
  height: 371px;
  background: url(../images/men1.png) center center/contain no-repeat;
  top: -22rem;
  right: 0rem;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .section_02 .inner::before {
    top: -14.8rem;
    right: -30px;
    width: 118px;
    height: 185.5px;
  }
}

.section_03 {
  overflow: hidden;
  padding: 2.5rem 0;
  position: relative;
}
.section_03::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 430px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/bg_sen.png) center center/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .section_03::before {
    height: 300px;
  }
}

.section_04 {
  overflow: hidden;
  padding: 0 0 23.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section_04 {
    padding: 0 0 17rem;
  }
}
.section_04::after {
  content: "";
  position: absolute;
  width: 660px;
  height: 290px;
  background: url(../images/family.png) center center/contain no-repeat;
  bottom: 5rem;
  right: 0;
  left: 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .section_04::after {
    width: 330px;
    height: 145px;
  }
}

.section_10 {
  overflow: hidden;
  padding: 0 0 2.5rem;
}

.section_11 {
  overflow: hidden;
  padding: 3rem 0 0;
}

.section_05 {
  margin-top: -5rem;
  overflow: hidden;
  padding: 3.5rem 0 2.5rem;
  position: relative;
}
.section_05::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 500px;
  background: url(../images/bg_hikari.jpg) 50% 70%/cover no-repeat;
  top: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .section_05 {
    padding: 2.7rem 0 1rem;
  }
}
.section_05 .line_dot_p {
  margin: 0 auto 60px;
}
.section_05 .car_dis_box {
  position: relative;
  padding-bottom: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .section_05 .car_dis_box {
    padding-bottom: 25px;
    margin-bottom: 40px;
  }
}
.section_05 .car_dis_box img {
  width: 100%;
}
.section_05 .car_dis_box .point_btn {
  position: absolute;
  max-width: 385px;
  width: 100%;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  .section_05 .car_dis_box .point_btn {
    width: 70%;
  }
}
.section_05 .car_dis_box .point_btn:hover {
  transform: scale(1.05, 1.05);
}

.section_06 {
  overflow: hidden;
  padding: 3.5rem 0 3.5rem;
}
@media screen and (max-width: 767px) {
  .section_06 {
    padding: 2.5rem 0 2rem;
  }
}
.section_06 .inner {
  z-index: 0;
  position: relative;
}
.section_06 .inner::after {
  content: "";
  position: absolute;
  width: 280px;
  height: 330px;
  background: url(../images/men_05.png) center center/contain no-repeat;
  bottom: -4.2rem;
  left: 3rem;
}
@media screen and (max-width: 767px) {
  .section_06 .inner::after {
    bottom: -4rem;
    left: 1rem;
    width: 127.2727272727px;
    height: 150px;
  }
}

.section_07,
.section_08 {
  overflow: hidden;
  padding: 3rem 0;
}

.section_08 {
  border-left: 30px #c7f3ea solid;
  border-right: 30px #c7f3ea solid;
  border-bottom: 30px #c7f3ea solid;
}
@media screen and (max-width: 767px) {
  .section_08 {
    border-left: 15px #c7f3ea solid;
    border-right: 15px #c7f3ea solid;
    border-bottom: 15px #c7f3ea solid;
  }
}

.section_09 {
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .section_09 {
    padding: 5rem 0 3rem;
  }
}

.section_contact {
  padding: 4rem 0;
}
@media screen and (max-width: 767px) {
  .section_contact {
    height: auto;
    padding: 2rem 0 2rem;
  }
}

.section_contact2 {
  padding: 3rem 0 5rem;
}

/*
//ヘッダー
------------------------------------------------------------
*/
header {
  margin: 1rem auto 15px;
}
@media screen and (max-width: 767px) {
  header {
    margin: 1rem auto;
  }
}

.header_box {
  width: 100%;
  max-width: 750px;
  padding: 0 1.5rem;
  margin: 0 auto;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .header_ttl {
    text-align: center;
  }
}
.header_ttl > span {
  line-height: 1;
  font-size: 1.75rem;
  font-weight: 700;
  margin-right: 9.5rem;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .header_ttl > span {
    font-size: 1.4rem;
    display: block;
    margin: 0 auto 0.5rem;
  }
}
.header_ttl img.logo {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .header_ttl img.logo {
    width: 230px;
  }
}

#gnavi ul {
  display: flex;
  text-align: center;
}
#gnavi ul li {
  margin-right: 2em;
}

.header_navi {
  float: right;
  display: flex;
}
.header_navi li {
  margin-right: 20px;
}
.header_navi li:last-child {
  margin-right: 0;
}

.header_wrap1 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .header_wrap1 {
    display: none;
  }
}
.header_wrap1 > div.h_tel {
  width: 54%;
}
.header_wrap1 > div.h_tel .h_tel {
  position: relative;
  font-weight: 700;
  font-size: 2.8rem;
  z-index: 1;
  color: #eb6d8e;
  display: inline-block;
  padding-left: 50px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  .header_wrap1 > div.h_tel .h_tel {
    font-size: 1rem;
  }
}
.header_wrap1 > div.h_tel .h_tel::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 38px;
  height: 38px;
  background: url(../images/tel_pink.svg) repeat-x left top/contain;
}
.header_wrap1 > div.h_tel .h_tel_info {
  position: relative;
  font-size: 1.17rem;
  z-index: 1;
  margin-top: 0.4rem;
  line-height: 1;
  font-weight: 700;
}
.header_wrap1 > div.h_tel .h_tel_info span {
  background: #6ec5ca;
  color: #fff;
  padding: 0.02em 1rem;
  border-radius: 5px;
}
.header_wrap1 > div.contact {
  width: 44%;
  margin-top: 0.5rem;
}

.h_data_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .h_data_sp {
    width: 100%;
    display: flex;
    position: fixed;
    z-index: 999;
    bottom: 0;
  }
}
.h_data_sp div.mail {
  width: 50%;
  text-align: center;
  position: relative;
}
.h_data_sp div.mail a {
  display: block;
  width: 100%;
  height: 80px;
  color: #fff;
  font-weight: 700;
  font-size: 3vw;
  background: #fba22d;
  line-height: 1.5;
  position: absolute;
  top: 50%;
  padding: 3rem 0 0 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.h_data_sp div.mail a::before {
  content: "";
  display: block;
  position: absolute;
  top: 18%;
  transform: translateX(-50%);
  left: 50%;
  width: 29.0909090909px;
  height: 20px;
  background: url(../images/icon_mail.svg) no-repeat center/cover;
}
.h_data_sp div.h_sp_tel {
  width: 50%;
  line-height: 80px;
  position: relative;
  line-height: 1.3;
}
.h_data_sp div.h_sp_tel a {
  display: block;
  width: 100%;
  height: 100%;
  height: 80px;
  background: #f6774f;
}
.h_data_sp div.h_sp_tel a > span {
  font-size: 3vw;
  display: block;
  position: relative;
  text-align: center;
  width: 100%;
  color: #fff;
  line-height: 1.5;
  padding: 3rem 0 0 0;
}
.h_data_sp div.h_sp_tel a > span span.data_call {
  position: absolute;
  left: 50px;
  top: 50%;
  transform: translateY(-50%);
}
.h_data_sp div.h_sp_tel a > span::before {
  content: "";
  display: block;
  position: absolute;
  position: absolute;
  top: 17%;
  transform: translateX(-50%);
  left: 50%;
  width: 26.6666666667px;
  height: 26.6666666667px;
  background: url(../images/tel_w.svg) no-repeat center/contain;
}

/*
//フッター
------------------------------------------------------------
*/
#footer {
  width: 100%;
  overflow: hidden;
  padding: 2.5rem 0;
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 2.5rem 0 5rem;
  }
}

.footer_box {
  max-width: 750px;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  padding: 0 15px;
}

.footer_wrap1 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.footer_wrap1 > div.f_tel {
  width: calc(98% - 340px);
}
@media screen and (max-width: 767px) {
  .footer_wrap1 > div.f_tel {
    width: calc(98% - 160px);
  }
}
.footer_wrap1 > div.f_tel .f_tel {
  position: relative;
  font-weight: 600;
  font-size: 2.6rem;
  z-index: 1;
  display: inline-block;
  padding-left: 50px;
  line-height: 1.15;
}
@media screen and (max-width: 767px) {
  .footer_wrap1 > div.f_tel .f_tel {
    padding-left: 30px;
    font-size: 1.15rem;
  }
}
.footer_wrap1 > div.f_tel .f_tel::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 43px;
  height: 43px;
  background: url(../images/tel_pink.svg) no-repeat left top/contain;
}
@media screen and (max-width: 767px) {
  .footer_wrap1 > div.f_tel .f_tel::before {
    width: 25.2941176471px;
    height: 25.2941176471px;
  }
}
.footer_wrap1 > div.f_tel .f_tel_info {
  position: relative;
  font-size: 1.2rem;
  z-index: 1;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .footer_wrap1 > div.f_tel .f_tel_info {
    font-size: 0.7rem;
  }
}
.footer_wrap1 > div.f_tel .f_tel_info span {
  background: #6ec5ca;
  color: #fff;
  font-size: 1.14rem;
  padding: 0.05rem 1rem;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .footer_wrap1 > div.f_tel .f_tel_info span {
    font-size: 0.7rem;
  }
}

.footer_wrap2 {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.footer_wrap2 > div.line {
  width: 48%;
}
.footer_wrap2 > div.contact {
  width: 48%;
}
.footer_wrap2 > div.contact .contact_button {
  height: 105px;
  line-height: 99px;
  max-width: 347px;
}
@media screen and (max-width: 767px) {
  .footer_wrap2 > div.contact .contact_button {
    line-height: 1.3;
    padding-top: 1rem;
    font-size: 1rem;
    height: 80px;
  }
}

.f_ttl {
  color: #190101;
  font-size: 1.21rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .f_ttl {
    font-size: 0.6rem;
  }
}

.f_logo {
  width: 340px;
}
@media screen and (max-width: 767px) {
  .f_logo {
    width: 160px !important;
  }
}

.copy {
  background-color: #493333;
  padding: 1em 0;
  font-size: 1.17rem;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .copy {
    font-size: 0.8rem;
  }
}

/*
5:div
------------------------------------------------------------
*/
#top_img {
  position: absolute;
  bottom: 110px;
  z-index: 0;
  max-width: 677px;
}
@media screen and (max-width: 767px) {
  #top_img {
    bottom: 15px;
  }
}

.main_img {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  height: 770px;
  padding: 15px 0 0;
}
@media screen and (max-width: 767px) {
  .main_img {
    height: 450px;
    padding: 10px 15px 0 15px;
  }
}
.main_img::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../images/new_main1.jpg) center center/cover no-repeat;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 0;
}
.main_img .top_txt {
  position: relative;
  z-index: 1;
  max-width: 530px;
  width: 100%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .main_img .top_txt {
    width: 70%;
  }
}
.main_img .top_txt_02 {
  position: absolute;
  z-index: 1;
  max-width: 400px;
  width: 100%;
  text-align: center;
  margin: auto;
  right: 0;
  left: 0;
  bottom: 30%;
}
@media screen and (max-width: 767px) {
  .main_img .top_txt_02 {
    width: 70%;
    bottom: 28%;
  }
}
.main_img .top_txt_03 {
  position: absolute;
  z-index: 1;
  max-width: 400px;
  width: 100%;
  text-align: center;
  margin: auto;
  right: 0;
  left: 0;
  bottom: 20%;
}
@media screen and (max-width: 767px) {
  .main_img .top_txt_03 {
    width: 75%;
    bottom: 15%;
  }
}
.main_img .car_img {
  position: absolute;
  max-width: 650px;
  width: 100%;
  bottom: 3%;
  left: 29px;
  z-index: 2;
  right: 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main_img .car_img {
    width: 90%;
    bottom: -1%;
    left: 0;
    height: auto;
  }
}

.img_wrap {
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .img_wrap {
    padding: 0 1rem;
  }
}

.img_wrap2 {
  padding: 0 1.5rem;
  display: flex;
  justify-content: space-between;
}
.img_wrap2 > div {
  width: calc(50% - 0.25rem);
}

.tel_info {
  position: relative;
  font-size: 1.56rem;
  margin-bottom: 1rem;
  z-index: 1;
  font-weight: 700;
  padding: 0 0 0 7.5rem;
}
@media screen and (max-width: 767px) {
  .tel_info {
    padding: 0;
    font-size: 0.9rem;
  }
}
.tel_info span {
  color: #eb6d8e;
  padding: 0 1rem;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .tel_info span {
    padding: 0 0.7rem;
  }
}

.txt_wrap_lb {
  font-size: 1.56rem;
  color: #fff;
  padding: 0 2rem;
  margin: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .txt_wrap_lb {
    padding: 0rem 15px;
    margin: 0;
    font-size: 1rem;
  }
}
.txt_wrap_lb > div {
  padding-top: 3rem;
  text-align: right;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .txt_wrap_lb > div {
    padding-top: 0rem;
    margin-top: 1.7rem;
  }
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

div.scrollbox {
  width: 100%;
  height: 200px;
  padding: 1rem;
  background-color: #fff;
  overflow-y: scroll;
  border: 2px solid #f38f1e;
  border-radius: 5px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  div.scrollbox {
    height: 137px;
  }
}

.line_wrap img {
  transition: 0.3s;
}
.line_wrap img:hover {
  opacity: 0.8;
}

/*
6:ul リスト
------------------------------------------------------------
*/
.list_star {
  max-width: 530px;
  color: #fff;
  margin-left: 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .list_star {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .list_star {
    max-width: 100%;
  }
}
.list_star li {
  font-size: 1.6rem;
  background: url(../images/icon_check.svg) left center no-repeat;
  background-size: 36px auto;
  padding-left: 40px;
  padding-top: 0.7rem;
  border-bottom: 4px dotted #fff;
  padding-bottom: 0.7rem;
}
@media screen and (max-width: 767px) {
  .list_star li {
    font-size: 1rem;
  }
}

.list_point {
  position: relative;
  z-index: 1;
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .list_point {
    padding: 0;
  }
}
.list_point li {
  border: 4px #008e45 solid;
  margin-bottom: 2.5rem;
  background: #fff;
  padding: 0rem 1.5rem 1.5rem;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .list_point li {
    margin-bottom: 1rem;
  }
}
.list_point li:last-of-type {
  margin-bottom: 0;
}
.list_point li .list_point_ttl_wrap, .list_point li .list_point_ttl_wrap_03, .list_point li .list_point_ttl_wrap_02, .list_point li .list_point_ttl_wrap_01 {
  position: relative;
  display: block;
  width: 100%;
  height: 150px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .list_point li .list_point_ttl_wrap, .list_point li .list_point_ttl_wrap_03, .list_point li .list_point_ttl_wrap_02, .list_point li .list_point_ttl_wrap_01 {
    height: 100px;
  }
}
.list_point li .list_point_ttl_wrap::before, .list_point li .list_point_ttl_wrap_03::before, .list_point li .list_point_ttl_wrap_02::before, .list_point li .list_point_ttl_wrap_01::before {
  position: absolute;
  top: 25px;
  left: -35px;
  content: "";
  display: inline-block;
  width: 175px;
  height: 100px;
}
@media screen and (max-width: 767px) {
  .list_point li .list_point_ttl_wrap::before, .list_point li .list_point_ttl_wrap_03::before, .list_point li .list_point_ttl_wrap_02::before, .list_point li .list_point_ttl_wrap_01::before {
    top: 25px;
    width: 87.5px;
    height: 50px;
  }
}
.list_point li .list_point_ttl_wrap_01::before {
  background: url(../images/icon_point01.svg) no-repeat center/cover;
}
.list_point li .list_point_ttl_wrap_02::before {
  background: url(../images/icon_point02.svg) no-repeat center/cover;
}
.list_point li .list_point_ttl_wrap_03::before {
  background: url(../images/icon_point03.svg) no-repeat center/cover;
}
.list_point li .list_point_ttl {
  color: #f38f1e;
  font-size: 1.68rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0 0 0 170px;
}
@media screen and (max-width: 767px) {
  .list_point li .list_point_ttl {
    font-size: 1rem;
    padding: 0 0 0 4rem;
  }
}
.list_point li .txt_wrap {
  font-size: 1.56rem;
  border-top: 2px #eb6d8e dotted;
  padding-top: 1.5rem;
  position: relative;
  color: #603813;
}
@media screen and (max-width: 767px) {
  .list_point li .txt_wrap {
    font-size: 0.9rem;
  }
}

.list_suport {
  max-width: 430px;
  width: 100%;
  margin-left: 14rem;
}
@media screen and (max-width: 767px) {
  .list_suport {
    margin: 0 auto;
  }
}

.list_voice {
  padding: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .list_voice {
    padding: 0;
  }
}
.list_voice li {
  border: solid 4px #808de4;
  background-color: #fff;
  margin-bottom: 4rem;
  position: relative;
  z-index: 2;
  border-radius: 20px;
  padding: 2rem 2rem;
  width: 100%;
  height: 100%;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .list_voice li {
    padding: 1.7rem 15px;
    margin-bottom: 2rem;
  }
}
.list_voice li:last-of-type {
  margin-bottom: 0;
}
.list_voice li .list_voice_ttl, .list_voice li .list_voice_ttl_05, .list_voice li .list_voice_ttl_04, .list_voice li .list_voice_ttl_03, .list_voice li .list_voice_ttl_02, .list_voice li .list_voice_ttl_01 {
  color: #808de4;
  font-size: 1.62rem;
  font-weight: 700;
  line-height: 1.34;
  text-align: left;
  padding: 0 0 0 170px;
  margin-bottom: 1.2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .list_voice li .list_voice_ttl, .list_voice li .list_voice_ttl_05, .list_voice li .list_voice_ttl_04, .list_voice li .list_voice_ttl_03, .list_voice li .list_voice_ttl_02, .list_voice li .list_voice_ttl_01 {
    padding: 0 0 0 80px;
    margin-bottom: 1rem;
    font-size: 1rem;
  }
}
.list_voice li .list_voice_ttl::before, .list_voice li .list_voice_ttl_05::before, .list_voice li .list_voice_ttl_04::before, .list_voice li .list_voice_ttl_03::before, .list_voice li .list_voice_ttl_02::before, .list_voice li .list_voice_ttl_01::before {
  position: absolute;
  top: -50px;
  left: -15px;
  content: "";
  display: inline-block;
  width: 148px;
  height: 115px;
}
@media screen and (max-width: 767px) {
  .list_voice li .list_voice_ttl::before, .list_voice li .list_voice_ttl_05::before, .list_voice li .list_voice_ttl_04::before, .list_voice li .list_voice_ttl_03::before, .list_voice li .list_voice_ttl_02::before, .list_voice li .list_voice_ttl_01::before {
    top: -0.7rem;
    width: 74px;
    height: 57.5px;
    left: -10px;
  }
}
.list_voice li .list_voice_ttl_01::before {
  background: url(../images/voice_01.svg) no-repeat center/cover;
}
.list_voice li .list_voice_ttl_02::before {
  background: url(../images/voice_02.svg) no-repeat center/cover;
}
.list_voice li .list_voice_ttl_03::before {
  background: url(../images/voice_03.svg) no-repeat center/cover;
}
.list_voice li .list_voice_ttl_04::before {
  background: url(../images/voice_04.svg) no-repeat center/cover;
}
.list_voice li .list_voice_ttl_05::before {
  background: url(../images/voice_05.svg) no-repeat center/cover;
}
.list_voice li .txt_wrap {
  color: #603813;
  padding-top: 1.2rem;
  font-size: 1.56rem;
  position: relative;
  border-top: 2px #6ec5ca dotted;
}
@media screen and (max-width: 767px) {
  .list_voice li .txt_wrap {
    font-size: 0.9rem;
    padding-top: 1rem;
  }
}

.list_qa {
  max-width: 560px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.list_qa li {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .list_qa li {
    margin-bottom: 3rem;
  }
}
.list_qa li:last-of-type {
  margin-bottom: 0;
}
.list_qa li .q_box {
  background: #8ec2dc;
  position: relative;
  border-radius: 20px;
  margin-bottom: 1rem;
}
.list_qa li .q_box::before {
  content: "";
  position: absolute;
  width: 58px;
  height: 80px;
  background: url(../images/jcon_Q.svg) center center/contain no-repeat;
  top: -10px;
  left: -25px;
}
@media screen and (max-width: 767px) {
  .list_qa li .q_box::before {
    left: -12px;
    width: 38.6666666667px;
    height: 53.3333333333px;
  }
}
.list_qa li .q_box::after {
  content: "";
  position: absolute;
  width: 43px;
  height: 36px;
  background: url(../images/ase.svg) center center/contain no-repeat;
  top: -10px;
  right: -10px;
}
@media screen and (max-width: 767px) {
  .list_qa li .q_box::after {
    right: -10px;
    width: 35.8333333333px;
    height: 30px;
  }
}
.list_qa li .list_qa_ttl {
  text-align: left;
  font-size: 1.5rem;
  color: #fff;
  line-height: 1.43;
  padding: 2rem 1.5rem 2rem 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .list_qa li .list_qa_ttl {
    font-size: 1rem;
    padding: 2rem 15px 1.8rem 30px;
  }
}
.list_qa li .txt_wrap {
  font-size: 1.5rem;
  background: #fff;
  position: relative;
  border-radius: 20px;
  border: 4px #eb2577 solid;
  color: #eb2577;
  text-align: left;
  padding: 2rem 1.8rem 2rem 3rem;
}
@media screen and (max-width: 767px) {
  .list_qa li .txt_wrap {
    font-size: 1rem;
    padding: 2rem 15px 1.8rem 30px;
  }
}
.list_qa li .txt_wrap::before {
  content: "";
  position: absolute;
  width: 58px;
  height: 80px;
  background: url(../images/jcon_A.svg) center center/contain no-repeat;
  top: -10px;
  left: -25px;
}
@media screen and (max-width: 767px) {
  .list_qa li .txt_wrap::before {
    left: -12px;
    width: 38.6666666667px;
    height: 53.3333333333px;
  }
}
/*
7:dl
------------------------------------------------------------
*/
/*
8:table
------------------------------------------------------------
*/
.table_wrap {
  margin: 0 1.5rem;
}
@media screen and (max-width: 767px) {
  .table_wrap {
    margin: 0;
  }
}

.table_01 {
  width: 100%;
  margin-bottom: 2rem;
  table-layout: fixed;
}
.table_01 tr {
  border-bottom: 2px solid #1c0000;
}
.table_01 th {
  font-size: 1.62rem;
  width: 17%;
  padding: 0.5rem 0 0.5rem 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .table_01 th {
    width: 28%;
    font-size: 1rem;
  }
}
.table_01 td {
  padding: 0.5rem 0 0.5rem 3rem;
  width: 83%;
  font-size: 1.43rem;
}
@media screen and (max-width: 767px) {
  .table_01 td {
    padding: 0.5rem 0 0.5rem 1rem;
    width: 72%;
    font-size: 0.9rem;
  }
}

.table_contactform, .table_contactform2 {
  width: 100%;
}
.table_contactform th, .table_contactform2 th,
.table_contactform td,
.table_contactform2 td {
  text-align: left;
  display: block;
}
.table_contactform th, .table_contactform2 th {
  font-size: 1.87rem;
  width: 100%;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  .table_contactform th, .table_contactform2 th {
    font-size: 1rem;
  }
}
.table_contactform th span, .table_contactform2 th span {
  background-color: #f38f1e;
  color: #fff;
  font-weight: 400;
  padding: 0.2rem 0.5rem;
  border-radius: 5px;
  font-size: 1.2rem;
  line-height: 1;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) {
  .table_contactform th span, .table_contactform2 th span {
    font-size: 0.8rem;
  }
}
.table_contactform td, .table_contactform2 td {
  width: 100%;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .table_contactform td, .table_contactform2 td {
    margin-bottom: 1.5rem;
  }
}

.table_contactform2 {
  max-width: 620px;
}
@media screen and (max-width: 767px) {
  .table_contactform2 {
    padding: 0 2rem;
    font-size: 1.18rem;
  }
}
.table_contactform2 th,
.table_contactform2 td {
  font-size: 1.87rem;
}
@media screen and (max-width: 767px) {
  .table_contactform2 th,
.table_contactform2 td {
    font-size: 1rem;
  }
}
.table_contactform2 td {
  margin-bottom: 1.5rem;
}

/*
9:タイトル
------------------------------------------------------------
*/
.txt_blue {
  color: #29a7de;
  font-size: 2.5rem;
  font-weight: 700;
  margin-top: 2rem;
  text-align: center;
  display: inline-block;
  padding: 0 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .txt_blue {
    padding: 0 2rem;
    font-size: 1.4rem;
    margin-top: 0;
  }
}
.txt_blue::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 38px;
  height: 48px;
  background: url(../images/icon_wai_pnk_l.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_blue::before {
    width: 25.3333333333px;
    height: 32px;
  }
}
.txt_blue::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 38px;
  height: 48px;
  background: url(../images/icon_wai_pnk_R.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_blue::after {
    width: 25.3333333333px;
    height: 32px;
  }
}

.txt_yellow {
  font-size: 3.1rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
  margin-left: 22rem;
  color: #ffff00;
  position: relative;
}
.txt_yellow::before {
  content: "";
  position: absolute;
  width: 400px;
  height: 130px;
  background: url(../images/bg_kuruma2.png) center center/contain no-repeat;
  top: 1rem;
  z-index: -1;
  left: -4rem;
}
@media screen and (max-width: 767px) {
  .txt_yellow::before {
    top: 0rem;
    left: -3rem;
    width: 235.2941176471px;
    height: 76.4705882353px;
  }
}
@media screen and (max-width: 767px) {
  .txt_yellow {
    font-size: 8vw;
    position: relative;
    z-index: 1;
    margin-left: 45vw;
    margin-top: 0.5rem;
  }
}

.ttl_blue {
  color: #29a7de;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.32;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .ttl_blue {
    font-size: 1.5rem;
  }
}
.ttl_blue span {
  font-size: 3.25rem;
}
@media screen and (max-width: 767px) {
  .ttl_blue span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .ttl_blue {
    font-size: 1.5rem;
  }
}

.ttl_02 {
  max-width: 600px;
  width: 100%;
  margin: 7rem auto 2rem;
  position: relative;
}
.ttl_point_wrap {
  padding: 0 0 0 20rem;
  position: relative;
  z-index: 0;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .ttl_point_wrap {
    margin: 0 auto;
    padding: 0;
  }
}
.ttl_point_wrap::before {
  position: absolute;
  top: 2.5rem;
  left: 3rem;
  content: "";
  display: inline-block;
  width: 256px;
  height: 222px;
  background: url(../images/women_03.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .ttl_point_wrap::before {
    top: auto;
    left: 0px;
    opacity: 1;
    bottom: 0rem;
    width: 102.4px;
    height: 88.8px;
  }
}

.ttl_point {
  width: 355px;
  padding-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .ttl_point {
    padding: 2rem 0 0.5rem 5rem;
    margin: 0 auto;
    max-width: 300px;
    width: 100%;
    display: block;
  }
}

.ttl_voice_wrap {
  display: inline-block;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .ttl_voice_wrap {
    margin-bottom: 0rem;
  }
}
.ttl_voice_wrap::before {
  position: absolute;
  top: 1.4rem;
  left: 2rem;
  content: "";
  display: inline-block;
  width: 200px;
  height: 186px;
  background: url(../images/woman_06.png) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  .ttl_voice_wrap::before {
    top: 2rem;
    left: 1vw;
    opacity: 1;
    width: 100px;
    height: 93px;
  }
}

.ttl_voice {
  max-width: 425px;
  width: 100%;
  position: relative;
  display: inline-block;
  margin-bottom: 2rem;
  margin-left: 14rem;
  padding: 5rem 0 0 0;
}
@media screen and (max-width: 767px) {
  .ttl_voice {
    max-width: 280px;
    margin-bottom: 1rem;
    padding-top: 3rem;
    padding-right: 0rem;
    display: inline-block;
    margin-left: 20vw;
  }
}

.ttl_qa_wrap {
  position: relative;
  z-index: 0;
  height: 180px;
  max-width: 580px;
  width: 100%;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) {
  .ttl_qa_wrap {
    height: auto;
    margin: 0 auto 1rem;
  }
}
.ttl_qa_wrap::before {
  position: absolute;
  top: 10px;
  right: -65px;
  content: "";
  display: inline-block;
  width: 285px;
  height: 195px;
  background: url(../images/woman_07.png) no-repeat center/cover;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .ttl_qa_wrap::before {
    top: 27px;
    z-index: 1;
    right: -4vw;
    width: 129.5454545455px;
    height: 88.6363636364px;
  }
}

.ttl_qa {
  color: #229fee;
  font-size: 2.37rem;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
  padding: 45px 50px 0;
  letter-spacing: 0;
  text-align: center;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .ttl_qa {
    padding: 0 0 2rem 0;
    font-size: 1.8rem;
  }
}
.ttl_qa span {
  color: #eb2577;
}
.ttl_qa::before {
  position: absolute;
  bottom: -47px;
  left: 60px;
  content: "";
  display: inline-block;
  width: 250px;
  height: 67px;
  background: url(../images/fukidasi.svg) no-repeat left top/contain;
}
@media screen and (max-width: 767px) {
  .ttl_qa::before {
    left: -5px;
    bottom: -0.5rem;
    width: 208.3333333333px;
    height: 55.8333333333px;
  }
}

.ttl_contact2 {
  font-size: 2.37rem;
  line-height: 1.14;
  font-weight: 700;
  text-align: center;
  color: #f7931e;
  display: inline-block;
  padding: 0 2.5rem;
  position: relative;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .ttl_contact2 {
    margin-bottom: 1.5rem;
    padding: 0 2rem;
    font-size: 5vw;
  }
}
.ttl_contact2::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: inline-block;
  width: 35px;
  height: 52px;
  background: url(../images/icon_wai_y2_l.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .ttl_contact2::before {
    width: 23.3333333333px;
    height: 34.6666666667px;
  }
}
.ttl_contact2::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: inline-block;
  width: 35px;
  height: 52px;
  background: url(../images/icon_wai_y2_r.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .ttl_contact2::after {
    width: 23.3333333333px;
    height: 34.6666666667px;
  }
}

.txt_ansin {
  text-align: center;
  font-weight: 700;
  line-height: 1.32;
  margin: 0 auto 1.5rem;
  font-size: 2.56rem;
  color: #fff;
  position: relative;
}
.txt_ansin::before {
  content: "";
  position: absolute;
  width: 646px;
  height: 65px;
  background: url(../images/bg_kuruma.png) center center/contain no-repeat;
  top: 5rem;
  z-index: -1;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .txt_ansin::before {
    top: 3rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    height: 36.1111111111px;
  }
}
@media screen and (max-width: 767px) {
  .txt_ansin {
    font-size: 1.5rem;
  }
}
.txt_ansin .min {
  color: #fff;
  position: relative;
  padding: 0 2rem;
}
.txt_ansin .min::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: inline-block;
  width: 29.5px;
  height: 38.5px;
  background: url(../images/icon_wai_white_l.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_ansin .min::before {
    width: 19.6666666667px;
    height: 25.6666666667px;
  }
}
.txt_ansin .min::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: inline-block;
  width: 29.5px;
  height: 38.5px;
  background: url(../images/icon_wai_white_R.svg) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_ansin .min::after {
    width: 19.6666666667px;
    height: 25.6666666667px;
  }
}
.txt_ansin .big {
  font-size: 3.5rem;
  color: #ffff00;
  padding: 0 3rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .txt_ansin .big {
    padding: 0 2rem;
    font-size: 2rem;
  }
}
.txt_ansin .big::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: inline-block;
  width: 49.5px;
  height: 49.6px;
  background: url(../images/icon_hosi_l.png) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_ansin .big::before {
    width: 33px;
    height: 33.0666666667px;
  }
}
.txt_ansin .big::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  display: inline-block;
  width: 49.5px;
  height: 49.6px;
  background: url(../images/icon_hosi_R.png) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .txt_ansin .big::after {
    width: 33px;
    height: 33.0666666667px;
  }
}

.todorokittl {
  font-size: 2.37rem;
  text-align: center;
  color: #fff;
  font-weight: 700;
  line-height: 1.37;
  position: relative;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .todorokittl {
    font-size: 1.5rem;
  }
}
.todorokittl::before {
  content: "";
  position: absolute;
  background: url(../images/icon_wai_orange.svg) center center/contain no-repeat;
  width: 83px;
  height: 70px;
  top: -28px;
  right: 69px;
}
@media screen and (max-width: 767px) {
  .todorokittl::before {
    top: -2.5rem;
    right: 3rem;
  }
}
.todorokittl::after {
  content: "";
  position: absolute;
  width: 480px;
  height: 8px;
  background-size: auto auto;
  background-color: transparent;
  bottom: 0;
  right: 0;
  left: 0;
  margin: 0 auto;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 4px, #fff 4px, #fff 8px);
}
@media screen and (max-width: 767px) {
  .todorokittl::after {
    width: 250px;
  }
}

/*
テキスト
------------------------------------------------------------
*/
.txt_contact_wrap {
  position: relative;
  z-index: 0;
  height: 244px;
}
@media screen and (max-width: 767px) {
  .txt_contact_wrap {
    height: auto;
  }
}

.txt_contact {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .txt_contact {
    position: inherit;
  }
}
.txt_contact img {
  position: absolute;
  top: -1.5rem;
  width: 610px;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  .txt_contact img {
    width: 100%;
    left: inherit;
    margin: 0 auto;
    top: inherit;
    position: inherit;
  }
}

.txt_contact_wrap2 {
  background-color: #fff;
  position: relative;
  padding: 3rem 2rem;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .txt_contact_wrap2 {
    text-align: center;
    padding: 2rem 15px;
    border-radius: 10px;
  }
}
.txt_contact_wrap2::after {
  position: absolute;
  content: "";
  width: 257px;
  height: 263px;
  bottom: -40px;
  left: 0;
  background: url(../images/woman_08.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .txt_contact_wrap2::after {
    right: inherit;
    left: -20px;
    opacity: 1;
    z-index: -1;
    bottom: -5rem;
    width: 116.8181818182px;
    height: 119.5454545455px;
  }
}
.txt_contact_wrap2::before {
  position: absolute;
  content: "";
  width: 300px;
  height: 47px;
  bottom: -20px;
  right: 0;
  background: url(../images/kuruma.png) no-repeat center/cover;
}
@media screen and (max-width: 767px) {
  .txt_contact_wrap2::before {
    right: 1rem;
    bottom: -4rem;
    width: 250px;
    height: 39.1666666667px;
  }
}
.txt_contact_wrap2 .tel {
  color: #f7931e;
  text-align: center;
  margin: 0 auto;
  font-size: 4.5rem;
}
.txt_contact_wrap2 .tel::before {
  background: url(../images/tel_ora.svg) no-repeat left top/contain;
}
@media screen and (max-width: 767px) {
  .txt_contact_wrap2 .tel {
    font-size: 8.7vw;
  }
}
.txt_contact_wrap2 .tel_info {
  color: #f7931e;
}
.txt_contact_wrap2 .tel_info span {
  color: #f7931e;
}

.txt_contact2 {
  font-weight: 700;
  line-height: 1.32;
  display: block;
  font-size: 1.75rem;
  color: #190101;
  text-align: center;
  position: relative;
  z-index: 1;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .txt_contact2 {
    font-size: 4.6vw;
  }
}

.txt_kako {
  text-align: center;
  color: #fff;
  font-size: 2.3rem;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .txt_kako {
    font-size: 1.5rem;
  }
}

/*
.txt_contact_wrap {
    position: relative;
    padding: 3rem 0 2rem;
    background: #fff;

    @include mq(md) {
        height: auto;
        padding: 2rem 15px;
    }

}

.txt_contact {
    position: relative;
    z-index: 1;
    max-width: 333px;
    width: 100%;
    margin-left: 20rem;
    padding: 0 0 2rem;

    @include mq(md) {
        margin-left: 30vw;
        max-width: 55vw;
        position: inherit;
        padding: 0 0 1rem;
    }

    &::after {
        content: "";
        position: absolute;
        width: 268px;
        height: 206px;
        background: url(../images/toiawase.png) center center/contain no-repeat;
        bottom: 0;
        left: -300px;
        z-index: -1;

        @include mq(md) {
            left: -35vw;
            width: calc(268px/2.2);
            height: calc(206px/2.2);
        }
    }

    img {
        width: 100%;

        @include mq(md) {
            width: 100%;
            margin: 0 auto;
        }
    }
}


.txt_kako {
    text-align   : center;
    color        : #fff;
    font-size    : 2.3rem;
    line-height  : 1.5;
    font-weight  : 700;
    margin-bottom: 1rem;

    @include mq(md) {
        font-size: 1.5rem;
    }

}

.akirame_txt {
    font-weight: 700;
    text-align : center;
    font-size  : 2.37rem;
    color      : #fff;
    margin     : 0 auto 1rem;

    @include mq(md) {
        margin-bottom: 1rem;
        font-size    : 1.5rem;
    }
}
*/
/*
10：装飾
------------------------------------------------------------
*/
.bg_gray {
  background: #ccc;
}
.bg_white {
  background: #fff;
}
.bg_black {
  background: #000;
}
.bg_orenge {
  background: #f7931e;
}
.bg_orenge2 {
  background: #ffefcb;
}
.bg_purple {
  background: #808de4;
}
.bg_green {
  background: #88c23f;
}
.bg_blue {
  background: #c7f3ea;
}
.bg_blue2 {
  background: #D2EBE8;
}
.bg_stripe_g {
  background: repeating-linear-gradient(-45deg, rgb(222, 244, 118) 0, rgb(222, 244, 118) 10px, #d1ef34 10px, #d1ef34 20px);
}
.bg_green_dot {
  background-size: 20px 20px;
  margin: 0 auto;
  background-color: #d2dc00;
  background-image: radial-gradient(#e4ea69 15%, rgba(228, 234, 105, 0) 20%), radial-gradient(#e4ea69 15%, rgba(228, 234, 105, 0) 20%);
  background-position: 0 0, 10px 10px;
}
.bg_green_dot2 {
  background-size: 20px 20px;
  margin: 0 auto;
  background-color: #75c31a;
  background-image: radial-gradient(rgb(137, 204, 70) 15%, rgba(137, 204, 70, 0) 20%), radial-gradient(rgb(137, 204, 70) 15%, rgba(137, 204, 70, 0) 20%);
  background-position: 0 0, 10px 10px;
}
.bg_blue_dot {
  background-size: 20px 20px;
  margin: 0 auto;
  background-color: #fff;
  background-image: radial-gradient(#c8ebf9 30%, rgba(255, 255, 255, 0) 35%), radial-gradient(#c8ebf9 30%, rgba(255, 255, 255, 0) 35%);
  background-position: 0 0, 10px 10px;
}
.bg_hikari {
  background: url(../images/bg_hikari.jpg) center center/cover no-repeat;
}
.bg_hikari2 {
  background: #6ec3c8 url(../images/bg_hikari2.png) 50% 0%/cover no-repeat;
}
.bg_stripe_y {
  background: repeating-linear-gradient(-60deg, #ff9d00 0, #ff9d00 10px, #ffdc74 10px, #ffdc74 20px);
}

.txt_clr_gray {
  color: #ccc;
}
.txt_clr_white {
  color: #fff;
}
.txt_clr_black {
  color: #000;
}
.txt_clr_yellow {
  color: #ffff00;
}
.txt_clr_orenge {
  color: #fbb03b;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.marker {
  background: linear-gradient(rgba(255, 255, 255, 0) 65%, #ffee00 65%);
}

.marker_p {
  background: linear-gradient(rgba(255, 255, 255, 0) 65%, #eb6d8e 65%);
}

.underline_o_wave {
  padding-bottom: 0.3rem;
  background: url(../images/underline_w_wave.svg) bottom repeat-x;
  background-size: contain;
}

.tel {
  position: relative;
  color: #eb6d8e;
  font-weight: 600;
  font-size: 4.18rem;
  z-index: 1;
  display: inline-block;
  padding-left: 60px;
  line-height: 1.15;
}
@media screen and (max-width: 767px) {
  .tel {
    padding-left: 42px;
    font-size: 1rem;
  }
}
.tel::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  display: inline-block;
  width: 52px;
  height: 52px;
  background: url(../images/tel_pink.svg) no-repeat left top/contain;
}
@media screen and (max-width: 767px) {
  .tel::before {
    width: 34.6666666667px;
    height: 34.6666666667px;
  }
}

.text_big {
  font-size: 1.87rem;
}
@media screen and (max-width: 767px) {
  .text_big {
    font-size: 1rem;
  }
}

/*
枠
------------------------------------------------------------
*/
.flame_normal, .flame_serif_purple {
  padding: 1.8rem 0;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flame_normal, .flame_serif_purple {
    line-height: 1.5;
    font-size: 1.17rem;
  }
}

.flame_serif_orenge {
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1.35;
  color: #fff;
  padding: 3.5rem 0 0;
  text-align: center;
  position: relative;
  background: url(../images/waku.svg) center center/cover no-repeat;
  width: 600px;
  height: 250px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .flame_serif_orenge {
    padding: 1rem 0.5rem;
    font-size: 1.17rem;
    width: 100%;
    max-width: inherit;
    height: auto;
    background: url(../images/waku.svg) center center/contain no-repeat;
  }
}

.flame_serif_purple {
  background-size: 40px 40px;
  margin: 0 auto;
  background: #808de4;
  border-radius: 20px;
  margin: 0 1.5rem;
  font-weight: 400;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .flame_serif_purple {
    margin: 0;
    font-size: 1.2rem;
  }
}
.flame_serif_purple:after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  border-style: solid;
  border-width: 40px 25px 0 25px;
  border-color: #808de4 transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .flame_serif_purple:after {
    transform: translateX(-50%);
    border-style: solid;
    border-width: 40px 25px 0 25px;
    border-color: #808de4 transparent transparent transparent;
  }
}
.flame_serif_purple span {
  position: relative;
  display: block;
}
.flame_serif_purple span::before {
  position: absolute;
  top: 5%;
  left: 5%;
  content: "";
  display: inline-block;
  width: 49.5px;
  height: 49.6px;
  background: url(../images/icon_hosi_l.png) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .flame_serif_purple span::before {
    width: 33px;
    height: 33.0666666667px;
  }
}
.flame_serif_purple span::after {
  position: absolute;
  top: 5%;
  right: 5%;
  content: "";
  display: inline-block;
  width: 49.5px;
  height: 49.6px;
  background: url(../images/icon_hosi_R.png) no-repeat left top/cover;
}
@media screen and (max-width: 767px) {
  .flame_serif_purple span::after {
    width: 33px;
    height: 33.0666666667px;
  }
}

.flame_serif, .flame_serif_pink, .flame_serif_orenge2, .flame_serif_pink2 {
  padding: 2.2rem 0;
  font-weight: 700;
  font-size: 2.37rem;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .flame_serif, .flame_serif_pink, .flame_serif_orenge2, .flame_serif_pink2 {
    padding: 2rem 0;
    font-size: 1.5rem;
  }
}

.flame_serif_pink2 {
  background: #eb6d8e;
  width: 100%;
  height: 170px;
  border-radius: 100px;
  margin-top: -5rem;
}
@media screen and (max-width: 767px) {
  .flame_serif_pink2 {
    font-size: 6.6vw;
    height: auto;
    border-radius: 50px;
  }
}
.flame_serif_pink2:after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 98%;
  left: 50%;
  border-style: solid;
  border-width: 40px 25px 0 25px;
  border-color: #eb6d8e transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .flame_serif_pink2:after {
    transform: translateX(-50%);
    border-style: solid;
    border-width: 40px 25px 0 25px;
    border-color: #eb6d8e transparent transparent transparent;
  }
}

.flame_serif_orenge2 {
  background: #ed5a24;
  margin: 0 auto 3rem;
}
.flame_serif_orenge2:after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  border-style: solid;
  border-width: 40px 25px 0 25px;
  border-color: #ed5a24 transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .flame_serif_orenge2:after {
    transform: translateX(-50%);
    border-style: solid;
    border-width: 40px 25px 0 25px;
    border-color: #ed5a24 transparent transparent transparent;
  }
}

.flame_serif_pink {
  background: #d85e67;
  margin-bottom: 3rem;
}
.flame_serif_pink:after {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
  border-style: solid;
  border-width: 40px 25px 0 25px;
  border-color: #d85e67 transparent transparent transparent;
}
@media screen and (max-width: 767px) {
  .flame_serif_pink:after {
    transform: translateX(-50%);
    border-style: solid;
    border-width: 40px 25px 0 25px;
    border-color: #d85e67 transparent transparent transparent;
  }
}

/*
11:ボタン系
------------------------------------------------------------
*/
#page_top {
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 2;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: #603813;
  border: #fff solid 3px;
}
@media screen and (max-width: 767px) {
  #page_top {
    width: 50px;
    height: 50px;
    right: 5px;
    bottom: 90px;
  }
}
#page_top span {
  position: relative;
  display: block;
  color: #fff;
  font-weight: 700;
  text-align: center;
  line-height: 70px;
  letter-spacing: 2px;
  padding-top: 3px;
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  #page_top span {
    line-height: 50px;
    font-size: 0.6rem;
  }
}
#page_top span::before {
  content: "";
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  display: block;
  border-top: solid 2px;
  border-right: solid 2px;
  transform: rotate(-45deg);
  position: absolute;
  top: 17px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 767px) {
  #page_top span::before {
    top: 14px;
    width: 7px;
    height: 7px;
  }
}

a.button, a.btnline2, a.btnline, a.kotira2, a.kotira, a.contact_button, a.h_line_button, a.line_button {
  color: #fff;
  display: inline-block;
  text-align: center;
  max-width: 300px;
  width: 100%;
  line-height: 64px;
  height: 70px;
  font-size: 1.5rem;
  font-weight: 700;
  position: relative;
  border-radius: 7px;
}
@media screen and (max-width: 767px) {
  a.button, a.btnline2, a.btnline, a.kotira2, a.kotira, a.contact_button, a.h_line_button, a.line_button {
    width: 100%;
    font-size: 1.2rem;
  }
}
a.button:hover, a.btnline2:hover, a.btnline:hover, a.kotira2:hover, a.kotira:hover, a.contact_button:hover, a.h_line_button:hover, a.line_button:hover {
  color: #603813;
  background: #fff;
}
a.line_button {
  background: #0fa035;
  border: solid 3px #0fa035;
  font-size: 1.5rem;
  padding: 0;
  font-weight: 400;
  width: 100%;
  max-width: 347px;
  height: 105px;
  line-height: 99px;
}
@media screen and (max-width: 767px) {
  a.line_button {
    line-height: 1.3;
    padding-top: 1rem;
    font-size: 1rem;
    height: 80px;
  }
}
a.line_button:before {
  display: none;
}
a.line_button:hover {
  color: #0fa035;
  background: #fff;
}
a.h_line_button {
  background: #0fa035;
  border: solid 3px #0fa035;
  font-size: 1.2rem;
  padding: 0;
  font-weight: 700;
  width: 100%;
  max-width: 347px;
  display: flex;
  justify-content: center;
  align-items: center;
}
a.h_line_button img {
  width: 35px;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  a.h_line_button {
    line-height: 1.3;
    padding-top: 1rem;
    font-size: 1rem;
    height: 80px;
  }
}
a.h_line_button:before {
  display: none;
}
a.h_line_button:hover {
  background: #0fa035;
  color: #fff;
  opacity: 0.7;
}
a.contact_button {
  background: #ed5a24;
  border: solid 3px #ed5a24;
  padding: 0;
  font-weight: 400;
  width: 100%;
}
@media screen and (max-width: 767px) {
  a.contact_button {
    line-height: 1.3;
    padding-top: 1.8rem;
    font-size: 1rem;
  }
}
a.contact_button:hover {
  color: #ed5a24;
  background: #fff;
}
a.kotira {
  letter-spacing: 0.05em;
  background: #f15a24;
  border: solid 3px #f15a24;
  width: 100%;
  max-width: 600px;
  height: 108px;
  line-height: 102px;
  font-size: 2.18rem;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  a.kotira {
    max-width: 600px;
    height: 80px;
    line-height: 74px;
    font-size: 1.5rem;
  }
}
a.kotira:hover {
  color: #f15a24;
  background: #fff;
}
a.kotira2 {
  letter-spacing: 0.12em;
  background: #f15a24;
  border: solid 3px #f15a24;
  width: 100%;
  max-width: 360px;
  height: 108px;
  line-height: 102px;
  font-size: 2.18rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  a.kotira2 {
    max-width: 600px;
    height: 80px;
    margin: 0 auto;
    line-height: 74px;
    font-size: 1.5rem;
  }
}
a.kotira2:hover {
  color: #f15a24;
  background: #fff;
}
a.btnline {
  letter-spacing: 0.12em;
  background: #34A937;
  border: solid 3px #34A937;
  width: 100%;
  max-width: 600px;
  height: 108px;
  line-height: 102px;
  letter-spacing: 0.05em;
  font-size: 2.18rem;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  a.btnline {
    max-width: 600px;
    height: 80px;
    line-height: 74px;
    font-size: 1.5rem;
  }
}
a.btnline:hover {
  color: #34A937;
  background: #fff;
}
a.btnline2 {
  letter-spacing: 0.12em;
  background: #34A937;
  border: solid 3px #34A937;
  width: 100%;
  max-width: 360px;
  height: 108px;
  line-height: 102px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  a.btnline2 {
    max-width: 600px;
    height: 80px;
    line-height: 74px;
    font-size: 1.4rem;
  }
}
a.btnline2:hover {
  color: #34A937;
  background: #fff;
}
a.btnline3 {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  a.btnline3 {
    font-size: 1.5rem;
  }
}

/*
12:その他パーツ
------------------------------------------------------------
*/
#list_breadcrumb {
  font-size: 0.87em;
  padding: 1em 0;
  margin: 0;
  background: #f7f7f7;
}

.alignleft {
  float: left;
  padding: 0 15px 15px 0;
}

.alignright {
  float: right;
  padding: 0 0 15px 15px;
}

.aligncenter {
  display: block;
  margin: 0 auto 20px;
}

.photo_l {
  float: left;
  padding: 0 15px 15px 0;
}

.photoR {
  float: right;
  padding: 0 0 15px 15px;
}

/*
13:コンタクトフォーム
------------------------------------------------------------
*/
.contactform {
  margin-bottom: 2em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .contactform {
    margin-bottom: 1em;
  }
}
.contactform tr {
  border-bottom: 2px dotted #3D352F;
}
.contactform tr:last-child {
  border-bottom: none;
}
.contactform tr th {
  padding: 1.5em 1em 1em 0;
  color: #040000;
  text-align: left;
  vertical-align: top;
  width: 25%;
  font-size: 1.87rem;
}
@media screen and (max-width: 767px) {
  .contactform tr th {
    width: 100%;
    display: block;
    padding: 0 0 0.5em;
  }
}
.contactform tr td {
  width: 75%;
  padding: 1em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .contactform tr td {
    width: 100%;
    display: block;
    padding: 0 0 1em;
  }
}

input,
textarea,
select {
  width: 100%;
  padding: 0.7rem;
  border-radius: 5px;
  border: 2px solid #f38f1e;
}

input[type=radio] {
  width: auto;
  margin-right: 0.5rem;
}

input[type=checkbox] {
  width: auto;
  margin-right: 0.5rem;
}

textarea {
  height: 250px;
}

span.mwform-tel-field input {
  width: 25% !important;
}

.submitBox {
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .submitBox {
    width: 100%;
  }
}

.submit,
.backBtn {
  color: #fff;
  display: inline-block;
  text-align: center;
  line-height: 102px;
  height: 108px;
  width: 600px;
  font-size: 2.18rem;
  font-weight: 700;
  background: #ed5a24;
  border-radius: 7px;
  border: solid 3px #ed5a24;
  transition: 0.3s;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .submit,
.backBtn {
    height: 80px;
    line-height: 74px;
    font-size: 1.5rem;
    width: 100%;
  }
}
.submit:hover,
.backBtn:hover {
  color: #ed5a24;
  background: #fff;
}

.submit2 {
  padding: 0;
}

.backBtn {
  background: #fff;
  color: #ed5a24;
}
.backBtn:hover {
  color: #fff;
  background: #ed5a24;
}

.backBtn:hover {
  opacity: 0.8;
}

.required {
  font-size: 0.75em;
  display: inline-block;
  margin-left: 1em;
  line-height: 1;
}

/*------------------------
	コンタクトフォーム7用
--------------------------*/
/*
.wpcf7-textarea {
	width: 90%;
}
.wpcf7-text {
	width: 60%;
}
.zip1 {
	width: 60px;
}
.zip2 {
	width: 100px;
}
.formtel {
	width: 100px;
	height: 16px;
}
.wpcf7-form-control wpcf7-text zip {
	width: 30%;
}
.addr {
	width: 90%;
}
.contactformsubmit {
	text-align: center;
	height: 60px;
	margin-top: 30px;
}
.wpcf7-submit {
	background: #000;
	color: #FFF;
	text-align: center;
	font-weight: bold;
	border-radius: 5px;
	display: block;
	margin: 0 auto;
	padding: 15px 40px;
	border: none;
}
.wpcf7-submit:hover {
	text-decoration: none;
	opacity: .8;
} */
/*
14:ワードプレス
------------------------------------------------------------
*/
.wp-pagenavi {
  margin-top: 5%;
}
.wp-pagenavi a {
  display: inline-block;
  margin-right: 1em;
}
.wp-pagenavi a:hover {
  color: #9fa0a0;
}
.wp-pagenavi span {
  display: inline-block;
  margin-right: 1em;
}
.wp-pagenavi span.current {
  color: #9fa0a0;
}

/*
15:マージン・パディング
------------------------------------------------------------
*/
.m0 {
  margin-bottom: 0 !important;
}

.m05 {
  margin-bottom: 0.5rem !important;
}

.m1 {
  margin-bottom: 1rem !important;
}

.m2 {
  margin-bottom: 2rem !important;
}

.m3 {
  margin-bottom: 3rem !important;
}

.m4 {
  margin-bottom: 4rem !important;
}

.m5 {
  margin-bottom: 5rem !important;
}

.m6 {
  margin-bottom: 6rem !important;
}

.m7 {
  margin-bottom: 7rem !important;
}

@media screen and (max-width: 767px) {
  .mr0_sp {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .mr05_sp {
    margin-bottom: 0.5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr1_sp {
    margin-bottom: 1rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr2_sp {
    margin-bottom: 2rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr3_sp {
    margin-bottom: 3rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr4_sp {
    margin-bottom: 4rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr5_sp {
    margin-bottom: 5rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr6_sp {
    margin-bottom: 6rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr7_sp {
    margin-bottom: 7rem !important;
  }
}

@media screen and (max-width: 767px) {
  .mr8_sp {
    margin-bottom: 8rem !important;
  }
}

/*
16:Pagination
------------------------------------------------------------
*/
ul.list_pagination {
  width: 100%;
  margin: 5% auto;
  position: relative;
  display: flex;
  border-top: 1px solid #383838;
  border-bottom: 1px solid #383838;
  font-size: 0.875em;
  padding: 2em 0;
}
ul.list_pagination li {
  width: 49%;
}
ul.list_pagination li.prev {
  margin-right: 2%;
}
ul.list_pagination li.prev a {
  padding-left: 20px;
}
ul.list_pagination li.prev a:before {
  left: 0;
  background: url(../images/right_b.svg) no-repeat center;
  transform: rotate(180deg);
}
ul.list_pagination li.next {
  text-align: right;
}
ul.list_pagination li.next a {
  padding-right: 20px;
}
ul.list_pagination li.next a:before {
  right: 0;
  background: url(../images/right_b.svg) no-repeat center;
}
ul.list_pagination li a {
  position: relative;
  display: inline-block;
}
ul.list_pagination li a:before {
  position: absolute;
  content: "";
  width: 5px;
  height: 9px;
  top: 10px;
}

/*
アニメーション
------------------------------------------------------------
*/
#top_txt,
#top_txt2,
#top_txt3,
#top_img,
.car_img {
  opacity: 0;
}

.anm-top01 {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.anm-top02 {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.anm-top03 {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-name: anm-big;
          animation-name: anm-big;
}

.anm-top04 {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.anm-top05 {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-delay: 1.6s;
          animation-delay: 1.6s;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.animation_fadeInDown,
.animation_fade,
.animation_big {
  opacity: 0;
}

.fadeInDown {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
          animation-name: fadeInDown;
}

.anm-big {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-name: anm-big;
          animation-name: anm-big;
}

.fadeIn {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes anm-big {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes anm-big {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}