@charset "UTF-8";
:root {
  /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */
  /*7777777  SIZES  777777777*/
  /* 13px - 16px */
  --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
  /* 31px - 49px */
  --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem);
  --bodyFontSize: 1rem;
  /* 60px - 100px top and bottom */
  --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
  --maxWidth: 1280px;
}

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

/* CSS Document */
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}

body {
  min-height: 100%;
  font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  line-height: 1.9em;
  font-weight: 400;
  /* normal */
  color: #2E1B03;
  background-color: #fff;
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  /*font-feature-settings:"palt";*/
}

/**********  ヘッダー  **********/
header {
  width: 100%;
  height: 90px;
  padding: 0 24px;
  font-feature-settings: "palt";
  position: relative;
}
@media screen and (max-width: 768px) {
  header {
    height: 70px;
    padding: 10px 10px 0;
  }
}
header .nav-container {
  height: 100%;
  margin: 0 auto;
}
header p {
  margin: 0;
  padding: 0;
  color: #666;
}
@media screen and (max-width: 768px) {
  header p {
    font-size: 0.7em;
    line-height: 1.2;
  }
}
header .logo {
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
}
@media screen and (max-width: 768px) {
  header .logo {
    max-width: 260px;
  }
}
header .logo img {
  width: 100%;
  display: block;
}
header .cp_logo {
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
  position: absolute;
  right: 24px;
  bottom: 12px;
}
@media screen and (max-width: 768px) {
  header .cp_logo {
    max-width: 180px;
    right: inherit;
    left: -20px;
    display: none;
  }
}

/********** グローバルメニュー **********/
#global-nav {
  width: auto;
  height: 100px;
  font-feature-settings: normal;
  position: absolute;
  bottom: 10px;
  right: 200px;
  background: #fff;
}
.fixed #global-nav {
  bottom: 60px;
  height: 55px;
  background: #fff;
}
@media screen and (max-width: 1230px) {
  #global-nav {
    width: 100%;
    height: 50px;
    bottom: -5px;
    right: 0;
    transition: 0.5s ease-in-out;
  }
  .fixed #global-nav {
    bottom: -25px;
  }
}
@media screen and (max-width: 768px) {
  #global-nav {
    position: absolute;
    top: -100vh;
    left: 0;
    right: inherit;
    bottom: inherit;
    background: rgba(46, 27, 3, 0.9);
    width: 100vw;
    height: 100vh;
    max-height: 100vh;
    padding-top: 50px;
    transition: 0.5s ease-in-out;
    overflow: scroll;
  }
  .fixed #global-nav {
    height: 100vh;
    background: rgba(46, 27, 3, 0.9);
  }
  .open #global-nav {
    transform: translateY(100vh);
  }
}
#global-nav ul {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #global-nav ul {
    flex-wrap: wrap;
  }
}
#global-nav ul li {
  width: auto;
  height: 100px;
  margin: 0;
  padding: 0;
  font-size: 17.6px;
  text-indent: 0;
  text-align: center;
  line-height: 100px;
  list-style: none;
  display: block;
  vertical-align: middle;
  position: relative;
}
@media screen and (max-width: 1230px) {
  #global-nav ul li {
    height: 50px;
    line-height: 50px;
    flex-basis: 20%;
  }
}
@media screen and (max-width: 768px) {
  #global-nav ul li {
    color: #fff;
    width: 100%;
    height: 4em;
    line-height: 4em;
    flex-basis: 100%;
    text-align: left;
    text-indent: 20px;
    border-left: none;
    border-bottom: solid 1px rgba(255, 255, 255, 0.5);
  }
  #global-nav ul li:last-of-type {
    border-bottom: none;
  }
}
#global-nav ul li:first-of-type {
  border-left: none;
}
.fixed #global-nav ul li {
  height: 50px;
  line-height: 50px;
}
@media screen and (max-width: 768px) {
  .fixed #global-nav ul li {
    height: 4em;
    line-height: 4em;
  }
}
#global-nav ul li.nav-call {
  display: none;
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nav-call {
    height: 4em;
    display: block;
    display: block;
    color: #2E1B03;
    background: #8B1928;
  }
}
#global-nav ul li a {
  width: 100%;
  height: 100px;
  display: block;
  margin: 0;
  padding: 0 20px;
}
#global-nav ul li a:link {
  color: #2E1B03;
}
#global-nav ul li a:active {
  color: #2E1B03;
}
#global-nav ul li a:visited {
  color: #2E1B03;
}
#global-nav ul li a:hover {
  color: #2E1B03;
  background: rgb(242.25, 242.25, 242.25);
}
@media screen and (max-width: 1230px) {
  #global-nav ul li a {
    height: 50px;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #global-nav ul li a {
    height: 4em;
    line-height: 4em;
  }
  #global-nav ul li a:link {
    color: #fff;
  }
  #global-nav ul li a:active {
    color: #fff;
  }
  #global-nav ul li a:visited {
    color: #fff;
  }
  #global-nav ul li a:hover {
    color: #fff;
    background: #cccccc;
  }
}
.fixed #global-nav ul li a {
  height: 50px;
}
@media screen and (max-width: 768px) {
  .fixed #global-nav ul li a {
    height: 4em;
    line-height: 4em;
  }
}
#global-nav ul li.nest-menu {
  height: 100px;
  padding: 0 20px;
  color: #2E1B03;
  cursor: pointer;
}
#global-nav ul li.nest-menu .nest-title {
  position: relative;
  text-decoration: none;
  transition: all 0.2s ease;
}
#global-nav ul li.nest-menu .nest-title:after {
  content: "";
  display: inline-block;
  position: relative;
  top: -4px;
  left: 0;
  width: 8px;
  height: 8px;
  margin: 0 0 0 0.5em;
  border-right: 2px solid;
  border-bottom: 2px solid;
  transform: rotate(45deg);
}
#global-nav ul li.nest-menu:hover {
  background: rgb(242.25, 242.25, 242.25);
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nest-menu:hover {
    background: none;
  }
}
@media screen and (max-width: 1230px) {
  #global-nav ul li.nest-menu {
    height: 50px;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nest-menu {
    width: 100%;
    height: auto;
    min-height: 4em;
    padding: 0;
    text-indent: 20px;
    line-height: 4em;
    display: block;
    color: #fff;
  }
}
#global-nav ul li.nest-menu ul {
  display: none;
  animation: nest-open-anime 0.2s linear 0s;
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nest-menu ul {
    animation: nest-open-anime 0.4s linear 0s;
  }
}
#global-nav ul li.nest-menu.next-open {
  position: static;
}
#global-nav ul li.nest-menu.next-open .nest-title {
  position: relative;
}
#global-nav ul li.nest-menu.next-open .nest-title:after {
  content: "";
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: 0 0 0 0.5em;
  border-left: 2px solid;
  border-top: 2px solid;
  border-right: none;
  border-bottom: none;
  transform: rotate(45deg);
}
#global-nav ul li.nest-menu.next-open ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 20px 10px;
  position: absolute;
  top: 100px;
  left: 0;
  width: 100%;
  max-width: none;
  background: rgba(255, 255, 255, 0.6);
  animation: nest-open-anime 0.2s linear 0s;
}
@media screen and (max-width: 1230px) {
  #global-nav ul li.nest-menu.next-open ul {
    top: 50px;
  }
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nest-menu.next-open ul {
    display: block;
    padding: 0 20px;
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    background: #666666;
    box-shadow: none;
    animation: nest-open-anime 0.4s linear 0s;
    z-index: 1002;
  }
}
.fixed #global-nav ul li.nest-menu.next-open ul {
  top: 50px;
  background: rgb(242.25, 242.25, 242.25);
}
@media screen and (max-width: 768px) {
  .fixed #global-nav ul li.nest-menu.next-open ul {
    top: 0;
    background: #666666;
  }
}
#global-nav ul li.nest-menu.next-open ul li {
  border-left: none;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  text-indent: 0;
  text-align: left;
  line-height: 1.5em;
  display: block;
  flex-basis: auto;
}
@media screen and (max-width: 768px) {
  #global-nav ul li.nest-menu.next-open ul li {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    text-indent: 0;
    line-height: 1em;
    flex-basis: auto;
    display: block;
  }
}
#global-nav ul li.nest-menu.next-open ul li a {
  height: auto;
  margin: 0;
  padding: 5px 10px;
}
.fixed #global-nav ul li.nest-menu {
  height: 50px;
}

@keyframes nest-open-anime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/**********  個別テンプレートデザイン  **********/
.price_image {
  width: 100%;
  height: 80vh;
  background: url(../img/price_img.jpg) 0 0 no-repeat;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 1230px) {
  .price_image {
    background-position: 47.5% 0;
  }
}
@media screen and (max-width: 1024px) {
  .price_image {
    background-position: 45% 0;
  }
}
@media screen and (max-width: 768px) {
  .price_image {
    background-position: 42.5% 0;
    background-attachment: scroll;
  }
}
.price_image .price_title {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 40%;
}
.price_image .price_dl {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 0 auto;
  padding: 10px;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 768px) {
  .price_image .price_dl {
    right: inherit;
    top: 80%;
    transform: none;
  }
}
.price_image .price_dl .pricelist_img {
  width: 100%;
  max-width: 240px;
  margin: 10px auto;
  border: solid 1px #ccc;
  display: block;
}
.price_image .price_dl a {
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 25px 10px;
  border-radius: 10px;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
  /*-background: #e53142;-*/
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ea5a67+0,e53142+100 */
  background: rgb(234, 90, 103); /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(234, 90, 103) 0%, rgb(229, 49, 66) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ea5a67", endColorstr="#e53142",GradientType=0 ); /* IE6-9 */
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.price_image .price_dl a:link {
  color: #fff;
}
.price_image .price_dl a:visited {
  color: #fff;
}
.price_image .price_dl a:active {
  color: #fff;
}
.price_image .price_dl a:hover {
  color: #fff;
  background-color: #ea5a67;
}
@media screen and (max-width: 768px) {
  .price_image .price_dl a {
    width: 90%;
    max-width: 480px;
    padding: 20px;
    font-size: 1.2em;
  }
}

.bg_gray {
  background-color: #f5f5f5;
}

.bg_blue {
  background-color: #1b326a;
}
.bg_blue h2 {
  color: #fff;
}
.bg_blue h2::after {
  background-color: #fff;
}
.bg_blue h3 {
  color: #fff;
}
.bg_blue p {
  color: #fff;
}

.bg_jirei {
  background-color: #e1eef1;
}

.bg_black {
  background-color: #292929;
}
.bg_black h2 {
  color: #fff;
}
.bg_black h2::after {
  background-color: #fff;
}
.bg_black h3 {
  color: #fff;
}
.bg_black p {
  color: #fff;
}

.bg_thanks {
  background: url("../img/thanks_img.jpg") no-repeat top center;
  background-size: cover;
  min-height: 80vh;
}

.inline_logo {
  width: auto;
  height: 1.5em;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .inline_logo {
    height: 1.3em;
  }
}

.contents_container {
  display: block;
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  padding: var(--sectionPadding);
  overflow: hidden;
}

.dl_button {
  width: 100%;
}
.dl_button a {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 30px auto;
  padding: 20px;
  border-radius: 10px;
  background: #e53142;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.dl_button a:link {
  color: #fff;
}
.dl_button a:visited {
  color: #fff;
}
.dl_button a:active {
  color: #fff;
}
.dl_button a:hover {
  color: #fff;
  background-color: #ea5a67;
}

.about,
.example_container,
.merit_container,
.merit_container_other,
.flow_contents {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.about p,
.example_container p,
.merit_container p,
.merit_container_other p,
.flow_contents p {
  max-width: 640px;
  margin: 0 auto;
}

.about img {
  width: 100%;
  max-width: 1280px;
  display: block;
  margin: 30px auto;
}

.flow_contents {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.02);
}

.faq_container {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.wpdl_container {
  background-color: #ffffff;
  padding: 48px 24px 0px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

.fix_container {
  width: 100%;
  height: 60px;
  padding: 10px;
  background: #333;
  position: fixed;
  bottom: 0;
  z-index: 2;
  display: none;
}
.fix_container .fix_contents {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}
.fix_container .fix_contents .fix_tel {
  width: 100%;
  max-width: 600px;
  padding: 0;
  color: #fff;
  font-size: 0.8em;
  line-height: 1.2;
}
.fix_container .fix_contents .fix_tel a {
  font-size: 2em;
  display: inline-block;
}
.fix_container .fix_contents .fix_tel a:link {
  color: #fff;
}
.fix_container .fix_contents .fix_tel a:visited {
  color: #fff;
}
.fix_container .fix_contents .fix_tel a:active {
  color: #fff;
}
.fix_container .fix_contents .fix_tel a:hover {
  color: #fff;
  background-color: #666;
}
.fix_container .fix_contents .fix_tel .tel_soudan {
  display: block;
}
@media screen and (max-width: 768px) {
  .fix_container .fix_contents .fix_tel .tel_soudan {
    display: none;
  }
}
.fix_container .fix_contents .fix_tel .tel_soudan_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fix_container .fix_contents .fix_tel .tel_soudan_sp {
    display: block;
    font-size: 0.7em;
  }
}
.fix_container .fix_contents .fix_tel .tel_jikan {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .fix_container .fix_contents .fix_tel .tel_jikan {
    display: none;
  }
}
.fix_container .fix_contents .fix_dl {
  width: 100%;
  max-width: 400px;
  display: block;
}
@media screen and (max-width: 768px) {
  .fix_container .fix_contents .fix_dl {
    display: none;
  }
}
.fix_container .fix_contents .fix_dl a {
  width: 100%;
  max-width: 600px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 10px 20px;
  border-radius: 10px;
  background: #e53142;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.fix_container .fix_contents .fix_dl a:link {
  color: #fff;
}
.fix_container .fix_contents .fix_dl a:visited {
  color: #fff;
}
.fix_container .fix_contents .fix_dl a:active {
  color: #fff;
}
.fix_container .fix_contents .fix_dl a:hover {
  color: #fff;
  background-color: #ea5a67;
}
.fix_container .fix_contents .fix_dl_sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .fix_container .fix_contents .fix_dl_sp {
    display: block;
    width: 100%;
    max-width: 400px;
  }
  .fix_container .fix_contents .fix_dl_sp a {
    width: 100%;
    max-width: 600px;
    height: auto;
    display: block;
    margin: 0 auto;
    padding: 10px 20px;
    border-radius: 10px;
    background: #e53142;
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1;
    text-align: center;
  }
  .fix_container .fix_contents .fix_dl_sp a:link {
    color: #fff;
  }
  .fix_container .fix_contents .fix_dl_sp a:visited {
    color: #fff;
  }
  .fix_container .fix_contents .fix_dl_sp a:active {
    color: #fff;
  }
  .fix_container .fix_contents .fix_dl_sp a:hover {
    color: #fff;
    background-color: #ea5a67;
  }
}

@media all and (-ms-high-contrast:none) {
  .ie-fixed {
    width: 25%;
    padding: 10px;
    max-width: 300px;
    position: fixed;
  }
}
@media screen and (-ms-high-contrast:none) and (max-width: 1024px) {
  .ie-fixed {
    width: 30%;
  }
}
@media screen and (-ms-high-contrast:none) and (max-width: 768px) {
  .ie-fixed {
    width: 100%;
    padding: 0;
    max-width: none;
  }
}

.information {
  width: 100%;
  margin-bottom: 40px;
}
.information dl {
  width: 100%;
  height: auto;
  max-height: 200px;
  overflow-y: auto;
  padding: 10px 0;
}
.information dl dt {
  font-size: 0.9em;
  font-weight: bold;
}
.information dl dd {
  color: #2E1B03;
  margin-bottom: 0.5em;
  padding: 0 0 0.5em 0;
  border-bottom: solid 1px;
}

.main_image {
  width: 100%;
  height: 100vh;
  min-height: 800px;
  background: url(../img/main_img.webp) 0 0 no-repeat;
  background-size: cover;
  position: relative;
  padding: var(--sectionPadding);
}
@media screen and (max-width: 1230px) {
  .main_image {
    background-position: 47.5% 0;
  }
}
@media screen and (max-width: 1024px) {
  .main_image {
    background-position: 45% 0;
  }
}
@media screen and (max-width: 768px) {
  .main_image {
    background-position: 42.5% 0;
    background-attachment: scroll;
  }
}
.main_image .main_title {
  width: 100%;
  max-width: 720px;
  height: auto;
  position: absolute;
  right: 0;
  top: 40%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .main_image .main_title {
    position: relative;
    right: inherit;
    transform: none;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .main_image .main_title {
    position: relative;
    right: inherit;
    top: 25%;
    transform: none;
    padding: 0 10px;
    margin: 0 auto;
  }
}
.main_image .main_title .catch {
  display: inline-block;
  color: #fff;
  font-size: 40px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 2px;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .main_image .main_title .catch {
    font-size: 24px;
    letter-spacing: normal;
  }
}
.main_image .main_title .catch_price {
  color: #fff;
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-top: 40px;
}
.main_image .main_title .catch_price span {
  color: #fec318;
  font-size: 60px;
}
.main_image .main_title .catch_joblist_container {
  width: 100%;
  max-width: 440px;
  padding: 0 20px 20px;
  display: block;
  margin: 20px auto;
}
.main_image .main_title .catch_joblist {
  width: 100%;
  padding: 10px;
  background: #fff;
  border-radius: 10px;
  text-align: center;
  color: #333;
  font-size: 14px;
  line-height: 1.75;
}
.main_image .main_title .img_sample {
  width: 100%;
  max-width: 640px;
  display: block;
  margin: 0 auto;
}
.main_image .main_title .main_dl {
  width: 100%;
  max-width: 720px;
}
@media screen and (max-width: 768px) {
  .main_image .main_title .main_dl {
    right: inherit;
    top: 80%;
    transform: none;
  }
}
.main_image .main_title .main_dl a {
  width: 100%;
  max-width: 480px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding: 25px 10px;
  border-radius: 10px;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
  /*-background: #e53142;-*/
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ea5a67+0,e53142+100 */
  background: rgb(234, 90, 103); /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(234, 90, 103) 0%, rgb(229, 49, 66) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ea5a67", endColorstr="#e53142",GradientType=0 ); /* IE6-9 */
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
.main_image .main_title .main_dl a:link {
  color: #fff;
}
.main_image .main_title .main_dl a:visited {
  color: #fff;
}
.main_image .main_title .main_dl a:active {
  color: #fff;
}
.main_image .main_title .main_dl a:hover {
  color: #fff;
  background-color: #ea5a67;
}
@media screen and (max-width: 768px) {
  .main_image .main_title .main_dl a {
    width: 90%;
    max-width: 480px;
    padding: 20px;
    font-size: 1.2em;
  }
}
.main_image .main_image_container {
  width: 100%;
  max-width: 1230px;
  height: 100%;
  min-height: 600px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main_image .main_image_container {
    min-height: 350px;
  }
}
.main_image .main_image_container h1 {
  width: 100%;
  margin: 0;
  padding: 5px;
  font-size: 8em;
  line-height: 1.2em;
  color: #fff;
  text-align: center;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 768px) {
  .main_image .main_image_container h1 {
    font-size: 2em;
  }
}
.main_image .main_image_container img {
  width: 400px;
  height: auto;
}
.main_image .main_image_container img.top_photo {
  margin: 0 auto 10px 0;
  padding: 4px;
  display: block;
  background: #fff;
  box-shadow: 0 0 4px #000;
}
@media screen and (max-width: 768px) {
  .main_image .main_image_container img.top_photo {
    width: 60%;
  }
}
.main_image .main_image_container p {
  width: 100%;
  padding: 5px;
  text-align: center;
  color: #fff;
  font-size: 22.4px;
  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 768px) {
  .main_image .main_image_container p {
    font-size: 16px;
  }
}

.example_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .example_container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .example_container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.example_container .ex_contents {
  display: flex;
}
.example_container .ex_contents .ex_contents_box {
  width: 100%;
  max-width: 640px;
  padding: 24px;
  margin: 0 auto;
  background: #fff;
  border-radius: 2px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.05);
}
.example_container .ex_contents .ex_contents_box img {
  width: 60px;
  display: block;
  margin: 0 auto;
  padding: 0 0 24px;
}
.example_container .ex_contents h3 {
  width: 100%;
  margin: 0 0 16px 0;
  padding: 0;
  color: #333;
}
.example_container .ex_contents ul {
  width: 100%;
}
.example_container .ex_contents li {
  display: inline-block;
  font-size: 0.9em;
  width: auto;
  margin: 0;
  padding: 0;
  letter-spacing: 0.1em;
}
.example_container .ex_contents li::before {
  content: "・";
  display: inline-block;
}

#merit-3 .merit3_container_other {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  width: 100%;
  max-width: 1280px;
  padding: 0;
  margin: 0 auto;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  #merit-3 .merit3_container_other {
    grid-template-columns: 1fr;
  }
}
#merit-3 .merit3_container_other .merit3_contents_other h3 {
  color: #333;
  font-size: 1.65em;
  min-height: 64px;
}
@media screen and (max-width: 768px) {
  #merit-3 .merit3_container_other .merit3_contents_other h3 {
    font-size: 1.5em;
  }
}
#merit-3 .merit3_container_other .merit3_contents_other .merit3_contents_box_other {
  width: 100%;
  max-width: 640px;
  height: 100%;
  max-height: 340px;
  padding: 24px;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.05);
}
#merit-3 .merit3_container_other .merit3_contents_other .merit3_contents_box_other .moya_icon {
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  display: block;
}
#merit-3 .merit3_container_other .merit3_contents_other .merit3_contents_box_other .moya {
  font-size: 24px;
  padding: 20px 0;
  margin: 0;
  text-align: center;
  border-bottom: solid 1px #ccc;
  word-break: keep-all;
}
#merit-3 .merit3_container_other .merit3_contents_other .nara {
  width: 100%;
  margin: 0;
  padding: 24px;
  display: block;
}
#merit-3 .merit3_container_other .merit3_contents_other .nara .nara_title {
  font-size: 1.5em;
  text-align: center;
  padding-bottom: 20px;
}
@media screen and (max-width: 1230px) {
  #merit-3 .merit3_container_other .merit3_contents_other .nara .nara_title .inline_logo {
    max-width: 260px;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}
#merit-3 .merit3_container_other .merit3_contents_other .nara ul {
  margin: 16px 0;
}
#merit-3 .merit3_container_other .merit3_contents_other .nara ul li {
  list-style: none;
}
#merit-3 .merit3_container-block {
  width: 100%;
  max-width: 960px;
  padding: 40px 0;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  #merit-3 .merit3_container-block {
    max-width: 600px;
  }
}
#merit-3 .merit3_container-block p {
  text-align: center;
}
#merit-3 .merit3_container-block p:first-of-type {
  font-size: 24px;
  font-weight: 600;
  word-break: keep-all;
}
@media screen and (max-width: 460px) {
  #merit-3 .merit3_container-block p:first-of-type {
    font-size: 20px;
    word-break: break-all;
  }
}

#merit-2 {
  background-color: #1b326a;
}
#merit-2 h2 {
  color: #ffffff;
  word-break: keep-all;
}
#merit-2 h2::after {
  background-color: #ffffff;
}

.merit_container_other {
  background-color: #1b326a;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 1280px;
  padding: 0;
  gap: 16px;
}
@media screen and (max-width: 1024px) {
  .merit_container_other {
    grid-template-columns: 1fr;
  }
}
.merit_container_other .merit_contents_other {
  margin: 0 auto;
}
.merit_container_other .merit_contents_other h3 {
  color: #ffffff;
  font-size: 1.65em;
}
@media screen and (max-width: 768px) {
  .merit_container_other .merit_contents_other h3 {
    font-size: 1.5em;
  }
}
.merit_container_other .merit_contents_other .merit_contents_box_other {
  color: #ffffff;
  width: 100%;
  max-width: 640px;
  height: 100%;
  padding: 24px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 560px) {
  .merit_container_other .merit_contents_other .merit_contents_box_other {
    padding: 0;
  }
}
.merit_container_other .merit_contents_other .merit_contents_box_other picture img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: block;
}
.merit_container_other .merit_contents_other .merit_contents_box_other .moya {
  font-size: 24px;
  color: #ffffff;
  padding: 20px 0;
  margin: 0;
  text-align: center;
  word-break: keep-all;
}
.merit_container_other .merit_contents_other .nara {
  width: 100%;
  margin: 0;
  padding: 24px;
  display: block;
}
.merit_container_other .merit_contents_other .nara .nara_title {
  font-size: 1.5em;
  text-align: center;
  padding-bottom: 20px;
}
@media screen and (max-width: 1230px) {
  .merit_container_other .merit_contents_other .nara .nara_title .inline_logo {
    max-width: 260px;
    height: auto;
    display: block;
    margin: 0 auto;
  }
}
.merit_container_other .merit_contents_other .nara p {
  margin-bottom: 16px !important;
}
.merit_container_other .merit_contents_other .nara p:last-of-type {
  margin-bottom: 0;
}
.merit_container_other .merit_contents_other .nara ul {
  margin: 16px 0;
}
.merit_container_other .merit_contents_other .nara ul li {
  list-style: none;
}

.st_container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto 30px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.st_container .st_image {
  width: 50%;
  padding: 0;
  display: block;
}
@media screen and (max-width: 1024px) {
  .st_container .st_image {
    width: 100%;
    max-width: 640px;
    padding: 50px 0 0;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .st_container .st_image {
    width: 100%;
    padding: 50px 0 0;
  }
}
.st_container .st_image img {
  width: auto;
  max-width: 100%;
  height: auto;
}
.st_container .st_image_iso {
  width: 50%;
  display: block;
}
@media screen and (max-width: 1024px) {
  .st_container .st_image_iso {
    width: 100%;
    padding: 50px 0 0;
  }
}
.st_container .st_image_iso img {
  width: auto;
  max-width: 300px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .st_container .st_image_iso img {
    max-width: 240px;
    transform: translateY(50px);
    position: relative;
    z-index: 2;
  }
}
@media screen and (max-width: 768px) {
  .st_container .st_image_iso img {
    max-width: 240px;
    transform: translateY(20px);
  }
}
.st_container .st_contents {
  width: 50%;
  display: flex;
}
@media screen and (max-width: 1024px) {
  .st_container .st_contents {
    width: 100%;
    position: relative;
    top: inherit;
    left: inherit;
  }
}
@media screen and (max-width: 768px) {
  .st_container .st_contents {
    width: 100%;
    position: relative;
    top: inherit;
    left: inherit;
  }
}
.st_container .st_contents .st_inner {
  padding: 20px;
  background-color: rgba(0, 0, 0, 0.6);
}
@media screen and (max-width: 1024px) {
  .st_container .st_contents .st_inner {
    max-width: 640px;
    margin: 0 auto;
  }
}
.st_container .st_contents h3 {
  text-align: left;
}
@media screen and (max-width: 768px) {
  .st_container .st_contents h3 {
    margin-top: 0;
  }
}
.st_container .st_contents p {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .st_container .st_contents p {
    margin-bottom: 10px;
  }
}

.jirei_container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
.jirei_container .jirei_contents {
  width: 100%;
  margin-bottom: 100px;
  display: block;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .jirei_container .jirei_contents {
    margin-bottom: 50px;
  }
}
.jirei_container .jirei_contents:last-of-type {
  margin-bottom: 0;
}
.jirei_container .jirei_contents .jirei_img {
  width: 50%;
  padding: 0;
  display: block;
  position: relative;
}
@media screen and (max-width: 768px) {
  .jirei_container .jirei_contents .jirei_img {
    width: 100%;
    padding: 0;
  }
}
.jirei_container .jirei_contents .jirei_img .jirei_name {
  width: 100%;
  padding: 0 0 20px;
  display: block;
}
.jirei_container .jirei_contents .jirei_img .jirei_name h3 {
  font-size: 1.4em;
  font-weight: normal;
  text-align: center;
  color: #333;
  margin: 10px 0 0;
}
.jirei_container .jirei_contents .jirei_img .jirei_name h3 span {
  font-size: 0.8em;
  display: block;
}
.jirei_container .jirei_contents .jirei_img img.jirei_photo {
  max-width: 420px;
  display: block;
  margin: 0 auto;
}
.jirei_container .jirei_contents .jirei_detail {
  width: 50%;
  display: block;
}
@media screen and (max-width: 768px) {
  .jirei_container .jirei_contents .jirei_detail {
    width: 100%;
  }
}
.jirei_container .jirei_contents .jirei_detail h4 {
  color: #333;
  font-size: 1.2em;
  padding: 0 0 5px;
  margin: 0 0 5px;
  border-bottom: solid 1px;
}
.jirei_container .jirei_contents .jirei_detail .irai,
.jirei_container .jirei_contents .jirei_detail .jirei_before,
.jirei_container .jirei_contents .jirei_detail .jirei_after {
  width: 100%;
  padding: 0 20px 10px;
}
@media screen and (max-width: 768px) {
  .jirei_container .jirei_contents .jirei_detail .irai,
  .jirei_container .jirei_contents .jirei_detail .jirei_before,
  .jirei_container .jirei_contents .jirei_detail .jirei_after {
    padding: 10px 0;
  }
}
.jirei_container .jirei_contents .jirei_detail .jirei_after ul {
  list-style: none;
  margin-bottom: 16px;
}

.contact_container {
  width: 100%;
  margin: 0;
  padding: 100px 10px;
  background: url("../img/bg_contact.jpg") no-repeat;
  background-size: cover;
}
.contact_container .contact_contents {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 30px;
  display: block;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .contact_container .contact_contents {
    padding: 10px;
  }
}
.contact_container .contact_contents p {
  font-size: 1.2em;
  margin: 0;
  padding: 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_contents p {
    font-size: 1em;
  }
}
.contact_container .contact_contents p.contact_tel {
  font-size: 2em;
  line-height: 1.2;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_contents p.contact_tel {
    padding: 0;
  }
}
.contact_container .contact_contents .contact_dl {
  width: 100%;
}
.contact_container .contact_contents .contact_dl a {
  width: 100%;
  max-width: 400px;
  height: auto;
  display: block;
  margin: 30px auto;
  padding: 25px 20px;
  border-radius: 10px;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
  /*-background: #e53142;-*/
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ea5a67+0,e53142+100 */
  background: rgb(234, 90, 103); /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(234, 90, 103) 0%, rgb(229, 49, 66) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ea5a67", endColorstr="#e53142",GradientType=0 ); /* IE6-9 */
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .contact_container .contact_contents .contact_dl a {
    max-width: 320px;
    font-size: 1.2em;
  }
}
.contact_container .contact_contents .contact_dl a:link {
  color: #fff;
}
.contact_container .contact_contents .contact_dl a:visited {
  color: #fff;
}
.contact_container .contact_contents .contact_dl a:active {
  color: #fff;
}
.contact_container .contact_contents .contact_dl a:hover {
  color: #fff;
  background-color: #ea5a67;
}

/**********  フッター  **********/
footer {
  height: auto;
  padding-bottom: 120px;
  position: relative;
  z-index: -1px;
}

/**********  コピーライト  **********/
.copyright {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  display: table;
  background: #fff;
}
.copyright p {
  color: #000;
  font-size: 11px;
  text-align: center;
  letter-spacing: 0.25em;
  display: table-cell;
  vertical-align: middle;
}

address {
  font-style: normal;
}

/**********  入力フォーム  **********/
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

/**********  リンク色  **********/
a {
  text-decoration: none;
  transition: all 0.2s ease;
}
a:link {
  color: #2E1B03;
}
a:visited {
  color: #2E1B03;
}
a:active {
  color: #2E1B03;
}
a:hover {
  color: #8B1928;
  background: #fff;
}

/**********  画像  **********/
img {
  width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

/**********  p・h　フォント設定**********/
/**********  font  **********/
p {
  margin-bottom: 2em;
}

h1, h2, h3, h4, h5 {
  font-feature-settings: "palt";
}

h1 {
  color: #333;
  line-height: 1.2em;
  font-weight: bold;
  text-align: center;
  margin: 1em 0 0.5em;
  padding: 0.5em 0;
}

h2 {
  width: 100%;
  height: auto;
  display: block;
  color: #333;
  text-align: center;
  font-size: 2.2em;
  line-height: 1.4;
  font-weight: bold;
  margin: 0 0 2.5em;
  padding: 0 0 0.5em;
  position: relative;
}
h2::after {
  content: "";
  background-color: #333;
  bottom: 0;
  display: block;
  width: 200px;
  height: 4px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 568px) {
  h2 {
    font-size: 1.5em;
  }
}

h3 {
  color: #333;
  text-align: center;
  font-size: 1.5em;
  line-height: 1.2em;
  font-weight: bold;
  margin: 2em 0 0.5em;
  padding: 0;
}
@media screen and (max-width: 568px) {
  h3 {
    font-size: 1.2em;
  }
}

h4 {
  color: #333;
  font-size: 1em;
  line-height: 1.2em;
  font-weight: bold;
  margin: 1em 0 0;
  padding: 0;
  border-bottom: dotted 1px;
}

h5 {
  color: #333;
  font-size: 1em;
  line-height: 1.2em;
  font-weight: normal;
  margin: 1em 0 0;
  padding: 0;
}

/**********  フォントカラー  **********/
.fc_red {
  color: #DF3447;
}

.fc_blue {
  color: #0069A3;
}

.fc_yellow {
  color: #FFA822;
}

.fc_gray {
  color: #A9A9A9;
}

/********** フォントサイズ   **********/
.fw_bold {
  font-weight: 900;
}

.fs_04 {
  font-size: 0.4em;
  line-height: 1.5em;
}

.fs_05 {
  font-size: 0.5em;
  line-height: 1.5em;
}

.fs_06 {
  font-size: 0.6em;
  line-height: 1.5em;
}

.fs_07 {
  font-size: 0.7em;
  line-height: 1.5em;
}

.fs_08 {
  font-size: 0.8em;
  line-height: 1.5em;
}

.fs_09 {
  font-size: 0.9em;
  line-height: 1.5em;
}

.fs_12 {
  font-size: 1.2em;
  line-height: 1.5em;
}

.fs_13 {
  font-size: 1.3em;
  line-height: 1.5em;
}

.fs_14 {
  font-size: 1.4em;
  line-height: 1.5em;
}

.fs_15 {
  font-size: 1.5em;
  line-height: 1.5em;
}

.fs_16 {
  font-size: 1.6em;
  line-height: 1.5em;
}

.fs_17 {
  font-size: 1.7em;
  line-height: 1.5em;
}

.fs_18 {
  font-size: 1.8em;
  line-height: 1.5em;
}

.fs_19 {
  font-size: 1.9em;
  line-height: 1.5em;
}

.fs_20 {
  font-size: 2em;
  line-height: 1.5em;
}

.fs_22 {
  font-size: 2.2em;
  line-height: 1.5em;
}

.fs_24 {
  font-size: 2.4em;
  line-height: 1.5em;
}

.fs_26 {
  font-size: 2.6em;
  line-height: 1.5em;
}

.fs_28 {
  font-size: 2.8em;
  line-height: 1.5em;
}

.fs_30 {
  font-size: 3em;
  line-height: 1.5em;
}

/**********  リスト  **********/
ul,
ol,
dl {
  font-size: 16px;
}

ul.square > li {
  margin-left: 30px;
  list-style: square;
}

ul.disc > li {
  margin-left: 30px;
  list-style: disc;
}

ul.circle > li {
  margin-left: 30px;
  list-style: circle;
}

ol.decimal > li {
  margin: 4px 0 20px 50px;
  list-style: decimal;
}

ol.decimal_kakko > li {
  margin: 4px 0 20px 50px;
  list-style: none;
  counter-increment: cnt;
}

ol.decimal_kakko > li:before {
  display: marker;
  content: "（" counter(cnt) "）";
  margin-left: -2.6em;
}

ol.l_roman > li {
  margin-left: 30px;
  list-style: lower-roman;
}

ol.l_roman > li ol.decimal li {
  margin-left: 20px;
  list-style: decimal;
}

/**********  罫線  **********/
.hr_dashed {
  border-top: 1px dashed #cccccc;
}

/**********  サイト全体レイアウト  **********/
#wrap {
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 0;
}

/**********  サイトコンテンツ幅  **********/
.wrap_cont {
  width: 100%;
  max-width: 1230px;
  min-height: 100%;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  position: relative;
}

/**********  flexボックス  **********/
.flex_box {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  flex-wrap: -webkit-wrap;
  justify-content: space-between;
}

/**********  テーブルセル  **********/
.table_box {
  display: table;
  table-layout: fixed;
}

.table_box_cell {
  display: table-cell;
  vertical-align: middle;
}

/**********  各種横幅  **********/
.w_10 {
  width: 10%;
}

.w_12-5 {
  width: 12.5%;
}

.w_15 {
  width: 15%;
}

.w_20 {
  width: 20%;
}

.w_30 {
  width: 30%;
}

.w_25 {
  width: 25%;
}

.w_33 {
  width: 33.33%;
}

.w_34 {
  width: 34%;
}

.w_40 {
  width: 40%;
}

.w_45 {
  width: 45%;
}

.w_48 {
  width: 48%;
}

.w_50 {
  width: 50%;
}

.w_60 {
  width: 60%;
}

.w_66 {
  width: 66%;
}

.w_70 {
  width: 70%;
}

.w_75 {
  width: 75%;
}

.w_80 {
  width: 80%;
}

.w_90 {
  width: 90%;
}

.w_100 {
  width: 100%;
}

/**********  マージン  **********/
.mrg_1 {
  margin: 10px;
}

.mrg_0_1 {
  margin: 0 10px;
}

.mrg_1_0 {
  margin: 10px 0;
}

/**********  パディング  **********/
.pdd_1 {
  padding: 10px;
}

.pdd_0_1 {
  padding: 0 10px;
}

.pdd_1_0 {
  padding: 10px 0;
}

.pdd_1_0 {
  padding: 10px 0;
}

.col-pdd {
  padding: 10px;
  margin-left: -10px;
}

/**********  文字寄せ  **********/
.txt_center {
  text-align: center !important;
}

.txt_left {
  text-align: left !important;
}

.txt_right {
  text-align: right !important;
}

/**********  画像文中float  **********/
.img_float_l {
  float: left;
}

.img_float_r {
  float: right;
}

.img_float_l,
.img_float_r {
  width: auto;
  max-width: 500px !important;
  display: inline-block;
  margin: 5px !important;
  padding: 4px;
  background: #fff;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 568px) {
  .img_float_l,
  .img_float_r {
    max-width: 50% !important;
  }
}

.img_float_l img,
.img_float_r img {
  width: 100%;
  max-width: 100%;
  height: auto;
}

/**********  画像円形  **********/
.bdr-r50 {
  border-radius: 50%;
}

/**********  枠線  **********/
.bdr {
  border: solid 1px #ccc;
  border-radius: 10px;
  padding: 10px;
}

.bdr-radius {
  border-radius: 0.5em;
}

/**********　テーブルレスポンシブ化　分割型  **********/
.rsp_table table {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 568px) {
  .rsp_table table {
    border: none;
  }
  .rsp_table table thead {
    display: none;
  }
  .rsp_table table tr {
    border-top: 1px solid #999;
    display: block;
    margin-bottom: 20px;
  }
  .rsp_table table td {
    border-right: 1px solid #999;
    border-bottom: 1px solid #999;
    display: block;
    padding: 10px;
    text-align: left;
  }
  .rsp_table table td::before {
    content: attr(data-label);
    margin: -10px -10px 10px -10px;
    padding: 0 10px;
    border-bottom: 1px solid #999;
    background-color: rgb(216.75, 216.75, 216.75);
    display: block;
    font-weight: bold;
  }
}
.rsp_table table th,
.rsp_table table td {
  vertical-align: middle;
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 10px;
}
.rsp_table table th {
  background-color: rgb(216.75, 216.75, 216.75);
  text-align: left;
}

/**********　テーブルレスポンシブ化　スクロール型  **********/
table.responsive {
  border-top: 1px solid #999;
  border-right: 1px solid #999;
  border-collapse: collapse;
}
table.responsive th,
table.responsive td {
  vertical-align: middle;
  border-left: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 10px;
}
table.responsive th {
  background-color: rgb(216.75, 216.75, 216.75);
  text-align: left;
}

@media only screen and (max-width: 767px) {
  table.responsive {
    margin-bottom: 0;
  }
  .pinned {
    position: absolute;
    left: 0;
    top: 0;
    width: 35%;
    border-right: 1px double #999;
    border-left: 1px solid #999;
    overflow: hidden;
    overflow-x: scroll;
  }
  .pinned table {
    border-right: none;
    border-left: none;
    width: 100%;
  }
  .pinned table th,
  .pinned table td {
    display: table-cell;
    padding: 10px;
    border-bottom: 1px solid #999;
    vertical-align: middle;
    white-space: nowrap;
    text-align: left;
  }
  .pinned th {
    border-top: 1px solid #999;
    background-color: rgb(216.75, 216.75, 216.75);
  }
  .pinned td:last-child {
    border-bottom: 0;
  }
  div.table-wrapper {
    position: relative;
    margin-bottom: 20px;
    overflow: hidden;
    border-right: 1px solid #ccc;
  }
  div.table-wrapper div.scrollable {
    margin-left: 35%;
  }
  div.table-wrapper div.scrollable {
    overflow: scroll;
    overflow-y: hidden;
  }
  table.responsive td,
  table.responsive th {
    position: relative;
    white-space: nowrap;
    overflow: hidden;
  }
  table.responsive th:first-child,
  table.responsive td:first-child,
  table.responsive td:first-child,
  table.responsive.pinned td {
    display: none;
  }
}
/**********  テーブル枠線付  **********/
table.table_bdr {
  width: 100%;
  border: solid 1px #ccc;
}
table.table_bdr th,
table.table_bdr td {
  padding: 0.5em 1em;
  border-bottom: solid 1px #ccc;
}
table.table_bdr th {
  width: 25%;
  font-weight: normal;
  text-align: right;
  background-color: rgb(216.75, 216.75, 216.75);
  border-right: solid 1px #ccc;
}
@media screen and (max-width: 768px) {
  table.table_bdr {
    width: 100%;
    border: solid 1px #ccc;
  }
  table.table_bdr th,
  table.table_bdr td {
    width: 100%;
    display: block;
  }
  table.table_bdr th {
    text-align: left;
  }
}

/**********  dlテーブル  **********/
.dl_table {
  width: 100%;
  border: solid 1px #ccc;
  background: rgba(255, 255, 255, 0.4);
}
.dl_table dt,
.dl_table dd {
  padding: 0.5em 1em;
}
.dl_table dt {
  width: 30%;
  height: 4em;
  font-weight: normal;
  text-align: right;
  border-top: solid 1px #ccc;
}
.dl_table dt:first-of-type {
  border-top: none;
}
.dl_table dd {
  width: 70%;
  margin-top: -4em;
  margin-left: 30%;
  border-left: solid 1px #ccc;
  border-top: solid 1px #ccc;
}
.dl_table dd:first-of-type {
  border-top: none;
}
.dl_table dd:last-of-type {
  border-bottom: none;
}
@media screen and (max-width: 768px) {
  .dl_table {
    /**********  dlテーブル768  **********/
  }
  .dl_table dl {
    border: none;
  }
  .dl_table dl dt {
    background-color: transparent;
    border-bottom: dashed 1px #ccc;
  }
  .dl_table dl dd {
    padding: 0.5em 0.5em 3em 0.5em;
    border-bottom: none;
  }
  .dl_table dl dl {
    border: none;
  }
  .dl_table dl dl dt {
    background-color: #f7f7f7;
    border-bottom: none;
  }
  .dl_table dt {
    width: 100%;
    height: auto;
    font-weight: normal;
    text-align: center;
    background: rgb(242.25, 242.25, 242.25);
    border-top: solid 1px #efefef;
    border-bottom: solid 1px #efefef;
  }
  .dl_table dd {
    width: 100%;
    text-align: center;
    margin-left: 0;
    margin-top: 0;
    padding: 1em 0.5em;
    border-left: none;
    border-top: solid 1px #efefef;
    border-bottom: solid 1px #efefef;
  }
  .dl_table dd:last-of-type {
    border-bottom: none;
  }
}

/**********  パンくず  **********/
ul.topicpath {
  width: 100%;
  display: block;
  padding: 0 10px;
  background: #291b18;
}
ul.topicpath:after {
  content: "";
  clear: both;
  display: block;
}
ul.topicpath li {
  font-size: 11px;
  color: #fff;
  padding-right: 0.5em;
  float: left;
  display: block;
}
ul.topicpath li:after {
  content: "＞";
  padding-left: 0.5em;
}
ul.topicpath li:last-of-type {
  text-decoration: none;
  color: #c5e13f;
}
ul.topicpath li:last-of-type:after {
  content: "";
  padding-left: 0;
}
ul.topicpath li a {
  color: #fffdf4;
  text-decoration: none;
}
ul.topicpath li a:link {
  color: #fffdf4;
}
ul.topicpath li a:active {
  color: #fffdf4;
}
ul.topicpath li a:visited {
  color: #fffdf4;
}
ul.topicpath li a:hover {
  color: #000;
  background: #fffdf4;
}

/**********  コンタクトボタン  **********/
.contact_button a {
  width: 80%;
  max-width: 600px;
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
  margin: 0.25em auto;
  padding: 0.25em 0.5em;
  display: block;
  background-color: #ab000c;
  border-radius: 0.5em;
}
.contact_button a:link {
  color: #fff;
}
.contact_button a:active {
  color: #fff;
}
.contact_button a:visited {
  color: #fff;
}
.contact_button a:hover {
  color: #fff;
  background-color: #c74f64;
}

/**********  Ｑ＆Ａ  **********/
dl.faq {
  font-size: 1em;
  line-height: 1.5em;
}
dl.faq dt {
  margin-bottom: 50px;
  padding: 0.5em 0.5em 0 4em;
  position: relative;
  font-weight: bold;
}
dl.faq dt:before {
  content: "　";
  width: 4em;
  height: 4em;
  margin: -1.5em 1em 0 -5em;
  padding: 0;
  position: absolute;
  display: inline-block;
  background: url("../img/icon_q.png") no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  dl.faq dt:before {
    width: 3.5em;
    height: 3.5em;
    margin: -1.2em 2em 0 -3.5em;
  }
}
dl.faq dd {
  margin-bottom: 50px;
  padding: 0.5em 0 1.5em 4em;
  display: block;
  border-bottom: dashed 1px #ccc;
  position: relative;
}
dl.faq dd:before {
  content: "　";
  width: 3em;
  height: 3em;
  margin: -1em 1em 0 -4.5em;
  padding: 0;
  position: absolute;
  display: inline-block;
  background: url("../img/icon_a.png") no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  dl.faq dd:before {
    width: 2.5em;
    height: 2.5em;
    margin: -1.2em 1.2em 0 -3em;
  }
}
dl.faq dd:last-of-type {
  margin-bottom: 0;
}

/**********  トグルボタン  **********/
.toggle_btn {
  width: 100%;
  display: block;
  position: relative;
  cursor: pointer;
  padding-left: 1.5em;
}
.toggle_btn:before {
  content: "▼";
  font-size: 0.6em;
  margin-left: -0.5em;
  padding: 0 0.5em;
  border: solid 1px;
  position: absolute;
  left: 0;
}

.toggle {
  display: none;
}

.toggle_opened:before {
  content: "▲";
  font-size: 0.6em;
  margin-left: -0.5em;
  padding: 0 0.5em;
  border: solid 1px;
  position: absolute;
  left: 0;
}

/**********  税抜き表示  **********/
.tax:before {
  content: "￥";
}
.tax:after {
  content: "（税抜き）";
  font-size: 0.7em;
}

/********** PDFアイコン **********/
.icon_pdf:after {
  content: url(../img/pdf.gif);
  width: auto;
  height: 1em;
  display: inline-block;
  position: relative;
  top: 0.3em;
}

/********** ぺージトップボタン **********/
.page-top {
  width: 50px;
  height: 50px;
  display: none;
  position: fixed;
  right: 10px;
  bottom: 20px;
  border-radius: 50%;
  background-color: rgba(139, 25, 40, 0.6);
  transition: all 0.35s;
}
.page-top p {
  color: #fff;
  font-size: 11px;
  line-height: 50px;
  margin: 0;
  padding: 0;
  text-align: center;
  cursor: pointer;
}
.page-top p:before {
  content: "";
  display: inline-block;
  position: relative;
  top: -8px;
  left: 50%;
  width: 8px;
  height: 8px;
  margin-left: -11px;
  border-left: 2px solid;
  border-top: 2px solid;
  transform: rotate(45deg);
}
.page-top:hover {
  background: #8b1928;
}

.move-page-top {
  color: #fff;
  line-height: 50px;
  text-decoration: none;
  display: block;
  cursor: pointer;
  z-index: 1002;
}

/********** youtube **********/
.movie-container_bg {
  width: 100%;
  height: auto;
  margin: 10px 0;
  background: #000;
}
.movie-container_bg .movie-container {
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
}
.movie-container_bg .movie-container .movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}
.movie-container_bg .movie-container .movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**********  メールフォーム  **********/
button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
  background: rgba(255, 255, 255, 0.5);
}

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

table button,
table input {
  *overflow: auto;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

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

form li {
  margin-bottom: 1.5em;
}

label {
  display: block;
  margin-bottom: 1em;
}

input,
select,
textarea {
  border: 1px solid #ddd;
  border-radius: 2px;
  color: #777;
  font-size: 1em;
  padding: 1em;
  width: auto;
  max-width: 100%;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  *behavior: url(/js/boxsizing.htc);
}

textarea {
  padding: 1em;
  min-height: 15em;
  height: auto;
  width: auto;
  max-width: 100%;
}

input,
textarea {
  transition: border 0.25s;
}

input:hover,
textarea:hover,
input:focus,
textarea:focus,
input:active,
textarea:active {
  border: 1px solid #999;
}

input[type=text],
textarea {
  cursor: text;
}

input[type=radio],
input[type=checkbox] {
  display: inline;
  width: auto;
  height: auto;
  margin-right: 0.5em;
}

input[type=checkbox] + label,
input[type=radio] + label {
  display: inline;
}

input[type=file] {
  border: none;
}

input[type=date] {
  width: auto;
}

select {
  height: auto;
}

/* Placeholders */
::-webkit-input-placeholder {
  color: #bbb;
}

:-moz-placeholder {
  color: #bbb;
}

:-ms-input-placeholder {
  color: #bbb;
}

/* validate.js */
label.error {
  color: #0078cf;
  margin: 0.5em 0 0 0.5em;
  font-weight: normal;
  font-style: italic;
}

.mail_box {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  overflow: hidden;
}
.mail_box input[type=text] {
  width: 95%;
}
.mail_box textarea {
  width: 95%;
}
@media screen and (max-width: 1032px) {
  .mail_box input[type=text] {
    width: 100% !important;
  }
  .mail_box input[type=text]:first-of-type {
    margin-bottom: 8px;
  }
}

.yubin_button {
  width: 12em;
  max-width: 20em;
  margin: 0.25em 0;
  padding: 0.25em 0.5em;
  color: #666;
  background-color: #efefef;
  border: solid 1px #2b5e92;
  border-radius: 0.5em;
  box-sizing: border-box;
}

.submit_button {
  margin: 2em 0 1em;
  text-align: center;
}
.submit_button input {
  width: 80%;
  max-width: 480px;
  padding: 15px 10px !important;
  color: #fff;
  font-size: 1.75em !important;
  box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.2);
  /*-background: #e53142;-*/
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ea5a67+0,e53142+100 */
  background: rgb(234, 90, 103); /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, rgb(234, 90, 103) 0%, rgb(229, 49, 66) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#ea5a67", endColorstr="#e53142",GradientType=0 ); /* IE6-9 */
  /*-		background-color: #e53142;-*/
  border: solid 1px #e53142;
  border-radius: 0.5em;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .submit_button input {
    width: 90%;
    max-width: 480px;
    padding: 20px;
    font-size: 1.2em !important;
  }
}
.submit_button input:hover {
  color: #fff;
  background-color: rgb(178.9181034483, 22.5818965517, 37.3469827586);
}

.reset_button {
  min-width: 6em;
  margin: 1em 0;
  text-align: center;
}

.mailform {
  width: 100%;
  border-radius: 4px;
  background: #fff;
  padding-bottom: 30px;
}
.mailform dl {
  height: 100%;
}
.mailform dl dt {
  width: 35%;
  height: 2em;
  display: block;
  text-align: left;
  font-size: 16px;
  line-height: 1.2em;
  font-weight: normal;
  padding: 1em 2em 0 1em;
  position: relative;
  box-sizing: border-box;
}
.mailform dl dt .come {
  display: block;
  font-size: 0.7em !important;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .mailform dl dt .come {
    display: inline;
    font-size: 0.7em !important;
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .mailform dl dt {
    width: 100%;
    padding: 1em 0.5em;
  }
}
.mailform dl dt:before {
  content: "任意";
  color: #333;
  font-size: 11px;
  line-height: 19.2px;
  margin-right: 1em;
  padding: 0.5em 1em;
  position: relative;
  background-color: #efefef;
}
.mailform dl dt.hissu:before {
  content: "必須";
  color: #fff;
  font-size: 11px;
  line-height: 19.2px;
  margin-right: 1em;
  padding: 0.5em 1em;
  position: relative;
  background-color: #f14447;
}
.mailform dl dt p {
  margin: 0;
  padding: 0 2em;
  font-size: 0.8em;
  letter-spacing: 0.25em;
  color: #999;
  display: inline;
}
.mailform dl dd {
  width: auto;
  padding: 1em 1em 1em 35%;
  margin-top: -2em;
  display: block;
  text-align: left;
  font-weight: normal;
  font-size: 1em;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .mailform dl dd {
    width: 100%;
    padding: 1em 0.5em;
    margin-top: 0;
  }
}
.mailform dl dd span {
  font-size: 0.8em;
  display: block;
}
.mailform dl dd label {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .mailform dl dd label {
    display: block;
  }
}
.mailform dl dd textarea {
  width: 100% !important;
  height: 10em;
}
@media screen and (max-width: 440px) {
  .mailform dl dt.phone {
    padding-bottom: 0;
    height: auto;
    word-break: keep-all;
  }
  .mailform dl dt.phone span.come {
    display: inline-block !important;
    margin-top: 8px;
  }
  .mailform dl dd.phone {
    padding-top: 10px;
  }
}

/**********  メディアクエリ  **********/
/*****  1024  *****/
@media only screen and (max-width: 1024px) {
  .mq-lg_w_0 {
    width: 0%;
    display: none;
  }
  .mq-lg_w_10 {
    width: 10%;
  }
  .mq-lg_w_12-5 {
    width: 12.5%;
  }
  .mq-lg_w_15 {
    width: 15%;
  }
  .mq-lg_w_20 {
    width: 20%;
  }
  .mq-lg_w_25 {
    width: 25%;
  }
  .mq-lg_w_30 {
    width: 30%;
  }
  .mq-lg_w_33 {
    width: 33.33%;
  }
  .mq-lg_w_34 {
    width: 34%;
  }
  .mq-lg_w_40 {
    width: 40%;
  }
  .mq-lg_w_45 {
    width: 45%;
  }
  .mq-lg_w_50 {
    width: 50%;
  }
  .mq-lg_w_60 {
    width: 60%;
  }
  .mq-lg_w_66 {
    width: 66%;
  }
  .mq-lg_w_70 {
    width: 70%;
  }
  .mq-lg_w_75 {
    width: 75%;
  }
  .mq-lg_w_80 {
    width: 80%;
  }
  .mq-lg_w_90 {
    width: 90%;
  }
  .mq-lg_w_100 {
    width: 100%;
  }
  .mq-lg_disp_none {
    display: none;
  }
}
/*****  1024 end  *****/
/*****  768  *****/
@media only screen and (max-width: 768px) {
  .mq-md_w_0 {
    width: 0%;
    display: none;
  }
  .mq-md_w_10 {
    width: 10%;
  }
  .mq-md_w_12-5 {
    width: 12.5%;
  }
  .mq-md_w_15 {
    width: 15%;
  }
  .mq-md_w_20 {
    width: 20%;
  }
  .mq-md_w_25 {
    width: 25%;
  }
  .mq-md_w_30 {
    width: 30%;
  }
  .mq-md_w_33 {
    width: 33.33%;
  }
  .mq-md_w_34 {
    width: 34%;
  }
  .mq-md_w_40 {
    width: 40%;
  }
  .mq-md_w_45 {
    width: 45%;
  }
  .mq-md_w_50 {
    width: 50%;
  }
  .mq-md_w_60 {
    width: 60%;
  }
  .mq-md_w_66 {
    width: 66%;
  }
  .mq-md_w_70 {
    width: 70%;
  }
  .mq-md_w_75 {
    width: 75%;
  }
  .mq-md_w_80 {
    width: 80%;
  }
  .mq-md_w_90 {
    width: 90%;
  }
  .mq-md_w_100 {
    width: 100%;
  }
  .mq-md_disp_none {
    display: none;
  }
}
/*****  768 end  *****/
/*****  568  *****/
@media only screen and (max-width: 568px) {
  .mq-sm_w_0 {
    width: 0%;
    display: none;
  }
  .mq-sm_w_10 {
    width: 10%;
  }
  .mq-sm_w_12-5 {
    width: 12.5%;
  }
  .mq-sm_w_15 {
    width: 15%;
  }
  .mq-sm_w_20 {
    width: 20%;
  }
  .mq-sm_w_25 {
    width: 25%;
  }
  .mq-sm_w_30 {
    width: 30%;
  }
  .mq-sm_w_33 {
    width: 33.33%;
  }
  .mq-sm_w_34 {
    width: 34%;
  }
  .mq-sm_w_40 {
    width: 40%;
  }
  .mq-sm_w_45 {
    width: 45%;
  }
  .mq-sm_w_50 {
    width: 50%;
  }
  .mq-sm_w_60 {
    width: 60%;
  }
  .mq-sm_w_66 {
    width: 66%;
  }
  .mq-sm_w_70 {
    width: 70%;
  }
  .mq-sm_w_75 {
    width: 75%;
  }
  .mq-sm_w_80 {
    width: 80%;
  }
  .mq-sm_w_90 {
    width: 90%;
  }
  .mq-sm_w_100 {
    width: 100%;
  }
}
/*****  568 end  *****/
/*****  400  *****/
@media only screen and (max-width: 400px) {
  .mq-mb_w_0 {
    width: 0%;
    display: none;
  }
  .mq-mb_w_10 {
    width: 10%;
  }
  .mq-mb_w_12-5 {
    width: 12.5%;
  }
  .mq-mb_w_15 {
    width: 15%;
  }
  .mq-mb_w_20 {
    width: 20%;
  }
  .mq-mb_w_25 {
    width: 25%;
  }
  .mq-mb_w_30 {
    width: 30%;
  }
  .mq-mb_w_33 {
    width: 33.33%;
  }
  .mq-mb_w_34 {
    width: 34%;
  }
  .mq-mb_w_40 {
    width: 40%;
  }
  .mq-mb_w_45 {
    width: 45%;
  }
  .mq-mb_w_50 {
    width: 50%;
  }
  .mq-mb_w_60 {
    width: 60%;
  }
  .mq-mb_w_66 {
    width: 66%;
  }
  .mq-mb_w_70 {
    width: 70%;
  }
  .mq-mb_w_75 {
    width: 75%;
  }
  .mq-mb_w_80 {
    width: 80%;
  }
  .mq-mb_w_90 {
    width: 90%;
  }
  .mq-mb_w_100 {
    width: 100%;
  }
}
/*****  400 end  *****//*# sourceMappingURL=style.css.map */