@charset "UTF-8";
/****************************************************
 * Stylesheet
 *
 * 1.リセット
 * 2.共通設定
 * 3.レイアウト設定
 * 4.テンプレートスタイル
 * 5.コンテンツスタイル
 * 6.装飾
 * 7.印刷用調整
 * 
 ****************************************************/
/****************************************************
 * 1.リセット
 ****************************************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5;
}

*, *::before, *::after {
  box-sizing: border-box;
}

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

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

fieldset, img, svg {
  border: 0;
}

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

ol, ul {
  list-style: none;
}

caption, th {
  text-align: left;
}

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

abbr {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

input[type=submit], input[type=button], input[type=reset] {
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
}

textarea {
  resize: vertical;
}

article, aside, footer, header, nav, section {
  display: block;
}

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

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none;
}

/****************************************************
 * 2.共通
 ****************************************************/
html {
  background-color: transparent;
  background-image: none;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  color: #292929;
  scroll-behavior: smooth;
  scroll-padding-top: 12.6rem;
}
@media only screen and (max-width: 1099px) {
  html {
    font-size: 9px;
  }
}
@media only screen and (max-width: 900px) {
  html {
    scroll-padding-top: 6.7rem;
  }
}
@media only screen and (max-width: 750px) {
  html {
    height: 100%;
  }
}

body {
  font-size: 1.6rem;
}
@media only screen and (max-width: 750px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}

a {
  color: #292929;
}
a[href^="tel:"] {
  cursor: default;
}
a[href^="tel:"]:hover {
  text-decoration: none;
}

@media only screen and (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

@media only screen and (max-width: 1279px) {
  .pc2 {
    display: none !important;
  }
}

@media only screen and (max-width: 750px) {
  .pc_tb {
    display: none !important;
  }
}

@media only screen and (min-width: 901px) {
  .tb_sp {
    display: none !important;
  }
}

@media only screen and (min-width: 751px) {
  .sp {
    display: none !important;
  }
}

.inner {
  width: 90%;
  max-width: 1076px;
  margin: 0 auto;
}

/*アコーディオン　ベース*/
.acc .acc_head {
  position: relative;
}
.acc .acc_head i {
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  position: absolute;
  top: 0.5em;
  right: 0;
  transition: transform 0.3s;
  transform: rotate(90deg);
}
.acc .acc_body {
  display: none;
}
.acc.open .acc_head i {
  transform: rotate(-90deg);
}
.acc.open .acc_body {
  display: block;
}

.midashi01 {
  margin-bottom: 1.2em;
  font-size: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .midashi01 {
    font-size: 2.4rem;
  }
}
.midashi01 span {
  font-size: 0.8em;
  color: #C30D23;
  display: block;
}
.midashi01 span:after {
  width: 2em;
  height: 0.2rem;
  margin-top: 0.25em;
  margin-bottom: 0.25em;
  content: "";
  background-color: #C30D23;
  display: block;
}
.midashi01.center {
  text-align: center;
}
.midashi01.center span:after {
  margin-left: auto;
  margin-right: auto;
}
.btn01 {
  width: 38rem;
  max-width: 100%;
  padding: 1.3em 2em 1.3em 1em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #C30D23 !important;
  background-color: #ffffff;
  background-image: url("../img/icon_arrow01.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border: solid 0.2rem #C30D23;
  border-radius: 99px;
  box-shadow: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.14);
  display: inline-block;
}
.btn01 small {
  font-size: 0.75em;
}
@media only screen and (min-width: 751px) {
  .btn01 {
    transition: background-color 0.3s;
  }
  .btn01:hover {
    background-color: #FFF4F5;
  }
}
@media only screen and (max-width: 750px) {
  .btn01 {
    width: 28rem;
    font-size: 1.6rem;
  }
}
.btn02 {
  min-width: 19rem;
  padding: 0.85em;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #C30D23 !important;
  background-color: #ffffff;
  border: solid 0.2rem #C30D23;
  border-radius: 99px;
  display: inline-block;
}
.btn02:after {
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  content: "";
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.15em;
}
@media only screen and (min-width: 751px) {
  .btn02 {
    transition: background-color 0.3s;
  }
  .btn02:hover {
    background-color: #FFF4F5;
  }
}
.btn03 {
  width: 38rem;
  max-width: 100%;
  padding: 1.3em 2em 1.3em 1em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff !important;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  box-shadow: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.14);
  display: inline-block;
}
.btn03 small {
  font-size: 0.75em;
}
@media only screen and (min-width: 751px) {
  .btn03 {
    transition: background-color 0.3s;
  }
  .btn03:hover {
    background-color: #840010;
  }
}
@media only screen and (max-width: 750px) {
  .btn03 {
    width: 28rem;
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 751px) {
  .fix_contact_pc {
    position: fixed;
    top: 50%;
    right: 0;
    z-index: 90;
    transform: translateY(-50%);
    transition: right 0.3s;
  }
  .fix_contact_pc.hide {
    right: -10rem;
  }
  .fix_contact_pc a {
    padding: 1em;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: #ffffff;
    background-color: #C30D23;
    border-radius: 2rem 0 0 2rem;
    transition: opacity 0.3s;
  }
  .fix_contact_pc a:before {
    width: 1em;
    height: 1em;
    margin-bottom: 0.5em;
    content: "";
    background-image: url("../img/icon_mail02.png");
    background-size: cover;
    display: inline-block;
    vertical-align: 0;
  }
  .fix_contact_pc a .dot {
    display: inline-block;
    transform: translateX(0.25em);
  }
  .fix_contact_pc a:hover {
    opacity: 0.8;
  }
}

@media only screen and (max-width: 750px) {
  .fix_contact_sp {
    width: 98%;
    display: flex;
    position: fixed;
    bottom: 0.5rem;
    left: 1%;
    z-index: 90;
    transition: bottom 0.3s;
  }
  .fix_contact_sp.hide {
    bottom: -7rem;
  }
  .fix_contact_sp .line {
    width: 58%;
  }
  .fix_contact_sp .line a {
    height: 6rem;
    padding-top: 1.2rem;
    font-size: 1.7rem;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
    background-color: #05C855;
    border-radius: 0.3rem;
    display: block;
  }
  .fix_contact_sp .line a:before {
    width: 2em;
    height: 2em;
    margin-right: 0.25em;
    content: "";
    background-image: url("../img/icon_line01.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.5em;
  }
  .fix_contact_sp .mail {
    width: 20%;
    margin-left: 1%;
  }
  .fix_contact_sp .mail a {
    height: 6rem;
    padding-top: 1.5rem;
    text-align: center;
    background-color: #C30D23;
    border-radius: 0.3rem;
    display: block;
  }
  .fix_contact_sp .mail a img {
    width: 3rem;
  }
  .fix_contact_sp .tel {
    width: 20%;
    margin-left: 1%;
  }
  .fix_contact_sp .tel a {
    height: 6rem;
    padding-top: 1.5rem;
    text-align: center;
    background-color: #ffffff;
    border: solid 0.2rem #C30D23;
    border-radius: 0.3rem;
    display: block;
  }
  .fix_contact_sp .tel a img {
    width: 3rem;
  }
}

@media only screen and (min-width: 901px) {
  .common_menu_blocks {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 901px) {
  .common_menu_blocks .text_area {
    width: 40%;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .text_area {
    margin-top: 7rem;
    text-align: center;
  }
}
.common_menu_blocks .text_area .logo {
  width: 42rem;
  max-width: 100%;
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .text_area .logo {
    width: 29rem;
    margin: 0 auto;
  }
}
.common_menu_blocks .text_area address {
  margin-bottom: 1em;
  font-size: 1.5rem;
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .text_area address {
    width: 29rem;
    margin: 0 auto 5rem auto;
    font-size: 1.2rem;
    text-align: left;
  }
}
@media only screen and (min-width: 751px) {
  .common_menu_blocks .text_area .tel {
    margin-bottom: 2em;
  }
  .common_menu_blocks .text_area .tel .num {
    font-size: 2.4rem;
    color: #C30D23;
    font-weight: 700;
  }
  .common_menu_blocks .text_area .tel .num:before {
    width: 1em;
    height: 1em;
    content: "";
    background-image: url("../img/icon_tel01.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.25em;
  }
  .common_menu_blocks .text_area .tel .time {
    font-size: 1.1rem;
  }
}
@media only screen and (min-width: 1001px) {
  .common_menu_blocks .text_area .contact_btn_area {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .text_area .contact_btn_area {
    display: inline-block;
  }
}
@media only screen and (max-width: 750px) {
  .common_menu_blocks .text_area .contact_btn_area .tel {
    width: 30.6rem;
    max-width: 100%;
    font-size: 1.7rem;
    font-weight: 700;
  }
  .common_menu_blocks .text_area .contact_btn_area .tel small {
    font-size: 0.83em;
  }
  .common_menu_blocks .text_area .contact_btn_area .tel a {
    padding: 1.3em 2em 1.3em 1em;
    text-align: center;
    color: #C30D23;
    background-color: #ffffff;
    background-image: url("../img/icon_arrow01.png");
    background-repeat: no-repeat;
    background-size: 1.2em auto;
    background-position: calc(100% - 0.75em) center;
    border: solid 0.2rem #C30D23;
    border-radius: 99px;
    box-shadow: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.14);
    display: block;
  }
  .common_menu_blocks .text_area .contact_btn_area .tel a:before {
    width: 1.5em;
    height: 1.5em;
    content: "";
    background-image: url("../img/icon_tel01.png");
    background-size: cover;
    display: inline-block;
    vertical-align: 0;
  }
  .common_menu_blocks .text_area .contact_btn_area .tel a > div {
    display: inline-block;
  }
  .common_menu_blocks .text_area .contact_btn_area .tel a .time {
    font-size: 0.57em;
    font-weight: 400;
    display: block;
  }
}
.common_menu_blocks .text_area .contact_btn_area .line {
  width: 30.6rem;
  font-weight: 700;
}
@media only screen and (min-width: 1001px) {
  .common_menu_blocks .text_area .contact_btn_area .line {
    max-width: 48%;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1000px) {
  .common_menu_blocks .text_area .contact_btn_area .line {
    max-width: 100%;
    font-size: 1.7rem;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .text_area .contact_btn_area .line {
    margin-top: 1.5rem;
  }
}
.common_menu_blocks .text_area .contact_btn_area .line small {
  font-size: 0.83em;
}
.common_menu_blocks .text_area .contact_btn_area .line a {
  padding: 1.3em 2em 1.3em 1em;
  text-align: center;
  color: #ffffff;
  background-color: #05C855;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  display: block;
}
.common_menu_blocks .text_area .contact_btn_area .line a:before {
  width: 2em;
  height: 2em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/icon_line01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.5em;
}
@media only screen and (min-width: 751px) {
  .common_menu_blocks .text_area .contact_btn_area .line a {
    transition: opacity 0.3s;
  }
  .common_menu_blocks .text_area .contact_btn_area .line a:hover {
    opacity: 0.8;
  }
}
.common_menu_blocks .text_area .contact_btn_area .mail {
  width: 30.6rem;
  font-weight: 700;
}
@media only screen and (min-width: 1001px) {
  .common_menu_blocks .text_area .contact_btn_area .mail {
    max-width: 48%;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1000px) {
  .common_menu_blocks .text_area .contact_btn_area .mail {
    max-width: 100%;
    margin-top: 1.5rem;
    font-size: 1.7rem;
  }
}
.common_menu_blocks .text_area .contact_btn_area .mail small {
  font-size: 0.83em;
}
.common_menu_blocks .text_area .contact_btn_area .mail a {
  padding: 1.5em 2em 1.5em 1em;
  text-align: center;
  color: #ffffff;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  box-shadow: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.14);
  display: block;
}
.common_menu_blocks .text_area .contact_btn_area .mail a:before {
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/icon_mail02.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.3em;
}
@media only screen and (min-width: 751px) {
  .common_menu_blocks .text_area .contact_btn_area .mail a {
    transition: opacity 0.3s;
  }
  .common_menu_blocks .text_area .contact_btn_area .mail a:hover {
    opacity: 0.8;
  }
}
@media only screen and (min-width: 901px) {
  .common_menu_blocks .navi_area {
    width: 55%;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .navi_area {
    width: 76%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 901px) {
  .common_menu_blocks .navi_area > ul {
    width: 45%;
  }
}
.common_menu_blocks .navi_area > ul > li + li {
  margin-top: 2rem;
}
.common_menu_blocks .navi_area > ul > li > a {
  padding-bottom: 0.5rem;
  font-size: 1.5rem;
  color: #C30D23;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  background-size: 1em auto;
  background-position: calc(100% - 0.5em) center;
  border-bottom: solid 1px #C30D23;
  display: block;
}
@media only screen and (min-width: 751px) {
  .common_menu_blocks .navi_area > ul > li > a:hover {
    color: #840010;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .navi_area > ul > li > a {
    font-size: 1.7rem;
  }
}
.common_menu_blocks .navi_area > ul > li ul {
  margin-top: 0.75em;
  padding-left: 1.5em;
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .navi_area > ul > li ul {
    margin-bottom: 2.5em;
  }
}
.common_menu_blocks .navi_area > ul > li ul li + li {
  margin-top: 0.5em;
}
.common_menu_blocks .navi_area > ul > li ul li a {
  font-size: 1.2rem;
}
@media only screen and (min-width: 751px) {
  .common_menu_blocks .navi_area > ul > li ul li a:hover {
    color: #840010;
  }
}
@media only screen and (max-width: 900px) {
  .common_menu_blocks .navi_area > ul > li ul li a {
    font-size: 1.4rem;
  }
}

.cta01 {
  padding: 5.5rem 0;
  background-color: #FFE5E9;
}
.cta01 h2 {
  margin-bottom: 1em;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  color: #C30D23;
}
@media only screen and (max-width: 750px) {
  .cta01 h2 {
    margin-bottom: 2em;
    font-size: 2.4rem;
  }
}
.cta01 dl {
  width: 90%;
  max-width: 60rem;
  margin: 0 auto 6rem auto;
  padding: 2.5em 1.5em 1.5em 1.5em;
  border: solid 0.2rem #C30D23;
  border-radius: 0.5rem;
  position: relative;
}
.cta01 dl:after {
  width: 2rem;
  height: 2.6rem;
  margin-left: -1rem;
  content: "";
  background-image: url("../img/cta_arrow01.png");
  background-size: cover;
  position: absolute;
  bottom: -4.5rem;
  left: 50%;
}
.cta01 dl dt {
  padding: 0.2em 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #C30D23;
  border-radius: 0.5rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.cta01 dl dt small {
  font-size: 0.8em;
}
@media only screen and (min-width: 751px) {
  .cta01 dl dd ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.cta01 dl dd ul li {
  padding-left: 1em;
  font-size: 1.7rem;
  background-image: url("../img/icon_check02.png");
  background-repeat: no-repeat;
  background-size: 0.7em auto;
  background-position: 0 0.45em;
}
@media only screen and (min-width: 751px) {
  .cta01 dl dd ul li {
    width: 49%;
    margin: 0 2% 1% 0;
  }
  .cta01 dl dd ul li:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 750px) {
  .cta01 dl dd ul li {
    font-size: 1.5rem;
  }
}
.cta01 dl dd ul li b {
  font-weight: 700;
  color: #C30D23;
}
.cta01 .contact {
  width: 100%;
  max-width: 92.3rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.cta01 .contact:before, .cta01 .contact:after {
  width: 12.3rem;
  height: 12.3rem;
  content: "";
  background-image: url("../img/fig01.png");
  background-size: cover;
  position: absolute;
  z-index: -1;
}
.cta01 .contact:before {
  top: -1.7rem;
  left: -1.7rem;
}
.cta01 .contact:after {
  bottom: -1.7rem;
  right: -1.7rem;
  transform: scale(-1, -1);
}
.cta01 .contact .box {
  padding: 1em;
  background-color: #ffffff;
  border-radius: 1.3rem;
}
@media only screen and (min-width: 901px) {
  .cta01 .contact .box {
    display: flex;
  }
}
.cta01 .contact .box > div {
  padding: 2rem;
  text-align: center;
}
@media only screen and (min-width: 901px) {
  .cta01 .contact .box > div {
    width: 33.3333%;
  }
  .cta01 .contact .box > div + div {
    border-left: solid 1px #BFBFBF;
  }
}
@media only screen and (max-width: 900px) {
  .cta01 .contact .box > div + div {
    border-top: solid 1px #BFBFBF;
  }
}
.cta01 .contact .box > div .icon {
  width: 4.6rem;
  margin: 0 auto 2rem auto;
}
.cta01 .contact .box > div.tel a {
  font-size: 2.4rem;
  font-weight: 700;
  color: #C30D23;
}
.cta01 .contact .box > div.tel .time {
  font-size: 1.1rem;
}
.cta01 .contact .box > div.line .btn a {
  max-width: 20rem;
  margin: 0 auto;
  padding: 1.3em 2em 1.3em 1em;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
  background-color: #05C855;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  display: block;
}
@media only screen and (min-width: 751px) {
  .cta01 .contact .box > div.line .btn a {
    transition: opacity 0.3s;
  }
  .cta01 .contact .box > div.line .btn a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 750px) {
  .cta01 .contact .box > div.line .btn a {
    max-width: 30rem;
    font-size: 1.6rem;
  }
}
.cta01 .contact .box > div.mail .btn a {
  max-width: 20rem;
  margin: 0 auto;
  padding: 1.3em 2em 1.3em 1em;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  display: block;
}
@media only screen and (min-width: 751px) {
  .cta01 .contact .box > div.mail .btn a {
    transition: opacity 0.3s;
  }
  .cta01 .contact .box > div.mail .btn a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 750px) {
  .cta01 .contact .box > div.mail .btn a {
    max-width: 30rem;
    font-size: 1.6rem;
  }
}

.cta02 {
  padding: 8rem 0;
  background-color: #FFDCE1;
}
@media only screen and (max-width: 900px) {
  .cta02 {
    padding: 5.5rem 0;
  }
}
.cta02 .inner {
  max-width: 1140px;
}
.cta02 h2 {
  margin-bottom: 1.5em;
  font-size: 2.9rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 900px) {
  .cta02 h2 {
    font-size: 2.4rem;
  }
}
.cta02 h2:after {
  width: 2.5em;
  height: 0.2rem;
  margin: 0.7em auto 0 auto;
  content: "";
  background-color: #C30D23;
  display: block;
}
@media only screen and (min-width: 901px) {
  .cta02 .contact {
    display: flex;
    justify-content: space-between;
  }
}
.cta02 .contact > div {
  background-color: #ffffff;
  border-radius: 0.8rem;
}
@media only screen and (min-width: 901px) {
  .cta02 .contact > div {
    width: 31.5%;
    padding: 3.5rem;
  }
}
@media only screen and (max-width: 900px) {
  .cta02 .contact > div {
    padding: 2rem;
  }
  .cta02 .contact > div + div {
    margin-top: 2rem;
  }
}
.cta02 .contact > div .icon {
  width: 4.6rem;
  margin: 0 auto 2rem auto;
}
.cta02 .contact > div h3 {
  margin-bottom: 1.45em;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
}
.cta02 .contact > div p {
  font-size: 1.3rem;
  text-align: center;
}
.cta02 .contact > div .time {
  margin-top: 0.27em;
  font-size: 1.1rem;
  text-align: center;
}
.cta02 .contact > div .btn {
  margin-top: 2.25em;
}
.cta02 .contact > div .btn a {
  width: 100%;
  max-width: 30rem;
  margin: 0 auto;
  padding: 1em 2em 1em 1em;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  display: block;
}
@media only screen and (min-width: 751px) {
  .cta02 .contact > div .btn a {
    transition: opacity 0.3s;
  }
  .cta02 .contact > div .btn a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 750px) {
  .cta02 .contact > div .btn a {
    font-size: 1.6rem;
  }
}
.cta02 .contact > div.line .btn a {
  background-color: #05C855;
}
.wp-pagenavi {
  text-align: center;
  letter-spacing: -0.4em;
}
.wp-pagenavi > * {
  display: inline-block;
  letter-spacing: normal;
}
.wp-pagenavi > * {
  margin: 0 1em;
  font-size: 2rem;
  vertical-align: middle;
}
@media only screen and (max-width: 750px) {
  .wp-pagenavi > * {
    font-size: 1.6rem;
  }
}
.wp-pagenavi .pages, .wp-pagenavi .first, .wp-pagenavi .extend, .wp-pagenavi .last {
  display: none !important;
}
.wp-pagenavi .current {
  color: #C30D23;
}
.wp-pagenavi .previouspostslink {
  width: 1em;
  height: 1em;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  margin-left: 0;
  font-size: 2rem;
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  transform: scale(-1, 1);
}
.wp-pagenavi .nextpostslink {
  width: 1em;
  height: 1em;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  margin-right: 0;
  font-size: 2rem;
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
}

/* ブロックエディタ用基本CSS */
.editor-area:after {
  content: "";
  display: block;
  clear: both;
}
.editor-area > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area p {
  margin-bottom: 2em;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .editor-area p {
    font-size: 1.6rem;
  }
}
.editor-area h3 {
  margin-bottom: 1em;
  font-size: 2.6rem;
  font-weight: 700;
  padding: 0 0 0.25em 0.5em;
  border-left: solid 0.5rem #C30D23;
  border-bottom: solid 0.2rem #C30D23;
}
@media only screen and (max-width: 750px) {
  .editor-area h3 {
    font-size: 1.8rem;
  }
}
.editor-area h4 {
  margin-bottom: 1em;
  padding: 0 0 0.25em 1.5em;
  font-size: 2.1rem;
  font-weight: 700;
  border-bottom: solid 1px #C30D23;
}
@media only screen and (max-width: 750px) {
  .editor-area h4 {
    font-size: 1.8rem;
  }
}
.editor-area h4:before {
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0 -1.5em;
  content: "";
  background-color: #C30D23;
  border-radius: 0.3rem;
  display: inline-block;
  vertical-align: -0.1em;
}
.editor-area h5 {
  margin-bottom: 1em;
  font-size: 2.1rem;
  font-weight: 700;
  color: #C30D23;
}
@media only screen and (max-width: 750px) {
  .editor-area h5 {
    font-size: 1.8rem;
  }
}
.editor-area h6 {
  margin-bottom: 1em;
  font-size: 1.9rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .editor-area h6 {
    font-size: 1.7rem;
  }
}
.editor-area ul {
  margin-bottom: 2em;
}
.editor-area ul > li {
  margin-bottom: 0.5em;
  padding-left: 2em;
}
.editor-area ul > li:before {
  width: 1em;
  height: 1em;
  margin: 0 1em 0 -2em;
  content: "";
  background-image: url("../img/icon_check01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.editor-area ol {
  margin-bottom: 2em;
  counter-reset: num;
}
.editor-area ol > li {
  margin-bottom: 0.5em;
  padding-left: 3.2rem;
  counter-increment: num;
}
.editor-area ol > li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.6rem 0 -3.2rem;
  content: counter(num);
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.3rem;
  color: #C30D23;
  border: solid 1px #C30D23;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.2em;
}
.editor-area .wp-block-image {
  margin-bottom: 2em;
}
.editor-area .alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 2em;
}
.editor-area .alignright {
  max-width: 50%;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 2em;
}
.editor-area .aligncenter {
  margin-bottom: 2em;
}
.editor-area .aligncenter img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.editor-area .has-text-align-center {
  text-align: center;
}
.editor-area .has-text-align-right {
  text-align: right;
}
.editor-area blockquote {
  margin-bottom: 2.5em;
  margin-left: 0;
  padding: 1.2em 1.2em 1.2em 3rem;
  background-color: #FFF4F5;
  border-left: 0.5em double #C30D23;
  position: relative;
  display: block;
}
@media only screen and (max-width: 750px) {
  .editor-area blockquote {
    padding-left: 4rem;
  }
}
.editor-area blockquote:before {
  width: 1.3rem;
  height: 1rem;
  content: "";
  background-image: url("../img/contents/innyou.png");
  background-size: cover;
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.editor-area blockquote > *:last-child {
  margin-bottom: 0 !important;
}
.editor-area blockquote p {
  font-size: 1.6rem;
}
.editor-area table {
  width: 100%;
  margin-bottom: 2em;
  border-collapse: collapse;
}
.editor-area table td, .editor-area table th {
  border: 1px solid #FFDCE1;
  padding: 0.5em;
}
.editor-area table th {
  background-color: #FFF4F5;
}
.editor-area .wp-block-columns {
  display: flex;
  margin-bottom: 2em;
}
.editor-area .wp-block-column {
  flex-grow: 1;
  margin-left: 0.625em;
  margin-right: 0.625em;
}
.editor-area .wp-block-media-text {
  display: grid;
}
.editor-area a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.editor-area strong, .editor-area b {
  font-weight: bold;
}
.editor-area em, .editor-area i {
  font-style: italic;
}
.editor-area .wp-block-spacer {
  clear: both;
}

.edtor-area2:after {
  content: "";
  display: block;
  clear: both;
}
.edtor-area2 > *:last-child {
  margin-bottom: 0 !important;
}
.edtor-area2 p {
  margin-bottom: 2em;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .edtor-area2 p {
    font-size: 1.6rem;
  }
}
.edtor-area2 h1, .edtor-area2 h2, .edtor-area2 h3 {
  margin-bottom: 1em;
  font-size: 2.6rem;
  font-weight: 700;
  padding: 0 0 0.25em 0.5em;
  border-left: solid 0.5rem #C30D23;
  border-bottom: solid 0.2rem #C30D23;
}
@media only screen and (max-width: 750px) {
  .edtor-area2 h1, .edtor-area2 h2, .edtor-area2 h3 {
    font-size: 1.8rem;
  }
}
.edtor-area2 h4 {
  margin-bottom: 1em;
  padding: 0 0 0.25em 1.5em;
  font-size: 2.1rem;
  font-weight: 700;
  border-bottom: solid 1px #C30D23;
}
@media only screen and (max-width: 750px) {
  .edtor-area2 h4 {
    font-size: 1.8rem;
  }
}
.edtor-area2 h4:before {
  width: 1em;
  height: 1em;
  margin: 0 0.5em 0 -1.5em;
  content: "";
  background-color: #C30D23;
  border-radius: 0.3rem;
  display: inline-block;
  vertical-align: -0.1em;
}
.edtor-area2 h5 {
  margin-bottom: 1em;
  font-size: 2.1rem;
  font-weight: 700;
  color: #C30D23;
}
@media only screen and (max-width: 750px) {
  .edtor-area2 h5 {
    font-size: 1.8rem;
  }
}
.edtor-area2 h6 {
  margin-bottom: 1em;
  font-size: 1.9rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .edtor-area2 h6 {
    font-size: 1.7rem;
  }
}
.edtor-area2 ul {
  margin-bottom: 2em;
}
.edtor-area2 ul > li {
  margin-bottom: 0.5em;
  padding-left: 2em;
}
.edtor-area2 ul > li:before {
  width: 1em;
  height: 1em;
  margin: 0 1em 0 -2em;
  content: "";
  background-image: url("../img/icon_check01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.edtor-area2 ol {
  margin-bottom: 2em;
  counter-reset: num;
}
.edtor-area2 ol > li {
  margin-bottom: 0.5em;
  padding-left: 3.2rem;
  counter-increment: num;
}
.edtor-area2 ol > li:before {
  width: 1.6rem;
  height: 1.6rem;
  margin: 0 1.6rem 0 -3.2rem;
  content: counter(num);
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.3rem;
  color: #C30D23;
  border: solid 1px #C30D23;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.2em;
}
.edtor-area2 img.alignleft {
  max-width: 50%;
  float: left;
  margin-right: 1em;
  margin-bottom: 1em;
}
.edtor-area2 img.alignright {
  max-width: 50%;
  float: right;
  margin-left: 1em;
  margin-bottom: 1em;
}
.edtor-area2 img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}
.edtor-area2 blockquote {
  border-left: 4px solid #ccc;
  padding-left: 1em;
  margin-left: 0;
  font-style: italic;
  color: #555;
}
.edtor-area2 table {
  width: 100%;
  margin-bottom: 1.5em;
  border-collapse: collapse;
}
.edtor-area2 td, .edtor-area2 th {
  border: 1px solid #ddd;
  padding: 0.5em;
}
.edtor-area2 th {
  background-color: #f9f9f9;
}
.edtor-area2 a {
  color: blue;
  text-decoration: underline;
  word-break: break-all;
}
.edtor-area2 strong, .edtor-area2 b {
  font-weight: bold !important;
}
.edtor-area2 em, .edtor-area2 i {
  font-style: italic !important;
}

#toc_container {
  width: 66rem !important;
  max-width: 100%;
  margin: 0 auto 8rem auto;
  padding: 2.5rem 4.5rem;
  background-color: #FFF4F5;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 750px) {
  #toc_container {
    margin-bottom: 4rem;
    padding: 1.5rem 2rem;
  }
}
#toc_container a {
  color: #292929;
  text-decoration: none !important;
}
#toc_container .toc_title {
  margin-bottom: 2rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: #C30D23;
  position: relative;
}
#toc_container .toc_title .toc_toggle {
  position: absolute;
  top: 0;
  right: 0;
}
#toc_container .toc_title .toc_toggle .toc_brackets {
  display: none;
}
#toc_container .toc_title .toc_toggle a {
  width: 1.2rem;
  height: 1.2rem;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  position: relative;
}
#toc_container .toc_title .toc_toggle a:before {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/icon_toc_close.png");
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
#toc_container.contracted .toc_title .toc_toggle a:before {
  transform: rotate(45deg);
}
#toc_container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#toc_container ul li:last-child {
  margin-bottom: 0 !important;
}
#toc_container .toc_list {
  margin: 0;
  padding-top: 2.5rem;
  counter-reset: index-num-1;
  border-top: dashed 1px #C30D23;
}
#toc_container .toc_list > li {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  padding-left: 2em;
  font-size: 1.4rem;
  counter-increment: index-num-1;
  border-bottom: dashed 1px #C30D23;
}
#toc_container .toc_list > li:before {
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.5em 0 -2em;
  content: counter(index-num-1);
  font-size: 1.2rem;
  text-align: center;
  line-height: 1.5;
  color: #ffffff;
  background-color: #C30D23;
  border-radius: 50%;
  display: inline-block;
  vertical-align: 0.1em;
}
#toc_container .toc_list > li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
#toc_container .toc_list > li > ul {
  margin-top: 0.5em;
}
#toc_container .toc_list > li > ul > li {
  margin-bottom: 1rem;
  padding-left: 2em;
  font-size: 1.2rem;
}
#toc_container .toc_list > li > ul > li:before {
  width: 1em;
  height: 1em;
  margin: 0 1em 0 -2em;
  content: "";
  background-image: url("../img/icon_sankaku01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}

/*フォームベース*/
.wpcf7-text, .input-text {
  width: 100%;
  padding: 0.75em;
  background-color: #F8F8F8;
  border-radius: 0.4rem;
}
.wpcf7-text::-moz-placeholder, .input-text::-moz-placeholder {
  color: #BFBFBF;
}
.wpcf7-text::placeholder, .input-text::placeholder {
  color: #BFBFBF;
}

.wpcf7-textarea, .input-textarea {
  width: 100%;
  height: 16em;
  padding: 0.75em;
  background-color: #F8F8F8;
  border-radius: 0.4rem;
}
@media only screen and (max-width: 750px) {
  .wpcf7-textarea, .input-textarea {
    height: 8em;
  }
}
.wpcf7-textarea::-moz-placeholder, .input-textarea::-moz-placeholder {
  color: #BFBFBF;
}
.wpcf7-textarea::placeholder, .input-textarea::placeholder {
  color: #BFBFBF;
}

.wpcf7-select, .input-select {
  width: 100%;
  padding: 0.75em;
  background-color: #F8F8F8;
  background-image: url("../img/form_select_icon.png");
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  background-size: 2rem auto;
  border-radius: 0.4rem;
}

.wpcf7-radio, .radio_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-radio > *, .radio_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-radio > *, .radio_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-radio label input, .radio_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-radio label input:checked + span:after, .radio_group label input:checked + span:after {
  content: "";
}
.wpcf7-radio label input + span, .radio_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-radio label input + span:before, .radio_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #BFBFBF;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-radio label input + span:after, .radio_group label input + span:after {
  width: 1.4rem;
  height: 1.4rem;
  content: none;
  background-color: #000000;
  border-radius: 50%;
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
}

.wpcf7-checkbox, .wpcf7-acceptance, .check_group {
  margin-bottom: -1em;
  display: block;
  letter-spacing: -0.4em;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  display: inline-block;
  letter-spacing: normal;
}
.wpcf7-checkbox > *, .wpcf7-acceptance > *, .check_group > * {
  margin-right: 1em !important;
  margin-bottom: 1em !important;
}
.wpcf7-checkbox label input, .wpcf7-acceptance label input, .check_group label input {
  visibility: hidden;
  position: absolute;
  left: -9999999px;
}
.wpcf7-checkbox label input:checked + span:after, .wpcf7-acceptance label input:checked + span:after, .check_group label input:checked + span:after {
  content: "";
}
.wpcf7-checkbox label input + span, .wpcf7-acceptance label input + span, .check_group label input + span {
  padding-left: 4rem;
  display: inline-block;
  position: relative;
}
.wpcf7-checkbox label input + span:before, .wpcf7-acceptance label input + span:before, .check_group label input + span:before {
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background-color: #ffffff;
  border: solid 1px #BFBFBF;
  position: absolute;
  top: 0;
  left: 0;
}
.wpcf7-checkbox label input + span:after, .wpcf7-acceptance label input + span:after, .check_group label input + span:after {
  width: 1.6rem;
  height: 1rem;
  content: none;
  border-left: solid 0.2rem #000000;
  border-bottom: solid 0.2rem #000000;
  position: absolute;
  top: 0.4rem;
  left: 0.4rem;
  transform: rotate(-45deg);
}

/****************************************************
 * 3.レイアウト設定
 ****************************************************/
.container {
  width: 100%;
  padding-top: 12.6rem;
  overflow: hidden;
}
@media only screen and (max-width: 900px) {
  .container {
    padding-top: 6.7rem;
  }
}

/****************************************************
 * 4.テンプレートスタイル
 ****************************************************/
/*ヘッダーブロック*/
#header {
  width: 100%;
  height: 12.6rem;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
@media only screen and (max-width: 900px) {
  #header {
    height: 6.7rem;
    padding-top: 1.2rem;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_top .inner {
    height: 8.1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
#header .header_top .logo {
  width: 28.7rem;
}
@media only screen and (max-width: 900px) {
  #header .header_top .logo {
    width: 27.2rem;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_top .header_right {
    display: flex;
    align-items: center;
  }
  #header .header_top .header_right .tel {
    margin-right: 2.5rem;
    text-align: center;
    color: #C30D23;
  }
  #header .header_top .header_right .tel .num {
    font-size: 2.7rem;
    font-weight: 700;
  }
  #header .header_top .header_right .tel .num:before {
    width: 1.1em;
    height: 1.1em;
    content: "";
    background-image: url("../img/icon_tel03.png");
    background-size: cover;
    display: inline-block;
    vertical-align: -0.25em;
  }
  #header .header_top .header_right .tel .time {
    font-size: 1.2rem;
  }
  #header .header_top .header_right .header_contact {
    display: flex;
  }
  #header .header_top .header_right .header_contact > div {
    width: 13rem;
  }
  #header .header_top .header_right .header_contact > div a {
    width: 100%;
    height: 8.1rem;
    padding-top: 5rem;
    font-size: 1.3rem;
    text-align: center;
    font-weight: 700;
    color: #ffffff;
    display: block;
    transition: opacity 0.3s;
  }
  #header .header_top .header_right .header_contact > div a:hover {
    opacity: 0.8;
  }
  #header .header_top .header_right .header_contact > div.line a {
    background-color: #05C855;
    background-image: url("../img/icon_line02.png");
    background-repeat: no-repeat;
    background-position: center 0.2rem;
    background-size: 5rem auto;
  }
  #header .header_top .header_right .header_contact > div.mail a {
    background-color: #C30D23;
    background-image: url("../img/icon_mail02.png");
    background-repeat: no-repeat;
    background-position: center 0.5rem;
    background-size: 4rem auto;
  }
}
@media only screen and (max-width: 900px) {
  #header .header_top .header_right .burger_menu_btn {
    top: 1.2rem;
    right: 2.4rem;
  }
}
@media only screen and (min-width: 901px) {
  #header .header_bottom {
    background-color: #840010;
  }
  #header .header_bottom .inner {
    position: relative;
  }
  #header .header_bottom .g_navi {
    text-align: center;
    letter-spacing: -0.4em;
  }
  #header .header_bottom .g_navi > * {
    display: inline-block;
    letter-spacing: normal;
  }
  #header .header_bottom .g_navi > li {
    height: 4.5rem;
    margin: 0 3em;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 3.46;
  }
  #header .header_bottom .g_navi > li > a {
    color: #ffffff;
  }
  #header .header_bottom .g_navi > li > a:hover {
    color: #FFDCE1;
  }
  #header .header_bottom .g_navi > li:hover .sub_menu {
    display: block;
  }
  #header .header_bottom .g_navi > li .sub_menu {
    width: 100%;
    padding-top: 1.2rem;
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
  }
  #header .header_bottom .g_navi > li .sub_menu .box {
    width: 100%;
    max-width: 91.2rem;
    margin: 0 auto;
    padding: 4rem 3rem 2rem 3rem;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 0.8rem;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul {
    display: flex;
    flex-wrap: wrap;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li {
    width: 16%;
    margin: 0 0.8% 2.5% 0;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li:nth-child(6n) {
    margin-right: 0;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a {
    display: block;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a .menu_thumbnail {
    width: 80%;
    height: auto;
    margin: 0 auto 0.8rem auto;
    aspect-ratio: 111/72;
    overflow: hidden;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a .menu_thumbnail > img,
  #header .header_bottom .g_navi > li .sub_menu .box ul li a .menu_thumbnail > video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a .menu_thumbnail img {
    transition: transform 0.3s;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a p {
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
  }
  #header .header_bottom .g_navi > li .sub_menu .box ul li a:hover .menu_thumbnail img {
    transform: scale(1.1);
  }
  #header .header_bottom .burger_menu_btn {
    top: 0;
    right: 0;
  }
  #header .header_bottom .burger_menu_btn:hover {
    background-color: #C30D23;
  }
}
#header .burger_menu_btn {
  width: 4.5rem;
  height: 4.5rem;
  background-color: #840010;
  position: absolute;
}
#header .burger_menu_btn span {
  width: 52%;
  height: 0.2rem;
  margin-top: -0.1rem;
  background-color: #ffffff;
  position: absolute;
  left: 24%;
}
#header .burger_menu_btn span:nth-child(1) {
  top: 28%;
  transition: transform 0.5s, top 0.5s;
}
#header .burger_menu_btn span:nth-child(2) {
  top: 50%;
  transition: opacity 0.5s;
}
#header .burger_menu_btn span:nth-child(3) {
  top: 72%;
  transition: transform 0.5s, top 0.5s;
}
#header .burger_menu_btn.open span:nth-child(1) {
  top: 50%;
  transform: rotate(45deg);
}
#header .burger_menu_btn.open span:nth-child(2) {
  opacity: 0;
}
#header .burger_menu_btn.open span:nth-child(3) {
  top: 50%;
  transform: rotate(-45deg);
}
#header .hide_menu_area {
  width: 100%;
  height: 0;
  background-color: #FFDCE1;
  position: absolute;
  top: 100%;
  left: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.5s;
}
#header .hide_menu_area.open {
  opacity: 1;
}
@media only screen and (min-width: 901px) {
  #header .hide_menu_area.open {
    height: auto;
  }
}
@media only screen and (max-width: 900px) {
  #header .hide_menu_area.open {
    height: calc(100vh - 6.7rem);
    overflow: auto;
  }
}
@media only screen and (min-width: 901px) {
  #header .hide_menu_area .inner {
    padding: 9.5rem 0;
  }
}
@media only screen and (max-width: 900px) {
  #header .hide_menu_area .inner {
    padding: 5rem 0 3rem 0;
  }
}

/*フッターブロック*/
#footer {
  padding: 12.3rem 0 9.4rem 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  #footer {
    padding: 5rem 0 4.7rem 0;
  }
}
#footer:before {
  width: 100%;
  height: 100%;
  content: "";
  background-size: cover;
  background-position: center center;
  opacity: 0.18;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 751px) {
  #footer:before {
    background-image: url("../img/footer_bg.jpg");
  }
}
@media only screen and (max-width: 750px) {
  #footer:before {
    background-image: url("../img/footer_bg_sp.jpg");
  }
}
#footer .copyright {
  margin-top: 8rem;
  font-size: 1.4rem;
  text-align: center;
}

/****************************************************
 * 5.コンテンツスタイル
 ****************************************************/
/*TOPページ*/
.p-top__mv {
  margin-bottom: 9rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .p-top__mv {
    margin-bottom: 5rem;
  }
}
.p-top__mv .inner {
  height: 67.2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__mv .inner {
    height: 113.333vw;
  }
}
.p-top__mv .catchcopy {
  height: 100%;
  text-align: right;
  overflow: hidden;
}
.p-top__mv .catchcopy h1 {
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  text-orientation: upright;
  text-align: left;
  display: inline-block;
}
@media only screen and (max-width: 750px) {
  .p-top__mv .catchcopy h1 {
    font-size: 3.33vw;
  }
}
.p-top__mv .catchcopy h1 > span {
  margin-right: 0.5em;
  padding: 1em 0.25em;
  background-color: #ffffff;
  border-radius: 0 0 1rem 1rem;
  display: inline-block;
}
@media only screen and (max-width: 750px) {
  .p-top__mv .catchcopy h1 > span {
    margin-right: 0.25em;
  }
}
.p-top__mv .catchcopy h1 > span:nth-of-type(2) {
  padding-top: 0;
}
.p-top__mv .catchcopy h1 > span:nth-of-type(3) {
  border-radius: 1rem 1rem 0 0;
  transform: translateY(10rem);
}
@media only screen and (max-width: 750px) {
  .p-top__mv .catchcopy h1 > span:nth-of-type(3) {
    border-radius: 1rem;
    transform: translateY(19.3vw);
  }
}
.p-top__mv .catchcopy h1 > span:nth-of-type(3) .dots {
  display: inline-block;
  transform: translateX(0.25em);
}
.p-top__mv .catchcopy h1 b {
  font-family: "Sawarabi Mincho", serif;
  font-size: 1.96em;
  font-weight: 700;
}
.p-top__mv .swiper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top__mv .swiper .swiper-slide {
  overflow: hidden;
}
.p-top__mv .swiper .swiper-slide > img,
.p-top__mv .swiper .swiper-slide > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__beginning {
  margin-bottom: 15rem;
}
@media only screen and (max-width: 750px) {
  .p-top__beginning {
    margin-bottom: 8rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-top__beginning .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.p-top__beginning h2 {
  margin-bottom: 1.2em;
  font-weight: 700;
}
@media only screen and (min-width: 751px) {
  .p-top__beginning h2 {
    width: 100%;
    font-size: 3.8rem;
  }
}
@media only screen and (max-width: 750px) {
  .p-top__beginning h2 {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-top__beginning .list {
    width: 42.6%;
    margin-right: 6%;
  }
}
.p-top__beginning .list ul {
  margin-bottom: 2em;
}
.p-top__beginning .list ul li {
  padding: 0.25em 0 0.25em 1.7em;
  font-size: 2.2rem;
  background-image: url("../img/icon_check01.png");
  background-repeat: no-repeat;
  background-size: 0.7em auto;
  background-position: 0.5em 0.7em;
}
@media only screen and (max-width: 750px) {
  .p-top__beginning .list ul li {
    font-size: 2rem;
  }
}
.p-top__beginning .list ul li:nth-child(2n) {
  background-color: #F8F8F8;
}
.p-top__beginning .list ul li b {
  font-weight: 700;
  color: #C30D23;
}
.p-top__beginning .list p {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__beginning .list p {
    font-size: 1.8rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-top__beginning .area_img {
    width: 60%;
    margin-right: -8.6%;
  }
}
.p-top__reason {
  margin-bottom: 17rem;
  padding: 17rem 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 900px) {
  .p-top__reason {
    margin-bottom: 10rem;
    padding: 10rem 0;
  }
}
@media only screen and (max-width: 750px) {
  .p-top__reason {
    margin-bottom: 5rem;
    padding: 5rem 0;
  }
}
.p-top__reason:before {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/top/top_reason_bg01.jpg");
  background-size: cover;
  background-position: center center;
  opacity: 0.15;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media only screen and (min-width: 901px) {
  .p-top__reason .inner:after {
    content: "";
    display: block;
    clear: both;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__reason .left {
    width: 48%;
    float: left;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__reason .left {
    margin-bottom: 2em;
  }
}
.p-top__reason .left .img {
  width: 100%;
  max-width: 380px;
  margin-bottom: 2em;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 900px) {
  .p-top__reason .left .img {
    margin-left: auto;
    margin-right: auto;
  }
}
.p-top__reason .left .img:before, .p-top__reason .left .img:after {
  width: 7.6rem;
  height: 7.6rem;
  content: "";
  background-image: url("../img/fig01.png");
  background-size: cover;
  position: absolute;
}
.p-top__reason .left .img:before {
  top: -0.5rem;
  left: -0.5rem;
}
.p-top__reason .left .img:after {
  bottom: -0.5rem;
  right: -0.5rem;
  transform: scale(-1, -1);
}
.p-top__reason .left .img span {
  border-radius: 1.2rem;
  overflow: hidden;
  display: block;
}
.p-top__reason .left p {
  margin-bottom: 2em;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__reason .left p {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__reason .left .btn {
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__reason .right {
    width: 50%;
    float: right;
  }
}
.p-top__reason .right ol {
  counter-reset: num;
}
.p-top__reason .right ol li {
  font-size: 2rem;
  font-weight: 700;
  background-color: #ffffff;
  border: solid 0.3rem #C30D23;
  border-radius: 0.8rem;
  counter-increment: num;
}
@media only screen and (max-width: 750px) {
  .p-top__reason .right ol li {
    font-size: 1.6rem;
  }
}
.p-top__reason .right ol li a {
  padding: 1em 1.5em 1em 3em;
  color: #C30D23 !important;
  background-image: url("../img/icon_arrow03.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.5em) center;
  position: relative;
  z-index: 1;
  display: block;
}
@media only screen and (min-width: 751px) {
  .p-top__reason .right ol li a:hover {
    color: #840010 !important;
  }
}
.p-top__reason .right ol li a:before {
  width: 2.5em;
  content: counter(num, decimal-leading-zero);
  text-align: center;
  color: #ffffff !important;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
.p-top__reason .right ol li a:after {
  width: 2.5em;
  height: 100%;
  content: "";
  background-color: #C30D23;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top__reason .right ol li + li {
  margin-top: 1.15em;
}
@media only screen and (max-width: 750px) {
  .p-top__reason .right .btn {
    margin-top: 2em;
    text-align: center;
  }
}
.p-top__menu {
  margin-bottom: 14rem;
}
@media only screen and (max-width: 750px) {
  .p-top__menu {
    margin-bottom: 5rem;
  }
}
.p-top__menu .midashi01 + p {
  margin-bottom: 6.5em;
  font-size: 2rem;
}
.p-top__menu ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 901px) {
  .p-top__menu ul li {
    width: 30%;
    margin: 0 5% 10rem 0;
  }
  .p-top__menu ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__menu ul li {
    width: 48%;
    margin: 0 4% 5rem 0;
  }
  .p-top__menu ul li:nth-child(2n) {
    margin-right: 0;
  }
}
.p-top__menu ul li a {
  display: block;
}
@media only screen and (min-width: 751px) {
  .p-top__menu ul li a:hover .menu_thumbnail > span > img {
    transform: scale(1.1);
  }
}
.p-top__menu ul li .menu_thumbnail {
  margin-bottom: 2rem;
  position: relative;
}
.p-top__menu ul li .menu_thumbnail:before, .p-top__menu ul li .menu_thumbnail:after {
  width: 5.5rem;
  height: 5.5rem;
  content: "";
  background-image: url("../img/fig01.png");
  background-size: cover;
  position: absolute;
  z-index: -1;
}
.p-top__menu ul li .menu_thumbnail:before {
  top: -0.5rem;
  left: -0.5rem;
}
.p-top__menu ul li .menu_thumbnail:after {
  bottom: -0.5rem;
  right: -0.5rem;
  transform: scale(-1, -1);
}
.p-top__menu ul li .menu_thumbnail > span {
  display: block;
  overflow: hidden;
}
.p-top__menu ul li .menu_thumbnail > span > img,
.p-top__menu ul li .menu_thumbnail > span > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top__menu ul li .menu_thumbnail > span > img {
  transition: transform 0.3s;
}
.p-top__menu ul li .menu_thumbnail h3 {
  padding: 0.2em 0.5em;
  font-size: 1.5rem;
  font-weight: 700;
  background-color: #ffffff;
  border-left: solid 0.3rem #C30D23;
  position: absolute;
  top: 3.6rem;
  left: 0;
  z-index: 10;
}
.p-top__menu ul li .menu_thumbnail h3 b {
  color: #C30D23;
}
.p-top__menu ul li .menu_thumbnail .arrow {
  padding: 0.2rem 1.2rem;
  background-color: #C30D23;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
}
.p-top__menu ul li .menu_thumbnail .arrow img {
  width: 3rem;
}
@media only screen and (max-width: 750px) {
  .p-top__menu ul li .menu_thumbnail .arrow img {
    width: 2rem;
  }
}
.p-top__menu ul li p {
  font-size: 1.5rem;
}
.p-top__result {
  margin-bottom: 13rem;
  padding: 17rem 0 10rem 0;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 750px) {
  .p-top__result {
    margin-bottom: 5rem;
    padding: 9rem 0 5rem 0;
  }
}
.p-top__result:before {
  width: 100%;
  height: 23.5rem;
  content: "";
  background-image: url("../img/top/top_result_kirinuki.png");
  background-size: 1920px 100%;
  background-repeat: no-repeat;
  background-position: center top;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top__result:after {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/top/top_result_bg01.jpg");
  background-size: cover;
  background-position: center center;
  opacity: 0.32;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.p-top__result .midashi01 + p {
  margin-bottom: 5em;
  font-size: 2rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-top__result .midashi01 + p {
    margin-bottom: 3em;
    font-size: 1.6rem;
  }
}
.p-top__result .swiper .swiper-slide {
  width: 35rem;
}
@media only screen and (max-width: 750px) {
  .p-top__result .swiper .swiper-slide {
    width: 22rem;
  }
}
.p-top__result .swiper .swiper-slide a {
  display: block;
}
@media only screen and (min-width: 751px) {
  .p-top__result .swiper .swiper-slide a:hover .img img {
    transform: scale(1.1);
  }
}
.p-top__result .swiper .swiper-slide a .img {
  width: 100%;
  height: auto;
  aspect-ratio: 352/250;
  overflow: hidden;
}
.p-top__result .swiper .swiper-slide a .img > img,
.p-top__result .swiper .swiper-slide a .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 751px) {
  .p-top__result .swiper .swiper-slide a .img img {
    transition: transform 0.3s;
  }
}
.p-top__result .swiper .swiper-slide a h3 {
  margin: 0.5em 0;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-top__result .swiper .swiper-slide a h3 {
    font-size: 1.6rem;
  }
}
.p-top__result .swiper .swiper-slide a p {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__result .swiper .swiper-slide a p {
    font-size: 1.6rem;
  }
}
.p-top__result .btn {
  margin-top: 10rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-top__result .btn {
    margin-top: 5rem;
  }
}
.p-top__point {
  margin-bottom: 10.7rem;
}
@media only screen and (max-width: 750px) {
  .p-top__point {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__point .inner {
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__point .left {
    width: 46%;
    padding-bottom: 10rem;
    position: relative;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__point .left {
    margin-bottom: 8rem;
  }
}
.p-top__point .left p {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__point .left p {
    font-size: 1.6rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__point .left .btn {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__point .left .btn {
    margin-top: 2em;
    text-align: center;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__point .right {
    width: 43%;
  }
}
.p-top__point .right ol li + li {
  margin-top: 5.4rem;
}
@media only screen and (max-width: 750px) {
  .p-top__point .right ol li + li {
    margin-top: 3.5rem;
  }
}
.p-top__point .right ol li a {
  padding: 4rem;
  background-color: #FFDCE1;
  border-radius: 0.8rem;
  display: flex;
  position: relative;
}
@media only screen and (max-width: 900px) {
  .p-top__point .right ol li a {
    padding: 2.5rem;
  }
}
.p-top__point .right ol li a:before, .p-top__point .right ol li a:after {
  width: 5.5rem;
  height: 5.5rem;
  content: "";
  background-image: url("../img/fig01.png");
  background-size: cover;
  position: absolute;
}
.p-top__point .right ol li a:before {
  bottom: -0.5rem;
  left: -0.5rem;
  transform: scale(1, -1);
}
.p-top__point .right ol li a:after {
  top: -0.5rem;
  right: -0.5rem;
  transform: scale(-1, 1);
}
@media only screen and (min-width: 751px) {
  .p-top__point .right ol li a {
    transition: opacity 0.3s;
  }
  .p-top__point .right ol li a:hover {
    opacity: 0.8;
  }
}
.p-top__point .right ol li .num {
  width: 8.3rem;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 900px) {
  .p-top__point .right ol li .num {
    width: 5rem;
    transform: translate(-30%, -30%);
  }
}
.p-top__point .right ol li .fig {
  width: 40%;
  text-align: center;
}
.p-top__point .right ol li .fig img {
  width: 10.5rem;
}
@media only screen and (max-width: 750px) {
  .p-top__point .right ol li .fig img {
    width: 8rem;
  }
}
.p-top__point .right ol li .text {
  width: 60%;
}
.p-top__point .right ol li .text h3 {
  margin-bottom: 1em;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-top__point .right ol li .text h3 {
    font-size: 1.6rem;
  }
}
.p-top__point .right ol li .text p {
  font-size: 1.4rem;
}
@media only screen and (max-width: 750px) {
  .p-top__point .right .btn {
    margin-top: 2em;
    text-align: center;
  }
}
.p-top__greeting {
  margin-bottom: 10rem;
  padding-top: 13.7rem;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .p-top__greeting {
    margin-bottom: 5rem;
    padding-top: 5rem;
  }
}
.p-top__greeting:before {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/top/top_greeting_bg01.jpg");
  background-size: cover;
  background-position: center center;
  opacity: 0.28;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-top__greeting .inner {
  padding: 9rem 8.5rem 12rem 8.5rem;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 32.4rem 32.4rem 0 0;
}
@media only screen and (max-width: 900px) {
  .p-top__greeting .inner {
    padding: 8rem 5rem;
  }
}
@media only screen and (max-width: 750px) {
  .p-top__greeting .inner {
    padding: 5rem 2.5rem;
    border-radius: 10rem 10rem 0 0;
  }
}
.p-top__greeting .headding {
  width: 100%;
  max-width: 74.5rem;
  margin: 0 auto 7rem auto;
}
@media only screen and (min-width: 901px) {
  .p-top__greeting .headding {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__greeting .headding {
    margin-bottom: 3rem;
  }
}
.p-top__greeting .headding h3 {
  font-size: 3rem;
  font-weight: 700;
}
@media only screen and (min-width: 901px) {
  .p-top__greeting .headding h3 {
    width: 56%;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__greeting .headding h3 {
    margin-bottom: 1em;
    text-align: center;
  }
}
@media only screen and (max-width: 750px) {
  .p-top__greeting .headding h3 {
    font-size: 2.4rem;
  }
}
.p-top__greeting .headding .img {
  border-radius: 1rem;
  overflow: hidden;
}
@media only screen and (min-width: 901px) {
  .p-top__greeting .headding .img {
    width: 40.5%;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__greeting .headding .img {
    width: 90%;
    margin: 0 auto;
  }
}
.p-top__greeting .content p {
  margin-bottom: 14rem;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-top__greeting .content p {
    margin-bottom: 3rem;
    font-size: 1.6rem;
  }
}
.p-top__greeting .content .name {
  margin-bottom: 8.5rem;
  font-size: 2rem;
  text-align: right;
}
@media only screen and (max-width: 750px) {
  .p-top__greeting .content .name {
    margin-bottom: 3rem;
    font-size: 1.6rem;
  }
}
.p-top__greeting .content .btn {
  text-align: center;
}
.p-top__infomation {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-top__infomation {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-top__infomation .inner {
    display: flex;
    justify-content: space-between;
  }
}
.p-top__infomation dl {
  padding: 2rem 3rem;
  border: solid 0.2rem #C30D23;
  border-radius: 0.7rem;
}
@media only screen and (min-width: 901px) {
  .p-top__infomation dl {
    width: 31.3%;
  }
}
@media only screen and (max-width: 900px) {
  .p-top__infomation dl {
    padding: 2rem;
  }
  .p-top__infomation dl + dl {
    margin-top: 3rem;
  }
}
.p-top__infomation dl dt {
  margin-bottom: 0.65em;
  padding-bottom: 0.65em;
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  border-bottom: solid 0.2rem #C30D23;
}
@media only screen and (max-width: 750px) {
  .p-top__infomation dl dt {
    font-size: 2rem;
  }
}
.p-top__infomation dl dt span {
  font-size: 0.52em;
  font-weight: 400;
  display: block;
}
.p-top__infomation dl dd ul {
  margin-bottom: 2em;
}
.p-top__infomation dl dd ul li + li {
  margin-top: 1.5em;
}
.p-top__infomation dl dd ul li a {
  font-size: 1.3rem;
  display: block;
}
.p-top__infomation dl dd ul li a .meta {
  margin-bottom: 0.5em;
  letter-spacing: -0.4em;
}
.p-top__infomation dl dd ul li a .meta > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-top__infomation dl dd ul li a .meta > * {
  vertical-align: middle;
}
.p-top__infomation dl dd ul li a .meta .cate {
  margin-left: 1em;
  letter-spacing: -0.4em;
}
.p-top__infomation dl dd ul li a .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-top__infomation dl dd ul li a .meta .cate span {
  padding: 0.2em 0.5em;
  font-size: 0.8rem;
  background-color: #F1F1F1;
}
@media only screen and (min-width: 751px) {
  .p-top__infomation dl dd ul li a:hover p {
    color: #C30D23;
  }
}
.p-top__infomation dl dd .btn {
  text-align: center;
}
.p-top__map {
  width: 100%;
  height: 50rem;
}
@media only screen and (max-width: 750px) {
  .p-top__map {
    height: 25rem;
  }
}
.p-top__map iframe {
  width: 100%;
  height: 100%;
}

/*下層ページ*/
.pagetitle01 {
  margin-top: 6rem;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 750px) {
  .pagetitle01 {
    margin-top: 3rem;
    margin-bottom: 10rem;
  }
}
.pagetitle01 .inner {
  position: relative;
  z-index: 2;
}
.pagetitle01 .inner:before {
  width: 99999px;
  height: 100%;
  content: "";
  background-color: #FFE5E9;
  position: absolute;
  top: 7rem;
  right: 65%;
  z-index: -2;
}
.pagetitle01 .text {
  width: 50%;
  padding-top: 4rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 900px) {
  .pagetitle01 .text {
    width: 80%;
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}
.pagetitle01 .text h1 {
  margin-bottom: 0.7em;
  font-family: "Sawarabi Mincho", serif;
  font-size: 4.1rem;
  font-weight: 700;
  line-height: 1.2;
}
@media only screen and (max-width: 750px) {
  .pagetitle01 .text h1 {
    font-size: 3.2rem;
  }
}
.pagetitle01 .text h1 span {
  margin-bottom: 0.25em;
  padding: 0.1em 0.5em;
  background-color: #ffffff;
  display: inline-block;
  border-radius: 1.6rem;
}
.pagetitle01 .text p {
  margin-bottom: 7rem;
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .pagetitle01 .text p {
    margin-bottom: 4rem;
    font-size: 1.6rem;
  }
}
.pagetitle01 .text .btn .btn03 {
  width: 32.6rem;
}
.pagetitle01 .text .btn .btn03:before {
  width: 1.2em;
  height: 1.2em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/icon_mail02.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.25em;
}
.pagetitle01 .icatch {
  width: 75%;
  height: 100%;
  background-color: #ffffff;
  border-radius: 1.6rem;
  overflow: hidden;
}
.pagetitle01 .icatch > img,
.pagetitle01 .icatch > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.pagetitle01 .icatch {
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
@media only screen and (max-width: 750px) {
  .pagetitle01 .icatch {
    width: 85%;
  }
}
.pagetitle01 .icatch img {
  opacity: 0.5;
}

.pagetitle02 {
  width: 100%;
  margin-bottom: 5rem;
  background-image: url("../img/contents/pagetitle_bg.jpg");
  background-size: cover;
  background-position: center center;
}
.pagetitle02 .inner {
  height: 24rem;
  position: relative;
}
.pagetitle02 h1 {
  width: 100%;
  font-family: "Sawarabi Mincho", serif;
  font-size: 4.1rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media only screen and (max-width: 750px) {
  .pagetitle02 h1 {
    font-size: 3.2rem;
  }
}

.pankuzu {
  margin-bottom: 4.5rem;
}
.pankuzu .inner {
  letter-spacing: -0.4em;
}
.pankuzu .inner > * {
  display: inline-block;
  letter-spacing: normal;
}
.pankuzu .inner a:after {
  width: 0.6em;
  height: 0.6em;
  margin: 0 1em;
  content: "";
  background-image: url("../img/icon_arrow03.png");
  background-size: cover;
  display: inline-block;
  vertical-align: 0;
}
.pankuzu .inner a:first-child:before {
  width: 1em;
  height: 1em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/icon_home01.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.pankuzu .inner span {
  color: #949494;
}

.p-company__profile {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-company__profile {
    margin-bottom: 5rem;
  }
}
.p-company__profile table {
  width: 100%;
}
.p-company__profile table tbody tr th {
  width: 30%;
  padding: 1em;
  font-weight: 700;
  vertical-align: top;
  color: #ffffff;
  background-color: #C30D23;
  border: solid 1px #840010;
}
.p-company__profile table tbody tr td {
  padding: 1em;
  vertical-align: top;
  background-color: #ffffff;
  border: solid 1px #840010;
}
.p-company__free {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-company__free {
    margin-bottom: 5rem;
  }
}

.p-post_list01__list {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-post_list01__list {
    margin-bottom: 5rem;
  }
}
.p-post_list01__list .post_list {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 750px) {
  .p-post_list01__list .post_list {
    margin-bottom: 4rem;
  }
}
.p-post_list01__list .post_list li + li {
  margin-top: 1em;
  padding-top: 1em;
  border-top: solid 1px #BFBFBF;
}
.p-post_list01__list .post_list li a {
  display: block;
}
.p-post_list01__list .post_list li a .meta {
  margin-bottom: 0.5em;
  letter-spacing: -0.4em;
}
.p-post_list01__list .post_list li a .meta > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_list01__list .post_list li a .meta > * {
  vertical-align: middle;
}
.p-post_list01__list .post_list li a .meta .cate {
  margin-left: 1em;
  letter-spacing: -0.4em;
}
.p-post_list01__list .post_list li a .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_list01__list .post_list li a .meta .cate span {
  padding: 0.2em 0.5em;
  font-size: 0.8rem;
  background-color: #F1F1F1;
}
@media only screen and (min-width: 751px) {
  .p-post_list01__list .post_list li a:hover p {
    color: #C30D23;
  }
}

.p-post_list02__cate {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 750px) {
  .p-post_list02__cate {
    margin-bottom: 3rem;
  }
}
.p-post_list02__cate .cat-list {
  letter-spacing: -0.4em;
}
.p-post_list02__cate .cat-list > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_list02__cate .cat-list li {
  margin: 0 1em 0.5em 0;
}
.p-post_list02__cate .cat-list li a {
  padding: 0.2em 1em;
  display: inline-block;
  color: #C30D23 !important;
  background-color: #ffffff;
  border: solid 1px #C30D23;
  border-radius: 99px;
}
.p-post_list02__cate .cat-list li.current a {
  color: #ffffff !important;
  background-color: #C30D23;
}
.p-post_list02__cate .cat-list li:not(.current) a:hover {
  background-color: #FFF4F5;
}
.p-post_list02__list {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-post_list02__list {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-post_list02__list .post_list {
    margin-bottom: 8rem;
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_list02__list .post_list {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-post_list02__list .post_list li {
    width: 32%;
    margin: 0 2% 5rem 0;
  }
  .p-post_list02__list .post_list li:nth-child(3n) {
    margin-right: 0;
  }
  .p-post_list02__list .post_list li a {
    display: block;
  }
}
@media only screen and (max-width: 900px) and (min-width: 751px) {
  .p-post_list02__list .post_list li {
    width: 48%;
    margin: 0 4% 5rem 0;
  }
  .p-post_list02__list .post_list li:nth-child(2n) {
    margin-right: 0;
  }
  .p-post_list02__list .post_list li a {
    display: block;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_list02__list .post_list li {
    margin-bottom: 3rem;
  }
  .p-post_list02__list .post_list li a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 751px) {
  .p-post_list02__list .post_list li a:hover .icatch img {
    transform: scale(1.1);
  }
}
.p-post_list02__list .post_list li .icatch {
  width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
  aspect-ratio: 352/250;
  overflow: hidden;
}
.p-post_list02__list .post_list li .icatch > img,
.p-post_list02__list .post_list li .icatch > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 751px) {
  .p-post_list02__list .post_list li .icatch img {
    transition: transform 0.3s;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_list02__list .post_list li .icatch {
    width: 40%;
    margin-right: 2rem;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_list02__list .post_list li .text {
    width: calc(60% - 2rem);
  }
}
.p-post_list02__list .post_list li .text .meta {
  margin-bottom: 0.5em;
  letter-spacing: -0.4em;
}
.p-post_list02__list .post_list li .text .meta > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_list02__list .post_list li .text .meta > * {
  vertical-align: middle;
}
.p-post_list02__list .post_list li .text .meta .cate {
  margin-left: 1em;
  letter-spacing: -0.4em;
}
.p-post_list02__list .post_list li .text .meta .cate > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_list02__list .post_list li .text .meta .cate span {
  padding: 0.2em 0.5em;
  font-size: 0.8rem;
  background-color: #F1F1F1;
}

.p-post_detail__headding {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__headding {
    margin-bottom: 5rem;
  }
}
.p-post_detail__headding h2 {
  margin-bottom: 0.6em;
  font-size: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__headding h2 {
    font-size: 2.8rem;
  }
}
.p-post_detail__headding .date {
  letter-spacing: -0.4em;
}
.p-post_detail__headding .date > * {
  display: inline-block;
  letter-spacing: normal;
}
.p-post_detail__headding .date {
  font-size: 1.5rem;
  font-weight: 700;
}
.p-post_detail__headding .date .post_date:before {
  width: 1em;
  height: 1em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/contents/post_date.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-post_detail__headding .date .update_post {
  margin-left: 1em;
}
.p-post_detail__headding .date .update_post:before {
  width: 1em;
  height: 1em;
  margin-right: 0.25em;
  content: "";
  background-image: url("../img/contents/update_post.png");
  background-size: cover;
  display: inline-block;
  vertical-align: -0.1em;
}
.p-post_detail__headding .icatch {
  width: 100%;
  height: 48rem;
  margin-top: 5rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-post_detail__headding .icatch > img,
.p-post_detail__headding .icatch > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__headding .icatch {
    height: 24rem;
    margin-top: 3rem;
  }
}
.p-post_detail__contents {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__contents {
    margin-bottom: 5rem;
  }
}
.p-post_detail__botom_links {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links {
    margin-bottom: 5rem;
  }
}
.p-post_detail__botom_links .inner {
  display: flex;
}
@media only screen and (min-width: 751px) {
  .p-post_detail__botom_links .inner {
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links .inner {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links .inner .nav-list {
    width: 100%;
    padding-top: 2rem;
    text-align: center;
    order: 3;
  }
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links .inner .nav-previous, .p-post_detail__botom_links .inner .nav-next {
    width: 50%;
  }
}
.p-post_detail__botom_links .inner .nav-previous a:before, .p-post_detail__botom_links .inner .nav-previous a:after, .p-post_detail__botom_links .inner .nav-next a:before, .p-post_detail__botom_links .inner .nav-next a:after {
  width: 1em;
  height: 1em;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow04.png");
  background-size: 0.6em auto;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  display: inline-block;
  vertical-align: -0.1em;
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links .inner .nav-previous {
    order: 1;
  }
}
.p-post_detail__botom_links .inner .nav-previous a:before {
  margin-right: 1rem;
  content: "";
  transform: scale(-1, 1);
}
@media only screen and (max-width: 750px) {
  .p-post_detail__botom_links .inner .nav-next {
    text-align: right;
    order: 2;
  }
}
.p-post_detail__botom_links .inner .nav-next a:after {
  margin-left: 1rem;
  content: "";
}

.p-result__list {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-result__list {
    margin-bottom: 5rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-result__list .result_list {
    margin-bottom: 8rem;
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 750px) {
  .p-result__list .result_list {
    margin-bottom: 4rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-result__list .result_list li {
    width: 32%;
    margin: 0 2% 5rem 0;
  }
  .p-result__list .result_list li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 900px) and (min-width: 751px) {
  .p-result__list .result_list li {
    width: 48%;
    margin: 0 4% 5rem 0;
  }
  .p-result__list .result_list li:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 750px) {
  .p-result__list .result_list li {
    margin-bottom: 3rem;
  }
}
.p-result__list .result_list a {
  display: block;
}
@media only screen and (min-width: 751px) {
  .p-result__list .result_list a:hover .img img {
    transform: scale(1.1);
  }
}
.p-result__list .result_list .img {
  width: 100%;
  height: auto;
  aspect-ratio: 352/250;
  overflow: hidden;
}
.p-result__list .result_list .img > img,
.p-result__list .result_list .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 751px) {
  .p-result__list .result_list .img img {
    transition: transform 0.3s;
  }
}
.p-result__list .result_list h3 {
  margin: 0.5em 0;
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-result__list .result_list h3 {
    font-size: 1.6rem;
  }
}
.p-result__list .result_list p {
  font-size: 2rem;
}
@media only screen and (max-width: 750px) {
  .p-result__list .result_list p {
    font-size: 1.6rem;
  }
}
.p-result__post {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-result__post {
    margin-bottom: 5rem;
  }
}
.p-result__post .headding {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 750px) {
  .p-result__post .headding {
    margin-bottom: 4rem;
  }
}
.p-result__post .headding h2 {
  margin-bottom: 0.6em;
  font-size: 3.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-result__post .headding h2 {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 901px) {
  .p-result__post .headding .meta {
    display: flex;
    justify-content: space-between;
  }
}
.p-result__post .headding .meta > div {
  font-size: 1.5rem;
  border: solid 1px #FFDCE1;
}
@media only screen and (min-width: 901px) {
  .p-result__post .headding .meta > div {
    padding: 0.2em 0.2em 0.2em 9rem;
  }
  .p-result__post .headding .meta > div:nth-child(1) {
    width: 35%;
  }
  .p-result__post .headding .meta > div:nth-child(2) {
    width: 63%;
  }
}
@media only screen and (max-width: 900px) {
  .p-result__post .headding .meta > div {
    padding: 0.2em;
  }
  .p-result__post .headding .meta > div + div {
    margin-top: 0.5em;
  }
}
.p-result__post .headding .meta > div span {
  padding: 0.1em 0.5em;
  font-weight: 700;
  background-color: #FFDCE1;
}
@media only screen and (min-width: 901px) {
  .p-result__post .headding .meta > div span {
    width: 7.5rem;
    margin: 0 1rem 0 -8.5rem;
    display: inline-block;
  }
}
@media only screen and (max-width: 900px) {
  .p-result__post .headding .meta > div span {
    text-align: center;
    display: block;
  }
}
.p-result__post .headding .icatch {
  width: 100%;
  height: 48rem;
  margin-bottom: 3rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-result__post .headding .icatch > img,
.p-result__post .headding .icatch > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 750px) {
  .p-result__post .headding .icatch {
    height: 24rem;
    margin-bottom: 2rem;
  }
}

.p-contact__form {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 750px) {
  .p-contact__form {
    margin-bottom: 5rem;
  }
}
.p-contact__form .form_area .input_field_area {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 750px) {
  .p-contact__form .form_area .input_field_area {
    margin-bottom: 2.5rem;
  }
}
.p-contact__form .form_area .input_field_area .input_field {
  margin-bottom: 2em;
}
.p-contact__form .form_area .input_field_area .input_field .input_label {
  margin-bottom: 0.75em;
  font-size: 1.125em;
  font-weight: 500;
}
.p-contact__form .form_area .input_field_area .input_field .input_label span {
  margin-left: 1em;
  padding: 0 0.5em;
  font-size: 0.7em;
  font-weight: 400;
  color: #C30D23;
  border: solid 1px #C30D23;
  border-radius: 0.4rem;
  display: inline-block;
  vertical-align: 0;
}
.p-contact__form .form_area .input_field_area .input_field .input_area.row {
  display: flex;
  justify-content: space-between;
}
.p-contact__form .form_area .input_field_area .input_field .input_area.row .col {
  width: 48%;
  display: flex;
  align-items: center;
}
.p-contact__form .form_area .input_field_area .input_field .input_area.row .col .label {
  margin-right: 0.5em;
}
.p-contact__form .form_area .input_field_area .input_field .input_area .annotation {
  margin-top: 1em;
  font-size: 0.875em;
}
.p-contact__form .form_area .privacy {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 750px) {
  .p-contact__form .form_area .privacy {
    margin-bottom: 2.5rem;
  }
}
.p-contact__form .form_area .privacy .box {
  height: 24rem;
  margin-bottom: 3.2rem;
  padding: 1em;
  border: solid 1px #BFBFBF;
}
@media only screen and (max-width: 750px) {
  .p-contact__form .form_area .privacy .box {
    height: 14rem;
  }
}
.p-contact__form .form_area .privacy .box .scroll {
  width: 100%;
  height: 100%;
  padding-right: 1em;
  overflow: auto;
}
.p-contact__form .form_area .privacy .box h3 {
  margin-bottom: 0.5em;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-contact__form .form_area .privacy .box h3 {
    font-size: 1.6rem;
  }
}
.p-contact__form .form_area .privacy .box h4 {
  margin-bottom: 0.5em;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-contact__form .form_area .privacy .box p {
  margin-bottom: 2em;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
.p-contact__form .form_area .privacy .check {
  text-align: center;
}
.p-contact__form .form_area .submit {
  text-align: center;
}
.p-contact__form .form_area .submit input[type=submit] {
  width: 38rem;
  max-width: 100%;
  padding: 1.3em 2em;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff !important;
  background-color: #C30D23;
  background-image: url("../img/icon_arrow02.png");
  background-repeat: no-repeat;
  background-size: 1.2em auto;
  background-position: calc(100% - 0.75em) center;
  border-radius: 99px;
  box-shadow: 0.1rem 0.25rem 0.25rem rgba(0, 0, 0, 0.14);
}
@media only screen and (min-width: 751px) {
  .p-contact__form .form_area .submit input[type=submit] {
    transition: background-color 0.3s;
  }
  .p-contact__form .form_area .submit input[type=submit]:hover {
    background-color: #840010;
  }
}
@media only screen and (max-width: 750px) {
  .p-contact__form .form_area .submit input[type=submit] {
    width: 28rem;
    font-size: 1.6rem;
  }
}
.p-contact__form .form_area .submit input[type=submit]:disabled {
  opacity: 0.3 !important;
}

.p-acf_block > *:first-child {
  margin-top: 0 !important;
}
.p-acf_block__type01 {
  margin: 10rem 0;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type01 {
    margin: 5rem 0;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type01 ul li {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.p-acf_block__type01 ul li .img {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type01 ul li .img {
    width: 35.7%;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type01 ul li .img {
    margin-bottom: 1em;
  }
}
.p-acf_block__type01 ul li .img img {
  width: 100%;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type01 ul li .text {
    width: 57.8%;
  }
}
.p-acf_block__type01 ul li .text h3 {
  margin-bottom: 0.5em;
  padding: 0.2em 0.5em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  background-color: #ffffff;
  border-left: solid 0.5rem #C30D23;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type01 ul li .text h3 {
    font-size: 1.6rem;
  }
}
.p-acf_block__type01 ul li .text .btn {
  margin-top: 2rem;
}
.p-acf_block__type01 ul li + li {
  margin-top: 3rem;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type01 ul.list02 li {
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type01 ul.list03 li:nth-child(2n) {
    flex-direction: row-reverse;
  }
}
.p-acf_block__type02 {
  padding: 10rem 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type02 {
    padding: 5rem 0;
  }
}
.p-acf_block__type02 .bg_image {
  width: 100%;
  height: 100%;
  background-size: cover;
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-acf_block__type02 h2 {
  margin-bottom: 1.8em;
  font-size: 3.8rem;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type02 h2 {
    font-size: 2.8rem;
  }
}
.p-acf_block__type02 .box {
  background-color: #ffffff;
  border-radius: 2.8rem;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type02 .box {
    padding: 6rem;
    display: flex;
    justify-content: space-between;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type02 .box {
    padding: 3rem;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type02 .box ul {
    width: 51%;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type02 .box ul {
    margin-bottom: 3rem;
  }
}
.p-acf_block__type02 .box ul li {
  padding-left: 1.7em;
  font-size: 2.2rem;
  background-image: url("../img/icon_check01.png");
  background-repeat: no-repeat;
  background-size: 0.7em auto;
  background-position: 0 0.5em;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type02 .box ul li {
    font-size: 1.8rem;
  }
}
.p-acf_block__type02 .box ul li b {
  font-weight: 700;
  color: #C30D23;
}
.p-acf_block__type02 .box ul li > span {
  padding-bottom: 0.6rem;
  display: block;
  border-bottom: solid 1px #949494;
}
.p-acf_block__type02 .box ul li + li {
  margin-top: 0.7em;
}
.p-acf_block__type02 .box .img {
  border-radius: 2.8rem;
  overflow: hidden;
}
.p-acf_block__type02 .box .img > img,
.p-acf_block__type02 .box .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type02 .box .img {
    width: 40%;
  }
}
.p-acf_block__type03 {
  padding: 10rem 0;
  background-color: #FFF4F5;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type03 {
    padding: 5rem 0;
  }
}
.p-acf_block__type03 .step li {
  background-color: #ffffff;
  box-shadow: 0.4rem 0.4rem 0 #C30D23;
  border-radius: 1.6rem;
  position: relative;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type03 .step li {
    padding: 3.5rem 5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type03 .step li {
    padding: 2rem 3rem;
  }
}
.p-acf_block__type03 .step li + li {
  margin-top: 8.8rem;
}
.p-acf_block__type03 .step li + li:before {
  width: 3.5rem;
  height: 4.6rem;
  margin-left: -1.7rem;
  content: "";
  background-image: url("../img/contents/flow_arrow01.png");
  background-size: cover;
  position: absolute;
  top: -6.7rem;
  left: 50%;
}
.p-acf_block__type03 .step li .num {
  width: 7.3rem;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type03 .step li .num {
    margin: 0 auto 2rem auto;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type03 .step li .content {
    width: calc(100% - 9.5rem);
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type03 .step li .content:not(.no_image) {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type03 .step li .content:not(.no_image) .text {
    width: 61%;
  }
}
.p-acf_block__type03 .step li .content:not(.no_image) .img {
  border-radius: 1.6rem;
  overflow: hidden;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type03 .step li .content:not(.no_image) .img {
    width: 32.4%;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type03 .step li .content:not(.no_image) .img {
    margin-top: 1em;
  }
}
.p-acf_block__type03 .step li .content:not(.no_image) .img img {
  width: 100%;
}
.p-acf_block__type03 .step li .content .text h3 {
  margin-bottom: 1em;
  font-size: 2.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type03 .step li .content .text h3 {
    font-size: 1.8rem;
  }
}
.p-acf_block__type03 .step li .content .text .btn {
  margin-top: 2rem;
}
.p-acf_block__type04 {
  margin: 10rem 0;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 {
    margin: 5rem 0;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 .sp_scroll {
    width: 100%;
    padding-bottom: 3rem;
    overflow-x: auto;
  }
}
.p-acf_block__type04 ul {
  display: flex;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type04 ul li {
    width: 30%;
    margin-right: 5%;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 ul li {
    flex: 0 0 28rem;
    margin-right: 3rem;
  }
}
.p-acf_block__type04 ul li:last-child {
  margin-right: 0;
}
.p-acf_block__type04 ul li .img {
  width: 100%;
  height: auto;
  margin-bottom: 0.875em;
  aspect-ratio: 290/200;
  border-radius: 1.6rem;
  overflow: hidden;
}
.p-acf_block__type04 ul li .img > img,
.p-acf_block__type04 ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-acf_block__type04 ul li h3 {
  margin-bottom: 0.75em;
  padding: 0.2em 0.5em;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
  background-color: #ffffff;
  border-left: solid 0.3rem #C30D23;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 ul li h3 {
    font-size: 1.6rem;
  }
}
.p-acf_block__type04 ul li p {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 ul li p {
    margin-bottom: 2rem;
  }
}
.p-acf_block__type04 ul li a {
  color: #949494;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type04 ul li a:hover {
    color: #C30D23;
  }
}
.p-acf_block__type04 .btn {
  margin-top: 9rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type04 .btn {
    margin-top: 4rem;
  }
}
.p-acf_block__type05 {
  padding: 10rem 0;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type05 {
    padding: 5rem 0;
  }
}
.p-acf_block__type05:before {
  width: 100%;
  height: 100%;
  content: "";
  background-image: url("../img/contents/bg01.jpg");
  background-size: cover;
  background-position: center center;
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-acf_block__type05 .inner {
  max-width: 1340px;
  padding: 10rem;
  background-color: #ffffff;
  border-radius: 17rem;
}
@media only screen and (max-width: 900px) and (min-width: 751px) {
  .p-acf_block__type05 .inner {
    padding: 6rem;
    border-radius: 10rem;
  }
}
@media only screen and (max-width: 900px) {
  .p-acf_block__type05 .inner {
    padding: 3rem;
    border-radius: 5rem;
  }
}
.p-acf_block__type05 ul {
  max-width: 1080px;
  margin: 0 auto;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type05 ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.p-acf_block__type05 ul li {
  border-radius: 1.6rem;
  box-shadow: 0.4rem 0.4rem 0 #C30D23;
  overflow: hidden;
}
@media only screen and (min-width: 901px) {
  .p-acf_block__type05 ul li {
    width: 32%;
    margin: 0 2% 4.5rem 0;
  }
  .p-acf_block__type05 ul li:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 900px) and (min-width: 751px) {
  .p-acf_block__type05 ul li {
    width: 48%;
    margin: 0 4% 4.5rem 0;
  }
  .p-acf_block__type05 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type05 ul li {
    margin-bottom: 3rem;
  }
}
.p-acf_block__type05 ul li a {
  display: block;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type05 ul li a:hover .img img {
    transform: scale(1.1);
  }
}
.p-acf_block__type05 ul li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 307/200;
  overflow: hidden;
}
.p-acf_block__type05 ul li .img > img,
.p-acf_block__type05 ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type05 ul li .img img {
    transition: transform 0.3s;
  }
}
.p-acf_block__type05 ul li .text {
  padding: 0.875em 0.75em 2em 0.75em;
}
.p-acf_block__type05 ul li .text h3 {
  margin-bottom: 0.6em;
  font-size: 2.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type05 ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-acf_block__type05 ul + .btn {
  margin-top: 5rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type05 ul + .btn {
    margin-top: 3rem;
  }
}
.p-acf_block__type06 {
  margin: 10rem 0;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type06 {
    margin: 5rem 0;
  }
}
.p-acf_block__type06 .inner {
  text-align: center;
}
.p-acf_block__type06 .inner.w100p {
  width: 100%;
  max-width: none;
}
.p-acf_block__type06 .inner.w100p a {
  display: block;
}
.p-acf_block__type06 .inner.w100p img {
  width: 100%;
}
.p-acf_block__type06 a {
  display: inline-block;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type06 a img {
    transition: opacity 0.3s;
  }
  .p-acf_block__type06 a:hover img {
    opacity: 0.8;
  }
}
.p-acf_block__type07 {
  margin: 10rem 0;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type07 {
    margin: 5rem 0;
  }
}
.p-acf_block__type08 {
  padding: 10rem 0;
  background-color: #F8F8F8;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type08 {
    padding: 5rem 0;
  }
}
.p-acf_block__type08 .faq_list li {
  margin-bottom: 2rem;
  padding-bottom: 2rem;
  border-bottom: solid 1px #949494;
}
.p-acf_block__type08 .faq_list li .faq_q {
  padding-left: 6rem;
  padding-right: 2em;
  font-size: 2.4rem;
  font-weight: 700;
  background-image: url("../img/contents/faq_q.png");
  background-repeat: no-repeat;
  background-size: 3rem auto;
  background-position: left 0.15em;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type08 .faq_list li .faq_q {
    padding-left: 4rem;
    font-size: 2rem;
    background-size: 2rem auto;
    background-position: left 0.25em;
  }
}
.p-acf_block__type08 .faq_list li .faq_a {
  margin-top: 1em;
  padding-left: 6rem;
  font-size: 1.06em;
  background-image: url("../img/contents/faq_a.png");
  background-repeat: no-repeat;
  background-size: 3rem auto;
  background-position: left top;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type08 .faq_list li .faq_a {
    padding-left: 4rem;
    background-size: 2rem auto;
    background-position: left 0.15em;
  }
}
.p-acf_block__type09 {
  margin: 10rem 0;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type09 {
    margin: 5rem 0;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type09 ul {
    display: flex;
    flex-wrap: wrap;
  }
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type09 ul li {
    width: 46%;
    margin: 0 8% 8rem 0;
  }
  .p-acf_block__type09 ul li:nth-child(2n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type09 ul li {
    margin-bottom: 4rem;
  }
}
.p-acf_block__type09 ul li .img {
  width: 100%;
  height: auto;
  aspect-ratio: 441/284;
  overflow: hidden;
}
.p-acf_block__type09 ul li .img > img,
.p-acf_block__type09 ul li .img > video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-acf_block__type09 ul li .img {
  border-radius: 1.6rem;
}
@media only screen and (min-width: 751px) {
  .p-acf_block__type09 ul li .img img {
    transition: transform 0.3s;
  }
}
.p-acf_block__type09 ul li .text {
  padding: 0.875em 0.75em 2em 0.75em;
}
.p-acf_block__type09 ul li .text h3 {
  margin-bottom: 0.6em;
  font-size: 2.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type09 ul li .text h3 {
    font-size: 1.8rem;
  }
}
.p-acf_block__type09 ul li .text .btn {
  margin-top: 2rem;
}
.p-acf_block__type09 ul + .btn {
  margin-top: 5rem;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .p-acf_block__type09 ul + .btn {
    margin-top: 3rem;
  }
}

/****************************************************
 * 6.装飾
 ****************************************************/
.underline {
  text-decoration: underline;
}

.bold {
  font-weight: 700;
}

.colorRed {
  color: #C30D23;
}

/****************************************************
 * 7.印刷用調整
 ****************************************************/
@media print {
  @page {
    /* A4縦サイズ */
    size: 210mm 297mm;
  }
  html {
    font-size: 10pt !important;
  }
  body {
    margin: 0 !important;
    padding: 0 !important;
  }
  * {
    -webkit-print-color-adjust: exact;
  }
  .container {
    padding: 0 !important;
  }
  #header {
    position: static !important;
  }
  img {
    display: block !important;
  }
}