@charset "UTF-8";

@import url("https://fonts.googleapis.com/icon?family=Material+Icons");

@import url("https://use.fontawesome.com/releases/v6.7.1/css/all.css");

/*!

  12 COLUMN : RESPONSIVE GRID SYSTEM

  DEVELOPER : DENIS LEBLANC

  URL : http://responsive.gs

  VERSION : 3.0

  LICENSE : GPL & MIT

*/

*, *:after, *:before {

  box-sizing: border-box;

}



.container {

  max-width: 100%;

  margin: 0 auto;

}



.row {

  padding-bottom: 0;

}



.col {

  display: block;

  width: 100%;

}



@media (min-width: 768px) {

  .span_1 {

    width: 8.33333333333%;

  }

  .span_2 {

    width: 16.6666666667%;

  }

  .span_3 {

    width: 25%;

  }

  .span_4 {

    width: 33.3333333333%;

  }

  .span_5 {

    width: 41.6666666667%;

  }

  .span_6 {

    width: 50%;

  }

  .span_7 {

    width: 58.3333333333%;

  }

  .span_8 {

    width: 66.6666666667%;

  }

  .span_9 {

    width: 75%;

  }

  .span_10 {

    width: 83.3333333333%;

  }

  .span_11 {

    width: 91.6666666667%;

  }

  .span_12 {

    width: 100%;

  }

  .gutters .row {

    -moz-column-gap: 2%;

         column-gap: 2%;

    row-gap: 20px;

  }

  .gutters .span_1 {

    width: 6.5%;

  }

  .gutters .span_2 {

    width: 15%;

  }

  .gutters .span_3 {

    width: 23.5%;

  }

  .gutters .span_4 {

    width: 32%;

  }

  .gutters .span_5 {

    width: 40.5%;

  }

  .gutters .span_6 {

    width: 49%;

  }

  .gutters .span_7 {

    width: 57.5%;

  }

  .gutters .span_8 {

    width: 66%;

  }

  .gutters .span_9 {

    width: 74.5%;

  }

  .gutters .span_10 {

    width: 83%;

  }

  .gutters .span_11 {

    width: 91.5%;

  }

  .gutters .span_12 {

    width: 100%;

  }

}



/*!

 12 COLUMN : RESPONSIVE GRID SYSTEM Fix Ver. 1.2.1

*/

.container {

  padding: 0 1%;

}



.container img {

  max-width: 100%;

  height: auto;

}



* + .container {

  margin-top: 2em;

}



.row:not(:last-child) {

  margin-bottom: 4%;

}



.col:not(:last-child) {

  margin-bottom: 3%;

}



@media (min-width: 768px) {

  .container {

    max-width: 1200px;

    margin: auto;

    padding: 0 10px;

  }

  * + .container {

    margin-top: 40px;

  }

  .row {

    display: flex;

    flex-wrap: wrap;

  }

  .row.reverse {

    flex-flow: row-reverse;

  }

  .col:not(:last-child) {

    margin-bottom: 0;

  }

  .col.offset_1 {

    margin-left: 8.33333333333%;

  }

  .col.offset_2 {

    margin-left: 16.6666666667%;

  }

  .col.offset_3 {

    margin-left: 25%;

  }

  .col.offset_4 {

    margin-left: 33.3333333333%;

  }

  .col.offset_5 {

    margin-left: 41.6666666667%;

  }

  .col.offset_6 {

    margin-left: 50%;

  }

  .col.offset_7 {

    margin-left: 58.3333333333%;

  }

  .col.offset_8 {

    margin-left: 66.6666666667%;

  }

  .col.offset_9 {

    margin-left: 75%;

  }

  .col.offset_10 {

    margin-left: 83.3333333333%;

  }

  .col.offset_11 {

    margin-left: 91.6666666667%;

  }

  .col.offset_12 {

    margin-left: 100%;

  }

}



@media (min-width: 1024px) {

  .container {

    padding: 0;

  }

}



@media (min-width: 768px) {

  .d-flex {

    display: flex;

  }

  .flex-wrap {

    flex-wrap: wrap;

  }

  .flex-nowrap {

    flex-wrap: nowrap;

  }

  .reverse {

    flex-direction: row-reverse;

  }

  .align-items-start {

    align-items: flex-start;

  }

  .align-items-center {

    align-items: center;

  }

  .align-items-end {

    align-items: flex-end;

  }

  .justify-content-start {

    justify-content: flex-start;

  }

  .justify-content-center {

    justify-content: center;

  }

  .justify-content-between {

    justify-content: space-between;

  }

  .justify-content-end {

    justify-content: flex-end;

  }

}



@media (min-width: 768px) and (min-width: 768px) {

  .row.col_5 {

    display: grid;

    grid-template-columns: repeat(5, 1fr);

  }

}



.grid_16 .span_1 {

  width: 6.25%;

}



.grid_16 .span_2 {

  width: 12.5%;

}



.grid_16 .span_3 {

  width: 18.75%;

}



.grid_16 .span_4 {

  width: 25%;

}



.grid_16 .span_5 {

  width: 31.25%;

}



.grid_16 .span_6 {

  width: 37.5%;

}



.grid_16 .span_7 {

  width: 43.75%;

}



.grid_16 .span_8 {

  width: 50%;

}



.grid_16 .span_9 {

  width: 56.25%;

}



.grid_16 .span_10 {

  width: 62.5%;

}



.grid_16 .span_11 {

  width: 68.75%;

}



.grid_16 .span_12 {

  width: 75%;

}



.grid_16 .span_13 {

  width: 81.25%;

}



.grid_16 .span_14 {

  width: 87.5%;

}



.grid_16 .span_15 {

  width: 93.75%;

}



.grid_16 .span_16 {

  width: 100%;

}



.grid_16.gutters .span_1 {

  width: 4.375%;

}



.grid_16.gutters .span_2 {

  width: 10.75%;

}



.grid_16.gutters .span_3 {

  width: 17.125%;

}



.grid_16.gutters .span_4 {

  width: 23.5%;

}



.grid_16.gutters .span_5 {

  width: 29.875%;

}



.grid_16.gutters .span_6 {

  width: 36.25%;

}



.grid_16.gutters .span_7 {

  width: 42.625%;

}



.grid_16.gutters .span_8 {

  width: 49%;

}



.grid_16.gutters .span_9 {

  width: 55.375%;

}



.grid_16.gutters .span_10 {

  width: 61.75%;

}



.grid_16.gutters .span_11 {

  width: 68.125%;

}



.grid_16.gutters .span_12 {

  width: 74.5%;

}



.grid_16.gutters .span_13 {

  width: 80.875%;

}



.grid_16.gutters .span_14 {

  width: 87.25%;

}



.grid_16.gutters .span_15 {

  width: 93.625%;

}



.grid_16.gutters .span_16 {

  width: 100%;

}



* {

  box-sizing: border-box;

}



*::before,

*::after {

  box-sizing: inherit;

}



html {

  font-size: 62.5%;

  overflow-x: hidden;

  scroll-behavior: smooth;

}



html.scrollPrevent {

  overflow: hidden;

  height: 100%;

}



body {

  background: #fff;

  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;

  font-size: 1.6rem;

  line-height: 1.5;

  color: #333;

  height: auto !important;

  overflow: hidden;

  letter-spacing: 0.05em;

}



@media (max-width: 767px) {

  body {

    font-size: 1.4rem;

  }

}



main {

  overflow: hidden;

}



figure {

  margin: 0;

  text-align: center;

}



figure img {

  max-width: 100%;

  height: auto;

}



figure figcaption {

  margin-top: 0.5em;

  text-align: left;

}



picture {

  margin: 0;

  text-align: center;

}



picture img {

  max-width: unset;

  height: auto;

}



a {

  color: #222;

  transition: all .3s;

  overflow-wrap: anywhere;

}



a:hover {

  color: #222;

  text-decoration: none;

}



.highlight a {

  color: #333;

}



.highlight a:hover {

  color: #222;

}



a:not([class]) img, a.swipebox img {

  transition: all .3s;

}



a:not([class]):hover img, a.swipebox:hover img {

  opacity: 0.8;

}



img {

  vertical-align: middle;

}



img.circle {

  border-radius: 50%;

}



p {

  margin: 0.5em 0 1em;

  overflow-wrap: anywhere;

}



p:first-child {

  margin-top: 0;

}



p:last-child {

  margin-bottom: 0;

}



ol,

ul {

  margin: 0 0 1em;

  padding: 0 0 0 2.5em;

  line-height: 1.6;

}



ol:last-child,

ul:last-child {

  margin-bottom: 0;

}



ol ol,

ol ul,

ul ol,

ul ul {

  margin: 0.5em 0;

  padding-left: 2em;

}



ol ol:last-child,

ol ul:last-child,

ul ol:last-child,

ul ul:last-child {

  margin-bottom: 0.5em;

}



ul.list-unstyled {

  padding-left: 0;

  list-style: none;

}



ul.list-unstyled ol,

ul.list-unstyled ul {

  padding-left: 2em;

}



ul.list-inline {

  margin: 0;

  padding: 0;

  list-style: none;

  margin-left: -7px;

  font-size: 0rem;

  margin-bottom: 16px;

}



ul.list-inline > li {

  display: inline;

  padding-left: 7px;

  padding-right: 7px;

  white-space: nowrap;

  font-size: 1.6rem;

}



table {

  border-collapse: collapse;

  border-spacing: 0;

}



td,

th {

  padding: 0;

}



main .contents_wrapper {

  max-width: 100%;

  padding: 0;

}



main section {

  margin-bottom: 100px;

}



@media (max-width: 767px) {

  main section {

    margin-bottom: 50px;

  }

}



@media (max-width: 767px) {

  main section:last-child {

    margin-bottom: 80px;

  }

}



@media (min-width: 768px) {

  p {

    margin: 0.5em 0 1em;

  }

}



@media (max-width: 900px) {

  .gutters .span_3.column_sub,

  .gutters .span_9.column_main {

    float: none;

    width: 100%;

    margin-left: 0;

  }

}



@media (min-width: 600px) and (max-width: 900px) {

  .gutters .span_3.column_sub .sidebar {

    letter-spacing: -.40em;

  }

  .gutters .span_3.column_sub .sidebar .widget_wrap {

    letter-spacing: normal;

    display: inline-block;

    vertical-align: top;

    width: 49%;

    margin-left: 2%;

  }

  .gutters .span_3.column_sub .sidebar .widget_wrap:nth-child(2n+1) {

    margin-left: 0;

  }

}



@media (min-width: 768px) {

  .container {

    max-width: 1200px;

  }

}



@media (min-width: 576px) and (max-width: 767px) {

  .container {

    max-width: 100%;

  }

}



.article_button {

  margin-top: 5%;

}



@media (min-width: 768px) {

  .article_detail:not(.reverse) .col.span_12 + .span_4,

  .article_list:not(.reverse) .col.span_12 + .span_4 {

    margin-left: 0;

  }

}



.sidebar {

  visibility: hidden;

}



.sidebar > .widget_wrap {

  visibility: visible;

}



.sidebar ul {

  margin: 0;

  padding: 0;

  list-style: none;

  margin-bottom: 6%;

}



.sidebar ul a {

  color: #333;

  text-decoration: none;

  display: block;

  padding: .5em;

  border-bottom: rgba(34, 34, 34, 0.1) solid 1px;

}



.sidebar ul a:hover {

  color: #222;

  background: rgba(34, 34, 34, 0.05);

}



.sidebar ul.children {

  margin: 0;

}



.sidebar ul.children > li > a {

  padding-left: 1.75em;

  position: relative;

}



.sidebar ul.children > li > a:before {

  content: '';

  width: 6px;

  height: 6px;

  background: #333;

  border-radius: 50%;

  position: absolute;

  left: 1em;

  top: 50%;

  transform: translateY(-50%);

}



.sidebar ul.children > li > ul {

  margin: 0;

}



.sidebar ul.children > li > ul > li a {

  padding-left: 2.75em;

  position: relative;

}



.sidebar ul.children > li > ul > li a:before {

  content: '';

  width: 8px;

  height: 8px;

  background: none;

  border-radius: 0;

  border-left: solid 2px #333;

  border-bottom: solid 2px #333;

  position: absolute;

  left: 1.75em;

  top: 50%;

  transform: translateY(-50%);

}



.gutters .col.span_12 + .span_12 {

  margin-left: 0;

}



.map_wide #map_canvas,

.map_wide iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}



.map_wide img {

  max-width: none;

}



.slick-track {

  margin: 0 auto;

}



.col dl p {

  line-height: 1.4;

  margin: 0;

}



.col p {

  line-height: 1.8;

}



.container {

  padding: 0 20px;

}



@media (min-width: 1220px) {

  .container {

    padding: 0;

  }

}



.highlight {

  background: rgba(34, 34, 34, 0.1);

  color: #333;

}



.highlight.round {

  border-radius: 10px;

}



section.highlight, p.highlight, .col.highlight {

  padding: 4%;

}



.js-header_break_point {

  display: none;

  z-index: 1000;

}



:root {

  --header_break_point: 1000;

}



:root {

  --navi_event_type: hover;

}



.column_main .col p + *:not(p), .column_main .col table + *:not(p) {

  margin-top: 40px;

}



.globalHeader {

  background: #fff;

  color: #333;

  font-size: 16px;

}



.globalHeader.high {

  box-shadow: none !important;

}



@media (max-width: 999px) {

  .globalHeader.high {

    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.2);

    background: #fff;

  }

}



@media (max-width: 999px) {

  .globalHeader {

    background: #fff;

    position: fixed;

    z-index: 999;

    width: 100%;

    background: transparent;

  }

}



.globalHeader .container {

  position: relative;

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin: 0 auto;

  padding: 0;

  height: 120px;

  max-width: 100%;

}



.globalHeader .container .globalHeader_top {

  width: 96%;

  margin: 0 auto;

}



@media (max-width: 999px) {

  .globalHeader .container {

    height: 60px;

  }

}



.globalHeader .globalHeader_top {

  width: 100%;

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-wrap: nowrap;

}



.globalHeader .header_logo {

  width: 302px;

  height: 57px;

  margin: 0;

}



@media (min-width: 768px) and (max-width: 999px) {

  .globalHeader .header_logo {

    width: 180px;

    height: auto;

  }

}



@media (max-width: 767px) {

  .globalHeader .header_logo {

    width: 180px;

    height: auto;

  }

}



.globalHeader .header_logo a {

  display: block;

  height: auto;

  line-height: 0;

}



.globalHeader .header_logo a img {

  max-width: 100%;

  height: auto;

}



body.home .globalHeader {

  width: 100%;

  z-index: 999;

  background: transparent;

  color: #fff;

}



@media (min-width: 1000px) {

  body.home .globalHeader {

    position: absolute;

  }

}



@media (max-width: 999px) {

  body.home .globalHeader.high {

    background: #222;

  }

}



body.home .globalHeader .global_nav > ul li a {

  color: #fff;

}



body.home .globalHeader .global_nav > ul li a:before {

  background: #fff;

}



body.home .globalHeader .menu-item-has-children a:after {

  border-color: #fff;

}



@media (max-width: 999px) {

  body.home .globalHeader #headerToggle span {

    background: #fff;

  }

  body.home .globalHeader #headerToggle:after {

    color: #fff;

  }

}



.global_nav {

  width: auto;

  list-style-position: inside;

}



@media (max-width: 999px) {

  .global_nav {

    position: absolute;

    top: 60px;

    left: 0;

    width: 100%;

    height: calc(100vh - 60px);

    height: calc(100dvh - 60px);

    z-index: 56;

    transition: all .3s;

    display: flex;

    justify-content: flex-end;

    align-items: flex-start;

    opacity: 0;

    visibility: hidden;

    overflow-x: hidden;

    overflow-y: scroll;

  }

}



.global_nav > ul {

  list-style: none;

  padding: 0;

  width: 100%;

  height: 100%;

  display: flex;

  justify-content: flex-end;

  align-items: center;

  flex-wrap: wrap;

}



@media (min-width: 1000px) {

  .global_nav > ul {

    margin-top: 80px;

  }

}



@media (max-width: 999px) {

  .global_nav > ul {

    display: block;

    background: rgba(34, 34, 34, 0.9);

    width: 80vw;

    max-width: 400px;

    transform: translateX(100%);

    transition: all .3s;

    height: 100%;

    overflow: auto;

  }

}



@media (max-width: 999px) {

  .global_nav > ul li {

    border-bottom: #b3b3b3 solid 1px;

  }

  .global_nav > ul li:first-child {

    border-top: #b3b3b3 solid 1px;

  }

}



.global_nav > ul li a {

  color: #333;

  text-decoration: none;

  padding: .5em 1em;

  transition: all .2s;

}



@media (max-width: 1300px) and (min-width: 1000px) {

  .global_nav > ul li a {

    padding: .5em .4em;

    font-size: 1.3rem;

  }

}



@media (min-width: 1000px) {

  .global_nav > ul li a {

    position: relative;

    border-bottom: 1px solid transparent;

  }

  .global_nav > ul li a:hover {

    border-bottom: 1px solid #fff;

  }

}



@media (max-width: 999px) {

  .global_nav > ul li a {

    display: block;

    padding: 1em;

    color: #fff;

    position: relative;

  }

  .global_nav > ul li a:after {

    content: '';

    width: 8px;

    height: 8px;

    border: 0;

    border-top: solid 2px #fff;

    border-right: solid 2px #fff;

    transform: rotate(45deg);

    position: absolute;

    top: 50%;

    right: 1em;

    margin-top: -4px;

  }

}



.global_nav > ul li a:hover {

  opacity: 0.8;

}



.global_nav > ul li:first-child a:before {

  content: none;

}



@media (max-width: 999px) {

  .global_nav.open {

    opacity: 1;

    visibility: visible;

    left: 0;

    background: rgba(0, 0, 0, 0.8);

  }

}



@media (max-width: 999px) {

  .global_nav.open > ul {

    transform: translateX(0);

  }

}



/**ハンバーガーメニュー**/

#headerToggle {

  display: none;

}



@media (max-width: 999px) {

  #headerToggle {

    display: block;

    position: absolute;

    top: 0;

    bottom: 0;

    margin: auto;

    right: 20px;

    z-index: 99;

    cursor: pointer;

    width: 30px;

    height: 25px;

    transition: all .3s;

    height: 19px;

    transform: translateY(-4px);

  }

  #headerToggle span {

    position: absolute;

    left: 0;

    width: 100%;

    height: 3px;

    background-color: #333;

    transition: all .4s;

  }

  #headerToggle span:nth-of-type(1) {

    top: 0;

  }

  #headerToggle span:nth-of-type(2) {

    top: 11px;

    top: 8px;

  }

  #headerToggle span:nth-of-type(3) {

    bottom: 0;

  }

  #headerToggle:after {

    content: 'MENU';

    position: absolute;

    top: auto;

    bottom: -16px;

    left: -100%;

    right: -100%;

    margin: auto;

    width: 100%;

    font-size: 8px !important;

    letter-spacing: -0.02em;

    color: #333;

    text-align: center;

    font-weight: bold;

  }

  #headerToggle.active span {

    width: 80%;

    left: 10%;

  }

  #headerToggle.active span:nth-of-type(1) {

    transform: translateY(11px) rotate(-45deg);

    transform: translateY(8px) rotate(-45deg);

  }

  #headerToggle.active span:nth-of-type(2) {

    left: 50%;

    opacity: 0;

  }

  #headerToggle.active span:nth-of-type(3) {

    transform: translateY(-11px) rotate(45deg);

    transform: translateY(-8px) rotate(45deg);

  }

  #headerToggle.active:after {

    content: 'CLOSE';

    letter-spacing: -0.1em;

  }

}



@media (max-width: 999px) {

  body.home #headerToggle span {

    background-color: #fff;

  }

}



.hdr_info_wrapper {

  display: none;

}



@media (min-width: 1000px) {

  .hdr_info_wrapper {

    display: block;

    position: absolute;

    top: 15px;

    right: 2%;

  }

}



.hdr_info_wrapper .hdr_info {

  display: flex;

  align-items: center;

  margin-right: 10px;

}



.hdr_info_wrapper .hdr_info_group {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  align-items: center;

  justify-content: flex-end;

}



.hdr_info_wrapper .hdr_info_group li {

  margin-left: 15px;

}



.hdr_info_wrapper .hdr_info_group .button, .hdr_info_wrapper .hdr_info_group .inquiry .form_button, .inquiry .hdr_info_wrapper .hdr_info_group .form_button, .hdr_info_wrapper .hdr_info_group #wpcf7cpcnf .wpcf7cp-btns button, #wpcf7cpcnf .wpcf7cp-btns .hdr_info_wrapper .hdr_info_group button {

  min-width: 220px;

  font-size: 1.4rem;

}



.sp_hdr_info_wrapper {

  display: none;

}



@media (max-width: 999px) {

  .sp_hdr_info_wrapper {

    display: block;

    position: absolute;

    top: 15px;

    right: 70px;

  }

}



.sp_hdr_info_wrapper .sp_hdr_info_group {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  align-items: center;

  justify-content: flex-end;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li {

  margin-left: 10px;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_tel {

  color: white;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_tel a {

  color: #222;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_tel i {

  font-size: 3.2rem;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_mail {

  color: white;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_mail a {

  color: #222;

}



.sp_hdr_info_wrapper .sp_hdr_info_group li.hdr_icon_mail i {

  font-size: 3.2rem;

}



body.home .hdr_icon_tel a, body.home .hdr_icon_mail a {

  color: #fff !important;

}



footer {

  position: relative;

  padding: 0;

  font-size: 16px;

}



footer > .container {

  padding: 200px 0;

}



@media (max-width: 767px) {

  footer > .container {

    padding: 40px 20px 30px;

  }

}



footer .fNav ul {

  margin: 0;

  padding: 0;

  list-style: none;

}



footer .fNav ul li + li {

  border-top: 1px solid rgba(34, 34, 34, 0.3);

}



footer .fNav ul li a {

  display: block;

  padding: 1em 15px;

  text-decoration: none;

}



footer .fNav ul li.menu-item-has-children ul {

  display: block !important;

}



@media (max-width: 767px) {

  footer ul {

    border-top: 1px solid rgba(34, 34, 34, 0.3);

  }

  footer ul li > ul {

    border-top: 1px solid rgba(34, 34, 34, 0.3);

  }

  footer ul li.menu-item-has-children ul {

    display: block !important;

    height: auto !important;

  }

  footer ul li.menu-item-has-children ul a {

    font-size: 90%;

    padding-left: 1.5em;

  }

  footer ul li.menu-item-has-children ul ul a {

    padding-left: 2.5em;

  }

  footer .col {

    margin-bottom: 0 !important;

  }

}



@media (min-width: 768px) {

  footer .fNav {

    margin-bottom: 5%;

  }

  footer .fNav ul {

    width: 100%;

    text-align: left;

    border-bottom: none;

  }

  footer .fNav ul li {

    border: none !important;

  }

  footer .fNav ul li:not(:last-child) {

    margin-bottom: 12px;

  }

  footer .fNav ul li a {

    padding: .2em 1em .2em 1em !important;

    text-decoration: none;

    position: relative;

  }

  footer .fNav ul li a:before {

    position: absolute;

    content: '';

    width: 4px;

    height: 1px;

    border: 0;

    background: #000;

    top: 15px;

    left: 0;

  }

  footer .fNav ul li a:hover {

    text-decoration: underline;

  }

  footer .fNav ul li > ul {

    padding-left: .2em;

  }

  footer .fNav ul li > ul a {

    font-size: 90%;

  }

  footer .fNav ul li > ul a:before {

    width: 5px;

    height: 5px;

    border: none;

    background: #222;

    border-radius: 50%;

    margin-top: -2px;

  }

  footer .fNav ul li > ul .sub-menu {

    padding-left: 1em;

  }

  footer .fNav ul li > ul .sub-menu a:before {

    width: 5px;

    height: 2px;

    border: none;

    background: #222;

    border-radius: 0;

    transform: rotate(0);

  }

}



.copy_right {

  background: #eee;

  font-size: 1.6rem;

  margin: 0;

  letter-spacing: .1em;

  padding: 2em 0;

}



@media (max-width: 767px) {

  .copy_right {

    padding: 1.6em 0 20%;

    font-size: 1rem;

  }

}



@media (min-width: 768px) and (max-width: 1023px) {

  footer nav ul li.tablet-break:after {

    content: "\A";

    white-space: pre;

  }

  footer nav ul li.tablet-break + li:before {

    display: none;

  }

}



footer {

  background: #fff;

  color: #333;

}



footer a {

  color: #333;

}



footer a:hover {

  color: #333;

}



@media (min-width: 768px) {

  footer .container .row nav ul {

    display: inline-block;

  }

  footer .container .row nav a {

    display: inline-block;

    padding: 0.3em;

  }

}



.main_visual {

  position: relative;

  margin-bottom: 100px;

  margin-top: 0 !important;

}



@media (max-width: 999px) {

  .main_visual {

    margin-top: 60px;

  }

}



@media (max-width: 767px) {

  .main_visual {

    margin-bottom: 40px;

  }

}



.main_visual .main_visual_slick, .main_visual .slick-track {

  margin: 0;

  padding: 0;

  list-style: none;

  height: 100% !important;

}



.main_visual .slick-track {

  position: absolute;

  left: 0;

  right: 0;

  margin: auto;

}



.main_visual .slick-list {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  margin: auto;

  height: 100%;

}



.main_visual .main_visual_slick {

  position: relative;

  margin: 0 auto;

  opacity: 0;

  transition: 0.1s;

}



.main_visual .main_visual_slick.slick-initialized {

  opacity: 1;

}



.main_visual .main_visual_slick .slick-slide {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

  overflow: hidden;

}



.main_visual .main_visual_slick .slick-slide picture, .main_visual .main_visual_slick .slick-slide img {

  position: absolute;

  left: -300%;

  right: -300%;

  margin: auto;

  top: 0;

  width: auto;

  height: 100%;

}



.main_visual .main_visual_copy {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

  margin: 0;

  padding: 0;

  list-style: none;

  width: 1200px;

  max-width: 100%;

  margin: 0 auto;

  z-index: 53;

}



.main_visual .main_visual_copy > li {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

}



.main_visual .main_visual_copy > li img {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

  width: 53%;

  max-width: 793px;

  max-height: 62px;

  z-index: 52;

}



@media (max-width: 767px) {

  .main_visual .main_visual_copy > li img {

    width: 70%;

  }

}



.main_visual .main_visual_slick {

  padding-top: 80.83333%!important;

}



@media (min-width: 1200px) {

  .main_visual .main_visual_slick {

    padding-top: 0 !important;

    height: 970px !important;

  }

}



@media (min-width: 2000px) {

  .main_visual .main_visual_slick {

    padding-top: 48.5%!important;

  }

}



@media (max-width: 767px) {

  .main_visual .main_visual_slick {

    padding-top: 125.97403%!important;

  }

}



.slick-dots {

  z-index: 55 !important;

  bottom: -50px;

}



.slick-dots li button {

  margin: 0 auto;

  background: #ccc;

}



.slick-dots li.slick-active button {

  background: #222;

}



.main_visual .main_visual_swiper {

  opacity: 0;

  transition: 0.1s;

}



.main_visual .main_visual_swiper.swiper-container-initialized {

  opacity: 1;

}



.main_visual .main_visual_swiper .swiper-slide {

  position: relative;

}



.main_visual .main_visual_swiper .swiper-slide a {

  color: white;

}



.main_visual .main_visual_swiper .swiper-slide .ofi {

  padding-top: 700px;

}



.main_visual .main_visual_swiper .swiper-slide .text_wrapper {

  position: absolute;

  width: 100%;

  bottom: 0;

  background: rgba(0, 0, 0, 0.2);

  padding: 1em;

}



.main_visual .main_visual_swiper .swiper-slide .text_wrapper h3 {

  color: white;

  padding: 0;

  margin: 0 0 .5em;

}



.main_visual .main_visual_swiper .swiper-slide .text_wrapper h3:after {

  content: none;

}



.main_visual .swiper-button-prev, .main_visual .swiper-button-next {

  background: #222;

  color: white;

  width: 60px;

  height: 60px;

}



@media (max-width: 767px) {

  .main_visual .swiper-button-prev, .main_visual .swiper-button-next {

    width: 40px;

    height: 40px;

  }

}



.main_visual .swiper-button-prev:after, .main_visual .swiper-button-next:after {

  font-size: 16px;

}



@media (max-width: 767px) {

  .main_visual .swiper-button-prev:after, .main_visual .swiper-button-next:after {

    font-size: 14px;

  }

}



@media (max-width: 767px) {

  .main_visual .swiper-button-prev {

    left: 0;

  }

}



@media (max-width: 767px) {

  .main_visual .swiper-button-next {

    right: 0;

  }

}



.main_visual .swiper-pagination {

  position: static;

  margin: 1em 0;

}



.main_visual .swiper-pagination .swiper-pagination-bullet {

  width: 12px;

  height: 12px;

  background: #222;

  margin: 0 5px;

  outline-color: transparent;

}



.h1 {

  text-align: center;

  font-size: 3.2rem;

  letter-spacing: .1em;

  font-weight: normal;

  padding: 2.4em 20px;

  color: #333;

  background: #eee;

  margin: 20px 0 40px;

}



@media (max-width: 767px) {

  .h1 {

    margin-bottom: 10px;

    padding: 1.2em 20px;

  }

}



@media (max-width: 999px) {

  .h1 {

    margin-top: 60px;

  }

}



.h1 span {

  display: block;

  font-size: 1.6rem;

  padding-top: .5em;

  color: #4d4d4d;

  font-style: italic;

}



.h1 a {

  text-decoration: none;

}



.h1 a:hover {

  text-decoration: underline;

}



@media (max-width: 767px) {

  .h1 {

    font-size: 2.4rem;

  }

  .h1 span {

    font-size: 1.4rem;

  }

}



.h2, .article_list h2 {

  display: block;

  margin: 0 auto 1em;

  position: relative;

  text-align: center;

  border: 0;

  font-weight: bold;

  padding: 0 0 .5em;

  font-size: 3rem;

  color: #333;

}



.h2 a, .article_list h2 a {

  text-decoration: none;

  color: #333;

}



.h2 a:hover, .article_list h2 a:hover {

  text-decoration: underline;

  color: #333;

}



.h2 span, .article_list h2 span {

  display: block;

  font-size: 1.4rem;

  padding-top: 1em;

}



.h2:after, .article_list h2:after {

  content: '';

  display: block;

  position: absolute;

  height: 2px;

  width: 60px;

  right: 0;

  left: 0;

  bottom: 0;

  top: auto;

  margin: auto;

  background: #222;

}



@media (max-width: 767px) {

  .h2, .article_list h2 {

    font-size: 2.4rem;

  }

  .h2:after, .article_list h2:after {

    width: 20px;

  }

}



.h3 {

  margin: 0 0 1em;

  padding-bottom: 0.5em;

  color: #333;

  font-size: 2.4rem;

  position: relative;

}



.h3 a {

  text-decoration: none;

}



.h3 a:hover {

  text-decoration: underline;

}



.h3:after {

  content: '';

  position: absolute;

  bottom: 0;

  left: 0;

  display: block;

  width: 100%;

  height: 1px;

  background: rgba(34, 34, 34, 0.2);

}



@media (max-width: 767px) {

  .h3 {

    font-size: 2rem;

  }

}



.h4 {

  margin: 0 0 1em;

  padding-left: 1em;

  font-size: 1.8rem;

  position: relative;

  color: #333;

  font-weight: bold;

}



.h4 a {

  text-decoration: none;

}



.h4 a:hover {

  text-decoration: underline;

}



.h4:after {

  content: '';

  position: absolute;

  bottom: 0;

  top: 0;

  left: 0;

  display: block;

  width: 5px;

  height: 1em;

  margin: auto;

  background: #222;

}



@media (max-width: 767px) {

  .h4 {

    font-size: 1.4rem;

  }

}



.widget_wrap .widget_header {

  font-size: 1.6rem;

  color: #333;

  padding: .5em 0 .5em .5em;

  border-bottom: #222 solid 2px;

  font-weight: bold;

}



.widget_wrap .widget_header a {

  text-decoration: none;

}



.widget_wrap .widget_header a:hover {

  text-decoration: underline;

}



@media (max-width: 767px) {

  .widget_wrap .widget_header {

    font-size: 1.4rem;

  }

}



.bread {

  overflow: hidden;

  font-size: 1.2rem;

  margin: 0 auto 60px;

  width: 100%;

  max-width: 1200px;

}



@media (max-width: 767px) {

  .bread {

    margin: 0 auto 40px;

  }

}



.bread ul {

  padding: 1em 0;

  margin: 0 auto;

  float: none;

}



.bread ul li {

  list-style: none;

  position: relative;

  float: left;

  padding-right: 2em;

  margin-right: 1.5em;

}



.bread ul li a {

  text-decoration: none;

  color: #222;

}



.bread ul li a:hover {

  color: #222;

  text-decoration: none;

}



.bread ul li:after {

  content: '>';

  display: block;

  position: absolute;

  top: 0;

  right: 0;

  bottom: 0;

  margin: auto;

}



.bread ul li:last-child {

  padding-right: 0;

  margin-right: 0;

}



.bread ul li:last-child:after {

  content: none;

}



.button, .inquiry .form_button, #wpcf7cpcnf .wpcf7cp-btns button {

  display: inline-block;

  max-width: 240px;

  width: 100%;

  margin: 0;

  padding: 1em 1em;

  border: #222 solid 1px;

  border-radius: 0px;

  line-height: 1;

  background: #222;

  color: #333;

  text-align: center;

  text-decoration: none;

  -webkit-appearance: none;

     -moz-appearance: none;

          appearance: none;

  transition: .3s;

  font-size: 1.6rem;

  cursor: pointer;

  background: none;

  border: 0;

  border-bottom: 1px solid #333;

  /*

* ボタン矢印

*/

}



.button:hover, .inquiry .form_button:hover, #wpcf7cpcnf .wpcf7cp-btns button:hover {

  background: #fff;

  color: #333;

  border-color: #333;

  opacity: .7;

}



.button.arrow, .inquiry .arrow.form_button, #wpcf7cpcnf .wpcf7cp-btns button.arrow {

  position: relative;

  font-size: 1.6rem;

}



.button.arrow:after, .inquiry .arrow.form_button:after, #wpcf7cpcnf .wpcf7cp-btns button.arrow:after {

  content: "";

  display: block;

  position: absolute;

  bottom: 49%;

  right: 5%;

  margin: auto;

  width: 20px;

  height: 5px;

  border-bottom: 1px solid white;

  border-right: 1px solid white;

  transform: skew(45deg);

  transition: 0.2s;

}



.button.arrow:hover, .inquiry .arrow.form_button:hover, #wpcf7cpcnf .wpcf7cp-btns button.arrow:hover {

  border: 1px solid #222;

}



.button.arrow:hover:after, .inquiry .arrow.form_button:hover:after, #wpcf7cpcnf .wpcf7cp-btns button.arrow:hover:after {

  right: 4%;

}



.highlight .button, .highlight .inquiry .form_button, .inquiry .highlight .form_button, .highlight #wpcf7cpcnf .wpcf7cp-btns button, #wpcf7cpcnf .wpcf7cp-btns .highlight button {

  color: #333;

}



.highlight .button:hover, .highlight .inquiry .form_button:hover, .inquiry .highlight .form_button:hover, .highlight #wpcf7cpcnf .wpcf7cp-btns button:hover, #wpcf7cpcnf .wpcf7cp-btns .highlight button:hover {

  color: #333;

}



.button.inverse, .inquiry .inverse.form_button, #wpcf7cpcnf .wpcf7cp-btns button.inverse {

  background: none;

  border-color: #222;

  color: #222;

}



.button.inverse:after, .inquiry .inverse.form_button:after, #wpcf7cpcnf .wpcf7cp-btns button.inverse:after {

  border-color: #222;

}



.button.inverse:hover, .inquiry .inverse.form_button:hover, #wpcf7cpcnf .wpcf7cp-btns button.inverse:hover {

  background: #222;

  color: #fff;

}



.button.inverse:hover:after, .inquiry .inverse.form_button:hover:after, #wpcf7cpcnf .wpcf7cp-btns button.inverse:hover:after {

  border-color: #fff;

}



.button.block, .inquiry .block.form_button, #wpcf7cpcnf .wpcf7cp-btns button.block {

  display: block;

  min-width: 100%;

}



.button.small, .inquiry .small.form_button, #wpcf7cpcnf .wpcf7cp-btns button.small {

  padding: .6em 1em;

  max-width: unset;

  width: auto;

}



.button.small.arrow, .inquiry .small.arrow.form_button, #wpcf7cpcnf .wpcf7cp-btns button.small.arrow {

  padding-right: 2.5em;

}



.button + .button, .inquiry .form_button + .button, #wpcf7cpcnf .wpcf7cp-btns button + .button, .inquiry .button + .form_button, .inquiry .form_button + .form_button, #wpcf7cpcnf .wpcf7cp-btns .inquiry button + .form_button, .inquiry #wpcf7cpcnf .wpcf7cp-btns button + .form_button, #wpcf7cpcnf .wpcf7cp-btns .button + button, .inquiry #wpcf7cpcnf .wpcf7cp-btns .form_button + button, #wpcf7cpcnf .wpcf7cp-btns .inquiry .form_button + button, #wpcf7cpcnf .wpcf7cp-btns button + button {

  margin-left: 0.5em;

}



@media (max-width: 767px) {

  .button + .button, .inquiry .form_button + .button, #wpcf7cpcnf .wpcf7cp-btns button + .button, .inquiry .button + .form_button, .inquiry .form_button + .form_button, #wpcf7cpcnf .wpcf7cp-btns .inquiry button + .form_button, .inquiry #wpcf7cpcnf .wpcf7cp-btns button + .form_button, #wpcf7cpcnf .wpcf7cp-btns .button + button, .inquiry #wpcf7cpcnf .wpcf7cp-btns .form_button + button, #wpcf7cpcnf .wpcf7cp-btns .inquiry .form_button + button, #wpcf7cpcnf .wpcf7cp-btns button + button {

    margin-left: 0;

    margin-top: 1em;

  }

}



/* お問い合わせフォーム */

.inquiry .form_wrap {

  margin: 0;

  padding: 4%;

  border: rgba(34, 34, 34, 0.1) solid 5px;

  border-radius: 10px;

}



.inquiry .form_wrap .p-country-name {

  display: none;

}



.inquiry .table-default {

  border: none;

}



.inquiry .table-default tr:not(:last-of-type) {

  border-bottom: 1px solid #cccccc;

}



.inquiry .table-default th {

  background: none;

  border: none;

  text-align: left;

  padding: 1.4em 50px 1.2em .5em;

  vertical-align: top;

  font-weight: bold;

  position: relative;

}



@media (max-width: 767px) {

  .inquiry .table-default th {

    padding: 1em 0 0;

  }

}



.inquiry .table-default th .required {

  display: inline-block;

  background: #d43f3a;

  color: white;

  padding: 4px 10px;

  border-radius: 3px;

  font-size: 1.2rem;

  margin-left: .5em;

  flex-shrink: 0;

}



@media (min-width: 768px) {

  .inquiry .table-default th .required {

    position: absolute;

    top: 1.6em;

    right: 0;

  }

}



.inquiry .table-default td {

  background: none;

  border: none;

  padding: 1.2em .5em;

}



@media (max-width: 767px) {

  .inquiry .table-default td {

    padding: .5em 0 1em;

  }

}



.inquiry .input_wrap {

  display: block;

  margin: 0;

  padding: 0 .2em;

}



@media (max-width: 767px) {

  .inquiry .input_wrap {

    margin: 0;

  }

}



.inquiry .input_wrap input, .inquiry .input_wrap textarea {

  margin: 0;

}



.inquiry .input_wrap:last-child {

  margin-right: auto;

}



.inquiry .text-2col {

  display: flex;

}



.inquiry .text-2col .input_wrap {

  flex-basis: 50%;

}



.inquiry input[type="text"],

.inquiry input[type="url"],

.inquiry input[type="email"],

.inquiry input[type="tel"],

.inquiry input[type="date"],

.inquiry input[type="number"],

.inquiry select,

.inquiry textarea {

  width: 100%;

  max-width: 100%;

  padding: 7px 2%;

  color: #333;

  font-size: 1.6rem;

  margin: 0 .2em;

  border: 1px solid #cccccc;

  background: #fafafa;

  border-radius: 3px;

  -webkit-appearance: none;

}



@media (max-width: 767px) {

  .inquiry input[type="text"],

  .inquiry input[type="url"],

  .inquiry input[type="email"],

  .inquiry input[type="tel"],

  .inquiry input[type="date"],

  .inquiry input[type="number"],

  .inquiry select,

  .inquiry textarea {

    margin: .2em 0;

  }

}



.inquiry input[type="number"] {

  width: 65px;

  text-align: center;

}



.inquiry input.p-postal-code {

  width: 200px;

}



.inquiry input.p-region {

  width: 100px;

}



.inquiry input.p-locality {

  width: 150px;

}



.inquiry input.p-street-address {

  width: 100%;

}



.inquiry input.p-extended-address {

  width: 100%;

}



.inquiry .mwform-tel-field {

  display: flex;

  justify-content: space-between;

}



.inquiry .submit {

  margin: 1em 0;

  text-align: center;

}



.inquiry .form_button, .inquiry .wpcf7-submit {

  background: #222;

  color: white;

  border-color: #222;

}



.inquiry .form_button.form_back, .inquiry .wpcf7-submit.form_back {

  background: #ccc;

  border-color: #ccc;

  color: #666;

}



.inquiry .form_button.form_back:hover, .inquiry .wpcf7-submit.form_back:hover {

  background: #bfbfbf;

  border-color: #bfbfbf;

  color: #666;

}



.inquiry .form_button.form_send, .inquiry .wpcf7-submit.form_send {

  background: #090909;

  border-color: #090909;

  color: #fff;

}



.inquiry .form_button.form_send:hover, .inquiry .wpcf7-submit.form_send:hover {

  background: black;

  border-color: black;

  color: #fff;

}



@media (min-width: 768px) {

  .inquiry input[type="text"],

  .inquiry input[type="url"],

  .inquiry input[type="email"],

  .inquiry input[type="tel"],

  .inquiry input[type="date"],

  .inquiry input[type="text"],

  .inquiry select {

    margin: 0 .2em;

  }

  .inquiry input[type="number"] {

    width: 65px;

  }

  .inquiry input.p-postal-code {

    width: 200px;

  }

  .inquiry input.p-region {

    width: 100px;

  }

  .inquiry input.p-locality {

    width: 150px;

  }

  .inquiry input.p-street-address {

    width: 100%;

  }

  .inquiry input.p-extended-address {

    width: 100%;

  }

  .inquiry textarea {

    width: 100%;

  }

  .inquiry .input_wrap {

    display: block;

    margin: 0 .2em;

  }

  .inquiry .input_wrap input, .inquiry .input_wrap textarea {

    margin: 0;

  }

  .inquiry .input_wrap:last-child {

    margin-right: auto;

  }

  .inquiry .submit {

    margin: 60px 0 0;

  }

}



.form_button_wrap {

  display: flex;

  justify-content: center;

  position: relative;

}



@media (max-width: 767px) {

  .form_button_wrap {

    flex-flow: column;

    justify-content: center;

    align-items: center;

  }

}



.form_button_wrap button {

  margin: .5em !important;

}



.wpcf7-spinner {

  margin: 1em 24px !important;

}



.privacy_wrap {

  margin-top: 5%;

  border: #ccc solid 1px;

  padding: 1em;

  height: 400px;

  overflow-y: scroll;

}



.mw_wp_form_confirm .input-show {

  display: none !important;

}



.mw_wp_form_input .input-hide {

  display: none !important;

}



.mw_wp_form .error {

  color: #d43f3a !important;

}



.wpcf7cp-form-hide {

  display: none !important;

}



#wpcf7cpcnf {

  position: static !important;

  width: 100% !important;

  max-width: 1200px !important;

  margin: auto !important;

  right: 0;

  z-index: 998 !important;

}



#wpcf7cpcnf table {

  width: 94%;

  height: 94%;

  position: relative;

  margin-top: 3%;

  margin-bottom: 3%;

  margin-left: 3%;

  margin-right: 3%;

  table-layout: fixed;

}



@media (max-width: 1219px) {

  #wpcf7cpcnf table {

    width: calc(100% - 40px);

    margin-left: 20px;

    margin-right: 20px;

  }

}



#wpcf7cpcnf table:after {

  content: '';

  width: 106%;

  height: 106%;

  padding: 4%;

  border: rgba(23, 83, 150, 0.1) solid 5px;

  border-radius: 10px;

  position: absolute;

  top: -3%;

  bottom: -3%;

  left: -3%;

  right: -3%;

  pointer-events: none;

}



@media (max-width: 767px) {

  #wpcf7cpcnf table:after {

    top: 0;

    height: 100%;

  }

}



#wpcf7cpcnf table tr:not(:last-of-type) {

  border-bottom: 1px solid #cccccc;

}



#wpcf7cpcnf table th {

  width: 30%;

  background: none;

  border: none;

  text-align: left;

  padding: 1.4em 50px 1.2em .5em;

  vertical-align: top;

  font-weight: bold;

  position: relative;

}



@media (max-width: 767px) {

  #wpcf7cpcnf table th {

    display: block;

    width: 100%;

    padding: 1em 0.5em 0;

  }

}



#wpcf7cpcnf table td {

  background: none;

  border: none;

  padding: 1.2em .5em;

}



@media (max-width: 767px) {

  #wpcf7cpcnf table td {

    display: block;

    width: 100%;

  }

}



#wpcf7cpcnf .wpcf7cp-btns {

  margin-top: calc(2em + 3%);

  display: flex;

  justify-content: center;

  position: relative;

}



@media (max-width: 767px) {

  #wpcf7cpcnf .wpcf7cp-btns {

    flex-flow: column;

    justify-content: center;

    align-items: center;

  }

}



#wpcf7cpcnf .wpcf7cp-btns button.wpcf7cp-cfm-edit-btn {

  background: #bfbfbf;

  border-color: #bfbfbf;

  color: #666;

}



.wpcf7 .screen-reader-response {

  position: absolute;

  overflow: hidden;

  clip: rect(1px, 1px, 1px, 1px);

  -webkit-clip-path: inset(50%);

          clip-path: inset(50%);

  height: 1px;

  width: 1px;

  margin: -1px;

  padding: 0;

  border: 0;

  word-wrap: normal !important;

}



.wpcf7 form .wpcf7-response-output {

  margin: 2em 0.5em 1em;

  padding: 0.2em 1em;

  border: 2px solid #00a0d2;

  /* Blue */

}



.wpcf7 form.init .wpcf7-response-output,

.wpcf7 form.resetting .wpcf7-response-output,

.wpcf7 form.submitting .wpcf7-response-output {

  display: none;

}



.wpcf7 form.sent .wpcf7-response-output {

  border-color: #46b450;

  /* Green */

}



.wpcf7 form.failed .wpcf7-response-output,

.wpcf7 form.aborted .wpcf7-response-output {

  border-color: #dc3232;

  /* Red */

}



.wpcf7 form.spam .wpcf7-response-output {

  border-color: #f56e28;

  /* Orange */

}



.wpcf7 form.invalid .wpcf7-response-output,

.wpcf7 form.unaccepted .wpcf7-response-output,

.wpcf7 form.payment-required .wpcf7-response-output {

  border-color: #ffb900;

  /* Yellow */

}



.wpcf7-form-control-wrap {

  position: relative;

}



.wpcf7-not-valid-tip {

  color: #dc3232;

  /* Red */

  font-size: 1em;

  font-weight: normal;

  display: block;

}



.use-floating-validation-tip .wpcf7-not-valid-tip {

  position: relative;

  top: -2ex;

  left: 1em;

  z-index: 100;

  border: 1px solid #dc3232;

  background: #fff;

  padding: .2em .8em;

  width: 24em;

}



.wpcf7-list-item {

  display: inline-block;

  margin: 0 0 0 1em;

}



.wpcf7-list-item-label::before,

.wpcf7-list-item-label::after {

  content: " ";

}



.wpcf7-spinner {

  visibility: hidden;

  display: inline-block;

  background-color: #23282d;

  /* Dark Gray 800 */

  opacity: 0.75;

  width: 24px;

  height: 24px;

  border: none;

  border-radius: 100%;

  padding: 0;

  margin: 0 24px;

  position: relative;

}



form.submitting .wpcf7-spinner {

  visibility: visible;

}



.wpcf7-spinner::before {

  content: '';

  position: absolute;

  background-color: #fbfbfc;

  /* Light Gray 100 */

  top: 4px;

  left: 4px;

  width: 6px;

  height: 6px;

  border: none;

  border-radius: 100%;

  transform-origin: 8px 8px;

  -webkit-animation-name: spin;

          animation-name: spin;

  -webkit-animation-duration: 1000ms;

          animation-duration: 1000ms;

  -webkit-animation-timing-function: linear;

          animation-timing-function: linear;

  -webkit-animation-iteration-count: infinite;

          animation-iteration-count: infinite;

}



@media (prefers-reduced-motion: reduce) {

  .wpcf7-spinner::before {

    -webkit-animation-name: blink;

            animation-name: blink;

    -webkit-animation-duration: 2000ms;

            animation-duration: 2000ms;

  }

}



@-webkit-keyframes spin {

  from {

    transform: rotate(0deg);

  }

  to {

    transform: rotate(360deg);

  }

}



@keyframes spin {

  from {

    transform: rotate(0deg);

  }

  to {

    transform: rotate(360deg);

  }

}



@-webkit-keyframes blink {

  from {

    opacity: 0;

  }

  50% {

    opacity: 1;

  }

  to {

    opacity: 0;

  }

}



@keyframes blink {

  from {

    opacity: 0;

  }

  50% {

    opacity: 1;

  }

  to {

    opacity: 0;

  }

}



.wpcf7 [inert] {

  opacity: 0.5;

}



.wpcf7 input[type="file"] {

  cursor: pointer;

}



.wpcf7 input[type="file"]:disabled {

  cursor: default;

}



.wpcf7 .wpcf7-submit:disabled {

  cursor: not-allowed;

}



.wpcf7 input[type="url"],

.wpcf7 input[type="email"],

.wpcf7 input[type="tel"] {

  direction: ltr;

}



.wpcf7-reflection > output {

  display: list-item;

  list-style: none;

}



.wpcf7-reflection > output[hidden] {

  display: none;

}



.p-loopSlide {

  display: flex;

  width: 100%;

  overflow: hidden;

}



.p-loopSlide ul {

  padding: 0;

  margin: 0;

  width: 100%;

  display: flex;

  flex-shrink: 0;

}



@media (max-width: 767px) {

  .p-loopSlide ul {

    width: 300%;

  }

}



.p-loopSlide ul:first-child {

  -webkit-animation: loop 50s -25s linear infinite;

          animation: loop 50s -25s linear infinite;

}



.p-loopSlide ul:last-child {

  -webkit-animation: loop2 50s linear infinite;

          animation: loop2 50s linear infinite;

}



.p-loopSlide ul li {

  width: 100%;

  list-style: none;

  padding: 0 0 0 20px;

}



.p-loopSlide ul li img {

  width: 100%;

  height: auto;

}



@-webkit-keyframes loop {

  0% {

    transform: translateX(100%);

  }

  to {

    transform: translateX(-100%);

  }

}



@keyframes loop {

  0% {

    transform: translateX(100%);

  }

  to {

    transform: translateX(-100%);

  }

}



@-webkit-keyframes loop2 {

  0% {

    transform: translateX(0);

  }

  to {

    transform: translateX(-200%);

  }

}



@keyframes loop2 {

  0% {

    transform: translateX(0);

  }

  to {

    transform: translateX(-200%);

  }

}



header .global_nav > ul > li.menu-item-has-children {

  display: flex;

  flex-wrap: wrap;

  justify-content: space-between;

}



header .global_nav > ul > li.menu-item-has-children > a {

  position: relative;

}



@media (max-width: 999px) {

  header .global_nav > ul > li.menu-item-has-children > a {

    width: calc(100% - 49px);

  }

}



header .global_nav > ul > li.menu-item-has-children > a:after {

  content: "";

  display: block;

  position: absolute;

  top: 0;

  right: 1em;

  bottom: 0;

  margin: auto;

  width: 7px;

  height: 7px;

  border-top: 2px solid #fff;

  border-right: 2px solid #fff;

  transform: translate(0, -50%) rotate(135deg);

  transition: .2s;

}



@media (max-width: 999px) {

  header .global_nav > ul > li.menu-item-has-children > a:after {

    content: none;

  }

}



header .global_nav > ul > li.menu-item-has-children.menu_under_open > a:after {

  transform: translate(0, 0) rotate(-45deg);

}



header .global_nav > ul > li > .sub-menu {

  margin: 0;

  padding: 0;

  list-style: none;

}



@media (min-width: 1000px) {

  header .global_nav > ul > li > .sub-menu {

    opacity: 0;

    visibility: hidden;

  }

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu {

    width: 100%;

    display: none;

  }

}



header .global_nav > ul > li > .sub-menu > li {

  border-bottom: 1px solid #b3b3b3;

}



header .global_nav > ul > li > .sub-menu > li:last-child {

  border-bottom: none;

}



header .global_nav > ul > li > .sub-menu > li > a {

  background: rgba(60, 60, 60, 0.9);

  padding-left: 2em;

  position: relative;

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children {

  position: relative;

  display: flex;

  flex-wrap: wrap;

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > a {

  position: relative;

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > a {

    width: calc(100% - 49px);

  }

}



@media (min-width: 1000px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > a:after {

    content: "";

    display: block;

    position: absolute;

    top: 0;

    right: 1em;

    bottom: 0;

    margin: auto;

    width: 7px;

    height: 7px;

    border-top: 1px solid #fff;

    border-right: 1px solid #fff;

    transform: rotate(45deg);

    transition: .2s;

  }

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > a:after {

    content: none;

  }

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children.menu_under_open > a:after {

    transform: translate(0, 0) rotate(-45deg);

  }

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu {

  margin: 0;

  padding: 0;

  list-style: none;

}



@media (min-width: 1000px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu {

    opacity: 0;

    visibility: hidden;

    transition: .3s;

  }

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu {

    display: none;

  }

}



@media (min-width: 1000px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu {

    position: absolute;

    top: 0;

    left: 100%;

    min-width: 200px;

  }

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu {

    width: 100%;

    display: none;

  }

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu li:not(:last-child) {

  border-bottom: #fff solid 1px;

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu li:not(:last-child) {

    border-bottom: #b3b3b3 solid 1px;

  }

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu li:last-child {

  border-bottom: none;

}



header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu li a {

  background: rgba(72, 72, 72, 0.9);

}



@media (max-width: 999px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu li a {

    padding-left: 2.5em;

  }

}



@media (min-width: 1000px) {

  header .global_nav > ul > li > .sub-menu > li.menu-item-has-children:hover > .sub-menu, header .global_nav > ul > li > .sub-menu > li.menu-item-has-children.menu_under_open > .sub-menu {

    opacity: 1;

    visibility: visible;

  }

}



.child-menu-button {

  position: relative;

  width: 49px;

  min-height: 49px;

  background: #000;

  border: 0;

  outline: 0;

  border-radius: 0;

  cursor: pointer;

  -webkit-appearance: none;

     -moz-appearance: none;

          appearance: none;

}



@media (min-width: 1000px) {

  .child-menu-button {

    display: none;

  }

}



.child-menu-button:before, .child-menu-button:after {

  content: "";

  position: absolute;

  top: 0;

  right: 0;

  bottom: 0;

  left: 0;

  display: block;

  margin: auto;

  background: #fff;

  transition: .2s ease;

}



.child-menu-button:before {

  width: 15px;

  height: 1px;

}



.child-menu-button:after {

  width: 1px;

  height: 15px;

}



.child-menu-button.is-open:before {

  opacity: 0;

  transform: rotate(90deg);

}



.child-menu-button.is-open:after {

  transform: rotate(90deg);

}



.child-menu-button.is-open + .sub-menu {

  opacity: 1 !important;

  visibility: visible !important;

  display: none;

}



@media (min-width: 1000px) {

  header .global_nav > ul > li.menu-item-has-children {

    position: relative;

    cursor: pointer;

  }

  header .global_nav > ul > li.menu-item-has-children > a {

    padding-right: 2em;

    position: relative;

  }

  header .global_nav > ul > li.menu-item-has-children > a:after {

    border-color: #333;

    width: 6px;

    height: 6px;

  }

  header .global_nav > ul > li.menu-item-has-children > a:after {

    transform: translate(0, -50%) rotate(135deg);

  }

  header .global_nav > ul > li.menu-item-has-children > a.menu_under_open:after {

    transform: translate(0) rotate(-45deg);

  }

  header .global_nav > ul > li.menu-item-has-children > .sub-menu {

    position: absolute;

    right: 0;

    margin: auto;

    top: 100%;

    min-width: 200px;

    letter-spacing: -.40em;

    z-index: 999;

  }

  header .global_nav > ul > li.menu-item-has-children > .sub-menu > li {

    letter-spacing: normal;

    display: block;

    vertical-align: middle;

    width: 100%;

    text-align: center;

    border-bottom: 0;

    padding: 0;

  }

  header .global_nav > ul > li.menu-item-has-children > .sub-menu > li:not(:last-child) {

    border-bottom: white solid 1px;

  }

  header .global_nav > ul > li.menu-item-has-children > .sub-menu > li a {

    display: block;

    background: rgba(34, 34, 34, 0.9);

    padding: .5em;

    color: #fff;

  }

  header .global_nav > ul > li.menu-item-has-children > .sub-menu > li a:before {

    content: none;

  }

}



@media (min-width: 1000px) and (max-width: 999px) {

  header .global_nav > ul > li.menu-item-has-children {

    opacity: 1;

    visibility: visible;

  }

}



@media (min-width: 1000px) {

  header .global_nav > ul > li.menu-item-has-children:hover .sub-menu {

    opacity: 1;

    visibility: visible;

  }

  header .global_nav > ul > li.menu-item-has-children:hover > a:after {

    transform: translate(0) rotate(-45deg);

  }

  header .global_nav > ul > li.menu-item-has-children:hover > ul {

    opacity: 1;

    height: auto;

    visibility: visible;

  }

}



.modaal-close:focus:after, .modaal-close:focus:before, .modaal-close:hover:after, .modaal-close:hover:before {

  background: #222;

}



.movie {

  position: relative;

  overflow: hidden;

  height: 0;

  padding-top: 56.25%;

}



.movie iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100% !important;

  height: 100% !important;

}



.movie.ar16to9 {

  padding-top: 56.25%;

}



.movie.ar4to3 {

  padding-top: 75%;

}



@media (max-width: 767px) {

  .news .heading {

    display: flex;

    justify-content: space-between;

  }

  .news .heading h2 {

    text-align: left;

    margin: 0 0 1em;

  }

  .news .heading h2:after {

    right: auto;

  }

}



.news dl {

  margin: 0;

  overflow-y: auto;

  max-height: 300px;

}



.news dl dt {

  margin: 0.5em 0 0;

  padding: 0 1em;

  font-weight: normal;

  display: flex;

  align-items: flex-start;

  flex-wrap: wrap;

  gap: 5px 10px;

}



.news dl dd {

  margin: 0.5em 0;

  padding: 0 1em 0.5em;

  border-bottom: #ccc solid 1px;

  position: relative;

}



.news dl dd a {

  text-decoration: none;

}



.news dl dd a:hover {

  text-decoration: underline;

}



.news dl .badge_category_wrap {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

}



.news dl .badge_category {

  display: inline-block;

  background: #222;

  color: white;

  padding: .2em 1em;

  font-size: 1.2rem;

}



@media (min-width: 768px) {

  .news > div {

    display: flex;

    width: 100%;

    margin: 0 auto;

  }

  .news > div .heading {

    width: 23.5%;

  }

  .news h2 {

    margin: 0;

    padding: 0;

  }

  .news h2:after {

    display: none;

  }

  .news .content {

    overflow: hidden;

    width: 76.5%;

    padding-left: 2%;

  }

  .news dl {

    overflow-y: auto;

    max-height: 200px;

  }

  .news dl dt {

    margin: 0;

    padding: 1em 0 .5em 0;

  }

  .news dl dd {

    margin: 0;

    padding: .5em 0 1em 0;

  }

  .news.typeB dl {

    display: grid;

    grid-template-columns: -webkit-max-content 1fr;

    grid-template-columns: max-content 1fr;

    gap: 0 0;

  }

  .news.typeB dt {

    max-width: 200px;

    border-bottom: #ccc solid 1px;

  }

  .news.typeB dd {

    margin: 0;

    padding: 1em 0 1em 0;

  }

  .news.typeB dd a {

    display: block;

    width: 100%;

    position: relative;

    padding-right: 20px;

  }

  .news.typeB dd a:after {

    content: "";

    display: block;

    position: absolute;

    top: calc(50% - 3px);

    right: 10px;

    margin: auto;

    width: 7px;

    height: 7px;

    border-bottom: 2px solid #222;

    border-right: 2px solid #222;

    transform: rotate(-45deg);

    transition: 0.2s;

  }

}



.pagetop {

  position: fixed;

  bottom: 150px;

  right: 5%;

  z-index: 98;

  margin: 0;

}



@media (max-width: 767px) {

  .pagetop {

    bottom: 22vw;

  }

}



.pagetop a {

  overflow: hidden;

  text-indent: 100%;

  white-space: nowrap;

  display: block;

  position: relative;

  width: 50px;

  height: 50px;

  padding: 0;

  background: url(/wordpress/wp-content/uploads/totop.png) no-repeat center center/cover;

}



@media (min-width: 768px) {

  .pagetop a {

    width: 70px;

    height: 70px;

  }

}



@media (min-width: 768px) {

  footer.high .pagetop {

    position: absolute;

    bottom: 150px;

    right: 5%;

    top: auto;

    margin: 0;

  }

}



.p-qa .question {

  font-size: 1.6rem;

  border: none;

  position: relative;

  margin: 0 0 0;

  padding: 1em 50px 1em 1em;

  background-color: rgba(34, 34, 34, 0.1);

  font-weight: normal;

}



.p-qa .question:after {

  content: none;

}



.p-qa .question:before {

  content: none;

}



.p-qa .question.open:after {

  transform: rotate(180deg);

}



.p-qa .question:not(:first-child) {

  margin-top: 1em !important;

}



.p-qa .answer {

  padding: 1em 0 0 1em;

}



.p-qa.qa_active .question {

  cursor: pointer;

}



.p-qa.qa_active .question:hover {

  opacity: 0.8;

}



.p-qa.qa_active .question:after {

  content: '';

  display: block;

  width: 24px;

  height: 24px;

  position: absolute;

  right: 1em;

  left: auto;

  top: 50%;

  bottom: auto;

  margin-top: -12px;

  background: url(../../../../../wp-content/uploads/arrow_down.svg) center center no-repeat;

  background-size: 24px;

  transition: .5s;

  border: none;

}



.p-qa.qa_active .answer {

  display: none;

}



.highlight .qa .question {

  background: rgba(47, 47, 47, 0.1);

}



.highlight .qa .question:hover {

  background: rgba(39, 39, 39, 0.1);

}



.highlight .qa .question.open:hover {

  background: rgba(47, 47, 47, 0.1);

}



.nav_search {

  display: none;

}



.nav_search_box {

  display: none;

}



.p-search .article_list {

  padding: 0;

  border-bottom: rgba(34, 34, 34, 0.1) solid 1px !important;

  border-top: none;

}



.p-search .article_list:first-of-type {

  border-top: rgba(34, 34, 34, 0.1) solid 1px;

}



.p-search .article_list .col {

  margin: 0;

}



.p-search .article_list .search_item {

  display: block;

  text-decoration: none;

  color: currentColor;

  padding: 1em;

}



.p-search .article_list .search_item:hover {

  opacity: 0.8;

  background: rgba(34, 34, 34, 0.03);

}



.p-search .article_list .search_item h2 {

  margin: 0 0 0 !important;

  padding-bottom: 0 !important;

  text-align: left;

}



.p-search .article_list .search_item h2:after {

  content: none;

}



.p-search .article_list .search_item h2 ~ p {

  margin-top: .6em;

}



.shopinfo figure, .shopinfo picture {

  max-width: 80%;

  margin: 0 auto;

}



.shopinfo address {

  text-align: center;

  font-size: 2rem;

  font-style: normal;

}



.shopinfo dl {

  margin: 2em 0;

  line-height: 1.4;

}



.shopinfo dl:first-child {

  margin-top: 0;

}



.shopinfo dl dt {

  margin: 0 0 0.2em 0;

  font-weight: normal;

}



.shopinfo dl dt:before {

  content: '';

  display: inline-block;

  width: 8px;

  height: 3px;

  margin-right: 0.3em;

  vertical-align: middle;

  background: #222;

}



.shopinfo dl dd {

  margin: 0 0 0.5em 1em;

  padding: 0;

}



.map_container {

  position: relative;

  width: 100%;

  height: 0;

  padding-top: 70%;

}



.map_container iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}



.map_container + p {

  margin-top: 2em;

}



.map_wide {

  position: relative;

  width: 100%;

  height: 0;

  padding-top: 70%;

}



.map_wide iframe {

  position: absolute;

  top: 0;

  left: 0;

  width: 100%;

  height: 100%;

}



body.scroll .googlemap {

  pointer-events: none;

}



@media (min-width: 768px) {

  .shopinfo figure, .shopinfo picture {

    max-width: 100%;

  }

  .shopinfo address {

    margin-bottom: 15px;

    text-align: left;

    font-size: 2.6rem;

    line-height: 1;

  }

  .shopinfo dl.dl-horizontal {

    margin: 10px 0;

  }

  .shopinfo dl.dl-horizontal dd {

    margin-bottom: 0.3em;

  }

  .shopinfo .span12 .map_container {

    padding-top: 50%;

  }

  .map_wide {

    padding-top: 600px;

  }

}



.p-sitemap {

  border-top: rgba(51, 51, 51, 0.3) solid 1px;

}



.p-sitemap ul {

  margin: 0;

  padding: 0;

  list-style: none;

}



.p-sitemap ul li a {

  display: block;

  text-decoration: none;

  position: relative;

  padding: .6em 1em .6em 1.5em;

  border-bottom: rgba(51, 51, 51, 0.3) solid 1px;

  font-size: 1.8rem;

}



.p-sitemap ul li a:before {

  content: '';

  width: 6px;

  height: 6px;

  border: 0;

  border-top: solid 2px #333;

  border-right: solid 2px #333;

  transform: rotate(45deg);

  position: absolute;

  top: 0;

  bottom: 0;

  left: .5em;

  margin: auto;

}



.p-sitemap ul li a:hover {

  background: rgba(34, 34, 34, 0.1);

}



.p-sitemap ul.children {

  margin: 0;

}



.p-sitemap ul.children li a {

  padding-left: 3em;

  font-size: 1.5rem;

}



.p-sitemap ul.children li a:before {

  left: 2em;

}



.sns_icons {

  display: table;

  margin: 0;

  padding: 0;

  list-style: none;

  font-size: 0rem;

  margin: auto;

}



.sns_icons > li {

  display: inline;

  padding-left: 0;

  padding-right: 0;

  white-space: nowrap;

  font-size: 1.6rem;

}



.sns_icons li {

  display: inline-block;

}



.sns_icons li:not(:last-child) {

  margin-right: 10px;

}



.sns_icons a {

  display: block;

  overflow: hidden;

  text-indent: 100%;

  white-space: nowrap;

  width: 34px;

  height: 34px;

  background-repeat: no-repeat;

  background-size: contain;

}



.sns_icons a.icon_facebook {

  background-image: url(../../../../../wp-content/uploads/icon_facebook.png);

}



.sns_icons a.icon_twitter {

  background-image: url(../../../../../wp-content/uploads/icon_twitter.png);

}



.sns_icons a.icon_line {

  background-image: url(../../../../../wp-content/uploads/icon_line.png);

}



.sns_icons a.icon_google {

  background-image: url(../../../../../wp-content/uploads/icon_google.png);

}



.sns_icons a.icon_instagram {

  background-image: url(../../../../../wp-content/uploads/icon_instagram.png);

}



footer .sns_icons {

  margin-top: 1.5em;

}



@media (min-width: 768px) {

  .sns_icons {

    margin: 0;

  }

  .sns_icons.center {

    margin: auto;

  }

  .sns_icons li:not(:last-child) {

    margin-right: 20px;

  }

  .sns_icons a {

    width: 68px;

    height: 68px;

  }

  footer .sns_icons {

    margin-top: 30px;

  }

}



@use "sass:math";

@media (max-width: 767px) {

  .sp_image_cols {

    display: flex;

    flex-wrap: wrap;

    -moz-column-gap: 2%;

         column-gap: 2%;

    row-gap: 20px;

  }

  .sp_image_cols.sp_col2 .col {

    width: 49%;

  }

  .sp_image_cols.sp_col3 {

    display: flex;

    flex-wrap: wrap;

  }

  .sp_image_cols.sp_col3 .col {

    width: 33.3333333333%;

    padding: 0 1%;

  }

}



.p-step .row:not(:last-child) {

  position: relative;

  margin-bottom: 40px;

}



.p-step .row:not(:last-child):after {

  content: '';

  position: absolute;

  bottom: -30px;

  left: 0;

  right: 0;

  margin: auto;

  background: #222;

  height: 20px;

  width: 60px;

  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);

          clip-path: polygon(0 0, 100% 0, 50% 100%);

}



table {

  margin: 0 auto;

}



table td,

table th {

  padding: 0.7em 1em;

}



@media (max-width: 767px) {

  table td,

  table th {

    padding: 0.7em .3em;

  }

}



table th {

  text-align: center;

  font-weight: normal;

}



.table-default {

  width: 100%;

  table-layout: fixed;

}



.table-default thead th, .table-default thead td {

  background: rgba(34, 34, 34, 0.15);

}



.table-default td,

.table-default th {

  border: 1px solid #ccc;

}



.table-default th {

  background: rgba(204, 204, 204, 0.2);

  color: #333;

}



.table-default td {

  background: transparent;

}



.table-default.table-mini td,

.table-default.table-mini th {

  padding: .5em 1em;

}



@media (max-width: 767px) {

  .table-default.table-mini td,

  .table-default.table-mini th {

    padding: .5em .3em;

  }

}



.table-menu {

  width: 100%;

}



.table-menu caption {

  margin-bottom: 0.5em;

  text-align: center;

  font-size: 2rem;

}



.table-menu td,

.table-menu th {

  padding: 0.7em 1em;

  border-top: 1px solid #ccc;

  border-bottom: 1px solid #ccc;

}



@media (max-width: 767px) {

  .table-menu td,

  .table-menu th {

    padding: 0.7em .3em;

  }

}



.table-menu tbody th {

  text-align: left;

}



.table-menu td:last-child {

  text-align: right;

  white-space: nowrap;

}



.table-schedule {

  width: 100%;

}



.table-schedule caption {

  margin-bottom: 0.5em;

  text-align: center;

  font-size: 2rem;

}



.table-schedule td,

.table-schedule th {

  border: 1px solid #ccc;

  padding: 0.7em 1em;

  text-align: center;

}



@media (max-width: 767px) {

  .table-schedule td,

  .table-schedule th {

    padding: 0.7em 0.3em;

  }

}



.table-schedule thead th {

  background: rgba(204, 204, 204, 0.2);

}



.table-schedule tbody th {

  background: rgba(204, 204, 204, 0.2);

}



.table-schedule td {

  background: transparent;

}



@media (max-width: 767px) {

  .responsive-stack {

    display: block;

  }

  .responsive-stack thead {

    display: none;

  }

  .responsive-stack tbody,

  .responsive-stack td,

  .responsive-stack th,

  .responsive-stack tr {

    display: block;

  }

  .responsive-stack td,

  .responsive-stack th {

    width: 100% !important;

  }

  .responsive-stack tr:not(:last-child) td,

  .responsive-stack tr:not(:last-child) th {

    border-bottom: 0;

  }

  .responsive-stack tr:last-child :not(:last-child) {

    border-bottom: 0;

  }

}



@media (max-width: 767px) {

  .responsive-scroll-container {

    display: block;

    width: 100%;

    min-height: 0.01%;

    overflow-x: scroll;

  }

  .responsive-scroll-container .responsive-scroll-inner {

    width: 798px;

    padding: 0 15px 15px;

  }

  .responsive-scroll-container table {

    width: 768px;

    margin: 0;

  }

}



.js-scrollable .scroll-hint-icon-wrap {

  margin-top: unset !important;

}



@media (max-width: 767px) {

  .js-scrollable table {

    width: 768px;

  }

}



table.table-default.typeA tr td,

table.table-default.typeA tr th {

  border: 0;

}



table.table-default.typeA tr:nth-child(odd) th {

  background: #222;

}



table.table-default.typeA tr:nth-child(odd) td {

  background: rgba(34, 34, 34, 0.1);

}



table.table-default.typeA tr:nth-child(even) th {

  background: #3c3c3c;

}



table.table-default.typeA tr:nth-child(even) td {

  background: rgba(60, 60, 60, 0.1);

}



table.table-default.typeB {

  border-spacing: 0;

  overflow: hidden;

}



table.table-default.typeB tbody td,

table.table-default.typeB tbody th {

  background: transparent;

  color: #333;

  border: 0;

  border-bottom: 1px solid rgba(204, 204, 204, 0.1);

}



table.table-default.typeB tbody tr {

  position: relative;

}



table.table-default.typeB tbody th {

  color: #222;

}



table.table-default.typeC th {

  background: rgba(204, 204, 204, 0.2);

  color: #333;

}



table.table-default.typeC td,

table.table-default.typeC th {

  border: 0;

}



table.table-default.typeC td:not(:last-child),

table.table-default.typeC th:not(:last-child) {

  border-bottom: 2px #fff solid;

}



table.table-default.typeC tr {

  position: relative;

}



table.table-default.typeC td {

  transform: translateX(2px);

}



.highlight table.table-default.typeC td,

.highlight table.table-default.typeC th {

  border: 0;

}



.highlight table.table-default.typeC td:not(:last-child),

.highlight table.table-default.typeC th:not(:last-child) {

  border-bottom: 2px rgba(34, 34, 34, 0.1) solid;

}



.article_list {

  padding: .5em;

  border-top: rgba(34, 34, 34, 0.2) solid 1px;

  position: relative;

  overflow: hidden;

}



@media (min-width: 768px) {

  .article_list {

    padding: 1em;

  }

}



.article_list .span_12 {

  margin: 2% 0;

}



.article_list:last-of-type {

  border-bottom: rgba(34, 34, 34, 0.2) solid 1px;

  margin-bottom: 100px;

}



@media (max-width: 767px) {

  .article_list:last-of-type {

    margin-bottom: 40px;

  }

}



.article_list .post_header {

  display: flex;

  flex-wrap: wrap;

  gap: 5px 10px;

}



.article_list .post_header .time {

  display: inline-block;

  position: relative;

  padding-left: 20px;

}



.article_list .post_header .time:before {

  display: block;

  position: absolute;

  content: '\f044';

  font-family: 'Font Awesome 5 Free';

  line-height: 10px;

  font-size: 16px;

  width: 16px;

  height: 16px;

  left: 0;

  top: 50%;

  transform: translateY(-50%);

  color: currentColor;

}



.article_list .post_header .category_badge {

  background: #222;

  color: white;

  font-size: 1.4rem;

  display: inline-block;

}



.article_list .post_header .category_badge a {

  display: block;

  padding: .2em 1em;

  color: white;

  text-decoration: none;

}



.article_list h2 {

  text-align: left;

  margin: 0 0 .5em !important;

  padding: 0;

  font-size: 2.4rem;

}



@media (max-width: 767px) {

  .article_list h2 {

    font-size: 1.9rem;

  }

}



.article_list h2:after {

  content: none;

}



.article_list h2 a:hover {

  text-decoration: none;

  color: #222;

}



.m-pagenation {

  display: flex;

  justify-content: center;

  align-items: center;

  flex-wrap: wrap;

  margin-bottom: 100px;

}



@media (max-width: 767px) {

  .m-pagenation {

    margin-bottom: 50px;

  }

}



.m-pagenation .m-pagenation__prev {

  margin-right: .5em;

}



.m-pagenation .m-pagenation__prev a {

  display: block;

  text-decoration: none;

  padding: .3em 1em;

  border: #ccc solid 1px;

}



.m-pagenation .m-pagenation__prev a:hover {

  background: rgba(34, 34, 34, 0.1);

  border-color: rgba(34, 34, 34, 0.1);

}



.m-pagenation .m-pagenation__next {

  margin-left: .5em;

}



.m-pagenation .m-pagenation__next a {

  display: block;

  text-decoration: none;

  padding: .3em 1em;

  border: #ccc solid 1px;

}



.m-pagenation .m-pagenation__next a:hover {

  background: rgba(34, 34, 34, 0.1);

  border-color: rgba(34, 34, 34, 0.1);

}



.m-pagenation .m-pagenation__body {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

}



.m-pagenation .m-pagenation__body li {

  display: inline-block;

  margin: 0 5px;

}



.m-pagenation .m-pagenation__body li a {

  text-decoration: none;

  display: block;

  padding: .3em 1em;

  border: #ccc solid 1px;

}



.m-pagenation .m-pagenation__body li a:hover {

  background: rgba(34, 34, 34, 0.1);

  border-color: rgba(34, 34, 34, 0.1);

}



.m-pagenation .m-pagenation__body li.current {

  background: #222;

  color: white;

  border: #222 solid 1px;

  padding: .3em 1em;

}



.wp-pagenavi {

  display: flex;

  justify-content: center;

  align-items: center;

  flex-wrap: wrap;

  margin-bottom: 100px;

}



@media (max-width: 767px) {

  .wp-pagenavi {

    margin-bottom: 50px;

  }

}



.wp-pagenavi a, .wp-pagenavi span {

  display: inline-block;

  margin: 0 5px;

  text-decoration: none;

  padding: .3em 1em;

  border: #ccc solid 1px;

  color: #222;

}



.wp-pagenavi a.current, .wp-pagenavi span.current {

  background: #222;

  color: white;

  border: #222 solid 1px;

  padding: .3em 1em;

}



.wp-pagenavi a:hover {

  background: rgba(34, 34, 34, 0.1);

  border-color: rgba(34, 34, 34, 0.1);

}



.article_single01 .article_single01_02 {

  margin-top: 10px;

}



.article_single01 .article_single01_02 img {

  opacity: 1;

  transition: opacity 0.3s;

}



.article_single01 .article_single01_02 img:hover {

  cursor: pointer;

  opacity: 0.7;

}



.article_single01 .ofi {

  background: rgba(34, 34, 34, 0.1);

}



.article_single01 .more {

  display: block;

  text-align: center;

}



.article_single02 .article_single02_01 img {

  opacity: 1;

  transition: opacity 0.3s;

}



.article_single02 .article_single02_01 img:hover {

  cursor: pointer;

  opacity: 0.7;

}



.article_single02 .ofi {

  background: rgba(34, 34, 34, 0.1);

}



.article_single02 .more {

  display: block;

  text-align: center;

}



@media (min-width: 768px) {

  .article_single03 .article_single03_02 .span_6 {

    width: 45%;

    margin-left: 10%;

  }

  .article_single03 .article_single03_02 .span_6:first-child {

    margin-left: 0;

  }

}



@media (min-width: 768px) {

  .article_single03 .article_single03_02 .span_12 {

    margin-left: 0;

    margin-top: 20px;

  }

}



.article_single03 .article_single03_02 img {

  opacity: 1;

  transition: opacity 0.3s;

}



.article_single03 .article_single03_02 img:hover {

  cursor: pointer;

  opacity: 0.7;

}



.article_single03 .case_arrow {

  position: relative;

}



@media (max-width: 767px) {

  .article_single03 .case_arrow {

    margin-bottom: 10%;

  }

}



.article_single03 .case_arrow:after {

  content: "";

  display: block;

  position: absolute;

  top: 50%;

  left: 108%;

  margin: auto;

  width: 35px;

  height: 35px;

  border-top: 3px solid #222;

  border-right: 3px solid #222;

  transform: translate(0, -50%) rotate(45deg);

  transform-origin: left top;

  transition: 0.2s;

}



@media (max-width: 767px) {

  .article_single03 .case_arrow:after {

    left: 0;

    right: 0;

    top: 105%;

    width: 20px;

    height: 20px;

    transform: translate(0, -50%) rotate(135deg);

    transform-origin: center;

  }

}



.article_single03 .ofi {

  background: rgba(34, 34, 34, 0.1);

}



.article_single03 .more {

  display: block;

  text-align: center;

}



.article_single04 ul {

  margin: 0;

  padding: 0;

  list-style: none;

}



.article_single04 .article_single04_01_img1 .ofi {

  padding-top: 75%;

}



.article_single04 .article_single04_01_img2 .ofi {

  padding-top: 15%;

}



.article_single04 .article_single04_01_img3 .ofi {

  padding-top: 10.8%;

}



.article_single04 .article_single04_01_img4 .ofi {

  padding-top: 8.4%;

}



.article_single04 .article_single04_01_img5 .ofi {

  padding-top: 6.9%;

}



.article_single04 .article_single04_01_img6 .ofi {

  padding-top: 5.8%;

}



.article_single04 .article_single04_01_nav {

  margin-top: 15px;

}



.article_single04 .article_single04_01_nav .ofi {

  padding-top: 11.1%;

}



.article_single04 .article_single04_01_nav .slick-track {

  width: 100% !important;

  transform: none !important;

  left: 0 !important;

}



.article_single04 .article_single04_01_nav li {

  margin-left: 0.8%;

  width: calc(96% / 6) !important;

}



.article_single04 .article_single04_01_nav li:nth-child(1) {

  margin-left: 0;

}



.article_single04.article_container .article_single04_01_img1 .ofi {

  padding-top: 74.5%;

}



.article_single04.article_container .article_single04_01_img2 .ofi {

  padding-top: 18.7%;

}



.article_single04.article_container .article_single04_01_img3 .ofi {

  padding-top: 14.9%;

}



.article_single04.article_container .article_single04_01_img4 .ofi {

  padding-top: 12.5%;

}



.article_single04.article_container .article_single04_01_img5 .ofi {

  padding-top: 10.7%;

}



.article_single04.article_container .article_single04_01_img6 .ofi {

  padding-top: 9.4%;

}



.article_single04.article_container .article_single04_01_nav {

  margin-top: 15px;

}



.article_single04.article_container .article_single04_01_nav .ofi {

  padding-top: 12%;

}



.article_single04.article_container .article_single04_01_nav .slick-track {

  width: 100% !important;

  transform: none !important;

  left: 0 !important;

}



.article_single04.article_container .article_single04_01_nav li {

  margin-left: 0.8%;

  width: calc(96% / 6) !important;

}



.article_single04.article_container .article_single04_01_nav li:nth-child(1) {

  margin-left: 0;

}



.article_single04 .article_single04_02 {

  margin-top: 10px;

}



.article_single04 .article_single04_02 img {

  opacity: 1;

  transition: opacity 0.3s;

}



.article_single04 .article_single04_02 img:hover {

  cursor: pointer;

  opacity: 0.7;

}



.article_single04 .slick-next,

.article_single04 .slick-prev {

  z-index: 1;

}



.article_single04 .slick-next:before,

.article_single04 .slick-prev:before {

  content: none;

}



.article_single04 .slick-next:after,

.article_single04 .slick-prev:after {

  content: "";

  display: block;

  position: absolute;

  top: 50%;

  margin: auto;

  width: 35px;

  height: 35px;

  border-top: 3px solid #222;

  transition: 0.2s;

  z-index: 1;

}



.article_single04 .slick-prev {

  left: 0;

}



.article_single04 .slick-prev:after {

  left: 0;

  border-left: 3px solid #222;

  transform: translate(0, -50%) rotate(-45deg);

  transform-origin: right top;

}



.article_single04 .slick-next {

  right: 0;

}



.article_single04 .slick-next:after {

  right: 0;

  border-right: 3px solid #222;

  transform: translate(0, -50%) rotate(45deg);

  transform-origin: left top;

}



.article_single04 .ofi {

  background: rgba(34, 34, 34, 0.1);

  height: auto !important;

}



.article_single04 .more {

  display: block;

  text-align: center;

}



@media (min-width: 768px) {

  .article_list_case02 .article_list_case02_01 {

    width: 67%;

  }

  .article_list_case02 .article_list_case02_02 {

    width: 31%;

  }

  .article_list_case02.article_single01 .article_single01_02 {

    margin-top: 0;

  }

}



.article_container .article_single01_02 {

  margin-top: 10px;

}



.article_container .article_single01_02 img {

  opacity: 1;

  transition: opacity 0.3s;

}



.article_container .article_single01_02 img:hover {

  cursor: pointer;

  opacity: 0.7;

}



.article_detail {

  margin-bottom: 4%;

  font-size: 1.5rem;

}



.article_detail .post_title {

  text-align: left;

  margin: 40px 0 2em;

  padding: 0 0 .5em !important;

  font-size: 2.4rem;

  border-bottom: #222 solid 2px;

}



@media (max-width: 767px) {

  .article_detail .post_title {

    font-size: 1.9rem;

  }

}



.article_detail .post_title:after {

  content: none;

}



.article_detail .post_title a:hover {

  text-decoration: none;

  color: #222;

}



.article_detail .span_12 {

  margin: 2% 0;

}



.article_detail .post_header > div {

  display: flex;

  flex-wrap: wrap;

  gap: 5px 10px;

}



.article_detail .post_header > div + div {

  margin-top: 10px;

}



.article_detail .post_header .time {

  display: inline-block;

  position: relative;

  padding-left: 20px;

}



.article_detail .post_header .time:before {

  display: block;

  position: absolute;

  content: '\f044';

  font-family: 'Font Awesome 5 Free';

  line-height: 10px;

  font-size: 16px;

  width: 16px;

  height: 16px;

  left: 0;

  top: 50%;

  transform: translateY(-40%);

  color: currentColor;

}



.article_detail .post_header .updated {

  display: inline-block;

  position: relative;

  padding-left: 20px;

}



.article_detail .post_header .updated:before {

  display: block;

  position: absolute;

  content: '\f2f1';

  font-family: 'Font Awesome 5 Free';

  line-height: 10px;

  font-size: 16px;

  width: 16px;

  height: 16px;

  left: 0;

  top: 50%;

  transform: translateY(-40%);

  color: currentColor;

  font-weight: bold;

}



.article_detail .post_header .category_badge {

  background: #222;

  color: white;

  font-size: 1.4rem;

  display: inline-block;

}



.article_detail .post_header .category_badge a {

  display: block;

  padding: .2em 1em;

  color: white;

  text-decoration: none;

}



.pager {

  overflow: hidden;

  margin-bottom: 5%;

}



.pager .pager_prev {

  float: left;

}



.pager .pager_prev a {

  display: block;

  position: relative;

  padding-left: 20px;

  text-decoration: none;

}



.pager .pager_prev a:after {

  content: '';

  width: 8px;

  height: 8px;

  border: 0;

  border-top: solid 2px #222;

  border-left: solid 2px #222;

  transform: rotate(-45deg);

  position: absolute;

  top: 50%;

  left: 4px;

  margin-top: -6px;

}



.pager .pager_prev a:hover {

  opacity: 0.8;

}



.pager .pager_next {

  float: right;

}



.pager .pager_next a {

  display: block;

  position: relative;

  padding-right: 20px;

  text-decoration: none;

}



.pager .pager_next a:after {

  content: '';

  width: 8px;

  height: 8px;

  border: 0;

  border-top: solid 2px #222;

  border-right: solid 2px #222;

  transform: rotate(45deg);

  position: absolute;

  top: 50%;

  right: 4px;

  margin-top: -6px;

}



.pager .pager_next a:hover {

  opacity: 0.8;

}



.ofi {

  display: block;

  position: relative;

  overflow: hidden;

  padding-top: 75%;

}



.ofi.cover img {

  -o-object-fit: cover;

     object-fit: cover;

  width: 100%;

  height: 100%;

}



.ofi > img {

  position: absolute;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  margin: auto;

  -o-object-fit: contain;

     object-fit: contain;

  max-width: 100%;

  max-height: 100%;

}



.text-center {

  text-align: center;

}



.text-left {

  text-align: left;

}



.text-right {

  text-align: right;

}



.lead {

  color: #222;

  font-size: 2rem;

}



.text-xxlarge {

  font-size: 2.4rem;

}



.text-xlarge {

  font-size: 2rem;

}



.text-large {

  font-size: 1.6rem;

}



.text-small {

  font-size: 1.2rem;

}



.text-xsmall {

  font-size: 1rem;

}



.text-white {

  color: #fff !important;

}



.text-black {

  color: #000 !important;

}



.text-red {

  color: #f00 !important;

}



.text-primary {

  color: #222 !important;

}



@media (max-width: 767px) {

  .sp-hide, .pc-only, .tablet-only {

    display: none !important;

  }

  .sp-text-center {

    text-align: center;

  }

  .sp-text-left {

    text-align: left;

  }

  .sp-text-right {

    text-align: right;

  }

}



@media (min-width: 768px) {

  .lead {

    font-size: 2.8rem;

  }

  .text-xxlarge {

    font-size: 3.6rem;

  }

  .text-xlarge {

    font-size: 2.8rem;

  }

  .text-large {

    font-size: 2rem;

  }

  .text-small {

    font-size: 1.2rem;

  }

  .text-xsmall {

    font-size: 1rem;

  }

  .pc-hide, .sp-only {

    display: none !important;

  }

  .pc-text-center {

    text-align: center;

  }

  .pc-text-left {

    text-align: left;

  }

  .pc-text-right {

    text-align: right;

  }

}



@media (min-width: 768px) and (max-width: 1023px) {

  .tablet-hide {

    display: none !important;

  }

}



@media (min-width: 1024px) {

  .tablet-only {

    display: none !important;

  }

}



@media (max-width: 999px) {

  .sp-hide02, .pc-only02, .tablet-only02 {

    display: none !important;

  }

}



@media (min-width: 1000px) {

  .pc-hide02, .sp-only02 {

    display: none !important;

  }

}



.arial {

  font-family: 'Arial', arial !important;

}



.arial_n {

  font-family: 'Arial Narrow', arial !important;

}



.js-tel a {

  color: currentColor;

  text-decoration: none;

}



@media (min-width: 768px) {

  .js-tel a {

    pointer-events: none;

  }

}



.fs12 {

  font-size: 12px;

}



@media (max-width: 767px) {

  .sp-fs12 {

    font-size: 12px !important;

  }

}



.fs13 {

  font-size: 13px;

}



@media (max-width: 767px) {

  .sp-fs13 {

    font-size: 13px !important;

  }

}



.fs14 {

  font-size: 14px;

}



@media (max-width: 767px) {

  .sp-fs14 {

    font-size: 14px !important;

  }

}



.fs15 {

  font-size: 15px;

}



@media (max-width: 767px) {

  .sp-fs15 {

    font-size: 15px !important;

  }

}



.fs16 {

  font-size: 16px;

}



@media (max-width: 767px) {

  .sp-fs16 {

    font-size: 16px !important;

  }

}



.fs17 {

  font-size: 17px;

}



@media (max-width: 767px) {

  .sp-fs17 {

    font-size: 17px !important;

  }

}



.fs18 {

  font-size: 18px;

}



@media (max-width: 767px) {

  .sp-fs18 {

    font-size: 18px !important;

  }

}



.fs19 {

  font-size: 19px;

}



@media (max-width: 767px) {

  .sp-fs19 {

    font-size: 19px !important;

  }

}



.fs20 {

  font-size: 20px;

}



@media (max-width: 767px) {

  .sp-fs20 {

    font-size: 20px !important;

  }

}



.fs21 {

  font-size: 21px;

}



@media (max-width: 767px) {

  .sp-fs21 {

    font-size: 21px !important;

  }

}



.fs22 {

  font-size: 22px;

}



@media (max-width: 767px) {

  .sp-fs22 {

    font-size: 22px !important;

  }

}



.fs23 {

  font-size: 23px;

}



@media (max-width: 767px) {

  .sp-fs23 {

    font-size: 23px !important;

  }

}



.fs24 {

  font-size: 24px;

}



@media (max-width: 767px) {

  .sp-fs24 {

    font-size: 24px !important;

  }

}



.fs25 {

  font-size: 25px;

}



@media (max-width: 767px) {

  .sp-fs25 {

    font-size: 25px !important;

  }

}



.fs26 {

  font-size: 26px;

}



@media (max-width: 767px) {

  .sp-fs26 {

    font-size: 26px !important;

  }

}



.fs27 {

  font-size: 27px;

}



@media (max-width: 767px) {

  .sp-fs27 {

    font-size: 27px !important;

  }

}



.fs28 {

  font-size: 28px;

}



@media (max-width: 767px) {

  .sp-fs28 {

    font-size: 28px !important;

  }

}



.fs29 {

  font-size: 29px;

}



@media (max-width: 767px) {

  .sp-fs29 {

    font-size: 29px !important;

  }

}



.fs30 {

  font-size: 30px;

}



@media (max-width: 767px) {

  .sp-fs30 {

    font-size: 30px !important;

  }

}



.fs31 {

  font-size: 31px;

}



@media (max-width: 767px) {

  .sp-fs31 {

    font-size: 31px !important;

  }

}



.fs32 {

  font-size: 32px;

}



@media (max-width: 767px) {

  .sp-fs32 {

    font-size: 32px !important;

  }

}



.fs33 {

  font-size: 33px;

}



@media (max-width: 767px) {

  .sp-fs33 {

    font-size: 33px !important;

  }

}



.fs34 {

  font-size: 34px;

}



@media (max-width: 767px) {

  .sp-fs34 {

    font-size: 34px !important;

  }

}



.fs35 {

  font-size: 35px;

}



@media (max-width: 767px) {

  .sp-fs35 {

    font-size: 35px !important;

  }

}



.fs36 {

  font-size: 36px;

}



@media (max-width: 767px) {

  .sp-fs36 {

    font-size: 36px !important;

  }

}



.fs37 {

  font-size: 37px;

}



@media (max-width: 767px) {

  .sp-fs37 {

    font-size: 37px !important;

  }

}



.fs38 {

  font-size: 38px;

}



@media (max-width: 767px) {

  .sp-fs38 {

    font-size: 38px !important;

  }

}



.fs39 {

  font-size: 39px;

}



@media (max-width: 767px) {

  .sp-fs39 {

    font-size: 39px !important;

  }

}



.fs40 {

  font-size: 40px;

}



@media (max-width: 767px) {

  .sp-fs40 {

    font-size: 40px !important;

  }

}



.mt0 {

  margin-top: 0 !important;

}



.mb0 {

  margin-bottom: 0 !important;

}



.m-auto {

  margin-right: auto !important;

  margin-left: auto !important;

}



.mt-1 {

  margin-top: 1em !important;

}



.mt-2 {

  margin-top: 2em !important;

}



.mt-3 {

  margin-top: 3em !important;

}



.mt-4 {

  margin-top: 4em !important;

}



.mt-5 {

  margin-top: 5em !important;

}



.mb-1 {

  margin-bottom: 1em !important;

}



.mb-2 {

  margin-bottom: 2em !important;

}



.mb-3 {

  margin-bottom: 3em !important;

}



.mb-4 {

  margin-bottom: 4em !important;

}



.mb-5 {

  margin-bottom: 5em !important;

}



.inverse h2,

.inverse h3,

.inverse h4,

.inverse p {

  color: #fff;

}



.inverse h2:after {

  background: #fff;

}



.inverse h2 small,

.inverse h2 span {

  color: #fff;

}



.image_right {

  margin-bottom: 1em;

}



@media (min-width: 768px) {

  .image_right {

    display: inline-block;

    float: right;

    margin-left: 1em;

  }

}



.dsp-home-only {

  display: none;

}



.dsp-under-only {

  display: block;

}



.home .dsp-home-only {

  display: block;

}



.home .dsp-under-only {

  display: none;

}



@media (max-width: 999px) {

  .targetOffset {

    scroll-margin-top: 60px;

  }

}



body:not(.home) .global_nav > ul li a:hover {

  border-color: #333;

}



body:not(.home) .hdr_info_wrapper .hdr_info .hdr_info_group li.tel {

  color: #333;

}



body:not(.home) .hdr_info_wrapper .hdr_info .hdr_info_group li.tel .num:after {

  background: url(/wordpress/wp-content/uploads/hdr_tel_bk.png) no-repeat center center/cover;

}



body:not(.home) .hdr_info_wrapper .hdr_info .hdr_info_group li.btn a {

  color: #333;

  border: 1px solid #333;

}



body:not(.home) .hdr_info_wrapper .hdr_info .hdr_info_group li.btn a:after {

  background: url(/wordpress/wp-content/uploads/external_bk.png) no-repeat center center/cover;

}



.sec_bg {

  padding: 100px 0;

  background: #222;

}



@media (max-width: 767px) {

  .sec_bg {

    padding: 50px 0;

  }

}



.sec_bg h2, .sec_bg h3, .sec_bg h4, .sec_bg h5, .sec_bg p, .sec_bg li {

  color: #fff;

}



.sec_bg .h2_under:after {

  background: #fff;

}



.sec_bg .button, .sec_bg .inquiry .form_button, .inquiry .sec_bg .form_button, .sec_bg #wpcf7cpcnf .wpcf7cp-btns button, #wpcf7cpcnf .wpcf7cp-btns .sec_bg button {

  color: #fff !important;

  border-color: #fff !important;

  background: none !important;

}



.list_anchor {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  justify-content: center;

  flex-wrap: wrap;

  gap: 20px 20px;

}



.list_anchor li {

  width: 220px;

}



.list_anchor li a {

  display: block;

  text-decoration: none;

  background: #222;

  color: #fff;

  text-align: center;

  padding: 15px 0;

  border: 1px solid #222;

  transition: .2s;

}



.list_anchor li a:hover {

  color: #222;

  background: #fff;

}



.list_remarks {

  margin: 0;

  padding: 0;

  list-style: none;

}



.list_remarks li {

  position: relative;

  padding: 0 0 0 20px;

}



.list_remarks li:after {

  content: "";

  position: absolute;

  top: 8px;

  left: 0;

  width: 8px;

  height: 8px;

  border-radius: 100vh;

  background: #fff;

}



@media (max-width: 767px) {

  .list_remarks li:after {

    top: 6px;

  }

}



.list_remarks li:not(:first-child) {

  margin-top: 20px;

}



@media (max-width: 767px) {

  .list_remarks li:not(:first-child) {

    margin-top: 10px;

  }

}



.flow_wrap {

  position: relative;

}



.flow_wrap:before {

  content: "";

  position: absolute;

  z-index: -1;

  top: 5%;

  left: 8.5%;

  width: 1px;

  height: 90%;

  background: #ccc;

}



@media (max-width: 767px) {

  .flow_wrap:before {

    top: 0;

    height: 88%;

    left: 10%;

  }

}



.flow_wrap .flow_block {

  display: grid;

  gap: 0 8%;

  grid-template-columns: auto 1fr;

}



@media (max-width: 767px) {

  .flow_wrap .flow_block {

    grid-template-columns: 20% 1fr;

  }

}



.flow_wrap .flow_block:not(:last-child) {

  margin-bottom: 100px;

}



@media (max-width: 767px) {

  .flow_wrap .flow_block:not(:last-child) {

    margin-bottom: 50px;

  }

}



.flow_wrap .flow_block .txt_wrap .h3_flow {

  margin: 0 0 20px;

  font-size: clamp(18px, 2vw, 22px);

  display: grid;

  gap: 15px;

  align-items: center;

  font-weight: 400;

  letter-spacing: .1em;

  grid-template-columns: auto 1fr;

}



@media (max-width: 767px) {

  .flow_wrap .flow_block .txt_wrap .h3_flow {

    align-items: start;

    margin: 0 0 10px;

    display: block;

    line-height: 1.2;

  }

}



.flow_wrap .flow_block .txt_wrap .h3_flow .num {

  font-size: clamp(16px, 1.8vw, 20px);

  border: 1px solid #333;

  font-weight: 400;

  padding: 4px 15px 6px;

  line-height: 1;

}



@media (max-width: 767px) {

  .flow_wrap .flow_block .txt_wrap .h3_flow .num {

    display: table;

    padding: 6px 15px 5px;

    margin: 0 0 10px;

  }

}



.flow_wrap .flow_block .txt_wrap .desc {

  padding: 0 0 10px;

  border-bottom: 1px solid #222;

}



@media (min-width: 768px) {

  .flow_wrap .flow_block .txt_wrap .desc {

    padding: 0 0 20px;

    line-height: 2;

    letter-spacing: .1em;

  }

}



.voice_block {

  padding: 6%;

  background: #fbfae7;

  display: grid;

  gap: 0 6%;

  grid-template-columns: auto 1fr;

}



@media (max-width: 767px) {

  .voice_block {

    grid-template-columns: 25% 1fr;

  }

}



.voice_block:not(:first-child) {

  margin-top: 30px;

}



@media (max-width: 767px) {

  .voice_block:not(:first-child) {

    margin-top: 20px;

  }

}



.voice_block .txt_wrap .name {

  padding: 0 0 10px;

  border-bottom: 1px solid #e2e0b1;

  font-size: clamp(18px, 1.8vw, 22px);

}



@media (max-width: 767px) {

  .voice_block .txt_wrap .name {

    margin: 0 0 10px;

    padding: 0 0 5px;

  }

}



@media (min-width: 768px) {

  .voice_block .txt_wrap .desc {

    line-height: 2;

    letter-spacing: .1em;

  }

}



.voice_block.male {

  background: #ecf7fa;

}



.voice_block.male .txt_wrap .name {

  border-color: #c6e1e9;

}



.faq_block {

  padding: 3%;

  background: #f5f5f5;

  position: relative;

}



@media (max-width: 767px) {

  .faq_block {

    padding: 6%;

  }

}



.faq_block:after, .faq_block:before {

  content: "";

  position: absolute;

  top: 40px;

  right: calc(3% + 10px);

  width: 30px;

  height: 2px;

  background: #00a3e8;

  transition: .2s;

}



@media (max-width: 767px) {

  .faq_block:after, .faq_block:before {

    width: 20px;

    top: 30px;

    right: calc(3% + 10px);

  }

}



.faq_block:before {

  transform: rotate(90deg);

}



.faq_block.open:before {

  transform: rotate(0);

}



.faq_block:not(:last-child) {

  margin-bottom: 40px;

}



@media (max-width: 767px) {

  .faq_block:not(:last-child) {

    margin-bottom: 20px;

  }

}



.faq_block .question, .faq_block .answer {

  letter-spacing: .1em;

  position: relative;

}



.faq_block .question:after, .faq_block .answer:after {

  content: "Q.";

  position: absolute;

  top: -2px;

  left: 0;

  font-size: 24px;

  line-height: 1;

  letter-spacing: .1em;

  font-family: "Times New Roman";

  font-weight: 400;

  color: #00a3e8;

}



@media (max-width: 767px) {

  .faq_block .question:after, .faq_block .answer:after {

    font-size: 20px;

  }

}



.faq_block .question {

  margin: 0;

  padding: 0 45px 15px 35px;

  border-bottom: 1px solid #ccc;

  cursor: pointer;

}



.faq_block .answer {

  display: none;

  padding: 10px 0 0 35px;

}



.faq_block .answer:after {

  content: "A.";

  color: #c6bc21;

  top: .4em;

}



.icon-tel:before {

  content: '\f879';

  font-family: 'Font Awesome 5 Free';

  margin-right: 5px;

}



.fadeUp {

  visibility: hidden;

}



.h2_under {

  text-align: center;

  letter-spacing: .1em;

  font-size: clamp(22px, 2.2vw, 26px);

  padding: 30px 0 0;

  margin: 0 0 40px;

  position: relative;

}



@media (max-width: 767px) {

  .h2_under {

    margin: 0 0 25px;

  }

}



.h2_under:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: auto;

  right: 0;

  left: 0;

  margin: auto;

  width: 1px;

  height: 20px;

  background: #333;

}



.h3_under {

  font-size: clamp(18px, 1.8vw, 22px);

  margin: 0 0 10px;

}



.h3_under.add_icon {

  position: relative;

  padding: 0 0 0 .9em;

}



.h3_under.add_icon:after {

  content: "";

  position: absolute;

  top: .4em;

  left: 0;

  width: .6em;

  height: .6em;

  background: #333;

}



.h3_name {

  margin: 0 0 20px;

  font-size: clamp(24px, 2.4vw, 32px);

}



.h3_name .sub {

  display: block;

  margin: 0 0 5px;

  font-size: clamp(18px, 1.8vw, 20px);

}



.h4_under {

  margin: 0 0 10px;

  padding: 0 0 5px;

  border-bottom: 1px solid #333;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.tel {

  margin: 0;

  color: #fff;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.tel .num {

  font-size: clamp(26px, 2.6vw, 35px);

  position: relative;

  letter-spacing: .05em;

  padding: 0 0 0 1.1em;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.tel .num:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: auto;

  left: 0;

  margin: auto;

  width: 25px;

  height: 26px;

  max-width: .8em;

  max-height: .85em;

  background: url(/wordpress/wp-content/uploads/hdr_tel.png) no-repeat center center/cover;

  transition: .2s;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.btn {

  max-width: 18vw;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.btn a {

  max-width: 100%;

  width: 220px;

  min-width: 0;

  background: none;

  padding: 1.1em 1em;

  color: #fff;

  border: 1px solid #fff;

  font-size: clamp(14px, 1.4vw, 18px);

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.btn a:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 10%;

  left: auto;

  margin: auto;

  width: 11px;

  height: 9px;

  border: 0;

  transform: none;

  background: url(/wordpress/wp-content/uploads/external.png) no-repeat center center/cover;

  transition: .2s;

}



.globalHeader .hdr_info_wrapper .hdr_info .hdr_info_group li.btn a:hover {

  opacity: .7;

}



.globalFooter .pc_fixed_footer {

  position: fixed;

  z-index: 99;

  bottom: 0;

  width: 100%;

  padding: 20px 0;

  background: #222;

}



.globalFooter .pc_fixed_footer .container {

  display: grid;

  align-items: center;

  gap: 0 4%;

  grid-template-columns: repeat(4, auto);

}



.globalFooter .pc_fixed_footer .container .logo {

  max-width: 20vw;

}



.globalFooter .pc_fixed_footer .container .info {

  position: relative;

}



.globalFooter .pc_fixed_footer .container .info:after {

  content: "";

  position: absolute;

  top: 4%;

  bottom: 0;

  right: auto;

  left: -6%;

  margin: auto;

  width: 1px;

  height: 100%;

  background: #555;

}



.globalFooter .pc_fixed_footer .container .info .tel {

  margin: 0;

  color: #fff;

}



.globalFooter .pc_fixed_footer .container .info .tel .num {

  font-size: clamp(22px, 2.2vw, 30px);

  position: relative;

  letter-spacing: .05em;

  padding: 0 0 0 1.4em;

}



.globalFooter .pc_fixed_footer .container .info .tel .num:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: auto;

  left: .3em;

  margin: auto;

  width: .7em;

  height: .7em;

  background: url(/wordpress/wp-content/uploads/icon_tel002.png) no-repeat center center/cover;

  transition: .2s;

}



.globalFooter .pc_fixed_footer .container .info .desc {

  margin: 0;

  color: #fff;

  font-size: clamp(12px, 1.2vw, 16px);

}



.globalFooter .pc_fixed_footer .container .btn {

  margin: 0;

  width: 260px;

  max-width: 18vw;

}



.globalFooter .pc_fixed_footer .container .btn a {

  color: #fff;

  background: none;

  border: 1px solid #fff;

  padding: 1.65em 0;

  font-size: clamp(12px, 1.4vw, 18px);

  max-width: 260px;

}



.globalFooter .pc_fixed_footer .container .btn a:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 8%;

  left: auto;

  margin: auto;

  width: 11px;

  height: 9px;

  border: 0;

  transform: none;

  background: url(/wordpress/wp-content/uploads/icon_external.png) no-repeat center center/cover;

  transition: .2s;

}



.globalFooter .pc_fixed_footer .container .btn a:hover {

  opacity: .7;

}



.globalFooter .sp_fixed_footer {

  margin: 0;

  padding: 0;

  list-style: none;

  position: fixed;

  background: #fff;

  gap: 0 1px;

  bottom: 0;

}



@media (max-width: 767px) {

  .globalFooter .sp_fixed_footer {

    display: flex !important;

  }

}



.globalFooter .sp_fixed_footer li a img {

  max-width: 100%;

  height: auto;

}



.globalFooter.high .pc_fixed_footer {

  position: relative;

  bottom: 0;

}



@media (min-width: 768px) {

  .globalFooter .row .col.span_5 {

    padding: 0 8%;

  }

}



@media (min-width: 768px) {

  .globalFooter .row .col:first-child {

    border-right: 1px solid #ccc;

  }

}



@media (max-width: 767px) {

  .globalFooter .logo {

    max-width: 60%;

    margin: 0 auto;

  }

}



.globalFooter .list_sns {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  justify-content: center;

  gap: 0 30px;

  margin: 50px 0 0;

  padding: 50px 0 0;

  border-top: 1px solid #ccc;

}



@media (max-width: 767px) {

  .globalFooter .list_sns {

    margin: 30px auto;

    padding: 20px 0 0;

    max-width: 66%;

  }

}



.globalFooter .info {

  margin: 0;

}



.globalFooter .info dt, .globalFooter .info dd {

  line-height: 1.6;

}



.globalFooter .info dt {

  position: relative;

  padding: 0 0 0 15px;

}



.globalFooter .info dt:after {

  content: "";

  position: absolute;

  top: 8px;

  left: 0;

  width: 7px;

  height: 7px;

  background: #333;

}



.globalFooter .info dd {

  margin: 0 0 30px;

}



@media (max-width: 767px) {

  .globalFooter .info dd {

    margin: 0 0 15px;

  }

}



.globalFooter .info dd a, .globalFooter .info dd span {

  color: #333;

}



.h2_styled {

  text-align: center;

  line-height: 1.8;

  letter-spacing: .15em;

  margin: 0 0 80px;

  font-size: clamp(26px, 3vw, 32px);

}



@media (max-width: 767px) {

  .h2_styled {

    margin: 0 0 30px;

  }

}



.h2_styled .sub {

  display: block;

  font-weight: normal;

  letter-spacing: .1em;

  font-size: clamp(16px, 1.6vw, 20px);

}



.sec_greeting {

  padding: 360px 0 170px;

  background: url(/wordpress/wp-content/uploads/bg_img001.jpg) no-repeat center center/cover;

}



@media (max-width: 767px) {

  .sec_greeting {

    padding: 50px 0;

    background: none;

  }

}



@media (max-width: 767px) {

  .sec_greeting figure {

    margin-left: -20px;

  }

}



@media (min-width: 768px) {

  .sec_greeting .txt_wrap {

    width: 600px;

    margin-left: auto;

  }

}



.sec_greeting .txt_wrap .h2_styled {

  margin: 30px 0 20px;

}



@media (min-width: 768px) {

  .sec_greeting .txt_wrap .h2_styled {

    margin: 0 0 60px;

  }

}



.sec_greeting .txt_wrap .desc {

  text-align: center;

  margin: 20px 0 0;

  text-shadow: white 1px 0px, white -1px 0px, white 0px -1px, white 0px 1px, white 1px 1px, white -1px 1px, white 1px -1px, white -1px -1px, white 1px 1px, white -1px 1px, white 1px -1px, white -1px -1px, white 1px 1px, white -1px 1px, white 1px -1px, white -1px -1px;

}



@media (min-width: 768px) {

  .sec_greeting .txt_wrap .desc {

    line-height: 2;

    letter-spacing: .1em;

    margin: 40px 0 0;

  }

}



.sec_greeting .txt_wrap .btn {

  margin: 20px 0 0;

}



@media (min-width: 768px) {

  .sec_greeting .txt_wrap .btn {

    margin: 60px 0 0;

  }

}



.sec_concept {

  padding: 200px 0;

  background: url(/wordpress/wp-content/uploads/bg_img002.jpg) no-repeat center bottom/cover;

}



@media (max-width: 767px) {

  .sec_concept {

    padding: 50px 0;

    background: url(/wordpress/wp-content/uploads/sp_bg_img002.jpg) no-repeat center center/cover;

  }

}



.sec_concept .h2_styled {

  font-size: clamp(23px, 3vw, 32px);

}



@media (min-width: 1000px) {

  .sec_concept .row {

    -moz-column-gap: 75px;

         column-gap: 75px;

  }

  .sec_concept .row:not(:last-child) {

    margin-bottom: 8%;

  }

}



@media (max-width: 767px) {

  .sec_concept .row:not(:last-child) {

    margin-bottom: 10%;

  }

}



@media (min-width: 1000px) {

  .sec_concept .row .col {

    width: calc((100% - 150px)/3);

  }

}



@media (max-width: 767px) {

  .sec_concept .row .col:not(:last-child) {

    margin-bottom: 10%;

  }

}



.sec_concept .h3_concept {

  text-align: center;

  line-height: 1.8;

  letter-spacing: .2em;

  font-size: clamp(18px, 1.8vw, 20px);

  margin: 30px 0;

}



@media (max-width: 767px) {

  .sec_concept .h3_concept {

    margin: 10px 0;

  }

}



@media (min-width: 768px) {

  .sec_concept .desc {

    line-height: 2;

    letter-spacing: .1em;

  }

  .sec_concept .desc.adjust {

    min-height: 130px;

  }

}



.sec_concept .btn {

  margin: 30px 0 0;

}



@media (max-width: 767px) {

  .sec_concept .btn {

    margin: 20px 0 0;

  }

}



.sec_parallax .parallax_content {

  height: 500px;

  background-position: center top;

  background-repeat: no-repeat;

  background-attachment: fixed;

  background-size: cover;

  background-image: url(/wordpress/wp-content/uploads/parallax_bg.jpg);

  position: relative;

}



@media (max-width: 767px) {

  .sec_parallax .parallax_content {

    height: 450px;

    background-image: url(/wordpress/wp-content/uploads/sp_parallax_bg.jpg);

  }

}



.sec_parallax .parallax_content .container {

  height: 100%;

}



.sec_parallax .parallax_content .container .title {

  height: 100%;

  color: #fff;

  display: flex;

  align-items: center;

  letter-spacing: .2em;

  font-size: clamp(20px, 2.4vw, 30px);

}



@media (min-width: 768px) {

  .sec_parallax .parallax_content .container .title {

    text-align: right;

    justify-content: flex-end;

  }

}



.sec_menu {

  padding: 260px 0 230px;

  background: url(/wordpress/wp-content/uploads/bg_img003.jpg) no-repeat center center/cover;

}



@media (max-width: 767px) {

  .sec_menu {

    padding: 50px 0;

    background: url(/wordpress/wp-content/uploads/sp_bg_img003.jpg) no-repeat center center/cover;

  }

}



.sec_menu .txt_wrap .h2_styled {

  color: #fff;

  margin: 30px 0 20px;

}



@media (min-width: 768px) {

  .sec_menu .txt_wrap .h2_styled {

    text-align: left;

    margin: 0 0 60px;

  }

}



.sec_menu .txt_wrap .h2_styled .sub {

  color: #fff;

}



.sec_menu .txt_wrap .desc {

  color: #fff;

}



@media (min-width: 768px) {

  .sec_menu .txt_wrap .desc {

    line-height: 2;

    letter-spacing: .1em;

  }

}



.sec_menu .txt_wrap .btn {

  margin: 20px 0 0;

}



@media (min-width: 768px) {

  .sec_menu .txt_wrap .btn {

    margin: 60px 0 0;

  }

}



.sec_menu .txt_wrap .btn a {

  color: #fff;

  border-color: #fff;

  background: none;

}



.sec_pages {

  padding: 200px 0;

  background: url(/wordpress/wp-content/uploads/bg_img004.jpg) no-repeat center center/cover;

}



@media (max-width: 767px) {

  .sec_pages {

    padding: 100px 0 50px;

    background: url(/wordpress/wp-content/uploads/sp_bg_img004.jpg) no-repeat bottom center/cover;

  }

}



.sec_pages .list_bnr {

  margin: 0;

  padding: 0;

  list-style: none;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

}



@media (max-width: 767px) {

  .sec_pages .list_bnr {

    display: block;

    margin: 0 -20px;

  }

}



.sec_pages .list_bnr li {

  text-align: center;

  background: #fff;

}



.sec_pages .list_bnr li a {

  padding: 190px 0;

  display: block;

  color: #fff;

  text-decoration: none;

  letter-spacing: .2em;

  font-size: 24px;

  background: url(/wordpress/wp-content/uploads/bnr_img006.jpg) no-repeat center center/cover;

  position: relative;

}



@media (max-width: 767px) {

  .sec_pages .list_bnr li a {

    padding: 90px 0;

  }

}



.sec_pages .list_bnr li a:after {

  content: "";

  position: absolute;

  bottom: 10px;

  right: 10px;

  width: 30px;

  height: 30px;

  border-bottom: 1px solid #fff;

  border-right: 1px solid #fff;

}



.sec_pages .list_bnr li a:hover {

  opacity: .8;

}



.sec_pages .list_bnr li.bg02 a {

  background: url(/wordpress/wp-content/uploads/bnr_img007.jpg) no-repeat center center/cover;

}



.sec_pages .list_bnr li.bg03 a {

  background: url(/wordpress/wp-content/uploads/bnr_img008.jpg) no-repeat center center/cover;

}



.sec_movie {

  padding: 200px 0;

  background: url(/wordpress/wp-content/uploads/bg_img005.jpg) no-repeat center bottom/cover;

}



@media (max-width: 767px) {

  .sec_movie {

    padding: 50px 0;

    background: url(/wordpress/wp-content/uploads/sp_bg_img005.jpg) no-repeat center bottom/cover;

  }

}



.sec_salon {

  padding: 0;

}



.sec_salon .h2_news {

  margin: 0 0 30px;

  text-align: left;

}



@media (max-width: 767px) {

  .sec_salon .h2_news {

    margin: 0 0 20px;

    text-align: center;

  }

}



.sec_salon .info {

  margin: 0;

}



.sec_salon .info dt, .sec_salon .info dd {

  line-height: 1.6;

}



.sec_salon .info dt {

  position: relative;

  padding: 0 0 0 15px;

}



.sec_salon .info dt:after {

  content: "";

  position: absolute;

  top: 8px;

  left: 0;

  width: 7px;

  height: 7px;

  background: #333;

}



@media (max-width: 767px) {

  .sec_salon .info dt:after {

    top: 6px;

  }

}



.sec_salon .info dd {

  margin: 0 0 30px;

}



@media (max-width: 767px) {

  .sec_salon .info dd {

    margin: 0 0 15px;

  }

}



.sec_salon .info dd a, .sec_salon .info dd span {

  color: #333;

}



.sec_salon .d-flex {

  flex-wrap: wrap;

  gap: 5px 8%;

  align-items: center;

}



.sec_salon .d-flex .list_sns {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  gap: 30px;

  margin: 20px 0 0;

}



@media (max-width: 767px) {

  .sec_salon .d-flex .list_sns {

    justify-content: center;

  }

}



.sec_salon .d-flex .btn {

  width: 240px;

}



@media (max-width: 767px) {

  .sec_salon .d-flex .btn {

    margin: 20px auto 50px;

  }

}



.sec_salon .news_list {

  margin: 0;

  display: grid;

  padding: 50px 20px;

  gap: 40px 30px;

  grid-template-columns: auto 1fr;

  border-top: 1px solid #222;

  border-bottom: 1px solid #222;

}



@media (max-width: 767px) {

  .sec_salon .news_list {

    padding: 20px 10px;

    gap: 20px 15px;

  }

}



.sec_salon .news_list dt span {

  color: #999;

  letter-spacing: .1em;

}



.sec_salon .news_list dd {

  margin: 0;

}



.sec_salon .news_list dd a {

  text-decoration: none;

}



.sec_salon .news_list dd a:hover {

  text-decoration: underline;

}



.sec_salon .map_wide {

  margin: 200px 0;

}



@media (max-width: 767px) {

  .sec_salon .map_wide {

    margin: 50px 0;

  }

}



.contact_wrap {

  padding: 200px 0;

  background: url(/wordpress/wp-content/uploads/bg_img006.jpg) no-repeat center center/cover;

}



@media (max-width: 767px) {

  .contact_wrap {

    padding: 50px 0;

  }

}



.contact_wrap .h2_styled {

  color: #fff;

}



.contact_wrap .h2_styled .sub {

  color: #fff;

}



.contact_wrap .desc {

  color: #fff;

  margin: 20px 0 0;

}



@media (min-width: 768px) {

  .contact_wrap .desc {

    margin: 40px 0 0;

    line-height: 2;

    letter-spacing: .1em;

    text-align: center;

  }

}



.contact_wrap .tel {

  color: #fff;

  text-align: center;

  margin: 40px 0 20px;

}



@media (max-width: 767px) {

  .contact_wrap .tel {

    margin: 20px 0;

  }

}



.contact_wrap .tel span {

  line-height: 1;

  letter-spacing: .05em;

  font-size: clamp(32px, 3.2vw, 46px);

  position: relative;

  padding: 0 0 0 1em;

}



.contact_wrap .tel span:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: auto;

  left: 0;

  margin: auto;

  width: 33px;

  height: 33px;

  max-width: .7em;

  max-height: .7em;

  background: url(/wordpress/wp-content/uploads/icon_tel001.png) no-repeat center center/cover;

}



.contact_wrap .tel a {

  color: #fff;

}



.contact_wrap .detail {

  color: #fff;

}



@media (min-width: 768px) {

  .contact_wrap .detail {

    line-height: 2;

    letter-spacing: .1em;

    text-align: center;

  }

}



.contact_wrap .list_btn {

  margin: 0;

  padding: 0;

  list-style: none;

  display: flex;

  flex-wrap: wrap;

  justify-content: center;

  gap: 30px 50px;

  margin: 70px 0 0;

}



@media (max-width: 767px) {

  .contact_wrap .list_btn {

    margin: 30px 0 0;

    display: block;

  }

}



.contact_wrap .list_btn li {

  width: 320px;

}



@media (max-width: 767px) {

  .contact_wrap .list_btn li {

    margin: 0 auto;

  }

}



.contact_wrap .list_btn li a {

  max-width: 320px;

  color: #fff;

  background: none;

  border: 0 !important;

  border-bottom: 1px solid #fff !important;

}



.contact_wrap .list_btn li a.external:after {

  content: "";

  position: absolute;

  top: 0;

  bottom: 0;

  right: 8%;

  left: auto;

  margin: auto;

  width: 11px;

  height: 9px;

  border: 0;

  transform: none;

  background: url(/wordpress/wp-content/uploads/icon_external.png) no-repeat center center/cover;

  transition: .2s;

}



/*# sourceMappingURL=main.css.map */

